class mcureg_trans; rand bit[3 :0] wrmask ; rand bit[2 :0] fb_st_info ; rand bit[31 :0] run_time ; rand bit[31 :0] instr_num ; rand bit[31 :0] mcu_param[3:0] ; // MCU parameter 0~3 rand bit[31 :0] wrmask_time ; rand bit[31 :0] fb_st_info_time ; rand bit[31 :0] run_time_time ; rand bit[31 :0] instr_num_time ; rand bit[31 :0] mcu_param_time[3:0] ; rand bit[31 :0] mcu_result [3:0] ; // MCU result 0~3 rand bit[31 :0] mcu_cwfr [3:0] ; // Carrier frequency ctrl word 0~3 rand bit[31 :0] mcu_gapr [7:0] ; // Carrier phase ctrl word 0~3 rand bit[31 :0] mcu_ampr [3:0] ; // Carrier Amplitude 0~3 rand bit[31 :0] mcu_baisr [3:0] ; // Carrier Bais 0~3 rand bit[1 :0] mcu_intp_sel ; //2'b00:HBF;2'b01:Nearest-neighbor interpolator; rand bit mcu_nco_pha_clr ; rand bit[15 :0] mcu_rz_pha ; constraint cstr { wrmask == 4'b1111 ; wrmask_time >= 0 ; fb_st_info_time >= 0 ; run_time_time >= 0 ; instr_num_time >= 0 ; mcu_param_time[0] >= 0 ; mcu_param_time[1] >= 0 ; mcu_param_time[2] >= 0 ; mcu_param_time[3] >= 0 ; wrmask_time <= 2000 ; fb_st_info_time <= 2000 ; run_time_time <= 2000 ; instr_num_time <= 2000 ; mcu_param_time[0] <= 2000 ; mcu_param_time[1] <= 2000 ; mcu_param_time[2] <= 2000 ; mcu_param_time[3] <= 2000 ; } function new(); endfunction endclass : mcureg_trans