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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3590|回复: 10

请教一个寄存器组的问题

[复制链接]
发表于 2007-1-16 12:02:22 | 显示全部楼层 |阅读模式

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

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

x
请教个问题 我定义了一块寄存器组
reg [31:0] buffer [3:0];
wk都是8位的
想在同一个clk写数据
      always @(posedge clk)   buffer[3] <= #1 {wk0, wk1, wk2, wk3};
      always @(posedge clk)   buffer[2] <= #1 {wk4, wk5, wk6, wk7};
可不可以?  

功能仿真没有问题,但是综合提示有错
同时读几块数据是可以的?
发表于 2007-1-16 12:06:48 | 显示全部楼层
可仿真的代码和可综合的代码是有区别的
带指定延时时间的代码,综合器是无法在硬件中去对应具体器件和线路,所以无法综合吧
 楼主| 发表于 2007-1-16 12:13:44 | 显示全部楼层

回复 #2 fqing 的帖子

好像不是延时的问题
主要时能不能在同一个时钟延写多块数据
问题是可以同时读多块数据,但是不能同时写数据?
发表于 2007-1-16 12:28:38 | 显示全部楼层
通常来说,可综合的代码是不会那样带具体延时的,我没用过那样的综合器.

那就把你综合的错误提示贴上来,就一目了然了!~
发表于 2007-1-16 12:39:53 | 显示全部楼层
如果不考虑时延的信息,应该是没有问题的吧
 楼主| 发表于 2007-1-16 12:44:31 | 显示全部楼层
错误提示
Available block RAM resources offer a maximum of two write ports. You are apparently describing a RAM with 2 separae write ports for signal <buffer>.
发表于 2007-1-16 15:47:45 | 显示全部楼层
Available block RAM resources offer a maximum of two write ports. You are apparently describing a RAM with 2 separae write ports for signal <buffer>.

综合器把buffer当成了RAM,而你的代码里,在两个always里同时对buffer进行了操作,相当于该RAM有两个独立的写端口;而现成的RAM模块不支持两个独立的写端口;

应该如此吧
发表于 2007-1-16 16:21:11 | 显示全部楼层
不能在两个不同的行为描述中对统一寄存器变量赋值
试试
      always @(posedge clk)
       begin
               buffer[3] <= #1 {wk0, wk1, wk2, wk3};
               buffer[2] <= #1 {wk4, wk5, wk6, wk7};
        end
 楼主| 发表于 2007-1-17 09:56:31 | 显示全部楼层
就是写端口的问题
两个always下都写就产生问题了
autumanloo的方法解决
由于新手,对一些逻辑电路还很不熟悉
以后请大家多多指教
发表于 2007-11-4 21:29:21 | 显示全部楼层
嗯 。。。学习啦。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-13 00:53 , Processed in 0.039958 second(s), 9 queries , Gzip On, Redis On.

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