c语言sscanf函数的用法是什么
277
2022-11-19
生产和验证高质量的FPGA IP
验证 IP 不仅仅是功能。功能的交互、时间的可变性和测试策略都成为更广泛的验证策略的因素。
FPGA 开发提出了三个关键挑战。一是 FPGA IP 通常是高度参数化的,这会产生大量的设计变体来进行测试。另一个问题是 FPGA IP 开发人员需要验证一旦集成到用户设计中就可以满足时序要求。最后,为 FPGA 开发的 IP 比为其他平台开发的 IP 更容易受到架构变化的影响。验证环境以尽可能少的工作量适应这些架构更改非常重要。
参数化特征
对于大量参数,很快就会发现,如果允许随机设置每个参数,那么命中每个排列将永远持续下去。验证工程师必须定义相关的参数排列子集,并且对最终客户更有可能使用的参数排列权重很大。此外,应该选择更好地执行设计的排列,例如那些导致完全 FIFO 条件或很少使用的状态转换的排列。约束随机验证非常适合此目的,因为它允许工具根据验证者的约束随机化参数值,并使用覆盖率度量来查看是否命中了重要的排列。如果不是,则验证者可以运行更多测试或更改约束值分布的权重。
验证时间
FPGA IP 开发人员面临的挑战之一是确保 IP 一旦集成到客户设计中就能够满足时序要求。由于难以对具有大参数空间的设计进行功能验证,因此同样难以理解参数对满足时序能力的影响。开发人员面临的另一个障碍是 IP 可能会与用户设计的其他部分竞争 FPGA 架构资源,这会使满足时序要求变得更加困难。
开发人员可以采用多种技术来帮助确保 IP 将继续满足时序要求,即使集成到用户设计中也是如此。有代表性的示例设计很不错,但不是必需的。如果示例设计不可用,请双重注册将进入 FPGA 架构的所有 I/O。芯片上或关闭的 I/O 应连接到适当的位置。
最后一步是确保不同的参数设置不会对满足时序的能力产生不利影响。确定最有可能对时序收敛产生影响的关键参数。随机化识别的参数,以区域约束和更高的时钟频率运行,并确保在 IP 目标的所有 FPGA 器件中仍然可以满足时序要求。开发人员运行的参数组合越多,他们对 IP 即使在最困难的客户环境中也能满足时序要求的信心就越大。
将测试场景与实现分离
设计人员可能需要在设计周期后期更改内核的延迟或数据路径宽度,作为对布局和布线的响应,表明设计将难以满足时序要求,或者利用更快、更快速的 FPGA /或具有不同数量的资源。如果验证工程师没有预料到这种变化(例如,测试场景假定一个固定的延迟),那么可能需要更改大量测试来编写新的预期。一个设计良好的验证环境将需要很少的更改来响应这一点。
将测试台环境与被测设备 (DUT) 实现细节分离的最佳方法之一是使用记分板,如图 2 所示。测试场景将预期结果(例如,数据包)推送到记分板中,当 DUT 生成数据时,测试台会自动将其与记分板版本进行比较。当 DUT 产生数据时,不需要关心测试场景,只需要关心它产生了什么数据。
图 2:使用记分板是将测试台环境与被测设备分离的最佳方法之一。
此外,如果数据路径的宽度发生变化,并且 DUT 产生的数据被划分为几个额外的周期(或统一为更少的周期),那么记分板会在测试台中提供一个点,其中与该预期的比较可以是改变了。在测试场景中对期望进行硬编码的替代方法要求在 DUT 的数据宽度或数据格式发生变化时更新每个场景。
需要对端口驱动程序和监视器进行编码以预测接口变化。当需要快速适应时,允许这些模块连接到不同数据宽度的端口和接口的前期工作可以在设计和验证周期的后期获得回报。
FPGA IP,已验证
在过去几年中,可用于 FPGA 的 IP 数量大幅增加。为了具有竞争力,供应商必须始终如一地满足对质量的期望。由于 FPGA IP 的上市时间需求变得越来越迫切,供应商必须尽一切可能防止交付的内核出现可能拖慢客户速度的问题。这意味着必须采用经过深思熟虑的、能够快速适应的验证策略。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~