- I am getting several emails requesting answers to the questions posted in this blog. But it is very difficult to provide detailed answer to all questions in my available spare time. Hence i decided to give "short and sweet" one line answers to the questions so that readers can immediately benefited. Detailed answers will be posted in later stage.I have given answers to some of the physical design questions here. Enjoy !
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?
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?
- 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.
- 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.
- 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?
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.