摘要:以下都是用来表示同样适用的发送器和接收器可以独立同步初始化。用什么都是多频段进行复位,复位操作完全独立于复位。确定复位序列所需的时间。在复位过程中,必须保持低电平。
所有IP核都不能正常工作。一半原因是时钟,一半是重置。
总结:
Xilinx FPGA平台GTX易用教程(摘要)
目录
序
一.复位和初始化
二、复位模式
三。CPLL复位
四。QPLL复位
动词 (verb的缩写)GTX TX初始化和复位
5.1 GTX TX复位和初始化的端口信号
5.2 GTX TX复位对配置完成的响应
5.3 GTTX Reset对GTTX复位脉冲的响应
5.4 GTX发射模块复位
不及物动词RX复位和初始化
结论
序言和初始化部分其实挺复杂的。幸运的是,GTX已经为我们做到了。不想麻烦跳到文末看结论~ ~ ~不过了解一下还是挺有意思的~ ~
同时,GTX的重置是相当随机的。你可以随意重置。它支持整体复位和个别组件复位。我们不需要重置。核心不会因为我们没有软复位就复位核心。通电后会自动进行一系列的复位,不会按照你的意志转移。让我们仔细看看GTX的重置!
鉴于作者刚学习FPGA半年,对一些底层内容不太熟悉,本章内容基本是UG476关于复位和初始化章节的翻译。
一、复位和初始化FPGA上电配置后,必须先初始化,才能使用GTX/GTH。(在下文中,它将被称为GTX,这同样适用于GTH。)GTX的发射机(TX)和接收机(RX)可以独立和同步初始化。
GTX的TX和RX初始化包括两个步骤:
初始化相关PLL以驱动TX/RX。初始化TX和RX的数据路径(PMA+PCS)。GTX的TX和RX可以接收来自QPLL或CPLL的时钟。因此,相关PLL(QPLL/CPLL)必须在TX/RX初始化之前初始化。TX/RX使用的任何PLL都是多频段复位,PLL复位操作完全独立于TX/RX复位。相关PLL复位完成并锁定后,必须执行TX/RX的数据路径复位。(就像我们用PLL IP核一样,时钟要等到locked变高才能使用。)
看图:TX/RX独立并行复位。
GTX的TX和RX使用一个状态机来控制初始化过程,分成几个块分别复位。该分区允许复位状态机按顺序控制复位过程:PMA可以首先复位,PCS可以在TXUSERRDY或RXUSERRDY信号有效后复位。需要时,它还允许PMS、PC及其内部功能模块独立复位。
GTX提供两种重置类型:初始化和组件。
初始化复位:初始化复位。该复位被用作GTX完全复位。设备通电并配置后。必要时,TX端口和RX端口的复位(GTTXRESET和GTRXRESET)也可用于重新初始化GTX的TX和RX。
组件:模块复位。TX/RX的多频段部分复位。TX复位端口包括TXPMARESET和TXPCSRESET。RX模块复位端口包括RXPMARESET、RXDFELPMRESET、EYESCANRESET、RXPCSRESET、RXBUFRESET和RXOOBRESET。有许多复杂的树。。)
注意:
的所有复位高电平都有效。这些复位是异步的。这些异步复位的推荐设计是具有时钟周期的脉冲信号(在其各自的时钟域内)。复位端口不应用于关断目的。这两种类型的复位主要有以下区别:
TX部分:
RX零件:
二、复位模式
只有顺序模式可用于GTX的初始化复位。
GTX的TX复位只能使用顺序复位模式。
两种复位模式可用于GTX的接收复位:
顺序模式:顺序复位。用复位状态机(初始化或组件)按顺序复位各部分。
单模:多频段复位。仅复位单个部件(PMA、PCS、内部功能块)。
复位由信号(TX/RX)RESETDONE从低到高指示。
复位模式对CPLL和QPLL没有影响。GTX也可以通过软件弹性复位,无论是哪种模式。
使用GTRESETSEL选择复位模式,RESETOVRD必须被拉低。有关详细信息,请参见下表:
注:复位前,GTRESETSEL和RESETOVRD需要300-500ns的有效时间。
三。在检测到相关时钟边沿信号之前,CPLL复位,CPLL必须使用CPLLPD端口关断。CPLLPD释放后,CPLL必须在使用前复位。每个GTX通道都有三个专用端口用于CPLL复位。如下图:
cpll reset:cpll的复位输入。推荐的设计是时钟周期。
CPLLLOCK:拉高时,表示CPLL复位完成。
内部CPLL复位信号:低电平有效。但是GTX内部电路产生的真实CPLLReset必须比CPLLRESET的高脉冲时间长。这个时间和带宽、时钟频率等有关。
四。QPLL复位QPLL复位与CPLL复位大致相同。放个图:
动词 (verb的缩写)GTX TX初始化和复位
让我们开门见山:GTX的TX复位只能使用顺序复位模式。
GTX的TX使用复位状态机来控制复位过程。TX复位分为两部分:TX PMA和TX PCS。
回想以下(1)GTX的基础知识:GTX的TX和RX是由PMA+PCS子层组成的。
在整个PMA和PCS中,复位状态机按顺序执行复位。如下图:
TXPMARESET用于复位TX,TXRESETDONE被拉高表示复位完成。
在检测到TXUSERRDY为高电平之前,TX复位状态机不会复位PCS。然而,要将TXUSERRDY拉高,必须满足以下条件:
包括TXUSRCLK/TXUSRCLK2在内的所有应用时钟必须稳定,或者锁定的(当使用PLL/MMCM时)用户接口准备好向GTX传输数据。5.1端口信号端口,用于GTX TX的复位和初始化
方向
时钟域
形容
GTTXRESET
投入
异步的
TX复位,变为高电平,然后释放,开始整个TX复位序列。确定复位序列所需的时间。
TXPMARESET
投入
异步的
TX PMA复位。驱动高电平,然后释放以启动TX PMA复位过程。在顺序复位模式下,该复位端口将激活PMA和PCS进行复位。
TXPCSRESET
投入
异步的
Tx复位。驱动高电平,然后释放以启动TX PCS复位过程。在顺序复位模式下,该复位端口将激活PMA和PCS进行复位。
TXUSERRDY
投入
异步的
TXUSRCLK和TXUSRCLK2时钟稳定后,用户应用程序将端口驱动至高电平。例如,如果使用MMCM,这里可以使用MMCM的锁定信号。
TXRESETDONE
输出
TXUSRCLK2
拉高表示复位完成。
CFGRESET
投入
异步的
保持。
TXPMARESETDONE
输出
异步的
拉高表示TX-PMA复位完成。
PCSRSVDOUT
输出
异步的
保持。
5.2 GTX TX复位对配置完成的响应
TX复位必须满足以下条件:
1.要使用顺序复位模式,GTRESETSEL必须为低电平。。
2.必须使用GTTXRESET。
3.在复位完成之前(TXRESETDONE被拉高),TXPMARESET和TXPCSRESET必须被拉低且保持不变。
4.PLL锁定前,GTTXRESET不能被拉低。
加载配置时,如果复位模式默认为顺序复位模式,并且加载配置后至少等待500ns,则可以置位C/QPLRESET和GTTXRESET。
如果复位模式是单模式,用户必须:
1.加载配置后,等待至少500ns。
2.将复位模式更改为顺序复位模式。
3.再等300-500ns。
4.置位C/QPLLRET和GTTXRESET。
推荐的设计是使用相关CPLL或QPLL的PLLLOCK将GTTXRESET从高电平释放到低电平。
复位状态机,如TX状态机,将GTTXRESET拉高并开始TX复位,直到GTTXRESET被释放为低电平。
如下图所示:
5.3 GTX TX复位响应GTTXRESET脉冲GTX允许用户随时复位TX,只需要给GTTXRESET一个有效的高脉冲信号。TXPMARESET_TIME和TXPCSRESET_TIME可以通过DRP口静态或动态设置,以适应申请GTTXRESET前所需的复位时间。
使用GTTXRESET时,必须满足以下条件:
要使用顺序模式,GTRESETSEL必须设为低电平。TXPMARESET和TXPCSRESET必须保持低电平,直到复位完成。3.相关PLL必须锁定。4.GTTXRESET的推荐设计是时钟周期脉冲。
5.4 GTX TX模块复位TX PMA和TX PCS可以用多个频段复位。在TXPMARESET或TXPCSRESE复位过程完成之前,TGTTXRESET必须保持低电平。将TXPMARESET从高电平驱动到低电平,启动PMA复位程序。在TXPMARESET的复位过程中,TXPCSRESET必须保持低电平。
在顺序复位模式下,复位状态机在PMA复位完成后自动启动PCS复位(如果TXUSERRDY为高电平)。如下图:
当TXUSERRDY为高电平时,TXPCSRESET从高电平变为低电平,以启动PCS复位程序。在PCS复位期间,TXPMARESET必须保持低电平。
在顺序复位模式下,复位状态机仅复位PC,如下图所示:
不及物动词RX复位和初始化
快11点了。我累了,我走了。、、放个图:
结论GTX内核分别输出发送器TX和接收器RX的初始化完成信号:
TX: gt0_tx_fsm_reset_done_out(输出)
RX: gt0_rx_fsm_reset_done_out(输出)
直接用这两个信号就行了。TX复位完成后,您可以开始发送数据,RX复位后,您可以接收数据。
或者加一个信号gt _ reset _ done
assign GT _ RESET _ DONE = GT 0 _ tx _ FSM _ RESET _ DONE _ out & > 0 _ rx _ FSM _ RESET _ DONE _ out;先用,以后再深入研究,不过了解一下重置过程还是挺有意思的~
好了,前面说了很多结论,但还是很简单的~
拿去搬砖吧~
评论前必须登录!
注册