GENLIB_PLACE_SEG_REF - put a segment on a reference belonging an
instance in the current figure
#include <genlib.h>
void GENLIB_PLACE_SEG_REF(insname, refname, layer, width, face)
char ∗insname, ∗refname;
char layer, face;
long width;
See the file buster/alliance/alc_origin.1.en.gz.
- insname
- Name of the instance in the which the reference is to be searched for
- refname
- Name of the reference to be used for the segment placement
- layer
- Physical layer of the segment
- width
- Width of the segment
- face
- Face of the figure on which the segment is to be placed
PLACE_SEG_REF places a segment regarding the position of
the reference, refname, in the instance called insname. The
segment coordinates are computed from the reference coordinates and the face
given as argument.
Two behaviours are expected, regarding the reference coordinates:
- the reference is on the given
face of the abutment box
- the segment is not added, since it would have zero as length
- the reference is anywhere
else
- A segment is drawn between the reference and the abutment box, and
is given layer and width as attributs. One of its endpoint
is given by the reference coordinates, the other one comes from the
face. The face argument is meant in the placed instance, and
can take any of the following values:
- NORTH
- the other endpoint has, for absissa, the x coordinate of the top of the
abutment box of the cell, and for ordinate, the y coordinate of the
reference.
- SOUTH
- the other endpoint has, for absissa, the x coordinate of the bottom of the
abutment box of the cell, and for ordinate, the y coordinate of the
reference.
- EAST
- the other endpoint has, for absissa, the x coordinate of the reference and
for ordinate, the y coordinate of the right of the abutment box of
the cell.
- WEST
- the other endpoint has, for absissa, the x coordinate of the reference and
for ordinate, the y coordinate of the left of the abutment box of
the cell.
"GENLIB_PLACE_SEG_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.
"GENLIB_PLACE_SEG_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.
"GENLIB_PLACE_SEG_REF impossible : no abutment box"
The current figure does not have an abutment
box. Use DEF_AB(3) before this function.
"illegal GENLIB_PLACE_SEG_REF : orientation is XX"
The face parameter does not have a legal value,
but XX.
"illegal getphins : instance called insname does not
exist"
No instance called insname exists in the current
figure
"illegal getphref : references called refname does not
exist"
No reference called refname exists in the model of
the instance insname.
#include <genlib.h>
main()
{
/∗ Create a figure to work on ∗/
GENLIB_DEF_PHFIG("cell");
GENLIB_PLACE("gaci0_b", "r1", NOSYM, 23L, 54L);
/∗ Put a reference ∗/
GENLIB_PLACE_SEG_REF("r1", "a_0", ALU2, 2, NORTH);
/∗ Save that on disk ∗/
GENLIB_SAVE_PHFIG();
}