核使用
PCI Express®
基础复位期间断言有效的低电平有效复位信号 sys_reset 来对系统进行复位。断言此信号有效会导致包括收发器在内的整个核发生硬复位。复位必须保持断言有效,直至参考时钟按《PCI Express 基本规范》中的定义达成稳定状态为止。复位释放后,核会尝试进行链路训练并恢复正常操作。在典型的端点应用(例如,插卡)中,通常存在边带复位信号并且此信号应连接至 sys_reset
。对于无边带复位信号的端点应用,初始硬件复位应在本地生成。
在 PCI Express 中可能发生 4 种复位事件:
- “Cold Reset”(冷复位)
- 在上电时发生的基础复位。断言
sys_reset
信号有效就会导致核发生冷复位。 - “Warm Reset”(暖复位)
- 由硬件触发的基础复位,无需断电并重新上电。断言
sys_reset
信号有效就会导致核发生暖复位。 - “Hot Reset”(热复位)
- 在整个 PCI Express 链路上通过协议来进行复位的频带内传输就会导致整个端点器件发生复位。在此情况下,不使用
sys_reset
。对于热复位,断言cfg_hot_reset_out
信号有效即可标示复位源。 - “Function-Level Reset”(功能级别复位)
- 在整个 PCI Express 链路上通过协议来进行复位的频带内传输就会导致仅限特定功能发生复位。在此情况下,核会断言
cfg_flr_in_process
和/或cfg_vf_flr_in_process
(对应于要复位的功能)的位有效。与要复位的功能关联的逻辑必须断言cfg_flr_done
或cfg_vf_flr_done
的对应位有效才能标示它已完成复位流程。当向“Initiate Function Level Reset”(启动功能级别复位)位写入 1b 以启动 FLR 之后,该功能必须在 100 ms 内完成 FLR 和特定于该功能的所有初始化操作。
核的“User Application”(用户应用)接口具有输出信号
user_reset
。此信号会与user_clk
同步断言无效。在以下任何情况下,都会断言user_reset
信号有效: - “Fundamental Reset”(基础复位)
- 由于断言
sys_reset
有效而发生冷复位或暖复位。 - “PLL within the Core Wrapper”(核封装文件中的 PLL)
- 锁定丢失,表示时钟输入稳定性存在问题。
- “Loss of Transceiver PLL Lock”(收发器 PLL 锁定丢失)
- 只要任意收发器发生锁定丢失,均表示 PCI Express 链路存在问题。
解决列出的所有情况后,user_reset
信号与 user_clk
将同步断言无效,从而允许核尝试进行链路训练并恢复正常操作。