Physical Design Q&A

Q411. Out of setup time violation and hold time violation, which is more dangerous to the design specifications and working mode?

The setup time violation is frequency-dependent. It can be removed or reduced by changing the frequency of the clock. Whereas the hold time violation is the functional failure of design. It is frequency independent. It cannot be repaired by slowing down the frequency of the clock, as it introduces data race. So, with a change in the clock period, the design with setup time violation can be used but the hold time violation persists in the design.

Q412. What do you mean by the term “time borrowing”?

Time Borrowing is the concept of borrowing the time from the next clock cycle. It occurs in the case of the latch. It is also known as cycle stealing. It reduces the data time to arrive at the next clock cycle or in another case, it permits the design to use slack from the previous clock cycle



This example will clear the concept of time borrowing from the next cycle and slack from the previous clock cycle, as shown in Figure.

Assume that there is communication between two flip-flops, where the clock period is 5 ns. Path 1 has a timing delay of 6 ns. The timing can be met, if the clock period becomes 6 ns, otherwise there will be timing violation in path 1. But as the clock period will increase, it may degrade the pipelineperformance. This problem is resolved with the replacement of flip-flop 1 by a latch, because the edge-triggered flip-flop changes the state an edge transition, whereas latch changes state as long as the clock pin is enabled. The latch opens at the same time as flip-flop i.e. 0ns, but it closes at 2.5 ns (negative edge of the clock). So, path 1 has an extra 2.5 ns to borrow from the next cycle. The time borrowed by path 1 = 6ns-5ns = 1 ns, whereas it can use 2.5ns, so it has a positive slack of 1.5 ns. In such a scenario, there will be no time violation by path 1. Path 2 will start immediately after path 1. Path 2 will add a 1ns delay.

Path 2 could use up to 4 ns (2.5 ns is half period of clock cycle + 1.5 ns positive slack), but it uses only 1 ns. The data capturing of flip-flop 2 is available at 4 ns. The flip-flop’s rising edge occurs at 5 ns. So, a positive slack is of 1 ns.

Q413. What do you understand by time stealing?

Time stealing is the concept of adjusting the clock phase at flip-flop2 so that data arrival time at the capture edge of flip-flop2 will not violate the timing constraints. Time stealing is used when specific logic partition needs additional time which should be deterministic at the start time.

Q414. What are the main characteristics of the time borrowing concept?

  1. Time borrowing can be multistage.
  2. In time borrowing, both data launching and capturing should be completed using the same phase of the same clock. If the launching and capturing are out of phase, time borrowing will be deactivated.
  3. It should be held in the same clock cycle.
  4. Time borrowing slowdowns the data arrival time.
  5. Time borrowing affects setup slack calculation.
  6. Hold slack calculation is not affected with time borrowing because the fastest data is used by hold time.

Q415. What is the difference between time borrowing and timestealing?

  1. Time borrowing applies to latch-based design whereas the time stealing applies to flip-flop-based design.
  2. The method of borrowing time from the shorter paths of the next design stages to the bigger path is known as time borrowing. The adjustment of the clock cycle for flip-flop2 as per the data arrival time is known as time stealing.
  3. In the time borrowing concept, there is no interference with the clock phase. The latch uses the previous cycle slack automatically through the pipeline. Whereas time stealing, steals the time from the next stage and it results in less time to the next stage. The designer will take care that the next stage delay should be lesser than the difference between the clock period and phase shift.

Q.416. How will you calculate negative borrow time and maximum borrow time?

The negative time borrow can be calculated as the difference between data arrival time and clock edge.

Negative borrow time = Arrival time-clock edge
The negative borrow time states that there is no borrowing takes place.

Maximum borrow time = clock pulse width-library setup time
Along with library time at end of latch, clock latency is also subtracted from the clock pulse width to achieve the maximum borrow time.

Q.417. What do you mean by positive, negative and zero slack?

The slack is the factor that determines the speed or frequency of the specific design. It is related to the timing path and can be calculated as:
Slack = Actual time-desired time

The negative slack means, there is some timing violation. The design has not achieved a specific speed or frequency.
The positive slack means, the design is achieving the specific speed or frequency. It has some extra margin as well.
The zero slack signifies that there is no margin, but the designer is already working on the exact speed or frequency.

Q.418. How will you measure slack for setup and hold time?

    The slack for setup time as well as hold time can be calculated as:
    Setup slack = Data required time-data arrival time
    Hold slack = data arrival time-data required time

    So, the difference between the actual and desired time of data to clock time is referred to as slack time. The arrival time refers to the time by data to travel through the timing path. Th time taken by the clock to transverse through the clock path is known as the required time.

Q.419. Enlist the ideal conditions for the timing path?

The basic static timing equations are as follow:
Clock period > T cq + T pd + T su ......(1.1)

Where Tcq is the maximum time from clock to output; Tpd is maximum propagation delay time through the logic and Tsu is maximum setup time.
Hold time < Tmin (R) + Tmin (logic) ......(1.2)

Where Tmin (R) and Tmin (logic) are the minimum delays by register and logic respectively.

Clock period + clock skew > T cq + T pd + Tmin (logic) ......(1.3)

Where clock skew is a spatial delay of the clock.

Hold time + clcok skew < T cq + T pd + Tmin (logic) ......(1.4)

Clock period − jitter (worst case) > T cq + T pd + T su ......(1.5)

Hold time + jitter (worst case) < Tmin(R) + Tmin(logic) ......(1.6)

The worst case of jitter is the situation where the rising edge is late and falling edge is early.

Worst case jitter = 2 × jitter ......(1.7)

So, the maximum frequency of operation (1/clock period) is dependent on the maximum Tcq, Tpd, and Tsu. The setup violation can be fixed by varying clock frequency and temperature. The temperature will further reduce the threshold voltage and makes the device faster. The hold time violation cannot be fixed by changing the clock frequency.

Q.420. What do you mean by clock skew? What is positive, negative and zero clock skew?

In synchronous circuits, if the clock signal arrives at different components at different times, although the clock signal is generated from the same source. The reasons for clock skew may be temperature variation, capacitor decoupling, wire interconnect length or material imperfection.

When the transmitting source receives the clock tick before the receiver, it is known as the positive clock skew. The positive clock skew enhances the operating frequency and makes the hold time tougher.

When the transmitting source receives the clock tick after the receiver receives it, this is known as the negative clock skew. The negative skew decreases operating frequency.

When there is synchronization between transmitter and receiver for clock arrival, it is known as zero cock skew.
Clock skew is also known as clock uncertainty.

  • 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