当前位置: 首页 > 仪表工具产品 > 专用工具 > 长度测量工具 > 直尺

类型分类:
科普知识
数据分类:
直尺

实速SoC验证技术加快软件开发

发布日期:2022-07-14 点击率:20

最新的消费类设备因采用复杂的 SoC而变得更加强大,这些SoC包含多个嵌入式处理器和成千上万甚至数百万条代码。一个典型的例子是苹果 iPhone,据报道称该产品包含至少3个ARM处理器。在产品上市时间成为关键的情况下,如何在SoC环境下对所有软件进行验证呢?SoC 开发小组越来越多地转向基于FPGA的原型设计,作为快速验证和加快此类产品上市时间的解决方案。


有了基于 FPGA 的原型设计,在SoC上市之前,我们就可以进行软件开发和调试,因为该原型设计比仿真器或模拟加速器的运行速度快10-100倍,软件可以在复杂的操作系统及大型测试环境下进行测试。

然而,实现上述原型设计系统需要克服一系列开发方面的挑战。不过,让人惊讶的是创建硬件本身并非最棘手的问题。实际上,许多厂商就可提供为特定目的构建的ASIC 原型板,如 HAPS 高速 ASIC 原型设计系统等。因此,设计成功的关键是合适的软件,在当今电子行业的诸多领域都是这种情况。真正的挑战是在 FPGA 中实施原型设计。虽然目前最大的 FPGA 可以处理约 250 万个 ASIC门数的设计验证,但原型设计常常需要一个以上的 FPGA。使用多个 FPGA 将面临如下所述的一系列值得注意的难题。

原型创建功能的核心是将 SoC 设计移植到 FPGA 上。移植的目的是为了验证软件,因此应当在尽量不修改RTL的情况下完成验证工作。如果必须在两个或更多 FPGA 之间对设计进行拆分,则连接至FPGA的引脚会出现数量不足的问题。根据 Rent 规则,所需I/O引脚数将以门数量的分数幂增加,如果一个大型设计拆分成几个器件,则需要大量的I/O 引脚。即使拥有超过1,000个I/O引脚的最新型的 FPGA 也不具有实现目标所需的资源。很显然,不可能靠 RTL 人工编码来解决这一问题。真正解决这一问题必须开发适合的软件。采用自动引脚多路复用技术,一个引脚可传输数个I/O信号,但性能将有所下降。幸运的是,FPGA 的运行速度足够快,即使采用多路复用I/O,也能提供足够高的性能,从而能够验证复杂的嵌入式软件。不过,解决问题不止一种方法。FPGA 中所有功能块的自动复制以及 RTL 上的Bit-Slicing和Zippering等特殊操作可进一步减少对 FPGA I/O引脚的需求。

在将 SoC 设计移植到 FPGA 上时,开发小组还将面临的另外一个问题是门控时钟转换和ASIC IP。FPGA 架构并不支持通常用于ASIC 中以降低功耗的门控时钟设计风格,而是必须将时钟门控信号转换为时钟使能信号,才能确保该设计在FPGA 硬件上正常运行。而实现这一自动转换的唯一可行性办法就是开发适当的软件。IP是 SoC 设计的主要组成部分,若将其集成于原型设计中则可能会带来另一个问题。有时需要大的功能块(如处理器)作为整个芯片与硬件接口。唯一的要求是原型设计硬件必须具备足够的灵活性以支持各种IP功能子卡(子板)。但是,采用这种方法需要处理的常用功能太多,如存储器、FIFO、乘法器和加法器等。而采用适合的软件可以自动将这些功能块转换成与 FPGA 兼容的组件。

一旦设计移植到 FPGA 上,该设计将以实速(at-speed)运行,但继而出现了另一个问题,即如何高效完成调试工作?虽然可以采用嵌入式或非嵌入式逻辑分析仪来完成这项工作但要求其在单独的门级或总线级上运行。另外,向后追踪这些信号至RTL级是一个非常耗时的过程,因为需要进行向后操作穿过综合步骤。真正需要的是运行于RTL级上的调试软件,RTL级与设计运行的抽象级别相同。另外,就是需要自动生成全面的测试基准的能力。根据该测试基准,检测到的错误或断言故障可导出至模拟器重放并对问题进行分析。目前,Synplicity 公司的 Identify Pro 产品就具备这种功能,可以将 FPGA 原型设计应用到更广泛的验证环境中。

基于FPGA原型的实速SoC验证方法是一种针对复杂嵌入式系统验证的解决方案。可以解决该领域众多问题的软件和现成原型板现已供货。尽管如此,仍有进一步改善的空间,原型设计硬件和软件组件可以更进一步集成,同时系统启动时间和修改次数也有待缩短。随着这些功能的发展,实速验证系统(如Synplicity公司的/confirm/ia平台)将与其它现有的验证方法共成为 SoC开发不可或缺的部分。

作者:Juergen Jaeger

ASIC 验证市场营销部高级总监

Synplicity 公司


下一篇: PLC、DCS、FCS三大控

上一篇: 电源工程师的μModule

推荐产品

更多