If you cannot read the line above, consider moving closer to the - - PDF document

if you cannot read the line above consider moving closer
SMART_READER_LITE
LIVE PREVIEW

If you cannot read the line above, consider moving closer to the - - PDF document

10/28/11 Self-Timed Circuits Ivan Sutherland Portland State University ivans@cecs.pdx.edu Asynchronous Research Center Portland State University October 2011 Offering freedom from the tyranny of the clock FMCAD tutorial Asynchronous Research


slide-1
SLIDE 1

10/28/11 Fleet, Infinity & Marina 1

Offering freedom from the tyranny of the clock

Self-Timed Circuits

Ivan Sutherland Portland State University ivans@cecs.pdx.edu

Asynchronous Research Center

Portland State University

October 2011

October 30, 2011 Slide 2 Asynchronous Research Center FMCAD tutorial

Calibration

  • This font size appears in the slides
  • If you cannot read

the line above, consider moving closer to the screen

slide-2
SLIDE 2

10/28/11 Fleet, Infinity & Marina 2

October 30, 2011 Slide 3 Asynchronous Research Center FMCAD tutorial

About the ARC at Portland State

  • People

> Marly Roncken (ex Philips & Intel) now PSU – CS Dept. > Ivan Sutherland (ex Sun) now PSU – ECE Dept. > Willem Mallon (ex Philips & NXP) now PSU – CS Dept.

  • Sponsorship

> College of Engineering, PSU > Oracle > DARPA > Seeking additional sponsors

October 30, 2011 Slide 4 Asynchronous Research Center FMCAD tutorial

Outline

  • Kinetic Learning Activity (KLA)
  • Pipelines
  • Control protocols
  • Performance & Logical Effort
  • Data formats
  • Gate models

> semi modular versus inertial delay

slide-3
SLIDE 3

10/28/11 Fleet, Infinity & Marina 3

October 30, 2011 Slide 5 Asynchronous Research Center FMCAD tutorial

KLA rules

  • Predecessor and successor
  • Use only one hand
  • Pred has object AND you don’t
  • Take from predecessor
  • NEVER PUT to successor

October 30, 2011 Slide 6 Asynchronous Research Center FMCAD tutorial

Pipeline action

  • Conditions for action

> predecessor proffers data > successor has space

  • Three part atomic action:

> copy data > make successor FULL > make predecessor EMPTY

slide-4
SLIDE 4

10/28/11 Fleet, Infinity & Marina 4

October 30, 2011 Slide 7 Asynchronous Research Center FMCAD tutorial

Pipeline is:

  • Logic stage “L”
  • Wires “w”
  • w L w L w L w L w L w L w
  • Wires may hold data (or not)

October 30, 2011 Slide 8 Asynchronous Research Center FMCAD tutorial

Control protocols

  • Single wire (GasP)

> HI = data valid = FULL

  • Two wires – four phase

> request HI = data valid > acknowledge HI = data accepted

  • Two wires – two phase NRZ

> differ = data valid = FULL > double data rate (DDR)

slide-5
SLIDE 5

10/28/11 Fleet, Infinity & Marina 5

October 30, 2011 Slide 9 Asynchronous Research Center FMCAD tutorial

6-4 GasP circuit

  • Single control wire plus data

> HI is FULL convention > bundled data

> control wire is bidirectional

  • Least logical effort => fastest

> forward latency = 6 > reverse latency = 4

  • Normally opaque data latches

October 30, 2011 Slide 10 Asynchronous Research Center FMCAD tutorial

GasP circuit diagram

slide-6
SLIDE 6

10/28/11 Fleet, Infinity & Marina 6

October 30, 2011 Slide 11 Asynchronous Research Center FMCAD tutorial

Charlie box

  • Two wires between stages

> differ = FULL > bundled data > acknowledge after capture

  • Fast in forward direction

> forward = 2 via one latch > reverse = 4 via XOR + latch

  • Normally transparent data latches

October 30, 2011 Slide 12 Asynchronous Research Center FMCAD tutorial

Charlie box circuit diagram

slide-7
SLIDE 7

10/28/11 Fleet, Infinity & Marina 7

October 30, 2011 Slide 13 Asynchronous Research Center FMCAD tutorial

Pipeline essentials

  • One AND function

> pred FULL and succ EMPTY

  • Data captured in latches or flip flops
  • Some relative timing assumptions
  • Compare with source clocking

October 30, 2011 Slide 14 Asynchronous Research Center FMCAD tutorial

Source and sink clocking

  • Source clocking

> clock moves forward with data

  • Sink clocking

> clock moves back with space

slide-8
SLIDE 8

10/28/11 Fleet, Infinity & Marina 8

October 30, 2011 Slide 15 Asynchronous Research Center FMCAD tutorial

Canopy graph

  • Throughput versus occupancy

> throughput in items/time: GDI/s > occupancy in items/length

  • Maximum throughput
  • Elastic = variable occupancy

> can insert if not full > can withdraw if not empty

October 30, 2011 Slide 16 Asynchronous Research Center FMCAD tutorial

Throughput vs Occupancy for ring of 11 stages

slide-9
SLIDE 9

10/28/11 Fleet, Infinity & Marina 9

October 30, 2011 Slide 17 Asynchronous Research Center FMCAD tutorial

Infinity test

M

  • ut

in0 in1

B

in

  • ut0
  • ut1

M F I F O B F I F O F I F O Demand Merge Data-directed Branch

October 30, 2011 Slide 18 Asynchronous Research Center FMCAD tutorial

Infinity: Throughput vs Occupancy

slide-10
SLIDE 10

10/28/11 Fleet, Infinity & Marina 10

October 30, 2011 Slide 19 Asynchronous Research Center FMCAD tutorial

Mutual exclusion

  • Two events at “same” time

> which choice doesn’t matter > but choice must be clean

  • Flip flop can hang metastable

> exit is Poisson distributed > may take a long time, but rarely will

  • Asynchronous system can wait

October 30, 2011 Slide 20 Asynchronous Research Center FMCAD tutorial

Continental divide

slide-11
SLIDE 11

10/28/11 Fleet, Infinity & Marina 11

October 30, 2011 Slide 21 Asynchronous Research Center FMCAD tutorial

Mutual exclusion (Seitz)

October 30, 2011 Slide 22 Asynchronous Research Center FMCAD tutorial

Blend control with data

  • Two wires per bit (like domino)

> LO + LO = invalid > LO + HI = one > HI + LO = zero

  • Plus one acknowledge wire

> four-phase, NRZ, or single track > Fulcrum – four phase 18 FO4 cycle

slide-12
SLIDE 12

10/28/11 Fleet, Infinity & Marina 12

October 30, 2011 Slide 23 Asynchronous Research Center FMCAD tutorial

Validation issues

  • Loops in each pipeline stage

> interlocked with AND functions > may not have latches or flip flops > hard to verify with conventional tools

  • Slope and delay model

> slope converges quickly > delay converges if slope is known > not available in conventional tools

October 30, 2011 Slide 24 Asynchronous Research Center FMCAD tutorial

Global state

  • Is an unnecessary fiction
  • Handshakes isolate local actions
  • Transactions are what matters
  • Pipelines are easy to think about

> local transactions tell all > avoid state explosion > painless concurrency

slide-13
SLIDE 13

10/28/11 Fleet, Infinity & Marina 13

October 30, 2011 Slide 25 Asynchronous Research Center FMCAD tutorial

Fork and join pipes

  • Fork sends same data both ways
  • Join combines two data inputs
  • Fork and joint parallel pipelines

> storage capacity of the shorter > latency of the slower > slack matching avoids

  • excess storage
  • excess latency

October 30, 2011 Slide 26 Asynchronous Research Center FMCAD tutorial

Unique verification tasks

  • Combinational Loops
  • Slack matching
  • Working with local state
  • Deadlock

> wormhole networks OK if no loops > other cases?

slide-14
SLIDE 14

10/28/11 Fleet, Infinity & Marina 14

October 30, 2011 Slide 27 Asynchronous Research Center FMCAD tutorial

Discussion