0% found this document useful (0 votes)
61 views

Digital System Design Notes

The document provides an overview of digital systems and binary numbers. It discusses the basics of analog and digital signals and different number systems including binary, decimal, octal, and hexadecimal. It covers concepts of binary addition, subtraction, and multiplication. It also describes how to convert between different number bases such as decimal to binary.

Uploaded by

Sundari Thomas
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
61 views

Digital System Design Notes

The document provides an overview of digital systems and binary numbers. It discusses the basics of analog and digital signals and different number systems including binary, decimal, octal, and hexadecimal. It covers concepts of binary addition, subtraction, and multiplication. It also describes how to convert between different number bases such as decimal to binary.

Uploaded by

Sundari Thomas
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 94

DIGITAL SYSTEM DESIGN

UNIT I: Introduction to Number Systems and


Boolean Algebra
Digital and Analog Basic Concepts, Some
history of Digital Systems-Introduction to
number systems , Binary numbers , Number
Base Conversion-Complement Codes, Binary
Arithmetic , Binary codes: BCD, Weighted
codes -2421,8421,gray code-Binary Logic
functions, Boolean Algebra, Theorems and
Properties of Boolean Algebra
Digital Systems and Binary Numbers
{ Digital age and information age
{ Digital computers
– General purposes
– Many scientific, industrial and commercial applications
{ Digital systems
– Telephone switching exchanges
– Digital camera
– Electronic calculators, PDA's
– Digital TV
{ Discrete information-processing systems
– Manipulate discrete elements of information
– For example, {1, 2, 3, …} and {A, B, C, …}…
Analog and Digital Signal
• Analog system
– The physical quantities or signals may vary
continuously over a specified range.
• Digital system
– T
X(t X(t
– he physical
) quantities or signals
) can assume only
discrete values.
– Greater accuracy

t t
Analog Digital
Analog Digital

Signal Analog signal is a continuous signal which Digital signals are


represents physical measurements. discrete time signals
generated by digital
modulation.
Waves Denoted by sine waves Denoted by square
waves
Representation Uses continuous range of values to Uses discrete or
represent information discontinuous values to
represent information
Example Human voice in air, analog electronic devices. Computers, CDs, DVDs,
and other digital
electronic devices.
Technology Analog technology records waveforms as they Samples analog
are. waveforms into a limited
set of numbers and
records them.
Data transmissions Subjected to deterioration by noise during Can be noise­immune
transmission and write/read cycle. without deterioration
during transmission and
write/read cycle.
Response to Noise More likely to get affected reducing accuracy Less affected since noise
response are analog in
nature
Flexibility Analog hardware is not flexible. Digital hardware is
flexible in
implementation.
Uses Can be used in analog devices only. Best suited Best suited for
for audio and video transmission. Computing and digital
electronics.
history
• Abacus
• Napiers device
• Pascaline device
• Gottrfield device
• Finally Charles Babbage digital computer.
Binary Digital Signal
• An information variable represented by physical
quantity.
• For digital systems, the variable takes on discrete
values.
– Two level, or binary values are the most prevalent values.
V(t
• Binary values are represented abstractly
) by:
– Digits 0 and 1
– Words (symbols) False (F) and True (T) Logic
1
– Words (symbols) Low (L) and High (H)
undefi
– And words On and Off ne
• Binary values are represented by values Logic
or ranges of values of physical quantities. 0 t
Binary digital
signal
Common Number Systems
• Decimal
• 10
• 0, 1, … 9

• Binary
• 2
• 0, 1

• Octal
• 8
• 0, 1, … 7

• Hexa-
decimal
• 16
• 0, 1, … 9,
• A, B, … F
Decimal Number System
• Base (also called radix) = 10
– 10 digits { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
• Digit Position 2 1 0 ­1 ­2

– Integer & fraction 5 1 2 7 4


• Digit Weight 100 10 1 0.1 0.01
– Weight = (Base) Position
• Magnitude
500 10 2 0.7 0.04
– Sum of “Digit x Weight”
• Formal Notation d2*B2+d1*B1+d0*B0+d­1*B­1+d­2*B­2

(512.74)10
Octal Number System
• Base = 8
– 8 digits { 0, 1, 2, 3, 4, 5, 6, 7 }
• Weights 64 8 1 1/8 1/64

– Weight = (Base) Position 5 1 2 7 4


• Magnitude 2 1 0 ­1 ­2

– Sum of “Digit x Weight” 5 *82+1 *81+2 *80+7 *8­1+4 *8­2


=(330.9375) 10
• Formal Notation
(512.74)8
Binary Number System
• Base = 2
– 2 digits { 0, 1 }, called binary dig its or “bits”
• Weights 4 2 1 1/2 1/4

– Weight = (Base) Position 1 0 1 0 1


• Magnitude 2 1 0 ­1 ­2

– Sum of “Bit x Weight” 1 *22+0 *21+1 *20+0 *2­1+1 *2­2


=(5.25)10
• Formal Notation
• Groups of bits 4 bits = Nibble (101.01)2

8 bits = Byte 1011

11000101
Hexadecimal Number System
• Base = 16
– 16 digits { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F }
• Weights 256 16 1 1/16 1/256

– Weight = (Base) Position 1 E 5 7 A


• Magnitude 2 1 0 ­1 ­2
2 1 0 ­1 ­2
– Sum of “Digit x 1
Weight” *16 +14 *16 +5 *16 +7 *16 +10 *16
=(485.4765625)10
• Formal Notation
(1E5.7A)16
The Power of 2
n 2n n 2n
0 20=1 8 28=256
1 21=2 9 29=512
2 22=4 10 210=1024 Kil
o
3 23=8 11 211=2048
4 24=16 12 212=4096
5 25=32 20 220=1M Meg
a
6 26=64 30 230=1G Gig
a
7 27=128 40 240=1T Tera
Addition
• Decimal Addition
1 1 Carry
5 5
+ 5 5

1 1 0
= Ten ≥ Base
➔ Subtract a Base
Binary Addition
• Column Addition

1 1 1 1 1 1
1 1 1 1 0 1 = 61
+ 1 0 1 1 1 = 23

1 0 1 0 1 0 0 = 84

≥ (2) 10
Binary Subtraction
• Borrow a “Base” when needed
1 2 = (10)2
0 2 2 0 0 2
1 0 0 1 1 0 1 = 77
− 1 0 1 1 1 = 23

0 1 1 0 1 1 0 = 54
Binary Multiplication
• Bit by bit
1 0 1 1 1
x 1 0 1 0
0 0 0 0 0
1 0 1 1 1
0 0 0 0 0
1 0 1 1 1

1 1 1 0 0 1 1 0
Number Base Conversions
Evaluate
Magnitude
Octal
(Base 8)

Evaluate
Magnitude
Decimal Binary
(Base 10) (Base 2)

Hexadeci
mal
(Base 16)
Evaluate
Magnitude
Decimal (Integer) to Binary Conversion
• Divide the number by the ‘Base’ (=2)
• Take the remainder (either 0 or 1) as a
coefficient
• Take the quotient and repeat the division
Quotient Remainder Coefficient
Example: (13)10 1 / 2 = 6 1 a0 = 1
3 /2= 3 0 a1 = 0
6 /2= 1 1 a2 = 1
3 /2= 0 1 a3 = 1
1 Answer: (13)10 = (a 3 a 2 a 1 a 0)2 = (1101)2

MSB LSB
Decimal (Fraction) to Binary
Conversion
• Multiply the number by the ‘Base’ (=2)
• Take the integer (either 0 or 1) as a coefficient
• Take the resultant fraction and repeat the
division
Integer Fraction Coefficient
Example: (0.625)10
0.62 *2= 1 . 25 a-1 = 1
0.2
5 *2= 0 . 5 a-2 = 0
0.
5 *2= 1 . 0 a-3 = 1
5
Answer: (0.625)10 = (0.a ­1 a ­2 a ­3)2 = (0.101)2

MSB LSB
Decimal to Octal Conversion
Example: (175)10
Quotient Remainder Coefficient
17 / 8 = 21 7 a0 = 7
5 /8= 2 5 a1 = 5
21 / 8 = 0 2 a2 = 2
2
Answer: (175)10 = (a 2 a 1 a 0)8 = (257)8

Example: (0.3125)10
Integer Fraction Coefficient
0.3125 * 8 = 2 . 5 a-1 = 2
0. *8= 4 . 0 a-2 = 4
5
Answer: (0.3125)10 = (0.a ­1 a ­2 a ­3)8 = (0.24)8
Binary − Octal Conversion
Octal Binary
• 8=2 3
0 000
• Each group of 3 bits 1 001
represents an octal digit 2 010
Assume Zeros
Example: 3 011

( 1 0 1 1 0 . 0 1 )2 4 100

5 101

6 110
( 2 6 . 2 )8 7 111

Works both ways (Binary to Octal & Octal to Binary)


Binary − Hexadecimal Conversion
Hex Binary
• 16 = 2 4 0
1
0000
0001
• Each group of 4 bits 2
3
0010
0011
represents a hexadecimal 4 0100
5 0101
digit
Example: Assume Zeros 6 0110
7 0111
8 1000
( 1 0 1 1 0 . 0 1 )2 9 1001
A 1010
B 1011
C 1100
D 1101
(1 6 . 4 )16 E 1110
F 1111

Works both ways (Binary to Hex & Hex to Binary)


Octal − Hexadecimal Conversion
• Convert to Binary as an intermediate step
Example:
( 2 6 . 2 )8

Assume Zeros Assume Zeros

( 0 1 0 1 1 0 . 0 1 0 )2

(1 6 . 4 )16

Works both ways (Octal to Hex & Hex to Octal)


Decimal, Binary, Octal and
Hexadecimal
Decimal Binary Octal Hex
00 0000 00 0
01 0001 01 1
02 0010 02 2
03 0011 03 3
04 0100 04 4
05 0101 05 5
06 0110 06 6
07 0111 07 7
08 1000 10 8
09 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
Complements
• There are two types of complements for each base-r system: the radix complement and diminished
radix complement.
• Diminished Radix Complement - (r-1)’s Complement
– Given a number N in base r having n digits, the (r–1)’s
complement of N is defined as:
(r n –1) – N
• Example for 6-digit decimal numbers:
– 9’s complement is (rn – 1)–N = (10 6–1)–N = 999999–N
– 9’s complement of 546700 is 999999–546700 = 453299
• Example for 7-digit binary numbers:
– 1’s complement is (rn – 1) – N = (2 7–1)–N = 1111111–N
– 1’s complement of 1011000 is 1111111–1011000 = 0100111
• Observation:
– Subtraction from (rn – 1) will never require a borrow
– Diminished radix complement can be computed digit-by-digit
– For binary: 1 – 0 = 1 and 1 – 1 = 0
Complements
• 1’s Complement (Diminished Radix Complement)
– All ‘0’s become ‘1’s
– All ‘1’s become ‘0’s
Example (10110000)2
⇨ (01001111)2
If you add a number and its 1’s complement …

10110000
+ 01001111
11111111
Complements
• Radix Complement
The r's complement of an n-digit number N in base r is defined as
rn – N for N ≠ 0 and as 0 for N = 0. Comparing with the (r − 1) 's
complement, we note that the r's complement is obtained by
adding 1 to the (r − 1) 's complement, since rn – N = [(r n − 1) – N] + 1.
Example: Base-10
The 10's complement of 012398 is 987602
The 10's complement of 246700 is 753300

Example: Base-2
The 2's complement of 1101100 is
0010100
The 2's complement of 0110111 is
1001001
Complements
• 2’s Complement (Radix Complement)
– Take 1’s complement then add 1
OR– Toggle all bits to the left of the first ‘1’ from the right

Example:
Number:
1’s Comp.: 1 0 1 1 0 0 0 0 10110000
01001111
+ 1

01010000 01010000
Complements
• Subtraction with Complements
– The subtraction of two n-digit unsigned numbers
M – N in base r can be done as follows:
Complements
• Example 1.5
– Using 10's complement, subtract 72532 – 3250.

Example 1.6
– Using 10's complement, subtract 3250 – 72532.

There is no end
carry.

Therefore, the answer is – (10's complement of 30718) = −


69282.
Complements
Example 1.7
– Given the two binary numbers X = 1010100 and Y
= 1000011, perform the subtraction (a) X – Y ;
and (b) Y − X, by using 2's complement.

There is no end carry.


Therefore, the answer is Y
– X = − (2's complement
of 1101111) = − 0010001.
Complements
• Subtraction of unsigned numbers can also be done by means of the (r − 1)'s
complement. Remember that the (r − 1) 's complement is one less then the
r's complement.
• Example 1.8
– Repeat Example 1.7, but this time using 1's complement.

There is no end carry,


Therefore, the answer is Y –
X = − (1's complement of
1101110) = − 0010001.
Signed Binary Numbers
• To represent negative integers, we need a notation for
negative values.
• It is customary to represent the sign with a bit placed in the
leftmost position of the number since binary digits.
• The convention is to make the sign bit 0 for positive and 1
for negative.
• Example:

• Table 1.3 lists all possible four-bit signed binary numbers in


the three representations.
Signed Binary Numbers
Signed Binary Numbers
• Arithmetic addition
– The addition of two numbers in the signed-magnitude system follows the
rules of ordinary arithmetic. If the signs are the same, we add the two
magnitudes and give the sum the common sign. If the signs are different, we
subtract the smaller magnitude from the larger and give the difference the
sign if the larger magnitude.
– The addition of two signed binary numbers with negative numbers
represented in signed-2's-complement form is obtained from the addition of
the two numbers, including their sign bits.
– A carry out of the sign-bit position is discarded.
• Example:
Signed Binary Numbers
• Arithmetic Subtraction
– 1.
In 2’s-complement form:of the subtrahend (including
Take the 2’s complement
the sign bit) and add it to the minuend (including sign
bit).
2. A carry out of sign-bit position is discarded.

(− 6) − (− (11111010 −
13) 11110011)
• Example: (11111010 +
00001101)
00000111 (+
7)
Binary Codes
• BCD Code
– A number with k decimal digits
will require 4k bits in BCD.
– Decimal 396 is represented in
BCD with 12bits as 0011 1001
0110, with each group of 4
bits representing one decimal
digit.
– A decimal number in BCD is
the same as its equivalent
binary number only when the
number is between 0 and 9.
– The binary combinations 1010
through 1111 are not used
and have no meaning in BCD.
The Digital Codes
Binary Coded Decimal (BCD)
• Would it be easy for you if you can replace a
decimal number with an individual binary
code?
– Such as 00011001 = 19 10
• The 8421 code is a type of BCD to do that.
• BCD code provides an excellent interface to
binary systems:
– Keypad inputs
– Digital readouts
Binary Coded Decimal
Decimal
0 1 2 3 4 5 6 7 8 9
Digit

BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

Note: 1010, 1011, 1100, 1101, 1110, and 1111 are INVALID CODE!

Let’s crack these…


ex1: dec-to-BCD ex2: BCD-to-dec
(a) 35 (a) 10000110
(b) 98 (b) 001101010001
(c) 170 (c) 1001010001110000
(d) 2469
BCD Addition
• BCD is a numerical code and can be used in
arithmetic operations. Here is how to add two BCD
numbers:
– Add the two BCD numbers, using the rules for basic binary
addition.
– If a 4-bit sum is equal to or less than 9, it is a valid BCD
number.
– If a 4-bit sum > 9, or if a carry out of the 4-bit group is
generated it is an invalid result. Add 6 (0110) to a 4-bit
sum in order to skip the six the invalid states and return
the code to 8421. If a carry results when 6 is added,
simply add the carry to the next 4-bit group.
BCD Addition
• Try these:
ex: Add the following numbers
(a) 0011+0100
(b) 00100011 + 00010101
(c) 10000110 + 00010011
(d) 010001010000 + 010000010111
(e) 1001 + 0100
(f) 1001 + 1001
(g) 00010110 + 00010101
(h) 01100111 + 01010011
The Gray Code
• The Gray code is unweighted and is not an
arithmetic code.
– There are no specific weights assigned to the bit
positions.
• Important: the Gray code exhibits only a
single bit change from one code word to the
next in sequence.
– This property is important in many applications,
such as shaft position encoders.
The Gray Code
Decimal Binary Gray Code Decimal Binary Gray Code
0 0000 0000 8 1000 1100
1 0001 0001 9 1001 1101
2 0010 0011 10 1010 1111
3 0011 0010 11 1011 1110
4 0100 0110 12 1100 1010
5 0101 0111 13 1101 1011
6 0110 0101 14 1110 1001
7 0111 0100 15 1111 1000
The Gray Code
• Binary-to-Gray code conversion
– The MSB in the Gray code is the same as
corresponding MSB in the binary number.
– Going from left to right, add each adjacent pair of
binary code bits to get the next Gray code bit.
Discard carries.
ex: convert 101102 to Gray code
1 + 0 + 1 + 1 + 0 binary

1 1 1 0 1 Gray
The Gray Code
• Gray-to-Binary Conversion
– The MSB in the binary code is the same as the
corresponding bit in the Gray code.
– Add each binary code bit generated to the Gray
code bit in the next adjacent position. Discard
carries.
ex: convert the Gray code word 11011 to binary
1 1 0 1 1 Gray
+ + + +
1 0 0 1 0 Binary
The Gray Code - Application
Bit
0
Bit
1
Bit
2
Bit
3

http://www.mipraso.de/
enzyklopaedie/g/gray-code-scheibe. http://www.engr.colostate.
gif edu/~dga/mechatronics/
figures/9-11.gif
Alphanumeric Codes
• Represent numbers and alphabetic
characters.
– Also represent other characters such as symbols
and various instructions necessary for conveying
information.
• The ASCII is the most common alphanumeric
code.
– ASCII = American Standard Code for Information
Interchange
ASCII
• ASCII has 128 characters and symbols
represented by a 7-bit binary code.
– It can be considered an 8-bit code with the MSB
always 0. (00h-7Fh)
• 00h-1Fh (the first 32) – control characters
• 20h-7Fh – graphics symbols (can be printed or
displayed)
ASCII
Table

http://ascii-table.com/img/table.gif
Extended ASCII
• There are an additional 128 characters that
were adopted by IBM for use in their PCs. It’s
popular and is used in applications other than
PCs → unofficial standard.
– The extended ASCII characters are represented
by an 8-bit code series from 80h-FFh
Extended ASCII
Table

http://ascii-table.com/img/table-pc.
gif
Binary Code
• Example:
– Consider decimal 185 and its corresponding value
in BCD and binary:

• BCD addition
Binary Code
Example:
– Consider the addition of 184 + 576 = 760 in BCD:

• Decimal Arithmetic: (+375) + (-240) = +135


Hint 6: using 10’s of BCD
Binary Codes
• Other Decimal Codes
Binary Codes)
• Gray Code
– The advantage is that
only bit in the code
group changes in going
from one number to the
next.00 00
0
• Error detection. 1
• Representation of analog
01 data. 01
0 10 1 10
• Low0 power design. 1

11 11
0 1
1-1 and onto!!
Binary Codes
• American Standard Code for Information Interchange (ASCII) Character
Code
Binary Codes
• ASCII Character Code
ASCII Character Codes
• American Standard Code for Information Interchange
(Refer to Table 1.7)
• A popular code used to represent information sent as
character-based data.
• It uses 7-bits to represent:
– 94 Graphic printing characters.
– 34 Non-printing characters.
• Some non-printing characters are used for text format
(e.g. BS = Backspace, CR = carriage return).
• Other non-printing characters are used for record
marking and flow control (e.g. STX and ETX start and
end text areas).
Binary Codes
• Error-Detecting Code
– To detect errors in data communication and
processing, an eighth bit is sometimes added to
the ASCII character to indicate its parity.
– A parity bit is an extra bit included with a
message to make the total number of 1's either
even or odd.
• Example:
– Consider the following two characters and their
even and odd parity:
Binary Codes
• Error-Detecting Code
– Redundancy (e.g. extra information), in the form of extra
bits, can be incorporated into binary code words to detect
and correct errors.
– A simple form of redundancy is parity, an extra bit
appended onto the code word to make the number of 1’s
odd or even. Parity can detect all single-bit errors and
some multiple-bit errors.
– A code word has even parity if the number of 1’s in the
code word is even.
– A code wordMessage
has odd parity if the
1000100 1 number
(even of 1’s in the
code word isA:odd. 1 parity)
Message 1000100 0 (odd
– Example: B: 1 parity)
Binary Logic
• Definition of Binary Logic
– Binary logic consists of binary variables and a set of logical operations.
– The variables are designated by letters of the alphabet, such as A, B, C, x, y, z,
etc, with each variable having two and only two distinct possible values: 1
and 0,
– Three basic logical operations: AND, OR, and NOT.
Binary Logic
• Truth Tables, Boolean Expressions, and Logic Gates

AND OR NOT
x y z x y z x z
0 0 0 0 0 0 0 1
0 1 0 0 1 1 1 0
1 0 0 1 0 1
1 1 1 1 1 1

z= x• y= xy z= x+ y z = x = x’
Switching Circuits
AND OR
Binary Logic
• Logic gates
– Example of binary signals

3
Logic 1
2
Un-
1 de ne
Logic
0 0

Figure 1.3 Example of binary


Binary Logic
• Logic gates
– Graphic Symbols and Input-Output Signals for
Logic gates:

Fig. 1.4 Symbols for digital logic circuits

Fig. 1.5 Input-Output signals for


Binary Logic
• Logic gates
– Graphic Symbols and Input-Output Signals for
Logic gates:

Fig. 1.6 Gates with multiple inputs


Boolean algebra Algebra

• Boolean algebra is a mathematical system


for the manipulation of variables that can
have one of two values.
– In formal logic, these values are “true” and “false.”
– In digital systems, these values are “on” and “off,”
1 and 0, or “high” and “low.”
• Boolean expressions are created by
performing operations on Boolean variables.
– Common Boolean operators include AND, OR, and
NOT.

68
Boolean Algebra

• A Boolean operator can be


completely described using a
truth table.
• The truth table for the Boolean
operators AND and OR are
shown at the right.
• The AND operator is also known
as a Boolean product. The OR
operator is the Boolean sum.

69
Boolean Algebra

• The truth table for the


Boolean NOT operator is
shown at the right.
• The NOT operation is
most often designated by
an overbar. It is
sometimes indicated by a
prime mark ( ‘ ) or an
“elbow” ( ¬).

70
Boolean Algebra

• A Boolean function has:


• At least one Boolean variable,
• At least one Boolean operator, and
• At least one input from the set {0,1}.

• It produces an output that is also a member of


the set {0,1}.

Now you know why the binary


numbering system is so handy in
digital systems.

71
Boolean Algebra

• The truth table for the


Boolean function:

is shown at the right.


• To make evaluation of the
Boolean function easier,
the truth table contains
extra (shaded) columns
to hold evaluations of
subparts of the function.

72
Boolean Algebra

• As with common
arithmetic, Boolean
operations have rules of
precedence.
• The NOT operator has
highest priority, followed
by AND and then OR.
• This is how we chose
the (shaded) function
subparts in our table.

73
Boolean Algebra

• Digital computers contain circuits that implement


Boolean functions.
• The simpler that we can make a Boolean function,
the smaller the circuit that will result.
– Simpler circuits are cheaper to build, consume less
power, and run faster than complex circuits.
• With this in mind, we always want to reduce our
Boolean functions to their simplest form.
• There are a number of Boolean identities that
help us to do this.

74
Boolean Algebra

• Boolean Constants
– these are ‘0’ (false) and ‘1’ (true)
• Boolean Variables
– variables that can only take the vales ‘0’ or ‘1’
• Boolean Functions
– each of the logic functions (such as AND, OR and NOT)
are represented by symbols as described above
• Boolean Theorems
– a set of identities and laws – see text for details
• Boolean identities
AND Function OR Function NOT function
0∙0=0 0+0=0
0∙1=0 0+1=1
1∙0=0 1+0=1
1∙1=1 1+1=1
A∙0=0 A+0=A
0∙A=0 0+A=A
A∙1=A A+1=1
1∙A=A 1+A=1
A∙A=A A+A=A
• Boolean laws
Commutative law Absorption law

Distributive law De Morgan’s law

Associative law Note also


Boolean Algebra

• Most Boolean identities have an AND (product) form


as well as an OR (sum) form. We give our identities
using both forms. Our first group is rather intuitive:

78
Boolean Algebra

• Our second group of Boolean identities should be


familiar to you from your study of algebra:

79
Boolean Algebra

• Our last group of Boolean identities are perhaps


the most useful.
• If you have studied set theory or formal logic, these
laws are also familiar to you.

80
Boolean Algebra

• We can use Boolean identities to simplify the


function:
as follows:

81
Boolean Algebra

• Sometimes it is more economical to build a


circuit using the complement of a function (and
complementing its result) than it is to implement
the function directly.
• DeMorgan’s law provides an easy way of finding
the complement of a Boolean function.
• Recall DeMorgan’s law states:

82
Boolean Algebra

• DeMorgan’s law can be extended to any number


of variables.
• Replace each variable by its complement and
change all ANDs to ORs and all ORs to ANDs.
• Thus, we find the the complement of:

is:

83
Boolean Algebra

• Through our exercises in simplifying Boolean


expressions, we see that there are numerous
ways of stating the same Boolean expression.
– These “synonymous” forms are logically equivalent.
– Logically equivalent expressions have identical truth
tables.
• In order to eliminate as much confusion as
possible, designers express Boolean functions in
standardized or canonical form.

84
Boolean Algebra

• There are two canonical forms for Boolean


expressions: sum­of­products and product­of­sums.
– Recall the Boolean product is the AND operation and the
Boolean sum is the OR operation.
• In the sum­of­products form, ANDed variables are
ORed together.
– For example:
• In the product­of­sums form, ORed variables are
ANDed together:
– For example:

85
Boolean Algebra

• It is easy to convert a function


to sum­of­products form using
its truth table.
• We are interested in the
values of the variables that
make the function true (=1).
• Using the truth table, we list
the values of the variables that
result in a true function value.
• Each group of variables is
then ORed together.

86
Boolean Algebra

• The sum­of­products form


for our function is:

We note that this function


is not in simplest terms.
Our aim is only to rewrite
our function in canonical
sum-of-products form.

87
Logic Gates

• We have looked at Boolean functions in abstract


terms.
• In this section, we see that Boolean functions are
implemented in digital computer circuits called gates.
• A gate is an electronic device that produces a result
based on two or more input values.
– In reality, gates consist of one to six transistors, but
digital designers think of them as a single unit .
– Integrated circuits contain collections of gates suited to a
particular purpose.

88
Logic Gates

• The three simplest gates are the AND, OR, and NOT
gates.

• They correspond directly to their respective Boolean


operations, as you can see by their truth tables.

89
Logic Gates

• Another very useful gate is the exclusive OR


(XOR) gate.
• The output of the XOR operation is true only when
the values of the inputs differ.

Note the special


symbol ⊕ for the XOR
operation.

90
Logic Gates

• NAND and NOR


are two very
important gates.
Their symbols and
truth tables are
shown at the right.

91
Logic Gates

• NAND and NOR


are known as
universal gates
because they are
inexpensive to
manufacture and
any Boolean
function can be
constructed using
only NAND or only
NOR gates.

92
Logic Gates

• Gates can have multiple inputs and more than


one output.
– A second output can be provided for the complement
of the operation.
– We’ll see more of this later.

93
Digital Components

• The main thing to remember is that


combinations of gates implement Boolean
functions.
• The circuit below implements the Boolean
function:

We simplify our Boolean


expressions so that we can
create simpler circuits.
94

You might also like