技术指南 | Perforce Helix Core 在芯片行业的应用

现在,芯片的功能越来越强,使用的组件(IP)越来越多,参与开发一个芯片的人员也越来越多,这对芯片的开发、更新也提出了更高的要求。
在这里插入图片描述
Perforce Helix Core可以很好的运用在源代码管理中,还对设计过程中的二进制文件有非常好的支持,任何规模的芯片开发团队都可以简单的将Helix Core导入到他们的工作中。
Helix Core提供的Stream可以方便地管理不同团队的代码、二进制文件,本文将通过简单的示例说明如何使用Helix Core来进行芯片开发管理。

1.芯片开发的基本流程

开发芯片时,通常一般会分以下几个阶段:
在这里插入图片描述
需求分析:根据需求确认需要达到的具体功能和性能方面的规格,确定设计架构,得到需要认可的设计方案。
前端设计:芯片前端设计的主要目的是根据需求划分模块功能,为后端设计提供门级网表电路的输入网表。
后端设计:芯片后端设计主要目的是根据前端设计的结果(门级网表电路的输入网表),得到可用于生产芯片的GDSII文件。
芯片制造:将后端设计得到的版图GDSII文件发给流片厂进行掩膜制造。
测试封装:按照项目的需求对制造出来的芯片做相应的测试。
迭代阶段:测试发现错误或有功能更新时,根据迭代的内容,按照上述流程标准不停的做相应的持续开发和调优芯片。

2.各阶段的配置管理需求

在这里插入图片描述
前端设计,有需求、设计、开发等多团队同时进行,还需要考虑外部IP、不同团队的成果物的取得及构建,有协同开发管理、分支管理的需求(Perforce Helix Core可以很好地满足这些需求)。需求分析,参与的人员较少,文档也比较少,配置管理只需要考虑文件的版本管理和权限管理就可以(Perforce Helix Core、SVN、Git等都可以满足需求)。
后端设计,有设计、开发、测试等多团队同时进行,主要是物理设计完成后,根据版本需求,取得不同团队的成果物,构建生成GDSII文件,这需要有很好的协同开发管理、分支管理、大批量、大文件的管理能力(Perforce Helix Core可以很好地满足这些需求)。
芯片制造,需要管理厂家生产用的GDSII文件的版本,只要考虑文件的版本管理和权限管理就可以(Perforce Helix Core、Git的LFS都可以满足需求)。
测试封装,主要是测试团队进行测试,并将测试结果反馈给设计、开发团队,只要考虑文件的版本管理和权限管理就可以(Perforce Helix Core、Git的LFS都可以满足需求)。
迭代阶段,这时需要考虑bug的及时对应(分支管理需求),新功能的迭代开发,这时也需要有很好的协同开发管理、分支管理、大批量、大文件的管理需求(Perforce Helix Core可以很好的满足这些需求)。

2.1 版本管理
日常开发过程中,需要对各种文件做版本管理,版本管理工具有很多,常见的Perforce Helix Core,SVN,Git可以满足小规模开发、小团队的日常版本管理的需求。

2.2 权限管理
现在用户对知识产权的保护意识在逐渐增强,Git的权限只能设定到库,而且必须将所有内容都clone到本地,存在一定的泄露风险;SVN的权限也只能设定到目录。
Helix Core的权限管理可以更好地满足以下需求:

  • 设定目录的权限
  • 为单个文件设定权限
  • 将目录的权限管理或者用户组的权限
  • 委托给非管理员用户
  • 限定访问的客户端的IP地址范围
  • 以组为单位设定权限,并支持子组

2.3 组装IP和分支管理
芯片开发会有多个团队协同工作,在构建时需要组装多个团队的IP做构建。
Perforce中有工作区和Stream等概念,易于灵活地将服务器端文件(文件夹)映射到本地,实现模块组装和分支管理功能。
工作区:定义如何将服务器端文件获取到本地,可以将不同仓库的任意文件夹映射到本地,并可以调整文件夹获取到本地后的目录结构。不需要像Git,SVN那样使用隐藏文件夹来管理文件状态,减少磁盘空间浪费。从服务器端获取文件,可以按需进行,不需要像Git一样要clone整个Repo。
Stream:开发过程中可能应对不同需求会有多个开发分支,Stream就是Helix Core中的一种分支。这种分支除了维护最基础的分支映射关系以外,还提供了分支类型,分支合并方向,模块引用(或排除)等支持。为了易于观察分支之间的关系和差别,还提供了一个分支视图(StreamGraph)。通过引入Stream功能,Helix Core的分支管理功能更加强大。下图是一个分支视图的截图,其中每个长方形都代表一个分支,不同颜色代表了分支不同的分支类型,单向或双向箭头指示了预定义分支间并方向,绿色线代表可合并。
在这里插入图片描述
2.4 协同开发
现在芯片开发团队在逐渐增大,也可能有多个团队以及外包在不同地域开发,需要有效的协调不同地域的团队的开发。Helix Core支持多种多服务器架构,可以很好的支持不同团队的跨区域协同开发。通过Proxy缓存服务器,Edge服务器、Replica复制服务器提高异地的工作效率。
多区域服务器架构示例:
在这里插入图片描述
内部访问:

  • 为提高数据的安全性,Commit服务器和Edge服务器分别有一台Replica备份服务器用于备份。
  • Commit服务器和Edge服务器间用专线连接。

外部访问:

  • 当访问人数不多时,可以根据地方不同直接访问A城的Commit服务器或B城的Edge服务器。
  • 如果某地的访问人数较多时,可以考虑在当地搭建Proxy服务器,提高效能。

2.5 大批量、大文件的管理
现在的芯片的规模越来越大,包含的IP、文件越来越多,二进制文件也越来越大,Helix Core可以支持大批量文件、图像以及各种二进制格式的文件,SVN,Git已经不能很好的满足这些需求。

2.5.1共享存储方式节约存储空间
若资源体积较大,超出了经济的客户机存储配置,则可以考虑将只读的大量资源下载(P4 Sync)到一个共享文件存储器上(NFS等),Client机器仅在修改文件时才需要将涉及到的部分数据复制到本地,这种复制可以根据文件路径直接从P4服务器上Sync,也可以从Share Storage上复制(复制后通知p4服务器)。客户机本地修改后直接提交到P4 server上,之后Share Storage可以从P4 Server上增量Sync到最新修改。
Helix Core的Workspace特性允许灵活地定义服务器上文件与本地文件的映射关系,这使得这种部署方式易于实现。
在这里插入图片描述
本文为节选,全文目录如下,请扫描文末二维码获取完整版。
在这里插入图片描述
扫描下方二维码,获取完整版指南。
在这里插入图片描述
立刻联系我们(Perforce中国授权合作伙伴 —— 龙智,电话:400-7755-506 邮箱: customer@shdsd.com)了解更多关于使用Perforce Helix Core、 Helix QAC、Hansoft、Methodics 、Helix ALM等产品的信息。我们将为您提供白皮书、技术指南和其他资源,我们也会指导您运用Perforce系列产品来开展业务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值