MAKAUT Class Notes For Engineering
MAKAUT Class Notes For Engineering
IMPLEMENTATION OF A 32-
BIT RISC MICROPROCESSOR
NAME: SAGNIKA MITRA
ROLL NO.- 18731722010
SUBJECT CODE: PCC-CS-302
STREAM: CSE-CYBER SECURITY
SEMESTER: 3RD
INTRODUCTION:
• The design and implementation of a 32-bit Reduced Instruction Set Computer (RISC)
processor: The system architecture is illustrated together with the test bench
waveforms for the various CPU components.
• Cost and performance of components in the implementation domain are major
concerns for computer engineering and computer design. The goal of a Reduced
Instruction Set Computer (RISC) is to lessen both the quantity and complexity of the
machine's instructions. In this study, a low-cost 32-bit RISC processor has been
designed, synthesized, and some of its components have been implemented and
tested on Xilinx FPGA. For synthesis and simulation, ModelSim and the Webpack from
Xilinx have been used.
SYSTEM ARCHITECTURE AND DESIGN
OF THE CONTROL UNIT:
The CPU has a built in ROM which enables us to program simple code and execute it. It is
a basic 16x32 ROM and it is 32bit aligned. The List of signals in the ROM are:
1. Address: address sent by the control unit
2. data_out: the data that is contained the given address
3. read: the signal to enable reading from the ROM
4. ready: the signal to indicate when the ROM is ready for reading
5. clk: the main clock signal
6. reset: the initial reset sign
RESULTS:
Results of the Simulation:
In this section we are going to show some test bench waveforms that will verify the working operation of our
RISC Processor. Throughout the simulation, 5 primary signals are shown. The sim clock signal, which runs at 50
Mhz, is the simulation's clock. The instruction fetch signal indicates when the control unit requests data from the
ROM. The instruction address 32-bit bus contains the address of the instruction that is being fetched. The
instruction data 32-bit bus contains the data that is sent out from the ROM. The reset state is enabled for 3.5
cycles to give all units time to reset and initialise. After that, we can see the first instruction starting This is the
shift version of the word "SHW. Figure 5 displays the simulated results of the ALU when we try to add the values
(44 + 22). We send the add operation's opcode (33) through the ALUCL signal, and the outcome (66) is displayed
in the alu_output_32bit bus. Our RAM is a 16 slot array of 32 bit vectors, and the following data are stored in the
RAM for simulation purposes: "0x12345678" is stored in location "00," and "0x11133344" is stored in location
"04." Figure 6 shows the testbench waveform for the Memory Unit. The Register File Unit's simulation results are
displayed in Figure.7. In this simulation, we demonstrate how to send data to a specific register in the file and
store it, we tried to store the value‘48’ into register 2, thereg_test signal shows any data written to the input port
of the register file.
THANKING YOU