1GENLIB_LOINSE.3(October 1, 1997) GENLIB_LOINSE.3(October 1, 1997)
2
3
4
6 GENLIB_LOINSE - add a logical instance to the current figure, with
7 explicit connections
8
10 #include <genlib.h>
11 void GENLIB_LOINSE(model, instance, couple1, couple2, ..., couplen, EOL);
12 char ∗model, ∗instance;
13 char ∗couple1, ∗couple2, ..., ∗couplen;
14
16 model Name of the model to be logically instantiated
17
18 instance Name to be given to the new instance
19
20 couple1, couple2, ..., couplen
21 Explicit list of connections between connectors and
22 signals.
23
25 LOINSE add a logical instance in the actual working figure. LOINSE
26 uses environment variables to choose the file format and the path to
27 the file.
28 MBK_IN_LO set up the input file format, the valid ones being :
29 hns
30 fne
31 al
32 alx
33 MBK_WORK_LIB set up the output file path. Any valid unix path is ok.
34 LOINSE look in memory and then, if not found, on disk for the figure
35 modelname. This is due to the need to ensure consistency between the
36 model and its ascociated instances.
37 The instance is added with the name instance, and each of the signals
38 are connected to an instance connector. The connector signal link is
39 explicit, and described in the couples arguments. The couples argu‐
40 ments are supposed to have the form:
41 conector => signal
42 or
43 conector[a:b] => signal[n:m]
44 where a - b equals, in absolute value, n - m.
45
47 "GENLIB_LOINSE impossible : missing GENLIB_DEF_LOFIG"
48 No figure has been yet specified by a call to DEF_LOFIG. So it
49 isn't possible to add anything. you must call DEF_LOFIG before
50 any other netlist call.
51 "GENLIB_LOINSE : Bad signal bus name"
52 A signal, described under a bus form, has an illegal syntax.
53 "Illegal addloins. Instance insname already exist in figure figname"
54 An instance name must be unique in a given figure at a given
55 hierarchy level.
56 "Illegal addloins. Instance model is the figure figname itself"
57 A figure cannot be included in itself. Be careful, the check is
58 only made at current hierarchy level.
59 "Illegal addloins. Connector number discrepancy between figure model‐
60 name and instance insname in figure figname"
61 The number of connector in the model is not equal to the number
62 of signals describing the connectivity during the LOINSE call.
63
65 #include <genlib.h>
66 main()
67 {
68 /∗ Create a figure to work on ∗/
69 GENLIB_DEF_LOFIG("mycell");
70 /∗ define interface ∗/
71 GENLIB_LOCON("i", INPUT, "sig1");
72 GENLIB_LOCON("o", OUTPUT, "sig2");
73 /∗ Place an instance ∗/
74 GENLIB_LOINSE("model","instance", "con1 => sig1", "con2 => sig2", 0L);
75 GENLIB_LOINSE("stuff","shirt", "i[31:0] => out[32:63]", "j[2] => sig2", 0L);
76 /∗ Save all that on disk ∗/
77 GENLIB_SAVE_LOFIG();
78 }
79
81 genlib(1), GENLIB_DEF_LOFIG(3), GENLIB_LOINS(3), MBK_IN_LO(1),
82 MBK_CATA_LIB(1), MBK_WORK_LIB(1).
83
84
85
86
87
88
89PROCEDURAL GENERATION LANGUAGE ASIM/LIP6 GENLIB_LOINSE.3(October 1, 1997)