Question: Homework 3 Part 2 Instructions * * * Need K - maps drawn out when needed, Need Truth Tables drawn out when needed. Need Digital

Homework 3 Part 2 Instructions
*** Need K-maps drawn out when needed, Need Truth Tables drawn out when needed. Need Digital Works implementation disaplayed for each
In this part, you are asked to design a 4-bit ALU in Digital Works. You may break down the design into the following steps/blocks. Make sure to thoroughly test every block before moving to the next step. Testing and thorough understanding of each individual macro will be evaluated during check off with the instructor. Here are more details about each block:
1. Design a full adder block/macro, addl. addl has three inputs (\( a, b \), and CarryIn) and two outputs (Sum and CarryOut) as shown in the figure below. Each input/output is 1-bit.
The adder truth table is shown below:
The logic equations are thus:
CarryOut \(=(\mathrm{a}\cdot \) CarryIn \()+(\mathrm{b}\cdot \) CarryIn \()+(\mathrm{a}\cdot \mathrm{b})\)
Sum \(=\mathrm{a}\) xor b xor CarryIn
And the corresponding logic circuit will look like the one in the figure below:
For a refresher on how to extract the logic equation and circuits, check appendix 7 in the
zybooks textbook.
Don't forget to thoroughly test the individual macro before moving to the next step.
Design a multiplexer macro, mux2_1. mux2_1 has two data inputs (in 1 and in2) and one
data output (out). Each input/output is 1-bit. The multiplexer has one select line (sel) that
controls which input is passed to the output as shown below:
You will need to use truth table and k-map to come up with the logic equation for the
multiplexer block, and then map the logic equation to the respective logic circuit as
shown for the full adder above and as you did in CS 231.
Don't forget to thoroughly test the individual macro before moving to the next step.
Design a multiplexer macro, mux4_1. mux4_1 has four data inputs (in 1, in 2, in 3, and
in4) and one data output (out). Each input/output is 1-bit. The multiplexer has a 2-bit
selection line (sell and sel2) that controls which input is passed to the output. Hint: you
may use 3 of the mux2_1 macros from step 2 to build this multiplexer as shown below:
Design 1-bit ALU macro, alu1, using the two multiplexer macros and the full adder
macro from the previous steps. The ALU has three data inputs ( a,b, and less), four
control signals (Binvert, CarryIn, Operation1, and Operation2), and one data output
(Result) as shown in the following figure. The ALU supports logical and, logical or, add,
subtract, and set if less than operations as explained in class.
Don't forget to thoroughly test the 1-bit ALU before moving to the next step.
Note: you may need to create another macro alul_extra that is a copy of alul but
has an additional output called Set which is the adder output. This will be used as
ALU3 in the next step to support the sit functionality.
Design a 4-bit ALU using the alul macro from step 4(and alu1_extra). The 4-bit ALU
has two data inputs (a and b) and one data output (Result),4-bits each (you may call
them a0,a1,a2, and a 3 and so on...) The ALU also has four control signals (Binvert,
CarryIn, Operation 1, and Operation2) as explained in the lecture and depicted in the
picture below. Note that the ALU picture from the slides has 32 alul but, in this
homework, you only need to have 3 alul macros and 1 alul_extra macro. The less input
for ALUO is connected to Set output of ALU3, which is the adder output for the most
significant alu (ALU3). The less data input is 0 for the remaining alus (ALU3, ALU2,
and ALU1). You may ignore the overflow detection output shown below.
Homework 3 Part 2 Instructions * * * Need K -

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!