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 @@ ...@@ -23,22 +23,16 @@
-- Purpose: -- Purpose:
-- . Test Compaan's capability of inter-FPGA communication -- . 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.STD_LOGIC_1164.ALL;
USE IEEE.NUMERIC_STD.ALL; USE IEEE.NUMERIC_STD.ALL;
USE common_lib.common_pkg.ALL; USE common_lib.common_pkg.ALL;
USE common_lib.common_str_pkg.ALL; USE common_lib.common_str_pkg.ALL;
USE common_lib.common_mem_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_pkg.ALL;
USE unb1_board_lib.unb1_board_peripherals_pkg.ALL; USE unb1_board_lib.unb1_board_peripherals_pkg.ALL;
USE dp_lib.dp_stream_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 diag_lib.diag_pkg.ALL;
USE common_lib.common_field_pkg.ALL;
USE technology_lib.technology_pkg.ALL; USE technology_lib.technology_pkg.ALL;
ENTITY compaan_io_test_bn IS ENTITY compaan_io_test_bn IS
...@@ -100,6 +94,8 @@ ARCHITECTURE str OF compaan_io_test_bn IS ...@@ -100,6 +94,8 @@ ARCHITECTURE str OF compaan_io_test_bn IS
-- General -- General
CONSTANT c_fw_version : t_unb1_board_fw_version := (1, 0); CONSTANT c_fw_version : t_unb1_board_fw_version := (1, 0);
CONSTANT c_block_size : NATURAL := 8; 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_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); 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 -- Terminal
...@@ -122,7 +118,10 @@ ARCHITECTURE str OF compaan_io_test_bn IS ...@@ -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_size : NATURAL := c_bram_m9k_fifo_depth;
CONSTANT c_term_rx_fifo_fill : NATURAL := 0; CONSTANT c_term_rx_fifo_fill : NATURAL := 0;
CONSTANT c_term_rx_timeout_w : 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 -- SIGNALS
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
...@@ -164,6 +163,10 @@ ARCHITECTURE str OF compaan_io_test_bn IS ...@@ -164,6 +163,10 @@ ARCHITECTURE str OF compaan_io_test_bn IS
SIGNAL TEST_FIFO_FULL : STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL TEST_FIFO_FULL : STD_LOGIC_VECTOR(1 DOWNTO 0);
SIGNAL TEST_BLOCK_RD : STD_LOGIC_VECTOR(2 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 -- MM interface
-- . Terminal -- . Terminal
SIGNAL reg_tr_nonbonded_mosi : t_mem_mosi; SIGNAL reg_tr_nonbonded_mosi : t_mem_mosi;
...@@ -172,7 +175,15 @@ ARCHITECTURE str OF compaan_io_test_bn IS ...@@ -172,7 +175,15 @@ ARCHITECTURE str OF compaan_io_test_bn IS
SIGNAL reg_diagnostics_miso : t_mem_miso; SIGNAL reg_diagnostics_miso : t_mem_miso;
-- . Compaan -- . Compaan
SIGNAL reg_compaan_mosi : t_mem_mosi; 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 -- . UNB1 Cntrl
SIGNAL reg_wdi_mosi : t_mem_mosi; SIGNAL reg_wdi_mosi : t_mem_mosi;
SIGNAL reg_wdi_miso : t_mem_miso; SIGNAL reg_wdi_miso : t_mem_miso;
...@@ -288,7 +299,8 @@ BEGIN ...@@ -288,7 +299,8 @@ BEGIN
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
u_compaan_design: ENTITY work.compaan_wrapper u_compaan_design: ENTITY work.compaan_wrapper
GENERIC MAP( 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( PORT MAP(
-- Streaming sink -- Streaming sink
...@@ -323,6 +335,61 @@ BEGIN ...@@ -323,6 +335,61 @@ BEGIN
END GENERATE; END GENERATE;
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 -- UNB1 Control
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
...@@ -357,7 +424,7 @@ BEGIN ...@@ -357,7 +424,7 @@ BEGIN
dp_rst => dp_rst, dp_rst => dp_rst,
dp_clk => dp_clk, dp_clk => dp_clk,
dp_pps => OPEN, dp_pps => dp_pps,
dp_rst_in => dp_rst, dp_rst_in => dp_rst,
dp_clk_in => dp_clk, dp_clk_in => dp_clk,
...@@ -428,37 +495,43 @@ BEGIN ...@@ -428,37 +495,43 @@ BEGIN
g_sim_node_nr => g_sim_node_nr g_sim_node_nr => g_sim_node_nr
) )
PORT MAP( PORT MAP(
mm_clk => mm_clk, mm_clk => mm_clk,
mm_rst => mm_rst, mm_rst => mm_rst,
pout_wdi => pout_wdi, pout_wdi => pout_wdi,
reg_wdi_mosi => reg_wdi_mosi, reg_wdi_mosi => reg_wdi_mosi,
reg_wdi_miso => reg_wdi_miso, reg_wdi_miso => reg_wdi_miso,
reg_unb_system_info_mosi => reg_unb_system_info_mosi, reg_unb_system_info_mosi => reg_unb_system_info_mosi,
reg_unb_system_info_miso => reg_unb_system_info_miso, reg_unb_system_info_miso => reg_unb_system_info_miso,
rom_unb_system_info_mosi => rom_unb_system_info_mosi, rom_unb_system_info_mosi => rom_unb_system_info_mosi,
rom_unb_system_info_miso => rom_unb_system_info_miso, rom_unb_system_info_miso => rom_unb_system_info_miso,
reg_unb_sens_mosi => reg_unb_sens_mosi, reg_unb_sens_mosi => reg_unb_sens_mosi,
reg_unb_sens_miso => reg_unb_sens_miso, reg_unb_sens_miso => reg_unb_sens_miso,
reg_ppsh_mosi => reg_ppsh_mosi, reg_ppsh_mosi => reg_ppsh_mosi,
reg_ppsh_miso => reg_ppsh_miso, reg_ppsh_miso => reg_ppsh_miso,
eth1g_mm_rst => eth1g_mm_rst, eth1g_mm_rst => eth1g_mm_rst,
eth1g_reg_interrupt => eth1g_reg_interrupt, eth1g_reg_interrupt => eth1g_reg_interrupt,
eth1g_ram_mosi => eth1g_ram_mosi, eth1g_ram_mosi => eth1g_ram_mosi,
eth1g_ram_miso => eth1g_ram_miso, eth1g_ram_miso => eth1g_ram_miso,
eth1g_reg_mosi => eth1g_reg_mosi, eth1g_reg_mosi => eth1g_reg_mosi,
eth1g_reg_miso => eth1g_reg_miso, eth1g_reg_miso => eth1g_reg_miso,
eth1g_tse_mosi => eth1g_tse_mosi, eth1g_tse_mosi => eth1g_tse_mosi,
eth1g_tse_miso => eth1g_tse_miso, eth1g_tse_miso => eth1g_tse_miso,
reg_epcs_mosi => reg_epcs_mosi, reg_epcs_mosi => reg_epcs_mosi,
reg_epcs_miso => reg_epcs_miso, reg_epcs_miso => reg_epcs_miso,
reg_remu_mosi => reg_remu_mosi, reg_remu_mosi => reg_remu_mosi,
reg_remu_miso => reg_remu_miso, reg_remu_miso => reg_remu_miso,
reg_diagnostics_mosi => reg_diagnostics_mosi, reg_diag_data_buffer_mosi => reg_diag_data_buffer_mosi,
reg_diagnostics_miso => reg_diagnostics_miso, reg_diag_data_buffer_miso => reg_diag_data_buffer_miso,
reg_tr_nonbonded_mosi => reg_tr_nonbonded_mosi, ram_diag_data_buffer_mosi => ram_diag_data_buffer_mosi,
reg_tr_nonbonded_miso => reg_tr_nonbonded_miso, ram_diag_data_buffer_miso => ram_diag_data_buffer_miso,
reg_compaan_mosi => reg_compaan_mosi, reg_bsn_monitor_mosi => reg_bsn_monitor_mosi,
reg_compaan_miso => reg_compaan_miso 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; 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