基于FPGA的PCIe设备如何才能满足PCIe设备的启动时间的要求?

时间:2025-07-26  作者:Diven  阅读:0

根据PCIe的协议,当设备启动后,PCIe设备必须满足启动时间的要求,即上电后100ms内,完成PCIe设备的初始化。如果不能满足PCIe设备启动时间的要求,则lspci可能无法检测到基于FPGA的PCIe设备,需要reboot服务器。众所周知,FPGA芯片规模越来越大,那么如何做才能满足PCIe设备的启动时间的要求呢?

基于FPGA的PCIe设备如何才能满足PCIe设备的启动时间的要求?

7系列FPGA常见的配置模式如下图所示:

SelectMAP和Master/SlaveSerial是Xilinx早期的FPGA两类配置模式,SPI配置模式为SPI接口允许FPGA把标准的工业SPI Flash作为配置数据存储介质串行读取,同理BPI配置模式指FPGA可以从一个工业标准的并行NOR Flash读取配置数据。显然,对于单FPGA芯片的设计,BPI配置模式为最快速的配置FPGA的方法。在BPI配置模式下,配置时钟可以选择内部CCLK或者外部EMCCLK。下面的公式为计算FPGA配置时间的公式,从公式中可以看出,对于同型号的FPGA,bitstream size越小(7系列bitstream size 大小见附录1),配置时钟的频率越高,数据线位宽越大,则配置时间越短。

如果使用CCLK,配置速率最大为66Mhz,所以在高速配置FPGA的需求下,需要外部EMCCLK来满足配置时间的要求。EMCCLK最大频率计算方法见下面的公式,并且不能超过DS181, DS182, 和 DS183文档中定义的最大值。在7系列中,常见的EMCCLK时钟频率为100Mhz。比如对于K7325T,通过查阅bitstream size的大小为91,548,896 bits(87.3Mb),EMCCLK时钟频率为100Mhz,数据位宽为16,则配置时间为57ms,可以满足PCIe设备启动时间的要求。

在确定了采用BPI模式配置及外部配置时钟EMCCLK后,FPGA设计应该如何做呢。首先必须把EMCCLK引入到FPGA中,所以在逻辑顶层,要有EMCCLK的定义,如下所示:

Input emcclk;

在生成bitstream的时候,需要对EMCCLK做管脚约束,如下所示:

set_property IOSTANDARD LVCMOS18[get_ports emcclk]

set_property PACKAGE_PIN R24[get_ports emcclk]

还需要在xdc中添加如下约束,也可以在图形界面中完成,添加在xdc里可以减少图形界面的交互,提高设计效率。

set_propertyBITSTREAM.CONFIG.EXTMASTERCCLK_EN DIV-1 [current_design]

set_propertyBITSTREAM.CONFIG.BPI_SYNC_MODE TYPE2 [current_design]

如果通过上述公式的计算,发现仍然不能满足100ms的要求,还可以尝试如下方法解决配置FPGA的问题。第比较简单,生成bitstream的时候,可以选择压缩bitsteam的大小,这个设置可以通过图形界面完成,也可以通过在xdc里添加Compress参数实现。第二种方法比较麻烦,可以使用Tandem Configuration,具体请参考xapp1179。通过公式的计算,以及上述几种方法的选择,最终可以使设计满足PCIe设备启动时间的要求。

附录:7系列FPGAbitstream size

猜您喜欢

警示灯是重要的安全设备,应用于多个领域,以确保人们的生命安全和财产保护。在交通领域,警示灯常用于道路标识、交通信号灯以及应急车辆,提醒驾驶员和行人注意安全。在建...
2013-09-29 00:00:00

贴片电阻体积小巧,表面通常印有数字或色环来表示阻值,但如何快速辨别其方向呢?其实,掌握几个技巧就能轻松识别。对于有数字标识的贴片电阻,通常数字的阅读方向与电阻本...
2024-11-29 10:25:48


电位器作为调节电路参数的重要元件,应用越来越。SEI(世达柏科技)作为知名的电位器制造商,高品质的产品和丰富的规格赢得了市场的认可。本文将详细介绍SEI电位器的...
2014-09-23 16:37:30

贴片电阻是电子电路中常见的元器件,其额定电压是选择和使用电阻时需要考虑的重要参数。额定电压是指电阻能够长期稳定工作的最大直流电压或交流电压的有效值。超过这个电压...
2024-11-29 10:26:20

2009-01-15 00:00:00

贴片电阻上的「01R」表示0.01欧姆,也常写成「10毫欧」。 「R」代表小数点,它前面的数字是有效数值,后面的数字则表示小数点后有几位。 例如,「01R」表示...
2024-11-26 11:29:53

贴片电阻上的200代表其阻值为200欧姆。 贴片电阻通常使用数字编码来标记阻值,这种编码方式简洁且易于机器识别。 200是三位数字表示法的一种常见形式,前两位数...
2024-11-29 10:25:55


科技日新月异的今天,电池作为各种电子设备和电动交通工具的核心能源供给,其重要性不言而喻。电池管理技术,正是保障电池安全高效运行的关键所在。电池管理,简单来说,就...
2024-01-06 00:00:00