SPI_Test/tb/testbench/awgreg_tb/awgreg_trans.sv

96 lines
2.9 KiB
Systemverilog

class awgreg_trans;
rand bit[2 :0] fb_st_i ;
rand bit[31 :0] run_time ;
rand bit[31 :0] instr_num ;
rand bit[31 :0] mcu_result0 ; // MCU result 0
rand bit[31 :0] mcu_result1 ; // MCU result 1
rand bit[31 :0] mcu_result2 ; // MCU result 2
rand bit[31 :0] mcu_result3 ; // MCU result 3
rand bit[31 :0] fb_st_i_time ;
rand bit[31 :0] run_time_time ;
rand bit[31 :0] instr_num_time ;
rand bit[31 :0] mcu_result0_time ; // MCU result 0
rand bit[31 :0] mcu_result1_time ; // MCU result 1
rand bit[31 :0] mcu_result2_time ; // MCU result 2
rand bit[31 :0] mcu_result3_time ; // MCU result 3
//output port
rand bit[31 :0] mcu_param0 ; // MCU parameter 0
rand bit[31 :0] mcu_param1 ; // MCU parameter 1
rand bit[31 :0] mcu_param2 ; // MCU parameter 2
rand bit[31 :0] mcu_param3 ; // MCU parameter 3
rand bit[2 :0] fb_st_o ;
rand bit mod_sel_sideband ; //1'b0:Upper sideband;1'b1:Lower sideband;
rand bit qam_nco_clr ;
rand bit[47 :0] qam_fcw ;
rand bit[15 :0] qam_pha ;
rand bit[1 :0] qam_mod ; //2'b00:bypass;2'b01:mix;2'b10:cos;2'b11:sin;
rand bit qam_sel_sideband ; //1'b0:Upper sideband;1'b1:Lower sideband;
rand bit[2 :0] intp_mode ; //3'b000:x1;3'b001:x2;3'b010:x4;3'b011:x8;3'b100:x16;
rand bit[1 :0] intp_sel ; //2'b00:HBF;2'b01:Nearest-neighbor interpolator;2'b10:Median interpolator;2'b00:reserve;
rand bit[1 :0] dac_mode_sel ; //2'b00:NRZ mode;2'b01:MIX mode;2'b10:2xNRZ mode;2'b00:reserve;
rand bit tc_bypass ; //1'b0:bypass;1'b1:enable;
rand bit[31 :0] tcparr0 ;
rand bit[31 :0] tcparr1 ;
rand bit[31 :0] tcparr2 ;
rand bit[31 :0] tcparr3 ;
rand bit[31 :0] tcparr4 ;
rand bit[31 :0] tcparr5 ;
rand bit[31 :0] tcpbrr0 ;
rand bit[31 :0] tcpbrr1 ;
rand bit[31 :0] tcpbrr2 ;
rand bit[31 :0] tcpbrr3 ;
rand bit[31 :0] tcpbrr4 ;
rand bit[31 :0] tcpbrr5 ;
rand bit[31 :0] tcpair0 ;
rand bit[31 :0] tcpair1 ;
rand bit[31 :0] tcpair2 ;
rand bit[31 :0] tcpair3 ;
rand bit[31 :0] tcpair4 ;
rand bit[31 :0] tcpair5 ;
rand bit[31 :0] tcpbir0 ;
rand bit[31 :0] tcpbir1 ;
rand bit[31 :0] tcpbir2 ;
rand bit[31 :0] tcpbir3 ;
rand bit[31 :0] tcpbir4 ;
rand bit[31 :0] tcpbir5 ;
constraint cstr {
fb_st_i_time >= 0 ;
run_time_time >= 0 ;
instr_num_time >= 0 ;
mcu_result0_time >= 0 ;
mcu_result1_time >= 0 ;
mcu_result2_time >= 0 ;
mcu_result3_time >= 0 ;
fb_st_i_time <= 2000 ;
run_time_time <= 2000 ;
instr_num_time <= 2000 ;
mcu_result0_time <= 2000 ;
mcu_result1_time <= 2000 ;
mcu_result2_time <= 2000 ;
mcu_result3_time <= 2000 ;
}
function new();
endfunction
endclass : awgreg_trans