In-Class Activity: Build an ALU

 


Introduction

In this mini-lab you will build a 4-bit ALU using the Logic.ly simulator.

This activity may be done individually or in pairs or small groups.



Logic.ly

Start the Logic.ly simulator by going to https://logic.ly/demo/. If this does not work in your browser, you may download Logic.ly from https://logic.ly/.

  1. AND circuit
    To become familiar with Logic.ly, add two Toggle Switches and an AND gate to your circuit board. Wire the two switches to the AND gate. Add a light bulb to your circuit board and wire the output of your AND gate to the light bulb. Once you have this simple circuit set up, experiment with flipping the switches to change the inputs to your AND gate. Make sure that the gate does what you expect it to do.
  2. Extend your circuit diagram to create a Half-Adder with two inputs and two outputs, the sum bit and the carry bit. You may use an XOR gate if you want, or implement it with just AND, OR, and NOT gates. "Run" it several times with different inputs to make sure it is working correctly. (A full test of two inputs would consist of the four possible permutations of the two inputs.) (The slide on Addition via Logic Gates may be useful.)
  3. A Full-Adder has a third input, the carry-in. Combine two half-adders and an OR gate to create a one-bit Full Adder (one bit addition with carry-in).
  4. Add an AND gate and an OR gate to create a one-bit ALU. Since you don't have a MUX, leave it with the three separate lines that would go into the MUX, plus the carry-out. (So, 4 outputs altogether.) (The slide on a One-Bit ALU may be useful.)
  5. Create three more one-bit ALU's (copy-and-paste is your friend!) and connect the carry-out of one to become the carry-in of the next, constructing a four-bit ALU. Each bit will have three potential outputs (AND, OR, and SUM), plus a carry-out going to the next ALU. The carry-in of the least significant bit would still be a Toggle Switch. (The MultiBitAdder slide may be useful; click on the down-arrow on the page to display the full page.)
  6. Stop and Think: Looking at the One-Bit ALU slide, what is the role of the Binvert control line in implementing subtraction? Remembering that integers are representing in two's complement, what should be the carry-in of the least significant bit if the operation is subtraction rather than addition?

Submit your results

Saving your work: If you have downloaded Logic.ly to your own machine, you can go to File->Save As to save your file. If you are running Logic.ly through the browser, you cannot save the circuit board as a file, but you can take a screenshot to capture your circuit diagrams.

Submit your solutions to the exercises above.