不是用的chipscope,我有专门测以太网的机子;
好的时钟是指的啥,给transceiver的差分时钟吗,这个时钟是好的;
gmii2sfp_tx_elastic_buffer tx_elastic_buffer_inst
(
.reset (reset),
.gmii_tx_clk_wr (gmii_tx_clk_bufr),
.gmii_txd_wr (gmii_txd_reg),
.gmii_tx_en_wr (gmii_tx_en_reg),
.gmii_tx_er_wr (gmii_tx_er_reg),
.gmii_tx_clk_rd (userclk2),
.gmii_txd_rd (gmii_txd_fifo),
.gmii_tx_en_rd (gmii_tx_en_fifo),
.gmii_tx_er_rd (gmii_tx_er_fifo)
);
这个是我FPGA内部逻辑的GMII接口到它IP核的GMII接口的一个缓冲(是它例程里带的),我用chipscope看了一下,那个userclk2信号不好,占空比不是1:1,而且频率也不是非常好;
但是比较奇怪的是我再
module gmii2sfp_clocking
(
input gtrefclk_p, // Differential +ve of reference clock for MGT: 125MHz, very high quality.
input gtrefclk_n, // Differential -ve of reference clock for MGT: 125MHz, very high quality.
input txoutclk, // txoutclk from GT transceiver.
input rxoutclk, // rxoutclk from GT transceiver.
input mmcm_reset, // MMCM Reset
output gtrefclk, // gtrefclk routed through an IBUFG.
output wire mmcm_locked, // MMCM locked
output userclk, // for GT PMA reference clock
output userclk2, // 125MHz clock for core reference clock.
output rxuserclk, // for GT PMA reference clock
output rxuserclk2 // 125MHz clock for core reference clock.
);
这个模块里看的时钟信号都是好的,包括txoutclk, rxoutclk, userclk2,userclk, rxuserclk;;这里的userclk2就是上一个模块的userclk2
我现在就一直怀疑是进入IP核的数据和时钟的沿没有对好,版主有没有什么建议
谢谢啦