用于 PCI Express* 的 英特尔® FPGA R-tile Avalon® Streaming IP用户指南

ID 683501
日期 6/26/2023
Public
文档目录

2.2.2.3. 独立的GPIO PERST

R-Tile Avalon® Streaming Intel FPGA IP for PCIe允许更灵活地处理每个有效PCIe核的独立复位操作。有效PCIe核取决于为IP选择的Configuration Mode。关于Configuration Mode的更多信息,请参阅Configuration Modes Supported by the R-Tile Avalon® Streaming Intel FPGA IP for PCI Express

在IP Parameter Editor中使能Enable Independent GPIO Perst后,有额外pX_cold_perst_n_ipX_warm_perst_n_ipX_ip_rst_n_o端口可用。

请参考如下指导内容处理独立复位操作:
  • pin_perst_n or pX_cold_perst_n_i输入端口可以触发冷复位。这样将清除粘滞位(sticky bits)并复位物理层。
  • pX_warm_perst_n_i输入端口可以触发热复位。这样将不会清除粘滞位但将会复位物理层。
    使用的输入端口 粘滞位清除 无粘滞位清除 PHY Lane复位
    pin_perst_n
    pX_cold_perst_n_i
    pX_warm_perst_n_i
  • pin_perst_n对于pX_cold_perst_n_ipX_warm_perst_n_i 端口有最高优先权。
  • pin_perst_n被置位后(即,低电平)所有有效PCIe核将复位。

  • 解除置位pin_perst_n后(即,高电平),可使用pX_cold_perst_n_i输入端口独立触发每个PCIe核上的冷复位操作。

  • 解除置位pin_perst_n时(即,高电平),可使用pX_warm_perst_n_i输入端口独立触发每个PCIe核上的热复位。
    图 8.  pX_cold_perst_n_i/pX_warm_perst_n_i vs. pin_perst_n行为
    图 9.  pX_cold_perst_n_i/pX_warm_perst_n_i行为
  • 不支持输入复位输入端口pin_perst_npX_cold_perst_n_ipX_warm_perst_n_i并发置位。
  • 使用pX_cold_perst_n_i对其中一个有效内核执行冷复位,必须只能在对应的pX_reset_status_n端口解除置位(即,高电平)后发生。例如,在Configuration Mode 2 (x8x8)中,为了触发p0_cold_perst_n_i上的独立冷复位,p0_reset_status_n必须解除置位(即,高电平)。
  • 使用pX_warm_perst_n_i对其中一个有效内核执行热复位,必须只能在对应的pX_reset_status_n端口解除置位(即,高电平)后发生。例如,在Configuration Mode 2 (x8x8)中,为了触发p0_warm_perst_n_i上的独立热复位,p0_reset_status_n必须解除置位(即,高电平)。
  • 同样的对于pin_perst_n,一旦pX_cold_perst_n_i 被置位(即,低电平),需要将该置位最少保持100ms。
  • 同样的对于pin_perst_n,一旦pX_warm_perst_n_i被置位(即,低电平),需要将该置位最少保持100ms。
    图 10. 后续独立PERST操作之间的间隔
  • 应该避免在功能级复位期间,或着功能级复位完成之前置位pX_cold_perst_n_ipX_warm_perst_n_i,因为这样可能影响链路训练过程。如果发生了该情况,请置位pin_perst_n来正确完成链路训练过程。
  • pX_cold_perst_n_ipX_warm_perst_n_i端口路由到General Purpose I/Os (GPIOs),Application逻辑必须实现debounce logic(去抖逻辑)来防止switch bouncing(开关抖动)并触发不经意的置位。去抖逻辑由一个计数器组成,在信号稳定之前将其传播到目标端口。如果这些端口未路由到GPIO,并且仅被内部架构逻辑使用,就无需去抖逻辑。
    图 11. 去抖逻辑之前和之后的pX_cold_perst_n_i/pX_warm_perst_n_i信号