Beruflich Dokumente
Kultur Dokumente
Brief Description
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.
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:
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.”