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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 5256|回复: 1

[求助] 求助,verilog中如何能够访问到寄存器数组中的某个元素

[复制链接]
发表于 2012-3-26 21:05:36 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 estyzq 于 2012-3-26 21:14 编辑

请问各位,
使用verilog语句,声明了一个寄存器数组
reg [7:0] buffer[18:0] ;
实际上就是一个19*8的缓存。
现需要对某个8bit单元中的某个bit进行赋值操作,不知道要怎么弄,是buffer[X][Y]如此的访问?

如果,需要对buffer中的某连续的64个bit,也就是8*8单元中的bit进行移位操作,是否也可以按照[X][Y]的方式进行,
如果,有个reg [5:0] cnt;可否这样访问buffer:buffer[cnt[5:4]][cnt[2:0]] <= signal_a ;
以前经常遇到这样的错误:buffer[cnt:cnt-2]<= 3'b000;错误理由就是buffer访问范围不固定,但是我上面的这种访问方式,其实也没固定下来,是不是说,只有在“:”符号两边不能出现变量?



我是初学者,求指导啊,有简便的方法吗?
发表于 2012-3-26 22:08:27 | 显示全部楼层
回复 1# estyzq


    第一种访问方式是可以的,你可以这样记,中括号里如果是索引可以有变量,但如果是位宽的话,就不可以了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

手机版| 小黑屋| 关于我们| 联系我们| 用户协议&隐私声明| 版权投诉通道| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 ) |网站地图

GMT+8, 2025-12-22 14:42 , Processed in 0.021614 second(s), 6 queries , Gzip On, Redis On.

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