嵌入式技术
片上系统 (SoC) 集成支持半导体行业的成功,以继续实现其更好、更小和更快芯片的目标。多种工具用于电子系统的设计和验证。验证是最重要的方面之一,因为它证明了设计的功能正确性。使用 FPGA 来验证 SoC 设计是一种强大的工具,并且正在成为半导体设计中非常重要的一部分。
传统方法不足以完全验证系统。进行动态时序分析是有充分理由的。EDA 供应商为基本仿真提供了充分支持低密度设备的解决方案。这些工具的功能不够强大,无法达到当今设计人员所需的程度来进行调试和验证,以满足在大型 FPGA 中有效地满足进度和调试的激烈竞争。
一些架构探索工具通过重用系统模型来测试基于实时和现实工作负载的时序、功率和功能,从而解决了与验证相关的问题。它们解决了当前验证解决方案中的众多缺点。我们将讨论解决每个特定问题以及如何解决每个问题。
当前 SoC 验证背后的问题
随着 SoC 尺寸和复杂性的增加,对更有效的验证工具的需求不断增长。过度竞争正在缩短上市时间。这使得设计人员很难在硬件中使用传统的实现和测试设计方法。
功能仿真仅测试 RTL 设计的功能能力。他们本质上所做的是发送一组通用输入,然后他们测试这些场景并确定它是否有效。它无法为系统其余部分的工作负载提供时间、功耗和响应。
静态分析无法找到动态运行设计时可以看到的问题。时序分析方法也有各种缺点。在实际系统中,动态因素会导致 SoC 发生时序违规。它可以告诉用户设计是否可以满足设置以及是否满足应用的时序约束。一个例子是对时间敏感的网络路由器的设计,其中必须注意指定可以使用时隙的优先级。还必须注意使优先级数据包不使用分配给另一个时隙的资源。例如,控制数据帧的优先级为 3。在当前时隙中,A 类数据包开始使用资源。在传输 A 类帧时,下一个时隙开始,在这个新时隙内调度的数据包(控制数据帧)必须等到当前传输完成。静态分析工具永远无法发现这个问题。类似地,通过网络中的公共交叉开关进行数据包路由,数据包最终可能会被丢弃。所以应该有适当的流量控制机制。静态时序分析将无法发现这个问题。
另一种验证方法是系统内测试。如果设计在板上工作并通过了测试套件,那么它就可以发布了。但是一些时间违规等问题可能不会立即出现,到那时,设计已经在客户手中。
使用架构模拟器获得准确性
为了描述这个新的系统验证解决方案,我们使用了 Mirabilis Design 的名为 VisualSim Architect 的商业架构模拟器。架构模拟器传统上用于系统规范验证、权衡和架构覆盖。新趋势是通过将这些模拟器与 FPGA 板和仿真器集成来扩展这些模拟器的作用。SystemC 和 Verilog 模拟器提供了类似的方法,但它们的系统模型要么过于详细,要么过于抽象。它们无法以能够进行大规模测试的模拟性能准确捕捉系统场景。
逻辑功能或 IP 被视为图形架构模型中的一个块。大多数架构模拟器都有一个多样化的组件库,涵盖了在 RTL 中实现的 ASIC 设计块。该环境允许捕获整个体系结构,从而允许用户查看整个系统在做什么。该系统可以只是在一个芯片或完整的盒子或网络内部。该架构包含有助于生成缓冲区占用、时序或功耗的必要细节。它还提供了有关在设计中更换模块后整个系统的响应的信息。例如,如果内存块被仿真器或 FPGA 取代,那么对系统的其余部分会有什么影响?
满足时间期限对于任何设计的成功都是至关重要的。例如,一个模块预计在 20 µs 内完成其仿真,但据观察需要 20 ms 的时间。结果,系统的其余部分受到影响。这些细节被捕获,用户可以了解 FPGA 上每个实现的时序,相对于系统的其余部分。未能满足时间期限也可能导致无法在其产品环境中使用所需的测试。
第二个有趣的特性是减少了使用测试芯片测试每个块或 IP 的成本和时间。一个测试芯片可能需要 200,000 美元的 NRE,大约 200 到 300 美元的封装和其他支持活动,以及 6 到 9 个月的测试。使用 VisualSim,用户可以加载特定 IP 块的 RTL,用该特定 FPGA 块替换当前架构块。C++ API 连接到特定的 FPGA 模块。这有助于用户保持相同的架构环境并概览芯片或整个系统的活动。它包括性能、时间和延迟。
放在 FPGA 上的 IP 最终会进入产品。这表明用户将在真实架构的上下文中测试 IP。它验证 IP 是否将在系统中工作。此外,还会产生性能或功耗等附加信息。因此,它不仅限于验证单个 IP,而是验证整个 SoC,IP 位于该块或 FPGA 中。
解决您的难题的解决方案
大多数工程师都有令人信服的理由拒绝进行时序仿真。一些主要问题是:
一些突出的好处:
展望前景
重用架构模型可以节省大量时间。基于组件的仿真现在是一个古老的概念。在很短的时间内验证整个 SoC 可以节省时间和成本。像 VisualSim 这样的工具可以捕获整个架构,允许用户查看整个系统在做什么。性能、时序和延迟等附加信息可以让用户了解最终设计将如何工作。完成的模拟非常快,可能需要一到两个小时的时间,而传统方法可能需要数天才能验证。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !