|
||||||||||
Reduce ATPG Simulation Failure Debug Time by Understanding and Editing SPFBy Namrata Makwana (eInfochips, an Arrow company) Abstract Design For Testability(DFT) adds an extra Hardware/Structure in the existing functional design also called MBIST/Scan insertion to get controllability and observability of the design to make it easily testable after manufacturing i.e., post-silicon SOC testing. Simulation’s pivotal role is to check if the binary response applied as an input that matches the values at the output response of the chip. Based on the matching responses of the circuit, goodness of chip will be defined, which in the end concludes the quality of the chip. In this article, we are going to understand how we can solve the gross simulation failure by understanding and editing the SPF skeleton at ATPG stage. Keywords: DFT (Design for testability), ATPG (Automatic test pattern generation), Simulation/Pattern validation, SPF (STIL protocol file). Introduction ATPG (Automatic test pattern generation) is the process of generating the test vectors for the particular test mode to check the manufacturing defects, which is further used by simulation tools for validation. ATPG is performed on scan inserted design and the SPF generated through scan insertion. Simulation is the later stage after ATPG, for the validation of the patterns generated in different formats. All the stages are interdependent on each other.
Fig.1.1 – DFT Stages
What is SPF? SPF stands for STIL(Standard test interface language) protocol file generated after the scan insertion stage, which consists of all the necessary and basic scan information. In general words, SPF portrays the information of scan structure, scan chain, initial state value for all the signals for particular test mode and furthermore. All the above-defined information in SPF is needed to guide the ATPG tool for DRC checks and pattern formatting. SPF is assigned at the run_drc stage to verify the compatibility of scan inserted netlist with the SPF, it further determines how the scan structure can be used to generate patterns and fault simulations. Please check below SPF infrastructure segment for a more detailed structure of SPF. Synopsis Tetramax ATPG flow till DRC Fig.1.2 – ATPG flow till DRC Basic ATPG flow
SPF Skeleton Let’s begin with the different segments categorized in SPF, described below:
The SPF which is described in this article is based on stuck-at faults without compression. 1.Signals It is the first section of SPF containing definition of all the signals with their type(In, Out, InOut etc) 2.Signal Grouping In this section, the signals which were defined in the first part is classified based in different group based on its type. The grouping signals further used to provide constraint value at different procedures.
“all_in” “all_out”, “all_ports”, “all_bidi”, “_pi”, “_po”, “_si”, “_so” 3.Scan Structure This section includes the scan chain information like scan chain name, Scan_in, scan_out and scan_enable pin and also the clock used by that particular chain. 4.Timing Waveform table is defined in this section which includes the description of the different values provided to different signals like clock period definition, reset value, test mode value etc. Waveform table is defined for all the different procedures which are required for different use :
Note:
5.Procedure Procedures are defined for the capture cycle of stuck-at and at-speed faults like Multiclock_capture, allclock_capture, allclock_launch, allclock_launch_capture procedures. Based on which fault model you are using, the capture procedure will be automatically selected. Example of one capture procedure, and how its structure looks like: //Default capture procedure in All SPF – multiclock_capture 6.MacroDefs This division includes the test setup part through which we can initialize the instruction and data bit registers at the TAP/top level. Also, the test setup is required to provide the values to the signals before the pattern generation starts for the scan mode to bring chip in its known state like functional mode, test mode, MBIST mode, etc. What is Simulation failure? Vectors generated by ATPG applied to the simulation stage to check the validity of the signals and nets for a sanity check of the scan inserted netlist. If the input vectors provided for simulation don't match with expected or golden output leads to simulation failure. It is always necessary to clean the simulation without any mismatch to make sure the perfection of scan insertion. Simulation Failure debug and its solution: To debug the mismatches that occurred during the pattern validation, we need a specific tool to check the waveform signals value like ncsim, Verdi, etc. To debug, first of all, take the absolute path of the failing register and analyze the value of the mandatory signals like clock, reset, D, SI, SO, Q, etc. If any X value observed in the signal, then back-trace the particular signal and do this until the source for X generation is observed.
Clock value X
On further back tracing the scan_clk and RESET_L signals, below source test_mode – X and scan_clk – 1 is observed.
It is observed that the value of the clock is ceaselessly 1 and test_mode is X. Here comes the SPF editing part to define the scan_clk and test_mode values. In this, “All_in” values are defined based on the signals and its position. As described in the SPF infrastructure section, the values of required scan signals should be set properly in the procedures portion. Round mark are drawn on the issue part, and below is the description of that. Scenario 1: In “multiclock_capture” procedure, “All_in” values are not correct as shown below: “All_in” = 11 \r8 N; Solution 1: C { Scenario 2: In “load_unload” procedure – Clock should be pulsing for shift procedures. In below scenario clock is defined constant 1. C { Solution 2: C { Scenario 3: If the scan clock frequency is different than the required frequency, then change the clock period in _WFT table, as shown below: “scan_clk" { P { '0ns' D; '35ns' U; '65ns' D; } } Change the period in ns for the up and down section of the respected scan clock according to the required frequency. SPF is also used to feed instructions and data bits to the UTDR (user defined test data register bits) and for initialization/test setup purpose as well. Conclusion With the increase in technology node, Silicon industry testing has become challenging. To deal with the failures in SoC we need to invest significant amount of time and effort. Above article presents different methods to solve the SoC failures efficiently by performing the modifications in the SPF file. Author Namrata Makwana Namrata makwana works as an ASIC DFT Engineer at eInfochips, an Arrow company. She has three years of experience in ASIC DFT, which includes working on various technology nodes, from 28nm to 7nm, handling a verities of DFT tasks on block level and top level. References
If you wish to download a copy of this white paper, click here
|
Home | Feedback | Register | Site Map |
All material on this site Copyright © 2017 Design And Reuse S.A. All rights reserved. |