Provided by: alliance_5.0-20110203-4_amd64 bug


       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 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

       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.


       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


       mbk(1), log(3)