PD Interview Questions
PD Interview Questions
PD Interview Questions
a) Netlist File (it's a verilog file containing information related to logical connection between
standard cells)
b) LEF (Physical View of Cell. i.e. its size, area, orientation etc.)
c) Lib (It contains timing and power related information of cells).
d) Upf (It is used in low power design. It contains information related to which power domain being
used, what isolation cells are being used etc.)
e) TF (Technology file, it contains information related to which metal layers are used and what are
their width, resistivity and other parameters.)
f) SDC (It’s a synopsys design constraints file which contains information related to clocks. Which
clocks are being used. What is max trans, max cap. What is clock definition, latency, uncertainty.
What is path exceptions in design, i.e. false path, multi-cycle path etc.)
g) tluplus file: It contains information related to R & C values.
h) IO Assignment File
B. Placement
a. Placed end cap cells, tap cells, IO buffers and then placed, standard cells. Then
used command place_opt to optimize the placement.
b. I got congestion due to Pin density and Cell density.
c. Pin Density – When pins for standard cells were more in a certain part due to use of AOI
and OAI. Used partial blockage and keep-out margin to avoid congestion of pin density.
d. Cell density – When certain standard cells were placed very closely. Used keep out margin
to reduce congestion due to cell density.
C. CTS
a. Timing Issues – setup and hold violation
b. Meeting skew and latency targets
c. Exception pin declaration was not proper
D. Routing
a. After routing I faced congestion which I fixed by detouring the nets.
b. Cross related issues
c. DRC issues
d. Timing issues
e. Antenna violation
4. What are the sanity checks you will do before FP?
Sanity Checks:
i. Netlist Checks – Check_design/ Check_mv_design (Checks the current design for
consistency).
ii. Sanity Checks – Check_timing (Checks for possible timing problems in the
current design).
iii. Library Checks – Check_library (Performs consistency checks between logic and
physical libraries, across logic libraries, and within physical libraries).
iv. Netlist vs SDC – Report_timing (Displays timing information about design).
8. Other than macros, what are the special cells you placed in FP?
Endcap, Tap cells
10. What are the checks you will do after placing macros?
I/O overlapping
Macros over lapping
Channel spacing
Notches
12. What is latchup and how tapcell will avoid latchup violation?
The least resistive path from vdd to gnd due to 2 parasitic transistors npn and pnp is called latchup.
By adding tapcells in nwell & p-substrate in order to decrease resistance in nwell & psubstrate.
13. What is the purpose of endcap cell?
These cells are paced at the end of site rows by satisfying well tie off requirements for the core rows.
These ensures that gaps do not occur btn the well and implant layers i.e well proximity effect and this also
prevents drc violations by satisfying well tie off requirements for the core rows.
14. What will happen if you place macros in the middle of the core?
If macros are placed in the middle of the core it will block few layers and it will do detour routing because of
this type of placement and these causes congestion, timing issues.
Placement
19. How tool will place std cells inside the core area?
Two stages- 1. Course placement 2. Detail placement
1. Course placement:
a. First tool will place standard cells based on hierarchy
b. It will do High fanout net synthesis
Adding buffers to the high fanouts
c. Scan chain reordering
d. Logical
optimization Sizing
VT swapping
Buffering
Logic
restructuring Pin
swapping Cloning
Rebuffering
Trail route
2. Detail placement
a. Area recovery
b. Congestion driven
c. Time driven
PLACEMENT OPTIMIZATION:
In optimization tool will optimize DRV’s and setup
timing Here we will not see hold because clock is ideal.
Checks in placement:
Cells legalization
Utilization
Area
Timing
Congestion
21. In placement what are the congestion types, how to resolve congestion?
We will see congestion where available tracks are less than required tracks.
We may see congestion because of
Cell density
Pin density
Bad floorplan
1. horizontal congestion and
2. vertical congestion
we will see horizontal congestion when horizontal tracks are less and similarly for vertical
congestion if vertical tracks are less
prevention techniques:
What is cloning?
After placing std cells, what are the checks you will do in placement?
Checks:
a. Cells Legalization
b. Congestion
c. Timing (setup)
d. Drv’s
e. HFNS
f. Density
25. What is your target congestion in placement and what happens if you do not meet target congestion?
Target congestion: 0.3% (both horizontal & vertical)
If we do not meet target congestion, we will get routing, timing issues & shorts.
Clock Tree Synthesis
26. Checks before cts?
Before CTS we need to check:
GOALS OF CTS:
1. SDC
2. SPEC FILE
3. Placement db
What is CTS?
To distribute a clock from Clock port to Clock pin
Why CTS?
To minimize skew and insertion delay to build the clock tree.
SPEC file contains:
Clock name
Clock period
Max and min delay
Max skew
Sink max tran
Buffer max tran
Clock buffers and clock inverters information
Exclude pin
Through pin
Information about Metal layers used
Leaf route type
NDR’S
33. What are drvs and what happens if drvs are violating?
DRV’S: Max tran, max cap, max fanout
If drvs are violating cell delays cannot be trusted because every cell is characterised with certain range of
targets. So if these exceeds cell delays cannot be trusted.
Routing
34. How tool will do routing?
1. Global Routing
2. Track Assignment
3. Detailed Routing
GLOBALROUTING:
Router breaks the routing portion of the design into rectangles called gcells and assigns
signalnets to gcells.
The global router attempts to find shortest path through gcells but does not make
actual connection or assign nets to specific nets and to specific track within gcell.
TRACKASSIGNMENT:
In this step the nets are properly assigned on tracks.
DETAILED ROUTING:
Nanoroute follows global routing plan and lays down actual wires that connect
pins to their corresponding nets.
It creates shorts and opens or spacing violations rather than leaving unconnected nets.
We can route detailed routing on entire design, a specified area of design on
selected nets.
Router runs SEARCH AND REPAIR ROUTING during detail routing.
It locates shorts and opens and spacing violations so, it reroutes the effected
area to eliminate violations.
42. What is your analysis if timing is violating and how you will fix?
First we need to open timing report and do analysis like which cell is giving more
delay. Based on that need to apply techniques to fix.
1. Crosstalk Noise
2. Crosstalk
Delay Crosstalk
Noise:
Aggressor net will create spikes on victim net and this effects chip
Crosstalk Delay:
If aggressor and victim net both switches in same direction then delay
AOCV:
Here we r applying a derating factor based on logical depth and distance.
OCV is more pessimistic than AOCV so we r going for AOCV.
56. How you will fix if there are 20k hold violations?
57. For suppose, if drvs, setup, hold are violating, which one you will try to fix and
why?
I will try to fix drvs first, next setup then hold.
max tran,
max cap,
max fanout
Timing exceptions:
false path,
multicycle path,
max delay,
min delay
case analysis
HOLD: Minimum time required for data stability after the clock edge.
65. What happens if we have setup and hold violations in our design?
setup and hold timings are to be met in order to ensure that data launched
from one flop is captured properly at another and in accordance to the state
machine designed. In other words, no timing violations means that the data
launched by one flip-flop at one clock edge is getting captured by another flip-flop at
the desired clock edge. If the setup check is violated, data will not be captured
properly at the next clock edge. Similarly, if hold check is violated, data intended to
get captured at the next edge will get captured at the same edge. Moreover,
setup/hold violations can lead to data getting captured within the setup/hold
window which can lead to metastability of the capturing flip-flop. So, it is very
important to have setup and hold requirements met for all the registers in the
design and there should not be any setup/hold violations.
Explanation:
In the below figure, you can see that there is a common path in the launch clock
path and capture clock path.
When delay is going to calculated based on the min/max delay concept, then the
common path have 2 different values. For example in case of setup analysis, we
calculate the maximum delay for the launch clock path and the minimum delay for the
capture clock path. But practically same set of cells can't behave different for
different clock path.
In a physical design, however, the cells along the common portion of the clock tree
cannot simultaneously achieve their maximum and minimum delay values. Thus
there will be a single value of delay of the common path that will be propagated to
both the launching and capturing clock paths.
Therefore our timing report contains artificially introduced pessimism that is derived
from our usage of max and min delay for the launching and capturing paths along
this common portion of the clock network. The value of this pessimism is the
difference between max and min delay at the common point in the clock network.
We can remove this pessimism with the help of CRPR (an automated concept of
removing in the EDA tools).
In general, it’s not recommended to enable CRPR (automated way to correct CRP)
mode by default during the analysis of timing violations because it takes a lot of
time (Tool run time increases a lot). Without enabling CRPR, we calculate the slack
or say timing violations. If everything is good then no need to enable CRPR analysis
mode but if there are violations in certain paths, we can enable CRPR mode in the
tool for those selective paths.
Tool automatically removes the pessimism (as per its algorithm) and then checks
the violations. Now if number of violations decrease (which should be), then the
final number of violations are considered as real violations because the remaining
violations are practically possible violation (at least not considering non-practical
situation of having min and max delay simultaneously in few cells in clock path).
78. Timing is good in cts but violating in routing, what could be the reason?
Need to check constraints.
Crosstalk issue.
Where Required Time= capture clock path latency+library hold +hold uncertainty
Arrival Time = launch clock path latency + clock to Q delay + comb delay
86. What is the time period of the clock with 500MHZ frequency and draw a clock
waveform?
87. Create a clock with 10ps period and rise edge 4ps and fall edge 8ps
PMOS
Thus, if both a p-type and n-type transistor have their gates connected to
the same input, the p-type MOSFET will be ON when the n-type
MOSFET is OFF, and vice-versa. The networks are arranged such that
one is ON and the other OFF for any input pattern as shown in the figure
below.
CMOS offers relatively high speed, low power dissipation, high noise
margins in both states, and will operate over a wide range of source and
input voltages (provided the source voltage is fixed).