Synthesis Related Questions
Synthesis Related Questions
Synthesis Related Questions
Error: If any input pins are floating in the design it gives the error, this input causes the logic
functionality change due to coupling capacitance the voltage at input pin may vary between
logic 0 and logic 1 which gives the metastable state and high power dissipation takes place
because of short circuit between power and ground. This could be a major issue.
FIX: This can be eliminated by connecting the floating pin to either logic 0, 1 Or report to the
rtl team.
FIX: this error can be fixed while optimizing the design by tool, it removes the paths like
this.This is called pruning.
5. If I gave synthesis netlist, how will you decide that you can start floorplanning?
6. You are working on logic synthesis then when will you take decision that I need to enable
Physical aware synthesis ?
7. What is the extra input file we have to give in PAS and what extra output file we get in
PAS?
8. What exactly fp def file contains?
1. Unclocked registers
Error: check timing gives the unclocked registers where clock is not coming to the clk pin of
registers.
Fix: to fix this issue define the clk in the constraints as ‘create_clk -name’.
10. What if there are constant flops? And in which stage tool will remove constant flops?
11.What are the optimization techniques you used in synthesis to get better timing & in which
corner you checked timing in synthesis?
Path grouping
Multi bit flop
We are only considering the setup analysis in the synthesis stage with an ideal clock(i.e no
skew) which has one clock period for transferring the data between two registers which can
minimize the setup violations after the post CTS and routing stages.
1. What are the inputs required for floorplan and what is the use of each input?
Inputs required :
1. Gate level netlist in verilog format.
2. Logical (Timing) & Physical views of standard cells & all other IPs used in the design, ndm
file (new data mode) (.lib and .lef of standard cells)
3. Timing constraints (SDC)
4. Power Intent (UPF / CPF)
5. FloorPlan DEF & Scan DEF
6. Technology file (.tf)
7. RC Co-efficient files tlu+ (ITF file)
2. Where you places the IO ports? what are the preferred routing direction?
9. What are the preferred routing directions you used in your project ?
M0 will be horizontal because initially P-well and N-well both are horizontal.
11. Based on what factor you are leaving channel space between macros?
12. How many flops you have in your design?
Basically 30% of instance count.
Decap cells are basically a charge storing device made of the capacitors and used to support
the instant current requirements in the power delivery network.
18. Why we have to place tap cells and end cap cells? What is latch-up ?
The least resistive path from vdd to gnd due to 2 parasitic transistors npn and pnp is called
Latchup.
By adding tap cells in nwell & p-substrate in order to decrease resistance in nwell &
psubstrate
19. What are different cells other than physical cells, combinational cells and
sequential cells?#
Low power cells
20. What is low power? What are the low power cells ?
Ans. Level shifter
Isolation cells
Always on cells
Power switch
Retention cells
21. What is power switch cell? Where it placed?
➢ In order to achieve power savings with power gating, power switches must be implemented
in the design to shut-off the power to a particular domain.
➢ This can be achieved by using a switch between the Vdd and the design or between Vss and
the design .
22. What is isolation cell? Where is it placed? Why not it placed from always on domain to
switchable domain?
• Isolation cells should be added only on signals where the driver is moving from the
shutdown domain to the always –on domain.
• Isolation cells are not needed on signals moving from the always on domain to shutdown
domain.
23. What is tie cell? Draw tie cell schematic? How do tie cells give constant signal?
In netlist some of pins have connected with 1’b0(VSS) and 1’b1(VDD), this type connection
should not connected directly with VDD and VSS nets, Must be connected with Tielow and
Tiehigh cells.
24. What is the use of retentional flops and in which domain (always on or switchable) we
place these flops?
➢ When the power domain goes OFF, the state present in the flip flops will also be erased.
Some IPs will need to retain their values for fast wake up. For the previous state to be
preserved, this logic isi used.
➢ This has a flip flop and a state saving latch. The retention mode consumes little more current
than power off mode but always allow fast recovery of the IP after waking up from sleep
mode.
25. Explain how to add retention and isolation cells during synthesis.
26. What was the utilization in each stage from floorplan to routing?
33. How will you check overlaps in your design in both Innovus and FC? #command
check_legality
34. How will you fix the overlaps for a particular cells in your design in both Innovus and
FC?
legalize_placement -cells
35. What are the issues we will get in LEC and inputs required to start Lec ?
36. What are the factors you consider while doing FE(floorplan) exit?
Placement related :
❖ The total overflow value is the total number of wires in the block that do not have a
corresponding track available. The max overflow value is the highest number of overutilized
wires in a single global routing cell.
❖ The GRCs overflow value is the total number of overcongested global routing cells in the
design. The GRCs max overflow value is the number of global routing cells that have the
maximum overflow.
6. Did you face congestion issue in your design? How did you fix it with respect to timing?
7. What is vertical congestion, when we will get it (shape of block related)?
Ans. We will see horizontal congestion when horizontal tracks are less and similarly for
vertical congestion if vertical tracks are less.
17. Why we will do only setup check in placement and why not hold check?
As Plcement stage clk is ideal so we will check only setup timing.
18. How to analyze the timing path and what are the things u observed in timing report?
How to fix timing related issues.
• Review the timing report to identify the nets/cells which have significantly more
delay than other cells in the timing path. Check if there are some common cells for a
path group which have a huge delay.
• Check if timing paths go over congested areas. Add cell padding or placement
blockage to relieve congestion.
• Check if timing path caused by bad floorplan, macro placement, small channels. Fix
floorplan.
• If some of the nets not getting optimized, check for dont_touch attribute on them. A
dont_touch attribute prevents both optimization and clock tree synthesis on the
object.
In the timing report, you would see “d” attribute against the net.
To remove the dont_touch attribute from a network, use the set_dont_touch -clear
command.
• Check if the level of logic (LOL) is huge for the path. Talk with the lead and try to get
the path fixed through RTL change.
• Add custom path groups. By default , the flow creates a clock group specific to clocks
in the design, to_mac,from_mac, io_to_reg,reg_to_io.
use “group_path” command to create custom path groups.
• When layer optimization is activated, the place_opt flow assigns long timing critical
nets to upper metal layers to improve timing. Param :-
OPTIMIZATION_USE_LAYER_CONSTRAINT = 1
• After a block has been through an initial placement and optimization with the
place_opt command, you can perform incremental placement and optimization by
using the refine_opt command
20. Suppose you are seeing huge violations in timing, will you proceed to cts?
NO, In further stages timing will violate more.
CTS:
Timing:
1. Why we need to have arc between reset pin and clk pin interms of asynchronous flop?
2. Have you worked on fixing DRV’s?
3. What is cross talk? Crosss talk and fixing about aggressor and victim using commands ?
4. What is meant by crosstalk and what parameters are included in the crosstalk
report (given by STA)?
5. If you face a noise violation how will you fix it?
6. How did you fix antenna issue ? How layer hopping will clear antenna violation? with
commands
Antenna:
rpts/CbTileANT
-> antenna violation : when manufacturing chip , At mask etching process free
electronics are present on layers (nets), those free electrons try to discharge through gates
only.
-> If Gate Area not sufficient for discharging free charge carriers, Gate will be failed,
so need to add antenna diodes for discharging.
-> Or Break long nets and route with other top layers because mask etching different
time for different layers.
1. Fixes by adding buffers for long nets.
2. Fixes by adding antenna diodes to net near to pin.
3. Layer hopping
-> pulse width of peaks (either zero or one) are less due to transition is more on driver
pin.
The violation is reported in below file .
rpts/PtTim*Stp/min_pulse_width.rpt.gz
-> possible fixing techniques : swaps from SVT to LVT , upsize Driver cells and add buffer on
route near to driver pin
8. What is crpr?
9. How do you solve the setup and hold issues?
10. Which violation is critical to fix in between setup and hold?
11. What checks are done before upsizing, downsizing and buffering?
12. What are the reasons for bad nets? And how will you fix the long nets in eco stage?
13. What are the fixes for hold violation in eco stage?
14. What is the difference between REG2REG and REG2ICG timing paths?
15. Among sizing /swapping/buffering, which one will you prefer to fix timing violation & why ?
16. Have you worked on ECO’s and what are those? Which tool you used for generation the
ECO’s.
17. What is the difference between insert_buffer and add_buffer_on_route?
18. How will you decide if metal has a longer length?
19. If the data path is frozen how will you fix the setup violation?
20. Chip is ready for the tapout stage, and you can't change the frequency. How will you fix the
setup violation?
21. What is the command for adding the buffer and asked to add the buffer in the real time tool.
22. Can you insert the buffer in the design?
23. What is the command for changing the flavour of a cell?
24. How to use fanout cmd for a cell.
25. How to add a cell for particular location and what is your analysis?
26. How many opens and shorts you got in your design?
27. How many drcs you have seen in your design?
28. What are the commands that you have used to fix timing in innovous?
29. For given prefix name, command to get all cells which have a prefix name?
30. What is the command to check for a particular net having don’t touch attribute or not? And
if they do not have, how to make a net as don’t touch?
31. Have you written eco for tran/cap and for setup, what they given and for hold what they
given ?
32. Write a tcl script to print 1 to 100 numbers ? now print even numbers ?
33. What is the difference between collection & pointer ?
34. There is one main clock which is driving 100 sinks ,one generated clock which
is driving 200 sinks and one output port among these what will tool consider for balancing?
35. The skew of one block is 200ps and skew of another block is 230ps how will you balance
them?
36. If we need some particular cells from timing report how you separate those cell delays >20ps
violations cells only from 1000cells by using Linux what u used to filter.
37. Given scenario like... you have 2 latencies i.e 500ps and 800ps, design is ok with both latency
numbers i.e area, timing, and power. Now which latency number you will take and why ?
38. Did you work on LVS ? If yes , what are the 2 files we will check before LVS?
39. For 10 selected cells, print their inst name and physical status ?