shift_reg#(.depth(i+1),.neg_clk(1),.inferred(1),.init(1))sr(clk,a[i],e,/*l*/,z[i],/* state */);
end
`elsifTEST7
// Check that use of resets block shreg
shift_reg#(.depth(`N),.er_is_reset(1))pos_clk_no_enable_no_init_not_inferred_with_reset(clk,a[1],r,/*l*/,z[0],/* state */);
shift_reg#(.depth(`N),.neg_clk(1),.inferred(1),.init(1),.er_is_reset(1))neg_clk_no_enable_with_init_with_inferred_with_reset(clk,a[2],r,/*l*/,z[1],/* state */);
shift_reg#(.depth(`N),.er_is_reset(1))pos_clk_no_enable_no_init_not_inferred_with_reset_var_len(clk,a[2],r,l[$clog2(`N)-1:0],z[2],/* state */);
shift_reg#(.depth(`N),.neg_clk(1),.inferred(1),.init(1),.er_is_reset(1))neg_clk_no_enable_with_init_with_inferred_with_reset_var_len(clk,a[3],r,l[$clog2(`N)-1:0],z[3],/* state */);
assignz[`N-1:4]='b0;// Suppress no driver warning
`elsifTEST8
// Check multi-bit works
(*keep*)
shift_reg#(.depth(`N),.width(`N))pos_clk_no_enable_no_init_not_inferred_N_width(clk,a,r,/*l*/,z,/* state */);
`elsifTEST9
(*keep*)
shift_reg#(.depth(`N),.width(`N),.neg_clk(1),.inferred(1),.init(1))neg_clk_no_enable_with_init_with_inferred_N_width(clk,a,r,/*l*/,z,/* state */);
shift_reg#(.depth(i+2),.neg_clk(1),.inferred(1),.init(1),.fixed_length(0))sr(clk,a[i],e,l[$clog2(i+2)-1:0],z[i],/* state */);
end
`elsifTEST12
for(i=0;i<`N;i=i+1)begin:lfsr
lfsr#(.len(i+3))sr(clk,z[i]);
end
`elsifTEST13
// Check that non chain users block SRLs
// (i.e. output port, in non flattened case)
shift_reg#(.depth(`N),.output_index(0))sr_fixed_length_other_users_port(clk,a[0],r,/*l*/,z[0],/* state */);
shift_reg#(.depth(`N),.neg_clk(1),.inferred(1),.init(1),.fixed_length(0),.output_index(0))sr_var_length_other_users_port(clk,a[1],e,l[$clog2(`N)-1:0],z[1],/* state */);
shift_reg#(.depth(`N),.output_xor(1))sr_fixed_length_other_users_xor(clk,a[2],r,/*l*/,z[2],/* state */);
shift_reg#(.depth(`N),.neg_clk(1),.inferred(1),.init(1),.fixed_length(0),.output_xor(1))sr_var_length_other_users_xor(clk,a[3],e,l[$clog2(`N)-1:0],z[3],/* state */);