diff --git a/libraries/io/tr_10GbE/src/vhdl/tr_10GbE.vhd b/libraries/io/tr_10GbE/src/vhdl/tr_10GbE.vhd index 18de8df52a034353db4a2280b037fd77a1e1ebc3..a58b424ed326d679bca404650dc4e9f153d88a94 100644 --- a/libraries/io/tr_10GbE/src/vhdl/tr_10GbE.vhd +++ b/libraries/io/tr_10GbE/src/vhdl/tr_10GbE.vhd @@ -272,19 +272,39 @@ BEGIN -- XAUI PHY IP MM control/status xaui_mosi => xaui_mosi, - xaui_miso => xaui_miso, - - -- MDIO master = mm slave - mdio_mosi_arr => mdio_mosi_arr(g_nof_macs-1 DOWNTO 0), - mdio_miso_arr => mdio_miso_arr(g_nof_macs-1 DOWNTO 0), - - -- MDIO External clock and serial data. - mdio_rst => mdio_rst, - mdio_mdc => mdio_mdc_arr, - mdio_mdat_in => mdio_mdat_in_arr, - mdio_mdat_oen => mdio_mdat_oen_arr + xaui_miso => xaui_miso ); + --------------------------------------------------------------------------- + -- MDIO + --------------------------------------------------------------------------- + gen_mdio: IF g_use_mdio = TRUE GENERATE + u_tr_xaui_mdio : ENTITY tr_xaui_lib.tr_xaui_mdio + GENERIC MAP ( + g_sim => g_sim, + g_nof_xaui => g_nof_macs, + g_mdio_epcs_dis => g_mdio_epcs_dis + ) + PORT MAP ( + -- Transceiver PLL reference clock + tr_clk => tr_clk, + tr_rst => tr_rst, + + -- MM clock for register of optional MDIO master + mm_clk => mm_clk, + mm_rst => mm_rst, + + -- MDIO master = mm slave + mdio_mosi_arr => mdio_mosi_arr, + mdio_miso_arr => mdio_miso_arr, + + -- MDIO External clock and serial data. + mdio_rst => mdio_rst, + mdio_mdc_arr => mdio_mdc_arr, + mdio_mdat_in_arr => mdio_mdat_in_arr, + mdio_mdat_oen_arr => mdio_mdat_oen_arr + ); + END GENERATE; --------------------------------------------------------------------------------------- -- RX FIFO: rx_clk -> dp_clk