将ASIC IP核移植到FPGA上——明了需求和详细规划以完成充满挑战的任务

文章正文
发布时间:2024-11-15 23:39

本文从数字芯片设计项目技术总监的角度出发,介绍了如何将芯片的产品定义与设计和验证规划进行结合,详细讲述了在FPGA上使用IP核来开发ASIC原型项目时,必须认真考虑的一些问题。文章从介绍使用预先定制功能即IP核的必要性开始,通过阐述开发ASIC原型设计时需要考虑到的IP核相关因素,用八个重要主题详细分享了利用ASIC所用IP来在FPGA上开发原型验证系统设计时需要考量的因素。

本文引用地址:https://www.eepw.com.cn/article/202407/461468.htm

本篇文章是SmartDV数字芯片设计经验分享系列文章的第一篇,作为全球领先的验证解决方案和设计IP提供商,SmartDV的产品研发及工程应用团队具有丰富的设计和验证经验。在国产大容量FPGA新品不断面市的今天,SmartDV及其中国全资子公司“智权半导体”愿意与国内FPGA芯片开发商合作,共同为国内数字芯片设计公司开发基于本地FPGA的验证与设计平台。

明了设计需求

半导体IP核提供商支持复杂的ASIC项目,其中一些项目在时钟速度、片芯面积占用、功耗、可靠性、功能安全和可重用性方面有极高的要求,所有这一切都带来了对半导体IP这种预先定制的电路部件的很高期望。一旦有人决定自己不去开发某项功能,而是通过合作伙伴获得该功能,都会将购买该组件的功能视为必然结果。如果所使用的IP核来自诸如SmartDV这类信誉良好的供应商,该过程将顺利进行。

由于同一IP核的最终应用领域可能完全不同,因此IP核提供商必须将所有可能的应用领域考虑在内,以避免让客户失望。例如像MIPI CSI-2接收器/发射器IP或USB接口这样的预定制功能,在用于一款已经被销售数百万次的消费性产品中时,它的要求就与该功能被用于数量有限的喷气战斗机这样的“热点领域”有所不同。

对一位用户来说,成功的产品定义可能是片芯面积的缩小。而对另一位用户来说,它也可能意味着即使在恶劣的运行条件下,也可以实现最低的功耗或最高的可靠性。在大多数情况下,还有另外一个关键点需要考虑。IP核不仅应该只在ASIC上“实现功能”,而且还可用作基于FPGA的原型设计的一部分。众所周知,在开发ASIC的过程中需要非常谨慎,但遗憾的是,我们常常低估了FPGA也需要非常特别的关注,并且还有其独特的集成方式。

1722244478494716.png

SmartDV的部分已获车规或航规认证的设计IP和VIP

坦率地来讲,将ASIC IP核移植到FPGA中并不是一件容易的任务,但如果这个过程有条不紊,成功是可以实现的!本文全面讲述了将ASIC IP核移植到FPGA中时必须考虑到的所有要点,并通过使用SmartDV的USB3.2 Gen2x1 Device IP实例来进一步说明这些要点。

对于芯片设计工程师的关键价值

●   将一款IP核部署到ASIC和FPGA两种架构中具有挑战性,但值得一试。

●   将ASIC IP移植到FPGA中时,需要考虑的相关因素包括在需求、性能、时钟、功能等方面的差异。

●   最佳的芯片设计解决方案是用FPGA来作为原型工具,以及它和经过流片验证的IP核的结合,以保证正确无误地实现设计。

●   无论目标是ASIC还是FPGA,快速且成功完成项目的一个关键因素是涉及该项目的专家团队的经验水平,因此选择一个可靠的IP合作伙伴也是设计团队取得成功的又一关键!

使用预先定制功能即IP核的必要性

集成电路设计团队的最终目标是能够更快速地交付一款有效用的最终产品,以便于不错过更早进入市场的机会,并确保在竞争对手面前建立自己的竞争优势。多年来,使用IP核一直是最大限度地缩短复杂电路的开发时间,以及减少验证电路组件所需工作量的一种通用方法。

使用预先定制的电路组件消除了“重新创造轮子”的需要,但是IP核需要能够在提高可靠性和避免错误这两个方面之外提供额外的优势,因为它们(通常)已经被其他工程师们部署在其项目中。一段时间以来,业内已经用了一个恰当的术语“左移”来描述这一现象,即在产品生命周期的早期阶段就执行测试。从产品规格的创建到ASIC模块设计的流片,时间窗口在整个时间轴上都朝着项目开始的方向移动。

同样,在设计过程中使用FPGA早已被确立为一种标准方法,以便能够在可提供ASIC之前就对数字电路进行测试。这个理念导致了使用一个现成可用的、可重新编程或可重新配置的FPGA硬件组件来以实时速度运行设计,以在设计流程的早期阶段检测出错误。

与最终的ASIC相比,FPGA绝不是成本低廉的解决方案,但它可为设计团队带来实实在在的价值,从而支持设计团队去有效地发现在电路创建过程中已经产生的错误,这些错误无法通过仿真或其他基于软件的验证方法检测到。通过扩展,它还支持在验证过程中发现和消除缺陷。

此外,在ASIC芯片开始供货之前,通常希望有一个可用的功能平台,以便能够在开发硬件的同时,去实现和测试运行所需的软件和固件。因此,可以安全地假设IP核的使用和FPGA的使用都是经过验证的电路实现和验证方法,其应用不会造成任何困难。然而,实际设计过程也经常是“细节决定成败”。

面向ASIC原型验证的IP核考量因素

实际上,提供一款IP并将其无缝地用于ASIC和FPGA是一项极具挑战性的任务。在本节中,我们将讨论在考虑原型设计任务时就开始出现的最普遍的问题。

原型设计:各种考量因素的总体概述

主题1:一款原型和最终ASIC实现之间的要求有何不同?

主题2:当使用FPGA进行原型设计时会立即想到哪些基本概念?

主题3:在将专为ASIC技术而设计的IP核移植到FPGA架构上时通常会遇到哪些困难?

主题4:为了支持基于FPGA的原型,通常需要对ASIC IP核进行哪些更改?

主题5:我们如何确保在FPGA上实现所需的性能?

主题6:在时钟方面必须加以考量的因素有哪些?

主题7:如果目标技术是FPGA,而不是ASIC,那么需要如何测试IP核的功能?

主题8:设计团队还应该牢记什么?

image.png


图1 在电路设计中嵌入IP核经常被误解为与搭乐高®积木的原理相同,其中的道理就是简单地组装预先定制的构建模块——然而在实际工作中,这只说出了事实的一半

(图片来源:iStock/Getty Images)

认为只需要将打算实例化的IP模块和集成该模块的实例之间的物理接口进行匹配就行的这种理念就是不现实的。为了能够成功地集成预先定制的电路功能,需要考虑更多的问题。

事实上,嵌入IP核远非易事!有各种各样的参数可能需要调整:例如,必须确保时钟信号与频率匹配,还必须特别注意复位的分布规律。输入和输出信号必须与电路的其余部分同步;甚至可能需要应用带有延迟的时钟和数据信号。IP核的集成也改变了整个系统的延迟,额外的功能也影响电路的时序行为,逻辑门利用以及诸如存储单元的使用等等。

事实是一款IP核必须为不同的目标架构提供相同的功能——例如,来自不同制造商的ASIC和FPGA产品,它们具有不同的工艺节点和结构,这给功能实现的质量提出了特殊挑战;同时,也对IP供应商用于验证和物理确认电路功能的方法提出了特殊挑战。

主题1:一款原型和最终ASIC实现之间的要求有何不同?

通常,与基于FPGA的原型设计相比,在ASIC设计的后期会提出各种不同的要求。例如,除了提供实际的电路功能之外,ASIC规范的主要关注点可以是降低功耗,也可能是占用最小的片芯面积,甚至是实现最高的时钟频率。此外,必须提供测试结构方案来支持功能测试,重点是能识别已流片的ASIC的物理缺陷。

所有这些要求都与在原型设计期间如何在FPGA中使用IP几乎无关,进一步的解释如下所述:

●   片芯面积占用(使用逻辑门数量)在原型设计中扮演着次要的角色。当然,我们希望所使用的FPGA器件的复杂度越低越好,这样原型的性价比更高且可减少总体支出。然而,在许多情况下,从一开始就有一个“尽可能大”的可重构的模块是非常明智的,这样就能够覆盖可能导致面积占用量增加的电路变化,而不需要在原型设计进行期间将FPGA器件切换到更复杂的FPGA。切换很可能需要重新设计,或者在使用预先定制的FPGA开发板的情况下,重新购买一个基于FPGA的原型验证平台。

●   功耗对于一个目标仅为实现单一功能的原型设计来说根本不重要,但是开发人员也期望部署专为ASIC降低功耗开发的方法,并将其包含在原型设计中则可能是明智的做法。关于该话题的更详细的讨论,可以在接下来的主题8的答案下找到:我们还应该牢记什么?

●   ASIC RTL可能包含测试结构,以实现数字部件的大规模量产测试,目的是找出有缺陷的单元。为了支持相关的测试,需要实现测试结构。然而,这些类型的测试结构通常不在FPGA中实现,因为根本不需要它们。FPGA组件已经经过了充分的测试。

本系列文章的目标是全面分享如何利用ASIC IP来实现完美的FPGA验证原型的经验,本篇在讲述了如何了解ASIC IP与FPGA验证原型的区别并提前做相应规划之后,还将详细介绍与之相关的另外七大主题。下一篇将介绍使用FPGA进行原型设计时会立即想到哪些基本概念?在将专为ASIC技术而设计的IP核移植到FPGA架构上时通常会遇到哪些困难?以及为了支持基于FPGA的原型,通常需要对ASIC IP核进行哪些更改?欢迎关注SmartDV全资子公司“智权半导体”微信公众号继续阅读。

最后,SmartDV在相关介绍和分析之后,还提供实际案例:用基于FPGA的方法来验证USB 3.2 Gen2x1 Device IP

USB 3.2 Gen2x1 Device IP:实现、验证和物理验证

USB 3.2 Gen2x1 Device IP的实现挑战

关于作者

Philipp Jacobsohn

Philipp Jacobsohn是SmartDV的首席应用工程师,他为北美、欧洲和日本地区的客户提供设计IP和验证IP方面的支持。除了使SmartDV的客户实现芯片设计成功这项工作,Philipp还是一个狂热的技术作家,乐于分享他在半导体行业积累的丰富知识。在2023年加入SmartDV团队之前,Philipp在J. Haugg、Synopsys、Synplicity、Epson Europe Electronics、Lattice Semiconductors、EBV Elektronik和SEI-Elbatex等担任过多个管理和现场应用职位。Philipp在瑞士工作。

Sunil Kumar

Sunil Kumar是SmartDV的FPGA设计总监。作为一名经验丰富的超大规模集成电路(VLSI)设计专业人士,Sunil在基于FPGA的ASIC原型设计(包括FPGA设计、逻辑综合、静态时序分析和时序收敛)和高速电路板设计(包括PCB布局和布线、信号完整性分析、电路板启动和测试)等方面拥有丰富的专业知识。在2022年加入SmartDV团队之前,Sunil在L&T Technology Services Limited担任过项目经理和项目负责人职位。Sunil在印度工作。