DFT Interview QA
DFT Interview QA
1. What is the different kind of faults model you have worked on?
Ans:
Stuck-at, Transition, Path-delay, IDDQ, Hold-Time, Bridging.
2. What is the difference in the hold time delay fault model other than all delay faults model?(give
the details algorithm wise)
Ans:
Hold Timing: Take all best corner (short/min) delay paths in to ATPG for pattern
generation and analyze coverage.
3. What is the flow to generate the different delay fault model? What are the inputs and from
where it’s generated?
Ans:
Hold Timing: Take all best corner (short/min) delay paths from STA in to ATPG for
pattern generation and analyze coverage.
Path Delay : worst corner (critical/max) delay paths from STA in to ATPG for ATPG
Stuck-at : No timing model involved here. Single Pulse based.
o Switch add_fault model –stuck_at
Transition: At-speed edge to edge timing based pattern generated.
o Switch add_fault model –transition
IDDq – Measure leakage current , once after switching is done.
o Switch add_fault model –IDDq
6. What are the different kind of the MBIST tool you have worked on?
Ans :
MBIST Architect & Logic Vision Tessent MBIST & Synopsys – STAR MEMORY SYSTEM
7. Describe the flow of the Tessent MBIST flow?(With detail of each steps)
Ans :
ET Checker : Check DRC in terms of Clock/Port/PIN-Mapping/design checks.
ET Planner : Configure Memory BIST in terms of ( Grouping/Controller Decision
making/Clocking/Collar Insertion/Redundancy Allocation )
ET Assembler : Creates RTL & Synthesize & Inserts BIST in to Design
ET Verifier : Stand-Alone BIST Testing & Memory<->Controller at IP Level
ET Sign-Off : BIST Simulation from Design Top.
9. How you will apply the grouping on the different Memory.(On which criteria you will decide the
grouping of the memory)
Ans:
Clock (Frequency) & Physical Placement File & Memory Type & Memory Structure
10. What is the difference between single port memory and 2 port memory? How you will do DFT
for that?
Ans :
1 Port would have single WRDE/RDE/CLK/ME/CLK/CS/ADDE/DI/DO.
2 Port would have two WRDEA/RDEA/CLKA/MEA/CLKA/CSA/ADDEA/DIA/DOA &&
WRDEB/RDEB/CLKB/MEB/CLKB/CSB/ADDEB/DAB.
1 port doesn’t have any partition & 2 port would have center decoder and divided
memory banks in to two, where enabling can be done easily.
DFT : 1 port is grouping in to separate memory controller (can either read/write at a
time ) & 2 port in term of separate memory controller.( can read and write individually
in to their partitions & connected by same clock source )
11. What is the difference between dual port memory and 2 port memory? How you will do DFT for
that?
Ans :
Dual port is similar to 2 port, except CLKA & CLKB will be connected to different clock source
for operation.
12. Can we group two memory which have a different frequency in same group? Yes then why? No
then why?
Ans:
No. BIST can run memory at-speed testing in to single frequency at a time.
13. Can we group two different memory in same group? Yes then why? No then why?
Ans: Yes. Controller is sufficient enough to take care memory interface w.r.t to different address
size & data bus width port mapping of different memories.
14. Can we group 1P memory and 2P memory in same group? Yes then why? No then why?
Ans : Yes we can.
18. How ICL language works? what is the three inside ICL file?
Ans: Related to IJTAG.
19. How you use the iJTAG for post silicon debug?
Ans: Same as 17th ans.
21. what is the difference between unit delay and zero delay simulation?
Ans :
Cells are characterized in to zero delay from input to output and perform simulation. (Switch
is set to zero delay)
Cells are characterized in to Unit delay from input to output and perform simulation. (Switch
is set to Unit delay)
1. Introduction
1. Good morning/Evening. My name is <name>.I am working at eInfochips as DFT
Engineer since around <num> years.
3. What method you are using for TR, LOC & LOS? Why so?
1. In our project we were using LOC (Launch on capture) method.
2. We didn’t insert SE high speed circuit to have SE faster toggle which we do in LOS.
3. We implemented LOES to achieve same.
8. In Path Delay Test, from where you are getting path definition? How many no. of paths you are
taking?
1. In our project, from STA team we were getting the path definitions for path-delay test.
2. We were targeting around 1000 paths.
9. Have you tried N-detect technique?? Will N-detect help more in detection of defects?
Ans:
N-Detect: Target single fault with more than one pattern is n-detect. Mainly with
respect to tester , if particular type or set of patterns are discarded , then we would
be in a position to deliver patterns that increase control/observe.
11. How do you tell tool that I need to get shifting of 1000 pulse?
1. For TETRAMAX tool, we can use below command to tell tool to generate shifting of 1000
pulses.
2. Command : set_drc dft_max_shift_cycles 1000
14. For TR, How do you generate double pulse? what changes have been made in spf file?
1. If there is OCC in the design than thru that double pulse is generated, And in the SPF we
will declare the output of the OCC as the internal clock in the clock structure block.
Hence tool will take these signals as the clock while using the clock constraint.
And in the clocking procedure pulse the internal clocks.
2. If there is no OCC in the design than, thru the waveform table we can define the two
clock pulses.
3. In the SPF define the reference clocks as the reference attribute in the clokc structure
block. And also define them in the every WFT.
15. How do you tell tool to get capture clocks from OCC in TR?
1. Define the output of the OCC as the internal clock in the clock structure and also pulse
the internal clock in the clocking procedure. From the clock structure, tool will be able
to get that it needs to take the capture clock from the OCC.
16. What kind of issues you've faced in simulation?
1. I have faced x-mismatches failure which was coming because clock was becoming X.
After back-tracing clock X source found that one constraint needs to be fixed.
17. Which tool you are using for simulation as well as waveform viewer?
1. Simulation : VCS, NCSim.
2. Waveform viewer : Verdi, Simvision
18. What is difference between Unit delay simulation & zero delay simulation?
1. Zero Delay : Node and the path delays are considered as the zero and simulation is
done. It is used to check the design without considering the any timing related
discrepancy.
2. unit Delay: When we want to perform the gate level simulation but SDF is not yet ready
than unit delay simulation is performed where all the structural delays are taken the
unit time value.
The nonzero structural and continuous assignment delay expressions are substituted by a delay
of 1 timescale unit,
19. Which simulation you used to do? What is simulation flow?
1. In the VCS, simulation flow is compilation, elobration and pattern simulation
Compilation: Tool will analyze the source code mainly for the syntax error, expansion of
the macro and will generate the intermediate file for the later use.
Elobration: A tool would stitch things (design components, verification components,
and/or both) together. In this phase, the tool reports unresolved elements, if any. The
intermediate files created in the analyze phase are further processes and a new set of
intermediate files are creates (sometimes called object files).
20. What are the timing cases you are taking while doing timing simulation?
Ans : Best case for Hold & Worst case for setup.
22. If zero delay simulation is passing and .sdf (timing) simulation is failing? what could be
common cause? what would be your approach?
1. Common cause of failure is the timing issue. If it is X mismatch than check for the setup
or hold time violation on particular node using the waveform viewr and confirm with thr
SDF file. If it is 0-1 mismatch than there could be the clock related issue- clock defined in
the SDC and in the ATPG are not matched. If clock defined is not proper or data late or
early condition is there.
23. Simulation mismatch Occurs where flop1 & flop2 are clocked by clock1 & clcok2 respectively.
What should be the solution?
Ans :
Ask Interviewer: Is it chain / capture test (Stuck-at / Transition)
Ask Interviewer: Is it STA / DTA
Cross check Exceptions & ask Interviewer frequency of clock1 & clock2
Ask Interviewer: Relation between clock1-flop1 & clock2-flop2.
24. Suppose in same scan chain, flop1 & flop2 are clocked by clock1 & clock2 respectively. Clock2 is
faster than clock1 & there is no lockup latch between them. Will it create mismatch?
Ans :
Clock2 expects data faster, where before data is sampled at flop1 (considering
clock1 is slower).
Clock2 is waiting for Data1 to come out. & Shift-Out is opposite to Shift-In with
difference in intervals. Still data are captured.
25. How do you get the list of Multi Cycle Path & False Path?
Ans: STA
26. Have you faced ever timing simulation failure due to HOLD violation?
Ans : Yes. We faced it. Data is lost in chain test and we observed hold timing is not closed in
simulation.
27. How many corners are you using for timing simulation?
Ans: Best case, Worst case, typical case, BCMIN, BCMAX, BCHMIN, BCHMAX, WCC, WCMAX,
WCMIN.
28. How would you come to know from simulation that it is HOLD violation or setup violation?
Ans :
In our project, we performed timing simulation in all the corners. The best case and
typical case simulations were passing but the worst case sim. Was failing. Possible
reason for worst case sim failure is HOLD time violation. So we reduce the freq. and then
worst case simulation was passing.
29. What kind of issue you've faced in netlist check? Before starting ATPG, there is some model
issue. How do you verify it?
Ans: Before pattern generation, tool has BUILD mode (design optimization) , where it catches
netlist & .v (library) binding errors .
30. How do you confirm that there is lockup latch is correctly inserted in netlist or not?
Ans : We can check in scan-cell report & pt session.
31. There is scan part & non-scan part in netlist, What kind of logic should not be part of non-scan
part?
Ans : Clock generator & RST Generator & Functionally Don’t touch & Async logic & Metastable
areas.
32. Which kind of reset you are using in your design? Synchronous reset or asynchronous
reset?
Ans: We were using Asynchronous reset in our design.
33. Have you made any kind of script to check netlist quality?
Ans: No.
We were getting scan-inserted netlist to do ATPG. We do netlist-check using ATPG tool only.
Ans – First we get error log file from tester team then we convert it into TMAX compatible log file. Using
this log file we run diagnosis in TMAX and find out failing points.
Q5. Have you done any pattern translation?
Ans – First we got silicon failure log file from tester team. Then we convert that log file into TMAX
compatible log file. Then first run tmax up to DRC. Then read patterns which is failing and then using
run_diagnosis command and failure log file we can run diagnosis and find out failing points.
ETPlanner :
1. Customer name?
It is confidential, but I can share their application i.e. IoT, Communication devices
(Repeaters/Router), Mobile computing, Sensors
As per the requirement we can select tool specific algorithm i.e. March based algorithm for
SRAM/RF and Read Only algorithm for ROM. Also we can create user defined algorithm
based on fault model requirement given by foundry.
If the memory supports error injection module then the MBIST controller will able to inject
fault into the memory. Hence we can create fault injection pattern and load it into MBIST
controller
9. How comfortable to work on DFT compiler? How to debug DFT-DRC in DFT Compiler?
Good enough.
Lets take example of scan chain blockage. We need to select the DRC i.e. S1-1 and then it
will show the scan chain flop where the scan chain is blocked.
Then put the design configuration into test_setup mode or shit mode to trace the SI where the
scan chain is getting X. Nail down the issue by applying constraints or changing logic.
Yes. MBIST insertion and validation done for several types of memories using LV flow.
Yes. We use to create DFT mode SDCs and provide them to PnR team.
Then as per the feedback from PnR team we need to update constraints to smooth timing
related issues.
Also we need to validate all the SDCs using PT and then deliver SDCs. Generate top level
MBIST SDCs by combining block level constraints.
If timing violations are observed during DFT pattern simulation we need to check the timing
of failing flop and then report them to PnR team if they missed any constraints
12. What is the compression you used? Have you used EDT compression?
Compression depends upon the block level and top level channels available for scan purpose.
We need to analyze the compression ratio generated from tool and select best possible value
w.r.t coverage number, pattern count and test data volume.
Yes, I have used EDT compression
8 out of 10
14. What consideration you take for Boundary scan insertion
We need to consider pin mapping for all the pads before boundary scan insertion
Then we should know the functionality of each pad and accordingly we need to define BS
cells.
All the test need to be performed to test functionality to pads.
15. How you decide that you need Boundary scan and how you plan?
If the die have digital pads or analog pads and if we need to test the interconnection between
die and package or between two package then we can go with Boundary scan.
According to functionality of each pads we will decide which Boundary scan cell we will
insert and test pads.