例如,我正在尝试构建静态优先级编码器, 0011101010 ------> 0010000000
基本上,索引值最高的索引应为1,其他索引的索引必须为零。
我已经用modelsim尝试了以下代码,但给出了错误提示:
**错误:“ for”附近:语法错误,意外发生
**错误:语法错误,意外的')',预期为';'
//代码******************************************* < / p>
integer i;
always_comb begin
priority case (1'b1)
for ( i=0; i<16 ; i=i+1 )
begin
in[15-i] : out= 16'd2**(15-i);
end
endcase
end
答案 0 :(得分:0)
在for
循环中没有用于生成案例项的语法。您只需要for
循环
always_comb begin
out = 0;
for (int i=15; i>=0 ; i-- )
if (in[i]) begin
out[i]= 1'b1;
break;
end
end