Similar documents
Synchronous Sequential Circuit Design. Digital Computer Design

Sequential vs. Combinational

ELEC Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10)

Sample Test Paper - I

Synchronous Sequential Circuit

EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits

Synchronous Sequential Logic

Partial Scan Delay Fault Testing of Asynchronous Circuits

ELCT201: DIGITAL LOGIC DESIGN

Sequential Synchronous Circuit Analysis

10/12/2016. An FSM with No Inputs Moves from State to State. ECE 120: Introduction to Computing. Eventually, the States Form a Loop

CPE/EE 422/522. Chapter 1 - Review of Logic Design Fundamentals. Dr. Rhonda Kay Gaede UAH. 1.1 Combinational Logic


EECS Components and Design Techniques for Digital Systems. FSMs 9/11/2007

Automatic Generation of Synchronous Test Patterns for Asynchronous Circuits

Clocked Synchronous State-machine Analysis

Chapter 7 Sequential Logic

Digital Logic Appendix A

Appendix B. Review of Digital Logic. Baback Izadi Division of Engineering Programs

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 7 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

Chapter 4. Sequential Logic Circuits

Vidyalankar S.E. Sem. III [ETRX] Digital Circuits and Design Prelim Question Paper Solution

Reg. No. Question Paper Code : B.E./B.Tech. DEGREE EXAMINATION, NOVEMBER/DECEMBER Second Semester. Computer Science and Engineering

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) State any two Boolean laws. (Any 2 laws 1 mark each)

UMBC. At the system level, DFT includes boundary scan and analog test bus. The DFT techniques discussed focus on improving testability of SAFs.

S.Y. Diploma : Sem. III [CO/CM/IF/CD/CW] Digital Techniques

EECS150 - Digital Design Lecture 23 - FSMs & Counters

Propositional Logic. Logical Expressions. Logic Minimization. CNF and DNF. Algebraic Laws for Logical Expressions CSC 173

Philadelphia University Student Name: Student Number:

Boolean Algebra. Digital Logic Appendix A. Postulates, Identities in Boolean Algebra How can I manipulate expressions?

Testability. Shaahin Hessabi. Sharif University of Technology. Adapted from the presentation prepared by book authors.

Topic 8: Sequential Circuits

CHAPTER 9: SEQUENTIAL CIRCUITS

Z = F(X) Combinational circuit. A combinational circuit can be specified either by a truth table. Truth Table

ECE/Comp Sci 352 Digital Systems Fundamentals. Charles R. Kime Section 2 Fall Logic and Computer Design Fundamentals

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department

Digital Electronics. Part A

( c) Give logic symbol, Truth table and circuit diagram for a clocked SR flip-flop. A combinational circuit is defined by the function

Sequential Logic Circuits

Chapter 9 Asynchronous Sequential Logic

Boolean Algebra. Digital Logic Appendix A. Boolean Algebra Other operations. Boolean Algebra. Postulates, Identities in Boolean Algebra

Test Pattern Generator for Built-in Self-Test using Spectral Methods

Chapter 13. Clocked Circuits SEQUENTIAL VS. COMBINATIONAL CMOS TG LATCHES, FLIP FLOPS. Baker Ch. 13 Clocked Circuits. Introduction to VLSI

Digital Electronics Sequential Logic

Design of Control Modules for Use in a Globally Asynchronous, Locally Synchronous Design Methodology

Lecture 7: Logic design. Combinational logic circuits

Mealy & Moore Machines

MODULE 5 Chapter 7. Clocked Storage Elements

Designing Sequential Logic Circuits

Philadelphia University Student Name: Student Number:

ECE 407 Computer Aided Design for Electronic Systems. Simulation. Instructor: Maria K. Michael. Overview

Control Network Generator For Latency Insensitive Designs

ECE 1767 University of Toronto

CPE100: Digital Logic Design I

Generalized FSM model: Moore and Mealy

Temporal Formula Specifications of Asynchronous Control Module in Model Checking

Lecture 9: Sequential Logic Circuits. Reading: CH 7

Ch 7. Finite State Machines. VII - Finite State Machines Contemporary Logic Design 1

EEE2135 Digital Logic Design

Synthesizing Asynchronous Burst-Mode Machines without the Fundamental-Mode Timing Assumption

ENGG 1203 Tutorial _03 Laboratory 3 Build a ball counter. Lab 3. Lab 3 Gate Timing. Lab 3 Steps in designing a State Machine. Timing diagram of a DFF

Digital Integrated Circuits A Design Perspective

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1>

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

Sequential Circuit Analysis

EE141Microelettronica. CMOS Logic

Asynchronous sequence circuits

EECS150 - Digital Design Lecture 11 - Shifters & Counters. Register Summary

Different encodings generate different circuits

Synthesis for Testability Techniques for Asynchronous Circuits

EECS 579: Logic and Fault Simulation. Simulation

Programmable Logic Devices II

Chapter 5 Synchronous Sequential Logic

LOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D.

Digital Logic and Design (Course Code: EE222) Lecture 19: Sequential Circuits Contd..

University of Minnesota Department of Electrical and Computer Engineering

Lecture A: Logic Design and Gates

Integrated Circuits & Systems

Design of Datapath Controllers

Gates and Flip-Flops

Chapter 5 Synchronous Sequential Logic

Lecture 27: Latches. Final presentations May 8, 1-5pm, BWRC Final reports due May 7 Final exam, Monday, May :30pm, 241 Cory

3. Complete the following table of equivalent values. Use binary numbers with a sign bit and 7 bits for the value

LOGIC CIRCUITS. Basic Experiment and Design of Electronics

Preparation of Examination Questions and Exercises: Solutions

Lecture 14: State Tables, Diagrams, Latches, and Flip Flop

Lecture 9: Clocking, Clock Skew, Clock Jitter, Clock Distribution and some FM

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

Counters. We ll look at different kinds of counters and discuss how to build them

L4: Sequential Building Blocks (Flip-flops, Latches and Registers)

Introduction EE 224: INTRODUCTION TO DIGITAL CIRCUITS & COMPUTER DESIGN. Lecture 6: Sequential Logic 3 Registers & Counters 5/9/2010

EET 310 Flip-Flops 11/17/2011 1

Problem Set 9 Solutions

L4: Sequential Building Blocks (Flip-flops, Latches and Registers)

Digital Circuits ECS 371

Topic 8: Sequential Circuits. Bistable Devices. S-R Latches. Consider the following element. Readings : Patterson & Hennesy, Appendix B.4 - B.

Introduction. Simulation methodology. Simulation results

Lecture 3 Review on Digital Logic (Part 2)

CSE140: Components and Design Techniques for Digital Systems. Midterm Information. Instructor: Mohsen Imani. Sources: TSR, Katz, Boriello & Vahid

CPE100: Digital Logic Design I

Transcription:

Roland Dobai Elena roland.dobai@savba.sk Institute of Informatics, Slovak Academy of Sciences, Slovakia Annual Doctoral Workshop on Mathematical and Engineering Methods in Computer Science, November 13 15, 2009, Znojmo, Czechia

Outline 1 2 3 4 5 6

circuits circuits are fundamentally different from their synchronous counterparts. They do not use clock signal for synchronization.

circuits circuits are fundamentally different from their synchronous counterparts. They do not use clock signal for synchronization. This difference allows us to achieve: lower power consumption, higher operating speed, less electro-magnetic noise emission, better modularity, better robustness. Sparsø et al.: Principles of asynchronous circuit design: A systems perspective [1]

C-elements C-elements are used in the asynchronous circuits as basic construction elements. A B C Y A B Y 0 0 0 0 1 previous value 1 0 previous value 1 1 1 C-element symbol and truth table

Classes of the asynchronous circuits circuits can be classified at the gate level as self-timed, speed-independent, delay-insensitive, quasi-delay-insensitive.

Classes of the asynchronous circuits circuits can be classified at the gate level as self-timed, speed-independent, delay-insensitive, quasi-delay-insensitive. In this work only the speed-independent circuits are considered. Other classes of asynchronous circuits can be represented under this model Shi et al.: Test Generation for Ultra-High-Speed Pipelines [2].

About this work Developed and implemented a deductive simulator for stuck-at s of speed-independent circuits.

About this work Developed and implemented a deductive simulator for stuck-at s of speed-independent circuits. Implemented serial simulator. Based on Shi et al.: SPIN-SIM: Logic and Speed-Independent [3]. Reason of the implementation: to compare the results with the deductive simulator in the same environment.

About this work Developed and implemented a deductive simulator for stuck-at s of speed-independent circuits. Implemented serial simulator. Based on Shi et al.: SPIN-SIM: Logic and Speed-Independent [3]. Reason of the implementation: to compare the results with the deductive simulator in the same environment. Random test pattern generator was implemented based on Shi et al.: Simulation and Random Test Generation for Speed-Independent [4].

of the asynchronous circuits is more difficult.

of the asynchronous circuits is more difficult. It needs to deal with hazards (unwanted glitches on signals), oscillations (feedback signals never stabilize), races (two or more feedback signals are changing simultaneously). Shi et al.: SPIN-SIM: Logic and Speed-Independent [3]

simulators SPIN-SIM Shi et al.: SPIN-SIM: Logic and Speed-Independent [3] simulator for the speed-independent circuits. Uses the 13-valued logic and the time stamps for hazard detection. Time stamps determination of difference between signal transitions and hazards. Transforms circuits into combinational representation: replaces C-elements with a set of simple gates, cuts each feedback path into pseudo-primary inputs and outputs.

simulators SPIN-SIM Shi et al.: SPIN-SIM: Logic and Speed-Independent [3] simulator for the speed-independent circuits. Uses the 13-valued logic and the time stamps for hazard detection. Time stamps determination of difference between signal transitions and hazards. Transforms circuits into combinational representation: replaces C-elements with a set of simple gates, cuts each feedback path into pseudo-primary inputs and outputs. Fsimac Sur-Kolay et al.: Fsimac: A simulator for asynchronous sequential circuits [5] Uses the 13-valued logic. Can not be used for the speed-independent circuits.

simulator was implemented based on Shi et al.: SPIN-SIM: Logic and Speed-Independent [3]. Simulation of the y circuit with inserted s one-by-one for the current test pattern.

simulator was implemented based on Shi et al.: SPIN-SIM: Logic and Speed-Independent [3]. Simulation of the y circuit with inserted s one-by-one for the current test pattern.

is not a new technique. Creation of detectable s lists and their propagation to outputs for the current test pattern in a single overpass.

is not a new technique. Creation of detectable s lists and their propagation to outputs for the current test pattern in a single overpass. It was used mainly for combinational circuits. A method for synchronous sequential circuits was also proposed Walczak: Module [6]. The list for the sequential blocks modelled by Moore-type automaton is propagated using the automaton states.

Our achievements Application for the asynchronous circuits. list propagation algorithm for the complex gates. Hazard detection during deductive.

The developed deductive simulator can propagate the lists in the speed-independent circuits with complex gates. The propagation algorithm is universal and can be used for any gate which is represented by a Boolean function expressed by the Disjunctive Normal Form. The proposed algorithm is presented in the paper. Main principles. Example.

Main principles Analyzing the Boolean function. lists from inputs of the gate are placed in 4 temporary lists. The output list is generated based on the temporary lists.

Main principles The meaning of the variables used in the algorithm is as follows: andintersectionlist the list of s for the examined conjunction which contains the s of inputs with a logic 0 which is the controlling value for the logic operation AND; orintersectionlist the list of s for the whole disjunction which contains the s of conjunctions with a logic 1 which is the controlling value for the logic operation OR;

Main principles andunionlist the list of s for the examined conjunction which contains the s of inputs with a logic 1 which is the non-controlling value for the logic operation AND; orunionlist the list of s for the whole disjunction which contains the s of conjunctions with a logic 0 which is the non-controlling value for the logic operation OR;

Example Consider the complex gate with the function Y = A.B + A.B.C, where A, B, C are the inputs and Y is the output of the gate. A = B = C = 1, L A ={A_sa0, G_sa0, H_sa1}, L B ={B_sa0, G_sa0, H_sa1}, L C ={C_sa0, H_sa1, L_sa1} Y = A.B + A.B.C 1 Y = A.B + A.B.C A = 1 andunionlist ={A_sa0, G_sa0, H_sa1} 2 Y = A.B + A.B.C B = 1 andunionlist ={A_sa0, G_sa0, H_sa1, B_sa0} 3 andcontrollingsetisempty = true and A.B = 1 orintersectionlist ={A_sa0, G_sa0, H_sa1, B_sa0} (G, H, L are lines in the circuit which are situated before the examined complex gate.)

Example Y = A.B + A.B.C 1 Y = A.B + A.B.C A = 0 andintersectionlist ={A_sa0, G_sa0, H_sa1} 2 Y = A.B + A.B.C B = 0 andintersectionlist ={G_sa0, H_sa1} 3 Y = A.B + A.B.C C = 1 andunionlist ={C_sa0, H_sa1, L_sa1} 4 andcontrollingsetisempty = false and A.B.C = 0 orunionlist ={G_sa0} orcontrollingsetisempty = false ListOf (Y ) ={A_sa0, H_sa1, B_sa0}

Example Y = A.B + A.B.C 1 Y = A.B + A.B.C A = 0 andintersectionlist ={A_sa0, G_sa0, H_sa1} 2 Y = A.B + A.B.C B = 0 andintersectionlist ={G_sa0, H_sa1} 3 Y = A.B + A.B.C C = 1 andunionlist ={C_sa0, H_sa1, L_sa1} 4 andcontrollingsetisempty = false and A.B.C = 0 orunionlist ={G_sa0} orcontrollingsetisempty = false ListOf (Y ) ={A_sa0, H_sa1, B_sa0} This example is very simple and not demonstrating all capabilities of the proposed algorithm.

Implementation in C++. Evaluation has been done over a set of speed-independent benchmark circuits synthetized by Petrify Cortadella et al.: Petrify: a tool for manipulating concurrent specifications and synthesis of asynchronous controllers [7].

coverage comparison Circuit name Number Average stuck-at coverage of s [4] [3] serial deductive alloc_outbound 58 92% 100.0% 100.00% 100.00% chu133 60 97% 96.9% 98.33% 98.33% chu150 40 82% 97.1% 95.00% 95.00% converta 56 46% 91.9% 96.43% 96.43% dff 34 79% 85.7% 100.00% 100.00% ebergen 46 N/A 95.7% 100.00% 100.00% half 34 N/A 100.0% 94.12% 94.12% hazard 40 86% 97.0% 100.00% 100.00% master_read 132 46% 97.7% 95.45% 95.45% mp_forward_pkt 66 95% 100.0% 100.00% 100.00% nak_pa 76 91% 100.0% 100.00% 100.00% nowick 50 98% 100.0% 100.00% 100.00% ram_read_sbuf 84 89% 100.0% 100.00% 100.00% rcv_setup 36 93% 100.0% 100.00% 100.00% rpdft 26 92% 100.0% 100.00% 100.00% sbuf_ram_write 82 78% 100.0% 100.00% 100.00% sbuf_send_ctl 66 49% 94.9% 98.48% 98.48%

Time and memory comparison Circuit name Time [s] Time Memory [kb] Mem. ser. ded. decr. ser. ded. incr. alloc_outbound 0.19 0.07 63% 1668 1700 2% chu133 0.23 0.29-26% 1680 1780 6% chu150 0.09 0.07 22% 1660 1552-7% converta 0.18 0.26-44% 1560 1744 12% dff 0.05 0.00 100% 1548 1672 8% ebergen 0.07 0.01 86% 1552 1700 10% half 0.08 0.13-63% 1548 1680 9% hazard 0.05 0.01 80% 1552 1692 9% master_read 0.70 0.39 44% 1732 1964 13% mp_forward_pkt 0.24 0.04 83% 1584 1608 2% nak_pa 0.32 0.08 75% 1684 1612-4% nowick 0.14 0.05 64% 1664 1704 2% ram_read_sbuf 0.25 0.06 76% 1688 1756 4% rcv_setup 0.07 0.02 71% 1660 1664 0% rpdft 0.04 0.00 100% 1536 1640 14% sbuf_ram_write 0.15 0.01 93% 1688 1748 2% sbuf_send_ctl 0.19 0.10 47% 1684 1728 3%

In most of the cases the deductive simulator is by 60% 80% faster than the serial one. For 3 circuits the deductive simulator was slower than the serial one. The dropping technique was implemented in the serial simulator. This problem will be eliminated by implementing a deterministic test pattern generator. For 2 circuits lower memory requirements are reported for the deductive simulator than for the serial one. Could be caused by low execution time. Could be caused by the relatively small size of the circuits.

Improvements of the deductive technique Application for the asynchronous circuits. list propagation algorithm for the complex gates. Hazard detection during deductive.

simulator was developed and implemented for the stuck-at of the speed-independent asynchronous circuits. The experimental results show 60% 80% reduction of the computational time and max. 14% increase of the memory requirements. Future work Deterministic test pattern generator based on the algorithm FAN. Without using external tools reduction of the test generation time. Test pattern generator for delay s.

References I J. Sparsø and S. Furber, Principles of asynchronous circuit design: A systems perspective, ch. 1 8. Kluwer Academic Publishers, 2001. F. Shi, Y. Makris, S. M. Nowick, and M. Singh, Test generation for ultra-high-speed asynchronous pipelines, in Proceedings of the IEEE International Conference on Test, p. 1018, 2005. F. Shi and Y. Makris, SPIN-SIM: Logic and for speed-independent circuits, in Proceedings of the 2004 International Test Conference, pp. 597 606, 2004.

References II F. Shi and Y. Makris, and random test generation for speed-independent circuits, in Proceedings of the 2004 Great Lakes Symposium on VLSI, pp. 127 130, 2004. S. Sur-Kolay, M. Roncken, K. Stevens, P. Chaudhuri, and R. Roy, Fsimac: A simulator for asynchronous sequential circuits, in Proceedings of the 9 th Asian Test Symposium, pp. 114 119, 2000. K. Walczak, for sequential module circuits, IEEE Transactions on Computers, vol. 37, no. 2, pp. 237 239, 1988.

References III J. Cortadella, M. Kishinevsky, A. Kondratyev, L. Lavagno, and A. Yakovlev, Petrify: a tool for manipulating concurrent specifications and synthesis of asynchronous controllers, IEICE Transactions on Information and Systems, vol. E80-D, no. 3, pp. 315 325, 1997. F. Shi and Y. Makris, SPIN-TEST: Automatic test pattern generation for speed-independent circuits, in Proceedings of the 2004 International Conference on Computer Aided Design, pp. 903 908, 2004. H. K. Lee and D. S. Ha, On the generation of test patterns for combinational circuits, Tech. Rep. 12_93, Dep t of Electrical Eng., Virginia Polytechnic Institute, 1993.

Thank you for attention

propagation rules for single gates The deductive simulator is based on the following propagation rules for the logic gates OR and AND, where I 1 is the set of logic gate inputs with logic one, I 0 is the set of logic gate inputs with logic zero and L j is the list for input j. list propagation through gate AND: if I 0 = then{ L j } j I 1 else{ L j } { L j } j I 0 j I 1 list propagation through gate OR: if I 1 = then{ L j } j I 0 else{ j I 1 L j } { j I 0 L j }

Boolean function for the D flip-flop substitute Q clk d 0 2 0 0 1 3 0 1 5 7 0 1 4 6 1 1

Test pattern generator SPIN-TEST Shi et al.: SPIN-TEST: Automatic Test Pattern Generation for Speed-Independent [8] Cooperates with SPIN-SIM. Uses ATALANTA Lee et al.: On the Generation of Test Patterns for Combinational [9]. Automatic test pattern generator for stuck-at of combinational circuits. Generate test sequence for the asynchronous circuit. Uses the test patterns for the combinational representation.

Test pattern generation Random test pattern generator was implemented based on Shi et al.: Simulation and Random Test Generation for Speed-Independent [4]. It has the following properties: To avoid long meaningless test sequences the circuit is reseted to its initial state in the presence of hazards. s can be detected on the hazard-free outputs even in the presence of hazards, so it is not always necessary to reset the hazardous circuit. Circuit is reseted with a computed probability based on the number of hazards.

Test pattern generation Our proposal for improving the performance Simple equation for the probability computation. Our equation: P = n h 100%, (1) n where n is the total number of outputs and n h is the number of outputs with a hazard. Hazard-free circuit: P = 0%. Hazard on all of the outputs: P = 100%. Linear dependency. Simplification without decreasing of the coverage.

Handling of D-flip-flops Pseudo-gate implementation was proposed previously only for C-elements. circuits can contain other memory elements too, for example D-flip-flops. We propose the set of gates for replacing D-flip-flops in the circuits.

Handling of D-flip-flops Pseudo-gate implementation of the D flip-flop The role of the pseudo-gate p-and-3 is to eliminate the hazard which could occur on the output Q when d = 1, Q = 1 and a signal transition 0 1 or 1 0 occurs on clk.

injection The circuit contain complex gates which are represented using the Disjunctive Normal Form. injection is handled by inserting gates to circuit with the following Boolean functions: for stuck-at-one: O = I + I, (2) for stuck-at-zero: O = I I, (3) where I is the gate input and O is the gate output.

injection The circuit contain complex gates which are represented using the Disjunctive Normal Form. injection is handled by inserting gates to circuit with the following Boolean functions: for stuck-at-one: O = I + I, (2) for stuck-at-zero: O = I I, (3) where I is the gate input and O is the gate output. Advantage The of -free and y circuit can be done in the same way.