在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3072|回复: 4

[求助] RAM

[复制链接]
发表于 2011-9-21 13:59:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
很简单的一个RAM:

`define DATAWIDTH 64
`define ADDWIDTH 64
module RAM(Data,ADD,WREN,CLK,Q
    );
input [`DATAWIDTH-1:0] Data;
input [`ADDWIDTH-1:0] ADD;
input WREN;
input CLK;
output reg [`DATAWIDTH-1:0] Q;

reg [`DATAWIDTH-1:0]memory[`ADDWIDTH-1:0];

always@(posedge CLK)
begin
Q<=memory[ADD];
end

always@(posedge CLK)
begin
if(WREN==1)
begin
memory[ADD]<=Data;
end
end

endmodule

但是有如下warning:
WARNING:Xst:647 - Input <ADD<63:5>> is never used.求助
 楼主| 发表于 2011-9-22 00:26:33 | 显示全部楼层
求助啊
发表于 2011-9-22 00:54:28 | 显示全部楼层
这是个warning,先不用管。。。更严重的是读写没隔离啊。。。。应该只用一个always block的。
发表于 2011-9-22 08:39:34 | 显示全部楼层
reg [`DATAWIDTH-1:0]memory[`ADDWIDTH-1:0];

memory的深度被定义为64,所以memory[ADD]中ADD只需用到其低6位即可
ADD[63:6]在程序中是用不到的
 楼主| 发表于 2011-9-23 03:36:24 | 显示全部楼层
回复 4# qlengyu

恩,我才反应过来……谢啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-3 09:19 , Processed in 0.023213 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表