Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Note that theorem 1(b) is the dual of theorem 1(a) and that
each step of the proof in part (b) is the dual of part (a).
Any dual theorem can be similarly derived from the proof
of its corresponding pair
Boolean functions (a)
The operator precedence for evaluating Boolean
expressions is (1) parentheses, (2) NOT, (3) AND, and (4)
OR
In ordinary arithmetic, the same procedure holds (except
for the complement) when multiplication and addition are
replaced by AND and OR, respectively
A Boolean function is an expression formed with binary
variables, the two binary operators OR and AND, and
unary operator NOT, parentheses, and an equal sign
– An algebraic expression
– A truth table
– A Boolean function may be transformed from an algebraic
expression into a logic diagram composed of AND, OR and
NOT gates
Digital logic gates (a)
The electrical circuits which perform logical operations
are called gates
Digital logic gates (b)
Other logic operators
NAND operator: performs the AND operation
followed by the NOT operation; symbol ↑, but
rarely used in engineering
NOR operator: performs the OR operation
followed by the NOT operation; symbol ↓, but
rarely used in engineering
Exclusive OR operator: operating on two variables
A and B is true if A or B is a 1, but not when both A
and B are 1, i.e. it excludes both A and B being a 1;
symbol ⊕
Exclusive NOR operator: The exclusive-NOR
function is true if both A and B are the same and is
false if A and B are different; also called
‘equivalence’(≡); symbol ☼
Boolean functions (b)
Example 1:
(a) represent following functions in a truth table:
F1 = xyz´; F2 = x + y´z; F3 = x´y´z +x´yz + xy´ and F4
= xy´ + x´z
Boolean functions (c)
Example 1:
(b)Implement these functions with gates
Boolean functions (d)
Minterms and Maxterms (a)
A minterm or a standard product: n variables forming
an AND term, with each variable being primed or
unprimed, provide 2n possible combinations
– mj is the symbol for each minterm, where j denotes
the decimal equivalent of the binary number
A maxterm or a standard sum: n variables forming an
OR term, with each variable being primed or
unprimed, provide 2n possible combinations
Any Boolean function
– can be expressed as a sum of minterms (by ‘sum’ is
meant the ORing of terms)
– Any Boolean function can be expressed as a product
of maxterms (by ‘product’ is meant the ANDing of
terms)
Minterms and Maxterms (b)
Boolean functions expressed as a sum of
minterms or product of maxterms are said to be
in canonical form
Minterms and Maxterms (c)
Example 2:
Express the Boolean functions from the given truth
table by (a) a sum of minterms (b) product of maxterms
Minterms and Maxterms (d)
Solution:
Conversion between canonical forms
Consider the function:
A = A3 A2 A1 A0
B = B3 B2 B1 B0
Magnitude comparator (b)
The equality relation of each pair of bits can
be expressed logically with an equivalence
function:
xi = Ai Bi + Ai ' Bi ' i = 0, 1, 2, 3
where xi = 1 only if the pair of bits in position
i are equal, i.e., if both are 1’s or both are 0’s
To determine if A is greater than or less than
B, we inspect the relative magnitudes of pairs
of significant digits starting from the most
significant position.
Magnitude comparator (c)
The sequential comparison can be expressed
logically by the following two Boolean
functions
( A > B ) = A3 B3 '+ x3 A2 B2 '+ x3 x2 A1 B1 '+ x3 x2 x1 A0 B0 '
( A < B ) = A3 ' B3 + x3 A2 ' B2 + x3 x2 A1 ' B1 + x3 x2 x1 A0 ' B0
Magnitude comparator (d)
Decoders/demultiplexers (a)
A decoder is a combinational circuit that converts
binary information from n input lines to a maximum
of 2n unique output lines
Most IC decoders include one or more enable inputs
to control the circuit operation
Decoders/demultiplexers (b)
s( x, y , z ) = ∑ (1, 2, 4, 7)
C ( x, y , z ) = ∑ (3, 5, 6, 7)
Decoders/demultiplexers (e)
There are three inputs and a total of eight
minterms, a 3-to-8-line decoder is needed
Data selectors/multiplexers (a)
A data selector or multiplexer is a logic circuit which
allows one of several data inputs to be selected and fed to
a single output
Data selectors/multiplexers (b)
Example 11:
Implement the function of three variables:
F ( A, B, C ) = ∑ (1, 3, 5, 6)
with a 4-to-1 multiplexer
Solution:
Data selectors/multiplexers (c)
The output is 0 when BC = 00 regardless of the
value of A
The output is 1 when BC = 01 regardless of the
value of A
When BC = 10, the output will be equal to 1 only
for minterm m6 = ABC′
When BC = 11, the output will be equal to 1 only
for minterm m3 = A′BC
Data selectors/multiplexers (d)
A general procedure for implementing any Boolean
function of n variables with a 2n-1-to-1 multiplexer
– Express the function in its sum of minterms,
assume the sequence chosen is ABCD
– Connect the n-1 variables to the selection lines of
the multiplexer, with B connected to the higher
order selection line
– List the inputs of the multiplexer and under them
list all the minterms in two rows –
» In the first row, A is complemented
» In the second row, A is uncomplemented
Data selectors/multiplexers (e)
– Circle all the minterms of the function
» If the two minterms in a column are not
circled, apply 0 to the corresponding
multiplexer input
» If the two minterms are circled, apply 1 to the
corresponding multiplexer input
» If the bottom minterm is circled and the top is
not circled, apply A to the corresponding
multiplexer input
» If the top minterm is circled and the bottom is
not circled, apply A′ to the corresponding
multiplexer input
Data selectors/multiplexers (f)
Example 12
Implement the following function with a multiplexer:
F ( A, B, C , D ) = ∑ (0, 1, 3, 4, 8, 9, 15)
Solution:
This is a four-variable function, we need a multiplexer
with three selection lines and eight inputs
Three types of PLDs (a)
The advantage of using PLDs is that they can be
programmed to incorporate complex logic functions
within one LSI circuit
– The programmable read-only memory (PROM)
has a fixed AND array and programmable fuses
for the output OR gates
– The programmable array logic (PAL) has a fused
programmable AND array and a fixed OR array
– The most flexible PLD is the programmable logic
array (PLA), where both the AND and OR arrays
can be programmed
Three types of PLDs (b)
Read-only memory (ROM) (a)
A ROM is a device that includes both the
decoder and the OR gates within a single IC
package. It consists of n input lines and m
output lines
– Each bit combination of the input variables
is called an address
– Each bit combination that comes out of the
output lines is called a word
A ROM is characterized by the number of
words 2n and the number of bits per word m
Read-only memory (ROM) (b)
Read-only memory (ROM) (c)
For a 2n×m ROM, the blowing of the fuses is
referred to as programming the ROM
(PROM)
Example 13:
Implement the Boolean function:
F1 ( A1 , A0 ) = ∑ (1, 2, 3)
F2 ( A1 , A0 ) = ∑ (0, 2)
by means of a ROM
Read-only memory (ROM) (d)
Solution:
The size of the ROM that implements the
combinational circuit must be 4×2
Read-only memory (ROM) (e)
Types of ROMs
– Mask programming: done by the manufacturer during the
last fabrication process of the unit (economical only for
large quantities)
– PROM: allows the user to program the unit in the
laboratory (economical for small quantities)
– Erasable PROM or EPROM: When an EPROM is placed
under a special ultraviolet light for a given period of time,
the ROM returns to its initial state and can be
reprogrammed
– Electrically erasable PROMs or EEPROMs: erased with
electrical signals instead of ultraviolet light
Read-only memory (ROM) (f)
Interpretation of ROM:
– Memory: commonly used to designate a storage
unit
– Read: commonly used to signify that the contents
of a word specified by an address in a storage
unit is placed at the output terminals
ROM is a memory unit with a fixed word pattern
that can be read out upon application of a given
address. The bit pattern in the ROM is permanent
and cannot be changed during normal operation
Programmable logic array (PLA) (a)
For cases where the number of don’t-care conditions
is excessive, it is more economical to use PLA,
which is similar to ROM in concept, but does not
provide full decoding of the variables
In the PLA, the decoder in ROM is replaced by a
group of AND gates, each of which can be
programmed to generate a product term of the input
variables
The AND and OR gates inside the PLA are initially
fabricated with fuses among them to enable the
desired connections by blowing appropriate fuses
Programmable logic array (PLA) (b)
w( A, B, C , D ) = ∑ ( 2, 12, 13)
x ( A, B, C , D ) = ∑ (7, 8, 9, 10, 11, 12, 13, 14, 15)
y ( A, B, C , D ) = ∑ (0, 2, 3, 4, 5, 6, 7, 8, 10, 11, 15)
z ( A, B, C , D ) = ∑ (1, 2, 8, 12, 13)
Programmable array logic (PAL) (c)
Solution:
Simply the four functions to a minimum number of
terms:
Programmable array logic (PAL) (d)
Programmable array logic (PAL) (e)