有没有见过这种用法的
wire [1:0] a, b, c;
parameter PW = 2;
//assign c[1:1] = a ^ b;
generate
genvar i;
for(i=0; i <= 1;i = i+1)begin : geniiii
assign c[ i : i ]
= ( (a ^ ( (b /*+ i[PW-1:0]*/) & {PW{1'b1}} ) ) == {1'b1, {PW-1{1'b0}}} );
end
endgenerate
赋值语句中i[PW-1:0],i作为genvar定义变量,还能这样用?ise无法综合。
此帖出自
小平头技术问答
1.循环次数确定
2.循环次数<64
for 在VERILOG中是不能综合的,VHLD 可以综合, 但写法不是C语言这种表现方法
而是
for i in 0 to 9 LOOP
需要的语句;
END LOOP
上面的语句等价于
产生上面的语句9分, 依次放在这个进程中!
沙发,谁说for不能综合的?只要是有限可确定的循环就可以综合,如下例逻辑复制:
genvar i;
generate
for(i = 0; i < 240; i = i + 1)
begin : pin_loop
pin_inout pin_inout_inst(
.indat ( dat_in ),
.indir ( io_dir ),
.outdat ( io_out ),
.outdatin ( dat_out )
);
end
endgenerate
endmodule
一周热门 更多>