Question: Objective: The primary objective of this project to write behavioral model of a bare minimum computer system DaVinci v 1 . 0 supporting instruction set

Objective: The primary objective of this project to write behavioral model of a bare minimum computer system DaVinci v1.0 supporting instruction set cs147DV.
To implement a behavioral model of a computer system with a 32-bit processor and 256MB memory (Double word (32-bit) addressable 64M address). The processor supports the instruction set cs147DV as described in lecture 01.
To implement test for the implemented system DaVinci v1.0.
Outcome: Fully functional processor supporting instruction set of 'CS147DV' instruction set.
Fully functional 64MB memory model with data pre-loading capability.
Fully functional system integrating memory and the processor. We call this bare minimum computer system as DaVinci v1.0.
Full testing of DaVinci v1.0 with small program using cs147DV instruction set.
Complete behavioral model of REGISTER_FILE_32x32 in register_file.v
Review MEMORY_64MB in memory.v to understand how to describe register file.Only a few behavior change from memory.Test your implementation by simulating RF_TB block.
Complete behavioral model of CONTROL_UNIT in control_unit.v
Test your implementation by simulating DA_VINCI_TB.This simulation will create following files in OUTPUT directory.
fibonacci_mem_dump..datRevFib_mem_dump.dat
// Name: register_file.v
// Module: REGISTER_FILE_32x32
// Input: DATA_W : Data to be written at address ADDR_W
// ADDR_W : Address of the memory location to be written
// ADDR_R1 : Address of the memory location to be read for DATA_R1
// ADDR_R2 : Address of the memory location to be read for DATA_R2
// READ : Read signal
// WRITE : Write signal
// CLK : Clock signal
// RST : Reset signal
// Output: DATA_R1 : Data at ADDR_R1 address
// DATA_R2 : Data at ADDR_R1 address
//
// Notes: -32 bit word accessible dual read register file having 32 regsisters.
//- Reset is done at -ve edge of the RST signal
//- Rest of the operation is done at the +ve edge of the CLK signal
//- Read operation is done if READ=1 and WRITE=0
//- Write operation is done if WRITE=1 and READ=0
//- X is the value at DATA_R* if both READ and WRITE are 0 or 1
//
// Revision History:
//
// Version Date Who email note
//------------------------------------------------------------------------------------------
//1.0 Sep 10,2014 Kaushik Patra kpatra@sjsu.edu Initial creation
//------------------------------------------------------------------------------------------
//
`include "prj_definition.v"
module REGISTER_FILE_32x32(DATA_R1, DATA_R2, ADDR_R1, ADDR_R2,
DATA_W, ADDR_W, READ, WRITE, CLK, RST);
// input list
input READ, WRITE, CLK, RST;
input [`DATA_INDEX_LIMIT:0] DATA_W;
input [`REG_ADDR_INDEX_LIMIT:0] ADDR_R1, ADDR_R2, ADDR_W;
// output list
output [`DATA_INDEX_LIMIT:0] DATA_R1;
output [`DATA_INDEX_LIMIT:0] DATA_R2;
always @ (negedge RST or posedge CLK)
begin
// TBD: Code for the register file model
end
endmodule

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!