1 / 142

Logic Circuits and Computer Architecture

Logic Circuits and Computer Architecture. Appendix A Digital Logic Circuits Part 1: Combinational Circuits and Minimization. Discrete. Discrete. Information. Inputs. Discrete. Processing. Outputs. System. System State. Digital System.

salliet
Download Presentation

Logic Circuits and Computer Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Logic Circuits and Computer Architecture Appendix A Digital Logic Circuits Part 1: Combinational Circuits and Minimization RLAC (2008-09) by Luciano Gualà

  2. Discrete Discrete Information Inputs Discrete Processing Outputs System System State Digital System • Takes a set of discrete information inputs and discrete internal information (system state) and generates a set of discrete information outputs RLAC (2008-09) by Luciano Gualà

  3. Basic circuits • Combinational • without memory, stateless • Output = Function(Input) • Sequential • with memory, state dependent behaviour • State = Function (State, Input) • Output = Function (State) or Function (State, Input) • It can be: • Synchronous: state updated at discrete times • Asynchronous: State updated at any times RLAC (2008-09) by Luciano Gualà

  4. Digital System Example: A B Combinational Circuit Inputs: Representation of A and B A + B Outputs: Representation of A+ B RLAC (2008-09) by Luciano Gualà

  5. Digital System Example: A Digital Counter (e. g., odometer): Count Up 0 0 1 3 5 6 4 Reset Inputs: Count Up, Reset Outputs: Visual Display "Value" of stored digits State: RLAC (2008-09) by Luciano Gualà

  6. Information Representation - Signals • Information variables represented by physical quantities (signals)  • For digital systems, the variables take on discrete values • Two level, or binary values are the most prevalent values in digital systems  • Binary values are represented abstractly by: • digits 0 and 1 • words (symbols) False (F) and True (T) • words (symbols) Low (L) and High (H) • and words On and Off • Binary values are represented by values or ranges of values of physical quantities RLAC (2008-09) by Luciano Gualà

  7. Signal Examples Over Time Time Continuous in value & time Analog Digital Discrete in value & continuous in time Asynchronous Discrete in value & time Synchronous RLAC (2008-09) by Luciano Gualà

  8. Signal Example – Physical Quantity: Voltage Threshold Region RLAC (2008-09) by Luciano Gualà

  9. Binary Values: Other Physical Quantities • What are other physical quantities represent 0 and 1? • CPU • Disk • CD • Dynamic RAM voltage Magnetic Field Direction Surface Pits/Light Electrical Charge RLAC (2008-09) by Luciano Gualà

  10. Information processing • by means of boolean gates • a boolean gate implements simple boolean operations (see later) • basic gates: • AND, OR, NOT • gates are used to build circuits RLAC (2008-09) by Luciano Gualà

  11. Number Systems – Representation Positive radix, positional number systems • A number with radix ris rapresented by a string of digits: • A=an-1an-2…a1a0 .a-1,a-2,…,a-m • 0  ai < r • “.” is the radix point • Its (decimal) value is: RLAC (2008-09) by Luciano Gualà

  12. Number Systems – Examples powers of radix RLAC (2008-09) by Luciano Gualà

  13. Case r =2 • Let A=an-1an-2…a1a0 .a-1,a-2,…,a-m be a string of bit (binary digit) • Its (decimal) value is: Example: 1001.1011 = 23 + 20 +2-1 + 2-3 + 2-4 =9.6875 RLAC (2008-09) by Luciano Gualà

  14. Decimal r =10 Binary r =2 Octal r =8 Hexadecimal r =16 00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 0 1 2 3 4 5 6 7 8 9 A B C D E F 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 RLAC (2008-09) by Luciano Gualà

  15. Decimal to binary conversion • Represent (111.6875)10 in pure binary Idea: • Convert the integer part into  • Convert the fractional part into  • Result: . RLAC (2008-09) by Luciano Gualà

  16. Conversion of integer part • Represent (111)10 in pure binary • Repeat division by 2 111:2= 55 remainder 1 55:2= 27 remainder 1 27:2= 13 remainder 1 13:2= 6 remainder 1 6:2= 3 remainder 0 3:2= 1 remainder 1 1:2= 0 remainder 1 • RESULT: 1101111 • N.B.: Result bits are produced in reverse order Least Significant Bit (LSB) Most Significant Bit (MSB) RLAC (2008-09) by Luciano Gualà

  17. Conversion of fractional part • Iterate multiplication taking the integer parts • Binary representation for 0.6875 ? 0.6875 x 2 = 1.375 take 1 0.375 x 2 = 0.75 take 0 0.750 x 2 = 1.5 take 1 0.5 x 2 = 1.0 take 1 • Result: 0.1011 • N.B.: Result bits here are produced MSB to LSB • the procedure sometimes does not converge • stop when the desired precision is reached MSB LSB (111.6875)10= (1101111.1011)2 RLAC (2008-09) by Luciano Gualà

  18. Boolean Algebra • A useful mathematical system for specifying and transforming logic functions • We study Boolean algebra as a foundation for designing and analyzing digital systems! • Named from George Boole RLAC (2008-09) by Luciano Gualà

  19. George Boole (1815-1864) An Investigation of the Laws of Thought, on Which are founded the Mathematical Theories of Logic and Probabilities (1854) RLAC (2008-09) by Luciano Gualà

  20. Claude Shannon (1916-2001) A Symbolic Analysis of Relay and Switching Circuits (1938) ENIAC (Electronic Numerical Integrator And Calculator) (1946) RLAC (2008-09) by Luciano Gualà

  21. Boolean Algebra • Boolean Algebra deals with • Binary variables take on one of two values. • Logical operators operate on binary values and binary variables • the two binary values have different names: • True/False • On/Off • Yes/No • 1/0 • Basic logical operators are the logic functions AND, OR and NOT • Logic gates implement logic functions RLAC (2008-09) by Luciano Gualà

  22. Logical Operations • The three basic logical operations are: • AND , OR, NOT • AND is denoted by a dot (·). • OR is denoted by a plus (+). • NOT is denoted by an overbar ( ¯ ), a single quote mark (') after, or (~) before the variable • Intended meaning (for humans - Laws of Thought) • AND: both inputs are true • OR: at least one input is true • NOT: negate the input RLAC (2008-09) by Luciano Gualà

  23. Notation Examples • Examples: • Y = AB is read “Y is equal to A AND B.” • z = x+y is read “z is equal to x OR y.” • X=A’ is read “X is equal to NOT A.” • Note: The statement: • 1 + 1 = 2 (read “one plus one equals two”) is not the same as • 1 + 1 = 1 (read “1 or 1 equals 1”). RLAC (2008-09) by Luciano Gualà

  24. AND 0 · 0 = 0 0 · 1 = 0 NOT OR 1 · 0 = 0 1 + 1 = 1 0 + 0 = 0 = 0 1 1 · 1 = 1 0 + 1 = 1 = 1 0 1 + 0 = 1 Operator Definitions • Operations are defined on the values "0" and "1" for each operator: RLAC (2008-09) by Luciano Gualà

  25. Boolean functions • Basic logical operators are the boolean functions f(x1,…,xn): {0,1}n {0,1} arguments domain codomain RLAC (2008-09) by Luciano Gualà

  26. Formal definition of functions (1) • By means of “truth tables” • Explicit representation of the output for all possible combinations of values on its arguments RLAC (2008-09) by Luciano Gualà

  27. …truth table for a 3-variable function… f(A,B,C)= 1 if and only if at least 2 variables are equal to 1 RLAC (2008-09) by Luciano Gualà

  28. …number of rows of a truth table… • 1-variable function • 2 • 2-variable function • 4 • 3-variable function • 8 … • n-variable function • 2n RLAC (2008-09) by Luciano Gualà

  29. Formal definition of functions (2) • By means of “boolean equation”: the function is specified as boolean expression of its arguments • boolean equation consists of: • variables • constants 0 and 1 • boolean operations (AND, OR, NOT) • parentheses M(A,B) = (((A)’(B)’) + (AB)) M = (((A)’(B)’) + (AB)) RLAC (2008-09) by Luciano Gualà

  30. Boolean Operator Precedence • The order of evaluation in boolean expression is: • Parentheses • NOT • AND • OR • Consequence: parantheses appear around OR expressions • Example: F=A(B+C)(C+D’) M = (((A)’(B)’) + (AB)) M = A’B’ + AB RLAC (2008-09) by Luciano Gualà

  31. From the boolean formula to truth table • Explicit case-by-case evaluation • Example: F = X + Y’Z RLAC (2008-09) by Luciano Gualà

  32. Logic gates • A logic gate implements simple boolean operation • basic gates: • AND, OR, NOT • gates are used to build circuits RLAC (2008-09) by Luciano Gualà

  33. NOT gate - the simplest one • NOT gate - inverts the signal If A is 0, X is 1 If A is 1, X is 0 • A NOT gate is also called an inverter RLAC (2008-09) by Luciano Gualà

  34. AND gate • Output is 1 if all inputs are 1 • In general, if the AND gate has N inputs, input 1 AND input 2 AND … AND input N must be 1 for the output to be 1 • 2-input AND gate RLAC (2008-09) by Luciano Gualà

  35. OR gate • Output is 1 if at least one input is 1 • In general, if the OR gate has N inputs, input 1 OR input 2 OR … OR input N must be 1 for the output to be 1 • 2-input OR gate RLAC (2008-09) by Luciano Gualà

  36. A more complex example • 2-input “equivalence” circuit • The output is 1 if the inputs are the same • (i.e., both 0 or both 1) Truth table • Boolean function: M = A’B’ + AB RLAC (2008-09) by Luciano Gualà

  37. Formal definition of functions (3) • By means of logic circuits • Combination of logic gates joined by wires RLAC (2008-09) by Luciano Gualà

  38. Conventions for logic circuits RLAC (2008-09) by Luciano Gualà

  39. From boolean formula to logic circuit • Idea: bottom-up construction • Example: write the logic circuit for F = X + Y’Z RLAC (2008-09) by Luciano Gualà

  40. A more complex example • Exercise: bluid the logic circuit of the following function F = (A+BC)D + E RLAC (2008-09) by Luciano Gualà

  41. From logic circuit to… • …truth table • explicit case-by-case computation • …boolean formula • left-to-right inspection RLAC (2008-09) by Luciano Gualà

  42. Example • Write the boolean function and its truth table for the following logic circuit F =Y’+X’YZ’+XY X’YZ’ XY RLAC (2008-09) by Luciano Gualà

  43. Function and Truth Table • F = Y’ + X’YZ’ + XY RLAC (2008-09) by Luciano Gualà

  44. One more example… • Write the boolean function and its truth table for the following logic circuit X’ X’YZ X’YZ’ = Z’ X’YZ+X’YZ’+XZ XZ RLAC (2008-09) by Luciano Gualà

  45. Function and Truth Table • F = X’YZ + X’YZ’ + XZ RLAC (2008-09) by Luciano Gualà

  46. Conversion between representations • Circuit -> -> Boolean formula (left-to-right inspection) -> Truth table (explicit case-by-case computation) • Boolean formula -> -> Circuit (bottom-up construction) -> Truth table (explicit case-by-case evaluation) • Truth table -> -> Circuit (through boolean formula) -> Boolean formula (through canonical form – see later) RLAC (2008-09) by Luciano Gualà

  47. duality principle: any algebraic equality remains true when the operators OR and AND, and the elements 0 and 1 are interchanged Boolean Identities 1A = A 0+A = A Identity 0A = 0 1+A = 1 Null AA = A A+A = A Idempotent AA’ = 0 A+A’ = 1 Inverse AB = BA A+B = B+A Commutative (AB)C = A(BC) (A+B)+C = A+(B+C) Associative A+BC = (A+B)(A+C) A(B+C) = AB+AC Distributive A(A+B) = A A+AB = A Absorption (AB)’ = A’+B’ (A+B)’ = A’B’ De Morgan RLAC (2008-09) by Luciano Gualà

  48. Truth tables to verify De Morgan’s theorem RLAC (2008-09) by Luciano Gualà

  49. Remark Each equality remains true if you sobstitute any variable with any expression Examples (A+B)(A+CD’) = A + BCD’ (distributive) ((A+BC)(D+A))’ = (A+BC)’ + (D+A)’ (De Morgan) = A’ (BC)’ + D’A’ (De Morgan) = A’(B’+C’) + D’A’ RLAC (2008-09) by Luciano Gualà

  50. Generalized De Morgan’s theorems X1+X2+…+Xn = X1 X2 … Xn X1 X2… Xn = X1+X2+…+Xn RLAC (2008-09) by Luciano Gualà

More Related