Presentation is loading. Please wait.

Presentation is loading. Please wait.

Prof. Sin-Min Lee Department of Computer Science

Similar presentations

Presentation on theme: "Prof. Sin-Min Lee Department of Computer Science"— Presentation transcript:

1 Prof. Sin-Min Lee Department of Computer Science
CS147 Lecture 6 POS, K-map and Multiplexer Prof. Sin-Min Lee Department of Computer Science

2 Karnaugh maps Last time we saw applications of Boolean logic to circuit design. The basic Boolean operations are AND, OR and NOT. These operations can be combined to form complex expressions, which can also be directly translated into a hardware circuit. Boolean algebra helps us simplify expressions and circuits. Today we’ll look at a graphical technique for simplifying an expression into a minimal sum of products (MSP) form: There are a minimal number of product terms in the expression. Each term has a minimal number of literals. Circuit-wise, this leads to a minimal two-level implementation.

3 Review: Standard forms of expressions
We can write expressions in many ways, but some ways are more useful than others A sum of products (SOP) expression contains: Only OR (sum) operations at the “outermost” level Each term that is summed must be a product of literals The advantage is that any sum of products expression can be implemented using a two- level circuit literals and their complements at the “0th” level AND gates at the first level a single OR gate at the second level This diagram uses some shorthands… NOT gates are implicit literals are reused this is not okay in LogicWorks! f(x,y,z) = y’ + x’yz’ + xz

4 Unsimplifying expressions
xy + y’z + xz = (xy  1) + (y’z  1) + (xz  1) = (xy  (z’ + z)) + (y’z  (x’ + x)) + (xz  (y’ + y)) = (xyz’ + xyz) + (x’y’z + xy’z) + (xy’z + xyz) = xyz’ + xyz + x’y’z + xy’z You can also convert the expression to a sum of minterms with Boolean algebra. Apply the distributive law in reverse to add in missing variables. Very few people actually do this, but it’s occasionally useful. In both cases, we’re actually “unsimplifying” our example expression. The resulting expression is larger than the original one! But having all the individual minterms makes it easy to combine them together with the K-map.

5 K-maps from truth tables
You can also fill in the K-map directly from a truth table. The output in row i of the table goes into square mi of the K-map. Remember that the rightmost columns of the K-map are “switched.”

6 The Sum-of-Products (SOP) Form
When two or more product terms are summed by Boolean addition

7 Conversion of a General Expression to SOP Form
Any logic expression can be change into SOP form by applying Boolean Algebra techniques Example: Try This:

8 The Standard SOP Form Multiply:

9 The Products-of-Sum (POS) Form
When two or more sum terms are multiplied.

10 The Standard POS Form Rule 12! Add:

11 Boolean Expression and Truth Table

12 Converting SOP to Truth Table
Examine each of the products to determine where the product is equal to a 1. Set the remaining row outputs to 0.

13 Converting POS to Truth Table
Opposite process from the SOP expressions. Each sum term results in a 0. Set the remaining row outputs to 1.

14 Converting from Truth Table to SOP and POS
Inputs Output A B C X 1 POS:

15 The Karnaugh Map

16 The Karnaugh Map Provides a systematic method for simplifying Boolean expressions Produces the simplest SOP or POS expression Similar to a truth table because it presents all of the possible values of input variables

17 The 3-Variable K-Map

18 The 4-Variable K-Map

19 K-Map SOP Minimization
A 1 is placed on the K-Map for each product term in the expression. Each 1 is placed in a cell corresponding to the value of a product term

20 Example: Map the following standard SOP expression on a K-Map:

21 Example: Map the following standard SOP expression on a K-Map:

22 Exercise: Map the following standard SOP expression on a K-Map:

23 Answer:

24 K-Map Simplification of SOP Expressions
A group must contain either 1, 2, 4, 8 or 16 cells. Each cell in group must be adjacent to one or more cells in that same group but all cells in the group do not have to be adjacent to each other Always include the largest possible number 1s in a group in accordance with rule 1 Each 1 on the map must be included in at least one group. The 1s already in a group can be included in another group as long as the overlapping groups include noncommon 1s Goal: To maximize the size of the groups and to minimize the number of groups

25 Example: Group the 1s in each K-Maps

26 Determining the minimum SOP Expression from the Map
Groups the cells that have 1s. Each group of cells containing 1s create one product term composed of all variables that occur in only one form (either uncomplemented or complemented) within the group. Variable that occurs both uncomplemented and complemented within the group are eliminated. These are called contradictory variables.

27 Example: Determine the product term for the K-Map below and write the resulting minimum SOP expression 1


29 Example: Use a K-Map to minimize the following standard SOP expression

30 Example: Use a K-Map to minimize the following standard SOP expression

31 Mapping Directly from a Truth Table

32 Don’t Care (X) Conditions
A situation arises in which input variable combinations are not allowed Don’t care terms either a 1 or a 0 may be assigned to the output

33 Don’t Care (X) Conditions
Example of the use of “don’t care” conditions to simplify an expression

34 Exercise: Use K-Map to find the minimum SOP from
1 2






40 SOP

41 POS

42 Multiplexers A combinational circuit that selects info from one of many input lines and directs it to the output line. The selection of the input line is controlled by input variables called selection inputs. They are commonly abbreviated as “MUX”.



45 Combinational circuit implementation using MUX
We can use Multiplexers to express Boolean functions also. Expressing Boolean functions as MUXs is more efficient than as decoders. First n-1 variables of the function used as selection inputs; last variable used as data inputs. If last variable is called Z, then each data input has to be Z, Z’, 0, or 1.


Download ppt "Prof. Sin-Min Lee Department of Computer Science"

Similar presentations

Ads by Google