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