EDA软件研发的DevOps平台

[复制链接]
发表于 2025-12-19 03:32:36 | 显示全部楼层 |阅读模式
1:什么是DevOps

DevOps是十几年前,在互联网比力火的词,实际上就是ci/cd平台的别的一种说法,核心是说突破研发,测试,运维的界限,可以或许将整个产物开辟的流程快速循环起来,随时可发版,随时可测试,到达灵敏开辟的目标。固然,这里还扳连到大量的线上发布,自动化测试的本领。
记得在更早前,研发桌面软件,大概大型的ERP软件时,并没有连续集成的概念,当时,测试不大概天天拿到最新的版本,拿到可测试版本,至少要一个月的周期。
转眼间,互联网以致移动互联网的风头已过,芯片热鼓起,国内不少企业开始进入EDA软件的范畴。那EDA软件的开辟,是否必要有DevOps,大概说CI/CD平台呢?实际上,仍旧优劣常必要的,以致在某些场景,它起到的作用,非常之大。下面以我见到的案例,解说一下要研发一个大型的EDA软件(桌面软件),怎样搭建一个CI/CD平台。
1.1:EDA软件的开辟流程

我们先来看一张图:

上面这张图,是对一个FPGA EDA软件开辟流程的明确,它本身就是一个必要快速循环的过程。谁的周转率快,谁就能在软件中占得先机。
行内人会知道,要研发一款全链的EDA工具,不但是在某些环节有很高的难度,它的规模实际上也是不小的。中等规模大概是 100人的研发团队,在Xilinx,曾经有高出1000人的软件团队针对一款工具举行研发。以是,要协同好各人的工作,包管软件快速的连续更新,必须要有Ci/Cd平台。
在早期的CI/CD平台,各人的明确就是 GitLab + Jekins ,Build Tool + Pipe Line
固然,这仍旧是核心,但要真正让这个平台有效,尚有非常多的细节。
1.2:EDA软件的功能

起首,我们照旧来看一下一款EDA工具,它本身是做什么的。

我们仍旧以FPGA的EDA工具为例,上图可以非常清晰看到软件提供了编写逻辑电路,综合,映射,结构,布线,天生位流,烧录到芯片的全过程。
1.3:EDA软件的技能架构图

要完成这个软件,我们来看看它的技能架构,见下图:

我们本日不是讲FPGA的EDA软件是怎样实现的,只必要看到它的复杂度即可。从上面的图可以看到,一款EDA软件必要多个模块构成,会严酷分为 架构,器件,GUI,综合,技能映射,结构,布线,时序,功耗,位流天生,软件集成,TCL支持,测试等……非常多的模块,而这些模块的技能实际上有很大的差别,必要一个比力巨大的团队来支持。而要将这些模块串到一起,必须要有一个CI/CD平台。好的,我们终于讲到正题了。
1.4:EDA CI/CD 平台的架构

以是,我画一下CI/CD平台的流程,如下:(反面我们会按照这张图,来先容CI/CD平台必要完成的变乱,并不会讲实现的细节哈)

2:开辟情况搭建

EDA 软件,一样平常是接纳C++来开辟,由于必要极致性能,这方面 C++ 是王者。固然,对于GUI,有大概会利用别的语言。本日我们以全C++的开辟语言为例。
因此,我们可以以为这个EDA工个由多个子模块构成,每个开辟职员都身处在每个模块中。
由于EDA软件会有非常强的安全要求,以是,一样平常公司会将代码放到物理隔离的红区,而且也不答应各人跨组检察别的组的代码。但是,又必要随时获取最新代码来完成集成和测试。这差不多是开辟情况的根本需求。
于是,代码仓肯定是多个,起首,必要搭建多仓的开辟情况。
2.1:多仓开辟情况

EDA软件本身是一个非常巨大的工程,必要有多个范畴的开辟职员到场,模块浩繁,为了开辟服从和代码安全,分成多个代码工程,利用 Git 管理代码,Gitlab作为管理平台,完成代码储存、版本控制、代码权限控制等。
注意:git仓克制 force push(牢记,牢记)
思量差别模块和脚色的人拥有的权限差别,利用google 提供的 Repo 举行多仓管理,为差别脚色的开辟者天生差别的manifest,得到差别的代码工程的组合。对于repo的利用(一样平常不会用到),
git仓的权限,必要通过公司的流程申请得到。原则上按最小权限授予。
怎样获取最新代码呢?

一样平常会给开辟提供一个快速的下令:比如 repo_xxx_clone:基于个人权限拉取工程到开辟者本地目次(依次将有权限的git工程clone到本

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表