Ehternet 1000base-x pcs/pma例化问题
-
This looks like xilinx IP, so in that set the core interface bits phyad[4:0] to the desired address - I believe you enter this in vivado IDE (last I used this was ISE)
Once you instantiate the IP, and make a template you can see the core signals below, phyad[]
//----------- Begin Cut here for INSTANTIATION Template ---// INST_TAG
pcs your_instance_name (
.reset(reset), // input reset
.signal_detect(signal_detect), // input signal_detect
.link_timer_basex(link_timer_basex), // input [8 : 0] link_timer_basex
.link_timer_sgmii(link_timer_sgmii), // input [8 : 0] link_timer_sgmii
.mgt_rx_reset(mgt_rx_reset), // output mgt_rx_reset
.mgt_tx_reset(mgt_tx_reset), // output mgt_tx_reset
.userclk(userclk), // input userclk
.userclk2(userclk2), // input userclk2
.dcm_locked(dcm_locked), // input dcm_locked
.rxbufstatus(rxbufstatus), // input [1 : 0] rxbufstatus
.rxchariscomma(rxchariscomma), // input [0 : 0] rxchariscomma
.rxcharisk(rxcharisk), // input [0 : 0] rxcharisk
.rxclkcorcnt(rxclkcorcnt), // input [2 : 0] rxclkcorcnt
.rxdata(rxdata), // input [7 : 0] rxdata
.rxdisperr(rxdisperr), // input [0 : 0] rxdisperr
.rxnotintable(rxnotintable), // input [0 : 0] rxnotintable
.rxrundisp(rxrundisp), // input [0 : 0] rxrundisp
.txbuferr(txbuferr), // input txbuferr
.powerdown(powerdown), // output powerdown
.txchardispmode(txchardispmode), // output txchardispmode
.txchardispval(txchardispval), // output txchardispval
.txcharisk(txcharisk), // output txcharisk
.txdata(txdata), // output [7 : 0] txdata
.enablealign(enablealign), // output enablealign
.gmii_txd(gmii_txd), // input [7 : 0] gmii_txd
.gmii_tx_en(gmii_tx_en), // input gmii_tx_en
.gmii_tx_er(gmii_tx_er), // input gmii_tx_er
.gmii_rxd(gmii_rxd), // output [7 : 0] gmii_rxd
.gmii_rx_dv(gmii_rx_dv), // output gmii_rx_dv
.gmii_rx_er(gmii_rx_er), // output gmii_rx_er
.gmii_isolate(gmii_isolate), // output gmii_isolate
.an_interrupt(an_interrupt), // output an_interrupt
.an_adv_config_vector(an_adv_config_vector), // input [15 : 0] an_adv_config_vector
.an_adv_config_val(an_adv_config_val), // input an_adv_config_val
.an_restart_config(an_restart_config), // input an_restart_config
.phyad(phyad), // input [4 : 0] phyad
.mdc(mdc), // input mdc
.mdio_in(mdio_in), // input mdio_in
.mdio_out(mdio_out), // output mdio_out
.mdio_tri(mdio_tri), // output mdio_tri
.configuration_vector(configuration_vector), // input [4 : 0] configuration_vector
.configuration_valid(configuration_valid), // input configuration_valid
.status_vector(status_vector), // output [15 : 0] status_vector
.basex_or_sgmii(basex_or_sgmii) // input basex_or_sgmii
);
// INST_TAG_END ------ End INSTANTIATION Template ---------
麻烦问下 这个是哪的例化 我例化的IP是gmii2sfp_example_design gmii2sfp_example_design
(
// An independent clock source used as the reference clock for an
// IDELAYCTRL (if present) and for the main GT transceiver reset logic.
// This example design assumes that this is of frequency 200MHz.
.independent_clock (clk_200m),//200MHz Independent clock,
// Tranceiver Interface
.gtrefclk_p (gtrefclk_p),// Very high quality 125MHz clock for GT transceiver.
.gtrefclk_n (gtrefclk_n),
.rxuserclk2 (),
.txp (txp),
.txn (txn),
.rxp (rxp),
.rxn (rxn),
// GMII Interface (client MAC <=> PCS)
//---------------
.gmii_tx_clk (gtx_clk), //Transmit clock from client MAC.
.gmii_txd (phy_gmii_tx_dat),/// Transmit data from client MAC.
.gmii_tx_en (phy_gmii_tx_dv),
.gmii_tx_er (phy_gmii_tx_err),
.gmii_rx_clk (), //Transmit clock from client MAC.
// .gmii_rxd (), // Received Data to client MAC.
// .gmii_rx_dv (),
// .gmii_rx_er (),
.gmii_rxd (phy_gmii_rx_dat_sfp), // Received Data to client MAC.
.gmii_rx_dv (phy_gmii_rx_dv_sfp),
.gmii_rx_er (phy_gmii_rx_err_sfp),
// Management: MDIO Interface
//---------------------------
// .mdc (),// Transmit data from client MAC.
// .mdio_i (),
// .mdio_o (),
// .mdio_t (),// Received control signal to client MAC.
.configuration_vector (5'b0),
// .configuration_valid (1'b1),
// General IO's
//-------------
.status_vector (status_vector),
.reset (~reset_n),
.signal_detect (1'b1)
);what is your version ISE 14.7 ? or vivado ?
I used ISE 14.7 with IP version gig_eth_pcs_pma:11.5
In coregen make sure to select "MDIO Management Interface"