Synthesis for Test Virendra Singh Indian Institute of Science Bangalore IEP on Digital System IIT Kanpur.

Slides:



Advertisements
Similar presentations
A Flow Graph Technique for DFT Controller Modification
Advertisements

Sequential Circuit Synthesis - II
ECE 667 Synthesis and Verification of Digital Circuits
EE 361 Fall 2003University of Hawaii1 Hardware Design Tips EE 361 University of Hawaii.
ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
Courseware Integer Linear Programming approach to Scheduling Sune Fallgaard Nielsen Informatics and Mathematical Modelling Technical University of Denmark.
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.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Register-transfer Design n Basics of register-transfer design: –data paths and controllers.
Modern VLSI Design 3e: Chapter 10 Copyright  2002 Prentice Hall Adapted by Yunsi Fei ECE 300 Advanced VLSI Design Fall 2006 Lecture 24: CAD Systems &
Dec 21, Design for Testability Virendra Singh Indian Institute of Science Bangalore {computer, ieee}.org IEP on Digital System.
CS3773 Software Engineering Lecture 8 Software Planning and Estimation.
Caltech CS184a Fall DeHon1 CS184a: Computer Architecture (Structures and Organization) Day17: November 20, 2000 Time Multiplexing.
Penn ESE Spring DeHon 1 ESE (ESE534): Computer Organization Day 21: April 2, 2007 Time Multiplexing.
COE 561 Digital System Design & Synthesis Architectural Synthesis Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
University of Michigan Electrical Engineering and Computer Science FLASH: Foresighted Latency-Aware Scheduling Heuristic for Processors with Customized.
Courseware High-Level Synthesis an introduction Prof. Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens.
Lecture 6 Testability Measures
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 81 Lecture 8 Testability Measures n Origins n Controllability and observability n SCOAP measures 
CS294-6 Reconfigurable Computing Day 19 October 27, 1998 Multicontext.
Sequential Testing Two choices n Make all flip-flops observable by putting them into a scan chain and using scan latches o Becomes combinational testing.
ECE 565 High-Level Synthesis—An Introduction Shantanu Dutt ECE Dept., UIC.
COE 561 Digital System Design & Synthesis Architectural Synthesis Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS Design for Testability (DFT) - 2.
University of Michigan Electrical Engineering and Computer Science 1 Systematic Register Bypass Customization for Application-Specific Processors Kevin.
Synthesis for Test Virendra Singh Indian Institute of Science Bangalore IEP on Digital System IIT Kanpur.
Sub-expression elimination Logic expressions: –Performed by logic optimization. –Kernel-based methods. Arithmetic expressions: –Search isomorphic patterns.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Testability and architecture. Design methodologies. Multiprocessor system-on-chip.
Modern VLSI Design 3e: Chapter 5,6 Copyright  2002 Prentice Hall PTR Adapted by Yunsi Fei Topics n Sequential machine (§5.2, §5.3) n FSM construction.
EKT 221/4 DIGITAL ELECTRONICS II  Registers, Micro-operations and Implementations - Part3.
Logic and Computer Design Simon Petruc-Naum CS 147 – Dr. S.M. Lee.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Basics of register-transfer design: –data paths and controllers; –ASM charts. Pipelining.
Design of a High-Throughput Low-Power IS95 Viterbi Decoder Xun Liu Marios C. Papaefthymiou Advanced Computer Architecture Laboratory Electrical Engineering.
High-Level Synthesis: Creating Custom Circuits from High-Level Code Greg Stitt ECE Department University of Florida.
High-Level Synthesis-II Virendra Singh Indian Institute of Science Bangalore IEP on Digital System IIT Kanpur.
Section 1  Quickly identify faulty components  Design new, efficient testing methodologies to offset the complexity of FPGA testing as compared to.
L13 :Lower Power High Level Synthesis(3) 성균관대학교 조 준 동 교수
L12 : Lower Power High Level Synthesis(3) 성균관대학교 조 준 동 교수
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Basics of register-transfer design: –data paths and controllers; –ASM.
University of Michigan Electrical Engineering and Computer Science 1 Compiler-directed Synthesis of Multifunction Loop Accelerators Kevin Fan, Manjunath.
Static Timing Analysis
Lecture 17: Dynamic Reconfiguration I November 10, 2004 ECE 697F Reconfigurable Computing Lecture 17 Dynamic Reconfiguration I Acknowledgement: Andre DeHon.
System-on-Chip Design Analysis of Control Data Flow
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 20: October 25, 2010 Pass Transistors.
Retiming EECS 290A Sequential Logic Synthesis and Verification.
November 25Asian Test Symposium 2008, Nov 24-27, Sapporo, Japan1 Sequential Circuit BIST Synthesis using Spectrum and Noise from ATPG Patterns Nitin Yogi.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #22 – Multi-Context.
CSE 140 Lecture 14 System Designs
Prof. Sin-Min Lee Department of Computer Science
Register Transfer Specification And Design
ECE 565 High-Level Synthesis—An Introduction
Sequential Circuits - 2 Constructive Computer Architecture Arvind
VLSI Testing Lecture 4: Testability Analysis
Behavioral Style Combinational Design with VHDL
High-Level Synthesis Creating Custom Circuits from High-Level Code
Definition Partial-scan architecture Historical background
Lecture 10 Sequential Circuit ATPG Time-Frame Expansion
Computer Science 210 Computer Organization
High-Level Synthesis: Creating Custom Circuits from High-Level Code
CSE 140 Lecture 15 System Designs
CprE / ComS 583 Reconfigurable Computing
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
High-Level Synthesis: Creating Custom Circuits from High-Level Code
EEL 3705 / 3705L Digital Logic Design
VLSI Testing Lecture 8: Sequential ATPG
High-Level Synthesis: Creating Custom Circuits from High-Level Code
CSE 140 Lecture 14 System Design
Architecture Synthesis
Digital Marketing institute in bangalore.
Illustrative Example p p Lookup Table for Digits of h g f e ) ( d c b
Presentation transcript:

Synthesis for Test Virendra Singh Indian Institute of Science Bangalore IEP on Digital System IIT Kanpur

Dec 21, Testability Objective  Improve  Controllability  Observability  Reduction in sequential depth  Elimination of sequential loop

Dec 21, Sequential Depth Reduction - Allocation Allocation Scheme  Enhance controllability and observability  Reduction in Sequential depth Based on RT Architecture Independent of Test Technology

Dec 21, Controllability and Observability a b c d e f g h Lifetime table Allocation 1 R1: a, c, g R2: b, d, h R3: e R4: f

Dec 21, Controllability and Observability a b c d e f g h Lifetime table Allocation 2 R1: a, c, R2: b, d R3: e, f R4: f, g

Dec 21, Controllability and Observability If any one of variable assigned to a register is a PI (PO) of the chip, this register is directly controlled (observed); if not, register can be accessed through other registers Goal: To ensure that as many registers as possible in the implementation are assigned at least PI/PO Each row of register must cover a PI/PO TSR1: Whenever possible, allocate a register to at least one PI or PO

Dec 21, Sequential Depth Reduction SDFG a 2 bde c f g a b c d e f g Lifetime Table

Dec 21, Sequential Depth Reduction TSR1 does not provide inform testability suggestions on module allocation and interconnect allocation Register allocation using TSR1 R = { (a,c,g), (b,f), (d), (e)} Two possible Module allocation M1 ={(+ 1,3 ), (+ 2 )} M2 ={(+ 1,2 ), (+ 3 )}

Dec 21, Sequential Depth Reduction M1 is preferred to save interconnect cost output of +2 is hard to observe An error effect needs to propagate through an additional register R2 before it can be observed

Dec 21, Sequential Depth Reduction R1R2 R4 R3 ab d e g R = { (a,f,g), (b,c), (d), (e)} TSR2: Reduce the sequential depth from an input register to an output register

Dec 21, Sequential Depth Reduction R1R2 R4 R3 ab d e g R = { (a,c,g), (b,f), (d), (e)}

Dec 21, Sequential Loop Reduction SDFG R1(d) 4 R3(c) R2(b) R1(a) R1 R3 R2 Sequential Loop: Reuse of R1

Dec 21, Sequential Loop Reduction x1 x2 a 6 x9 TIME 1 TIME 2 TIME 3 TIME 4 +5 y e b f g c d TIME 5

Dec 21, Sequential Loop Reduction Alloc scheme Register AllocationModule allocation #Mux#loopFC A1R1 =(x1,a), R2=(x4,e,b) R3= (x6,f,c), R4=(x7,d,g) R5= (x9,y) (+1,4) (+2,3) (+3,7) (+5,8) A2R1 =(x6,e,b,c,d,y), R2=(x1,a) R3= (x4,f), R4=(x7,g) R5= (x9) (+1,2) (+6) (+3,7) (+4,5,8)

Dec 21, Sequential Loop Reduction R1 R2 R5 R3 R4 A1

Dec 21, Sequential Loop Reduction R1 R2 R5 R3 R4 A2

Dec 21, Scheduling for Sequential Depth/Loop Reduction TSR3: Reduce Sequential loop by Proper resource sharing to avoid creating sequential loops for cyclic DFG Assign IO registers to break sequential loop TSR4: Schedule operations to support the application of TSR1, TSR2, and TSR3

Dec 21, Controllability + *- a R (b) Primary input R(c) +* - R(a) R(b) Primary input R(c) R = (b,c, …) Not directly controllable R = (a,b,c, …) Directly controllable

Dec 21, Observability R 2 (z) R1 = (….,w,x, …) Not directly observable + * - t t+1 t+2 * R 1 (w) R 2 (y) R 1 (x) t+3 + * - t t+1 t+2 * R 1 (w) R 1 (y) R 1 (x) t+3 R 1 (z)

Dec 21, Sequential Depth Reduction R 2 (z) *1 *2 - t t+1 t+2 + R 1 (w) R 2 (y) R 1 (x) t+3 R 2 (v) R 3 (s) R 3 (u) R 2 (z) *1 *2 - t t+1 t+2 + R 1 (w) R 2 (y) R 1 (x) t+3 R 2 (v) R 3 (s) R 3 (u)

Dec 21, Mobility Path * * * + * * * +< TIME 1 TIME 2 TIME 3 TIME 4

Dec 21, Mobility Path * * * TIME 1 TIME 2 TIME 3 TIME 4

Dec 21, Mobility Path Scheduling Mobility_path_scheduling(G){ 1.ASAP_scheduling(G); 2.ALAP_scheduling(G); 3.Update_op_slack_and_mobility(G); 4.While (unscheduled_op(G) ≠ 0){ 5. P k = next_min_mobility_path(G); 6. partial scheduling(P k, G); 7. testMP(P k, G); / analyze testability on P k 8.} 9.}

Dec 21, Mobility Path Scheduling partial_scheduling(P k,G){ 1.For each (operation o on Pk) 2. if (o.earliest = o.latest) // mobility becomes 0 3. o.active = o.earliest // assign schedule 4.Update_op_slack_and)mobility(G); 5.While (unscheduled_op (P k ) ≠ 0){ 6. (o, o.ll_cycles) = next_op_with _least_no_light_load_cycles(Pk, G); 7. o.active = most_preferred_cycle(o.ll_cycles, G);