1 / 38

ECE 331 – Digital System Design

Minterms and Maxterms, Incompletely Specified Functions, and Design and Analysis of Combinational Logic Ckts (Lecture #5). ECE 331 – Digital System Design. The slides included herein were taken from the materials accompanying

francois
Download Presentation

ECE 331 – Digital System Design

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. Minterms and Maxterms, Incompletely Specified Functions, and Design and Analysis of Combinational Logic Ckts (Lecture #5) ECE 331 – Digital System Design The slides included herein were taken from the materials accompanying Fundamentals of Logic Design, 6th Edition, by Roth and Kinney, and were used with permission from Cengage Learning.

  2. ECE 331 - Digital System Design Minterms and Maxterms

  3. ECE 331 - Digital System Design Minterm • In general, a minterm of n variables is a product (ANDing) of n literals in which each variable appears exactly once in either true or complemented form, but not both. • A literal is a variable or its complement. • For a given row in the truth table, the corresponding minterm is formed by • Including the true form a variable if its value is 1. • Including the complemented form of a variable if its value is 0.

  4. ECE 331 - Digital System Design Minterms

  5. ECE 331 - Digital System Design Minterm Expansion • When a function f is written as a sum (ORing) of minterms, it is referred to as a minterm expansion or a standard sum of products. • aka. “canonical sum of products” • aka. “disjunctive normal form” • If f = 1 for row i of the truth table, then mi must be present in the minterm expansion. • The minterm expansion for a function f is unique. • However, it is not necessarily the lowest cost.

  6. ECE 331 - Digital System Design Exercise: Determine the minterm expansion for the function specified by the following truth table. Minterm Expansion

  7. ECE 331 - Digital System Design Exercise: Determine the minterm expansion for each of the following Boolean expressions. F1 = ABC' + AB'C + A'BC + A'BC' + AB'C' F2 = ABCD + ABC'D' + A'BC'D + AB'C'D Minterm Expansion

  8. ECE 331 - Digital System Design Exercise: Determine the minterm expansion for each of the following Boolean expressions. F3 = AB + BC + A'C' F4 = A.(B + C) + (A' + B).(B + C') Minterm Expansion

  9. ECE 331 - Digital System Design Minterm Expansion The minterm expansion for a general function of three variables can be written as follows: Denotes the logical sum operation This is the truth table for a general function of three variables. Each ai is a constant with a value of 0 or 1.

  10. ECE 331 - Digital System Design Maxterm • In general, a maxterm of n variables is a sum (ORing) of n literals in which each variable appears exactly once in either true or complemented form, but not both. • A literal is a variable or its complement. • For a given row in the truth table, the corresponding maxterm is formed by • Including the true form a variable if its value is 0. • Including the complemented form of a variable if its value is 1.

  11. ECE 331 - Digital System Design Maxterms

  12. ECE 331 - Digital System Design Maxterm Expansion • When a function f is written as a product (ANDing) of maxterms, it is referred to as a maxterm expansion or a standard product of sums. • aka. “canonical product of sums” • aka. “conjunctive normal form” • If f = 0 for row i of the truth table, then Mi must be present in the maxterm expansion. • The maxterm expansion for a function f is unique. • However, it is not necessarily the lowest cost.

  13. ECE 331 - Digital System Design Exercise: Determine the maxterm expansion for the function specified by the following truth table. Maxterm Expansion

  14. ECE 331 - Digital System Design Exercise: Determine the maxterm expansion for each of the following Boolean expressions. F1 = (A+B+C')(A+B'+C)(A'+B+C)(A'+B+C')(A+B'+C') F2 = (A+B+C+D)(A+B+C'+D')(A'+B+C'+D)(A+B'+C'+D) Maxterm Expansion

  15. ECE 331 - Digital System Design Exercise: Determine the maxterm expansion for each of the following Boolean expressions. F3 = (A + B')(A + C)(B + C') F4 = A'.B' + A'.C' + B'.C Maxterm Expansion

  16. ECE 331 - Digital System Design Maxterm Expansion The maxterm expansion for a general function of three variables can be written as follows: Denotes the logical product operation This is the truth table for a general function of three variables. Each ai is a constant with a value of 0 or 1.

  17. ECE 331 - Digital System Design Conversion between Forms

  18. ECE 331 - Digital System Design Circuit Design • A function f can be represented by either a minterm expansion or a maxterm expansion. • Both forms of the function can be realized using logic gates that implement the basic logic operations. • Minterm Expansion (Standard SOP) • Consists of the sum (OR) of product (AND) terms. • Realized using an AND-OR circuit. • Maxterm Expansion (Standard POS) • Consists of the product (AND) of sum (OR) terms. • Realized using an OR-AND circuit.

  19. ECE 331 - Digital System Design Circuit Design • However, the two combinational logic circuits realized for function f do not necessarily have the same cost. • Objective: minimize the cost of the circuit to be built. • Synthesis Process • Determine the minterm expansion. • Determine the maxterm expansion. • Use Boolean Algebra (and K-maps) to find an optimal, functionally equivalent, expression for each. • Compare the cost of the two expressions. • Build the “cheaper” circuit.

  20. ECE 331 - Digital System Design Incompletely Specified Functions

  21. ECE 331 - Digital System Design Incompletely Specified Functions • A function f is completely specified when its output is defined (i.e. either 0 or 1) for all combinations of its inputs. • However, if the output of a function f is not defined for all combinations of its inputs, then it is said to be incompletely specified. • Those combinations of the inputs for which the output of function f is not defined are referred to as “don't care” outputs.

  22. ECE 331 - Digital System Design Incompletely Specified Functions Consider the following example in which the output of circuit N1 drives the input of circuit N2: Assume the output of N1 does not generate all possible combinations of values for A, B, and C. In particular, assume there are no combinations of values for w, x, y, and z which cause A, B, and C to assume values of 001 or 110.

  23. ECE 331 - Digital System Design Incompletely Specified Functions • The truth table representing an incompletely specified function includes an “x” (or a “d”) in each row corresponding to an input combination for which the output is not defined. • For the example under consideration: “don't care” for ABC = 001 “don't care” for ABC = 110

  24. ECE 331 - Digital System Design Incompletely Specified Functions When we realize the function, we must specify values for the don’t-cares. It is desirable to choose values which will help simplify the function. If we assign the value 0 to both X’s, then If we assign 1 to the first X and 0 to the second, then If we assign 1 to both X’s, then The second choice of values leads to the simplest solution.

  25. ECE 331 - Digital System Design Incompletely Specified Functions The minterm expansion for this example is: “don't care” minterms The maxterm expansion for this example is: “don't care” maxterms

  26. ECE 331 - Digital System Design Design and Analysis of Combinational Logic Circuits

  27. ECE 331 - Digital System Design Design • Combinational Logic Circuits • Outputs are functions of (present) inputs • No memory • Can be described using Boolean expressions • Can be described using Truth tables

  28. ECE 331 - Digital System Design Design • Hierarchical design • Used to solve large design problems • Break problem into smaller (sub-)problems • Solve each sub-problem (i.e. realize design) • Combine individual solutions

  29. ECE 331 - Digital System Design Design • Specification • Describes the problem to be solved. • Describes what needs to be done, not how to do it. • Implementation • Describes how the problem is solved.

  30. ECE 331 - Digital System Design Design • Issues • Most solutions are not unique. • More than one solution may meet the specifications. • Cannot always satisfy all of the requirements. • Must identify (and study) design tradeoffs. • Cost • Speed • Power consumption • etc.

  31. ECE 331 - Digital System Design Design Process • Identify requirements • circuit specifications • Determine the inputs and outputs. • Derive the Truth Table • Determine simplified Boolean expression(s) • Implement solution • Verify solution

  32. ECE 331 - Digital System Design Design: Exercise We will design a simple binary adder that adds two 1-bit binary numbers, a and b, to give a 2-bit sum. The numeric values for the adder inputs and outputs are as follows:

  33. ECE 331 - Digital System Design Design a combinational logic circuit to meet the following specifications: 1. 3-bit input (A = a2a1a0) 2. 1-bit output (z) 3. Output is high (logic 1) when 2 < A <= 5. Design: Exercise

  34. ECE 331 - Digital System Design Determining the behavior of a system given its description. The description of the system is often provided in the form of a circuit diagram. Analysis

  35. ECE 331 - Digital System Design Analysis • For two-level circuits, the analysis process is simple. • The Boolean expression representing the circuit can often be written by inspection. • For multilevel circuits, the analysis process is much more complicated. • Cannot write a Boolean expression by inspection. • Must follow a procedure to implement the analysis.

  36. ECE 331 - Digital System Design Analysis Process • Identify inputs and outputs • Track circuit behavior from input to output • Determine Boolean expression for output(s) • Determine Truth Table • Examine circuit timing, power dissipation, etc.

  37. ECE 331 - Digital System Design Analyze the following combinational logic circuit: 1. Derive the Boolean expression 2. Determine the Truth table Analysis: Exercise

  38. ECE 331 - Digital System Design Questions?

More Related