00000000 100000000 + out D MUX 00000000 F2 F1 FO Functionality 0 0 0 ADD the value on the A bus to the value on the B bus 0 0 1 AND the value on the A bus to the value on the B bus 0 1 0 0 1 1 LEFT SHIFT the value on the B bus by the number of bits specified on the A bus RIGHT SHIFT the value on the B bus by the number of bits specified on the A bus INCREMENT the value on the A bus by 1 1 0 0 1 0 1 IF DO = 1 THEN B ELSE O 1 1 0 SET output of the ALU to 0 1 1 1 SET the output of the ALU to the value on the B bus Table 1: ALU functions
USE LOGISM TO COMPLETE THE FOLLOWING AND SHOW ANSWER IN LOGISM VIA IMAGE/SCREENSHOT
The most important and possible most difficult component to implement is the arithmetic logic unit. The
functions of the ALU are shown in Table 1. The ALU should have 5 inputs (A-input, B-input, F0-input, F1-input, Finput) and 1 output (C-output). You will need to determine how many bits each input and output should have.
Remember, you are designing an 8-bit microprocessor! To achieve the specified ALU functions, think about
which digital logic component(s) you can use to accomplish the task. For example, to add the value on the A-bus
8-bit ALU
D3
D2
D1
D0
A B
F0
F1
F2
C0=0, C1=0
C0=0, C1=1
C0=1, C1=0
C0=1, C1=1 B0=1, B1=1
B0=1, B1=0
B0=0, B1=1
C
2
to the value on the B-bus, you can simply use an 8-bit adder. Explore the components in Logisim! Additionally,
you can think about using a multiplexer to determine which ALU function will be performed.
Trending now
This is a popular solution!
Step by step
Solved in 2 steps