当前位置:首页 > 智能硬件 > 安全设备/系统
[导读] FPGA 原型设计人员艰苦努力所得的明显回报就是 ASIC 设计可以及时而毫无问题地完成产品定案(tape-out)。不过,原型设计还有一点日益重要的优势,即 ASIC 或 SoC 中嵌入的软件

FPGA 原型设计人员艰苦努力所得的明显回报就是 ASIC 设计可以及时而毫无问题地完成产品定案(tape-out)。不过,原型设计还有一点日益重要的优势,即 ASIC 或 SoC 中嵌入的软件在项目开发的早期阶段便可与实际速度硬件进行完美集成。

为什么软件团队要关注 FPGA 原型设计问题

独立的 EDA 分析师 Gary Smith 指出(见图 1),SoC 采用的CMOS工艺节点日益小型化,而且技术越来越复杂,因此软件组成部分已成为产品特色和开发焦点所在。进入市场的最新消费类器件多采用复杂的 SoC,其中包括众多嵌入式处理器和几十万甚至数百万行代码。Apple iPhone 就是一个很好的例子,它至少包含 3 个 ARM 处理器。加速产品上市进程对产品推出至关重要,在此情况下,怎么才能在 SoC 环境中进行软件验证呢?

SoC 开发团队越来越多地开始采用 FPGA 原型设计作为解决方案来进行验证并及时推出各种类型的产品。

为什么选择原型设计技术?

集成操作系统、应用和硬件非常复杂,会出现许多不可预见的软件问题。实际速度运行的 FPGA 原型设计能提供一个独特的环境,在关键的集成阶段节约数月之久的高强度软件测试工作。如果这款原型设计还要采用其它软件,要进行其它实验室测试,那么原型设计的优势会进一步体现出来,即便对客户接受度测试来说都是有益的。Synplicity 推出的 HAPS (高速 ASIC 原型设计系统)等现成的高质量 FPGA原型验证板基本解决了投放产品的时间问题,剩下的就是要考虑成本问题:

增加板的用量将找出更多错误

软件的潜在用户数量巨大,他们会随心所欲使用软件,难免不造成操作系统锁死,应用崩溃,或者做些软件工程师根本想象不到的事情。

何时进行原型设计

在 SoC 设计完成之前就进行调试显然是非常有利的。图 1 显示了大型 ASIC 项目各阶段中通常要特别注意的模拟、仿真和原型设计问题。我们可以看到,FPGA 原型设计最常用,因为项目在集成阶段需要确保高速和高容量。

我们不妨设想这样一种情况,软件集成问题的最佳解决方案需要修改硬件。举例来说,需要将占用大量周期的DSP算法提取出来,并用协处理器或定制的器件逻辑来代替。如果 SoC 已基本完成了产品定案,甚至已完成设计推出了样片才发现这一问题,那么不管修改错误对最终产品有什么好处,我们也不太可能考虑对器件进行必要的调整了。事实上,早期进行 FPGA 原型设计有助于及时进行设计调整。FPGA 原型设计技术使用越来越多,其原因之一就是在项目早期阶段可判断软/硬件的问题并权衡利弊(也请参见图 1)。

原型设计面临的挑战

实施 ASIC 的 FPGA 原型需要解决多种开发难题。令人惊讶的是,设计硬件本身并不是最具挑战性的问题。事实上,许多厂商都提供为满足特定目的而设计的 ASIC 原型板(如HAPS)。真正的挑战则在于如何实施 FPGA 设计方案。

分区和 I/O 处理

尽管目前最大的 FPGA 每个都能处理 200 多万个 ASIC 门,但众多 ASIC 设计的要求要大得多。这就要求对 SoC 的关键部分进行原型设计,或者设计方案必须在多个 FPGA上进行分区。但这会造成一些有趣的障碍,因为我们的整体目标是进行验证,因此分区时必须尽可能减少对 ASIC RTL 的变动。设计方案分区会造成人为的分界线,如果设计方案的内部总线或数据路径较宽,则会造成所需 I/O 引脚的数量爆炸性增长,进而引起 FPGA 引脚不足。即便采用最新型的 FPGA,每个 FPGA支持 1000个以上的I/O 引脚,也有不够用的时候。

我们可在同一 FPGA 引脚上先对多个信号进行多路复用,然后再在目标 FPGA 上进行多路分解工作,从而生成更多 I/O 资源。即便如此,我们还是不希望变动 ASIC RTL,因此要进行自动引脚多路复用。这肯定会产品性能造成一定的影响;但 FPGA 的I/O足够快,即便采用多路复用技术,仍能提供足够高的性能,确保复杂的嵌入式软件验证工作能够以实际速度进行。

不改变 RTL 就修改拓扑结构

凭借设计人员的智慧,通过一定的手动干预,我们可在一个以上的 FPGA 中复制子模块,从而减少 I/O 限制,降低互连需求。通过对 RTL 做进一步的专门化操作,如对低级门进行位切片(bit-slicing)或压缩(zipper)更多复杂模块(这些都不需要变动 RTL),可进一步降低 FPGA I/O 需求。

ASIC 时钟和 FPGA 时钟不一样将 SoC 设计移植到 FPGA 上时,设计团队还会面临更多问题,因为原始 RTL 的作者根本不可能考虑到 FPGA 问题。RTL 中不利于 FPGA 的因素包括 ASIC 元件例化和 RAM BIST 等,不过最重要的问题在于 IP 和时钟复杂性。为降低功耗,FPGA 会尽量支持ASIC 常用的门控时钟(gated-clock)设计风格。时钟门信号必须转化为 FPGA 硬件中的时钟启用(clock enables)信号。手动进行这种转换工作量太大并带来新的问题。一些合成工具可以自动进行门—时钟转换,甚至能支持复杂的时钟生成电路。图 3 显示了 Synplicity 的 Synplify Premier 中自动化时钟转化的实例。

处理IP

ARM 处理器等大型 IP 块可作为完整的芯片购买,直接接口于其它原型设计硬件。唯一要求就是硬件必须足够灵活,以满足ARM CoreTIle 等多种支持 IP 功能的子卡需要。但是,存储器、FIFO、乘法器和加法器等小型常见功能太多了,难以通过这种方式一一满足。适当的 EDA 软件能自动将这些功能转化为 FPGA 内部兼容型实施方案,或者通过简单的方式将其隔离到FPGA外部实现。

采用FPGA板后的工作

设计移植到 FPGA上并以实际速度运行后,又会出现另一个问题,即如何高效完成调试工作。嵌入式或外置的逻辑分析器可解决此问题,但这些工具通常工作于门级层面。因此,跟踪返回至 RTL级(即最初进行设计的层面)的信号会花费大量时间,毕竟这需要在合成步骤中逆向工作。最好用能无缝保持门级和 RTL 级层面之间软链接(symbolic link)的工具进行调试。

Synplicity 开发了称作 TotalRecall Full Visibility Technology 的新技术,能自动从原型设计中提取完整的测试实例,其中包括导致故障或断言失败的所有情况,可以了解软件调试触发器的外部输入问题等。捕获到的测试实例可随时在正常 RTL 模拟器中重放并分析。该功能使 FPGA 原型设计能扩展到更广泛的验证环境中,现在已经在Synplicity 的 IdenTIfy Pro 产品中实现。

FPGA 原型设计技术的发展趋势

以实际速度运行的 FPGA 原型为复杂的嵌入式系统和 SoC 的验证工作提供了强有效的解决方案。如前所述,目前,我们可以获得解决本领域中一直面临的各种挑战的 EDA 工具和现成的原型板。即便如此,还有待全面集成原型设计硬件和工具组件。这样我们就能缩短原型设计和重复修改的时间。随着功能的不断发展,Synplicity 的 Confirma平台等以实际速度运行的验证系统将取代其它传统验证方法,成为所有 SoC 开发工作中不可或缺的一部分。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC

为无处不在的端侧设备插上AI的翅膀,AMD发布第二代Versal™ 自适应 SoC

关键字: AMD FPGA 自适应SoC AI 边缘计算

Pmod接口可以说是数字电路板的连接革命。随着科技的飞速发展,数字电路板间的通信与连接技术也在不断创新和进步。Pmod接口,作为一种新兴的数字接口标准,正逐渐成为数字电路板间通信的桥梁,为电子设备的连接和通信带来了革命性...

关键字: pmod接口 FPGA 数字电路板

近日举办的GTC大会把人工智能/机器学习(AI/ML)领域中的算力比拼又带到了一个新的高度,这不只是说明了通用图形处理器(GPGPU)时代的来临,而是包括GPU、FPGA和NPU等一众数据处理加速器时代的来临,就像GPU...

关键字: FPGA AI 图形处理器

当我们提到成本优化型FPGA,往往与简化逻辑资源、有限I/O和较低制造工艺联系在一起。诚然,在成本受限的系统设计中,对于价格、功耗和尺寸的要求更为敏感;但随着一系列创新应用的发展、随着边缘AI的深化,成本优化型FPGA也...

关键字: AMD FPGA Spartan 边缘计算

全球领先的高性能现场可编程门阵列(FPGA)和嵌入式FPGA(eFPGA)半导体知识产权(IP)提供商Achronix Semiconductor公司宣布,该公司参加了由私募股权和风险投资公司Baird Capital举...

关键字: FPGA 智能汽车 eFPGA

全新 FPGA 能为嵌入式视觉、医疗、工业互联、机器人与视频应用提供高数量 I/O、功率效率以及卓越的安全功能

关键字: FPGA 嵌入式视觉 机器人

Altera致力于为客户提供端到端的FPGA、易于使用的AI、软件和弹性供应链。

关键字: FPGA AI

在半导体领域,大部分对于AI的关注都集中在GPU或专用AI加速器芯片(如NPU和TPU)上。但事实证明,有相当多的组件可以直接影响甚至运行AI工作负载。FPGA就是其中之一。

关键字: FPGA AI 半导体

半导体产品老化是一个自然现象,在电子应用中,基于环境、自然等因素,半导体在经过一段时间连续工作之后,其功能会逐渐丧失,这被称为功能失效。半导体功能失效主要包括:腐蚀、载流子注入、电迁移等。其中,电迁移引发的失效机理最为突...

关键字: 半导体 电迁移 FPGA
关闭
关闭