|
set_drive 用于约束不是被库中的单元驱动的输入。而set_driving_cell用于约束被库中的cell驱动的输入。
set_drive 1 ---
set_driving_cell -lib_cell AND----
约束输入驱动其实就是定义驱动输入的电阻,转移时间,即边沿变化的延迟时间是驱动单元的电阻和被驱动单元的电容的乘积决定。
Design Compiler uses drive strength information to buffer nets
appropriately in the case of a
weak driver.
Note:
Drive strength is the reciprocal of the output driver resistance, and
the transition time
delay at an input port is the product of the drive resistance and the
capacitance load of
the input port.
By default, Design Compiler assumes zero drive resistance on input
ports, meaning infinite
drive strength. There are three commands for overriding this unrealistic
assumption:
• set_driving_cell
• set_drive
• set_input_transition
Both the set_driving_cell and set_input_transition commands affect the
port
transition delay, but they do not place design rule requirements, such
as max_fanout and
max_transition, on input ports. However, the set_driving_cell command
does
place design rules on input ports if the driving cell has DRCs.
Note:
For heavily loaded driving ports, such as clock lines, keep the drive
strength setting at 0
so that Design Compiler does not buffer the net. Each semiconductor
vendor has a
different way of distributing these signals within the silicon.
Both the set_drive and the set_driving_cell commands affect the port
transition
delay. The set_driving_cell command can place design rule requirements,
such as
max_fanout or max_transition, on input ports if the specified cell has
input ports.
The most recently used command takes precedence. For example, setting a
drive resistance
on a port with the set_drive command overrides previously run
set_driving_cell
commands.
The set_driving_cell Command
Use the set_driving_cell command to specify drive characteristics on
ports that are
driven by cells in the technology library. This command is compatible
with all the delay
models, including the nonlinear delay model and piecewise linear delay
model. The
set_driving_cell command associates a library pin with an input port so
that delay
calculators can accurately model the drive capability of an external
driver.
Use the remove_driving_cell command or reset_design command to remove
driving cell attributes on ports.
The set_drive and set_input_transition Commands
Use the set_drive or set_input_transition command to set the drive
resistance on
the top-level ports of the design when the input port drive capability
cannot be characterized
with a cell in the technology library.
You can use set_drive and the drive_of commands together to represent
the drive
resistance of a cell. However, these commands are not as accurate for
nonlinear delay
models as the set_driving_cell command is.
1. Because ports I1 and I2 are not driven by library cells, use the
set_drive command to
define the drive resistance. Enter
dc_shell> current_design top_level_design
dc_shell> set_drive 1.5 {I1 I2}
2. To describe the drive capability for the ports on design sub_design2,
change the current
design to sub_design2. Enter
dc_shell> current_design sub_design2
3. An IV cell drives port I3. Use the set_driving_cell command to define
the drive
resistance. Because IV has only one output and one input, define the
drive capability as
follows. Enter
dc_shell> set_driving_cell -lib_cell IV {I3}
4. An AN2 cell drives port I4. Because the different arcs of this cell
have different transition
times, select the worst-case arc to define the drive. For checking setup
violations, the
worst-case arc is the slowest arc. For checking hold violations, the
worst-case arc is the
fastest arc.