面向 21 世纪的自动化SoC集成
作者:Pascal Chauvet
Pascal 在 Arteris 领导 SoC 集成产品的销售和工程支持活动。在加入Arteris之前,Pascal曾在Magillem、Sonics、CoWare和STMicroelectronics担任销售、技术营销和工程方面的高级职务,在半导体、EDA、系统级设计和半导体IP方面积累了丰富的经验。他拥有巴黎高等电子与电工技术工程师学院(ESIEE Paris)的电子工程学士学位,以及法国国立工艺与技术大学(CNAM)的电子工程硕士学位。
当今具有数十亿晶体管的片上系统(SoC)器件由数百个功能性知识产权(IP)模块组成。SoC 的创建通常是将从可信的第三方供应商获得的 IP 模块和一些内部开发的 IP 模块结合在一起,其中内部开发的 IP 块包含将该设计与竞争产品区分开来的秘密武器。
第三方 IP 可能包括中央处理器、图形处理器、内存子系统、动态内存访问控制器、外部内存控制器和通信功能(如以太网、USB 和 MIPI)。内部开发的 IP 可能包括硬件加速器和机器学习推理引擎。
为了使SoC 器件正常工作,必须仔细集成不同的 IP 块。SoC集成就是将所有这些IP聚集在一起形成一个完整器件的过程,但这并不仅仅是像拼图游戏一样将它们相互插入。SoC 集成具有挑战性,涉及隐秘的复杂性,并且容易出错。
设计师始终如一地整合来自多个来源的不同内容,同时与不同地点的团队合作,但团队间的协同作用有限。他们的任务种类繁多,需要大量的手工操作。由于这些挑战,设计被延误,进度被推迟,进而导致错过了上市时间和创收目标。
手动管理元数据
元数据(metadata)这个术语是指关于数据的数据。它总结了有关数据的基本信息,这些信息可以使跟踪和使用特定数据更容易。
每个 IP 都由一组综合的相关元数据来描述。例如,构成其输入和输出端口的位、它使用的通信协议、所有复位和中断信号、它所包含的所有存储器的大小和地址空间,以及有关所有控制和状态寄存器 (CSR) 的详细信息。此信息包括它们的地址和哪些位可以被读取或写入。
元数据以多种形式表现出来。在SoC设计的早期,元数据存储在手工创建和维护的数据表或电子表格中。典型的设计环境和流程涉及多个并行工作的团队,每个团队都有自己内部开发的脚本、工具,通常还有文件格式。
图1. 各个设计团队创建和输入自己的文件,由于有多个事实来源而导致高成本的交互。
如图 1 所示,在多个事实来源的情况下,每个团队将创建和维护自己的输入文件,这些文件通常包含重叠的信息。但是,当一个团队没有与其他团队充分沟通时做出设计决策,这些数据通常不会完全一致,或者变得不一致。一个典型的例子是,硬件设计人员修改CSR名称、地址和功能,而没有与嵌入式软件开发团队进行沟通,后者正忙于编写固件和器件驱动程序。在这种情况下,问题可能只出现在产品开发周期深处的硬件和软件集成阶段。
使用 IP-XACT 管理元数据
IP-XACT 标准最初创建于 21世纪初期,是一种从头开始开发的元数据格式,旨在促进 SoC IP 的管理和集成。最新版本于 2022 年发布。
IP-XACT 是一个丰富的标准,解决了 IP 的打包复用问题。它还包含了用于处理极端情况的其他构想,支持使用自动化,并促进自动化设计流程的创建。
请务必了解,IP-XACT 只指定和存储与 IP 相关的元数据。它是一种机器可读的格式,旨在由机器(而不是人)生成和使用。为了充分利用IP-XACT,必须拥有相应的工具和适当的开发环境。
许多公司选择开发自己的本土工具和基础设施。脚本通常成为各种语言的集合,例如Tcl,Perl和Python。很容易得到包含数十万行代码的环境,没有人知道如何维护,因为它是由许多贡献者随着时间的推移开发的。
另一种情况是初创公司无法支持大型CAD团队。通常情况下,他们会寻找劣质的免费软件工具,然后拼凑出一些东西。因此,他们可能会花费宝贵的工程时间来检测和修复引入的错误,因为免费软件工具没有经过验证,并且在很大程度上不受支持。
使用 IP-XACT 和 Magillem 管理元数据
最好的解决方案是使用Arteris 的Magillem 环境工具。该产品提供了一个工具箱,允许公司构建自己的自动化基础设施并开发自己的CAD环境,以促进SoC集成。该工具提供基于单一事实来源的开发流程,如图 2 所示。
图2. 利用 Arteris 的 Magillem工具的高效的开发流程。
考虑一个非常简单的仅涉及10个 IP的场景,其中 9 个是从第三方供应商处采购,第十个在内部开发。当采购的 9 个 IP 到达时,只有 7 个具有相应的 IP-XACT 模型。另外两个只有IP-XACT模型的子集。内部开发的IP也必须创建IP-XACT模型。
幸运的是,Magillem 工具能够整合全部这10个IP。该工具可以自动聚合来自不同来源的组件信息,以验证其语义和语法正确性。它会将它们合并为一个单一结构并基于标准的格式,供多个设计任务和团队使用,以避免任何不一致性。
Magillem Automation 如何整合SoC 与 IP-XACT
该工具定义了将所有 IP 拼接在一起的设计层次结构。这个过程并非易事,不仅仅是简单地将 IP #1 上的端口 A 连接到 IP #2 上的端口 B。它涉及配置和实例化每个 IP,识别AXI 和 OCP端口类型,创建接口并将每个 IP 构建到层次结构中。
一个重要的考虑因素是底层互连结构。大型SoC设计人员多年来一直在开发自己的架构,并且可能更愿意继续使用它。在这种情况下,Magillem 环境对于架构无限制,允许用户将他们喜欢的架构整体打包放到工具中并自动化该过程。此外,该工具还与Arteris行业领先的NoC IP无缝集成,包括FlexNoc 5互连IP及高速缓存一致性 Ncore互连IP。
输出是整个设计和其他附属数据的分层 RTL 网表。这包括用于各种 EDA工具 和连接性报告的生成文件脚本,这些连接性报告可以清晰地显示集成状态。Magillem 环境可以轻松地重新排列层次结构,包括升级单个 IP 和重组设计,同时这些设计可以自动传达给下游物理布局团队。
Magillem 工具提供单一事实来源,确保硬件(HW)、软件(SW)和文档数据库之间的同步。它支持直接捕获寄存器信息,并将黄金参考存储器映射自动导入IP-XACT。此外,它还提供全面的一致性检查,并创建从系统映射信息到位域级别的零误差 RTL 寄存器组、UVM 验证模板、文档和软件标头。事实上,Magillem工具全面整合了连接和寄存器管理,能够生成和验证系统地址映射和所有硬件和软件接口附件。
每当存在不同版本的 IP 或可能中断构建流程的新需求时,组合 SoC 的过程就会变得具有挑战性。必须拥有能够快速安全地适应这些变化的工具、数据模型和环境,从而减少繁琐和容易出错的工作。通过使用 Magillem,这些功能可以完全自动化并在持续集成管道中使用。 Arteris拥有深厚的专业知识和丰富的经验,持续完善这些功能,指导设计团队使他们能够提高生产力并实现一次性成功的项目。
总结
这些Arteris产品从根本上改善了设计过程,使其更容易,更快,风险更低。设计团队可以利用这些工具来最大限度地提高他们的生产力和专业知识。
要了解有关Arteris的SoC集成自动化的更多信息,请单击 此处。
作者: ArterisIP, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3893295.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论