Introduction to asynchronous circuit design specification and synthesis
This presentation is the property of its rightful owner.
Sponsored Links
1 / 38

Introduction to asynchronous circuit design: specification and synthesis PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on
  • Presentation posted in: General

Introduction to asynchronous circuit design: specification and synthesis. Jordi Cortadella, Universitat Politècnica de Catalunya, Spain Michael Kishinevsky, Intel Corporation, USA Alex Kondratyev, Theseus Logic, USA Luciano Lavagno, Università di Udine, Italy. Outline.

Download Presentation

Introduction to asynchronous circuit design: specification and synthesis

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Introduction to asynchronous circuit design specification and synthesis

Introduction to asynchronous circuit design:specification and synthesis

Jordi Cortadella, Universitat Politècnica de Catalunya, Spain

Michael Kishinevsky, Intel Corporation, USA

Alex Kondratyev, Theseus Logic, USA

Luciano Lavagno, Università di Udine, Italy


Outline

Outline

  • I: Introduction to basic concepts onasynchronous design

  • II: Synthesis of control circuits from STGs

  • III: Advanced topics on synthesis of controlcircuits from STGs

  • IV: Synthesis from HDL and other synthesis paradigmsNote: no references in the tutorial


Introduction to asynchronous circuit design specification and synthesis1

Introduction toasynchronous circuit design: specification and synthesis

Part I:

Introduction to basic concepts on asynchronous circuit design


Outline1

Outline

  • What is an asynchronous circuit ?

  • Asynchronous communication

  • Asynchronous logic blocks

  • Micropipelines

  • Control specification and implementation

  • Delay models

  • Why asynchronous circuits ?


Synchronous circuit

Synchronous circuit

R

CL

R

CL

R

CL

R

CLK

Implicit synchronization


Asynchronous circuit

Asynchronous circuit

Ack

R

CL

R

CL

R

CL

R

Req

Explicit synchronization: Req/Ack handshakes


Synchronous communication

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)

1

1

0

0

1

0


Dual rail

Dual rail

  • Two wires per bit

    • “00” = spacer, “01” = 0, “10” = 1

  • n-bit data communication requires 2n wires

  • Each bit is self-timed

  • Other delay-insensitive codes exist

1

1

1

0

0

0


Bundled data

Bundled data

  • Validity signal

    • Similar to an aperiodic local clock

  • n-bit data communication requires n+1 wires

  • Data wires may glitch when no valid

  • Signaling protocols

    • level sensitive (latch)

    • transition sensitive (register): 2-phase / 4-phase

1

1

0

0

1

0


Example memory read cycle

Example: memory read cycle

  • Transition signaling, 4-phase

Valid address

Address

A

A

Valid data

Data

D

D


Example memory read cycle1

Example: memory read cycle

  • Transition signaling, 2-phase

Valid address

Address

A

A

Valid data

Data

D

D


Asynchronous modules

Asynchronous modules

  • Signaling protocol:reqin+ start+ [computation] done+ reqout+ ackout+ ackin+reqin- start- [reset] done- reqout- ackout- ackin-(more concurrency is also possible, e.g. by overlapping the return-to-zero phase of step i-1 with the evaluation phase of step i)

DATA

PATH

Data IN

Data OUT

start

done

req in

req out

CONTROL

ack in

ack out


Asynchronous latches c element

A

C

Z

B

A B Z+

0 0 0

0 1 Z

1 0 Z

1 1 1

Asynchronous latches: C element

Vdd

A

B

Z

B

A

Z

B

A

Z

A

B

Gnd


Dual rail logic

A.t

C.t

B.t

A.f

C.f

B.f

Dual-rail logic

Dual-rail AND gate

Valid behavior for monotonic environment


Completion detection

C

done

Completion detection tree

Completion detection


Differential cascode voltage switch logic

Differential cascode voltage switch logic

start

Z.f

Z.t

done

A.t

C.f

B.f

A.f

B.t

C.t

start

3-input AND/NAND gate


Bundled data logic blocks

Bundled-data logic blocks

logic

start

done

delay

Conventional logic + matched delay


Micropipelines sutherland 89

C

C

C

delay

delay

delay

Micropipelines (Sutherland 89)

Aout

Ain

C

L

logic

L

logic

L

logic

L

Rin

Rout


Data path control

Data-path / Control

L

logic

L

logic

L

logic

L

Rin

Rout

CONTROL

Ain

Aout


Control specification

Control specification

A+

A

B+

B

A-

A input

B output

B-


Control specification1

Control specification

A+

B+

B

A

A-

B-


Control specification2

Control specification

A+

B-

B

A

A-

B+


Control specification3

C

Control specification

A+

B+

A

C+

C

B

A-

B-

C-


Control specification4

C

Control specification

A+

B+

A

C+

C

A-

B

B-

C-


Control specification5

Ro+

Ri+

Ri

Ro

FIFO

cntrl

Ao+

Ai+

Ao

Ai

Ro-

Ri-

C

C

Ai-

Ao-

Ri

Ro

Ao

Ai

Control specification


A simple filter specification

A simple filter: specification

IN

Ain

Rin

y := 0;

loop

x := READ (IN);

WRITE (OUT, (x+y)/2);

y := x;

end loop

filter

Aout

Rout

OUT


A simple filter block diagram

+

OUT

x

y

IN

Ry

Ay

Rx

Ax

Ra

Aa

Rin

Rout

control

Ain

Aout

A simple filter: block diagram

  • x and y are level-sensitive latches (transparent when R=1)

  • + is a bundled-data adder (matched delay between Ra and Aa)

  • Rin indicates the validity of IN

  • After Ain+ the environment is allowed to change IN

  • (Rout,Aout) control a level-sensitive latch at the output


A simple filter control spec

+

OUT

x

y

IN

Ry

Ay

Rx

Ax

Ra

Aa

Rin

Rout

control

Ain

Aout

Rout+

Ra+

Ry+

Rx+

Rin+

Aout+

Aa+

Ay+

Ax+

Ain+

Rout-

Ra-

Ry-

Rx-

Rin-

Aout-

Aa-

Ay-

Ax-

Ain-

A simple filter: control spec.


A simple filter control impl

Rx

Ax

Aa

Ry

Ra

Ay

Aout

C

Ain

Rout

Rin

Rout+

Ra+

Ry+

Rx+

Rin+

Aout+

Aa+

Ay+

Ax+

Ain+

Rout-

Ra-

Ry-

Rx-

Rin-

Aout-

Aa-

Ay-

Ax-

Ain-

A simple filter: control impl.


Control observable behavior

Rx

Ax

Aa

Ry

Ra

Ay

Aout

C

Ain

Rout

Rin

Ra-

Aa-

Ain+

Rin-

Control: observable behavior

z

Ain-

Rin+

Rx+

Ry-

z-

Ax-

Rx-

Ay+

Ay-

Ax+

Ra+

Aa+

Rout+

Aout+

z+

Rout-

Aout-

Ry+


Taking delays into account

x’

z+

x-

x

y

z’

z

x+

y+

z-

y-

Taking delays into account

  • Delay assumptions:

    • Environment: 3 times units

    • Gates: 1 time unit

events: x+  x’-  y+  z+  z’-  x-  x’+  z-  z’+  y- 

time: 3 4 5 6 7 9 10 12 13 14


Taking delays into account1

z+

x-

x+

y+

z-

y-

Taking delays into account

x’

x

y

z’

z

very slow

Delay assumptions: unbounded delays

events: x+  x’-  y+  z+  x-  x’+  y-

failure !

time: 3 4 5 6 9 10 11


Gate vs wire delay models

Gate vs wire delay models

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

  • Wire delay model: delays in gates and wires


Delay models for async circuits

DI

Delay models for async. circuits

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

    • Technology mapping is easy, verification is difficult

  • Speed independent (SI): Unbounded (pessimistic) delays for gates and “negligible” (optimistic) delays for wires.

    • Technology mapping is more difficult, verification is easy

  • 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).

    • Formally, it is the same as speed independent

    • In practice, different synthesis strategies are used

BD

SI  QDI


Motivation designer s view

Motivation (designer’s view)

  • Modularity

    • Plug-and-play interconnectivity

  • Reusability

    • IPs with abstract timing behaviors

  • High peformance

    • Average-case performance (no worst-case delay synchronization)

    • No clock skew (local timing assumptions)

  • Many interfaces are asynchronous

    • Buses, networks, ...


Motivation technology aspects

Motivation (technology aspects)

  • Low power

    • Automatic clock gating

  • Electromagnetic compatibility

    • No peak currents around clock edges

  • Robustness

    • High immunity to technology and environment variations (in-die variations, temperature, power supply, ...)


Dissuasion

Dissuasion

  • 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


But some successful stories

But ... some successful stories

  • Philips

  • AMULET microprocessors

  • Sharp

  • Intel (RAPPID)

  • IBM (interlocked pipeline)

  • Start-up companies:

    • Theseus Logic, Cogency

  • ...


  • Login