macro - set or unset a macro status for a layout cell |
macro [-t] [-amask | -dmask | -s[mask] | -u] [cell ...] |
-amask |
Add the mask(s) to the list of masks which have macro status. |
||
-dmask |
Delete the mask(s) from the list of masks which have macro status. |
-s[mask] |
Set the macro status or only for specified mask(s). |
-t |
Touch always the macro status file. |
|||
-u |
Unset the macro status. |
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. |
$ macro $ macro -s image91 $ macro -dcb,bb image91 $ macro image91 $ macro -u latch select $ macro -ain,ins latch $ macro -t latch |
NELSISPROJECT/layout/celllist |
NELSISPROJECT/layout/impcelllist |
NELSISPROJECT/layout/cell/is_macro |
The program can only change the status for local cells. The program can not create directories and does not update the celllist(s). The program lists only cells which are in the layout celllist and impcelllist. The program is not checking the local celllist when updating macro status. You can not use options twice. You can only use the -t option in combination with all others. You may use the -a and -d options both, but a mask may not be in the add and delete list. If you specify an option, you must also specify one of more cell arguments. |
device(1ICD), putdevmod(1ICD), space(1ICD), xcontrol(1ICD). |