求助: for 循环的问题

2019-03-25 09:45发布

定义了一个 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.
高手请指教,不胜感激涕零! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
fuyaolong
2019-03-25 23:19
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

一周热门 更多>