verilog高手进,求助
时间:10-02
整理:3721RD
点击:
定义如下:
wire[8:0] dout;
reg[287:0] u;
reg[4:0] a;
在某个状态里a【i】《=u【dout】是什么意思
wire[8:0] dout;
reg[287:0] u;
reg[4:0] a;
在某个状态里a【i】《=u【dout】是什么意思
应该是将u的第dout位(将其表示的数值转换为10进制)的值赋予a的第i位
不过个人感觉这种写法还是软件思想偏重啊
a是5bits,u为288bits,a[i] <= u[dout] 表示将u的第dout比特赋值给a的第i比特;
例如:i = 2 ;dout = 5;u = 288‘d33;
那么,执行a[i] <= u[dout]后,a[2] = 1'b1;
从上面的字面理解是这样的,仿真应该也没问题,但是综合出来的电路会很大,这是一个很大的组合逻辑。
好好看看Verilog语言,感觉小编还是受到了C语言思想的影响!
对楼上的两位说的很对,这样严重不符合硬件语言的逻辑
硬件设计的时候要考虑到实际的电路,不能按照c语言的思路来
