GENLIB_WIRE3.3(October 1, 1997) | GENLIB_WIRE3.3(October 1, 1997) |
GENLIB_WIRE3 - place three physical segments in the current figure
#include <genlib.h> void GENLIB_WIRE3(layer, width, ins1, con1, index1, ins2, con2, index2, x1, y1, x2, y2) char layer; long width; char ∗ins1, ∗con1, ∗ins2, ∗con2; long x1, y1, x2, y2;
See the file buster/alliance/alc_origin.1.en.gz.
WIRE3 adds three segments made of the layer level in the current layout cell, the starting point beeing the connector, or reference, con1 of the instance ins1, and the ending point beeing the connector, or reference, con2 of the instance ins1. The first segment is drawn between the coordinates of con1 in the current figure and x1, y1. The second one between x1, y1 and x2, y2, and the last, but not the least, between x2, y2 and the coordinates of con2 in the current figure.
If the endpoints are connectors, the indexes index1 and index2 must respectivly refer to con1 and con2. If they are references, then they are not taked care of. One shall notice that connectors and references of a given model should not share names if WIRE3 is to be used.
The layer argument can take the following legal values :
"GENLIB_WIRE3 impossible : missing GENLIB_DEF_PHFIG"
#include <genlib.h> draw_wire(cellHeight) long cellHeight; { /* draw a wire made of 1, 2, or 3 segments, given from and to connectors or reference, and the x and y coordinates of each elbow points */ GENLIB_WIRE1(ALU1,1,"lastpg2","g2",1,"cabl31","sg",2); GENLIB_WIRE3(ALU1,1,"cabl31","sp",2, "celout2", "cin", 1, GENLIB_GET_CON_X("cabl31","sp",2), GENLIB_GET_CON_Y("cabl31","sp",2) + cellHeight / 2, GENLIB_GET_CON_X("celout2", "cin", 1), GENLIB_GET_CON_Y("cabl31","sp",2) + cellHeight / 2); GENLIB_WIRE1(POLY,1,"celout3","g",1,"celout2","co",0); }
genlib(1), GENLIB_DEF_PHFIG(3), GENLIB_SAVE_PHFIG(3), GENLIB_COPY_UP_SEG(3), GENLIB_PHSEG(3), GENLIB_THRU_H(3), GENLIB_THRU_CON_H(3), GENLIB_THRU_V(3), GENLIB_THRU_CON_V(3), GENLIB_WIRE1(3), GENLIB_WIRE2(3).
See the file buster/alliance/alc_bug_report.1.en.gz.
ASIM/LIP6 | PROCEDURAL GENERATION LANGUAGE |