Encoders/Decoders
Overview
Design Procedure
Code Converters
Binary Decoders
Expansion
Circuit implementation
Binary Encoders
Priority Encoders
30- Chapter 3-ii: Combinational Logic Design (3.4 - 3.6) 2
Apr-
Combinational Circuit Design
Design of a combinational circuit is the
development of a circuit from a description
of its function.
Starts with a problem specification and
produces a logic diagram or set of boolean
equations that represent the circuit.
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
3
Apr-
Design Procedure
1. Determine the required number of inputs and
outputs and assign variables to them.
2. Derive the truth table that defines the required
relationship between inputs and outputs.
3. Obtain and simplify the Boolean function (K-
maps, algebraic manipulation, CAD tools, ).
Consider any design constraints (area, delay,
power, available libraries, etc).
4. Draw the logic diagram.
5. Verify the correctness of the design.
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
4
Apr-
Design Example
Design a combinational circuit with 4
inputs that generates a 1 when the # of 1s
equals the # of 0s. Use only 2-input NOR
gates
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
5
Apr-
More Examples - Code
Converters
Code Converters transform/convert
information from one code to another:
BCD-to-Excess-3 Code Converter
Useful in some cases for digital arithmetic
BCD-to-Seven-Segment Converter
Used to display numeric info on 7 segment
displays
30- 6
Apr-
BCD-to-Excess-3 Code
Converter
Design a circuit that converts a binary-coded-
decimal (BCD) codeword to its corresponding
excess-3 codeword.
Excess-3 code: Given a decimal digit n, its
corresponding excess-3 codeword (n+3)2
Example:
n=5 n+3=8 1000excess-3
n=0 n+3=3 0011excess-3
We need 4 input variables (A,B,C,D) and 4
output functions W(A,B,C,D), X(A,B,C,D),
Y(A,B,C,D), and Z(A,B,C,D).
Chapter 3-ii: Combinational 7
Logic Design (3.4 - 3.6)
BCD-to-Excess-3 Converter
(cont.)
The truth table relating the input and output variables is shown below.
Note that the outputs for inputs 1010 through 1111 are don't cares (not
shown here).
30- Chapter 3-ii: Combinational Logic Design (3.4 - 3.6) 8
Apr-
Maps for BCD-to-Excess-3 Code Converter
The K-
K-maps for are constructed using the don't care terms
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
9
Apr-
BCD-to-Excess-3 Converter
(cont.)
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
10
Apr-
Another Code Converter Example:
BCD-to-Seven-Segment Converter
Seven-segment display:
7 LEDs (light emitting diodes), each one
controlled by an input a
1 means on, 0 means off
f b
Display digit 3? g
Set a, b, c, d, g to 1
Set e, f to 0 e c
d
30- Chapter 3-ii: Combinational Logic Design (3.4 - 3.6) 11
Apr-
BCD-to-Seven-Segment
Converter
Input is a 4-bit BCD code 4 inputs (w, x,
y, z).
Output is a 7-bit code (a,b,c,d,e,f,g) that
allows for the decimal equivalent to be
displayed. a
Example: f g b
Input: 0000BCD
Output: 1111110 e c
(a=b=c=d=e=f=1, g=0)
d
30- Chapter 3-ii: Combinational Logic Design (3.4 - 3.6) 12
Apr-
BCD-to-Seven-Segment (cont.)
Truth Table
Digit wxyz abcdefg Digit wxyz abcdefg
0 0000 1111110 8 1000 1111111
1 0001 0110000 9 1001 111X011
2 0010 1101101 1010 XXXXXXX
3 0011 1111001 1011 XXXXXXX
4 0100 0110011 1100 XXXXXXX
5 0101 1011011 1101 XXXXXXX
6 0110 X011111 1110 XXXXXXX
7 0111 11100X0 1111 XXXXXXX
??
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
13
Apr-
Decoders
A combinational circuit that converts
binary information from n coded inputs to a
maximum 2n decoded outputs
n-to- 2n decoder
n-to-m decoder, m 2n
Examples: BCD-to-7-segment decoder,
where n=4 and m=7
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
14
Apr-
Decoders (cont.)
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
15
Apr-
2-to-4 Decoder
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
16
Apr-
2-to-4 Active Low Decoder
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
17
Apr-
3-to-8 Decoder
address
data
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
18
Apr-
3-to-8 Decoder (cont.)
Three inputs, A0, A1, A2, are decoded into eight
outputs, D0 through D7
Each output Di represents one of the minterms
of the 3 input variables.
Di = 1 when the binary number A2A1A0 = i
Shorthand: Di = mi
The output variables are mutually exclusive;
exactly one output has the value 1 at any time,
and the other seven are 0.
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
19
Apr-
Implementing Boolean functions
using decoders
Any combinational circuit can be constructed using
decoders and OR gates! Why?
Here is an example:
Implement a full adder circuit with a decoder and
two OR gates.
Recall full adder equations, and let X, Y, and Z be
the inputs:
S(X,Y,Z) = X+Y+Z = m(1,2,4,7)
C (X,Y,Z) = m(3, 5, 6, 7).
Since there are 3 inputs and a total of 8 minterms,
we need a 3-to-8 decoder.
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
20
Apr-
Implementing a Binary Adder
Using a Decoder
S(X,Y,Z) = m(1,2,4,7)
C(X,Y,Z) = m(3,5,6,7)
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
21
Apr-
Decoder Expansions
Larger decoders can be constructed using
a number of smaller ones.
-> HIERARCHICAL design!
Example:
A 6-to-64 decoder can be designed using
four 4-to-16 and one 2-to-4 decoders.
How? (Hint: Use the 2-to-4 decoder to
generate the enable signals to the four 4-
to-16 decoders).
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
22
Apr-
3-to-8 decoder using two 2-to-4
decoders
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
23
Apr-
4-input tree decoder
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
24
Apr-
Encoders
An encoder is a digital circuit that performs
the inverse operation of a decoder. An
encoder has 2n input lines and n output
lines.
The output lines generate the binary
equivalent of the input line whose value is
1.
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
25
Apr-
Encoders (cont.)
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
26
Apr-
Encoder Example
Example: 8-to-3 binary encoder (octal-to-binary)
A0 = D1 + D3 + D5 + D7
A1 = D2 + D3 + D6 + D7
A2 = D4 + D5 + D6 + D7
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
27
Apr-
Encoder Example (cont.)
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
28
Apr-
Simple Encoder Design Issues
There are two ambiguities associated with the
design of a simple encoder:
1. Only one input can be active at any given time. If
two inputs are active simultaneously, the output
produces an undefined combination (for example, if
D3 and D6 are 1 simultaneously, the output of the
encoder will be 111.
2. An output with all 0's can be generated when all the
inputs are 0's,or when D0 is equal to 1.
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
29
Apr-
Priority Encoders
Solves the ambiguities mentioned above.
Multiple asserted inputs are allowed; one
has priority over all others.
Separate indication of no asserted inputs.
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
30
Apr-
Example: 4
4--to
to--2 Priority Encoder
Truth Table
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
31
Apr-
4-to-2 Priority Encoder (cont.)
The operation of the priority encoder is
such that:
If two or more inputs are equal to 1 at the
same time, the input in the highest-
numbered position will take precedence.
A valid output indicator, designated by
V, is set to 1 only when one or more inputs
are equal to 1. V = D3 + D2 + D1 + D0 by
inspection.
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
32
Apr-
Example: 4-
4-to
to-
-2 Priority Encoder
K-Maps
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
33
Apr-
Example: 4
4--to
to--2 Priority Encoder
Logic Diagram
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
34
Apr-
8-to-3 Priority Encoder
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
35
Apr-
A Matrix of switches = Keypad
C0 C1 C2 C3
1 2 3 F R0
4 5 6 E R1
7 8 9 D R2
0 A B C R3
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
36
Apr-
Keypad Decoder IC - Encoder
COL.
4-bit
4-bit
Binary
1 2 3 F
(encoded)
4 5 6 E ROW
4-bit
7 8 9 D
0 A B C
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
37
Apr-
Priority Interrupt
Encoder Schematic
Interrupting Interrupt Microprocessor
Devices Encoder
Device A
Device B Req(1:0)
Device C
Device D
IntRq
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
38
Apr-
Priority Encoding -
Interrupt Requests
Interrupting Device
A B C D Req (1:0) IntRq
0 0 0 0 00 0
0 0 0 1 00 1
0 0 1 0 01 1
0 0 1 1 01 1
0 1 0 0 10 1
Exercise: Complete this table?
30- Chapter 3-ii: Combinational
Logic Design (3.4 - 3.6)
39
Apr-