From 8e26de41ebb13479a06c960b0a60dd176295238e Mon Sep 17 00:00:00 2001 From: Leon Hiemstra <hiemstra@astron.nl> Date: Mon, 23 Feb 2015 11:02:05 +0000 Subject: [PATCH] This design: 24 QSFP channels. synthesis ok --- .../designs/unb2_test/src/vhdl/unb2_test.vhd | 171 +++++++++--------- 1 file changed, 87 insertions(+), 84 deletions(-) diff --git a/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test.vhd b/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test.vhd index 1040166225..89c5bb90b0 100644 --- a/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test.vhd +++ b/boards/uniboard2/designs/unb2_test/src/vhdl/unb2_test.vhd @@ -49,8 +49,8 @@ ENTITY unb2_test IS g_factory_image : BOOLEAN := FALSE; g_nof_streams_qsfp : NATURAL := c_unb2_board_tr_qsfp.nof_bus * c_unb2_board_tr_qsfp.bus_w; g_nof_streams_ring : NATURAL := c_unb2_board_tr_ring.nof_bus * c_unb2_board_tr_ring.bus_w; - g_nof_streams_back0: NATURAL := c_unb2_board_tr_back.bus_w; - g_nof_streams_back1: NATURAL := c_unb2_board_tr_back.bus_w + g_nof_streams_back0: NATURAL := 0;--c_unb2_board_tr_back.bus_w; + g_nof_streams_back1: NATURAL := 0 --c_unb2_board_tr_back.bus_w ); PORT ( -- GENERAL @@ -80,8 +80,8 @@ ENTITY unb2_test IS BCK_REF_CLK : IN STD_LOGIC; -- Clock 10GbE back lower 24 lines -- back transceivers - BCK_RX : IN STD_LOGIC_VECTOR((c_unb2_board_tr_back.bus_w * c_unb2_board_tr_back.nof_bus)-1 downto 0); - BCK_TX : OUT STD_LOGIC_VECTOR((c_unb2_board_tr_back.bus_w * c_unb2_board_tr_back.nof_bus)-1 downto 0); + --BCK_RX : IN STD_LOGIC_VECTOR((c_unb2_board_tr_back.bus_w * c_unb2_board_tr_back.nof_bus)-1 downto 0); + --BCK_TX : OUT STD_LOGIC_VECTOR((c_unb2_board_tr_back.bus_w * c_unb2_board_tr_back.nof_bus)-1 downto 0); BCK_SDA : INOUT STD_LOGIC_VECTOR(c_unb2_board_tr_back.i2c_w-1 downto 0); BCK_SCL : INOUT STD_LOGIC_VECTOR(c_unb2_board_tr_back.i2c_w-1 downto 0); BCK_ERR : INOUT STD_LOGIC_VECTOR(c_unb2_board_tr_back.i2c_w-1 downto 0); @@ -476,8 +476,8 @@ BEGIN g_hdr_field_arr => c_hdr_field_arr, g_nof_streams_qsfp => g_nof_streams_qsfp, g_nof_streams_ring => g_nof_streams_ring, - g_nof_streams_back0 => g_nof_streams_back0, - g_nof_streams_back1 => g_nof_streams_back1 + g_nof_streams_back0 => c_unb2_board_tr_back.bus_w,--g_nof_streams_back0, + g_nof_streams_back1 => c_unb2_board_tr_back.bus_w --g_nof_streams_back1 ) PORT MAP( mm_rst => mm_rst, @@ -814,58 +814,58 @@ BEGIN serial_rx_arr => i_serial_10G_rx_qsfp_ring_arr ); - u_tr_10GbE_back0: ENTITY unb2_board_lib.unb2_board_10gbe -- Lower Back lines - GENERIC MAP ( - g_technology => g_technology, - g_sim => g_sim, - g_sim_level => 1, - g_nof_macs => g_nof_streams_back0, - g_tx_fifo_fill => c_def_10GbE_block_size, - g_tx_fifo_size => c_def_10GbE_block_size*2 - ) - PORT MAP ( - tr_ref_clk => BCK_REF_CLK, - mm_rst => mm_rst, - mm_clk => mm_clk, - reg_mac_mosi => reg_tr_10GbE_back0_mosi, - reg_mac_miso => reg_tr_10GbE_back0_miso, - dp_rst => dp_rst, - dp_clk => dp_clk, - - src_out_arr => dp_offload_rx_snk_in_arr(g_nof_streams_back0+g_nof_streams_qsfp+g_nof_streams_ring-1 DOWNTO g_nof_streams_qsfp+g_nof_streams_ring), - src_in_arr => dp_offload_rx_snk_out_arr(g_nof_streams_back0+g_nof_streams_qsfp+g_nof_streams_ring-1 DOWNTO g_nof_streams_qsfp+g_nof_streams_ring), - snk_out_arr => dp_offload_tx_src_in_arr(g_nof_streams_back0+g_nof_streams_qsfp+g_nof_streams_ring-1 DOWNTO g_nof_streams_qsfp+g_nof_streams_ring), - snk_in_arr => dp_offload_tx_src_out_arr(g_nof_streams_back0+g_nof_streams_qsfp+g_nof_streams_ring-1 DOWNTO g_nof_streams_qsfp+g_nof_streams_ring), - - serial_tx_arr => i_serial_10G_tx_back0_arr, - serial_rx_arr => i_serial_10G_rx_back0_arr - ); - u_tr_10GbE_back1: ENTITY unb2_board_lib.unb2_board_10gbe -- Upper Back lines - GENERIC MAP ( - g_technology => g_technology, - g_sim => g_sim, - g_sim_level => 1, - g_nof_macs => g_nof_streams_back1, - g_tx_fifo_fill => c_def_10GbE_block_size, - g_tx_fifo_size => c_def_10GbE_block_size*2 - ) - PORT MAP ( - tr_ref_clk => SB_CLK, - mm_rst => mm_rst, - mm_clk => mm_clk, - reg_mac_mosi => reg_tr_10GbE_back1_mosi, - reg_mac_miso => reg_tr_10GbE_back1_miso, - dp_rst => dp_rst, - dp_clk => dp_clk, - - src_out_arr => dp_offload_rx_snk_in_arr(g_nof_streams-1 DOWNTO g_nof_streams_back0+g_nof_streams_qsfp+g_nof_streams_ring), - src_in_arr => dp_offload_rx_snk_out_arr(g_nof_streams-1 DOWNTO g_nof_streams_back0+g_nof_streams_qsfp+g_nof_streams_ring), - snk_out_arr => dp_offload_tx_src_in_arr(g_nof_streams-1 DOWNTO g_nof_streams_back0+g_nof_streams_qsfp+g_nof_streams_ring), - snk_in_arr => dp_offload_tx_src_out_arr(g_nof_streams-1 DOWNTO g_nof_streams_back0+g_nof_streams_qsfp+g_nof_streams_ring), - - serial_tx_arr => i_serial_10G_tx_back1_arr, - serial_rx_arr => i_serial_10G_rx_back1_arr - ); +-- u_tr_10GbE_back0: ENTITY unb2_board_lib.unb2_board_10gbe -- Lower Back lines +-- GENERIC MAP ( +-- g_technology => g_technology, +-- g_sim => g_sim, +-- g_sim_level => 1, +-- g_nof_macs => g_nof_streams_back0, +-- g_tx_fifo_fill => c_def_10GbE_block_size, +-- g_tx_fifo_size => c_def_10GbE_block_size*2 +-- ) +-- PORT MAP ( +-- tr_ref_clk => BCK_REF_CLK, +-- mm_rst => mm_rst, +-- mm_clk => mm_clk, +-- reg_mac_mosi => reg_tr_10GbE_back0_mosi, +-- reg_mac_miso => reg_tr_10GbE_back0_miso, +-- dp_rst => dp_rst, +-- dp_clk => dp_clk, + +-- src_out_arr => dp_offload_rx_snk_in_arr(g_nof_streams_back0+g_nof_streams_qsfp+g_nof_streams_ring-1 DOWNTO g_nof_streams_qsfp+g_nof_streams_ring), +-- src_in_arr => dp_offload_rx_snk_out_arr(g_nof_streams_back0+g_nof_streams_qsfp+g_nof_streams_ring-1 DOWNTO g_nof_streams_qsfp+g_nof_streams_ring), +-- snk_out_arr => dp_offload_tx_src_in_arr(g_nof_streams_back0+g_nof_streams_qsfp+g_nof_streams_ring-1 DOWNTO g_nof_streams_qsfp+g_nof_streams_ring), +-- snk_in_arr => dp_offload_tx_src_out_arr(g_nof_streams_back0+g_nof_streams_qsfp+g_nof_streams_ring-1 DOWNTO g_nof_streams_qsfp+g_nof_streams_ring), +-- +-- serial_tx_arr => i_serial_10G_tx_back0_arr, +-- serial_rx_arr => i_serial_10G_rx_back0_arr +-- ); +-- u_tr_10GbE_back1: ENTITY unb2_board_lib.unb2_board_10gbe -- Upper Back lines +-- GENERIC MAP ( +-- g_technology => g_technology, +-- g_sim => g_sim, +-- g_sim_level => 1, +-- g_nof_macs => g_nof_streams_back1, +-- g_tx_fifo_fill => c_def_10GbE_block_size, +-- g_tx_fifo_size => c_def_10GbE_block_size*2 +-- ) +-- PORT MAP ( +-- tr_ref_clk => SB_CLK, +-- mm_rst => mm_rst, +-- mm_clk => mm_clk, +-- reg_mac_mosi => reg_tr_10GbE_back1_mosi, +-- reg_mac_miso => reg_tr_10GbE_back1_miso, +-- dp_rst => dp_rst, +-- dp_clk => dp_clk, +-- +-- src_out_arr => dp_offload_rx_snk_in_arr(g_nof_streams-1 DOWNTO g_nof_streams_back0+g_nof_streams_qsfp+g_nof_streams_ring), +-- src_in_arr => dp_offload_rx_snk_out_arr(g_nof_streams-1 DOWNTO g_nof_streams_back0+g_nof_streams_qsfp+g_nof_streams_ring), +-- snk_out_arr => dp_offload_tx_src_in_arr(g_nof_streams-1 DOWNTO g_nof_streams_back0+g_nof_streams_qsfp+g_nof_streams_ring), +-- snk_in_arr => dp_offload_tx_src_out_arr(g_nof_streams-1 DOWNTO g_nof_streams_back0+g_nof_streams_qsfp+g_nof_streams_ring), +-- +-- serial_tx_arr => i_serial_10G_tx_back1_arr, +-- serial_rx_arr => i_serial_10G_rx_back1_arr +-- ); @@ -938,34 +938,37 @@ BEGIN ); - gen_back0_wires: FOR i IN 0 TO g_nof_streams_back0-1 GENERATE - serial_10G_tx_back_arr(i) <= i_serial_10G_tx_back0_arr(i); - i_serial_10G_rx_back0_arr(i) <= serial_10G_rx_back_arr(i); - END GENERATE; - gen_back1_wires: FOR i IN 0 TO g_nof_streams_back1-1 GENERATE - serial_10G_tx_back_arr(i+g_nof_streams_back0) <= i_serial_10G_tx_back1_arr(i); - i_serial_10G_rx_back1_arr(i) <= serial_10G_rx_back_arr(i+g_nof_streams_back0); - END GENERATE; + -- gen_back0_wires: FOR i IN 0 TO g_nof_streams_back0-1 GENERATE + -- serial_10G_tx_back_arr(i) <= i_serial_10G_tx_back0_arr(i); + -- i_serial_10G_rx_back0_arr(i) <= serial_10G_rx_back_arr(i); + -- END GENERATE; + -- gen_back1_wires: FOR i IN 0 TO g_nof_streams_back1-1 GENERATE + -- serial_10G_tx_back_arr(i+g_nof_streams_back0) <= i_serial_10G_tx_back1_arr(i); + -- i_serial_10G_rx_back1_arr(i) <= serial_10G_rx_back_arr(i+g_nof_streams_back0); + -- END GENERATE; +-- +-- u_back_io : ENTITY unb2_board_lib.unb2_board_back_io +-- GENERIC MAP ( +-- g_nof_back_bus => g_nof_back_bus +-- ) +-- PORT MAP ( +-- serial_tx_arr => serial_10G_tx_back_arr, +-- serial_rx_arr => serial_10G_rx_back_arr, +-- +-- -- Serial I/O +-- -- back transceivers +-- BCK_RX(0) => BCK_RX(g_nof_streams_back0-1 downto 0), +-- BCK_TX(0) => BCK_TX(g_nof_streams_back0-1 downto 0), +-- BCK_RX(1) => BCK_RX(g_nof_streams_back0+g_nof_streams_back1-1 downto g_nof_streams_back0), +-- BCK_TX(1) => BCK_TX(g_nof_streams_back0+g_nof_streams_back1-1 downto g_nof_streams_back0), +-- +-- BCK_SDA => BCK_SDA, +-- BCK_SCL => BCK_SCL, +-- BCK_ERR => BCK_ERR +-- ); + - u_back_io : ENTITY unb2_board_lib.unb2_board_back_io - GENERIC MAP ( - g_nof_back_bus => g_nof_back_bus - ) - PORT MAP ( - serial_tx_arr => serial_10G_tx_back_arr, - serial_rx_arr => serial_10G_rx_back_arr, - -- Serial I/O - -- back transceivers - BCK_RX(0) => BCK_RX(g_nof_streams_back0-1 downto 0), - BCK_TX(0) => BCK_TX(g_nof_streams_back0-1 downto 0), - BCK_RX(1) => BCK_RX(g_nof_streams_back0+g_nof_streams_back1-1 downto g_nof_streams_back0), - BCK_TX(1) => BCK_TX(g_nof_streams_back0+g_nof_streams_back1-1 downto g_nof_streams_back0), - - BCK_SDA => BCK_SDA, - BCK_SCL => BCK_SCL, - BCK_ERR => BCK_ERR - ); -- -- u_ring_io : ENTITY unb2_board_lib.unb2_board_ring_io -- GENERIC MAP ( -- GitLab