SYNOPSYS
#include <genlib.h> void GENLIB_LOCON(connector, direction, signal); char *connector, *signal; char direction;
man2html: unable to open or read file man1/alc_origin.1
PARAMETERS
- connector
- Name of the connector to be created in the current figure
- direction
- Indicates the connector behaviour regarding signals propagation
- signal
- Name of the signal on which the connector is linked
DESCRIPTION
LOCON add a logical connector to the interface of the actual working figure. This connector is logicaly linked to the signal signal. The direction attribut may take the following values:- IN
- as input.
- OUT
- as output.
- INOUT
- as input/output, like supplies or clock for example.
- UNKNOWN
- if one doesn't know what it is.
- TRISTATE
- as high impedance output.
- TRANSV
- as transciever. That means TRISTATE input plus output.
ERROR
"GENLIB_LOCON 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.
- A signal or connector, described under a bus form, has an illegal syntax.
-
- "GENLIB_LOCON : All LOCON should be defined befor any GENLIB_LOINS"
- A connector is added after instances. This is a methodological error. Only move your LOCON before the first LOINS in your code.
- A bussed form of signal and connector has been used, but the width of the busses are not equal. This is an obvious error, check it.
- A connector name must be unique in a given figure at a given hierachy level.
DIAGNOSTICS
Due to the vti file format, the direction of connectors is lost if one uses it as starting point of a netlist desciption. All the connectors have then the UNKNOWN direction.Alliance and edif file format know only about IN, OUT, and UNKNOWN. Only vhdl format fully supports the whole thing.
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(); }