GENLIB_PHSEG.3alc man page

GENLIB_PHSEG — place a physical segment in the current figure at absolute coordinates

Synopsis

#include <genlib.h>
void GENLIB_PHSEG(layer, width, name, x1, y1, x2, y2)
char layer;
long width;
char ∗name;
long x1, y1, x2, y2;

Parameters

layer

Layout layer of the segment

width

Width of the segment

name

Name to be given to the segment

x1, y1, x2, y2

Coordinates of the segment's end points in the current figure

Description

PHSEG adds a segment in the current layout cell, at the specified coordinates, with the given attributs. The layer argument can take the following legal values :

NWELL

PWELL

NTIE

PTIE

NDIF

PDIF

NTRANS

PTRANS

POLY

ALU1

ALU2

ALU3

TPOLY

TALU1

TALU2

TALU3

The name argument needs not to be specified, since one usually doesn't need to give a segment a name. To do so, just type "" as name.

Errors

"GENLIB_PHSEG impossible : missing GENLIB_DEF_PHFIG"

No figure has been yet specified by a call to DEF_PHFIG. So it isn't possible to place an instance inside it. you must call DEF_PHFIG before any other layout action.

"illegal addphseg : x1, y1, x2, y2"

A symbolic segment must be either vertical or horizontal, so either x1 = x2, or y1 = y2.

Example

#include <genlib.h>
main()
{
	/∗ Create a figure to work on  ∗/
	GENLIB_DEF_PHFIG("cell");
	/∗ Put a segment ∗/
	GENLIB_PHSEG(ALU1, 1, "", 0L, 0L, 12L, 0L);
	/∗ Save that on disk ∗/
	GENLIB_SAVE_PHFIG();
}

See Also

genlib(1), GENLIB_DEF_PHFIG(3), GENLIB_SAVE_PHFIG(3), GENLIB_COPY_UP_SEG(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), GENLIB_WIRE3(3).

Referenced By

genlib.1alc(1), GENLIB_COPY_UP_SEG.3alc(3), GENLIB_GET_CON_X.3alc(3), GENLIB_GET_CON_Y.3alc(3), GENLIB_GET_REF_X.3alc(3), GENLIB_GET_REF_Y.3alc(3), GENLIB_PLACE_SEG_REF.3alc(3), GENLIB_WIRE1.3alc(3), GENLIB_WIRE2.3alc(3), GENLIB_WIRE3.3alc(3).

ASIM/LIP6 PROCEDURAL GENERATION LANGUAGE