ece 331 – digital system design minterms and maxterms, incompletely specified functions, and...
TRANSCRIPT
ECE 331 – Digital System Design
Minterms and Maxterms,Incompletely Specified Functions,
andDesign 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.
Fall 2010 ECE 331 - Digital System Design 2
Minterms and Maxterms
Fall 2010 ECE 331 - Digital System Design 3
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 331 - Digital System Design 4
Minterms
Fall 2010 ECE 331 - Digital System Design 5
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 331 - Digital System Design 6
Minterm Expansion
Exercise:
Determine the minterm expansion for the function specified by the following truth table.
A B C F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0
Fall 2010 ECE 331 - Digital System Design 7
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 331 - Digital System Design 8
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 331 - Digital System Design 9
Minterm Expansion
The minterm expansion for a general function of three variables can be written as follows:
This is the truth table for a general function of three variables.
Each ai is a constant with a value of 0 or 1.
Denotes the logical sum operation
Fall 2010 ECE 331 - Digital System Design 10
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 331 - Digital System Design 11
Maxterms
Fall 2010 ECE 331 - Digital System Design 12
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 331 - Digital System Design 13
Maxterm Expansion
Exercise:
Determine the maxterm expansion for the function specified by the following truth table.
A B C F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0
Fall 2010 ECE 331 - Digital System Design 14
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 331 - Digital System Design 15
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 331 - Digital System Design 16
Maxterm Expansion
The maxterm expansion for a general function of three variables can be written as follows:
This is the truth table for a general function of three variables.
Each ai is a constant with a value of 0 or 1.
Denotes the logical product operation
Fall 2010 ECE 331 - Digital System Design 17
Conversion between Forms
Fall 2010 ECE 331 - Digital System Design 18
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 331 - Digital System Design 19
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 331 - Digital System Design 20
Incompletely Specified Functions
Fall 2010 ECE 331 - Digital System Design 21
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 331 - Digital System Design 22
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 331 - Digital System Design 23
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 331 - Digital System Design 24
Incompletely Specified FunctionsWhen 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 331 - Digital System Design 25
Incompletely Specified Functions
The minterm expansion for this example is:
The maxterm expansion for this example is:
“don't care” minterms
“don't care” maxterms
Fall 2010 ECE 331 - Digital System Design 26
Design and Analysisof
Combinational Logic Circuits
Fall 2010 ECE 331 - Digital System Design 27
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 331 - Digital System Design 28
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 331 - Digital System Design 29
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 331 - Digital System Design 30
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 331 - Digital System Design 31
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 331 - Digital System Design 32
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:
Design: Exercise
ECE 331 - Digital System Design 33
Design a combinational logic circuit to meet the following specifications:
1. 3-bit input (A = a2a
1a
0)
2. 1-bit output (z)3. Output is high (logic 1) when 2 < A <= 5.
Design: Exercise
Fall 2010 ECE 331 - Digital System Design 34
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 331 - Digital System Design 35
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 331 - Digital System Design 36
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 37
Analyze the following combinational logic circuit:
1. Derive the Boolean expression2. Determine the Truth table
Analysis: Exercise
Fall 2010 ECE 331 - Digital System Design 38
Questions?