SYNOPSYS
#include <genlib.h> void GENLIB_LOINSE(model, instance, couple1, couple2, ..., couplen, EOL); char *model, *instance; char *couple1, *couple2, ..., *couplen;
man2html: unable to open or read file man1/alc_origin.1
PARAMETERS
- model
- Name of the model to be logically instanciated
- instance
- Name to be given to the new instance
- couple1, couple2, ..., couplen
- Explicit list of connections between connectors and signals.
DESCRIPTION
LOINSE add a logical instance in the actual working figure. LOINSE uses environment variables to choose the file format and the path to the file.MBK_IN_LO set up the input file format, the valid ones beeing :
-
hns
fne
al
alx
The instance is added with the name instance, and each of the signals are connected to an instance connector. The connector signal link is explicit, and described in the couples arguments. The couples arguments are supposed to have the form:
conector => signal
or conector[a:b] => signal[n:m] where a - b equals, in absolute value, n - m.
ERRORS
"GENLIB_LOINSE impossible : missing GENLIB_DEF_LOFIG"- No figure has been yet specified by a call to DEF_LOFIG. So it isn't possible to add anything. you must call DEF_LOFIG before any other netlist call.
"GENLIB_LOINSE : Bad signal bus name"
- A signal, described under a bus form, has an illegal syntax.
- An instance name must be unique in a given figure at a given hierachy level.
"Illegal addloins. Instance model is the figure figname itself"
- A figure cannot be included in itself. Be careful, the check is only made at current hierarchy level.
"Illegal addloins. Connector number discrepancy between figure modelname and instance insname in figure figname"
- The number of connector in the model is not equal to the number of signals describing the connectivity during the LOINSE call.
EXAMPLE
#include <genlib.h> main() { /* Create a figure to work on */ GENLIB_DEF_LOFIG("mycell"); /* define interface */ GENLIB_LOCON("i", INPUT, "sig1"); GENLIB_LOCON("o", OUTPUT, "sig2"); /* Place an instance */ GENLIB_LOINSE("model","instance", "con1 => sig1", "con2 => sig2", 0L); GENLIB_LOINSE("stuff","shirt", "i[31:0] => out[32:63]", "j[2] => sig2", 0L); /* Save all that on disk */ GENLIB_SAVE_LOFIG(); }