ORIGIN¶
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at
LIP6 laboratory of Université Pierre et Marie CURIE, in Paris,
France.
Web :
http://asim.lip6.fr/recherche/alliance/
E-mail :
alliance-users@asim.lip6.fr
NAME¶
BEH - Generic behavioural data structures
DESCRIPTION¶
BEH is a generic data structure supporting vlsi concepts. It allows
representation of a behavioral description in a data structure.
The goal of
BEH is to define an ad hoc single data structure (object),
with well known fixed meaning for each concept manipulated within a
behavioural description. So any tools that needs to work with a behavioral
view can be build upon it using these structures.
For each object (data structure), a set of functions has been defined in order
to add, delete or access it. These functions are defined in a low-level
library
libBeh108.a. Some other functions are higher level. They are
defined in a high-level library
libBhl108.a. There are also some
parsers-drivers. A pareser reads a behavioural description file in a given
format and build up a complete
BEH data base. A driver creates a text
file in a given behavioural description format from a
BEH data base. A
VHDL parser-driver is available in the
libBvl103.a library.
The behavioural view envolves the following notions:
- figure
- behavioural representation of a circuit (see BEFIG).
- port list
- ordered list of the circuit's logical ports (see BEPOR).
- generic
- a global data (constants) relative to a circuit other than logical ports
(see BEGEN).
- simple output
- a simple output port of the circuit (see BEOUT).
- bused output
- a bused output port of the circuit (see BEBUS).
- input
- an input port of the circuit (see BERIN).
- internal register
- an internal memorizing element (see BEREG).
- internal signal
- an internal simple signal of the circuit (see BEAUX).
- internal bus
- an internal bused signal of the circuit (see BEBUX).
- assert
- a condition, noticed by the circuit designer, that insures a correct usage
of the circuit. The validity of these conditions is to be checked
continuously at run time (see BEMSG).
In order to use
BEH, concepts on use of libraries are needed. And, since
these libraries are under development, the code is subject to change.
To enable work, a static version of each library is always present for the user.
Libraries and header files are suffixed by a number (the library's version).
The programmer can prefer to work with an earlier version of a library rather
than the most recent one. However, it is recommended to adapt softwares to
libraries as soon as possible in order to spotlight potential compatibility
problems before old libraries are removed.
A
makefile is necessary for all
BEH applications. This is required
because any soft must be easily recompilable, and knowing the needed libraries
for a
BEH based program is not an easy matter. It can't be achieved an
other way, so do use
makefile.
For each behavioural description format a parser and a driver have been
developed . These are organized in as many seperate libraries as description
format. So if a parser or driver changes it is not needed to recompile
BEH. Only a relink of the application is needed.
In terms of software organization,
BEH is splitted into two libraries for
the basic functions, a header file for structures and variable declarations,
and , up to now, one parser-driver library for VHDL format.
It is to be noticed that library's version number is incremented when, at least,
one function composing the library has been modified. Therefore,
BEH
libraries may evolve independently form each other.
Here follows the list of the libraries and their contents.
- libBeh108.a:
- beh_addbefig, beh_addbeaux, beh_addbebux,
beh_addbegen, beh_addbebus, beh_addbemsg,
beh_addbeout, beh_addbepor, beh_addbereg,
beh_addberin, beh_addbiabl, beh_addbinode,
beh_delbefig, beh_delbeaux, beh_delbebux,
beh_delbegen, beh_delbebus, beh_delbemsg,
beh_delbeout, beh_delbepor, beh_delbereg,
beh_delberin, beh_delbiabl, beh_delbinode,
beh_frebefig, beh_frebeaux, beh_frebebux,
beh_frebegen, beh_frebebus, beh_frebemsg,
beh_frebeout, beh_frebepor, beh_frebereg,
beh_freberin, beh_frebiabl, beh_frebinode,
beh_rmvbefig, beh_rmvbeaux, beh_rmvbebux,
beh_rmvbegen, beh_rmvbebus, beh_rmvbemsg,
beh_rmvbeout, beh_rmvbepor, beh_rmvbereg, beh_rmvberin
- libBhl108.a:
- beh_debug
The libraries are organized in such a way that no cycle can appear through
calls. It means that if a given library a function calls another function in
another library, then none of the functions of this one does call any function
that belongs to the first library.
EXAMPLE¶
In order to use BEH libraries, one needs something like that in its
makefile:
HEADER = -I/labo/include
LIB = -L/labo/lib -lBeh108 -lBhl108 -lBvl109 -llog200 -lMut315
SEE ALSO¶
mbk(1),
log(3)
BUG REPORT¶
This tool is under development at the
ASIM department of the
LIP6
laboratory.
We need your feedback to improve documentation and tools.