Skip to content
Snippets Groups Projects
Commit d7ac4b2f authored by Priest's avatar Priest
Browse files

Added entities dp_bsn_monitor and diag_data_buffer and changed unb1_ctrl accordingly

parent b937c977
No related branches found
No related tags found
No related merge requests found
......@@ -23,22 +23,16 @@
-- Purpose:
-- . Test Compaan's capability of inter-FPGA communication
LIBRARY IEEE, common_lib, unb1_board_lib, dp_lib, eth_lib, tech_tse_lib, diag_lib, tr_10GbE_lib, technology_lib;
LIBRARY IEEE, common_lib, unb1_board_lib, dp_lib, diag_lib, technology_lib;
use IEEE.STD_LOGIC_1164.ALL;
USE IEEE.NUMERIC_STD.ALL;
USE common_lib.common_pkg.ALL;
USE common_lib.common_str_pkg.ALL;
USE common_lib.common_mem_pkg.ALL;
USE common_lib.common_network_layers_pkg.ALL;
USE common_lib.common_interface_layers_pkg.ALL;
USE unb1_board_lib.unb1_board_pkg.ALL;
USE unb1_board_lib.unb1_board_peripherals_pkg.ALL;
USE dp_lib.dp_stream_pkg.ALL;
USE tech_tse_lib.tech_tse_pkg.ALL;
USE eth_lib.eth_pkg.ALL;
USE common_lib.common_network_layers_pkg.ALL;
USE diag_lib.diag_pkg.ALL;
USE common_lib.common_field_pkg.ALL;
USE technology_lib.technology_pkg.ALL;
ENTITY compaan_io_test_bn IS
......@@ -100,6 +94,8 @@ ARCHITECTURE str OF compaan_io_test_bn IS
-- General
CONSTANT c_fw_version : t_unb1_board_fw_version := (1, 0);
CONSTANT c_block_size : NATURAL := 8;
CONSTANT c_gap_size : NATURAL := 3000;
CONSTANT c_nof_blocks_per_sync : NATURAL := 200000;
CONSTANT c_use_1GbE : BOOLEAN := TRUE;
CONSTANT c_use_phy : t_c_unb1_board_use_phy := (sel_a_b(g_sim, 0, 1), 0, 0, 0, 0, 0, 0, 1);
-- Terminal
......@@ -122,7 +118,10 @@ ARCHITECTURE str OF compaan_io_test_bn IS
CONSTANT c_term_rx_fifo_size : NATURAL := c_bram_m9k_fifo_depth;
CONSTANT c_term_rx_fifo_fill : NATURAL := 0;
CONSTANT c_term_rx_timeout_w : NATURAL := 0;
-- BSN Monitor
CONSTANT c_nof_bsn_mon_streams : NATURAL := 2;
CONSTANT c_bsn_mon_timeout : NATURAL := (c_block_size+c_gap_size)*c_nof_blocks_per_sync*10/8;
-----------------------------------------------------------------------------
-- SIGNALS
-----------------------------------------------------------------------------
......@@ -164,6 +163,10 @@ ARCHITECTURE str OF compaan_io_test_bn IS
SIGNAL TEST_FIFO_FULL : STD_LOGIC_VECTOR(1 DOWNTO 0);
SIGNAL TEST_BLOCK_RD : STD_LOGIC_VECTOR(2 DOWNTO 0);
-- BSN monitor
SIGNAL bsn_monitor_snk_in_arr : t_dp_sosi_arr(c_nof_bsn_mon_streams-1 DOWNTO 0);
SIGNAL bsn_monitor_snk_out_arr : t_dp_siso_arr(c_nof_bsn_mon_streams-1 DOWNTO 0) := (OTHERS=> c_dp_siso_rdy);
-- MM interface
-- . Terminal
SIGNAL reg_tr_nonbonded_mosi : t_mem_mosi;
......@@ -172,7 +175,15 @@ ARCHITECTURE str OF compaan_io_test_bn IS
SIGNAL reg_diagnostics_miso : t_mem_miso;
-- . Compaan
SIGNAL reg_compaan_mosi : t_mem_mosi;
SIGNAL reg_compaan_miso : t_mem_miso;
SIGNAL reg_compaan_miso : t_mem_miso;
-- . Databuffer
SIGNAL ram_diag_data_buffer_mosi : t_mem_mosi;
SIGNAL ram_diag_data_buffer_miso : t_mem_miso;
SIGNAL reg_diag_data_buffer_mosi : t_mem_mosi;
SIGNAL reg_diag_data_buffer_miso : t_mem_miso;
-- . BSN Monitor
SIGNAL reg_bsn_monitor_mosi : t_mem_mosi;
SIGNAL reg_bsn_monitor_miso : t_mem_miso;
-- . UNB1 Cntrl
SIGNAL reg_wdi_mosi : t_mem_mosi;
SIGNAL reg_wdi_miso : t_mem_miso;
......@@ -288,7 +299,8 @@ BEGIN
-----------------------------------------------------------------------------
u_compaan_design: ENTITY work.compaan_wrapper
GENERIC MAP(
g_blocks_per_sync => c_block_size
g_blocks_per_sync => c_nof_blocks_per_sync,
g_blocksize => c_block_size
)
PORT MAP(
-- Streaming sink
......@@ -323,6 +335,61 @@ BEGIN
END GENERATE;
END GENERATE;
-----------------------------------------------------------------------------
-- Databuffer
-----------------------------------------------------------------------------
u_diag_data_buffer : ENTITY diag_lib.mms_diag_data_buffer
GENERIC MAP (
g_nof_streams => c_nof_streams,
g_data_w => c_term_data_w,
g_buf_nof_data => 1024,
g_buf_use_sync => FALSE
)
PORT MAP (
mm_rst => mm_rst,
mm_clk => mm_clk,
dp_rst => dp_rst,
dp_clk => dp_clk,
ram_data_buf_mosi => ram_diag_data_buffer_mosi,
ram_data_buf_miso => ram_diag_data_buffer_miso,
reg_data_buf_mosi => reg_diag_data_buffer_mosi,
reg_data_buf_miso => reg_diag_data_buffer_miso,
in_sync => compaan_snk_in_arr(3).sync,
in_sosi_arr => compaan_snk_in_arr(3 DOWNTO 3)
);
-----------------------------------------------------------------------------
-- BSN monitor
-----------------------------------------------------------------------------
u_dp_bsn_monitor: ENTITY dp_lib.mms_dp_bsn_monitor
GENERIC MAP (
g_nof_streams => c_nof_bsn_mon_streams,
g_cross_clock_domain => TRUE,
g_sync_timeout => c_bsn_mon_timeout,
g_cnt_sop_w => ceil_log2(c_nof_blocks_per_sync+1),
g_cnt_valid_w => ceil_log2(c_nof_blocks_per_sync*c_block_size+1),
g_log_first_bsn => TRUE
)
PORT MAP (
mm_rst => mm_rst,
mm_clk => mm_clk,
reg_mosi => reg_bsn_monitor_mosi,
reg_miso => reg_bsn_monitor_miso,
dp_rst => dp_rst,
dp_clk => dp_clk,
in_siso_arr => bsn_monitor_snk_out_arr,
in_sosi_arr => bsn_monitor_snk_in_arr
);
bsn_monitor_snk_in_arr(0) <= compaan_snk_in_arr(3);
bsn_monitor_snk_out_arr(0) <= compaan_snk_out_arr(3);
bsn_monitor_snk_in_arr(1) <= compaan_src_out_arr(3);
bsn_monitor_snk_out_arr(1) <= compaan_src_in_arr(3);
-----------------------------------------------------------------------------
-- UNB1 Control
-----------------------------------------------------------------------------
......@@ -357,7 +424,7 @@ BEGIN
dp_rst => dp_rst,
dp_clk => dp_clk,
dp_pps => OPEN,
dp_pps => dp_pps,
dp_rst_in => dp_rst,
dp_clk_in => dp_clk,
......@@ -428,37 +495,43 @@ BEGIN
g_sim_node_nr => g_sim_node_nr
)
PORT MAP(
mm_clk => mm_clk,
mm_rst => mm_rst,
pout_wdi => pout_wdi,
reg_wdi_mosi => reg_wdi_mosi,
reg_wdi_miso => reg_wdi_miso,
reg_unb_system_info_mosi => reg_unb_system_info_mosi,
reg_unb_system_info_miso => reg_unb_system_info_miso,
rom_unb_system_info_mosi => rom_unb_system_info_mosi,
rom_unb_system_info_miso => rom_unb_system_info_miso,
reg_unb_sens_mosi => reg_unb_sens_mosi,
reg_unb_sens_miso => reg_unb_sens_miso,
reg_ppsh_mosi => reg_ppsh_mosi,
reg_ppsh_miso => reg_ppsh_miso,
eth1g_mm_rst => eth1g_mm_rst,
eth1g_reg_interrupt => eth1g_reg_interrupt,
eth1g_ram_mosi => eth1g_ram_mosi,
eth1g_ram_miso => eth1g_ram_miso,
eth1g_reg_mosi => eth1g_reg_mosi,
eth1g_reg_miso => eth1g_reg_miso,
eth1g_tse_mosi => eth1g_tse_mosi,
eth1g_tse_miso => eth1g_tse_miso,
reg_epcs_mosi => reg_epcs_mosi,
reg_epcs_miso => reg_epcs_miso,
reg_remu_mosi => reg_remu_mosi,
reg_remu_miso => reg_remu_miso,
reg_diagnostics_mosi => reg_diagnostics_mosi,
reg_diagnostics_miso => reg_diagnostics_miso,
reg_tr_nonbonded_mosi => reg_tr_nonbonded_mosi,
reg_tr_nonbonded_miso => reg_tr_nonbonded_miso,
reg_compaan_mosi => reg_compaan_mosi,
reg_compaan_miso => reg_compaan_miso
mm_clk => mm_clk,
mm_rst => mm_rst,
pout_wdi => pout_wdi,
reg_wdi_mosi => reg_wdi_mosi,
reg_wdi_miso => reg_wdi_miso,
reg_unb_system_info_mosi => reg_unb_system_info_mosi,
reg_unb_system_info_miso => reg_unb_system_info_miso,
rom_unb_system_info_mosi => rom_unb_system_info_mosi,
rom_unb_system_info_miso => rom_unb_system_info_miso,
reg_unb_sens_mosi => reg_unb_sens_mosi,
reg_unb_sens_miso => reg_unb_sens_miso,
reg_ppsh_mosi => reg_ppsh_mosi,
reg_ppsh_miso => reg_ppsh_miso,
eth1g_mm_rst => eth1g_mm_rst,
eth1g_reg_interrupt => eth1g_reg_interrupt,
eth1g_ram_mosi => eth1g_ram_mosi,
eth1g_ram_miso => eth1g_ram_miso,
eth1g_reg_mosi => eth1g_reg_mosi,
eth1g_reg_miso => eth1g_reg_miso,
eth1g_tse_mosi => eth1g_tse_mosi,
eth1g_tse_miso => eth1g_tse_miso,
reg_epcs_mosi => reg_epcs_mosi,
reg_epcs_miso => reg_epcs_miso,
reg_remu_mosi => reg_remu_mosi,
reg_remu_miso => reg_remu_miso,
reg_diag_data_buffer_mosi => reg_diag_data_buffer_mosi,
reg_diag_data_buffer_miso => reg_diag_data_buffer_miso,
ram_diag_data_buffer_mosi => ram_diag_data_buffer_mosi,
ram_diag_data_buffer_miso => ram_diag_data_buffer_miso,
reg_bsn_monitor_mosi => reg_bsn_monitor_mosi,
reg_bsn_monitor_miso => reg_bsn_monitor_miso,
reg_diagnostics_mosi => reg_diagnostics_mosi,
reg_diagnostics_miso => reg_diagnostics_miso,
reg_tr_nonbonded_mosi => reg_tr_nonbonded_mosi,
reg_tr_nonbonded_miso => reg_tr_nonbonded_miso,
reg_compaan_mosi => reg_compaan_mosi,
reg_compaan_miso => reg_compaan_miso
);
END str;
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment