From 38b0a3d5b08bd6ca41b73a6efb79d54c423634cb Mon Sep 17 00:00:00 2001 From: Daniel van der Schuur <schuur@astron.nl> Date: Fri, 29 May 2015 12:25:27 +0000 Subject: [PATCH] -Added block generators. --- .../src/vhdl/apertif_unb1_fn_bf_emu.vhd | 39 ++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/vhdl/apertif_unb1_fn_bf_emu.vhd b/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/vhdl/apertif_unb1_fn_bf_emu.vhd index 168edf1c17..dcde96cc62 100644 --- a/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/vhdl/apertif_unb1_fn_bf_emu.vhd +++ b/applications/apertif/designs/apertif_unb1_fn_bf_emu/src/vhdl/apertif_unb1_fn_bf_emu.vhd @@ -18,7 +18,7 @@ -- along with this program. If not, see <http://www.gnu.org/licenses/>. -- ------------------------------------------------------------------------------- -LIBRARY IEEE, common_lib, unb1_board_lib, dp_lib, technology_lib, io_ddr_lib, eth_lib, tech_tse_lib, bf_lib, tech_ddr_lib, tr_10GbE_lib, reorder_lib; +LIBRARY IEEE, common_lib, unb1_board_lib, dp_lib, technology_lib, io_ddr_lib, eth_lib, tech_tse_lib, bf_lib, tech_ddr_lib, tr_10GbE_lib, reorder_lib, diag_lib; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.NUMERIC_STD.ALL; USE common_lib.common_pkg.ALL; @@ -37,6 +37,7 @@ USE tech_tse_lib.tech_tse_pkg.ALL; USE tech_tse_lib.tb_tech_tse_pkg.ALL; USE reorder_lib.reorder_pkg.ALL; USE bf_lib.bf_pkg.ALL; +USE diag_lib.diag_pkg.ALL; ENTITY apertif_unb1_fn_bf_emu IS GENERIC ( @@ -126,6 +127,18 @@ ARCHITECTURE str OF apertif_unb1_fn_bf_emu IS SIGNAL pout_debug_wave : STD_LOGIC_VECTOR(c_word_w-1 DOWNTO 0); SIGNAL pout_wdi : STD_LOGIC; + -- Block generator + CONSTANT c_bg_block_size : NATURAL := 256; + CONSTANT c_bg_gapsize : NATURAL := 0; + CONSTANT c_bg_blocks_per_sync : NATURAL := 781250; + CONSTANT c_bg_ctrl : t_diag_block_gen := (sel_a_b(g_sim, '1', '0'), -- enable: On by default in simulation; MM enable required on hardware. + '0', -- enable_sync + TO_UVEC( c_bg_block_size, c_diag_bg_samples_per_packet_w), + TO_UVEC(c_bg_blocks_per_sync, c_diag_bg_blocks_per_sync_w), + TO_UVEC( c_bg_gapsize, c_diag_bg_gapsize_w), + TO_UVEC( 0, c_diag_bg_mem_low_adrs_w), + TO_UVEC( c_bg_block_size-1, c_diag_bg_mem_high_adrs_w), + TO_UVEC( 0, c_diag_bg_bsn_init_w)); -- Interface: 10GbE CONSTANT c_nof_10GbE_offload_streams : NATURAL := 1; CONSTANT c_pkt_len : NATURAL := 176; -- Let tr_10GbE FIFO buffer one full packet before releasing it @@ -374,6 +387,30 @@ BEGIN SI_FN_2_CNTRL => SI_FN_2_CNTRL, SI_FN_3_CNTRL => SI_FN_3_CNTRL ); + + ----------------------------------------------------------------------------- + -- Block generators: one for every BF unit (4) + ----------------------------------------------------------------------------- + u_mms_diag_block_gen : ENTITY diag_lib.mms_diag_block_gen + GENERIC MAP ( + g_nof_streams => 4, + g_buf_dat_w => 16, + g_buf_addr_w => 256, + g_file_name_prefix => "hex/bg_data", + g_diag_block_gen_rst => c_bg_ctrl + ) + PORT MAP ( + mm_rst => mm_rst, + mm_clk => mm_clk, + + dp_rst => dp_rst, + dp_clk => dp_clk, + + reg_bg_ctrl_mosi => reg_diag_bg_mosi, + reg_bg_ctrl_miso => reg_diag_bg_miso, + + out_sosi_arr => dp_offload_tx_snk_in_arr + ); ----------------------------------------------------------------------------- -- DP offload TX : BF out -> 10GbE -- GitLab