Circuits and Logic Extension Assignment
For this assignment, you will design a digital logic circuit and explain its operation using a truth table and Karnaugh Map. You will use Logisim-evolution to design and simulate a 4-bit ripple carry adder, producing the truth table and K-Map along the way.
Background Material
At a low level, computers are made up of giant collections of digital switches. Each switch can be turned on (usually corresponding to the value 1) or off (usually corresponding to the value 0). Computers work by using logical operations to turn on and off sets of switches in predictable ways. Multiple circuits are implemented inside the computer to perform different kinds of operations.
As a starting point for understanding digital logic and circuits, consult my Abstraction and Logic OER materials.
Logisim-evolution
Logisim-evolution is a cross-platform, open source digital logic circuit simulator. Among other capabilities, this software allows for the creation of circuits composed of logic gates by dragging and dropping the gates and connecting the inputs and outputs of each gate. Both a truth table and Karnaugh Map can be generated automatically from the drawn circuit.
A major part of this assignment is learning to use Logisim-evolution through trial-and-error. The second piece is implementing the adder, although this part shouldn’t be too difficult once you have the software working properly.
Adders
The circuit you will implement in Logisim-evolution is a 4-bit ripple carry adder. As it happens, the Wikipedia Adder (electronics) article is a good starting point for understanding how adders work. This article contains images of several different ways to implement a full adder.
To create the ripple carry adder, simply connect the carry-out (Cout) of the first adder to the carry-in (Cin) of the second adder. Repeat this process for the remaining 2 adders in the chain. It will probably be helpful to arrange the adders from right to left, since the first adder handles the least significant bit, or the small end of the number, while the fourth adder handles the most significant bit, or the large end of the number. For clarity, the number 1000 has a zero at the least significant bit (rightmost digit) and a 1 at the most significant bit (leftmost digit).
Be sure that your inputs are correctly labeled. Use subscripts on each input (e.g. A0, B0, A1, B1, etc.). You may decide to use the zero subscript for either the most or least significant end of the number, but be consistent. In other words, if A0 is the least significant bit of the first number to be added, use B0 as the least significant bit of the second number. Your output should be labeled S with corresponding subscripts. The final carry-out can be labeled Cout. You can label the initial carry-in as Cin or just hardwire it to ground (always zero).
Requirements
Prepare a video presentation in MP4 or WEBM format that demonstrates the following:
- Demonstrate how to use Logisim-evolution to create a 4-bit ripple carry adder with the correct input and output labels (as described above).
- Show how to obtain a truth table from the drawn circuit using Logisim-evolution.
- Show how to obtain a Karnaugh Map from the drawn circuit using Logisim-evolution.
- Demonstrate how to use Logisim-evolution to simulate the circuit. Show that you can add two 4-bit binary numbers together and get the correct result.
IMPORTANT: For the above demonstrations, you MUST record yourself using Logisim-evolution to receive credit. You can use a screen capture tool or your cell phone. Screenshot images are NOT acceptable
Grading
Please review the Circuits and Logic Extension Rubric before submitting this Extension Assignment.
As explained in the course syllabus, a minimum grade of 70 is required to receive any partial credit for this assignment. A minimum grade of 85 is required to be able to attempt the Challenge Assignment later in the semester.