CSCI-UA.0436 - Prof. Grishman
Assignment 7: MIPS Single-Cycle Processor
Using Logisim, build a
single-clock-cycle-per-instruction MIPS processor as described
section 4.4 of the text.
file RegFile.zip, which
a pre-built Register File
and subcircuits used by the
register file; unzip it into a folder that you
create just for
put a copy of the
file (with a .circ extension) containing the ALU that you
built and of
the file containing the Control circuits you built.
Logisim and load the libraries you need
you start Logisim, you will need to load the following
“Project>Load Library>Logisim Library…” and
specify the file “register_file.circ” in the folder into
in step 1.
Control: Click ““Project>Load Library>Logisim
specify the file containing your ALU and Control circuits.
the simple single-cycle MIPS processor described in section
4.4 of the
text (Figure 4.17), using the register file provided.
Logisim ROM for the instruction memory and a Logisim RAM for
memory (64 32-bit words for each should be
sufficient). Keep in
mind that a 64-word memory needs 6 bits of address
will use bits 2 through 7 of the byte address. You may
want to create additional
subcircuits, such as for the sign extension and shift 2, to
main circuit manageable. The provided register file
master clock of Logisim; you need to connect the
PC and data memory to the master clock.
you have built the processor, first test it on individual
initializiing one word of data memory and one word of
memory. Then try it on two
programs we have provided.
Due Thursday, November 29th
Mail your homework to firstname.lastname@example.org
mail CompArch -- Asgn 7
the circuit files needed (including those we provided) and your
data. These may be sent as separate attachments or a single
For extra credit
processor to use a single memory which holds both programs and
data. Modify the test programs accordingly and submit them
circuit has the following external connections:
|read sel0 (5 bits)
|read data0 (32 bits)
|read sel1 (5 bits)
|write sel (5 bits)
|read data1 (32 bits)
|write data (32 bits)