xilinx_GTH的复位

Xilinx GTX/GTH复位与初始化篇(7系列)
在这里插入图片描述
GT在初始化完成后方可使用。什么叫初始化?我个人的理解:从复位解除后到GT的正常使用这一过程中的一系列动作,这个过程被称为初始化。初始化必定会涉及到GT的复位,甚至可以说复位是整个初始化的关键一环。
GT的复位由PLL的复位和数据通路(datapaths)的复位.
QPLL和CPLL的复位/初始化 相互独立
TX和RX的复位/初始化 相互独立
TX和RX的数据通路的复位/初始化 必须在QPLL/CPLL复位/初始化完成后才能能进行,就是说只有当CPLLLOCK拉高后,数据通路的复位才能解除。
不能把复位视为 power down,power down是把整个通路都给关闭。
PLL的复位以CPLL为例子
在这里插入图片描述

数据的通路的复位以TX为例子有两种
Reset Modes 有两种
一种是Sequential mode(默认)
一种是Single mode模式
Sequential mode(默认)模式很常见,Single mode模式反而很少使用,所以着重讲Sequential mode(默认)
在这里插入图片描述
GTTXRESET 就是数据通路的复位(必须要在QPLL/CPLL的LOCK信号拉高后才能解除,这一点要牢牢记住)

整个初始化的过程如下图,事实上GT初始化的状态机就是根据下图的意思写的。你看这个图,GT的初始化主要还是对复位的控制。
在这里插入图片描述
只进行数据通路的初始化,当然我们在写GT的初始化状态机时,不可能只写数据通路的初始化,必须写整个GT的初始化。
在这里插入图片描述
RX的初始化相对来比TX要稍微复杂一点,因为RX的电路本身比TX要复杂许多,但是原理还是一样,这里不再重复。

这个是GT的初始化依据,我们更关注的是GT初始化的状态机到底怎么写的问题。事实上Xilinx 的GT IP中就包含了GT的初始化代码。所以我们只要理解此代码即可 代码的名称为「gtwizard_tx_tx_startup_fsm.v」在学xx/gtwizard_tx/gtwizard_tx/example_design 目录夹下面。
这是它的端口,我们用的就SOFT_RESET,这上面的解释是,这个信号可以随时随地的拉高或者拉低。理由:SOFT_RESET的上升沿到来时(上升沿有效),整个GT进行一次初始化。这样一来GT的初始化控制就相当简单了,对于广大的使用者来说,也颇为方便。但是这样做也有比较明显的缺陷,大家想一想如果GT在中途需要对GT的参考时钟进行一次时钟配置,这个初始化的代码还能用吗?外部PLL的配置所需要的时间,远远大于GT的初始化所需要的时间,而现在这个代码只有在SOFT_RESET的上升沿到来时,整个GT才进行一次初始化。那么外部PLL还在配置状态,GT就在进行初始化,或者是外部PLL配置完成后,整个GT才进行一次初始化,这两种情况必然导致GT初始化失败。
所以外部PLL在再次配置开始,整个GT必须进入复位状态,等到外部的PLL再次配置完成后,整个GT才能进行初始化的动作。
所以当有中途PLL再次配置的这样情况,就要根据GT初始化的依据,修改GT的复位控制。
还有一个问题,我这里提到的是中途外部PLL再次进行配置,才会出现这样的情况,而FPGA配置后外部PLL首次进行配置,是可以使用此代码的,这是为什么?
在这里插入图片描述

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值