Professional Documents
Culture Documents
Qualcomm Client Interview Question - Downlaod VLSI FOR ALL
Qualcomm Client Interview Question - Downlaod VLSI FOR ALL
www.vlsiforall.com
Cerium system Pvt Ltd
Table of Contents
Extra Questions
6) Explain the issues and fixes you done in your recent project ?
www.vlsiforall.com
Cerium system Pvt Ltd
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.
www.vlsiforall.com
Cerium system Pvt Ltd
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.
www.vlsiforall.com
Cerium system Pvt Ltd
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?
www.vlsiforall.com
Cerium system Pvt Ltd
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?
www.vlsiforall.com
Cerium system Pvt Ltd
5. How tool calculates cap and trans? How does it come to know that cap and trans are violated ?
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.
www.vlsiforall.com
Cerium system Pvt Ltd
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.
www.vlsiforall.com
Cerium system Pvt Ltd
8) For leaf cell and non-leaf cells to which cells you apply NDR ? We apply NDR to leaf cells.
www.vlsiforall.com
Cerium system Pvt Ltd
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 ?
13) Inputs for Star rc and inputs for pt shell ? Star RC - .v, DEF, Tech file, Output - SPEF file how
Spice netlist is generated ?
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.
www.vlsiforall.com
Cerium system Pvt Ltd
7) How will you add end cap n tap cells Following are the commands:
add_end_cap
add_tap_cell_array
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.
www.vlsiforall.com
Cerium system Pvt Ltd
c) Placement Stage:
Pre-placement
VLSI FOR ALL
i. read_def: reads the design data file in def format
ii. add_end_cap: adds end cap cells to current design Example -
add_end_cap -lib_cell cellName
iii. add_tap_cell_array: adds tap cells to the current design Example:
add_tap_cell_array -master_cell_name cellName -distance
distanceValue iv. check_legality: Checks if all cells placed so far are fixed
and not overlapping.
v. place_opt:
vi. insert_buffer/add_buffer_on_route: vii.
magnet_placement:
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.
www.vlsiforall.com
Cerium system Pvt Ltd
www.vlsiforall.com
Cerium system Pvt Ltd
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.
VLSI FOR ALL
CTS Stage: Congestion can also occur in clock tree synthesis.
clock_opt -congestion
The clock_opt is for creating and optimizing the clock tree. Argument -congestion tells the tool to
optimize the clock tree with congestion driven mode.
clock_opt_feasibility -congestion
This command performs analysis on design after CTS for optimization. -congestion argument tells
the tool to remove congestion in CTS.
psynopt -congestion
Psynopt is incremental optimization on the design. Enables congestion removal algorithms for
improved routability. By default, the command does not perform congestion removal.
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:
www.vlsiforall.com
Cerium system Pvt Ltd
6) How tool will take buffers for CTS, if it's not mentioned in spec file? The tool will take default
value.
www.vlsiforall.com
Cerium system Pvt Ltd
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
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
www.vlsiforall.com
Cerium system Pvt Ltd
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 when
www.vlsiforall.com
Cerium system Pvt Ltd
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 connect ed 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
?
www.vlsiforall.com