多片FPGA原型的两种分割方式介绍

时间:2025-08-02  作者:Diven  阅读:0

综合工具的任务是将SoC设计映射到可用的FPGA资源中。自动化程度越高,构建基于FPGA的原型的过程就越容易、越快。

多片FPGA原型的两种分割方式介绍

SoC设计到FPGA原型设计的三个“定律”:

法则1:SoC规模一般大于单个FPGA规模(SoC的规模一般比较大)

法则2:SoC速率比FPGA速率更快(FPGA虽快但不及SoC快)

法则3:SoC设计方法和FPGA设计方法是有些不一致的(需要移植)

这些“定律”的会带来如下挑战:

a)  设计可能需要分割到多片FPGA系统;

b)  该设计可能无法以全SoC速度运行;

c)  为了使FPGA就绪,设计可能需要一些代码的返工移植工作。

诚然,这些挑战确实比较大,有时会被打破,例如,一些SoC设计确实只需要一个FPGA来原型,从而打破了第一条法律。这三条定律很好地提醒了使用基于FPGA的原型时需要克服的主要问题,以及为FPGA做好设计准备所需的步骤。

综合方法      

执行原型设计的最重要原因是与其验证方法(如Simulation)相比,实现尽可能高的性能;综合结果如果不够完美会危及这一目标。为了实现更快的运行时间,一些合成工具允许使用快速通过的低工作量综合,或者减少综合目标是很有吸引力的,正是为了这种权衡。在某些设计块中,为了满足原型的总体性能目标,必须获得最佳的综合结果。综合工具有许多特性,通常对原型开发人员有益。其中包括:

快速综合:操作模式,其中综合工具忽略一些完全优化的机会,以便更快地完成综合。通过这种方式,以FPGA性能为代价,可以使运行时间比正常速度快2到3倍。如果综合运行时间以小时为单位,那么这种快速模式将在原型项目期间节省许多天或数周的等待时间。快速合成运行时在最初的分区和实现试验中也很有用,因为只需要估计设计大小和粗略的性能。

增量综合:在这种操作模式中,设计被视为每个FPGA内的块或子树。综合工具维护每个子树的历史版本,并可以注意到新的RTL更改是否影响每个子树。如果增量综合识别出子树没有改变,那么将避免重新综合,而是使用该子树的历史版本,从而节省大量时间。增量综合引擎的决策作为放置约束被前向注释到后端布局布线工具,以便保持先前的逻辑映射和布局。考虑使用增量综合可以显著减少从小型设计变更到FPGA板上最终实现设计的周转时间。

物理综合:针对物理实现优化综合的功能,其中工具考虑了实际的路由延迟,并产生逻辑布局约束,供布局布线工具使用。该特征通常为设计产生更快和更准确的定时闭合。这似乎与我们对上述快速综合的考虑相矛盾,但通常情况下,原型中的一个特定FPGA难以达到全速,因此选择性地使用物理综合是使FPGA能够更快地完成定时关闭的方式。

尽管FPGA容量已根据摩尔定律增加,但SoC设计本身的尺寸和复杂性也有所增加,因此SoC设计通常仍大于当今最大的FPGA设备。原型设计的第一定律越来越在多数情况下显得正确,那么FPGA原型设计者面临的任务是将SoC设计划分为多个更小的FPGA器件。

RTL级别的分区      

当在综合之前对设计进行分区时,输入格式是SoC设计的RTL。分割的任务是从总体设计树中创建FPGA大小的子设计的过程,可以在一定程度上实现自动化。下图显示了RTL分割工具流程中的步骤。

该流程通常是自上而下执行的,这要求分区工具和运行的工作站具有容纳整个SoC设计的能力,其数据量可达千兆字节。工具效率和运行时间可能成为重要因素,需要考虑从RTL更改到新版本的设计分区并在原型板上运行。

最初,RTL分割方法要求在整个设计中进行编译和合成,这可能会导致运行时间过长,并需要大量的服务器资源。在所有FPGA上并行执行FPGA综合,这需要分割工具对每个FPGA的最终结果进行估计,以便推断每个设备上IO的时序预算。好处是,通过并行运行多个综合工具,总运行时间大大提高。每次RTL更改和bug修复的周转时间都会相应减少,特别是在使用增量综合布局布线技术的情况下。

这种流动的缺点是实际上是双通道流动。为了进行正确的分割,需要了解每个RTL模块所需的最终FPGA资源。如果可能的话,如果定时驱动分区是我们的目标,那么每个模块边界的时序知识也会很有用。这种对资源和时间的准确了解只能来自综合(或者最好来自地点和路线)。在将结果反馈给分区器之前,我们需要提前跳过并预运行综合。为了估计资源和时间,综合以快速通过自动模式运行。尽管是两程流程,但实际上预合成似乎是单程流程中的额外“估计”步骤。

自顶向下的RTL分割功能最强大的情况是性能,特别是FPGA间性能非常重要。通过自上而下的工作和使用系统级约束,RTL分割允许同时在多个FPGA之间对时间进行预算和约束。该合成还更能够考虑板级延迟和引脚复用,以便在各自的流中正确地约束各个FPGA。

综合后网表级别分割      

下图显示了单个模块如何被合成并分别映射到FPGA元件中,从而产生大量的门级网表。网表被组合成一个层次结构,然后重新分组为FPGA大小可以容纳的规模。为FPGA调整网表(例如,将门控时钟更改为启用),并为将在外部建模的模块(例如,RAM)创建包装器。

网表分割的主要优点是,只有那些已更改的RTL源文件才被重新合成,而其RTL文件的结果不会被更改。综合生成的网表并进行分区结果也很可能是可重用的,除非模块边界已经改变。这有助于更容易的自动化和作为流编写脚本。


审核编辑:刘清

猜您喜欢

精密电阻作为关键元器件,是不可替代的配件。LIZ(丽智)作为国内知名的精密电阻品牌,优异的品质和稳定的电流参数受到了关注。本文将围绕LIZ精密电阻的电流参数及品...
2016-09-15 04:39:30

气动钻机在工业应用中使用,但不同类型的气动钻机在功能和性能上存在显著区别。气动钻机可以分为轻型和重型两种。轻型气动钻机适合于小型作业,如家庭装修和小型工程,操作...
2022-01-22 00:00:00

防浪涌电阻作为保护电路的重要元件,是关键配件。顺络(Sunlord)作为国内知名的电子元器件制造商,其防浪涌电阻产品因性能稳定、质量可靠而受到关注。本文将详细分...
2016-04-14 02:05:30

压敏电阻作为重要的过电压保护元件,应用于各种电子设备中。丽景电子作为国内知名的压敏电阻品牌,其产品因性能稳定和质量可靠而受到关注。本文将围绕“丽景电子压敏电阻电...
2019-06-19 21:26:30

贴片电阻是电子电路中常用的元器件,其型号种类繁多。为了方便工程师和电子爱好者快速查找所需型号,本文提供最新版的贴片电阻型号大全表一览。该表详细列出了常用贴片电阻...
2025-04-14 15:03:36

十字槽大扁头自攻螺钉是常见的紧固件,应用于木材、塑料和金属等材料的连接。其规格尺寸通常包括螺钉的直径、长度及螺纹类型。常见的直径有2.5mm、3.5mm、4.2...
2011-06-23 00:00:00

5.8G微波雷达等传感技术作为一种特殊的距离/位移测量手段,能够解决近程目标的测量问题,因而也被称为近程雷达。已从军用领域扩展到民用领域,并在位置测量、人物识别...
2023-08-10 14:38:00

吊环螺栓是常见的连接件,应用于吊装、运输等领域。主要区别在于设计、材质和使用场景。吊环螺栓的设计有不同类型,包括直径、长度和环形结构的形状。这些设计差异使得适用...
2011-11-18 00:00:00

十字槽薄头自攻螺钉是应用于各类材料连接的紧固件。设计特点是头部为扁平形状,适合在有限空间内使用,同时减少了突起,确保了美观与安全。螺钉的十字槽设计使得在安装时,...
2011-06-03 00:00:00

电子设备日益小型化、功能日益强大的今天,对电源管理芯片的要求也越来越高。600mA 降压型同步整流芯片作为一种高效、可靠的电源解决方案,正逐渐成为各种电子产品的...
2024-07-18 00:00:00