0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Xilinx FPGA平台GTX简易使用教程(三)

C29F_xilinx_inc ? 来源:赛灵思 ? 作者:赛灵思 ? 2022-03-01 17:29 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

所有IP核没有正确工作,原因一半是时钟,一半是复位。

前言

复位与初始化部分其实还挺复杂,还好GTX已经帮我们做好了,不想麻烦的直接跳到文末看结论~~~不过了解下也挺有意思的~~

同时GTX复位也挺随意的,你想怎么复位都可以,支持整体复位,单个组件复位。我们也可以不复位,核不会因为我们没有进行软复位就不对核进行复位,在上电之后会自动进行一系列的复位,不随你的意志而转移。下面我们就来仔细研究研究GTX的复位吧!

一、复位与初始化

FPGA上电配置之后,必须进行初始化才能使用GTX/GTH。(后文全用GTX表示,同样适用于GTH)GTX的发送器(TX)和接收器(RX)可以独立的同步进行初始化。

GTX的TX和RX初始化包含两步:

1. 初始化相关的PLL来驱动TX/RX

2. 初始化TX和RX的数据路径(PMA+PCS)

GTX的TX和RX能从QPLL或者CPLL接收一个时钟。所以在TX/RX初始化之前必须对相关的PLL(QPLL/CPLL)进行初始化。TX/RX使用的任何PLL都是单独的进行复位,PLL复位操作与TX/RX复位完全独立。TX/RX的数据路径复位必须在相关的PLL复位完成,locked之后进行。(就跟我们使用PLL IP核一样,等locked拉高之后,时钟稳定才能使用)

Xilinx FPGA平台GTX简易使用教程(三)

看图说话:TX/RX是独立的并行的进行复位操作。

GTX的TX和RX使用一个状态机来控制初始化过程,并被划分为几块来分别复位。该划分允许复位状态机按顺序控制复位过程:PMA可以首先被复位,PCS可以在TXUSERRDY或者 RXUSERRDY信号被断言后进行复位。在需要的时候,它也同样允许PMS,PCS,他们内部的功能模块独立的进行复位。

GTX提供了两种复位类型: initialization 和 component。

? Initialization Reset: 初始化复位。这种复位用作GTX完全复位。必须在设备上电及配置完成之后。在必要的时候,TX端口和RX端口的复位(GTTXRESET 和 GTRXRESET)同样可被用来重新初始化GTX的TX和RX。

? Component Reset: 模块复位。对TX / RX 单独部分进行复位。 TX模块复位端口包括TXPMARESET 和TXPCSRESET 。RX 模块复位端口包含RXPMARESET,RXDFELPMRESET,EYESCANRESET, RXPCSRESET, RXBUFRESET和 RXOOBRESET。(有木有很多很复杂。。)

注:

1. 所有的复位高电平有效。

2. 这些复位都是异步的。对这些异步复位的推荐设计是一个(各自时钟域)时钟周期的脉冲信号。

3. 复位端口不应该被用做下电的目的。

两种复位类型主要有以下不同:

TX部分:

Xilinx FPGA平台GTX简易使用教程(三)

RX部分:

Xilinx FPGA平台GTX简易使用教程(三)

二、复位模式

GTX的初始化复位 (initialization reset) 只能使用顺序复位模式(Sequential mode )。

GTX的TX复位只能使用顺序复位模式(Sequential mode )。

GTX的RX复位可以使用两种复位模式:

Sequential mode :顺序复位。随复位状态机(initialization 或 component)顺序复位各个部分。

Single mode :单独复位。仅复位单个部分(PMA、PCS、内部功能块)。

复位完成由信号(TX/RX)RESETDONE表示,由低到高。

复位模式对CPLL和QPLL没有任何影响。GTX也可以被软件进行弹性复位设置,不管是哪种模式。

使用GTRESETSEL来选择复位模式,RESETOVRD必须驱动为低电平。详细见下表:

Xilinx FPGA平台GTX简易使用教程(三)

注:复位前,GTRESETSEL和RESETOVRD需要300-500ns的有效时间。

三、CPLL复位

在相关时钟边沿信号被检测到之前,CPLL必须使用CPLLPD端口来下电。在CPLLPD被释放后,CPLL在使用之前必须进行复位。每个GTX通道都有3个专用端口用来CPLL复位。如下图:

Xilinx FPGA平台GTX简易使用教程(三)

CPLLRESET :CPLL的复位输入。推荐设计是一个时钟周期。

CPLLLOCK :拉高时,表示CPLL的复位完成。

内部CPLL复位信号:低有效。但是由GTX内部电路产生的真正的CPLL复位必须比CPLLRESET高脉冲时间要长。这个时间跟带宽、时钟频率等有关。

四、QPLL复位

QPLL复位大致与CPLL相同。放张图:

Xilinx FPGA平台GTX简易使用教程(三)

五、GTX TX初始化与复位

开门见山的说:GTX的TX复位只能使用顺序复位模式(Sequential mode )。

GTX的TX使用一个复位状态机来控制复位过程。TX复位分为两部分:TX PMA和TX PCS。

回忆下(1)GTX基本知识所介绍的:GTX的TX和RX均有PMA+PCS两个子层组成。

在整个PMA和PCS中,都由这个复位状态机按顺序执行复位。如下图:

Xilinx FPGA平台GTX简易使用教程(三)

使用TXPMARESET来对TX进行复位,TXRESETDONE拉高表示复位完成。

直到TXUSERRDY被检测为高时,TX复位状态机才对PCS进行复位。但是,驱动TXUSERRDY为高需满足以下条件:

1. 所有应用到的时钟包括TXUSRCLK/TXUSRCLK2必须稳定,或者locked(在PLL/MMCM被使用的时候)

2. 用户接口已经准备好传输数据到GTX。

5.1 GTX TX复位和初始化的端口信号

Xilinx FPGA平台GTX简易使用教程(三)

5.2 GTX TX复位对配置完成的响应

TX复位必须满足下列条件:

1. 使用顺序复位模式,GTRESETSEL必须为低。.

2. GTTXRESET必须使用。

3. 在复位完成前(TXRESETDONE拉高),TXPMARESET和TXPCSRESET 必须驱动为低不变。

4. 在PLL locked之前,GTTXRESET不能被驱动为低。

如果加载配置时,复位模式默认为顺序复位模式,在配置加载后等待最少500ns,C/QPLLRESET 和GTTXRESET 就可以被断言了。

如果复位模式为single mode,用户必须:

1. 在配置加载完成后,等待最少500ns。

2. 将复位模式改为顺序复位模式 Sequential mode。

3. 再等待300-500ns。

4. 断言 C/QPLLRESET和 GTTXRESET。

推荐的设计是使用来自相关的CPLL或者QPLL的PLLLOCK 来释放GTTXRESET由高到低。

TX复位状态机等GTTXRESET拉高,开始TX复位,直到GTTXRESET被释放低为止。

如下图所示:

Xilinx FPGA平台GTX简易使用教程(三)

5.3 GTX TX复位对GTTXRESET脉冲的响应

GTX允许用户在任意时刻对TX进行复位,只需要给GTTXRESET一个有效的高脉冲信号。 TXPMARESET_TIME和 TXPCSRESET_TIME 可以被设置为静态的也可以通过DRP端口来动态设置以适配在申请 GTTXRESET之前要求的复位时间。

当使用GTTXRESET时必须满足以下条件:

1. 使用sequential mode必须将GTRESETSEL置低。

2. 在复位完成之前,TXPMARESET 和 TXPCSRESET 必须一直为低。

3. 相关 PLL必须 locked。

4. GTTXRESET的推荐设计是一个时钟周期脉冲。

Xilinx FPGA平台GTX简易使用教程(三)

5.4 GTX TX 模块复位

TX PMA和 TX PCS 可以单独进行复位。在 TXPMARESET 或者 TXPCSRESE复位过程完成之前,TGTTXRESET必须保持为低。驱动TXPMARESET从高到低来启动PMA复位程序, 在TXPMARESET复位过程中,TXPCSRESET必须保持为低。

在顺序复位模式,复位状态机在PMA复位完成后,(如果TXUSERRDY为高)自动开始PCS复位。如下图:

Xilinx FPGA平台GTX简易使用教程(三)

当TXUSERRDY为高时,驱动TXPCSRESET由高到低来启动PCS复位程序。在PCS复位过程中,TXPMARESET 必须保持为低。

在顺序复位模式,复位状态机仅复位PCS,如下图:

Xilinx FPGA平台GTX简易使用教程(三)

六、RX复位与初始化

已经快11点了,累了,溜了溜了,,,放张图:

Xilinx FPGA平台GTX简易使用教程(三)

结论

由GTX核分别输出了发送端TX和接收端RX的初始化完成信号:

TX: gt0_tx_fsm_reset_done_out(output)

RX: gt0_rx_fsm_reset_done_out(output)

直接使用这两个信号就好,TX复位完成就可以开始发送数据,RX复位就可以接收数据。

也可以加个信号 GT_RESET_DONE;

assign GT_RESET_DONE = gt0_tx_fsm_reset_done_out && gt0_rx_fsm_reset_done_out;

先用起来,后面再深入研究,不过了解了复位过程发现还是有点意思~

OK,前面说了一大堆结论却还是很简单的~

拿去搬砖吧~

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1646

    文章

    22097

    浏览量

    620720
  • 数据
    +关注

    关注

    8

    文章

    7264

    浏览量

    92403
  • Xilinx
    +关注

    关注

    73

    文章

    2185

    浏览量

    127133
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于AD9613与Xilinx MPSoC平台的高速AD/DA案例分享

    本文主要介绍基于Xilinx UltraScale+MPSoC XCZU7EV的高速AD采集与高速DA输出案例
    的头像 发表于 06-03 14:22 ?330次阅读
    基于AD9613与<b class='flag-5'>Xilinx</b> MPSoC<b class='flag-5'>平台</b>的高速AD/DA案例分享

    XILINX XCZU67DR FPGA完整原理图

    电子发烧友网站提供《XILINX XCZU67DR FPGA完整原理图.pdf》资料免费下载
    发表于 05-30 15:29 ?1次下载

    gtx是光纤吗

    ”,主要面向高端游戏玩家和追求高性能的用户。GTX显卡支持最新的图形处理技术,如DirectX 12、HDR等,能够为玩家带来流畅的游戏体验和高品质的图像效果。 GTX在高速收发器领域的定义: 在FPGA(现场可编程门阵列)等高
    的头像 发表于 05-08 10:37 ?812次阅读

    详解Xilinx的10G PCS PMA IP

    如果要在XilinxFPGA上使用万兆以太网通信,大致有种方法构建协议栈。第一种使用GTX等Serdes作为底层的PHY,上层通过HDL实现构建MAC和IP层,这种方式难度会比较大
    的头像 发表于 04-18 15:16 ?1023次阅读
    详解<b class='flag-5'>Xilinx</b>的10G PCS PMA IP

    xilinx FPGA IOB约束使用以及注意事项

    xilinx FPGA IOB约束使用以及注意事项 一、什么是IOB约束 在xilinx FPGA中,IOB是位于IO附近的寄存器,是FPGA
    的头像 发表于 01-16 11:02 ?1008次阅读
    <b class='flag-5'>xilinx</b> <b class='flag-5'>FPGA</b> IOB约束使用以及注意事项

    【米尔-Xilinx XC7A100T FPGA开发板试用】Key-test

    硬件: 一Xilinx XC7A100T FPGA开发板 二12V电源适配器 下载器 四 win10笔记本 软件: 一Vivado (指导手册有详细的安装下载流程) 二官方按键示例工程 按键示例
    发表于 01-09 16:08

    Verilog 测试平台设计方法 Verilog FPGA开发指南

    Verilog测试平台设计方法是Verilog FPGA开发中的重要环节,它用于验证Verilog设计的正确性和性能。以下是一个详细的Verilog测试平台设计方法及Verilog FPGA
    的头像 发表于 12-17 09:50 ?1226次阅读

    基于Xilinx ZYNQ7000 FPGA嵌入式开发实战指南

    电子发烧友网站提供《基于Xilinx ZYNQ7000 FPGA嵌入式开发实战指南.pdf》资料免费下载
    发表于 12-10 15:31 ?38次下载

    【米尔-Xilinx XC7A100T FPGA开发板试用】测试一

    感谢米尔电子和电子发烧友提供的米尔-Xilinx XC7A100T FPGA开发板。 MYD-J7A100T用的 FPGAXILINX 公司 ARTIX-7 系列的 XC 7A1
    发表于 12-08 08:48

    将ADC32RF42 EVM与xilinx ZC706开发板直接相连,JESD204B时钟无法建链成功,为什么?

    : Core_clk=100M---- 串接0欧电阻(LVDS):GTX_clk=100M---串接0.1uF电容(LVDS): SYSREF_FPGA=1.5625M-------- 串接0欧电阻(LVDS): SYSREF_ADC=1.5625M--------
    发表于 11-20 06:23

    采用Xilinx FPGA的AFE79xx SPI启动指南

    电子发烧友网站提供《采用Xilinx FPGA的AFE79xx SPI启动指南.pdf》资料免费下载
    发表于 11-15 15:28 ?0次下载
    采用<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>的AFE79xx SPI启动指南

    【米尔-Xilinx XC7A100T FPGA开发板试用】+04.SFP之Aurora测试(zmj)

    【米尔-Xilinx XC7A100T FPGA开发板试用】+04.SFP之Aurora测试(zmj) 在前一篇文章“【米尔-Xilinx XC7A100T FPGA开发板试用】+03
    发表于 11-14 21:29

    【米尔-Xilinx XC7A100T FPGA开发板试用】+01.开箱(zmj)

    推出的MYC-J7A100T核心板及开发板是基于Xilinx Artix-7系列XC7A100T的开发平台FPGA工业芯,兼容国产PG2L100H: XC7A100T-2FGG484I具有高度
    发表于 11-12 15:45

    Xilinx 7系列FPGA PCIe Gen3的应用接口及特性

    Xilinx7系列FPGA集成了新一代PCI Express集成块,支持8.0Gb/s数据速率的PCI Express 3.0。本文介绍了7系列FPGA PCIe Gen3的应用接口及一些特性。
    的头像 发表于 11-05 15:45 ?3492次阅读
    <b class='flag-5'>Xilinx</b> 7系列<b class='flag-5'>FPGA</b> PCIe Gen3的应用接口及特性

    如何申请xilinx IP核的license

    在使用FPGA的时候,有些IP核是需要申请后才能使用的,本文介绍如何申请xilinx IP核的license。
    的头像 发表于 10-25 16:48 ?1566次阅读
    如何申请<b class='flag-5'>xilinx</b> IP核的license