Strategy to Achieve High Test Coverage for SOC

Size: px
Start display at page:

Download "Strategy to Achieve High Test Coverage for SOC"

Transcription

1 Nor Azura Zakaria MIMOS BERHAD, Malaysia 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.

2 Table of Contents 1.0 Introduction DFT Challenge and DFT Goal DFT Project Implementation Full Scan Flow and Methodology RTL Cleanup Common DFT Violation Latches Uncontrollable Clock Asynchronous Reset As a data Bus Contention Sensitivity of Feedback Loop Violation Coding Example Synthesis and Scan-Stitching Scan Chain Architecture Scan Testing Clock Control Signal during Scan Testing Hookup Test Port Latch Clock Gating Handling Hard Macro: ARM7TDMI and Memories ATPG Run and Fault Simulation Increasing Test Coverage With Data Analysis Blockage Tracking and Debugging Fault Simulation with VCS Simulator Failure Simulation and Debugging Discussion and Conclusion Discussion Conclusion Acknowledgement References

3 List of Figures Figure 1: Wireless IC Design at top level design...7 Figure 2: Recommended DFT Flow 8 Figure 3: Bidirectional Pad...10 Figure 4: Example Violation Figure 5: Test Mode Selection Module..13 Figure 6: Scan Chain Architecture. 14 Figure 7: Latch Clock Gating for DFT Figure 8: Memory Bypassed Using scan_mode signal.. 16 Figure 9: Fault Number vs Test Coverage.17 Figure 10: Graph Test Coverage vs Module Name...17 Figure 11: Blocking Path between USB and Synchronous Reset Synchronizer Module..18 Figure 12: Blockage path before fixed...19 Figure 13: Blockage Path is Removed...19 Figure 14: Fault Number vs Test Coverage...19 Figure 15: Test Coverage vs Module Name..20 Figure 16: Recommended Scan Simulation Flow.22 Figure 17: Data Shifting Failure...23 Figure 18: Hold Violation Causing Failure

4 List of Tables Table 1: Simulation Result Case I. 25 Table 2: Simulation Result Case II

5 1.0 Introduction Semiconductor manufacturing is like any other production process and has inter-related chemical, electrical and mechanical engineering operations. The yield is defined on the expectancy of the silicon output without any manufacturing defects or faults. Test coverage is calculated based on how many faults that can be covered compared to the total number of possible faults in the chips. Since the complexity of the SOC increases rapidly, there is no way to test the millions of gates in a chip without help from well- structured test programs. 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. Test Coverage = DT + (PT x PT_credit) x 100 All_Faults - UD - (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, test coverage result is proportionate to the all detected fault value. So in this paper, the strategy that we implemented in this project is ensuring that all possibility detected (PT) and DT (detected) fault must be increased. The design must be testable following DFT rules so that ability to observe and control is in our hand. Engineer has to know where the clocks and asynchronous reset is handling in the design. In section 2.0, it is elaborate the method in each stage from coding level until scan stiching. It is also give an example coding method and how to debug the DFT violation. It is also describes DFT architecture in SOC for handling clock distribution, reset distribution and bypassing IPs. 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. Debugging method and analysis method is discussed in Section 3.0. 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, some points from this prior work need to be discussed as for the reference and improvement in future work. The conclusion is also including at the end of the paper. 2.0 DFT Challenge and DFT Goal 2.1 DFT Project Implementation Wireless Design that has 3 M gates is integrated with PLL, ARM7TDMI, AMBA peripheral, USB peripheral and 17 memories and targeting to 0.18 um process technology. All the IPs 5

6 embedded in this SOC design had been bypassed using test mode pin during testing exclude USB and AMBA module. For USB and AMBA module, the scan chain will be implemented and integrate with other module in design. In Figure 1, it shows the design diagram of the this Wireless IC with its BSR(Boundary Scan Register) cell. This design is consist of 256 pads, BSR cell to support boundary scan testing, JTAG tap controller, core design and some small is sub_top_core in handling clock and reset. 2.2 Full Scan Flow and Methodology Figure 1: Wireless IC Design at top level design There is few method and methodology you can follow to complete your full scan implementation [2],[3],[4]. As the full scan implementation is done after synthesis process, the DFT flow is depending on the flow you chose in synthesis. After dealt with many issues on the timing problem, there are two approaches that have been done; one approach is optimizing the design by using bottom up synthesis and another one is top down synthesis. While achieving test coverage targets at two different flows, 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. Design Flow DFT Structure Test Coverage Timing Closure Bottom Up Synthesis 4 mains block group 99% Not achieved and integrated at top level Top Down Flow Scan stiching at core level. Output of the core level is connected manually and compiled % Achieved for functional and test mode 6

7 But after achieved the target there is a recommended flow that DFT engineer could follow. The recommended flow is shown at Figure 2. Figure 2: Recommended DFT Flow 7

8 2.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. The clean up RTL means all the violations is need to improve at coding stage. In this stage the code is not only met its functionality requirement but meet testability requirement. 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. It is also not advisable to use this approach as to forbidden the tools creates its additional logic that could disturb timing requirement. It is also beneficial to STA team, whereby the clock driven, generated clocks, uncontrollable asynchronous reset and synchronous reset and feedback path loop can be traced earlier. From this information the timing constraint and the timing optimization can be debugged earlier while designer doing the RTL coding 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. If they follows DFT rule, violation can be easily avoided. Sometimes because of human error, there will be a common dft violation that will come up. DFT Rules that indicates the violation to the scan chain sequential element are: Latches Latch is normally design to avoid glitches or having some delay for certain condition of achieving a good functionality. But for DFT purpose, latch would not be included in scan chain and tools would define it as non scan flip flop. As for this purpose if the designer could avoid the latch, it will better to get the high coverage of the design. But if there is no ways to avoid latches to meet the functionality performance, before scan stitching all the latches must be define to be excluded from scan chain Uncontrollable Clock Uncontrollable clock violation could be caused by clock generated, clock drives the data and race condition between scan flop and non scan flops while capturing mode. All the method to solve it is normally is putting multiplexer and the control signal to select input signal is test mode [2] 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. If this happen, 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. 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, the reset value would reset all the value at its flops. 8

9 Bus Contention Bus contention could happen if the same bus is having a conflict data float in same bus between two different flops. This is always happened if the code of the register is using multi dimensional array method. 1) Multi-dimensional array RTL example: reg [10:0] apiu_pwr_meas_set1 [10:0]; apiu_pwr_meas_set1[0] <= 8'h00; apiu_pwr_meas_set1[1] <= 10'h00; apiu_pwr_meas_set1[2] <= 10'h00; apiu_pwr_meas_set1[3] <= 10'h00; // multi-dimentional array There are two solutions to fix this violation. 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. This option in DC, will ensure that the bus structures of multi-dimensional array will follow the correct matrix as is has been coded. 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, the tristate buffer at this pad is always driven as an input pad during test mode. In test mode, input enable (IE) is always to be set 1 b1 and output enable (OE) is always to be set to 0 b0. 3) Tristate driver It is well known that the bus contention could be avoided also by not putting tristate driver in your design module Sensitivity of Feedback Loop Combinational feedback loop can be sensitive for the test pattern propagating especially while in capturing mode. It could generate the failure in real testing. But some of the feedback path loop is involved with the registers might caused the failure in simulation. Normally we would check the sensitivity of feedback path loop how it is impact the controllable and observable of the fault 9

10 in shifting and capturing mode. 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 Violation Coding Example Some coding could be generated many violations based on the poor style coding. Example shown in box below is the RTL that coded to generate the counter to count error bit. In the point of DFT view, the first line of the RTL box code will generate the violation as the asynchronous reset signal is having a computation with other data. Figure 4 is presenting all DFT violation that had been reported by ATPG tool.all the other register that inputted by the violated asynchronous signal (reset as data) or violated clock (clock as data) is violated. rst a) Uncontrollable Asynchronous Reset D Q clk All registers is violated rdat_tx, buff_tx_rdy, cn, k, bep, state, b_err_count, err_burst, rdy b) Combination Feedback Pathloop Violation X1 violation A0 A1 B0 B1 Y ber [1] all path connect to ber [7:0] is having a same loop path c) Clock as a Data and Connected to Primary Output Solution on Example 1: Figure 4: Example Violation Improving DFT violation could sometimes give the improvement for the functionality verification. 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. After identified the violation, the solution code is clean without any violation after run DFT check on it. 10

11 clk or negedge rst) begin if(!rst) begin rdat_tx <= 0; buff_tx_rdy <= 0; cnt <= 0; ber <= 0; ctrl_bep <= 0; state <=0; err_burst <= 0; rdy <= 0; // 001-b1,010-b2,011-b3,100-b4, 111- block ber_done <= 0; end else begin if(rdy_tx) // grab tx data begin cnt <= cnt + 1; rdat_tx[cnt] <= dat_tx; if(cnt == 455) buff_tx_rdy <= 1'b1; // all data are ready in buffer end else if(rdy==3'd7) begin buff_tx_rdy <= 0; rdy <= 0; ber <= 0; err_burst <= 0; ctrl_bep <= 0; ber_done <= 0; end else if(cnt>9'd455) cnt <= 0; else if(buff_tx_rdy) begin if(rdy!= 0) begin ber <= ctrl_bep + ber; 2.4 Synthesis and Scan-Stitching: After scan synthesis had been done from the synthesis guy, 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. After all DFT violation had been observed and repaired, the scan chain architecture had to be previewed first before the scan chain is been stitched for the whole design. If the fault coverage target is not achieved yet, all DFT violation must be analyzed using ATPG tool to improve the RTL code. Timing optimization 11

12 during scan-stitching is disabled as timing optimization will be primarily handled by synthesis team Scan Chain Architecture From the design architecture we have to determine the DFT architecture. Scan chain Architecture of the WIRELESS IC DESIGN design is as below: a) Sequential Element Count: b) Scan Chain Count: 64 c) Longest Path of scan chain: 1316 d) Memory Scan Depth (tester reference) = 3.6 M clock cycle e) Scan In Port Number: 64 f) Scan Out Port Number Scan Testing Clock WIRELESS IC DESIGN design has few clocks; CLKIN as a system clock, BB_CLKR as RF baseband Receiver clock, BB_MCKO as RF baseband Transmitter clock, TEST_CLK0 as clock in debug mode, and TEST_CLK1 is a clock in bypass mode. All the internal clock and the distributed PLL clock had been bypassed using one single clock domain as shown in Figure 6. The test clock for manufacturing test is using clock domain, CLKIN. Test clock configuration is as below: Clock period: 100ns Clock Edge Rise: 45 ns Clock Edge Fall: 55 ns 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 12

13 IO Pads Pad 1 EM_D[0] BSR cells test_si1 sub_top_gprs (core design) 0 1 test_mode BSR cells IO Pads Pad 129 EM_A[0] test_so1 Scan input port sharing with functional input port Scan Chain 1 io_em_a_pad_0 test_so2 0 1 Pad 130 EM_A[1] Example of clock bypassing sub_clkin io_em_a_pad_1 CLKIN PLL Clock distributions Module from PLL 0 1 test_si64 test mode io_bb_txst test_so io_i2c_sda sub_clkin Scan Chain n Pad 128 I2c_SDA BSR cells Scan output port sharing with functional output port Pad 256 BB_TXST Hookup Test Port: Figure 6: Scan Chain Architecture As the chip is has limited additional I/O port, all the scan chain port is shared with the functional port. Scan In port is shared with the bidirectional pad, where during scan testing this pad is always functioning as the input pad. Scan Out Port is sharing with the output port controlled by test mode signal. 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. In this project, 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. While BSR cell is been inserted at top level RTL, all this port must be set as a linkage port: 13

14 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, 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. Therefore to avoid possibility of the timing issue between the ATE and SE signal of the chip, it was decided to choose the test mode pin to control IO pads for scan testing. After the hookup test port is done, the scan stitching netlist of core design will be compiled together in DC, to have a complete full scan netlist and SPF generated file Latch Clock Gating In synthesis works, the synthesis guy is also optimizing the power performance of the chip itself. In improving the power performance in term of saving power for the remaining inactive switching work of the circuit, the clock gating cell should be inserted while running synthesis. 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 few options are already served mainly for DFT purpose by Power Compiler tool. The option we used is to put the control signal before Scan Enable pin to get higher test coverage. The details explanation can be referred to the reference [11]. It was stated that the fault coverage using Scan Enable signal before the latch is given higher fault coverage. Power Optimizing Scripts: set_clock_gating_style -sequential_cell latch -control_point before \ -control_signal scan_enable -max_fanout 16 -minimum_bitwidth 8 \ # Coloured Red is for -negative_edge_logic {integrated} -positive_edge_logic {integrated} \ # DFT Purpose insert_clock_gating propagate_constraints -gate_clock hookup_testports -verbose Figure 7: Latch Clock Gating for DFT 14

15 2.5 Handling Hard Macro: ARM7TDMI and Memories For the memories, 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. As the memories is a hard macro all the memories will isolated from the testing. This bypassing work is done manually coded at RTL coding stage. 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, in scan testing mode this ARM macro had been bypassed. 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. 3.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. DFT performance and its functionality in internal scan will be put into TETRAMAX tool to recheck the validity of DFT constraints, to analyze DFT violation, performing all algorithms of ATPG mode in generating test pattern, and review all report related. In case if the test coverage is low, the DFT Engineer should review all the fault coverage performance for each block for both Stuck At-0 and Stuck-At-1. The simulation works will be discussed detail in 3.2 section. 3.1 Increasing Test Coverage With Data Analysis Analysis of violations is effectively done using the advanced features of ATPG tools. Using GUI schematic and also extensive reports, we can get the information of all criteria of fault propagating in the design. 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. The graph is obtained by choosing the module that presented the fault number bigger than 20k faults in design. From this result, the module that has a significant low fault coverage and bigger fault number is USB module. In the graph, turquoise colored bar shows that fault coverage for 15

16 USB block is only achieved 49.3% fault coverage. But compared to the result from USB module itself it has test coverage of 98.99%, 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, the analysis on the uncontrollable and unobservable point must be done. Figure 9: Fault Number vs Test Coverage Figure 10: Graph Test Coverage vs Module Name 16

17 3.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 integration path for each clocks, asynchronous reset and synchronous reset reviewed from path to path. From the Figure 11, it s traced that blockage is happen between reset synchronize block to reset synchronous signal from external patterns. 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. To fix the issue, the synchronous reset itself need to be connected from any nearer input pin while scan testing. Therefore all the test patterns that to detect fault can be controlled easily and the fault can be observed savely. As the RTL is been freeze this time, the new connection is done into the verilog netlist shown in the box bellow. New connection to improve test coverage: mux_3 mux5 (.a(usb_vp),.b(pll_reset_out_tmp),.sel(scanmode),.c( pll_reset_out) ); mux_2 mux6 (.a(usb_vp),.b(rst_dev_out_tmp),.sel(scanmode),.c(rst_dev_out) ); mux_1 mux7 (.a(usb_vp),.b(hreset_out_tmp),.sel(scanmode),.c(hreset_out) ); mux_0 mux8 (.a(usb_vp),.b(hreset_n_out_tmp),.sel(scanmode),.c( hreset_n_out) ); 17

18 Figure 12: Blockage path before fixed Figure 13: Blockage Path is Removed Figure 14: Fault Number vs Test Coverage 18

19 Figure 15: Test Coverage vs Module Name The test coverage for the whole core design is finally achieved up to 97.19%. This result is achieved for the basic ATPG run as shown in the Figure 14 and Figure Fault Simulation with VCS Simulator After fixed all violation at basic scan atpg, scan simulation need to be done for chain simulation. After it passed, the simulation will be run at parallel simulation and random pattern on serial simulation.the flow of the fault simulation and ATPG test generation is shown from the Figure 16. 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.spf DRC -force add capture mask <list of violation register: C2, C8, 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 19

20 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 DFT Synopsys Tool CPU Time (s) Test Coverage 98.22% Fault Number

21 Basic ATPG Run for Chain Test Pattern Chain SImulation Result Fail Pass Basic ATPG Run for Serial and Parallel Test Parallel SImulation Fail Result Pass Serial Simulation for Random test pattern Fail Result Pass Run Fast Sequential ATPG and Full Sequential ATPG Result Fail Pass End Figure 16: Recommended Scan Simulation Flow 21

22 3.4 Failure Simulation and Debugging The parallel simulation result had shown below indicated that the chain-9, chain-25 and chain-35 is having a failure while capturing the data at the scan output port. Few segment of the failure report: // *** ERROR during scan pattern 257 (detected during load of pattern 258), T= ns 257 chain9 784 (exp=0, got=1) // pin EM_A[8], scan cell chain9 785 (exp=0, got=1) // pin EM_A[8], scan cell chain9 791 (exp=0, got=1) // pin EM_A[8], scan cell 791 // *** ERROR during scan pattern 3364 (detected during final pattern unload), T= ns 3364 chain (exp=0, got=x) // pin EM_A[8], scan cell chain (exp=0, got=x) // pin EM_A[8], scan cell chain (exp=0, got=x) // pin EM_A[8], scan cell 1053 // *** ERROR during scan pattern 3364 (detected during final pattern unload), T= ns 3364 chain25 82 (exp=0, got=x) // pin EM_WP[0], scan cell 82 // *** ERROR during scan pattern 3364 (detected during final pattern unload), T= ns 3364 chain (exp=1, got=x) // pin EM_WE[1], scan cell chain (exp=1, got=x) // pin EM_WE[1], scan cell 954 // ns : Simulation of 3365 patterns completed with 6 errors 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], scan output port as it was expected to get 1, but got 0. The assumption can be make is the failure could be timing problem. As per assumption there was few test cases had been done, chain simulation, parallel simulation and serial simulations. But after run serial simulation on respected chain, the simulation is passed. 22

23 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. The failure is because the hold timing between the few register while shifting mode happen. It can be look at waveform below. 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. 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) r /u_apiu_baseband/u_apiu_l1c/l1c_top/sltrate/cdis_trig1/wr_iq_reg/q (SDFFRX1) & f /u_apiu_baseband/u_apiu_l1c/l1c_top/sltrate/cdis_trig1/wr_iq (sr_trigger) & f /u_apiu_baseband/u_apiu_l1c/l1c_top/sltrate/main1/test_si (sr_main) & f u_apiu_baseband/u_apiu_l1c/l1c_top/sltrate/main1/adjust_tb_reg_0_/si (SDFFRXL) & f data arrival time (Path is unconstrained) Incorrect setting set_case_analysis 1 u_sub_top_wireless_ic_design/u_comb_logic/clkmux2/s0 set_case_analysis 0 u_sub_top_wireless_ic_design/u_comb_logic/clkmux1/s0 Correct Setting: set_case_analysis 0 u_sub_top_wireless_ic_design/u_comb_logic/clkmux2/s0 set_case_analysis 1 u_sub_top_wireless_ic_design/u_comb_logic/clkmux1/s0 23

24 After the STA team put the correct DFT constraints and closed timing, the simulation with timing fixed netlist is passing simulations. After fixing timing for the test mode, the simulation is passing. Scan simulation for all test vectors have been done using two different format of test program, verilog format and STIL format. The results are tabled as below: Scenario 1: Timing in test mode is clean but timing in functional mode not clean Verilog Simulation Result STIL Simulation Result Parallel Simulation 6 Failure Parallel Simulation 1 Failure Chain Simulation Passed Chain Simulation Passed Random Serial Simulation Passed Random Serial Simulation Passed Table 1: Simulation Result Case I Scenario 2: Both timing performance of the functional mode and test mode is clean Verilog Simulation Result STIL Simulation Result Parallel Simulation 1 Failure Parallel Simulation Passed Chain Simulation Passed Chain Simulation Passed Random Serial Simulation Passed Random Serial Simulation Passed Table 2: Simulation Result Case II After the STA team closed the timing clean for both of functional mode and testing mode, the scan simulation passed for all type of scan simulation using STIL test program but using verilog simulation there is still 1 failure. From the scenarios, STIL simulation is performed better compared to verilog simulation. 4.0 Discussion and Conclusion 4.1 Discussion Based on the test cases discussed and the flow that have been recommended in this paper, it is emphasized that; 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. o EDA tool does a good job only if the design is DFT compliant. Else unnecessary iterations occur in the design cycle. o During RTL freeze, list of registers to be avoided from scan chain should also be identified and included in the DFT constraints. o Some capture violations which results in mild drop of fault coverage can be masked successfully during test pattern generation. The decision to fix the violation or to mask the fault sites needs to be reviewed. 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. 24

25 o From the Table 1 and Table 2, it is also recommended to do the scan simulation based on the STIL protocol is using STIL test pattern. it is also directly supported by the fab ATE where the same STIL database could be simulated and run in the ATE. This saves disk space, 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]. 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). Transition faults may not be covered but it is more applicable for deep submicron technology. For the target 0.18u technology, stuck-at fault model coverage suffices the required fault coverage requirements. 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. It will be discussed further in the future paper. 4.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. The high test coverage is finally obtained for this design is 98% test coverage. Some issues had also had been shown and the solution to solve the problem had also been discussed. 5.0 Acknowledgement The appreciation goes to those involved in this project and gave full cooperation in achieving good result. Acknowledgements to Suhaimi Bahisham, Muhammad Khairol, Roslee, Mohamed Farid, Noraini, Zubir, Sridar, Sivaprasad Embanath, Norliza Jalani and Nazaliza Othman. 6.0 References 1. Tracy Larrabee, Member, IEEE, Test Pattern Generation Using Boolean Satisfiability, IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN, VOL. 11, NO. 1, JANUARY DFT Compiler DFT Architecture User Guide (DB Mode),Version X , September DFT Compiler User Guide Vol. 1: Scan (XG Mode) Version Y , June TetraMAX ATPG User Guide Version Y , June Test Pattern Validation User Guide Version Y , June Kyeongsoon Cho, Randal E. Bryant, Carnegie Mellon University Test Pattern Generation For Sequential MOS Circuit by Symbolic Simulation 7. Sukalyan Mukherjee, Design for Testability to Achieve High Test Coverage- A Case Study, Wipro Ltd. 25

26 8. Yinghua Min and Zhongcheng Li, Evaluation of Test Generation Algorithms Center for Fault-Tolerant Computing, CAD Lab. Institute of Computing Technology, Academia Sinica Beij ing, China 9. Wang Wu Wen,2006 VLSI Test Principle and Architecture, Elsevier Inc 10. J. Bhasker, Verilog HDL Synthesis 11. Power Compiler" User Guide Version Y , June 2006, Chapter 12 26

Chapter 9. Design for Testability

Chapter 9. Design for Testability Chapter 9 Design for Testability Testability CUT = Circuit Under Test A design property that allows: cost-effective development of tests to be applied to the CUT determining the status of the CUT (normal

More information

High Quality, Low Cost Test

High Quality, Low Cost Test Datasheet High Quality, Low Cost Test Overview is a comprehensive synthesis-based test solution for compression and advanced design-for-test that addresses the cost challenges of testing complex designs.

More information

Verilog for High Performance

Verilog for High Performance Verilog for High Performance Course Description This course provides all necessary theoretical and practical know-how to write synthesizable HDL code through Verilog standard language. The course goes

More information

Contents 1 Basic of Test and Role of HDLs 2 Verilog HDL for Design and Test

Contents 1 Basic of Test and Role of HDLs 2 Verilog HDL for Design and Test 1 Basic of Test and Role of HDLs... 1.1 Design and Test... 1.1.1 RTL Design Process... 1.1.2 Postmanufacturing Test... 1.2 Test Concerns... 1.2.1 Test Methods... 1.2.2 Testability Methods... 1.2.3 Testing

More information

VHDL for Synthesis. Course Description. Course Duration. Goals

VHDL for Synthesis. Course Description. Course Duration. Goals VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes

More information

Graphics: Alexandra Nolte, Gesine Marwedel, Universität Dortmund. RTL Synthesis

Graphics: Alexandra Nolte, Gesine Marwedel, Universität Dortmund. RTL Synthesis Graphics: Alexandra Nolte, Gesine Marwedel, 2003 Universität Dortmund RTL Synthesis Purpose of HDLs Purpose of Hardware Description Languages: Capture design in Register Transfer Language form i.e. All

More information

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions Logic Synthesis Overview Design flow Principles of logic synthesis Logic Synthesis with the common tools Conclusions 2 System Design Flow Electronic System Level (ESL) flow System C TLM, Verification,

More information

Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur.

Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur. Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur Lecture 05 DFT Next we will look into the topic design for testability,

More information

Digital Integrated Circuits

Digital Integrated Circuits Digital Integrated Circuits Lecture Jaeyong Chung System-on-Chips (SoC) Laboratory Incheon National University Design/manufacture Process Chung EPC655 2 Design/manufacture Process Chung EPC655 3 Layout

More information

VLSI Testing. Fault Simulation. Virendra Singh. Indian Institute of Science Bangalore

VLSI Testing. Fault Simulation. Virendra Singh. Indian Institute of Science Bangalore VLSI Testing Fault Simulation Virendra Singh Indian Institute of Science Bangalore virendra@computer.org E0 286: Test & Verification of SoC Design Lecture - 4 Jan 25, 2008 E0-286@SERC 1 Fault Model - Summary

More information

VLSI Testing. Virendra Singh. Bangalore E0 286: Test & Verification of SoC Design Lecture - 7. Jan 27,

VLSI Testing. Virendra Singh. Bangalore E0 286: Test & Verification of SoC Design Lecture - 7. Jan 27, VLSI Testing Fault Simulation Virendra Singh Indian Institute t of Science Bangalore virendra@computer.org E 286: Test & Verification of SoC Design Lecture - 7 Jan 27, 2 E-286@SERC Fault Simulation Jan

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION CHAPTER 1 INTRODUCTION Rapid advances in integrated circuit technology have made it possible to fabricate digital circuits with large number of devices on a single chip. The advantages of integrated circuits

More information

Bibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997.

Bibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997. Bibliography Books on software reuse: 1. 2. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, 1997. Practical Software Reuse, Donald J. Reifer, Wiley, 1997. Formal specification and verification:

More information

VLSI Test Technology and Reliability (ET4076)

VLSI Test Technology and Reliability (ET4076) VLSI Test Technology and Reliability (ET4076) Lecture 4(part 2) Testability Measurements (Chapter 6) Said Hamdioui Computer Engineering Lab Delft University of Technology 2009-2010 1 Previous lecture What

More information

EE6250 VLSI Testing DFT Tutorial: Insert Scan Chain & ATPG Objectives:

EE6250 VLSI Testing DFT Tutorial: Insert Scan Chain & ATPG Objectives: NTHU EE EE6250 VLSI Testing DFT Tutorial: Insert Scan Chain & ATPG Objectives: In this tutorial, you can learn: 1. How to insert scan chain into a your synthesized gate level design & run ATPG 2. The scan

More information

Nanometer technologies enable higher-frequency designs

Nanometer technologies enable higher-frequency designs By Ron Press & Jeff Boyer Easily Implement PLL Clock Switching for At-Speed Test By taking advantage of pattern-generation features, a simple logic design can utilize phase-locked-loop clocks for accurate

More information

Mentor Graphics Tools for DFT. DFTAdvisor, FastScan and FlexTest

Mentor Graphics Tools for DFT. DFTAdvisor, FastScan and FlexTest Mentor Graphics Tools for DFT DFTAdvisor, FastScan and FlexTest 1 DFT Advisor Synthesis tool capable of doing DRC, Scan Insertion and Test point Synthesis Creates a do file and a test procedure file after

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

Focus On Structural Test: AC Scan

Focus On Structural Test: AC Scan Focus On Structural Test: AC Scan Alfred L. Crouch Chief Scientist Inovys Corporation al.crouch@inovys.com The DFT Equation The Problem What is Driving Modern Test Technology? 300mm Wafers Volume Silicon/Test

More information

Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23

Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23 98-1 Under-Graduate Project Synthesis of Combinational Logic Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23 What is synthesis? Outline Behavior Description for Synthesis Write Efficient HDL

More information

COEN-4730 Computer Architecture Lecture 12. Testing and Design for Testability (focus: processors)

COEN-4730 Computer Architecture Lecture 12. Testing and Design for Testability (focus: processors) 1 COEN-4730 Computer Architecture Lecture 12 Testing and Design for Testability (focus: processors) Cristinel Ababei Dept. of Electrical and Computer Engineering Marquette University 1 Outline Testing

More information

Logic Verification 13-1

Logic Verification 13-1 Logic Verification 13-1 Verification The goal of verification To ensure 100% correct in functionality and timing Spend 50 ~ 70% of time to verify a design Functional verification Simulation Formal proof

More information

Testability Optimizations for A Time Multiplexed CPLD Implemented on Structured ASIC Technology

Testability Optimizations for A Time Multiplexed CPLD Implemented on Structured ASIC Technology ROMANIAN JOURNAL OF INFORMATION SCIENCE AND TECHNOLOGY Volume 14, Number 4, 2011, 392 398 Testability Optimizations for A Time Multiplexed CPLD Implemented on Structured ASIC Technology Traian TULBURE

More information

EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification

EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification PURPOSE: To use Formality and its formal techniques to prove or disprove the functional equivalence of two designs. Formality can be used

More information

Sequential Circuit Design: Principle

Sequential Circuit Design: Principle Sequential Circuit Design: Principle Chapter 8 1 Outline 1. Overview on sequential circuits 2. Synchronous circuits 3. Danger of synthesizing asynchronous circuit 4. Inference of basic memory elements

More information

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function. FPGA Logic block of an FPGA can be configured in such a way that it can provide functionality as simple as that of transistor or as complex as that of a microprocessor. It can used to implement different

More information

Automated Formal Verification of X Propagation with Respect to Testability Issues

Automated Formal Verification of X Propagation with Respect to Testability Issues Automated Formal Verification of X Propagation with Respect to Testability Issues Mehdi Dehbashi Daniel Tille Ulrike Pfannkuchen Stephan Eggersglüß Institute of Computer Science, University of Bremen,

More information

AUTOMATIC TEST PATTERN GENERATION WITH POWER AWARE EFFORTS AND ITS VALIDATION OF A GIVEN DESIGN (ASIC) USED IN NETWORK APPLICATION

AUTOMATIC TEST PATTERN GENERATION WITH POWER AWARE EFFORTS AND ITS VALIDATION OF A GIVEN DESIGN (ASIC) USED IN NETWORK APPLICATION AUTOMATIC TEST PATTERN GENERATION WITH POWER AWARE EFFORTS AND ITS VALIDATION OF A GIVEN DESIGN (ASIC) USED IN NETWORK APPLICATION Miteshwar Patel PG Student [VLSI & Embedded Systems], Dept. of EC, U.

More information

Digital VLSI Design with Verilog

Digital VLSI Design with Verilog John Williams Digital VLSI Design with Verilog A Textbook from Silicon Valley Technical Institute Foreword by Don Thomas Sprin ger Contents Introduction xix 1 Course Description xix 2 Using this Book xx

More information

PrimeTime: Introduction to Static Timing Analysis Workshop

PrimeTime: Introduction to Static Timing Analysis Workshop i-1 PrimeTime: Introduction to Static Timing Analysis Workshop Synopsys Customer Education Services 2002 Synopsys, Inc. All Rights Reserved PrimeTime: Introduction to Static 34000-000-S16 Timing Analysis

More information

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS Note: Closed book no notes or other material allowed apart from the one

More information

Lecture 11 Logic Synthesis, Part 2

Lecture 11 Logic Synthesis, Part 2 Lecture 11 Logic Synthesis, Part 2 Xuan Silvia Zhang Washington University in St. Louis http://classes.engineering.wustl.edu/ese461/ Write Synthesizable Code Use meaningful names for signals and variables

More information

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran CAD for VLSI Design - I Lecture 21 V. Kamakoti and Shankar Balachandran Overview of this Lecture Understanding the process of Logic synthesis Logic Synthesis of HDL constructs Logic Synthesis What is this?

More information

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Subash Chandar G (g-chandar1@ti.com), Vaideeswaran S (vaidee@ti.com) DSP Design, Texas Instruments India

More information

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto Recommed Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto DISCLAIMER: The information contained in this document does NOT contain

More information

The Embedded computing platform. Four-cycle handshake. Bus protocol. Typical bus signals. Four-cycle example. CPU bus.

The Embedded computing platform. Four-cycle handshake. Bus protocol. Typical bus signals. Four-cycle example. CPU bus. The Embedded computing platform CPU bus. Memory. I/O devices. CPU bus Connects CPU to: memory; devices. Protocol controls communication between entities. Bus protocol Determines who gets to use the bus

More information

Design for Testability

Design for Testability Design for Testability Sungho Kang Yonsei University Outline Introduction Testability Measure Design for Testability Ad-Hoc Testable Design Conclusion 2 Merging Design and Test Design and Test become closer

More information

VLSI System Testing. Fault Simulation

VLSI System Testing. Fault Simulation ECE 538 VLSI System Testing Krish Chakrabarty Fault Simulation ECE 538 Krish Chakrabarty Fault Simulation Problem and motivation Fault simulation algorithms Serial Parallel Deductive Concurrent Random

More information

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series Design Verification An Introduction Main References Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series A Roadmap

More information

2. BLOCK DIAGRAM Figure 1 shows the block diagram of an Asynchronous FIFO and the signals associated with it.

2. BLOCK DIAGRAM Figure 1 shows the block diagram of an Asynchronous FIFO and the signals associated with it. Volume 115 No. 8 2017, 631-636 ISSN: 1311-8080 (printed version); ISSN: 1314-3395 (on-line version) url: http://www.ijpam.eu ijpam.eu DESIGNING ASYNCHRONOUS FIFO FOR LOW POWER DFT IMPLEMENTATION 1 Avinash

More information

VLSI Test Technology and Reliability (ET4076)

VLSI Test Technology and Reliability (ET4076) VLSI Test Technology and Reliability (ET4076) Lecture 8 (1) Delay Test (Chapter 12) Said Hamdioui Computer Engineering Lab Delft University of Technology 2009-2010 1 Learning aims Define a path delay fault

More information

Using Mentor Questa for Pre-silicon Validation of IEEE based Silicon Instruments by CJ Clark & Craig Stephan, Intellitech Corporation

Using Mentor Questa for Pre-silicon Validation of IEEE based Silicon Instruments by CJ Clark & Craig Stephan, Intellitech Corporation Using Mentor Questa for Pre-silicon Validation of IEEE 1149.1-2013 based Silicon Instruments by CJ Clark & Craig Stephan, Intellitech Corporation INTRODUCTION IEEE 1149.1-2013 is not your father s JTAG.

More information

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog ECE 2300 Digital Logic & Computer Organization Spring 2018 More Sequential Logic Verilog Lecture 7: 1 Announcements HW3 will be posted tonight Prelim 1 Thursday March 1, in class Coverage: Lectures 1~7

More information

VHDL for Logic Synthesis

VHDL for Logic Synthesis VHDL for Logic Synthesis Overview Design Flow for Hardware Design VHDL coding for synthesis General guidelines for hardware designers This lecture includes the content from: Nitin Yogi, Modelling for Synthesis

More information

Design Visibility Enhancement for Failure Analysis

Design Visibility Enhancement for Failure Analysis Design Visibility Enhancement for Failure Analysis Etienne Auvray ST Microelectronics etienne.auvray@st.com ST: Typical FA Process Flow Three steps for fault isolation: Test-based Fault Isolation Global

More information

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis TOPIC : Verilog Synthesis examples Module 4.3 : Verilog synthesis Example : 4-bit magnitude comptarator Discuss synthesis of a 4-bit magnitude comparator to understand each step in the synthesis flow.

More information

A Built-in Self-Test for System-on-Chip

A Built-in Self-Test for System-on-Chip A Built-in Self-Test for System-on-Chip Rashid Rashidzadeh University of Windsor Digital 1 Objective : Design an intellectual property (IP) core which enables low speed Automatic Test Equipment (ATE) to

More information

Digital System Design with SystemVerilog

Digital System Design with SystemVerilog Digital System Design with SystemVerilog Mark Zwolinski AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney Tokyo

More information

Sequential Circuit Design: Principle

Sequential Circuit Design: Principle Sequential Circuit Design: Principle Chapter 8 1 Outline 1. Overview on sequential circuits 2. Synchronous circuits 3. Danger of synthesizing async circuit 4. Inference of basic memory elements 5. Simple

More information

Design and Synthesis for Test

Design and Synthesis for Test TDTS 80 Lecture 6 Design and Synthesis for Test Zebo Peng Embedded Systems Laboratory IDA, Linköping University Testing and its Current Practice To meet user s quality requirements. Testing aims at the

More information

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two major languages Verilog (IEEE 1364), latest version is

More information

Chapter 5: ASICs Vs. PLDs

Chapter 5: ASICs Vs. PLDs Chapter 5: ASICs Vs. PLDs 5.1 Introduction A general definition of the term Application Specific Integrated Circuit (ASIC) is virtually every type of chip that is designed to perform a dedicated task.

More information

Modeling Synchronous Logic Circuits. Debdeep Mukhopadhyay IIT Madras

Modeling Synchronous Logic Circuits. Debdeep Mukhopadhyay IIT Madras Modeling Synchronous Logic Circuits Debdeep Mukhopadhyay IIT Madras Basic Sequential Circuits A combinational circuit produces output solely depending on the current input. But a sequential circuit remembers

More information

Synthesis of Combinational and Sequential Circuits with Verilog

Synthesis of Combinational and Sequential Circuits with Verilog Synthesis of Combinational and Sequential Circuits with Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two

More information

!"#$%&'()'*)+,-.,%%(.,-)/+&%#0(.#"&)",1)+&%#0(',.#2)+,-.,%%(.,-3)

!#$%&'()'*)+,-.,%%(.,-)/+&%#0(.#&),1)+&%#0(',.#2)+,-.,%%(.,-3) Bridging And Open Faults Detection In A Two Flip-Flop Synchronizer A thesis submitted to the faculty of University Of Cincinnati,OH in partial fulfillment of the requirements for the degree of Master of

More information

EECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Finite State Machine Review

EECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Finite State Machine Review EECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Feb 9, 2010 John Wawrzynek Spring 2010 EECS150 - Lec7-CAD2 Page 1 Finite State Machine Review State Transition

More information

101-1 Under-Graduate Project Digital IC Design Flow

101-1 Under-Graduate Project Digital IC Design Flow 101-1 Under-Graduate Project Digital IC Design Flow Speaker: Ming-Chun Hsiao Adviser: Prof. An-Yeu Wu Date: 2012/9/25 ACCESS IC LAB Outline Introduction to Integrated Circuit IC Design Flow Verilog HDL

More information

SystemC-to-Layout ASIC Flow Walkthrough

SystemC-to-Layout ASIC Flow Walkthrough SystemC-to-Layout ASIC Flow Walkthrough 20.6.2015 Running the Demo You can execute the flow automatically by executing the csh shell script: csh run_asic_demo.csh The script runs all tools in a sequence.

More information

DFFT : Design For Functional Testability

DFFT : Design For Functional Testability DFFT : Design For Functional Testability Haluk Konuk haluk@broadcomcom Leon Xiao leon@broadcomcom Broadcom Corporation Santa Clara, California Abstract Creating functional tests that work on an ATE has

More information

Digital Systems Testing

Digital Systems Testing Digital Systems Testing Verilog HDL for Design and Test Moslem Amiri, Václav Přenosil Embedded Systems Laboratory Faculty of Informatics, Masaryk University Brno, Czech Republic amiri@mail.muni.cz prenosil@fi.muni.cz

More information

JTAG TAP CONTROLLER PROGRAMMING USING FPGA BOARD

JTAG TAP CONTROLLER PROGRAMMING USING FPGA BOARD JTAG TAP CONTROLLER PROGRAMMING USING FPGA BOARD 1 MOHAMED JEBRAN.P, 2 SHIREEN FATHIMA, 3 JYOTHI M 1,2 Assistant Professor, Department of ECE, HKBKCE, Bangalore-45. 3 Software Engineer, Imspired solutions,

More information

Constraint Verification

Constraint Verification Constraint Verification Constraint verification refers to the verification of the contents of an SDC file to flag situations where the specified constraints are either incorrect, or incomplete, both of

More information

RTL Synthesis using Design Compiler. Dr Basel Halak

RTL Synthesis using Design Compiler. Dr Basel Halak RTL Synthesis using Design Compiler Dr Basel Halak Learning Outcomes: After completing this unit, you should be able to: 1. Set up the DC RTL Synthesis Software and run synthesis tasks 2. Synthesize a

More information

קורס VHDL for High Performance. VHDL

קורס VHDL for High Performance. VHDL קורס VHDL for High Performance תיאור הקורס קורסזהמספקאתכלהידע התיאורטיוהמעשילכתיבתקודHDL. VHDL לסינתזה בעזרת שפת הסטנדרט הקורסמעמיקמאודומלמדאת הדרךהיעילהלכתיבתקודVHDL בכדילקבלאתמימושתכןהלוגי המדויק. הקורסמשלב

More information

Lab 7 (All Sections) Prelab: Introduction to Verilog

Lab 7 (All Sections) Prelab: Introduction to Verilog Lab 7 (All Sections) Prelab: Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work 1 Objective The

More information

Synthesizable Verilog

Synthesizable Verilog Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL

More information

A novel approach to Reusable Time-economized STIL based pattern development

A novel approach to Reusable Time-economized STIL based pattern development A novel approach to Reusable Time-economized STIL based pattern development by Rahul Malhotra Under the Supervision of Dr. Sujay Deb Fabio Carlucci Indraprastha Institute of Information Technology Delhi

More information

Faults, Testing & Test Generation

Faults, Testing & Test Generation Faults, Testing & Test Generation Smith Text: Chapter 14.1,14.3, 14.4 Mentor Graphics/Tessent: Scan and ATPG Process Guide ATPG and Failure Diagnosis Tools Reference Manual (access via mgcdocs ) ASIC Design

More information

ECE 353 Lab 4. MIDI Receiver in Verilog. Professor Daniel Holcomb UMass Amherst Fall 2016

ECE 353 Lab 4. MIDI Receiver in Verilog. Professor Daniel Holcomb UMass Amherst Fall 2016 ECE 353 Lab 4 MIDI Receiver in Verilog Professor Daniel Holcomb UMass Amherst Fall 2016 Timeline and Grading for Lab 4 Lectures on 11/15 and 11/17 Due on 12/12 Demos in Duda hall Schedule will be posted

More information

Boundary Scan Implementation

Boundary Scan Implementation OpenCORES s Boundary Scan Implementation Abstract This document describes Boundary Scan Implementation (software and hardware solution. It is fully IEEE 1149.1 compliant. Date : August 6, 2000 Version:

More information

Impact of DFT Techniques on Wafer Probe

Impact of DFT Techniques on Wafer Probe Impact of DFT Techniques on Wafer Probe Ron Leckie, CEO, INFRASTRUCTURE ron@infras.com Co-author: Charlie McDonald, LogicVision charlie@lvision.com The Embedded Test Company TM Agenda INFRASTRUCTURE Introduction

More information

System Testability Using Standard Logic

System Testability Using Standard Logic System Testability Using Standard Logic SCTA037A October 1996 Reprinted with permission of IEEE 1 IMPORTANT NOTICE Texas Instruments (TI) reserves the right to make changes to its products or to discontinue

More information

Writing Circuit Descriptions 8

Writing Circuit Descriptions 8 8 Writing Circuit Descriptions 8 You can write many logically equivalent descriptions in Verilog to describe a circuit design. However, some descriptions are more efficient than others in terms of the

More information

ASIC Design Flow. P.Radhakrishnan, Senior ASIC-Core Development Engineer, Toshiba, 1060, Rincon Circle, San Jose, CA (USA) Jan 2000 (Issue-3)

ASIC Design Flow. P.Radhakrishnan, Senior ASIC-Core Development Engineer, Toshiba, 1060, Rincon Circle, San Jose, CA (USA) Jan 2000 (Issue-3) By P.Radhakrishnan, Senior ASIC-Core Development Engineer, Toshiba, 1060, Rincon Circle, San Jose, CA 95132 (USA) Jan 2000 (Issue-3) Contents Introduction... 3 Application Specific Integrated Circuits

More information

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital

More information

RTL Scan Design for Skewed-Load At-Speed Test under Power Constraints

RTL Scan Design for Skewed-Load At-Speed Test under Power Constraints RTL Scan Design for Skewed-Load At-Speed Test under Power Constraints Ho Fai Ko and Nicola Nicolici Department of Electrical and Computer Engineering McMaster University, Hamilton, ON, L8S 4K1, Canada

More information

FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints

FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints Chip design is not getting any easier. With increased gate counts, higher clock speeds, smaller chip sizes and

More information

Lecture 3. Behavioral Modeling Sequential Circuits. Registers Counters Finite State Machines

Lecture 3. Behavioral Modeling Sequential Circuits. Registers Counters Finite State Machines Lecture 3 Behavioral Modeling Sequential Circuits Registers Counters Finite State Machines Behavioral Modeling Behavioral Modeling Behavioral descriptions use the keyword always, followed by optional event

More information

Timing and Verification

Timing and Verification Timing and Verification Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan) http://www.syssec.ethz.ch/education/digitaltechnik_17 Adapted

More information

L5: Simple Sequential Circuits and Verilog

L5: Simple Sequential Circuits and Verilog L5: Simple Sequential Circuits and Verilog Acknowledgements: Nathan Ickes and Rex Min Lecture notes prepared by Professor Anantha Chandrakasan L5: 6.111 Spring 29 Introductory Digital Systems Laboratory

More information

Techniques for Digital Systems Lab. Verilog HDL. Tajana Simunic Rosing. Source: Eric Crabill, Xilinx

Techniques for Digital Systems Lab. Verilog HDL. Tajana Simunic Rosing. Source: Eric Crabill, Xilinx CSE140L: Components and Design Techniques for Digital Systems Lab Verilog HDL Tajana Simunic Rosing Source: Eric Crabill, Xilinx 1 More complex behavioral model module life (n0, n1, n2, n3, n4, n5, n6,

More information

L5: Simple Sequential Circuits and Verilog

L5: Simple Sequential Circuits and Verilog L5: Simple Sequential Circuits and Verilog Courtesy of Rex Min. Used with permission. 1 Key Points from L4 (Sequential Blocks) Classification: Latch: level sensitive (positive latch passes input to output

More information

MLR Institute of Technology

MLR Institute of Technology MLR Institute of Technology Laxma Reddy Avenue, Dundigal, Quthbullapur (M), Hyderabad 500 043 Course Name Course Code Class Branch ELECTRONICS AND COMMUNICATIONS ENGINEERING QUESTION BANK : DIGITAL DESIGN

More information

Lecture 28 IEEE JTAG Boundary Scan Standard

Lecture 28 IEEE JTAG Boundary Scan Standard Lecture 28 IEEE 49. JTAG Boundary Scan Standard Motivation Bed-of-nails tester System view of boundary scan hardware Elementary scan cell Test Access Port (TAP) controller Boundary scan instructions Summary

More information

Clockless IC Design using Handshake Technology. Ad Peeters

Clockless IC Design using Handshake Technology. Ad Peeters Clockless IC Design using Handshake Technology Ad Peeters Handshake Solutions Philips Electronics Philips Semiconductors Philips Corporate Technologies Philips Medical Systems Lighting,... Philips Research

More information

Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design

Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design Lisa Piper Technical Marketing Real Intent Inc., Sunnyvale, CA Comprehensive verification of Finite State

More information

Digital Signal Processor Core Technology

Digital Signal Processor Core Technology The World Leader in High Performance Signal Processing Solutions Digital Signal Processor Core Technology Abhijit Giri Satya Simha November 4th 2009 Outline Introduction to SHARC DSP ADSP21469 ADSP2146x

More information

Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts)

Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts) Nate Pihlstrom, npihlstr@uccs.edu Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts) Objective The objective of this lab assignment is to introduce and use a methodology for designing

More information

Note: Closed book no notes or other material allowed, no calculators or other electronic devices.

Note: Closed book no notes or other material allowed, no calculators or other electronic devices. ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Exam Review Note: Closed book no notes or other material allowed, no calculators or other electronic devices. One page

More information

Lecture 15: System Modeling and Verilog

Lecture 15: System Modeling and Verilog Lecture 15: System Modeling and Verilog Slides courtesy of Deming Chen Intro. VLSI System Design Outline Outline Modeling Digital Systems Introduction to Verilog HDL Use of Verilog HDL in Synthesis Reading

More information

Power Management Techniques for Design Closure. Jyothi Jujare Rishi Chawla

Power Management Techniques for Design Closure. Jyothi Jujare Rishi Chawla Power Management Techniques for Design Closure Jyothi Jujare Rishi Chawla 2 Agenda Introduction RTL Power Optimization Power Management through Clock Gating Interoperability of Clock Gating Conclusion

More information

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad - 00 0 ELECTRONICS AND COMMUNICATIONS ENGINEERING QUESTION BANK Course Name : DIGITAL DESIGN USING VERILOG HDL Course Code : A00 Class : II - B.

More information

HOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER

HOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER HOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER This tutorial explains how to synthesize a verilog code using RTL Compiler. In order to do so, let s consider the verilog codes below. CNT_16 Module: 16

More information

Digital Design with FPGAs. By Neeraj Kulkarni

Digital Design with FPGAs. By Neeraj Kulkarni Digital Design with FPGAs By Neeraj Kulkarni Some Basic Electronics Basic Elements: Gates: And, Or, Nor, Nand, Xor.. Memory elements: Flip Flops, Registers.. Techniques to design a circuit using basic

More information

VLSI Testing. Lecture Fall 2003

VLSI Testing. Lecture Fall 2003 VLSI Testing Lecture 25 8-322 Fall 23 Announcement Homework 9 is due next Thursday (/2) Exam II is on Tuesday (/8) in class Review Session: When: Next Monday (/7) afternoon, 4pm 6pm Where: B3, HH 2 Outline

More information

ALTERA FPGAs Architecture & Design

ALTERA FPGAs Architecture & Design ALTERA FPGAs Architecture & Design Course Description This course provides all theoretical and practical know-how to design programmable devices of ALTERA with QUARTUS-II design software. The course combines

More information

Accelerating CDC Verification Closure on Gate-Level Designs

Accelerating CDC Verification Closure on Gate-Level Designs Accelerating CDC Verification Closure on Gate-Level Designs Anwesha Choudhury, Ashish Hari anwesha_choudhary@mentor.com, ashish_hari@mentor.com Design Verification Technologies Mentor Graphics Abstract:

More information

Verilog for Synthesis Ing. Pullini Antonio

Verilog for Synthesis Ing. Pullini Antonio Verilog for Synthesis Ing. Pullini Antonio antonio.pullini@epfl.ch Outline Introduction to Verilog HDL Describing combinational logic Inference of basic combinational blocks Describing sequential circuits

More information

Custom Design Formal Equivalence Checking Based on Symbolic Simulation. Overview. Verification Scope. Create Verilog model. Behavioral Verilog

Custom Design Formal Equivalence Checking Based on Symbolic Simulation. Overview. Verification Scope. Create Verilog model. Behavioral Verilog DATASHEET Custom Design Formal Equivalence Checking Based on Symbolic Simulation High-quality equivalence checking for full-custom designs Overview is an equivalence checker for full custom designs. It

More information

l Some materials from various sources! Soma 1! l Apply a signal, measure output, compare l 32-bit adder test example:!

l Some materials from various sources! Soma 1! l Apply a signal, measure output, compare l 32-bit adder test example:! Acknowledgements! Introduction and Overview! Mani Soma! l Some materials from various sources! n Dr. Phil Nigh, IBM! n Principles of Testing Electronic Systems by S. Mourad and Y. Zorian! n Essentials

More information