Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 COMP541 Combinational Logic - 3 Montek Singh Jan 21, 2015.

Similar presentations


Presentation on theme: "1 COMP541 Combinational Logic - 3 Montek Singh Jan 21, 2015."— Presentation transcript:

1 1 COMP541 Combinational Logic - 3 Montek Singh Jan 21, 2015

2 Today’s Topics 2  Synthesis: from truth table to logic implementation from truth table to logic implementation  Schematic drawing conventions  Non-Boolean values “Don’t Cares”, or X values “Don’t Cares”, or X values “Floating values”, or Z values “Floating values”, or Z values

3 3 Mechanically Go From Truth Table to Function

4 4 From Truth Table to Logic Equation  Consider a truth table Standard sum-of-products implementation Standard sum-of-products implementation  OR of all product terms that are 1  For each row where output is 1 –write the minterm »called “ON-set minterm” –OR all of these minterms

5 5 Standard Forms  Not necessarily simplest F But it is a systematic way to go from truth table to function But it is a systematic way to go from truth table to function  Definitions: “Literal”: a single variable, complemented or not  Ā “Literal”: a single variable, complemented or not  Ā “Product terms”: AND of literals  ĀBZ “Product terms”: AND of literals  ĀBZ “Sum terms”: OR of product terms  X + Ā “Sum terms”: OR of product terms  X + Ā This is logical product and sum, not arithmetic This is logical product and sum, not arithmetic

6 6 Definition: Minterm  Product term in which all variables appear once (complemented or not) each minterm is 1 in exactly one row, 0 elsewhere each minterm is 1 in exactly one row, 0 elsewhere

7 7 Number of Minterms  For n variables, there will be 2 n minterms Like binary numbers from 0 to 2 n -1 Like binary numbers from 0 to 2 n -1 Often numbered same way (often in decimal) Often numbered same way (often in decimal)

8 8Maxterms  Sum term in which all variables appear once (complemented or not) each maxterm is 0 in exactly one row, 1 elsewhere each maxterm is 0 in exactly one row, 1 elsewhere

9 9 Minterm related to Maxterm  Minterm and maxterm with same subscripts are complements  Example

10 10 Implementation: Sum of Minterms  OR all of the minterms of truth table row with a 1 “ON-set minterms” “ON-set minterms” F = m 0 + m 2 + m 5 + m 7 F = m 0 + m 2 + m 5 + m 7

11 11 More General: Sum of Products  Simplifying sum-of-minterms can yield a sum of products difference is that each term need not be a minterm difference is that each term need not be a minterm i.e., terms do not need to have all variables i.e., terms do not need to have all variables  Ex:  Implementation is still AND-OR but products may contain fewer literals but products may contain fewer literals simplifies to:

12 12 Two-Level Implementation  Sum of products has 2 levels of gates ANDs followed by an OR ANDs followed by an OR equivalently: NANDs followed by a NAND equivalently: NANDs followed by a NAND

13 13 More Levels of Gates?  What’s best? Hard to answer Hard to answer More gate delays (more on this later) More gate delays (more on this later) But maybe we only have 2-input gates But maybe we only have 2-input gates  So multi-input ANDs and ORs have to be decomposed

14 14 Complement of a Function  Definition: 1s & 0s swapped in truth table  Mechanical way to derive algebraic form Take the dual Take the dual  Recall: Interchange AND and OR, and 1s & 0s Complement each literal Complement each literal

15 15 Complement of F  Not surprisingly, just sum of the other minterms sum of “OFF-set minterms” sum of “OFF-set minterms”  Example: F = m 0 + m 2 + m 5 + m 7 F = m 0 + m 2 + m 5 + m 7 F’ = m 1 + m 3 + m 4 + m 6 F’ = m 1 + m 3 + m 4 + m 6 simplifies to:

16 16 Product of Maxterms  Recall that maxterm is true except for its own case  So M1 is only false for 001

17 17 Product of Maxterms  Can express F as AND of all rows that should evaluate to 0 i.e., product of OFF-set Maxterms! i.e., product of OFF-set Maxterms! why? why?  a row in which F=0 (OFF-set)…  … has a Maxterm that is 0  which makes the product 0 or

18 18 Complement of F  Can express F’s complement similarly: product of ON-set Maxterms! product of ON-set Maxterms! why? why?  a row in which F=1 (ON-set)…  … has a Maxterm that is 0  which makes F’ zero or

19 19 More General: Product of Sums  Simplifying product-of-Maxterms can yield a product of sums difference is that each term need not be a Maxterm difference is that each term need not be a Maxterm i.e., terms do not need to have all variables i.e., terms do not need to have all variables  Ex:  Implementation is still OR-AND but each sum may contain fewer literals but each sum may contain fewer literals simplifies to: HOW??  homework problem (hint: distributive property)

20 From Equations to Gates  Simply parse the Boolean equation and replace each operator with a gate AND, OR, NOT gates AND, OR, NOT gates parentheses indicate hierarchy parentheses indicate hierarchy  Example: 20

21 21Recap  Working (so far) with AND, OR, and NOT  Algebraic identities  Algebraic simplification  Minterms and maxterms  Can now synthesize gate-level implementation from truth table

22 Drawing Style  Indicate inputs and outputs using arrows or: inputs at left/top, outputs at right/bottom or: inputs at left/top, outputs at right/bottom  If possible, gates should flow from left to right or: top to bottom or: top to bottom  Straight wires best or: keep bends at a minimum (preferably 90 deg) or: keep bends at a minimum (preferably 90 deg)  Connections: wires always connect at a “T” junction wires always connect at a “T” junction a dot at a wire crossing indicates connection a dot at a wire crossing indicates connection wire crossing without a dot means no connection wire crossing without a dot means no connection 22

23 Circuit Schematic Rules (cont.) Wire connections A dot where wires cross indicates a connection A dot where wires cross indicates a connection Wires crossing without a dot make no connection Wires crossing without a dot make no connection Wires always connect at a T junction Wires always connect at a T junction 23

24 Multiple Output Circuits: Example Output asserted corresponding to most significant TRUE input 24 Example: Priority Encoder Hardware

25 Example: Priority Encoder Hardware (contd.) 25

26 Values that are not 0’s and 1’s Don’t Cares (X) Floating values (Z) 26

27 X values  X is neither 1 nor 0 typically used to represent “unknown” or “illegal” values typically used to represent “unknown” or “illegal” values  Unknown e.g., an uninitialized value in a simulator e.g., an uninitialized value in a simulator  in hardware most flipflops will wake up to a 1 or a 0 value –but could be different each time it wakes up  Don’t Care an output specified as X means “don’t care” an output specified as X means “don’t care”  i.e., left unspecified: whatever comes out is okay  Illegal e.g., contention at output e.g., contention at output  two gates fighting 27

28 Actually: Several Meanings of X 28  When used to specify an input value Means: “Don’t Care”: this particular input variable’s value does not matter when determining the output Means: “Don’t Care”: this particular input variable’s value does not matter when determining the output Example: Output F is 1 when the inputs A, B, C are 1X1 Example: Output F is 1 when the inputs A, B, C are 1X1  Means F = AC // B is a Don’t Care  Unknown/uninitialized signal If a simulator cannot determine the value of a signal, it will display it as X If a simulator cannot determine the value of a signal, it will display it as X Other values that depend on this signal may also become X Other values that depend on this signal may also become X  Contention (illegal input value) Sometimes a simulator will use X to denote the value of a node that is being pulled both to 0 and to 1 Sometimes a simulator will use X to denote the value of a node that is being pulled both to 0 and to 1 Example: Outputs of two gates are shorted; or a gate has p- transistor and n-transistor network simultaneously on! Example: Outputs of two gates are shorted; or a gate has p- transistor and n-transistor network simultaneously on!

29 Don’t Cares (X) 29 Example: Priority Encoder Hardware More compact representation!

30 Z values  Also neither 1 nor 0 but actually “floating” but actually “floating” i.e., the output is neither connected to 0 (ground) nor to 1 (power supply) i.e., the output is neither connected to 0 (ground) nor to 1 (power supply)  Could be undesirable: actual voltage is highly susceptible to noise actual voltage is highly susceptible to noise  e.g., neighboring wires/gates could easily influence value  Could be by design: useful in buses, memories, multiplexers, etc. useful in buses, memories, multiplexers, etc.  usually one gate drives a wire to a 1 or 0  all others “float” their outputs example: tristate buffers/inverters example: tristate buffers/inverters  cover in next lecture 30

31 Next  Mon next week: Combinational building blocks Combinational building blocks 31


Download ppt "1 COMP541 Combinational Logic - 3 Montek Singh Jan 21, 2015."

Similar presentations


Ads by Google