Download Lecture 8

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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:  Ni 1CiVdd  1 C Vdd  Ni
2
2
2
2
L
i
i
where Ni : # of output transition s on gate i
Ci : the load capcitance of gate i
C L : the average load capacitanc e
Vdd : supply voltage
• To reduce the energy consumption of ICs:
A. reduce the energy consumption per transition
B. reduce the number of transitions
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
1
0
1
• C. And: Eand=2
Basic gate energy
consumption:
• D. Nor : Enor=1
1
0
0
• E. OR: Eor=2
Basic gate energy
consumption:
B
• Another And: Eand=1
A
B
C
0
• Another Or: Eor=1
B
1
B
A
C
Basic gate energy
consumption:
• E: Xor: Exor=2
• F: Xor: Exor=1.5
1
1
A
A'
A
B'
A
B
A'
B'
B'
A
B
C
C
B
A'
A
B
B
B'
0
0
C=1 if A=1 and B=0 or A=0 B=1
B'
Basic gate energy
consumption:
• Xnor: Exnor=1.5
• G: Xnor: Exnor=2
1
1
A
B
A'
B'
A
A'
B
B'
A
B
A
C
A
A'
B'
B'
B
0
C
B
0
B'
Basic gate energy
consumption:
• C-element: Ec=3
• another C-element: Ec=2
1
weak
A
1
1
B
A
C
1
B
C
A
B
C
0
A
B
0
0
Control Handshake
Components
• repeater: control the
a
unbounded repetition of an action.
b
#
passive port Active port
• Sequencer: control the sequential
execution of two actions
b
;*
a
• mixer: provide access to a shared
resource to two parties
a
c
|
b
c
Control Handshake
Components
aa
• repeater: Erep=2
a
#
passive port
b
ba
ar
x
Active port
• 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.
br
Control Handshake
Components
• sequencer: Eseq=10 ba
b
a
;*
c
• initial x=1 y=0
1
1
x
y
ar
ar
ba
ar
br
ba
0
cr
0
aa
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-
ca
Control Handshake
Components
• mixer (call element): Emix= Ecall= 8
aa
C
a
|
c a
r
br
b
ba
C
• 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)
ca
cr
ca
Control Handshake
Components
• duplicator: Edup= Eseq + 2Emix =26
a0
#2
a1
;*
a0
|
a1
• 2 m -fold repeater: E2m= 2 m Edup
a0
a0
#2m
#2
am
a1
#2
a2
am-1
#2
am
Control Handshake
Components
• N-fold repeater:
A. N=1 : wire
B. N is even:
N=2*(N/2)
ar
br
aa
ba
a
;*
C. N is odd:
N=1+(N-1)
a
|
;*
|
n-1
b
n/2
b
Control Handshake
Components
• select: Esel = ? (hw)
a
b
d
c
e
[l]
wa
a1
br
ba
C
r1
a
;*
C
dr
da
r2
a2
wb
wd
L
cr
er
ca
ea
Control Handshake
Components
• Parallel : Epar = ?


PAR(a , b , c )  *(ar; (br; ba) || (cr; ca); aa)

a
b
||
c
Datapath Handshake
Components
• Handshake latch:
w
L
r
W0
Q
Q
Wa
read1
Q'
W1
QA1
Q'
QA0
Datapath Handshake
Components
ar aa
• Transfer: Etran=0
a
b
c
T
br
ca
b0
c0
b1
c1
• Simple assignment: Eass=no of bits*(Eread+Ewrite)
a
y.w
L
y.r
r
T
x.w
cL
x.r
Datapath Handshake
Components
• 2-place ripple register:
Tangram Program: proc (a?W & b!W)
r wr
begin
x0,x1: var W
|
forever do b!x1; x1:=x0;a?x0
end
#
;*
;*
x0
a
T
L
x1
r
T
c
L
T
b
Datapath Handshake
Components
• 4-place ripple register:
• n-place ripple register:
a
#
;*
wr
L
r wr
;*
r
T
c
L
T
b
Datapath Handshake
Components
• Adder:
ADD(a  ! Ta, b ?Tb, c ?Tc) 
| [x : Tb, y : Tc
| *(ar; (br; ba(x) || cr; ca(y)); aa(x  y))
]|
b
+
c
a
Datapath Handshake
Components
• Comparator:
b
c
a
&
a
c
• And Operation:
b
c
Handshake Circuit
i
• Addition:
*;
a
r
c
T
L
+
||
b
r
T
c
L
T
c
Handshake Circuit
• Waggin FIFO:
#
wr
a
|
|
*;
r wr
b
Handshake Circuit:
Optimization
• Mixer:
ar+ ==> ca+
ar- ==> ca-
aa
ar
br
ca
ca
aa
ar
br
ar
0
C
ca
C
+
ca
weak
aa
ca
cr
Asymmetric C-element ba
1
C
ba
+
C
cr
ca
Handshake Circuit:
Optimization
• Seq-Mixer
reordering
r1
*;
|
p1
|
p2
r2
*;
r1
|
r2
;*
p1
p2
Related documents