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
VLSI Programming of Asynchronous circuits for Low
Power
Kees van BerkelPhilips Research Lab.
Martin RemEindhoven University of Technology
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
Tangram: An ancient Chinese game that is also known as "the wisdom puzzle".
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.
Basic gate energy consumption:• A. Inverter: Einv=1 output =1 when input = 0
1
0
Basic gate energy consumption:• B. Nand: Enand=1
0
1 1
• C. And: Eand=2
Basic gate energy consumption:• D. Nor : Enor=1
1
0 0
• E. OR: Eor=2
Basic gate energy consumption:
• Another Or: Eor=1
• Another And: Eand=1
C
A
0
B
B
C
1
A
B
B
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
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
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
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
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
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
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)
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
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
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
Control Handshake Components• Parallel : Epar = ?
||b c
a
aa)ca);(cr;||ba)(br;*(ar;)c,b,PAR(a
Datapath Handshake Components• Handshake latch:
Lw r
W0
W1
Wa
Q
Q'
Q
Q'
read1
QA1
QA0
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
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
Datapath Handshake Components• 4-place ripple register: • n-place ripple register:
L r T c L
;*#
a T b
;*
wr
r wr
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
Datapath Handshake Components• Comparator:
• And Operation:
c a
c
b
& a
c
b
Handshake Circuit
• Addition:
* ;
i
r Ta
c L
r Tb
c L
+|| T c
Handshake Circuit
• Waggin FIFO:
#
* ;| |a b
r
wr
wr
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
Handshake Circuit: Optimization• Seq-Mixer reordering
r1
p1* ;
* ;
|
| p2
p1
p2;*|
r2
r1
r2