COMP 273 Assignment 6
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
ALU
COMP 273 Assignment 6
Due: November 20, 2022, on myCourses
Submission instructions
All work must be your own and must be submitted to myCourses. Include your name and student number in a comment at the top of your documents / Logisim circuits . Submit only one file: a6.circ. Do not use a zip archive. Check your submission by downloading it from myCourses and checking that it was correctly submitted. You will not receive marks for work that is incorrectly submitted.
Purpose
• Learning about the basic circuitry in the ALU
• To get used to 2’s complement
• To get used to using flags
Helpful
• A5 should be completed before you start this assignment
• The lecture recordings on ALU.
Implementation
Using Logisim Evolution create the circuit for the following problem:
Figure 1: High-level view of ALU
- Task: Build the circuit (blue boxes) of figure 1.
- Inputs : L and R (nibble sized, 4 pins each), Add/Subtract command pin.
- Outputs : A-out (nibble sized, 4 pins) and Status (3 pins)
- Circuits: 2’s complement circuit, adder circuit, and status output circuits. Plus, a CLOCK.
NOTE: Your final circuit does not need to look exactly like figure 1. However, the input and output pins must look like figure 1.
NOTE 2: Your final circuit must use designs we covered during class. You cannot use any outside (other sourced) circuit designs.
NOTE 3: You must build the circuit from the following components ONLY: wires, D-flip-flop, clock, AND, OR, NOT, pins, and XOR. You CANNOT use: any prebuilt adder circuits, or any other prebuild items from Logisim. Optionally you can use: tunneling and “adding a circuit” from the project menu.
Steps
• Begin by placing the input and output pins onto the circuit. These pins will be used to enter and see values.
• Do not use registers for: L, R, A-out, Status, and the command pin.
• The Adder circuit assumes two 2’s compliment inputs in L and R. The L input goes directly into the Adder without modification. The R input goes through the 2’s complement circuit and may modify R’s value (for example, R may be 5, but the 2’s complement circuit changes it to -5). The solution to the addition is outputted to the A-out pins.
• The 2’s complement circuit is controlled by the command pin and will negate the 2’s complement R input value when commanded to do so during subtraction. Otherwise, during addition it simply lets the R value pass through without change. When the command pin is 0 the ALU is performing an addition. When the command pin is 1 the ALU is performing a subtraction.
• The Status register’s flag bits are updated by the result stored in A-out. Bit 0 = negative, Bit 1 is zero, and bit 3 is overflow.
• Add a clock to control the execution of this circuit.
Execution
Your ALU circuit must be able to do the following:
1. 0 – 0
2. 1 – 1
3. 1 – (-1)
4. 2 – 1
5. 1 – 2
6. Overflow
7. And the other numbers that fit within the 2’s compliment nibble.
Note: The TA will input the numbers into the L and R pins in 2’s complement form by hand.
Marking
• Maximum 20 points
o +7 Adder circuit
o +7 2’s complement circuit
o +6 Status determination circuits
• -20% per day late with max 2 late days
• -3 points for not following instructions
• -5 points for not using the clock
• Assignment must execute to be graded
2022-11-16