Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "An Introduction to Burst-Mode Controllers and the MINIMALIST CAD Package Steven M. Nowick Columbia University July 16-17, 2002."— Presentation transcript:

1 An Introduction to Burst-Mode Controllers and the MINIMALIST CAD Package Steven M. Nowick Columbia University (nowick@cs.columbia.edu) July 16-17, 2002

2 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 0-7923-7425-8. –PhD Thesis: Robert M. Fuhrer,, Columbia University, Dept. of Computer Science, May 1999.

3 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 4 MINIMALIST: Download Site Accessible on the Web from: http://www.cs.columbia.edu/async Currently, two versions: SPARC-solaris, Linux Includes: complete tutorial (text + PDF slides) benchmark examples other documentation

5 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 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 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 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 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 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 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 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 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 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 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 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 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 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” 0132 4 5 A+ C+/ Z- C-/ Z+ C+/ Y+ A-/ Y- A+ B+/ Y+ Z- B- C+/ Z+ C-/ -- Initial Values: ABC = 000 YZ = 01

19 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 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 21 Burst-Mode Specifications 2. “unique entry point”: each specification state must be entered at a ‘single point’ (guarantees hazard-free synthesis) 012 4 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 4 012 4 A+/ Z+ B+/ Y+ C+/ Y+ D+/ Z+ 5 legal: solution=split state 4

22 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’ 0132 4 5 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 23 Burst-Mode Specifications Final observation: Burst-Mode specs must indicate all “expected events” Missing input burst = “cannot occur” 0132 4 5 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 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. 0123456 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 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 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 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 28 Example : Burst-Mode Synthesis 12 3 4 AR+/BR+ BA+/BR- BA-/AA+ AR-/AA- Burst-Mode Specification:

29 29 Example : Burst-Mode Synthesis BA BR AA BA AR Y0 12 3 4 AR+/BR+ BA+/BR- BA-/AA+ AR-/AA- Burst-Mode Specification:Burst-Mode Implementation: AR BA

30 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 31 2-Level Hazard-Free Logic Minimization: An Example _ 1 1 _ 1 1 _ 0 1 1 _ _ 1 0 0 0 _ 1 1 _ 1 1 _ 0 1 1 _ _ 1 0 0 0 Non-hazard-free: min cost = 3 products Hazard-free: min cost = 3 products

32 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.986-997 (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.1130-1147 (Nov. 98)

33 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 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 35 IMPYMIN vs. HFMIN: Results (in seconds) (#prods)

36 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 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 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 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 40 New MINIMALIST Features Several new features recently added to MINIMALIST: 1. Technology Mapping: to ‘generalized C-elements’ 2. Phase Optimization

41 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

42 42 1 1 1 0 1 1 _ _ 1 0 0 _ 1 1 New MINIMALIST Features #1. gC-Based Technology Mapping: an Example reset = p-stack set = n-stack AB CD 00 01 11 10 00 01 11 10 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 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 44 D New MINIMALIST Features #2. Phase Optimization: A’ C’ A’ B’ A’ D’ A B C A 1 1 1 0 1 1 _ _ 1 0 0 _ 1 1 AB CD 00 01 11 10 00 01 11 10 Function f: f f’ A B’ C’ B C f Add inverter: Without phase optzn.: With phase optzn.:

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

46 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 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 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 49 User-Selectable Modes #2. Logic Styles: (a) “Multi-Output”: share products between outputs + next-state w z y1 y0 outputs next-state

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

51 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 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 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 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 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 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 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 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 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 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 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 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 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 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


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

Similar presentations


Ads by Google