Data To Data Checks
Data To Data Checks
ONCHIP VARIATIONS
• The process and environmental parameters may not be uniform across different portions of
the die. Due to process variations, identical MOStransistors in different portions of the die
may not have similar characteristics. These differences are due to process variations within
the die.
1. local process variations
2. Global process variations
• With these derating values, we get the following for setup check:
LaunchClockPath = 2.0 * 1.2 = 2.4
MaxDataPath = 5.2 * 1.2 = 6.24
CaptureClockPath = 2.06 * 0.9 = 1.854
Tsetup_UFF1 = 0.35 * 1.1 = 0.385
• The clock gating thus ensures that the clock pin of the flip-flop
toggles only when new data is available at its data input.
• Power Gating
• Power gating involves gating off the power supply so that the
power to the inactive blocks can be turned off.
• This procedure is illustrated as a footer (or a header) MOS
device is added in series with the power supply.
• The control signal SLEEP is configured so that the footer (or a
header) MOS device is on during normal operation of the
block.
• During inactive (or sleep) mode of the block, the gating MOS
device is turned off which eliminates any active power
dissipation in the logic block.
• The footer and header devices introduce a series on resistance
to the power supply. If the value of the on resistance is not
small, the IR drop through the gating MOS device can affect
the timing of the cells in the logic block.
• Multi Vt Cells
• The multi Vt cells are used to tradeoff speed with leakage.
• high Vt cells < standard Vt cells < low Vt cells – leakage
• high Vt cells < standard Vt cells < low Vt cells – speed
• In most designs, the goal is to minimize the total power while
achieving the desired operational speed.
• Implementing a design with only high Vt cells to reduce
leakage can increase the total power even though the leakage
contribution may be reduced.
• High Performance Block with High Activity
• High Performance Block with Low Activity
• Well Bias
• The well bias refers to adding a small voltage bias to the P-well
or N-well used for the NMOS and PMOS devices respectively.
• The leakage power can be reduced significantly if the well
connections have a slight negative bias.
• This means that the P-well for the NMOS devices is connected
to a small negative voltage (such as -0.5V). Similarly, the N-well
connection for the PMOS devices is connected to a voltage
above the power rail (such as Vdd + 0.5V).
• By adding a well bias, the speed of the cell is impacted;
however the leakage is reduced substantially.
• The drawback of using well bias is that it requires additional
supply levels (such as -0.5V and Vdd+0.5V) for the P-well and
N-well connections.
Data to Data checks
• Setup and hold checks can also be applied between any two arbitrary data pins, neither of
which is a clock.
• One pin is the constrained pin, which acts like a data pin of a flip-flop, and the second pin is the
related pin, which acts like a clock pin of a flip-flop.
• One important distinction with respect to the setup check of a flip-flop is that the data to data
setup check is performed on the same edge as the launch edge
• Thus, the data to data setup checks are also referred to as zero-cycle checks or same-cycle
checks.
• A data to data check is specified using the set_data_check constraint. Here are example SDC specifications.
set_data_check-from SDA-to SCTRL-setup 2.1
set_data_check-from SDA-to SCTRL-hold 1.5
• The setup data check implies that SCTRL should arrive at least 2.1ns prior to the edge of the related
pin SDA. Otherwise it is a data to data setup check violation.
• The hold data check specifies that SCTRL should arrive at least 1.5ns after SDA. If the constrained
signal arrives earlier than this specification, then it is a data to data hold check violation
• Consider the and cell shown in Figure . We assume the requirement is to ensure that PNA arrives 1.8ns before the
rising edge of PREAD and that it should not change for 1.0ns after the rising edge of PREAD.
• In this example, PNA is the constrained pin and PREAD is the related pin. The required waveforms are shown in
Figure
• Such a requirement can be specified using a data to data setup and hold check.
• set_data_check-from UAND0/A1-to UAND0/A2-setup 1.8
• set_data_check-from UAND0/A1-to UAND0/A2-hold 1.0
• The zero-cycle setup check causes the • In some scenarios, a designer
hold timing check to be different from may require the data to data
other hold check reports- the hold check hold check to be performed on
is no longer on the same clock edge. the same clock cycle
• set_multicycle_path -1 -hold-to
UAND0/A2
Non-Sequential Checks
• These checks are applied only to pins within a single cell or macro
• A non sequential check is a check between two pins, neither of which is a clock. One pin is the constrained
pin that acts like data, while the second pin is the related pin and this acts like a clock.
• The check specifies how long the data on the constrained pin must be stable before and after the change
on the related pin this check is specified as part of the cell library specification and no explicit data to data
check constraint is required.
Difference between the non sequential checks and data to data checks :