GENLIB_COPY_UP_SEG.3alc man page

GENLIB_COPY_UP_SEG — copy a physical segment from an instance in the current figure

Synopsis

#include <genlib.h>
void GENLIB_COPY_UP_SEG(oldname, insname, newname)
char ∗oldname, ∗insname, ∗newname;

Parameters

oldname

Name of the segment in the instance

insname

Name of the instance in the which the segment is to be searched for

newname

Name to be given to the segment in the current figure

Description

COPY_UP_SEG adds a segment in the current layout cell. All the segment's attributes are copied from the first found segment called oldname in the instance insname. The new segment is given the name newname. The main purpose of this function is to rename a segment, so it can be used later, when extracting a layout.

Errors

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

"illegal getphins : instance insname does not exist"

The instance called insname does not currently belong to the figure.

"GENLIB_COPY_UP_SEG impossible : segment segname does not exist"

The segment segname does not exist in the model of the instance insname.

Example

#include <genlib.h>
main()
{
	/∗ Create a figure to work on  ∗/
	GENLIB_DEF_PHFIG("cell");
	GENLIB_PLACE("z2l_y", "r1", NOSYM, 23L, 54L);
	/∗ Put a segment ∗/
	GENLIB_COPY_UP_SEG("mux0_s", "r1", "out_s");
	/∗ Save that on disk ∗/
	GENLIB_SAVE_PHFIG();
}

See Also

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

Referenced By

genlib.1alc(1), GENLIB_PHSEG.3alc(3), GENLIB_WIRE1.3alc(3), GENLIB_WIRE2.3alc(3), GENLIB_WIRE3.3alc(3).

ASIM/LIP6 PROCEDURAL GENERATION LANGUAGE