generate的用法
generate语句有generate_for、generate_if、generate_case三种语句
1、generate_for语句
注: (1)、必须使用genvar申明一个正整数变量,用作for循环的判断。(genvar是generate语句中的一种变量类型,用在generate_for中声明正整数变量。)
(2)、需要复制的语句必须写到begin_end语句里面。就算只有一句!!!!!!
(3)、begin_end需要有一个类似于模块名的名字。
genvar I; //使用generate for之前要用genvar声明一个正整数变量
generate for (I=0; I<NBITS; I=I+1) //generate for之后必须要有begin——end
begin : g1 //在begin之后要你的generate块取一个名字,比如这里的g1
assign prbs_xor_a[I] = prbs[I][POLY_TAP] ^ prbs[I][POLY_LENGHT];
assign prbs_xor_b[I] = prbs_xor_a[I] ^ data_in_i[I];
assign prbs_msb[I+1] = CHK_MODE == 0 ? prbs_xor_a[I] : data_in_i[I];
assign prbs[I+1] = {prbs_msb[I+1] , prbs[I][1:POLY_LENGHT-1]};
end