• No results found

Lab 3_ Top-down ASIC Design With DFT

N/A
N/A
Protected

Academic year: 2021

Share "Lab 3_ Top-down ASIC Design With DFT"

Copied!
16
0
0

Loading.... (view fulltext now)

Full text

(1)

Lab 3: Top-down ASIC Design with DFT

Lab 3: Top-down ASIC Design with DFT

-by: Zheng Chen -by: Zheng Chen Modified by

Modified byLily LiLily Li

 Last

 Last ModifiedModified2222 /0 /022 /0 /055

INTRODUCTION:

INTRODUCTION:

In contemporary design flows, test merges with design much earlier in the process, creating what is called a In contemporary design flows, test merges with design much earlier in the process, creating what is called a design-for-test (

design-for-test (DFTDFT) process flow. To ensure maximum design testability, designers must employ special DFT) process flow. To ensure maximum design testability, designers must employ special DFT techniques at specific stages in the development process.

techniques at specific stages in the development process. Figure 1Figure 1  shows the basic steps and the Mentor   shows the basic steps and the Mentor  Graphics tools you would use during a typical ASIC top-down design flow with a structured DFT strategy. As Graphics tools you would use during a typical ASIC top-down design flow with a structured DFT strategy. As those steps shown in grey indicate, if your design's format is in VHDL, you can use

those steps shown in grey indicate, if your design's format is in VHDL, you can use BISTArchitectBISTArchitect toto synthesize

synthesize BISTBIST  structures into its memory and random logic design blocks. Also at the RTL-level, you can  structures into its memory and random logic design blocks. Also at the RTL-level, you can insert and verify

insert and verify boundary scanboundary scan  circuitry using  circuitry usingBSDArchitect (BSDA)BSDArchitect (BSDA). After you synthesize and optimize the. After you synthesize and optimize the design, you are ready to insert

design, you are ready to insert internal scaninternal scan  circuitry into your design using  circuitry into your design usingDFTAdvisorDFTAdvisor. When you are sure. When you are sure the design is functioning as desired, you can use

the design is functioning as desired, you can use FastScanFastScan oror FlexTestFlexTest  (depending on your scan strategy) to  (depending on your scan strategy) to generate a test pattern set via

generate a test pattern set via ATPGATPG  methods. Before handing the design off for manufacture and testing, you  methods. Before handing the design off for manufacture and testing, you should verify that the design and patterns still function correctly with the proper timing information applied. should verify that the design and patterns still function correctly with the proper timing information applied.

Fig Fig. . 11 For details about DFT concepts, refer to the

For details about DFT concepts, refer to the.pdf .pdf  version document version documentASIC/IC Design-for-Test Process GuideASIC/IC Design-for-Test Process Guide using mgcdocs command.

(2)

2. Using Fastscan to generate test vectors and test fault coverage.

1. Introduction

DFTAdvisor is a utility that allows you to insert scan circuitry into your design. It follows one of two basic strategies: The first is full scan. Full scan converts every flip flop and latch into scanable flip flops, which allows the use of combinational test pattern generation. After inserting the scan circuitry, you can then generate test vectors for your design by using Fast Scan. The other strategy is partial scan. With partial scan you only insert scan circuitry in some of the memory devices.You can then generate test vectors for your design using FlexTest.In this lab exercise, you will invoke DFTAdvisor on a simple design to insert full scan. You will use DFTAdvisor to write a scan-based netlist file and ATPG setup files. Then you will invoke FastScan using the ATPG setup file information to create, compress, and save patterns. This lab will give you experience using the tools in a typical scan and ATPG tool flow utilizing default configurations.

This Verilog design contains no errors, so you can use it as a future reference to help you navigate through a scan and ATPG tool flow.

Understanding and applying these concepts will assist you when you begin to make customized configurations to enhance tool performance.

2. Preparation

1. DFT Advisor requires a test library. A test library gives the functions of all the gates in the design and how to convert the non-scannable flip flops into their scannable equivalents. Please download the library adk.atpg. Make sure to save this file in the current working directory.

2. Put your HDL file in the current working directory. The source codes are in section 4. Please download the  pipe_net_noscan. Make sure to save this file in the current working directory.

3. Invoking DFTAdvisor

1. To invoke DFTAdvisor on your HDL file you must first set the mentor graphics working directory to the current directory that has your pipe_net_noscan file. Very important: The adk.atpg file should be in the same directory that your HDL file pipe_net_noscan is in.

2. To start DFTAdvisor, you need to enter the command in the format: shell> dftadvisor

This invokes the DFTAdvisor Invocation Arguments dialog box. You must enter a design, a design format, and an ATPG library to invoke the Graphical User Interface (GUI) as shown in fig. 2.

a. Click the Browse button next to the Design field to enter the design. Click the pipe_net_noscan.v design.  Notice the design path is inserted into the Design field. Click the OK button in the dialog box.

 b. Select the Verilog design format from the Format dropdown list, if not already selected. c. Click the Browse button next to the ATPG Library field.

i. Navigate to the libraries directory. ii. Select theadk.atpg library file. iii. Click OK.

(3)

save your results. Back over the .*. in the File Name Field, and typedftadvisor.log into the command path. This will create a log file that logs all of your session, including reading in the library and the non-scan netlist at invocation.

e. Click Ok. The File Browser closes.

f. Click Invoke DFTAdvisor. DFTAdvisor is now up and running. You have successfully invoked DFTAdvisor  on the pipe_net_noscan.v design. Both the Command Line and the Control Panel windows should now be open.

Fig.2

3. After invoking DFTAdvisor, the DFTAdvisor Control Panel and the command line will appear as shown in Fig. 3.

(4)

Define clocks. Clocks are primary input signals that asynchronously change the state of sequential logic elements: clocks, sets, resets, and RAM read/write clocks.

a. Choose Setup > Clocks menu item.Or click on the Clocks button in the Circuit Setup graphics pane,a Setup

Circuit Clocks dialog box open as shown in fig. 4. i. Click on the Automatically Identify & Add button.

ii. Click on theApply button. The /clk control signal is identified and the Off-State is 0. iii. Click OK .

Fig.4

Alternatively, you can use the Analyze Control Signals -Auto_fix command to automatically identify clocks and control signals.

Besides defining scan circuitry, defining (or adding) clocks and pin constraints is the key to successful Design Rules Checking (DRC).

These are the most critical steps; you must load scan patterns correctly and you must clock circuitry at the  proper time to ensure correct fault simulation.

3. Go to DFT mode.

a. ClickDone with Setup in the DFTAdvisor control panel pane. You are now in the DFT system mode. When you switch from SETUP to DFT mode, DFTAdvisor and FastScanwill run DRC.

DFT mode is primarily for scan identification and insertion.

The Test Synthesis window is displayed in the graphic pane. Also, Test Synthesis is highlighted in the task flow manager pane.

Note: If DFTAdvisor encounters DRC violations that are errors, it will not exit SETUP mode. You must debug and fix the problem in SETUP mode before proceeding. If no error encountered, then an interface as shown in fig. 5 will show up.

(5)

Fig.5

4. Choose full scan methodology.

ClickSetup Identification button in the graphic pane. The Setup for Scan &

Test Point Identification dialog box opens as shown in fig. 6. The Full Scan button is selected (red), which is the default setting. Full scan methodology is the fastest identification method.

(6)

Fig6

5. Identify scannable instances.

a. ClickRun Identification in the graphic pane.  b. Observe the default settings.

c. Click the Run with Existing Settings button. The DFTAdvisor Identification Run Statistics box opens. i. Observe the information that is available.

ii. Click theView Details button. The Scan Identification box opens. iii. Click the Close button for this dialog box.

iv. Click the Report button. The Results & Analysis box opens. v. ClickShow Statistics.

vi. Click Generate Report. What information is displayed? vii. Click Close.

ix. Click Dismiss. This closes the DFTAdvisor Identification Run Statistics dialog box.

d. Click Setup/Run Test Synthesis in the graphic pane. This opens the Setup/Run Test Synthesis box as shown in fig. 7.

(7)

e. The following default settings should be selected (red is active)  Synthesize Scan Circuitry into the Design

 Synthesize Identified Test Points

 Synthesize Test Logic to Control RAMs

Fig. 7

f. Click Setup in the Synthesize Scan Circuitry into the Design area.

i. In the Chain Restrictions area, the insert button is selected (red), and the number1 is entered in the Chain entry box.

ii. In the Scan Enables area, theAllow Only One Scan Enable Signal to Control All Scan Chains is selected (red).

g. Click  Done.

DFTAdvisor can automatically insert a number of different test structures into the design. These structures include: scan circuitry, test points, test logic to RAMs, I/O buffers for added test pins, and buffer trees for test  pins.

h. Click OK .A box as shown in fig. 8 will pop up.

(8)

Fig. 8 A scan-inserted netlist has now been created.

6. Save a Verilog netlist and ATPG setup files.

a. Click the Save Results button in the button pane. This opens the Save Results dialog box shown in fig. 9.  b. Click Save the New Netlist button.

c. Select the Verilog format from the Format dropdown list, if not already selected. d. Click the Browse button next to Pathname in the Netlist area.

i. Navigate to the results directory. Save as pipe_scan.v file. ii. Click OK .

(9)

Fig. 9 e. ClickSave Setup Files for ATPG button shown in fig. 10.

f. Click the Enhanced Procedure File button (red when active) in the Timing File Type area. The Enhances Procedure file describes the order of events for a test pattern set and introduces timing to test vectors divided into cycles.

g. Click theBrowse button next to Basename in the Setup for Test Points area. i. Navigate to the results directory. Save as pipe_scan (without a file extension). ii. Click OK.

h. Click theOverwrite Existing File(s) button.

i. Click theView Files button.This activates the File Viewer when you have saved the output files.  j. ClickOK . This closes the Save Results dialog box.

(10)

Fig. 10 You have written the following three files:

  pipe_scan.v, which is the Verilog netlist pipe_scan.dofile, which is a dofile file

pipe_scan.testproc, which is an Enhanced Procedure file k. The File Viewer is now open.

i. The pipe_scan.dofile is displayed as shown in fig. 11. This file inputs circuit setup and scan information needed by FastScan at invocation.

(11)

ii. Double-click the  pipe_scan.testproc in the Select File to View display area. This displays the shift and load_unload procedures as shown in fig. 12, as well as the timing plate (gen-tp1), which is shared by both  procedures.

Fig. 12 l. Close the Viewer.

For this exercise, you will invoke FastScan from DFTAdvisor. The goal for this part of the exercise is to follow a typical ATPG tool flow.You will use FastScan to create, compress, and save patterns following the FastScan tool flow

4

. Invoking

Fastscan

1. Run FastScan.

a. ClickDone with Test Synthesis button in the graphic pane.

The DFT Advisor Test Synthesis Complete dialog box opens. ClickRun ATPG button. The Exit DFT Advisor   before starting FastScan question box opens.

i. ClickNo.

FastScan is now up and running. You have successfully invoked FastScan on the pipe_scan.v design. Both the Command Line and the Control Panel windows are open as shown in fig. 13. The Circuit Setup graphic pane opens, and Setup is highlighted in the Process Pane.

(12)

Fig. 13 FastScan completed the following:

 Compiled the library

 Read in the Verilog Netlist

 Read in the Verilog file (pipe_scan.v)

 Read in the test procedure file (pipe_scan.testproc)  Read in the dofile (pipe_scan.dofile)

 This is displayed in the session transcript area.

2. Go to ATPG.

a. ClickDone with Setup in the Circuit Setup graphic pane. The FastScan Session Purpose dialog box opens as shown in fig. 14.

(13)

Fig. 14

 b. Click thePattern Generation button. The Test Pattern Generation graphic pane opens. Also, Pattern Generation is highlighted in the process pane.The following processes occurred:

Circuit flattening

Design hierarchy is reduced down to its simulation primitives and connectivity.   Learning analysis

Analysis by FastScan to learn circuit behavior, used later in fault simulation and ATPG.

 FastScan performs static learning only once after flattening. Static learning involves gate-by-gate local simulation to determine information about the design. Pin and ATPG constraints are not considered.  Design Rules Checking (DRC)

 The tool exited SETUP mode and entered the ATPG mode. This is displayed in the session transcript area.

3. Select fault model and add faults.

a. Click onFault Universe in the Test Pattern Generation graphic pane.  b. Click theTypical button.

The Stuck-at-Fault model is chosen, which adds all faults into the design.

4. Generate patterns.

a. Click onTest Generation in the Test Pattern Generation graphic pane. Use Existing Settings or Customize? dialog box opens.

 b. ClickRun with Existing Settings. ATPG Run Statistics window comes up as shown in Figure15, click on Dismiss.

(14)

Fig. 15

You just generated test patterns following a typical ATPG flow process. The following information is available:

 Patterns

 Number of Effective Patterns  Number of Simulated Patterns  Faults

 Number of detected 

 Number of aborted (untestable)  Number of ATPG Untestable (AU)

 Number of undetected--uncontrollable (UC) or unobservable faults (UO)

Test Coverage percentage--percentage of all testable faults that are detected by the pattern set 

 Fault Coverage percentage--percentage of all faults both testable and untestable that are detected by the pattern  set 

 ATPG effectiveness percentage--a measure of the ability of the ATPG tool to either provide a test to detect a  fault, or prove that a test cannot be created 

CPU run time

c. In the right side of control panel, click onSave Pattern, select Save the Pattern Set to a File, specify the  pathname, selectASCII format, and clickOK .

5. Results and Analysis

(15)

b. Report Statistics comes up, click onEntire Design option. Then the Statistics report will be shown. Click  Close to close Results & Analysis.

c. We are done with ATPG. Next step is Fault Simulation used the same pattern that just generated by ATPG. In Test Pattern Generation panel, click onDone With Pattern Generation, and click onFault.

6. Fault simulation

a. InFault Simulation control panel, click onPattern Source.Setup Pattern Source comes up, select

External Patterns From, navigate to the same pattern file and same format generated by ATPG, and clickOK .  b. In the right side ofFault Simulation control panel, click onRun button.FastScan Fault Simulation Run

Statistics will be shown, and click onDismiss.

Fig. 16 c. Results & Analysis

(16)

References

Related documents

Hyperion Essbase Analytics 9.3.1 Bootcamp 7-9 You can create members that are shared at the same level by using the level build method. In this example, Performance is the

In this lab, you will increase your knowledge by implementing a more complex digital design problem (Vending Machine). In this lab activity, we will 1) use Xilinx to derive the

The principles for real CI risk management in number 66 were determined in domains: concept and way of real CI management; requirements for data, methods, and techniques that

Similarly, using maze routing on a design with high pin count BGAs and many routing layers, results in many unrouted wires due to early blocking of routing space by wrong way

Out nearly any of receipt ocr performed all genres of your expenses with files and take advantage of empty space you want to a zapier. Pixelated from hundreds of receipt

A: While you won’t be able to take any of the Digital Design lab computers home with you, we can arrange to give you extra work time before and/or after school to finish your

patient comfort health nurse patient ease of work operator ease of use cleaner accessibility safety inspection quality maintainer accessibility safety radiologist

Therefore, recent advances in epigenetic assays, mainly focusing on various scalable assays that not only target DNA methylation and histone modi fications but also pheno- type,