ECE380 Digital Logic Combinatorial Circuit Building Blocks: Decoders, Demultiplexers, Encoders and Code Converters Electrical & Computer Engineering

Dr. D. J. Jackson Lecture 22-1

Decoders • Decoder circuits: decode encoded information • A binary decoder has n data inputs and 2n outputs • Only one output is asserted at any time (one-hot encoded) and each output corresponds to one valuation of the inputs • An enable input (En) is used to disable the outputs – If En=0, none of the decoder outputs is asserted – If En=1, one of the outputs is asserted according to the valuation of the inputs n inputs Enable Electrical & Computer Engineering

w0 wn-1 En

y0

2n outputs

y2n-1 Dr. D. J. Jackson Lecture 22-2

1

2-to-4 decoder circuit y0 y1 y2 y3

w0 w1 En

Enable En w

w 0 w 1

w

y

y

y

1

0

0

1

2

3

1

0

0

1

0

0

0

1

0

1

0

1

0

0

1

1

0

0

0

1

0

1

1

1

0

0

0

1

0

X

X 0 0 Truth table

0

0

y 0 y 1

y

y 2 y 3

En

Electrical & Computer Engineering

Dr. D. J. Jackson Lecture 22-3

3-to-8 decoder w0 w1 w2

En

w0 w1 En

w0 w1 En

Electrical & Computer Engineering

y0 y1 y2 y3

y0 y1 y2 y3

y0 y1 y2 y3

y4 y5 y6 y7

Dr. D. J. Jackson Lecture 22-4

2

74138 3-to-8 decoder

Note the ‘active low’ outputs Electrical & Computer Engineering

Dr. D. J. Jackson Lecture 22-5

Decoder application

a0 a1

. . .

am-1

m-to-2m decoder

Address

• A common decoder application is the decoding of address lines for memory chips Sel0 Sel1

. . . . Sel2m-1

0/1 0/1

…..

0/1

0/1 0/1

…..

0/1

. . . 0/1 0/1

…..

0/1

read Electrical & Computer Engineering

Dr. D. J. Jackson Lecture 22-6

3

Demultiplexers • A multiplexer multiplexed n data inputs to a single output • A circuit that performs the opposite, placing the value of a single input onto one for multiple outputs is called a demultiplexer • An n-to-2n decoder implements a 1-to-n demultiplexer Act as the select inputs Acts as the data input Electrical & Computer Engineering

w0 w1 Enable

En

y0 y1 y2 y3

Dr. D. J. Jackson Lecture 22-7

Encoders • An encoder performs the opposite function of a decoder • A binary encoder encodes information (data) from 2n inputs into an n-bit code (output) – Exactly one of the inputs should have a value of one – The outputs represent the binary number that identifies which input is equal to 1

• Encoders reduce the number of bits needed to represent given information • Practical use: transmitting information in a digital system

Electrical & Computer Engineering

Dr. D. J. Jackson Lecture 22-8

4

Encoders w0

2n inputs

w2n-1

y0 yn-1

n outputs

A 2n-to-n binary encoder w

w

w

w y1 y0

3

2

1

0

0

0

0

1

0

0

w 0 w 1

0

0

1

0

0

1

w 2

0

1

0

0

1

0

1

0

0

0

1

1

w 3

Electrical & Computer Engineering

y 0 y 1 Dr. D. J. Jackson Lecture 22-9

Priority encoders • Another useful class of encoders is based on the priority of the input signals • In a priority encoder, each input has a priority level associated with it • The encoder outputs indicate the active input that has the highest priority – When an input with a high priority is asserted, the other lower priority inputs are ignored

Electrical & Computer Engineering

Dr. D. J. Jackson Lecture 22-10

5

Priority encoders • Assume that w0 has the lowest priority and w3 has the highest • The output z indicates when none of the inputs are 1 • Letting – – – –

i0=w3’w2’w1’w0 i1=w3’w2’w1 i2=w3’w2 i3=w3

y0 =i1+i3, y1=i2+i3 z = i1+i2 +i3+i4 Electrical & Computer Engineering

w

w

w

3

2

1

w y1 y0 z 0

0

0

0

0

D

D

0

0

0

0

1

0

0

1

0

0

1

X 0

1

1

0

1

X

X 1

0

1

1 X X X 1 1 1 4-to-2 priority encoder truth table

Dr. D. J. Jackson Lecture 22-11

Code converters • The purpose of code converter circuits is to convert from one type of input encoding to another type of output encoding • For example: – A 3-to-8 decoder converts from a binary number to a one-hot encoding at the output – A 8-to-3 encoder performs the opposite

• Many different types of code converter circuits can be constructed – One common example a a BCD-to7-segment decoder Electrical & Computer Engineering

Dr. D. J. Jackson Lecture 22-12

6

BCD-to-7-segment decoder • Converts one binary-coded decimal (BCD) digit into information suitable for driving a digit-oriented display – A vending machine display is an example

• The circuit converts a BCD digit into 7 signals that are used to drive (activate) the segments in the display – Each segment is a small light-emitting diode (LED), which glows when driven by an electrical signal

Electrical & Computer Engineering

Dr. D. J. Jackson Lecture 22-13

BCD-to-7-segment decoder a b c d e f g

w w0 w1 w2 3

a f e

b g

c

d Electrical & Computer Engineering

w

w

w

w a b c d e f

3

2

1

0

g

0

0

0

0

1 1 1 1 1 1 0

0

0

0

1

0 1 1 0 0 0 0

0

0

1

0

1 1 0 1 1 0 1

0

0

1

1

1 1 1 1 0 0 1

0

1

0

0

0 1 1 0 0 1 1

0

1

0

1

1 0 1 1 0 1 1

0

1

1

0

1 0 1 1 1 1 1

0

1

1

1

1 1 1 0 0 0 0

1

0

0

0

1 1 1 1 1 1 1

1

0

0

1

1 1 1 1 0 1 1 Dr. D. J. Jackson Lecture 22-14

7

BCD-to-7-segment decoder a f e

g

a b

f

c

e

g

d

e

g

b

f

c

e

g

d

a f

a

f

c

e

d Electrical & Computer Engineering

b

f

c

e

g d

f

c

e

g d

b

f

c

e

d

a b

a

g

d a

b

a

f

c

e

g

c

d a

b

b

g d

a b

f

c

e

b g

c

d Dr. D. J. Jackson Lecture 22-15

8