1 Star 3 Fork 0

jmqian1009 / 多周期RISC-V CPU设计

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
DataMem.sv 1.27 KB
一键复制 编辑 原始数据 按行查看 历史
jmqian1009 提交于 2022-03-18 09:20 . 修复了算数右移的bug
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 2022/03/16 20:20:04
// Design Name:
// Module Name: DataMem
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module DataMem(
input logic clk,
input logic [31:0] A, //地址
input logic [31:0] WD, //要写入的数据
input logic [3:0] WE, //写使能(一个字节一位)
output logic [31:0] RD //读出的数据
);
parameter N = 4096;
logic [31:0] DMEM [0:N-1]; //数据存储器
//初始化
initial begin
for(int i=0;i<N;i++)
DMEM[i]=i;
end
//读数据
assign RD=DMEM[A[31:2]]; //数据读出
//写数据,下降沿写入
always_ff@(negedge clk)
begin
case(WE) //根据写使能信号将数据写入DMEM
4'b0001:DMEM[A[31:2]][7:0]<=WD[7:0];
4'b0011:DMEM[A[31:2]][15:0]<=WD[15:0];
4'b1111:DMEM[A[31:2]]<=WD;
default:;
endcase
end
endmodule
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/jmqian1009/multi-cycle-risc-v-cpu-design.git
git@gitee.com:jmqian1009/multi-cycle-risc-v-cpu-design.git
jmqian1009
multi-cycle-risc-v-cpu-design
多周期RISC-V CPU设计
master

搜索帮助