29
VLSI Programming of Asynchronous circuits for Low Power Kees van Berkel Philips Research Lab. Martin Rem Eindhoven University of Technology

VLSI Programming of Asynchronous circuits for Low Power

  • Upload
    amadis

  • View
    38

  • Download
    0

Embed Size (px)

DESCRIPTION

VLSI Programming of Asynchronous circuits for Low Power. Kees van Berkel Philips Research Lab. Martin Rem Eindhoven University of Technology. Tangram:. Tool name: Tangram CMOS dissipates when active The power consumption = the amount of activity. Energy consumption: - PowerPoint PPT Presentation

Citation preview

Page 1: VLSI Programming of  Asynchronous circuits for Low Power

VLSI Programming of Asynchronous circuits for Low

Power

Kees van BerkelPhilips Research Lab.

Martin RemEindhoven University of Technology

Page 2: VLSI Programming of  Asynchronous circuits for Low Power

Tangram:

• Tool name: Tangram• CMOS dissipates when active• The power consumption = the amount of activity.• Energy consumption:

• To reduce the energy consumption of ICs: A. reduce the energy consumption per transition B. reduce the number of transitions

voltage supply :Vdd

ecapacitanc load average the :C

i gate of capcitance load the :Ci

i gate on stransitionoutput of # :Ni where

L

i

Li

NiVddCCiVddNi 22

2

1

2

1

Page 3: VLSI Programming of  Asynchronous circuits for Low Power

Tangram: An ancient Chinese game that is also known as "the wisdom puzzle".

Page 4: VLSI Programming of  Asynchronous circuits for Low Power

Tangram:

• Tangram programs contain 4-p HS components.• Think two-phase build four-phase• HS components are connected through channels• Channel has two ports. A. active port (signal a request). B. passive port (respond an ack).• Channel has two wires: Xreq and Xack.• Note that for CMOS

0-->1 consume power (charge capacitance).1-->0 discharge the capacitance.

Page 5: VLSI Programming of  Asynchronous circuits for Low Power

Basic gate energy consumption:• A. Inverter: Einv=1 output =1 when input = 0

1

0

Page 6: VLSI Programming of  Asynchronous circuits for Low Power

Basic gate energy consumption:• B. Nand: Enand=1

0

1 1

• C. And: Eand=2

Page 7: VLSI Programming of  Asynchronous circuits for Low Power

Basic gate energy consumption:• D. Nor : Enor=1

1

0 0

• E. OR: Eor=2

Page 8: VLSI Programming of  Asynchronous circuits for Low Power

Basic gate energy consumption:

• Another Or: Eor=1

• Another And: Eand=1

C

A

0

B

B

C

1

A

B

B

Page 9: VLSI Programming of  Asynchronous circuits for Low Power

Basic gate energy consumption:• E: Xor: Exor=2

1

0 0

1

A

A'

B

B'

CA

B'

A'

BA A'

B B'

C

B'

B

A

A

B B'

• F: Xor: Exor=1.5

C=1 if A=1 and B=0 or A=0 B=1

Page 10: VLSI Programming of  Asynchronous circuits for Low Power

Basic gate energy consumption:• G: Xnor: Exnor=2

1

0 0

1

A

A'

B

B'

CA

B'

A'

B

A A'

B B'C

B

B'

A

A

B B'

• Xnor: Exnor=1.5

Page 11: VLSI Programming of  Asynchronous circuits for Low Power

Basic gate energy consumption:• C-element: Ec=3

1

0

weak

• another C-element: Ec=2

1

0 0

11

A A

AA

C

B

C

B

B

B

C

Page 12: VLSI Programming of  Asynchronous circuits for Low Power

Control Handshake Components• repeater: control the unbounded repetition of an action.

• Sequencer: control the sequential execution of two actions

• mixer: provide access to a shared resource to two parties

#a b

;*ac

b

| cb

a

Active portpassive port

Page 13: VLSI Programming of  Asynchronous circuits for Low Power

Control Handshake Components• repeater: Erep=2

• initial x=1 A. ar+ ==>x- (inv- +1) ==> br+ (nor+ 1) B. ba+ ==> br- (nor- 1) C. ba- ==> br+ (nor+ 1) D. ba+ ==> br- (nor- 1)• C and D loop forever.

xar

b r

aa ba

#a b

Active portpassive port

Page 14: VLSI Programming of  Asynchronous circuits for Low Power

Control Handshake Components• sequencer: Eseq=10

xy

ba

1

0

1

0ar

ar b r

c r

c aaa

ar

ba

ba

• initial x=1 y=0 A. ar+ ==> br+ (and+ 2) B. ba+ ==> x=0 y=1 (invX- invY+ 2) ==> br- (and- 2) C. ba- ==> cr+ (nor+ 1) D. ca+ ==> aa+ E. ar- ==> x=1 y=0 (invX+ invY- 2) ==> cr- (nor- 1) F. ca- ==> aa-

;*ac

b

Page 15: VLSI Programming of  Asynchronous circuits for Low Power

Control Handshake Components• mixer (call element): Emix= Ecall= 8

| cb

a C

C

aa

ba

arb r

c a

c r

c a• all variables are zero: A. ar+ ==> cr+ (or+ 2) B. ca+ ==> aa+ (c-ele+ 2) C. ar- ==> cr- (or- 2) D. ca- ==> aa- (c-ele- 2)

Page 16: VLSI Programming of  Asynchronous circuits for Low Power

Control Handshake Components• duplicator: Edup= Eseq + 2Emix =26

• -fold repeater: E2m= Edup

#2 a1a0 ;*a0 | a1

m2

#2 m ama0

#2a1a0 #2

a2 #2 am

am-1

m2

Page 17: VLSI Programming of  Asynchronous circuits for Low Power

Control Handshake Components• N-fold repeater: A. N=1 : wire

B. N is even: N=2*(N/2)

C. N is odd: N=1+(N-1)

aa

b rar

ba

;*a | bn/2

;*a | bn -1

Page 18: VLSI Programming of  Asynchronous circuits for Low Power

Control Handshake Components• select: Esel = ? (hw)

[l]b c

a

ed

L

C

C;*a

r2

b r

d r

r1 w bw d

w a

a1

er

c r

c aeaa2

ba

da

Page 19: VLSI Programming of  Asynchronous circuits for Low Power

Control Handshake Components• Parallel : Epar = ?

||b c

a

aa)ca);(cr;||ba)(br;*(ar;)c,b,PAR(a

Page 20: VLSI Programming of  Asynchronous circuits for Low Power

Datapath Handshake Components• Handshake latch:

Lw r

W0

W1

Wa

Q

Q'

Q

Q'

read1

QA1

QA0

Page 21: VLSI Programming of  Asynchronous circuits for Low Power

Datapath Handshake Components• Transfer: Etran=0

Tb c

a

b1

c 0b0

c 1

c ab r

ar aa

• Simple assignment: Eass=no of bits*(Eread+Ewrite)

Ly.w r Ty.r

c

a

Lx.w

x.r

Page 22: VLSI Programming of  Asynchronous circuits for Low Power

Datapath Handshake Components• 2-place ripple register: Tangram Program: proc (a?W & b!W)

beginx0,x1: var W

| forever do b!x1; x1:=x0;a?x0end

L r T c L

;*#

Ta T b

;*

x0 x1

r wr

Page 23: VLSI Programming of  Asynchronous circuits for Low Power

Datapath Handshake Components• 4-place ripple register: • n-place ripple register:

L r T c L

;*#

a T b

;*

wr

r wr

Page 24: VLSI Programming of  Asynchronous circuits for Low Power

Datapath Handshake Components• Adder:

+ a

c

b

|]

y))aa(xca(y));cr;||ba(x)(br;*(ar;|

Tc:y Tb, :[x|

?Tc)c?Tb,bTa,!ADD(a

Page 25: VLSI Programming of  Asynchronous circuits for Low Power

Datapath Handshake Components• Comparator:

• And Operation:

c a

c

b

& a

c

b

Page 26: VLSI Programming of  Asynchronous circuits for Low Power

Handshake Circuit

• Addition:

* ;

i

r Ta

c L

r Tb

c L

+|| T c

Page 27: VLSI Programming of  Asynchronous circuits for Low Power

Handshake Circuit

• Waggin FIFO:

#

* ;| |a b

r

wr

wr

Page 28: VLSI Programming of  Asynchronous circuits for Low Power

Handshake Circuit: Optimization• Mixer: C

C

aa

ba

arb r

c a

c r

c a

C

C

aa

ba

arb r

+

+

c a

c r

c a

ar+ ==> ca+ar- ==> ca-

Asymmetric C-element 1

0

weakca

ca

ar

aa

Page 29: VLSI Programming of  Asynchronous circuits for Low Power

Handshake Circuit: Optimization• Seq-Mixer reordering

r1

p1* ;

* ;

|

| p2

p1

p2;*|

r2

r1

r2