16 Bit Processor
16 Bit Processor
Abhishek M B1, Gopal2, Kabilan D3, Gangappa Sattapa Kurali4, K Rithesh5 and Bindu H M6
1
Department of Electronics and Communication Engineering
Dayananda Sagar College of Engineering
Bengaluru, India.
[email protected]
2
Department of Electronics and Telecommunication Engineering
Dayananda Sagar College of Engineering
Bengaluru, India.
[email protected]
3
Department of Electronics and Communication Engineering
Dayananda Sagar College of Engineering
Bengaluru, India.
[email protected]
4
Department of Electronics and Communication Engineering
Dayananda Sagar College of Engineering
Bengaluru, India.
[email protected]
5
Department of Electronics and Communication Engineering
Dayananda Sagar College of Engineering
Bengaluru, India.
[email protected]
6
Department of Electronics and Communication Engineering
Dayananda Sagar College of Engineering
Bengaluru, India.
[email protected]
Error detection systems provide reliability, and branch instructions such as BL LABEL im-
prove subroutine linkage.
The procedure entails establishing the design criteria for the processor, creating separate mod-
ules for the decoder, instruction memory, data memory, and processor, and then combining
these modules into a single, cohesive system. To make sure the CPU satisfies its design para-
meters and operates as intended, a thorough test bench is employed for testing and verifica -
tion.
The goal of this project is to serve as a teaching tool by on the complexities of processor
design and the real-world uses for Verilog in hardware development.
1 Introduction
The project provides a hands-on approach to learning the core ideas of processor
architecture and digital hardware design by focusing on the design and implementa-
tion of a simplified 16-bit processor using Verilog HDL [5].
2 Literature Survey
1. “Design of 16 Bit RISC Processor and Im This paper outlines a high-performance RISC microprocessor
plementation using MIPS Technique”, Ra with a five-stage pipeline, designed to swiftly execute a limited
kesh C R, Chetan S, J S Baligar. Scholars set of instructions. Utilizing Verilog HDL, ModelSim 6.4 c, an
Journal of Engineering and Technology, I d Xilinx tools, the design was simulated and synthesized, then
SSN 2347-9523 (Print) | ISSN 2321- implmented on an FPGA. Key features include the five pipe-
435X (Online). line stages and components like the ALU, Control Unit, and Pr
ogram Counter.
2. “Design of 16-bit RISC Processor”, Supr This paper presents a 16-bit RISC processor with separate me
aj Gaonkar, Anitha M. International Jour- mory for data and instructions. It supports 16 instructions, thre
nal of Engineering Research & Technol- e addressing modes, and has 16 general-purpose registers. The
ogy (IJERT) Vol. 2 Issue 7, July – 2013 I processor includes a 16-bit ALU for arithmetic and logical op-
SSN: 2278-0181. erations and flag registers for carry, zero, and parity. Designed
in Verilog, the processor was tested and integrated using Xil-
inx ISE 10.1 and Modelsim 10.2.
3. “Design of a 16-Bit Harvard Structure RI The project involves designing and implementing a 4-stage pip
SC Processor in Cadence 45nm Technol- elined RISC processor using MIPS architecture. It employs clo
ogy”, Chandran Venkatesan, Thabsera Su ck gating to reduce power consumption, increas-
lthana M, Sumithra M.G, Suriya M. 2019 ing system reliability and speed. The processor, coded in Ver-
5th International Conference on Ad- ilog HDL, covers stages from RTL to GDSII and uses Cadence
vanced Computing & Communication Sy tools to evaluate area, power, and delay with 45nm technology
stems (ICACCS). libraries.
4. “Design of a 16 Bit RISC Processor”, This paper describes the design of a 16-bit RISC processor us-
K. Vishnuvardhan Rao, A. Anita Ange- ing a custom approach. The design aims to enhance efficiency
line and V. S. Kanchana Bhaaskaran. In- by incorporating compressed instructions, which reduce area a
dian Journal of Science and Technology, nd power usage. Key components, including the Control Unit a
Vol 8(20). nd ALU, were designed and simulated using Cadence tools wit
4
Advantage: The Paper throws light into the design process of the 16-bit RISC
Processor and also explains how the 5-stage pipeline method can be integrated by
dividing the process into specific units during the operation. This pipeline method
shortens the execution time of instructions.
Disadvantage: The ALU can only do eight operations AND, NAND, OR, XOR,
Arithmetic & Shift operations. This limits the usability as it can perform only the
basic set of operations. The Processor can’t do advanced operations like Branch
Operations, ROR & ASR Shift Operations. And no error detection.
Disadvantage: The Processor uses only Jump for immediately change its execution
path to another part of the code but does not use the BL LABEL instruction which is
capable of subroutine linkage. It also lacks important instructions like Compare and
some modified instructions like Move top. And no error detection.
Advantage: The major drawback in portable devices was that it takes high power
which leads to less battery life and causes failure in silicon parts of the devices. So
always there is a trade off in VLSI circuits between systems area, power and delay.
This drawback has been reduced in this project by using 45nm Technology. Pipelin-
ing is also done which reduces the number of cycles of execution.
5
Disadvantage: The Model is incapable of doing Shift instructions like Barrel Shift
Operation and Push-Pop Instructions. This reduces its flexibility and its applications
in various aspects. In such cases it should be redesigned to suit such purposes. And
no error detection.
Advantage: The ALU can perform 16-bit Arithmetic and 16-bit Logical Operations.
It also contains several functional units like 16-bit Carry Look Ahead (CLA) unit,
16-bit Wallace Tree Multiplier unit, 16-bit Barrel Shifter. The function sub-blocks
are successfully integrated.
Disadvantage: Here the branching operation and error detection are not implemen-
ted. It’s also lacking application in some advanced operation.
4 Methodology
Design Specifications
FSM logic
Using different instructions and control signals define the 6 states of FSM (T0 to T5)
and their transitions.
Implement the registers for storing the intermediate values and results and also the
arithmetic and logical operations.
Bus wires are designed for transfer the data between the other parts of the proces -
sor.
The next step (‘Tstep_D’) id determined on the basis of current step(‘Tstep_Q’).
We load appropriate data into internal buses on the basis of select line.
Decoder
Implement 3-bit input (w) and 8-bit one encoded output (y) for decode the register
addresses when enable E is active [6, 8].
Register
Implement a 16 bit register with input as ‘Buswires’, ‘Resetn’, ‘r_in’, ‘Clock’,
‘pc_incr’, ‘sp_decr’, ‘sp_incr’. And output as 16-bit ‘r’.
If ‘Resetn’ is low the ‘r’ is set as 0x0000. If ‘r_in’ is high then load the value from
Bus wires into registers.
Else it checks the program counter (‘pc_incr’) if it is high increment the value of r
by 1. Else it checks the stack pointer decrement (‘sp_decr’) if it is high, decrement
the value of r by 1.
In last it checks the stack pointer increment (‘sp_incr’) if it is high, increment the
value of r by 1 [8].
Instruction memory
Define the inputs such as ‘Address’ of 16 bits, ‘data’ of 24 bit, write
enable(‘wren’), ‘IM’ and ‘clock’. And the output as ‘q’. Implement read and write
functionality based on these inputs, this is designed for selecting the multiple pre-
defined instruction sets [7].
Data memory
Define the inputs such as ‘Address’ of 16 bits, ‘data’ of 24 bit, ‘DM’, write en-
able(‘wren’) and ‘clock’. And the output as ‘q’ of 24 bit. Based on these we imple -
ment the read and write operations [1, 4].
7
Integration
Testing
This is the functionality verification of integrated system. Here we will verify the
integrated system by using testbench.
The testbench signals ‘Clock_tb’, ‘Resetn_tb’ and ‘Run_tb’ are initialized.
Start the processor by applying the reset. And implement a clock signal generator.
Run the simulation to observe the behavior and functionality of the designed pro-
cessor [9, 10].
5 Block Diagram
8
Fig. 1 & 2, show the block diagram, program counter and stack pointer.
6 Results
PUSH R1 D205
POP R3 B605
Table. 1 and Fig. 3, 4 & 5, show the instruction executed and its output.
13
7 References
1. Vladimir Herdt, Daniel Große, Pascal Pieper, Rolf Drechsler, “RISCV based virtual
prototype: An extensible and configurable platform for the system-level”, Journal of Systems
Architecture, Volume 109, 2020, 101756, ISSN13837621,
https://doi.org/10.1016/j.sysarc.2020.101756.[4]. Waterman Andrew, Asanović Krste (Eds.),
The RISC-V Instruction Set Manual; Volume II: Privileged Architecture, RISC-V Foundation
(2019).
8. Vivek Dubey, Prof Ravi Mohan, “Architecture for RISC Processor with CISC instruction”
International Journal of Engineering Research & Management Technology May-2014
Volume 1,Issue 3. Priyanka Trivedi, Rajan Prasad Tripathi, “Design & Analysis of 16 bit
RISC Processor Using low Power Pipelining”, International Conference on Computing,
Communication and Automation (ICCCA2015).
14
10. Trivedi P and Tripathi R 2015 Design & analysis of 16 bit RISC processor using low
power pipelining. In: Proceeding of International Conference on Computing, Communication
&Automation, pp. 1294–1297.