Presentation is loading. Please wait.

Presentation is loading. Please wait.

EE 261 – Introduction to Logic Circuits

Similar presentations


Presentation on theme: "EE 261 – Introduction to Logic Circuits"— Presentation transcript:

1 EE 261 – Introduction to Logic Circuits
Module #4 – Boolean Algebra Topics Boolean Algebra Formation Minterms Maxterms Circuit Synthesis Logic Minimization Timing Hazards Textbook Reading Assignments 4.1–4.4 Practice Problems 4.2, 4.3, 4.7, 4.9, 4.14, 4.18, 4.19 Graded Components of this Module 3 homeworks, 3 discussions, 1 quiz (all online)

2 EE 261 – Introduction to Logic Circuits
Module #4 – Boolean Algebra What you should be able to do after this module Understand basic logic operations and theorems governing them Create a Minterm list, Maxterm list, Canonical SOP, and POS from a Truth Table Synthesize a logic diagram from either a Minterm list, Maxterm list, SOP, or POS Manipulate a logic diagram to have the same functionality using different gates Create a minimized logic expression using a K-map Add logic to a logic expression to avoid timing hazards

3 Boolean Algebra Boolean Algebra - formulated by mathematician George Boole in basic relationships & manipulations for a two-value system Switching Algebra - adaptation of Boolean Logic to analyzer and describe behavior of relays - Claude Shannon of Bell Labs in this works for all switches (mechanical or electrical) - we generally use the terms "Boolean Algebra" & "Switching Algebra" interchangeably

4 Boolean Algebra What is Algebra - the basic set of rules that the elements and operators in a system follow - the ability to represent unknowns using variables - the set of theorems available to manipulate expressions Boolean - we limit our number set to two values (0, 1) - we limit our operators to AND, OR, INV

5 Boolean Algebra Axioms - also called "Postulates" - minimal set of basic definitions that we assume to be true - all other derivations are based on these truths - since we only have two values in our system, we typically define an axiom and then its complement (A1 & A1')

6 Boolean Algebra Axiom #1 "Identity" - a variable X can only take on 1 or 2 values (0 or 1) - if it isn't a 0, it must be a 1 - if it isn't a 1, it must be a (A1) X = 0, if X ≠ 1 (A1') X = 1, if X ≠ 0 Axiom #2 "Complement" - a prime following a variable denotes an inversion function (A2) if X = 0, then X' = 1 (A2') if X = 1, then X' = 0

7 Boolean Algebra Axiom #3 "AND" - also called "Logical Multiplication" - a dot (·) is used to represent an AND function Axiom #4 "OR" - also called "Logical Addition" - a plus (+) is used to represent an OR function Axiom #5 "Precedence" - multiplication precedes addition (A3) 0·0 = 0 (A3') 1+1 = 1 (A4) 1·1 = 1 (A4') 0+0 = 0 (A5) 0·1 = 1·0 = 0 (A5') 0+1 = 1+0 = 1

8 Boolean Algebra Theorems - Theorems use our Axioms to formulate more meaningful relationships & manipulations - a theorem is a statement of TRUTH - these theorems can be proved using our Axioms - we can prove most theorems using "Perfect Induction" - this is the process of plugging in every possible input combination and observing the output F=A∙B + C A B C :

9 Boolean Algebra X X’ F=A+B 0 0 0 0 1 1 1 0 1 1 1 1 X X’ F=A∙B
Theorem #1 "Identity" (T1) X+0 = X (T1') X·1 = X Theorem #2 "Null Element" (T2) X+1 = 1 (T2') X·0 = 0 Theorem #3 "Idempotency" (T3) X+X = X (T3') X·X = X Theorem #4 "Involution" (T4) (X')' = X Theorem #5 "Complements" (T5) X+X' = 1 (T5') X·X' = 0 X X’ F=A+B X X’ F=A∙B

10 Boolean Algebra Theorem #6 "Commutative" (T6) X+Y = Y+X (T6') X·Y = Y·X Theorem #7 "Associative" (T7) (X+Y)+Z= X+(Y+Z) (T7') (X · Y) · Z= X · (Y · Z) Theorem #8 "Distributive" (T8) X·(Y+Z) = X·Y + X·Z (T8') (X+Y)·(X+Z) = X + Y·Z

11 Boolean Algebra Theorem #9 "Covering" (T9) X + X·Y = X (T9') X·(X+Y) = X Theorem #10 "Combining" (T10) X·Y + X·Y' = X (T10') (X+Y)·(X+Y') = X Theorem #11 "Consensus" (T11) X·Y + X'·Z + Y·Z= X·Y + X'·Z (T11') (X+Y)·(X'+Z)·(Y+Z) = (X+Y) ·(X'+Z)

12 Boolean Algebra Notes on the Theorems - T9/T9' and T10/T10' are used heavily in logic minimization - these theorems can be useful for making routing more reasonable - these theorems can reduce the number of gates in a circuit - they can also change the types of gates that are used

13 Boolean Algebra More Theorem's - there are more generalized theorems available for large number of variables T13, T14, T15 - one of the most useful is called "DeMorgan's Theorem" DeMorgan's Theorem - this theorem states a method to convert between AND and OR gates using inversions on the input / output

14 Boolean Algebra DeMorgan's Theorem Part 1: an AND gate whose output is complemented is equivalent to an OR gate whose inputs are complemented Part 2: an OR gate whose output is complemented is equivalent to an AND gate whose inputs are complemented = =

15 Boolean Algebra Complement - complementing a logic function will give outputs that are inverted versions of the original function ex) A B F F' - DeMorgan's Theorem also gives us a generic formula to complement any expression: for a Logic function F, we can get F' by : 1) Swapping all + and · 2) Complementing all Variables - KEEP THE PARENTHESIS ORDER OF THE ORGINAL FUNCTION !!!

16 → Boolean Algebra Complement - Example: Complement the Function F
ex) A B F F' We know: F = A · B We swap + and · first, then we complement all variables F' = A' + B' - This is the same as putting an inversion bubble on the output of the logic diagram

17 Boolean Algebra Duality - An Algorithm to switch between Positive Logic and Negative Logic - Duality means that the logic expression is exactly the same even though the circuitry has been altered to produce Complementary Logic - The steps are: - for a Logic function F, we can get FD by : 1) Swapping all + and · 2) Swapping all 0's and 1's - Ex) F = A · B (Positive Logic) We swap + and · first, then swap any 0's and 1's FD = A + B (Negative Logic or "Dual")

18 Boolean Algebra Complement vs. Duality, What is the difference?

19 Minterms Truth Tables Row A B C F Row We assign a "Row Number" for each entry starting at Variables We enter all input combinations in ascending order We use straight binary with the MSB on the left Function We say the output is a function of the input variables F(A,B,C) n = the number of input variables 2n = the number of input combinations

20 Minterms Let's also define the following terms Literal = a variable or the complement of a variable ex) A, B, C, A', B', C' Product Term = a single literal or Logical Product of two or more literals ex) A A·B B'·C Sum or Products = (SOP), the Logical Sum of Product Terms ex) A + B A·B + B'·C

21 Minterms Minterm - a normal product term w/ n-literals - a Minterm is written for each ROW in the truth table - there are 2n Minterms for a given truth table - we write the literals as follows: - if the input variable is a 0 in the ROW, we complement the Minterm literal - if the input variable is a 1 in the ROW, we do not complement the Minterm literal - for each ROW, we use a Logical Product on all of the literals to create the Minterm

22 Minterms Minterm Canonical Sum
Row A B C Minterm F A'·B'·C' F(0,0,0) A'·B'·C F(0,0,1) A'·B·C' F(0,1,0) A'·B·C F(0,1,1) A·B'·C' F(1,0,0) A·B'·C F(1,0,1) A·B·C' F(1,1,0) A·B·C F(1,1,1) Canonical Sum - we Logically Sum all Minterms that correspond to a Logic 1 on the output - the Canonical Sum represents the entire Logic Expression when the Output is TRUE - this is called the "Sum of Products" or SOP

23 Minterms Minterm List - we can also describe the full logic expression using a list of Minterms corresponding to a Logic 1 - we use the Σ symbol to indicate we are writing a Minterm list - we list the Row numbers corresponding to a Logic 1 Row A B C Minterm F A'·B'·C' A'·B'·C A'·B·C' A'·B·C A·B'·C' A·B'·C A·B·C' A·B·C F = ΣA,B,C (1,2,6) = (A'·B'·C) + (A'·B·C') + (A·B·C') - this is also called the "ON-set" - this list is very verbose and NOT minimized using our Axioms and Theorems (more on this later…)

24 Maxterms Let's define the following terms Sum Term = a single literal or a Logical Sum of two or more literals ex) A A + B' Product of Sums = (POS), the Logical Product of Sum Terms ex) (A+B)·(B'+C) Normal Term = a term in which no variable appears more than once ex) "Normal A·B A + B' ex) "Non-Normal" A·B·B' A + A'

25 Maxterms Maxterm - a Normal Sum Term w/ n-literals - a Maxterm is written for each ROW in the truth table - there are 2n Maxterms for a given truth table - we write the literals as follows: - if the input variable is a 0 in the ROW, we do not complement the Maxterm literal - if the input variable is a 1 in the ROW, we complement the Maxterm literal - for each ROW, we use a Logical Sum on all of the literals to create the Maxterm

26 Maxterms Maxterm Canonical Product
Row A B C Minterm Maxterm F A'·B'·C' A+B+C F(0,0,0) A'·B'·C A+B+C' F(0,0,1) A'·B·C' A+B'+C F(0,1,0) A'·B·C A+B'+C' F(0,1,1) A·B'·C' A'+B+C F(1,0,0) A·B'·C A'+B+C' F(1,0,1) A·B·C' A'+B'+C F(1,1,0) A·B·C A'+B'+C' F(1,1,1) Canonical Product - we Logically Multiply all Maxterms that correspond to a Logic 0 on the output - the Canonical Product represents the entire Logic Expression when the Output is TRUE - this is called the "Product of Sums" or POS

27 Maxterms Maxterm List - we can also describe the full logic expression using a list of Maxterms corresponding to a Logic 0 - we use the π symbol to indicate we are writing a Maxterm list - we list the Row numbers corresponding to a Logic 0 Row A B C Minterm Maxterm F A'·B'·C' A+B+C A'·B'·C A+B+C' A'·B·C' A+B'+C A'·B·C A+B'+C' A·B'·C' A'+B+C A·B'·C A'+B+C' A·B·C' A'+B'+C A·B·C A'+B'+C' 0 F = πA,B,C (0,3,4,5,7) = (A+B+C) · (A+B'+C') · (A'+B+C) · (A'+B+C') · (A'+B'+C') - this is also called the "OFF-set" - this list is very verbose and NOT minimized

28 Maxterms Maxterm vs. Minterm
- a Maxterm is the Dual of a Minterm - this implies an inversion - however, by writing a POS for when the Maxterm is a Logic 0, we perform another inversion - these two inversions yield the original logic expression for when the function is 1 - SOP = POS

29 Maxterms Minterms & Maxterm - we now have 5 ways to describe a Logic Expression 1) Truth Table 2) Minterm List 3) Canonical Sum 4) Maxterm List 5) Canonical Product - these all give the same information Converting Between Minterms and Maxterms - Minterms and Maxterms are Duals - this means we can convert between then easily using DeMorgan's duality theorem - converting a SOP to its dual gives Negative Logic - converting a POS to its dual gives Negative Logic

30 Circuit Synthesis Circuit Synthesis - there are 5 ways to describe a Logic Expression 1) Truth Table 2) Minterm List 3) Canonical Sum 4) Maxterm List 5) Canonical Product - we can directly synthesis circuits from SOP and POS expressions SOP = AND-OR structure POS = OR-AND structure

31 Circuit Synthesis Circuit Synthesis - For the given Truth Table, synthesize the SOP and POS Logic Diagrams Row A B Minterm Maxterm F A'·B' A+B A'·B A+B' A·B' A'+B A·B A'+B' Minterm List & SOP Maxterm List & POS F = ΣA,B (0,1) = A'·B' + A'·B F = πA,B (2,3) = (A'+B) · (A'+B')

32 Circuit Synthesis Circuit Manipulation - we can manipulate our Logic Diagrams to give the same logic expression but use different logic gates - this can be important when using technologies that: - only have certain gates (i.e., INV, NAND, NOR) - have certain gates that are faster than others (i.e., NAND-NAND, NOR-NOR) - we can convert a SOP/POS logic diagram into a NAND-NAND or NOR-NOR structure

33 Circuit Synthesis Common Circuit Manipulation "DeMorgan's" = =

34 Circuit Synthesis Common Circuit Manipulation "Moving Inversion Bubbles"

35 Circuit Synthesis Common Circuit Manipulation "Inserting Double Inversion Bubbles"

36 Circuit Synthesis Common Circuit Manipulation "Bubbles can be moved to either side of an Inverter"

37 Logic Minimization Logic Minimization - We've seen that we can directly translate a Truth Table into a SOP/POS and in turn a Logic Diagram - However, this type of expression is NOT minimized ex) Row A B Minterm Maxterm F A'·B' A+B A'·B A+B' A·B' A'+B A·B A'+B' Minterm List & SOP Maxterm List & POS F = ΣA,B (0,1) = A'·B' + A'·B F = πA,B (2,3) = (A'+B) · (A'+B')

38 Logic Minimization Logic Minimization - using our Axioms and Theorems, we can manually minimize the expressions… Minterm List & SOP Maxterm List & POS F = A'·B' + A'·B F = (A'+B) · (A'+B') F = A'·(B'+B) = A' F = A' + (B'·B) = A' - doing this by hand can be difficult and requires that we recognize patterns associated with our 5 Axioms and our 15+ Theorems Karnaugh Maps - a graphical technique to minimize a logic expression

39 Logic Minimization Karnaugh Map Creation - we create an array with 2n cells - each cell contain the value of F at a particular input combination - we label each Row and Column so that we can easily determine the input combinations - each cell only differs from its adjacent neighbors by 1-variable List Variables Top-to-Bottom List Input Combinations for the Variables for each Row/Column A B 1 1

40 Logic Minimization A B Karnaugh Map Creation 1 1 A’ A B’ B
1 2 B’ 1 3 B 1 We can also put the Truth Table Row number so that copying the Truth Table values into the K-map is straight-forward We can put redundant labeling for when a variable is TRUE. This helps when creating larger K-maps

41 Logic Minimization Karnaugh Map Creation - we can now copy in the Function values Row A B Minterm Maxterm F A'·B' A+B A'·B A+B' A·B' A'+B A·B A'+B' at this point, the K-map is simply the same information as in the Truth Table - we could write a SOP or POS directly from the K-map if we wanted to A A B 1 1 2 1 1 3 B 1

42 Logic Minimization AB C
Karnaugh Map Creation - we can create 3 variable K-Maps - notice the input combination numbering in order to achieve no more than 1-variable difference between cells AB A C 00 01 11 10 2 6 4 1 3 7 5 C 1 B

43 Logic Minimization AB CD
Karnaugh Map Creation - we can create 4 variable K-Maps AB A CD 00 01 11 10 4 12 8 00 1 5 13 9 01 D 3 7 15 11 11 C 2 6 14 10 10 B

44 Logic Minimization Karnaugh Map Minimization - we can create a minimized SOP logic expression by performing the following: 1) Circle adjacent 1's in groups of power-of powers of 2 means 1,2,4,8,16,… adjacent means neighbors above, below, right, left (not diagonal) - we can wrap around the ends to form group - this is called "Combining Cells" 2) We then write a Product Term for each circle following: if the circle covers areas where the variable is 0, we enter a complemented literal in the product term if the circle covers areas where the variable is 1, we enter an non-complemented literal in the product term if the circle covers areas where the variable is both a 0 and 1, we can exclude the variable from the product term 3) We then Sum the Product Terms

45 Logic Minimization Karnaugh Map Minimization - let's write a minimized SOP for the following K-map A A B 1 1 2 1 1 3 B 1 - this circle covers 2 cells - the circle covers: - where A=0, so the literal is A' - where B=0 and 1, so the literal is excluded - our final SOP expression is F = A'

46 Logic Minimization AB C 1 1 1 1 Karnaugh Map Minimization 00 01 11 10
- this circle covers 1 cell - the circle covers: - where A=0, so the literal is A' - where B=1, so the literal is B - where C=0, so the literal is C' - The product term for this circle is : A'·B·C' AB A C 00 01 11 10 1 2 6 4 1 1 3 7 1 1 5 C 1 - this circle covers 2 cells - the circle covers: - where A=1, so the literal is A - where B=0 and 1, exclude the literal - where C=1, so the literal is C - The product term for this circle is : A·C B - this circle covers 2 cells - the circle covers: - where A=0 and 1, exclude the literal - where B=0, so the literal is B' - where C=1, so the literal is C - The product term for this circle is : B'·C - our final minimized SOP expression is F = A'·B·C' + A·C + B'·C

47 Logic Minimization AB C 1 1 1 1
Karnaugh Map Minimization - the original Canonical SOP for this Map would have been F = A'·B'·C + A'·B·C' + A·B'·C + A·B·C - our minimized SOP expression is now: F = A'·B·C' + A·C + B'·C - this minimization resulted in: - one less input on the OR gate - one less AND gate - two AND gates having 2 inputs instead of 3 AB A C 00 01 11 10 2 1 6 4 1 1 3 7 1 1 5 C 1 B

48 Logic Minimization 2-Variable K-Map Example - write a minimal SOP for the following truth table Row A B Minterm Maxterm F A'·B' A+B A'·B A+B' A·B' A'+B A·B A'+B' we first copy in the output values into the K-map A A B 1 1 2 1 1 3 1 B 1

49 Logic Minimization 2-Variable K-Map Example - we then circle groups of 1's in order to find the Product Term for each circle A A - this circle covers 2 cells - the circle covers: - where A=1, so the literal is A - where B=0 and 1, exclude the literal - The product term for this circle is : A B 1 1 2 1 1 1 3 B 1 - this circle covers 2 cells - the circle covers: - where A=0 and 1, exclude the literal - where B=1, so the literal is B - The product term for this circle is : B

50 Logic Minimization 2-Variable K-Map Example - we then write a SOP expression for each circles' Product Term A A B 1 1 2 1 1 3 1 B 1 The minimized SOP is : A + B

51 Logic Minimization AB C 1 1 1 1 1 1
3-Variable K-Map Example - write a minimal SOP expression for the following truth table Row A B C Minterm Maxterm F A'·B'·C' A+B+C A'·B'·C A+B+C' A'·B·C' A+B'+C A'·B·C A+B'+C' A·B'·C' A'+B+C A·B'·C A'+B+C' A·B·C' A'+B'+C A·B·C A'+B'+C' 1 AB A C 00 01 11 10 2 1 1 6 4 1 1 1 3 7 1 1 5 C 1 B

52 Logic Minimization AB C 1 1 1 1 1 1 3-Variable K-Map Example 00 01 11
- this circle covers 2 cells - the circle covers: - where A=0/1, so exclude literal - where B=1, so the literal is B - where C=0, so the literal is C' - The product term for this circle is : B·C' AB A C 00 01 11 10 1 2 1 6 4 1 1 1 3 7 1 1 5 C 1 - this circle covers 4 cells - the circle covers: - where A=1, so the literal is A - where B=0/1, so exclude the literal - where C=0/1, so exclude the literal - The product term for this circle is : A B - this circle covers 2 cells - the circle covers: - where A=0 and 1, exclude the literal - where B=0, so the literal is B' - where C=1, so the literal is C - The product term for this circle is : B'·C - our final minimized SOP expression is F = A + B·C' + B'·C

53 Logic Minimization AB CD 1 1 1 1 1 1
4-Variable K-Map Example - write a minimal SOP expression for the following truth table Row A B C D F AB A CD 00 01 11 10 4 12 1 8 00 1 1 5 13 9 1 01 D 3 1 7 15 1 11 11 C 2 6 14 10 1 10 B

54 Logic Minimization AB CD 1 1 1 1 1 1 4-Variable K-Map Example 00 01 11
- this circle covers 4 cells - the circle covers: - where A=1, so the literal is A - where B=0, so the literal is B' - where C=0/1, so exclude the literal - where D=0/1, so exclude the literal - The product term for this circle is : A·B' 4-Variable K-Map Example AB A CD 00 01 11 10 4 12 8 1 00 1 1 5 13 9 1 01 - this circle covers 4 cells - the circle covers: - where A=0/1, so exclude the literal - where B=0, so the literal is B' - where C=0/1, so exclude the literal - where D=1, so the literal is D - The product term for this circle is : B'·D D 1 3 7 15 11 1 11 C 2 6 14 10 1 10 B - our final minimized SOP expression is F = A·B' + B'·D

55 Logic Minimization (POS)
3-Variable K-Map Example - write a minimal POS expression for the following truth table Row A B C Minterm Maxterm F A'·B'·C' A+B+C A'·B'·C A+B+C' A'·B·C' A+B'+C A'·B·C A+B'+C' A·B'·C' A'+B+C A·B'·C A'+B+C' A·B·C' A'+B'+C A·B·C A'+B'+C' 1 Similar to SOP except: - Circle 0’s - Form a Sum Term for each circle where: variable = 0, include un-complemented variable = 1, include complemented variable = 0 and 1, exclude - Form POS with all Sum Terms AB A C 00 01 11 10 2 1 1 6 4 1 1 3 7 1 1 5 C 1 B

56 Logic Minimization (POS)
3-Variable K-Map Example AB A C 00 01 11 10 1 2 6 1 1 4 1 3 7 1 5 1 C 1 - this circle covers 2 cells - the circle covers: - where A=0, the literal is A - where B=0 and 1, so it is excluded - where C=1, the literal is C’ - The sum term for this circle is : (A + C’) B - this circle covers 2 cells - the circle covers: - where A=0, the literal is A - where B=0, the literal is B - where C=0 and 1, so it is excluded - The sum term for this circle is : (A + B) - our final minimized POS expression is F = (A + B)·(A+C’)

57 Logic Minimization AB C 1 1 1 1
K-Map Logic Minimization - we can use K-maps to write a minimal SOP (and POS) - however, we've seen that there is a potential for redundant Product Terms we need to define what it is to be "Minimized" AB A C 00 01 11 10 2 1 6 4 1 1 3 1 7 1 5 C 1 Is this circle necessary?

58 Logic Minimization K-Map Logic Minimization Minimal Sum - No other expression exists that has fewer product terms fewer literals Imply - a logic function P "implies" a function F if every input combination that causes P= also causes F= may also cause more 1's we say that: "F includes P" "F covers P" "F => P"

59 Logic Minimization K-Map Logic Minimization Prime Implicant - a Normal Product Term of F (i.e., a P that implies F) where if any variable is removed from P, the resulting product does NOT imply F K-maps: a circled set of 1's that cannot be larger without circling or more 0's Prime Implicant Theorem a Minimal Sum is a sum of Prime Implicants BUT Does not need to include ALL prime Implicants

60 Logic Minimization K-Map Logic Minimization Complete Sum - the product of all Prime Implicants (not minimized) Distinguished 1-Cell an "input combination" that is covered by only ONE Prime Implicant Essential Prime Implicant a Prime Implicant that covers one or more "Distinguished 1-Cells" NOTE: - the sum of Essential Prime Implicants is the Minimal Sum this means we're done minimizing

61 Logic Minimization K-Map Logic Minimization Steps for Minimization 1) Identify All Prime Implicants 2) Identify the Distinguished 1-Cells 3) Identify the Essential Prime Implicants 4) Create the SOP using Essential Prime Implicants

62 Minimal Sum AB CD 1 1 1 1 4-Variable K-Map Example 00 01 11 10 00 01
What is the complete sum? F = A·C’·D + A·B·D + B·C·D What are the distinguished 1 cells? Cell 7 & Cell 9 What are the essential Prime Implicants? A·C’·D and B·C·D What is the minimal sum: F = A·C’·D + B·C·D AB A CD 00 01 11 10 4 12 8 00 1 5 13 1 1 9 01 D 3 7 1 1 15 11 11 C 2 6 14 10 10 B

63 Logic Minimization AB C 1 1 X X 1
Don't Cares - sometimes it doesn't matter whether the output is a 1 or 0 for a certain input combination - we can take advantage of this during minimization by treating the don't care as a 1 or 0 depending on whether it makes finding Prime Implicants easier - We denote X = Don't Care Row A B C Minterm Maxterm F A'·B'·C' A+B+C A'·B'·C A+B+C' A'·B·C' A+B'+C A'·B·C A+B'+C' X A·B'·C' A'+B+C A·B'·C A'+B+C' A·B·C' A'+B'+C A·B·C A'+B'+C' X AB A C 00 01 11 10 2 1 6 4 1 1 3 X 7 X 1 5 C 1 B

64 Timing Hazards Hazards - we've only considered the Static (or steady state) values of combination logic - in reality, there is delay present in the gates - this can cause different paths through the circuit which arrive at different times at the input to a gate - this delay can cause an unwanted transition or "glitch" on the output of the circuit - this behavior is known as a "Timing Hazard" - a Hazard is the possibility of an input combination causing a glitch

65 Timing Hazards Static-1 - when we expect the output to produce a steady 1, but a 0-glitch occurs this occurs in SOP (AND-OR) structures Definition A pair of input combinations that (a) differ in only one input variable (b) both input combinations produce a 1 There is a possibility that a change between these input combinations will cause a 0

66 Timing Hazards Static-0 - when we expect the output to produce a steady 0, but a 1-glitch occurs this occurs in POS (OR-AND) structures Definition A pair of input combinations that (a) differ in only one input variable (b) both input combinations produce a 0 There is a possibility that a change between these input combinations will cause a 1

67 Timing Hazards Hazards and K-maps - K-maps graphically show input combinations that vary by only one variable - it is easy to see when adjacent cells have 1's and have a potential Timing Hazard this is a Minimal Sum, BUT, what about the transition from A·B·C to A·B·C'? - there is a Timing Hazard present!!! AB A C 00 01 11 10 2 1 6 4 1 1 3 1 7 1 5 C 1 B

68 Timing Hazards Hazards and K-maps - the solution is to add an additional product term (Prime Implicant) to cover the transition - this ensures that the output is valid while transitioning between any input combination this is NOT a Minimal Sum, but it is Hazard Free AB A C 00 01 11 10 2 1 6 4 1 1 3 1 7 1 5 C 1 B

69 Timing Hazards Dynamic Hazards - when we undergo a transition on the output but multiple transitions occur this is again due to multiple paths w/ different delays from input to output - typically is larger leveled logic - Solution: If the circuit is Static Hazard Free, then it is Dynamic Hazard Free

70 Timing Hazards Hazard Prevention - adding redundant Prime Implicants will prevent Hazards but can sometime add too much logic - we can also perform delay matching through the circuit by inserting buffers so that the delay is the same at each level of logic

71 Module Overview Combinational Logic Design Flow - We now have all the pieces for a complete design process 1) Design Specifications : description of what we want to do 2) Truth Table : listing the logical operation of the system 3) Describe using : creating the logic expression SOP/POS/Minterm/Maxterm 4) Logic Minimization : K-maps 5) Logic Manipulation : Convert to desired technology (NAND/NAND, …) 6) Hazard Prevention

72 Module Overview Topics Boolean Algebra - Axioms variable Theorems - Multi-variable Theorems - DeMorgan's - Duality Term - Literals - Product Term - SOP - Sum Term - POS - Normal Term - Variable Minterms & SOP Maxterms & POS Synthesis and Manipulation K-Maps - creating - imply - Prime Implicant - Prime Implicant Theorem - Distinguished 1-Cell - Essential Prime Implicant Don't Cares Hazards - Static Static Dynamic - Prevention redundant Prime Implicant delay matching Combination Logic Design Flow


Download ppt "EE 261 – Introduction to Logic Circuits"

Similar presentations


Ads by Google