• 基于Virtext6平台的GTX IP核基本设置说明


    本工程基于以下条件使用:

    • 板卡:DBF板v3.0
    • 芯片型号:Virtex6 315T
    • ISE版本:14.7
    • IP核版本: v6_gtxwizard : 1.12

    一、IP核配置进行流程

    第一页配置:线速率和编码

    • TX、RX的 Line Rate 、Data Path Width 、Reference Clock根据项目的实际情况进行选择
    • Reference Clock :表示 外界时钟输入给GTX模块的参考时钟

    • 注: 
      • 红色框代表必须按照截图设置。
      • 绿色框代表根据项目需求进行设置。
      • 黄色框代表,可自由选择项。

    第二页配置:参考时钟位置选择

    • 此处必须参考原理图选择REFCLK。 

    第三页配置:同步和对齐

    • RXUSRCLK Source 一般选择 RERECCLK,但是在位宽32bit,且使用GTX格式较多的情况下,建议选择TXOUTCLK因为这样可以节省出大量的BUFG资源。
    • RX Comma Alignment部分,Xilinx 在V6系列处理的不好,设置作用不是很明显,还是有翻转情况出现。 

    第四页配置:预加重,终端、均衡

    • Enable DFE : 当外部信号传输质量比较差(>100ppm)时,建议选上。
    • Rx Equalization:此处保持默认即可,当实际工程中,发现误码较高时,可以在程序中动态修改此值。
    • Post Emphasis:当对方接受误码较高时,可适当修改此值进行调试。 

    第五页配置:失同步状态机

    • 保持默认不变 

    第六页配置:通道绑定

    • 此功能没有用过,保持默认不变 

    第七页配置:时钟校准

    • Use Clock Correction :在同源时钟下可以不选择
    • Sequence : 00011100,配置向导中使用了此值即K28.0,实验室所有的项目也是按照此值配置的。但是个人认为按照我们平时习惯用法,此值应该配置成10111100,K28.5。经简单测试没有发现问题,但未在任何大型项目上验证过。

    工程使用说明

    基本使用方法

    • 当IP核生成以后将如下文件添加到工程:

      • ip/[gtx核名].v
      • ip/[gtx核名]_gtx.v
      • ip/[gtx核名]/example_design/所有文件
    • 在[gtx核名]_top 文件中将GTX0_RXENMCOMMAALIGN_INGTX0_RXENPCOMMAALIGN_IN括号内的值改为1(如下图),这里用到了多少了gtx模块就要按照序号该几处。 

    • 此时工程已基本可以仿真与简单测试,在modlesim中切换到如下目录,并输入simulate_mti.do即可开始仿真。

      • ..impipfibersimulationfunctional

    gtx重点信号线说明

    • 在整个GTX工程中只需关注top层如下信号线即可

    • TOP层输入输出端口

      • Qx_CLK0_MGTREFCLK_PAD_N_IN :x视实际位置而定,表示GTX参考时钟
      • GTXTXRESET_INGTXRXRESET_IN:由用户控制的TX/RX全局复位
      • RXN_IN :GTX接收引脚
      • TXP_OUT:GTX发送引脚
    • 重要控制信号线说明

      • gtx0_loopback_i:gtx自环控制。 
        • 3’b000:非自环模式;
        • 3’b001,近端PCS自环;
        • 3’b010,近端PMA自环,一般仿真或单板测试时选择此模式。
      • gtx0_rxnotintable_i :接收错误指示信号线:当接收到无法通过8b/10b解码的数据时此信号线拉高,可以简单的理解为接收到误码的标志
    • 重要数据时钟信号线说明

      • 接收 
        • gtx0_rxusrclk2_i:当IP核配置第三页的 RXUSRCLK Source 选择 RXRECCLK时,每个gtx模块单独对应一个此类型时钟。
        • gtx0_rxdata_i : 用户接收到的数据
        • gtx0_rxcharisk_i: 用户接收到的K码,用于指示gtx0_rxdata_i数据类型。 
          • gtx0_rxcharisk_i某位为1时,表示gtx0_rxdata_i对应的某个8位为K码。
      • 发送 
        • gtx0_txusrclk2_i:用户发送时钟,所有的gtx发送模块均用此时钟;当IP核配置第三页的 RXUSRCLK Source 选择 TXOUTCLK时,所有的gtx接收模块也是用此时钟。
        • gtx0_txcharisk_i:用户待发送的K码
        • gtx0_txdata_i:用户待发送的数据

    实际开发工程的使用

    • 在实际开发中还需对工程做如下的修改,才更方便使用。
    删除例程测试部分
    • 起点:从注释Frame Generators处开始
    • 终点:一直到代码begin:no_chipscope,以上全部删除。
    • 其他:后面的vio,ila核内容一并删除,以及一些其他导致报错的多余代码。
    修改UCF文件
    • 为了保证在以后大工程中使用gtx核时路径不出问题,需对gtx的两个ucf文件做如下修改。

    • xxx_attributes.ucf:在所有约束前加入*/ 

      • xxx_top.ucf:和上面类似,在User Clokc Constraints 和 mgt wrapper constraints 约束的前面加入 */ 
      • 转载:http://blog.csdn.net/lutianfeiml/article/details/51242160
  • 相关阅读:
    CLR
    Cocos2dx 3.12 在AndroidStudio上编译配置
    MFC 调试方法
    列表初始化
    类型转换
    Cocos2d-x 3.4在AndroidStudio上编译配置
    出发 Let's Go
    LumiSoft.Net邮件接收乱码问题解决
    百度地图经纬度转换JS版
    百度经纬度和google经纬度互转
  • 原文地址:https://www.cnblogs.com/chengqi521/p/7872102.html
Copyright © 2020-2023  润新知