A Formal Semantic Model to fit SIL for Transformational Design
- 格式:pdf
- 大小:60.64 KB
- 文档页数:8
A Formal Semantic Model to fit SIL for Transformational Design
Corrie Huijs and Thijs Krol
University of Twente, P.O. Box 217, 7500 AE Enschede, The Netherlands,
e-mail: chuijs@cs.utwente.nl, tel: +31 53 893697, Fax: +31 53 333895
Abstract
SIL (SPRITE Input Language) is a single token signal
flow graph representation developed as an intermediate
format between specification languages and silicon
compilers. This paper presents a part of a formal
semantic model for SIL which is nicely intuitive because
of the use of tables as mathematical representation of the
semantics. Together with this semantic model SIL
becomes a useful language backbone for
transformational design.
1: Introduction
Transformational design integrates synthesis and
verification and is therefore considered as a practical
solution for the design correctness problem [1, 2, 3].
Both interactive design and automatic synthesis can be
based on transformational design. In the first case the
designer is offered a large set of transformations to
compose the design process. Each design step is a
transformation which results in an intermediate design.
In the second case the choice and order of the design
transformations is determined by the synthesis tool. If
each design transformation as well as the sequential
composition of design transformations is correctness
preserving then correctness by construction is achieved
and the design correctness problem is solved.
Any design process requires a method for design
representation which ranges from the specification to the
description of the final implementation. In order to avoid
the necessity to define similar transformations for
different design representations, the transformational
design process should be based on a single intermediate
design representation. This intermediate design
representation should be provided with formal semantics
in order to prove the correctness preserving property ofthe transformations and their compositions. Notice that
formal semantics and proof systems primarily support
the understanding of the transformational design process
and the understanding of the applicability of the various
transformations. Once the transformational design steps
are understood the correctness proofs are only of
secondary importance.
A large number of specification languages is known,
all having their own characteristics. In the design of
large complex systems it is useful to be able to integrate
the use of several specification languages [4]. Therefore
the intermediate format should cover the functionality of
the specification languages used in the current design
practice. Flow graphs appeared to satisfy these
requirements and to be useful in the definition of
synthesis activities[4]. SIL (SPRITE Input Language
[5]), developed in the EC ESPRIT project SPRITE, is an
intermediate design representation based on signal flow
graphs and appears to be suitable in transformational
design [6,7].
The issue of this paper is the presentation of
principles on which the formal semantic model of SIL is
based [8]. In transformational design the
compositionality of the used semantics is important.
Which means that the semantics of a composition has to
be a composition of the semantics of the components.
Besides compositionality transformational design needs
semantics which include a representation of the
functional (I/O) behaviour, described by the design, in
order to check whether the specification is satisfied. This
paper is restricted to the part of the formal semantics of
SIL that is related to functional behaviour. In this part,
tables are used as mathematical model of the semantics,
the functional behaviour. Operations are defined on these
tables to describe composition of semantics. Together
with these operations the set of tables becomes an
algebra which is a useful and nicely intuitive semantic
algebra.
HALFADDHALFADD:
IN
INAND
XOROUTa
band1
xor1generate
OUTtransmissionXOR:
IN
INANDNOT
OROUTin1
in0and1
or1not1
and2out0AND
HALFADD: generate:= a AND b; transmission := a XOR b; XOR: out0:=(NOT(in0 AND in1)) AND (in0 OR in1);
Figure 1: Example of simple SIL description existing of 1 node and 2 SIL graphs, HALFADD and XOR
2: SIL
SIL [5] is a single token signal flow graph
representation. A SILgraph (figure 1) exists of nodes
representing operations and edges representing data
communication or precedence relations. Nodes are
represented by circles, except for constant nodes which
are represented by squares. Edges are represented by
arrows between the ports of these nodes. These ports are
called access points and are represented by small bullets
on the nodes. Two kinds of edges are defined: data flow
edges which are normal arrows representing data