PD 1
PD 1
No DRC’s.
INPUTS:
1) Verilog Netlist
2) Timing libraries (.libs)
3) Physical libraries (.lefs)
a. Tech lefs
b. Standard cell lefs
c. Memory lefs
d. IP lefs
4) Constraint file (SDC)
5) Extraction related files (QRC TechFiles/captables)
6) DEF (IO File)
7) MMMC setup for timing
• LEFS
• Technology LEFS
▪ LAYER:
Type,Direction,minspace,spacingtable,parallelrunlength,Thickness,width,pitch,
Area,Min enclosure area, Resistance, capacitance, End Cap, Min and Max
densities.
▪ VIA:
Type, spacing table, property, Antenna information
▪ Non-default Rules
▪ Core site information: It includes class (core), size width X Height.
• Standard cell , Memories and IO lefs
▪ Macro Name, Class(std cells = core , remaining = block), Origin, Size, OBS
▪ pin : Direction,Use,Port,Layer Metals
Initial Checks:
Netlist Related:
1) Multi driven Nets (Will Inform to synth)
2) Empty Modules (Will Inform to Synth)
3) Net list Unique (will inform to synth)
Will move forward with this command set init_design_uniquify {1}
4) I/P Floating terminals (will inform to synth and will add Tie cells)
5) Dangling Nets (will inform to synth)
6) checkDesign -netlist –dangling
7) Assign statements.
SDC Related
1) Unconstrained endpoints (will inform to synth)
2) Clock not found where clock is expected (will inform to synth)
check_timing -verbose
Macro Orientations: The poly orientation in macro and the poly orientation of standard cell
should be in same direction. The poly orientation will be vertical in R0, R180,Mx for lower technologies
like 22nm. That’s why the rotation of the macro not allowed. If we change the rotation of macro the
impact will be cached in Physical verification tools.
Why Hallow:
1. Hallow is more like a hard blockage. The difference is the hard blockage will not move with macro
move. But, hallows will move the hard macros moving.
2. Usually the pins layers which are available for macro are higher than the pins layers of the
standard cells. (Ex: Macro pins in 4th layer and std cell pins in 2nd layer)
3. There is no problem if two standard cells are setting by each other. But, if the standard cells sit by
Macros (aborted) then some DRC issues will be there in between layers used in macro and layers
which are connecting to the standard cell.
Different kind of end caps were added at each different edge. Like below
• LeftBottomCorner - SC7P5T_CNREXTANTENNANRX9_CSC36L
• LeftTopCorner -SC7P5T_CNREXTANTENNAPRX9_CSC36L
• RightBottomCorner -SC7P5T_CNREXTANTENNANLX9_CSC36L
• RightTopCorner -SC7P5T_CNREXTANTENNAPLX9_CSC36L
• LeftBottomEdge -SC7P5T_CONCAVENRX9_CSC36L
• LeftTopEdge -SC7P5T_CONCAVEPRX9_CSC36L
• LeftEdge -SC7P5T_ROWCAPANTENNARX9_CSC36L
• RightBottomEdge -SC7P5T_CONCAVENLX9_CSC36L
• RightTopEdge -SC7P5T_CONCAVEPLX9_CSC36L
• RightEdge -SC7P5T_ROWCAPANTENNALX9_CSC36L
• TopEdge -SC7P5T_COLCAPPX1_CSC36L
• BottomEdge -SC7P5T_COLCAPNX1_CSC36L
WELL TAPS:
1. Due to bulk resistance occur in the CMOS both NMOS & PMOS are in ON state it causes the latch
up problem in CMOS devices. If this bulk resistance go on increasing then sever problem will be
there.
2. To avoid this latch up problem well tap cells are added.
NAME: SC7P5T_TAPZBX7_CSC36L
Cell Interval: 70
PG Pin Connectivity:
1. Global Net connections: Through naming convention the nets should connected to all same
named nets.
PG short:
Connection established between two different named nets. (Verify Geometry)
PG Opens:
No connection established for the defined net connections. (Verify Connectivity)
1. Stack Via (a stack of layers from to layer to bottom layer or PG pin layers).
Do’s:
1. Timing driven placement: If the design is timing critical then we have to use timing driven
placement. In timing driven placement tool will place standard cells based on module
communication and timing delays.
2. Congestion driven placement: In congestion driven placement it will give priority to
congestion.
Goals of Placement:
a) Congestion.
b) Tran fixed.
c) Timing.
d) Module Placemen
CTS Goals:
a) Building the clock tree.
b) Clock coverage (Each and every sequential cells in the design should have the clock).
c) Balancing the clock tree and minimizing the insertion delays in order to meet timing, power
requirement.
d) Clock tree optimization.
1. If Density of the design is high, while routing detours will exist in the design it may
effect the timing. And in density congested areas probability of DRCs is high.
2. As in routing realistic RC values will be considered so that, timing may effect.
3. Because of cells which have high pin density (more number of pins) DCR’s effect is
high.
Algorithm of Routing:
• DRCs, SI aware and replacing the multi cut vias for strong connectivity and reducing
manufacturing errors
• Process antenna violations, glitches and noice.
• timeDesign • congestion
• check filler • Density
• LEC • Utilization
• check_timing • verifyConnectivity
• checkPlace • verifyGeomet
Physical Verification:
1. Stream out GDS
2. Initial Merging.
3. Fill generation.
4. Extraction.
5. Double patterning.
6. Final Merging.
7. Spice Netlist
Checks:
Flow:
•All
StreamOut GDS standard
cells GDS's
s
Setup and Hold equations:
R2R
Setup: (T clk + T cap – T setup – T uncertainty) – (T launch + T cq + T combi)
I2R
Setup: (T clk + T cap – T setup – T uncertainty) – (I/P external delay + Tcombi internal)
R2O
Setup: (Virtual clock – o/p external delay) – (T launch + T combi internal + Tcq + T uncertainty )
b. RC Factors:
• The RC Factors are generated based on the two engines for extraction in Quantus
Tool. Those two are
a. Default engine: This engine generates RC values of nets based on the trail
route which is not realistic.
b. Detailed engine: This engine enables the post route stage. It will do
extraction based on detailed routing which is accurate.
• By using these two engines extracted reports the tool called ostrich will generates
RC Factors for each net. Based on these factors before stages of routing will
increase the delays of nets.
5. Which layers are used for the clock routing.? Why ?
Top signal layers are usually preferred for the clock routing (5, 6). As the width is
indirectly proportional to the resistance cross talk will effect should be less. And one more
thing is if we prefer lower layers for clock routes as we use double width and double spacing
the layers tracks will be blocked. And routing for signal nets are a bit congested.
6. Timing Is violated in placeOpt stage then what will you do?
a. First thing is module placement. We need to visually check whether the cells are
placed far away.
b. Trans in the design. In this case we need to resolve the trans changing the floor
plan, placement of some macros or usage of proper module constraints.
c. Check the buffers count in data path and should know the reason for buffer count
and resolve them. The reason Is the tool may use buffers to overcome the tran
violations and max fan out violations.
d. If all above cases are good then we need to check the cell delays of the path. The
memories (Hard macros) produces more delays. As the memories are harden we
will some macro models before going into the CTS stage.
7. How to balance the CTS ?
a. With lesser insertion delays and better skewing.
b. Better clock tran limits.
c. Observing the min and max latencies.
d. If the latencies are high then it will leads to bad skewing.
e. Clock buffers types.
f. For high delay consuming paths like macros path applying the macro models.
8. If setup is violated after CTS what will you do?
a. We have to check the skew value between begin and end pair. If the skew is
negative then it will automatically leads to setup violation. Then we need to
resolve the negative skew.
b. If there is no negative skew. Then we need to look in to the data path for possibility
of decreasing the delays.
c. Or else decrease the launch path delay. Else increase capture path delay.
9. If hold is violated after CTS what will you do?
a. Need to check the skew. If the skew is more then we need to resolve this skew.
b. If there is no problem with more skew. Then we should try to add some delay to
the data path.
c. Else try to increase the launch path. Or else decrease the capture path delay.
10. Routing and Route Opt difference?
a. Routing intention is to provide physical connectivity by considering the logical
connectivity in the netlist. Here realistic routing will be done (honoring the design
rule checks). Because of this realistic routing net lengths are changed, then these
nets will offer more delays. Because of this realistic routing the violations will be
observed. For balancing these violated paths we should need to do optimization
after routing.
11. Differences observed in between 22nm and 44nm?
a. Area will be decrease.
b. Cell delays are less.
c. Routing wise quiet difficult for DRCs aware routing.
d. DFM related changes like End caps around the core area.
e. Will be challenging for the Physical verification perspective.
12. Techniques to reduce the latencies?
a. Nearby placement of clock gating cells.
b. Try reduce the clock gating cells delays by upsizing.
c. Defining the macro models.
13. Effect of higher latencies?
a. Will effect when OCV come in to the picture more skew will be observed for high
latency paths.
b. Possibility of bad timig QOR.
14. What are the reasons for IR Drop?
a. No vias on metal layers.
b. High Density bins region.
c. More Sequential elements are placed at on place. Need to spread them by padding
of partial blockages.
d. If it is ON-OFF then, power gaters placement.
e. Defining the source point for PG.
15. What are Inputs for LVS ?
a. .pv (Netlist) file from PnR stage. By using spice tool we will convert .pv into the
schematic. By merging the schematic with library cells schematic. We will have
final schematic (spice netlist).
b. And another input is merged Layout.
c. When comparing this layout and schematic the tool will convert this layout into
intermediate schematic form which is called as extraction.
16. Dynamic power dissipation formula?
• Problem
TrialRoute reports the following congestion "Overflow" along with the
"Congestion distribution" values in the log file:
• Solution
TrialRoute computes the overflow value using the squared root weighted sum
method. Hence, for the example report shown in the Problem section, the
overflow in the Vertical direction is actually computed using:
1.2*1+0.71*sqrt(2)+0.39*sqrt(3)+0.19*sqrt(4)+0.15*sqrt(5) = 3.59
This method is used to distinguish the low overflow from the high overflow
GCells but assign the higher weight on the high overflow GCells.
1. Inputs to run the block ?)
Ans. Netlist, libs, lef, sdc, captables, MMC file, QRCtechfile
2. Checks performed on inputs?
Ans.
Floor_Plan
1. Macro orientation?
2. On which layers pins are available?
3. Pins on track or not?
4. On what bases macro placement is done ?
5. Estimation of macro channels ?
6. How can we freeze the floorplan ?
Physical cells
1. Intention of Routing ?
2. Checks after Routing ?
3. Buffers count after RouteOpt?
PV
1. Checks performed in pv