CPSC 220, Fall 2022
Lab 7: Starting Larc in Logisim

This week, you will start the construction of a Larc simulation in the Logisim circuit simulation program. You will be working in assigned groups. At the start of today's lab, your group should discuss how it will organize the work.

The folder /classes/cs220/Larc-in-Logisim has a folder for each group. All members of the group have access to that group's folder, and the group will turn in their completed project in that folder. You might want to keep all of your work there.

Next week, I will make available some test programs that can be loaded into the instruction memory, along with the expected result in data memory at the end of each program. You will continue to work on Larc-in-Logisim in lab next week, and it will be due the following week.

Some Notes

We discussed the basic structure of the Larc simulation in class on Wednesday. Here is a hand-drawn diagram, showing some of what was on the board in class, as a starting point. And here is the table of Larc instructions, which you might find helpful as you figure out how to wire the components of the Larc simulation together.

You should keep your work in several Logisim .circ files. One of them will be the main file, which defines the full Larc simulation. The other files can contain subcircuits that are used in the simulation. To add the circuits from a file to your main project file, use the command "Project" / "Load Library" / "Logisim Library". The file will be added to the list of folders in the upper left section of the Logisim window, and all the circuits from the file will be listed in that folder and available for use in circuits. All of the files should be kept in the same directory. Note that if you modify one of the helper files, you will need to re-open the main file for the change to become effective (or right-click the file name and select "Reload Library" from the popup menu). Using multiple files for the project will let you break up the work among group members. However, every member of a group should fully understand the complete project.

In my version, I used three extra files, one to hold the ALU, one to hold the registers, and one for various utility circuits and control circuits. The picture at the right shows the resulting component list in the Logisim window for the main file, with util opened to show the individual circuits that it contains. You might find it convenient to use several files for utility circuits, to make it easier to spread out the work.

Here are some notes about building a Larc simulation in Logiasim:

Here are a few notes about debugging your simulation:

Before next week's lab, you should have completed the Register File and ALU, and you should have started the main project file. Ideally, you will also have thought about some of the control circuits or started to build them.