首页 > 技术 > 内容

关于FPGA原型验证以及芯片验证

时间:2026-01-24  作者:Diven  阅读:0

信号在FPGA之间传输的固定时间通常比留在给定FPGA内的信号线传输时间长,因此FPGA间固定时间可能成为整个原型验证系统时钟速率的限制因素,特别是在使用TDM的情况下。如果我们专注于FPGA的IO和关键路径的时序约束,将对原型性能产生更大的影响。

SoC的顶层的约束适用于FPGA到其各自时钟域中的各个Flip_Flop,如果定义了跨时钟域,也适用于FPGA之间。当我们可以确保每个FPGA边界都有一个IOFF,与SoC中相应的元素对齐时,这一点对于性能而言非常重要。

在这里不会详细说明FPGA工具中的时序约束,因为原型验证供应商的用户指南才是此类信息的最佳来源,以下是最相关的简短说明:

综合工具将使用相应FPGA的估计时序和最大延迟模型。

布局布线工具使用精确的时间模型来获得最大时间,使用统计估计来获得最小时间。

综合、布局布线工具是时序驱动的,因此FPGA中的所有路径都受到约束,即使仅受全局默认值的约束,除非使用错误的路径约束或其方法来中断定时路径,明确给出宽松的定时。

黑盒将打断时序路径,因此建议为所有黑盒提供时序信息,以限制任何连接路径。

FPGA IO引脚被认为受到适用时钟约束的约束。

任何FPGA设计都得益于大量准确的时序约束,但有时设计者可能对最终环境或时钟域关系没有足够的理解来创建,这对于IO约束尤其如此。在基于FPGA的原型设计中,我们的优势在于:        对每个FPGA引脚的边界和外部条件有很好的理解。例如,我们知道电路板trace性能、电路板上采取的确切路线,甚至驱动信号的源FPGA中的逻辑。这些边界条件可以自动转换为驱动每个FPGA的综合、布局布线所需的时间约束。这个过程叫做预估时间。

FPGA时序边界的预估时间

可以通过确保路径上的FPGA引脚处有FF来改善任何FPGA间路径的时序。这是因为源FPGA输出引脚上的时钟到输出延迟和目标FPGA输入引脚上的设置时间被最小化。 每个FPGA的IO板都有多个嵌入式FF,这些FF“免费”提供给我们,所以为什么不使用呢?如果我们可以在原型中使用这些IO FF,那么还将提供一个额外的好处,即SoC顶级约束将默认应用于所有FF。

使用上述理想映射的FPGA到FPGA的时序受到顶层约束的约束,除非本地覆盖,否则顶层约束会自动传播到任何路径(内部或外部)两端的FF。应用于映射到IO 的FF的SoC FF的约束被简化,FPGA可以更容易地被隔离约束。这有助于我们的EDA工具流程,因为顶层约束将在每次设计迭代期间自动重新应用于FPGA。

如果分割软件或SoC设计不提供可轻易放置在FPGA IO 中的FF,那么手动或通过脚本化网表编辑添加这些FF是否可行?将额外的FF添加到SoC路径中,以便将其映射到IO FF中,当然,这会在该路径中引入流水线延迟,从而改变其系统级调度。出于原型设计的目的,我们不能随意添加这些额外的FF,因为这可能是为了提高性能,而不与原始设计人员进行检查,也可能在其地方添加补偿FF,以保持整个设计的进度。最好在每个SoC的模块边界处都有FF,并且仅在这些块边界处作为分割边界。  

FPGA组合边界的预估时间

如果在FPGA边界处插入FF或将现有FF移动到这些边界对于所有信号都是不可能的,则必须对跨越FPGA边界的组合路径进行仔细的时序约束。在这种情况下,我们需要根据路径的每个部分的复杂性来评估和划分FPGA之间的预估时间。

考虑到一个FPGA上的内部FF中的典型路径起始于另一个FPGA中的内部FF,我们需要打破适用的FF到FF约束,可能源自上述顶层SoC约束。由于只有总路径受系统级约束控制,我们需要确定映射到两个FPGA的路径的两部分应应用多少约束。然后,生成的IO约束将传递给每个FPGA的后续综合、布局布线工具。

这对于要求最高性能的设计尤为重要,因为存在或不存在精确的IO约束将导致位置和路线工具中的结果截然不同。默认情况下,分割后在隔离FPGA上工作的综合、布局布线都将假设各个时钟的整个周期可用于将信号从IO引脚传播到内部FF。这种假设几乎肯定是不正确的。

例如,如果信号来自另一个FPGA中的内部FF,则数据必须经过该FPGA的内部布线、其输出焊盘延迟加上电路板跟踪延迟,才能到达接收FPGA的引脚。接收FF的时钟可能已经在接收FPGA内部生成。我们可以看到,为了满足其设置定时要求,可用于将信号通过输入焊盘传播到接收FF的时间大大少于整个时钟周期。依赖默认值是有风险的,因此我们需要在组合边界处提供更好的IO约束,但这些值应该是什么?

值得注意的是,可以采用半手动方法:从第一遍FPGA时序分析中提取延迟信息,然后使用电子表格计算更精确的IO约束。在组合分区边界处为数百甚至数千个信号创建IO约束将是长期且可能容易出错的方法。还需要在每次设计迭代中重复。

另解决方法是应用接收FF时钟的半个时钟周期的默认值,并且该粗略值对于低性能目标可能是足够的。

好消息是,在组合分区边界上进行自动和精确的预测时间是可能的。例如,使用一个简单的算法,根据总FF到FF的间隙来预算IO约束。该综合以快速通过模式运行,以估计考虑IO焊盘延迟甚至跟踪延迟的路径的时间。路径中的多个FPGA边界和不同的时钟域也包含在时序计算中。结果是每个多FPGA路径的松弛值,我们可以看到FPGA之间共享的路径延迟的比例。这方面的一个例子如图所示,为了便于求和,用了夸张的数字。我们看到,时序预算合成已经估计,100ns的总时钟约束中的40ns用于遍历第一FPGA,而10ns用于第二FPGA。FPGA之间的轨迹上也有“飞行时间”的时间余量。

允许的总路径延迟(通常是时钟周期)在设备之间按照每个FPGA在总路径延迟中所占的比例进行预算。如果启动或捕获FPGA在总路径延迟中占有更大的份额,那么该FPGA的布局布线也将受到更宽松的IO定时约束,即路径被给予更多的时间。对于EDA工具来说,这是一个相对简单的过程,但只有在工具对整个路径具有自上而下的知识时才能完成。这一切都假设我们的板上的源FPGA和目标FPGA之间存在理想的时钟关系,我们可能需要采取额外的步骤来确保这一点。

 

编辑:黄飞

 

猜您喜欢


插头作为电气连接的重要组件,应用于多个领域。在家用电器中,插头是连接电源的必备部分,从冰箱、洗衣机到电视机,几乎每一台电器都离不开插头。在办公环境中,电脑、打印...
2025-01-12 00:00:00
贴片电阻,电子产品中常见的元件,其尺寸大小可不是随便定的。想知道怎么表示?其实很简单,主要用英制代码来描述,比如常见的0402、0603、0805、1206等等...
2024-11-26 11:29:26
电解电容在电子设备中是常见的元件。存储电能,但有时需要快速放电。本文将介绍电解电容放电的最快方法。 使用电阻放电电阻是最常用的方法。选择一个合适的电阻,连接到电...
2025-04-02 01:00:02
随着电子产品的不断发展,贴片电阻因其体积小、性能稳定而被应用于各种电路中。r820贴片电阻作为常见的,其读数大小的准确判定对于电路调试和故障排查尤为重要。本文将...
2025-11-03 18:00:04
吸烟仪是专为烟民设计的设备,旨在帮助用户更好地管理和控制吸烟行为。可以通过监测吸烟频率和烟量,帮助用户了解自己的吸烟习惯,从而做出相应的调整。吸烟仪通常配备有智...
2013-08-29 00:00:00
稳压二极管是特殊的二极管,应用于电源电路中,用于提供稳定的电压输出。主要功能是保证电路中的电压不受负载变化或输入电源波动的影响。本文将通过几个例题,帮助读者更好...
2025-04-10 11:30:37
在传感器技术迅速发展的时代,NDIR红外可燃气体传感器凭借其独特的技术优势成为近年来气体检测领域的热门之选。 非色散红外Non-Dispersive Infra...
2024-07-24 10:28:00
瓷片电容是电子元件中常见的。有着重要的作用。很多人对符号表示不太了解。本文将介绍瓷片电容的符号表示方法。瓷片电容的基本符号瓷片电容的符号很简单。通常是一个长方形...
2025-04-13 03:31:40
你是否想过,你的手机、笔记本电脑和其便携电子设备是如何在使用不同电压的电池或电源适配器的情况下正常工作的?这其中,DC/DC转换器是很重要的配件。简单来说,DC...
2024-07-16 00:00:00