GENLIB_COPY_UP_ALL_REF3
Copy a several physical reference from an instance in the current figure
Synopsys
#include <genlib.h> void GENLIB_COPY_UP_ALL_REF(reftype, insname, concatenate) char ∗reftype, ∗insname; char concatenate;
Parameters
- reftype
-
Type of the references to be duplicated
- insname
-
Name of the instance in the which the references is to be searched for
- concatenate
-
Indicates whether or not to concatenate the instance name to the references names when copying
Overview
COPY_UP_ALL_REF duplicates all the references of type reftype of the instance called insname into the current layout cell. The main purpose of this function is to copy a set references in the upper hierarchical level, so it can be used as virtual connector, for the data-path router. See dpr(1) for details.
The reftype argument can take two values:
|
for virtual connectors |
|---|---|
|
for any other references |
See the leaf cells design for generators document for details on reference types and usage.
The concatenate argument can take two values:
- AYES
-
indicates that the name of the copied references is concatenated to the instance name.
- NO
-
implies a direct duplication of the reference name
Errors
"GENLIB_COPY_UP_ALL_REF impossible : missing GENLIB_DEF_PHFIG"
No figure has been yet specified by a call to DEF_PHFIG. So it isn't possible to place a reference inside it. you must call DEF_PHFIG before any other layout action.
"illegal getphins : instance insname does not exist"
The instance called insname does not currently belong to the figure.
"GENLIB_COPY_UP_ALL_REF impossible : references of type reftype do not exist"
No reference of type reftype exist in the model of the instance insname.
Examples
#include <genlib.h>
main()
{
/∗ Create a figure to work on ∗/
GENLIB_DEF_PHFIG("cell");
GENLIB_PLACE("z2l_y", "r1", NOSYM, 23L, 54L);
/∗ Put a reference ∗/
GENLIB_COPY_UP_ALL_REF("ref_con", "r1", NO);
/∗ Save that on disk ∗/
GENLIB_SAVE_PHFIG();
}
Releases
4 releases since Debian 7 (Wheezy); the text changed 1 time.