Physical Design Q&A

Q41. Why do we emphasize on setup violation before CTS and hold violation after CTS?

Setup time of a valid timing path depends on: Max data network computation time vs clock edge arrival time at the sink. Until POST CTS stage, we assume all clocks as ideal networks and it could reach in 0 time to every possible clock sink of the chip!!What we need to focus is in implementing the data path in such a way that it should at least not take more than one single clock period of the clock from start point to end point. (assuming a full cycle valid timing path). And out of the two components of the setup timing check, one is always a constant (time period of the clock) and the other variable is data path delay which we have all the options to play with till CTS stage completes. If we can’t meet this stretch goal before CTS, there is going to be a hard time in closing the timing later. Hence until CTS stage, we focus on getting data path synthesis or data network physical implementation alone.
I hope it is clear why we focus on setup timing before CTS stage.

Let’s see in the other view, why don’t we just focus on hold time ?

Hold time of a path depends on : minimum data path delay vs clock edge time. Since Clock reaches in zero time every sink of the chip and at the minimum, data path delay will be always greater than the hold req of a flop/timing path end point. So that’s it, unless if there is going to be a change in the clock path network delay, there is no point of analyzing hold timing of a valid path right? (But at bare minimum, one can review the gross hold timing paths just to see if it’s a FP/MCP.)

Q42. What should we do if there is a setup violation after placements even though we completed the optimization?

Setup violation after placement is nothing to worry about. Well, unless it comes from a really bad placement of modules. Have a look at the macro placement and the module placement and see if something looks bad. For example, if there’s a module for instruction fetch and it's getting split and placed in two or three different clusters then we may want to attack this with module placement guides or bounds.

Let the tool have the right constraints at place stage, and maybe give another round with timing effort flag marked as high.

Let more rounds of optimization from CTS and routing stages happen. Each of these will try to revisit this issue and will have some improvements to make. I have seen some bad slacks like -500 ps and 30000 plus paths failing, but these are aggressively dealt with by timing team in STA. (Utilizing Stuff like upsizing, fixing max cap, max fanout and max transition, putting in lvt cells)

**Additional note : the routing engine and timing engine used in place stage are not signoff quality, and do not come anywhere close to what a tool like tempus or primetime can evaluate.

Q43. What is meant by insertion delay in VLSI physical design?

  • the insertion delay concept comes into picture in clock tree synthesis.
  • While building the clock tree, cts starts building the clock from the clock source to the sinks.
  • Once The clock was build and now the clock signal has to travel from the source to the sinks. The amount of time taken by the clock signal to travel from source to sinks is called the insertion delay.

Ex:
At point A the clock source was there, so clock started building from point A it has to reach the sinks (flops) points B,C,D (flops) . So from point A to point B C D the clock signal has to travel. But in between it will build some logic to balance all three sinks because signal has to reach 3 sinks B C D at a time it is called Skew Balancing (main aim of CTS)

The amount of time taken by clock signal from point A to B C D is called insertion delay.

You can refer to LATENCY concepts for more in depth information.

Q44. Why don't we do routing before CTS in VLSI Physical Design?

  • Routing should be done once your design is at a stage where all of your data and clock logical nets are balanced and synthesized properly. Laying down the actual metal routing requires all of the design objects (cells) to be placed at legal sites. Post placement stage is when we reach to that. But it doesn't mean that your design is ready for routing, you should consider other high fanout nets and clock network signals post placement. Till this stage clocks are ideal networks (assuming can drive any number of loads without any buffering).
  • During logic synthesis we do not balance HFN and Clock nets, so a single clock port might be driving thousands of flops (with a vIRtual route even after placement). CTS is the stage where this kind of loading is synthesized into a balanced tree to arrive with a min skew and latency for all sinks (flops).
  • Until you finish logical synthesis of clocks, you are not allowed to route anything. As soon as you finish up with CTS, you can start routing the design clocks first followed by data signals. Let me know if any clarifications are required.

Q45. What is a path group in VLSI, and why is it done?

  • As the name indicates, it is a group of paths.
  • The reason why paths are grouped is to guide the efforts of the synthesis engine.
  • for e.g. Let us assume that you start with all paths in a single path group.
  • In this case the synthesis engine will spend most of its time on optimizing the logic of the worst case violators. and once it meets timing will move on to the next worst case violator and so on.
  • Now looking at the initial timing report you might have identified
  • Some path’s that need an architectural change (e.g. cascade of adders/multipliers to be replaced by pipelined logic) so you do not want the synthesis engine to spend much time on optimizing this logic. Make it a separate path group with lower priority
  • Low violation Paths that did not get optimized because all effort was spent on high violation paths. Make separate path groups of these two sets.

Q46. What is the benefit of having separate path groups for I/O logic paths in VLSI?

  • Path groups formed the fundamental of optimization function in tools doing synthesis and PnR. Now the more realistic path groups make easier for tool to attain optimal for in all respects.
  • Now most of the times our I/O constraints are budgeted and cannot be actual. Also they might not be clean from clock domain prospective. So they might impact the qor if they are kept in same group as internal paths. Also the tool work on critical most path and tries to optimize to below certain range called critical range. If an IO path came as most critical path than tool might not work on internal paths and hence sub optimal design.

Q47. While fixing timing, how do I find a false path in VLSI design?

False path is a very common term used in STA. It refers to a timing path which is not required to be optimized for timing as it will never be required to get captured in a limited time when excited in normal working situation of the chip. In normal scenario, the signal launched from a flip-flop has to get captured at another flip-flop in only one clock cycle. However, there are certain scenarios where it does not matter at what time the signal originating from the transmitting flop arrives at the receiving flop. The timing path resulting in such scenarios is labeled as false path and is not optimized for timing by the optimization tool.

Q48. What makes meeting timing on clock gating paths very challenging? What makes it more critical than a regular setup/hold flop to flop timing path?

  • While building clock tree, we try to balance all the flops. This makes the clock gate (CG) driving bunch of flops early in clock tree by delay of the CG itself. This makes the available time to meet setup for clock gating latch clock period minus delay, and hence making it tighter to meet.
  • Now if the fanout of cg is more than it's driving capability than a small bigger tree (or may be 2 parallel buffers) will come, making arrival of Clock at CG even early and hence making meeting setup more difficult.

Q49. What is the difference between a static IR drop and a dynamic IR drop analysis?

Static IR drop is the voltage drop, when a constant current draws through the power network with varying resistance. this IR drop occurs when the circuit is in steady state. Dynamic IR drop is the drop when the high current draws the power network due to the high switching of the cell data. Due reduce static, you should increase width of the power network, or a robust power grid has to be designed, where as to reduce Dynamic IR drop, reduce the toggle rate or place decap cells near high switching cells

Q50. What is the need of Static IR drop analysis?

IR drop is the voltage drop in metal wires from the power grid before it reaches the VDD pins of standard cells. Due to the IR drop, there can be timing issues due to the change in VDD value.
  • What is synthesis?
  • Goals of synthesis
  • Synthesis Flow
  • Synthesis (input & output)
  • HDL file gen. & lib setup
  • Reading files
  • Design envi. Constraints
  • Compile
  • Generate Reports
  • Write files
Go To page
  • Netlist(.v or .vhd)
  • Constraints
  • Liberty Timing File(.lib or .db)
  • Library Exchange Format(LEF)
  • Technology Related files
  • TLU+ File
  • Milkyway Library
  • Power Specification File
  • Optimization Directives
  • Design Exchange Formats
  • Clock Tree Constraints/ Specification
  • IO Information File
Go To page
  • import design
  • sanity checks
  • partitioning (flat and hierarchy)
  • objectives of floorplan
  • Inputs of floorplan
  • Floorplan flowchart
  • Floorplan Techniques
  • Terminologies and definitions
  • Steps in FloorPlan
  • Utilization
  • IO Placement
  • Macro Placement
  • Macro Placement Tips
  • Blockages (soft,hard,partial)
  • Halo/keepout margin
  • Issues arises due to bad floor-plan)
  • FloorPlan Qualifications
  • FloorPlan Output
Go To page
  • levels of power distribution
  • Power Management
  • Powerplanning involves
  • Inputs of powerplan
  • Properties of ideal powerplan
  • Power Information
  • PowerPlan calculations
  • Sub-Block configuration
  • fullchip configuration
  • UPF Content
  • Isolation Cell
  • Level Shifters
  • Retention Registers
  • Power Switches
  • Types of Power dissipation
  • IR Drop
  • Electromigration
Go To page
  • Pre-Placement
  • Pre-Placement Optimization
  • Placement
  • Placement Objectives
  • Goals of Placement
  • Inputs of Placement
  • Checks Before placement
  • Placement Methods(Timing & Congestion)
  • Placement Steps
  • Placement Optimization
  • Placement Qualifications
  • Placement Outputs
Go To page
  • Pre-CTS Optimization
  • CTS
  • Diff b/w HFNS & CTS
  • Diff b/w Clock & normal buffer
  • CTS inputs
  • CTS Goals
  • Clock latency
  • Clock problems
  • Main concerns for Clock design
  • Clock Skew
  • Clock Jitter
  • CTS Pre requisites
  • CTS Objects
  • CTS Flow
  • Clock Tree Reference
  • Clock Tree Exceptions
  • CTS Algorithm
  • Analyze the Clock tree
  • Post CTS Optimization
  • CTS Outputs
Go To page
  • Importance of Routing as Technology Shrinks
  • Routing Objectives
  • Routing
  • Routing Inputs
  • Routing Goals
  • Routing constraints
  • Routing Flow
  • Trial/Global Routing
  • Track Assignment
  • Detail/Nano Routing
  • Grid based Routing
  • Routing Preferences
  • Post Routing Optimization
  • Filler Cell Insertion
  • Metal Fill
  • Spare Cells Tie-up/ Tie-down
Go To page
  • Diff b/w DTA & STA
  • Static Timing Analysis
  • main steps in STA
  • STA(input & output)
  • Timing Report
  • Clocked storage elements
  • Delays
  • Pins related to clock
  • Timing Arc
  • Timing Unate
  • Clock definitions in STA
  • Timing Paths
  • Timing Path Groups
  • Clock Latency
  • Insertion Delay
  • Clock Uncertainty
  • Clock Skew
  • Clock Jitter
  • Glitch
  • Pulse width
  • Duty Cycle
  • Transition/Slew
  • Asynchronous Path
  • Critical Path
  • Shortest Path
  • Clock Gating Path
  • Launch path
  • Arrival Path
  • Required Time
  • Common Path Pessimism(CPP/CRPR)
  • Slack
  • Setup and Hold time
  • Setup & hold time violations
  • Recovery Time
  • Removal Time
  • Recovery & Removal time violations
  • Single Cycle path
  • Multi Cycle Path
  • Half Cycle Path
  • False Path
  • Clock Domain Crossing(CDC)
  • Clock Domain Synchronization Scheme
  • Bottleneck Analysis
  • Multi-VT Cells(HVT LVT SVT)
  • Time Borrowing/Stealing
  • Types of STA (PBA GBA)
  • Diff b/w PBA & GBA
  • Block based STA & Path based STA
Go To page

  • Congestion Analysis
  • Routing Congestion Analysis
  • Placement Cong. Analysis
  • Routing Congestion causes
  • Congestion Fixes
  • Global & local cong.
  • Congestion Profiles
Go To page
  • Power Analysis
  • Leakeage Power
  • Switching Power
  • Short Circuit
  • Leakage/static Power
  • Static power Dissipation
  • Types of Static Leakage
  • Static Power Reduction Techniques
  • Dynamic/Switching Power
  • Dynamic Power calculation depends on
  • Types of Dynamic Power
  • Dynamic Power Reduction Techniques
Go To page
  • IR Drop Analysis
  • Types of IR Drop & their methodologies
  • IR Drop Reasons
  • IR Drop Robustness Checks
  • IR Drop Impacts
  • IR Drop Remedies
  • Ldi/dt Effects
Go To page

  • Design Parasitics
  • Latch-Up
  • Electrostatic Discharge(ESD)
  • Electromigration
  • Antenna Effect
  • Crosstalk
  • Soft Errors
  • Sef Heating
Go To page
  • Cells in PD
  • Standard Cells
  • ICG Cells
  • Well Taps
  • End Caps
  • Filler Cells
  • Decap Cells
  • ESD Clamp
  • Spare Cells
  • Tie Cells
  • Delay Cells
  • Metrology Cells
Go To page
  • IO Pads
  • Types of IO Pads
Go To page
  • Delay Calculation
  • Delay Models
  • Interconnect Delay Models
  • Cell Delay Models
Go To page
  • Engineering Change Order
  • Post Synthesis ECO
  • Post Route ECO
  • Post Silicon ECO
  • Metal Layer ECO Example
Go To page
  • std cell library types
  • Classification wrt density and Vth
Go To page

  • The Discontinuity
  • Discontinuity: Classification
  • DFM/DFY
  • Yield Classification
  • Why DFM/DFY?
  • DFM/DFY Solution
  • Wire Spreading
  • metal Fill
  • CAA
  • CMP Aware-Design
  • Redundant Via
  • RET
  • Litho Process Check(LPC)
  • Layout Dependent Effects
  • Resolution Enhancement Techniques
  • Types of RET
  • Optical Proximity Correction(OPC)
  • Scattering Bars
  • Multiple Patterning
  • Phase-shift Masking
  • Off-Axis Illumination
Go To page
  • Corners
  • Need for corner analysis
  • PVT Variations
  • Corner Analysis
  • PVT/RC Corners
  • Temperature Inversion
  • Cross Corner Analysis
  • Modes of Analysis
  • MC/MM Analysis
  • OCV
  • Derating
  • OCV Timing Checks
  • OCV Enhancements
  • AOCV
  • SSTA
  • CRPR/CPPR
Go To page
Copyright © 2021