21
1 Clockless Logic Prof. Montek Singh Feb. 27, 2003

Clockless Logic

  • Upload
    lidia

  • View
    26

  • Download
    2

Embed Size (px)

DESCRIPTION

Clockless Logic. Prof. Montek Singh Feb. 27, 2003. Unclocked “Burst-Mode” State Machine Synthesis. Acknowledgment Steven Nowick et al. (Columbia Univ.). “Burst-Mode” Controllers. Synthesis style for individual asynchronous FSM’s: Mealy-type allows: multiple-input changes - PowerPoint PPT Presentation

Citation preview

Page 1: Clockless Logic

1

Clockless Logic

Prof. Montek Singh

Feb. 27, 2003

Page 2: Clockless Logic

2

Unclocked “Burst-Mode” State Machine Synthesis

Acknowledgment

Steven Nowick et al. (Columbia

Univ.)

Page 3: Clockless Logic

3

“Burst-Mode” ControllersSynthesis 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

Page 4: Clockless Logic

4

Burst-Mode: Implementation Style

“Huffman Machine”: async machine, no explicit latches

Hazard-FreeCombinational

Network

inputs outputs

state

(several bits)

A

B

C

X

Y

Z

Page 5: Clockless Logic

5

Burst-Mode: Implementation Style

Burst-Mode Behavior: inputs in a user-specified ’input burst’ arrive, in any order (glitch-free)

Hazard-FreeCombinational

Network

inputs outputs

state

(several bits)

A+

B

C

X

Y

Z

Page 6: Clockless Logic

6

Burst-Mode: Implementation Style

Burst-Mode Behavior: inputs in a user-specified ‘input burst’ arrive, in any order

Hazard-FreeCombinational

Network

inputs outputs

state

(several bits)

A+

B

C-

X

Y

Z

Page 7: Clockless Logic

7

Burst-Mode: Implementation Style

Burst-Mode Behavior: once ‘input burst’ is complete, machine generates a (glitch-free) ‘output burst’ …

Hazard-FreeCombinational

Network

inputs outputs

state

(several bits)

A

B

C

X

Y-

Z+

input burst output burst

Page 8: Clockless Logic

8

Burst-Mode: Implementation Style

… and (sometimes!) a concurrent (and glitch-free)

state change to a new state….

Hazard-FreeCombinational

Network

inputs outputs

state

(several bits)

A

B

C

X

Y

Z

input burst output burst

state change

Page 9: Clockless Logic

9

Burst-Mode SpecificationsHow to specify “burst-mode” behavior?:

Hazard-FreeCombinational

Network

inputsoutputs

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

Page 10: Clockless Logic

10

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”

0

1

3

2

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

Page 11: Clockless Logic

11

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’

Page 12: Clockless Logic

12

Burst-Mode Specifications1. “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-??

0

1

2

A+ C+/Z-

A+/ Y+ Z-

0

1

2

A+ C+/Z-

A+ B+/Y+ Z-

illegal: {A+} {A+C+} legal

Page 13: Clockless Logic

13

Burst-Mode Specifications2. “unique entry point”: each specification state

must be entered at a ‘single point’ (guarantees hazard-free synthesis)

0

1

2

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

0

1

2

4

A+/Z+

B+/ Y+

C+/Y+

D+/ Z+

5

legal: solution=split state 4

Page 14: Clockless Logic

14

Burst-Mode Specifications2. “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

valueson both ‘incoming arcs’

0

1

3

2

4

5

A+ C+/Z-

C-/ Z+

C+/ Y+

A-/ Y-

A+ B+/Y+ Z-

B- C+/Z+

C-/--

State 0: Initial ValuesABC = 000

YZ = 01

Another Example:

Page 15: Clockless Logic

15

Burst-Mode SpecificationsFinal observation:

Burst-Mode specs must indicate all “expected events”

Missing input burst = “cannot occur”

0

1

3

2

4

5

A+ C+/Z-

C-/ Z+

C+/ Y+

A-/ Y-

A+ B+/Y+ Z-

B- C+/Z+

C-/--

State 0: Initial ValuesABC = 000

YZ = 01

EXAMPLE: in State #0… - the specification indicates (implicitly) that input burst B+C+

cannot occur … since this event is not specified!

Page 16: Clockless Logic

16

Burst-Mode Specifications

“Extended Burst-Mode” (XBM):[Yun/Dill ICCAD-93/95]

1. “directed don’t cares” (Rin*): allow concurrent inputs & outputs 2. “conditionals” (<Cnd>): allow “sampling” of level signals

Handles glitchy inputs, mixed sync/async inputs, etc.

0

1

2

3

4

5

6

ok+ Rin*/ FRout+

FAin+ Rin*/ FRout-

FAin- Rin+/ Aout+

Rin* FAin+/ FRout-

<Cnd+> Rin-/ Aout- FRout+

<Cnd-> Rin-/ Aout-

ok- Rin*/ --

Rin+ FAin-/Aout+

New Features:

(… not yet supported by MINIMALIST, expected in future releases)

Page 17: Clockless Logic

17

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

Network

inputs outputs

state

A

B

C

X

Y

Z

1-sideddelay

Page 18: Clockless Logic

18

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

Network

inputs outputs

state

A

B

C

X

Y

Z

delay

Page 19: Clockless Logic

19

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

Page 20: Clockless Logic

20

Example : Burst-Mode Synthesis

1

2

3

4

AR+/BR+

BA+/BR-

BA-/AA+

AR-/AA-

Burst-Mode Specification:

Page 21: Clockless Logic

21

Example : Burst-Mode Synthesis

BA BR

AABAAR

AR

Y0

1

2

3

4

AR+/BR+

BA+/BR-

BA-/AA+

AR-/AA-

Burst-Mode Specification:Burst-Mode Implementation:

AR

BA