BEH(3)                      cao-vlsi reference manual                     BEH(3)

       This software belongs to the  ALLIANCE CAD SYSTEM developed by the ASIM
       team at LIP6 laboratory of Université Pierre et Marie CURIE, in Paris,

       Web :
       E-mail :

       BEH - Generic behavioural data structures

       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

       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

       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,

       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.

       In order to use BEH libraries, one needs something like that in its

              HEADER = -I/labo/include
              LIB = -L/labo/lib -lBeh108 -lBhl108 -lBvl109 -llog200 -lMut315

       mbk(1), log(3)

       This tool is under development at the ASIM department of the LIP6
       We need your feedback to improve documentation and tools.

ASIM/LIP6                        October 1, 1997                          BEH(3)