1GENLIB_LOSIGMERGE.3(October 1, 1997)      GENLIB_LOSIGMERGE.3(October 1, 1997)
2
3
4

NAME

6       GENLIB_LOSIGMERGE - merge two logical signals
7

SYNOPSIS

9       #include <genlib.h>
10       void GENLIB_LOSIGMERGE(signal1, signal2)
11       char ∗signal1, ∗signal2;
12

PARAMETERS

14       signal1             Name of a signal to be merged
15
16       signal2             Name of a signal to be merged
17

DESCRIPTION

19       LOSIGMERGE  merges the two signals, signal1 and signal2.  This function
20       can be used anywhere in the genlib program, but its resultings  actions
21       must be known by the user.
22
23       1)        If  signal1 and signal2 have not been used yet, then the cor‐
24                 responding signal can be later accessed through any of  these
25                 aliases.
26
27       2)        If  one of signal1 or signal2 has not been used yet, then all
28                 further reference to the not defined name will be made on the
29                 same signal than the defined signal.
30
31       3)        If  both signals exist, then they are merged, and both can be
32                 used for reference to the same signal later on.
33
34       Since most of the file formats do not allow multiple name for a  single
35       signal, the choice is made to keep for disk usage the name that appears
36       in the cell interface, if any.  Otherwise, the choice is randomly  made
37       by LOSIGMERGE.
38
39       Warning   This  function  allows  the  user  to  internally connect two
40                 external connectors.  This is not a valid disk representation
41                 for  netlist  generated  by  genlib.  The SAVE_LOFIG function
42                 will exit if encountering such a situation.
43                 In order to avoid it, either take care not to link such  sig‐
44                 nals,  or  build all your hierarchy in memory, make sure your
45                 block does not have such signals, and  call  FLATTEN_LOFIG(3)
46                 just before saving.
47

EXAMPLE

49       #include <genlib.h>
50       main()
51       {
52            /∗ Create a figure to work on  ∗/
53            GENLIB_DEF_LOFIG("cell");
54            /∗ Define interface ∗
55            GENLIB_LOCON(...
56            /∗ Place an instance ∗/
57            GENLIB_LOINS("no2_y" ,"no3" ,"a8_s" ,"a9_s" ,"new_no3_s" ,"vdd" ,"vss" ,0);
58            GENLIB_LOINS("no2_y" ,"no4" ,"a12_s" ,"a15_s" ,"no4_s" ,"vdd" ,"vss" ,0);
59            GENLIB_LOINS("a2_y" ,"a22" ,"no3_s" ,"no4_s" ,"a22_s" ,"vdd" ,"vss" ,0);
60            GENLIB_LOSIGMERGE("new_no3_s", "no3_s");
61            /∗ Save all that on disk ∗/
62            GENLIB_SAVE_LOFIG();
63       }
64

SEE ALSO

66       genlib(1),  GENLIB_LOINS(3),  GENLIB_LOCON(3), GENLIB_FLATTEN_LOFIG(3),
67       GENLIB_SAVE_PHFIG(3).
68
69
70
71
72
73
74PROCEDURAL GENERATION LANGUAGE     ASIM/LIPG6ENLIB_LOSIGMERGE.3(October 1, 1997)
Impressum