Course of Digital Techniques Lectures2 017 - PDF - 1
Course of Digital Techniques Lectures2 017 - PDF - 1
LECTURER
DIGITAL signals encode values into binary numbers. As a binary number is made up
entirely from 0's and 1's, it may be transmitted in the form of electronic on/off pulses (on
=1, off =0). When these pulses are received, they are processed. A digital signal is made
up of discretely variable physical quantities.
(B)Discrete Signal
2
BITS and BYTES, kilobytes, megabytes and gigabytes
Any discussion of computer technology will usually use some - or all - of the following
terms. They all have relatively straightforward definitions, however, and refer to varying
quantities of computer memory:
a BYTE = eight bits, and can therefore hold any decimal value from 0 (00000000) to 255
(11111111).
a KILOBYTE (K Byte) = about one thousand bytes. In fact, 1KB = 1024 bytes = 210 bytes,
similarly...
BINARY numbers
The following table gives the binary equivalent values for 0-15 (decimal):
0 0 1 0 0 0 1 0 0 9 1 0 0 1
0 0 2 0 0 1 0 0 1 0 1 0 1 0
0 0 3 0 0 1 1 0 1 1 1 0 1 1
0 0 4 0 1 0 0 0 1 2 1 1 0 0
0 0 5 0 1 0 1 0 1 3 1 1 0 1
0 0 6 0 1 1 0 0 1 4 1 1 1 0
0 0 7 0 1 1 1 0 1 5 1 1 1 1
3
BINARY conversion and 'arithmetic'
To manually convert a decimal (base 10) number to a binary (base 2) number, successive
division of the decimal number by 2 must be performed:
4
Some of Cods Numbers
Decimal No. Binary No. 8421 BCD Octal No. Hexadecimal No.
Examples:
5
6
Some of BCD Cods
DECIMAL 2421 2421 5421 -2841 5043210 EXCESS-3 SEVEN -
SEGEMENT
0 0000 0000 0000 0000 0100001 0011 1111110
7
Prepared by: Dr. Ibtesam Karhiy
Logic Gates: In digital electronics a gate is "a circuit with one output and two or
more inputs". An output of the gate occurs only for certain combination of the input
signal.
2. OR Gate:
8
3. NOR Gate:
4. AND Gate:
I/P O/P
B A X=A.B
0 0 0
0 1 0
1 0 0
1 1 1
9
5. NAND Gate:
I/P O/P
B A X=A.B
0 0 1
0 1 1
1 0 1
1 1 0
OFF إﻟﻰON ﻟﺘﺴﺮﻳﻊ ﻣﻦ ﺣﺎﻟﺔQ3 اﻟﻐﺮض ﻣﻦ اﻟﺮﺑﻂ اﻟﻄﻮﻃﻲ اﻟﺤﺼﻮل ﻋﻠﻰ ﺑﻮاﺑﺔ إﺧﺮاج واﻃﺌﺔ و وﺟﻮد
: هﻲTTLG وﺗﻌﺘﺒﺮ هﺬﻩ اﻟﺪاﺋﺮة ﻣﻦ اﻟﺪواﺋﺮ اﻟﻘﻴﺎﺳﻴﺔ وﻣﻮاﺻﻔﺎﺗﻬﺎ ك
10
.5ﻋﻨ ﺪ رﻓ ﻊ Q3ﺗﺘﺤ ﻮل اﻟ ﺪاﺋﺮة اﻟ ﻰ ﻣ ﺎ ﻳ ﺴﻤﻰ NAND gateذات اﻟﻤﺠﻤ ﻊ اﻟﻤﻔﺘ ﻮح open collector
وﻟﻌﺪم وﺟﻮد TrQ3ﻳﺠﺐ رﺑﻂ ﻣﻘﺎوﻣﺔ ﺗﺼﻌﻴﺪ ﺧﺎرﺟﻴﺔ ﻣﻦ O/Pو VCCﺣﺘﻰ ﺗﻌﻤﻞ اﻟ ﺪاﺋﺮة وﺗﺘ ﺮاوح
ﻗﻴﻤﺔ اﻟﻤﻘﺎوﻣﺔ ﻣﻦ ﺑﻌﺾ ﻣﺌﺎت اﻟﻰ اﻻف اﻷوﻣﺎت.
.6اﺑﻄﺊ ﻣﻦ اﻟﺸﻜﻞ اﻟﻄﻮﻃﻲ وﻟﻜﻦ اﻟﺴﺒﺐ ﻓ ﻲ اﻟﺤﺎﺟ ﺔ اﻟ ﻰ اﺳ ﺘﺨﺪاﻣﻬﺎ ه ﻮ اﻣﻜﺎﻧﻴ ﺔ اﻟ ﺮﺑﻂ اﻟﻤﺒﺎﺷ ﺮ ﻻﻃ ﺮاف
اﻻﺧﺮاج ﺑﺎﻻﺷﺘﺮاك ﻣﻊ ﻣﻘﺎوﻣﺔ اﻟﺘﺼﻌﻴﺪ اﻟﺨﺎرﺟﻴﺔ آﻤﺎ ﻓﻲ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ:
11
6. State logic gate:
1. Low control with inverter
2. High control without inverter
3-State(Tri-State) 3-State(Tri-State)
Active High without inverter Active Low without inverter
3-State(Tri-State) 3-State(Tri-State)
Active High with inverter Active Low with inverter
12
هﻨﺎﻟﻚ ﻧﻮع أﺧﺮ ﻣﻦ اﻟﺪواﺋﺮ ﻳﺪﻋﻰ )CMOS(Complementary Logic Metal Oxide Semiconductor
وﺗﻤﺘﺎز ﺑﺎﻷﺗﻲ:
.1ﺗﺴﺘﺨﺪم ﺗﺮاﻧﺰﺳﺘﻮر FET
.2اﺳﺘﻬﻼك ﻗﺪرة اﻗﻞ ﻣﻦ TTL
.3اﺑﺴﻂ ﻓﻲ اﻟﺘﺮآﻴﺐ
.4اﻟﺪاﺋﺮة اﻟﻤﺘﻜﺎﻣﻠﺔ ﻳﻜﻮن ﺣﺠﻤﻬﺎ اﺻﻐﺮ ﻣﻦ TTLوﻟﻜﻨﻬﺎ أﺑﻄﺊ
I2L .1
ﺗ ﺴﺘﺨﺪم ه ﺬﻩ اﻟ ﺪواﺋﺮ و اﻟﺘﺮاﻧﺰﺳ ﺘﻮرات ﺛﻨﺎﺋﻴ ﺔ اﻟﻘﻄﺒﻴ ﺔ Bipolarوﻟﻬ ﺎ اﺳ ﺘﺨﺪاﻣﺎت ﻓ ﻲ اﻟ ﺪواﺋﺮ اﻟﻤﺘﻜﺎﻣﻠ ﺔ
اﻟﻜﺒﻴﺮة Large Scale Integration LSI
CCD .2
Charge Coupled Devicesﻣﺸﺎﺑﻬﺔ ﻟﺪواﺋﺮ CMOS
I/P O/P
B A X=A ⊕ B
0 0 0
0 1 1
1 0 1
1 1 0
AB+BA=A ⊕ B
13
8. Exclusive-NOR-gate(EX-NOR):
B A X=A ⊕ B
0 0 1
0 1 0
1 0 0
1 1 1
H.W: implement OR gate and NAND gate and inverter using NOR gate only?
1. Parity generator and parity checker to determine the parity of a binary number
(i.e. odd or even) an EX-OR may be used to implement parity follows:
14
2. Binary to GRAY code conversion:
The main feature of gray code is that each gray number differs from the
preceding gray number by a single bit
⊕ ⊕ ⊕ ⊕
0 1 1 0 1
Binary
Gray
0 1 0 1 1
H.W: Using binary to gray converter find the gray of the following binary
number 1011011, 111011000, 11011011101?
15
4. Demorgan's theorem:
a) X·Y=X+Y
b) X+Y=X·Y
Proofing:
X·Y X·Y X+Y X+Y X·Y
0 0 0·0=1 1+1=1 0+0=1 1·1=1
0 1 0·1=1 1+0=1 0+1=0 1·0=0
1 0 1·0=1 0+1=1 1+0=0 0·1=0
1 1 1·1=0 0+0=0 1+1=0 0·0=0
Proof by truth table of Demorgan's relationship
5. Distributive law:
a) X·(Y+Z)=(X·Y)+(X.Z)
b) X+(Y·Z)=(X+Y)(X+Z)
Proofing:
X+(Y·Z)=X·(Y·Z) Demorgan's theorem
=X·(Y+Z)=(X·Y)·(X·Z) Distributive law
=(X+Y)·(X+Z) Distributive law
6. Miscellaneous theorems
a) A+AB=A
b) A(A+B)=A+AB=A(1+B)=A
c) (A+B)(A+C)=A+BC
d) A+AB=A+B
e) A( A+B)=AB
f) (A+B)(A+C)=AC+AB
g) AB+AC=(A+C)(A+B)
X=AC(B+B)+ABC B+B =1
=AC+ABC=A(C+BC )=A(B+C)
Simplified Circuit
16
H.W:
1. Simplified X=(A+B)(A+B)(A+B) and implement the logic circuit?
2. Show how NAND gates are used to implement X=AB+CD (Use NAND gate
with 2 input only)?
H.W:
1. Give the O/P of logic circuits:
X=CA+BC(A+B)+B
a) Implement the logic gate circuit?
b) Simplify the expression and implement the logic circuit?
c) What is the value of X when A=0, B=1, C=0
A=0, B=0, C=1
2. A·C+A·B·C=A·C+B·C
3. F=(A.C)+(A.B.C)+(A.C.D)+(C.D)
4. F=X·(Y+Z)·(X+Y+Z)·(X·Y·Z)
5. F=A·C·(B+B·D)+(A·C·D)
Solve of (4):
F=X+(Y+Z)·(X+Y+Z)·(X+Y+Z) Demorgan's theorem
F={X+(Y·Z)}·{X+Z+(Y·Y)}
F={(X+Y)·(X+Z)}·(X+Z)
F=(X+Y)(X+Z)
F=X+(Y·Z)
1. Two variable B, A:
A 0 1
B
0 0 1 B
1 2 3 B
A A
2. Three variable A, B, C:
BA B B
00 01 11 10
C
0 0 1 3 2 C
1 4 5 7 6 C
A A A
17
3. Four variables:
ﻳﻤﻜﻦ ﺗﻠﺨﻴﺺ ﻃﺮﻳﻘﺔ ﺗﺒﺴﻴﻂ ﻟﻠﻤﻌﺎدﻻت ﺑﺎﺳﺘﺨﺪام ﺧﺎرﻃﺔ آﺎر ﻧﻮف وﻓﻖ اﻷﺗﻲ:
.1ﺛﺒﺖ إل 1ﻋﻠﻰ اﻟﺨﺎرﻃﺔ ﻟﻜﻞ ﻧﺘﺎج أﺳﺎﺳﻲ و اﻣﻶ اﻟﺸﻮاﻏﺮ ﺑﺎﻻ ﺻﻔﺎر أﻣﺎ اﻷﻋﺪاد اﻟﻤﻤﺜﻠﺔ ﺑﺎﻟﻤﻌﺎدﻟ ﺔ واﻟﺘ ﻲ
ﻏﻴﺮ ﻣﺸﻤﻮﻟﺔ ﻓﻲ اﻟﺘﻤﺜﻴﻞ ﺗﻤﺜﻞ ب ).Don't Care (X
.2ﺣﺪد اآﺒﺮ ﻋﺪد ﻣﻦ اﻟﻤﺮﺑﻌﺎت ﺑﺄﻋﺪاد , 2 , 4 , 8أول ) (1ﻣﻨﻌﺰل ﻋﻠﻰ ﻧﻔﺴﻪ ﻣﻦ ﺣﺎﻟﺔ ﻋ ﺪم وﺟ ﻮد ﻋﻨ ﺼﺮ
أﺧﺮ ﻣﻌﻪ ﻣﻊ ﺗﺬآﺮ ﺧﺎﺻﻴﺘﻲ اﻟﻠﻒ واﻟﺘﺸﺎﺑﻚ.
.3اﺳﺘﻌﺮاض اﻟﻤﺠﺎﻣﻴﻊ واﺣﺬف آﻞ ﻣﺠﻤﻮﻋﺔ اﺷﺘﺮآﺖ ﺟﻤﻴﻊ ﻋﻨﺎﺻﺮهﺎ ﻣﻊ ﻣﺠﻤﻮﻋﺎت أﺧﺮى.
.4اآﺘﺐ اﻟﻤﻌﺎدﻟﺔ اﻟﺒﻮﻟﻴﻨﻴﺔ ﺟﺎﻣﻌﺎ اﻟﺤﺪود ﺑﺒﻮاﺑﺔ .OR
.5ﻻ ﺗﻌﺘﺒﺮ اﻟﺘﻌﺎﺑﻴﺮ اﻟﻤﺮادﻓﺔ اﺧﺘﺼﺎرا.
18
Simplified of the O/P of 7 segment display
• The Common Cathode Display (CCD) - In the common cathode display, all the cathode
connections of the LEDs are joined together to logic "0" and the individual segments are
illuminated by application of a "HIGH", logic "1" signal to the individual Anode terminals.
•
• The Common Anode Display (CAD) - In the common anode display, all the anode
connections of the LEDs are joined together to logic "1" and the individual segments are
illuminated by connecting the individual Cathode terminals to a "LOW", logic "0" signal.
19
It can be seen that to display any single digit number from 0 to 9 or letter from A to F, we would
need 7 separate segment connections plus one additional connection for the LED's "common"
connection. Also as the segments are basically a standard light emitting diode, the driving circuit
would need to produce up to 20mA of current to illuminate each individual segment and to display
the number 8, all 7 segments would need to be lit resulting a total current of nearly 140mA, (8 x
20mA). Obviously, the use of so many connections and power consumption is impractical for some
electronic or microprocessor based circuits and so in order to reduce the number of signal lines
required to drive just one single display, display decoders such as the BCD to 7-Segment Display
Decoder and Driver IC's are used instead.
LED (Lighte Emitting Diode) is the base of the 7-Segment wich are:
1. Common Anode.
(1)Common Anode
2. Common Cathode.
(2)Common Cathode
20
Exercise:
Simplifiy the O/P of 7-segment display as in page 12 ????
D C B A G F E D C B A
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0
11 1 0 1 1
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1
21
Prepared by: Dr. Ibtesam R. Karhiy Al-Saedi
A half adder is a logical circuit that performs an addition operation on two one-bit binary numbers.
The half adder outputs a sum of the two inputs and a carry value.
The drawback of this circuit is that in case of a multibit addition, it cannot include a carry.
Truth Table
(SUM) Input Output
( I/P) (O/P)
A B S C
(CARRY) 0 0 0 0
1 0 1 0
0 1 1 0
___________ 1 1 0 1
A ------| |
| Half |-----
| Adder |
| |-----
B ------|___________|
22
The Full Adder
A full adder is a logical circuit that performs an addition operation on three one-bit binary
numbers. The full adder produces a sum of the two inputs and carry value. It can be combined with
other full adders (see below) or work on its own.
Truth Table
Input Output
A B (I/P) (O/P)
A B Ci S Co
0 0 0 0 0
I-bit 1 0 0 1 0
Full Ci 0 1 0 1 0
Co Adder 1 1 0 0 1
0 0 1 1 0
1 0 1 0 1
S 0 1 1 0 1
1 1 1 1 1
S = Ci’(A ⊕ B) + Ci (A ⊕ B )
S = Ci ⊕ (A ⊕ B) ……………………..………………….(1)
23
FA also can be implemented from two HA and the following figures explain this.
A3 A2 A1 A0
B3 B2 B1 B0
0 1 0 1 0 1 A3 A2 A1 A0
0 1 + B3 B2 B1 B0
FA FA FA HA
Ci Co Co Ci Co
S3 S2 S1 S0
1000 8
+ 1001 9
1 0001 17
Co S3 S2 S1 S0
1 0 0 0 1 ( 10001 ) 2 = ( 17 ) 10
24
Serial Binary Addition
Serial performs its addition, it is partially dependent on the clock cycle therefore it is slower than
Parallel adder but less complexity. Serial Binary Adder uses one FA , one Df.f and 3 Registers
which requires number of clocks that’s equaled to the number of bits. The important things is the
synchronization between clocks and addition the numbers.
A Sum
0101 1
B FA
0011 1 Q
Ci Co D
D f.f
e d c b a CLK
25
Full Binary Subtracter
Truth Table
Input Output
A B
(I/P) (O/P)
A B Bi D Bo
0 0 0 0 0
I-bit 1 0 0 1 0
Full Bi
Bo Sub 0 1 0 1 1
1 1 0 0 0
0 0 1 1 1
1 0 1 0 0
D
0 1 1 1 1
1 1 1 1 1
26
Parallel Binary Subtracter
A3 A2 A1 A0
B3 B2 B1 B0
1 1 0 0 0 0 0 1
FS FS FA HS
A - B - Bin
Bi Bo Bo Bi Bo
1 1 1 A3 A2 A1 A0 8
- B3 B2 B1 B0 9
D3 D2 D1 D0 - 1
Do D3 D2 D1 D0
1 1 1 1 1
The circuit give us direct result when A >B but when A < B we have to
take the 2nd complement for the result.
There are 2 types for subtracting process . Both of them are used FA and Inverter to
performer the subtraction A- B = A + ( - B )
27
A3 A2 A1 A0
1 1 1 1
1 1 1 1
B3 B2 B1 B0
0 1 0 0 0 1 0 1
Ci
FA FA FA FA
Ci Co Co Ci Co
1
1 0 0
1 1
End around Carry
S3 S2 S1 S0
0 0 1 1
0 1 0 0
Example:
15 1 1 1 1 1 1 1 1
- 11 1 0 1 1 - +0 1 0 0
+4 0 1 0 0 1 0 0 1 1
1
0 1 0 0
Positive sign
11 1 0 1 1 1 0 1 1
- 15 1 1 1 1- +0 0 0 0
-4 1 1 1 0 0 0 1 0 1 1
0 0 0 1 1
1 0 1 1
Negative sign 0 1 0 0
28
A3 A2 A1 A0
1 0 1 1
1 1 1 1
B3 B2 B1 B0
0 1 0 0 0 1 0 1
FA FA FA FA Ci = 1
Ci Co Ci Co Ci Co
1
1 1 1
0 1 1
Co S3 S2 S1 S0
1
Co 0= 1 + 0 1 0 0
Co = 0 - 1 1 0 0
Example:
15 1 1 1 1 1 1 1 1
- 11 1 0 1 1 - +0 1 0 0
+4 0 1 0 0 1 0 0 1 1
1
0 1 0 0
Direct result
11 1 0 1 1 1 0 1 1
- 15 1 1 1 1- +0 0 0 0
-4 1 1 1 0 0 0 1 0 1 1
0 0 0 1 1 1 +
1 1 0 0
0 0 1 1
1 +
Final result 0 1 0 0
29
To perform the addition and subtraction Processes , It will be better to do it in
the same circuit by using simple control gates ( Ex-OR) .
A - B = A + ( - B ) = A + ( B’ + 1 )
R R __
R R
0 1
Inverter
Buffer
A3 A2 A1 A0
B3 B2 B1 B0
Control
B3 B2 C = 1 SUB
C = 0 ADD
FA FA FA FA
Ci Co Ci Co Ci Co
Co S3 S2 S1 S0
30
BCD Addition
BCD, or binary-coded decimal, represents the 10 decimal digits in terms of binary numbers. It is
possible to build digital hardware that man-ip-ulates BCD directly, and such hardware could be
found in early com-puters and many hand-held calculators. The BCD system was chosen for the
internal number system in these machines because it is easy to convert it to alphanumeric
representations for printouts and displays. The compelling advantages of BCD have waned over
time, and these digits are supported by more modern hardware simply to provide backward
compatibility with earlier generations of machines. In this section, we briefly examine the
approaches for constructing BCD arithmetic -elements.
Just as in conventional decimal addition, BCD addition is performed one decimal digit at a time.
The question is, what happens when the sum exceeds what can be represented in 4 bits? Stated
differently, what are the conditions under which a carry is generated to the next highest-order BCD
digit?
For example, let's consider the addition of the two BCD digits 5 and 3:
The sum is (1101)2 = 13, but this result should be correctly represented as 0001 0011 in BCD
notation. Fortunately, there is a simple way to find the correct result. We add 6 (01102) to the digit
sum if it exceeds 9. Let's examine the following cases:
In both cases, by adding six we obtain the correct answer in BCD. This observation is critical to the
design of a BCD adder, as we shall see in the next subsection.
31
BCD Adder Design
Figure below gives a block diagram implementation for a BCD adder. The first row of full adders
implements a conventional 4-bit binary adder. The second row provides the capability to add 01102
when the sum obtained by the first row exceeds 9 (1001)2.
Here is how it works. The adders of the second row add the carry-out bit to the sum bits S2 and S1.
Carry-out should be asserted in cases in which we need to add the correction factor. What are these
cases?
The AND gates labeled A1 and A2 detect the conditions under which the first-level sum matches
the patterns 11XX2 and 1X1X2. These are exactly the cases in which this sum exceeds 9. When
carry-out is asserted, the XOR gate and the adders in the second row effectively add (0110)2 to the
first row's sum.
There is one further case to consider. The correction factor should also be applied whenever the
first-row sum exceeds 15. We saw such an example with the sum of 9 and 7 above. This case is
easy to detect: the carry-out of the first-row adders will be asserted.
Thus the sum exceeds 9 if either the first-row carry-out is asserted, or the sum matches the pattern
11XX2, or the sum matches the pattern 1X1X2. These are precisely the inputs to the OR gate that
computes the BCD carry-out.
A BCD adder requires over 50% more hardware than a comparable binary adder. Since faster
binary adders are now available, it is no surprise that they have replaced BCD adders in almost all
applications.
32
Excess-3 Adder Design
33
When you add two XS-3 numbers together, the result is not an XS-3 number. For instance, when
you add 1 and 0 in XS-3 the answer seems to be 4 instead of 1. In order to correct this problem,
when you are finished adding each digit, you have to subtract 3 (binary 11) if the digit is less than
decimal 10 and add three if the number is greater than or equal to decimal 10 (thus causing the
number to wrap).
Your circuit will have two sets of four inputs a=a3,a2,a1,a0 and b=b3,b2,b1,b0. It will also have
four outputs x=x3,x2,x1,x0. The output x of your circuit should be the excess-3 sum of the input
values a and b. So for example, if a=0100 (representing the value 1) and b=1000 (representing the
value 5), the output x=1001 (representing the value 6).
Your circuit should correctly wrap-around if the two input values are too large. So for example, if
a=0111 (representing the value 4) and b=1011 (representing the value 8), the output x=0101
(representing the value 2). Your circuit should also have a carry input Cin and a carry output Cout.
A block diagram of a circuit that implements the single digit BCD adder is shown below. The two
large blocks are ordinary 4 bit binary adders. In your design notes, include an explanation for why
this design produces the correct excess-3 sum and the correct value for Cout. Use the schematic
editor to create a schematic for this circuit and simulate it. You may use the four bit adder
component in the schematic editor’s symbol library (you’ll find it in the arithmetic section of the
library). Ignore the OFL output (this is used when doing signed arithmetic). Since the circuit is too
large for exhaustive testing, select test cases that demonstrate that the circuit works correctly and
include an explanation for why these test cases are sufficient. Include “boundary cases” such as
adding 0 or 1 and input combinations that are just large enough to generate a carry. Turn in a copy
of your design notes, the schematic and the simulation results.
34
Digital comparator
A digital comparator or magnitude comparator is a hardware electronic device that takes two
numbers as input in binary form and determines whether one number is greater than, less than or
equal to the other number. Comparators are used in a central processing units (CPU) and
microcontrollers. Examples of digital comparator include the CMOS 4063 and 4585 and the TTL
7485 and 74682-'89.
The analog equivalent of digital comparator is the voltage comparator. Many microcontrollers have
analog comparators on some of their inputs that can be read or trigger an interrupt.
word A
word B output
Cascading input
You can connect the 1 bit digital comparator to cascade input of IC 7485 to get 5- bit
digital Comparator or simply to connect the following part to reach the same result.
A<B
A
A=B
B A>B
To design 2- bit digital comparator by using standard logic gates. Let us assume
35
A = A1A0 and B = B1B0.
A = B= A1 = B1 AND A0 = B0
A = B= (A1B1 + A1’B1’)(A1B1 + A1’B1’)
A = B= (A1 ⊕ B1) (A0 ⊕ B0)
A1
B1’
A>B
A0
B0’
A1
B1 A=B
A0
B0
A1’
B1
A<B
A0’
B0
Not : You can test your design by assuming different values for both A word
and b word.
36
H.W. )) Design 3- bit digital comparator and 4- bit digital comparator by using
simple gates.
To design 3- bit digital comparator by using standard logic gates. Let us assume
A = A2A1A0 and B = B2B1B0.
A > B= A2 > B2 OR A1 > B1 AND (A2= B2) OR A0 > B0 AND (A1= B1) AND (A2= B2)..
A > B= A2 B2’ + A1B1’(A2 ⊕ B2) + A0B0’(A1 ⊕ B1) (A2 ⊕ B2)
A > B= A2 > B2 OR A1 > B1 AND (A2= B2) OR A0 > B0 AND (A1= B1) AND (A2= B2)..
A > B= A2’ B2 + A1’B1(A2 ⊕ B2) + A0’B0(A1 ⊕ B1) (A2 ⊕ B2)
A2
B2’
A1
B1’ A>B
A0
B0’
A2
B2
A1 A=B
B1
A0
B0
A2’
B2
A1’ A<B
B1
A0’
B0
3-bit digital comparator
37
To use two 7485 IC to design a combinational circuit that compares two eight-bit numbers,
A = A7A6A5A4A3A2A1A0 and B = B7B6B5B4B3B2B1B0.
Note that the circuit number 1 compares the four least significant bits (0 to 3) and the circuit
number 2 compares the four most significant inputs (4 to 7).
H.W)) Show how you can design high speed method of comparing two 24- bit words with only
two levels of device delay? Use sex 7485 that you can connect them in parallel .
38
39
To compare large numbers by using only 2 ICs 7485, this will be easy to consider
the numbers as blocks.
Ex. To compare 3417 with 7883 as decimals numbers, we can do the following
blocks:
M L AT > BT = AM > BM + (AM=BM) AL > BL
3131 31 31 = LM + (EM) LL
A > B ( LL)
AL
7485
A = B (EL)
1
BL A < B (SL)
A > B ( LM)
AM
7485
A = B (EM)
2
BM A < B (SM)
To compare a number with its sign by using IC 7485 with some gates,, this will be
easy to deal with sign as extra signal.
The general design will be:
When sign flag = 0 +signal
A3 A2 A1 A0 sign When sign flag = 1 -signal
B3 B2 B1 B0 sign
40
Sign
A>B
As
7485 A=B
A<B
Bs
41
Encoder And Decoder
Binary Decoders
A Decoder is the exact opposite to that of an "Encoder". It is basically, a combinational type logic
circuit that converts the binary code data at its input into one of a number of different output lines,
one at a time producing an equivalent decimal code at its output. Binary Decoders have inputs of
2-bit, 3-bit or 4-bit codes depending upon the number of data input lines, and a "n-bit" decoder has
2n output lines. Typical combinations of decoders include, 2-to-4, 3-to-8 and 4-to-16 line
configurations. Binary Decoders are available to "decode" either a Binary or BCD input pattern to
typically a Decimal output code.
m=2n
n
nXm The decoder is called n to m
decoder Where m ≤ 2n
In this simple example of a 2-to-4 line binary decoder, the binary inputs A and B determine which
output line from D0 to D3 is "HIGH" at logic level "1" while the remaining outputs are held
"LOW" at logic "0". Therefore, whichever output line is "HIGH" identifies the binary code present
at the input, in other words it "de-codes" the binary input and these types of binary decoders are
commonly used as Address Decoders in microprocessor memory applications.
42
Memory Address Decoding.
The binary decoder requires 3 address lines, (A0 to A2) to select each one of the 8 chips (the lower
part of the address), while the remaining 7 address lines (A3 to A9) select the correct memory
location on that chip (the upper part of the address). Having selected a memory location using the
address bus, the information at the particular internal memory location is sent to the "Data Bus" for
use by the microprocessor. This is of course a simple example but the principals remain the same
for all types of memory chips or modules.
Expansion of Decoder
The expansion of Decoder is achieved using decoder having enable control, as shown below.
43
Example : Design 3X8 Decoder from two 2X4 Decoder with Enable.
44
BCD to 7-Segment Decoder
The use of packed BCD allows two BCD digits to be stored within a single byte (8-bits) of data,
allowing a single data byte to hold a BCD number in the range of 00 to 99.
An example of the 4-bit BCD input (0100) representing the number 4 is given below.
In practice current limiting resistors of about 150Ω to 220Ω would be connected in series between
the decoder/driver chip and each LED display segment to limit the maximum current flow.
Different display decoders or drivers are available for the different types of display available, e.g.
74LS48 for common-cathode LED types, 74LS47 for common-anode LED types, or the CMOS
CD4543 for liquid crystal display (LCD) types.
Liquid crystal displays (LCD´s) have one major advantage over similar LED types in that they
consume much less power and nowadays, both LCD and LED displays are combined together to
form larger Dot-Matrix Alphanumeric type displays.
45
The Encoder
Unlike a multiplexer that selects one individual data input line and then sends that data to a single
output line or switch, an Encoder takes all the data inputs one at a time and converts them to a
single encoded output. Then, it is a multi-input data line, combinational logic circuit that converts
the logic level "1" data at its inputs to an equivalent binary code at its output. Generally encoders
produce outputs of 2-bit, 3-bit or 4-bit codes depending upon the number of data input lines and a
"n-bit" encoder has 2n input lines with common types that include 4-to-2, 8-to-3 and 16-to-4 line
configurations. Encoders are available to encode either a decimal or hexadecimal input pattern to
typically a binary or B.C.D. output code.
m= ≤ 2n n
mXn The encoder is called m to n
Encoder
One of the main disadvantages of standard encoders is that they can generate the wrong output code
when there is more than one input present at logic level "1". For example, if we make inputs D1 and
D2 HIGH at logic "1" at the same time, the resulting output is neither at "01" or at "10" but will be
at "11" which is an output code that is different to the actual input present. One simple way to
overcome this problem is to "Prioritize" the level of each input pin and if there was more than one
input at logic level "1" the actual output code would only correspond to the input with the highest
designated priority. Then this type of encoder are known as Priority Encoders or P-encoder.
46
Priority Encoders
Priority Encoders come in many forma and an example of an 8-input Priority Encoder along with
its truth table is as shown below.
Q0 = D1 + D3 + D5 + D7
Q1 = D2 + D3 + D6 + D7
Q2 = D4 + D5 + D6 + D7
47
Multiplexers & De-multiplexers
The Multiplexer
Multiplexers is a digital logic device that has 2n data input lines and a single output, the logic
input to n inputs select one of 2n data inputs to be connected to the output. Sometimes is simply
called "Mux" or "Muxes", that act like a very fast acting rotary switch. They connect multiple input
lines 2, 4, 8, 16 etc one at a time to a common output line and are used as one method of reducing
the number of logic gates required in a circuit. Multiplexers are individual Analogue Switches as
opposed to the "mechanical" types such as normal conventional switches and relays. Selection of
particular inputs is controlled by asset of selection lines.
Normally, 2n input lines requires n selection lines where bit. An example of a Multiplexer is shown
below.
48
F= m0 d0 + m1d1 + m2d2 + m3d3
Y S0 S1 E
Y0 0 0 0 Y
Y1 1 0 0 8X 1
Y2 0 1 0 Mul
Y3 1 1 0
Y4 0 0 1
Y5 1 0 1
Y6 0 1 1 S0
Y7 1 1 1 S1
S2
E
I0
I1 4X 1
I2 Mul.
13
Y
S0
S1
I4 4X 1
I5 Mul.
I6
I7
49
The De-multiplexer
De-multiplexers or "De-muxes", are the exact opposite of the Multiplexers . It has one single input
data line and then switch it to any one of their individual multiple output lines one at a time. The
De-multiplexer converts the serial data signal at the input to a parallel data at its output lines as
shown below.
A
F
1X 4 B
Dem. C
D
S0
S1
B
F
C
Output Addressing
Selected S0 S1
A 0 0
B 1 0
C 0 1
D 1 1
50
Synchronizations Line
Muliplexing enables several signals to be sent over the same channel simultaneously.
In the top diagram, the Multiplexer rotary switch samples each channel in turn, and connects it to the link.
As long as the two switches are rotated in synchronism, Listener 1 will only hear Talker 1, etc.
The minimum sample rate need only be twice the highest frequency of a talker signal, according to Nyquist.
A
S0’ A
S1’
B
S0 B
S1’
C
S0’ C
S1
D
S0’ D
S1’
51