A Flow Graph Technique for DFT Controller Modification

Slides:



Advertisements
Similar presentations
EDA Lab. Dept. of Computer Engineering C. N. U. 1 SYNTHESIS Issues in synthesizable VHDL descriptions (from VHDL Answers to FAQ by Ben Cohen)
Advertisements

Power Conscious Test Synthesis and Scheduling for BIST RTL Data Paths Nicola Nicolici and Bashir M. Al-Hashimi.
Complex Numbers in Engineering (Chapter 5 of Rattan/Klingbeil text)
© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: WWW: Copyright 2003.
Based on text by S. Mourad "Priciples of Electronic Systems" Digital Testing: Design Representation and Fault Detection
ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
Give qualifications of instructors: DAP
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
Introduction to Data Flow Graphs and their Scheduling Sources: Gang Quan.
Modern VLSI Design 2e: Chapter 8 Copyright  1998 Prentice Hall PTR Topics n High-level synthesis. n Architectures for low power. n Testability and architecture.
High-Level Constructors and Estimators Majid Sarrafzadeh and Jason Cong Computer Science Department
FPGA Latency Optimization Using System-level Transformations and DFG Restructuring Daniel Gomez-Prado, Maciej Ciesielski, and Russell Tessier Department.
Introductory Comments Regarding Hardware Description Languages.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4a1 Design for Testability Theory and Practice Lecture 4a: Simulation n What is simulation? n Design.
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
Behavioral Synthesis Outline –Synthesis Procedure –Example –Domain-Specific Synthesis –Silicon Compilers –Example Tools Goal –Understand behavioral synthesis.
ELEN 468 Lecture 121 ELEN 468 Advanced Logic Design Lecture 12 Synthesis of Combinational Logic I.
Aug. 24, 2007ELEC 5200/6200 Project1 Computer Design Project ELEC 5200/6200-Computer Architecture and Design Fall 2007 Vishwani D. Agrawal James J.Danaher.
ELEN 468 Lecture 241 ELEN 468 Advanced Logic Design Lecture 24 Design for Testability.
Courseware High-Level Synthesis an introduction Prof. Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
1/20 Data Communication Estimation and Reduction for Reconfigurable Systems Adam Kaplan Philip Brisk Ryan Kastner Computer Science Elec. and Computer Engineering.
Center for Embedded Computer Systems University of California, Irvine Coordinated Coarse Grain and Fine Grain Optimizations.
4/10/20081 Lab 9 RT methodology introduction Register operations Data Path Control Path ASM Example TA: Jorge Crichigno.
Functional Coverage Driven Test Generation for Validation of Pipelined Processors P. Mishra and N. Dutt Proceedings of the Design, Automation and Test.
Logic Simulation 2 Outline –Timing Models –Simulation Algorithms Goal –Understand timing models –Understand simulation algorithms Reading –Gate-Level Simulation.
Center for Embedded Computer Systems University of California, Irvine SPARK: A High-Level Synthesis Framework for Applying.
1 Application Specific Integrated Circuits. 2 What is an ASIC? An application-specific integrated circuit (ASIC) is an integrated circuit (IC) customized.
Merging Synthesis With Layout For Soc Design -- Research Status Jinian Bian and Hongxi Xue Dept. Of Computer Science and Technology, Tsinghua University,
VLSI DSP 2008Y.T. Hwang3-1 Chapter 3 Algorithm Representation & Iteration Bound.
A Fault-tolerant Architecture for Quantum Hamiltonian Simulation Guoming Wang Oleg Khainovski.
Logic simulator and fault diagnosis Fan Wang Dept. of Electrical & Computer Engineering Auburn University ELEC7250 Term Project Spring 06’
Introduction to Data Flow Graphs and their Scheduling Sources: Gang Quan.
USING SAT-BASED CRAIG INTERPOLATION TO ENLARGE CLOCK GATING FUNCTIONS Ting-Hao Lin, Chung-Yang (Ric) Huang Graduate Institute of Electrical Engineering,
Maria-Cristina Marinescu Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology A Synthesis Algorithm for Modular Design of.
Maria-Cristina Marinescu Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology High-level Specification and Efficient Implementation.
Petros OikonomakosBashir M. Al-Hashimi Mark Zwolinski Versatile High-Level Synthesis of Self-Checking Datapaths Using an On-line Testability Metric Electronics.
TOPIC : Types of fault simulation
ON LINE TEST GENERATION AND ANALYSIS R. Šeinauskas Kaunas University of Technology LITHUANIA.
Sub-expression elimination Logic expressions: –Performed by logic optimization. –Kernel-based methods. Arithmetic expressions: –Search isomorphic patterns.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Logic Modeling.
Efficient Mapping onto Coarse-Grained Reconfigurable Architectures using Graph Drawing based Algorithm Jonghee Yoon, Aviral Shrivastava *, Minwook Ahn,
1 Exploring Custom Instruction Synthesis for Application-Specific Instruction Set Processors with Multiple Design Objectives Lin, Hai Fei, Yunsi ACM/IEEE.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
European Test Symposium, May 28, 2008 Nuno Alves, Jennifer Dworak, and R. Iris Bahar Division of Engineering Brown University Providence, RI Kundan.
ISSS 2001, Montréal1 ISSS’01 S.Derrien, S.Rajopadhye, S.Sur-Kolay* IRISA France *ISI calcutta Combined Instruction and Loop Level Parallelism for Regular.
1 Compacting Test Vector Sets via Strategic Use of Implications Kundan Nepal Electrical Engineering Bucknell University Lewisburg, PA Nuno Alves, Jennifer.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Under-Graduate Project Improving Timing, Area, and Power Speaker: 黃乃珊 Adviser: Prof.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
TOPIC : Different levels of Fault model UNIT 2 : Fault Modeling Module 2.1 Modeling Physical fault to logical fault.
Automated Patch Generation Adapted from Tevfik Bultan’s Lecture.
L13 :Lower Power High Level Synthesis(3) 성균관대학교 조 준 동 교수
OPTIMIZING DSP SCHEDULING VIA ADDRESS ASSIGNMENT WITH ARRAY AND LOOP TRANSFORMATION Chun Xue, Zili Shao, Ying Chen, Edwin H.-M. Sha Department of Computer.
TOPIC : Controllability and Observability
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Basics of register-transfer design: –data paths and controllers; –ASM.
Manufacture Testing of Digital Circuits
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
TOPIC : Fault detection and fault redundancy UNIT 2 : Fault modeling Module 2.3 Fault redundancy and Fault collapsing.
Retiming EECS 290A Sequential Logic Synthesis and Verification.
Resource Sharing in LegUp. Resource Sharing in High Level Synthesis Resource Sharing is a well-known technique in HLS to reduce circuit area by sharing.
Architecture and Synthesis for Multi-Cycle Communication
VLSI Testing Lecture 5: Logic Simulation
VLSI Testing Lecture 5: Logic Simulation
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Vishwani D. Agrawal Department of ECE, Auburn University
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
Hardware Modeling & Synthesis Using VHDL
Presentation transcript:

A Flow Graph Technique for DFT Controller Modification Mohammad Hosseinabady, Pejman Lotfi-Kamran, Pedram Riahi*, Fabrizio Lombardi*, Zainalabedin Navabi Electrical and Computer Engineering, University of Tehran, Iran *ECE Department, Northeastern University, USA

Agenda Motivation, Objectives and Contributions Preliminaries and Our Idea CDFG Testability and Victim An Example Experimental Results

Agenda Motivation, Objectives and Contributions Preliminaries and Our Idea CDFG Testability and Victim An Example Experimental Results

Motivation and Objectives Test generation at the gate-level produces high-quality tests But in the case of large systems It is computationally expensive Objectives We propose a DFT algorithm to Reducing test generation time Reducing test application time

Our Contributions Realize and utilize existing path of the datapath by changing controller Previous work Increase the testability of an RTL module Use datapath as search space to find test paths But, we Increase testability; decrease test application time. Use the CDFG as search space to find test paths

Advantages of Our Algorithm Reduce test application time Using pre-computed test vector Reducing test generation effort Very small area overhead on controller No timing penalty of critical path (in the datapath)

Agenda Motivation, Objectives and Contributions Preliminaries and Our Idea CDFG Testability and Victim An Example Experimental Results

CDFG and Synthesis CDFG can be used for extracting control The behavioral description of a circuit is usually provided using a hardware description language like VHDL. This description is compiled into a control/data flow graph (CDFG), which is a directed graph with operation vertices, data variable arcs, conditions, and loops. CDFG can be used for extracting control and data information during synthesis steps Scheduling Binding CLK1 *1 *1 +2 *3 z2 z1 z3 CLK2 *4 +5 3 z4 z6 *6 *7 CLK3 5 z7 CLK4 z5 *8 z8 CLK5 -9 y

Datapath & Controller - + * z1,z4,z6,y z3,z7,z8 z2,z5 m1 m2 m3 m4 L1 b c d f g 1 2 m5 m6 m7 L3 e 3 5 Group 1 Group 3 Group 2 Group 4 R1 R2 R3

Test-Path in the Datapath Module Under Test (Pre-computed test vectors are available) g a f 5 c e d b 3 * * + - Group 2 Group 3 Group 1 Group 4 z3, z7, z8 z2, z5 z1, z4, z6, y

A Problem!!! This Test-Path is not supported by the controller!!! Using the CDFG as the search space, a controller supported Test-Path can be found

Agenda Motivation, Objectives and Contributions Preliminaries and Our Idea CDFG Testability and Victim An Example Experimental Results

Test-Path in CDFG The role of a controller is to map the CDFG of a circuit to its datapath. Consequently, All paths in a CDFG exist in the datapath of a circuit. However, there may be additional paths in a datapath that do not necessarily exist in a CDFG that the datapath is generated from.

Test-Path in CDFG controller-supported paths: paths in a datapath can be activated for passing data by the existing controller of the circuit. controller-unsupported paths : paths of the datapath that are not specified by the CDFG and are not activated by the existing controller To recognize and thus utilize these paths, changes may be needed in the circuit’s controller.

Faulty Operator in the CDFG If a module in the RTL is faulty, all operators in its group of the CDFG became faulty. This means that multiple faults appear in the CDFG. To avoid this scenario, only one operator is considered as a victim operator as faulty and the CDFG is pruned by deleting all other operators in the group as well as all their connecting nodes.

Victim A victim is an existing/new operator that Receives its inputs from outside of its group and Propagates its output to outside of its group, and Pruned CDFG corresponding to the victim operator must have at least a primary output of the original CDFG.

Victims Victim Victim a b Victim b a a a a b b b Group i c Group i

Test Time Reduction Test application time can be reduced using two techniques Finding best victim when a victim has alternatives Removing unnecessary states in the Pruned CDFG (Explained in the example)

Agenda Motivation, Objectives and Contributions Preliminaries and Our Idea CDFG Testability and Victim An Example Experimental Results

Group 1 * * + - g a f 5 c e d b 3 Group 1 Group 2 Group 3 Group 4 z3, z7, z8 z2, z5 z1, z4, z6, y

z1 and y are mapped in the same register in the Datapath Group 1 Victim e g a b c d f Victim CLK1 *1 *1 +2 *3 z2 z1 z3 z1 and y are mapped in the same register in the Datapath CLK2 *4 +5 3 Group 1 z4 z6 *6 *7 CLK3 5 z7 CLK4 z5 *8 z8 CLK5 -9 y

Group1 Testing Pruned CDFG Just one clock cycle is enough a b Just one clock cycle is enough to apply each pre-computed test vector to this RTL module CLK1 *1 *1 y Pruned CDFG

Group2 * * + - g a f 5 c e d b 3 Group 1 Group 2 Group 3 Group 4 z3, z7, z8 z2, z5 z1, z4, z6, y

Group 2 Victim Victim e g a b c d f *1 +2 *3 Group 2 *v z2 z1 z3 z1 and z6 are mapped in the same register in the Datapath *4 +5 3 z4 z5 *6 *7 5 z7 z6 *8 z8 -9 z3 and z8 are mapped in the same register in the Datapath y S1 S2 S3 S4 S5

Group 2 Testing a b g f Just two clock cycles are enough to apply each pre-computed test vector to this RTL module CLK1 *1 *3 CLK5 -9 y S1 S2 S3 S4 S5

Group4 * * + - g a f 5 c e d b 3 Group 1 Group 2 Group 3 Group 4 z3, z7, z8 z2, z5 z1, z4, z6, y

Group4 Victim Group 4 has only one member, so it is a compulsory victim operator. The DFG for this victim is the same as the original CDFG . This CDFG can be reduced by the elimination of clocks 2, 3 and 4. e g a b c d f CLK1 *1 *1 +2 *3 z2 z1 z3 CLK2 *4 +5 3 z4 z5 *6 *7 CLK3 5 z7 CLK4 z6 *8 z8 CLK5 -9 Group 4 Victim y

Reducing the CDFG Graph of Group 4 b c d f The utilization of shared registers of the datapath are the basic principle for reducing the test application time. Using a bipartite graph the obtained CDFG is reduced *1 *1 +2 *3 z2 z1 z3 *4 +5 3 z4 z5 *6 *7 5 z7 z6 *8 z8 -9 y

Group 4 Testing a b g f Just two clock cycles are enough to apply each pre-computed test vector to this RTL module CLK1 *1 *3 CLK5 -9 y S1 S2 S3 S4 S5

Agenda Motivation, Objectives and Contributions Preliminaries and Our Idea CDFG Testability and Victim An Example Experimental Results

Experimental Results

Questions!