[求助] verliog高手进

zcspring   2011-12-1 19:15 楼主
定义如下
wire[8:0] dout;
reg[287:0] u;
reg[4:0] a;

在某个状态里a<=u[dout];
求问这个a<=u[dout];是什么意思?

***a【i】《=u【dout】 [ 本帖最后由 zcspring 于 2011-12-1 19:17 编辑 ]

回复评论 (7)

U相当于一个数组,a<=u[dout]就是把dout地址处的U值用非阻塞赋值的方式给a
点赞  2011-12-1 19:18
这个U的定义应该是 reg [4:0] u [287:0] 才对。。。。
点赞  2011-12-1 19:24

回复 板凳 唐俊 的帖子

要是那样定义了,就明了了
这样说吧,这是编码的一个程序,u是码字,dout是其中一个矩阵的输出端
点赞  2011-12-1 19:27
case(dout)
。。。:a<=u;
这样的编码可以么,你那个我是不理解了,等高手求解
点赞  2011-12-1 19:38

回复 5楼 唐俊 的帖子

谢了,同等高手
点赞  2011-12-1 19:41

回复 楼主 zcspring 的帖子

你这个是用来综合的代码吗?如果就仿真在语法上没问题,综合应该不行。这个写法和C的数组是一个样子的。不过好像你等号的左右位宽不一致。
点赞  2011-12-3 09:51

回复 楼主 zcspring 的帖子

楼主的写法是有问题的,不能被综合,只能仿真,下面的用case写的应该可以。你的这种写法在systemverilog里面有个叫paked和unpaked的概念你可以去看看,就是位宽放变量前还是后。在内存的存法不同,其他应该一样。
点赞  2011-12-3 10:01
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复