EECE 320 – Digital Systems Design
Homework #3
Problem #1 [20 points]
Implement the following single-output or multi-output functions using the decoders
(74x138) and (74x139) with additional gates if need be.
a) 𝐹 = ∑𝐴,𝐵,𝐶(2,4,7)
b) 𝐹 = ∑𝐴,𝐵,𝐶,𝐷(2,3,4,5,8,10,12,14)
𝐹 = ∑𝐴,𝐵,𝐶(2,6)
c) {
𝐺 = ∑𝐶,𝐷,𝐸(0,2,3)
Problem #2 [20 points]
a) Implement the functions of Problem #1 (a & b) using an 8-input multiplexer.
b) Implement the functions of Problem #1 (a & b) using a 4-input multiplexer.
Problem #3 [20 points]
We want to design a high priority encoder that provides as an output the signals
corresponding to the highest TWO input signals. The circuit has 8 active low request signals
(I0, I1, …, I7) and 8 active high outputs: (A0, A1, A2) which indicate the value of the
highest input request, (B0, B1, B2) which indicate the value of the second highest input
request, (AVALID) which is activated if at least one input signal is active, and (BVALID)
which is activated to reflect that there is a second input request activated.
You can use all types of gates and as building blocks, you can use encoders and decoders.
Problem #4 [20 points]
Design a 4-to-16 decoder using the following components:
One 3-to-8 decoder with one active-high enable bit.
Three 2-to-4 decoders, each with one active-high enable bit.
One 2-input OR gate.
You are not allowed to use inverters or any additional gates.
Problem #5 [20 points]
Design a circuit that counts the number of '0's in a given 3-bit input A (A2A1A0), and
produces a 2-bit output B (B1B0), representing the binary equivalent of the decimal count
of '0's in A. For example:
A=111 results in B=00 (0 in decimal)
A=101 results in B=01 (1 in decimal)
A=100 results in B=10 (2 in decimal)
A=000 results in B=11 (3 in decimal)
Draw the truth table and implement this function using one decoder, one encoder, and up
to two logic gates if necessary (inverters are not allowed).