File: COMPONENTS

package info (click to toggle)
savant 1.02.1-1
  • links: PTS
  • area: main
  • in suites: potato, woody
  • size: 9,076 kB
  • ctags: 8,973
  • sloc: cpp: 70,113; sh: 1,792; makefile: 157
file content (71 lines) | stat: -rw-r--r-- 3,039 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
COMPONENTS OF THE SAVANT PROJECT
--------------------------------

The Intermediate Form
---------------------


Savant uses the Advanced Intermediate Representation with
Extensibility/Common Enviorment (AIRE/CE).  It is defined as an
object-oriented data structure, and has been developed jointly with FTL
Systems.  Documentation for the basic AIRE/CE classes can be found at:
http://www.ftlsystems.com/reprint.html

SCRAM: A VHDL Analyzer
----------------------

The SCRAM analyze will input a VHDL description, check it for syntactic and
static semantic correctness, and store in memory it in the intermediate
form (IF).  The SCRAM parser is constructed as an LL(2) grammar and using
the Purdue Compiler Construction Tool Set (PCCTS) parser generator (many
thanks to Terence Parr, Hank Dietz, and Will Cohen).  SCRAM is written in
C++ using GNU's EGCS 1.1.1 C++ compiler for development.  For this release,
we have attempted to maintain compatibilty with g++-2.7.2.  This will not
likely be the case in the near future.


Transmute: Derived Classes that Implement Static Equivalences
-------------------------------------------------------------

The transmute method is a collection of derived classes that support
rewriting of the IF into a reduced form.  More precisely, these classes
implement the static model reduction algebra defined in the UC RASSP formal
modeling project (http://www.ece.uc.edu/~paw/rassp).  Example reductions
are the rewriting of a concurrent call statement into the equivalent
process statement containing sequential call and wait statements.  These
classes produce a reduced form IF against which back-end CAD tools can
operate.


Publisher: Derived Classes for Output Generation
------------------------------------------------

Output generation in the SAVANT software suite is supported by the
collection of publisher classes.  Two overloaded methods, publish_vhdl()
and publish_cc(), are defined for all nodes of the reduced IF.  The
publish_vhdl() method simply regenerates VHDL from the internal IF.  The
publish_cc() method produces c++ simulation code to link with the TyVIS
(http://www.ece.uc.edu/~paw/tyvis) VHDL simulation kernel.

The Library Manager
-------------------

The ability of separating a VHDL description into separate independent
libraries necessitate the existence of a library manager. As specified by
the VHDL language reference manual (LRM) (chapter 11), parts of a VHDL
description can be separately compiled into a library and accessed in
other parts of the VHDL description. The library manager has been designed
to take care of this functionality. It allows the user to create design
libraries and helps the parser locate design libraries that are referenced
in other VHDL descriptions.

------------------------------------------------------------------------

SAVANT version 1.02
savant@ececs.uc.edu
The University of Cincinnati
http://www.ececs.uc.edu/~paw/savant

------------------------------------------------------------------------

Last Revised: October 29, 1999