0% found this document useful (0 votes)
13 views38 pages

Asynchronous Circuit Design Insights

This document provides an overview of asynchronous circuit design. It begins by defining asynchronous circuits and their use of explicit handshakes rather than a global clock for synchronization. Several asynchronous design styles are discussed, including micropipelines. Motivations for asynchronous design include low power, robustness, and modularity. Key differences from synchronous design are mentioned, such as the need for hazard-free logic and dynamic timing analysis. The document discusses asynchronous logic building blocks like C-elements and bundled data signaling. It also covers topics like delay models, control specification, and testing challenges for asynchronous circuits.

Uploaded by

Prasanna Kumar
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views38 pages

Asynchronous Circuit Design Insights

This document provides an overview of asynchronous circuit design. It begins by defining asynchronous circuits and their use of explicit handshakes rather than a global clock for synchronization. Several asynchronous design styles are discussed, including micropipelines. Motivations for asynchronous design include low power, robustness, and modularity. Key differences from synchronous design are mentioned, such as the need for hazard-free logic and dynamic timing analysis. The document discusses asynchronous logic building blocks like C-elements and bundled data signaling. It also covers topics like delay models, control specification, and testing challenges for asynchronous circuits.

Uploaded by

Prasanna Kumar
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Bridging the gap between

asynchronous design
and designers
Hao Zheng

Outline
What is an asynchronous circuit ?
Asynchronous communication
Asynchronous design styles (Micropipelines)
Asynchronous logic building blocks
Control specification and implementation
Delay models and classes of async circuits
Why asynchronous circuits ?

Synchronous circuit

CL

CL

CL

CLK

Implicit (global) synchronization between blocks


Clock period > Max Delay (CL + R)
Time is an independent physical variable (quantity)
3

Asynchronous circuit
Ack
R

CL

CL

CL

Req

Explicit (local) synchronization:


Req / Ack handshakes
Time = events + quantity
4
Time does not exist if nothing happens (Aristotle)

Motivation for Asynchronous


Asynchronous design is often unavoidable:
Asynchronous interfaces, arbiters etc.
Modern clocking is multi-phase and distributed and
virtually asynchronous (cf. GALS next slide):
Mesachronous (clock travels together with data)
Local (possibly stretchable) clock generation
Robust asynchronous design flow is coming (e.g. VLSI
programming from Philips, NCL from Theseus Logic,
fine-grain pipelining from Fulcrum)

Motivation (Technology Aspects)


Low power
Automatic clock gating
Electromagnetic compatibility
No peak currents around clock edges
Security
No electro-magnetic difference between logical 0
and 1in dual rail code
Robustness
High immunity to technology and environment
variations (temperature, power supply, ...)

Motivation (Designers View)


Modularity for system-on-chip design
Plug-and-play interconnectivity
Average-case peformance
No worst-case delay synchronization
Many interfaces are asynchronous
Buses, networks, ...

Globally Async Locally Sync (GALS)


Asynchronous
World

Req1

Clocked Domain

CL

Req3

Ack3

Ack1
Req2
Ack2

Local CLK

Req4
Ack4

Async-to-sync Wrapper
8

Key Design Differences


Synchronous logic design:

proceeds without taking timing correctness


(hazards, signal ack-ing etc.) into account
Combinational logic and memory latches
(registers) are built separately
Static timing analysis of CL is sufficient to
determine the Max Delay (clock period)
Fixed set-up and hold conditions for latches

Key Design Differences


Asynchronous logic design:

Must ensure hazard-freedom, signal ack-ing, local


timing constraints
Combinational logic and memory latches (registers)
are often mixed in complex gates
Dynamic timing analysis of logic is needed to
determine relative delays between paths

To avoid complex issues, circuits may be built as


Delay-insensitive and/or Speed-independent
(Mallers theory vs Huffman asynchronous automata)

10

Verification and Testing Differences


Synchronous logic verification and testing:
Only functional correctness aspect is verified and
tested
Testing can be done with standard ATE and at low
speed
Asynchronous logic verification and testing:
In addition to functional correctness, temporal aspect
is crucial: e.g. causality and order, deadlock-freedom
Testing must cover faults in complex gates
(logic+memory) and must proceed at normal
operation rate
Delay fault testing may be needed
11

Synchronous communication

Clock edges determine the time instants where data


must be sampled
Data wires may glitch between clock edges (set-up/hold
times must be satisfied)
Data are transmitted at a fixed rate
(clock frequency)
12

Dual Rail
1

1
0

Two wires with L(low) and H (high) per bit


LL = spacer, LH = 0, HL = 1
n-bit data communication requires 2n wires
Each bit is self-timed
Other delay-insensitive codes exist (e.g. k-of-n) and
event-based signalling (choice criteria: pin and power
efficiency)
13

Bundled Data

Validity signal
Similar to an aperiodic local clock
n-bit data communication requires n+1 wires
Data wires may glitch when no validity signal.
Signaling protocols
level sensitive (latch)
transition sensitive (register): 2-phase / 4-phase
14

Example: Memory Read Cycle


Valid address
Address

Valid data
Data

Transition signaling, 4-phase

15

Example: Memory Read Cycle


Valid address
Address

Valid data
Data

Transition signaling, 2-phase

16

Asynchronous Modules
DATA
PATH

Data IN
start
req in
ack in

Data OUT
done

CONTROL

req out
ack out

Signaling protocol:
reqin+ start+ [computation] done+ reqout+ ackout+ ackin+
reqin- start[reset]
done- reqout- ackout- ackin(more concurrency is also possible)
17

Asynchronous Latches: C element


Vdd
A

A
C

Z
B

A
0
0
1
1

B
0
1
0
1

Z+
0
Z
Z
1

A
Static Logic
Implementation

[van Berkel 91]

Gnd
18

C-element: Other Implementations


Vdd

Vdd
A

Weak inverter
Z

Z
B

B
Dynamic

A
Gnd

Quasi-Static
Gnd
19

Dual-Rail Logic
A.t
B.t
A.f
B.f

C.t

Dual-rail AND gate


C.f

Valid behavior for monotonic environment

20

Completion Detection

Dual-rail
logic

done

Completion detection tree


21

Differential Cascode Voltage Switch Logic


start

Z.f

Z.t
done
A.t

C.f

B.f

A.f

B.t
C.t

N-type
transistor
network

start

3-input AND/NAND gate


22

Examples of Dual-Rail Design


Asynchronous dual-rail ripple-carry adder (A.
Martin, 1991)

Critical delay is proportional to logN (N=number of


bits)
32-bit adder delay (1.6m MOSIS CMOS): 11ns versus
40 ns for synchronous
Async cell transistor count = 34 versus synchronous =
28

More recent success stories (modularity and


automatic synthesis) of dual-rail logic from NullConvension Logic from Theseus Logic
23

Bundled-Data Logic Blocks

Single-rail logic

start

delay

done

Conventional logic + matched delay


24

Micropipelines (Sutherland 89)


Micropipeline (2-phase) control blocks
r1
d1

C
Join

sel
outf
in
outt
Select

Merge

out
in 0
out
1
Toggle

r2
d2
r1
a1
r2
a2

g1
g2

r
a

25

RequestGrant-Done
(RGD)Arbiter

Call

Micropipelines (Sutherland 89)


Aout

delay

Rin

delay

logic

logic

delay

logic

Ain

Rout
26

DataPath / Control

Rin
Aout

logic

logic

logic

Rout
Ain

CONTROL
Synthesis of control is a major challenge
27

Control specification
A+
B+
AB-

B
A input
B output

28

Control specification
A+
BB

A
AB+

29

Control specification
A+

B+
A

C+

C
A-

B-

C-

30

Control specification
A+

B+
C+
A-

A
C
B

BC-

31

Control Specification
Ri

FIFO
cntrl

Ao

Ri
Ao

Ro

Ri+

Ro+

Ao+

Ai+

Ri-

Ro-

Ao-

Ai-

Ai

Ro

Ai
32

Gate vs Wire delay models


Gate delay model: delays in gates, no delays in wires

Wire delay model: delays in gates and wires

33

Delay Models for Async. Circuits


Bounded delays (BD): realistic for gates and wires.

Technology mapping is easy, verification is


difficult

BD

Speed independent (SI): Unbounded (pessimistic)


delays for gates and negligible (optimistic) delays
for wires.

Technology mapping is more difficult,


verification is easy

DI
SI QDI

Delay insensitive (DI): Unbounded (pessimistic)


delays for gates and wires.

DI class (built out of basic gates) is almost empty


Quasi-delay insensitive (QDI): Delay insensitive
except for critical wire forks (isochronic forks).

In practice it is the same as speed independent


34

Environment models
Slow enough environment = Fundamental mode
(Inputs change AFTER system has settled)
Reactive environment = I/O mode
(Inputs may change once the first output changes)

35

Correctness of a Circuit wrt Delay


Assumptions
C-element: z = ab +zb + za

a
b

a
z

36

Resistance
Concurrent models for specification
CSP, Petri nets, ...: no more FSMs
Difficult to design
Hazards, synchronization
Complex timing analysis
Difficult to estimate performance
Difficult to test
No way to stop the clock

37

But ... some successful stories


Philips
AMULET microprocessors
Sharp
Intel (RAPPID)
Start-up companies:
Theseus logic, Fulcrum, Self-Timed
Solutions
Recent blurb: It's Time for Clockless Chips, by
Claire Tristram (MIT Technology Review, v.
104, no.8, October 2001:
[Link]
01/[Link]
)
.
38

You might also like