定义了一个 integer i;
always @ (posedge clk or negedge rst)
begin
for (i=0;i<7;i=i+1)
begin
encode[55-i*7:52-i*7]<=data_in[31-i*4:28-i*4];
end
end
报错:Quartus Error : i is not a constant
Modelsim :Range must be bounded by constant expressions.
高手请指教,不胜感激涕零!
回复 楼主 eeleader 的帖子
不知道你这段代买是来自测试文件呢,还是被测文件。
如果是被测文件,我质疑这个模块能综合么?想想看,它的电路是什么样的,怎样才能实现这样的逻辑?估计是不行的。
一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
reg [2:0] i;
always @ (posedge clk or negedge rst)
begin
i<=i+1;
end
always @ (posedge clk or negedge rst)
begin
encode[55-i*7:52-i*7]<=data_in[31-i*4:28-i*4];
end
http://item.taobao.com/item.htm?id=12366456386
Arduino 兼容的 maple
wire [55:0] encode_wire;
reg [55:0] encode;
genvar i;
generate
for(i=0;i<7;i=i+1)
begin : loop
assign encode_wire[55-i*7:52-i*7] = data_in[31-i*4:28-i*4];
end
endgenerate
always @ (posedge clk)
begin
encode <= encode_wire;
end