An Introduction to Burst-Mode Controllers and the MINIMALIST CAD Package Steven M. Nowick Columbia University July 16-17, 2002.

Slides:



Advertisements
Similar presentations
Glitches & Hazards.
Advertisements

Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
Finite State Machine Chapter 10 RTL Hardware Design by P. Chu.
Hazard-free logic synthesis and technology mapping I Jordi Cortadella Michael Kishinevsky Alex Kondratyev Luciano Lavagno Alex Yakovlev Univ. Politècnica.
Hardware and Petri nets Synthesis of asynchronous circuits from Signal Transition Graphs.
Introduction to asynchronous circuit design: specification and synthesis Part III: Advanced topics on synthesis of control circuits from STGs.
1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Introduction to asynchronous circuit design: specification and synthesis Part II: Synthesis of control circuits from STGs.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
1 Logic synthesis from concurrent specifications Jordi Cortadella Universitat Politecnica de Catalunya Barcelona, Spain In collaboration with M. Kishinevsky,
1 Clockless Logic Prof. Montek Singh Feb. 3, 2004.
Asynchronous Machines
Logic Synthesis 1 Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
Asynchronous Interface Specification, Analysis and Synthesis M. Kishinevsky Intel Corporation J. Cortadella Technical University of Catalonia.
COMP Clockless Logic Prof. Montek Singh Jan. 29, 2004.
STG-based synthesis and Petrify J. Cortadella (Univ. Politècnica Catalunya) Mike Kishinevsky (Intel Corporation) Alex Kondratyev (University of Aizu) Luciano.
Engineering Models and Design Methods for Quantum State Machines.
Computation Engines: BDDs and SAT (part 2) 290N: The Unknown Component Problem Lecture 8.
DAG-Aware AIG Rewriting Alan Mishchenko, Satrajit Chatterjee, Robert Brayton Department of EECS, University of California Berkeley Presented by Rozana.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 12: March 2, 2009 Sequential Optimization (FSM Encoding)
Synthesis of Asynchronous Control Circuits with Automatically Generated Relative Timing Assumptions Jordi Cortadella, University Politècnica de Catalunya.
Engineering Models and Circuit Realization of Quantum State Machines.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Automatic synthesis and verification of asynchronous interface controllers Jordi CortadellaUniversitat Politècnica de Catalunya, Spain Michael KishinevskyIntel.
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
Asynchronous Circuit Verification and Synthesis with Petri Nets J. Cortadella Universitat Politècnica de Catalunya, Barcelona Thanks to: Michael Kishinevsky.
1 Clockless Logic: Dynamic Logic Pipelines (contd.)  Drawbacks of Williams’ PS0 Pipelines  Lookahead Pipelines.
ENEE 644 Dr. Ankur Srivastava Office: 1349 A.V. Williams URL: Computer-Aided Design of.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Combinational Logic Design
Overview Part 1 – Design Procedure 3-1 Design Procedure
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
Finite State Machines. Binary encoded state machines –The number of flip-flops is the smallest number m such that 2 m  n, where n is the number of states.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
Department of Computer Engineering
FORMAL VERIFICATION OF ADVANCED SYNTHESIS OPTIMIZATIONS Anant Kumar Jain Pradish Mathews Mike Mahar.
1 Lecture 22 State encoding  One-hot encoding  Output encoding State partitioning.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 5 – Sequential Circuits Part 2 – Sequential.
European Test Symposium, May 28, 2008 Nuno Alves, Jennifer Dworak, and R. Iris Bahar Division of Engineering Brown University Providence, RI Kundan.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Synthesis Of Fault Tolerant Circuits For FSMs & RAMs Rajiv Garg Pradish Mathews Darren Zacher.
UM EECS 270 Spring 2011 – Taken from Dr.Karem Sakallah Logic Synthesis: From Specs to Circuits Implementation Styles –Random –Regular Optimization Criteria.
2-1 Introduction Gate Logic: Two-Level Simplification Design Example: Two Bit Comparator Block Diagram and Truth Table A 4-Variable K-map for each of the.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications.
Curtis A. Nelson 1 Technology Mapping of Timed Circuits Curtis A. Nelson University of Utah September 23, 2002.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
Output Grouping Method Based on a Similarity of Boolean Functions Petr Fišer, Pavel Kubalík, Hana Kubátová Czech Technical University in Prague Department.
03/31/031 ECE 551: Digital System Design & Synthesis Lecture Set 8 8.1: Miscellaneous Synthesis (In separate file) 8.2: Sequential Synthesis.
A Cycle-Based Decomposition Method for Burst-Mode Asynchronous Controllers Melinda Y. Agyekum Steven M. Nowick Department of Computer Science Columbia.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 6: January 26, 2004 Sequential Optimization (FSM Encoding)
Research Roadmap Past – Present – Future Robert Brayton Alan Mishchenko Logic Synthesis and Verification Group UC Berkeley.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
ECE DIGITAL LOGIC LECTURE 6: BOOLEAN ALGEBRA Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2016, 02/01/2016.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 17: March 11, 2002 Sequential Optimization (FSM Encoding)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU 99-1 Under-Graduate Project Design of Datapath Controllers Speaker: Shao-Wei Feng Adviser:
Specification mining for asynchronous controllers Javier de San Pedro† Thomas Bourgeat ‡ Jordi Cortadella† † Universitat Politecnica de Catalunya ‡ Massachusetts.
EE552 Extra Credit Project1 Extended Burst Mode Design Orignally Submitted by : Amish Patel Revised by : Sumit Bhargava
Asynchronous Interface Specification, Analysis and Synthesis
DeMorgan’s Theorem DeMorgan’s 2nd Theorem
Overview Part 1 – Design Procedure Beginning Hierarchical Design
CSE 370 – Winter Combinational Implementation - 1
Chapter 3 – Combinational Logic Design
EE2174: Digital Logic and Lab
Fast Min-Register Retiming Through Binary Max-Flow
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
CSE 370 – Winter Sequential Logic-2 - 1
Presentation transcript:

An Introduction to Burst-Mode Controllers and the MINIMALIST CAD Package Steven M. Nowick Columbia University July 16-17, 2002

2 MINIMALIST Developers Principal Architects: [1994-present] –Robert M. Fuhrer: system designer & primary implementer –Steven M. Nowick: project leader Documentation: –Book: Robert M. Fuhrer and Steven M. Nowick, ”Sequential Optimization of Asynchronous and Synchronous Finite-State Machines: Algorithms and Tools”, Kluwer Academic Publishers, Boston, MA (2001), ISBN –PhD Thesis: Robert M. Fuhrer,, Columbia University, Dept. of Computer Science, May 1999.

3 Other Contributors Current and Former PhDs: –Michael Theobald: espresso-HF, IMPYMIN –Tiberiu Chelcea: circuit display (pla2nand), pla2verilog –Luis Plana: state minimization w/fedback outputs (contributor) Faculty (Princeton): –Niraj Jha: synthesis-for-testability (co-creator) Former Undergraduates: –Alexander Shapiro: gC-min, gC-CHASM, phase optimization –Tao Wu: espresso-HF (contributor)

4 MINIMALIST: Download Site Accessible on the Web from: Currently, two versions: SPARC-solaris, Linux Includes: complete tutorial (text + PDF slides) benchmark examples other documentation

5 Outline PART I: Technical Overview The MINIMALIST CAD Package: Introduction Optimization Algorithms 2-Level Hazard-Free Logic Minimization Optimal State Assignment New MINIMALIST Features User-Selectable Modes Results, Evaluation and Conclusions PART II: Tutorial Design Examples + Hands-On Tutorial

6 The MINIMALIST Package: Introduction MINIMALIST: developed at Columbia University [1994-] extensible “burst-mode” synthesis package integrates synthesis, testability and verification tools Includes several optimization tools: CHASM: optimal state assignment 2-Level Hazard-Free Logic Minimization: –IMPYMIN: exact (implicit) –ESPRESSO-HF: heuristic –HFMIN: multivalued/symbolic gC-Min: generalized C-element based mapping Synthesis-for-Testability [not yet added]

7 The MINIMALIST Package: Overview BM SPEC MINIMALIST Flow: STATE MINIMIZATION CHASM: OPTIMAL STATE ASSIGNMENT 2-LEVEL HAZARD-FREE LOGIC MINIMIZATION: 3 optimal algorithms [exact/heuristic] (hfmin, espresso-HF, IMPYMIN) SYNTHESIS- FOR- TESTABILITY (2-level, multi-level) MULTI-LEVEL (HAZARD-FREE) TIMING ANALYSIS = future additions COMBINATIONAL/ SEQUENTIAL VERIFIER (checks for hazards, functionality) gC-Min: GC-BASED MAPPING (hazard-free) XBM SPEC PLA2Verilog (Verilog output) (implemented, not yet included)

8 The MINIMALIST Package Unlike most other asynchronous packages, MINIMALIST offers designers flexibility: Several user-selectable options: machine style logic implementation style cost function Varying code lengths: # state bits Combinational and sequential verifier: checks implementation against spec for errors … for hazards, functionality

9 The MINIMALIST Package Graphical Interfaces: displays: –state-machine specification –circuit implementation menu-based input: (… currently under development) Extensible Package: easily accommodates new “plug-in” tools “MinShell”: interactive user shell provides: on-line help, command-completion,... class library for burst-mode manipulation C++ implementation, ~45,000 lines of code

10 The MINIMALIST Package Includes some highly-optimized (non-asynchronous!) CAD tools to solve compute-intensive sub-problems: dichot: exact dichotomy solver [Saldanha 91] NOVA: simulated annealing -heuristic dichotomy solver [Villa 89] espresso (Berkeley SIS): prime implicant generation Scherzo: unate/binate covering [Coudert 94]

11 “Burst-Mode” Controllers Synthesis style for individual asynchronous FSM’s: Mealy-type allows: –multiple-input changes –concurrent behavior target technology: normal synchronous cell libraries optimization algorithms: comprehensive set Brief History:... Based on informal approach at HP Labs: –Davis, Coates, Stevens [1986-, and earlier] Formalized and constrained at Stanford: Nowick/Dill [91] –Nowick/Dill first to develop a correct synthesis method

12 Burst-Mode: Implementation Style “Huffman Machine”: async machine, no explicit latches Hazard-Free Combinational Network inputsoutputs state (several bits) A B C X Y Z

13 Burst-Mode: Implementation Style Burst-Mode Behavior: inputs in a user-specified ’input burst’ arrive, in any order (glitch-free) Hazard-Free Combinational Network inputsoutputs state (several bits) A+ B C X Y Z

14 Burst-Mode: Implementation Style Burst-Mode Behavior: inputs in a user-specified ‘input burst’ arrive, in any order Hazard-Free Combinational Network inputsoutputs state (several bits) A+ B C- X Y Z

15 Burst-Mode: Implementation Style Burst-Mode Behavior: once ‘input burst’ is complete, machine generates a (glitch-free) ‘output burst’ … Hazard-Free Combinational Network inputsoutputs state (several bits) A B C X Y- Z+ input burst output burst

16 Burst-Mode: Implementation Style … and (sometimes!) a concurrent (and glitch-free) state change to a new state…. Hazard-Free Combinational Network inputsoutputs state (several bits) A B C X Y Z input burst output burst state change

17 Burst-Mode Specifications How to specify “burst-mode” behavior?: Hazard-Free Combinational Network inputs outputs state (several bits) A B C X Y Z input burst output burst A+ C-/ Y- Z+ 1 current state input burst/ output burst 2 next state

18 Note: -input bursts: must be non-empty (at least 1 input per burst) -output bursts: may be empty (0 or more outputs per burst) Burst-Mode Specifications Example: Burst-Mode (BM) Specification: - Inputs in specified “input burst” can arrive in any order and at any time - After all inputs arrive, generate “output burst” A+ C+/ Z- C-/ Z+ C+/ Y+ A-/ Y- A+ B+/ Y+ Z- B- C+/ Z+ C-/ -- Initial Values: ABC = 000 YZ = 01

19 Burst-Mode Specifications “Burst-Mode” (BM) Specs: 2 Basic Requirements –requirements introduced by Nowick/Dill [ICCD’91,ICCAD’91] –… guarantee hazard-free synthesis! 1. “maximal set property”: in each specification state, no input burst can be a subset of any other input burst 2. “unique entry point”: each specification state must be entered at a ‘single point’

20 Burst-Mode Specifications 1. “maximal set property”: in each specification state, no input burst can be a subset of another input burst …ambiguous: what to do when only input A+ arrives?: - wait for C+? or output Y+ Z-?? 012 A+ C+/ Z- A+/ Y+ Z- 012 A+ C+/ Z- A+ B+/ Y+ Z- illegal: {A+}  {A+C+} legal

21 Burst-Mode Specifications 2. “unique entry point”: each specification state must be entered at a ‘single point’ (guarantees hazard-free synthesis) A+/ Z+ B+/ Y+ C+/ Y+ D+/ Z+ Entering State 4: - from State 1: ABCD=1100 (YZ=11) - from State 2: ABCD=0011 (YZ=11) illegal: 2 different input/output values when entering state A+/ Z+ B+/ Y+ C+/ Y+ D+/ Z+ 5 legal: solution=split state 4

22 Burst-Mode Specifications 2. “unique entry point” (cont.): Entering State 4: - from State 3: ABC = 101 (YZ=11) - from State 2: ABC = 101 (YZ=11) … so, “unique entry point” property is satisfied. this is legal: state 4 -- entered with the same input/output values on both ‘incoming arcs’ A+ C+/ Z- C-/ Z+ C+/ Y+ A-/ Y- A+ B+/ Y+ Z- B- C+/ Z+ C-/ -- State 0: Initial Values ABC = 000 YZ = 01 Another Example:

23 Burst-Mode Specifications Final observation: Burst-Mode specs must indicate all “expected events” Missing input burst = “cannot occur” A+ C+/ Z- C-/ Z+ C+/ Y+ A-/ Y- A+ B+/ Y+ Z- B- C+/ Z+ C-/ -- State 0: Initial Values ABC = 000 YZ = 01 EXAMPLE: in State #0… - the specification indicates (implicitly) that input burst B+C+ cannot occur … since this event is not specified!

24 Burst-Mode Specifications “Extended Burst-Mode” (XBM): [Yun/Dill ICCAD-93/95] 1. “directed don’t cares” (Rin*): allow concurrent inputs & outputs 2. “conditionals” ( ): allow “sampling” of level signals Handles glitchy inputs, mixed sync/async inputs, etc ok+ Rin*/ FRout+ FAin+ Rin*/ FRout- FAin- Rin+/ Aout+ Rin* FAin+/ FRout- Rin-/ Aout- FRout+ Rin-/ Aout- ok- Rin*/ -- Rin+ FAin-/ Aout+ New Features: (… not yet supported by MINIMALIST, expected in future releases)

25 One-Sided Timing Requirements #1. Fedback State Change: must not arrive at inputs until previous input burst has been fully processed … –add: 1-sided delay to feedback path –usually negligible delay: often no extra delay needed Hazard-Free Combinational Network inputsoutputs state A B C X Y Z 1-sided delay

26 One-Sided Timing Requirements (cont.) #2. Next Input Burst: must not arrive until machine has stabilized from previous input+state change … often satisfied: environment usually “slow enough” if not: add small delays to outputs Hazard-Free Combinational Network inputs outputs state A B C X Y Z delay

27 One-Sided Timing Requirements (cont.) #2. Next Input Burst (cont.): must not arrive until entire machine has stabilized … “Generalized Fundamental Mode”: after each input burst arrives, a machine ‘hold-time requirement’ must be satisfied, before environment applies the next input burst

28 Example : Burst-Mode Synthesis AR+/BR+ BA+/BR- BA-/AA+ AR-/AA- Burst-Mode Specification:

29 Example : Burst-Mode Synthesis BA BR AA BA AR Y AR+/BR+ BA+/BR- BA-/AA+ AR-/AA- Burst-Mode Specification:Burst-Mode Implementation: AR BA

30 Optimization Algorithms A large set of CAD synthesis and optimization algorithms & tools have been developed: 2-Level Hazard-Free Logic Minimization Optimal State Assignment Multi-Level Optimization Technology Mapping Power, Performance and Timing Analysis Synthesis-for-Testability

31 2-Level Hazard-Free Logic Minimization: An Example _ 1 1 _ 1 1 _ _ _ _ 1 1 _ 1 1 _ _ _ Non-hazard-free: min cost = 3 products Hazard-free: min cost = 3 products

32 2-Level Hazard-Free Logic Minimization Have developed 4 hazard-free logic minimizers: Basic Method: first exact solver for this problem –S.M. Nowick/D.L. Dill: (a) ICCAD-92 (IEEE International Conference on Computer-Aided Design), (b) IEEE Trans. on Computer-Aided Design, vol. 14:8, pp (Aug. 95) HFMIN: binary and symbolic exact minimizer –R.M. Fuhrer/S.M. Nowick, in ICCAD-95. Espresso-HF: fast heuristic minimizer IMPYMIN: fast exact minimizer –M. Theobald/S.M. Nowick, IEEE Trans. on Computer-Aided Design, vol. 17:11, pp (Nov. 98)

33 2-Level Hazard-Free Logic Minimization HFMIN: Unlike original (Nowick/Dill [‘92]) algorithm: handles both binary and symbolic (‘multi-valued’) inputs Used in industry and academia: academia: in 3D (UCSD), ACK (Utah) and UCLOCK tools Intel: used for async instruction-length decoder HP Labs (Stetson project: infrared communications chip) AMD (SCSI controller)

34 2-Level Hazard-Free Logic Minimization IMPYMIN: Fast algorithm for exact minimization: introduces novel method for generating DHF-primes: –re-formulates as a synchronous prime generation problem uses compact “implicit” data structures: BDDs/ZBDDs calls highly-optimized existing synchronous CAD tools –Scherzo [Coudert]

35 IMPYMIN vs. HFMIN: Results (in seconds) (#prods)

36 2-Level Hazard-Free Logic Minimization ESPRESSO-HF: Fast heuristic minimization algorithm: based loosely on synchronous “ESPRESSO” algorithm solves all existing async benchmarks up to 32 inputs/33 outputs: < 2 minutes typical runtime: < 3 seconds For large examples, usually within 3% of exact solution

37 [Fuhrer/Lin/Nowick, ICCAD-95] Overview: First general/systematic “optimal state encoding” algorithm for asynchronous state machines Based on an “input encoding model” -- modifies synchronous “KISS” algorithm [DeMicheli ‘85] to insure: - critical race-free encoding - minimum-cost hazard-free logic CHASM: Optimal State Assignment

38 CHASM: Optimal State Assignment Special Feature: “ Output-Targeted” State Assignment Observation: output logic often determines latency in an async FSM Goal: pick a state assignment which yields best output logic … while still insuring correct next-state logic (= critical race-free) CHASM produces an exact solution for this problem

39 CHASM: Asynchronous FSMs and Output Logic Observation: output logic often critical for async FSM latency inputoutput state output logic critical path is often input-to-output

40 New MINIMALIST Features Several new features recently added to MINIMALIST: 1. Technology Mapping: to ‘generalized C-elements’ 2. Phase Optimization

41 New MINIMALIST Features #1. gC-Based Technology Mapping Target = “Generalized C-element”: New exact hazard-free gC logic minimizer: “gC-min” [Alexander Shapiro/S. Nowick ‘00] reset = p-stack set = n-stack

_ _ _ 1 1 New MINIMALIST Features #1. gC-Based Technology Mapping: an Example reset = p-stack set = n-stack AB CD A’ C’ Function A’ B’ A’ D’ A B B D C A C’ B’ D’ C A A C A’ C’ 2-level: gC:

43 New MINIMALIST Features #2. Phase Optimization [Alexander Shapiro, S. Nowick ‘00] Goal: for each output and next-state function... implement both x and x’ select best result = “phase optimization” Now included in several MINIMALIST steps: logic minimization: both 2-level and gC-min optimal state assignment: –CHASM: target state assignment to selected phase choices

44 D New MINIMALIST Features #2. Phase Optimization: A’ C’ A’ B’ A’ D’ A B C A _ _ _ 1 1 AB CD Function f: f f’ A B’ C’ B C f Add inverter: Without phase optzn.: With phase optzn.:

45 User-Selectable Modes MINIMALIST provides several options for user “design-space exploration”: machine style logic implementation style cost function state assignment style

46 MINIMALIST: User-Selectable Modes Many choices to allow user “design space exploration”: #1. Machine Style: “fedback outputs” vs. none Hazard-Free Combinational Network input output state (a) No Fedback Outputs: + = sometimes smaller output loads (lower latency)

47 User-Selectable Modes #1. Machine Style (cont.) Hazard-Free Combinational Network input output state (b) Fedback Outputs: + = sometimes less area/fewer state bits

48 User-Selectable Modes #2. Logic Implementation Styles: 3 Choices (a) “Multi-Output”: share products across all outputs + next-state –goal: area (b) “Single-Output”: no shared products: implement each function separately –goal: performance (c) “Output-Disjoint”: share products only: (i) among outputs, and (ii) among next-state –goal: balanced

49 User-Selectable Modes #2. Logic Styles: (a) “Multi-Output”: share products between outputs + next-state w z y1 y0 outputs next-state

50 User-Selectable Modes #2. Logic Styles: (b) “Single-Output”: do not share products! w z y1 y0 outputs next-state

51 User-Selectable Modes #2. Logic Styles: (c) “Output-Disjoint”: share products only: -among outputs -among next-state advantage: - our opt. state assignment methods can ensure the optimal sharing of products among outputs w z y1 y0 outputs next-state

52 User-Selectable Modes #3. Cost Function: What to minimize…?: (a) # products (b) # literals (c) # “primary I/O literals”: on critical input-to-output paths Motivation of (c): lower latency... primary inputs/primary outputs: (often) form the critical path state changes: (often) non-critical, occur in background mode

53 MULTI-LEVEL CIRCUIT: after decomposition, 3 critical literals b y1 y0 #3. Logic Cost Function (cont.): (c) “Primary I/O Literals” User-Selectable Modes After Multi-Level Decomposition: “extract out” all present-state literals! a y0 y1 present-state (non-critical) primary inputs (critical) 4 literals EXAMPLE: worse critical path Initial 2-Level Circuit #1: 2-LEVEL CIRCUIT: few literals, yet WORSE CHOICE b a 3 critical literals

54 MULTI-LEVEL CIRCUIT: after decomposition, 2 critical literals #3. Logic Cost Function (cont.): (c) “Primary I/O Literals” User-Selectable Modes After Multi-Level Decomposition: “extract out” all present-state literals! 5 literals EXAMPLE: Initial 2-Level Circuit #2: 2-LEVEL CIRCUIT: more literals, yet BETTER CHOICE better critical path y0 a y1 y3 y2 present-state (non-critical) primary input (critical) y0 a y1 y3 y2 only 2 critical literals

55 #3. Logic Cost Function (cont.): “Primary I/O Literals” User-Selectable Modes Conclusion: Pick 2-Level Circuit #1 > it has more literals, >...yet results in a faster multi-level circuit (after logic decomposition) Cost Function “Primary Input/Output Literals”…: >produces 2-level circuit with fewest (primary) input literals for each output >next: apply multi-level logic decomposition (manually): - factor out “present-state literals” (non-critical) >result: multi-level circuit with optimized (critical) input-to-output paths

56 User-Selectable Modes #4. State Assignment Style: Several Options (a) Critical Race-Free (basic): no optimization (b) Optimal (CHASM): exact solution solve all optimality constraints (c) Optimal (CHASM): “fixed-length” encoding “heuristic mode” partially solve optimality constraints (fewer state bits) (d) Optimal (CHASM): “output-only” mode outputs: exact min-cost solution next-state: ignore/just insure they are critical race-free

57 MINIMALIST: Experimental Results Performance: avg. reduction of 11% (up to 37%) in output literals. Area: avg. reduction of 33% (up to 48%) in total literals.

58 Evaluation and Conclusions Some Characteristics, and Potential Advantages, of Burst-Mode Circuits: 1. Simple Timing Requirements: Combinational Logic: highly robust –“forward” logic path: always hazard-free, regardless of gate/wire delays +no timing assumptions +no “isochronic forks” required Sequential Operation: –must satisfy simple 1-sided timing requirements

59 Evaluation and Conclusions 2. Provides “Complete” Synthesis Path: always succeeds Given: any legal burst-mode specification (BM/XBM) Apply: –(constrained) state minimization –(critical race-free) state assignment –(hazard-free) 2-level logic minimization Result: guaranteed hazard-free “gate-level circuit”: 2-level/multi-level implementation –no backtracking/iteration ever required

60 Evaluation and Conclusions 3. Hazard-Free Logic Decomposition: Wide range of safe “hazard-non-increasing” transformations: associative law –not generally safe for ‘speed-independent’ (QDI) circuits! DeMorgan’s law, and many other algebraic transformations technology mapping: simple to insure correctness Unlike speed-independent circuits, no need for: “acknowledgment forks”, state-holding elements within combinational logic, etc.

61 Evaluation and Conclusions 3. Hazard-Free Logic Decomposition (cont.): Example: Associative Law –in burst-mode circuits, never introduces hazards D B C B D C (This transform may introduce hazards in “speed-independent” or “QDI” circuits.)

62 Evaluation and Conclusions 4. Optimal Synthesis Algorithms: Several “provably-optimal” algorithms (e.g. CHASM) Incorporates/exploits several highly-optimized synchronous CAD tools for sub-steps (Scherzo, espresso, dichot, etc.)

63 Evaluation and Conclusions 5. Generalized Fundamental-Mode Operation: In practice, often satisfied: –experiences at HP Labs (“Stetson” 94), DIFFEQ, etc. If not, can satisfy by adding delays to outputs (rare)

64 Conclusions “Burst-Mode” Asynchronous Controllers: used effectively in several experimental industrial designs: –Intel, AMD, HP Labs New “MINIMALIST” Asynchronous CAD Package: CHASM: optimal state assignment HFMIN, IMPYMIN, espresso-HF: hazard-free 2-level logic min gC-Min: gC-based tech-map Verifier: combinational + sequential (hazards, functionality) Verilog output, graphic interfaces Overall Goals: providing many user options: “design space exploration” globally-optimal algorithms