Library Cell-Related CPF Commands
define_always_on_cell
- define_always_on_cell
-
-cells
cell_list [-library_set library_set]-
[ {-power_switchable
LEF_power_pin -
|-ground_switchable
LEF_ground_pin-
|-power_switchable LEF_power_pin -ground_switchable LEF_ground_pin}-
-power
LEF_power_pin -ground LEF_ground_pin ]
For applications that read .lib files--Identifies the library cells in the .lib files with more than one set of power and ground pins that can remain powered on even when the power domain they are instantiated in is powered down.
For applications that do not read library files--Allows to identify the instances of these cells in the netlist.
Note:
The output of these cells is related to the non-switchable power and ground pins.
Options and Arguments
-cells cell_list
|
|
Identifies the specified cells as special cells that are always on.
|
-ground LEF_ground_pin
|
|
If this option is specified with the -power_switchable option, it indicates the GROUND pin of the specified cell.
If this option is specified with the -ground_switchable option, it indicates the GROUND pin in the corresponding LEF cell to which the ground that is on during power shut-off mode is applied.
|
-ground_switchable LEF_power_pin
|
|
Identifies the GROUND pin in the corresponding LEF cell to which the ground that is switched off during power shut-off mode is applied.
You can specify this option when you cut off the path from power to ground on the ground side (that is, use a footer cell).
|
-library_set library_set
|
|
References the library set to be used to search for the specified cells. Specify the library set name. All matching cells will be used.
If you omit this option, all library sets are searched and all matching cells will be used.
The libraries must have been previously defined in a define_library_set command.
|
-power LEF_power_pin
|
|
If this option is specified with the -ground_switchable option, it indicates the POWER pin of the specified cell.
If this option is specified with the -power_switchable option, it indicates the POWER pin in the corresponding LEF cell to which the power that is on during power shut-off mode is applied.
|
-power_switchable LEF_power_pin
|
|
Identifies the POWER pin in the corresponding LEF cell to which the power that is switched off during power shut-off mode is applied.
You can specify this option when you cut off the path from power to ground on the power side (that is, use a header cell).
|
Related Information
Always On Cell
define_global_cell
- define_global_cell
-
-cells
cells [-library_set library_set]-
[-global_power
pin ] [-global_ground pin ] -
[-local_power
pin] [-local_ground pin]-
[-power_off_function {pullup | pulldown | hold }]
-
[-isolated_pins
list_of_pin_lists [-enable expression_list ] ]
For applications that read .lib files--Identifies the library cells in the .lib files with more than one set of power and ground pins that can remain functional even when the supplies to the local power and ground pins is switched off.
Note:
By default, all input and output pins of this cell are related to the global power and ground pins.
Options and Arguments
-cells cell_list
|
|
Identifies the specified cells as global cell.
|
-enable expression_list
|
|
Specifies a list of simple expressions. Each simple expression describes the isolation control condition for the corresponding isolated pin list in the -isolated_pins option. If the internal isolation does not require a control signal, specify an empty string for that pin list. The number of elements in this list must correspond to the number of lists specified for the -isolated_pins option.
|
-global_ground pin
|
Specifies the secondary ground pin.
|
-global_power pin
|
Specifies the secondary power pin.
|
-isolated_pins list_of_pin_lists
|
|
Specifies a list of pin lists. Each pin list groups pins that are isolated internally with the same isolation control signal.
The pin lists can only contain input pins.
|
-library_set library_set
|
|
References the library set to be used to search for the specified cells. Specify the library set name. All matching cells will be used.
If you omit this option, all library sets are searched and all matching cells will be used.
The libraries must have been previously defined in a define_library_set command.
|
-local_ground pin
|
Specifies the primary ground pin.
|
-local_power pin
|
Specifies the primary power pin.
|
-power_off_function {pullup | pulldown | hold}
|
|
Determines the cell output when the supply to its local power or local ground is off:
hold--the cell output holds the same value as the value before the supply of global power or ground is off.
pulldown--the cell output is a logic low
pullup--the cell output is a logic high
|
Example
The following command defines cell foo as a global cell. The cell had three isolated pins: pin1, pin2, and pin3. Pins pin1 and pin2 have the same isolation control signal iso1, but pin3 has no isolation control signal.
define_global_cell -cells foo \
-ioslated_pins { {pin1 pin2} {pin3}} -enable {!iso1 ""}
The following command defines cell AND2_AON as a global cell. The cell has two power pins and performs the AND function as long as the supply connected to power pin VDD is not switched off.
define_global_cell -cells AND2_AON -local_power VDDSW \
-global_power VDD -local_ground VSS
define_isolation_cell
- define_isolation_cell
-
-cells
cell_list [-library_set library_set]-
[-always_on_pins
pin_list]-
[-aux_enables
pin_list]-
[-power_switchable
LEF_power_pin] [-ground_switchable LEF_ground_pin]-
[-power
LEF_power_pin] [-ground LEF_ground_pin]-
[-valid_location {from | to | on | off | any}]
-
{ -enable
pin [-clamp {high|low}] -
| -pin_groups
group_list | -no_enable {high|low|hold} }-
[-non_dedicated]
For applications that read .lib files--Identifies the library cells in the .lib files that must be used as isolation cells.
For applications that do not read library files--Allows to identify the instances of isolation cells in the netlist.
Note:
By default, the output pin of a multi-power rail isolation cell is related to the non-switchable power and ground pins. The non-enable input pin is related to the switchable power and ground pins.
Options and Arguments
-always_on_pins pin_list
|
|
Specifies a list of cell pins that are related to the non-switchable power and ground pins of the cells.
Note:
A pin specified with this option, can be specified with other options as well.
|
-aux_enables pin_list
|
|
Specifies additional or auxiliary enable pins for the isolation cell. By default, all pins specified in this option are related to the switchable supply.
|
|
If the specified pin is related to the non-switchable supply, you must also specify the pin with the -always_on_pins option. The logic that drives this pin must be on when the isolation enable is asserted.
|
|
If the specified pin is related to the switchable supply, the pin must be set to the controlling value of the gate before the isolation enable is asserted or deasserted. The logic that drives this pin can be corrupted when the isolation enable (specified by the -enable option) is asserted
|
-cells cell_list
|
|
Identifies the specified cells as isolation cells.
The libraries loaded will be searched and all cells found will be identified.
|
-clamp {high | low}
|
Indicates that the specified cells are isolation clamp cells.
You can only specify the -power option for a clamp high cell.
You can only specify the -ground option for a clamp low cell.
|
-enable pin
|
Identifies the specified cell pin as the enable pin.
Note:
The enable pin is related to the non-switchable power and ground pins of the cells.
|
-ground LEF_ground_pin
|
|
If this option is specified with the -power_switchable option, it indicates the GROUND pin of the specified cell.
If this option is specified with the -ground_switchable option, it indicates the GROUND pin in the corresponding LEF cell to which the ground that is on during power shut-off mode is applied.
|
-ground_switchable LEF_power_pin
|
|
Identifies the GROUND pin in the corresponding LEF cell to which the ground that is turned off during power shut-off mode is applied.
You can only specify this option when you cut off the path from power to ground on the ground side (that is, use a footer cell).
|
-library_set library_set
|
|
References the library set to be used to search for the specified cells. Specify the library set name. All matching cells will be used.
If you omit this option, all library sets are searched and all matching cells will be used.
The libraries must have been previously defined in a define_library_set command.
|
-no_enable {low|high|hold}
|
|
Specifies the following:
Note:
If the cell can also be used as a level shifter, you must also specify the cell with a define_level_shifter_cell command.
|
-non_dedicated
|
Allows to use specified cells as normal function cells.
|
-pin_groups group_list
|
|
Specifies a list of input-output paths for multi-bit cells. Each group in the list specifies one cell input pin, one cell output pin, and one optional enable pin that applies to the specified path.
Use the following format for each group in the list:
{ input_pin output_pin [enable_pin] }
An enable pin may appear in more than one group.
It is an error if the same input or output pin appears in more than one group.
|
-power LEF_power_pin
|
|
If this option is specified with the -ground_switchable option, it indicates the POWER pin of the specified cell.
If this option is specified with the -power_switchable option, it indicates the POWER pin in the corresponding LEF cell to which the power that is on during power shut-off mode is applied.
|
-power_switchable LEF_power_pin
|
|
Identifies the POWER pin in the corresponding LEF cell to which the power that is turned off during power shut-off mode is applied.
You can only specify this option when you cut off the path from power to ground on the power side (that is, use a header cell).
|
-valid_location {to | from | on | off | any}
|
|
Specifies the valid location of the isolation cell. Possible values are
|
|
|
|
|
|
on--indicates that the cell can only be inserted in the power domain that is not powered down. Its normal and isolation functions are typically provided by its primary power and ground pins. This cell can be used for off to on isolation or on to off isolation. When used for off to on isolation, it is equivalent to to.
|
|
|
|
any--indicates that the cell can be placed in any location. This cell can still provide its normal and isolation functions even when its primary power or ground is shut off, or it relies on its secondary power or ground pins for both functions. Therefore, this type of cell can be used for off to on isolation or on to off isolation.
|
|
Typically, these are isolation cells without power and (or) ground pins that connect through abutment of the cells (followpins), that is, with only a secondary power and ground pin.
This requires that the secondary power or ground pin connects to the primary power supplies of the secondary domain defined in the isolation rule.
Note:
For a power-switched domain, a clamp-low isolation cell can be placed in any power domain as long as its ground supply is the same in the destination power domain. Similarly, for a ground-switched domain, a clamp-high isolation cell can be placed in any power domain as long as its power supply is the same in the destination power domain.
|
|
Default: to
|
Examples
The following isolation cell can be placed in any location for a design that uses ground switches for power shutoff. VDD is the followpin for power connection and GVSS is the ground pin for global ground connection
define_isolation_cell -cells foo -power VDD -ground GVSS \
-valid_location any
The following examples illustrate the use of the -pin_groups option to specify multi-bit isolation cells with two paths:
define_isolation_cell ... -pin_groups { { x1 y1 iso1 } { x2 y2 iso2 } }
define_isolation_cell ... -pin_groups { { a1 o1 } { a2 o2} }
Related Information
Isolation Cell
Information Precedence
Modeling Isolation Cells in the Common Power Format User Guide
define_level_shifter_cell
- define_level_shifter_cell
-
-cells
cell_list [-library_set library_set]-
[-always_on_pins
pin_list]-
{ -input_voltage_range {voltage_list | voltage_range_list}-
-output_voltage_range {voltage_list | voltage_range_list}-
| -ground_input_voltage_range {
voltage_list | voltage_range_lsit}-
-ground_output_voltage_range {
voltage_list | voltage_range_list} -
|
-input_voltage_range {voltage_list | voltage_range_list}-
-output_voltage_range {voltage_list | voltage_range_list}-
-ground_input_voltage_range {
voltage_list | voltage_range_list}-
-ground_output_voltage_range {
voltage_list | voltage_range_list} }-
[-direction {up|down|bidir}]
-
[-input_power_pin
LEF_power_pin] -
[-output_power_pin LEF_power_pin]-
[-input_ground_pin
LEF_ground_pin] -
[-output_ground_pin
LEF_ground_pin]-
[-ground
LEF_ground_pin] [-power LEF_power_pin] -
[-enable
pin | -pin_groups { {input_pin output_pin [enable_pin] }... }]-
[-valid_location {to | from | either | any}]
-
[-bypass_enable
expression] [-multi_stage integer]
For applications that read .lib files--Identifies the library cells in the .lib files that must be used as level shifter cells.
For applications that do not read library files--Allows to identify the instances of level shifter cells in the netlist.
 | If you specify a list of voltages or ranges for the input supply voltage, you must also specify a list of voltages or voltage ranges for the output supply voltage. Both lists must be ordered and have the same number of elements. That is, each member in the list of input voltages (or ranges) has a corresponding member in the list of output voltages (or ranges). |
Note:
By default, the enable and output pins of this cell are related to the output power and output ground pins (specified through the -output_power_pin and -output_ground_pin options). The non-enable input pin is related to the input power and input ground pins (specified through the -input_power_pin and -input_ground_pin options).
Options and Arguments
-always_on_pins pin_list
|
|
Specifies a list of cell pins which must always be driven.
Note:
A pin specified with this option, can be specified with other options as well.
|
-bypass_enable expression
|
|
Specifies the condition when to bypass the voltage shifting functionality.
When the expression evaluates to true, the cell does not perform voltage level shifting.
The expression must be a simple expression of the bypass enable input pin.
|
-cells cell_list
|
Identifies any specified cell as a level shifter.
The libraries loaded will be searched and all cells found will be used.
|
-direction {up | down | bidir}
|
|
Specifies whether the level shifter can be used between a lower and higher voltage, or vice versa.
Default: up
|
-enable pin
|
Identifies the pin that prevents internal floating when the power supply of the source power domain is powered down but the output voltage level power pin remains on.
Note:
Cells that have this type of pin can be used for isolation purposes.
|
-ground LEF_ground_pin
|
|
Identifies the name of the GROUND pin in the corresponding LEF cell.
Note:
This option can only be specified for level shifters that only perform power voltage shifting.
|
-ground_input_voltage_range {voltage_list | voltage_range_list}
|
|
Identifies either a single voltage, single voltage range, or list of voltages or ranges for the input (source) ground supply voltage that can be handled by this level shifter.
The voltage range must be specified as follows:
lower_bound:upper_bound[:step]
Specify the lower bound, upper bound and voltage increment step, respectively. The voltage increment can be optional.
Note:
This option should only be specified for ground voltage shifting.
|
-ground_output_voltage_range {voltage_list | voltage_range_list}
|
|
Identifies either a single voltage, single voltage range, or list of voltages or ranges for the output (destination) ground supply voltage that can be handled by this level shifter.
The voltage range must be specified as follows:
lower_bound:upper_bound[:step]
Specify the lower bound, upper bound and voltage increment step, respectively. The voltage increment can be optional.
Note:
This option should only be specified for ground voltage shifting.
|
-input_ground_pin LEF_ground_pin
|
|
Identifies the name of the GROUND pin in the corresponding LEF cell that must be connected to the primary ground net in the source power domain.
Note:
This option is usually specified for ground voltage shifting.
|
-input_power_pin LEF_power_pin
|
|
Identifies the name of the POWER pin in the corresponding LEF cell that must be connected to the power net to which the voltage of the source power domain is applied.
Note:
This option is usually specified for power voltage shifting.
|
-input_voltage_range {voltage_list | voltage_range_list}
|
|
Identifies either a single voltage, single voltage range, or list of voltages or ranges for the input (source) power supply voltage that can be handled by this level shifter.
The voltage range must be specified as follows:
lower_bound:upper_bound[:step]
Specify the lower bound, upper bound and voltage increment step, respectively. The voltage increment can be optional.
Note:
This option should only be specified for power voltage shifting.
|
-library_set library_set
|
|
References the library set to be used to search for the specified cells. Specify the library set name. All matching cells will be used.
If you omit this option, all library sets are searched and all matching cells will be used.
The libraries must have been previously defined in a define_library_set command.
|
-multi_stage integer
|
|
Identifies the stage of a multi-stage level shifter to which this definition (command) applies.
For a level shifter cell with N stages, N definitions must be specified for the same cell. Each definition must associate a number from 1 to N for this option. For more information, see Modeling Level Shifters.
|
-output_ground_pin LEF_ground_pin
|
|
Identifies the name of the GROUND pin in the corresponding LEF cell that must be connected to the primary ground net in the destination power domain.
Note:
This option is usually specified for ground voltage shifting.
|
-output_power_pin LEF_power_pin
|
|
Identifies the name of the POWER pin in the corresponding LEF cell that must be connected to the power net to which the voltage of the destination power domain is applied.
Note:
This option is usually specified for power voltage shifting.
|
-output_voltage_range {voltage_list | voltage_range_list}
|
|
Identifies either a single voltage, single voltage range, or list of voltages or ranges for the output (destination) power supply voltage that can be handled by this level shifter.
The voltage range must be specified as follows:
lower_bound:upper_bound[:step]
Specify the lower bound, upper bound and voltage increment step, respectively. The voltage increment can be optional.
Note:
This option should only be specified for power voltage shifting.
|
-pin_groups group_list
|
|
Specifies a list of input-output paths for multi-bit cells. Each group in the list specifies one cell input pin, one cell output pin, and one optional enable pin that applies to the specified path.
Use the following format for each group in the list:
{ input_pin output_pin [enable_pin] }
An enable pin may appear in more than one group.
It is an error if the same input or output pin appears in more than one group.
|
-power LEF_power_pin
|
|
Identifies the name of the POWER pin in the corresponding LEF cell.
Note:
This option can only be specified for level shifters that only perform ground voltage shifting.
|
-valid_location {to | from | either | any}
|
|
Specifies the location of the level shifter cell. Possible values are:
|
|
|
|
|
|
|
|
|
|
For a power and ground level shifter, which requires two definitions, the -valid_location can be different in the two definitions.
|
|
In the first case, the ground shifting part of the level shifter definition determines the location.
In the second case, the power shifting part of the level shifter definition determines the location.
|
|
In the third case, the cell can be placed in a domain whose power and ground supply are neither driving logic power and ground supply nor receiving logic power and ground supply.
Default: to
|
Examples
The following command identifies level shifter cells with one power pin and one ground pin that perform power voltage shifting from 1.0V to 0.8V:
define_level_shifter_cell \
-cells LSHL* \
-input_voltage_range 1.0 -output_voltage_range 0.8 \
-direction down \
-output_power_pin VL -ground G
The following command identifies level shifter cells that perform power voltage shifting from 0.8V to 1.V. In this case, the level shifter cells must have two power pins and one ground pin.
define_level_shifter_cell \
-cells LSLH* \
-input_voltage_range 0.8 -output_voltage_range 1.0 \
-direction up \
-input_power_pin VL -output_power_pin VH -ground G
The following command identifies level shifter cells that perform both power voltage shifting from 0.8V to 1.V and ground voltage shifting from 0.5V to 0V. In this case, the level shifter cells must have two power pins and two ground pins.
define_level_shifter_cell \
-cells LSLH* \
-input_voltage_range 0.8 -output_voltage_range 1.0 \
-groun_input_voltage_range 0.5 -ground_output_voltage_range 0.0
-direction up \
-input_power_pin VL -output_power_pin VH \
-input_ground_pin GH -output_ground_pin GL
The following command indicates that the level shifter can shift from 0.8 to 1.0 or from 1.0 to 1.2.
define_level_shifter_cell \
-cells LSHL* \
-input_voltage_range {0.8 1.0} -output_voltage_range {1.0 1.2} \
-direction up
The following command indicates that the level shifter can shift from input range 0.8 to 0.9 to output range 1.0 to 1.1, or from input range 1.0 to 1.1 to output range 1.2 to 1.3.
define_level_shifter_cell \
-cells LSHL* \
-input_voltage_range {0.8:0.9 1.0:1.1} \
-output_voltage_range {1.0:1.1 1.2:1.3} \
-direction up
The following examples illustrate the use of the -pin_groups option to specify multi-bit level shifter cells:
define_level_shifter_cell ... -pin_groups { { x1 y1 iso1 } {x2 y2 iso2 } }
define_level_shifter_cell ... -pin_groups { { a1 o1 } { a2 o2} }
Related Information
Level Shifter Cell
Information Precedence
create_level_shifter_rule
Modeling Level Shifters in the Common Power Format User Guide
define_open_source_input_pin
- define_open_source_input_pin
-
-cells
cell_list -pin pin-
[-library_set library_set]-
[-type {nmos|pmos|both}]
Specifies a list of cells that contain open source input pins. You can use this command within a macro model to specify which input pin of the macro cell is open source.
These are input pins that must be isolated when the power supply of the driver is on, but the power supply of the cells to which the input pin belongs is shut off.
Options and Arguments
-cells cell_list
|
|
Specifies the cells to which the open source input pins belong.
|
-library_set library_set
|
|
References the library set to be used to search for the specified cells. Specify the library set name. All matching cells will be used.
If you omit this option, all library sets are searched and all matching cells will be used.
The libraries must have been previously defined in a define_library_set command.
|
-pin pin
|
Specifies the name of the open source input pin.
|
-type {nmos|pmos|both}
|
|
Indicates what kind of transistor is present at the open source for the specified pin.
If the type is
nmos or pmos, then the open source pin is connected to an nmos or pmos device.
both, then the open source pin is connected to both nmos and pmos devices, or a transmission gate.
|
define_pad_cell
- define_pad_cell
-
-cells
cell_list -pad_pins pin_list -
[-isolated_pins
list_of_pin_lists [-enable expression_list]]-
[-pin_groups
pin_group_list] [-analog_pins pin_list]
Identifies a list of library cells in the .lib files that are simple pad cells.
Note:
This can be used by tools that do not read .lib to identify a pad cell.
Options and Arguments
-analog_pins pin_list
|
|
Specifies the analog signal pins of the pad cell that must be connected with pins that are also declared as analog in either a define_pad_cell command or a set_analog_ports command in a macro model.
Note:
Do not list analog pins that can be connected with a digital interface.
Note:
Do not declare power and ground pins of a pad cell as analog pins.
|
-cells cell_list
|
|
Identifies any specified cell as pad cell.
|
-enable expression_list
|
|
Specifies a list of simple expressions. Each simple expression describes the isolation control condition for the corresponding isolated pin list in the -isolated_pins option. If the internal isolation does not require a control signal, specify an empty string for that pin list. The number of elements in this list must correspond to the number of lists specified for the -isolated_pins option.
|
-isolated_pins list_of_pin_lists
|
|
Specifies a list of pin lists. Each pin list groups pins that are isolated internally with the same isolation control signal.
The pin lists can only contain input pins.
|
-pad_pins pin_list
|
|
Specifies a list of cell pins that will be connected directly to the package or board. If the cell is a power pad cell, these pins can also be power and ground pins.
|
-pin_groups pin_group_list
|
|
Specifies a list of pin groups to define the related power and ground pins of data pins in each group.
Use the following format to specify a pin group:
group_id:{pin pin pin...}
group_id specifies a unique ID for the specified pins. This ID is used by the create_pad_rule command to specify the mapping of each pin group to a top-level power domain. The group ID is a CPF object name.
pin is a power, ground or data pin that belong to this group.
Note:
Data pins can only belong to one group.
|
|
Each power and ground pin must belong to at least one group.
Pins in a group without power and ground pins, or not specified in any pin group are considered to be floating pins.
If a group has more than one power (ground) pin, these power (ground) pins are considered to be equivalent for that group.
|
Related Information
Modeling a Pad Cell in the Common Power Format User Guide
create_pad_rule
define_power_clamp_cell
- define_power_clamp_cell
-
-cells
cell_list -
-data pin-
-power pin [-ground pin_name]-
[-library_set library_set]
Specifies a list of diode cells used for power clamp control.
Options and Arguments
-cells cell_list
|
|
Identifies the specified cells as power clamp diode cells.
|
-data pin
|
Specifies the cell pin that connects to the data signal.
|
-ground pin
|
Specifies the cell pin that connects to the ground net.
|
-library_set library_set
|
|
References the library set to be used to search for the specified cells. Specify the library set name. All matching cells will be used.
If you omit this option, all library sets are searched and all matching cells will be used.
The libraries must have been previously defined in a define_library_set command.
|
-power pin_name
|
Specifies the cell pin that connects to the power net.
|
define_power_clamp_pins
- define_power_clamp_pins
-
-cells
cell_list -
-data_pins pin_list-
{ [-type power] -power pin [-ground pin]-
| -type ground -ground
pin [-power pin]-
| -type both -power
pin -ground pin}-
[-library_set
library_set]
Identifies a list of library cells that are either power, ground, or power and ground clamp cells, or complex cells that have input pins with built-in clamp diodes.
Options and Arguments
-cells cell_list
|
|
Identifies the specified cells as power clamp diode cells.
|
-data_pins pin_list
|
|
Specifies a list of cell input pins that have built-in clamp diodes.
|
-ground pin
|
Specifies the cell pin that connects to the ground net.
|
-library_set library_set
|
|
References the library set to be used to search for the specified cells. Specify the library set name. All matching cells will be used.
If you omit this option, all library sets are searched and all matching cells will be used.
The libraries must have been previously defined in a define_library_set command.
|
-power pin_name
|
Specifies the cell pin that connects to the power net.
|
-type {power | ground | both}
|
|
Specifies the type of clamp diode associated with the data pins.
both indicates a power and ground clamp diode
ground indicates a ground clamp diode
power indicates a power clamp diode
Default: power
The type determines whether you need to specify the power pin, ground pin, or both.
|
define_power_switch_cell
- define_power_switch_cell
-
-cells
cell_list [-library_set library_set]-
-stage_1_enable
expression [-stage_1_output expression]-
[-stage_2_enable
expression [-stage_2_output expression]]-
-type {footer|header}
-
[ -enable_pin_bias [
float:]float] [ -gate_bias_pin LEF_power_pin]-
[ -power_switchable
LEF_power_pin -power LEF_power_pin-
| -ground_switchable LEF_ground_pin -ground LEF_ground_pin ]-
[ -stage_1_on_resistance
float [-stage_2_on_resistance float]] -
[ -stage_1_saturation_current
float] [ -stage_2_saturation_current float]-
[ -leakage_current
float ]
For applications that read .lib files--Identifies the library cells in the .lib files that must be used as power switch cells.
For applications that do not read library files--Allows to identify the instances of power switch cells in the netlist.
Note:
The input enable and output enable pins of this cell are related to the non-switchable power and ground pins.
Note:
This command is required if you use the create_power_switch_rule command.
Options and Arguments
-cells cell_list
|
|
Identifies the specified cells as power switch cells.
|
-enable_pin_bias [float:]float
|
|
Specifies the additional (minimum and maximum) voltage that can be applied to the enable pin of the power switch cell.
The voltage applied to the enable pin can be higher than the voltage of the power supply of the power switch. The bias voltage added to the voltage of the power supply determines the minimum and maximum voltage that can be applied to the enable pin.
Specify a positive floating value in volt (V).
Note:
If you specify only one value, it is considered to be the maximum bias voltage.
|
-gate_bias_pin LEF_power_pin
|
|
Identifies a power pin in the corresponding LEF cell that provides the supply used to drive the gate input of the switch cell.
|
-ground LEF_ground_pin
|
|
Identifies the input ground pin of the corresponding LEF cell.
You can only specify this option when you cut off the path from power to ground on the ground side (that is, use a footer cell).
|
-ground_switchable LEF_ground_pin
|
|
Identifies the output ground pin in the corresponding LEF cell that must be connected to a switchable ground net.
You can only specify this option when you cut off the path from power to ground on the ground side (that is, use a footer cell).
|
-leakage_current float
|
|
Specifies the leakage current when the power switch is turned off. Specify the current in ampere (A).
|
-library_set library_set
|
|
References the library set to be used to search for the specified cells. Specify the library set name. All matching cells will be used.
If you omit this option, all library sets are searched and all matching cells will be used.
The libraries must have been previously defined in a define_library_set command.
|
-power LEF_power_pin
|
|
Identifies the input POWER pin of the corresponding LEF cell.
You can only specify this option when you cut off the path from power to ground on the power side (that is, use a header cell).
|
-power_switchable LEF_power_pin
|
|
Identifies the output power pin in the corresponding LEF cell that must be connected to a switchable power net.
You can only specify this option when you cut off the path from power to ground on the power side (that is, use a header cell).
|
-stage_1_enable (-stage_2_enable) expression
|
|
Specifies when the transistor driven by this input pin is turned on (enabled) or off.
If only stage 1 is specified, the switch is turned on when the expression for the -stage_1_enable option evaluates to true.
If both stages are specified, the switch is turned on when the expression for both enable options evaluates to true.
The expression is a function of the input pin. This pin must be an always-on pin.
|
-stage_1_on_resistance (-stage_2_on_resistance) float
|
|
Specifies the resistance of the power switch in the specified stage when the power switch is turned on. Specify the resistance in ohm.
|
-stage_1_output (-stage_2_output) expression
|
|
Specifies whether the output pin in the expression is the buffered or inverted output of the input pin specified through the corresponding -stage_x_enable option.
The pin specified in the -stage_x_output option is connected to the pin specified in the corresponding -acknowledge_receiver_x option of the update_power_switch_rule command.
Note:
If an option is omitted, the corresponding acknowledge receiver pin is left unconnected.
|
-stage_1_saturation_current (-stage_2_saturation_current) float
|
|
Specifies the Id saturation current of the MOS transistor in the specified stage. Specify the current in ampere (A).
The saturation current--which can be found in the SPICE model--limits the maximum current that a power switch can support.
|
-type {header|footer}
|
|
Specifies whether the power switch cell is a header or footer cell.
|
Examples
The following command defines a header power switch. The power switch has two stages. The power switch is completely on if the transistors of both stages are on. The stage 1 transistor is turned on by applying a low value to input I1. The output of the stage 1 transistor, O1, is a buffered output of input I1. The stage 2 transistor is turned on by applying a high value to input I2. The output of stage 2 transistor, O2, is the inverted value of input I2.
define_power_switch_cell -cells 2stage_switch -stage_1_enable !I1 \
-stage_1_output O1 -stage_2_enable I2 -stage_2_output !O2 -type header
Assume that a power switch is connected to a power supply of 1.0V. The following command indicates that the enable pin of the power switch cell can be driven by signal of up to 1.2 V.
define_power_switch_cell ... -enable_pin_bias 0:0.2
Related Information
Power Switch Cell
Expressions
Modeling Power Switch Cells in the Common Power Format User Guide
Information Precedence
create_power_switch_rule
define_related_power_pins
- define_related_power_pins
-
-data_pins
pin_list -
-cells
cell_list [-library_set library_set ]-
{-power
LEF_power_pin | -ground LEF_ground_pin -
| -power
LEF_power_pin -ground LEF_ground_pin }
Specifies the relationship between the power pins and data pins for cells that have more than one set of power and ground pins.
Note:
You can also use this command to overwrite the default power pin and data pin association in special low power cells defined through the define_xxx_cell commands.
Options and Arguments
-cells cell_list
|
|
Specifies the cells for which the relationship between the power pins and data pins is defined.
|
-data_pins pin_list
|
|
Specifies a list of input or output data pins.
You can use wildcards (*) to specify a list of pin names.
|
-ground LEF_ground_pin
|
|
Specifies the GROUND pin of the corresponding LEF cell.
|
-library_set library_set
|
|
References the library set to be used to search for the specified cells. Specify the library set name. All matching cells will be used.
If you omit this option, all library sets are searched and all matching cells will be used.
The libraries must have been previously defined in a define_library_set command.
|
-power LEF_power_pin
|
|
Specifies the POWER pin of the corresponding LEF cell.
|
define_state_retention_cell
- define_state_retention_cell
-
-cells
cell_list [-library_set library_set]-
[-cell_type
string]-
[-always_on_pins
pin_list]-
[-clock_pin pin]-
{-restore_function expression | -save_function expression-
|-restore_function expression -save_function expression}-
[-restore_check
expression] [-save_check expression] -
[-retention_check
expression]-
[-always_on_components
component_list]-
[ {-power_switchable
LEF_power_pin -
|-ground_switchable
LEF_ground_pin-
|-power_switchable LEF_power_pin -ground_switchable LEF_ground_pin}-
-power
LEF_power_pin -ground LEF_ground_pin ]
For applications that read .lib files--Identifies the library cells in the .lib files that must be used as state retention cells.
For applications that do not read library files--Allows to identify the instances of state retention cells in the netlist.
Note:
In what follows, power refers to the switchable power or ground in the cell. The non-switchable power and ground must be on for the cell to operate properly.
To model a retention cell with only one retention control, you can specify either -save_function or -restore_function.
If you specify -save_function, the cell saves the current value when the expression changes from false to true and the power is on. The cell restores the saved value when the power is turned on.
If you specify -restore_function, the cell saves the current value when the expression changes from true to false and the power is on. The cell restores the saved value when the expression changes from false to true and the power is on.
To model a retention cell with both save and restore control, both options must be specified. In this case, the cell saves the current value when the save expression is true and the power is on. The cell restores the saved value when the restore expression is true and the power is on.
It is an error if you use the same pin or same expressions for both the save and restore function. For example the following two commands are not correct:
define_state_retention_cell -cells My_Cell -restore_function pg -save_function !pg
define_state_retention_cell -cells foo -restore_function pg -save_function pg
Note:
By default, all pins of this cell are related to the switchable power and ground pins unless otherwise specified.
Options and Arguments
-always_on_components component_list
|
|
Specifies a list of component names in the simulation model that are powered by the non-switchable power and ground pins.
Note:
The option has only impact on tools that use the gate-level simulation models of state retention cells.
|
-always_on_pins pin_list
|
|
Specifies a list of cell pins that are related to the non-switchable power and ground pins of the cells.
Note:
A pin specified with this option, can be specified with other options as well.
|
-cells cell_list
|
|
Identifies the specified cells as state retention cells.
The libraries loaded will be searched and all cells found will be used.
|
-cell_type string
|
Specifies a user-defined name that allows to group the specified cells into a class of retention cells which all have the same retention behavior.
Note:
This specification limits the group of cells that can be used to those requested through a -cell_type option of the update_state_retention_rules command.
|
-clock_pin pin
|
Specifies the clock pin.
|
-ground LEF_ground_pin
|
|
If this option is specified with the -power_switchable option, it specifies the GROUND pin of the corresponding LEF cell.
If this option is specified with the -ground_switchable option, it indicates the GROUND pin in the corresponding LEF cell to which the ground net that is on during power shut-off mode is connected.
|
-ground_switchable LEF_power_pin
|
|
Identifies the GROUND pin in the corresponding LEF cell to which the ground that is turned off during power shut-off mode is applied.
You can specify this option when you cut off the path from power to ground on the ground side (that is, use a footer cell).
|
-library_set library_set
|
|
References the library set to be used to search for the specified cells. Specify the library set name. All matching cells will be used.
If you omit this option, all library sets are searched and all matching cells will be used.
The libraries must have been previously defined in a define_library_set command.
|
-power LEF_power_pin
|
|
If this option is specified with the -ground_switchable option, it indicates the POWER pin of the specified cell.
If this option is specified with the -power_switchable option, it indicates the POWER pin to which the power that is always on during shut-off mode is applied.
|
-power_switchable LEF_power_pin
|
|
Identifies the POWER pin in the corresponding LEF cell to which the power that is turned off during power shut-off mode is applied.
You can specify this option when you cut off the path from power to ground on the power side (that is, use a header cell).
|
-restore_check expression
|
|
Specifies the additional condition when the states of the sequential elements can be restored. The expression must be a function of the cell input pins. The expression must be true when the restore event occurs.
Note:
If you want to use the clock pin in the expression, you must have identified the clock pin with the -clock_pin option.
|
-restore_function expression
|
|
Specifies the polarity of the restore pin that enables the retention cell to restore the saved value after exiting power shut-off mode. By default, the restore pin relates to the non-switchable power and ground pin of the cell. To overwrite this relationship, use the define_related_power_pin command.
Note:
Expression is limited to the pin name and the inversion of the pin name. An expression containing only the pin name indicates an active high polarity. An expression containing the inversion of the pin name indicates an active low polarity.
|
-retention_check expr
|
|
Specifies an additional condition that must be met (after the primary power domain of the retention cell is shut off and before the power domain is powered on again) for the retention operation to be successful.
The expression (expr) can be a Boolean function of cell input pins.
The expression must be true when the primary power domain of the retention logic is shut off and the retention supply is on.
|
-save_check expression
|
|
Specifies the additional condition when the states of the sequential elements can be saved. The expression must be a function of the cell input pins. The expression must be true when the save event occurs.
Note:
If you want to use the clock pin in the expression, you must have identified the clock pin with the -clock_pin option.
|
-save_function expression
|
|
Specifies the polarity of the save pin that enables the retention cell to save the current value before entering power shut-off mode. By default, the save pin relates to the non-switchable power and ground pin of the cell. To overwrite this relationship, use the define_related_power_pin command.
If not specified, the save event is triggered by the negation of the expression specified for the restore event.
Note:
Expression is limited to the pin name and the inversion of the pin name. An expression containing only the pin name indicates an active high polarity. An expression containing the inversion of the pin name indicates an active low polarity.
|
Example
In the following example, clock clk must be held to 0 to save or restore the state of the sequential element. If power gating pin pg is set to 0, the state will be saved. If restore pin my_restore is set to 1, the state will be restored.
define_state_retention_cell -cells My_Cell -power VDDC \
-ground VSS -power_switchable VDD -restore_function "my_restore" \
-restore_check "!clk" -save_function "!pg"
The following example shows how to model a master-slave type state retention cell ( a state retention cell that does not have a save or restore control pin). The clock signal acts as the retention control signal.
define_state_retention_cell -cells ms_ret -power VDDC \
-ground VSS -power_switchable VDD -restore_check "!clk" -save_function clk
This cell has no dedicated retention control pin. When the main power VDD is shut off, the value saved with the previous rising clock edge will be kept as long as VDDC is on.
Related Information
State Retention Cell
Information Precedence
Handling Master-Slave Type Retention Cells
Modeling State Retention Cells in the Common Power Format User Guide