股票
板块
用户
资讯
首页
天眼
自选
发现
开户
首页
天眼
自选
发现
我的

IP集成,挑战加剧

公众号记得加星标??,第一时间看推送不会错过。

IP集成并非半导体设计中最引人注目的任务,但往往也是最棘手的任务之一。在模块级验证和系统级交互的交汇点,缺陷通常很难发现。

1996年虚拟套接字接口联盟(VSIA)的成立,对许多人来说,是集成第三方IP模块来设计系统的理念首次成为现实。其宗旨是统一和标准化IP的构建、验证、交付和支持方式。该联盟于2008年解散,认为其工作已经完成,或将部分工作移交给更专注于解决特定问题的组织。十八年后,这个问题仍在不断演变。

其理念是,每家公司都应该专注于开发设计中新颖独特的部分,贡献自己的专业知识,而其余部分则由领域专家开发。

“十年前,一个设计可能只有几十个IP模块,” Keysight EDA的SOS产品经理Pedro Pires说道。“如今,一家公司可能拥有数千个IP,同一个IP还有几十个不同的版本,而你需要理清所有这些信息。此外,它们的配置性也比过去强得多。随着每个模块所需数据量和数据类型的不断增加,以临时方式进行管理变得非常困难。”

这给验证带来了巨大的压力。“最严重的故障几乎从来不会发生在单个区块内,” Axiomise的创始人兼首席执行官 Ashish Darbari 说。“它们出现在区块之间——消息依赖型死锁、信用缓慢泄漏、重排序缓冲区损坏、跨桥接的排序规则被破坏。每个区块都通过了自身的验证,但系统却因为两个团队对同一协议规则的解读略有不同而崩溃。”

随着时间的推移,跨IP问题数量不断增加。“从SoC的角度来看,这可能涉及很多不同的问题,包括地址映射、中断、一致性、QoS和安全性,”Synopsys高性能计算IP产品组合技术产品管理高级总监Madhumita Sanyal表示。 “此外,还有物理实现场景,例如DVFS(动态电压频率调节),即用于降低功耗的动态电压调节。另外,还有软件和操作系统交互。如果考虑芯片间的IP,则存在互操作性问题。还有已知良品芯片封装、信号完整性、电源完整性、电源分配网络、热耦合、遥测等等。”

虽然设计尺寸一直在稳步增长,但这本身并不能说明复杂性。“我可能在设计一个拥有32个核心的巨型CPU,但这只不过是32个相同东西的复制品,”IC Manage首席执行官Dean Drako说道。“它可能带有一个巨大的缓存。那也只不过是一个单元重复了1亿次而已。复杂性并不总是与芯片尺寸成正比。它们确实很复杂,但这种复杂性并非随着芯片尺寸的增加而线性增长。人脑无法处理如此庞大的数据量。”

关键在于一个模块对周围环境做了多少假设,而这个数字的增长速度远超其自身大小。“一个 UART 只需要时钟、复位和寄存器接口,仅此而已,”Axiomise 公司的 Darbari 说道。“而一个一致性缓存、CHI 主节点或片上网络 (NoC) 则承载着数百个假设。它们包含排序规则、信用合约、未完成交易的限制、复位和电源时序、地址映射预期以及安全属性。除此之外,还有一些配置参数,而数据手册往往无法完全解释这些参数的影响。”

集成压力日益增加,诸多因素加剧了这一压力,例如IP模块规范编写不完善或不完整。在系统层面,软件复杂性不断增加,功耗和散热问题也日益突出——尤其是在芯片组集成、模拟电路含量增加以及许可、地缘政治限制和出口管制等因素带来的复杂性增加的情况下。下文将对上述各项进行简要概述。

糟糕或不完整的规格说明:众所周知,规格说明很难做到清晰完整。“信息往往不够完整,无法让你准确了解系统在所有情况下的运行情况,”是德科技的Pires说道。“了解系统运行的条件可能会有所帮助,但这取决于你的IP文档的质量。IP文档中可能包含与特定情况相关的信息,从这个意义上讲,了解系统运行的条件会有所帮助,但也可能不会。”

问题往往是在漏洞暴露出来时才被发现的。“架构师、设计师、软件团队、设计验证负责人和正式团队面对同一个故障,却得出了不同的结论,”Darbari说道。“没有人能就系统应该做什么达成一致,因为从来没有人把这些内容写下来,形成一个所有人都能理解的文档。这些意见分歧从一开始就存在,只是通常在两年后,也就是芯片开发完成后的调试阶段才会浮出水面,而那时修复这些分歧的成本也最高。”

软件复杂性:虽然有些软件完全封装,对外部接口完全隐藏,但很多软件并非如此。“即使是像PHY这样简单的组件也包含大量的软件内容,”Synopsys公司的Sanyal说道。“启动固件会建立所有的时钟、复位和内存设置。PHY还有校准固件,用于执行初始校准和自适应,并且会持续更新。该驱动程序需要与操作系统中断、DMA框架、BIOS、虚拟机管理程序、PCI控制器的一致性或IOMMU依赖项等进行集成。所有这些都扩展了拓扑结构、操作系统服务和电源管理框架之间对中断的依赖关系。”

这些问题非常棘手,以至于 UCIe 标准试图解决它们。“UCIe 3.0 规范了固件在初始化早期阶段的下载方式,”Darbari 说。“问题在于,硬件的正确性往往取决于某些软件假设。例如,寄存器可能需要按特定顺序编程,或者在事务进行期间绝对不能写入某个字段。这些规则很少被明确规定,而 RTL 验证本身也从未检查过它们。”

硬件和软件之间的鸿沟很大。“软件世界和硬件世界截然不同,这意味着负责硬件的人员和负责软件的人员完全不同,”皮雷斯说。“这包括固件,以及与知识产权紧密相关的软件。这两个团队的工作流程和工作节奏也截然不同。”

电源和散热:电源控制正成为一个日益棘手的问题。“电源管理已成为一项功能特性,同时也是功能性缺陷的主要来源,”Darbari 表示。“每个电源域都会增加状态、转换、隔离和唤醒序列。一个数据块在通电状态下可能完全正确,但如果其相邻数据块在传输过程中断电,则仍然可能丢失交易或导致握手中断。诸如‘如果在响应尚未完成时某个域断电,此请求是否会丢失?’之类的问题是经典的形式化问题。仿真很少能准确地找到出错的周期。”

功耗会产生热量,进而影响敏感电路的运行。“如今,功耗和散热已成为SoC性能的瓶颈,模拟IP不能再被动地运行了,”Agile Analog产品营销副总裁Chris Morrison表示,“我们必须对其进行主动管理,利用嵌入式PVT传感器、时序监控器、电压下降检测器和故障检测器,将实时遥测数据反馈给电源管理单元,以便在问题影响运行之前将其捕获。”

模拟内容:模拟内容一直面临着独特的挑战。“这些IP的应用范围有限,而且它们高度针对特定用例,”Pires说道。“虽然人工智能在许多领域都发挥了作用,但由于数据稀缺,我们在创建用于加速射频和模拟设计的AI自动化方面面临着巨大挑战。要获得足够数量的高质量数据集来训练智能体以执行流程中的特定部分并非易事。这类信息更加定制化、聚焦化和狭隘,而且通常是我们无法获取的专有信息。”

模拟模块设计者正在寻求将他们的设计抽象到数字世界的方法。“客户越来越需要完整的模拟子系统,而不是费力处理十几个独立的模块,”Agile Analog 的 Morrison 表示。“在 SoC 级别使用 SPICE 仿真大型模拟子系统耗时过长,因此,通过数字封装隔离 IP 可以简化验证过程。在内部完成繁重的混合信号处理意味着数字 SoC 集成团队可以尽早使用 SystemVerilog 实数模型 (RNM),并在其数字环境中运行全芯片验证。”

Chiplets:Chiplets 可以被视为一种新的 IP 物理交付机制。“Chiplets 放大了这个问题,并将其升级为供应链集成问题,”Synopsys 系统解决方案战略项目执行总监 Frank Schirrmeister 表示。“你不仅要面对 IP 问题,还要将设计从 SoC 边界转移到封装边界。现在,IP 集成变成了供应链集成。你不仅要集成设计,还要集成所有可能来自不同公司、不同制程节点和不同代工厂的组件,而它们在 IP 层面都有各自的验证方法。”

所有集成问题依然存在。“片上网络(NoC)现在跨越芯片边界,因此多个芯片看起来像一个整体,”Darbari说道。“UCIe在物理层和链路层处理方面做得很好,并且已经证明了跨厂商的互操作性。但是,一个可用的链路并不意味着一个可用的系统。你仍然需要就地址映射、一致性模型和软件达成一致,而这些恰恰是标准尚未解决的语义问题。规范现在包含了设计函数图(DFD)、可测试性设计(DFT)和可制造性设计(DFM),以及可管理性,因此芯片组看起来不再像一个被动模块,而更像是一个拥有自身管理固件的小型系统。”

Chiplet 需要的信息甚至比 IP 模块还要多。“现在多物理场效应开始发挥作用,这意味着你需要更多关于你所管理的 IP 的信息,”Pires 说。“把所有这些数据放在一起变得非常难以管理。这意味着 IP 会变得更加复杂。例如,电源意图需要作为额外的组件随 IP 一起传输。”

验证:对于 IP,尤其是芯片组而言,由于无法直接查看模块内部结构,验证变得更加困难。“大型 IP 越来越多地采用加密方式交付,因此你无法读取 RTL 代码来了解其真实需求,”Darbari 说道。“你只能依靠文档,而根据我的经验,漏洞往往就藏在文档里。这些模块通常以生成器的形式交付,而非固定设计。供应商验证的是某些配置,但你实际流片的很可能是另一套配置。参数众多时,很容易出现未经测试的组合。”

好消息是,并非知识产权的每一项功能都需要验证。“识别合法的功能子集是一项架构和验证任务,”Sanyal说道,“这并非一劳永逸、可以自动化的。就验证方面而言,我们现在以及我们的客户都在使用人工智能模型,以便比以往更快地处理那些特殊情况。关键在于深入验证环节。”

版本控制:很少有事情能一次就完美无缺。初始版本发布后,所有漏洞都会得到修复。IC Manage 的 Drako 表示:“非人工智能版本的核心在于知识产权生命周期管理。借助人工智能,生命周期可能会更快,但你仍然需要管理这些生命周期。或许你可以让人工智能来帮你完成这项工作,但你必须拥有相应的数据和系统来跟踪它,了解你完成了哪些流片,开发了哪些产品,以及哪些知识产权被用在了哪些地方。”

硬件和软件的交付和更新时间表各不相同。“现场固件更新可能会改变芯片在验收完成后的运行方式,”Darbari说道。“中断、电源状态、DMA缓冲区和安全属性在硬件和软件之间共享,而冲突往往会在启动时出现,因为第一个实际的驱动程序会运行一个无人指定的序列。”

硬件和软件通常使用不同的版本控制机制。“挑战在于如何将所有这些数据集成到一个系统中,”Pires说道。“特定版本的硬件需要与特定版本的软件相对应,而这种关联通常存在于Excel表格中,既混乱又容易出错。在集成系统时,你需要管理配置本身,例如特定系统的物料清单,以及系统中组件的具体组合。每次进行更改时,都需要保存更改内容,以确保可追溯性。”

结论:这似乎是一个日益令人担忧的问题。但与EDA领域的大多数问题一样,随着问题的加剧,它所受到的关注也会增加,而对问题的投入最终会带来更好的解决方案。

皮雷斯说:“管理问题日益严重,但解决该问题的机制也在随之发展。相对而言,痛点依然存在,但其背后的问题却更加严重了。”

编者按:本报告的第二部分将探讨最近的改进,以及如何利用人工智能来改进 IP 的选择、配置和集成。

(来源:编译自semiengineering,谢谢)

*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。

END

今天是《半导体行业观察》为您分享的第4590期内容,欢迎关注。

推荐阅读

★对话华为徐直军:绝境下逼出来的“何式定律”

★英伟达最强对手,来了

★光刻机巨头,轰然“倒塌”

★狂飙的AI ASIC赛道,国内跑出一个平台玩家

★刚刚,苹果买了家芯片公司

★存储芯片,走向失控

★玻璃封装,真的要来了

★连二手设备,都要抢了

加星标??第一时间看推送~

求点赞

求分享

求推荐

原文链接
多空观点 观点仅供交流,不构成投资建议
点赞
踩一踩
收藏
分享

评论 (0)

0/200
声明:社区内容仅代表用户个人观点,不构成任何投资建议。投资有风险,入市需谨慎。