diff --git a/libraries/technology/xaui/tech_xaui_stratixiv.vhd b/libraries/technology/xaui/tech_xaui_stratixiv.vhd index 0c7728f3b08c30bafc8dee4adfcb7a3e88ee17b3..7346142348550bb44f7d603c2820aba66372c298 100644 --- a/libraries/technology/xaui/tech_xaui_stratixiv.vhd +++ b/libraries/technology/xaui/tech_xaui_stratixiv.vhd @@ -27,8 +27,8 @@ LIBRARY IEEE, common_lib; USE IEEE.STD_LOGIC_1164.ALL; USE common_lib.common_pkg.ALL; USE common_lib.common_mem_pkg.ALL; +USE common_lib.common_interface_layers_pkg.ALL; USE work.tech_xaui_component_pkg.ALL; -USE work.tech_xaui_pkg.ALL; ENTITY tech_xaui_stratixiv IS GENERIC ( @@ -68,7 +68,9 @@ END tech_xaui_stratixiv; ARCHITECTURE str OF tech_xaui_stratixiv IS CONSTANT c_reconf_togxb_bus_w : NATURAL := 4; - CONSTANT c_reconf_fromgxb_bus_w : NATURAL := 17; + CONSTANT c_reconf_fromgxb_bus_w : NATURAL := 17; + CONSTANT c_reconf_nof_gx : NATURAL := 4; -- 1, 2, or 3 hard XAUI with 4, 8 or 12 transceivers all require only gxb_reconfig for 4 transceivers + CONSTANT c_reconf_soft_nof_gx : NATURAL := 16; -- g_nof_xaui=4 soft XAUI, with 16 transceivers requires gxb_reconfig as for 16 transceivers CONSTANT c_reconf_soft_fromgxb_bus_w : NATURAL := 4*c_reconf_fromgxb_bus_w; CONSTANT c_xaui_mosi_addr_w : NATURAL := 9; @@ -122,6 +124,9 @@ BEGIN ); u_ip_gxb_reconfig : ip_stratixiv_gxb_reconfig_v111 + GENERIC MAP ( + g_nof_gx => c_reconf_nof_gx + ) PORT MAP ( reconfig_clk => cal_rec_clk, reconfig_fromgxb => reconfig_0_fromgxb, @@ -159,6 +164,9 @@ BEGIN ); u_ip_gxb_reconfig : ip_stratixiv_gxb_reconfig_v111 + GENERIC MAP ( + g_nof_gx => c_reconf_nof_gx + ) PORT MAP ( reconfig_clk => cal_rec_clk, reconfig_fromgxb => reconfig_1_fromgxb, @@ -196,6 +204,9 @@ BEGIN ); u_ip_gxb_reconfig : ip_stratixiv_gxb_reconfig_v111 + GENERIC MAP ( + g_nof_gx => c_reconf_nof_gx + ) PORT MAP ( reconfig_clk => cal_rec_clk, reconfig_fromgxb => reconfig_2_fromgxb, @@ -205,7 +216,7 @@ BEGIN END GENERATE; gen_soft_xaui: IF i=3 GENERATE -- NOTE: this 4th (soft) instance makes the Quartus fitter (11.1, no SP) fail, so is not supported. - u_ip_phy_xaui : ip_stratixiv_ip_stratixiv_phy_xaui_soft + u_ip_phy_xaui : ip_stratixiv_phy_xaui_soft PORT MAP ( pll_ref_clk => tr_clk, xgmii_tx_clk => tx_clk(i), @@ -234,7 +245,7 @@ BEGIN u_ip_gxb_reconfig : ip_stratixiv_gxb_reconfig_v111 GENERIC MAP ( - g_soft => TRUE + g_nof_gx => c_reconf_soft_nof_gx ) PORT MAP ( reconfig_clk => cal_rec_clk,