SoC原型验证的技术挑战有哪些?揭秘大规模验证的难点。

2024-06-06

随着电子设计自动化(EDA)验证工具的重要性日益增加,开发者们开始寻求减少流片成本和缩短开发周期的方法。其中,使用可编程逻辑芯片(FPGA)来构建有效的验证流程成为一种流行的解决方案,

这种方法被称为原型验证

原型验证在EDA流程中起到了至关重要的作用。一方面,它可以对芯片进行功能验证,确保设计的基本功能符合预期。在基本功能验证通过后,通过原型验证就可以提前开始驱动的开发,不用等待芯片流片(Tape Out)后的结果。当芯片回片后,应用程序可以直接基于原型验证版本的驱动进行简单的适配,从而应用于SoC(系统级芯片)上,这极大地缩短了SoC芯片的上市时间(Time-to-Market)。

但随着ASIC设计变得越来越庞大和复杂,开发周期也日益紧迫,需要左移验证周期。相较于硬件仿真,原型验证变得愈发重要。然而,单片FPGA已无法满足大规模SoC的需求,商用原型验证系统的使用已经迈入多FPGA系统的时代。

如今的研发团队迫切需要一款自动化程度高、性能强、稳定性好的国产商用原型验证平台。

这样的平台不仅需要具备

强大的RTL级分割、多片FPGA之间的互联拓扑结构、高效的自动化流程、优化的性能和可靠的稳定性,还需要满足国产化和可扩展性的要求

,才能帮助芯片公司在激烈的市场竞争中脱颖而出。这些都对当前的原型验证提出了更高的要求,也带来了前所未有的技术挑战。


01


大规模SoC原型验证技术的挑战



高性能



软件开发团队的目标是在平台上尽早进行软件开发,确保验证的软件能快速移植到实际芯片上,性能达到测试需求(10MHz以上)。这意味着原型验证平台不仅要准确模拟最终芯片的行为,还要提供与实际硬件一致的环境,确保开发阶段发现的问题不会在最终产品中重现。这对平台的准确性和兼容性提出了高要求,主要挑战在于保持模拟环境与实际硬件的一致性,并在较低频率下进行高效调试和验证。



大规模设计分割



由于大规模复杂SoC设计规模庞大,将设计映射到由多个FPGA组成的网络,即设计分割。如何自动化、高性能并加速实现大规模原型验证系统?要做好设计分割,关键就在于解决并行综合、并行编译、自动化编译、增量编译、RTL自动分割和自动化管脚复用TDM IP等技术点。

首先是设计综合时间长。对于几亿甚至数十亿门的SoC设计,如果将整个设计映射到FPGA进行综合,时间可能长达数天或数周。这对于需要频繁修改代码的用户来说是不可接受的。因此,需要采用并行综合的方法。

再者就是编译时间长。面对特别大的设计规模,编译时间过长不仅会延缓开发进度,还会影响设计的迭代和优化。具体而言,开发者需要等待编译完成,无法快速进行下一步操作,降低了工作效率;每次修改代码后都需要长时间等待编译结果,限制了设计的快速迭代和优化;长时间的编译需要占用大量计算资源和时间,增加了项目的成本和资源消耗。这就需要采用并行编译、全自动编译和增量编译等方法。

其次是RTL级分割。使用RTL分割工具对大规模SoC设计进行分析和资源估算,然后分层分割为多个以目标FPGA为顶层的RTL模块,并行综合这些模块以缩短时间。虽然RTL级自动分割能显著减少工作量,但其实现难点在于分割算法的效率和精度。市场上供应商的分割算法成熟度不一,面对更复杂和大规模设计时,仍需不断改进。

最后是时分复用(TDM)技术的挑战。TDM通过在不同时间段内共享同一物理资源,提高资源利用率。在原型验证中,TDM可以用于复用FPGA管脚,从而减少对FPGA资源的需求。这对于高密度设计尤为重要,能有效应对有限的FPGA资源限制,确保设计能够正确映射并运行。

基于高速收发器(Transceiver)IO的管脚时分复用(TDM)IP有两种分割模式:


自动化分割模式:

使用专门的软件进行大规模SoC设计的自动化分割,并利用FPGA的Transceiver IO实现单拍传输的TDM IP。这种方式省时省力,但带来的性能开销使分割后的系统最高只能工作在20MHz左右,无法满足某些大规模芯片设计的原型验证速度需求。


总线协议分割模式:

基于FPGA之间的Transceiver IO进行总线协议分割。分割后的系统时钟能工作在几十MHz到100MHz以上,满足高性能需求。但这种方式要求FPGA之间的分割边界只能是总线接口,且用户需要手动例化Transceiver接口IP设计。

这两种分割模式各有优缺点。自动化分割模式更省时省力,但性能有限;总线协议分割模式性能更高,但只能在限定环境下使用。如何结合先进的分割算法和TDM技术,显著提高SoC设计的验证效率,是许多商用原型验证供应商的关键技术竞争点。



完整工具链支持



完善的工具链是缩短实现周期、减轻团队负担的关键,包含协同仿真软件、远程访问与管理、多用户模式等。不成熟的工具会导致团队花费大量时间在调试上,并可能导致频繁的错误和不准确的分割结果,从而延长开发时间和浪费资源。只有具备这些特性的自动化工具链,才能满足现代芯片设计和验证的需求,显著提高生产力和工作效率。



丰富的外设子卡方案



为了更好地支持软硬件联合开发,原型验证平台需要配备特殊的高速外围接口,如DDR4、USB 3.0和PCIe Gen5等,实现高效的数据传输和交互。选择BYO(Build Your Own)的开发团队自行设计子卡,会增加调试的不确定性和调试周期。高速接口的调试通常消耗大量人力资源,很多问题只能依靠调试经验解决,费时费力且效果不佳。此外,一些Memory控制器IP由于缺乏FPGA厂商提供的PHY解决方案,无法在原型验证系统中正常运行,增加了设计验证的风险。

因此,原型验证平台需要提供丰富的外设子卡方案,支持多种高速接口,并确保其性能稳定,以减少开发团队的工作量,提高调试效率,确保SoC设计的准确性和可靠性。



调试与观测



大规模设计调试是原型验证领域又一挑战,当用户的待验证 SoC 设计下载到原型验证系统无法正常运行的时候,开发人员需要有效的调试方案来排查故障的原因。开发人员需要有效的软件调试和观测工具,以快速定位和解决问题。

强大的调试工具包括逻辑分析仪(ILA)、协议分析仪和实时监控工具等。这些工具必须能够与原型验证平台无缝集成,提供实时的调试信息和可视化的数据分析功能。此外,还需要支持远程调试,以便在不同地理位置的团队之间进行协作。主要挑战在于如何在不影响系统性能的情况下,提供详尽的调试信息,以及设计直观高效的调试界面。确保这些工具能够快速、准确地反馈系统状态和数据,以便开发人员及时发现和解决潜在问题。

虽然用户可以用 FPGA 厂商提供的 ILA 进行多 FPGA 的级联调试,但是也存在着诸如用户逻辑资源占用,存储深度,Probe 数量及多FPGA 的 Trigger 信号触发的使用场景限制。为了满足用户以上的高密原型验证系统调试场景需求,用户需要有更强大的调试方案支持对大型 SoC 设计进行全系统的调试,利用最少的资源,完成多颗FPGA 的并行深度调试。



平台稳定性&产品方案



从项目角度来看,选择商用原型验证平台需要根据设计规模确定合适的容量,满足各种项目需求。该平台必须实现全芯片设计和验证,具备稳定、可靠的性能,能执行长时间、不间断的硬件压力测试。此外,供应商应有丰富的产品选择,大量现货供快速交付,以及有效的供应链管理,能够快速响应客户需求,提供全面的技术支持,包括快速响应的FAE服务。国外厂商可能无法提供本地化服务,而新兴供应商往往缺乏客户积累和成熟的售后支持团队。


02


Prodigy芯神瞳原型验证解决方案

思尔芯的Prodigy芯神瞳提供稳定可靠的产品,配备完整的工具链,以及丰富的外设接口子卡、内存模型、降速桥方案等,提升验证效率,缩短芯片的验证周期。其设计分割后的性能高达20-50MHz,单机可达500MHz,满足多种复杂SoC验证需求,适用于架构设计、系统集成、软件开发、全系统验证和回归测试等多个应用场景。思尔芯在软件功能和子卡方面不断加大投入,特别是针对RTL逻辑分割、子卡开发和复用等复杂问题,Prodigy芯神瞳采用多种调试手段,时序驱动的RTL级分割算法和内置的增量编译算法,为工程师提供强有力的支持。



时序驱动的RTL分割,实现全自动编译



思尔芯的Prodigy芯神瞳支持时序驱动的RTL分割,提供高速且稳定的通用Serdes TDM IP,能够处理大型IP设计,支持高达25Gbps的分割速率和8K:1的时分复用比。它还支持并行编译、分布式编译、全自动编译和增量编译,大大减轻了团队的负担。

具体而言,在多片系统中,大规模设计分割对于确保复杂ASIC设计能够高效、准确地进行原型验证至关重要。思尔芯的Prodigy芯神瞳通过先进的增量编译和TDM时分复用等技术,进一步优化了分割的效率和性能。其时序驱动的RTL级分割算法能够自动处理分割后设计中的TDM插入问题,实现全自动的分割编译流程。这一过程不仅简化了设计分割,还通过内置的增量编译算法功能提供了更快的设计迭代和错误排查能力,使设计工程师能够更高效地评估和验证设计改动,从而直接提升系统的整体性能。

此外,思尔芯提供了Chiplink作为AXI总线的分割方案,可为Arm、RISC-V等外置支持方案提供了更高效的解决方案。思尔芯的低延迟Chiplink AXI IP方案支持高达1024位宽的AXI DATA位宽,并能在每个Bank支持最多4组AXI协议,同时提供多种可配置的Serdes线速率,显著提升了多核处理器和AXI周边设备的速度和性能。

SoC原型验证的技术挑战有哪些?揭秘大规模验证的难点。 (https://ic.work/) 技术资料 第1张



图为Prodigy 芯神瞳RTL级设计分割流程



通过这些先进的工具和功能,思尔芯不断简化验证过程,提高设计效率,确保用户能够快速且准确地完成验证任务。



多种调试手段,可远程管理和调试



Prodigy芯神瞳提供了一系列灵活且高效的调试手段,使得远程管理和调试变得简单高效。它支持多配置方式、实时硬件监控、远程系统控制和硬件自检测等功能。尤其是基于网络的AXI Transactor,允许远程通过网络访问和控制连接到AXI接口的设备。这对于远程调试和测试非常有用,可以在不同地点对硬件进行操作和监控。此外,思尔芯还提供了MDM Pro调试解决方案,提供最高125MHz的采样频率和最大64GB的波形存储容量,能有效解决原型验证中多FPGA的协同调试问题。



丰富的产品配置与容量



在硬件方面,Prodigy芯神瞳原型验证解决方案具备丰富多样的产品配置,适用于小、中、大等各种规模设计,比如:

SoC原型验证的技术挑战有哪些?揭秘大规模验证的难点。 (https://ic.work/) 技术资料 第2张


逻辑模块 Logic Module(LM)

-采用轻便型的单板结构和外设接口,单机器3M~116M ASIC gates。通过支持高速 I/O 连接器互连实现高可扩展性和高可重用性,为用户在多个项目之间快速切换和重复使用提供了便利。


逻辑系统 Logic System(LS)

-桌面级原型验证系统,单机器14M~400M ASIC gates,。采用高度模块化及一体化的设计,提供高灵活性和优良性能,是中小型设计项目的理想选择。


逻辑矩阵 Logic Matrix(LX)

-适用于超大规模芯片设计与验证的企业级高密原型验证产品,单机器232M~392M ASIC gates。成熟的多板级联方案使其具有易于超大规模逻辑扩展特性,客户端已成功部署百亿门级系统。



90多种子卡,实现快速部署



Prodigy芯神瞳还提供多种子卡和参考设计,使用户能够快速实现所需的I/O接口和外围设备,实现快速部署原型环境。Prodigy芯神瞳外置应用库具有以下优势:覆盖率高,90多种子卡和配件覆盖主流应用领域;实用性强,现成的解决方案加速系统原型验证。多种模块类别可供选择:Arm处理器接口模块、嵌入式和多媒体模块、通用扩展模块、通用接口模块、高速GT接口模块、存储模块等。

SoC原型验证的技术挑战有哪些?揭秘大规模验证的难点。 (https://ic.work/) 技术资料 第3张



产品稳定可靠,全球客户600+



思尔芯自2004年在上海成立以来,一直聚焦于数字前端EDA领域,并且是业内最早开发原型验证工具的企业之一。自2005年推出第一款原型验证产品起,思尔芯持续推出了八代产品,经过多次迭代,在材质、架构、系统以及高速PCB仿真技术等方面的不断优化下,思尔芯已成为加快软件开发和芯片设计验证的优选解决方案。

凭借20年的技术积累,Prodigy芯神瞳已成为市场认可的成熟产品,满足了不断演进的原型验证需求,并补充了诸多独特的产品功能。如今,思尔芯的产品因其成熟和质量稳定,获得了全球600多家客户的认可和使用。作为国产EDA的代表企业,思尔芯以其快速响应能力赢得了客户的信任和支持,多年来客户对产品的认可已超过三大家,已成为该领域的行业标杆。

文章推荐

相关推荐