Design a simple microprocessor called Custom-ARM which is a simple 16-bit single-cycle processor that implements a custom instruction set. The processor should consist of the following four main components: - A register file - An Arithmetic and Logic Unit (ALU) - A read-only instruction memory (IMEM) - A read/write data memory (DMEM) This processor has 8 registers (R0-R7) and the program code is stored as 22-bit instructions in the IMEM. The processor implements three types of instructions, an instruction format example for 22-bit instructions is shown at Table 1. Some instruction examples are shown at Table 2. A-) Design the instruction format for your 22-bit instructions for each type of instruction shown in Table 1. Different types of instructions with various parameter types (register and immediate) should be supported in your designs. - Design four types of data processing instructions that are such as EOR, RSB, ADC, SBC, RSC, TST, TEQ, CMN, BIC, MVN, ... - Design two types of memory instructions, one load and one store operation. - Design two types of branch instructions, one B and one BL operation. - See ARM-REFERENCE for more information about the instructions. B-) Design your own ALU to support the instructions in your microprocessor more efficiently. You should add the four new data processing operations designed at step (a) to the ALU which implements ADD, SUB, AND and ORR operations. You can draw only the new additions/changes to the ALU C-) Design and draw the datapath of the Custom-ARM processor by introducing connections to the components listed below. Show necessary control signals from the Control Unit. Data Path Components: Program Counter: One 16-bit register Register File: 8 registers that hold 16-bit Instruction Memory: 16-bit address input, and outputs 22-bit Data Memory: 16-bit read/write memory ALU: Performs arithmetic and logical operations D-) Design the control unit of the Custom-ARM processor. The Control Unit generates necessary signals to the datapath. Show boolean functions for each signal at Main Decoder and ALU Decoder tables of the control unit. Check single-cycle ARM processor design in the lecture slides to design the signals such as MemToReg, MemWrite, RegWrite, ALUSrc, Branch …
Design a simple microprocessor called Custom-ARM which is a simple 16-bit single-cycle
processor that implements a custom instruction set.
The processor should consist of the following four main components:
- A register file
- An Arithmetic and Logic Unit (ALU)
- A read-only instruction memory (IMEM)
- A read/write data memory (DMEM)
This processor has 8 registers (R0-R7) and the program code is stored as 22-bit instructions in the IMEM. The processor implements three types of instructions, an instruction format example for 22-bit instructions is shown at Table 1. Some instruction examples are shown at Table 2.
A-) Design the instruction format for your 22-bit instructions for each type of instruction shown in Table 1. Different types of instructions with various parameter types (register and immediate) should be supported in your designs.
- Design four types of data processing instructions that are such as EOR, RSB, ADC, SBC, RSC, TST, TEQ, CMN, BIC, MVN, ...
- Design two types of memory instructions, one load and one store operation.
- Design two types of branch instructions, one B and one BL operation.
- See ARM-REFERENCE for more information about the instructions.
B-) Design your own ALU to support the instructions in your microprocessor more efficiently. You should add the four new data processing operations designed at step (a) to the ALU which implements ADD, SUB, AND and ORR operations. You can draw only the new additions/changes to the ALU
C-) Design and draw the datapath of the Custom-ARM processor by introducing connections to the components listed below. Show necessary control signals from the Control Unit.
Data Path Components:
Program Counter: One 16-bit register
Register File: 8 registers that hold 16-bit
Instruction Memory: 16-bit address input, and outputs 22-bit
Data Memory: 16-bit read/write memory
ALU: Performs arithmetic and logical operations
D-) Design the control unit of the Custom-ARM processor. The Control Unit generates necessary signals to the datapath. Show boolean functions for each signal at Main Decoder and ALU Decoder tables of the control unit. Check single-cycle ARM processor design in the lecture slides to design the signals such as MemToReg, MemWrite, RegWrite, ALUSrc, Branch …
Step by step
Solved in 2 steps with 1 images