杭电计算机组成实验5(五)存储器设计实验

已开源在GitHub上,欢迎各位大佬给Star

仓库地址
网站

实验内容

1. 掌握灵活运用 Verilog HDL 进行各种描述与建模的技巧和方法
2. 学习在 ISE 中设计生成 Memory IP 核的方法
3. 学习存储器的结构及读写原理,掌握存储器的设计方法

解决方法

1. 分析一个 256x8 位的物理存储器,具有读 写功能,按字节编址,按字访问,
即 64x32 位。
2. 首先,给出的 8 位存储器地址,只按照高 6 位访问存储器,而低 2 位必须为
00
3. 我采用了两种方法进行设计存储器,首先是 MemoryIP 核
4. MemoryIP核只需按照书上步骤下来,贴几张步骤图,大家按照步骤下来

在这里插入图片描述
在这里插入图片描述
这里我选择的是同步存储器,由时钟控制;另一种是分布式存储器,不带时钟同步,也就是异步控制
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5. MemoryIP代码展示:

module RAM(
input [7:2]Mem_Addr,
input [1:0]MUX,		
input Mem_Write,			
input Clk,			
output reg [7:0]LED);
wire [31:0]M_R_Data;	
reg [31:0]M_W_Data;	
RAM_B your_instance_name (
  .clka(Clk), // input clka
  .wea(Mem_Write), // input [0 : 0] wea
  .addra(Mem_Addr), // input [5 : 0] addra
  .dina(M_W_Data), // input [31 : 0] dina
  .douta(M_R_Data) // output [31 : 0] douta
);
always @(*)
	begin
	LED = 0;
	M_W_Data = 0;
	if(Mem_Write)
		begin 
		case(MUX)  
			2'b00:	M_W_Data = 32'h0000_000F;
			2'b01:	M_W_Data = 32'h0000_0DB0;
			2'b10:	M_W_Data = 32'h003C_C381;
			2'b11:	M_W_Data = 32'hFFFF_FFFF;	
		endcase 
		end
	else
		begin
			case(MUX)
				2'b00:	LED = M_R_Data[7:0];
				2'b01:	LED = M_R_Data[15:8];
				2'b10:	LED = M_R_Data
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XdpCs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值