STA Interview Questions and Answers by Sri PDF
STA Interview Questions and Answers by Sri PDF
By
SriLakshmi Mariserla
2
SYNOPSYS
ROUND 1:
Max Tran:
Upsize the cell
Insert a buffer when the net is dominant
Buffer can be replaced with Inverter pair.
Move the cells nearer
Vt Swapping from HVT to LVT
Metal width increases
Metal jogging from lower to higher metals.
Max Cap/ Fanout:
Upsize the cell
Load splitting
Cloning
Swapping
I worked on 24 corners.
SriLakshmi
3
Eg:
0.720V_0.720V_ssg_-30C_CW_CCW CWorst_CCWorst
0.720V_0.720V_ssg_125C_CW_CCW CWorst_CCWorst
0.720V_0.720V_ssg_-30C_RCW_CCW RCWorst_CCWorst
0.720V_0.720V_ssg_125C_RCW_CCW RCWorst_CCWorst
1.05V_1.05V_ff_-30C_Cb_CCb Cbest_CCbest
1.05V_1.05V_ff_125C_Cb_CCb Cbest_CCbest
1.05V_1.05V_ffg_-30C_RCb_CCb RCbest_CCbest
1.05V_1.05V_ffg_125C_RCb_CCb RCbest_CCbest
SriLakshmi
4
Linking Checks :
We need to check, is there are any missing modules or missing pins in library.
This is done by link command.
Constraint Checks:
In Constarint Checks we need to check the SDC, i.e if there are any no-clock,
no-input delay, unconstrained endpoints. This is done by check_timing
Parasitic Checks:
In Parasitic Checks we need to check for not annotated nets. This is done by
Report_annotated_parasitics.
No clock
No Input_Delay
No driving cell
Unconstarined_endpoints
Generated_clock
Generic
Latch_fanout
The nets which do not contain RC values are called as not annotated nets.
90
250ps
35
SriLakshmi
5
The reason for double width is to avoid the EM violations and double spacing is to
avoid crosstalk.
ROUND 2:
Nepali
Starhawk
Starlord
The path which takes more than one cycle to capture the data is called Multicycle path.
SriLakshmi
6
Crosstalk is the undesirable voltage transitions between two or more adjacent nets
through a coupling capacitance.
When two nets are switching in same or different directions we get crosstalk delay.
Due to crosstalk delay timing is affected.
The path which takes only half cycle to capture the data is called Half Cycle Path.
Launch Clock +ve edge triggered & Capture Clock –ve edge triggered
0 5 10 15
0 5 10 15
Launch at 0 Launch at 10
Capture at 5 Capture at 5
When both the nets are switching in the same direction due to crosstalk the delay in
the victim is reduced due to this we get hold violations in data path and setup violations in
clock path.
When both the nets are switching in the opposite direction due to crosstalk the delay
increases in the victim due to this we get setup violations in the data path and hold violations
in clock path.
SriLakshmi
7
STATIC SIMULATION
ROUND1:
Project Issues:
For a path multicycle contraint is applied for setup and didn’t applied for hold, there I
faced issues.
A block contains multiple entry points due to that I faced more skew issues
Faced issues in fixing setup
Also, faced issues in fixing crosstalk.
Because that block contains multiple clock entry points due to that closing CSS block is
difficult.
I fixed those violations in the top by finding the hierarchical pin in report_timing –include
hierarchical_pins and pushed at that pin without effecting the other paths.
Hold Fixes:
SriLakshmi
8
0 5 10 15
Hold setup
0 5 10 15
Launch at 0 Launch at 0
Capture at 10 Capture at 0
33. How u fix violations in test mode? Did u run tweaker for this?
Mostly in the test mode we see hold violations, fixes of hold violations:
Inserting Buffer
Inserting lockup latch
Yes, we can run tweaker for this but I didn’t used tweaker for fixing hold in test mode.
A lockup latch is a sequential circuit which is used to address hold violations, and
skew problems when multiple clock domains are used in a chip. From a DFT perspective it
holds the previous scan data, and delays output transition so that the scan data can be
effectively captured.
SriLakshmi
9
D Q D Q
FF1 LATCH
CLK CLK
Lockup latch
CLK2
CLK1
WAVEFORMS:
CLK1
0 5 10 15 20
LATCH
0 5 10 15 20
hold setup
CLK2
0 5 10 15 20
SriLakshmi
10
Waveforms:
Crosstalk Noise:
Aggressor 0
Victim 0
Crosstalk Delay:
Aggressor 0
Crosstalk delay
Victim 0
28nm 10nm
1. Corners are less 1. Should work on more corners
2. Doesn’t have more crosstalk issues 2. More crosstalk issues
compared to below technologies.
SriLakshmi
11
XILINX
ROUND1
My role is to perform sanity checks and close the timing of all the sub HM’s and HM
top.
PT sessions
LEF
DEF
Fix Type
Fix Corners
Check Corners
First Tweaker invokes the PT Shell and source the tweaker.tcl, then dumps the slack
reports from fix corners and TWF from check corners, these are before ECO Reports,
then tweaker exit the PT Shell and the load all the inputs
o Libin
o Lefin
o Defin
o Verilogin
o Spefin
After loading all these inputs Tweaker generates the ECO’s and Incremental files
(Verilog, Def, Spef) using the slack reports and TWF using commands Defout, Spefout,
Verilogout, and ECOout.tcl. Then Tweaker exit the Tweaker shell and invoke the PT Shell
we need to load all the incremental files and generate the reports, these are after ECO
Reports.
Then we need to perform what if analysis by observing the before ECO’s and After
ECO’s and we should check the summary reports for how many cells sized or swapped or
inserted, if these are valid for that particular violation then we can provide these ECO’s to
PNR team.
SriLakshmi
12
PT sessions
LEF
DEF
PT sessions:
PT sessions contains Lib, Verilog, SDC, SPEF
o Liberty File:
It is also called as logical library, it contains the following
Cell Functionality
Delay Information
Timing Information
PVT Information
DRV’s
Power Information
o Verilog:
It contains the following
Name of the Module
Module information
Logical connectivity of cells
Pin Information
Port Information
Wire Information
Instance Information
o Synopsis Design Constraints:
It contains the following
Clock Definitions
Create_Clock
Create_Generated_Clock
Virtual clock
I/O Delays
Input Delays
Output Delays
Path Exceptions
False path
Multicycle path
Max Delay / Min Delay
SriLakshmi
13
Max Fanout
o Standard Parasitic Exchange Format:
It contains the RC values of all the nets.
Library Exchange Format:
It contains all the physical information, so it is also called as physical
library. There are two LEF’s
Tech LEF
Cell LEF
Tech LEF:
It contains metal and via information
Metal name
Metal Direction
Pitch Information
Area
Minimum Width
Minimum spacing
Resistivity
Max Density
Min Density
Via Name
Type of Via
Cell LEF:
It contains the cell physical Information
Cell name
Area
Site Information
Pin Information
Port Information
Obstruction
Design Exchange Format:
It contains all the physical information if the design
Design name
Die Information
Core area Information
Pin Information
Row Information
Grid Information
Components Information
Metal Information
Blockage Information
Halo Information
Via Information
SriLakshmi
14
Wire Information
Special nets Information
8 blocks
42. Did you give all the corners for Tweaker and Why?
No, we will give only the dominant corners for setup and hold, if we analyse the
violations in these corners there may be a chance of fixing the violations in the remaining
corners i.e, which are not dominant for setup and hold.
ROUND2:
500MHZ
Because the delays are more in those corners, so we see more setup violations in those
corners.
46. What are Tweaker Commands? How the Tweaker fix those violations?
Tweaker Commands:
SriLakshmi
15
47. What is the command for upsize and write the full command?
ROUND3
Setup:
It is the amount of time the data must be stable before the arrival of the clock edge.
Hold:
It is the amount of time the data must be stable after the arrival of clock edge.
DRV’s:
DRV’s are the design rule violations those are Max Tran, Max Cap, and Max Fanout
49. While you fixing Max Tran my setup is violating? What is your approach to fix
setup? There is no scope to optimize datapath and clock path (fully optimized)
My approach to fix setup is to optimize common path. But, while fixing max Tran setup
will improve but it will not violate.
CORNER:
Corner is defined as a set of libs characterized for process, voltage and temperature.
SriLakshmi
16
These corners covered all the possible PVT conditions that a chip can work in any
condition.
55. How he can know (lead) to run that much corners only? Who told him?
Based upon the project application the corners are decided, there will be a page of
corners may be he took from that.
56. Where is your native place and why you want to change location?
My native place is Vizag, to explore more on the design side I want to change the
location.
ROUND1
57. What is Tweaker?
Tweaker is an ECO generation tool.
59. Is there any other option other than DRV, Setup, and Hold?
Yes, there is power recovery, and Area recovery.
SriLakshmi
17
ROUND2
63. How upsize will help for fixing the setup violations?
Upsizing means increasing the drive strength, if drive strength increases the width of the
gate increases, if width increases the resistance reduces, as resistance and delay are directly
proportional to each other if resistance reduces the delay also reduces in this way upsizing
will help in fixing setup violations.
Lef
Def
QRC tech file
All these inputs are given to the StraRC Extraction tool to get the RC values
PT Sessions
LEF
DEF
Fix Type
Fix Corners and
Check Corners
66. PT flow?
In order to start PT we need the inputs
Lib
Verilog
SDC
SPEF
Then we should perform sanity checks
Linking Checks
Constraint Checks and
Parasitic Checks
Then we should analyse the reports using
Update_timing
Report_Qor
Report_timing
Report_Constraint –all_violators
SriLakshmi
18
FLOW:
READ LIB
RREAD VERILOG
LINK
READ SDC
CCHECK TIMING
RREAD
PARASITICS
RREPORT
ANNOTATED
PARASITICS
UPDATE
TIMING
REPORT QOR
RREPORT
TIMING
SriLakshmi
19
Lib
Verilog
SDC
SPEF
ROUND1:
SriLakshmi
20
74. What are the best corners and worst corners in your design?
Setup:
Worst Corners:
PVT Corners RC Corners
0.720V, -30C, 1Process CWorst
0.720V, 125C, 1Process CWorst
0.720V, -30C, 1Process RCWorst
0.720V, 125C, 1Process RCWorst
Best Corners:
PVT Corners RC Corners
1.05V, -30C, 1Process CBest
1.05V, 125C, 1Process CBest
1.05V, -30C, 1Process RCBest
1.05V, 125C, 1Process RCBest
Hold:
Worst Corners:
PVT Corners RC Corners
1.05V, -30C, 1Process CBest
1.05V, 125C, 1Process CBest
1.05V, -30C, 1Process RCBest
1.05V, 125C, 1Process RCBest
Best Corners:
PVT Corners RC Corners
0.720V, -30C, 1Process CWorst
0.720V, 125C, 1Process CWorst
0.720V, -30C, 1Process RCWorst
0.720V, 125C, 1Process RCWorst
75. Don’t you check FF for Setup? Why we have to check FF for Setup?
No we doesn’t check FF for Setup because in Fast -Fast the delays are less, there is no
chance of getting setup violations.
76. What we have to give in Tweaker data?
PT Sessions
Lef
Def
Fix Type
Fix Corners
Check Corners
SriLakshmi
21
77. What are the methods you gave for your Design?
Set slk_fix_hold_by_sizing true
Set slk_fix_hold_by_delay_insertion true
Set slk_fix_setup_by_sizing true
ROUND2:
Qualcomm
Since starting of my career I’m working on the same type of designs, I want to explore
on more designs.
Cell Delays
Timing Checks
Interconnect Delays
83. First what you will analyse after getting PNR Database?
First we need to perform the sanity checks, then we should analyse the timing
reports.
84. From report how you will get to know where you have to use the types of fixes for
setup and hold?
First we should see the slack and then we should check the datapath, for setup we
should see which cell is contributing more delay, we should analyse the reason for more
delay, is this delay is due to transition or capacitance or fanout or delta delay, then we should
check whether there are any HVT cell or less drive strength cell, if there is a less drive
strength cell we can go with upsizing option, or if there is any HVT cell we can go with
swapping, then whether there is net dominant if there is net dominant we need to insert the
buffer.
SriLakshmi
22
For hold first we need to check the skew, if the skew is balanced then we should see
the setup margin, if there is enough setup margin then we can go with insert buffer, if there is
no setup margin then we should analyse the datapath, we should see for LVT cells and high
drive strength cells, if there are any LVT cells we can go with swapping by checking the
setup, in the same way if we have any high drive strength cells then we can go with
downsizing by checking setup margin, if there is no setup margin then we should get setup
margin and then fix hold.
87. From report what u has to see? How it will helpful to reduce violations?
First we need to check the Slack and then Startpoint and Endpoint for the
clock, then we should check margins of uncertainty, if it is different clock we should check
the skew, else if it is of same clock then we should check datapath is optimised properly or
not, we should analyse the path and fix the violation with appropriate fixes.
88. What are the reports you will see after ECO? How you will see the observations?
Manual ECO:
We should see the Report_Qor, Report_Constraint –all_violators, Report_timing.
Report_Qor gives the summarised report i.e; for each path group it gives total
negative slack, wost negative slack, number of violating paths, cell count,
area, and drv’s.
Report_costraint –all_violators gives all the violations i.e; Drv’s, setup, hold
failing endpoints and slack.
Report_timing gives the worst setup slack in the design
From these reports we need to check the WNS, TNS and number of failing endpoints, if
we are fixing hold we should check there are any setup violations are pop upped due to the
hold fixes.
Tweaker ECO:
After Tweaker ECO we should do what if analysis between the before ECO and
after ECO, we should check the WNS, TNS, number failing endpoints, and then we should
check the summarised reports for number of cells inserted, sized, and swapped, check if these
number cells are valid for that particular violation or not.
SriLakshmi
23
ROUND3:
92. Which team you are from?
WLAN Team
Our responsibility is to close the timing in all sub HM’s and HM top
Linking Errors:
LNK -001: Cannot read link_path file.
LNK -049: Main library is not specified.
Constraint Errors:
PTE -014: No net timing arc from pin to pin.
PTE -025: The master of generated clock is not connected to any clock
source.
PTE -075: Generated clock has no path to its master clock.
Resistance:
SriLakshmi
24
Capacitance:
If it is net breaking then we should collect those nets and provide those to PNR.
100. How you are getting to know this the most violating path in your design?
By using Report_timing, by default report_timing gives the Worst setup slack in the
design.
102. How will you give double spacing in your design by tool?
105. Did you done any buffer insertion by using Tweaker tool?
SriLakshmi
25
Yes
ALTRAN
NANDINI
ROUND1
Yaseen
Project Issues:
For a path multicycle contraint is applied for setup and didn’t applied for hold, there I
faced issues.
A block contains multiple entry points due to that I faced more skew issues
Faced issues in fixing setup
Also, faced issues in fixing crosstalk.
Synthesis:
If there are any missing constraints in SDC, we will analyse and give the
constraints which are not proper.
If there are any LVT cells present in the design, we will give feedback to replace
these cells with HVT.
SriLakshmi
26
If all the DRV’s and Setup violations are met with margins and all the cells used
are of HVT then we will give signoff.
Physical Design:
Placement:
If some paths are not meeting the timing due to over
buffering and under buffering, we will give feedback to
optimise those paths.
If all the Data DRV’s and setup is met with margins or if
that violation can be met by sizing or swapping then we
will give signoff.
Clock Tree Synthesis:
If the skew is not balanced, we will give feedback to
balance the skew
If there is no minimum insertion delay, we will give
feedback to reduce the insertion delay.
If the Clock DRV’s, Setup and Hold are met with margins
then we will give signoff.
Routing:
If there are any not annotated nets, we will collect those
nets and give them to analyse and provide the RC values
for those nets.
If there is any crosstalk issue we will tell them to increase
spacing or net deteriorate.
If all the DRV’s, Setup, Hold and Crosstalk is met then we
will give signoff.
116. Fast to slow, slow to fast how you will apply in PT?
Fast to slow:
Fast to slow means launch clock period is 10 and capture clock period is 20
Fast
0 5 10 15 20 25 30
Slow
0 10 20 30
SriLakshmi
27
Default:
Setup: Hold:
Launch at 10 Launch at 20
Capture at 20 Capture at 20
By default the setup will move in end, hold will move in start. After applying the
multicycle path constarints then the directions of setup and hold in start and end are
Start
End
Fast
0 5 10 15 20 25 30
Setup Hold
Slow
0 10 20 30
Setup: Hold:
Launch at 0 Launch at 10
Capture at 20 Capture at 20
After applying the setup multicycle the hold is violating due to this we should apply
multicycle path for hold.
SriLakshmi
28
Fast
0 5 10 15 20 25 30
Setup Hold
Slow
0 10 20 30
Setup: Hold:
Launch at 0 Launch at 20
Capture at 20 Capture at 20
Slow to fast:
Slow to fast means launch clock period is 20 and capture clock period is 10
Slow
Defaul Hold 0 10 20 30
Default setup
Fast
0 5 10 15 20 25 30
Default:
Setup: Hold:
Launch at 0 Launch at 0
Capture at 10 Capture at 0
SriLakshmi
29
Slow
0 10 20 30
Hold Setup
Fast
0 5 10 15 20 25 30
Setup: Hold:
Launch at 0 Launch at 0
Capture at 20 Capture at 10
After applying the setup multicycle the hold is violating due to this we should apply
multicycle path for hold.
Slow
0 10 20 30
Hold Setup
Fast
0 5 10 15 20 25 30
Setup: Hold:
Launch at 0 Launch at 0
Capture at 0 Capture at 20
SriLakshmi
30
117. Will you apply clock gating for half cycle paths or full cycle paths?
We can apply clock gating for both half cycle and full cycle paths based upon the
requirement.
When both the nets are in switching condition then we get setup or
hold based upon the direction.
When one net is static and other net is switching then we get noise
violation, due to noise the functionality will be affected.
Func Mode:
Func mode is to test the functionality, the frequency of the func mode is 10
times more than the test mode.
Capture Mode:
Capture mode is also called as At Speed Mode, Capture mode is one type of
mode in Test mode, test mode is to test the manufacturing defects, Capture mode
works with the frequency of func mode.
Challenges:
For a path multicycle constraint is applied for setup and didn’t apply for hold, there I
faced issues.
A block contains multiple entry points due to that I faced more skew issues
Faced issues in fixing setup
Also, faced issues in fixing crosstalk.
For a path multicycle constraint is applied for setup and didn’t apply for hold,
there I faced issues.
I resolved that by applying the multicycle constraint for hold only for
analysis purpose, I given feedback to the Constraint team.
A block contains multiple entry points due to that I faced more skew issues.
I fixed those violations in the top by finding the hierarchical pin in
report_timing –include hierarchical_pins and pushed at that pin
without affecting the other paths.
SriLakshmi
31
Tweaker Tool:
In the fix type we should give setup.
In fix corner, worst corners of the setup are given.
In check corner, hold corners are given.
We can set the methods for upsizing and inserting.
The command to fix setup is slkfix –setup –all
PT:
Fix_eco_timing –type setup –method inserting/sizing –cell_list
When launch clock is positive edge and capture clock is negative edge (and vice
versa) those paths are called half cycle paths.
Launch Clk
0 5 10
Setup Hold
Capture Clk
0 5 10
SriLakshmi
32
Setup: Hold:
Launch at 0 Launch at 10
Capture at 5 Capture at 5
Launch Clk
Hold 0 5 10 Setup
Capture Clk
0 5 10
Setup: Hold:
Launch at 5 Launch at 5
Capture at 10 Capture at 0
Report_constraint –all_violators
126. How to fix 2 setup violations? How many sessions u load in PT (only setup
First we should see the WNS then we should analyse the paths, is it a same start
point or different start points, If it is single start point then we should forward trace and fix
with appropriate fixes.
If it is multiple start points then we should analyse the paths individually, first we
should analyse which cell is contributing more delay is it due to tran, cap, and crosstalk delta
then we should fix that violation using sizing or swapping.
SriLakshmi
33
When the launch clock is fast and capture clock is slow then those constraints will
have START option, because the changes should be made in the START only.
Fast
0 5 10 15 20 25 30
Setup Hold
Slow
0 10 20 30
Fast
0 5 10 15 20 25 30
Setup Hold
Slow
0 10 20 30
D Q Combo
D bbnob
FF1
CLK
CLK
SriLakshmi
34
Setup:
Setup Time = Required Time – Arrival Time
Required Time = Capture Clk + Capture Clk Latency – Tsetup –Tuncertainty + CRPR
Hold:
Hold Time = Arrival Time – Required Time
Required Time = Capture Clk + Capture Clk Latency +Thold +Tuncertainty – CRPR
To fix setup we pull the launch clock and push the capture clock.
Pulling the launch clock means reducing the delays in the arrival time by using
the sizing or swapping or removing the buffers without violating the tran, by
reducing the arrival time the setup slack improves.
Pushing the capture clock means adding the delays in the required time by
using the sizing or swapping or inserting the buffers, by increasing the required
time the setup slack also improves.
Yes, when there are more variations in the data path and when there is crosstalk
in common path both setup and hold fail in the same path. The CRPR is removed for hold
and it does not remove for setup when the crosstalk is present because the setup is considered
at different edges due to this the setup and hold will fail in same path.
Lib
RTL
SDC
Then compile ultra should be done and then analyse the reports using
Report_timing
SriLakshmi
35
Report_qor
Report_constraint –all_violators
Synthesis Flow:
READ LIB
RREAD RTL
LINK/ELABORATION
CHECK DESIGN
CREAD SDC
RCHECK TIMING
COMPILE ULTRA
UPDATE
TIMING
REPORT QOR
RREPORT
TIMING SriLakshmi
36
136. How you can say the setup is violated because of constraint issue?
If there is a multicycle path in the design, and the constraint is not applied to that path
then we get setup violation.
138. Instead of buffer why can’t u use pair of inverters? Is there any difference in terms
of delays?
When there are long nets we use inverter pairs, if we use inverter pairs for short nets more
area will be utilised so buffers are preferred for short nets.
But buffers consume more delay compared to the inverter pairs, inverter pairs improves the
tran than the buffer.
139. In long Data path, Net delay is dominating cell delay, Will u use pair of inverters?
Yes, we can use pair of inverters in long path but the cell delay must be less than the
net delay. Based upon the distance we should add the inverter pair.
SriLakshmi
37
Inputs:
Lib
RTL and
SDC
Outputs:
14nm 10nm
1. Corners are less 1. Should work on more corners
2. Doesn’t have more crosstalk issues 2. More crosstalk issues
compared to below technologies.
Placement:
In Placement I worked on 2 worst setup corners.
PVT Corners RC Corners
0.720V, -30C, 1Process CWorst
0.720V, 125C, 1Process CWorst
Setup:
PVT Corners RC Corners
0.720V, -30C, 1Process CWorst
0.720V, 125C, 1Process CWorst
Hold:
PVT Corners RC Corners
1.05V, -30C, 1Process CBest
1.05V, 125C, 1Process CBest
SriLakshmi
38
Routing:
In Routing stage I worked on the 4 corners, 2 setup worst corners and 2 hold
worst corners.
Setup:
PVT Corners RC Corners
0.720V, -30C, 1Process CWorst
0.720V, 125C, 1Process CWorst
Hold:
PVT Corners RC Corners
1.05V, -30C, 1Process CBest
1.05V, 125C, 1Process CBest
Func Mode:
Func mode is used to test the functionality, the frequency of the func mode is
10 times more than the test mode.
Test Mode:
Test mode is to test the manufacturing defects, the frequency of test mode is
10 times less than func mode.
144. Difference between pre layout STA and post layout STA?
During OCV analysis, different derates are applied to the launch path
and capture path, the cells present in the common path cannot drive both max and min delay
at a time in order to reduce this pessimism the CRPR is introduced, the pessimism is taken by
subtracting the min delay from max delay.
Basha
SriLakshmi
39
Master Clock:
Generated Clock:
Flat SPEF:
In Flat SPEF, LEF and every block DEF is considered and a single SPEF is
generated for each corner.
SPEF Stich:
In SPEF stich, every block SPEF is considered and then integrated to top as a
single SPEF for each corner.
150. Did u face any issues in Multicycle path and Halfcycle path?
I faced issues in Multicycle path, multicycle constraint is applied for the setup and
the constraint for hold is missed due to that I faced issues in those paths.
If there are any linking issues, first we should check the path which is given properly
or not, if the path is proper then we should inform to the library team.
First we should check is this is a real issue or constraint issue, if it is a constraint issue
we should analyse and inform to the constraint team.
If it is a real issue then we should check whether the violation is due to over buffering or
under buffering.
Then, we should check the startpoint and endpoint for the clock if it is different clock
then check the number of failing endpoints, if the number of failing endpoints is more then
we address the violation by using pushing and pulling. If it is a single startpoint and multiple
endpoints then we should forward trace and address the violation till the divergent point.
If it is multiple startpoint and single endpoint then we should back trace and address the
violation till the divergent point.
SriLakshmi
40
If any net dominant is there we can insert buffer when the cell delay is less than the net
delay, then we should check is there are any low drive strength cells in the path, if there are
any low drive strength cells then we should check hold margin and can upsize the cell, if
there are any HVT cells we can swap from HVT to LVT.
Output port, D pin/ SI pin are the unconstrained endpoints, Output port will come when
the port does not contain output delay and D pin/ SI pin when the clock is missing to the flop.
154. If u has 5ps hold violation and insert buffer option is not there what is your
approach?
We can fix that by downsizing or Vt swapping from LVT to HVT by seeing the setup
margin.
155. How u will apply derates for both setup and hold?
Setup:
For setup derates are added to the launch path i.e; late path and reduced in the
capture path i.e; early path.
Command for applying derates are:
By default the value will be 1 for both late path and early path, if we apply 10%
derate the values changes as below
Set_timing_derate – late 1.1 –data
Set_timing_derate – early 0.9 – clock
Hold:
For hold derates are added to the capture path i.e; late path and reduced in the
launch path i.e; early path.
Command for applying derates are:
By default the value will be 1 for both late path and early path, if we apply 10%
derate the values changes as below
Set_timing_derate – late 1.1 – clock
Set_timing_derate – early 0.9 – data
156. If your hold is violating with 100ps and there is no option of fixes and your setup
margin is 100ps what is your approach?
First we should get the setup margin by reducing the common path and
replace the cells with less variation cells i.e; variation between max and min
SriLakshmi
41
delay will be less. After getting the setup margin we can fix hold using
inserting buffer or sizing.
After performing the sanity checks, generated the timing reports, analysed the reports
and fixed the violations.
158. In a path if u has 10 cells and both setup and hold are violating what is your
approach (Divergence, Through Path)?
We should reduce the common path, and replace those cells with less variation cells
and fix setup and then hold.
No, we use different SPEF for every corner, for every corner the delays will vary so we
have different SPEF’s.
Hierarchical:
In hierarchical each n every block is closed and without integrating to the top,
top level timing is closed.
Flat level:
In flat each block is closed and then integrated to top and then the top level
timing is closed.
ADR80
ADR40
CSS
RFA Control
MAC-1
MAC-2
Debug
Always On
WLAN Team
Func Mode:
1000MHZ
SriLakshmi
42
Test Mode:
100MHZ
No, if the top level timing is met then only we will give signoff.
166. What can you do if the linking issues have no problem in a path?
If the linking issues have no problem in path, then we should inform to the lib team.
Clock name
Divide by logic
Master clock
Clock Port
Edges information
Edge shift information
169. If 10k hold violations what is your approach to fix those violations, those are real
violations?
First we should see the WNS, and if it is of same clock or different clock, if it is of
different clock we can fix those violations using pushing and pulling. If it is of same clock
then we should see it is single start point or multiple start points, if it is single start point then
we can forward trace till the divergent point and fix the violations by observing the setup
margin, if it is multiple start points then we should analyse the paths individually and fix the
SriLakshmi
43
violations by observing the setup margin, if there is no setup margin then we should get the
setup margin and then fix the hold violation.
Yes we can provide clock ECO’s with Tweaker i.e; pulling and pushing, but I gave
clock ECO’s manually, didn’t used Tweaker for that.
Minimum Pulse Width is defined as the amount of on period in total time period, if it
is not maintained we get violations.
If there are any normal buffers and normal inverters in the clock path we need to
replace those with clock buffers and clock inverters.
If more number of clock buffers is there we can replace with clock inverters.
We can replace the cells with less variation cells i.e; equal rise and fall.
We can swap the flip flops from HVT to LVT.
The cells with equal rise and fall are called as less variation cells.
SriLakshmi
44
176. What are the Max Transition fixes afte Base Tapeout?
If width increases the resistance reduces, due to that delay reduces, as the delay and
resistance are directly proportional to each other, due to this the Tran will be improved.
178. Max tran violations are there and if signoff is given is there any problem?
The expected results will not obtain and it will mask some Hold violations i.e; max
tran is violated when the delay is more due to that some hold violations may fix, they may
pop up after the fabrication, then the functionality will be effected due to that.
False path
Multicycle path
Max Delay/Min Delay
False Path:
The path which does not exist functionally is called False path.
All Asynchronous Clocks, Static Paths, and Non-functional paths are false paths.
MultiCycle Path:
The path which takes more than one clock cycle to capture the data is called
MultiCycle Path.
Then we should fixe those paths, because due to that other paths may violate.
Collected all the violated nets and given to the PD team to fix it by using appropriate
fixes.
When one net is switching and other is in static condition then we get Noise violation,
due to noise the functionality will be affected. Analysing these paths to fix those noise
violations is called Noise Analysis.
SriLakshmi
45
OCV:
In OCV flat derates are applied.
AOCV:
In AOCV the derates are applied based on the cell depth and physical distance.
186. How will u apply derates for setup and hold in 10nm and 14nm?
In 14nm derates are applied from AOCV, in 10nm derates are applied from POCV.
The Resistance and delay are directly proportional to each other, so as the resistance
increases delay increases, and if resistance decreases the delay decreases.
Crosstalk:
Crosstalk is the undesirable voltage transitions between two or more adjacent nets
through a coupling capacitor.
In the data path if the nets are switching in same direction, due to this the logic
is pulled and the delay will be reduced, due to this we get hold violations.
In the clock path if the nets are switching in the same direction due to this the logic
is pulled and the delay will be reduced, due to this we get setup violations.
In the data path if the nets are switching in different direction, due to this the
logic is pushed and the delay is increased, due to this we get setup violations.
SriLakshmi
46
In the clock path if the nets are switching in the different direction due to this the
logic is pushed and the delay will be increased, due to this we get hold violations.
191. Aggressor and victim both are in same direction it helpful to Setup?
No, it is not helpful to setup, the setup slack may degrade but it will not improve.
193. Aggressor and victim both are in opposite directions it will helpful to hold?
No, it is not helpful to hold, the hold slack may degrade but it will not improve.
Mux:
S’ (S’.A)’
A S’A+SB
(S.B)’
198. What is Tran limit for hold, from where you get Tran value?
SriLakshmi
47
Because the delays of setup and hold are different, so different Tran limits.
I analysed the timing reports based on WNS, TNS and number of failing
endpoints, if number of failing endpoints is more I did clock skewing, if there are less failing
endpoints, I analysed the data path for which cells are contributing more violations is it due to
tran, cap, fanout, or crosstalk delta based on that I fixed those violations with appropriate
fixes.
Static Power:
Static power is nothing but leakage power. Leakage power is due to sub
threshold currents, and when the circuit is in static condition due to rise in
temperature the charge carriers get doubled then the PMOS and NMOS will on
partially then there will be a leakage from VDD to VSS.
Dynamic Power:
Dynamic Power is of two types
Switching Power and
Internal Power
Switching Power:
Switching power is the power dissipated due to the charging
and discharging of load.
Internal Power:
Internal Power is again divided into two types
o Short Circuit Power and
o Internal Power
Short Circuit Power:
During the transitions from 1 to 0 and 0 to 1, when
the tran reaches to its 50% value then both PMOS and NMOS will on due to that
we get Short Circuit Power.
SriLakshmi
48
Internal Power:
It is the power dissipated due to switching of internal
capacitance of a cell.
HVT Cells
RVT Cells
LVT Cells
Ultra LVT cells
Initial Stage:
RVT Cells – 3%
Signoff Stage:
LVT Cells – 2%
205. Hold is violated there is no setup margin what is your approach to fix those
violations?
By reducing the common path, and replacing less variation cells, by using this we get
setup margin and then we can fix hold violations.
CRPR value is added to the required time in setup due to that the setup slack
improves and we get certain margin.
207. Tell me CRPR with Crosstalk and without Crosstalk to fix the violations, CRPR
value zero in any case?
Without crosstalk CRPR is removed for both setup and hold, with crosstalk CRPR is
removed for hold, it is not removed for setup.
SriLakshmi
49
CWorst:
In CWorst the capacitance is dominant i.e; maximum capacitance, and
Interconnect Resistance is smaller, it is also known as Cmax Corner.
CBest:
In CBest the capacitance is minimum, and interconnect resistance is larger , it is
also called as Cmin Corner.
Mirafra
First we should check the number of failing endpoints, if there are less failing
endpoints then we should see the setup margin and can go with insert buffer option.
Else if there are more failing endpoints then we can go with clock skewing.
First we should check is this is a real issue or constraint issue, if it is a constraint issue
we should analyse and inform to the constraint team.
If it is a real issue then we should check whether the violation is due to over buffering or
under buffering.
Then, we should check the startpoint and endpoint for the clock if it is different clock
then check the number of failing endpoints, if the number of failing endpoints is more then
we address the violation by using pushing and pulling. If it is a single startpoint and multiple
endpoints then we should forward trace and address the violation till the divergent point.
If it is multiple startpoint and single endpoint then we should back trace and address the
violation till the divergent point.
SriLakshmi
50
For setup If any net dominant is there we can insert buffer when the cell delay is less
than the net delay, then we should check is there are any low drive strength cells in the path,
if there any low drive strength cells then we should check hold margin and can upsize the
cell, if there are any HVT cells we can swap from HVT to LVT.
For hold, if there are less number of failing endpoints then we can check the setup margin
and go with endpoint buffering. If there are more failing endpoints we should analyse the
paths and fix the violations using downsizing or VT swapping from LVT to HVT by
checking the setup margin.
Based upon the scenario and issue the time depends, if there is sufficient margins
analysis will not take that much time but if there is no margin we should analyse the paths in
detail and then fix so it takes some time to fix.
218. What are all the Tcl scripts you have done?
I written some procedures to get the ports based on the direction, to get
all the clock gating cells, to get particular clock attributes, if there is cell names
collecting the instance names, if instance names are there collecting the cell names,
if net is given collecting the pins connected to that net, if a pin is there collecting
the nets connected to that pin.
Yes, I have done endpoint buffering to fix the hold by checking the setup margin.
I applied for analysis purpose only, but I didn’t modify the SDC.
221. Tell me Uncertainty value in your design for Setup and Hold?
Setup: 120
Skew – 80
Jitter – 20
Margin – 20
Hold: 100
Skew – 80
Margin – 20
SriLakshmi
51
SriLakshmi