4.1 GTP复位逻辑的接口分析
总的来说,GTP的复位就是你想怎么复位都可以,支持整体复位,单个组件复位。我们也可以不复位,核不会因为我们没有进行软复位就不对核进行复位,在上电之后会自动进行一系列的复位,不随你的意志而转移。可以说GTP核复位做得非常的灵活、全面,但也因此多了非常多的复位相关信号。
本章节不会按照《GTP的时钟结构》那般细说每个信号了,因为涉及到了单个组件,而单个组件的介绍会在后文进行,所以复位相关的逻辑也会随组件的介绍来阐述,本文主要介绍GTP核上电后必须进行的复位逻辑,在核内部主要设计如下两个模块的内容,其实这两个模块的内容差别不大,了解一个另外一个也大概清楚了。
涉及到的对外接口信号如下所示,一共六个,分别对应发送模块和接收模块的复位输入与输出。
首先来说第一部分,发送部分的复位逻辑。也就是“gtp_core_TX_STARTUP_FSM.v”这个模块。如下图所示,有用的信号很少,才12个,我们先看下每个信号的含义,在来分析模块内部的逻辑。
我对接口信号进行了简单的分类,可分如下7类
1、 STABLE_CLOCK和TXUSERCLK:
两个时钟,第一个是系统时钟,第二个是“gtp_core_GT_USRCLK_SOURCE”产生的用户时钟,对该时钟的描述详见第三章,也可以简单的理解为两个时钟。
2、 SOFT_RESET:
用户接口的软复位,高电平有效,我们可以再任何时刻将其拉高,对整个发送模块进行复位。
3、 PLL0_RESET、PLL0REFCLKLOST和PLL0LOCK
第一个是对“gtp_core_common”模块的复位信号,第二、三分别是该模块的状态,也就是我们上文说的非常重要的“GTPE2_COMMON”这个原语的复位。
4、 GTTXRESET和TXRESETDONE
第一个是对“GTPE2_CHANNEL”发送通道的复位,第二个是复位完成信号。
5、 MMCM_RESET和MMCM_LOCK
第一个是对“gtp_core_GT_USRCLK_SOURCE”模块的发送部分PLL的复位,第二个自然是复位完成锁相信号。
6、 TX_FSM_RESET_DONE
本模块的复位状态机执行完成,复位完成。
7、 TXUSERRDY
拉高表示TXUSRCLK和TXUSRCLK2稳定,复位完成,是告知“GTPE2_CHANNEL”发送模块的。
快来扫描下方二维码关注公众号,领取站内所有相关资料,所有哦~
有建议、有需求、有疑问、联系我