Question: Your Memory Components will have the following interfaces / / The address bus is large enough that each module can contain a local address decode.
Your Memory Components will have the following interfaces
The address bus is large enough that each module can contain a local address decode. This will save on multiple enables.
for now have each module dedicated to an address line. A more generic solution would be to decode the upper bits and have a specific range. Use all address bits : in decode.
bits : are used to memory map each peripheral
main memory
Instruction memory
Matrix ALU
Integer ALU
Internal Register
execution engine
bit are for addressing inside each unit.
nWrite means databus is being written into on the falling edge of write
nRead means it is expected to drive the databus while this signal is low and the address is correct until the nRead goes high independent of address bus.
module InstructionMemoryClk Dataout, address, nRead, nReset;
input logic nRead, nReset, Clk;
input logic : address;
output logic : Dataout;
instruction memory parameters. To be loaded into instruction memory at nreset ;
parameter Instructh ;
Add the number at memory location to location store in a temporary register register
parameter Instructh ;
Subtract the first matrix from the result in step and store the result somewhere else in memory.
parameter Instructh ;
Transpose the result from step store in memory
parameter Instructh ff;
Scale the result in step by the result from step store in a matrix register
parameter Instructh ;
Multiply the result from step by the result in step store in memory.
parameter Instructh ;
Multiply memory location to location Store it in memory location A
parameter Instructh A;
Subtract Memory from memory location A and store it in a register
parameter Instructh A;
Divide Memory location A by the register in step and store it in location B
parameter Instructh BA;
STOP
parameter Instructh ffffffff;
module MainMemoryClk DataOut,DataIn, address, nRead, nWrite, nReset;
input logic nRead, nWrite, nReset, Clk;
input logic : address;
input logic : Datain;
output logic : Dataout;
memory module top module
module top ;
logic : InstructDataOut;
logic : MemDataOut;
logic : TestDataOut;
logic nRead,nWrite,nReset,Clk;
logic : address;
InstructionMemory UClkInstructDataOut, address, nRead,nReset;
MainMemory UClkMemDataOut,TestDataOut, address, nRead,nWrite, nReset;
TestMem UTestClknRead,nWrite,nReset,address,TestDataOut, InstructDataOut, MemDataOut;
initial begin setup to allow waveforms for edaplayground
$dumpfiledumpvcd;
$dumpvars;
end
endmodule
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
