pma_init reset_pb
注意1:在用ILA抓信号波形,但发现pma_init拉高后链路仍然无法建立,这种情况常见于reset_pb释放过早。
注意2:实际工程中容易踩的坑是:当使用外部复位芯片时,reset_pb的低电平持续时间可能不足。我记得Xilinx论坛有个案例就是因为复位脉冲宽度不够导致GT收发器初始化失败
注意3:pma_init作为状态机的核心控制信号,它从拉高到完成初始化的时间跨度是毫秒级的,这点和普通数字逻辑完全不同
时间轴------------------------------------------>
信号 | pma_init | reset_pb | user_clk
-------------------------------------------------------------
关键信号定义
一、reset_pb (异步复位)
功能:全局异步复位,强制GT收发器进入初始状态。
极性:低电平有效(拉低复位,拉高释放)。
注意:需满足最小脉冲宽度(通常 ≥100ns)。
二、pma_init (PMA初始化)
功能:启动收发器的物理介质附加层(PMA)初始化序列。
极性:高电平有效(拉高启动初始化)。
关键点:必须在reset_pb释放后拉高,且需维持足够时间(通常 ≥10µs)。
三、复位说明
pma_init(gt_reset)的范围大一些,会先复位高速收发器,然后复位内核逻辑。而Reset_pb(reset)只会复位内核逻辑,不会复位底层的高速收发器。
参考:Aurora 64B/66B IP的原理及示例工程分析(高速收发器二十四)-CSDN博客
参考:Xilinx Aurora IP应用介绍_pma-init-CSDN博客