Vous êtes sur la page 1sur 39

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-

Vous aimerez peut-être aussi