CS25 - Lab 1

Charles Bell, Aron Dobos, and Sorelle Friedler

ABSTRACT:
In this lab we created a circuit which allows lights on a board to be programmed. This circuit takes instructions from the program memory and interprets them in the instruction register and the accumulator and sends the instructions through the light register to the lights which are set in the specified pattern. Our circuit includes a program counter, program memory, instruction register, accumulater, and light register. The circuit takes a clock and a reset as inputs and outputs 4 bits which control the lights.

DESCRIPTION:
Our circuit is intended to take the program instructions found in the program memory and execute the instruction in the program counter on each rising edge of the clock cycle. The output of these instructions are displayed to the user in the form of LEDs on the programmable logic board. We designed the light register in the graphical design editor in Altera and designed the other components of the circuit in VHDL. Once all the individual components were designed we tested them using the waveform editor and then connected them in the graphical design editor to get our final circuit.

QUESTIONS:

  1. What capabilities does your circuit share with a general-purpose computer?

    Our circuit is programmable, has a memory, has an instruction decoder, a simple arithmetic unit, and user understandable output in the form of the lights.

  2. What were the relative strengths and weaknesses of designing using the graphical editor versus VHDL?

    The graphical editor was easier to learn and gives a more obvious and intuitive representation of the circuits. The disadvantage is that often wires are not connected when they seem to be and it takes longer and is more tedious to make a circuit in comparison to VHDL.

    VHDL is standardized so there's less of an issue with portability. VHDL is also good because it's more precise and you don't have to spend time worrying about how the circuits will be arranged on the screen. Unfortunately, VHDL was harder to learn, but once the basics of the language were mastered was ok to program in.

  3. What was your testing plan, and how did your circuit fare? Did you fully test the capabilities of the circuit? If not, what parts were not fully tested?

    We used the waveform editor to test each component individually and they all worked on the first try. Then we tested all the capabilities of the full circuit to make sure that the components were connected correctly. We found a few loose connections, but those were fixed and everything should work correctly.

  4. What were the major problems you encountered during this lab, and how did you solve them? Please keep this section brief. The purpose of it is to help the instructor identify parts of the lab that could be improved.

    The largest problems we had were in finding working space. A few times there weren't enough computers available in the lab and the computers in the other labs in the building don't have the most recent update of Altera so we couldn't get the board to connect and work correctly on them. If we could work on the computers in the Computer Science lab in Sproul that would be helpful.

    The other largest problem was in not knowing VHDL at the beginning of the lab. If the explanation of VHDL in class could happen earlier so that we could get an earlier real start on the lab that would be helpful.

EXTENSIONS: