| 
 
| 本帖最后由 andyany 于 2010-9-15 14:16 编辑 
 做了一个数组操作的例子——
 
 module array1(clk, dout);
 input clk;
 output [3:0] dout;
 
 reg [3:0]data[3:0];
 reg [3:0]cnt;
 always@(posedge clk)
 if(cnt != 4'd14)
 cnt <= cnt + 4'd1;
 
 always@(posedge clk)begin
 data[cnt] <= cnt;
 dout <= data[cnt];
 end
 
 endmodule
 
 仿真发现输出全为X。
 有的书上说,数组元素的地址必须为常数表达式。
 按照新标准,reg为变量。因此错了。
 是这样吗?
 | 
 |