在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3864|回复: 6

[求助] Xilinx 以太网 1G PCS/PMA 或 SGMII IP LogiCORE™求助

[复制链接]
发表于 2016-6-23 09:03:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
有人用过Xilinx 以太网 1G PCS/PMA 或 SGMII IP LogiCORE™吗? 本人在使用的时候gt0_qplloutclk,gt0_qplloutrefclk两个时钟一直不输出,这两个时钟是transceiver的时钟,,下面给的是他例子里使用gtex2_common的源语生成那两个时钟的程序,我用ISIM仿真的时候都有,但是引到外部管脚上就测不到,跪求大神指点如何生成这两个时钟

`timescale 1ns / 1ps
`define DLY #1

//***********************************Entity Declaration************************

module gmii2sfp_gt_common

(

input         gt0_gtrefclk0_common_in,
output        gt0_qplloutclk,
output        gt0_qplloutrefclk,
output        gt0_qplllock_out,
input         gt0_qplllockdetclk_in,
output        gt0_qpllrefclklost_out,
input         gt0_qpllreset_in
);
//***************************** localparam Declarations ************************
    localparam QPLL_FBDIV_TOP =  16;

    localparam QPLL_FBDIV_IN  =  (QPLL_FBDIV_TOP == 16)  ? 10'b0000100000 :

(QPLL_FBDIV_TOP == 20)  ? 10'b0000110000 :

(QPLL_FBDIV_TOP == 32)  ? 10'b0001100000 :

(QPLL_FBDIV_TOP == 40)  ? 10'b0010000000 :

(QPLL_FBDIV_TOP == 64)  ? 10'b0011100000 :

(QPLL_FBDIV_TOP == 66)  ? 10'b0101000000 :

(QPLL_FBDIV_TOP == 80)  ? 10'b0100100000 :

(QPLL_FBDIV_TOP == 100) ? 10'b0101110000 : 10'b0000000000;

   localparam QPLL_FBDIV_RATIO = (QPLL_FBDIV_TOP == 16)  ? 1'b1 :

(QPLL_FBDIV_TOP == 20)  ? 1'b1 :

(QPLL_FBDIV_TOP == 32)  ? 1'b1 :

(QPLL_FBDIV_TOP == 40)  ? 1'b1 :

(QPLL_FBDIV_TOP == 64)  ? 1'b1 :

(QPLL_FBDIV_TOP == 66)  ? 1'b0 :

(QPLL_FBDIV_TOP == 80)  ? 1'b1 :

(QPLL_FBDIV_TOP == 100) ? 1'b1 : 1'b1;
localparam   WRAPPER_SIM_GTRESET_SPEEDUP    =   "FALSE";        
    // ground and vcc signals
    wire            tied_to_ground_i;
    wire    [63:0]  tied_to_ground_vec_i;
    wire            tied_to_vcc_i;
    wire    [63:0]  tied_to_vcc_vec_i;


    assign tied_to_ground_i             = 1'b0;
    assign tied_to_ground_vec_i         = 64'h0000000000000000;
    assign tied_to_vcc_i                = 1'b1;
    assign tied_to_vcc_vec_i            = 64'hffffffffffffffff;

    //_________________________________________________________________________
    //_________________________________________________________________________
    //_________________________GTXE2_COMMON____________________________________

    GTXE2_COMMON #
    (
            // Simulation attributes
            .SIM_RESET_SPEEDUP   (WRAPPER_SIM_GTRESET_SPEEDUP),
            .SIM_QPLLREFCLK_SEL  (3'b001),
            .SIM_VERSION         ("4.0"),


           //----------------COMMON BLOCK Attributes---------------
            .BIAS_CFG                               (64'h0000040000001000),
            .COMMON_CFG                             (32'h00000000),
            .QPLL_CFG                               (27'h06801C1),
            .QPLL_CLKOUT_CFG                        (4'b0000),
            .QPLL_COARSE_FREQ_OVRD                  (6'b010000),
            .QPLL_COARSE_FREQ_OVRD_EN               (1'b0),
            .QPLL_CP                                (10'b0000011111),
            .QPLL_CP_MONITOR_EN                     (1'b0),
            .QPLL_DMONITOR_SEL                      (1'b0),
            .QPLL_FBDIV                             (QPLL_FBDIV_IN),
            .QPLL_FBDIV_MONITOR_EN                  (1'b0),
            .QPLL_FBDIV_RATIO                       (QPLL_FBDIV_RATIO),
            .QPLL_INIT_CFG                          (24'h000006),
            .QPLL_LOCK_CFG                          (16'h21E8),
            .QPLL_LPF                               (4'b1111),
            .QPLL_REFCLK_DIV                        (1)

    )
    gtxe2_common_0_i
    (
        //----------- Common Block  - Dynamic Reconfiguration Port (DRP) -----------
        .DRPADDR                        (tied_to_ground_vec_i[7:0]),
        .DRPCLK                         (tied_to_ground_i),
        .DRPDI                          (tied_to_ground_vec_i[15:0]),
        .DRPDO                          (),
        .DRPEN                          (tied_to_ground_i),
        .DRPRDY                         (),
        .DRPWE                          (tied_to_ground_i),
        //-------------------- Common Block  - Ref Clock Ports ---------------------
        .GTGREFCLK                      (tied_to_ground_i),
        .GTNORTHREFCLK0                 (tied_to_ground_i),
        .GTNORTHREFCLK1                 (tied_to_ground_i),
        .GTREFCLK0                      (gt0_gtrefclk0_common_in),
        .GTREFCLK1                      (tied_to_ground_i),
        .GTSOUTHREFCLK0                 (tied_to_ground_i),
        .GTSOUTHREFCLK1                 (tied_to_ground_i),
        //----------------------- Common Block -  QPLL Ports -----------------------
        .QPLLDMONITOR                   (),
        //--------------------- Common Block - Clocking Ports ----------------------
        .QPLLOUTCLK                     (gt0_qplloutclk),
        .QPLLOUTREFCLK                  (gt0_qplloutrefclk),
        .REFCLKOUTMONITOR               (),
        //----------------------- Common Block - QPLL Ports ------------------------
        .QPLLFBCLKLOST                  (),
        .QPLLLOCK                       (gt0_qplllock_out),
        .QPLLLOCKDETCLK                 (gt0_qplllockdetclk_in),
        .QPLLLOCKEN                     (tied_to_vcc_i),
        .QPLLOUTRESET                   (tied_to_ground_i),
        .QPLLPD                         (tied_to_vcc_i),
        .QPLLREFCLKLOST                 (gt0_qpllrefclklost_out),
        .QPLLREFCLKSEL                  (3'b001),
        .QPLLRESET                      (gt0_qpllreset_in),
        .QPLLRSVD1                      (16'b0000000000000000),
        .QPLLRSVD2                      (5'b11111),
        //------------------------------- QPLL Ports -------------------------------
        .BGBYPASSB                      (tied_to_vcc_i),
        .BGMONITORENB                   (tied_to_vcc_i),
        .BGPDB                          (tied_to_vcc_i),
        .BGRCALOVRD                     (5'b11111),
        .PMARSVD                        (8'b00000000),
        .RCALENB                        (tied_to_vcc_i)

    );


endmodule
 楼主| 发表于 2016-6-23 09:46:21 | 显示全部楼层
程序里的gt0_gtrefclk0_common_in和gt0_qplllockdetclk_in分别是125M和200M,都测到了
发表于 2016-6-23 10:00:08 | 显示全部楼层
复位这些有没有连接正确啊,要有正确的复位。
另外检查一下参数配置是不是正确
 楼主| 发表于 2016-6-23 10:07:44 | 显示全部楼层
回复 3# zhaojingzb


   复位查过了 没有问题,参数是它默认给的,应该也是正确的,我仿真的结果是对的,参数应该没问题
发表于 2016-10-14 11:20:25 | 显示全部楼层
哥们,调出来了吗?我这几天也在做这东西,能交流下吗?
发表于 2016-10-14 15:04:42 | 显示全部楼层
哥们,QPLLPD 一直是高怎么可能有输出呢……
另外GE的transceiver不一定非得用QPLL的,可以用CPLL,更灵活一些。
发表于 2018-11-15 09:16:20 | 显示全部楼层
学习中。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 11:08 , Processed in 0.024621 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表