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

  • 板卡: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即可开始仿真。

    • ..\imp\ip\fiber\simulation\functional

gtx重点信号线说明

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

  • TOP层输入输出端口

    • Qx_CLK0_MGTREFCLK_PAD_N_IN :x视实际位置而定,表示GTX参考时钟
    • GTXTXRESET_IN\GTXRXRESET_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

基于Virtext6平台的GTX IP核基本设置说明的更多相关文章

  1. 转:基于 xilinx vivado 的PCIE ip核设置与例程代码详解

    连接:https://blog.csdn.net/u014586651/article/details/103826967#comments

  2. xilinx IP核配置,一步一步验证Xilinx Serdes GTX最高8.0Gbps

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010161493/article/details/77658599   目录(?)[+]   之前 ...

  3. Vivado设计二:zynq的PS访问PL中的自带IP核(基于zybo)

    1.建立工程 首先和Vivado设计一中一样,先建立工程(这部分就忽略了) 2.create block design 同样,Add IP 同样,也添加配置文件,这些都和设计一是一样的,没什么区别. ...

  4. 基于MIG IP核的DDR3控制器(一)

    最近学习了DDR3控制器的使用,也用着DDR完成了一些简单工作,想着以后一段可能只用封装过后的IP核,可能会忘记DDR3控制器的一些内容,想着把这个DDR控制器的编写过程记录下来,便于我自己以后查看吧 ...

  5. 基于AXI4总线卷积FPGA加速IP核的尝试

    本文先总结不同AXI IP核的实现的方法,性能的对比,性能差异的分析,可能改进的方面.使用的硬件平台是Zedboard. 不同的AXI总线卷积加速模块的概况 这次实现并逐渐优化了三个版本的卷积加速模块 ...

  6. 转载 基于NicheStack协议栈的TCP/IP实现

    一.摘要 Altera软件NIOS II高版本(7.2版本以上,本例程中使用的是9.0版本)中实现TCP/IP所用的协议栈为NicheStack,常用的例程有2个,web_server和simple_ ...

  7. 调用altera IP核的仿真流程—上

    调用altera IP核的仿真流程—上 在学习本节内容之后,请详细阅读<基于modelsim-SE的简单仿真流程>,因为本节是基于<基于modelsim-SE的简单仿真流程>的 ...

  8. 基于X86平台的PC机通过网络发送一个int(32位)整数的字节顺序

    1.字节顺序 字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,通常有小端.大端两种字节顺序.小端字节序指低字节数据存放在内存低地址处,高字节数据存放在内存高地址处:大端字节序是高字节数据存 ...

  9. 基于Android 平台简易即时通讯的研究与设计[转]

    摘要:论文简单介绍Android 平台的特性,主要阐述了基于Android 平台简易即时通讯(IM)的作用和功能以及实现方法.(复杂的通讯如引入视频音频等可以考虑AnyChat SDK~)关键词:An ...

随机推荐

  1. php调用html添加超链接的方法

    不知道为何老搜不到,使用require_once命令导入的HTML文件没法加载js脚本,于是只能另谋他路,终于实线了,代码为 <?php header("Content-type:te ...

  2. Xamarin XAML语言教程构建ControlTemplate控件模板

    Xamarin XAML语言教程构建ControlTemplate控件模板 控件模板ControlTemplate ControlTemplate是从Xamarin.Forms 2.1.0开始被引入的 ...

  3. 前端设计师必须知道的10个重要的CSS技巧

    对于一个初入门的前端设计师,在设计修改网站前端的时候,我们需要编写一些CSS.JS的内容达到界面效果.今天分享10个对于前端设计师来说重要的CSS技巧,这也是我在给许多客户做网站的过程当中总结出来的. ...

  4. [BZOJ 1794] Linear Garden

    Link: BZOJ 1794 传送门 Solution: IOI2008官方题解:传送门 要求序号,其实就是算字典序比其小的序列个数 从而使用数位$dp$的思想来解题,关键在于维护序列要$balan ...

  5. Codechef ForbiddenSum

    Mike likes to invent new functions. The latest one he has invented is called ForbiddenSum. Let's con ...

  6. 【递推】【卡特兰数】CODEVS 3134 Circle

    新GET了一种卡特兰数的应用…… 在一个圆上,有2*K个不同的结点,我们以这些点为端点,连K条线段,使得每个结点都恰好用一次.在满足这些线段将圆分成最少部分的前提下,请计算有多少种连线的方法. 不会证 ...

  7. 【树链剖分】【分块】【最近公共祖先】【块状树】bzoj1984 月下“毛景树”

    裸题,但是因为权在边上,所以要先把边权放到这条边的子节点上,然后进行链更新/查询的时候不能更新/查询其lca. #include<cstdio> #include<cmath> ...

  8. 1.3(Spring MVC学习笔记)数据绑定

    一.数据绑定介绍 用户发送过来的数据,只有传递到服务器端的参数上才会起作用. 比如用户输入的用户名和密码要和后台方法中代表用户名和密码的变量关联起来, 从而才能使用用户传递的数据进行一些操作,这样数据 ...

  9. 让你的saga更具有可伸缩性(Scaling NServiceBus Sagas)

    https://lostechies.com/jimmybogard/2013/03/26/scaling-nservicebus-sagas/ 当我们使用NServiceBus sagas (pro ...

  10. CSS:display:table

    使用display:table 垂直居中需要结合display:table-cell; 和vertical-align:middle; <!DOCTYPE html> <html l ...