RAM设计

数字IC设计学习笔记

序列检测

1.  RAM设计

RAM设计

  • 问题描述
    设计实现一个512*8的双端口RAM
    RAM宽度8bit,RAM深度512,ADDR位宽:2^9=512

  • Verilog代码

module ram_dual(
	clk_r,
	clk_w,
	en_r,
	en_w,
	addr_r,
	addr_w.
	data_r,
	data_w
);
	parameter DLY = 1;
	parameter RAM_WIDTH = 8;
	parameter RAM_DEPTH = 512;
	parameter ADDR_WIDTH = 9;
	input						clk_r;
	input       				clk_w;
	input [RAM_WIDTH-1:0] 		data_w;	
	input [ADDR_WIDTH-1:0] 		addr_w;		
	input [ADDR_WIDTH-1:0] 		addr_r;		
	input						en_r;
	input						en_w;	
	output reg [RAM_WIDTH-1:0]  data_r;
	reg [RAM_WIDTH-1:0] mem [RAM_DEPTH-1:0];
//write operation
	always@(posedge clk_w)begin
		if(en_w)
			mem [addr_w]<= #DLY data_w;
	end
//read operation
	always@(posedge clk_r)begin
		if(en_r)
			data_r<= #DLY mem [addr_r];
	end

endmodule


【注】:个人学习笔记,如有错误,望不吝赐教,这厢有礼了~~~


  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值