演讲回顾:半导体设计中的数字资产管理最佳实践
近日,在广州举行的中国集成电路设计业 2023 年会(ICCAD 2023)上,龙智资深顾问、技术支持部门负责人李培将带来主题演讲“半导体设计中的数字资产管理”,聚焦数字资产管理的两个层面——文件级别的管理和更高抽象层次的管理,分享数字资产管理的最佳实践,助力半导体项目的高效推进和产品的准时交付。
演讲文字实录:
各位嘉宾下午好,今天我主要分享半导体设计中的数字资产管理。首先,简要介绍一下我们公司——龙智,专注于 DevSecOps 领域已有超过 10 年历史,为客户提供从上游需求到下游测试验证和数据管理的全方位解决方案。我们的愿景是将世界上最好的软件引入中国,为客户提供卓越的本土化服务。
聚焦芯片行业,龙智此次展会带来的重点产品是项目管理软件Jira,版本控制软件Helix Core,IP生命周期管理软件Methodics IPLM,以及企业文档管理软件Confluence等。
半导体设计中面临的挑战
从需求层面看,半导体设计行业面临着市场竞争激烈的压力,迫切需要缩短设计周期、提高设计效率。芯片行业是一个资产密集、知识密集型行业,投入非常大,如果产品迭代的周期较长、无法按时发布,可能导致竞争劣势,造出来的产品变成库存。而创新成本和风险也逐渐上升,一次 respin 就可能带来巨大损失。
法规和安全方面的挑战分为两部分。一是来自外部的法规,比如监管部门、客户如何证明产品安全并符合相关行业的标准?另一个是内部的法规,从设计、开发到流片的流程是否始终处在可控、可追溯的条件下?只有满足内外部规定、法规的产品才有说服力。
技术上,半导体设计面临大数据、多版本、分支需求多变等挑战。市场需求变化导致设计层面版本和分支需求频繁变动,而数据分散分布、难以管理共享和使用,跨地域协作难题也是亟待解决的问题。如果每个部门独立管理数据,数据共享比较困难。常见情况是很多外购的 IP 模块散落在各处。A 部门购买后使用了一次,然后就放在服务器的某个角落里。其他部门不知道,然后重复购买、重复设计、重复开发。
由于半导体行业需要广泛招揽人才,可能在全球各地建立多个办公室,这些办公室之间设计开发的协同需求、高效的跨地域协作也是随之而来的一个问题。
安全,审计和追溯对应前面说的法规和安全。内部要有追溯设计和需求的能力,完全依赖手工会导致追溯效率低下,这也是半导体设计中面临的挑战。
Perforce 半导体设计的数字资产管理方案
此方案包括两款产品。首先是通用数据的管理,即使用 Perforce Helix Core 来管理所有文件数据。尽管有许多免费的文件级版本管理系统,如 SVN 和 Git,但 Perforce Helix Core 是一款付费软件,其主要特点是高性能,即在处理大量数据时,尤其是上百 TB 级别或更多时,仍然能保持出色的性能。
Perforce Helix Core 具有高度可伸缩性。它不是一个臃肿的工具,而是轻便而强大的工具。无论团队规模如何,小型团队可以使用,大型团队可以无缝扩展,管理所有设计文件。
对于文件层级的数据资产管理,只需使用 Perforce Helix Core 即可。然而,由于芯片行业的特殊性,一个产品的发布通常由多个 IP 组成,包括外购 IP、自己设计的 IP 等。这些 IP 的需求、变更来源、下游验证仿真结果以及 IP 自身的版本可能经历多次文件修改,才能形成一个逻辑上的 IP 版本。
Methodics IPLM 专注于 IP 版本管理,可以实现上游的需求和变更以及下游的验证和测试与 IP 版本相关联,追踪和复用所有 IP 和设计组件,从而简化 IP 发布和管理的流程。
Helix Core——支撑
首先,Perforce Helix Core 能起到支撑的作用,它的口号是“管理你的一切数字资产,作为公司的单一可信数据源”。无论公司规模大小,如拥有超过 3 万名用户和数百 TB 级别数据的大型公司,Perforce Helix Core 都能存储任意类型的设计数据文件,支撑上万名用户,并具备成熟的分布式部署能力。这意味着它能够天然地支持全球团队的高效协作,无论团队成员身在何处,都可以处理大量用户事务和流水线构建。
另一个优势是享有统一的企业级灾备计划和安全策略。对于芯片设计公司来说,最重要的数据资产就是设计的数据和文件,因此需要一个企业级的灾备计划和安全策略,以确保数据不会丢失。如果使用分散的小型服务器,数据可能会四处分布。每个部门都有自己的策略。管理得当的部门可能有灾备计划,而在设备损坏、服务器崩溃或其他意外事件发生时,管理不善的部门可能发生数据丢失,这无疑是一个巨大的损失。
Helix Core——共享及安全
除了支撑以外,Perforce Helix Core 以单一平台管理所有数据,便于实现共享和确保安全。
首先,实现共享在单一系统中更为简便。相较于分散系统,单一平台有天然的数据分享优势。另外,数字资产在同一平台上,可以始终处于完善的权限控制和机制的保护下;并且它具有多种方式进行用户认证的能力;还有灵活强大的授权控制,文件级粒度,根据用户、组、路径、IP 地址等实现授权控制;并具有审计访问和修改的能力,可以追溯谁在哪修改了什么,在应对内外部的安全审计方面很有帮助。
综上所述,Perforce Helix Core 可以作为公司或组织的唯一可信数据源,无论公司规模大小。雇员和数据都很多的巨型公司,如三星、英特尔,刚起步的人数较少的公司,Helix Core 都能适配。它应用性非常好,非常轻便。虽然轻便,但功能强大。它可以实现数据高速存取,满足便捷、强大的分支管理需求;具有高度的可伸缩性,企业成长时业务无需中断,可以快速扩展,同时享有企业级安全性。
传统文件层级进行版本管理意味着更多工作量
在文件层级,Perforce 已经表现得相当出色。但基于 IP 设计或半导体设计的特点,在传统的 IP 层级进行版本管理意味着更多的工作量。因为 IP 设计行业通常是以 IP 为管理单元,需要查看并重复利用已有的 IP,包括外购 IP、自己做的 IP,也可以是配置、参数等。
在 IP 设计中,通常以 IP 为单位进行使用或引用。然而,一个 IP 可能包含大量文件,如果要精确到文件级别,查找 IP 的版本可能需要更多的工作。传统方法包括使用文件级别的版本管理系统,通过打标签或与分支相结合的方式实现 ip 版本管理。文件级别与 IP 级别存在差距,手工管理设计架构工作区很繁琐。据我所知,很多公司需请专人(通常是资深的工程师)或是专门的部门来完成这项工作。一些客户可能需要花费数月时间才能构建一个大型 SoC 的整个架构,需要编写大量的脚本。
另外是缺少上游需求、设计以及验证等阶段之间的有效追溯手段,也就是相互难以有效或快速地追溯。
在 IP 层级管理数字资产
为了满足这些需求,需要在 IP 层级来管理数字资产。也就是在文件层级之上引入一层 IP 层级的管理,帮助团队追溯所有的 IP、元数据和环境配置,这可以简化 IP 体系结构的建立和管理。以前可能需要写几个月脚本,现在可以成为日常工作,有软件来管理映射关系,从文件级的版本追溯到 IP 级别的版本。这有助于企业建立通用的发布方法,即发布和数据关联都在同一个平台上,管理所有设计的 BoM,并支持与周边系统的无缝集成。
Perforce 提供的 IP 层级的数字资产管理是以 Helix Core 为基础,上面覆盖一层 Methodics IPLM。因为 Perforce Helix Core 天然支持分布式部署,Methodics IPLM 自然而然继承了这种能力。这意味着全球团队或者是多个办公室之间都可以无缝使用这种技术。
IP 版本管理
简单解释下 IP 管理能管理什么。首先是管理 IP 每个版本的状态、属性以及相关资源。IP 可能有很多版本,验证后的版本或中间过程版本。比如外购了一个 IP,可能有检测报告或说明文件等。
支持按库、按标签分类,管理工作区。之前写脚本要花费很长时间,现在工作区的获取和搭建比较简单,一条命令就将里面的几百甚至上千个 IP 拿下来。
良好的搜索和权限管理,以及双向索引。每个 IP 包含哪些 IP、每个 IP 被哪些项目使用,这两个问题听起来很简单,但实际上当 IP、版本、分支的数目多了之后,想快速的回答这两个问题很困难。
举个例子,在某些场景下,我们可能自己或客诉中发现发布的某款产品中的某个 IP 存在缺陷。然而,在解决问题之前,我们首先需要回答一个关键问题:要修改哪些产品?由于某些 IP 可能被多个产品使用,确定需要进行修改的产品是至关重要的。如果无法迅速回答这个问题,可能需要逐一检查每个产品,这个过程非常耗时。
这是一个示例。示例页面可以看到 IP 信息,有 IP 的属性、标签,以及分支的版本信息等。
右侧显示的是 IP 版本,包括三个经过验证的版本。其中每一个 IP 的迭代都是 IP 层级的。对应于文件级的版本,在管理层面,可能会有数百上千次的提交,修改了大量文件,每个文件改了多次,而这个软件能够帮助你有效地管理这些提交和修改。相较于手动使用标签或分支进行管理,这种自动化的管理减少了错误的发生。
这是 IP 版本的界面。IP 的某个版本可能有相关的链接数据,比如上游的需求、修改的 bug、验证报告、仿真报告等,这个界面具有高度的可定制性。所有相关的信息都可以在此查看,很有帮助。
资源页面显示了此 IP 版本,引用了哪些 IP。有上游的 SoC 芯片,还引用了下面的哪些 IP 的哪个分支的哪个版本,相当于预览或 BoM。
IPV Usage 页面显示此 IP 版本被哪些 IP 版本引用了。
Perforce Helix Core 是一个开放和集成的软件,可以与主流的 EDA 工具软件集成,比如 Cadence, Synopsys 等;与主流故障跟踪系统集成,如 Jira 等;支持主流文件版本管理工具,如:p4,svn,git 等;开放平台,易于扩展和定制,关联及展示各种相关数据,如:验证结果等。
以上就是我介绍的主要内容,谢谢大家!
评论