CONSTANTc_nof_tchan_per_sync:NATURAL:=g_nof_tchan_per_sync;-- [t_c], is 12500, choose > number of taps of WPFB to simulate longer than the FIR impulse response
CONSTANTc_nof_points:NATURAL:=64;-- [tc], is 64
-- . DUT TP [t][bu_i][ti]
-- [t][bu_i][t_c][tc]
CONSTANTc_nof_points:NATURAL:=64;-- [tc]
CONSTANTc_nof_channels:NATURAL:=c_nof_points;-- [ch] = [tc], is 64
CONSTANTc_nof_tsub_per_sync:NATURAL:=c_nof_tchan_per_sync*c_nof_points;-- [ti] = [t_c][tc] = [t_c][ch], is N_int = 12500 * 64 = 800000, is 10 * 64 = 640 in tb
CONSTANTc_nof_blocks_per_sync:NATURAL:=c_nof_beamlets*c_nof_tchan_per_sync;-- [bu_i][t_c], is 2 * 10 = 20 in tb, 88 * 12500 = 1100000 in 8b, 1500000 in 6b beamlet mode
CONSTANTc_interleave_factor:NATURAL:=2;-- [pair], is 2
-- Offload header write dst MAC just to check the MM address order (top down list is 36 DOWNTO 0)
proc_mem_mm_bus_wr(35,16#0000DCEF#,mm_clk,reg_dp_offload_tx_hdr_dat_miso,reg_dp_offload_tx_hdr_dat_mosi);-- dst mac hi
proc_mem_mm_bus_wr(34,16#56789ABC#,mm_clk,reg_dp_offload_tx_hdr_dat_miso,reg_dp_offload_tx_hdr_dat_mosi);-- dst mac lo
-- Prepare force data
IFc_tp_force_zeroTHEN
-- Write force data 0 to TP c_sel_tp
-- stream reg data
-- 0 0 [0] R/W force enable or default disable for data pass on
-- 0 1 [31:0] R/W force sosi data
-- 0 2 [31:0] R/W force sosi re
-- 0 3 [31:0] R/W force sosi im
-- 1 4:7 idem
proc_mem_mm_bus_wr(c_tp_sel*4+0,1,mm_clk,reg_dp_force_data_parallel_miso,reg_dp_force_data_parallel_mosi);-- force enable
proc_mem_mm_bus_wr(c_tp_sel*4+1,0,mm_clk,reg_dp_force_data_parallel_miso,reg_dp_force_data_parallel_mosi);-- force data = 0 (no increment fixed by generic)
proc_mem_mm_bus_wr(c_tp_sel*4+2,0,mm_clk,reg_dp_force_data_parallel_miso,reg_dp_force_data_parallel_mosi);-- force re = 0 (no increment fixed by generic)
proc_mem_mm_bus_wr(c_tp_sel*4+3,0,mm_clk,reg_dp_force_data_parallel_miso,reg_dp_force_data_parallel_mosi);-- force im = 0 (no increment fixed by generic)
ENDIF;
-- -- Write force data 0 to TP c_sel_tp
-- -- stream reg data
-- -- 0 0 [0] R/W force enable or default disable for data pass on
-- proc_mem_mm_bus_wr(c_tp_sel*4 + 1, 0, mm_clk, reg_dp_force_data_parallel_miso, reg_dp_force_data_parallel_mosi); -- force data = 0 (no increment fixed by generic)
-- proc_mem_mm_bus_wr(c_tp_sel*4 + 2, 0, mm_clk, reg_dp_force_data_parallel_miso, reg_dp_force_data_parallel_mosi); -- force re = 0 (no increment fixed by generic)
-- proc_mem_mm_bus_wr(c_tp_sel*4 + 3, 0, mm_clk, reg_dp_force_data_parallel_miso, reg_dp_force_data_parallel_mosi); -- force im = 0 (no increment fixed by generic)