Macro sets or unsets the macro status for one or
more layout cells and prints the new status(es). If no
option is specified, only the current status of the cell is
printed. The status can be 'macro = no' (which
means that the cell has no macro status), 'macro =
yes' (which means that the total cell has the macro
status) or 'macro = yes only for mask(s): ...'
(which means that only a few masks of the cell have the
macro status).
For new projects with xcontrol use the program
xcontrol to change the cell macro status. In that
case, the program macro can only be used to list the
macro status.
You can only add masks to cells which have not already
full macro status. If you delete all masks, the cell macro
status is unset. If you unset macro status, then the mask
list is removed.
If you add the touch option to your action, the macro
status file is always touched, also if there are no changes
in it. If you touch the macro status (file) of a cell, then
its mask list is sorted again and unknown or unneeded masks
are deleted.
If no cell is specified, all macro cells in the current
project are listed. The program also reads the imported
celllist and tries to find macro status for imported cells
in the remote projects. A printed macro status for a remote
cell is flagged with an '*' sign.
When a layout cell is defined as a macro, during
expansion (see exp(1ICD)), instances of the cell are
always flattened. No matter whether a hierarchical expansion
or a linear expansion is performed. When the cell that is
defined as a macro has one or more son-cells itself, the
macro status of each of these son-cells determines if the
instances of these cells are also flattened. It is also
possible to set the macro status only for one or more masks
of the cell instead of the total cell. In this case only the
masks that have the macro status will be expanded. If the
macro status has been set for the total cell all masks of
that cell will be expanded.
When a macro cell is also a device (see
device(1ICD) and putdevmod(1ICD)), the cell
will become an instance in the extracted circuit (just as in
the normal case) but the layout of the cell will
additionally be (partial) expanded in the father cell.
For new projects with xcontrol use the program
xcontrol to change and list the cell device status.
In that case, a device has also macro status, if the
interfacetype is set to Free or Freemasks.
|