Achieve High Test Coverage for SoC



Comments



Description

Strategy to Achieve High Test Coverage for SOCNor Azura Zakaria MIMOS BERHAD, Malaysia [email protected] ABSTRACT Yield issues are very important and costly in semiconductor manufacturing process as it depends on the maturity of the process technology involved. To address yield issues and make sure the silicon device comes out functionally successful requires very high test coverage. In this paper, it will present the strategy to ensure that high test coverage more than 98% coverage can be achieved for SOC chip with multimillions of gates. The work is cover from RTL level up to test pattern generation. It is also discussed further about how to debug DFT violation and failure in ATPG simulation. Full scan implementation has been done for testing core design 0.18 um process technology with 3 M gates SOC design. In this paper also, it is also presented the flow and methodology that used in IC design Lab for every stage and why the flow in implemented in this work. Table of Contents 1.0 Introduction………………………………………………………………………………….6 2.0 DFT Challenge and DFT Goal……………………………………………………………...6 2.1 DFT Project Implementation……………………………………………………………….6 2.2 Full Scan Flow and Methodology…………………………………………………………..7 2.3 RTL Cleanup………………………………………………………………………………...9 2.3.1 Common DFT Violation………………………………………………………………...9 2.3.1.2 Latches…………………………………………………………………………...9 2.3.1.3 Uncontrollable Clock…………………………………………………………….9 2.3.1.4 Asynchronous Reset As a data………………………………………………….9 2.3.1.5 Bus Contention………………………………………………………………….10 2.3.1.6 Sensitivity of Feedback Loop…………………………………………………..10 2.3.2 Violation Coding Example……………………………………………………………..11 2.4 Synthesis and Scan-Stitching………………………………………………………………12 2.4.1 Scan Chain Architecture……………………………………………………………….13 2.4.2 Scan Testing Clock……………………………………………………………………...13 2.4.3 Control Signal during Scan Testing…………………………………………………...13 2.4.4 Hookup Test Port……………………………………………………………………….14 2.4.5 Latch Clock Gating……………………………………………………………………..15 2.5 Handling Hard Macro: ARM7TDMI and Memories…………………………………….16 3.0 ATPG Run and Fault Simulation………………………………………………………….16 3.1 Increasing Test Coverage With Data Analysis……………………………………………16 3.2 Blockage Tracking and Debugging………………………………………………………..18 3.3 Fault Simulation with VCS Simulator…………………………………………………….20 3.4 Failure Simulation and Debugging………………………………………………………..23 4.0 Discussion and Conclusion ………………………………………………………………..25 4.1 Discussion……………………………………………………………………………….25 4.2 Conclusion...………………………………………………………………………………...26 5.0 Acknowledgement...………………………………………………………………………...26 6.0 References…………..……………………………………………………………………….26 SNUG Singapore 2008 2 Strategy to Achieve High Test Coverage for SOC .19 Figure 13: Blockage Path is Removed…………………………………………………………..18 Figure 12: Blockage path before fixed………………………………………………………...22 Figure 17: Data Shifting Failure...13 Figure 6: Scan Chain Architecture….. ……………………………………………………….19 Figure 15: Test Coverage vs Module Name…………………………………………………….………..………………………………………………………... ………………………………………………………………..11 Figure 5: Test Mode Selection Module….………………………………………….17 Figure 11: Blocking Path between USB and Synchronous Reset Synchronizer Module………. …………………………………………………………………….10 Figure 4: Example Violation.7 Figure 2: Recommended DFT Flow………………………………………………………………8 Figure 3: Bidirectional Pad.15 Figure 8: Memory Bypassed Using scan_mode signal.…24 SNUG Singapore 2008 3 Strategy to Achieve High Test Coverage for SOC .....…………………………………………16 Figure 9: Fault Number vs Test Coverage………………………………………………………...23 Figure 18: Hold Violation Causing Failure………. …………………………………………………………………..List of Figures Figure 1: Wireless IC Design at top level design ………………………………………...19 Figure 14: Fault Number vs Test Coverage…………………………………………………….20 Figure 16: Recommended Scan Simulation Flow……………………………………………….17 Figure 10: Graph Test Coverage vs Module Name……………………………………………..……………………………………………………………14 Figure 7: Latch Clock Gating for DFT.... 25 SNUG Singapore 2008 4 Strategy to Achieve High Test Coverage for SOC ...List of Tables Table 1: Simulation Result Case I………………………………………………………….…….……25 Table 2: Simulation Result Case II………………………………………………………. The yield is defined on the expectancy of the silicon output without any manufacturing defects or faults.structured test programs. it is elaborate the method in each stage from coding level until scan stiching. All DFT architecture with the correct constraint and the specification for all valid scan path and invalid scan cell must be listed in DFT work. The design must be testable following DFT rules so that ability to observe and control is in our hand. The conclusion is also including at the end of the paper. All the IPs SNUG Singapore 2008 5 Strategy to Achieve High Test Coverage for SOC . It is also describes DFT architecture in SOC for handling clock distribution.0.0. USB peripheral and 17 memories and targeting to 0. reset distribution and bypassing IPs.1. there is no way to test the millions of gates in a chip without help from well.UD . Test Coverage = DT + (PT x PT_credit) x 100 All_Faults . It is also give an example coding method and how to debug the DFT violation. In section 2. So in this paper. electrical and mechanical engineering operations. the strategy that we implemented in this project is ensuring that all possibility detected (PT) and DT (detected) fault must be increased.0 DFT Challenge and DFT Goal 2.(AN x AU_credit) " PT = Possibly Detected Faults " DT= Detected Faults “PT_credit= initial 50 percent “UD = Undetectable “AU= ATPG untestable-not detected “AN= ATPG untestable and not detected From this formula.0 Introduction Semiconductor manufacturing is like any other production process and has inter-related chemical. Debugging method and analysis method is discussed in Section 3. ATPG setting in TETRAMAX determined the success of DFT performance in verfying scan specification and all the information is important while debugging failure in scan simulation In Section 4.18 um process technology. Objective of the test program should be to generate test patterns that controls and observes almost all possible fault sites within silicon from chip periphery. Since the complexity of the SOC increases rapidly. test coverage result is proportionate to the all detected fault value. Test coverage is calculated based on how many faults that can be covered compared to the total number of possible faults in the chips.1 DFT Project Implementation Wireless Design that has 3 M gates is integrated with PLL. Engineer has to know where the clocks and asynchronous reset is handling in the design. AMBA peripheral. ARM7TDMI. 2. some points from this prior work need to be discussed as for the reference and improvement in future work. there are two approaches that have been done. As the full scan implementation is done after synthesis process. one approach is optimizing the design by using bottom up synthesis and another one is top down synthesis. In Figure 1.2 Full Scan Flow and Methodology There is few method and methodology you can follow to complete your full scan implementation [2].[3]. BSR cell to support boundary scan testing.[4]. core design and some small is sub_top_core in handling clock and reset.08% level. This design is consist of 256 pads.embedded in this SOC design had been bypassed using test mode pin during testing exclude USB and AMBA module. Output of the core level is connected manually and compiled. For USB and AMBA module. After dealt with many issues on the timing problem. Figure 1: Wireless IC Design at top level design 2. the DFT flow is depending on the flow you chose in synthesis. JTAG tap controller. there is so many challenges that need to be faced as some of the architecture especially clock driven and reset driven at top level is need to be changed. it shows the design diagram of the this Wireless IC with its BSR(Boundary Scan Register) cell. the scan chain will be implemented and integrate with other module in design. While achieving test coverage targets at two different flows. Design Flow Bottom Up Synthesis DFT Structure Test Coverage 4 mains block group 99% and integrated at top level Scan stiching at core 98. 6 Timing Closure Not achieved Top Down Flow Achieved for functional and test mode SNUG Singapore 2008 Strategy to Achieve High Test Coverage for SOC . The recommended flow is shown at Figure 2.But after achieved the target there is a recommended flow that DFT engineer could follow. Figure 2: Recommended DFT Flow SNUG Singapore 2008 7 Strategy to Achieve High Test Coverage for SOC . whereby the clock driven. uncontrollable asynchronous reset and synchronous reset and feedback path loop can be traced earlier.4 Asynchronous Reset As a data The most common violation that the designer always do is not put the register in initial condition for the asynchronous reset. Sometimes because of human error. the data come from the logic is connected to this signal and as its function asychnronous to the clock the new data might be wrongly shifted. latch would not be included in scan chain and tools would define it as non scan flip flop. But if there is no ways to avoid latches to meet the functionality performance.1. It is also not advisable to use this approach as to forbidden the tools creates its additional logic that could disturb timing requirement. 2. generated clocks. 2. As for this purpose if the designer could avoid the latch. All the method to solve it is normally is putting multiplexer and the control signal to select input signal is test mode [2]. It is also beneficial to STA team. But for DFT purpose.3 RTL Cleanup: As mentioned at introduction part. the strategy that we emphasized to have a quality result for DFT performance is ensure all RTL blocks is passing DFT violation.2.3. The clean up RTL means all the violations is need to improve at coding stage. From this information the timing constraint and the timing optimization can be debugged earlier while designer doing the RTL coding.3 Uncontrollable Clock Uncontrollable clock violation could be caused by clock generated. If they follows DFT rule.1. The failure data could be caused if the value that goes to reset signal is 0 propagate while capturing mode and after the clock rise for shifting mode. SNUG Singapore 2008 8 Strategy to Achieve High Test Coverage for SOC . There is an option in the tool to do automation fix for the DFT violation reported but due to some violation the tools cannot improve it. there will be a common dft violation that will come up. it will better to get the high coverage of the design.1.3. clock drives the data and race condition between scan flop and non scan flops while capturing mode. 2.3. before scan stitching all the latches must be define to be excluded from scan chain. the reset value would reset all the value at its flops.1 Common DFT Violation The quality of the code is just not up to functionality goal but the quality of the code is must be synthesizable and testable. violation can be easily avoided. DFT Rules that indicates the violation to the scan chain sequential element are: 2. In this stage the code is not only met its functionality requirement but meet testability requirement.3.2 Latches Latch is normally design to avoid glitches or having some delay for certain condition of achieving a good functionality. If this happen. 5 Bus Contention Bus contention could happen if the same bus is having a conflict data float in same bus between two different flops.1. // multi-dimentional array There are two solutions to fix this violation. 3) Tristate driver It is well known that the bus contention could be avoided also by not putting tristate driver in your design module. input enable (IE) is always to be set 1’b1 and output enable (OE) is always to be set to 0’b0. apiu_pwr_meas_set1[1] <= 10'h00.3. apiu_pwr_meas_set1[3] <= 10'h00. In test mode.6 Sensitivity of Feedback Loop Combinational feedback loop can be sensitive for the test pattern propagating especially while in capturing mode. 1) Multi-dimensional array RTL example: reg [10:0] apiu_pwr_meas_set1 [10:0].2.1. apiu_pwr_meas_set1[0] <= 8'h00. One is to avoid the array size more than 10 (but may not be functionality feasible) and second one is to set naming rules while writing the netlist into verilog format to avoid multi dimension array name issues: define_name_rules --check_bus_indexing -flatten_multi_dimension_busses. will ensure that the bus structures of multi-dimensional array will follow the correct matrix as is has been coded. 2. This is always happened if the code of the register is using multi dimensional array method. But some of the feedback path loop is involved with the registers might caused the failure in simulation. the tristate buffer at this pad is always driven as an input pad during test mode. Normally we would check the sensitivity of feedback path loop how it is impact the controllable and observable of the fault SNUG Singapore 2008 9 Strategy to Achieve High Test Coverage for SOC . It could generate the failure in real testing. This option in DC. 2) Handling bidirectional pad Figure 3: Bidirectional Pad When scan input port is a bidirectional pad. to avoid the conflict of tester and design driving at same time.3. apiu_pwr_meas_set1[2] <= 10'h00. 2.All the other register that inputted by the violated asynchronous signal (reset as data) or violated clock (clock as data) is violated. the solution code is clean without any violation after run DFT check on it. rst a) Uncontrollable Asynchronous Reset D Q clk All registers is violated rdat_tx .3. state . bep . cn. k. b_err_count. There is no doubt that sometimes the functional verification could not identify the root of the failure for the asynchronous reset where it depends on the quality of the functional testbench is been programmed. buff_tx_rdy .in shifting and capturing mode. the first line of the RTL box code will generate the violation as the asynchronous reset signal is having a computation with other data. After identified the violation.2 Violation Coding Example Some coding could be generated many violations based on the poor style coding. err_burst. In the point of DFT view. Example shown in box below is the RTL that coded to generate the counter to count error bit. Figure 4 is presenting all DFT violation that had been reported by ATPG tool . SNUG Singapore 2008 10 Strategy to Achieve High Test Coverage for SOC . If there is any blocked path or the ATPG tools cannot search for the new set of loading value to break the loop. the code must be changed as well. rdy b) Combination Feedback Pathloop Violation X1 violation A0 A1 Y ber [1] B0 B1 all path connect to ber [7:0] is having a same loop path c) Clock as a Data and Connected to Primary Output Figure 4: Example Violation Solution on Example 1: Improving DFT violation could sometimes give the improvement for the functionality verification. 100-b4. ctrl_bep <= 0. After all DFT violation had been observed and repaired. end else if(cnt>9'd455) cnt <= 0. else if(buff_tx_rdy) begin if(rdy != 0) begin ber <= ctrl_bep + ber. state <=0. all DFT violation must be analyzed using ATPG tool to improve the RTL code. buff_tx_rdy <= 0. err_burst <= 0. ctrl_bep <= 0. ber_done <= 0. DFT Engineer has to ensure that all DFT constraints have been correctly defined and scan chain specification must be previewed to ensure that DFT scan chain architecture is balanced for the design itself before doing the implementation of scan chain stitching of all scan flops. ber <= 0.always @(posedge clk or negedge rst) begin if(!rst) begin rdat_tx <= 0. // 001-b1. rdy <= 0. ber <= 0. // all data are ready in buffer end else if(rdy==3'd7) begin buff_tx_rdy <= 0. cnt <= 0. If the fault coverage target is not achieved yet. rdat_tx[cnt] <= dat_tx. err_burst <= 0. 2. 111block ber_done <= 0. end else begin if(rdy_tx) // grab tx data begin cnt <= cnt + 1. rdy <= 0.010-b2. the scan chain architecture had to be previewed first before the scan chain is been stitched for the whole design.011-b3.4 Synthesis and Scan-Stitching: After scan synthesis had been done from the synthesis guy. if(cnt == 455) buff_tx_rdy <= 1'b1. Timing optimization SNUG Singapore 2008 11 Strategy to Achieve High Test Coverage for SOC . 1 Scan Chain Architecture From the design architecture we have to determine the DFT architecture. CLKIN.6 M clock cycle e) Scan In Port Number: 64 f) Scan Out Port Number 64 2. All the internal clock and the distributed PLL clock had been bypassed using one single clock domain as shown in Figure 6.4.4. 2.4.2 Scan Testing Clock WIRELESS IC DESIGN design has few clocks. The test clock for manufacturing test is using clock domain. and TEST_CLK1 is a clock in bypass mode. BB_CLKR as RF baseband Receiver clock. BB_MCKO as RF baseband Transmitter clock. Test clock configuration is as below: Clock period: 100ns Clock Edge Rise: 45 ns Clock Edge Fall: 55 ns 2. CLKIN as a system clock. Scan chain Architecture of the WIRELESS IC DESIGN design is as below: a) Sequential Element Count: 84333 b) Scan Chain Count: 64 c) Longest Path of scan chain: 1316 d) Memory Scan Depth (tester reference) = 3.3 Control Signal during Scan Testing Control Signal that has to be controlled during manufacturing test is stated as below. 1) SE – Set 0 (Capturing Mode) and Set 1 ( Shifting Mode ) 2) MODE[2] – Must be always set to 0 3) MODE[1] – Must be always set to 1 4) MODE[0] – Must be always set to 0 5) POR – Assertion and de-assertion is depend on the cycle of scan capturing and scan shifting Figure 5: Test Mode Selection Module SNUG Singapore 2008 12 Strategy to Achieve High Test Coverage for SOC .during scan-stitching is disabled as timing optimization will be primarily handled by synthesis team. TEST_CLK0 as clock in debug mode. all the scan chain port is shared with the functional port. Scan Out Port is sharing with the output port controlled by test mode signal. In this project. Scan In port is shared with the bidirectional pad. hookup test port at the top level will be done manually on RTL as the limited option in DFT tool which only allow Scan Enable(SE) signal to control the IO pads instead of using test mode pin. where during scan testing this pad is always functioning as the input pad.4. While BSR cell is been inserted at top level RTL. It is briefly stated how the control signal drive the function of shifting test pattern. capturing the test pattern from the combinational logic to the register and observed the value at primary output in scan testing.IO Pads BSR cells Pad 1 EM_D[0] sub_top_gprs (core design) BSR cells 0 1 IO Pads Pad 129 EM_A[0] test_si1 test_mode test_so1 Pad 130 EM_A[1] Scan input port sharing with functional input port Scan Chain 1 io_em_a_pad_0 test_so2 0 1 Example of clock bypassing io_em_a_pad_1 sub_clkin CLKIN PLL Clock distributions Module from PLL 0 1 io_bb_txst test mode test_si64 test_so64 0 1 io_i2c_sda sub_clkin BSR cells Pad 128 I2c_SDA Scan Chain n Scan output port sharing with functional output port Pad 256 BB_TXST Figure 6: Scan Chain Architecture 2. all this port must be set as a linkage port: SNUG Singapore 2008 13 Strategy to Achieve High Test Coverage for SOC .4 Hookup Test Port: As the chip is has limited additional I/O port. to have a complete full scan netlist and SPF generated file. 2. it was decided to choose the test mode pin to control IO pads for scan testing. the synthesis guy is also optimizing the power performance of the chip itself. The few options are already served mainly for DFT purpose by Power Compiler tool.4. In improving the power performance in term of saving power for the remaining inactive switching work of the circuit.set_bsd_linkage_port -port_list {MODE[2] MODE[1] MODE[0] CLKIN SE RFMD_CLKR EM_DCLK_IN TESTCLK0 TESTCLK1} SE pin is having maximum fanout from the top level to the all connection of the scan flops. It was stated that the fault coverage using Scan Enable signal before the latch is given higher fault coverage. The details explanation can be referred to the reference [11]. the timing constraint for SE pin is a most critical part to STA team to ensure the timing performance is meet between the tester and the chip. the scan stitching netlist of core design will be compiled together in DC.5 Latch Clock Gating In synthesis works. After the hookup test port is done. Latch is a non scan flop and it will disturbed the controllable and observable of the test pattern propagating between the scan flops. there is a way to handle the violation to improve the test coverage. The option we used is to put the control signal before Scan Enable pin to get higher test coverage. Therefore to avoid possibility of the timing issue between the ATE and SE signal of the chip. the clock gating cell should be inserted while running synthesis. Power Optimizing Scripts: set_clock_gating_style -sequential_cell latch -control_point before \ -control_signal scan_enable -max_fanout 16 -minimum_bitwidth 8 \ -negative_edge_logic {integrated} -positive_edge_logic {integrated} \ insert_clock_gating propagate_constraints -gate_clock hookup_testports -verbose # Coloured Red is for # DFT Purpose Figure 7: Latch Clock Gating for DFT SNUG Singapore 2008 14 Strategy to Achieve High Test Coverage for SOC . the module that has a significant low fault coverage and bigger fault number is USB module. Some of the combinational logic surround the ARM will not be tested but it is not effected the fault coverage for the whole design as the nodes point is too little compared to overall total fault. This bypassing work is done manually coded at RTL coding stage. performing all algorithms of ATPG mode in generating test pattern.0 ATPG Run and Fault Simulation: Final stage is to generate the test pattern with Tetramax and VCS and doing all scan simulation using VCS. In the graph. 3.2. Figure 8: Memory Bypassed Using scan_mode signal As ARM7TDMI is a hard macro and do not have a scan chain stitched in its core. turquoise colored bar shows that fault coverage for SNUG Singapore 2008 15 Strategy to Achieve High Test Coverage for SOC . DFT performance and its functionality in internal scan will be put into TETRAMAX tool to recheck the validity of DFT constraints.5 Handling Hard Macro: ARM7TDMI and Memories For the memories. As the memories is a hard macro all the memories will isolated from the testing.1 Increasing Test Coverage With Data Analysis Analysis of violations is effectively done using the advanced features of ATPG tools. From this result. the testing for manufacturing defect is used built in self test (BIST) method where the test mechanism and test algorithm is separate mode with testing mode. All ATPG untestable paths for STA1 or STA0 can be used as a reference to investigate the root cause of low test coverage for overall design. in scan testing mode this ARM macro had been bypassed. the DFT Engineer should review all the fault coverage performance for each block for both Stuck At-0 and Stuck-At-1. to analyze DFT violation.2 section. 3. The graph is obtained by choosing the module that presented the fault number bigger than 20k faults in design. Using GUI schematic and also extensive reports. The simulation works will be discussed detail in 3. and review all report related. In case if the test coverage is low. we can get the information of all criteria of fault propagating in the design. after the scan path integrated to the top level test coverage drops by more than 50%. Due to increase the fault coverage for overall design.99%. But compared to the result from USB module itself it has test coverage of 98.3% fault coverage. the analysis on the uncontrollable and unobservable point must be done.USB block is only achieved 49. Figure 9: Fault Number vs Test Coverage Figure 10: Graph Test Coverage vs Module Name SNUG Singapore 2008 16 Strategy to Achieve High Test Coverage for SOC . sel(scanmode). the integration path for each clocks.b(rst_dev_out_tmp). As the RTL is been freeze this time. .a(usb_vp). .3. From the Figure 11.c(rst_dev_out) ). .a(usb_vp).a(usb_vp).b(hreset_n_out_tmp). . mux_2 mux6 ( . .sel(scanmode).c( hreset_n_out) ). .a(usb_vp).c(hreset_out) ).sel(scanmode). . asynchronous reset and synchronous reset reviewed from path to path. Blockage means the pattern that enable to detect Stuck-AT-1 and Stuck-AT-0 for the USB logics cannot be controlled where the combinational APTG cannot propagate from the primary input to check the defect point. New connection to improve test coverage: mux_3 mux5 ( . the new connection is done into the verilog netlist shown in the box bellow.c( pll_reset_out) ).2 Blockage Tracking and Debugging Figure 11: Blocking Path between USB and Synchronous Reset Synchronizer Module As the violation is not occurs from the module itself. the synchronous reset itself need to be connected from any nearer input pin while scan testing.b(hreset_out_tmp). SNUG Singapore 2008 17 Strategy to Achieve High Test Coverage for SOC . Therefore all the test patterns that to detect fault can be controlled easily and the fault can be observed savely. . mux_1 mux7 ( . it s traced that blockage is happen between reset synchronize block to reset synchronous signal from external patterns. To fix the issue. . . .b(pll_reset_out_tmp). .sel(scanmode). mux_0 mux8 ( . Figure 12: Blockage path before fixed Figure 13: Blockage Path is Removed Figure 14: Fault Number vs Test Coverage SNUG Singapore 2008 18 Strategy to Achieve High Test Coverage for SOC . C8. After doing test case simulations and debugging the final settings for the ATPG to is as below: set drc -noshadows -allow_unstable_set_resets run_drc /project/Wireless_IC_Design/asic/ATPG/work/spf/top_core. C26> run drc add nofaults top_Wireless_IC_Design_BSR_top_inst -Stuck 01 add nofaults top_Wireless_IC_Design_DW_tap_inst -Stuck 01 add_faults -all set_atpg -capture_cycles 0 -abort_limit 100 set_atpg -resim_basic_scan_pattern mask run_atpg -auto set_atpg -capture_cycles 4 set_atpg -abort_limit 100 set_atpg -resim_basic_scan_pattern mask SNUG Singapore 2008 19 Strategy to Achieve High Test Coverage for SOC . After it passed. the simulation will be run at parallel simulation and random pattern on serial simulation.19%.The flow of the fault simulation and ATPG test generation is shown from the Figure 16.Figure 15: Test Coverage vs Module Name The test coverage for the whole core design is finally achieved up to 97.3 Fault Simulation with VCS Simulator After fixed all violation at basic scan atpg. 3.spf DRC -force add capture mask <list of violation register: C2. This result is achieved for the basic ATPG run as shown in the Figure 14 and Figure 15. scan simulation need to be done for chain simulation. 22% 2865620 SNUG Singapore 2008 20 Strategy to Achieve High Test Coverage for SOC .89 98.run_atpg fast_sequential_only -auto analyze_faults -class au analyze_faults -class ud report summaries sequential_depths set_atpg -capture_cycles 6 set_atpg -abort_limit 100 set_atpg -resim_basic_scan_pattern mask run_atpg fast_sequential_only -auto report summaries sequential_depths analyze_faults -class au analyze_faults -class ud set_atpg -capture_cycles 8 set_atpg -abort_limit 100 set_atpg -resim_basic_scan_pattern mask run_atpg fast_sequential_only -auto report summaries sequential_depths Final Result: No DFT Performance CPU Time (s) Test Coverage Fault Number DFT Synopsys Tool 21932. Basic ATPG Run for Chain Test Pattern Chain SImulation Result Pass Basic ATPG Run for Serial and Parallel Test Fail Parallel SImulation Fail Result Pass Serial Simulation for Random test pattern Fail Result Pass Run Fast Sequential ATPG and Full Sequential ATPG Fail Result Pass End Figure 16: Recommended Scan Simulation Flow SNUG Singapore 2008 21 Strategy to Achieve High Test Coverage for SOC . parallel simulation and serial simulations. got=x) // pin EM_A[8]. chain simulation. got=x) // pin EM_WE[1].4 Failure Simulation and Debugging The parallel simulation result had shown below indicated that the chain-9. scan cell 784 257 chain9 785 (exp=0. got=x) // pin EM_A[8]. got=x) // pin EM_WP[0]. Few segment of the failure report: // *** ERROR during scan pattern 257 (detected during load of pattern 258). scan cell 1035 3364 chain9 1053 (exp=0. chain-25 and chain-35 is having a failure while capturing the data at the scan output port. got=1) // pin EM_A[8]. scan cell 1017 3364 chain9 1035 (exp=0. The assumption can be make is the failure could be timing problem. T= 257 chain9 784 (exp=0. T= 3364 chain9 1017 (exp=0. the simulation is passed. SNUG Singapore 2008 22 Strategy to Achieve High Test Coverage for SOC . T= 3364 chain35 953 (exp=1.00 ns 1693300. got=1) // pin EM_A[8]. T= 3364 chain25 82 (exp=0.00 ns Failure is detected –expected value is one but got 0 at EM_A[7] Figure 17: Data Shifting Failure Waveform shows the failure detected at EM_A[7].00 ns : Simulation of 3365 patterns completed with 6 errors 1693300. But after run serial simulation on respected chain. scan cell 791 129200. got=x) // pin EM_WE[1]. scan cell 954 // 1693400.00 ns 1693300. scan cell 82 // *** ERROR during scan pattern 3364 (detected during final pattern unload). got=1) // pin EM_A[8].00 ns // *** ERROR during scan pattern 3364 (detected during final pattern unload).3. scan cell 785 257 chain9 791 (exp=0. scan cell 1053 // *** ERROR during scan pattern 3364 (detected during final pattern unload). got=x) // pin EM_A[8]. but got 0. scan output port as it was expected to get 1. scan cell 953 3364 chain35 954 (exp=1. As per assumption there was few test cases had been done. It was determined that there is hold violation between this two registers Figure 18: Hold Violation Causing the Failure STA reports are rechecked and it was detected that the path is unconstraint and it had been traced that the constraint for one of distribution clock had not been defined. It can be look at waveform below. The failure is because the hold timing between the few register while shifting mode happen.000 r /u_Apiu_baseband/u_apiu_l1c/l1c_top/sltrate/cdis_trig1/wr_iq_reg/Q (SDFFRX1) 0.483 f /u_Apiu_baseband/u_apiu_l1c/l1c_top/sltrate/cdis_trig1/wr_iq (sr_trigger) 0.487 f data arrival time 0.000 0.483 f u_Apiu_baseband/u_apiu_l1c/l1c_top/sltrate/main1/adjust_tb_reg_0_/SI (SDFFRXL) 0.483 f /u_Apiu_baseband/u_apiu_l1c/l1c_top/sltrate/main1/test_si (sr_main) 0.But one of the test case that detected on the simulation is fail with timing is running simulation for both test pattern 257 and test pattern 258.483 & 0.487 -----------------------------------------------------------------------------(Path is unconstrained) Incorrect setting set_case_analysis set_case_analysis Correct Setting: set_case_analysis set_case_analysis 1 0 u_sub_top_Wireless_IC_Design/u_comb_logic/clkmux2/S0 u_sub_top_Wireless_IC_Design/u_comb_logic/clkmux1/S0 0 1 u_sub_top_Wireless_IC_Design/u_comb_logic/clkmux2/S0 u_sub_top_Wireless_IC_Design/u_comb_logic/clkmux1/S0 SNUG Singapore 2008 23 Strategy to Achieve High Test Coverage for SOC .004 & 0. from u_Apiu_baseband/u_apiu_l1c/l1c_top/sltrate/cdis_trig1/iq_ts_reg_2_ (SDFFRX2) to u_Apiu_baseband/u_apiu_l1c/l1c_top/sltrate/cdis_trig1/prev_tx_st_reg (SDFFRXL) pt_shell> report_timing -delay min -to u_Apiu_baseband/u_apiu_l1c/l1c_top/sltrate/main1/adjust_tb_reg_0_/SI Startpoint: u_Apiu_baseband/u_apiu_l1c/l1c_top/sltrate/cdis_trig1/wr_iq_reg (rising edge-triggered flip-flop) Endpoint: u_Apiu_baseband/u_apiu_l1c/l1c_top/sltrate/main1/adjust_tb_reg_0_ (rising edge-triggered flip-flop clocked by clkin) Path Group: (none) Path Type: min Point Incr Path -----------------------------------------------------------------------------/u_Apiu_baseband/u_apiu_l1c/l1c_top/sltrate/cdis_trig1/wr_iq_reg/CK (SDFFRX1) 0.000 & 0.000 & 0. the scan simulation passed for all type of scan simulation using STIL test program but using verilog simulation there is still 1 failure. list of registers to be avoided from scan chain should also be identified and included in the DFT constraints. o For some work like hook-up testing port from pad level to the core level is better done at RTL level as there are limitations in tool usage for these features.0 Discussion and Conclusion 4. verilog format and STIL format. STIL simulation is performed better compared to verilog simulation. After fixing timing for the test mode. it is emphasized that.After the STA team put the correct DFT constraints and closed timing. the simulation is passing. 4. The results are tabled as below: Scenario 1: Timing in test mode is clean but timing in functional mode not clean Verilog Simulation Parallel Simulation Chain Simulation Random Serial Simulation STIL Simulation Parallel Simulation Chain Simulation Random Serial Passed Simulation Table 1: Simulation Result Case I Result 6 Failure Passed Result 1 Failure Passed Passed Scenario 2: Both timing performance of the functional mode and test mode is clean Verilog Simulation Parallel Simulation Chain Simulation Random Serial Simulation STIL Simulation Parallel Simulation Chain Simulation Random Serial Passed Simulation Table 2: Simulation Result Case II Result 1 Failure Passed Result Passed Passed Passed After the STA team closed the timing clean for both of functional mode and testing mode. From the scenarios. o Some capture violations which results in mild drop of fault coverage can be masked successfully during test pattern generation. Scan simulation for all test vectors have been done using two different format of test program. o During RTL freeze.1 Discussion Based on the test cases discussed and the flow that have been recommended in this paper. o It is possible to get high test coverage for the design if the DFT rules and guidelines are followed and adhered right from the start of the design flow. the simulation with timing fixed netlist is passing simulations. o EDA tool does a good job only if the design is DFT compliant. SNUG Singapore 2008 24 Strategy to Achieve High Test Coverage for SOC . The decision to fix the violation or to mask the fault sites needs to be reviewed. Else unnecessary iterations occur in the design cycle. 5. Mohamed Farid. 11. Tracy Larrabee. TetraMAX® ATPG User Guide Version Y-2006. VOL. DFT Compiler User Guide Vol. Test Pattern Validation User Guide Version Y-2006. Sukalyan Mukherjee. Member.18u technology. Test Pattern Generation Using Boolean Satisfiability. This saves disk space. NO. 1. Some issues had also had been shown and the solution to solve the problem had also been discussed.06.06. SNUG Singapore 2008 25 Strategy to Achieve High Test Coverage for SOC . Sivaprasad Embanath. and validates the actual pattern set and not a "branch" in the flow of data to a Verilog pattern database that only had value for simulation [5]. June 2006 4. Sridar.0 References 1. o It is undeniable that the scan testing is only use low-speed test (10 MHz) rather than highspeed functional clock (WIRELESS_IC_DESIGN 52 MHz). stuck-at fault model coverage suffices the required fault coverage requirements. Zubir. It will be discussed further in the future paper. Transition faults may not be covered but it is more applicable for deep submicron technology. Muhammad Khairol. The high test coverage is finally obtained for this design is 98% test coverage. 6. Bryant. Design for Testability to Achieve High Test Coverage. Wipro Ltd. September 2005 3. Kyeongsoon Cho.09. 1: Scan (XG Mode) Version Y-2006. Acknowledgements to Suhaimi Bahisham. Noraini. Norliza Jalani and Nazaliza Othman.0 Acknowledgement The appreciation goes to those involved in this project and gave full cooperation in achieving good result. June 2006 6.o From the Table 1 and Table 2.06. Carnegie Mellon University Test Pattern Generation For Sequential MOS Circuit by Symbolic Simulation 7. Randal E. Roslee. JANUARY 1992 2. IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN. For the target 0.A Case Study. it is also directly supported by the fab ATE where the same STIL database could be simulated and run in the ATE. DFT Compiler DFT Architecture User Guide (DB Mode) . 4. it is also recommended to do the scan simulation based on the STIL protocol is using STIL test pattern. Further Discussion: The quality of the overall performance of the test coverage based on the cost of the manufacturing defect and other issues faced during post-silicon test pattern debugging are not covered in this paper.Version X-2005. IEEE. June 2006 5.2 Conclusion This paper had discussed the flow and the methodology work to get high test coverage and how it is implemented in Wireless IC Labs project. China 9. Academia Sinica Beij ing. Power Compiler" User Guide Version Y-2006. Evaluation of Test Generation Algorithms Center for Fault-Tolerant Computing. Elsevier Inc 10. Institute of Computing Technology.8. Wang Wu Wen. June 2006. Verilog HDL Synthesis 11. Yinghua Min and Zhongcheng Li.06. Bhasker . CAD Lab.2006 VLSI Test Principle and Architecture. Chapter 12 SNUG Singapore 2008 26 Strategy to Achieve High Test Coverage for SOC . J.
Copyright © 2024 DOKUMEN.SITE Inc.