Physical Design Q&A

Q251. What are the recommended settings for designs with complex or fragmented floorplans?

    For design with complex or fragmented floorplans that have narrow channels, use the following settings:

  1. Enable global-route-based high-fanout synthesis for the place_opt command, which can improve routability and reduce congestion, by using the following setting:
    set_app_options -list {place_opt.initial_drc.global_route_based 1}

  2. Enable two-pass flow for the place_opt command, which generates a better initial placement, by using the following setting:
    set_app_options -list {place_opt.initial_place.two_pass true}

  3. Enable global routing for initial clock tree synthesis, which improves congestion estimation and perform congestion aware clock tree construction, by using the following setting: set_app_options -list {cts.compile.enable_global_route true}

Note: Steps 1 and 2 should only be used if you are not using the Synopsys physical guidance (SPG) flow.

Q252. What will you look for netlist while floor planning?

  1. Look for macros
  2. Group macros acc to hierarchy
  3. Space the macros according to the no of pins
  4. make sure you have VDD/VSS set b/w macros
  5. Put soft blockages in channels to avoid flops being placed
  6. Add density screen if needed.

Q253. TCL proc for palindrome

proc check_palindrome {in_str} {
set str_len [string length $in_str]
set str_mid [expr $str_len/2]
for {set i 0} {$i < $str_mid} {incr i} {
if {[string index $in_str $i] != [string index $in_str end-$i]} {
puts "$in_str is not a palindrome"
return
}
}
puts "$in_str is a palindrome"
}

Q254. How to open a file and print line starting with error?

set f [open x.txt r]
while { [gets $f line] > 0 }
{
if { [regexp {^Error} $line]}
{
puts $line
else {continue}
}

Q255. Why do only cell delays have aocv and not wire delays? (wire delays are flat derates , no aocv). How about wire delays? They depend on OPC etc right which is also random? (wire width variation based on OPC techniques like etching etc right. This etching process is not uniform across entire chip and that varies from one location to another depends on metal density in that area. That means as metal width is due to less etching and its width gets reduced if etching is excessive. wire delays will change from one place to other right? that means this is also random right?). Then why are we using flat derates?

  • Because cells have doping. which is affected by the process. AOCV is basically a function of both (Vt, doping) or process
  • Etching effect is taken care of by the nxgrd characterization, the etch values are tabulated in tluplus/nxtgrd (delays of wire changes w.r.t thickness, net length & temp etc)
  • Why are we applying flat derates or ocv for wires, why are we not applying aocv or variable derates?
  • Wire delays changes due to local process & temperature only (not due to voltage). If a timing path span over a huge distance, local temp of one net n2 might be different from the net n2 sitting in the different location (assume that thickness, net lengths in both locations are the same for nets n1 & n2). To address that issue, we have to use flat derates or OCV for wires

Q256. If you have an always on domain and a switching domain, where will you place the isolation cell?

In AON domain

Q257. What ae the components of Power?

Dynamic Power: Short circuit power, switching power due to external capacitance and switching power due to internal capacitors within the boundary of a cell Static or Leakage Power: Sub-Threshold Leakage current from drain to source when NMOS is at VSS, PMOS is at VDD, reverse saturation current through PN junction diodes formed b/w N-well & p-substrate, gate tunneling leakage current.

Q258. How can you reduce Dynamic power?

Techniques:
  • Multi-Supply Voltage or reduce supply voltage

    • Multiple Frequencies or DVFS or reduce frequency
    • Reduce switching activity on the nets
  • Reduce load or wire capacitance by minimizing the net lengths
  • Use place.coarse.icg_auto_bound command to place registers close to its driver ICG o Improve transitions on the nets
  • Use Decoupling Capacitors: It helps reduce power supply transients on the die and reduce dynamic or active power in the design, but it increases leakage power
  • Use clock gating, xor self-gating, power gating and multibit flops for addressing dynamic power
  • Area Recovery optimization: Downsize the drive strength of non-critical timing paths. So that their input pin cap will come down (CL is sum of wire cap, intrinsic capacitance of driver and input pin capacitances of fanout load). So dynamic power will reduce.
  • The tool optimizes the dynamic power by minimizing the net length of high switching nets to improve the power QoR if we give SAIF file (It has static probability & toggle rates for each signal net in the design, sdc will have toggle rate & static probability of clock nets) based on gate level or RTL simulation (or by annotating set_switching_activity on the design in the absence of SAIF file) by enabling power_low_power_placement and set_dynamic_optimization
  • Reduce unnecessary pessimism in setup/hold uncertainties (few people run a smaller number of timing scenarios by keeping huge uncertainty values) & use POCV (This will reduce the instance count and its internal short circuit power).
  • Use logic restructuring o Factoring High activity nets: Boolean factoring can be applied on a net with high activity to factor out the high activity net. This minimizes the number of logic fanouts for the high activity net.
  • Pin swapping: In certain cells, pins with equivalent functionality can have different input capacitances. In such cases, it is beneficial to move the high activity net to the pin with the lower capacitance.

Q259. Where do you get the activity factor from?

VCD or SAIF file

Q260. How you determine activity factor for input ports?

this information obtained from vcd or based on IO constraints we follow 30% in clock cycle
  • 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