380 likes | 396 Views
This lecture covers minterms and maxterms, incompletely specified functions, and the design and analysis of combinational logic circuits.
E N D
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.
ECE 331 - Digital System Design Minterms and Maxterms
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.
ECE 331 - Digital System Design Minterms
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.
ECE 331 - Digital System Design Exercise: Determine the minterm expansion for the function specified by the following truth table. Minterm Expansion
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
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
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.
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.
ECE 331 - Digital System Design Maxterms
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.
ECE 331 - Digital System Design Exercise: Determine the maxterm expansion for the function specified by the following truth table. Maxterm Expansion
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
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
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.
ECE 331 - Digital System Design Conversion between Forms
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.
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.
ECE 331 - Digital System Design Incompletely Specified Functions
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.
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.
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
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.
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
ECE 331 - Digital System Design Design and Analysis of Combinational Logic Circuits
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
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
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.
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.
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
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:
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
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
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.
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.
ECE 331 - Digital System Design Analyze the following combinational logic circuit: 1. Derive the Boolean expression 2. Determine the Truth table Analysis: Exercise
ECE 331 - Digital System Design Questions?