diff --git a/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/hdllib.cfg b/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/hdllib.cfg index b6635f0812ab15dd46ff0b7f7b45a10b446e172e..068a40afbf0e5001201b389d3c085e9ca2b75a47 100644 --- a/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/hdllib.cfg +++ b/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/hdllib.cfg @@ -1,6 +1,6 @@ hdl_lib_name = lofar2_unb2b_ring_bsp hdl_library_clause_name = lofar2_unb2b_ring_bsp_lib -hdl_lib_uses_synth = common technology dp unb2b_board ta2_unb2b_10GbE ta2_unb2b_mm_io +hdl_lib_uses_synth = common technology dp unb2b_board diag ta2_unb2b_channel_cross ta2_unb2b_10GbE ta2_unb2b_mm_io hdl_lib_uses_sim = hdl_lib_technology = ip_arria10_e1sg hdl_lib_include_ip = diff --git a/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/ip/freeze_wrapper.v b/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/ip/freeze_wrapper.v index 9639737bc72915462bc02275777c82ba7fb51f62..3eb75ddc144edaf2173e074718473495d0d72e63 100755 --- a/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/ip/freeze_wrapper.v +++ b/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/ip/freeze_wrapper.v @@ -145,7 +145,7 @@ module freeze_wrapper( input [255:0] board_kernel_register_mem_readdata, output [255:0] board_kernel_register_mem_writedata, output [31:0] board_kernel_register_mem_byteenable - +); //======================================================= // pr_region instantiation //======================================================= diff --git a/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/ip/pr_region.v b/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/ip/pr_region.v index 8eefdba6129fc33c0383f2deb41fc78b5534b415..84122659265f2bbdf6c3535044b142b632570788 100755 --- a/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/ip/pr_region.v +++ b/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/ip/pr_region.v @@ -140,10 +140,8 @@ module pr_region ( output wire kernel_stream_src_lane_ready, output wire [71:0] kernel_stream_snk_lane_data, output wire kernel_stream_snk_lane_valid, - input wire kernel_stream_snk_lane_ready, - - - + input wire kernel_stream_snk_lane_ready +); wire [11:0] kernel_system_register_mem_address; wire kernel_system_register_mem_write; wire kernel_system_register_mem_read; diff --git a/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/top.vhd b/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/top.vhd index b35f32e5fbaa93d9b1fe333e1ec6cb59933a260e..523ddd4f91180b302b2be99b061f446200e7c490 100644 --- a/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/top.vhd +++ b/applications/ta2/bsp/hardware/lofar2_unb2b_ring_bsp/top.vhd @@ -31,7 +31,7 @@ -- . M&C -- -------------------------------------------------------------------------- -LIBRARY IEEE, common_lib, unb2b_board_lib, technology_lib, dp_lib, ta2_unb2b_channel_cross, ta2_unb2b_10gbe_lib, ta2_unb2b_mm_io_lib; +LIBRARY IEEE, common_lib, unb2b_board_lib, technology_lib, dp_lib, diag_lib, ta2_unb2b_channel_cross_lib, ta2_unb2b_10gbe_lib, ta2_unb2b_mm_io_lib; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.NUMERIC_STD.ALL; USE common_lib.common_pkg.ALL; @@ -44,17 +44,18 @@ USE work.top_components_pkg.ALL; ENTITY top IS GENERIC ( - g_design_name : STRING := "lofar2_unb2b_ring_bsp"; - g_design_note : STRING := "UNUSED"; - g_technology : NATURAL := c_tech_arria10_e1sg; - g_sim : BOOLEAN := FALSE; --Overridden by TB - g_sim_unb_nr : NATURAL := 0; - g_sim_node_nr : NATURAL := 0; - g_stamp_date : NATURAL := 0; -- Date (YYYYMMDD) -- set by QSF - g_stamp_time : NATURAL := 0; -- Time (HHMMSS) -- set by QSF - g_revision_id : STRING := ""; -- revision_id, commit hash (first 9 chars) or number - g_factory_image : BOOLEAN := FALSE; - g_protect_addr_range: BOOLEAN := FALSE + g_design_name : STRING := "lofar2_unb2b_ring_bsp"; + g_design_note : STRING := "UNUSED"; + g_technology : NATURAL := c_tech_arria10_e1sg; + g_sim : BOOLEAN := FALSE; --Overridden by TB + g_sim_unb_nr : NATURAL := 0; + g_sim_node_nr : NATURAL := 0; + g_stamp_date : NATURAL := 0; -- Date (YYYYMMDD) -- set by QSF + g_stamp_time : NATURAL := 0; -- Time (HHMMSS) -- set by QSF + g_revision_id : STRING := ""; -- revision_id, commit hash (first 9 chars) or number + g_factory_image : BOOLEAN := FALSE; + g_protect_addr_range : BOOLEAN := FALSE; + g_nof_lanes : POSITIVE := 1 -- must be in range 1 - 8 ); PORT ( -- GENERAL @@ -114,10 +115,14 @@ ARCHITECTURE str OF top IS CONSTANT c_ring_bus_w : NATURAL := c_unb2b_board_tr_ring.bus_w; CONSTANT c_nof_streams_ring : NATURAL := c_unb2b_board_tr_ring.bus_w*c_nof_ring_bus; + CONSTANT c_nof_even_ring_lanes : NATURAL := ceil_div(g_nof_lanes, 2); + CONSTANT c_nof_odd_ring_lanes : NATURAL := g_nof_lanes/2; + CONSTANT c_nof_qsfp_lanes : NATURAL := c_nof_even_ring_lanes; + -- 10GbE - CONSTANT c_nof_10GbE_ring_IP : NATURAL := 8; - CONSTANT c_nof_10GbE_qsfp_IP : NATURAL := 4; - + CONSTANT c_nof_10GbE_ring_IP : NATURAL := c_nof_even_ring_lanes+c_nof_odd_ring_lanes; + CONSTANT c_nof_10GbE_qsfp_IP : NATURAL := c_nof_qsfp_lanes; + -- Firmware version x.y CONSTANT c_fw_version : t_unb2b_board_fw_version := (1, 1); CONSTANT c_mm_clk_freq : NATURAL := c_unb2b_board_mm_clk_freq_100M; @@ -198,6 +203,16 @@ ARCHITECTURE str OF top IS SIGNAL reg_remu_mosi : t_mem_mosi; SIGNAL reg_remu_miso : t_mem_miso; + -- Remote Update + SIGNAL ram_scrap_mosi : t_mem_mosi; + SIGNAL ram_scrap_miso : t_mem_miso; + + -- Block Gen + SIGNAL reg_bg_ctrl_mosi : t_mem_mosi; + SIGNAL reg_bg_ctrl_miso : t_mem_miso; + SIGNAL ram_bg_data_mosi : t_mem_mosi; + SIGNAL ram_bg_data_miso : t_mem_miso; + -- MM IO SIGNAL reg_ta2_unb2b_mm_io_mosi : t_mem_mosi; SIGNAL reg_ta2_unb2b_mm_io_miso : t_mem_miso; @@ -245,27 +260,27 @@ ARCHITECTURE str OF top IS SIGNAL board_kernel_irq_irq : std_logic_vector(0 downto 0); - SIGNAL board_kernel_register_mem_address : std_logic_vector(6 downto 0); := (others => '0'); -- address - SIGNAL board_kernel_register_mem_clken : std_logic; := '0'; -- clken - SIGNAL board_kernel_register_mem_chipselect : std_logic; := '0'; -- chipselect - SIGNAL board_kernel_register_mem_write : std_logic; := '0'; -- write + SIGNAL board_kernel_register_mem_address : std_logic_vector(6 downto 0) := (others => '0'); -- address + SIGNAL board_kernel_register_mem_clken : std_logic := '0'; -- clken + SIGNAL board_kernel_register_mem_chipselect : std_logic := '0'; -- chipselect + SIGNAL board_kernel_register_mem_write : std_logic := '0'; -- write SIGNAL board_kernel_register_mem_readdata : std_logic_vector(255 downto 0); -- readdata - SIGNAL board_kernel_register_mem_writedata : std_logic_vector(255 downto 0); := (others => '0'); -- writedata - SIGNAL board_kernel_register_mem_byteenable : std_logic_vector(31 downto 0); := (others => '0'); -- byteenable - - SIGNAL ta2_unb2b_10GbE_ring_src_out_arr : t_dp_sosi_arr(c_nof_10GbE_ring_IP-1 DOWNTO 0); - SIGNAL ta2_unb2b_10GbE_ring_src_in_arr : t_dp_siso_arr(c_nof_10GbE_ring_IP-1 DOWNTO 0); - SIGNAL ta2_unb2b_10GbE_ring_snk_out_arr : t_dp_siso_arr(c_nof_10GbE_ring_IP-1 DOWNTO 0); - SIGNAL ta2_unb2b_10GbE_ring_snk_in_arr : t_dp_sosi_arr(c_nof_10GbE_ring_IP-1 DOWNTO 0); - SIGNAL ta2_unb2b_10GbE_ring_tx_serial_r : STD_LOGIC_VECTOR(c_nof_10GbE_ring_IP -1 DOWNTO 0); - SIGNAL ta2_unb2b_10GbE_ring_rx_serial_r : STD_LOGIC_VECTOR(c_nof_10GbE_ring_IP -1 DOWNTO 0); - - SIGNAL ta2_unb2b_10GbE_qsfp_src_out_arr : t_dp_sosi_arr(c_nof_10GbE_qsfp_IP-1 DOWNTO 0); - SIGNAL ta2_unb2b_10GbE_qsfp_src_in_arr : t_dp_siso_arr(c_nof_10GbE_qsfp_IP-1 DOWNTO 0); - SIGNAL ta2_unb2b_10GbE_qsfp_snk_out_arr : t_dp_siso_arr(c_nof_10GbE_qsfp_IP-1 DOWNTO 0); - SIGNAL ta2_unb2b_10GbE_qsfp_snk_in_arr : t_dp_sosi_arr(c_nof_10GbE_qsfp_IP-1 DOWNTO 0); - SIGNAL ta2_unb2b_10GbE_qsfp_tx_serial_r : STD_LOGIC_VECTOR(c_nof_10GbE_qsfp_IP -1 DOWNTO 0); - SIGNAL ta2_unb2b_10GbE_qsfp_rx_serial_r : STD_LOGIC_VECTOR(c_nof_10GbE_qsfp_IP -1 DOWNTO 0); + SIGNAL board_kernel_register_mem_writedata : std_logic_vector(255 downto 0) := (others => '0'); -- writedata + SIGNAL board_kernel_register_mem_byteenable : std_logic_vector(31 downto 0) := (others => '0'); -- byteenable + + SIGNAL ta2_unb2b_10GbE_ring_src_out_arr : t_dp_sosi_arr(c_nof_streams_ring-1 DOWNTO 0) := (OTHERS => c_dp_sosi_rst); + SIGNAL ta2_unb2b_10GbE_ring_src_in_arr : t_dp_siso_arr(c_nof_streams_ring-1 DOWNTO 0) := (OTHERS => c_dp_siso_rst); + SIGNAL ta2_unb2b_10GbE_ring_snk_out_arr : t_dp_siso_arr(c_nof_streams_ring-1 DOWNTO 0) := (OTHERS => c_dp_siso_rst); + SIGNAL ta2_unb2b_10GbE_ring_snk_in_arr : t_dp_sosi_arr(c_nof_streams_ring-1 DOWNTO 0) := (OTHERS => c_dp_sosi_rst); + SIGNAL ta2_unb2b_10GbE_ring_tx_serial_r : STD_LOGIC_VECTOR(c_nof_streams_ring -1 DOWNTO 0); + SIGNAL ta2_unb2b_10GbE_ring_rx_serial_r : STD_LOGIC_VECTOR(c_nof_streams_ring -1 DOWNTO 0); + + SIGNAL ta2_unb2b_10GbE_qsfp_src_out_arr : t_dp_sosi_arr(c_nof_streams_qsfp-1 DOWNTO 0) := (OTHERS => c_dp_sosi_rst); + SIGNAL ta2_unb2b_10GbE_qsfp_src_in_arr : t_dp_siso_arr(c_nof_streams_qsfp-1 DOWNTO 0) := (OTHERS => c_dp_siso_rst); + SIGNAL ta2_unb2b_10GbE_qsfp_snk_out_arr : t_dp_siso_arr(c_nof_streams_qsfp-1 DOWNTO 0) := (OTHERS => c_dp_siso_rst); + SIGNAL ta2_unb2b_10GbE_qsfp_snk_in_arr : t_dp_sosi_arr(c_nof_streams_qsfp-1 DOWNTO 0) := (OTHERS => c_dp_sosi_rst); + SIGNAL ta2_unb2b_10GbE_qsfp_tx_serial_r : STD_LOGIC_VECTOR(c_nof_streams_qsfp -1 DOWNTO 0); + SIGNAL ta2_unb2b_10GbE_qsfp_rx_serial_r : STD_LOGIC_VECTOR(c_nof_streams_qsfp -1 DOWNTO 0); SIGNAL ta2_unb2b_mm_io_snk_in : t_dp_sosi; SIGNAL ta2_unb2b_mm_io_snk_out : t_dp_siso; @@ -285,16 +300,16 @@ ARCHITECTURE str OF top IS BEGIN + + ASSERT g_nof_lanes <= c_nof_streams_ring REPORT "g_nof_lanes is configured too high!" SEVERITY ERROR; + ------------ -- Front IO ------------ - -- put the QSFP_TX/RX ports into arrays i_QSFP_RX(0) <= QSFP_0_RX; - i_QSFP_RX(1) <= QSFP_1_RX; QSFP_0_TX <= i_QSFP_TX(0); - QSFP_1_TX <= i_QSFP_TX(1); u_unb2b_board_front_io : ENTITY unb2b_board_lib.unb2b_board_front_io GENERIC MAP ( @@ -363,13 +378,13 @@ BEGIN -- 10GbE ---------- -- ring lanes in positive direction (to the right) - FOR I IN 0 TO c_nof_pos_ring_lanes-1 GENERATE + gen_even_lanes : FOR I IN 0 TO c_nof_even_ring_lanes-1 GENERATE unb2b_board_ring_io_serial_tx_arr(I+c_ring_bus_w) <= ta2_unb2b_10GbE_ring_tx_serial_r(I*2); -- TX[0,2,4,6] -> RING_TX1[0,1,2,3] ta2_unb2b_10GbE_ring_rx_serial_r(I*2) <= unb2b_board_ring_io_serial_rx_arr(I); -- RING_RX0[0,1,2,3] -> RX[0,2,4,6] END GENERATE; -- ring lanes in negative direction (to the left) - FOR I IN 0 TO c_nof_neg_ring_lanes-1 GENERATE + gen_odd_lanes : FOR I IN 0 TO c_nof_odd_ring_lanes-1 GENERATE unb2b_board_ring_io_serial_tx_arr(I) <= ta2_unb2b_10GbE_ring_tx_serial_r(1+I*2); -- TX[1,3,5,7] -> RING_TX0[0,1,2,3] ta2_unb2b_10GbE_ring_rx_serial_r(1+I*2) <= unb2b_board_ring_io_serial_rx_arr(I); -- RINGRX1[0,1,2,3] -> RX[1,3,5,7] END GENERATE; @@ -385,21 +400,21 @@ BEGIN clk_ref_r => SA_CLK, - tx_serial_r => ta2_unb2b_10GbE_ring_tx_serial_r, - rx_serial_r => ta2_unb2b_10GbE_ring_rx_serial_r, + tx_serial_r => ta2_unb2b_10GbE_ring_tx_serial_r(c_nof_10GbE_ring_IP-1 DOWNTO 0), + rx_serial_r => ta2_unb2b_10GbE_ring_rx_serial_r(c_nof_10GbE_ring_IP-1 DOWNTO 0), kernel_clk => board_kernel_clk_clk, kernel_reset => i_kernel_rst, - src_out_arr => ta2_unb2b_10GbE_ring_src_out_arr, - src_in_arr => ta2_unb2b_10GbE_ring_src_in_arr, - snk_out_arr => ta2_unb2b_10GbE_ring_snk_out_arr, - snk_in_arr => ta2_unb2b_10GbE_ring_snk_in_arr + src_out_arr => ta2_unb2b_10GbE_ring_src_out_arr(c_nof_10GbE_ring_IP-1 DOWNTO 0), + src_in_arr => ta2_unb2b_10GbE_ring_src_in_arr(c_nof_10GbE_ring_IP-1 DOWNTO 0), + snk_out_arr => ta2_unb2b_10GbE_ring_snk_out_arr(c_nof_10GbE_ring_IP-1 DOWNTO 0), + snk_in_arr => ta2_unb2b_10GbE_ring_snk_in_arr(c_nof_10GbE_ring_IP-1 DOWNTO 0) ); -- Front QSFP 0 RX/TX 10GbE Interface - FOR I IN 0 TO c_nof_qsfp_lanes-1 GENERATE + gen_qsfp_lanes : FOR I IN 0 TO c_nof_qsfp_lanes-1 GENERATE unb2b_board_front_io_serial_tx_arr(I) <= ta2_unb2b_10GbE_qsfp_tx_serial_r(I); ta2_unb2b_10GbE_qsfp_rx_serial_r(I) <= unb2b_board_front_io_serial_rx_arr(I); END GENERATE; @@ -415,16 +430,16 @@ BEGIN clk_ref_r => SA_CLK, - tx_serial_r => ta2_unb2b_10GbE_qsfp_tx_serial_r, - rx_serial_r => ta2_unb2b_10GbE_qsfp_rx_serial_r, + tx_serial_r => ta2_unb2b_10GbE_qsfp_tx_serial_r(c_nof_10GbE_qsfp_IP-1 DOWNTO 0), + rx_serial_r => ta2_unb2b_10GbE_qsfp_rx_serial_r(c_nof_10GbE_qsfp_IP-1 DOWNTO 0), kernel_clk => board_kernel_clk_clk, kernel_reset => i_kernel_rst, - src_out_arr => ta2_unb2b_10GbE_qsfp_src_out_arr, - src_in_arr => ta2_unb2b_10GbE_qsfp_src_in_arr, - snk_out_arr => ta2_unb2b_10GbE_qsfp_snk_out_arr, - snk_in_arr => ta2_unb2b_10GbE_qsfp_snk_in_arr + src_out_arr => ta2_unb2b_10GbE_qsfp_src_out_arr(c_nof_10GbE_qsfp_IP-1 DOWNTO 0), + src_in_arr => ta2_unb2b_10GbE_qsfp_src_in_arr(c_nof_10GbE_qsfp_IP-1 DOWNTO 0), + snk_out_arr => ta2_unb2b_10GbE_qsfp_snk_out_arr(c_nof_10GbE_qsfp_IP-1 DOWNTO 0), + snk_in_arr => ta2_unb2b_10GbE_qsfp_snk_in_arr(c_nof_10GbE_qsfp_IP-1 DOWNTO 0) ); -------------------------------------- @@ -475,7 +490,7 @@ BEGIN kernel_src_out_arr(0) => kernel_to_lane_sosi, kernel_src_in_arr(0) => kernel_to_lane_siso, kernel_snk_out_arr(0) => kernel_from_lane_siso, - kernel_snk_in_arr(0) => kernel_from_lane_sosi, + kernel_snk_in_arr(0) => kernel_from_lane_sosi ); ----------------------------------------------------------------------------- @@ -900,19 +915,19 @@ BEGIN reg_mmdp_ctrl_write_export => reg_mmdp_ctrl_mosi.wr, reg_mmdp_ctrl_writedata_export => reg_mmdp_ctrl_mosi.wrdata(c_word_w-1 DOWNTO 0), - ram_scrap_address_export => ram_scrap_mosi.address(0 DOWNTO 0), + ram_scrap_address_export => ram_scrap_mosi.address(8 DOWNTO 0), ram_scrap_read_export => ram_scrap_mosi.rd, ram_scrap_readdata_export => ram_scrap_miso.rddata(c_word_w-1 DOWNTO 0), ram_scrap_write_export => ram_scrap_mosi.wr, ram_scrap_writedata_export => ram_scrap_mosi.wrdata(c_word_w-1 DOWNTO 0), - ram_bg_data_address_export => ram_bg_data_mosi.address(0 DOWNTO 0), + ram_bg_data_address_export => ram_bg_data_mosi.address(6 DOWNTO 0), ram_bg_data_read_export => ram_bg_data_mosi.rd, ram_bg_data_readdata_export => ram_bg_data_miso.rddata(c_word_w-1 DOWNTO 0), ram_bg_data_write_export => ram_bg_data_mosi.wr, ram_bg_data_writedata_export => ram_bg_data_mosi.wrdata(c_word_w-1 DOWNTO 0), - reg_bg_ctrl_address_export => reg_bg_ctrl_mosi.address(0 DOWNTO 0), + reg_bg_ctrl_address_export => reg_bg_ctrl_mosi.address(2 DOWNTO 0), reg_bg_ctrl_read_export => reg_bg_ctrl_mosi.rd, reg_bg_ctrl_readdata_export => reg_bg_ctrl_miso.rddata(c_word_w-1 DOWNTO 0), reg_bg_ctrl_write_export => reg_bg_ctrl_mosi.wr, diff --git a/applications/ta2/ip/ta2_unb2b_channel_cross/ta2_unb2b_channel_cross.vhd b/applications/ta2/ip/ta2_unb2b_channel_cross/ta2_unb2b_channel_cross.vhd index 17f1c96eaaec122e46035d0e2a69de0b05e8f5f5..0a68e9cd0fa6fc36c4b4d3fe15e8a972bb070e17 100644 --- a/applications/ta2/ip/ta2_unb2b_channel_cross/ta2_unb2b_channel_cross.vhd +++ b/applications/ta2/ip/ta2_unb2b_channel_cross/ta2_unb2b_channel_cross.vhd @@ -82,24 +82,24 @@ ARCHITECTURE str OF ta2_unb2b_channel_cross IS CONSTANT c_data_w : NATURAL := c_byte_w * g_nof_bytes; CONSTANT c_empty_w : NATURAL := ceil_log2(g_nof_bytes); - SIGNAL dp_latency_adapter_tx_snk_in_arr : t_dp_sosi_arr(g_nof_stream-1 DOWNTO 0); - SIGNAL dp_latency_adapter_tx_snk_out_arr : t_dp_siso_arr(g_nof_stream-1 DOWNTO 0); + SIGNAL dp_latency_adapter_tx_snk_in_arr : t_dp_sosi_arr(g_nof_streams-1 DOWNTO 0); + SIGNAL dp_latency_adapter_tx_snk_out_arr : t_dp_siso_arr(g_nof_streams-1 DOWNTO 0); - SIGNAL dp_fifo_dc_rx_src_out_arr : t_dp_sosi_arr(g_nof_stream-1 DOWNTO 0); - SIGNAL dp_fifo_dc_rx_src_in_arr : t_dp_siso_arr(g_nof_stream-1 DOWNTO 0); + SIGNAL dp_fifo_dc_rx_src_out_arr : t_dp_sosi_arr(g_nof_streams-1 DOWNTO 0); + SIGNAL dp_fifo_dc_rx_src_in_arr : t_dp_siso_arr(g_nof_streams-1 DOWNTO 0); - SIGNAL dp_fifo_dc_tx_snk_in_arr : t_dp_sosi_arr(g_nof_stream-1 DOWNTO 0) := (OTHERS => t_dp_sosi_rst); - SIGNAL dp_fifo_dc_tx_snk_out_arr : t_dp_siso_arr(g_nof_stream-1 DOWNTO 0); + SIGNAL dp_fifo_dc_tx_snk_in_arr : t_dp_sosi_arr(g_nof_streams-1 DOWNTO 0); + SIGNAL dp_fifo_dc_tx_snk_out_arr : t_dp_siso_arr(g_nof_streams-1 DOWNTO 0); - SIGNAL dp_latency_adapter_rx_src_out_arr : t_dp_sosi_arr(g_nof_stream-1 DOWNTO 0); - SIGNAL dp_latency_adapter_rx_src_in_arr : t_dp_siso_arr(g_nof_stream-1 DOWNTO 0); + SIGNAL dp_latency_adapter_rx_src_out_arr : t_dp_sosi_arr(g_nof_streams-1 DOWNTO 0); + SIGNAL dp_latency_adapter_rx_src_in_arr : t_dp_siso_arr(g_nof_streams-1 DOWNTO 0); BEGIN ASSERT g_nof_bytes <= 64 REPORT "g_nof_bytes of ta2_unb2b_channel_cross is configured higher than 64" SEVERITY ERROR; - gen_streams: FOR stream IN 0 TO g_nof_stream-1 GENERATE + gen_streams: FOR stream IN 0 TO g_nof_streams-1 GENERATE -- dp_snk_in -> kernel_src_out ---------------------------------------------------------------------------- -- Data mapping @@ -111,7 +111,7 @@ BEGIN END GENERATE; END GENERATE; gen_no_reverse_tx_bytes : IF NOT g_reverse_bytes GENERATE - dp_fifo_dc_tx_snk_in_arr(stream).data(c_data_w-1 DOWNTO 0)) <= dp_snk_in_arr(stream).data(c_data_w-1 DOWNTO 0); + dp_fifo_dc_tx_snk_in_arr(stream).data(c_data_w-1 DOWNTO 0) <= dp_snk_in_arr(stream).data(c_data_w-1 DOWNTO 0); END GENERATE; -- Assign correct data fields to control signals. @@ -162,7 +162,7 @@ BEGIN snk_out => dp_latency_adapter_tx_snk_out_arr(stream), src_out => kernel_src_out_arr(stream), - src_in => kernel_src_in_src_in_arr(stream) + src_in => kernel_src_in_arr(stream) ); @@ -180,7 +180,7 @@ BEGIN rst => kernel_reset, snk_in => kernel_snk_in_arr(stream), - snk_out => kernel_src_in_arr(stream), + snk_out => kernel_snk_out_arr(stream), src_out => dp_latency_adapter_rx_src_out_arr(stream), src_in => dp_latency_adapter_rx_src_in_arr(stream)