DOKK / manpages / debian 10 / alliance / GENLIB_FLATTEN_ALL_PHINS.3.en
GENLIB_FLATTEN_ALL_PHINS.3(October 1, 1997) GENLIB_FLATTEN_ALL_PHINS.3(October 1, 1997)

GENLIB_FLATTEN_ALL_PHINS - flatten all instances in the current layout figure

#include <genlib.h>
void GENLIB_FLATTEN_ALL_PHINS(concat, catal)
char concat, catal;

See the file buster/alliance/alc_origin.1.en.gz.

Indicate whether or not to concatenate instance name to instance' objects name
Indicate whether or not to look in the catalog file before flattening a cell

FLATTEN_ALL_PHINS inserts the contents of all the instances of the current figure in the current figure. All these instances are destroyed during the process, and therefore cannot be refered to later in the layout description.
The concat parameter may take two values:

to concatenate object name with instance names.
to copy object names.

In most case, the concat value must be YES, in order to warranty the unicity of names in the figure. It may otherwise fail, because the function would try to add in the current figure some object with an already existing name.
The catal parameter may also take two values:

to check the catalog file to see if the model of an instance is in it. If the model belong to the catalog, then it is not flattened.
in this case, no checks are done, and every instance is flattened.

#include <genlib.h>
main()
{
	/∗ Create a figure to work on  ∗/
	GENLIB_DEF_PHFIG("mycell");
	.
	.
	.
	/∗ Place an instance ∗/
	PHINS("model","instance", "sig1", "sig2", EOL);
	/∗ flatten all figure instance ∗/
	GENLIB_FLATTEN_ALL_PHINS(YES, YES);
	/∗ Save all that on disk ∗/
	GENLIB_SAVE_PHFIG();
}

genlib(1), GENLIB_PLACE(3), GENLIB_PLACE_LEFT(3), GENLIB_PLACE_RIGHT(3), GENLIB_PLACE_TOP(3), GENLIB_PLACE_BOTTOM(3), GENLIB_PLACE_ON(3), GENLIB_FLATTEN_PHFIG(3), GENLIB_FLATTEN_ALL_LOINS(3).

See the file buster/alliance/alc_bug_report.1.en.gz.

ASIM/LIP6 PROCEDURAL GENERATION LANGUAGE