Sie sind auf Seite 1von 2

ECEN 160: Final Project Design Notes

Brief Description

The final project is to design a 4 bit microprocessor using Logisim.

Much of the design for this microprocessor will be given here, but you must fill in some of the
"blanks" and make it work. Part of the learning experience of this final project is to solve
problems. Each student must construct their own circuit.

Design Description
A block diagram of the 4 bit microprocessor is given below.

Programming the Microprocessor

This microprocessor has an eight bit (byte) instruction word. Four bits of the instruction word
determine the operation that is to be performed (the opcode) and four bits of the instruction word
provide data for some of the instructions. All instructions require a valid opcode but only two of
the instructions use the four bits of data. The eight bit instructions are what get coded into the
Program PROM. The initial instruction set for the processor is:

Instruction Machine code


Description 4-bit opcode and 4-bit data
No Operation 0000 0000
Move # to Reg0 0001 xxxx (where xxxx is the data to load into Reg0)
Move # to Reg1 0010 xxxx (where xxxx is the data to load into Reg1)
Move Register to Display 0011 0000
Move Accum to Reg0 0100 0000
Move Accum to Reg1 0101 0000
ADD Reg0, Reg1 0110 0000
AND Reg0, Reg1 0111 0000
OR Reg0, Reg1 1000 0000
XOR Reg0, Reg1 1001 0000
Instruction Decoder Design

The instruction decoder is just one part (Logisim ROM). The input to the decoder is 4 binary bits
that are output from the Program PROM and are the OPCODE of the machine instruction. The
output of the instruction decoder consists of 7 binary bits that go to the rest of the processor
components to control what they do. The 7 output bits consist of (for the first phase of the
project):
Bit 0 = Register file write enable
Bit 1 = Register file address
Bit 2 = The ASCII display write enable
Bit 3 = The Register file source input selector – attaches to data MUX and selects
between the data from the program PROM or the output of the accumulator
Bit 4 = The accumulator (ALU register) write enable
Bits 5, 6 = Selector bits for the ALU functions

The truth table for this decoder has the following form:
Instruction Pins 6, 5 Pin 4 Pin 3 Pin 2 Pin 1 Pin 0
operation ALU Accum Reg Display Reg Reg
code Function WE Source WE Waddr WE
(opcode) Select Sel
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

You will need to figure out what each of these outputs really do and what values (0 or 1 mostly)
needs to be entered into the right hand side of this truth table. The contents of the right hand
side of the truth table will be coded into the instruction decoder (a 16 x 8-bit PROM [Logisim
ROM]) using hexadecimal. The left hand side of the truth table is the opcode of the instructions
that are defined for the processor. Thus, row “0000” corresponds to the instruction “No
Operation.”

Das könnte Ihnen auch gefallen