Lab Instructions. Design for Test of Digital Systems TDDC33. Date of last revision 24/08/ Dimitar Nikolov, IDA/SaS ESLAB

Size: px
Start display at page:

Download "Lab Instructions. Design for Test of Digital Systems TDDC33. Date of last revision 24/08/ Dimitar Nikolov, IDA/SaS ESLAB"

Transcription

1 Design for Test of Digital Systems TDDC33 Lab Instructions Date of last revision 24/08/ Dimitar Nikolov, IDA/SaS ESLAB TDDC33 Design for Test of Digital Systems

2 Table of Contents 1. Introduction Initial preparations Synthesis Input Output Synthesis procedure Design for test using DFTAdvisor Input Output Starting DFTAdvisor Circuit Setup Test Synthesis Full Scan Insertion Partial Scan Insertion Fault Coverage Analysis and Test Pattern Generation using FastScan Input Output Writing test patterns Starting FastScan Circuit setup Fault simulation Test pattern generation Results and analysis Test point insertion in VHDL Input Output Inserting test points Board test using Boundary Scan (IEEE ) Input Output TDDC33 Design for Test of Digital Systems 1

3 7.3. Starting Trainer How to use Trainer Introducing a fault Writing and verifying a test program using the Test Constructor Writing and verifying a test program using the TAP Controller Appendix A S27_TP VHDL Description References TDDC33 Design for Test of Digital Systems 2

4 1. Introduction This document describes the environmental setup and the tools needed to complete the lab assignments in the course TDDC33 Design for Test of Digital Systems. The tools that are used in this course are listed in Table 1. For the synthesis, automatic test pattern generation (ATPG), and design for test (DFT), the core cells from AMS 0.35µm [1] standard cell library will be used together with the test library c35_corelib.atpg. A design named s27 will be used as an example throughout these instructions. The s27 design is described in VHDL (s27.vhdl) and stored in a directory named s27_test. The name of the design and the directory will later be changed as you solve the lab assignments. The rest of this document is organized as follows. Chapter 1 contains information about how to setup the system in order to start the tools. The following chapters, Chapter 2 to Chapter 7, contain instructions for the synthesis, DFT, test pattern generation, test point insertion, and board testing, respectively. Task Tool Tool vendor Synthesis Leonardo Spectrum (Mentor Graphics) Design for test DFTAdvisor (Mentor Graphics) Test pattern generation FastScan (Mentor Graphics) Boundary Scan Trainer1149 (Testonica) Boundary Scan TSTAP-Studio (SAAB Aerotech) Table 1 Covered tools TDDC33 Design for Test of Digital Systems 3

5 2. Initial preparations The following commands are all executed in a terminal window. Add the modules /mentor/tessent and mentor/fpgadv if they are missing. To check which modules are already loaded issue the following command: module list If the modules /mentor/tessent and mentor/fpgadv are missing from the list, use the following command to add the modules. module add prog/mentor/fpgadv module add prog/mentor/tessent Note! If you have added the modules by yourself, then each time you close the terminal window you will need to add them again. To avoid adding the modules each time you close the terminal window, use the following command: module initadd prog/mentor/fpgadv module initadd prog/mentor/tessent Observe that these commands do not add the modules instantly, instead the modules /mentor/tessent and mentor/fpgadv will be loaded by default from the next time you login to your account. Make a directory s27_test mkdir s27_test Download and extract the required files. (Described in the labs) Download the labx.tar.gz file where X is the number of the lab gunzip labx.tar.gz tar xvf labx.tar Copy the following files to the s27_test directory: c35_corelib.atpg fflop.vhd gates.vhd s27.vhdl Set the environment variable MODEL_TECH setenv MODEL_TECH /sw/mentor/fpgadv/6.2/modeltech/bin Generate the work directory $MODEL_TECH/vlib work Compile the vhdl files $MODEL_TECH/vcom -93 fflop.vhd $MODEL_TECH/vcom -93 gates.vhd $MODEL_TECH/vcom s27.vhdl TDDC33 Design for Test of Digital Systems 4

6 3. Synthesis This chapter describes the synthesis procedure using Leonardo Spectrum from Mentor Graphics. It is assumed that the initial preparations, described in the Chapter 2, have been made Input A compiled VHDL-file 3.2. Output A synthesized Verilog netlist 3.3. Synthesis procedure Start the synthesis program from a command prompt leonardo & Click OK In the Quick Setup tab Select library file: technology->asic->ams->c35_corelib Select input file Input->Open files: Select the vhdl file (s27.vhd) Select the name of the output file s27.v In the Advanced tab Output -> Format->Verilog In the Quick Setup tab Check that the Optimize Effort is set to Fastest Runtime Check that the output filename is correct Start synthesis Run Flow Check the results from the synthesis in the Exemplar.log file Check that the Verilog file (s27.v) was generated TDDC33 Design for Test of Digital Systems 5

7 Figure 1 Synthesis Setup (Quick Tab) Figure 2 Synthesis setup (Advanced Tab) TDDC33 Design for Test of Digital Systems 6

8 4. Design for test using DFTAdvisor This chapter describes how to perform scan chain insertion using DFTAdvisor tool from Mentor Graphics Input A design netlist (Verilog netlist) Library file 4.2. Output A new design netlist ATPG setup files (dofile and procedure file) 4.3. Starting DFTAdvisor Invoke DFTAdvisor from the command prompt dftadvisor netlist_file lib c35_corelib.atpg Note! The command is issued from a working directory that contains both the netlist_file and the library file (c35_corelib.atpg) By default, the tool enters the SETUP mode. In this mode, the user can give further inputs to the tool regarding the design that is provided, i.e. specify the primary inputs and outputs, specify clocks etc. The tool is able to directly identify the primary inputs and outputs, but further inputs are required to specify the clocks. To check the primary inputs and outputs that the tool has identified try the following commands: report primary inputs report primary outputs Next, we present how to specify clocks Circuit Setup To specify the clocks, issue the following command: add clocks off_state pin_pathname where off_state represents the pin value (0 or 1) that results in a scan element s clock input being at its inactive state (for latches) or state prior to a capturing transition (for edge-triggered devices), and pin_pathname represents a primary input pin that is to be assigned as a clock pin. Example: add clocks 0 CLK Once all clocks are added, the circuit setup is completed, and we can continue working with the tool and insert scan chains. To do that, we need to switch the system mode to DFT. We set the new system mode by issuing the following command: set system mode dft 4.5. Test Synthesis In this section, we provide the commands that are required to insert scan chains into your design using DFTAdvisor. Regarding scan chain insertion, we will describe the steps to perform a full scan insertion, where all scannable elements are connected in a single scan chain, and partial scan insertion where a number of scannable elements are stitched in a single chain. TDDC33 Design for Test of Digital Systems 7

9 4.5.1 Full Scan Insertion To setup full scan insertion run the following commands: setup scan identification full_scan run After running these commands, in the command window you will get a brief report stating the number of sequential elements that were identified in your design and how many of them have been converted into scan cells. Next, we insert the test logic in the design by issuing the following command: insert test logic This command adds the new primary inputs and outputs to the circuit, replaces the sequential elements into scan cells, and connects the scan cells in a single chain. To save the modified design, you use the command: write netlist filename The new design has the scan chains included. To be able to run an ATPG for the scannable design, there are some further inputs that are to be given to the ATPG tool (FastScan in this case) so that it can identify the presence of the scan chains, and get to know how the scan operations are to be performed. This information is included in the ATPG setup files (the procedure file and the dofile). To save these files, use the following command: write atpg setup basename After running this command, two files are generated: basename.testproc (a file that contains the information of how to perform the scan operations) and basename.dofile (a file that informs the ATPG tool for the existence of scan circuitry in the design) Partial Scan Insertion To add partial scan, you need to first write a configuration file, where you explicitly select how many and which memory elements to be converted into scan cells and connected in a scan chain. Note that this you do manually, due to the lack of the tool to automatically run partial scan insertion. In the ideal case, when a tool supports automatic partial scan insertion, the tool can select the specified number of memory elements, which is given by the user as a number or maybe a percentage, by applying some algorithm and performing some analysis so that it selects only the most important memory elements to be converted into scan cells. For example, SCOAP can be used to identify which memory elements are the best to be converted into scan cells and connected in a scan chain, so that the fault coverage is maximized. Next, we describe how to write this configuration file to perform partial scan insertion. The configuration file is a text file that contains lines, each of them with three parameters: instance_pathname cell_id chain_id instance_pathname - A string that specifies the name of the non-scan cell that you want DFTAdvisor to put in the scan chain. To find instance_pathname open the netlist file and read its contents. cell_id - An integer that specifies the placement of the instance_pathname in relation to other instance_pathnames. DFTAdvisor places the instance having the smallest cell_id closest to the scan chain output. All instances in the same chain must have unique cell_ids. chain_id - An integer that specifies the scan chain in which you want DFTAdvisor to place the instance_pathname. DFTAdvisor places instances with the same chain_id in the same chain. TDDC33 Design for Test of Digital Systems 8

10 Once you have prepared the configuration file you only need to insert the test logic that is specified there. To do this, use the following command: insert test logic config_file where config_file stands for the configuration file that you have written. Next you need to do, is to write the netlist file and the atpg setup files, as described in the previous section. TDDC33 Design for Test of Digital Systems 9

11 5. Fault Coverage Analysis and Test Pattern Generation using FastScan This chapter describes the fault coverage analysis and test pattern generation process using FastScan from Mentor Graphics. It is assumed that the initial preparations, described in Chapter 2, have been made Input A design netlist (Verilog netlist) Library file External test patterns (optional) Command files: dofile and testproc file (optional) 5.2. Output Test patterns Fault coverage 5.3. Writing test patterns Manually crafted test patterns should be written in a text file using the following format: Combinational design (c17 design) ASCII_PATTERN_FILE_VERSION = 2; SETUP = declare input bus "PI" = "/INP[0]", "/INP[1]", "/INP[2]", "/INP[3]", "/INP[4]"; end; declare output bus "PO" = "/OUTP[0]", "/OUTP[1]"; SCAN_TEST = pattern = 0; force "PI" "10010" 0; measure "PO" "00" 1; pattern = 1; force "PI" "10010" 0; measure "PO" "00" 1; end; TDDC33 Design for Test of Digital Systems 10

12 Sequential design (could be the s27 design) ASCII_PATTERN_FILE_VERSION = 2; SETUP = declare input bus "PI" = "/INP[0]", "/INP[1]", "/INP[2]", "/INP[3]", "/H"; declare output bus "PO" = "/OUTP[0]"; clock "/H" = off_state = 0; pulse_width = 1; end; end; SCAN_TEST = pattern = 0 clock_sequential ; force "PI" "01110" 0; pulse "/H" 1; force "PI" "11010" 2; measure "PO" "1" 3; pattern = 1 clock_sequential ; force "PI" "01010" 0; pulse "/H" 1; force "PI" "10110" 2; measure "PO" "1" 3; end; 5.4. Starting FastScan To invoke FastScan use the following command: fastscan netlist_file lib c35_corelib.atpg By default, the tool enters the SETUP system mode, where you can provide more inputs to the tool regarding the design for which you intend to perform fault simulation or want to run automatic test pattern generation Circuit setup If you are about to work with a sequential design, then you are supposed to specify which of the primary inputs represent the clock pins. To specify clocks, use the following command: add clocks off_state pin_pathname where off_state represents the pin value (0 or 1) that results in a scan element s clock input being at its inactive state (for latches) or state prior to a capturing transition (for edge-triggered devices), and pin_pathname represents a primary input pin that is to be assigned as a clock pin. Example: add clocks 0 CLK TDDC33 Design for Test of Digital Systems 11

13 If you are about to work with a design that contains scan chains, and you want the ATPG tool to use these test feature while generating the patterns, then you need to provide the dofile to the tool by issuing the following command: dofile filename.dofile Once you are done with the circuit setup, you can continue further with either running fault simulation, in which case you should switch to the FAULT system mode, or running the ATPG process, in which case you should switch to the ATPG system mode. Switching the system mode is done by using the following command: set system mode $SM where $SM denotes one of the following system modes: SETUP, GOOD, FAULT and ATPG Fault simulation To perform fault simulation, you need to make sure that you have set the system mode to FAULT. Before you run fault simulation, you need to specify the type of faults that you would like to be simulated and you should add those faults in the fault list which will later be used by the tool to identify which of them have been detected using the set of test patterns that you supply to the tool. To add faults in the fault list, use the following command: add faults -all -stuck_at 01 The given command adds all stuck_at faults for the provided netlist, meaning that at each fault site (each net in the netlist) it considers both the stack_at 1 and stuck_at 0 faults. Given this fault list during the fault simulation the tool will try to identify which of those faults are covered by the supplied test pattern set. To observe which are the faults that have been added in the faults list, what is their type and where are the fault sites in your netlist, you can use the following command: report faults To supply your own test pattern set, you should use the following command: set pattern source external filename Note! We assume that you have already created a test pattern file, using the instructions presented earlier in this tutorial (see 5.3. Writing test patterns). Once you have added the required faults in the fault list and have supplied a set of test patterns, you perform the fault simulation by using the following command: run To get a detailed report about the fault coverage, use the following command report statistics 5.7. Test pattern generation To perform test pattern generation, you need to make sure that you have set the system mode to ATPG. The next step is to add all the faults in the fault list, so that the tool can later generate test patterns for detecting the faults that are present in the fault list. Here is the set of commands that you should issue in order to generate test patterns. add faults -all -stuck_at 01 create patterns In the reported statistics you will be able to see what is the fault coverage for the generated test patterns. TDDC33 Design for Test of Digital Systems 12

14 5.8. Results and analysis The following metrics are reported after running test pattern generation or fault simulation. Here is a brief description for each of them. Test Coverage - percentage of all testable faults that are detected by the patterns. Fault Coverage - percentage of all faults both testable and untestable that are detected by the patterns. 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. TDDC33 Design for Test of Digital Systems 13

15 6. Test point insertion in VHDL This chapter describes how the testability of a design can be improved by inserting test points. It is assumed that the VHDL description of a design is available Input A design described in VHDL 6.2. Output A new design with test points Inserting test points Add the new input and output ports in the ENTITY block Add new signals in the ARCHITECTURE block (if needed) Modify the design (introduction of new gates may be required) such that the new ports are used to control and observe the hard-to-test parts of the design. Please refer to Appendix A for an example of VHDL code with inserted test points. TDDC33 Design for Test of Digital Systems 14

16 7. Board test using Boundary Scan (IEEE ) This chapter describes the boundary scan board test methodology. For the board test programming and test, a program called Trainer1149 from Testonica Lab is used Input A board design, which consists of one bsdl-file for each chip and another file that contains a list of connections between the chips Output A test program Starting Trainer1149 Verify that the current installed version of java is 1.6 or higher java version module add prog/jdk/1.6 Start the Trainer1149 program java jar trainer1149.jar & Select an existing project or make a new project 7.4. How to use Trainer1149 The Trainer1149 program has three different modes, Project Mode, Debug Mode, and Board Edit Mode. The Trainer1149 program will start in the project mode, which allows you to view and modify the board layout. In Figure 3, the twochips.nl netlist has been chosen in the Project Explorer. TDDC33 Design for Test of Digital Systems 15

17 Figure 3 Trainer1149 in Project mode Select appropriate item in the Mode menu to change the working mode. Another way is to use the toolbar buttons illustrated in Figure 4. Figure 4 Mode selection buttons In Debug Mode it is possible to perform boundary scan operations on the current design. In the Board Edit mode the user can create and/or modify the design. In this tutorial we focus on boundary scan operations in Debug Mode Introducing a fault The Trainer1149 has a trainer function where faults can be inserted in the design. The trainer function is used to verify whether the test program detects the faults as intended. The following instructions show how to insert a stuck-at 0 in net2. Insert a fault in the design. Training->Inject Fault The Injection Fault window, illustrated in Figure 5, will appear. TDDC33 Design for Test of Digital Systems 16

18 Figure 5 Inject Fault window Insert the stuck-at 0 fault. Select Stuck-at 0 in Open Fault panel. Select net2 in Select net panel. Press Inject fault button Writing and verifying a test program using the Test Constructor The following procedure describes how to write a test program that detects if there is a stuck-at 0 fault present at the net2 for the design presented in Figure 3. (to identify the net, just place the cursor over the wire and the label of the net will appear) Select the Debug Mode Mode->Debug The Test Constructor panel will appear as illustrated in Figure 6. Figure 6 Test Constructor panel TDDC33 Design for Test of Digital Systems 17

19 The buttons TLR, IR, and DR are used for test logic reset, perform scan on instruction register, and perform scan on data register, respectively. Specify the instruction and test vector. Select the EXTEST for chip1 and chip2. Specify the following vectors to detect the stuck-at 0 fault: Chip1 : Chip2 : Press the RUN button, to run the test After applying the test vectors, the produced test responses can be compared with the expected test responses and thus detect if there is a fault. An example is illustrated in Figure 7 where the stuck-at 0 fault on net2 is detected (expected responses are the values you observe in the white boxes, while the produced test responses are the values you observe in the green boxes). If you have inserted a fault as described in Section 6.3, you can check if you have successfully detected it. Check if you have detected the fault. Training->Check Fault Select the net that you suspect has a fault net 2 Figure 7 Stuck-at 0 fault detected TDDC33 Design for Test of Digital Systems 18

20 7.7. Writing and verifying a test program using the TAP Controller The following procedure describes how to write a test program that detects if there is a stuck-at 0 fault present at the net2 in Figure 20. Open the TAP Controller state machine. Press TAP State Diagram button The TAP State Diagram window will appear as illustrated in Figure 8 Figure 8 The TAP state machine Specify the input signals TDI and TMS by pressing the buttons TDI(0) and TMS(0). The test clock is toggled by pressing TCK(0). Load the EXTEST instruction and apply the test vector. The stuck-at 0 fault is detected by applying the test procedure presented in Table 2. TDI(Value) TMS(Value) TCK (No. of clicks) Comment Run-Test/Idle Select IR-Scan Shift-IR Shift in EXTEST for both chips Select DR-Scan Shift-DR Shift in test vector (all 1 s) Select DR-Scan Capture DR (responses captured) Shift-DR (shift out results) Update-DR Run-Test/Idle Table 2 Test procedure TDDC33 Design for Test of Digital Systems 19

21 Appendix A S27_TP VHDL Description This file is modified by Anders Larsson --Increased testability by introducing a new control point. --More control and/or observable points should be added to further increase the testability library IEEE; use IEEE.std_logic_1164.all; use work.all; ENTITY s27_bench IS PORT ( --Add a new input INP: in std_ulogic_vector(0 to 4); OUTP : out std_ulogic_vector(0 to 0); H : in std_ulogic ); END s27_bench ; ARCHITECTURE structural OF s27_bench IS component andg generic (tpd_hl : time; tpd_lh : time); port (in1, in2 : std_logic; out1 : out std_logic); component org generic (tpd_hl : time; tpd_lh : time); port (in1, in2 : std_logic; out1 : out std_logic); component xorg generic (tpd_hl : time; tpd_lh : time); port (in1, in2 : std_logic; out1 : out std_logic); component xnorg generic (tpd_hl : time; tpd_lh : time); port (in1, in2 : std_logic; out1 : out std_logic); TDDC33 Design for Test of Digital Systems 20

22 component nandg generic (tpd_hl : time; tpd_lh : time); port (in1, in2 : std_logic; out1 : out std_logic); component norg generic (tpd_hl : time; tpd_lh : time); port (in1, in2 : std_logic; out1 : out std_logic); component invg generic (tpd_hl : time; tpd_lh : time); port (in1 : std_logic; out1 : out std_logic); component buffg generic (tpd_hl : time; tpd_lh : time); port (in1 : std_logic; out1 : out std_logic); -- ******* Portes generiques sur le nombre d'entr component andg_n generic (n : integer ; tpd_hl : time ; tpd_lh : time); port (inp : std_logic_vector(0 to n-1); out1 : out std_logic) ; component nandg_n generic (n : integer ; tpd_hl : time ; tpd_lh : time ); port (inp : std_logic_vector(0 to n-1); out1 : out std_logic) ; component org_n generic (n : integer ; tpd_hl : time ; tpd_lh : time) ; port (inp : std_logic_vector(0 to n-1); out1 : out std_logic) ; TDDC33 Design for Test of Digital Systems 21

23 component norg_n generic (n : integer ; tpd_hl : time ; tpd_lh : time) ; port (inp : std_logic_vector(0 to n-1); out1 : out std_logic) ; component xorg_n generic (n : integer ; tpd_hl : time ; tpd_lh : time) ; port (inp : std_logic_vector(0 to n-1); out1 : out std_logic) ; component xnorg_n generic (n : integer ; tpd_hl : time ; tpd_lh : time) ; port (inp : std_logic_vector(0 to n-1); out1 : out std_logic) ; component DFFC generic (tpd_hl : time; tpd_lh : time); port (DFFC,H,C : std_logic; Q : out std_logic); component DFF generic (tpd_hl : time; tpd_lh : time); port (D,H : std_logic; Q : out std_logic); component TFFC generic (tpd_hl : time; tpd_lh : time); port (T,H,C : std_logic; Q : out std_logic); signal INTERP : std_ulogic_vector(0 to 11):=(others=>'0') ; signal OUTPI : std_ulogic_vector(outp'range):=(others=>'0') ; TDDC33 Design for Test of Digital Systems 22

24 BEGIN DFF0 : DFF generic map (1 ns,1 ns) port map ( D => INTERP(1), H => H, Q => INTERP(0)); DFF1 : DFF generic map (1 ns,1 ns) port map ( D => INTERP(3), H => H, Q => INTERP(2)); DFF2 : DFF generic map (1 ns,1 ns) port map ( D => INTERP(5), H => H, Q => INTERP(4)); INV0 : INVG generic map (1 ns,1 ns) port map ( in1 => INP(0), out1 => INTERP(6)); INV1 : INVG generic map (1 ns,1 ns) port map ( in1 => INTERP(3), out1 => OUTPI(0)); AND0 : ANDG_N generic map (2,1 ns,1 ns) port map ( inp(0) => INTERP(6), inp(1) => INTERP(2), out1 => INTERP(7)); OR0 : ORG_N generic map (2,1 ns,1 ns) port map ( inp(0) => INTERP(9), inp(1) => INTERP(7), out1 => INTERP(8)); OR1 : ORG_N generic map (2,1 ns,1 ns) port map ( inp(0) => INP(3), inp(1) => INTERP(7), out1 => INTERP(10)); NAND0 : NANDG_N generic map (2,1 ns,1 ns) port map ( inp(0) => INTERP(10), inp(1) => INTERP(8), out1 => INTERP(11)); TDDC33 Design for Test of Digital Systems 23

25 NOR0 : NORG_N generic map (2,1 ns,1 ns) port map ( inp(0) => INTERP(6), inp(1) => INTERP(3), out1 => INTERP(1)); NOR1 : NORG_N generic map (2,1 ns,1 ns) port map ( inp(0) => INTERP(0), inp(1) => INTERP(11), out1 => INTERP(3)); NOR2 : NORG_N generic map (2,1 ns,1 ns) port map ( inp(0) => INP(1), inp(1) => INTERP(4), out1 => INTERP(9)); NOR3 : NORG_N generic map (2,1 ns,1 ns) port map ( inp(0) => INP(2), inp(1) => INTERP(9), out1 => INTERP(5)); BUFFER_OUT : OUTP <= OUTPI; END structural ; ARCHITECTURE rtl OF s27_bench IS --Increase the number of signal wires (from 11 to 12) signal INTERP : std_ulogic_vector(0 to 12):=(others=>'0') ; signal OUTPI : std_ulogic_vector(outp'range):=(others=>'0') ; BEGIN REGVECT : BLOCK (H='1' AND NOT H'STABLE) BEGIN DFF3 : INTERP(0) <= GUARDED INTERP(12) after 1 ns; DFF4 : INTERP(2) <= GUARDED INTERP(3) after 1 ns; DFF5 : INTERP(4) <= GUARDED INTERP(5) after 1 ns; END BLOCK ; INV2 : INTERP(6) <= NOT(INP(0)) after 1 ns; INV3 : OUTPI(0) <= NOT(INTERP(3)) after 1 ns; AND1 : INTERP(7) <= INTERP(6) AND INTERP(2) after 1 ns; OR2 : INTERP(8) <= INTERP(9) OR INTERP(7) after 1 ns; OR3 : INTERP(10) <= INP(3) OR INTERP(7) after 1 ns; NAND1 : INTERP(11) <= NOT(INTERP(10) AND INTERP(8)) after 1 ns; NOR4 : INTERP(1) <= NOT(INTERP(6) OR INTERP(3)) after 1 ns; NOR5 : INTERP(3) <= NOT(INTERP(0) OR INTERP(11)) after 1 ns; NOR6 : INTERP(9) <= NOT(INP(1) OR INTERP(4)) after 1 ns; NOR7 : INTERP(5) <= NOT(INP(2) OR INTERP(9)) after 1 ns; -- Add the control point OR4 : INTERP(12) <=INP(4) OR INTERP(1) after 1 ns; BUFFER_OUT : OUTP <= OUTPI; END rtl ; TDDC33 Design for Test of Digital Systems 24

26 References [1] April TDDC33 Design for Test of Digital Systems 25

Part II: Laboratory Exercise

Part II: Laboratory Exercise SYDIC-Training Course on Digital Systems Testing and Design for Testability Part II: Laboratory Exercise Gert Jervan (gerje@ida.liu.se) Embedded Systems Laboratory (ESLAB) Linköping University March, 2003

More information

TDTS01. Computer Aided Design of Electronics. Lab Compendium

TDTS01. Computer Aided Design of Electronics. Lab Compendium TDTS01 Computer Aided Design of Electronics Lab Compendium 2012.02.03-00 Authors history Nima Aghaee, 2012 Adrian Lifa, 2011 Zhiyuan He, 2010 Acknowledgments The authors would like to thank Dimitar Nikolov

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

Design for Test Scan Test

Design for Test Scan Test Design for Test Scan Test Smith Text: Chapter 14.6 Mentor Graphics Documents: Scan and ATPG Process Guide DFTAdvisor Reference Manual Tessent Common Resources Manual for ATPG Products Top-down test design

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

Boundary Scan. Sungho Kang. Yonsei University

Boundary Scan. Sungho Kang. Yonsei University Boundary Scan Sungho Kang Yonsei University Outiline Introduction TAP Controller Instruction Register Test Data Registers Instructions Hardware Test Innovations PCB Test Conclusion 2 Boundary Scan Improve

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

Hardware Verification Group. Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada. CAD Tool Tutorial.

Hardware Verification Group. Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada. CAD Tool Tutorial. Digital Logic Synthesis and Equivalence Checking Tools Hardware Verification Group Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada CAD Tool Tutorial May, 2010

More information

A Brief Tutorial of Test Pattern Generation Using Fastscan v0.2

A Brief Tutorial of Test Pattern Generation Using Fastscan v0.2 A Brief Tutorial of Test Pattern Generation Using Fastscan v0.2 Mahmut Yilmaz Department of Electrical and Computer Engineering Duke University, NC 27708 January 11, 2008 Contents Contents 1 List of Figures

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

In our case Dr. Johnson is setting the best practices

In our case Dr. Johnson is setting the best practices VHDL Best Practices Best Practices??? Best practices are often defined by company, toolset or device In our case Dr. Johnson is setting the best practices These rules are for Class/Lab purposes. Industry

More information

Board-Data Processing. VHDL Exercises. Exercise 1: Basics of VHDL Programming. Stages of the Development process using FPGA s in Xilinx ISE.

Board-Data Processing. VHDL Exercises. Exercise 1: Basics of VHDL Programming. Stages of the Development process using FPGA s in Xilinx ISE. Board-Data Processing VHDL Exercises Exercise 1: Basics of VHDL Programming Stages of the Development process using FPGA s in Xilinx ISE. Basics of VHDL VHDL (Very High Speed IC Hardware description Language)

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

ECE 459/559 Secure & Trustworthy Computer Hardware Design

ECE 459/559 Secure & Trustworthy Computer Hardware Design ECE 459/559 Secure & Trustworthy Computer Hardware Design VLSI Design Basics Garrett S. Rose Spring 2016 Recap Brief overview of VHDL Behavioral VHDL Structural VHDL Simple examples with VHDL Some VHDL

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

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

Assignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture

Assignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture Assignment Last time Project 4: Using synthesis tools Synplify Pro and Webpack Due 11/11 ning of class Generics Used to parameterize models E.g., Delay, bit width Configurations Configuration specification

More information

Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial

Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial 1 Table of Contents Design Flow in Libero TM IDE v2.3 Step 1 - Design Creation 3 Step 2 - Design Verification

More information

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems EE 3610: Digital Systems 1 Lecture 3: Modeling in VHDL VHDL: Overview 2 VHDL VHSIC Hardware Description Language VHSIC=Very High Speed Integrated Circuit Programming language for modelling of hardware

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

Inferring Storage Elements

Inferring Storage Elements Inferring Storage Elements In our designs, we usually use flip-flops as our storage elements. Sometimes we use latches, but not often. Latches are smaller in size, but create special, often difficult situations

More information

Development of a Boundary Scan Test controller creation tool

Development of a Boundary Scan Test controller creation tool Eindhoven University of Technology MASTER'S THESIS Development of a Boundary Scan Test controller creation tool by J.H. Coenen Supervisors: Prof. Ir. M.T.M. Segers Ir. M.N.M. Muris The faculty of Electronical

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

Multi-valued Logic. Standard Logic IEEE 1164 Type std_ulogic is ( U, uninitialized

Multi-valued Logic. Standard Logic IEEE 1164 Type std_ulogic is ( U, uninitialized Multi-valued Logic Standard Logic IEEE 1164 Type std_ulogic is ( U, uninitialized X, unknown 0, logic 0 1, logic 1 Z, high impedance W, unknown L, logic 0 weak H, logic 1 weak - ); don t care Standard

More information

Chapter 2 Getting Hands on Altera Quartus II Software

Chapter 2 Getting Hands on Altera Quartus II Software Chapter 2 Getting Hands on Altera Quartus II Software Contents 2.1 Installation of Software... 20 2.2 Setting Up of License... 21 2.3 Creation of First Embedded System Project... 22 2.4 Project Building

More information

Laboratory of Digital Circuits Design: Design, Implementation and Simulation of Digital Circuits Using Programmable Devices

Laboratory of Digital Circuits Design: Design, Implementation and Simulation of Digital Circuits Using Programmable Devices Internet Engineering Dr. Jarosław Sugier Laboratory of Digital Circuits Design: Design, Implementation and Simulation of Digital Circuits Using Programmable Devices This document presents software packages

More information

Lecture 12 VHDL Synthesis

Lecture 12 VHDL Synthesis CPE 487: Digital System Design Spring 2018 Lecture 12 VHDL Synthesis Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 What is Synthesis?

More information

Basic Language Concepts

Basic Language Concepts Basic Language Concepts Sudhakar Yalamanchili, Georgia Institute of Technology ECE 4170 (1) Describing Design Entities a sum b carry Primary programming abstraction is a design entity Register, logic block,

More information

ECE U530 Digital Hardware Synthesis. Course Accounts and Tools

ECE U530 Digital Hardware Synthesis. Course Accounts and Tools ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu Sept 13, 2006 Lecture 3: Basic VHDL constructs Signals, Variables, Constants VHDL Simulator and Test benches Types Reading: Ashenden

More information

Using Synplify Pro, ISE and ModelSim

Using Synplify Pro, ISE and ModelSim Using Synplify Pro, ISE and ModelSim VLSI Systems on Chip ET4 351 Rene van Leuken Huib Lincklaen Arriëns Rev. 1.2 The EDA programs that will be used are: For RTL synthesis: Synplicity Synplify Pro For

More information

Field Programmable Gate Array

Field Programmable Gate Array Field Programmable Gate Array System Arch 27 (Fire Tom Wada) What is FPGA? System Arch 27 (Fire Tom Wada) 2 FPGA Programmable (= reconfigurable) Digital System Component Basic components Combinational

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

Experiment 0 OR3 Gate ECE 332 Section 000 Dr. Ron Hayne June 8, 2003

Experiment 0 OR3 Gate ECE 332 Section 000 Dr. Ron Hayne June 8, 2003 Experiment 0 OR3 Gate ECE 332 Section 000 Dr. Ron Hayne June 8, 2003 On my honor I have neither received nor given aid on this report. Signed: Ronald J. Hayne Part I Description of the Experiment Experiment

More information

Tutorial on Simulation using Aldec Active-HDL Ver 1.0

Tutorial on Simulation using Aldec Active-HDL Ver 1.0 Tutorial on Simulation using Aldec Active-HDL Ver 1.0 by Shashi Karanam Introduction Active- HDL is an integrated environment designed for development of VHDL designs. The core of the system is a VHDL

More information

SECTION 11 JTAG PORT

SECTION 11 JTAG PORT nc. SECTION JTAG PORT MOTOROLA DSP5662 User s Manual - nc.. INTRODUCTION....................................-3.2 JTAG PINS........................................-5.3 TAP CONTROLLER.................................-6.4

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

The CPU Bus : Structure 0

The CPU Bus : Structure 0 The CPU Bus : Structure 0 The following can be applied to both the internal CPU buses and the external system buses. This distinction becomes blurred when we discuss Systems on a single Chip (SoC). The

More information

FPGA briefing Part II FPGA development DMW: FPGA development DMW:

FPGA briefing Part II FPGA development DMW: FPGA development DMW: FPGA briefing Part II FPGA development FPGA development 1 FPGA development FPGA development : Domain level analysis (Level 3). System level design (Level 2). Module level design (Level 1). Academical focus

More information

Subprograms, Packages, and Libraries

Subprograms, Packages, and Libraries Subprograms, Packages, and Libraries Sudhakar Yalamanchili, Georgia Institute of Technology ECE 4170 (1) function rising_edge (signal clock: std_logic) return boolean is declarative region: declare variables

More information

Verilog Simulation Mapping

Verilog Simulation Mapping 1 Motivation UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 4 Verilog Simulation Mapping In this lab you will learn how to use

More information

VHDL simulation and synthesis

VHDL simulation and synthesis VHDL simulation and synthesis How we treat VHDL in this course You will not become an expert in VHDL after taking this course The goal is that you should learn how VHDL can be used for simulation and synthesis

More information

Lecture 3 Introduction to VHDL

Lecture 3 Introduction to VHDL CPE 487: Digital System Design Spring 2018 Lecture 3 Introduction to VHDL Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 Managing Design

More information

Programmable Logic Design I

Programmable Logic Design I Programmable Logic Design I Read through each section completely before starting so that you have the benefit of all the directions. Put on a grounded wrist strap (cf. Getting Started) before touching

More information

DESIGN OF IEEE TAP CONTROLLER IP CORE

DESIGN OF IEEE TAP CONTROLLER IP CORE DESIGN OF IEEE 1149.1 TAP CONTROLLER IP CORE Shelja A S 1, Nandakumar R 2 and Muruganantham C 3 1 Department of Electronics and Communication Engineering, NCERC. sheljaas@gmail.com 2 Assistant scientist/engineer,

More information

microsparc-iiep TM Introduction to JTAG Boundary Scan

microsparc-iiep TM Introduction to JTAG Boundary Scan microsparc-iiep TM Introduction to JTAG Boundary Scan White Paper Introduction Historically, most Print Circuit Board (PCB) testing was done using bed-of-nail in-circuit test equipment. Recent advances

More information

Final Exam Review. EE 3610 Digital Systems

Final Exam Review. EE 3610 Digital Systems EE 3610: Digital Systems 1 Final Exam Review 2 Combinational and Sequential Logic: short answers Combinational and Sequential Logic Timing: clock, hold time, setup time etc 3 Fast Carry Adder/Subtractor

More information

IEEE JTAG Boundary Scan Standard

IEEE JTAG Boundary Scan Standard IEEE 1149.1 JTAG Boundary Scan Standard Bed-of-nails tester Motivation System view of boundary scan hardware Elementary scan cell Test Access Port (TAP) controller Boundary scan instructions Example *Joint

More information

Programmable Logic Design I

Programmable Logic Design I Programmable Logic Design I Introduction In labs 11 and 12 you built simple logic circuits on breadboards using TTL logic circuits on 7400 series chips. This process is simple and easy for small circuits.

More information

ASIC Products Application Note

ASIC Products Application Note Abstract This application note provides an overview of the application-specific integrated circuit (ASIC design process. Four major phases are discussed: design entry and analysis; technology optimization

More information

QUARTUS II Altera Corporation

QUARTUS II Altera Corporation QUARTUS II Quartus II Design Flow Design Entry Timing Constraints Synthesis Placement and Routing Timing, Area, Power Optimization Timing and Power Analyzer Optimized Design 2 Can I still use a Processor?

More information

Design for Test Methodology Case Study for Motorola C-5e DCP Using the Cadence Incisive Accelerator/Emulator

Design for Test Methodology Case Study for Motorola C-5e DCP Using the Cadence Incisive Accelerator/Emulator Design for Test Methodology Case Study for Motorola C-5e DCP Using the Cadence Incisive Accelerator/Emulator Justin Hernandez SA837/CORP/GSG ZAS37/justin.hernandez@motorola.com Philip Giangarra RU433/SPS/NCSG

More information

Synthesis from VHDL. Krzysztof Kuchcinski Department of Computer Science Lund Institute of Technology Sweden

Synthesis from VHDL. Krzysztof Kuchcinski Department of Computer Science Lund Institute of Technology Sweden Synthesis from VHDL Krzysztof Kuchcinski Krzysztof.Kuchcinski@cs.lth.se Department of Computer Science Lund Institute of Technology Sweden March 23, 2006 Kris Kuchcinski (LTH) Synthesis from VHDL March

More information

Introduction to VHDL Design on Quartus II and DE2 Board

Introduction to VHDL Design on Quartus II and DE2 Board ECP3116 Digital Computer Design Lab Experiment Duration: 3 hours Introduction to VHDL Design on Quartus II and DE2 Board Objective To learn how to create projects using Quartus II, design circuits and

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

5. VHDL - Introduction - 5. VHDL - Design flow - 5. VHDL - Entities and Architectures (1) - 5. VHDL - Entities and Architectures (2) -

5. VHDL - Introduction - 5. VHDL - Design flow - 5. VHDL - Entities and Architectures (1) - 5. VHDL - Entities and Architectures (2) - Sistemas Digitais I LESI - 2º ano Lesson 5 - VHDL Prof. João Miguel Fernandes (miguel@di.uminho.pt) Dept. Informática - Introduction - VHDL was developed, in the mid-1980s, by DoD and IEEE. VHDL stands

More information

SOPC LAB1. I. Introduction. II. Lab contents. 4-bit count up counter. Advanced VLSI Due Wednesday, 01/08/2003

SOPC LAB1. I. Introduction. II. Lab contents. 4-bit count up counter. Advanced VLSI Due Wednesday, 01/08/2003 SOPC LAB1 I. Introduction The purpose of this lab is to familiarize you with all the items in the kit. This tutorial tells you how to develop FPGA system in Quartus II. You are ready to begin using the

More information

EE595. Part VIII Overall Concept on VHDL. EE 595 EDA / ASIC Design Lab

EE595. Part VIII Overall Concept on VHDL. EE 595 EDA / ASIC Design Lab EE595 Part VIII Overall Concept on VHDL VHDL is a Standard Language Standard in the electronic design community. VHDL will virtually guarantee that you will not have to throw away and re-capture design

More information

CSEE W4840 Embedded System Design Lab 1

CSEE W4840 Embedded System Design Lab 1 CSEE W4840 Embedded System Design Lab 1 Stephen A. Edwards Due January 31, 2008 Abstract Learn to use the Altera Quartus development envrionment and the DE2 boards by implementing a small hardware design

More information

Glossary. ATPG -Automatic Test Pattern Generation. BIST- Built-In Self Test CBA- Cell Based Array

Glossary. ATPG -Automatic Test Pattern Generation. BIST- Built-In Self Test CBA- Cell Based Array Glossary ATPG -Automatic Test Pattern Generation BFM - Bus Functional Model BIST- Built-In Self Test CBA- Cell Based Array FSM - Finite State Machine HDL- Hardware Description Language ISA (ISS) - Instruction

More information

CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools

CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools This is a tutorial introduction to the process of designing circuits using a set of modern design tools. While the tools we will be using (Altera

More information

Verilog Design Entry, Synthesis, and Behavioral Simulation

Verilog Design Entry, Synthesis, and Behavioral Simulation ------------------------------------------------------------- PURPOSE - This lab will present a brief overview of a typical design flow and then will start to walk you through some typical tasks and familiarize

More information

Boundary Scan Process Guide

Boundary Scan Process Guide Boundary Scan Process Guide Software Version V8.6_4 Copyright Mentor Graphics Corporation 1999. All rights reserved. This document contains information that is proprietary to Mentor Graphics Corporation

More information

Boundary-Scan Tutorial

Boundary-Scan Tutorial See the ASSET homepage on the World Wide Web at http://www.asset-intertech.com ASSET, the ASSET logo and ScanWorks are registered trademarks, and DFT Analyzer is a trademark of ASSET InterTech, Inc. Windows

More information

Expanding IEEE Std Boundary-Scan Architecture Beyond Manufacturing Test of Printed Circuit Board Assembly

Expanding IEEE Std Boundary-Scan Architecture Beyond Manufacturing Test of Printed Circuit Board Assembly Expanding IEEE Std 1149.1 Boundary-Scan Architecture Beyond Manufacturing Test of Printed Circuit Board Assembly Jun Balangue Keysight Technologies Singapore Jun_balangue@keysight.com Abstract This paper

More information

Boundary-Scan, Silicon and Software Enable System Level Embedded Test

Boundary-Scan, Silicon and Software Enable System Level Embedded Test Boundary-Scan, Silicon and Software Enable System Level Embedded Test ABSTRACT Designing IC s, boards, and systems with a DFT strategy that utilizes boundary-scan, will make a quantum improvement in test

More information

Aeroflex Colorado Springs Application Note

Aeroflex Colorado Springs Application Note Synchronous SRAM (SSRAM) JTAG Operation Table : Cross Reference of Applicable Products Product Name: Manufacturer Part Number SMD # Device Type Internal PIC #. Overview 64Mbit Synchronous SRAM UT8SP2M32

More information

Lab 3. Advanced VHDL

Lab 3. Advanced VHDL Lab 3 Advanced VHDL Lab 3 Advanced VHDL This lab will demonstrate many advanced VHDL techniques and how they can be used to your advantage to create efficient VHDL code. Topics include operator balancing,

More information

ECE 156B Fault Model and Fault Simulation

ECE 156B Fault Model and Fault Simulation ECE 156B Fault Model and Fault Simulation Lecture 6 ECE 156B 1 What is a fault A fault is a hypothesis of what may go wrong in the manufacturing process In fact, a fault model is not trying to model the

More information

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

Digital Design LU. Lab Exercise 1

Digital Design LU. Lab Exercise 1 Digital Design LU Lab Exercise 1 Jakob Lechner, Thomas Polzer {lechner, tpolzer}@ecs.tuwien.ac.at Department of Computer Engineering University of Technology Vienna Vienna, October 4, 2010 1 Overview 1

More information

Design Progression With VHDL Helps Accelerate The Digital System Designs

Design Progression With VHDL Helps Accelerate The Digital System Designs Fourth LACCEI International Latin American and Caribbean Conference for Engineering and Technology (LACCET 2006) Breaking Frontiers and Barriers in Engineering: Education, Research and Practice 21-23 June

More information

Contents. Appendix B HDL Entry Tutorial 2 Page 1 of 14

Contents. Appendix B HDL Entry Tutorial 2 Page 1 of 14 Appendix B HDL Entry Tutorial 2 Page 1 of 14 Contents Appendix B HDL Entry Tutorial 2...2 B.1 Getting Started...2 B.1.1 Preparing a Folder for the Project...2 B.1.2 Starting Quartus II...2 B.1.3 Creating

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

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 4 Introduction to VHDL

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 4 Introduction to VHDL EE 459/500 HDL Based Digital Design with Programmable Logic Lecture 4 Introduction to VHDL Read before class: Chapter 2 from textbook (first part) Outline VHDL Overview VHDL Characteristics and Concepts

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

Xilinx ChipScope ICON/VIO/ILA Tutorial

Xilinx ChipScope ICON/VIO/ILA Tutorial Xilinx ChipScope ICON/VIO/ILA Tutorial The Xilinx ChipScope tools package has several modules that you can add to your Verilog design to capture input and output directly from the FPGA hardware. These

More information

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1 DIGITAL LOGIC WITH VHDL (Fall 23) Unit DESIGN FLOW DATA TYPES LOGIC GATES WITH VHDL TESTBENCH GENERATION DESIGN FLOW Design Entry: We specify the logic circuit using a Hardware Description Language (e.g.,

More information

Tutorial for Cadence SOC Encounter Place & Route

Tutorial for Cadence SOC Encounter Place & Route Tutorial for Cadence SOC Encounter Place & Route For Encounter RTL-to-GDSII System 13.15 T. Manikas, Southern Methodist University, 3/9/15 Contents 1 Preliminary Setup... 1 1.1 Helpful Hints... 1 2 Starting

More information

Quick Front-to-Back Overview Tutorial

Quick Front-to-Back Overview Tutorial Quick Front-to-Back Overview Tutorial PlanAhead Design Tool This tutorial document was last validated using the following software version: ISE Design Suite 14.5 If using a later software version, there

More information

CS211 Digital Systems/Lab. Introduction to VHDL. Hyotaek Shim, Computer Architecture Laboratory

CS211 Digital Systems/Lab. Introduction to VHDL. Hyotaek Shim, Computer Architecture Laboratory CS211 Digital Systems/Lab Introduction to VHDL Hyotaek Shim, Computer Architecture Laboratory Programmable Logic Device (PLD) 2/32 An electronic component used to build reconfigurable digital circuits

More information

Best Practices for Incremental Compilation Partitions and Floorplan Assignments

Best Practices for Incremental Compilation Partitions and Floorplan Assignments Best Practices for Incremental Compilation Partitions and Floorplan Assignments December 2007, ver. 1.0 Application Note 470 Introduction The Quartus II incremental compilation feature allows you to partition

More information

Symbolically the RS-Latch that is being simulated is the one shown below, it s truth table is also given:

Symbolically the RS-Latch that is being simulated is the one shown below, it s truth table is also given: Symbolically the RS-Latch that is being simulated is the one shown below, it s truth table is also given: For this example you will need to create two VHDL (.vhd) files one represents the rslatch itself,

More information

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language VHDL Introduction to Structured VLSI Design VHDL I Very High Speed Integrated Circuit (VHSIC) Hardware Description Language Joachim Rodrigues A Technology Independent, Standard Hardware description Language

More information

Keysight Technologies Expanding IEEE Std Boundary-Scan Architecture Beyond Manufacturing Test of PCBA

Keysight Technologies Expanding IEEE Std Boundary-Scan Architecture Beyond Manufacturing Test of PCBA Keysight Technologies Expanding IEEE Std 1149.1 Boundary-Scan Architecture Beyond Manufacturing Test of PCBA Article Reprint This paper was first published in the 2017 IPC APEX Technical Conference, CA,

More information

8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments

8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments 8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments QII51017-9.0.0 Introduction The Quartus II incremental compilation feature allows you to partition a design, compile partitions

More information

Computer-Aided Digital System Design VHDL

Computer-Aided Digital System Design VHDL بس م اهلل الر حم ن الر حی م Iran University of Science and Technology Department of Computer Engineering Computer-Aided Digital System Design VHDL Ramin Rajaei ramin_rajaei@ee.sharif.edu Modeling Styles

More information

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language) Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits Hardware Description Language) 1 Standard ICs PLD: Programmable Logic Device CPLD: Complex PLD FPGA: Field Programmable

More information

Synthesis of Digital Systems CS 411N / CSL 719. Part 3: Hardware Description Languages - VHDL

Synthesis of Digital Systems CS 411N / CSL 719. Part 3: Hardware Description Languages - VHDL Synthesis of Digital Systems CS 411N / CSL 719 Part 3: Hardware Description Languages - VHDL Instructor: Preeti Ranjan Panda Department of Computer Science and Engineering Indian Institute of Technology,

More information

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/25/16

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/25/16 1 Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/25/16 The following is a general outline of steps (i.e. design flow) used to implement a digital system described with

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

CSCI Lab 3. VHDL Syntax. Due: Tuesday, week6 Submit to: \\fs2\csci250\lab-3\

CSCI Lab 3. VHDL Syntax. Due: Tuesday, week6 Submit to: \\fs2\csci250\lab-3\ CSCI 250 - Lab 3 VHDL Syntax Due: Tuesday, week6 Submit to: \\fs2\csci250\lab-3\ Objectives 1. Learn VHDL Valid Names 2. Learn the presentation of Assignment and Comments 3. Learn Modes, Types, Array,

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

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial

More information

A Brief Introduction to Verilog Hardware Definition Language (HDL)

A Brief Introduction to Verilog Hardware Definition Language (HDL) www.realdigital.org A Brief Introduction to Verilog Hardware Definition Language (HDL) Forward Verilog is a Hardware Description language (HDL) that is used to define the structure and/or behavior of digital

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

VHDL Introduction to tools. TSTE12 Datorteknik Kent Palmkvist, Thomas Johansson. Version

VHDL Introduction to tools. TSTE12 Datorteknik Kent Palmkvist, Thomas Johansson. Version VHDL Introduction to tools TSTE12 Datorteknik Kent Palmkvist, Thomas Johansson Version 0.5 2017-08-30 1 1 Introduction This handbook is your guide to the VHDL simulation tool set used in the course. You

More information

Fault Simulation. Problem and Motivation

Fault Simulation. Problem and Motivation Fault Simulation Problem and Motivation Fault Simulation Problem: Given A circuit A sequence of test vectors A fault model Determine Fault coverage Fraction (or percentage) of modeled faults detected by

More information

TLL5000 Electronic System Design Base Module

TLL5000 Electronic System Design Base Module TLL5000 Electronic System Design Base Module The Learning Labs, Inc. Copyright 2007 Manual Revision 2007.12.28 1 Copyright 2007 The Learning Labs, Inc. Copyright Notice The Learning Labs, Inc. ( TLL )

More information

ENGR 3410: MP #1 MIPS 32-bit Register File

ENGR 3410: MP #1 MIPS 32-bit Register File ENGR 3410: MP #1 MIPS 32-bit Register File Due: October 12, 2007, 5pm 1 Introduction The purpose of this machine problem is to create the first large component of our MIPS-style microprocessor the register

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