Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Your task is to implement a processor that can execute the following instructions: Operation Function performed Description load Rx , D Rx D Load constant
Your task is to implement a processor that can execute the following instructions:
Operation Function performed Description
load Rx D Rx D Load constant value D into Rx
mov Rx Ry Rx Ry Move contents of Ry into Rx
add Rx Ry Rx RxRy Add contents of Rx and Ry and put result into Rx
xor Rx Ry Rx Rx xor Ry Bitwise XOR contents of Rx and Ry and put result into Rx
The load instruction allows an nbit constant to be loaded into a register it is recommended to start with n Once
you add memory, extend this to n or n
The mov instruction allows data to be copied from one register to another.
The add and xor instructions perform addition and bitwise XOR functions on the two operands and places the result
back into the first operand.
The number of bits used to encode your instructions is up to you. It is recommended that you use at least or
instruction bits so that you can add additional instructions later. The number of registers in the processor is up to
you.
Do this is verilog
Implement each individual block in Verilog. To help demonstrators and collaborate within your group,
please ensure your FSM and Datapath are separate modules. Each should consist of several test modules.
Make a simple design first follow the mark scheme!
Once complete, enhance your processor to use memory to run programs. You will create an internal
synchronous RAM block for the processor. The RAM will need input ports for clock, write enable, bit
data input, write address, and read address. You can hardcode your program in this RAM to begin. It will
need an output port for reading a bit data output.
The size of the internal memory is up to you. Remember, there are speed tradeoffs involved when
implementing a larger memory. Also, your address width is dependent on the size of your memory.
Finally, modify the processor to include one extra register as the program counter, which will keep track of
your instruction address in memory.
Load or hardcode a program into your processor by changing the RAM Verilog so that the memory is
initialized to values corresponding to your program code.
Ideally, your final design should use Use Key as a clock signal and create a circuit to use the HEX to
display the contents of the register chosen by the switches if Switches Hex displays the hex value
for Reg if Switches Hex displays the hex value for Reg
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started