Showing posts with label physical design. Show all posts
Showing posts with label physical design. Show all posts

Monday, December 20, 2021

PHYSICAL DESIGN

 

* What is signal integrity? How it affects Timing?
* What is IR drop? How to avoid .how it affects timing?
* What is EM and it effects?
* What is floor plan and power plan?
* What are types of routing?
* What is a grid .why we need and different types of grids?
* What is core and how u will decide w/h ratio for core?
* What is effective utilization and chip utilization?
* What is latency? Give the types?
* What is LEF?
* What is DEF?
* What are the steps involved in designing an optimal pad ring?
* What are the steps that you have done in the design flow?
* What are the issues in floor plan?
* How can you estimate area of block?
* How much aspect ratio should be kept (or have you kept) and what is the utilization?
* How to calculate core ring and stripe widths?
* What if hot spot found in some area of block? How you tackle this?
* After adding stripes also if you have hot spot what to do?
* What is threshold voltage? How it affect timing?
* What is content of lib, lef, sdc?
* What is meant my 9 track, 12 track standard cells?
* What is scan chain? What if scan chain not detached and reordered? Is it compulsory?
* What is setup and hold? Why there are ? What if setup and hold violates?
* In a circuit, for reg to reg path ...Tclktoq is 50 ps, Tcombo 50ps, Tsetup 50ps, tskew is 100ps. Then what is the maximum operating frequency?
* How R and C values are affecting time?
* How ohm (R), fared (C) is related to second (T)?
* What is transition? What if transition time is more?
* What is difference between normal buffer and clock buffer?
* What is antenna effect? How it is avoided?
* What is ESD?
* What is cross talk? How can you avoid?
* How double spacing will avoid cross talk?
* What is difference between HFN synthesis and CTS?
* What is hold problem? How can you avoid it?
* For an iteration we have 0.5ns of insertion delay and 0.1 skew and for other iteration 0.29ns insertion delay and 0.25 skew for the same circuit then which one you will select? Why?
* What is partial floor plan?
* What parameters (or aspects) differentiate Chip Design & Block level design??
* How do you place macros in a full chip design?
* Differentiate between a Hierarchical Design and flat design?
* Which is more complicated when u have a 48 MHz and 500 MHz clock design?
* Name few tools which you used for physical verification?
* What are the input files will you give for primetime correlation?
* What are the algorithms used while routing? Will it optimize wire length?
* How will you decide the Pin location in block level design?
* If the routing congestion exists between two macros, then what will you do?
* How will you place the macros?
* How will you decide the die size?
* If lengthy metal layer is connected to diffusion and poly, then which one will affect by antenna problem?
* If the full chip design is routed by 7 layer metal, why macros are designed using 5LM instead of using 7LM?
* In your project what is die size, number of metal layers, technology, foundry, number of clocks?
* How many macros in your design?
* What is each macro size and no. of standard cell count?
* How did u handle the Clock in your design?
* What are the Input needs for your design?
* What is SDC constraint file contains?
* How did you do power planning?
* How to find total chip power?
* How to calculate core ring width, macro ring width and strap or trunk width?
* How to find number of power pad and IO power pads?
* What are the problems faced related to timing?
* How did u resolve the setup and hold problem?
* If in your design 10000 and more numbers of problems come, then what you will do?
* In which layer do you prefer for clock routing and why?
* If in your design has reset pin, then it’ll affect input pin or output pin or both?
* During power analysis, if you are facing IR drop problem, then how did u avoid?
* Define antenna problem and how did u resolve these problem?
* How delays vary with different PVT conditions? Show the graph.
* Explain the flow of physical design and inputs and outputs for each step in flow.
* What is cell delay and net delay?
* What are delay models and what is the difference between them?
* What is wire load model?
* What does SDC constraints has?
* Why higher metal layers are preferred for Vdd and Vss?
* What is logic optimization and give some methods of logic optimization.
* What is the significance of negative slack?
* How the width of metal and number of straps calculated for power and ground?
* What is negative slack ? How it affects timing?
* What is track assignment?
* What is grided and gridless routing?
* What is a macro and standard cell?
* What is congestion?
* Whether congestion is related to placement or routing?
* What are clock trees?
* What are clock tree types?
* Which layer is used for clock routing and why?
* What is cloning and buffering?
* What are placement blockages?
* How slow and fast transition at inputs effect timing for gates?
* What is antenna effect?
* What are DFM issues?
* What is .lib, LEF, DEF, .tf?
* What is the difference between synthesis and simulation?
* What is metal density, metal slotting rule?
* What is OPC, PSM?
* Why clock is not synthesized in DC?
* What are high-Vt and low-Vt cells?
* What corner cells contains?
* What is the difference between core filler cells and metal fillers?
* How to decide number of pads in chip level design?
* What is tie-high and tie-low cells and where it is used

What parameters (or aspects) differentiate Chip Design and Block level design?

Chip design has I/O pads; block design has pins.

Chip design uses all metal layes available; block design may not use all metal layers.

Chip is generally rectangular in shape; blocks can be rectangular, rectilinear.

Chip design requires several packaging; block design ends in a macro.

How do you place macros in a full chip design?

First check flylines i.e. check net connections from macro to macro and macro to standard cells.

If there is more connection from macro to macro place those macros nearer to each other preferably nearer to core boundaries.

If input pin is connected to macro better to place nearer to that pin or pad.

If macro has more connection to standard cells spread the macros inside core.

Avoid criscross placement of macros.

Use soft or hard blockages to guide placement engine.

Differentiate between a Hierarchical Design and flat design?

Hierarchial design has blocks, subblocks in an hierarchy; Flattened design has no subblocks and it has only leaf cells.

Hierarchical design takes more run time; Flattened design takes less run time.

Which is more complicated when u have a 48 MHz and 500 MHz clock design?

500 MHz; because it is more constrained (i.e.lesser clock period) than 48 MHz design.

Name few tools which you used for physical verification?

Herculis from Synopsys, Caliber from Mentor Graphics.


What are the input files will you give for primetime correlation?

Netlist, Technology library, Constraints, SPEF or SDF file.


If the routing congestion exists between two macros, then what will you do?

Provide soft or hard blockage


How will you decide the die size?

By checking the total area of the design you can decide die size.


If lengthy metal layer is connected to diffusion and poly, then which one will affect by antenna problem?

Poly


If the full chip design is routed by 7 layer metal, why macros are designed using 5LM instead of using 7LM?

Because top two metal layers are required for global routing in chip design. If top metal layers are also used in block level it will create routing blockage.


In your project what is die size, number of metal layers, technology, foundry, number of clocks?

Die size: tell in mm eg. 1mm x 1mm ; remeber 1mm=1000micron which is a big size !!

Metal layers: See your tech file. generally for 90nm it is 7 to 9.

Technology: Again look into tech files.

Foundry:Again look into tech files; eg. TSMC, IBM, ARTISAN etc

Clocks: Look into your design and SDC file !


How many macros in your design?

You know it well as you have designed it ! A SoC (System On Chip) design may have 100 macros also !!!!


What is each macro size and number of standard cell count?

Depends on your design.


What are the input needs for your design?

For synthesis: RTL, Technology library, Standard cell library, Constraints

For Physical design: Netlist, Technology library, Constraints, Standard cell library


What is SDC constraint file contains?

Clock definitions

Timing exception-multicycle path, false path

Input and Output delays


How did you do power planning? How to calculate core ring width, macro ring width and strap or trunk width? How to find number of power pad and IO power pads? How the width of metal and number of straps calculated for power and ground?

Get the total core power consumption; get the metal layer current density value from the tech file; Divide total power by number sides of the chip; Divide the obtained value from the current density to get core power ring width. Then calculate number of straps using some more equations. Will be explained in detail later.

How to find total chip power?

Total chip power=standard cell power consumption,Macro power consumption pad power consumption.


What are the problems faced related to timing?

Prelayout: Setup, Max transition, max capacitance

Post layout: Hold


How did you resolve the setup and hold problem?

Setup: upsize the cells

Hold: insert buffers


In which layer do you prefer for clock routing and why?

Next lower layer to the top two metal layers(global routing layers). Because it has less resistance hence less RC delay.


If in your design has reset pin, then it’ll affect input pin or output pin or both?

Output pin.


During power analysis, if you are facing IR drop problem, then how did you avoid?

Increase power metal layer width.

Go for higher metal layer.

Spread macros or standard cells.

Provide more straps.


Define antenna problem and how did you resolve these problem?

Increased net length can accumulate more charges while manufacturing of the device due to ionisation process. If this net is connected to gate of the MOSFET it can damage dielectric property of the gate and gate may conduct causing damage to the MOSFET. This is antenna problem.

Decrease the length of the net by providing more vias and layer jumping.

Insert antenna diode.


How delays vary with different PVT conditions? Show the graph.

P increase->dealy increase

P decrease->delay decrease

 

V increase->delay decrease

V decrease->delay increase

 

T increase->delay increase

T decrease->delay decrease


Explain the flow of physical design and inputs and outputs for each step in flow.

Click here to see the flow diagram


What is cell delay and net delay?

Gate delay

Transistors within a gate take a finite time to switch. This means that a change on the input of a gate takes a finite time to cause a change on the output.[Magma]

 

Gate delay =function of(i/p transition time, Cnet+Cpin).

 

Cell delay is also same as Gate delay.

 

Cell delay

 

For any gate it is measured between 50% of input transition to the corresponding 50% of output transition.

 

Intrinsic delay

 

Intrinsic delay is the delay internal to the gate. Input pin of the cell to output pin of the cell.

 

It is defined as the delay between an input and output pair of a cell, when a near zero slew is applied to the input pin and the output does not see any load condition.It is predominantly caused by the internal capacitance associated with its transistor.

 

This delay is largely independent of the size of the transistors forming the gate because increasing size of transistors increase internal capacitors.

 

Net Delay (or wire delay)

 

The difference between the time a signal is first applied to the net and the time it reaches other devices connected to that net.

 

It is due to the finite resistance and capacitance of the net.It is also known as wire delay.

 

Wire delay =fn(Rnet , Cnet+Cpin)


What are delay models and what is the difference between them?

Linear Delay Model (LDM)

Non Linear Delay Model (NLDM)


What is wire load model?

Wire load model is NLDM which has estimated R and C of the net.


Why higher metal layers are preferred for Vdd and Vss?

Because it has less resistance and hence leads to less IR drop.


What is logic optimization and give some methods of logic optimization.

Upsizing

Downsizing

Buffer insertion

Buffer relocation

Dummy buffer placement


What is the significance of negative slack?

negative slack==> there is setup voilation==> deisgn can fail


What is signal integrity? How it affects Timing?

IR drop, Electro Migration (EM), Crosstalk, Ground bounce are signal integrity issues.

If Idrop is more==>delay increases.

crosstalk==>there can be setup as well as hold voilation.


What is IR drop? How to avoid? How it affects timing?

There is a resistance associated with each metal layer. This resistance consumes power causing voltage drop i.e.IR drop.

If IR drop is more==>delay increases.


What is EM and it effects?

Due to high current flow in the metal atoms of the metal can displaced from its origial place. When it happens in larger amount the metal can open or bulging of metal layer can happen. This effect is known as Electro Migration.

 

Affects: Either short or open of the signal line or power line.


What are types of routing?

Global Routing

Track Assignment

Detail Routing


What is latency? Give the types?

Source Latency

It is known as source latency also. It is defined as "the delay from the clock origin point to the clock definition point in the design".

 

Delay from clock source to beginning of clock tree (i.e. clock definition point).

 

The time a clock signal takes to propagate from its ideal waveform origin point to the clock definition point in the design.

 

Network latency

 

It is also known as Insertion delay or Network latency. It is defined as "the delay from the clock definition point to the clock pin of the register".

 

The time clock signal (rise or fall) takes to propagate from the clock definition point to a register clock pin.


What is track assignment?

Second stage of the routing wherein particular metal tracks (or layers) are assigned to the signal nets.


What is congestion?

If the number of routing tracks available for routing is less than the required tracks then it is known as congestion.


Whether congestion is related to placement or routing?

Routing


What are clock trees?

Distribution of clock from the clock source to the sync pin of the registers.


What are clock tree types?

H tree, Balanced tree, X tree, Clustering tree, Fish bone

What is cloning and buffering?

Cloning is a method of optimization that decreases the load of a heavily loaded cell by replicating the cell.

Buffering is a method of optimization that is used to insert beffers in high fanout nets to decrease the dealy.

What is the difference between soft macro and hard macro?

What is the difference between hard macro, firm macro and soft macro?



What are IPs?

 

Hard macro, firm macro and soft macro are all known as IP (Intellectual property). They are optimized for power, area and performance. They can be purchased and used in your ASIC or FPGA design implementation flow. Soft macro is flexible for all type of ASIC implementation. Hard macro can be used in pure ASIC design flow, not in FPGA flow. Before bying any IP it is very important to evaluate its advantages and disadvantages over each other, hardware compatibility such as I/O standards with your design blocks, reusability for other designs.


Soft macros

Soft macros are in synthesizable RTL.Soft macros are more flexible than firm or hard macros.

Soft macros are not specific to any manufacturing process.Soft macros have the disadvantage of being somewhat unpredictable in terms of performance, timing, area, or power.Soft macros carry greater IP protection risks because RTL source code is more portable and therefore, less easily protected than either a netlist or physical layout data.

From the physical design perspective, soft macro is any cell that has been placed and routed in a placement and routing tool such as Astro. (This is the definition given in Astro Rail user manual !)

Soft macros are editable and can contain standard cells, hard macros, or other soft macros.


Firm macros

Firm macros are in netlist format.Firm macros are optimized for performance/area/power using a specific fabrication technology.

Firm macros are more flexible and portable than hard macros.Firm macros are predictive of performance and area than soft macros.



Hard macro

Hard macros are generally in the form of hardware IPs (or we termed it as hardwre IPs !).Hard macos are targeted for specific IC manufacturing technology.Hard macros are block level designs which are silicon tested and proved.Hard macros have been optimized for power or area or timing.

In physical design you can only access pins of hard macros unlike soft macros which allows us to manipulate in different way.You have freedom to move, rotate, flip but you can't touch anything inside hard macros.

Very common example of hard macro is memory. It can be any design which carries dedicated single functionality (in general).. for example it can be a MP4 decoder.Be aware of features and characteristics of hard macro before you use it in your design... other than power, timing and area you also should know pin properties like sync pin, I/O standards etcLEF, GDS2 file format allows easy usage of macros in different tools.


From the physical design (backend) perspective:

Hard macro is a block that is generated in a methodology other than place and route (i.e. using full custom design methodology) and is brought into the physical design database (eg. Milkyway in Synopsys; Volcano in Magma) as a GDS2 file.

Synthesis and placement of macros in modern SoC designs are challenging. EDA tools employ different algorithms accomplish this task along with the target of power and area. There are several research papers available on these subjects. Some of them can be downloaded from the given link below.

What is difference between normal buffer and clock buffer?

 

Clock net is one of the High Fanout Net(HFN)s. The clock buffers are designed with some special property like high drive strength and less delay. Clock buffers have equal rise and fall time. This prevents duty cycle of clock signal from changing when it passes through a chain of clock buffers.

 

Normal buffers are designed with W/L ratio such that sum of rise time and fall time is minimum. They too are designed for higher drive strength.

What is difference between HFN synthesis and CTS?

 

HFNs are synthesized in front end also.... but at that moment no placement information of standard cells are available... hence backend tool collapses synthesized HFNs. It resenthesizes HFNs based on placement information and appropriately inserts buffer. Target of this synthesis is to meet delay requirements i.e. setup and hold.

 

For clock no synthesis is carried out in front end because no placement information of flip-flops  So synthesis won't meet true skew targets . in backend clock tree synthesis tries to meet "skew" targets...It inserts clock buffers (which have equal rise and fall time, unlike normal buffers !)... There is no skew information for any HFNs.

 

 RTL synthesis 

1: How would you speed up an ASIC design project by parallel computing? Which design stages can be distributed for parallel computing, which cannot, and what procedures are needed for maintaining parallel computing?


Mentioning the following important steps in parallel computing is essential:


1. Partitioning the design


2. Distributing partitioned tasks among multiple CPUs


3. Integrating the results


STAGES: The following answers are acceptable. Others may be accepted if you gave a reasonable explanation of why you can or cannot use parallel computing in a particular stage of the flow. 


Can use parallel computing:

 Synthesis after partitioning


 Placement (hierarchical design)


- Detailed routing


- DRC


- Functional verification


- Timing Analysis (partition the timing graph)


Cannot use parallel computing:


- Synthesis before partitioning


- Floorplanning


- Flat Placement


- Global Routing


CONSTRAINTS: Mentioning that care must be taken to make sure that partition boundaries are consistent when integrating the results back together.

Q2: What kinds of timing violations are in a typical timing analysis report? Explain!
Ans: Acceptable answers...


- Setup time violations


- Hold time violations


- Minimum delay


- Maximum delay


- Slack


- External delay


Q3: List the possible techniques to fix a timing violation.

- Buffering - Buffers are inserted in the design to drive a load that is too large for a logic cell to efficiently drive. If the net is too long then the net is broken and buffers are inserted to improve the transition which will ultimately improve the timing on data path and reduce the setup violation.


To reduce the hold violations buffers are inserted to add delay on data paths.-

Mapping - Mapping converts primitive logic cells found in a netlist to technology-specific logic gates found in the library on the timing critical paths.


- Unmapping - Unmapping converts the technology-specific logic gates in the netlist to primitive logic gates on the timing critical paths.


- Pin swapping - Pin swapping optimization examines the slacks on the inputs of the gates on worst timing paths and optimizes the timing by swapping nets attached to the input pins, so the net with the least amount of slack is put on the fastest path through the gate without changing the function of the logic.


- Wire sizing


- Transistor (cell) sizing - Cell sizing is the process of assigning drive strength for a specific cell in the library to a cell instance in the design. If there is a low drive strength cell in the timing critical path then this cell is replaced by higher drive strength cell to reduce the timing violation.


- Re-routing


- Placement updates


- Re-synthesis (logic transformations)


- Cloning - Cell cloning is a method of optimization that decreases the load of a very heavily loaded cell by replicating the cell. Replication is done by connecting an identical cell to the same inputs as the original cell.Cloning clones the cell to divide the fanout load to improve the timing.


- Taking advantage of useful skew


- Logic re-structuring/Transformation (w/Resynthesis) - Rearrange logic to meet timing constraints on critical paths of design


- Making sure we don't have false violations (false path, etc.)



Q4: Give the linear time computation scheme for Elmore delay in an RC interconnect tree.


 The following is acceptable..

.
- Elmore delay formula


T = Sum over all nodes i in path (s,t) of Ri*Ci where Ci is the total capacitance in the sub tree rooted at node i, or alternatively, the sum over the capacitances at the nodes times the shared resistance between the path of interest and the path to the node.


- Explaining terms in formula


- Mentioning something that shows that it can be done in linear time ("lumped"
or "shared" resistances, "recursive" calculations, etc)



Q5: Given a unit wire resistance "r" and a unit wire capacitance "c", a wire segment of length "l" and width "w" has resistance "l/w" and capacitance "cwl". Can we reduce the Elmore delay by changing the width of a wire segment? Explain your answer.


You needed to mention that by scaling different segments by different amounts, you can reduce the delay (e.g. wider segments near the root and narrower segments near the leaves. Delay is independent of width because the "w" term cancels out.

Q6: Extend the ZST-DME algorithm to embed a binary tree such that the Elmore delay from the root to each leaf of the tree is identical.


You needed to mention that a new procedure is needed for calculating the Elmore delay assuming that certain merging points are chosen, instead of just the total downstream wire-length. The merging segment becomes a set of points with equal Elmore delay instead of just equal path length. You could refer the paper "Low-Cost Single-Layer Clock Trees With Exact Zero Elmore Delay Skew", Andrew B. Kahng and Chung-Wen Albert Tsao. 



Q7: IPO (sometimes also referred to as "In-Place Optimization") tries to optimize the design timing by buffering long wires, resizing cells, restructuring logic etc.Explain how these IPO steps affect the quality of the design in terms of area, congestion, timing slack.

 


(a) Why is this called "In-Place Optimization" ?


(b) Why are the two IPO steps different ?


(c) Why are both used ?


 IPO optimizes timing by buffer insertion and cell resizing. Important steps that are performed in IPO include fixing {setup,hold} time, max. transition time violation. Timing slack along all arcs is optimized by these operations. Increase in area and reduction in timing slack depend upon timing and IPO constraints.


(a) This step is referred to as "In-Place Optimization" because IPO performs resizing and buffer in-place (between cells in the row). It does not perform placement optimization in this step.
(b) The first IPO1 step is performed after placement.

 It performs trial-route--> extraction --> timing analysis to determine the quality of placement. Setup and hold time fixing is done according to result of timing analysis.

The second IPO step is performed after clock tree synthesis.

 CTS performs clock buffer insertion to balance skews among all flip-flops. IPO2 step optimizes timing paths between flip-flops taking the actual clock skew.
(c) If IPO2 step is not performed after CTS, then timing paths between flip-flops are not tuned for clock skew variation. Even though NanoRoute performs timing optimization, it is more of buffer insertion in long interconnect to fix setup and hold times.

Q8: Clocking and Place-Route Flow. Consider the following steps:


- Clock sink placement


- Standard-cell global placement


- Standard-cell detailed placement


- Standard-cell ECO placement


- Clock buffer tree construction


- Global signal routing


- Detailed signal routing


- Bounded-skew (balanced) clock (sub)net routing


- Steiner clock (sub)net routing


- Clock sink useful skew scheduling (i.e., solving the linear program, etc.)


- Post-placement (global routing based) static timing analysis


- Post-detailed routing static timing analysis


(a) As a designer of a clock distribution flow for high-performance standard-cell based ASICs, how would you order these steps? Is it possible to use some steps more than once, others not at all (e.g., if subsumed by other steps).


(b) List the criteria used for assessing possible flows.
(c) What were the 3 next-best flows that you considered (describe as variants of your flow), and explain why you prefer your given answer.


(a) My basic flow: 


(1) SC global placement 


(2) post-placement STA 


(3) clock sink useful-skew scheduling 


(4) clock buffer tree construction that is useful-skew aware (cf. associative skew.) 


(5) standard-cell ECO placement (to put the buffers into the layout)


(6) Steiner clock subnet routing at lower levels of the clock tree (following CTGen type paradigm) 


(7) bounded-skew clock subnet routing at all higher levels of the clock tree, and as necessary even at lower levels, to enforce useful skews 


(8) global signal routing


(9) detailed signal routing, 


(10) post-detailed routing STA


(b)Criteria: 


(1) likelihood of convergence with maximum clock frequency


(2) minimization of CPU time (by maximizing incremental steps, minimizing .detailed. steps,

and minimizing iterations)


(3) make a good trade-off between wiring-based skew control and wire cost (this suggests Steiner routing at lower levels, bounded-skew routing at higher levels). 


[Comment 1. Criteria NOT addressed: power, insertion delay, variant flow for hierarchical clocking or gated clocking. 


Comment 2: I do not know of any technology for clock sink placement that can separate this from placement of remaining standard cells. So, my flow does not invoke this step. I also don't want post-route ECOs.]


(c) Variants: 


(1) introduce Step 11: loop over Steps 3-10 (not adopted because cost benefit ratio was not attractive, and because there is a trial placement + global routing to drive useful-skew scheduling, buffer tree construction and ECO placement); 


(2) after Steps 1-4, re-place the entire netlist (global, detailed placement) and then skip Step 5 (not adopted because benefits of avoiding ECO placement and leveraging a good clock skeleton were felt to be small-buffer tree will largely reflect the netlist structure, and replacing can destroy assumptions made in Steps 3-4); 


(3) can iterate the first 5 steps essentially by iterating: clock sink placement, (ECO placement for legalization), (incremental) standard-cell (global + detailed) placement (not adopted because I feel that any objective for standalone clock sink placement would be very "fuzzy", e.g., based on sizes of intersections of fan-in/fan-out cones of sequentially adjacent FFs)

Q9: If we migrate to the next technology node and double the gate count of a design, how would you expect the size of the LEF and routed DEF files to change? Explain your reasoning.


The LEF file will remain roughly the same size (same richness of cell library, say, between 500-1200 masters), modulo possible changes in conventions (e.g., CTLF used to be a part of LEF) and modulo possible additional library model semantics (e.g., adding power modeling into LEF). 

The DEF file should at least double (the components and nets will double, but if there is extra routing complexity (more complex geometries, and more segments per connection due to antenna rules or badly scaling router heuristics) the DEF could grow significantly faster.

 

Prime Time


PrimeTime is a full chip static analysis tool that can fully analyze a multimillion gate ASIC in a short
amount of time.

PrimeTime needs four types of files before you can run it:

1. Netlist file:  Verilog, VHDL, EDIF

2. Delay file: SPEF(standard parasitic format, it's from STARRC or place&route tool), SPF, SDF(standard delay format)

3. Library file: DB ( From library vendors)4. Constrains file: Synopsys Design Constraints(SDC) include 3 min requirement, clock, input delay and output delay

use tcl( Tool command language) whenever possible.

PrimeTime will check the following violations:

1.Setup violations:

The logic is too slow compare to the clock.With that in mind there are several things a designer can do to fix the setup violations.

Reduce the amount of buffering in the path.

Replace buffers with 2 inverters place farther apart

Reduce larger than normal capacitance on a book’s output pin

Increase the size of books to decrease the delay through the book.

Make sure clock uncertainty is not to large for the technology library that you
are using.

Reduce clock speed. This is a poor design technique and should be used as a
last resort.

2. hold time violations: the logic is too fast.
      To fix hold violations in the design, the designer needs to simply add more delay
to the data path. This can be done by

Adding buffers/inverter pairs/delay cells to the data path.

Decreasing the size of certain books in the data path. It is better to reduce the books closer to the capture flip flop because there is less likely hood of affecting other paths and causing new errors.

Add more capacitance to the output pin of books with light capacitance.

Fix the setup time violation first, and then hold time violation. If hold violations are not fixed before
the chip is made, more there is nothing that can be done post fabrication to fix hold problems unlike setup violation where the clock speed can be reduced.

  3.  Transition Violations:
      When a signal takes too long transiting from one logic level to another, a transition violation is reported. The violation is a function of the node resistance and capacitance.

       The designer has two simple solutions to fix the transitions violations.

Increase the drive capacity of the book to increase the voltage swing or decrease the capacitance and resistance by moving the source gate closer to sink gate.

Increase the width of the route at the violation instance pin. This will decrease the resistance of the route and fix the transition violation

4.  Capacitance Violations:
      The capacitance on a node is a combination of the fan-out of the output pin and
the capacitance of the net. This check ensures that the device does not drive more
capacitance than the device is characterized for.

The violation can be removed by increasing the drive strength of the book

By buffering the some of the fan-out paths to reduce the capacitance seen by the output pin.

Conditions are used to check setup violation


   WorstCase => setup violations
   BestCase => hold violations
  We use the worst case delay when testing for setup violations and then we use the best case delay when testing for hold violations.

run PrimeTime in the unix?

[Linux] user@gmu>> pt_shell –f pt_script.tcl |& tee pt.log

Here are the sample PrimeTime script :

A total of three scripts must be created, one for each timing corner.
# ------------------------------------------------------------
# Library Declarations.
# ------------------------------------------------------------
set search_path ". /proj/timing/etc"
set link_path "*"
lappend link_path "stdCell_tt.db"
# ------------------------------------------------------------
# Read in Design
# ------------------------------------------------------------
# Read in netlist
read_file -f verilog top_level.v
# Define top level in the hierarchy
current_design "top_level"
# Combine verilog and db files and identify any errors.
link_design
# Read in SPEF file
read_parasitics -quiet -format SPEF top_level.spef.gz
# ------------------------------------------------------------
# Apply Constraints
# ------------------------------------------------------------
# Read in timing constraits
read_sdc -echo top_level.sdc
# Propagate clocks and add uncertainty to setup/hold calculations
set_propagated_clock [all_clocks]
set_clock_uncertainty 0.2 [all_clocks]
21
# ------------------------------------------------------------
# Time
# ------------------------------------------------------------
set_operating_conditions -min WORST -max WORST


# Register to Register


report_timing -from [all_registers -clock_pins] \
-to [all_registers -data_pins] -delay_type max \
-path_type full_clock –nosplit \
-max_paths 1 -nworst 1 \
-trans -cap -net > tc_reg2reg_setup.rpt
report_timing -from [all_registers -clock_pins] \
-to [all_registers -data_pins] -delay_type min \
-path_type full_clock –nosplit \
-max_paths 1 -nworst 1 \
-trans -cap -net > tc_reg2reg_hold.rpt


# Register to Out


report_timing -from [all_registers -clock_pins] \
-to [all_outputs] -delay_type max \
-path_type full_clock –nosplit \
-max_paths 1 -nworst 1 \
-trans -cap -net > tc_reg2out_setup.rpt
report_timing -from [all_registers -clock_pins] \
-to [all_outputs] -delay_type min \
-path_type full_clock –nosplit \
-max_paths 1 -nworst 1 \
-trans -cap -net > tc_reg2out_hold.rpt


# In to Register


report_timing -from [all_inputs]
-to [all_registers -data_pins] \
-delay_type max \
-path_type full_clock –nosplit \
-max_paths 1 -nworst 1 -trans \
–cap -net > tc_in2reg_setup.rpt
report_timing -from [all_inputs] \
-to [all_registers -data_pins] \
-delay_type min -path_type full_clock \
-nosplit -max_paths 1 -nworst 1 \
-trans -cap -net > tc_in2reg_hold.rpt


# All Violators – Find Cap/Tran Violations


# Summary of Setup/Hold Violations


report_constraints -all_violators > tc_all_viol.rpt


# Clock Skew


report_clock_timing -type skew -verbose > tc_clockSkew.rpt
exit

 

 

Q 1.What are the types in physical verification?

    LVS (layout vs schematic).

   DRC (design rule constrain check).

   ERC (electric rule check).

   LEC (logical equivalence check).

Q 2.How to fix setup and hold violations at a time?

It is not possible to fix both at a time because if we increase the delay in data path it's good for hold and bad for setup.But there is only one way to fix it.

  • Buffer the data path for hold fix.
  • Slow the clock frequency for setup fix (this is not a valid fix,but we don't have other option).

Q 3.How can you avoid cross-talk?

a) Increase the spacing between the aggressor and victim nets.

   b) Shielding.

   c) Maintain the stable supply.

   d) Increase the drive strength of cell.

   e) Layer jumping.

   f) Victim net width increasing then resistance decreases.

   g) Guard ring.

   h) Cell sizing (up sizing).

Q 4.What is cross-talk?

It is the undesirable electric interaction between two or more physical adjust nets due to the capacitance cross coupling.When two nets are in parallel the electric field of one net is effects the other net which is nearer to it.This called cross-talk effect. 

Q 5.What is scan chain reordering?

. It is the process of re connecting the scan chains in the design to optimize for routing by reordering the scan chain connection which improves timing and congestion.

Q 6.What is the concept of rows in the floor plan?

The std-cells in the design are placed in rows.All rows have equal height and spacing.The width of the row can vary.The std-cell in the row get the power and ground connection from vdd and vss rails.Sometimes technology allows the rows to be flip.So they can share the power and ground rails in vdd-vss-vdd patron.

Q 7.What are the advantages of NDR's?

a) By applying the double width we can avoid the EM.

   b) By applying double spacing we can avoid the cross-talk.

   c) Help's to avoid congestion at lower metal layer.

   d) Help's pin accessibility of std-cells .

Q 8.What is temperature inversion?

At higher CMOS technologies cell delay increases when temperature increases.But when you are in lower technologies i.e below 65nm cell delay has inversely proportional to temperature.

Q 9.In reg to reg path if you have setup problem where will you insert buffer?

A. We can insert buffer near to launch flop which decreases the transition time.Hence decreasing the wire delay therefore overall delay will decrease.When arrival time will decrease setup violations will reduce(required time-arrival time).

Q 10.What is partitioning?

It is the process of dividing the chip into small blocks this is done mainly to separate different functional blocks and also make placement.routing easier.

Q 11.How can you reduce dynamic power?

a) Reduce power supply voltage.

   b) Reduce voltage swing in all nodes.

   c) Reduce the switching probability (transition factor).

   d) Reduce load capacitance.

Q 12. Why double via insertion?

To reduce the yield loss due to via failures,double via's are inserted traditionally double via's where inserted in post route and then modify the routing to fix any DRC's.

Q 13.What is metal fill insertion?

At the time of etching they use some type of chemicals due to that chemical metal loss will be more for that reaction we are inserting the metal fills.

Q 14.What is metal slotting?

It is the Technic for avoiding the problems like metal lift off and metal erosion.

Q 15.What are the power dissipation components?

Dynamic power consumption:- Occurs when signals which go through the CMOS circuit change there logic state by charging discharging of o/p node capacitor.

static (leakage power consumption):- It is the power consumed by the sub threshold currents and by reverse biased diodes in a CMOS transistor.

short circuit power consumption:- It occurs during switching on both the NMOS and PMOS transistors in the circuit and they conduct simultaneously for a short amount of time.

 

Q 16.What is dishing effect?

It is defined as the difference between the height of the oxide in the spaces and that of the metal in the trenches.It is caused by CMP.It may reduced by some dummy fill Technics effectively.

Q 17.What is CMP (chemical mechanical polishing)?

 It is the process of smoothing surface with the combination of chemical and mechanical forces.It is used in IC fabrication to get a high level of polarization.

Q 18.What is the use of placement blockage?

a) Defines std-cell and macro area.

   b) Reserve channels for buffer insertion.

   c) Prevent cells from being placed at or near macros.

   d) Prevent congestion near macros.

Q 19.What are the types of global routing?

a) Time driven global routing.

   b) Cross-talk driven global routing.

   c) Incremental global routing.

Q 20.What are the violations solved in LVS?

a) Shorts.

   b) Opens.

   c) Missing text layers.

   d) Missing lib in GDS.

   e) Missing soft layers.

Q 21.What is the clock latency?

It is the delay between the clock source and clock pin.It is two types.Clock source latency and clock network latency.The time taken from clock source to definition pin is the clock source latency and from the clock definition pin to clock pin of the flip flop 2 is the clock network latency.

Q 22.How to fix setup and hold violations?

A. Setup:-

  • Reduce the amount of buffers in the path.
  • Replace buffers with 2 inverters.
  • Replace HVT cells with LVT cells.
  • Increase the drive size/strength.
  • Insert repeaters.
  • Adjust cell position in layout.

    Hold:-

  • By adding delay in data path.
  • Decrease the drive strength in data path.

 

Q 23.What are the inputs of floor plan?

  • .v
  • .lib and .lef
  • .sdc
  •  tlu+ file
  •  Physical partitioning information of design.
  •  Floor plan parameters like height,width,aspect ratio,utilization.
  •  Pin/pad position.

Q 24.What are the outputs of floor plan?

  • Die/block area.
  •  I/O pad placed.
  •  Macro placed.
  •  Power grid design.
  •  Power pre routing.
  •  Std-cell placement area.

Q 25.What is keep-out margin?

It is the region around the boundary of fixed macros in design in which no other macros or standard cells not allows.It allows only buffers and inverters in it's area.

Q 26.How will you synthesize clock tree?

a) Single clock-normal synthesis and optimization.

  b) Multiple clocks-synthesis each clock separately.

  c) Multiple clocks with domine crossing synthesis each clock        separately and balance the skew.

Q 27.What is IR drop?

Each metal layer has a resistance value.When the current flows through the metal the resistance consumes some current.This is the IR drop.If the resistance is more the drop also more.

Q 28.how to reduce power dissipation using HVT and LVT in the design?

If we have positive slack use HVT cells in the path and use LVT cells in the path when we have negative slack.HVT cells have large delay and less leakage power. LVT cells have less delay and   more leakage power.To meet the timing use LVT cells and to reduce the leakage power use HVT cells.

Q 29.What is wire load model (WLM)?

It is an estimation of delay based on area and fan-out.The delay depend on..

   Resistance.

   Capacitance.

   Area of the nets.

Q 30.What is signal integrity?

It is the ability of an electric signal to carry information reliably and to resist the effects (cross-talk, EM) of high frequency electromagnetic interface from near by signals.

Q 31.Doe's cross-talk always cause violations?

Yes it is because cross-talk adds or subtracts energy to the signal which cause setup or hold violations.

Q 32.How a positive or negative edge triggered flip flop will effect the setup and hold violations?

Positive edge triggered flip flop will favour to setup (setup violations will reduce).Negative edge triggered flip flop will favour to hold (hold violations will reduce).

Q 33.What are the i/p's and o/p's of power planing?

i/p's:-

  • Data base with valid floor plan.
  • Power rings and power straps width.
  • Spacing between vdd and vss straps.

   o/p:-

  • Design with power structure.

Q 34.What are the i/p's and o/p's of placement?

I/P's:-

  • Netlist.
  • Mapped and floor planed design.
  • Logical and physical lib.
  • Design constraints.

   O/P 's:-

  • Physical layout information.
  • Cell placement location.
  • Physical layout,timing and technical information of lib.

Q 35.If we increase the fan-out of the cell how it will effects delay?

Fan-out lead to increased capacitive load on the driving gate.Therefore longer propagation delay.

Q 36.What is multi driven nets?

It can be created in RTL by introducing drivers of same or different signal strengths.However during a net with multiple signals are not considered as a good practice.This could lead to failure in a post silicon verification as the driver strength can potentially get heavily altered during manufacturing defects.Many EDA tools don't allow multi driven nets in the design and the designers are expected to remove all multi driven nets from the design.

Q 37.What is magnetic placement?

To improve the timing for the design or to improve the congestion for a complex floor plan we can use magnetic placement to specify fixed objects as magnets and icc moves their connected standard cells close to them.For the best results perform the magnetic placement before standard cells are placed.

Q 38.What is lookup table?

The table is drawn by using input transition and output load values.It is used to calculate the cell delay.

Q 39.What does we do for low power design?. We apply low power techniques

  • Clock gating.
  • Multi voltage design.
  • Power gating.
  • Multiple vt libraries.

Q 40.What are the types of checks done in prime time?

a) Timing (setup,hold,transition).

   b) Design constraints.

   c) Nets.

   d) Noise.

   e) Clock skew.

Q 41.What analysis we do during floor plan?

a) Overlapping of macros.

   b) Allowable IR drop.

   c) Global route congestion.

   d) Physical information of the design.

Q 42. What are the different types of delay models?

a) WLM (wire load model)

   b) NLDM ( non linear delay model)

   c) CCS (composite current source)

Q 43.Where placement blockage is created?

At floor plan stage it acts like guidelines for placement of standard cells.In CTS stage in order to balance the skew more no.of buffers and inverters are added and blockages are used to reserve space for buffer and inverter.

Q 44.Why we apply NDR's in placement?

Applying NDR's in placement because of avoiding congestion and timing problem.These problems are difficult to fix at routing.These are special rules like double spacing and double width.

Q 45.What is mesh?

The horizontal and vertical power straps in the design are called mesh.

Q 46.Why I/O cells are placed in the design?

The i/o cells are the one which interact in between the blocks outside of the chip to internal blocks of the chip.In floor plan stage i/o cells are placed in between core and die.These are responsible for providing voltage to the cell in the core.

Q 47.What are the complex cells in the floor plan?

These are the cells which are made of group of std-cells based on functionality requirement.This cells height is grater than the std-cells and lesser than the macros.

Q 48.How to fix Electromigration (EM)?

. a) Down size the driver.

   b) Increase the metal width.

   c) Add more vias.

   d) Spread cells.

Q 49.What is etching?

It is used in micro-fabrication to chemically remove layers from the surface of the wafer during manufacturing.

Q 50.What is SOI technology?

It refers to use of layered silicon insulator.It reduces leakage current and lower power consumption.

Q 51.What is aggressor and victim?

these two terms will come in cross-talk concept.

   Aggressor:- A net which create the effect on nearer net(victim).

   victim:- A net which receives the effect from nearer net(aggressor).