Reading1:

34
Reading1: An Introduction to Asynchronous Circuit Design Al Davis Steve Nowick University of Utah Columbia University

description

Reading1:. An Introduction to Asynchronous Circuit Design Al Davis Steve Nowick University of Utah Columbia University. Signaling Protocol. Signaling Protocol: communication protocol req: initiate an action ack: signal completion of that action. Sender. Receiver. req. ack. - PowerPoint PPT Presentation

Transcript of Reading1:

Page 1: Reading1:

Reading1:

An Introduction to Asynchronous Circuit Design

Al Davis Steve Nowick

University of Utah Columbia University

Page 2: Reading1:

Signaling Protocol

Sender Receiver

reqack

data

• Signaling Protocol: communication protocol

req: initiate an actionack: signal completion of that action

Page 3: Reading1:

Signaling Protocol

• Control signaling

1. Two-phase handshaking protocol2. Four-phase handshaking protocol

• Data signaling

1. Bundled Datawith two-phase, four-phase HPs

2. Dual-rail Datawith two-phase, four-phase HPs,

Page 4: Reading1:

Control Signaling Protocol

• Four-phase Handshaking protocol

• Level signaling or return to zeroSender Receiver

reqack

data

Page 5: Reading1:

Control Signaling Protocol

• Two-phase Handshaking protocol

• Transition signaling or Non-return to zero

Sender Receiverreq

ackdata

Page 6: Reading1:

Data Signaling Protocol

• Bundled Data Signaling

1. Similar to synchronous circuits 2. Measure maximum delay of each circuit piece

Com. Logic

Delay

A

BC Sender Receiver

reqack

data

a. Bundled data Computation b. Bundle Data transfer

3. Require n+2 wires

Page 7: Reading1:

Data Signaling Protocol

• Dual Rail Data signaling

1. Two wires per bit, encoded to show validity. 2. 00 = no data (spacer), 01 = 0, 10 = 1, 11 = error

Com. Logic

A

B

C

A1=0A0=0

A1=0A0=1

A1=1A0=0

A1=1A0=1

a. No data b. valid 0 c. valid 1 d. illegal

3. Require 2n wires

Register

Page 8: Reading1:

Signaling Protocol: EX

• Bundling Constraint VS Delay-Insensitive adders

Page 9: Reading1:

Completion Detection Circuits

• Self-timed component with completion detection circuit.

Ack: completion of dual-rail signalDoneReset=1: completion of computationDoneReset=0: completion of reset

Page 10: Reading1:

Classes of Asynchronous Circuits • Classification based on delay model: Gate and wire

1. Delay-insensitive (DI) circuits. 2. Quasi delay insensitive (quasi DI or QDI) circuits 3. Speed independent (SI) circuits 4. Self timed (ST)circuits

DIST QDI

Async

SI

Page 11: Reading1:

Delay-insensitive circuits

• Arbitrary (unbounded but finite) delays on gates and wires

• Most robust (reliable) circuits• Very small class (Martin)

Page 12: Reading1:

Quasi delay insensitive circuits

• Delay insensitive with isochronous forks• Delay in isochronous forks assumed to be similar

• Weakest compromise to pure delay-insensitivity needed to build practical circuits

forkAB

C

Page 13: Reading1:

Speed independent circuits

• Arbitrary delays on gates • Wires have no delay

• Introduced by David Muller in the 50’s

Page 14: Reading1:

Self timed circuits

• Communication between elements is delay insensitive

• Elements may be DI, QDI, SI or

well bounded

• Introduced by Seitz

Page 15: Reading1:

Hazards

• Hazards: unwanted glitches

0

1glitch

• Combinational and sequential Hazards

• May not be severe:

No inverter no hazard

Page 16: Reading1:

Combinational Hazards

• Static hazards:

• Dynamic hazards

0

1

0

1 1

0

Static 0 hazard Static 1 hazard

Page 17: Reading1:

Combinational Hazards

• Static Hazard in Single Input Change

Page 18: Reading1:

Combinational Hazards

• Static Hazard in Multiple Input Change

Page 19: Reading1:

Combinational Hazards

• Dynamic Hazard in Multiple Input Change

Page 20: Reading1:

Petri Net

• Petri Net :bipartite graphplaces (circle)transitions (bar)

Token (dot)

A

R1

B

If A is true then B is true

Page 21: Reading1:

Petri Net

A

R1

C

• Input places of a transition:• Output places of a transition:• Transition enable: all conditions of a transition

are true• Transition fire: removes the tokens from the input

places and insert tokens to output places

B A

R1

C

B

Transition Firing

Page 22: Reading1:

Petri Net: (Interface Net)

• C-element X

Y

Z

Page 23: Reading1:

Petri Net

• Arbiter

Page 24: Reading1:

Petri Net: I-Net

• I-Net describes the allowed interface behavior• I-Net ==> ISG (Interface State Graph)

(finite state machine)

X

YZ

X

Y1

2 3

4

Page 25: Reading1:

Petri Net:

X+

Z+

Y+

• ISG ==> Encoded ISG

X-Y-

X+Y+

Z-

X- Y-

000

100 010

110

111

011101

001

00 01 11 100 0 0 1 01 0 1 1 1

XY

Z

Page 26: Reading1:

Translation Method:

Wire prefix*[a?;b!]

Toggle prefix*[a?;b!;a?;c!]

C-element prefix*[a?||b?;c!]

Merge prefix*[a?|b?;c!]

• Basic DI Elements:

Page 27: Reading1:

Translation Method:

• Operators:

? an input to the wire! an output of the wire; concatenation * repetition | choice|| weavepref prefix-closure operator

Page 28: Reading1:

Modulo-3 Counter

MOD3=prefix*[a?;q!;a?;q!;a?;p!]

Page 29: Reading1:

Tangram

• Compiler-based approach by van Berkel at Philips Research Laboratories and Eindhoven University of Technology

• Tangram: based on CSP, is a specification language for concurrent systems.

• A Tangram program for a 1 place buffer, BUF1: (a?W&b!W ) * | [x : var W | #[a?x; b!x]] |

Page 30: Reading1:

Tangram

•A Tangram program for a 1 place buffer, BUF1: (a?W & b!W ) * | [x : var W | #[a?x; b!x]] |

• Interface: • an input port, a, • an output port, b, • data type, W

• command [x : var W | #[a?x; b!x]] x is local variable ; : sequencing # : infinite repetition T : transfer

go

Page 31: Reading1:

Tangram: Buf1

• Channel (arc): c, d, e, wx, rx, a, b• A channel has two ports

• Active port: black dot • initiates a request

• Passive port: white dot• returns an acknowledgment

• Buf1: • data is received on port a• stored in internal variable x; • data is then sent out on port b.

Page 32: Reading1:

Tangram:

• Buf2=(a?W&c!W )*| [b:chan W|(BUF1 (a; b) || BUF2 (b; c))] |• New command

• ||:parallel composition• .:synchronizer

• Major goal of Tangram• rapid turnaround time• low power implementation.

• portable electronics:• an error corrector for a digital compact cassette player • counters, decoders, • image generators

Page 33: Reading1:

Micropipeline

4-stage pipeline

Page 34: Reading1:

Micropipeline