当前位置:首页 > FPGA > 正文内容

提升系统启动效率:优化Intel FPGA PCIe唤醒时间的策略与实践

chanra1n10个月前 (03-10)FPGA1005
继续深入探讨FPGA配置时间,特别是与PCIe唤醒时间要求的关系时,Configuration via Protocol (CvP)和Autonomous模式显得尤为重要。根据Intel的官方支持资源,这些配置方案在各种Intel FPGA产品上的实施允许系统设计者确保它们的设计可以在规定的100ms内被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设备能够在竞争激烈的技术市场上保持领先地位。设备的快速启动不仅提高了消费者体验,同时也降低了系统集成的复杂性。


扫描二维码推送至手机访问。

版权声明:本文由我的FPGA发布,如需转载请注明出处。

本文链接:https://myfpga.cn/index.php/post/386.html

分享给朋友:

“提升系统启动效率:优化Intel FPGA PCIe唤醒时间的策略与实践” 的相关文章

ALGO C4MB V11引脚参照表(持续更新)

ALGO C4MB V11引脚参照表(持续更新)

功能:常用引脚CLKPIN_E1LED0PIN_G15LED1PIN_F16LED2PIN_F15LED3PIN_D16KEY1PIN_E15KEY2PIN_E16KEY3PIN_M15KEY4PIN_M16RXDPIN_M2TXDPIN_G1功能:VGA引脚VGA_BLUE[0]PIN_C15VG...

基础实验十三,DS18B20温度传感器

基础实验十三,DS18B20温度传感器

//==========================================================================// Author     : ChanRa1n// Description: Training for Intel FPGA/...

Verilog实现时钟分频(奇数分频,偶数分频)二分频 三分频 四分频 五分频

Verilog实现时钟分频(奇数分频,偶数分频)二分频 三分频 四分频 五分频

完整工程文件:clkdiv.zip//------------------------------------------------------// File Name        : clkdiv.v// Author     &nb...

Xilinx FIFO和ILA学习

Xilinx FIFO和ILA学习

`timescale 1ns / 1ps//-------------------------------------------------------//Filename       ﹕ FIFO_TOP.v//Author      ...

Verilog实现串并转换

Verilog实现串并转换

项目文件:SIPO.zip//------------------------------------------------------// File Name        : SIPO.v// Author       &n...