数字芯片设计验证经验分享(第四部分):将ASICIP核移植到FPGA上——如何测试IP核的功能和考虑纯电路以外的其他因素

FPGA开发圈 2024-09-03 12:02

作者

Philipp Jacobsohn,SmartDV首席应用工程师

Sunil Kumar,SmartDV FPGA设计总




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




在上篇文章中,我们分享了第五到第六主题,介绍了我们如何确保在FPGA上实现所需的性能?和在时钟方面必须加以考量的因素有哪些?本篇文章是SmartDV数字芯片设计经验分享系列文章的第四篇,将继续分享第七、第八主题,包括如果目标技术是FPGA,而不是ASIC,那么需要如何测试IP核的功能?和设计团队还应该牢记什么?。

作为全球领先的验证解决方案和设计IP提供商,SmartDV的产品研发及工程应用团队具有丰富的设计和验证经验。在国产大容量FPGA芯片和IP新品不断面市,国内RISC-V CPU等IP提供商不断发展壮大的今天,SmartDV及其中国全资子公司“智权半导体”愿意与国内FPGA芯片开发商、RISC-V IP和其他IP提供商、集成电路设计中心(ICC)合作,共同为国内数字芯片设计公司开发基于本地FPGA的验证与设计平台等创新技术与产品。




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

复杂电路的验证通常必须在FPGA上进行,其严格程度等同于ASIC开发的标准。众所周知,在这方面是不允许有错误产生,因为后果很严重。ASIC的每个分岔(例如,由于在电路开发期间产生的错误,而在验证期间没有发现)不仅会导致产品交付严重延迟,而且还会导致大量的额外成本。当然,在使用FPGA时不会出现这样的问题,因为在应用设计更改后,这些组件可以重新配置而无需浪费太多精力——但是,在使用可编程的组件时,应该采取最大的谨慎态度。这是很好的工程精神!

最终,FPGA被用于消除早期开发阶段的设计错误,从而确保在ASIC上实现的电路基本上是无错误的。遗憾的是,正是由于在可编程的组件上执行功能测试的简便性和速度,往往使人们不愿意首先通过仿真验证RTL代码的更改,而是在实际操作中测试电路设计。这里忽略的是,这种方法可能会忽略在仿真中所使用的测试台可以发现的极端情况。在某些情况下,验证覆盖范围会减少——尽管FPGA允许在相同的时间范围内比仿真运行更多的验证周期。如果使用FPGA认真地进行功能测试,则这种验证方法可提供比仿真验证方法更多的可能性。

通常情况下,ASIC和SoC设计包含许多复杂的行业标准接口,用于与外部设备(USB、PCIe等)进行通信或连接标准总线(AHB、AXI等)。在设计验证过程中,这些接口还被用于连接测试环境(测试台)。这种连接通过称为验证IP(VIP)的模块实现。验证IP是一种特殊的IP核,它将给定接口的总线功能模型(BFM)的功能与测试台中使用的测试用例框架功能相结合。验证IP是一个可重复使用的IP核,可用于创建必要的测试,以缩短SoC验证时间并增加覆盖率。虽然验证IP通常用于验证标准总线协议,但它也可用于系统性能分析,并且越来越多地用于模拟、仿真和虚拟原型设计。

图7:带有主接口、设备和集线器USB4的验证基本工作原理图,使用专用验证IP(VIP)可以显著增加验证覆盖范围。

验证通常是电路创建过程中最耗时的部分。专用的验证IP可以显著地增加验证覆盖范围,可覆盖极端情况,并可显著地减少设置仿真系统所需的总体工作量(例如,创建模拟刺激)。

测试通常可以通过使用FPGA来实时进行。这意味着直接与ASIC相比,FPGA可以相同或降低的时钟频率来运行设计。即使在使用FPGA时需要降低时钟频率,因为可编程性总是需要逻辑单元的冗余,因此需要较大的芯片面积(这反过来导致更高的延迟);但与纯仿真相比,验证速度仍然要高得多。这种加速型验证使得发现在仿真中永远不会发现的错误成为可能。

尽管使用FPGA进行ASIC原型设计具有诸多优点,但将最初专为ASIC目标项目而开发的电路移植到FPGA上并不是一件容易的事情,这一点怎么说都不为过。

最重要的一点是,在FPGA中实现电路通常需要对电路本身进行更改。在前面的主题部分中,我们已经研究了可能需要实施的更改。每一次电路的改变都意味着,稍后将被映射到ASIC上的电路是已经验证的,但并不是完全相同的,而是经过修改的版本。当然,有必要相应地调整仿真设置,例如ASIC电路开发的测试台。

关于测试结构,还有一些事情需要考虑。例如,扫描结构经常出现在ASIC RTL代码中——关键字:DFT(面向测试的设计)——以便在交付前轻松识别有故障的ASIC组件并相应地对其进行筛选。这种测试结构在FPGA中是不需要的,因为这些组件都是已经过测试才交付给最终客户,因此不需要插入额外的测试结构。事实上,这些组件实际上是破坏性的,因为实现将导致组件利用率的增加,并且还需要更复杂的时钟分布。有必要消除在FPGA逻辑综合中为测试引入的预防措施(例如,扫描-FF),或将它们“隐藏”在逻辑综合中。

 “干净”的设计实现使用“define”和“ifdef”指令根据期望的目标架构(ASIC或FPGA)来选择这样的测试结构,或者使它们对于逻辑综合“不可见”。通过使用这些指令,也可以实现用于存储器和时钟生成或分配的特殊FPGA库组件的集成,这使得IP核的用户能够简化电路以适应所需的目标架构。其目的是加快电路的创建,从而提高生产率。当然,应该指出的是,最终的实现并不是完全相同的。然而,由于目标元件也不相同,因此对电路进行相应的调整是不可避免的。

对原始设计进行更改是不可取的。原型设计的理念是将稍后在ASIC中实现的功能映射到一个可编程组件中,而不需要进行重大更改;即使有改动,最好也是同步相同的更改,以检测可能的错误。但是,如果电路本身发生变化,则可能由于变化而引入误差。由于实现不完全相同,不能保证ASIC电路中没有更多的错误,因为它没有事先经过充分的测试。然而,如果在ASIC实现之前根本没有使用FPGA,则可以实现更高的验证覆盖率。毕竟,要验证的电路只有部分区域是不同的,并且与仿真性验证方法相比,允许更多的测试周期。

另一个需要考虑的要点是发送和接收数据的物理通信接口,诸如MIPI、USB、PCIe等接口IP通过差分接口传输串行或并行高速数据信号。为了在发射器和接收器之间建立连接,就需要一个PHY来传输差分数据流。这种PHY可以在ASIC上作为模拟电路来实现,然而这在FPGA上是不可行的,或者如果行的话,那么只能通过使用可提供的SerDes IO或高速收发器作为辅助。当然,这意味着FPGA实现与ASIC电路完全不相同。在绝大多数情况下,有必要通过连接到FPGA的附加外部PHY组件来提供物理接口。如果电路在实际运行中进行测试,其物理接口将与最终的ASIC实现之间存在差异。

总之,可以说大多数验证工具都可以同时用于ASIC和FPGA目标(例如,仿真器、形式验证等)。然而,在某些方面存在显著差异,例如RTL代码中存在的测试结构或通过PHY接口将电路连接到“外部世界”。原则上来说,使用FPGA可在验证覆盖率方面提供显著的优势,但是移植专为ASIC开发的电路部件总是需要相当多的额外工作。在这种情况下,使用验证IP可以为简化复杂的功能测试、增加验证覆盖率和加速验证做出重大贡献。


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

我们已经涵盖了很多领域,但是当这些IP最初是为ASIC目标架构创建的时候,在FPGA方向上移植电路时需要考虑更多。

正如已经详细解释的那样,可编程组件的使用适合于在实际操作中测试电路,从而确保它在很大程度上是无错误的。在项目的早期阶段就有一个可用的功能电路具有许多价值:在其帮助下,不仅可以先进行软件和固件的设计,而且还可以在ASIC仍处在流片过程中就使用基于FPGA的原型对它们进行测试。

如果要使用FPGA,则应该在RTL创建期间就采用“专为原型而设计”的方法。这并不总是容易实现的。例如,如果ASIC电路设计的要求是尽可能将功耗保持到最低,那么除了对时钟分布进行操作(例如,通过插入门控时钟结构)之外,还经常使用基于锁存器的设计方法。该想法是使用锁存器而不是时钟寄存器。时钟控制元件简化了电路实现,因为时钟也使“时间概念”可用。然而,寄存器逻辑的使用总是导致更高的功率需求,因为功耗与时钟元件的数量及其时钟频率成比例地增加。

与ASIC不同,FPGA不是很适合基于锁存器的电路实现,因为——正如前面主题6中提到的:在时钟方面必须考虑什么?——只定义“最坏情况下”的时序信息。在FPGA时序分析中通常不计算最小时序和延迟。如果一种时钟方法不能通过寄存器逻辑检测,那么时间行为就不再是可预测的,并且可能导致所谓的“竞争条件”和其他问题,这些都使得FPGA不可能可靠地运行。最后,这意味着不同的电路实现对于各自的目标模块是很有必要的。这里的目标是实现相同的功能,尽管在实现路径上有所不同。

前面提到的电路设计方法应该在产品开发的早期阶段就应该考虑到目标架构之中的相关因素,不仅限于锁存器的实现。在FPGA中也有必要注意同步电路的实现,和避免使用FPGA中不可用的电路(例如,双边沿时钟FF)。目标架构还必须考虑到可实现的时钟频率。要避免长组合路径,因为可能会出现高时序违规。

在基于FPGA的原型中,验证不仅仅指电路功能和实现所需的时间;通常还需要包括其他的测试,同样重要的参数在开发活动中越快实现越好。例如,除了前面讨论的软件和固件的开发之外,还应该提到ASIC组件的节能设计。

对于一个只实现纯电路功能的原型来说,功率损耗实际上根本不起作用。然而,对于ASIC的运行绝对有必要的降低功耗的方法,同样也可以在FPGA中使用,并将其包含在原型设计活动中,所以这是值得期待的。虽然不可能使用ASIC中可用的各种选项,但至少可以通过使用适当的工具和脚本来模拟它们的功能。这里的方法是至少估计通过不同方法可以实现功耗降低(例如,时钟门控以降低寄存器切换率、关闭ASIC上的整个区域、在ASIC的一些部分使用不同的电源电压等)。

上述方法在FPGA上是不可用的,除了物理上可实现的时钟门控,这也会对FPGA的可靠运行产生负面影响。通过读取通用格式(UPF =统一功率格式;CPF =通用功率格式)的相应脚本,和使用可模拟支持这些格式的FPGA逻辑综合工具,至少可以估算这些措施将如何影响ASIC的功耗。

在这种情况下,有一件事是明确的:电路功能越早可用,相应的测试就能越早进行。因此,使用诸如IP核这样的预先制作的模块具有巨大的潜力,可以加速ASIC实现和验证的各个阶段。


未完待续


接下来将展示一个实际案例:使用基于FPGA的方法来验证USB 3.2 Gen2x1 Device IP


实现一个可工作的FPGA原型并不是一件容易的事。通常,我们的想法是使用适当的FPGA逻辑综合和布局布线工具,将已经可用于ASIC技术的IP核映射到足够大且快速的FPGA上就足够了,以实现一个具有相关功能性FPGA。这里的要求是所需的功能应该即刻可用,并且无需进行任何更改。IP核的制造商必须达到这一期望。毕竟,IP核应该能够集成到现有设计中,且不会有任何重大的时间延迟。大家都假设IP核供应商已经提前进行了所有必要的测试,以致于将功能集成到现有电路中时间应该毫无困难。

然而,将IP核移植到FPGA架构中对于IP提供商来说是一个具有挑战性的目标——如果不付出相当大的努力,这几乎是不可能的。接下来我们将通过一个实际案例,即使用基于FPGA的方法来验证USB 3.2 Gen2x1 Device IP来说明其中的困难和克服之道。


了解更多关于SmartDV和智权半导体的信息,请浏览:www.smart-ip.cn,或发邮件到:chinasales@smart-ip.cn

如希望立即阅读全文英文版,或者尽快了解结论“如何做到鱼与熊掌兼得?”,请浏览SmartDV网站,也可发邮件到以下电子邮箱索取:chinasales@smart-ip.cn


关于作者: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在印度工作。




关于智权半导体

智权半导体科技(厦门)有限公司是SmartDV Technologies™在华设立的全资子公司,其目标是利用SmartDV全球领先的硅知识产权(IP)技术和产品,以及在地化的支持服务来赋能中国集成电路行业和电子信息产业。目前,SmartDV在全球已有300家客户,其中包括十大半导体公司中的七家和四大消费电子公司。

SmartDV于2007年由经验丰富的ASIC设计专业人员迪帕克·库马尔·塔拉、杜尔加·拉克什米·塔拉和卡维塔·塔拉·哈里多斯在印度创办。自成立以来,SmartDV一直专注于IP领域并不断推出广受市场欢迎的IP产品,这得益于我们在集成电路IP领域内发展出来的独具创新的技术与方法。

通过将专有的SmartCompiler™技术与数百位专家工程师的知识相结合,SmartDV可以快速、经济、可靠地定制IP,以实现您独特的设计目标。因此,无论您是为下一代SoC、ASIC或FPGA寻找基于标准的设计IP,还是寻求验证解决方案(VIP)来测试您的芯片设计,您都会发现SmartDV的IP非常容易集成,并在性能上可力助您的芯片设计实现差异化。

了解更多关于SmartDV和智权半导体的信息,请浏览:www.smart-ip.cn


FPGA开发圈 这里介绍、交流、有关FPGA开发资料(文档下载,技术解答等),提升FPGA应用能力。
评论 (0)
  • 一、智能门锁市场痛点与技术革新随着智能家居的快速发展,电子门锁正从“密码解锁”向“无感交互”进化。然而,传统人体感应技术普遍面临三大挑战:功耗高导致续航短、静态人体检测能力弱、环境适应性差。WTL580微波雷达解决方案,以5.8GHz高精度雷达感知技术为核心,突破行业瓶颈,为智能门锁带来“精准感知-高效触发-超低功耗”的全新交互范式。二、WTL580方案核心技术优势1. 5.8GHz毫米波雷达:精准感知的革命全状态人体检测:支持运动、微动(如呼吸)、静态(坐卧)多模态感知,检测灵敏度达0.1m/
    广州唯创电子 2025-04-15 09:20 51浏览
  • 一、芯片的发展历程总结:1、晶体管的诞生(1)电子管时代 20世纪40年代,电子管体积庞大、功耗高、可靠性差,无法满足计算机小型化需求。(2)晶体管时代 1947年,贝尔实验室的肖克利、巴丁和布拉顿发明点接触晶体管,实现电子信号放大与开关功能,标志着固态电子时代的开端。 1956年,肖克利发明晶体管。(3)硅基晶体管时代 早期晶体管采用锗材料,但硅更耐高温、成本低,成为主流材料。2、集成电路的诞生与发展 1958年,德州仪器工程师基尔比用锗材料制成世界上第一块含多个晶体管的集成电路,同年仙童半导
    碧海长空 2025-04-15 09:30 82浏览
  • 一、智能语音播报技术演进与市场需求随着人工智能技术的快速发展,TTS(Text-to-Speech)技术在商业场景中的应用呈现爆发式增长。在零售领域,智能收款机的语音播报功能已成为提升服务效率和用户体验的关键模块。WT3000T8作为新一代高性能语音合成芯片,凭借其优异的处理能力和灵活的功能配置,正在为收款机智能化升级提供核心技术支持。二、WT3000T8芯片技术特性解析硬件架构优势采用32位高性能处理器(主频240MHz),支持实时语音合成与多任务处理QFN32封装(4x4mm)实现小型化设计
    广州唯创电子 2025-04-15 08:53 81浏览
  • 展会名称:2025成都国际工业博览会(简称:成都工博会)展会日期:4月23 -25日展会地址:西部国际博览城展位号:15H-E010科士威传动将展示智能制造较新技术及全套解决方案。 2025年4月23-25日,中国西部国际博览城将迎来一场工业领域的年度盛会——2025成都国际工业博览会。这场以“创链新工业,共碳新未来”为主题的展会上,来自全球的600+ 家参展企业将齐聚一堂,共同展示智能制造产业链中的关键产品及解决方案,助力制造业向数字化、网络化、智能化转型。科士威传动将受邀参展。&n
    科士威传动 2025-04-14 17:55 68浏览
  •   无人装备作战协同仿真系统软件:科技的关键支撑   无人装备作战协同仿真系统软件,作为一款综合性仿真平台,主要用于模拟无人机、无人车、无人艇等无人装备在复杂作战环境中的协同作战能力、任务规划、指挥控制以及性能评估。该系统通过搭建虚拟战场环境,支持多种无人装备协同作战仿真,为作战指挥、装备研发、战术训练和作战效能评估,提供科学依据。   应用案例   系统软件供应可以来这里,这个首肌开始是幺伍扒,中间是幺幺叁叁,最后一个是泗柒泗泗,按照数字顺序组合就可以找到。   核心功能   虚拟战
    华盛恒辉l58ll334744 2025-04-14 17:24 76浏览
  • 在当今汽车电子化和智能化快速发展的时代,车规级电子元器件的质量直接关系到汽车安全性能。三星作为全球领先的电子元器件制造商,其车规电容备受青睐。然而,选择一个靠谱的三星车规电容代理商至关重要。本文以行业领军企业北京贞光科技有限公司为例,深入剖析如何选择优质代理商。选择靠谱代理商的关键标准1. 授权资质与行业地位选择三星车规电容代理商首先要验证其授权资质及行业地位。北京贞光科技作为中国电子元器件行业的领军者,长期走在行业前沿,拥有完备的授权资质。公司专注于市场分销和整体布局,在电子元器件领域建立了卓
    贞光科技 2025-04-14 16:18 130浏览
  • 四、芯片封测技术及应用场景1、封装技术的发展历程 (1)DIP封装:早期分立元件封装,体积大、引脚少; (2)QFP封装:引脚密度提升,适用于早期集成电路。 (3)BGA封装:高密度互连,散热与信号传输优化; (4)3D封装:通过TSV(硅通孔)实现垂直堆叠,提升集成度(如HBM内存堆叠); (5)Chiplet封装:异质集成,将不同工艺节点的模块组合(如AMD的Zen3+架构)。 (6)SiP封装:集成多种功能芯片(如iPhone的A系列SoC整合CPU、GPU、射频模块)。2、芯片测试 (1
    碧海长空 2025-04-15 11:45 114浏览
  •   高空 SAR 目标智能成像系统软件:多领域应用的前沿利器   高空 SAR(合成孔径雷达)目标智能成像系统软件,专门针对卫星、无人机等高空平台搭载的 SAR传感器数据,融合人工智能与图像处理技术,打造出的高效目标检测、识别及成像系统。此软件借助智能算法,显著提升 SAR图像分辨率、目标特征提取能力以及实时处理效率,为军事侦察、灾害监测、资源勘探等领域,提供关键技术支撑。   应用案例系统软件供应可以来这里,这个首肌开始是幺伍扒,中间是幺幺叁叁,最后一个是泗柒泗泗,按照数字顺序组合
    华盛恒辉l58ll334744 2025-04-14 16:09 140浏览
  • 三、芯片的制造1、制造核心流程 (1)晶圆制备:以高纯度硅为基底,通过拉晶、切片、抛光制成晶圆。 (2)光刻:光刻、离子注入、薄膜沉积、化学机械抛光。 (3)刻蚀与沉积:使用干法刻蚀(等离子体)精准切割图形,避免侧壁损伤。 (4)掺杂:注入离子形成PN结特性,实现晶体管开关功能。2、材料与工艺创新 (1)新材料应用: 高迁移率材料(FinFET中的应变硅、GaN在射频芯片中的应用); 新型封装技术(3D IC、TSV硅通孔)提升集成度。 (2)工艺创新: 制程从7nm到3nm,设计架构由F
    碧海长空 2025-04-15 11:33 104浏览
  • 二、芯片的设计1、芯片设计的基本流程 (1)需求定义: 明确芯片功能(如处理器、存储、通信)、性能指标(速度、功耗、面积)及目标应用场景(消费电子、汽车、工业)。 (2)架构设计: 确定芯片整体框架,包括核心模块(如CPU、GPU、存储单元)的协同方式和数据流路径。 (3)逻辑设计: 通过硬件描述语言(如Verilog、VHDL)将架构转化为电路逻辑,生成RTL(寄存器传输级)代码。 (4)物理设计: 将逻辑代码映射到物理布局,涉及布局布线、时序优化、功耗分析等,需借助EDA工具(如Ca
    碧海长空 2025-04-15 11:30 86浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦