Skip to main content

Timing Analysis

Setup and Hold Analysis Example:

The following figure shows setup check with late (shown in solid line) launch clock and early
capture clock (shown in dotted line).

Figure 1 Setup Check



The following figure shows hold check with early launch clock (shown in dotted line), and late
capture clock (shown in solid line).



Example 1 Setup Check in BC-WC Timing Analysis Mode



In the following figure the software performs setup check on the path from FF1 to FF2.
The software uses the Max library to scale all delays at WC conditions.

The following values are assumed in this example:
Clock source latency = none
wire delay = 0
clock period = 4
Clock Mode = Propagated clock mode
The software computes the slack as follows:
Launch clock_late_path = 0.7 + 0.6 = 1.3
Data_late_path = 3.5
Capture clock_early_path = 0.7 + 0.5 = 1.2
Setup = 0.2
Data Arrival Time = 1.3 + 3.5 = 4.8
Data Required Time = 4 + 1.2 – 0.2 = 5
Slack = 5 - 4.8 = 0.2

Example 2 Hold Check in BC-WC Timing Analysis Mode

In the following figure the software performs hold check on the path from FF1 to FF2.


The software uses the Min library to scale all delays at BC conditions.
The following values are assumed in this example:

Clock source latency = none
wire delay = 0
clock period = 4
Clock Mode = Propagated clock mode
The software computes the slack as follows:
Launch clock_earlypath = 0.5 + 0.4 = 0.9
data_earlypath = 1.0
Capture clock_latepath = 0.3 + 0.5 = 0.8
hold = 0.1
Data arrival time = 0.9 + 1 = 1.9
Data Required Time = 0.1 + 0.8 = 0.9
Slack = 1.9 - 0.9 = 1


Now in any situation setup timing is violated then what are the different techniques will be use to fix the timing violations at the time of ECO stage(after PnR).

Setup violations Fixing Techniques:
1) We can convert lower drive strength cells to higher drive strength cells (VT change- from SVT/LVT to ULVT)
2) Upsize the cells (We can increased the drive size. for example, a2-> a4, a6-> a8 or so)
3) Reduce the data path delay 
4) If any cells have high cell delay because of net routed in lower metal layer or detouring occur, then we improve the net routing which will help to fix setup violations
5) We can use late clocking concepts. It means adding delay in clock capture path to fix the setup violations. But we can choose late clocking as a last option because it will create other violations as the same clock is going to too many flops. 

Hold Violations Fixing Techniques:
1) change the cells to lower VT cells
2) downsize the cells
3) Add delay in data path 
4) Do the routing to lower metal layer
5) Do the Early clocking

Comments

Popular posts from this blog

Special cells and their Importance

Types of cells: Well taps (Tap Cells):  This is non-logic cells. Tap cells are needed to reduce substrate and well resistance to prevent latch up. These cells generally used when the all the standard or most of the cells does not have well or substrate. - It is inserted at specific interval in the design and distance is defined as per foundry rule for specific technology.  -We can insert at every row, every other row or stagger patterns also. - Most preferable way to insert the well tap is to stagger way because of reduce the total number of cells insertion in the design and reduce the total area utilization by those tap cells.  End cap Cells:   -This are the preplaced physical only cells. -Insert to meet certain design rules -Insert at the end of the site row, top and bottom side of the block boundary and every macro boundary.  - This will also helps to reduce the drc's nearer to macros as the standard cells do not placed near to the macros.  -This cells only

Floorplan Stage Overview

Floorplan: Floor planing is the starting step in ASIC physical design. For example, before building the house, planning for the exact location of each end every room is similar to the ASIC’s floor planning process. Building’s blue-print planning will be a better example for ASIC floor planning.  Detailed process of floor planning is explained below with necessary diagrams. Floor plan determines the size of the design cell (or die), creates the boundary and core area, and creates wire tracks for placement of standard cells. It is also a process of positioning blocks or macros on the die. First step is to define the total size of the die. Two types of design are possible. Block level designs will be rectilinear and chip level designs will be rectangular in shape. Rectilinear – To define this size more coordinates are required Rectangular – To define this only height and width of the die is required The following parameters are decided in the floor planning stage. Die size,

PD Interview Questions with Answers

PD Interview Questions with Answers: 1) How can you reduce dynamic power? – Reduce switching activity by designing good RTL - Clock gating -Architectural improvements -Reduce supply voltage -Use multiple voltage domains-Multi vdd 2) What are the vectors of dynamic power? Voltage and Current 3) How will you do power planning? 4) If you have both IR drop and congestion how will you fix it? -Spread macros -Spread standard cells -Increase strap width -Increase number of straps -Use proper blockage 5) Is increasing power line width and providing more number of straps are the only solution to IR drop? -Spread macros -Spread standard cells -Use proper blockage 6) In a reg to reg path if you have setup problem where will you insert buffer-near to launching flop or capture flop? Why? (buffers are inserted for fixing fanout voilations and hence they reduce setup voilation; otherwise we try to fix setup voilation with the sizing of cells; now just assume that you must inser