Part 1
Part 1
asynchronous design
and designers
1
Outline
1. Basic concepts on asynchronous circuit design
2. Logic synthesis from concurrent specifications
3. Design automation for asynchronous circuits
2
Basic concepts on
asynchronous circuit design
3
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 ?
4
Synchronous circuit
R CL R CL R CL R
CLK
R CL R CL R CL R
Req
7
Globally Async Locally Sync (GALS)
Req1 Req3
R CL R
Ack1 Ack3
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
9
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 (Maller’s theory vs Huffman
asynchronous automata)
10
Verification and Testing Differences
1 1 0 0 1 0
12
Dual rail
1 1 1
0 0 0
1 1 0 0 1 0
Validity signal
Similar to an aperiodic local clock
Signaling protocols
level sensitive (latch)
transition sensitive (register): 2-phase / 4-phase
14
Example: memory read cycle
Valid address
Address A A
Valid data
Data D D
15
Example: memory read cycle
Valid address
Address A A
Valid data
Data D D
16
Asynchronous modules
DATA
Data IN PATH Data OUT
start done
req in req out
ack in CONTROL 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 B
C Z
B
Z
B A
Z
A B Z+ B A
Z
0 0 0 Static Logic
0 1 Z Implementation
1 0 Z A B
[van Berkel 91]
1 1 1
Gnd
18
C-element: Other implementations
Vdd Vdd
A A
Weak inverter
B B
Z Z
B B
A Dynamic A Quasi-Static
Gnd Gnd
19
Dual-rail logic
A.t
C.t
B.t
Dual-rail AND gate
A.f
C.f
B.f
20
Completion detection
Dual-rail C done
logic
•
•
•
•
•
•
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 N-type
C.t
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
Null-Convension Logic from Theseus Logic
23
Bundled-data logic blocks
Single-rail logic
•
• •
• •
•
r1 g1
d1 Request-
C Grant-Done
Join r2 (RGD)Arbiter
Merge d2 g2
sel r1
outf out a1 r
in in 0 a
outt out r2 Call
1 a2
Select Toggle
25
Micropipelines (Sutherland 89)
Aout delay delay Ain
C C
C C
Rin delay Rout
26
Data-path / Control
Rin Rout
Aout CONTROL Ain
A+
A
B+
A- B
B- A input
B output
28
Control specification
A+
B-
A B
A-
B+
29
Control specification
A+ B+
A
C+
C C
A- B- B
C-
30
Control specification
A+ B+
A
C+
C C
A-
B
B-
C-
31
Control specification
Ri+ Ro+
Ri Ro
FIFO Ao+ Ai+
Ao
cntrl
Ai
Ri- Ro-
Ao- Ai-
Ri
C Ro
Ao C
Ai
32
Gate vs wire delay models
Gate delay model: delays in gates, no delays in 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. DI
Technology mapping is more difficult, verification
is easy
SI QDI
Delay insensitive (DI): Unbounded (pessimistic)
delays for gates and wires.
DI class (built out of basic gates) is almost empty
35
Correctness of a circuit wrt delay
assumptions
C-element: z = ab +zb + za
a
a
b
z b z
36
Motivation (designer’s 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, ...
37
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 ‘1’in dual rail code
Robustness
High immunity to technology and environment
variations (temperature, power supply, ...)
38
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
39
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:
http://www.technologyreview.com/magazine/oct01/t
ristram.asp
)
….
40