Sta Part 1
Sta Part 1
Checks for both timing and functionality. Checks for only timing.
Dependent on input data (test vectors). Independent of data.
Slower because it also checks the Faster and takes less time.
functionality.
14.Derating Factor:
Timing derate numbers are ratios used to derate(increase/decrease) the delay
numbers you get in your timing reports.
15.Common Path Pessimism Removal (CPPR):
It means the cells sitting in the common clock branch for both launching and
capturing paths.
16.Advanced OCV (AOCV):
In AOCV derate is applied on each cell based on path depth and distance of the cell in
the timing path and it also varies with cell type and drive strength of the cell.
Distance is defined by a bounding box for the net and cells.
• Used above 40nm technology.
• Distance is the max net length of clock path.
• Path Depth defines the no. of cells in the clock path.
17.Parametric On chip Variation (POCV):
• In POCV instead of applying the specific derate factor to a cell, cell delay is
calculated based on delay variation (σ) of the cell. In POCV it is assumed that
the normal delay value of a cell follows the normal distribution curve.
• POCV uses a nominal delay value (µ) instead of using the min or max value of
delay to model the random variations.
• Timing analysis is done using the nominal delay value (µ) and delay variation (σ).
• Used above 40nm technology.
18.Clock:
The signal which is used to trigger all the sequential elements in the design.
Types,
• Synchronous
• Asynchronous
• Exclusive
19.Synchronous & Asynchronous Clocks:
• Two clocks are synchronous with respect to each other if they share a common
source and have a fixed phase relationship and a common base period(should
have a common multiple).
Ex: time period of two clocks : 2 and 6, here the common base period is 2.
• Two clocks are said to be asynchronous if they do not have a fixed phase
relationship with each other in the design and don’t have a common base
period.
Ex: time period of two clocks : 6 and 7, here there is no common base period.
20.Exclusive Clocks:
• Two clocks are exclusive if they do not interact with each other.
• For example, a circuit might multiplex two different clock signals onto a clock
line, one a fast clock for normal operation and the other a slow clock for low-
power operation.
• Only one of the two clocks is enabled at any given time, so there is no
interaction between the two clocks.
• You may define "false path" between these mutually exclusive clocks.
21.Virtual Clock:
• A virtual clock has no actual source in the current design, but you can use it for
setting input or output delays.
• You can use virtual clock cmd to define virtual clocks for signals that interface
to external clocked devices (other block).
22.Create Clocks:
• The crete_clock cmd is used to create a clock at the specified source. A source
can be defined at an input port of the design or an internal pin.
• To create a clock on ports C1 and CK2 with a period of 10, a rising edge at 2,
and falling edge at 4, enter the cmd
• With this an ideal clock is created that ignores the delay effects of the clock
network.
23.Gated Clock:
A gated clock is a clock signal under the control of gating logic.Tool performs both
setup and hold checks on the gating clock.
24.Generated Clocks:
• A generated Clock is a clock signal generated from another clock signal by a
circuit within the design itself, such as a clock divider.
• The create_generated_clock cmd is used to create generated clocks in which
you can create frequency divided (-divide_by) or frequency multiplied (-
multiply_by) clock.
CMD: create_generated_clock –name dclk\
–source [get_ports CLK] –divide_by 2 [get_ports FF1/Q]
As seen in Figure 2, the det output will go high as soon as a rising edge is detected on
the d input. The det output is cleared on the next rising clock edge.
Falling Edge Detector:
As seen in Figure 4, the det output will go high as soon as a falling edge is detected
on the d input. The det output is cleared on the next rising clock edge.
26.Timing Path:
Timing path is defined as the path between start point and end point.
• Start Point - CK pin of flop or Input port of the block.
• End Point - D pin of the flop or output port of the block.
27.Types of Paths:
• Reg to Reg
• In to Reg
• Reg to Out
• In to Out
28.Input Delays:
• In order to do the timing analysis in the paths like I2R and I2O, tool needs
information about the arrival times of the signals at the input ports.
• The set_input_delay cmd is used to specify the min and max amount of delay
from a clock edge to the arrival of a signal at a specified input port.
29.Output Delays:
• In order to do the timing analysis in the paths like R2O and I2O, tool needs
information about the timing requirements at the output ports.
• The set_output_delay cmd is used to specify the min and max amount of delay
between the output port and the external sequential device that captures the
data from that output port is specified at that output port.
30.Recovery and Removal times:
Recovery time is the minimum time that as asynchronous control signal must be
stable before the clock active-edge transition. In other words, this check ensures that
after the asynchronous signal become inactive, there is adequate time to recover so
that the next active clock edge can be effective.
Removal time is the minimum length of time that an asynchronous control must be
stable after the clock active edge transition. This check ensures that the active clock
edge has no effect because the asynchronous control signal remains active until
removal time after the active clock edge.
3. Sanity Checks:
check_design - Netlist check_timing - SDC
• Unresolved References • Sequential clock pin without clock waveform
• Empty Modules • Sequential clock pin with multi clock waveform
• Unloaded Ports • Generated clocks without clock waveform
• Unloaded Sequential Pins • Generated clocks with multi master clocks
• Undriven Leaf pins • Timing exceptions with no effect
• Undriven Ports • Inputs/Outputs without clocked external delay
• Combinational Loops Exceptions with invalid timing start or end points
• Multidriven Port
4. Elaborate:
Elaboration is the process that occurs between parsing and simulation. It binds
modules to module instances, builds the model hierarchy, computes parameter values,
resolves hierarchical names, establishes net connectivity, and prepares all of this for
simulation.
5. Inputs of Synthesis:
▪ .lib
▪ .lef
▪ SDC
▪ RTL
▪ Tech lef
6. Types of libraries:
Slow, Typical and Fast libraries.
Corner Process Voltage Temperature
Slow SS 0.9 125
Typical TT 1 25
Fast FF 1.1 M40
26. set_dont_use:
This cmd is used to specify the std cells, so that the tool don’t use these cells in the
design at the time of optimization.
27. False Path:
A false path is a timing path which is not required to meet its timing constraints for the
design to function properly.
28. Multi Cycle Path:
A Multi-Cycle Path (MCP) is a flop-to-flop path, where the combinational logic delay in
between the flops is permissible to take more than one clock cycle.
35. Min Delay & Max Delay:
A path must match a delay constraint that matches a specific value. It is not an integer
like multicycle path.
36. Design for Testability (DFT):
The process in which we check for failures in the functionality due to manufacturing
faults by inserting test patters in the design.
30. Scan:
Scan diagnosis helps identify the location and classification of a defect based on the
design description, test patterns used to detect the failure, and data from failing
pins/cycles.
31. Scan Stiching:
The process of serially connecting a group of scan flipflops together to form a
scan chain is referred to as 'scan stitching'.
The scan chain stitching is made power aware by placing flip-flops with higher
test combination requirements at the beginning of scan chains, while flip-flops with
lower test combination requirements are put toward the end of scan chains.
32. Scan Chain:
• Scan chains are the elements in scan-based designs that are used to shift-in and
shift-out test data.
• A scan chain is formed by a number of flops connected back to back in a chain
with the output of one flop connected to another.
• The input of first flop is connected to the input pin of the chip (called scan-in)
from where scan data is fed.
• The output of the last flop is connected to the output pin of the chip (called scan-
out) which is used to take the shifted data out.
33. Memory Built In Self Test (MBIST):
MBIST is a self-testing and repair mechanism which tests the memories through
an effective set of algorithms to detect possibly all the faults that could be present
inside a typical memory cell whether it is stuck-at (SAF).
34. Joint Test Action Group (JTAG):
JTAG is a powerful test technology that can be used to test the io pads for all the
possible Manufacturing Defects or Faults.
35. Test Enable:
Input to the scan-flop that controls whether scan_in data or functional data will
propagate to output.
36. Scan Chain Reordering:
• It is the process of reconnecting the scan chains in a design to optimize for
routing by reordering the scan connection which improve timing and
congestion.
• It is done either at pre CTS or post CTS.
• And then the CTS def is sent to DFT team for changing the test vectors for the
reordered scan chain.
• By converting load enable circuits to clock gating circuit dynamic power can be
reduced. Normal clock gating circuit consists of an AND gate in the clock path
with one input as enable. But when enable becomes one in between positive
level of the clock a glitch is obtained.
• To remove the glitches due to AND gate, integrated clock gate is used. It has a
negative triggered flop and an AND gate.