VLSI - PD

VLSI - PD

Share

24/03/2026

1. Insertion Delay
โœ… Definition
Insertion delay is the time taken for the clock signal to travel from the clock source (root) to a particular register (sink).

๐Ÿง  Key idea
It measures how long the clock takes to reach a specific endpoint.

Formula
Insertion Delay = Time(clk arrives at flip-flop) โˆ’ Time(clk leaves source)

includes:
Buffers
Clock tree routing

โš ๏ธ Insertion Delay
Not dangerous if balanced
Problem if:
Too high โ†’ affects clock period
Uneven โ†’ creates skew

Fixing Insertion Delay
Clock Tree Synthesis (CTS optimisation)
Buffer insertion
Reduce clock path length
Use higher metal layers
Shield clock nets
๐Ÿ‘‰ Tools:
CTS engines (ICC2, Innovus)

2. Latency
โœ… Definition
Latency refers to the overall delay of the clock network, and it can be:
Source Latency โ†’ outside the chip (PLL, clock generation)
Network Latency โ†’ inside the chip (clock tree)

๐Ÿง  Key idea
It represents the total delay from clock generation to reaching the registers.

Formula
Latency = Source Latency + Network Latency

โš ๏ธLatency
Context dependent
Data latency โ†‘ โ†’ setup violation
Not inherently dangerous

Fixing Latency
Data Path:
Logic optimization
Pipelining
Gate sizing
Retiming
Clock Path:
CTS improvements

3. Skew
Skew (Clock Difference)
Difference in clock arrival time between two flip-flops
Types:
Positive skew: Capture clock arrives later โ†’ helps setup
Negative skew: Capture clock arrives earlier โ†’ hurts setup

Formula
Skew = FF1 โˆ’ FF2

โš ๏ธMost Dangerous โ†’ Skew
๐Ÿ‘‰ Why?
Directly affects: Setup violations, Hold violations
Even small skew โ†’ large timing failure

Fixing Skew (Very Important)
Balanced clock tree
H-tree / X-tree structures
Useful skew optimization
Buffer tuning
Clock mesh (advanced nodes)
๐Ÿ‘‰ Key concept:
โ€œBalance clock arrival across all FFsโ€

18/03/2026

Bounds in VLSI Physical Design
In VLSI Physical Design, Bounds are used to control placement of cells within a specific region of the chip. They are very important for floorplanning, congestion control, and timing optimization.

๐Ÿ”น What are Bounds?
๐Ÿ‘‰ A bound is a logical constraint region that restricts where certain cells can be placed.
โœ… It defines a rectangular area
โœ… You assign specific instances (cells) to that area
โœ… The tool tries to keep those cells inside the bound

๐Ÿ”น Why Bounds are Used?
1. Timing Optimization
โบ๏ธ Keep related cells close โ†’ reduces wirelength โ†’ improves timing
2. Congestion Control
โบ๏ธ Spread cells across regions to avoid routing congestion
3. Hierarchical Design
โบ๏ธ Maintain block-level grouping
4. Physical Constraints
โบ๏ธ Keep interface logic near macros or IO pins

๐Ÿ”น Types of Bounds
1. Soft Bound
๐Ÿ‘‰ Tool tries to keep cells inside, but can violate if needed
โ–ช๏ธ Flexible
โ–ช๏ธ Used when timing is more important than strict placement
2. Hard Bound
๐Ÿ‘‰ Tool strictly enforces placement inside the region
โ–ช๏ธ No movement outside allowed
โ–ช๏ธ Used for strict floorplan requirements
3. Partial Bound
๐Ÿ‘‰ Controls density inside a region
โ–ช๏ธ Limits how much area can be occupied
โ–ช๏ธ Example: only 70% utilization allowed

in Innovus :
createBound -type soft B1 100 200 500 400
createBound -type hard B2 600 100 900 500
createBound -type partial -density 0.7 B3 100 600 500 900
addInstToBound B1 [get_cells U1 U2 U3]

๐Ÿ‘‰ Interview Tip:
Bounds = guidance + grouping
Regions = strict placement control

Want your business to be the top-listed Computer & Electronics Service in Bangalore?
Click here to claim your Sponsored Listing.

Website

Address


Bangalore