DFT vs DV

Which one should you go for?

DFT refers to Design for Test, while DV refers to Design Verification. Both of these job roles are equally challenging and are crucial steps in the VLSI design flow. Lets read what they are about.

Sequence of DFT and DV in Design Development: Once the RTL code is done at an initial level, DV engineers start reading design specifications. At the same time, DFT engineers add DFT related RTL in the logic. After DV tests the RTL, synthesis is done to get gate-level netlist. DFT engineers start generating patterns to test scan/mbist/lbist/jtag etc. As RTL improves, DV teams keep checking additional functional changes and DFT teams continue generating and testing patterns for the newer netlist releases.

DFT – Design for Test
  1. Checks structural faults : faults which may arise due to fabrication. Example: stuck at 0/1 faults, bridge faults. You can check DFT Fault Models to learn about other faults.
  2. Term used for issues: FAULTS
DV – Design Verification
  1. Checks functional faults : faults which may arise due to missing/wrong RTL code, or incorrect synthesis of code. This leads to incorrect functionality of design.
  2. Term used for issues: BUGS

Lets understand the differences by using an example of HALF ADDER circuit. If ‘A’ and ‘B’ are inputs, the outputs are :

Sum ‘S’ = A xor B

Carry ‘C’ = A and B

Figure 1: Half Adder Representation
DFT – Design for Test

Following is the gate-level representation of Half-adder with possible stuck-at faults in the circuit.

Figure 2: Possible stuck-at faults in Half-adder

Lets suppose ‘B’ is stuck-at 0. The output obtained after running test patterns for this faulted design will be calculated based on following table:

AB (Stuck-at 0)S C
0000
010 Error0
1010
111 Error0 Error
Why this was not detected during DV?

It is simply because the issue occurred after DV was done. The design was taped-out and went for fabrication. Stuck-at 0 fault at B occurred during manufacturing.

After the fabricated chip is run with the DFT test patterns, the test pattern output will not be as expected due to the above stuck-at fault. Further diagnosis will be done by analyzing the expected output and actual output to identify the exact fault.

DFT Skills required?

Being a DFT engineer does not require you to understand the function of the chip. The major skill is to be able to generate effective patterns (using DFT tools) and analyze them before and after fabrication, to identify faults.

However knowledge of Verilog is essential. DFT is inserted and integrated in the design at RTL level as well and DFT engineer’s job is not limited to patterns. Development/Integration/Maintenance of DFT related blocks in the design as well as guiding RTL designers to adopt good DFT practices while coding their blocks is also required of a good DFT engineer.

DFT Test Coverage

Test coverage in DFT is how many faults can the test-patterns cover. If coverage is 90%, it means 90% faults in the design can be detected by given patterns. To detect more faults in the design, patterns need to be improved.

Getting 100% test coverage in DFT is a challenging objective. Managing 99% stuck-at coverage and 90% transition fault coverage meets the purpose.

DV – Design Verification

If the RTL code is written with a mistake, and an OR gate is added instead of AND gate, the circuit will be as follows:

Figure 3: Half adder RTL coding bug (OR gate instead of AND for ‘C’)

always@(*) begin

S = A ^ B;

C = A | B;

end

ABS = A xor BC= A or B
0000
0111 Error
1011 Error
1101
Why this will not be detected in DFT?

Because DFT does not check if the intended functionality of design is correct.

If DV fails to detect this issue, DFT will generate patterns according to the wrong design (OR gate instead of AND gate). If there will be no manufacturing defects, DFT patterns will still pass. This will be possibly detected in further functional validation tests, which is out of scope for this article.

DV Skills required?

Being a Design Verification engineer revolves around how well you understand the intended functionality of design.

Based on how well a verification engineer understands the design specifications (created by RTL designers), he/she develops a set of features and corner cases. Then, testcases are developed to check them. RTL designers perform a first-level basic verification on their side, but the DV engineer is responsible for comprehensive tests so that no bug escapes. Verilog skills are extremely essential for the role, along with knowledge of System Verilog and UVM.

DV Test Coverage

Test coverage in DV is either functional coverage or code coverage.

Functional coverage : This defines how many features have been covered (based on a pre-defined set of functional features and corner case conditions).

Code coverage: This type of coverage measures how much of the code is tested via a given number of testcases.

With a career perspective, both the skills are in high demand. If your intention is to delve into the functionality of design and new design features excite you, DV will be a good choice. If you are more curious about how manufacturing can impact a design even when a perfect design was taped-out, DFT will have lots of answers for you.


Comments

6 responses to “DFT vs DV”

  1.  Avatar
    Anonymous

    Very simple and clear.anyone can understand this

    Thankyou

    Liked by 1 person

  2.  Avatar
    Anonymous

    wonderful content 👏🏽

    Liked by 1 person

  3.  Avatar
    Anonymous

    wonderful content ❤️

    Liked by 1 person

  4.  Avatar
    Anonymous

    DFT is moving shift-left across the industry. There is a lot of overlap between the both these days.

    DFT is no longer confined to “netlist” (after synthesis) and the scope of RTL DFT work is a lot.

    Liked by 1 person

    1.  Avatar
      Anonymous

      Will DFT be the good choice to build a career with current scenario?

      Like

      1. semiconshorts Avatar
        semiconshorts

        Yes, DFT is a critical step in chip development and almost every VLSI company has a separate DFT team which handles DFT related work (from DFT-RTL to ATE support).

        Like

Leave a reply to Anonymous Cancel reply