Professional Documents
Culture Documents
Interview PDF
Interview PDF
Technologies
QUESTIONS
The document contains interview questions based on experience shared by
candidates.
Pozibility Technologies
Table of Contents
Extra Questions 30
Pozibility Technologies
4) Types of skew
Global skew - between any 2 flops driven by same clock source
Local skew - between any 2 adjacent flops
b) SDC Checks
i. IO Delay constraints are defined or not
ii. There is no clock defined for clock port
iii. Multiple clocks are reaching the flop
iv. There is no input transition or input driver defined for a port
v. There is no load defined for output port
c) Linking related checks
i. LEF Views
1. Cells not defined in library
2. Cells with missing dimension, geometry, direction
ii. LIB Views
1. Timing related information is missing
iii. PG Checks
1. Reports if PG nets are not defined, or not connected to PG terminals
iv. Tie high, Tie low checks
1. Reports if tie high, tie low terminals connected to other nets.
d) Netlist vs SDC Checks
i. For this we do the analysis using ZWLM (zero wire load model)
ii. Use command set zero_interconnect_delay_mode = true to do this
2. How will you get to know that input of any gates is connected to power or gnd pin is valid or
not?
While doing the sanity check, we will come to know this.
Or, in power planning, we run the command – check_design, this also reports if input is
connected to power or ground pin.
Yes, special cells in upf are power management cells, like power switch, retention cells, isolation
cells, level shifter, always on cells.
7. How you will check that power pin of macros is connected to power pin or not.
Check_mv_design, verify_pg_nets (ICC Commands)
8. What is command to check whether the libs are properly loaded or not?
Check_library
12. For create bounds how much utilization you have provided. Types of bounds?
40-50% utilization. Soft bound, Hard bound
17. What is skew? In CTS report you will see local or global skew reports?
Skew is difference between latencies. There are two types of skews, local and global skews.
Local skew is skew between two adjacent flip flops, while global skew is between any two flip
flops across the block.
Pozibility Technologies
report_clock_tree -local_skew
report_clock_timing -type skew
19. What analysis you will do, if you are getting shorts?
In intel, we used rip_n_route.tcl to fix metal shorts violation.
20. Tool will try to upsize and add buffer during optimization. Why we are using command size-
cell?
Size cell is used to resizing, vt ein eco stage to manually change the drive strength.
22. Combination of what is better? Inverter buffer or only inverter or only buffers?
It depends on situation but mostly it is inverter and buffer combination.
24. Why they will have equal rise and fall time. What will happen if I use normal buffers?
They have equal rise/fall time because of their W/L ratio in PMOS vs NMOS. If we use, normal
buffers, we will encounter different rise/fall time which could lead to min pulse width violation
too.
Pozibility Technologies
8) For leaf cell and non-leaf cells to which cells you apply NDR ?
We apply NDR to leaf cells.
10) Different flavors of lvt devices and hvt cells and which lvt is used for setup and which lvt cell
for low power?
11) How did you fix DRC w.r.t. double patterning, which metal layers had double and triple
pattern ?
2) Causes of congestion?
Congestion could be caused due to mainly due to cell density, pin density or module splitting.
3) Contents of spec-file?
Spec file is input to CTS Stage. It mainly contains, target skew and target latency (insertion delay).
It also contains NDRs and other details like which buffers to use for building the CTS.
10) What happens if u put dummy metal in combo path and will it affect other metal?
Dummy metal is added to increase the yield but it may cause shorts, drc violation, if it is cross talk
with data metal then causes timing effect in data path.
15) What are fixes of setup apart from buffering, upsize, VT cell swapping?
Useful skew, detour net, cloning.
c) Placement Stage:
Pre-placement
i. read_def: reads the design data file in def format
Pozibility Technologies
d) CTS Stage:
i. Get_clocks : displays all the clocks in your design
ii. Report_clocks –clock_name : displays clock information of particular clock
iii. Define_routing_rule : Defines NDR for clock.
Example:
define_routing_rule new_rule -default_reference_rule -widths {m1
0.8 m4 0.9} -spacings {m1 1.0 m4 1.0}
You can specify the reference rule with respect to which NDR is defined. It could be
default_reference_rule too. You need to specify only one reference rule at once.
iv. set_clock_tree_options –routing_rule rule_name –clock_trees
clock_name : It will link the ndr defined above to specified clock clock_name.
v. set_clock_tree_references : specifies the buffers, inverters, clock gates to be
used in CTS.
vi. Clock_opt: creates the clock tree, routing of nets, performs extraction and
optimization and hold time violation on the design.
vii. Check_clock_tree : Checks the clock trees of the current design for common
problems that can adversely impact clock tree synthesis.
e) Static Timing Analysis:
i. group_path:
ii. check_timing:
iii. psynopt -area_recovery -congestion:
iv. report_port:
v. report_qor:
vi. report_timing -from -to -trans -cap -net:
vii. report_constraints:
f) Routing Stage:
i. Global routing: route_zrt_global
ii. Track Assignment: route_zrt_track
iii. Detailed routing: route_zrt_detail -max_number_iterations 20
iv. route_opt will do all above three actions in single command.
Floorplan stage: Congestion can occur in floor-plan stage while placing macros and leaf cells. To
avoid this, we may use following command:
create_fp_placement -congestion_driven
Placement Stage: Congestion in placement stage is mainly due to high pin density or cell density. To
avoid congestion, we can use methods like spreading of cells, use of partial blockage etc.
Command for congestion driven placement is create_placement -congestion.
create_placement -congestion
create_placement -congestion_effort low|medium|high
We may also use refine_placement for refining the placement.
refine_placement -congestion_effort low|medium|high
Congestion effort option specifies the effort level for congestion mode. The default effort level is
medium.
4) Skew, slew, Trans Everything is fixed. Latency is more why you have to reduce the latency?
If latency is more, chip might consume more power.
5) How will you get to know which buffers to use for CTS stage?
It will be mentioned in .spec file, which buffers to use. In ICC, One can use command
set_clock_tree_references for telling the tool which clock buffers to use for which clock.
Example:
icc_shell>set_clock_tree_references -clock_trees CLK1 -references
buffer4x
Pozibility Technologies
6) How tool will take buffers for CTS, if it's not mentioned in spec file?
The tool will take default value.
8) Which type of drc you faced and how you fixed drc errors?
I got DRC errors related to open/shorts, minimum metal spacing, width and pitch. DRCs were
fixed manually.
6. What are Hold and setup fixes you used in your design ? Explain with commands.
Setup fixing techniques:
a. Insert buffers with faster slew in data path.
Add_buffer_on_route : Adds buffers along the route of the specified nets.
add_buffer_on_route -repeater_distance 100 -first_distance 80 net1 lib/BUF
# adds 2 buffers, first after 80 microns from driver pin, second after 100 microns from first
buffer.
a. Decreasing the standard cell size or swapping the lvt/svt with hvt
Size_cell: Command for resizing the standard cell.
b. Inserting the delay cells
insert_buffer e1/Z class/B1I
3) How many metal did you have in your block and explain which are allocated to what ?
28nm - M9
10nm - M11
4) Why can't you use lower metals for power and clock ?
Lower metal layers have lower width and hence, they have high resistance. They can’t be used for
critical nets like power, clock.
6) If placement run takes long time, while running how can you find congestion or timing issues
before run is completed ?
We will go to pre-placement stage reports, to see what went wrong. Based on possible problems we
will proceed.
11) How can you fix, if you have 2000 violation paths?
In prime time, we will use fix_eco_timing to analyse.
Then in primetime we will use report_bottleneck command.
12) What is your WNS value, How can you fix it?
WNS - 800 pS others were in range of 300-500 pS.
WNS after fixation of timing was 300 pS.
Total violating paths were 400.
a) Decreasing the standard cell size or swapping the lvt/svt with hvt
Size_cell: Command for resizing the standard cell.
b) Inserting the delay cells
insert_buffer e1/Z class/B1I
16) How do you start primetime what inputs you will give ?
4) If timing is not met during placement stage, can you still continue for CTS?
We should keep on checking the log continuously, and we will observe the value of WNS. If it keeps
on increasing to large value then we need to see our floorplan again.
5) What was the setup and hold values. What was WNS in placement and CTS stage?
WNS - 800 pS others were in range of 300-500 pS
WNS after fixation of timing was 300 pS
7) To fix timing, did you use PT ? If yes, what were the commands.
fix_eco_timing -type setup #setup
fix_eco_timing -type hold #hold
9) What were the guidelines given to you by PV team for your design.
10) What is difference between Graph based and Path based analysis.
GBA Mode is more pessimistic and less time consuming.
PBA is more accurate and more time consuming.
11) Out of GBA/PBA which one you use during AOCV and why ?
PBA is more pessimistic. AOCV is more accurate analysis. It considers PBA only.
report_timing -pba_mode
Pozibility Technologies
6) Explain the issues and fixes you done in your recent project ?
Placement Issues -
I got timing violations, since module was splitted during placement. I used placement bounds to fix
setup timing. Then because of cells sitting closer, congestion due to cell density got increased. We
used keepout margin to fix congestion.
CTS Issues -
CTS goal was to fix skew and latency in clock path. In CTS, I got many shorts since since tool had
routed many signals in layers which were reserved for CTS.
Routing Stage -
We faced timing violations in routing stage which we took to prime time and fixed it.
10) What about STA? What are the things you come across in it?
During STA, we try to fix max cap, max trans, max fan-out, setup, hold related issues. We take the
updated netlist along with spef, .sdc, .lib in prime time and fix timing in all corners.
11) What is fixes you done for both setup and hold? Explain in detail?
12) Utilization after floor-plan and placement? Also, total design utilization?
14) How much time you took for each fixes in each stages?
18) Have you done pv checks? What are those? Explain in brief.
For PV, different team was there. I fixed only shorts.
Pozibility Technologies
5. If an uncertainty already added to the paths why don’t you check hold before CTS.
The uncertainty before CTS is just an estimate and not real one. The clock is ideal before CTS and
hence we prefer to check once clock is synthesized.
8. What is the Name of the check for missing tap for cell?
Preplacement checks
11. Write a script to find all the instances with Name inst_* from report?
5. How did you achieve your skew with this latency number - your block contains 11.89 million
gates?
6. How will you try to minimize the timing in placement and CTS stage ?
Usually placement bounds and path grouping is used to minimize timing in placement stage.
In CTS we can use high driving strength buffers, replace buffers with pair of inverters etc. to
minimize timing.
7. Consider your latency is more, how will you minimize it after CTS is done?
We can reduce latency by using upsized buffers in CTS.
9. If a block is placed between two flops, and also combinational path also split due to that, routing
detoured. In this path, timing violation is there, how you will meet timing in this case?
5. How tool calculates cap and trans? How does it come to know that cap and trans are violated ?
7. How will you qualify your placement stage apart from timing checks?
Apart from timing, we need to see that there is no congestion. Also, there should not be excessive
buffering done by tool. The floorplan utilization should not shoot up too much.
10. If setup is violated by 200ps, your clock period is 1ns, and what will you do next. Will you proceed
for routing or go back to rerun CTS after applying fixes for timing violation?
11. If setup or hold is violated at last. Can you still proceed for tape-out? If yes, how will you proceed?
Yes in setup violation, we can proceed for tape-out with reduced frequency.
14. If tool has optimized the clock tree and still the skew is not met in 2000 paths. The clock buffers
used in tree are of highest available strength. What will you do to fix skew?
In that case, mostly it could be related to fan-out of clock.
15. If you have fixed setup in one path but it led to hold violation. List all possible causes for this and
how will you fix it.
2nd Round
2. Inputs for each stage. How will you proceed from beginning?
Go here
8. For a same standard cell used at many places in design, why library setup time is not reported
same across design?
Library setup time for same flavor of standard cell will vary across different corners. For one single
corner setup time is same.
9. What sort of scripts did you work on. Then, Scripting related questions ?
10. How will you get all cells and instances of same hierarchy?
11. Commands for timing fixing.
Pozibility Technologies
Extra Questions
1) What are inputs to PD ?
Antenna effect is plasma induced gate oxide damage that can cause reliability problems in
manufacturing of MOS ICs. It occurs due to accumulation of charge carriers near the gate of transistor.
The tool will calculate if metal area connected to gate is more than gate area then, charge accumulation
will occur and may damage the gate. Hence, we need to reduce it. It can be done by use of metal jogging
technique (use of higher metal layers), use of standard cells or use of reverse bias diode.
3) What is Electromigration ?
It is the slow displacement of metal atoms in a semiconductor. It occurs when the current density is high
enough to move metal ions in direction of electron flow. This phenomenon causes the eventual loss of
connections or failure of a circuit. Hence, the circuit faces reliability issues. To test for reliability, the DUT
is put under high temperature operating life conditions, and the data obtained is extrapolated to
estimate the durability.
Ans - Keep out margin is attached to cell/instance, which means if you move cell/instance the keep-out
margin also moves along with the cell. Blockage depends on its coordinate; hence it stays in the same
place.
Tap cells ensures n-well substrate continuity in the design. Tap cells should be placed such that they
have uniform horizontal periodicity and vertical continuity in the design. Horizontal periodicity reduces
Pozibility Technologies
when we migrate the design from upper node to lower node. Vertical continuity can be disturbed only if
macros are placed in the path of the tap cells.
8) How will you create the logical power and ground connections in design?
Ans – derive_pg_connection will connect power and ground pin to specified power and ground
nets. To verify weather all power and ground pins of standard cells, macro cells are connected to
corresponding power and ground nets, we can use verify_pg_nets.
10) What are the sign off checks you performed and how did you do it. Explain with commands.
Sign off checks - DRC and LVS.
11) While analysing setup at worst case slow corner, we don’t derate the late path, however we
derate the early path. Why ?
In slow corner (worst case slow), the data path is already the slowest possible. Hence, we don’t derate it
further.
13) How tool will know that clock is ideal in placement stage ?
14) What is pipelining technique for fixing the timing of design ? How is it used, explain with commands
?