Olandoski M. Logic Design of Switching Circuits. Vol. 1 2015
Olandoski M. Logic Design of Switching Circuits. Vol. 1 2015
The content of this book was developed in order to attend the needs
of a Text Book for the course of “Theory of Digital Electronics”.
This course belongs to curriculum of Electrical, Electronics,
Telecommunication Engineering and Computer Science Bachelor Degrees.
Also it belongs to curriculum of Electrical, Electronics and Computer
Sciences Technological Degrees
The contents of the chapter’s doesn´t need any previous knowledge
except mathematical and basic electricity of high school degree.
Because of the great amount of contents, the book is divided in two
parts, Combinational Circuits (Vol. 1) and Sequential Circuits (Vol.2).
It is recommended 4 hours of theoretical classes per week for a
semester of 17 week, divided in two groups of two hours each, or 2 hours
per week for a year of 34 weeks.
This course doesn’t require laboratory classes.
In general this course is given in the same semester of “Digital
Electronic Circuits”, that needs laboratory classes, and that needs
knowledge of “Electronics Introduction” course.
The first chapter of Vol.1 presents definitions and basic mathematical
structures. The following chapters (Vol.1) present the methods and
algorithms of Combinational Digital Circuits, beginning with analysis and
proceeding with synthesis. Some additional chapters complete the contents
with Combinational Circuits Hazards and Iterative Networks.
In the second part (Vol.2) the book presents the knowledge of
analysis and synthesis of Sequential Digital Electronics Circuits including
Asynchronous and Synchronous machines.
Additional chapters complete the contents with types of commands
and flip flops and various structures that are used in electronic digital
projects.
The contents of this book are enough for the next course of
“Microprocessors”.
A special attention is need to sections of solved and proposed
problems in each chapter.
It’s recommended three intermediate tests and the final exam for a
one semester course and four intermediate tests and the final exam for a one
year course.
Chapter 1
Definitions
Counting Systems – Number Bases
Numeric bases - Definition and Conversion to Base 10
Integer Part
Fractional Part
Numeric Bases – Conversion from base 10 to any Base
Integer Part
Fractional Part
Bases Equivalence between Binary, Octal and Hexadecimal
Numeric Coding Systems
BCD Code – Binary Coded Decimal
Excess 3 Code
Gray Code – Cyclic Code
Converting a Decimal Number to Gray Code
Gray Code to Decimal Conversion
Bit, Byte, Word
ASCII Table
Digital Logic
Operations using Binary Numbers.
Sum Operation
Subtraction Operation
Binary Positive to Binary Negative Operation
Operation with Negative Numbers
Solved Problems
Problems to be solved
Chapter 2
Boolean algebra – Definitions and Theorems
Basic Definitions
Mapping and Function
Algebraic Operations
Boolean algebra Operations
Boolean algebra definitions
Switching Boolean algebra
Boolean Formulas
Equivalence of Boolean Forms
Boolean algebra Theorems
De Morgan Theorem
De Morgan Theorem Extension
Algebraic operation - Exclusive OR (XOR)
Solved Problems
Problems to be solved
Chapter 3
Functions, Mappings, Standards Forms
Boolean Function
Functions Completely and Not Completely Specified
Completely Specified Function
Not Completely Specified Function
Solved Problems
Problems to be solved
Chapter 4
Logical Circuits using Relays
General
Conventional Relay
Bistable Relay – Magnetic Latching – Relay with Memory
Basic Definitions for Relay Circuits
Logic Circuits using Relays
Circuit with Intermediate Branch
Circuit to Power on and off Equipment
Auxiliary Relay Circuit
Solved Problems
Problems to be solved
Chapter 5
Karnaugh Maps
Maps Construction
Filling the cell values
Definitions and Cells Properties of the Karnaugh map
Visual Processing of Karnaugh Maps
Solved Problems
Problems to be solved
Chapter 6
Quine McCluskey Algorithm
Example – Algorithm for Sum of Products
Example – Algorithm for Product of Sums
Solved Problems
Solution type sum of products
Solution type product of sums
Problems to be solved
Chapter 7
Quine McCluskey Algorithm for Multiple Simultaneous Outputs
Functions
Example using Quine McCluskey Algorithm
Solution for Sum of Products
Solution for Product of Sums
Solved Problems
Problem 1: Solution Type Sum of Products:
Problem 1: Solution Type Product of Sums:
Problem 2: Solution Type Sum of Products:
Problem 2: Solution Type Product of Sums:
Problems to be solved
Chapter 8
NAND and NOR Circuits
Logic Gates
Sheffer Boolean Algebra
Definition: Sheffer Boolean Algebra
Postulate 1:
Postulate 2
Postulate 3
Postulate 4
Postulate 5
Verification of Postulates for NAND and NOR Operations
Postulate 1
Postulate 2
Postulate 3
Postulate 4
Postulate 5
Proof of not associativity of Operations │ e ↓
Analyzing Circuits with the Operations “Stroke” and “Dagger”
Synthesis of Circuits using Operations “Stroke” and “Dagger”
Solved Problems
Problems to be solved
Chapter 9
Function Decomposition
Simple Disjunctive Decomposition
Propositions
Shannon expansion theorem
Application of Propositions in Sequence
Partition Tables
Final Considerations
Solved Problems
Problems to be solved
Chapter 10
Iterative Network
Iterative Network - 1 Dimension
Iterative Network – 2 dimensions
Typical use of Iterative Networks
Cells Generation Process
Example 1: Adder and Subtractor
Example 2: Gray Code to Binary Number Converter using Logic
Gates
Example 3: Parity Generation or Parity Verification using Logic
Gates
Example 4: Verification Number of Bits with Value 1 equal 3
Example 5: Verification of a bit value 1 after a minimum of 8 bits
value 0
Example 6: Gray Code to Binary Number using Relay Circuit
Example 7: Adder using Relay Circuit
Problems to be solved
Chapter 11
Transients and Hazards in Switching Circuits
Types of Hazards
Static Hazards
Dynamic Hazards
Circuits that present Static Hazards
Static 0 Hazard in logic gates circuit
Static 1 Hazard in logic gates circuit
Static 0 Hazard in Relay Circuits
Static 1 Hazard in Relay Circuits
Dynamic Error Rising Edge – Logic Gates
Dynamic Error Falling Edge – Logic Gates
Dynamic Error Falling Edge – Relay Circuit
Dynamic Error Rising Edge – Relay Circuit
Detecting Static Hazards
Preventing Static Hazards using Karnaugh Maps
Preventing Static Hazards using Quine McCluskey Algorithm
Disjunctive Forms Theorem
Conjunctive Forms Theorem
Problems to be solved
Chapter 12
Threshold Gates
Ferrite Rings
Magnetic Core Memory – Ferrite Ring Memory
Two Levels Comparator – Schmitt Trigger
One Level Comparator
OR Operation
AND Operation
Inverter Operation
Comparator using Weighting Factors
Problems to be solved
Chapter 1
Definitions
In this chapter it will be presented the initial definitions that enables
the development and use of mathematical methods and algorithms to
generate electronic and electro mechanics circuits in the digital electronics
area.
11101101 in base 2.
3) Hexadecimal Base
To convert a number in base 10 to Hex base, base 16, the number is
divided successively by the value of the base 16.
The remains of each division will compose the number in base 16.
These remains are read from right to left, starting with the last remainder of
division that results in a value of 0 for the division.
The remains are represented in base 10. So you need to convert the
remains to the hexadecimal base according to the table at the beginning of
this chapter (Fig.1.1).
Fractional Part
1) Binary Base
To convert the fractional portion of a number in base 10 for binary
base, the fractional part is multiplied by the value of base 2.
When the value resulting number is greater than 1, the value 1
appears on the left side of the line separating the integer part of the
fractional part.
When the resulting number is less than 1, the value 0 appear on the
left side of the line.
The digits that are shown on the left side read from top to bottom will
make the fractional binary number.
2) Octal Base
To convert the fractional part of a number in base 10 to the octal base,
base 8, multiply successively the fractional part by the base value 8.
When the resulting number is greater than 1, a value appears
on the left side of the line that separates the integer part of the
fractional part.
When the resulting number is less than 1, the value 0 appear on the
left side of the line.
The numbers that are shown on the left side read from top to bottom
will make the fractional octal number.
So the fractional number 0.42578125 base 10 is equivalent to the
fractional number 0.332 in octal base, base 8.
3) Hexadecimal Base
To convert the fractional part of a number in base 10 for hexadecimal
base (16), multiply successively the fractional part of the number by the
base value 16.
When the resulting number is greater than 1, a value appears on the
left side of the line that separates the integer part of the fractional part.
When the resulting number is less than 1, the value 0 appear on the
left side of the line.
The numbers that are shown on the left, read from top to bottom will
make the fractional hexadecimal number.
These figures are represented in base 10 and must be converted to
hexadecimal base using the table presented at the beginning of this chapter
(Fig.1.1).
If the number in octal base (8), has each of its digits replaced by three
binary digits according to the table presented at the beginning of this
chapter (Fig.1.1), we will have the number in octal base directly converted
to binary base (2).
If the number in hexadecimal base (16) has each of its digits replaced
by four binary digits according to the table presented at the beginning of
this chapter (Fig.1.1), we will have number in hexadecimal base directly
converted to binary base (2).
Excess 3 Code
While the BCD code uses binary numbers from 0 to 9 to encode 10
decimal digits, the 3 Excess Code begins to encode the digit 0 from the
number 3. That is the equivalent value of the binary number with the value
3 subtracted.
This code has two important features. The first is that all decimal
numbers encoded in 3 Excess Code always has one digit with value 1 in the
coding. Second a transmission using numbers decimal encoded using
Excess 3 code, balance the number of 0s and 1s in the sequence of
transmission, since the balance the numbers decimal encoded are also
balanced.
This can be observed by the existing symmetry between binary
numbers in the table presented.
Gray Code – Cyclic Code
The Gray code is the best known of cyclic codes. The cyclic codes
have the property that only a binary digit changes between two lines of the
table. Also in cycle codes the first line is adjacent to the last row of the table
The following is a table of the Gray code using 4 binary digits.
Initially it adds to the left side an extra digit to the binary number
with 0. Then it is applied the operation called Exclusive OR presented in the
above table, starting from the left and moving right. The + symbol with an
external circle is the Exclusive OR operation.
Each one of the binary digits that makes up a byte is called Bit. The
lower digit, i.e. the binary digit at the right place is called the Least
Significant Bit (LSB - Less Significant Bit) and the digit at the left place is
called the Most Significant Bit (MSB - Most Significant Bit).
If we divide the byte into two parts with 4 binary digits each part,
each part with of 4 binary digits is called Nibble.
The two Nibbles are called most significant and least significant
nibble.
Structures composed of more than one byte, are called Word. The
term Word is generic, does not automatically specifying the number of
bytes that comprise it.
Then it must be specified. For example: 16-bit word or two bytes, 32-
bits word, 64-bits word. Usually the Word term is specified in number of
bits.
The concept of Word is more associated with physical structures like
number of wires connecting a processing unit to its memory, or the number
of bits that an instruction of a computer uses.
ASCII Table
The ASCII (American Standard Code for Information Interchange)
called American Standard Code for Information Interchange is a standard
for encoding letters, numbers and special symbols in a byte.
This table originally standardized to use in teletype, also has a section
of typical command and control characters for such equipment.
When the advent of computers, this table continued to be used.
To perform the binary sum, the same method is used. The operation
begins with the rightmost digit and progresses to the digits over the left.
The first rightmost column performs the operation 1 + 1 = 10, i.e. the
line sum of the column is assigned the value 0 and n Carry line receives the
most significant value of 1.
This value of n Carry line is moved to the leftmost column in the line
Carry (n-1). The sum of the following next left column performs the
following operation 1 + 1 + 1 = 11, i.e. the sum of the column line is
assigned the value 1 and the line n Carry receives the most significant value
of this sum.
This value of n Carry line is moved to the leftmost column in the row
Carry (n-1). The sequence is repeated until the last digit from the left is only
the value 1 on the line Carry (n-1) resulting in a value 1 for sum line and the
value 0 to line n Carry.
Subtraction Operation
The operation subtraction of two decimal numbers is performed
according to shown below:
The numbers A and B are subtracted one digit at a time, starting from
the most right digit and progressing to the most left one. When we subtract
8 -9 we have a negative result, then to avoid this problem we add 10 to the
number A resulting 18 to the digit rightmost number A, so the result is 18-9
= 9. But we have to indicate that it was borrowed(borrow) one value over
the left digit i.e. the equivalent of 10 because the next digit is the tens. This
value is indicated at the Borrow line n, which means it was recorded that
the value 1 will be considered when the operation takes place in the more
significant digit. This value is transferred to Borrow line (n-1) which is
positioned next leftmost column.
In operation following the leftmost column we must add the value 1
presented at Borrow(n-1) line to the value of Number B line in the case of
value 7 that will be considered as 7 + 1 = 8.
So the operation to be performed will be 4-8 that will result in a
negative number. Again we turn to the previous procedure, borrowing the
value 1 from the following leftmost column representing value 100. Then
the result of the operation will be 14 - (7 + 1) = 14-8 = 6.
As again it was borrowed one of the hundreds column, we recorded
this amount in Borrow line. This value is transferred to the next column
Borrow (n-1).
Then the last leftmost column is operated. We add the value 1 present
at Borrow line (n-1) to B number column digit that will have the value (3 +
1) = 4.
Then the operation will be performed as 5- (3 + 1) = 1, which is
registered in the Difference line. In this case there was no need to borrow 1
from the leftmost column and the operation is finished.
To perform subtraction using binary numbers the same method is
used. The operation begins with the most right digit and progresses to the
over the left one. The operation is performed at first right-most column,
which results in a negative number. So we borrow 10 (2 in decimal) from
the left column. Then we perform the subtraction 10-1 = 1 resulting in a
value 1 in binary. A 10 value was borrowed from the next leftmost column.
The resulting value 1 is recorded in the Difference line. The amount
borrowed is recorded in Borrow n line and transferred to the next column
on the left Borrow line (n-1).
The next column difference performs the operation 1 - (1 + 1) because
the number of Borrow line (n-1) is added to the digit of number B. This
number will result in a negative number. So we repeat the previous method
borrowing one of the leftmost column.
Then the operation to be performed is:
11- (1 + 1) = 11-10 = 1. This value 1 is recorded in the Difference line and
the value 1 borrowed from the leftmost column is recorded in Borrow line
n.
This value of n Borrow line is moved to the leftmost column in
Borrow line (n-1). In this third column the number 1at line Borrow (n-1) is
added to digit of number B which will result in (1 + 1) = 10.
This number should be subtracted from the value 0 that is the digit of
number A in this column.
As the result will be negative a value 1 is borrowed from the next
column to the left. So we will have the operation 10-10 = 0 which is
registered in line difference in this third column and record the borrowed
value in line Borrow n.
The value of Borrow line n is transferred to Borrow line (n-1) that
belongs to the next column to the left. In this last column the digit of
number B has value 0 and the borrow value is added resulting in (0 + 1) =
1.
Then the operation will be 1-1 = 0 which is registered in the column
Difference line. As in the operation of this column nothing was borrowed,
the operation ends.
The operation subtracted the decimal value 7 from the decimal value
10, resulting in the equivalent decimal difference 3.
Solved Problems
1) Convert the number183 base 10 to Gray encoding.
Solution:
Initially the number 183 in base 10 is converted to binary base,
resulting in the number 10 110 111 in base 2.
Next is applied the Exclusive OR operation between the binary digits.
At the beginning of the operation a digit with value 0 is added at the left
side of the binary number.
2) Convert the number 110 011 101 Gray coding for the equivalent number
in base 10.
Solution:
The process starts with a binary 0. When the digit number in Gray
displays the value 1 the value calculated in relation to the previous bit is
reversed. So if we have a value of 1 for the first bit of the number
represented in the Gray code the next digit in binary will be 1. If the next
digit in Gray has value 1 the next digit will be inverted in binary value with
respect to the previous digit, and will present the value 0.
The next bit in Gray has value 0 so the next binary number will stay
with the previous value 0. Continuing the next digit in Gray is also 0 so the
next binary house will continue with value 0. As the following three digits
in Gray have value 1 binary we will have the values 1, 0 and 1. The digit in
Gray has value 0 then the binary digit will maintain the value 1.
The last bit in Gray has value 1 the binary number will be 0.
So the binary number will be set to 0100010110
Converting the binary number for the base 10 by applying the values
of each binary to all binary digits that have value 1 the result will be 278
base 10.
Solution:
Problems to be solved
1) Convert numbers represented in the data base 10 to base 2 (binary), 8
(octal) and 16 (hexadecimal)
233
-17
-173
83.34
27.17
57.22
107.25
3) Assuming a system that uses 16-bit word. BCD is the notation for
representing the decimal numbers. Present the data, using 2 bytes for the
following decimal numbers:
1376
9276
3410
8578
12+ 47
57+137
125+342
25.23 + 37.45
32.987 + 134.87
174 - 87
237 -123
47.34 – 23.17
Basic Definitions
Definition: Are two set S1 and S2. The association for every element of S1
to one and only one element of S2 is a mapping from S1 to S2 also called
“True Table”. The mapping is also called “Function”.
The mappings for sum and subtraction functions are shown below:
Another way of presenting a function:
Assuming a set C1 composed of the elements (0,0), (0,1), (1,0) and (1,1)
and a set composed by elements C2 (0) and (1)
Algebraic Operations
only if:
If the verification of commutation is performed for a mapping is
necessary to conduct a comprehensive operation for all mapping lines.
If the operation is represented by a table, simply check that the
operation is symmetrical relative to the main diagonal of the table.
It can be observed that the Duo operation is symmetric relative to the
main diagonal.
However the Tri operation has no symmetry relative to the main
diagonal, as shown below:
1 Tri 0 ≠ 0 Tri 1
if:
The parentheses indicate the order of execution:
So the commonly used operations are OR, NOR, Not, AND, NAND,
XOR, XNOR, which are symmetric relative to the main diagonal and are
commutative.
Below are presented the symbols for all the standard operations with 2
inputs.
Boolean algebra definitions
Definition: A set B= {0, 1} along with two algebraic operation + (OR) and
. (AND), plus the operation “Unary inverter”, is a Boolean algebra, if and
only if the following postulates are true:
Postulate 1: The operations “+” and “.” are commutative and associative.
Postulate 3: Each one of both operation “+” and “.” are distributive over
one another and vice versa:
Theorem: The set B= {0, 1} together the two operations “+” and “.” as
defined below, plus the operation “Unary inverter”, are a switching Boolean
algebra.
.
Both operations are commutative and associative.
The following statements are valid for both operations.
The identity element for the operation “+” is 0 and the identity
element for the operation “.” is 1.
The operations “+” and “.” are distributive over one another and vice
versa, i.e. satisfy the following statements:
following is true:
Switching Boolean algebra is essential in the design and optimization
of switching circuit studies.
Boolean Formulas
Definition:
A symbol x is a variable if it can represent any of the values of
switching Boolean algebra B= {0, 1}.
The variable value is the element of B= {0, 1} that the variable is
representing.
So the variable x can take the value 0 or the value 1.
that always has the complement value of F for any value that the variables
that composes it take and vice versa.
Definition: The value of a Boolean form is the element of the set B = {0, 1}
it is when the values of the variables that compose it are known.
An example is shown by the following table for F and its complement
function.
Then using the mapping for the functions AND the intermediate
values are calculated.
Finally the mapping for the function OR is applied and the values of F
are calculated.
At least using the Unary operation inverter the values for the
It is obtained:
Proof:
Starting with the first Boolean expression (1):
Proof:
Let’s assume the opposite, i.e. let’s assume that
Then: 01=02
Following, let’s assume that there are two elements 1 written 11 and 12
For any elements a and b the following is true:
a.11=a and b.12=b
Assuming a=12 and b=11 and using Postulate P1.
12 . 11 = 12 and 11 . 12 = 11
11 . 12 = 12 and 11 . 12 = 11
Then:
11 = 12
Using Postulate P2
Using Postulate P4
By Postulate P2:
following is true:
Proof: First part (1)
Theorem 10 -
De Morgan Theorem (Augustus De Morgan)
For any elements a and b of a switching Boolean algebra the following is
true:
Proof: For any theorem it is necessary to prove that x=y it is used theorem
3 that proves the complement of an element is unique and Postulate P4
which states that:
Then if it is proved:
Then: x=y.
And
Theorem 11 –
De Morgan Theorem Extension:
This will result in value 0 according to the Postulate P4. Then the
result will be an expression type sum of terms with value 0. The sum of
terms with value 0 results in an outcome with value 0
Next for the part (4):
It can be observed that each term has a pair type:
This will result in value 1 according to the Postulate P4. As the end
result will be a product of terms with value1, the end result for expression
will be the value 1.
So it is proved that the Morgan's theorem is also valid for extended
expressions.
Replacing:
Replacing w and v
Replacing w and v:
Replacing w and v:
Replacing w and v:
Replacing w and v:
Replacing w and v
Thus it was proved that the operations + and . are associative and that the
Boolean expressions can be written without the use of parentheses.
a+b+c=a+b+c
a.b.c=a.b.c
The fact of the OR and AND operations are associative allows the
expansion of OR gates and E multiple entries numbering more than 2.
Usually integrated circuits are manufactured with 2,3 or 4 entries for these
Boolean algebraic operations.
Operation XNOR does not have its own symbol being represented by
the XOR operation with the reverse signal on its top.
Following it will be demonstrated the associativity property for
exhaustion:
That is, when a=1 and b=0 there is 1. Also when a=0 and b=1 the
result is 1.
For XNOR operation the form is:.
That is, when a=0 and b=0 there is 1. Also when a=1 and b=1 the
result is1.
The XNOR operation has the values at the output s opposites to the
values of XOR operation.
Other possibility of representing the operations XOR and XNOR are
as:
Solved Problems
1) Show that the NAND operation meets all the requirements of digital
Boolean algebra.
Solution:
To demonstrate that an operation meets all requirements of a
switching Boolean algebra it is necessary to show that this operation is
capable of performing the operations Inverter, AND and OR.
Thus joining the two inputs of NAND operation, the circuit will
execute the inverter operation.
2) Show that the NOR operation meets all the requirements of digital
Boolean algebra.
Solution:
To demonstrate that an operation meets all requirements of a
switching Boolean algebra it is necessary to show that this operation is
capable of performing the operations Inverter, AND and OR.
Thus joining the two inputs of NOR operation, the circuit will execute
the inverter operation.
Thus:
Problems to be solved
1) For the presented circuit provide the performed Boolean formula and
show the mapping for s.
Is the mapping for s extension of any algebraic operation for 2 inputs?
2) For the presented circuit provide the performed Boolean formula and
show the mapping for s.
Is the mapping for s extension of any algebraic operation for 2 inputs?
3) For the two presented circuits provide the performed Boolean formulas
and shows the mappings for s1 and s2
Are s1 and/or s2 extension of any algebraic operation for 2 inputs?
4) For the two presented circuits provide the performed Boolean formulas
and shows the mappings for s1 and s2
Are s1 and/or s2 extension of any algebraic operation for 2 inputs?
5) For the three presented circuits provide the performed Boolean formulas
and shows the mappings for s1, s2 and s3
Are s1, s2 and/or s3 extension of any algebraic operation for 2 inputs?
6) For the three presented circuits provide the performed Boolean formulas
and shows the mappings for s1, s2 and s3
Are s1, s2 and/or s3 extension of any algebraic operation for 2 inputs?
7) For the three presented circuits provide the performed Boolean formulas
and shows the mappings for s1, s2 and s3
Are s1, s2 and/or s3 extension of any algebraic operation for 2 inputs?
8) For the three presented circuits provide the performed Boolean formulas
and shows the mappings for s1, s2 and s3
Are s1, s2 and/or s3 extension of any algebraic operation for 2 inputs?
9) For the two presented circuits provide the performed Boolean formulas
and shows the mappings for s1 and s2
Are s1 and/or s2 extension of any algebraic operation for 2 inputs?
10) For the two presented circuits provide the performed Boolean formulas
and shows the mappings for s1 and s2
Are s1 and/or s2 extension of any algebraic operation for 2 inputs?
11) For the presented circuits provide the performed Boolean formulas and
shows the mappings for s
Is s extension of any algebraic operation for 2 inputs?
12) Prove that a circuit that performs the given Boolean function is a
universal circuit i.e. it is possible to perform any Boolean operation using
15) Using the postulates and theorems of switching Boolean algebra try to
find more simplified Boolean formulas for the presented equations.
16) Using the postulates and theorems of switching Boolean algebra prove
the following equalities. Next to each step cite the postulate or theorem
used.
.
Chapter 3
Functions, Mappings, Standards Forms
Boolean Function
A Mapping also called truth table represents a Boolean Function.
These two forms are equivalent to Boolean algebra, that is, starting
from one of the Boolean form and operating using postulates and theorems
of Boolean algebra it is possible to obtain the second Boolean form.
These two forms for the function not completely specified have a
minimum cost and match the values specified for the values 0 and 1 of the
mapping according to the values of the input variables.
But operating algebraically using the postulates and theorems of
Boolean algebra it turns out that the aforementioned Boolean forms are not
algebraically equivalents.
This happens because the mapping lines for which the function value
is not defined have different values for each of the Boolean forms
presented.
For the sum of standard products the lines for which the values are not
defined will result in value 0 for the function. For the product of standard
sums the lines for which the values are not defined will result in value 1 for
the function.
Solved Problems
1) For the following mapping of a completely specified function provide the
standard forms type sum of products and product of sums.
Show algebraically that both standard forms are equivalent.
Solution:
-Product of standard sums
Solution:
-Sum of Standard Products
Proof:
Proof:
3) A function not completely specified it is presented using reduced presentation for functions.
Provide the mapping, and the Boolean forms type product of standard sums and type sum of standard
products.
Solution:
First the mapping is constructed and their lines are filled with the values of
the reduced form specification for the function.
The maximum value in the reduced form specification is 7 then the function
will have three input variables. The mapping will have 8 lines.
Problems to be solved
1) Given the function completely specified F, presented in the reduced
notation provide the mapping and the standard forms type sum of products
and product of sums.
Show algebraically that both standard forms are equivalent.
3) Given the mapping of a Function not completely specified, provide a Boolean form type sum of
standard products and another Boolean form type product of standard sums.
4) Given the function F presented in the reduced notation provide the
mapping and the standard forms type sum of products and product of
sums.
5) Given the following six Boolean Forms provide disjunctive canonical
Boolean Forms type sum of products.
General
Conventional Relay
Figure 4.1 presents a detailed drawing of the construction of a
conventional relay.
In a reel constructed of insulating material is wrapped a coil using
copper.
The number of turns and the thickness of the copper wire depending
on type of AC or DC voltage and the voltage value needed to command the
relay or contactor.
For relay and contactor that operate with AC voltage the number of
turns is small so limiting the driver currents is due to coil inductance along
with its metallic core and magnetic circuit composed of the housing and
core.
To relays and contactors which are operated with DC voltage the
number of turns is much greater and the wire diameter is small as the value
of the current that circulates in the coil depends only on the total resistance
of the coil.
This type of relay has the property of not consuming energy at the
command when not occurring state change. This property is important in
battery operated circuit where the power consumption is important.
The relay type depicted in Figure 4.2 has two fully independent coils
controlled by independent control circuits. It needs to be careful so that the
two coils are not activated simultaneously.
In the circuit presented below in figure 4.3 diodes are installed along
the coils so that only two command pins are sufficient to control the two
coils.
So in the relay showed putting up positive potential in the control
terminal A and negative at control terminal B the Reset coil is triggered.
Reversing the polarity Set coil is triggered. Although the number of pins is
only two, the control circuit is more complex.
In this case there is no possibility of both coils are activated
simultaneously.
Solved Problems
1) Given the Boolean form below that performs the function F
Solution:
First the Boolean form is operated until a standard form is obtained.
From standard Boolean form it can be filled the truth table or mapping.
Solution:
First the Boolean form is obtained from the circuit.
Solution:
First the Boolean form is obtained from the circuit.
Using the circuit that uses logic gates another Boolean form is
obtained.
Problems to be solved
1) Given the Boolean Form
3) Analyze the given circuit providing the Boolean Form F and the truth
table.
4) Analyze the circuit providing the Boolean form which executes the
function and show the truth table.
5) Review the circuit providing the Boolean form which executes the
function. Also show the truth table.
6) Analyze the circuit providing the Boolean form which executes the
function. Also show the truth table.
7) Review the circuit providing the Boolean form which executes the
function. Also show the truth table.
8) Given the circuit provide the algebraic equation that performs the
function F and present the truth table.
9) Given the circuit using logic gates, provide the Boolean form which
executes the function. Also show the truth table and a circuit using relays
that performs the function.
10) Given the circuit using logic gates, provide the Boolean form which
executes the function. Also show the truth table and a circuit using relays
that performs the function.
11) Given the circuit using logic gates, provide the Boolean form which
executes the function. Also show the truth table and a circuit using relays
that performs the function.
12) Given the circuit using logic gates, provide the Boolean form which
executes the function. Also show the truth table and a circuit using relays
that performs the function.
13) Given the circuit using logic gates, provide the Boolean form which
executes the function. Also show the truth table and a circuit using relays
that performs the function.
Maps Construction
a = 0, b =1 and c = 0
b = 1 and a = 1
b = 1 and d = 0
The remaining cells have binary value 0.
The F2 formula is a product of sums type.
In these cases it is only necessary that one of the sums terms have a
value 0 and the function will have a 0 value.
So each one of the sums are analyzed and checked for which variables
values it will present a 0 value.
a = 1, c = 1 e d = 0
b=0ea=0
b=0ed=1
The remaining cells are binary value 1.
Definitions and Cells Properties of the Karnaugh map
1) For a Karnaugh map of n variables, a cell defined by n input variables, is called cell order 0. This
cell may assume the value 0, 1 or X (or D).
2) Two cell order 0 defined by the n input variables are adjacent when the values of their input
variables differ in only one value.
Example: for a map of five variables the cells defined by the values 01101
and 01100 differ in only one variable. If these two cell level 0 has value 1
associated for each one, then these two cells of the order 0 cap be grouped
in a cell of order 1 which is defined by (n-1) coordinated with the value 1
assigned to it. This cell of order 1 is defined by (n-1) coordinated and an
empty coordinate that is represented by a -. That is, the cell of order 1 of
this example will be defined by 0110-.
The same applies if one of the original cells would have a value 1 and
the other the value X.
If the two original cells had both the value 0 assigned thereto the cell
resulting order 1 would have the value 0 assigned to it. The same if one of
the original cells had a value 0 and the other the value X.
If the two original cells had both the X value attributed to them the cell
resulting order 1 would have the value X assigned to it.
So we can present in a table the values attributed to the new cell, where
the original cell values that gave rise to the new cell and the value assumed
by the resulting cell are presented.
3) Two cell order (k-1) defined by the values of (k-1) input variables are
adjacent when the values of their input variables that define differ in only
one value and the empty variables represented by the symbol (- ) are located
in (s) same (s) position (s).
For example in a map of five variables the cells defined by the values 0-
11- and 0-10- differ in only one variable and have the empty variables in the
same positions.
These two adjacent cells can be grouped in a cell of order k will be
defined by (n-k) variables and k empty variables.
The values assigned to the new order k cell will be set according to the
following table.
6) A minimum cost function is obtained by selecting a set of minimum number of highest possible
order of cells containing all cells with value 0 (not necessarily X). Each of the cells that compose this
set is represented by a sum. The product of these sums composes a function the minimum product of
sums type.
The definitions and properties presented in the previous section serves to set
the operating mode to obtain minimum cost function in product of sums
form or in the form of sums of products.
For incompletely specified functions, or for those where the mapping
function value for one or more cells is not set (X or D), the minimum
algebraic forms obtained by the Karnaugh Map method are not necessarily
algebraically equivalent.
But result in the correct values in order to produce the values specified for
the function lines where the function value is set.
Thus a few lines for which the function value is not set assume a value of 1
for the solution that has a form type product of sums.
In the case of function type sum of products a few lines for which the
function value is not set assume a value 0
Then eventually a cell for which the function value is not defined can take
the value 0 in solution type sum of products and take the value 1 in the
solution type product of sums.
Solved Problems
Mapping:
Solution:
Initially, a Karnaugh map is built and is filled using the results given
by the mapping function.
Mapping
Solution:
Initially build up the Karnaugh map and fill it in using the results of
the function given by mapping.
I
To obtain an algebraic form type sum of products mark higher order
cells which present value 1 for function. The use or not the cells with X
value is optional.
So the minimum algebraic function type sum of products is:
The circuit constructed using ANDs, ORs and inverters gate that
executes the form type product of sums is shown below.
Problems to be solved
1) Given the algebraic function below using Karnaugh maps method for
minimization of combinational circuits, provide a minimum circuit using
logic gates ANDs, ORs and inverter in the form of sum of products.
Also provide a minimum circuit using the form of product of sums.
2) Given the algebraic function below using Karnaugh maps method for
minimization of combinational circuits, provide a minimum circuit using
logic gates ANDs, ORs and inverters in the form of sum of products.
Also provide a minimum circuit using the form of product of sums.
3) For the given circuit provide the mapping data and using the Karnaugh
Map method minimize the circuit and present a minimal one in the form of
algebraic sum of products and a second minimal one in the form of
algebraic product of sums.
For each of the minimum algebraic forms present the corresponding circuit
using logic gates of ANDs, ORs and inverters.
4) For the given circuit provide the mapping data and using the Karnaugh
Map method minimize the circuit and present a minimal one in the form of
algebraic sum of products and a second minimal one in the form of
algebraic product of sums.
For each of the minimum algebraic forms present the corresponding circuit
using logic gates of ANDs, ORs and inverters.
5) For the given circuit provide the mapping data and using the Karnaugh
Map method minimize the circuit and present a minimal one in the form of
algebraic sum of products and a second minimal one in the form of
algebraic product of sums.
For each of the minimum algebraic forms present the corresponding circuit
using logic gates of ANDs, ORs and inverters.
6) For the given circuit provide the mapping data and using the Karnaugh
Map method minimize the circuit and present a minimal one in the form of
algebraic sum of products and a second minimal one in the form of
algebraic product of sums.
For each of the minimum algebraic forms present the corresponding circuit
using logic gates of ANDs, ORs and inverters.
7) For the given circuit provide the mapping data and using the Karnaugh
Map method minimize the circuit and present a minimal one in the form of
algebraic sum of products and a second minimal one in the form of
algebraic product of sums.
For each of the minimum algebraic forms present the corresponding circuit
using logic gates of ANDs, ORs and inverters.
8) For the given circuit provide the mapping data and using the Karnaugh
Map method minimize the circuit and present a minimal one in the form of
algebraic sum of products and a second minimal one in the form of
algebraic product of sums.
For each of the minimum algebraic forms present the corresponding circuit
using logic gates of ANDs, ORs and inverters.
9) For the given circuit provide the mapping data and using the Karnaugh
Map method minimize the circuit and present a minimal one in the form of
algebraic sum of products and a second minimal one in the form of
algebraic product of sums.
For each of the minimum algebraic forms present the corresponding circuit
using logic gates of ANDs, ORs and inverters.
11) Given the mapping below using the method of Karnaugh Maps provide
a minimum cost algebraic form as the product of sums and another
minimum algebraic form type sum of products.
Provide the circuits for both algebraic forms using ANDs, ORs and
inverters.
12) Given the mapping below using the method of Karnaugh Maps provide
a minimum cost algebraic form as the product of sums and another
minimum algebraic form type sum of products.
Provide the circuits for both algebraic forms using ANDs, ORs and
inverters.
13) Given the mapping below using the method of Karnaugh Maps provide
a minimum cost algebraic form as the product of sums and another
minimum algebraic form type sum of products.
Provide the circuits for both algebraic forms using ANDs, ORs and
inverters.
14) Given the mapping below using the method of Karnaugh Maps provide
a minimum cost algebraic form as the product of sums and another
minimum algebraic form type sum of products.
Provide the circuits for both algebraic forms using ANDs, ORs and
inverters.
15) Given the mapping below using the method of Karnaugh Maps provide
a minimum cost algebraic form as the product of sums and another
minimum algebraic form type sum of products.
Provide the circuits for both algebraic forms using ANDs, ORs and
inverters.
16) Given the mapping below using the method of Karnaugh Maps provide
a minimum cost algebraic form as the product of sums and another
minimum algebraic form type sum of products.
Provide the circuits for both algebraic forms using ANDs, ORs and
inverters.
Chapter 6
Quine McCluskey Algorithm
In the case of sum of product the terms that are listed are whose
which input variables results in a value of 0, and X for the function.
First is presented an example for obtaining a Boolean form type sum
of products.
1) Initially is built a list of the terms of entry, order 0, that result in value 1
and X for the function
2) The list is rearranged in ascending or descending order by groups according to the number of
input variables that have value 1 (or 0) that make up the input set of order 0 terms.
3) A list sorted by groups is processed. Each and all of the terms of a group are compared to one and
all the terms of the group adjacent to verify if each pair has terms that differ (are different) in only
one variable in the same position.
If this is true a new term is generated in a new list indicating the terms
of order 0 that originated and - (dash) in the single variable position that
was different.
Each of the two terms that participated in generating the new term in
the new list receives a mark indicating that this term was used, so indicating
that this term was covered by the new term of higher order added in the new
list.
The new terms are of order 1, and are defined by n-1 variables and
have an empty variable in the position where the original generators terms
differed.
Compared with the method of Karnaugh maps the list of elements of
order 1 has the elements that are representative of all cells of order 1 (2
order 0 cells) able to be formed with the cells order 0 which has a value 1 or
X.
4) The resulting list of the previous step where the terms of order 1 were
generated with an empty variable, separated by groups according to the
number of variables with a value of 1, is now processed.
Each and all of the terms of a group are compared to one and all the
terms of the group adjacent to verify that each pair has terms that have an
empty variable in the same position and differ in only one variable in
another same position.
If this is true a new term is generated in a new list indicating the terms
of order 1 that contributed to the generation of the new term of order 2. The
new term has the position of the variable in which the original terms of
order 1 differed filled by a – (dash)
Each of the two terms of order 1 that originated the term of order 2 in
the new list receives a mark indicating that these terms were used, so
generating an indication that these terms were covered by the new term of
order 2 that appears in the new list.
The new terms are of order 2 and are defined by n 2 variables and
have two empty variables, at the position in which the two original terms of
order 1 already had an empty variable and another at the position where the
only variable of the original terms differed.
Compared with the method of Karnaugh maps the list of terms of
order 2 presents the terms that are representatives of all cells of order 2 (4
cell class 0) able to be formed with the cells of order 0 that has value 1 or
X.
To end this part of the procedure is necessary to remove from the new
table the duplicate terms.
5) The resulting list from the previous step that generated the terms of order 2 with two empty
variables, separated by groups of terms that have the same number of variables with value equal to 1
is now processed.
6) The procedure should continue to the extent that it is no longer possible to generate higher
order terms.
This actually happens or why the last step of the procedure generated a
list with only one set of terms that have variables with same number of
values 1, or why although there are more than one group, the terms of these
groups are not possible to be grouped, that is, there aren’t terms that have
empty variables in the same positions and only differ in the value of a same
variable in the same position.
7) In this example, the procedure turned out because the process generated
only one group.
At this point the process should generate a list of all terms in all
process steps that have not received a tag, i.e. that were not covered by the
new higher-order terms.
These terms are named Prime implicant terms as they involve the
generation of the Boolean form representing the function. If we make a sum
of products of all prime implicant terms it will generate a form that
represents the Boolean function
8) To be able to abandon redundant terms and get a Boolean form of lower
cost is built a covering table.
For the construction of this table on the rows are presented the prime
implicants terms and at the columns the 0 order input symbols that result in
value 1 for the function.
The input symbols that result in value X should not appear in the table
because the cover of these terms is optional.
So we present the covering table according to the list of prime
implicants terms
9) Columns that have the terms of order 0 that result in value 1 to the
function and which are covered by just that prime implicant term makes this
an essential term. So this term is called term prime implicant essential.
For the example the term --- 0-11- and 00 are terms prime implicants
essential.
The mark X corresponding to that term in the columns that have
become these terms essential receives a symbol of a square.
X marks corresponding to these essential terms at other columns
receive a symbol of a circle.
10) Having defined the terms prime implicant essential one new reduced
covering table is built. At the rows are presented the terms that are not
prime implicant essential. At the columns those input symbols that were not
covered by the terms prime implicant essential
In this new table is included a new column that presents the cost of
construction of the term.
The cost is calculated according to the number of variables that
compose the terms plus one that represent the cost of the output.
That is, the cost considers the number of pins that are used in the
integrated circuits that will compose the circuit.
To obtain the lowest cost form of Boolean sum of products type it is
necessary to select a set of prime implicants terms of lower cost that cover
all columns contained in the table. This set of the terms more the essential
prime implicants terms already stored in the list of prime implicant essential
terms will compose the final Boolean form.
The set of terms that meets these requirements are composed of the
terms: 0 - - - 0, - 1011 and 1001 - . Plus the terms prime implicant
essential 0 - 11- and - - - 00 the lower cost Boolean form is constructed.
11)As a result of Boolean form of lower cost, type sum of products we have the circuit made up of
logic gates:
2) The list is rearranged in ascending or descending order by groups according to the number of
input variables that have value 1 (or 0) which compose the input terms of order 0
3) A list sorted by groups is processed. Each and all of the terms of a group are compared to one and
all the terms of the group adjacent to verify if each pair has terms that differ (are different) in only
one variable in the same position.
If this is true a new term is generated in a new list indicating the terms of
order 0 that originated and a - (dash) in single variable position that was
different.
Each of the two terms that participated in generating the new term in
the new list receives a mark indicating that this term was used, so indicating
that this term was covered by the new term of higher order added in the new
list.
The new terms are of order 1 and are defined by n-1 variables and
have an empty variable in the position where the original generators terms
differed.
Compared with the method of Karnaugh maps the list of elements of
order 1 has the elements that are representative of all cells of order 1 (2 cell
class 0) able to be formed with order cells 0 which has value 0 or X.
4) The resulting list of the previous step where the terms of order 1 were
generated with an empty variable, separated by groups according to the
number of variables with a value of 1, is now processed.
Each and all of the terms of a group are compared to one and all the
terms of the group adjacent to verify that each pair has terms that have an
empty variable in the same position and differ in only one variable in
another same position.
If this is true a new term is generated in a new list indicating the terms
of order 1 that contributed to the generation of the new term of order 2. The
new term has the position of the variable in which the original terms of
order 1 differed filled by a – (dash)
Each of the two terms of order 1 that originated the term of order 2 in
the new list receives a mark indicating that this term was used, and
therefore generating an indication that this term was covered by the new
term of order 2 listed in the new list.
The new terms are of order 2 and are defined by n-2 variables and
have two empty variables at the positions were the two original terms of
order 1 already had an empty variable, and another at the position where the
only variable of the original terms differed
Compared with the method of Karnaugh maps the list of terms of
order 2 presents the terms that are representatives of all order cell 2 (4 cell
class 0) able to be formed with the cells of order 0 that has value 0 or X.
To end this part of the procedure is necessary to remove from the new
table the duplicate terms.
5) The resulting list from the previous step that generated the terms of
order 2 with two empty variables, separated by groups of terms that have
the same number of variables with value equal to 1 is now processed.
6) The procedure should continue to the extent that it is no longer possible to generate higher order
terms.
This actually happens or why the last step of the procedure generated a
list with only one set of terms that have variables with same number of
values 1, or why although there are more than one group, the terms of these
groups are not possible to be grouped, that is, there aren’t terms that have
empty variables in the same positions and only differ in the value of a same
variable in the same position.
7) In this example, the procedure turned out because the process generated
only one group.
At this point the process should generate a list of all terms in all
process steps that have not received a tag, i.e. that were not covered by the
new higher-order terms.
These terms are named Prime implicant terms as they involve the
generation of the Boolean form representing the function. If we make a
product of sums of all prime implicant terms it will generate a form that
represents the Boolean function
8) To be able to abandon redundant terms and get a Boolean form of lower
cost it is built a covering table.
For the construction of this table at the rows are presented the prime
implicants terms and at the columns the 0 order input symbols that result in
value 0 for the function.
The input symbols that result in value X should not appear in the table
because the cover of these terms is optional.
So we present the covering table according to the list of prime
implicants terms, and the input symbols that result in value 0 to the
function.
9) Columns that have the terms of order 0 that result in value 0 to the
function and which are covered by just that prime implicant term makes this
an essential term. So this term is called term prime implicant essential.
For the example the term 000 - 1, - - -01, 11-10, are terms prime
implicant essential.
The mark X corresponding to that term in the columns that have
become these terms essential receives a symbol of a square.
X marks corresponding to these essential terms at other columns
receive a symbol of a circle.
These terms prime implicant essentials are stored in a list of terms
that will necessarily compose Boolean form.
10) Having defined the terms prime implicant essential one new reduced
covering table is built. At the rows are presented the terms that are not
prime implicant essential. At the columns those input symbols that were not
covered by the terms prime implicant essential
In this new table is included a new column that presents the cost of
construction of the term.
The cost is calculated according to the number of variables that
compose the terms plus one that represent the cost of the output.
That is, the cost considers the number of pins that are used in the
integrated circuits that will compose the circuit.
To obtain the lowest cost form of Boolean product of sums type it is
necessary to select a set of prime implicants terms of lower cost that cover
all columns contained in the table. This set of the terms more the essential
prime implicants terms already stored in the list of prime implicant essential
terms will compose the final Boolean form.
The set of terms that meets these requirements is composed by term:
1-11-. Plus the terms prime implicant essential 000 -1, 11 -10, - - - 01 the
lower cost Boolean form is constructed.
Solved Problems
1) Given a circuit that was built using logic gates provide a mapping for
this circuit.
From the mapping using the Quine McCluskey algorithm provides a
minimum cost Boolean forms type sum of products and product of sums.
Show the minimum cost circuits using logic gates and relays for both
minimum cost forms.
Using the terms type standard products the mapping is filled in.
In this example, the procedure turned out because the process generated
only one group.
At this point the process should generate a list of all terms in all
process steps that have not received a tag, i.e. that were not covered by the
new higher-order terms.
Using the list a covering table is constructed.
The rows present the prime implicants terms and at the columns the 0
order input symbols that result in value 1 for the function.
So we present the covering table according to the list of prime
implicants terms, and the input symbols that result in value 1 to the
function.
Columns that have the terms of order 0 that result in value 1 to the
function and which are covered by just that prime implicant term makes this
an essential term. So this term is called term prime implicant essential.
For the example the term -111 and 1-0- are terms prime implicant
essential.
The mark X corresponding to that term in the columns that have
become these terms essential receives a symbol of a square.
X marks corresponding to these essential terms at other columns
receive a symbol of a circle.
For this problem the two prime implicant terms essential cover all the
columns, i.e. all the input symbols that result in value 1 to the function.
Thus the Boolean for is composed only by the two terms:
-111 and 1-0-
The Boolean form of lower cost is as follows:
First it is built a list of the input symbols that result in value 0 to the
function.
The list is rearranged in ascending or descending order by groups
according to the number of input variables that have value 1 which compose
the input terms of order 0
The list sorted by groups is processed. Each and all of the terms of a
group are compared to one and all the terms of the group adjacent to verify
if each pair has terms that differ (are different) in only one variable in the
same position.
If this is true a new term is generated in a new list indicating the terms of
order 0 that originated and a - (dash) in single variable position that was
different.
Each of the two terms that participated in generating the new term in
the new list receives a mark indicating that this term was used, so indicating
that this term was covered by the new term of higher order added in the new
list.
The new terms are of order 1 and are defined by n-1 variables and
have an empty variable in the position where the original generators terms
differed.
The same procedure is realized to generate a new table with terms
order 2 defined by (n-2) variables and having 2 empty variables.
In this example, the procedure turned out because the process generated
two groups with terms that are not possible to be grouped because the
empty variables are not in the same position.
At this point the process should generate a list of all terms in all
process steps that have not received a tag, i.e. that were not covered by the
new higher-order terms.
Using the list a covering table is constructed.
The rows present the prime implicants terms and at the columns the 0
order input symbols that result in value 0 for the function.
So we present the covering table according to the list of prime
implicants terms, and the input symbols that result in value 0 to the
function.
Columns that have the terms of order 0 that result in value 0 to the
function and which are covered by just that prime implicant term makes this
an essential term. So this term is called term prime implicant essential.
For the example the term 0-0-, -01-and --10 are terms prime implicant
essential.
The mark X corresponding to that term in the columns that have
become these terms essential receives a symbol of a square.
X marks corresponding to these essential terms at other columns
receive a symbol of a circle.
For this problem the three prime implicant terms essential cover all
the columns, i.e. all the input symbols that result in value 0 to the function.
So the Boolean form is composed only by the three terms
The Boolean form of lower cost is as follows:
Problems to be solved
1) Given the circuit that uses logic gates provide a mapping for this circuit.
2) Given the circuit that uses logic gates provide a mapping for this circuit.
3) Given the circuit that uses logic gates provide a mapping for this circuit.
4) Given the circuit that uses relays provide a mapping for this circuit.
For F1, F2 and F3 functions that are part of the same circuit provides
the mappings and apply Quine McCluskey algorithm for simultaneous
multiple functions, generating a minimum circuit for all the three functions
type sum of products and another circuit type product of sums.
Provide the circuits using logic gates
1) Initially filled the mapping to the three functions that are all composed
of four variables, as the term of maximum value is15.
2) Using the same methodology of Quine McCluskey algorithm to only one functions, it’s created a
table with all the terms that result in value 1 and X for all three functions, noting next to the term the
(s) functions to which the term belong.
Each of the two terms that participated in generating the new term in the
new list receives a mark if all the functions to which the term belongs were
covered by the new term of order 1.
The new terms are of order 1 and are defined by (n-1) variables and
have an empty variable in the position where the original generators terms
differed.
4) The resulting list of the previous step generating the terms of order 1
with an empty variable, separated by groups according to the number of
variables with a value of 1, is now processed.
Each and all of the terms of a group are compared to one and all the
terms of the group adjacent to verify that each pair has terms that have an
empty variable in the same position and differ in only one variable in
another same position.
If this is true a new term is generated in a new list indicating the terms
of order 1 that contributed to the generation of the new term of order 2. The
new term has a dash in the position where both terms of order 1 had a dash,
and an extra dash in the position where the variable in which the original
terms of order 1 differed.
Also the functions that were common to both original terms that
generated the new term are indicated.
Each of the two terms of order 1 that participated in generating the new
term in the new list receives a mark if all the functions to which the term
belongs were covered by the new term of order 2
The new terms are of order 2 and are defined by (n-2) variables and
have two empty variables in the positions where the original terms already
possessed an empty variable and a new one in the position where the two
terms of order 1 are different.
5) In each of the steps is required at the end of generation of the new list to
remove the terms that do not cover any of the functions, and also remove
the repeated terms.
These terms were removed from the list, and the table without these
terms is presented below.
The table that present terms of the second order is now processed
generating a new list with the terms of order 3.
The terms used that have all its functions covered by the new term
generated received a check mark.
The list of terms of order 3 shows just a term that covers the F1 function
in only one group. This condition ends this stage of the process.
6) The terms unmarked in the set of all steps are prime implicants terms
for the functions associated with these terms.
They are used to generate the covering table where in the lines are listed
these terms and at the columns are presented the terms order 0 that result in
value 1 to the function.
The terms that result value X to the function are not presented at the
columns because they are optional.
Below is presented the covering table for the functions F1, F2, and
F3.
The functions F1, F2 and F3 don’t present terms prime implicant
essential.
Analyzing the table it can be observed that the terms 1---along with
the term -1-1 fully cover the F1 function.
The term -1-1 more terms1-10 and 0--1 cover the F2 function.
Withdrawing these term and all terms of order 0 at columns covered
by them, a reduced covering table is constructed.
Using the terms chosen, results the circuit presented below using logic
gates:
Using the terms chosen, results the circuit presented below using
relays:
Solution:
1) For best viewing the three mappings of functions F1, F2 and F3 are
repeated.
2) Using the same methodology of Quine McCluskey algorithm to only one
functions, it’s created a table with all the terms that result in value 0 and X
for all three functions, noting next to the term the (s) functions to which the
term belong.
Using 0 and X will generated Boolean expressions type product of sums.
The list is rearranged in ascending or descending order by groups
according to the number of input variables that have value 1 (or 0) that
make up the input terms of order 0
3) The list sorted by groups is processed. Each and all of the terms of a
group are compared to one and all the terms of the group adjacent to verify
that each pair has terms that differ (are different) in only one variable in the
same position.
If this is true a new term is generated in a new list indicating with a –
(dash) the position where the two original terms of order 0 had a different
value for the input variables. Also the terms order 0 numbers and the
functions that were common to both original terms are annotated next to the
new term of order 1.
Each of the two terms that participated in generating the new term in the
new list receives a mark if all the functions to which the term belongs were
covered by the new term of order 1.
The new terms are of order 1 and are defined by (n-1) variables and have
an empty variable in the position where the original generators terms
differed.
4) The resulting list of the previous step generating the terms of order 1
with an empty variable, separated by groups according to the number of
variables with a value of 1, is now processed.
Each and all of the terms of a group are compared to one and all the
terms of the group adjacent to verify that each pair has terms that have an
empty variable in the same position and differ in only one variable in
another same position.
If this is true a new term is generated in a new list indicating the terms
of order 1 that contributed to the generation of the new term of order 2. The
new term has a dash in the position where both terms of order 1 had a dash,
and an extra dash in the position where the variable in which the original
terms of order 1 differed.
Also the functions that were common to both original terms that
generated the new term are indicated.
Each of the two terms of order 1 that participated in generating the new
term in the new list receives a mark if all the functions to which the term
belongs were covered by the new term of order 2
The new terms are of order 2 and are defined by (n-2) variables and
have two empty variables in the positions where the original terms already
possessed an empty variable and a new one in the position where the two
terms of order 1 are different.
5) In each of the steps is required at the end of generation of the new list to
remove the terms that do not cover any of the functions, and also remove
the repeated terms.
These terms were removed from the list, and the table without these
terms is presented below.
The table that present terms of the second order is now processed
generating a new list with the terms of order 3.
The list of terms of order 3 shows just a term that doesn’t cover any
function. This condition ends this stage of the process.
6) The terms unmarked in the set of all steps are prime implicants terms for
the functions associated with these terms.
They are used to generate the covering table where in the lines are listed
these terms and at the columns are presented the terms order 0 that result in
value 0 to the function.
The terms that result value X to the function are not presented at the
columns because they are optional.
Below is presented the covering table for the functions F1, F2, and
F3.
Solved Problems
F a[1]={1,5,6,7}
F a[X]={0}
F b[1]={0,5}
F b[X]={1,7}
F c[0]={0,1,2,4}
F c[X]={7}
First the procedure for the terms that result in value 1 and X for the
functions is realized generating expressions type sum of products for the
functions.
A table with the order 0 terms that result in value 1 or X for the
functions, is constructed.
Then the terms are separated into groups according to the number of
input variables with the value 1 (or 0).
The terms of order 0 that do not cover any function are abandoned.
All terms that have not received a mark in all process steps, indicating
that they have been covered, are added in a list of prime implicant terms
Using the prime implicants terms as input to horizontal lines and the
values of the terms of order 0 that results in value 1 to the functions as entry
for the columns a covering table is constructed
The terms essential prime implicant are marked at the columns that
they cover.
So the term 00- is essential to the function F-a and F b, and the term
-11 is essential to the function F c and the term 11- is essential to the
functions F-a and F c.
Withdrawing the essential prime implicant terms from the lines and
the terms order 0 that are covered by them from the columns it is generated
a reduced covering table.
Based on the reduced covering table the term of lowest cost is 1-1 for
F a, F b and F c. This term cover all three functions.
So it is presented the Boolean expression for the three functions:
Following the procedure for the terms that result in value 0 and X for
the functions, is realized generating expressions type product of sums for
the functions.
A table with the order 0 terms that result in value 0 or X for the
functions, is constructed.
Then the terms are separated into groups according to the number of
input variables with the value 1 (or 0).
The terms of order 0 that do not cover any function are abandoned.
All terms that have not received a mark in all process steps, indicating
that they have been covered, are added in a list of prime implicant terms
Using the prime implicants terms as input to horizontal lines and the
values of the terms of order 0 that results in value 0 to the functions as entry
for the columns a covering table is constructed
The terms essential prime implicant are marked at the columns that
they cover.
So the term 01- is essential to the function F-a, and F b, the term -1- is
essential to the function F b and the term 100 is essential to the functions F-
a, F b and F c.
Withdrawing the essential prime implicant terms from the lines and
the terms order 0 that are covered by them from the columns it is generated
a reduced covering table.
Based on the reduced covering table the terms of lowest cost is 00-
and 0-0 are chosen for F c.
So it is presented the Boolean expression for the three functions:
F a [1]={1,3,5,6,7}
F b [0]={0,2,4,5}
F c [0]={2,4,6,7}
Using the prime implicants terms as input to horizontal lines and the
values of the terms of order 0 that results in value 1 to the functions as entry
for the columns a covering table is constructed
The prime implicant terms essential are marked at the columns where
they are the only prime implicant term that cover the column. Also the other
columns that are covered by those prime implicant essential are marked.
Thus the term 0-1 is essential for F a, F b and F c, the term -01 is
essential for F a and F c and the term 11- is essential for F a and F b and
finally the term 00- is essential for F c.
The prime implicant essential terms cover all terms of order 0 of the
three functions. So it’s not necessary to build a reduced covering table.
So it is presented the Boolean expression for the three functions:
Below is the circuit using logic gate:
Now the procedure for the terms that result in value 0 for the
functions is realized generating expressions type product of sums for the
functions.
A table with the order 0 terms that result in value 0 for the functions is
constructed.
Then the terms are separated into groups according to the number of
input variables with the value 1 (or 0). The terms of order 0 that do not
cover any function are abandoned.
The table with the order 0 terms, separated by groups, is processed
generating a new table with the order 1 term, that present an empty variable
in the position where the original order 0 terms were different.
The functions that are common to both order 0 original terms, are
indicated next to the term of order 1. The terms that do not cover any of the
functions are abandoned.
The original terms that had all its functions covered by the new
generated order 1 term are marked indicating that these terms has already
been totally covered.
The same procedure is performed for the new table generated with
terms of order 1, which will produce a new table with terms of order 2
defined by two empty variables.
The terms that do not cover any functions are abandoned
All terms that have not received a mark in all process steps, indicating
that they have been covered, are added in a list of prime implicant terms.
Using the prime implicants terms as input to horizontal lines and the
values of the terms of order 0 that results in value 0 to the functions as entry
for the columns a covering table is constructed
The terms essential prime implicant are marked at the columns that
they cover.
So the term 10- is essential to the function F b, and the term 11- is
essential to the function F c.
Withdrawing the essential prime implicant terms from the lines and
the terms order 0 that are covered by them from the columns it is generated
a reduced covering table.
Based on the reduced covering table the term of lowest cost is 0-0 for
“F a” and “F b”.
The term 100 is chosen to compose F a and F c. The term -10 is
chosen to have lowest cost to compose F c.
So it is presented the Boolean expression for the three functions:
.
2) Using Quine McCluskey algorithm for multiple functions provide the
minimal Boolean expression to F a, and F b, type product of sums.
These two functions are not completely specified.
Present one circuit using logic gates and another circuit using relays.
Logic Gates
In chapter 2 where Boolean algebra was presented was proven that the
operations “+” (OR) and”.” (AND) are associative and the Boolean
expressions can be written without the use of parentheses.
(a .b).c=a .b .c
(a +b)+c=a +b +c
The fact of the OR and AND operations are associative allows the
expansion of OR gates and AND multiple entries, numbering more than 2.
Usually integrated circuits are manufactured with 2, 3 or 4 entries for these
Boolean algebraic operations.
It is important to note that even after expanded the OR and AND
gates remain associative.
The standard circuits for algebraic operations NAND and NOR with
two entries are shown below.
Using the concept of positive logic we have: V + = logical 1 and 0
Volts = 0 logical.
We observed that for the NAND operation the output only has value 0
when all the variables at inputs have 1 value. We can also observe, for NOR
operation, that the output has the value 1, when all the variables at inputs
have value 0.
So we can provide mappings for the two extended algebraic
operations for k entries.
The standards circuits for algebraic operations NAND and NOR allow
the expansion for k entries by adding more entries with the addition of a
greater number of diodes at the inputs.
Using the concept of positive logic we have for these circuits V + =
logical 1 and 0 Volts = logical 0.
Postulate 1: For this switching logic presented as true B must have two
elements, the elements 0 and 1 i.e. B = {0, 1} for both operations.
How can we verify the NAND operation results in all its lines in an
element of B = {0, 1}
On the other hand the operation “#” results in the complement
element which is also an element B = {0, 1}.
Now we will verify the operation NOR:
How it can be verified NOR operation results in all its lines in an
element of B = {0, 1}
Furthermore # operation used as a NOR operation results in the
element complement that it is also an element of B= {0, 1}.
So the Postulate 2 is true for both operations NAND and NOR.
Postulate 3: Analyzing the mappings for operations NAND and NOR it can
be observed that:
As defined by Postulate 2.
Postulate 5:
a │ ( b │ c) ≠ ( a │ b ) │ c ≠ a │ b │ c (1)
a ↓( b ↓ c) ≠ ( a ↓ b ) ↓ c ≠ a ↓ b ↓ c (2)
First for the operation │ (“stroke”)
It can be observed that the results are different, i.e. the algebraic
operation │ (“stroke”) is not associative.
Now for operation ↓ (“dagger”)
It can be observed that the results are different, i.e. the algebraic
operation ↓ (“dagger”) is not associative.
The mappings for algebraic operations NAND and NOR already
presented above show that if the same input variable is connected to the two
inputs of a NAND and NOR circuit the value of the output will be the
opposite of the value applied at the two entries, that are equal.
This can be seen in the two tables showing the output result of the
first circuit when both inputs have a value of 0 and the output result when
both inputs have the value 1.
Another observation is that an opposite result can be obtained by
applying the value logic 1 in one of the entries of NAND operation. In this
case the resulting value in the output is the logical value of the complement
applied to the second input.
The same is true for the NOR operation. Applying the value 0 in one
of the entries, the result at the output will be the complement of the logical
value applied to the second entry.
Solved Problems
1) For the F function expressed through a form type Boolean Sum of Products, develop a circuit that
uses only operations "Stroke" with two inputs.
2) For the F function expressed through a form type Boolean Product of Sums, develop a circuit that
uses only operations "Dagger" with two inputs.
Problems to be solved
1) For each of the switching functions represented below by their forms provide the Boolean
expressions using only operations type "Stroke".
2) For each of the switching functions presented in the previous problem provide the expressions
using only operations type "Dagger".
3) For each of the following expressions that represent switching Boolean functions presents sum of
products type forms.
4) For each of the expressions presented in the previous problem that represent switching Boolean
functions present switching Boolean forms type product of sums.
5) For each of the circuits present below provide switching Boolean function type product of sums.
Draw the new circuits.
6) For each of the circuits presented at the previous problem provide a
switching Boolean form type sum of products. Draw the new circuits.
7) Given the Boolean form below, and assuming that only are available operations "Stroke" with 2
entries, provide an expression for each one of the forms, using only this type of operation.
The set of requirements b) and c) indicates that there are no common variables to the y and z sets.
Propositions:
As established in the definition of the construction characteristics of a
Boolean form by simple disjunctive decomposition, two sets of variables
that have no intersection compose the two sub Boolean forms that will
make the Boolean decomposed original form
It will be presented hereafter three propositions to make it possible to
calculate the number of possibilities for the decomposition of the original
Boolean form using two sub forms.
Proposition:
A set of variables X={x1, x2,..., xn} has 2n possible distinct
partitions.
Assume that Y and Z are both disjoint subsets i.e. that have no
intersection. The variable xk is in one of the subsets but not in both.
So it is possible to establish two ways for where the variable xk is: it
is in the subset Y or it is in subset Z.
Thus there are 2n possible different possibilities to be set where the
variables of set X are.
Proposition:
Let’s suppose that the number of elements in Y is j.
Partitions with j = 0, j = 1 and j = n are trivial to be established.
For j = 0 there are no variables in the set Y, i.e. the Boolean form G
(y1, y2, ....,yk) does not exist.
For j=1 a single variable is assigned to the Y subset, or G (y1) = xi. In
this case we will have n possibilities of choice for xi.
For j = n all variables are allocated to Y. subset i.e. the Z subset is
empty.
Thus for a set X = {x1, x2, x3} according to the previous proposition
it will be possible to have partitions 23 = 8 partitions where 3 + 1 + 1 = 5
are trivial to be established.
So we can present another proposition:
Proposition:
Based on the previous Proposition for a set X = {x1, x2, ....,xn} there
are (2n - n – 2) partitions not trivial.
Proposition:
It is possible to expand a Boolean form with respect to a variable b,
according to the process explained below:
Repeating the Boolean form sum of products type:
Where:
Expansion:
Where for xi =0
If xi=0:
And if xi=1:
Following applying for each one of the Boolean sub forms to the d
variable:
Replacing these two latter forms at the previous form the results are:
Where:
Partition Tables
generate
These tables will not generate Boolean forms using simple disjunctive
decomposition.
The two partition tables presented below can generate Boolean form
using simple disjunctive decomposition.
The following two tables presented with two rows and two columns
have the necessary conditions for generating a Boolean form using simple
disjunctive decomposition.
The final Boolean form for Table E is:
Final Considerations
Solved Problems
Solution:
Using the partition tables already developed for 4 variables functions
results:
Problems to be solved
6) For the function F(a, b, c,....k) that has k variables prove that the four
given equations are true:
F[1] = { 2, 6, 9, 11}
F[X]= { 1,12,13 }
F[1] = { 0,2,5,9 }
F[X]= { 10,12,14,15 }
Each cell has k external inputs whose input symbol is given by:
As we have three outputs and four inputs considering the total inputs
and outputs, we can build three Karnaugh maps using four variables.
The Karnaugh maps for the primary output and secondary output are
as follows:
The iterative network that calculates the parity bit to be added to the
byte that will be transmitted doesn’t have primary output, as only interests
the result displayed on the secondary output of the last cell.
Thus the table that shows the various symbols of inputs and outputs
does not have a primary output table.
This same table performs the function of checking correct reception
of the binary number.
The difference between the iterative network that calculates the bit to
be added and the iterative network that verifies whether the binary number
has been correctly received, it is in the fact that on the network that
calculates the bit to be added, the first cell gets in its secondary input one
fixed value 0, while on the network that checks if the received byte was
correctly received the first cell receives at its secondary input the value of
the first bit of the received number.
The Karnaugh map that represents the network standard cell is
presented below:
The iterative network must receive a byte in their primary inputs and
must provide at the secondary output of the last cell a value of 1 if the
number of bits with the value 1 in the Byte equals 3.
Secondary entries must present the following information:
a) No bit with value 1 so far.
b) 1 bit with value 1 so far.
c) 2-bit value 1 until the moment.
d) More than 3-bit value 1 until the moment.
e) 3 bits with value 1 so far.
The table with the states and input and output symbols is given
below:
Following are presented the Boolean forms that perform the functions
a, b, and c:
Below the circuit of the standard cell that makes up the iterative
network:
The structure of the iterative network to a Byte is shown below:
Below the circuit of the standard cell that makes up the iterative
network:
The Karnaugh maps for the secondary outputs and output are as
follows:
The Boolean forms obtained from the Karnaugh maps are as follows:
The circuit of the standard cell constructed with relays is shown
below. The cell does not have any relay inside.
Because the binary number of the association to each of the states
contain only one binary digit with value 1, it is always possible to obtain a
Boolean form for each of the secondary outputs such a way that do not
appear inverted input variables.
The only variable that may appear reversed is the main input variable
epi. This is the variable that controls the cell through the epi relay.
The contacts of the epi relay, which will perform Boolean forms of
secondary variable, are normally open type when the ep variable appears
not reversed and will be of the type normally closed when the ep variable
appears reversed.
2) Develop a circuit using iterative network that executes only the sum of a
digit of binary numbers using logic gates.
5) Develop a circuit using iterative network that present at its output a value
of 1 when in a byte there are exactly two adjacent bits with value 1. Present
a circuit using logic gates.
6) Build a circuit using iterative network that compares two bytes A and B,
providing three output signals A = B, A> B and A <B.
In the last cell the three outputs must be available.
In every standard cell should be two primary inputs to the bits of bytes A
and B.
Present a circuit for the standard cell using logic gates.
7) Build a circuit using iterative network that compares two bytes A and B,
and presents a value 1 at the output when exactly two bits are different.
Present a circuit for the standard cell using logic gates.
8) Build a circuit using iterative network that presents at its output a value
of 1 when in the byte there are two non-adjacent groups of exactly two
adjacent bits with a value of 0.
Present a circuit for the standard cell using logic gates.
9) Build a circuit using iterative network that presents at its output a value 1
when a byte not have two 0 or two adjacent 1.
Present a circuit for the standard cell using logic gates.
Chapter 11
Transients and Hazards in Switching Circuits
Types of Hazards
There are two possible error or hazard occurring in combinational
circuits:
a) Static Hazard
b) Dynamic Hazard
Static Hazards
The hazard is called static when a change in an entry should not cause
any change in the output, i.e., the state at the output should not be altered
due to the change in input value, and results in a momentary peak with a 0
value or 1 value.
In this case we have two types of static hazard:
a) 0 Static Hazard
b) 1 Static Hazard
For 0 static hazard, the output shows zero, and after the input change
the output must continue to show zero, i.e. the input change of state should
not modify the state of the output. The hazard appears as a brief undue
presence of the value 1 in the output.
For 1 static hazard, the output shows one, and after the input change
the output must continue to show one, i.e. the input change of state should
not modify the state of the output. The hazard appears as a brief undue
presence of the value 0 in the output.
These improper values are called "glitch". In many cases the signal
does not have full amplitude, namely, the signal does not reach the value of
Vcc, in the case of 0 static hazards or does not reach the ground level in the
case of a 1 static hazards.
But even in these conditions the signal can command the next circuit
that receives the signal of this output.
Dynamic Hazards
But due to the fact that the output of Inverter gate enters at the last
gate of the circuit, the output of the inverter gate presents a 0 value at the
input of the last OR gate, before the signal propagates through the
intermediate OR and AND gates of the circuit.
The last OR gate receives two signals with 0 value before the “glitch”
appears at the output of the AND gate, presenting a 0 value at the output.
When then the result of the "glitch" appears in the output of the AND
gate, results in a temporary value 1 in the output, and when this "glitch"
output disappears finally the correct 0 value results.
The explained behavior causes a "bounce" of falling edge transition in
the circuit output.
Due to constructive aspects the relay can have four possible output
results
1) A normally open contact closes before a normally closed contact opens.
2) A normally closed contact opens before a normally open contact closes.
3) A normally open contact opens before a normally closed contact closes.
4) A normally closed contact closes before a normally open contact opens.
Initially we present the Karnaugh maps for two circuits. The first
circuit is represented by the Karnaugh maps a) and b) and the second circuit
by the maps c) and d).
In Karnaugh maps are shown the cells of order 0 covered by the cells
of order 1.
Constructing a Boolean form using the cells of order 1 that cover the
cells of order 0 that present the value 1 for the function it will result in a
Boolean form for the function.
Constructing a Boolean form using the cells of order 1 that cover the
cells of order 0 that present the value 0 for the function it will result in a
Boolean form for the function.
The shown Karnaugh Maps for the two circuits have static hazards
because there are cells of order 1 adjacent, and there aren’t any cells of
order 1 or greater that cover the terms of order 0 of these cells that are
adjacent.
It’s is called adjacent, two cells of order 0 that have the same value 0
or 1, and that are defined by variables that has a different value at only one
variable.
When two cells adjacent of order 0 with the same value for the
function, are not covered by a single cell of greater order, can occur when
the state change of the input variable value that is different for the two cells
order 0 a static error.
In all four examples of maps are cells of order 0 that have the same
value 0 or 1 to function, and that are adjacent and differ only in the value of
the input b.
But these two cells of order 0 are not covered by any cell of order 1 or
greater at the same time.
Similarly to the circuit c), the same occurs between cells of order 0
with 0 value, 000 and 010, when the b variable changes state from 0 to 1 or
from 1 to 0.
Finally for the circuit d) the same occurs between cells of order 0
with 1 value, 101 and 111, when the b variable changes state from 0 to 1 or
1 to 0.
In the new Karnaugh maps it can observed the terms added so that
there is no adjacency between sets of 0s or 1s with cells of order 0 not
covered simultaneously.
In the Boolean form type product of sums it was added the term (a+ c)
with value 0.
In the Boolean form type sum of product it was added the term (a. c)
with value 1.
These new sets added provide a new path between the inputs and the
output of the circuit in order to maintain the result 0 or 1 at the output when
a input variable, in case variable b, change the state from 0 to 1 or from 1 to
1.
For circuits with more than six variables the method of Karnaugh
maps is difficult to apply. In this case Quine McCluskey algorithm is used.
It is necessary to make changes to the algorithm so as to avoid the
occurrence of static errors.
The necessary changes are presented using an example to generate a
circuit that will execute a sum of products circuit type.
The mapping for the functions is presented below:
The terms such as "don’t care" are marked with an X in the mapping.
Throughout the process continues these terms being marked with an X
following the order of cell number 0.
The construction of Coverings table is modified so that the columns
of the table lists the pairs of cells order 0 adjacent which make up the cells
of order 1 that result in value 1 for the function. (or 0 if it’s desired a form
type Product of Sums).
The prime implicants terms are given in table rows.
Only are marked with crosses the terms order 0 in the columns that have
both cell order 0 adjacent covered by the prime implicant term listed in the
row.
Boolean form generated by the algorithm is displayed just below the
covering table.
With modifications to the Quine McCluskey algorithm, this method
ensures that all adjacent cells order 0 making up the 1 cell, are covered
simultaneously by a term that covers both adjacent cells of order 0.
As the function used in the example has only four variables it is
possible to construct a Karnaugh map to perform a comparison of results. It
can be seen that the result does not allow the occurrence of static errors for
all possibilities of adjacent cells order 0
Disjunctive Forms Theorem
Proof:
In the composition of a disjunctive normal form it was found that this
algebraic form is composed of Boolean terms type product or reduced
product standards, but do not have the same variable in the non-
complemented and complemented form simultaneously on the same
product.
Furthermore, there is a set of cells of order 0 with value 1 which
corresponds directly to product type existing in disjunctive normal form.
It has been shown in previous sections of this chapter that the circuit
constructed according to the statement of the theorem is free of static errors
of type 1.
Now we will prove that this circuit is also free of static errors of type
0.
Let's look at two cells 0 order adjacent that result in 0 for the
function.
These two adjacent cells have difference in one input variable. For
example, cells 011 and 010 differ in the variable c which changes from 1 to
0 or 0 to 1.
But the adjacent cells that result in value 1 for the function 111, 110
differ with the cells that result in a value of 0 to the function in the variable
a But the variable “a” it’s not having its value changed when the c variable
is changing from 0 to 1 or from 1 to 0.
So changing the cells 011 and 010 will not generate any possibility of
a value of 1 for the function, i.e. possibility of generating any static hazard
type 0.
Proof:
But the adjacent cells that result in value 0 for the function 000, 001 differ
with the cells that result in a value of 1 to the function in the variable a
But the variable “a” it’s not having its value changed when the c
variable is changing from 0 to 1 or from 1 to 0.
So changing the cells 100 and 101 will not generate any possibility of
a value of 0 for the function, i.e. possibility of generating any static hazard
type 1.
Problems to be solved
21) For the Function represented in the summary form, use the Quine
McCluskey Algorithm to generate a circuit using logic gates type OR of
ANDs, without static or dynamics hazards.
Verify the results using Karnaugh Maps Method.
F[1]={0,1,2,3,4,5,6,9,12,13}
22) Repeat the previous problem generating a circuit type AND of ORs.
23) For the Function represented in the summary form, use the Quine
McCluskey Algorithm to generate a circuit using logic gates type OR of
ANDs, without static or dynamics hazards.
Verify the results using Karnaugh Maps Method.
F[1]={0,2,3,7,8,12,13,15}
F[X]={1,9}
24) Repeat the previous problem generating a circuit type AND of ORs.
25) For the Function represented in the summary form, use the Quine
McCluskey Algorithm to generate a circuit using logic gates type OR of
ANDs, without static or dynamics hazards.
Verify the results using Karnaugh Maps Method.
F[1]={0,2,4,6,13,14,15}
F[X]={9,10}
26) Repeat the previous problem generating a circuit type AND of ORs
27) For the Function represented in the summary form, use the Quine
McCluskey Algorithm to generate a circuit using logic gates type OR of
ANDs, without static or dynamics hazards.
Verify the results using Karnaugh Maps Method
F[1]={0,1,6,12,13,16,17,20,24,28,29,31}
F[X]={7,14,15,21,23}
28) Repeat the previous problem generating a circuit type AND of ORs
Chapter 12
Threshold Gates
Ferrite Rings
Until the end of the 1970s many computers used memories that used
ferrite rings as memory elements.
It is shown in this section the operation of this type of device.
Below the image of a ferrite ring:
As quoted at the beginning of this section this structure was used for
the construction of computer memory until the end of the decade of 1970.
The winding of each of ferrite rings was constructed using only one
wire that was passed through the center of the ring. The rings had
dimensions of the order of millimeters.
It is important to note that to achieve a result, that is digitally storing a
0 or 1 value in a bit memory, it is required that two current half-value are
combined in one element.
The equation that represente this operation is:
It was shown the advantage of using circuits with entries that have the
characteristics of a Schmitt trigger, and how it is possible to implement this
type of input using a comparator circuit.
OR Operation
AND Operation
Inverter Operation
Problems to be solved
1) Using ferrite rings design a memory that has the total capacity of 8
bytes, 8 bits each.
2) Using a two level comparator design a circuit that has a 0.7Vcc
comparison level at rising edge and 0.3Vcc comparison level at falling edge
in it input signal.
3) Using one level comparator design a circuit that executes the function of
a full adder.
The circuit will have three inputs: bit A, bit B, carry (n-1) and two outputs:
sum, carry n.
4) Design a circuit using a comparator with single level that has 4 inputs
with weights 1,2,4,8, and display output value 1 when the numerical input
value is greater than 9.