提升系统启动效率:优化Intel FPGA PCIe唤醒时间的策略与实践
Configuration via Protocol (CvP) − 深入解析
CvP是一种设计用来通过PCIe接口配置FPGA制造装置的方案,这允许在FPGA完全配置之前PCIe核心就可以开始工作。使用CvP,设计师可以分两个阶段进行配置:第一阶段配置核心部件,以便快速启动和通信;第二阶段配置FPGA的其它逻辑。Intelsupport页面提供了一系列表格,概述了不同FPGA系列使用CvP的详细用户指南和白皮书。
从用户指南到开源Linux驱动程序代码,设计师可以访问全套文档来实现CvP。例如,针对Arria 10 FPGA,官方不仅提供了实施CvP的用户指南,还提供了相应的开源CvP程序驱动代码,允许用户在其系统中利用这些代码作为参考或自定义CvP操作。
Autonomous模式 − 技术细节
在Autonomous模式下,PCIe硬件IP在FPGA周围的其他部分被配置完成后就可以开始运行。这对于减少FPGA从上电到对外相应的时延至关重要。特别地,Autonomous模式可用于如Intel Agilex®, Stratix® 10, 和Arria® 10等系列。
实际应用案例
讨论FPGA配置时间和PCIe规范的Intel社区论坛为设计工程师提供了一个交流平台,在这里可以分享个人经验、询问问题并获取专业指导。
以下是有关资源链接,供广大读者和设计师进行进一步的学习和应用:
这些资源和信息将帮助设计师不仅理解PCIe的唤醒时间要求,而且掌握必要的技术和策略以确保他们的设计在快速启动和响应方面达到行业标准。无论是面对新一代的Agilex设备还是已经稳固使用的Arria系列,Intel为工程师提供了广泛的支持,使其能够最大限度地利用FPGA的PCIe连接而不影响启动性能。
在接下来的博文中,我们将深度探索用于加速FPGA PCIe唤醒过程的Autonomous模式和其他技术。为了确保FPGA PCIe板卡能在PC启动的100毫秒内完成唤醒流程,工程师们需采取特定的配置策略和方法。以下内容根据原创By DeeZeng [Intel FPGA笔记] 的文章重新组织,并辅以网络搜索来确保准确性。
硬件快速配置的需求
在现代计算机系统中,PC要求PCIe设备在100ms内完成启动,以便系统能够及时扫描到这些设备。Intel FPGA作为基于SRAM的芯片,它们在断电后会丢失配置数据,这就意味着FPGA需要通过某种配置模式重新加载配置文件。常见的配置模式如ASx4和FPP,各自有不同的时间特性。
Arria 10和Cyclone V配置时间比较
举例而言,Cyclone V和Arria 10 FPGA在使用ASx4(主要是利用EPCS/PECQ芯片进行配置)和FPP(需要额外的外部Host和并行Flash)模式时,启动时间存在明显差异。在满足PCIe的100ms唤醒时间要求时,我们需要在FPGA配置时间之外,额外考虑Ramp Time以及Power-On Reset (POR) Time等因素。简单计算后可以发现,仅有80ms左右的配置时间并不足以提供安全保障,特别是对于资源配置较大的Cyclone V设备或是使用ASx4模式的Arria 10设备。
解决方法和Autonomous模式的利用
为了解决这些挑战,可以采取如下措施:
外接供电,确保FPGA先于主机开机。
通过PCIe供电方式实现主机重启时,不需要FPGA重配置。
利用Autonomous PCIe High Performance Interface (HIP) Mode。
在Autonomous模式下,Intel FPGA设备会先接收外围图像(periphery image),然后是核心图像(core image)。配置完成核心图像后,FPGA立刻进入用户模式(user mode)。在Autonomous HIP模式下,一旦外围图像配置完毕,PCIe硬IP即可启动并完成链路训练(Link Training),从而迅速响应主机的请求,大幅度减少唤醒时间。
如何设置Autonomous模式
设置Autonomous模式非常简单。在Quartus工程中勾选相关选项即可。Cyclone V,Arria V,Stratix V以及最新的Arria 10, Stratix 10等设备都支持autonomous PCIe HIP模式。
减少唤醒时间 — 以Arria 10为例
以Arria 10 FPGA为例,使用ASx4模式配置时,考虑以下几个时间组成:
Ramp Time:由FPGA开发板的电源电路决定,假设为10ms。
POR (Power-On Reset) Delay**:为了确保所有的供电稳定后再开始配置,Fast POR设置下约为12ms。
Periphery Image Program Time:配置外围图像的时间可以从配置文件尺寸和使用的数据线数量决定,例如用AS的100MHz,配置时间约为6.9ms。
Calibration:对于Arria 10来说,使用内部nios硬核IP进行校准,这个过程耗时较短。
当开启Autonomous模式时,总体启动时间可以粗略计算为30ms左右,这远低于PCIe要求的100ms唤醒时间标准。
总结来说,Autonomous PCIe HIP模式的引入为解决FPGA板卡快速响应PCIE唤醒时间要求提供了一条有效途径。通过精简配置过程,减少唤醒时间,并利用可靠的硬件设计和精密的时间控制,Intel FPGA设备能够在竞争激烈的技术市场上保持领先地位。设备的快速启动不仅提高了消费者体验,同时也降低了系统集成的复杂性。