GENLIB_PHCON.3alc man page

GENLIB_PHCON — place a physical connector in the current figure at absolute coordinates

Synopsis

#include <genlib.h>
void GENLIB_PHCON(layer, width, name, orient, x, y)
char layer;
long width;
char ∗name, orient;
long x, y;

Parameters

layer

Layout layer of the connector

width

Width of the connector

name

Name to be given to the connector

orient

Face of the cell on witch the connector belongs

x, y

Absolute coordinates of the connector

Description

PHCON adds a connector 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 is not enough of an information to non ambigiously identify a connector. In order to be able to do so, an index is computed for each connector that has an already existing name, following a topological order. Each time a connector is created, the index is updated, regarding the name of the connector. Since someone writing a tiler needs to know exactly what connector to access, the indexation algorithm must be known by the user.

Connectors with a unique name:

Such connectors have the index 0

Connectors with a name apearing many times:

The indexes are computed from left to right, and then from bottom to top, starting at 0.  If two connectors are on the same location, with the same name, then the layer decides which one is has the greater number, from lower level, NWELL to upper level, ALU3.

The orient parameter may take the following values:

NORTH

for a connector placed on the top of the cell.

SOUTH

for a connector placed on the bottom of the cell.

EAST

for a connector placed on the right side of the cell.

WEST

for a connector placed on the left side of the cell.

Remark:

Connectors placed on corners of leaf cells are given the EAST orientation if on top/right or bottom/right corner, and WEST if top/left or bottom/left.

Errors

"GENLIB_PHCON 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 connector inside it. you must call DEF_PHFIG before any other layout action.

"illegal addphcon : orientation is XX in name"

The orient parameter does not have a legal value, but XX.

Example

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

See Also

genlib(1), GENLIB_DEF_PHFIG(3), GENLIB_SAVE_PHFIG(3), GENLIB_COPY_UP_ALL_CON(3), GENLIB_COPY_UP_CON(3), GENLIB_COPY_UP_CON_FACE(3), GENLIB_THRU_CON_H(3), GENLIB_THRU_CON_V(3).

Referenced By

genlib.1alc(1), GENLIB_COPY_UP_ALL_CON.3alc(3), GENLIB_COPY_UP_CON.3alc(3), GENLIB_COPY_UP_CON_FACE.3alc(3), GENLIB_GET_CON_X.3alc(3), GENLIB_GET_CON_Y.3alc(3), GENLIB_PLACE_CON_REF.3alc(3), GENLIB_REVERSE_PHCON.3alc(3).

ASIM/LIP6 PROCEDURAL GENERATION LANGUAGE