软件开发领域的DevOps理念正在加速国产化芯片的研发进程。
芯片国产化浪潮下,芯片设计研发的效率提升逐渐成为行业关注的重要议题。随着敏捷开发概念的提出,国内芯片设计行业在EDA工具的智能化和国产化进程上开始提速。借助一站式DevOps方案,腾讯云在提升国产芯片研发效率上已经走在了行业前列。
有效解决开发环境搭建难题
芯片研发的第一步是开发环境的搭建,其复杂度会随着项目复杂度而不断攀升,搭建过程繁琐易错,且不同人员对环境维护的方式存在差异,过程中很容易出现不一致的情况。针对这类问题,腾讯云CODING DevOps工具链提供了一系列的解决方案。
例如,在应用软件方面,EDA工具由于体积太大,难以被打包到镜像中,CODING DevOps创新性地引入了 NFS 和Volumes 关键技术,使EDA通过共享的方式实现集中维护,间接保持了开发环境的可复制性。同时,通过引入Coding-CI(腾讯云CI)进行串联,还能实现创建分支即创建开发环境的效果,使专用软件运行环境互相隔离,有效解决了芯片开发环境搭建的难题。
系统化提升协同开发效率
芯片研发与现代软件开发在工程上有很多相似之处,例如通过 Git 进行代码版本管理、大量依赖自动化测试进行验证、大规模团队协作等。对应地,其同样也会面临提升系统性流程效率的挑战。
对此,腾讯云为开发者提供了云端开发工具Cloud Studio ,支持开发者利用WebIDE,实现远程开发开发和验证。开发者在Cloud Studio完成代码的开发与提交,将其推送到Git分支并发起合并请求后,与其关联的流水线便会自动触发运行并反馈结果。在此过程中,开发者可动态创建与开发环境一致的构建环境,保持二者的高度一致,以此实现芯片的快速开发与验证。
基于 Cloud Studio 进行 EDA 代码开发
值得一提的是,基于Git工作流,使用者也可引入更多人员协同,进行交叉走查代码、发表评审意见、在线修订等操作,团队规模变大时也不会陷入混乱,由此显著提升团队的协同开发效率。
腾讯蓬莱实验室工程师表示,腾讯的芯片设计积极拥抱敏捷开发理念和先进的DevOps流程工具,在与CODING团队、腾讯量子实验室软件团队的紧密合作下,携手打造了适合于芯片设计领域的定制化DevOps工具。创新性的将“Everything as Code”的安全理念,“Shift Left”测试集应用到国产芯片的研发流程,在实现研发流程敏捷化的同时,也有效避免了芯片设计和验证上下游不同部门之间人为操作产生的数据交割和流程管控的风险。
目前,基于以上工具链,腾讯云已在腾讯内部进行了常规和极限场景的芯片UT级用例测试。经芯片研发团队反馈,该工具链在常规场景下可以在15分钟内给出反馈,而在极限场景下,可支持持续运行12小时、内存占用100GB的芯片测试用例。基于共享资源的远程开发也有效解决了原独占模式下高配开发机闲置率过高的问题,其芯片开发的效率实现了大幅提升,芯片验证的流程也得以简化,已经接近现代软件工程的水平。
腾讯云副总裁黄俊洪表示:“下一步,腾讯云还将在CODING DevOps中引入远程协作方案,实现远端的EDA工具能力和设备终端的本地化构建与测试验证能力,打造稳定且可复制的芯片研发流程。项目管理、知识管理等功能也将陆续加入工具链,更好地支持国产芯片研发的全生命周期管理。”