eecs 452 { lecture 4 - university of michigan 452 { lecture 4 today: gate level arithmetic...
TRANSCRIPT
![Page 1: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/1.jpg)
EECS 452 – Lecture 4
Today: Gate level arithmeticSequential logic
Announcements: Lab 2 starts next week.Pre-project ideas are due today by 11:55PM.PPI Comment period: Sat 6PM to Wed. 11:55PMHwk 2 due at beginning of class next week
Project teaming meeting: Next thurs 7-9PM Dow 3150
Last one out should close the lab door!!!!
Please keep the lab clean and organized.
Computers are good at following instructions, but not at reading your mind.
– D. Knuth
EECS 452 – Fall 2014 Lecture 4 – Page 1/47 Thur – 9/11/2014
![Page 2: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/2.jpg)
Arithmetic at the signal/bit level
We have
I introduced the two’s complement number representation.
I discussed sign extension.
I discussed overflow.
I commented on 2’s complement overflow robustness.
Next we look in more detail at implementing addition, subtractionand multiplication using basic gates. This sets the stage for doingarithmetic in an FPGA like the DE2-70.
EECS 452 – Fall 2014 Lecture 4 – Page 2/47 Thur – 9/11/2014
![Page 3: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/3.jpg)
Binary addition
Consider adding two 8-bit values a and b
a7 a6 a5 a4 a3 a2 a1 a0
+ b7 b6 b5 b4 b3 b2 b1 b0 .
For each bit position we form the sum of the two bits in thatposition and add in any carry from the previous (lower index) bitposition. The carry into position 1 is 0.
c7 c6 c5 c4 c3 c2 c1 c0 0
a7 a6 a5 a4 a3 a2 a1 a0
+ b7 b6 b5 b4 b3 b2 b1 b0
c7 s7 s6 s5 s4 s3 s2 s1 s0
EECS 452 – Fall 2014 Lecture 4 – Page 3/47 Thur – 9/11/2014
![Page 4: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/4.jpg)
Single bit binary addition
Matrix form of input/output map for 1-bit adder
a× b 0 1
0 0 1
1 1 0
EECS 452 – Fall 2014 Lecture 4 – Page 4/47 Thur – 9/11/2014
![Page 5: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/5.jpg)
XOR accomplishes single bit addition
Tabular form of input/outputmap for 1-bit adder
output inputs
S B A
0 0 0
1 0 1
1 1 0
0 1 1
• Logic operation is S = A ·B +A ·B
• XOR adder overflows the 1 bit addition.
EECS 452 – Fall 2014 Lecture 4 – Page 5/47 Thur – 9/11/2014
![Page 6: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/6.jpg)
A single bit half adder
outputs inputs
Cout S B A
0 0 0 0
0 1 0 1
0 1 1 0
1 0 1 1
Two types of gates are used: AND and XOR.
EECS 452 – Fall 2014 Lecture 4 – Page 6/47 Thur – 9/11/2014
![Page 7: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/7.jpg)
A single bit full adder unit (1/2)
outputs inputs
Cout S B A Cin
0 0 0 0 0
0 1 0 0 1
0 1 0 1 0
1 0 0 1 1
0 1 1 0 0
1 0 1 0 1
1 0 1 1 0
1 1 1 1 1
Three types of gates are used: AND, OR, and XOR.
EECS 452 – Fall 2014 Lecture 4 – Page 7/47 Thur – 9/11/2014
![Page 8: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/8.jpg)
Equivalent 3-input XOR implementation (2/2)
outputs inputs
cout s b a cin
0 0 0 0 0
0 1 0 0 1
0 1 0 1 0
1 0 0 1 1
0 1 1 0 0
1 0 1 0 1
1 0 1 1 0
1 1 1 1 1
Ä
~ë
Åáå
Å~êêó
ëìã
Åçìí
Three types of gates are used: AND, OR, and 3-input XOR.
EECS 452 – Fall 2014 Lecture 4 – Page 8/47 Thur – 9/11/2014
![Page 9: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/9.jpg)
Ripple carry adder – multiple-bit adder
ÅT
ÄN~T
ëM
ÅS ÅR
~R ~O ~N ~M~P~Q~S ÄOÄQ ÄP ÄMÄRÄT ÄS
ÅQ ÅP ÅO ÅN ÅM M
ëNëOëPëQëRëSëT
Intrinsically serial: cannot clock all of the FA’s at the same timedue to ripple delays
Execution time limited by the time required for carries topropagate from least significant bit to most significant bit..
EECS 452 – Fall 2014 Lecture 4 – Page 9/47 Thur – 9/11/2014
![Page 10: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/10.jpg)
Subtraction
To subtract b from a simply negate b and add. For two’scomplement numbers negation consists of complementing theindividual bits and adding one. The addition of one can beaccomplished by using a carry of one into bit position zero.
c7 c6 c5 c4 c3 c2 c1 c0 1
a7 a6 a5 a4 a3 a2 a1 a0
+ b7 b6 b5 b4 b3 b2 b1 b0
c7 s7 s6 s5 s4 s3 s2 s1 s0
EECS 452 – Fall 2014 Lecture 4 – Page 10/47 Thur – 9/11/2014
![Page 11: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/11.jpg)
Ripple carry add/subtract
ÅT
ÄN~T
ëM
ÅS ÅR
~R ~O ~N ~M~P~Q~S ÄOÄQ ÄP ÄMÄRÄT ÄS
ÅQ ÅP ÅO ÅN ÅM
ëNëOëPëQëRëSëT
ëìÄ
Sub is logical 0 for addition, logical 1 for subtraction.
sub b sub exor b
0 0 0
0 1 1
1 0 1
1 1 0
Exclusive-or gate is used as controlled buffer/inverter.
EECS 452 – Fall 2014 Lecture 4 – Page 11/47 Thur – 9/11/2014
![Page 12: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/12.jpg)
Sequential operation—bit-serial arithmetic
Using a single one-bit full adder to perform multiple-bitaddition/subtraction using feedback.
I Used many years ago when logic was dearly expensive, bulkyand power hungry.
I Often used in hand held calculators.
I Generally requires less FPGA fabric area than parallel.
I Generally slower than parallel, but not necessarily.
I Dr. Metzger designed and implemented a PN sequencecorrelator that adds 63 16-bit numbers in 25 clock cycles.
I Generally one trades longer execution time for smaller FPGAfootprint.
EECS 452 – Fall 2014 Lecture 4 – Page 12/47 Thur – 9/11/2014
![Page 13: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/13.jpg)
Bit serial adder (1/2)The basic element is a one-bit full adder with the carry bit fed backthrough a register. Values are shifted through the adder starting leastsignificant bit first (see next slide)
òJN
Ä
~ ë
êÉëÉíê
Å~êêó
ëìã
Figure: Bit serial adder block diagram.
To subtract invert the bits of the value being subtracted and initializethe carry bit to one.
EECS 452 – Fall 2014 Lecture 4 – Page 13/47 Thur – 9/11/2014
![Page 14: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/14.jpg)
Bit serial adder (2/2)
~
Ä
ëÜáÑí=êÉÖáëíÉêë
ë
ÅçìíÅáå
a
NJÄáí=~ÇÇÉê
ëÜáÑí=êÉÖáëíÉê
äëÄãëÄ äëÄãëÄ
áåáíá~äáòÉíç=M
Minimal logic. Can be clocked at high rates.
Execution time strongly influenced by word size.
Not shown is the control logic needed to step the operation. Thismight be as simple as a counter.
EECS 452 – Fall 2014 Lecture 4 – Page 14/47 Thur – 9/11/2014
![Page 15: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/15.jpg)
Bit serial add/subtract
~
Ä
ëÜáÑí=êÉÖáëíÉêë
ÅçìíÅáå
a
NJÄáí=~ÇÇÉê
ëÜáÑí=êÉÖáëíÉê
äëÄãëÄ äëÄãëÄ
áåáíá~äáòÉíç=ëìÄ
ëìÄ
~±Ä
Minimal logic. Can be clocked at high rates.
Execution time strongly influenced by word size.
Adder 1-bit carry memory initialized depending on whether addingor subtracting.
EECS 452 – Fall 2014 Lecture 4 – Page 15/47 Thur – 9/11/2014
![Page 16: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/16.jpg)
Binary multiplicationMatrix form of truth table for 1-bit multiplier
a× b 0 1
0 0 0
1 0 1
Tabular form of truth table for 1-bit multiplier
output inputs
S B A
0 0 0
0 0 1
0 1 0
1 1 1
Note that this is equivalent to the logical AND operation.
EECS 452 – Fall 2014 Lecture 4 – Page 16/47 Thur – 9/11/2014
![Page 17: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/17.jpg)
Recall unsigned and two’s complement values
A B-bit binary number is an ordered sequence of zero and one values:
(bB−1, bB−2, · · · , b1, b0).
The unsigned value represented by this sequence is
v = bB−12B−1 + bB−22B−2 + · · · + b121 + b020 =
B−1∑i=0
bi2i .
v can take on the values from 0 through 2B − 1 in steps of one.
The two’s complement value represented by this sequence is
v = −bB−12B−1 + bB−22B−2 + · · · + b121 + b020.
v can take on the values from −2B−1 through 2B−1 − 1 in steps of one.
Unsigned and two’s complement addition and subtraction use the samelogic. This is not necessarily so for multiplication.
EECS 452 – Fall 2014 Lecture 4 – Page 17/47 Thur – 9/11/2014
![Page 18: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/18.jpg)
Unsigned binary multiplication
Consider the multiplication of the two 4-bit unsigned binarynumbers a = a3a2a1a0 and b = b3b2b1b0 giving the productp = a× b. Using the standard paper and pencil method we wouldwrite:
b0 × a3 a2 a1 a0
+ b1 × a3 a2 a1 a0
+ b2 × a3 a2 a1 a0
+ b3 × a3 a2 a1 a0
p7 p6 p5 p4 p3 p2 p1 p0
The bi multiplications are by 0 or 1. Rows are added usingunsigned addition.
EECS 452 – Fall 2014 Lecture 4 – Page 18/47 Thur – 9/11/2014
![Page 19: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/19.jpg)
Two’s complement multiplication (1/4)
This is the same solution shown in the previous lecture:
I sign extension followed by signed multiplication.
b0 × a3 a3 a2 a1 a0
+ b1 × a3 a3 a2 a1 a0
+ b2 × a3 a3 a2 a1 a0
+ b3 × a3 a3 a2 a1 a0
− b3 × a3 a3 a2 a1 a0
p8 p7 p6 p5 p4 p3 p2 p1 p0
Can we convince ourselves that p in two’s complement format is thecorrect solution?
EECS 452 – Fall 2014 Lecture 4 – Page 19/47 Thur – 9/11/2014
![Page 20: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/20.jpg)
Two’s complement multiplication (2/4)
First, what is the correct answer?
va = −a323 + a222 + a121 + a020
vb = −b323 + b222 + b122 + b020
The coefficients of different order terms can be given in the table below:
vavb 28 27 26 25 24 23 22 21 20
a3b3 −a3b2 −a3b1 −a3b0 a2b0 a1b0 a0b0
−a2b3 a2b2 a2b1 a1b1 a0b1
−a1b3 a1b2 a0b2
−a0b3
EECS 452 – Fall 2014 Lecture 4 – Page 20/47 Thur – 9/11/2014
![Page 21: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/21.jpg)
Two’s complement multiplication (3/4)
Let’s now verify that the two’s complement multiplication does give the correct
answer
b0 × a3 a3 a2 a1 a0
+ b1 × a3 a3 a2 a1 a0
+ b2 × a3 a3 a2 a1 a0
+ b3 × a3 a3 a2 a1 a0
− b3 × a3 a3 a2 a1 a0
p8 p7 p6 p5 p4 p3 p2 p1 p0
p 28 27 26 25 24 23 22 21 20
a3b3 −a3b3 −a3b2 −a3b1 −a3b0 a3b0 a2b0 a1b0 a0b0
−a3b3 a3b3 a3b2 a3b1 a2b1 a1b1 a0b1
−a2b3 a2b3 a2b2 a1b2 a0b2
−a1b3 a1b3 a0b3
−a0b3
EECS 452 – Fall 2014 Lecture 4 – Page 21/47 Thur – 9/11/2014
![Page 22: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/22.jpg)
Two’s complement multiplication (4/4)
Continue. . .
p 28 27 26 25 24 23 22 21 20
a3b3 −a3b3 −a3b2 −a3b1 −a3b0 a3b0 a2b0 a1b0 a0b0
−a3b3 a3b3 a3b2 a3b1 a2b1 a1b1 a0b1
−a2b3 a2b3 a2b2 a1b2 a0b2
−a1b3 a1b3 a0b3
−a0b3
Simple arithmetic =⇒:
p 28 27 26 25 24 23 22 21 20
a3b3 −a3b2 −a3b1 −a3b0 a2b0 a1b0 a0b0
−a2b3 a2b2 a2b1 a1b1 a0b1
−a1b3 a1b2 a0b2
−a0b3
The same with vavb!
EECS 452 – Fall 2014 Lecture 4 – Page 22/47 Thur – 9/11/2014
![Page 23: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/23.jpg)
An equivalent two’s complement multiplication
operation
b0 × a3 a3 a3 a3 a3 a2 a1 a0
+ b1 × a3 a3 a3 a3 a2 a1 a0
+ b2 × a3 a3 a3 a2 a1 a0
− b3 × a3 a3 a2 a1 a0
p7 p6 p5 p4 p3 p2 p1 p0
I Again, first sign extension
I Multiply by bi, either 0 or 1, then two’s complement addition.
I The last row subtraction (done using addition: complement all thebits and add 1).
I Can use exactly the same method to show correctness.
I This alternative architecture directly leads to the implementationdiscussed next.
EECS 452 – Fall 2014 Lecture 4 – Page 23/47 Thur – 9/11/2014
![Page 24: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/24.jpg)
Unsigned shift and add multiplier
ëÜáÑí=êÉÖáëíÉê ^ka
êÉÖáëíÉê
éJêÉÖáëíÉê ëÜáÑí=êÉÖáëíÉê
Ä ~
äëÄ äëÄ
äëÄÅ~êêó
~ÇÇÉê
äçï=ÄáíëÜáÖÜ=Äáíë~ Äñ
b0a3 b0a2 b0a1 b0a0b1a3 b1a2 b1a1 b1a0
b2a3 b2a2 b2a1 b2a0b3a3 b3a2 b3a1 b3a0
p7 p6 p5 p4 p3 p2 p1 p0
EECS 452 – Fall 2014 Lecture 4 – Page 24/47 Thur – 9/11/2014
![Page 25: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/25.jpg)
Signed shift-and-add multiplier
ëÜáÑí=êÉÖáëíÉê ^ka
êÉÖáëíÉê
éJêÉÖáëíÉê ëÜáÑí=êÉÖáëíÉê
Ä ~
äëÄ äëÄ
äëÄ
~ÇÇLëìÄíê~Åí
äçï=ÄáíëÜáÖÜ=Äáíë~ Äñ
ë
b0 × a3 a3 a3 a3 a3 a2 a1 a0+ b1 × a3 a3 a3 a3 a2 a1 a0+ b2 × a3 a3 a3 a2 a1 a0− b3 × a3 a3 a2 a1 a0
p7 p6 p5 p4 p3 p2 p1 p0
EECS 452 – Fall 2014 Lecture 4 – Page 25/47 Thur – 9/11/2014
![Page 26: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/26.jpg)
How do these work
These two circuits typically are included in modern texts oncomputer arithmetic as the starting point for much more interestinglogic.
Basically zeros the accumulator. Next adds successive rows shiftingthe result right 1 each time to simplify the logic.
Once all of the rows have been added you get the product in theaccumulator and the register that the accumulator had been shiftedinto.
For the signed multiply the sign only needs to be extended oneposition (at a time). The last row is subtracted to form the finalsum.
EECS 452 – Fall 2014 Lecture 4 – Page 26/47 Thur – 9/11/2014
![Page 27: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/27.jpg)
Pipelined bit-serial multiplier
Going from least to most significant bit, generates the sums of thecolumns bit at a time. (Lyon:76)
b0a3 b0a2 b0a1 b0a0
b1a3 b1a2 b1a1 b1a0
b2a3 b2a2 b2a1 b2a0
b3a3 b3a2 b3a1 b3a0
p7 p6 p5 p4 p3 p2 p1 p0
A thirty year old classic. Instead of adding up the rows the columnsare generated and summed. Needs about twice as many clock ticsper product as the previous method.
EECS 452 – Fall 2014 Lecture 4 – Page 27/47 Thur – 9/11/2014
![Page 28: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/28.jpg)
Unsigned bit serial multiplier
é
~
Ä
ΔΔ Δ
Δ
~~ ~
äëÄãëÄ
ÄP ÄO
ÄO
N M
N M
Ä Ä
Ä Ä
Δ Δ Δ
M
~ÄP
áåáíá~äáòÉ=ÇÉä~ó=ëí~ÖÉë=íç=M
b0 × a3 a2 a1 a0+ b1 × a3 a2 a1 a0+ b2 × a3 a2 a1 a0+ b3 × a3 a2 a1 a0
p7 p6 p5 p4 p3 p2 p1 p0
EECS 452 – Fall 2014 Lecture 4 – Page 28/47 Thur – 9/11/2014
![Page 29: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/29.jpg)
Signed bit serial multiplier
M é
~
Ä
Δ ΔΔ Δ
Δ
~~ ~
áåáíá~äáòÉ=íç=N========~åÇ=áåáíá~äáòÉ=~ää=çíÜÉêë=íç=M
ëáÖåÉñíÉåÇ
äëÄãëÄ
ÄP ÄO
ÄO
N M
N M
Ä Ä
Ä Ä
Δ Δ Δ
J ~ÄP
EECS 452 – Fall 2014 Lecture 4 – Page 29/47 Thur – 9/11/2014
![Page 30: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/30.jpg)
Modified signed bit serial multiplier
é
~
Ä
Δ ΔΔ Δ
Δ
~~ ~
ëáÖåÉñíÉåÇ
äëÄãëÄ
ÄP ÄO
ÄO
N M
N M
Ä Ä
Ä Ä
Δ Δ Δ
~ÄP
áåáíá~äáòÉ=~ää=ÇÉä~óë=íç=M
I was tracing a particular author’s papers in the literature. Onepaper he was drawing his logic like in the preceding slide and thenext he had this very clever version.
EECS 452 – Fall 2014 Lecture 4 – Page 30/47 Thur – 9/11/2014
![Page 31: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/31.jpg)
Bit-serial multiply-accumulate (MAC)
é
~
Ä
Δ ΔΔ Δ
Δ
~~ ~
ëáÖåÉñíÉåÇ
äëÄãëÄ
ÄP ÄO
ÄO
N M
N M
Ä Ä
Ä Ä
Δ Δ Δ
~ÄP
áåáíá~äáòÉ=~ää=ÇÉä~óë=íç=M j^`=çìíéìí
~ áåéìí Ä áåéìí
~ÅÅìãìä~íçê
U
j^`~ÇÇÉê=ëí~ÖÉ
~äëÄ
Δ
ãëÄ äëÄ
Combining the bit-serial multiplier with the bit-serial adder gives abit-serial multiply-and-add implementation. (Some control logic needed).
Sequentially adds results of several multiplies: specialized FIR filtercomputation yk =
∑Mi=0 bix[k − i]
EECS 452 – Fall 2014 Lecture 4 – Page 31/47 Thur – 9/11/2014
![Page 32: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/32.jpg)
Sequential logic: D flip-flop
current state next state
Q D Q+
X 0 0
X 0 0
X 1 1
X 1 1
I A basic storage element and fundamental building block
I Basic D flip-flop: state Q+ locks onto input logic level D onrising clock edge
I A master-slave D flip-flop: locks onto D on falling edge of theclock
EECS 452 – Fall 2014 Lecture 4 – Page 32/47 Thur – 9/11/2014
![Page 33: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/33.jpg)
Serial-input parallel output (SIPO) register
I Input Data is shifted into the leftmost bit position.
I Shifts the contents of the register to the right, one bit positionon each active transition of the clock.
EECS 452 – Fall 2014 Lecture 4 – Page 33/47 Thur – 9/11/2014
![Page 34: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/34.jpg)
Parallel-input parallel output (PIPO) register
4-bit PIPO
EECS 452 – Fall 2014 Lecture 4 – Page 34/47 Thur – 9/11/2014
![Page 35: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/35.jpg)
4-bit switch-tail ring counter
4-bit switch-tail ring counter (Johnson counter)
EECS 452 – Fall 2014 Lecture 4 – Page 35/47 Thur – 9/11/2014
![Page 36: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/36.jpg)
3 bit asynchronous counter with Toggle FFs
http://www.electronics-tutorials.ws/counter/count_1.html
EECS 452 – Fall 2014 Lecture 4 – Page 36/47 Thur – 9/11/2014
![Page 37: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/37.jpg)
Performance considerations (1/5)I Speed and throughput (MOPS/sec)
I Energy and power consumption (Joules, Watts)
I Area (cm/design, µm/gate)
I Reliability and accuracy
• Moore’s Law (1965): component density doubles every year
EECS 452 – Fall 2014 Lecture 4 – Page 37/47 Thur – 9/11/2014
![Page 38: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/38.jpg)
Performance considerations (2/5)
I Energy*delay: measure for comparing efficiency of circuits.
I Power determined by capacitance (C) and logic (supply)voltage
I Delay determined by RC time constants
Ref: Horowitz, M. and Indermaur, T. and Gonzalez, R., IEEESymp on Low Power Electronics, 1994.
EECS 452 – Fall 2014 Lecture 4 – Page 38/47 Thur – 9/11/2014
![Page 39: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/39.jpg)
Power consumption and delay (3/5)
I Intrinsic delay of a transition: T = kCVdd
(Vdd−Vth)2(secs)
I Energy per transition: E = C V 2dd (Joules)
I Power dissipation if a signal is applied to input:
P = C V 2dd fclkα (Watts)
I α is ”activity ratio” = average number of input signaltransitions per clock cycle
Ref: Chandrasekeran and Brodersen, Proc IEEE, 1995
EECS 452 – Fall 2014 Lecture 4 – Page 39/47 Thur – 9/11/2014
![Page 40: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/40.jpg)
Performance considerations: D flip flop (4/5)
next state current state
Q+ Q D
0 0 0
0 1 0
1 0 1
1 1 1
I State Q+ locks onto input logic level D on negative clock edge
I What is power dissipated by the D flip flop?
EECS 452 – Fall 2014 Lecture 4 – Page 40/47 Thur – 9/11/2014
![Page 41: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/41.jpg)
Performance considerations: D flip flop (4/5)
I Signal nodes X,D (Q) transition on clk leading (falling) edge:
Pk =1
2Ck V
2dd fclkαk (Watts)
I Clock node (inverter) transitions on both edges:
Pinvtr = C V 2dd fclk (Watts)
I Total power P = Pinvtr +∑3
k=1 Pk. Lumped modelαk = α, Ck = C
PDFF (α) = (1 + α3/2)CV 2ddfclk
Ref: Strollo, Napoli, Cimino, IEEE Trans on VLSI, Vol. 8, No. 5, Oct 2000.
EECS 452 – Fall 2014 Lecture 4 – Page 41/47 Thur – 9/11/2014
![Page 42: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/42.jpg)
Performance considerations: D flip-flop (5/5)
equivalent to
Illustration
I Representative values: Ck = C = 0.1pF, Vdd = 1.8V,fclk = 200MHz, αk = 1
I Total power (α = 1):
PDFF (α) = (0.1×10−12)(1.8)2(200×106)(1+3/2) = 2×10−4 = 200µW
EECS 452 – Fall 2014 Lecture 4 – Page 42/47 Thur – 9/11/2014
![Page 43: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/43.jpg)
Parallel-input parallel output (PIPO) register4-bit PIPO
I AssumeI DFF’s have identical output capacitanceI Average transitions/clock-cyle is identically α = 1 for all
bit-streams PA, PB, PC, PD.
I Total power dissipation:
PPIPO = 4PDFF (α), α = 1
EECS 452 – Fall 2014 Lecture 4 – Page 43/47 Thur – 9/11/2014
![Page 44: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/44.jpg)
4-bit switch-tail ring counter
4-bit switch-tail ring counter (Johnson counter)
I AssumeI DFF’s have identical input/output capacitance
I Total power dissipation is:
PJC = 4PDFF (α), α = 1/4
EECS 452 – Fall 2014 Lecture 4 – Page 44/47 Thur – 9/11/2014
![Page 45: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/45.jpg)
3 bit asynchronous counter with Toggle FFs
I AssumeI Toggle FF’s dissipate same amount of power as DFF’s
I Total power dissipation is:
PCounter = PDFF (1/4) + PDFF (1/2) + PDFF (1)
http://www.electronics-tutorials.ws/counter/count_1.htmlEECS 452 – Fall 2014 Lecture 4 – Page 45/47 Thur – 9/11/2014
![Page 46: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/46.jpg)
Performance considerations
I Power reduction strategiesI Lowering voltage Vdd
I Reducing resolution (bit-width B)I Lowering clock rate fclkI Scaling and shortening gate interconnectsI Reducing idle activity level (uneccessary bit transitions).
I Speed improvement usually comes at cost of increased power
I FPGAs are reconfigurable logic arrays that can be used toexplore performance tradeoffs for different designs.
I FPGA translates high level logic and arithmetic descriptionsinto silicon implementation.
I Design optimizers (Quartus, Xilinx) can be configured tominimize power or runtime, subject to clock, path, or portconstraints.
EECS 452 – Fall 2014 Lecture 4 – Page 46/47 Thur – 9/11/2014
![Page 47: EECS 452 { Lecture 4 - University of Michigan 452 { Lecture 4 Today: Gate level arithmetic Sequential logic Announcements: Lab 2 starts next week. Pre-project ideas are due today by](https://reader034.vdocuments.us/reader034/viewer/2022051602/5af38f6e7f8b9a4d4d8c4bd9/html5/thumbnails/47.jpg)
Summary of what we covered today
I Gate-level arithmetic
I Power dissipation and delay
I Next: Altera DE2 and Verilog programming refresher
EECS 452 – Fall 2014 Lecture 4 – Page 47/47 Thur – 9/11/2014