Scroll to navigation

GENLIB_PLACE_SEG_REF.3(October 1, 1997) GENLIB_PLACE_SEG_REF.3(October 1, 1997)

NAME

GENLIB_PLACE_SEG_REF - put a segment on a reference belonging an instance in the current figure

SYNOPSYS

#include <genlib.h>
void GENLIB_PLACE_SEG_REF(insname, refname, layer, width, face)
char  ∗insname, ∗refname;
char layer, face;
long width;

ORIGIN

This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at LIP6 laboratory of Université Pierre et Marie CURIE, in Paris, France.
 
Web : http://asim.lip6.fr/recherche/alliance/
 
E-mail : alliance-users@asim.lip6.fr

PARAMETERS

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

DESCRIPTION

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.

ERRORS

"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.

EXAMPLE

#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();
}

SEE ALSO

genlib(1), GENLIB_DEF_PHFIG(3), GENLIB_SAVE_PHFIG(3), GENLIB_PHREF(3), GENLIB_PHSEG(3), GENLIB_COPY_UP_REF(3), GENLIB_COPY_UP_ALL_REF(3), GENLIB_PLACE_SEG_REF(3), GENLIB_PLACE_SEG_REF(3), GENLIB_PLACE_SEG_REF(3).

BUG REPORT

This tool is under development at the ASIM department of the LIP6 laboratory.
 
We need your feedback to improve documentation and tools.
 
ASIM/LIP6 PROCEDURAL GENERATION LANGUAGE