Major Project
Major Project
1. INTRODUCTION
However, k-maps are not useful for solving logical expressions having more than six
input variables. After six variables k-map becomes very complex.
Here we present a program for K-map simplification. We can obtain the sum-of-products
(SOP) or the product-of-sum (POS) forms of logical expressions using k-map. A
minterm is a Boolean expression resulting in ‘1’ for the output of a single cell and ‘0’s
for all the other cells in a k-map. A Boolean expression or a k-map may have multiple
minterm.
This program is written in ‘C’ language and compiled using ‘Turbo C++’ IDE. It accepts
for variable inputs (functions of minterm), then it plots k-map and gives a logical
expression obtained after solving k-map in the SOP form. The program then displays the
logical circuit (realization of the expression) consisting of AND & OR gates.
The initial screen of the program output shows animated text like title of the program,
and other relevant information. We have used ‘ctime’ function available in ‘time.h’
header file to display the current date and time of the system.
After the initial screen the program prompts you to enter minterms in decimal number.
Enter minterms separated by spaces and close the parenthesis for the input function.
After we enter the minterms and press ‘Enter’ key, k-map is drawn by the program using
the line() function. Next, program checks the inputs, grouping the terms, and generate
logical expression for the input values.
In the program Bar is represented by ‘^’ symbol.When we hit a key, we will see the
logical circuit required for realizing the obtained logical expression. The logic circuit
consist of AND & OR gates. For this circuit we have include images of the AND & OR
gates in the program. The program draws the logic circuit by checking the terms in the
expression and putting the images of gates accordingly using putimage() function.
Page | 1
KARNAUGH MAP
• This project aims at making K-MAP for variables ranging from 3-6.
• Depending upon the user’s choice, the project then solves K-MAP as
sum-of-product (SOP) or product-of-sum (POS).
Page | 2
KARNAUGH MAP
Page | 3
KARNAUGH MAP
1.3What Is K-MAP?
The Karnaugh map, also known as a Veitch diagram (K-map or KV-map
for short), is a tool to facilitate simplification of Boolean Algebraic
expressions.
Apart from being laborious (and requiring the remembering all the laws)
the method can lead to solutions which, though they appear minimal, are
not.
The Karnaugh map reduces the need for extensive calculations by taking
advantage of human pattern-recognition and permitting the rapid
identification and elimination of potential race hazards.
Once the table is generated and the output possibilities are transcribed, the
data is arranged into the largest even group possible and the minterm is
generated through the axiom laws of boolean algebra.
Page | 4
KARNAUGH MAP
Page | 5
KARNAUGH MAP
2 DESCRIPTION
2.1 Functions
• Kmap();
• group();
Page | 6
KARNAUGH MAP
• k_map();
This function draws a formatted K-MAP on the screen that shows the
input with marked pairs, quads or octets.
• sim();
• circuit();
• truth table();
This function draws the truth table on the screen for the given input.
i. MODULE 1:
Page | 7
KARNAUGH MAP
ii. MODULE 2:
iii. MODULE 3:
In this module the user provides the input three. The five options
that the users have are as follows:
A) Truth Table:
B) K Map:
C) Expressions:
D) Circuit Diagram:
E) Exit:
iv. MODULE 4:
In this module the user provides the input four. The five options
that the users have are as follows:
Page | 8
KARNAUGH MAP
A) Truth Table:
B) K Map:
C) Expressions:
D) Circuit Diagram:
E) Exit:
v. MODULE 5:
In this module the user provides the input five. The five options
that the users have are as follows:
A) Truth Table:
B) K Map:
C) Expressions:
Page | 9
KARNAUGH MAP
D) Circuit Diagram:
E) Exit:
vi. MODULE 6:
In this module the user provides the input six. The five options
that the users have are as follows:
A) Truth Table:
B) K Map:
C) Expressions:
D) Circuit Diagram:
E) Exit:
Page | 10
KARNAUGH MAP
Page | 11
KARNAUGH MAP
3. System Requirements
a. RAM 128 MB
Page | 12
KARNAUGH MAP
4. DESIGNING
Page | 13
KARNAUGH MAP
Ent KMAP
INTRODUCTION
ers
Takes
Variables
From 3-6
Input SOS/P
Variable OS
PRES
S Takes
Values for
Kmap
Expressi
on
Input
Values
Displ
ays Displ
ays
Disp
ELS
E
K MAP lay
Displ
Truth
ay
Disp Table
lay
Circuit
diagram Kmap
diagram
ER DIAGRAM
Page | 14
KARNAUGH MAP
USER EXIT
Page | 15
KARNAUGH MAP
5. ABOUT C
C is a programming language developed at AT & T Bell Laboratories of USA in
1972.
It was designed and written by a man named Dennis Ritchie.
In the late seventies C began to replace the more familiar languages of that time
like PL/I, ALGOL etc.
Possibly why C seems so popular is because it is reliable, simple and easy to use.
1. Integer constant
2. Real Constant
3. Character Constant
1. Array
2. Pointer
3. Structure
4. Union
5. Enum. etc.
Page | 16
KARNAUGH MAP
iii. C Keywords
Keywords are the words whose meaning has already been explained to the
compiler.
v. C Instructions
1. Arithmetic Instruction:
2. Control Instruction:
Page | 17
KARNAUGH MAP
The for allows us to specify three things about a loop in a single line:
Page | 18
KARNAUGH MAP
Do
{
this;
and this;
and this;
and this;
} while (this condition is true);
There is a minor difference between the working of while and do-while loops.
The while tests the condition before executing any of the statements within the
while loop.
The do-while tests the condition after having executed the statements within the
loop.
Page | 19
KARNAUGH MAP
vii. Functions
A computer program (except for the simplest one) finds him in a similar
situation. It cannot handle all the tasks by itself. Instead, it requests other
programs like entities – called ‘functions’ in C.
What is function?
Sometimes the interaction with this person is very simple, sometimes it’s
complex. To avoid repetition of code and bulky programs functionally
related statements are isolated into a function.
Function declaration specifies, what is the return type of the function and
the types of parameters it accepts.
viii. Pointer
Pointers are not exclusive to functions, but this seems a good place to
introduce the pointer type.
Imagine that we have an int called i. Its address could be represented by
the symbol &i. If the pointer is to be stored as a variable, it should be
stored like this.
i = *pi;
Take care not to confuse the many uses of the * sign; Multiplication,
pointer declaration and pointer de-referencing.
Page | 21
KARNAUGH MAP
6. PROJECT DESCRIPTION
One of the primary requirements when dealing with digital circuits is to find
ways to make them as simple as possible. This constantly requires that
complex logical expressions be reduced to simpler expressions that
nevertheless produce the same results under all possible conditions. The
simpler expression can then be implemented with a smaller, simpler circuit,
which in turn saves the price of the unnecessary gates, reduces the number of
gates needed, and reduces the power and the amount of space required by
those gates.
A logic gate performs a logical operation on one or more logic inputs and
produces a single logic output. The logic normally performed is Boolean
logic and is most commonly found in digital circuits. Logic gates are
primarily implemented electronically using diodes or transistors, but can
also be constructed using electromagnetic relays, fluidics, optics,
molecules, or even mechanical elements.
NAND and NOR logic gates are the two pillars of logic, in that all other
types of Boolean logic gates (i.e., AND, OR, NOT, XOR, XNOR) can be
created from a suitable network of just NAND or just NOR gate(s). They
can be built from relays or transistors, or any other technology that can
create an inverter and a two-input AND or OR gate. Hence the NAND
and NOR gates are called the universal gates
Page | 22
KARNAUGH MAP
0·0 = 0 A·0 = 0
1·0 = 0 A·1 = A
0·1 = 0 A·A = A
1·1 = 1 A·A' = 0
2. OR Operations (+)
0+0 = 0 A+0 = A
1+0 = 1 A+1 = 1
0+1 = 1 A+A = A
1+1 = 1 A+A' = 1
0' = 1 A'' = A
1' = 0
4. Associative Law
5. Distributive Law
6. Commutative Law
A·B = B·A
A+B = B+A
Page | 23
KARNAUGH MAP
7. Precedence
AB = A·B
A·B+C = (A·B) + C
A+B·C = A + (B·C)
8. DeMorgan's Theorem
Theorem (17) says that when the AND product of two variables is
inverted, this is the same as inverting each variable individually and
then ORing them.
Page | 24
KARNAUGH MAP
Example
X = [(A'+C) * (B+D')]'
= (A'+C)' + (B+D')'
[by theorem (17)]
= (A''*C') + (B'+D'')
[by theorem (16)]
= AC' + B'D
To this end, there are several rules of Boolean algebra presented in this
section for use in reducing expressions to their simplest forms. The
identities and properties already reviewed in this chapter are very useful
in Boolean simplification, and for the most part bear similarity to many
identities and properties of "normal" algebra. However, the rules shown in
this section are all unique to Boolean mathematics.
Page | 25
KARNAUGH MAP
This rule may be proven symbolically by factoring an "A" out of the two
terms, then applying the rules of A + 1 = 1 and 1A = A to achieve the
final result:
Please note how the rule A + 1 = 1 was used to reduce the (B + 1) term to
1. When a rule like "A + 1 = 1" is expressed using the letter "A", it doesn't
mean it only applies to expressions containing "A". What the "A" stands
for in a rule like A + 1 = 1 is any Boolean variable or collection of
variables. This is perhaps the most difficult concept for new students to
master in Boolean simplification: applying standardized identities,
properties, and rules to expressions not in standard form.
Page | 26
KARNAUGH MAP
The next rule looks similar to the first on shown in this section, but is
actually quite different and requires a more clever proof:
Note how the last rule (A + AB = A) is used to "un-simplify" the first "A"
term in the expression, changing the "A" into an "A + AB". While this
may seem like a backward step, it certainly helped to reduce the
expression to something simpler! Sometimes in mathematics we must
take "backward" steps to achieve the most elegant solution. Knowing
when to take such a step and when not to is part of the art-form of algebra,
just as a victory in a game of chess almost always requires calculated
sacrifices.
Page | 27
KARNAUGH MAP
Page | 28
KARNAUGH MAP
The first three sums make perfect sense to anyone familiar with
elementary addition. The last sum, though, is quite possibly responsible
for more confusion than any other single statement in digital
electronics, because it seems to run contrary to the basic principles of
mathematics. Well, it does contradict principles of addition for real
numbers, but not for Boolean numbers. Remember that in the world of
Boolean algebra, there are only two possible values for any quantity
and for any arithmetic operation: 1 or 0. There is no such thing as "2"
within the scope of Boolean values. Since the sum "1 + 1" certainly
isn't 0, it must be 1 by process of elimination.
It does not matter how many or few terms we add together, either.
Consider the following sums:
Take a close look at the two-term sums in the first set of equations.
Does that pattern look familiar to you? It should! It is the same pattern
of 1's and 0's as seen in the truth table for an OR gate. In other words,
Boolean addition corresponds to the logical function of an "OR" gate,
as well as to parallel switch contacts:
Page | 29
KARNAUGH MAP
Page | 30
KARNAUGH MAP
This set of equations should also look familiar to you: it is the same
pattern found in the truth table for an AND gate. In other words,
Boolean multiplication corresponds to the logical function of an
"AND" gate, as well as to series switch contacts:
Page | 31
KARNAUGH MAP
Page | 32
KARNAUGH MAP
The basic definition of Boolean quantities has led to the simple rules of
addition and multiplication, and has excluded both subtraction and
division as valid arithmetic operations. We have a symbology for
denoting Boolean variables, and their complements. In the next section
we will proceed to develop Boolean identities.
The first Boolean identity is that the sum of anything and zero is the
same as the original "anything." This identity is no different from its
real-number algebraic equivalent:
Page | 33
KARNAUGH MAP
No matter what the value of A, the output will always be the same:
when A=1, the output will also be 1; when A=0, the output will also be
0.
The next identity is most definitely different from any seen in normal
algebra. Here we discover that the sum of anything and one is one:
Page | 34
KARNAUGH MAP
Just as there are four Boolean additive identities (A+0, A+1, A+A, and
A+A'), so there are also four multiplicative identities: Ax0, Ax1, AxA,
and AxA'. Of these, the first two are no different from their equivalent
expressions in regular algebra:
Page | 35
KARNAUGH MAP
Page | 36
KARNAUGH MAP
Page | 37
KARNAUGH MAP
Once the Boolean expression for a circuit output has been obtained, the
output logic level can be determined for any set of input levels.
= A'BC
X
(A+D)'
=
0'*1*1*
(0+1)'
=1
*1*1*
(1)'
= 1
*1*1* 0
=0
Page | 38
KARNAUGH MAP
= [D+
X ((A+B)C)']
*E
= [1 +
((0+0)1 )']
*1
= [1 +
(0*1)'] * 1
= [1+ 0']
*1
= [1+ 1 ] *
1
=1
The output logic level for given input levels can also be determined
directly from the circuit diagram without using the Boolean expression.
Page | 39
KARNAUGH MAP
Page | 40
KARNAUGH MAP
Page | 41
KARNAUGH MAP
Page | 42
KARNAUGH MAP
The dual canonical forms of any Boolean function are a "sum of minterms"
and a "product of maxterms." The term "Sum of Products" or "SoP" is
widely used for the canonical form that is a disjunction (OR) of minterms.
Its De Morgan dual is a "Product of Sums" or "PoS" for the canonical form
that is a conjunction (AND) of maxterms. These forms allow for greater
analysis into the simplification of these functions, which is of great
importance in the minimization or other optimization of digital circuits.
The usual notation for NOT is that of a trailing apostrophe; for example, x'
means x not. This is also known as the complement of the function.
There are sixteen possible functions of two variables, but in digital logic
hardware, the simplest gate circuits implement only four of them:
Page | 43
KARNAUGH MAP
Most gate circuits accept more than 2 input variables; for example, the
spaceborne Apollo Guidance Computer, which pioneered the application of
integrated circuits in the 1960s, was built with only one type of gate, a 3-
input NOR, whose output is true only when all 3 inputs are false
A) Minterms
For example, abc, ab'c and abc' are examples of minterms for a Boolean
function of the three variables a, b and c. The customary reading of the
last of those is a AND b AND NOT-c.
a. Indexing minterms
b. Functional equivalence
It is apparent that minterm n gives a true value (i.e., 1) for just one
combination of the input variables. For example, minterm 5, a b' c,
is true only when a and c both are true and b is false--the input
arrangement where a = 1, b = 0, c = 1 results in 1.
Page | 44
KARNAUGH MAP
c u(ci,x,y
x y
i )
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
Observing that the rows that have an output of 1 are the 2nd, 3rd,
5th, and 8th, we can write u as a sum of minterms m1,m2,m4, and
m7. If we wish to verify this: u(ci, x, y) = m1 + m2 + m4 + m7 = (ci'
x' y) + (ci' x y') + (ci x' y') + (ci x y) evaluated for all 8
combinations of the three variables will match the table.
B) Maxterms
For example, the following are two of the eight maxterms of three
variables:
a+b'+c
Page | 45
KARNAUGH MAP
a'+b+c
a) Indexing maxterms
b) Functional equivalence
It is apparent that maxterm n gives a false value (i.e., 0) for just one
combination of the input variables. For example, maxterm 5, a' + b + c', is
false only when a and c both are true and b is false--the input arrangement
where a = 1, b = 0, c = 1 results in 0.
ci x Y co(ci,x,y)
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 1
Page | 46
KARNAUGH MAP
Observing that the rows that have an output of 0 are the 1st, 2nd, 3rd, and
5th, we can write co as a product of maxterms M0, M1, M2, and M5. If we
wish to verify this: co(ci, x, y) = M0M1M2M5 = (ci + x + y) (ci + x + y') (ci
+ x' + y) (ci' + x + y) evaluated for all 8 combinations of the three
variables will match the table.
Dualization
The complement of a minterm is the respective maxterm. This can be easily
verified by using de Morgan's law. For example: M5 = a' + b + c' = (ab'c)' =
m5'
It is often the case that the canonical minterm form can be simplified to
an equivalent SoP form. This simplified form would still consist of a sum
of product terms. However, in the simplified form it is possible to have
fewer product terms and/or product terms that contain fewer variables.
For example, the following 3-variable function:
a b c f(a,b,c)
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
Page | 47
KARNAUGH MAP
The minimal PoS and SoP forms are very important for finding optimal
implementations of boolean functions and minimizing logic circuits.
Race hazards
Karnaugh maps are useful for detecting and eliminating race hazards. They
are very easy to spot using a Karnaugh map, because a race condition may
exist when moving between any pair of adjacent, but disjointed, regions
circled on the map.
Page | 48
KARNAUGH MAP
There is a second glitch in the same example that is more difficult to spot:
when D is 0 and A and B are both 1, with C changing from 1 to 0 (moving
from the blue state to the red state). In this case the glitch wraps around
from the top of the map to the bottom.
The term is redundant in terms of the static logic of the system, but such
redundant, or consensus terms, are often needed to assure race-free dynamic
performance.
Page | 49
KARNAUGH MAP
The Karnaugh map, also known as a Veitch diagram (K-map or KV-map for
short), is a tool to facilitate management of Boolean Algebraic expressions.
A Karnaugh map is unique in that only one variable changes value between
squares, in other words, the rows and columns are ordered according to the
principles of Gray Code.So far we can see that applying Boolean algebra can
be awkward in order to simplify expressions. Apart from being laborious
(and requiring the remembering all the laws) the method can lead to
solutions which, though they appear minimal, are not.
Problem solving uses Karnaugh maps make use of the human brain's
excellent pattern-matching capability to decide which terms should
be combined to get the simplest expression.
For problems involving more than six variables, solving the Boolean
expressions is more preferred than the Karnaugh map.
Page | 50
KARNAUGH MAP
Page | 51
KARNAUGH MAP
Page | 52
KARNAUGH MAP
1's since 22 = 4.
Page | 53
KARNAUGH MAP
Groups may wrap around the table. The leftmost cell in a row may be
grouped with the rightmost cell and the top cell in a column may be
grouped with the bottom cell.
Page | 54
KARNAUGH MAP
Summary
a. No zeros allowed.
b. No diagonals.
f. Overlapping allowed.
Example
Karnaugh maps are used to facilitate the simplification of Boolean
algebra functions. The following is an unsimplified Boolean Algebra
function with Boolean variables A, B, C, D, and their inverses. They
can be represented in two different functions:
f(A,B,C,D) = ∑(6,8,9,10,11,12,13,14)
Page | 55
KARNAUGH MAP
Note: The values inside ∑ are the minterms to map (i.e. which rows
have output 1 in the truth table).
Truth table
A B C D f(A,B,C,D)
#
0 000 0 0
1 000 1 0
2 001 0 0
3 001 1 0
4 010 0 0
5 010 1 0
6 011 0 1
7 011 1 0
8 100 0 1
9 100 1 1
10 101 0 1
Page | 56
KARNAUGH MAP
11 101 1 1
12 110 0 1
13 110 1 1
14 111 0 1
15 111 1 0
K-map showing minterms and boxes covering the desired minterms. The
brown region is an overlapping of the red (square) and green regions.
The binary digits in the map represent the function's output for any given
combination of inputs. We write 0 in the upper leftmost corner of the map
because f = 0 when A = 0, B = 0, C = 1, D = 0. Similarly we mark the bottom
right corner as 1 because A = 1, B = 0, C = 0, D = 0 gives f = 1. Note that the
values are ordered in a Gray code, so that precisely one variable flips
between any pair of adjacent cells.
After the Karnaugh map has been constructed our next task is to find the
minimal terms to use in the final expression. These terms are found by
Page | 57
KARNAUGH MAP
encircling groups of 1's in the map. The encircling must be rectangular and
must have an area that is a positive power of two (i.e. 2, 4, 8 …). The
rectangles should be as large as possible without containing any 0's. The
optimal encircling in this map are marked by the green, red and blue lines.
For each of these encircling we find those variables that have the same state
in each of the fields in the encircling. For the first encircling (the red one) we
find that:
The variable A maintains the same state (1) in the whole encircling; therefore
it should be included in the term for the red encircling.
Variable B does not maintain the same state (it shifts from 1 to 0), and
should therefore be excluded.
D changes.
For the green encircling we see that A and B maintain the same state, but C
and D change. B is 0 and has to be negated before it can be included. Thus
the second term is AB'.
In the same way, the blue rectangle gives the term BC'D' and so the whole
expression is: AC + AB′+ BC′D′.
This algorithm generally finds most of the optimal solutions quickly and
easily, but selecting the final prime implicants (after the essential ones are
chosen) may still require a brute force approach to get the optimal
combination (though this is generally far simpler than trying to brute force
the entire problem).
6.3.3 Summary
K-maps are an alternative to algebra for simplifying expressions.
Page | 58
KARNAUGH MAP
2. When grouping, you can wrap around all sides of the K-map,
and your groups can overlap.
Page | 59
KARNAUGH MAP
• K-map advantages
• Using this method, the chart eliminates the need to list out all the
terms of the equation, which if you have an equation with three or four
variables with many true values can be quite length. These methods can
eliminate the need to factor out variables.
• K-map disadvantages
Page | 60
KARNAUGH MAP
7. IMPLEMENTATION DETAILS
It then displays the K-map for the given expression,& the simplified expression
Then it goes on to display the logic diagram using the basic AND and OR gates
Page | 61
KARNAUGH MAP
8. TESTING
Testing is the process of exercising software with the intent of finding errors and
ultimately correcting them. The following testing techniques have been used to
make this project free of errors.
i) CONTENT REVIEW
The whole content of the project has been reviewed thoroughly to uncover
typographical errors, grammatical error and ambiguous sentences.
Different users were allowed to navigate through the project to uncover the
navigation errors. The views of the user regarding the navigation flexibility
and user friendliness were taken into account and implemented in the project.
Unit testing done to show that the unit does not satisfy the application and/or
its implemented software does not match the intended designed structure.
Page | 62
KARNAUGH MAP
v) SYSTEM TESTING
Each time a new feature is added to the project the whole project is tested
thoroughly to rectify any side effects. That might have occurred due to the
addition of the new feature. Thus regression testing has been performed.
vii) DEBUGGING
viii) BACKTRACKING
Page | 63
KARNAUGH MAP
This is the most common category of debugging which involves loading the
source code with write statements and tracking line by line execution to
isolate possible errors.
9. SCREEN SHOTS
9.1 SCREENSHOT 1
Enter no of variables(3-6): 4
3
4
5
6
7
8
Page | 64
KARNAUGH MAP
9.2 SCREENSHOT 2
K-MAP
Page | 65
KARNAUGH MAP
9.3 SCREENSHOT 3
I/P is
∑(3,4,5,6,7,8)
No. of variables=4
1: Truth Table
2: K Map
3: Expression
4: Circuit
Page | 66
KARNAUGH MAP
9.4 SCREENSHOT 4
A B C D Y
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 1
0 1 0 0 1
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0 A B C D Y
1 0 1 0 0 1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0
Page | 67
KARNAUGH MAP
9.5 SCREENSHOT 5
I/P is
∑(3,4,5,6,7,8)
No. of variables=4
1: Truth Table
2: K Map
3: Expression
4: Circuit
Page | 68
KARNAUGH MAP
9.6 SCREENSHOT 6
Page | 69
KARNAUGH MAP
9.7 SCREENSHOT 7
Page | 70
KARNAUGH MAP
I/P is
∑(3,4,5,6,7,8)
No. of variables=4
1: Truth Table
2: K Map
3: Expression
4: Circuit
9.8 SCREENSHOT 8
Page | 71
KARNAUGH MAP
I/P is
∑(3,4,5,6,7,8)
No. of variables=4
1: Truth Table
2: K Map
3: Expression
4: Circuit
9.9 SCREENSHOT 9
Page | 72
KARNAUGH MAP
I/P is
∑(3,4,5,6,7,8)
No. of variables=4
1: Truth Table
2: K Map
3: Expression
4: Circuit
9.10 SCREENSHOT 10
Page | 73
KARNAUGH MAP
9.11 SCREENSHOT 11
Page | 74
KARNAUGH MAP
I/P is
∑(3,4,5,6,7,8)
No. of variables=4
1: Truth Table
2: K Map
3: Expression
4: Circuit
Page | 75
KARNAUGH MAP
1. The diagram becomes cluttered and hard to interpret if there are more
than four variables on an axis. This argues against the use of Karnaugh
maps for expressions with more than six variables. For such expressions, the
Quine-McCluskey algorithm, also called the method of prime implicants,
should be used.
2. This algorithm generally finds most of the optimal solutions quickly and
easily, but selecting the final prime implicates (after the essential ones are
chosen) may still require a brute force approach to get the optimal
combination (though this is generally far simpler than trying to brute force
the entire problem).
Page | 76
KARNAUGH MAP
a. Kmaps can be used in simple and systematic design of Full adder cell using
Kmap.
c. Karnaugh Maps can be used a great deal as "scratch pad" visualization in logical
circuit design and most of the information on the Web looks like it was written
for an audience of electrical engineers. Nonetheless, they're also very
useful for programmers for exactly the same reasons.
d. Karnaugh Maps are a more analytical tool. Let's add one more variable to
our list of conditions: "Accounts in force more than five years". This
would rule out the use of Venn Diagrams.
e. The Karnaugh calculator will be released as an open source project under the
Gnu Public License (or a creative commons equivalent), along with
instructions for use and an object description within the next few months.
Enhancements that would improve the calculator immensely would be a s
implification function that identifies groups in the K-Map and suggests a
simplified boolean function, and also an ability to show both K-Maps and
a simplified function in both sum-of-products and product-of-sums forms.
These functions should be relatively simple to add to the calculator as an
outgrowth of the necessary work on the GUI prior to release
12. REFERENCES
Page | 77
KARNAUGH MAP
1.4) www.wikipedia.com
Page | 78