300 likes | 471 Views
ELEN 248 – Intro to Digital Systems Design (200, 504, 505 & 506). Prof Weiping “Peter” Shi. Why Digital Circuits?. The entire electronic age is based digital circuits!. Applications & Services. Electronics Industry. Digital circuit Industry. Integrated Digital Circuits.
E N D
ELEN 248 – Intro to Digital Systems Design (200, 504, 505 & 506) Prof Weiping “Peter” Shi
Why Digital Circuits? • The entire electronic age is based digital circuits! Applications & Services Electronics Industry Digital circuit Industry ELEN 248
Integrated Digital Circuits • Jack Kirby, a former professor of this department, invented Integrated Circuits in 1959 at Texas Instruments. • He argued that by putting all electronic components into a single die, performance would increase and cost would decrease. • Moore’s Law states the density doubles every 18 months • Today, the price of a transistor is less than a grain of rice • Had the transportation industry grow as fast, flight from JFK to LAX would take a few seconds and cost a few cents! ELEN 248
What is Logic Design? • Given a specification, derive a solution using available electronic components • Meeting criteria for performance, cost, power, reliability, etc • Design verification checks if the design is correct in terms of function and performance • Design optimization transforms a lousy design to one with better quality ELEN 248
Boolean Algebra • Number systems: Unary, binary, decimal, dozenal, bidecimal, … • Binary system: 0 and 1 • 800BC: Oldest record of binary number system by Indian mathematician Pingala • 1854: British mathematician George Boole published a landmark paper, establishing Boolean Algebra • 1937: MIT student Claude Shannon did his master thesis, using Boolean algebra to build the first digital electronic circuit ELEN 248
Boolean Algebra • Variables and Functions x = 0 x = 1 (a) Two states of a switch S x (b) Symbol for a switch B&V: Figure 2.1. A binary switch. ELEN 248
Variables and Functions cont’d… S Battery Light x (a) Simple connection to a battery B&V: Figure 2.2. A light controlled by a switch. ELEN 248
On and Off A L Switch is off (A=0) Light is off (L=0) L A Switch is on (A=1) Light is on (L=1) L A ELEN 248
Variables and Functions cont’d… S S Power x1 x2 Light supply R Power (a) The logical AND function (series) x supply Light S S x1 Power Light B&V: Figure 2.5. An inverting circuit. supply S x2 (b) The logical OR function (parallel) B&V Figure 2.3. Two basic functions. ELEN 248
Embedded Quiz: Control a light with two switches • Your living room leads to the front door in one direction and your bedroom in the other direction. • You want to install two switches, one near the front door and one near the bedroom, so that at night you can turn on the light when entering your home, and turn it off on the way to the bedroom. • How to do it? • What about three switches for one light? Four? … ELEN 248
Variables and Functions cont’d… • Notation Buffer L(x) = x AND gate L(x1,x2) = x1 • x2 = x1x2 OR gate L(x1,x2) = x1 + x2 NOT gate L(x) = x’ = !x = ~x = x ELEN 248
Variables and Functions cont’d… • Symbols x1 x1 x2 1 x •x2• … • xn 1 x •x2 x2 xn (a) AND gates (c) NOT gate x1 x2 x1 1 1 x +x2 x +x2+ … + xn x2 xn (b) OR gates ELEN 248
Boolean Algebra • Truth Tables of Functions Variables Functions All possible values of variables ELEN 248
Embedded Quiz: Truth Tables • If a function f(x1, x2, …, xn) has n variables, how many rows are there in the truth table? How many columns? • Two functions are different, if their truth tables are different. How many different n-variable Boolean functions are there? ELEN 248
Boolean Algebra Axioms 1a. 0•0 = 0 1b. 1+1 = 1 2a. 1•1 = 1 2b. 0+0 = 0 3a. 0•1 = 1•0 = 0 3b. 1+0 = 0+1 = 1 4a. If x=0, then x’ = 1 4b. If x=1, then x’ = 0 Theorems (via perfect induction) 5a. x•0 = 0 5b. x+1 = 1 6a. x•1 = x 6b. x+0 = x 7a. x•x = x 7b. x+x = x 8a. x •x’ =0 8b. x+x’ = 1 9. x’’ = x ELEN 248
Boolean Algebra Two- and Three- Variable Properties Commutative 10a. x•y = y•x 10b. x+y = y+x Associative 11a. x•(y•z) = (x•y) •z 11b. x+(y+z) = (x+y)+z Distributive 12a. x•(y+z) = x•y + x•z 12b. x+y•z = (x+y)•(x+z) Absoption 13a. x+x•y = x 13b. x•(x+y) = x Combining 14a. x•y + x•y’ = x 14b. (x+y)•(x+y’) = x DeMorgan’s theorem 15a. (x•y)’ = x’ + y’ 15b. (x+y)’ = x’ • y’ 16a. x+x’•y = x+y 16b. x•(x’+y) = x•y Consensus 17a. x•y+y•z+x’•z = x•y + x’•z 17b. (x+y)•(y+z)•(x’+z) = (x+y)•(x’+z) ELEN 248
Boolean Algebra Proof techniques (a) Truth Table (b) Venn Diagram (a) Constant 1 (b) Constant 0 x x x’ x’ (c) Variable x (d) x’ x y x (f) x+y y (e) x•y x y (h) z+x•y x y B&V: Figure 2.11. Proof of DeMorgan’s theorem in 15a. (g) x•y’ z B&V: Figure 2.12. The Venn diagram representation. ELEN 248
Venn Diagram Proof Example x y x y z z x•y x•y x y x y z z x’•z x’•z x y x y z z y•z x•y + x’•z x y z x•y + y•z + x’•z B&V: Figure 2.14. Verification of x•y + y•z + x’•z = x•y + x’•z ELEN 248
Exercise: Prove or disprove • (x1+x3)*(x1’+x3’) = x1*x3’ + x1’*x3’ ELEN 248
Combinational vs. Sequential Logic Combinational N inputs … … M outputs Outputs depend ONLY upon inputs circuit General form of a combination logic circuit Combinational N inputs … … M outputs circuit Outputs depend upon inputs and previous inputs K Storage Clock General form of a sequential circuit. ELEN 248
2-Level Combinational Logic Synthesis and Optimization Example Problem Desired: low cost solution x 1 x 2 f (a) Canonical sum-of-products B&V: Figure 2.15. A function to be synthesized. x 1 f x 2 (b) Minimal-cost realization B&V: Figure 2.16. Two implementations of a function in Figure 2.15. ELEN 248
2-Level Combinational Logic Synthesis and OptimizationSum-of-Products/Product-of-Sums B&V: Figure 2.17 Three-variable minterms and maxterms. ELEN 248
2-Level Combinational Logic Synthesis and OptimizationExample f = m1+m4+m5+m6 f = M0•M2•M3•M7 B&V: Figure 2.18. A three-variable function. ELEN 248
2-Level Combinational Logic Synthesis and Optimization Example cont’d… x 2 f x 3 x 1 (a) A minimal sum-of-products realization x 1 x 3 f x 2 (b) A minimal product-of-sums realization B&V: Figure 2.19. Two realizations of a function in Figure 2.18. ELEN 248
Aside: NAND and NOR realizations x1 x1 x1 x1 x2 x2 x2 x2 x3 x3 x3 x3 x4 x4 x4 x4 x5 x5 x5 x5 x1 x1 x2 x2 x3 x3 x4 x4 x5 x5 B&V: Figure 2.22. Using NAND gates to implement a sum-of-products. B&V: Figure 2.23. Using NOR gates to implement a product-of sums. ELEN 248
2-Level Combinational Logic Synthesis and OptimizationKarnaugh Maps recall min terms x x x x 1 2 1 2 x x x x 3 4 3 4 00 01 11 10 00 01 11 10 00 0 0 0 0 00 0 0 0 0 01 0 0 1 1 01 0 0 1 1 11 1 0 0 1 11 1 1 1 1 10 1 0 0 1 10 1 1 1 1 f = x x + x x x f = x + x x 2 3 1 3 1 4 2 3 1 4 x x x x 1 2 1 2 x x x x 3 4 3 4 00 01 11 10 00 01 11 10 00 1 0 0 1 00 1 1 1 0 01 0 0 0 0 01 1 1 1 0 11 1 1 1 0 11 0 0 1 1 10 1 1 0 1 10 0 0 1 1 x x 1 2 f = x x + x x + x x x f = x x + x x + or 2 4 1 1 3 3 3 2 3 4 4 1 3 x x 2 3 B&V: Figure 4.7. Examples of four-variable Karnaugh maps. ELEN 248
Design Flow Design Spec Step 1: Describe System (e.g. “flow chart”, “requirements”) Step 2: Think about the hardware you want to build! Building blocks. Step 3: Only then, write Verilog Hardware Description Languages CHALLENGE: If you do step 3 without or before the other two, you are (very likely) going to end up with a poor quality circuit. This isn’t a programming course! DESIGN ENTRY Schematic capture Verilog Synthesis Functional simulation No Design correct? Yes Physical design Timing simulation No Timing requirements met? Chip configuration B&V: Figure 2.29. A typical CAD system. ELEN 248
Verilog Example module LogicFunc(f, x1, x2, x3); input x1, x2, x3; output f; assign f = (x1 & x2) | ((~x2) & x3); endmodule x1 x2 f x3 B&V: Figure 2.30. A simple logic function. ELEN 248
Suggested Reading • Brown and Vranesic • Chapter 2 • Next week (Jan 23 & Jan 25), I will attend a conference in Japan. Dr. Choi will teach for me. • On Jan 30, please bring a sheet of paper with your name, email address, phone number and a photo on it. It’s for me to know who is who. No one else will get it. ELEN 248