Professional Documents
Culture Documents
METHODOLOGY
METHODOLOGY
Design Specifications
Specify the working and requirements of the processor.
Designing the 16-bit processor with data and instruction memory.
The instruction sets like arithmetic operations, error checker and logical operations
are designed.
Design two separate instruction and data memory modules.
Design the Finite State Machine (FSM) as control logic to control the execution steps.
2. Decoder
Implement 3-bit input (w) and 8-bit one encoded output (y) for decode the register
addresses when enable E is active.
3. 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.
4. 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.
5. Data memory
Define the inputs such as ‘Address’ of 16 bits, ‘data’ of 24 bit, ‘DM’, write
enable(‘wren’) and ‘clock’. And the output as ‘q’ of 24 bit. Based on these we
implement the read and write operations.
Integration
Define the top processor module as “processor_top_module_new_harv_err_ctr1”, in
which we will integrate the individual modules to form a core system.
Model the processor, instruction memory and data memory modules, and connect the
internal signals by ‘DIN1’, ‘DIN2’, ‘DOUT’, ‘ADDR’, ‘IM’, ‘DM’, ‘W_D’ and
‘err_process_mem’.
The output of instruction and data memory are merged to form single input ‘DIN’ to
the processor.
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 behaviour and functionality of the designed
processor.
Block Diagram