L17-ac-cl.ppt

advertisement
inst.eecs.berkeley.edu/~cs61c
CS61C : Machine Structures
Lecture #17 – Combinational Logic
2008-7-21
Albert Chae, Instructor
CS61C L17 Combinational Logic (1)
Chae, Summer 2008 © UCB
Review
• ISA is very important abstraction layer
• Contract between HW and SW
• Clocks control pulse of our circuits
• Voltages are analog, quantized to 0/1
• Circuit delays are fact of life
• Two types of circuits:
• Stateless Combinational Logic (&,|,~)
• State circuits (e.g., registers)
CS61C L17 Combinational Logic (2)
Chae, Summer 2008 © UCB
Review
• State elements are used to:
• Build memories
• Control the flow of information between other state
elements and combinational logic
• D-flip-flops used to build registers
• Clocks tell us when D-flip-flops change
• Setup and Hold times important
• Finite State Machines extremely useful
CS61C L17 Combinational Logic (3)
Chae, Summer 2008 © UCB
Review of Signal vocabulary
• T is the period
• Period is time from one rising edge to next
• Unit is seconds
• 1/T is the frequency
• Unit is hertz (1/s)
CS61C L17 Combinational Logic (4)
Chae, Summer 2008 © UCB
Accumulator with proper timing
• reset signal shown.
• Also, in practice X might
not arrive to the adder at
the same time as Si-1
• Si temporarily is wrong,
but register always
captures correct value.
• In good circuits,
instability never happens
around rising edge of clk.
CS61C L17 Combinational Logic (5)
Chae, Summer 2008 © UCB
Maximum Clock Frequency
Hint…
Frequency = 1/Period
• What is the maximum frequency of
this circuit?
Max Delay =Setup Time + CLK-to-Q Delay
+ CL Delay
CS61C L17 Combinational Logic (6)
Chae, Summer 2008 © UCB
Pipelining to improve performance (1/2)
Extra Register are often added to help
speed up the clock rate.
Timing…
Note: delay of 1 clock cycle from input to output.
Clock period limited by propagation delay of adder/shifter.
CS61C L17 Combinational Logic (7)
Chae, Summer 2008 © UCB
Pipelining to improve performance (2/2)
• Insertion of register allows higher clock
frequency.
• More outputs per second.
CS61C L17 Combinational Logic (8)
Timing…
Chae, Summer 2008 © UCB
General Model for Synchronous Systems
• Collection of CL blocks separated by registers.
• Registers may be back-to-back and CL blocks may be back-toback.
• Feedback is optional.
• Clock signal(s) connects only to clock input of registers. (NEVER
put it through a gate)
CS61C L17 Combinational Logic (9)
Chae, Summer 2008 © UCB
Hardware Implementation of FSM
… Therefore a register is needed to hold the a representation of which
state the machine is in. Use a unique bit pattern for each state.
+
=
?
Combinational logic circuit is
used to implement a function
maps from present state and
input to next state and output.
CS61C L17 Combinational Logic (10)
Chae, Summer 2008 © UCB
Combinational Logic
• FSMs had states and transitions
• How to we get from one state to the
next?
• Answer: Combinational Logic
CS61C L17 Combinational Logic (11)
Chae, Summer 2008 © UCB
Truth Tables
0
CS61C L17 Combinational Logic (12)
Chae, Summer 2008 © UCB
TT Example #1: 1 iff one (not both) a,b=1
a
0
0
1
1
CS61C L17 Combinational Logic (13)
b
0
1
0
1
y
0
1
1
0
Chae, Summer 2008 © UCB
TT Example #2: 2-bit adder
How
Many
Rows?
CS61C L17 Combinational Logic (14)
Chae, Summer 2008 © UCB
TT Example #3: 32-bit unsigned adder
How
Many
Rows?
CS61C L17 Combinational Logic (15)
Chae, Summer 2008 © UCB
TT Example #3: 3-input majority circuit
CS61C L17 Combinational Logic (16)
Chae, Summer 2008 © UCB
Administrivia
• Midterm TODAY 2008-07-21@7-10pm, 155
Dwinelle
• Bring pencils and eraser!
• You can bring green sheet and one
handwritten double sided note sheet
• No calculator, laptop, etc.
• No stress… remember you can get it
clobbered
CS61C L17 Combinational Logic (17)
Chae, Summer 2008 © UCB
Logic Gates (1/2)
CS61C L17 Combinational Logic (18)
Chae, Summer 2008 © UCB
And vs. Or review – Dan’s mnemonic
AND Gate
Symbol
A
B
AN
D
CS61C L17 Combinational Logic (19)
Definition
C
A
0
0
1
1
B
0
1
0
1
C
0
0
0
1
Chae, Summer 2008 © UCB
Logic Gates (2/2)
CS61C L17 Combinational Logic (20)
Chae, Summer 2008 © UCB
2-input gates extend to n-inputs
• N-input XOR is the
only one which isn’t
so obvious
• It’s simple: XOR is a
1 iff the # of 1s at its
input is odd
CS61C L17 Combinational Logic (21)
Chae, Summer 2008 © UCB
Truth Table  Gates (e.g., majority circ.)
CS61C L17 Combinational Logic (22)
Chae, Summer 2008 © UCB
Truth Table  Gates (e.g., FSM circ.)
PS Input NS Output
00
0
00
0
00
1
01
0
01
0
00
0
01
1
10
0
10
0
00
0
10
1
00
1
CS61C L17 Combinational Logic (23)
or equivalently…
Chae, Summer 2008 © UCB
Boolean Algebra
• George Boole, 19th Century
mathematician
• Developed a mathematical
system (algebra) involving
logic
• later known as “Boolean Algebra”
• Primitive functions: AND, OR and NOT
• The power of BA is there’s a one-to-one
correspondence between circuits made
up of AND, OR and NOT gates and
equations in BA
+ means OR,• means AND, x means NOT
CS61C L17 Combinational Logic (24)
Chae, Summer 2008 © UCB
Boolean Algebra (e.g., for majority fun.)
y=a•b+a•c+b•c
y = ab + ac + bc
CS61C L17 Combinational Logic (25)
Chae, Summer 2008 © UCB
Boolean Algebra (e.g., for FSM)
PS Input NS Output
00
0
00
0
00
1
01
0
01
0
00
0
01
1
10
0
10
0
00
0
10
1
00
1
or equivalently…
y = PS1 • PS0 • INPUT
CS61C L17 Combinational Logic (26)
Chae, Summer 2008 © UCB
BA: Circuit & Algebraic Simplification
BA also great for
circuit verification
Circ X = Circ Y?
use BA to prove!
CS61C L17 Combinational Logic (27)
Chae, Summer 2008 © UCB
Laws of Boolean Algebra
CS61C L17 Combinational Logic (28)
Chae, Summer 2008 © UCB
Boolean Algebraic Simplification Example
CS61C L17 Combinational Logic (29)
Chae, Summer 2008 © UCB
Canonical forms (1/2)
Sum-of-products
(ORs of ANDs)
CS61C L17 Combinational Logic (30)
Chae, Summer 2008 © UCB
Canonical forms (2/2)
CS61C L17 Combinational Logic (31)
Chae, Summer 2008 © UCB
Peer Instruction
A. (a+b)• (a+b) = b
1:
B. N-input gates can be thought of
2:
3:
cascaded 2-input gates. I.e.,
4:
(a ∆ bc ∆ d ∆ e) = a ∆ (bc ∆ (d ∆ e))
where ∆ is one of AND, OR, XOR, NAND 5:
6:
C. You can use NOR(s) with clever wiring 7:
8:
to simulate AND, OR, & NOT
CS61C L17 Combinational Logic (32)
ABC
FFF
FFT
FTF
FTT
TFF
TFT
TTF
TTT
Chae, Summer 2008 © UCB
A.
Peer Instruction Answer (B)
B.
N-input gates can be thought of cascaded 2-input
gates. I.e.,
(a ∆ bc ∆ d ∆ e) = a ∆ (bc ∆ (d ∆ e))
where ∆ is one of AND, OR, XOR, NAND…FALSE
Let’s confirm!
CORRECT 3-input
XYZ|AND|OR|XOR|NAND
000| 0 |0 | 0 | 1
001| 0 |1 | 1 | 1
010| 0 |1 | 1 | 1
011| 0 |1 | 0 | 1
100| 0 |1 | 1 | 1
101| 0 |1 | 0 | 1
110| 0 |1 | 0 | 1
111| 1 |1 | 1 | 0
CS61C L17 Combinational Logic (34)
CORRECT 2-input
YZ|AND|OR|XOR|NAND
00| 0 |0 | 0 | 1
01| 0 |1 | 1 | 1
10| 0 |1 | 1 | 1
11| 1 |1 | 0 | 0
Chae, Summer 2008 © UCB
“And In conclusion…”
• Pipeline big-delay CL for faster clock
• Finite State Machines extremely useful
• You’ll see them again in 150, 152 & 164
• Use this table and techniques we
learned to transform from 1 to another
CS61C L17 Combinational Logic (35)
Chae, Summer 2008 © UCB
Download