# ECE 331 – Digital System Design

## Presentation on theme: "ECE 331 – Digital System Design"— Presentation transcript:

ECE 331 – Digital System Design
Minterms and Maxterms, Incompletely Specified Functions, and Design and Analysis of Combinational Logic Ckts (Lecture #5) 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 Fall 2010 ECE Digital System Design

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. Fall 2010 ECE Digital System Design

ECE 331 - Digital System Design
Minterms Fall 2010 ECE Digital System Design

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. Fall 2010 ECE Digital System Design

ECE 331 - Digital System Design
Minterm Expansion Exercise: Determine the minterm expansion for the function specified by the following truth table. A B C F 1 Fall 2010 ECE Digital System Design

Minterm Expansion 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 Fall 2010 ECE Digital System Design

ECE 331 - Digital System Design
Minterm Expansion 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') Fall 2010 ECE Digital System Design

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. Fall 2010 ECE Digital System Design

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. Fall 2010 ECE Digital System Design

ECE 331 - Digital System Design
Maxterms Fall 2010 ECE Digital System Design

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. Fall 2010 ECE Digital System Design

ECE 331 - Digital System Design
Maxterm Expansion Exercise: Determine the maxterm expansion for the function specified by the following truth table. A B C F 1 Fall 2010 ECE Digital System Design

Maxterm Expansion 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) Fall 2010 ECE Digital System Design

ECE 331 - Digital System Design
Maxterm Expansion 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 Fall 2010 ECE Digital System Design

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. Fall 2010 ECE Digital System Design

Conversion between Forms
Fall 2010 ECE Digital System Design

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. Fall 2010 ECE Digital System Design

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. Fall 2010 ECE Digital System Design

Incompletely Specified Functions
Fall 2010 ECE 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. Fall 2010 ECE 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. Fall 2010 ECE 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 Fall 2010 ECE 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. Fall 2010 ECE 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 Fall 2010 ECE Digital System Design

Combinational Logic Circuits
Design and Analysis of Combinational Logic Circuits Fall 2010 ECE Digital System Design

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

ECE 331 - Digital System 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 Fall 2010 ECE Digital System Design

ECE 331 - Digital System 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. Fall 2010 ECE Digital System Design

ECE 331 - Digital System 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. Fall 2010 ECE Digital System Design

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 Fall 2010 ECE Digital System Design

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: Fall 2010 ECE Digital System Design

ECE 331 - Digital System Design
Design: Exercise 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. ECE Digital System Design

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

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. Fall 2010 ECE Digital System Design

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. Fall 2010 ECE Digital System Design

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

ECE 331 - Digital System Design
Questions? Fall 2010 ECE Digital System Design