GENLIB_LOINS.3alc man page

GENLIB_LOINS — add a logical instance to the current figure

Synopsis

#include <genlib.h>
void GENLIB_LOINS(model, instance, sig1, sig2, ..., sign, EOL);
char ∗model, ∗instance;
char ∗sig1, ∗sig2, ..., ∗sign;

Parameters

model

Name of the model to be logically instantiated

instance

Name to be given to the new instance

sig1, sig2, ..., sign

List of signals to be linked to the implicit connector list of the instance

Description

LOINS add a logical instance in the actual working figure. LOINS 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 being :

hns
fne
al
alx

MBK_WORK_LIB set up the output file path. Any valid unix path is ok. LOINS look in memory and then, if not found, on disk for the figure modelname. This is due to the need to ensure consistency between the model and its ascociated instances.
The instance is added with the name instance, and each of the signals are connected to an instance connector. The connectors are  implicitly matched from the order of the signal on the list. This order is the one given in the netlist file, hns or al, or in the sclib documentation, for standard cell circuits.

Errors

"GENLIB_LOINS 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_LOINS : Bad signal bus name"

A signal, described under a bus form, has an illegal syntax.

"Illegal addloins. Instance insname already exist in figure figname"

An instance name must be unique in a given figure at a given hierarchy 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 LOINS 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_LOINS("model","instance", "sig1", "sig2", EOL);
	/∗ Save all that on disk ∗/
	GENLIB_SAVE_LOFIG();
}

See Also

genlib(1), GENLIB_DEF_LOFIG(3), MBK_IN_LO(1), MBK_CATA_LIB(1), MBK_WORK_LIB(1).

Referenced By

genlib.1alc(1), GENLIB_FLATTEN_ALL_LOINS.3alc(3), GENLIB_FLATTEN_LOFIG.3alc(3), GENLIB_FLATTEN_PHFIG.3alc(3), GENLIB_LOCAP.3alc(3), GENLIB_LOCON.3alc(3), GENLIB_LOINSE.3alc(3), GENLIB_LORES.3alc(3), GENLIB_LOSELF.3alc(3), GENLIB_LOSIG.3alc(3), GENLIB_LOSIGMERGE.3alc(3), GENLIB_LOTRS.3alc(3), GENLIB_SC_BOTTOM.3alc(3), GENLIB_SC_PLACE.3alc(3), GENLIB_SC_TOP.3alc(3).

ASIM/LIP6 PROCEDURAL GENERATION LANGUAGE