0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

构建开源芯片生态需要什么要的

Wildesbeast 来源:今日头条 作者:我是天边飘过一朵 2020-02-18 14:54 次阅读

当前开源芯片仍存在“死结”。具体而言,芯片设计阶段需要投入大量的人力、电子设计自动化(EDA)和IP成本,因此开发人员或企业不愿意将其设计的芯片与IP开源;这导致业界与社区无高质量的开源芯片与IP可用,于是企业只能购买高价的IP;这进一步推高了开发代价,导致企业希望充分验证设计来提高流片的成功率,这又需要投入更多的人力和时间进行验证⋯⋯如此循环,最终形成了一个“死结”。

通过深入的调研并结合近年来的一些实践经验,中科院计算所团队分析了国内外开源芯片生态发展现状与趋势,认为随着开放指令集(如RISC-V)、硬件描述新语言(如Chisel)、硬件生成器敏捷开发模式、开源EDA工具云计算等技术涌现与普及,多种技术之间相互组合并不断产生新的“化学反应”,促进开源芯片发展到了一个新的转折点,因此开源芯片面临的“死结”有望被打破。但是构建完善的开源芯片生态是一个长期而艰巨的系统工程,正如今天开源软件生态也是20余年积累而成。目前的开源芯片生态就如1990年代初的开源软件生态,全世界范围都处于起步阶段,尚无法构成一个独立(self-contained)生态——即完全采用开源模式,用开源EDA工具链开发开源IP,进而完成开源SoC芯片设计。

要实现开源芯片生态目标,我们认为需要在四个方面积极投入并取得突破:(1)开放指令集、开源IP与SoC设计;(2)开源EDA工具链;(3)低成本的芯片开发验证平台;(4)快速适配芯片的系统软件。

1.开放指令集、开源IP与SoC设计:

“指令集→处理器核→SoC芯片”是芯片设计的三个阶段,每个阶段均存在三种模式:开放免费(open&free)、可授权(licensable)、封闭(closed)。

在2010年左右,加州大学伯克利分校(UC Berkeley)认识到只有基于开放的指令集,才能实现开源处理器核以及开源SoC芯片。因此他们推出了一套开放指令集RISC-V,允许全世界免费自由地使用RISC-V指令集规范设计各自的处理器。但值得一提的是指令集(SA)仅仅是规范标准,往往用一本书甚至几张纸即可描述,需要根据规范编写出相应的源代码,才是处理器核。因此仅有开放指令集还远不足以构建开源芯片生态,还需要一系列开源的IP和SoC设计。

开源IP和SoC设计要成为主流需要解决两个问题:一是解决P核的质量控制难题。开源IP核并不是一种新的模式,事实上提供开源P核的OpenCores社区已经存在了20年,到如今已经拥有超过30万会员。但是OpenCores存在的核心问题是绝大多数开源IP核未经严格测试验证,质量不可靠。解决IP质量控制问题可以从两方面入手,首先是完善芯片敏捷开发流程,通过Chisel这样的具有更高抽象的硬件描述语言,实现基于一套代码同时生成用于测试的仿真模拟代码以及用于流片的代码,提高测试效率,快速定位错误,从而改善IP核质量;其次实现IP核与工艺库高效对接的流程,从而推进IP核达到可流片的成熟度,并通过建立快速流片认证与测试机制,为开源社区提供经过流片验证的IP核组合。通过这两种方式积累出定数量的高质量IP核,就可以形成支持90%重用的开源SoC框架。

二是可扩展的松耦合架构支持社区协作开发。传统处理器采用紧耦合架构,模块之间的交互非常紧密,不利于开源社区多人协作开发,也不以利于用户的自定义扩展。传统基于互连总线的可扩展方式具有较好的灵活性,但编程与访存效率低下,需要软件显式地进行数据移动。基于RISC-V进行可扩展指令是一种更高效的机制,但仍需要深入研究。对比开源软件生态,大型开源软件的多人协作开发模式已经比较成熟,面向对象思想、微内核思想等一系列新技术与理念使大型软件开发可分解、可扩展、可组合,这些思想与理念值得处理器设计领域学习与借鉴。

2.开源EDA工具链:

开源EDA工具链涉及硬件开发语言与综合、布局布线工具,类比于开源软件生态中的编程语言与编译器。如今工业界广泛使用的硬件描述语言Verilog已经是1980年代初的产物,一直沿用到今天。但相比于软件领域,几乎每十年都有更高效、更抽象的开发语言出现,比如C、C++JavaPython、Go、Rust等。近年来,硬件开发语言开始出现变革,Chisel、PyMTL等更高抽象的硬件开发新语言涌现出来。以Chisel为例,它基于函数式语言Scala,通过元编程、面向对象、函数式编程等诸多高级特性,极大地提升了开发效率。我们团队前期研究工作也证明了Chisel比传统Verilog在开发效率方法可提升一个数量级,且具有相当的开发质量。

近年来,在DARPA的支持和推动下,出现了越来越多的开源EDA项目。在芯片设计的前端(从RTL到网表)与后端(从网表到GDS版图)均有一系列开源工具组件。同时也出现像QFlow、OpenRoad、Hammer等开源EDA框架。我们通过实验验证了现有开源EDA工具链已经可以满足小规模芯片开发—基于中芯国际180nm工艺库,使用全开源EDA工具链可将一个32位的RISC-V开源核生成GDS版图。但是,当前开源EDA工具链的挑战是在先进工艺支持、稳定性和可用性方面仍与商业版有很大差距。

未来,提升开源EDA工具链质量可在四方面加强研究:一是与先进工艺库有机结合,二是提高开源组件的算法效率,三是针对领域专用加速器设计定制开源EDA组件,四是更好地支持Chisel等更高级硬件描述语言。今年8月在CCF容错大会上,北京大学、中科院计算所、清华大学等国内十余所大学与研究机构共同发起了OpenBelt倡议,将会在开源EDA方向积极投入,做出中国的贡献。

3.低成本的芯片开发验证平台:

芯片开发过程中的模拟仿真与验证环境是非常耗时耗钱的环节,一些加速仿真平台(如Cadence的Palladium平台)甚至单台价格就达上千万元人民币。是否有可能将模拟仿真与验证的成本降低1~2个数量级?我们认为基于云租赁模式可降低这方面的门槛。而基于云平台进行芯片开发、仿真与验证平台将是未来趋势,尤其是针对中小企业用户。

FPGA云平台只是芯片设计过程中的一个环节,要更大幅度地降低成本,还需进一步与公用云平台结合,支持运行开源EDA工具链、下载与集成开源IP核的开源SoC芯片完整开发流程,实现构建更完善的芯片开发/验证/测试云平台。国际一些大学与企业也在朝着这个方面努力:加州大学伯克利分校基于亚马逊F1 FPGA云平台研制了FireSim平台,目标是构建使用FPGA加速的时钟级精确的全系统硬件模拟平台;SiFive公司正在研发的DesignShare平台则希望在云平台上提供芯片开发所需要的各种资源,包括IP库、EDA工具链等;Astera Lab与Synopsys合作,实现了完全在云上进行设计与验证的SoC。

4.系统软件与开发环境:

上述三方面的目标是允许开发者重用90%的已有功能、只需专注10%的创新功能,从而数量级降低芯片开发成本与周期。而快速经济地定制领域专用芯片是应对物联网IoT)面临的“昆虫纲”挑战(碎片化问题)的有效途径。但这对系统软件与软件开发环境如何能快速适配新芯片则是很大的挑战。当一款新的芯片推出,软件需在三个层次予以适配:第一层是操作系统与编译器,针对新扩展的指令或者新加的传感器等;第二层是功能软件层,如Apache、MySQL等;第三层是面向用户和程序员,需要为用户提供易用的操作方式,也需要为程序员提供更好统一的API,就如移动领域安卓的作用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 云计算
    +关注

    关注

    38

    文章

    7339

    浏览量

    135698
  • soc
    soc
    +关注

    关注

    38

    文章

    3740

    浏览量

    215642
  • eda
    eda
    +关注

    关注

    71

    文章

    2535

    浏览量

    170801
收藏 人收藏

    评论

    相关推荐

    学习hadoop需要什么基础

    “学习hadoop需要什么基础”这已经不是一个新鲜的话题了,随便上网搜索一下就能找出成百上千篇的文章在讲学习hadoop需要掌握的基础。再直接的一点的问题就是——学Hadoop难吗?用一句特别让人
    发表于 09-13 13:37

    学hadoop需要什么基础

    最近一段时间一直在接触关于hadoop方面的内容,从刚接触时的一片空白,到现在也能够说清楚一些问题。这中间到底经历过什么只怕也就是只有经过的人才会体会到吧。前几天看到有个人问“学hadoop需要什么
    发表于 09-20 16:00

    virtex-6 FPGA构建PCB板需要什么

    您好我希望你做得好公司为virtex-6 FPGA构建PCB板需要什么?BR
    发表于 04-07 14:22

    【HarmonyOS】专访华为杨海松:立足合作伙伴价值,构建健康HarmonyOS生态

    ,HarmonyOS立足给生态伙伴创造价值,构建健康可持续的HarmonyOS生态。HarmonyOS热度不减,生态建设无捷径在今年正式开源
    发表于 11-02 15:26

    如何构建基于LEON开源软核的SoC平台?

    导航系统SoC芯片设计的要求有什么?如何构建基于LEON开源软核的SoC平台?
    发表于 05-27 06:18

    OpenHarmony技术日举办,华秋电子助力开源生态繁荣

    开源中来,到开源中去。华秋电子将坚持“开源开放,繁荣生态”的理念,面向不同行业和领域创新应用,为OpenHarmony生态添砖加瓦,为千行百
    发表于 04-26 16:54

    华秋电子成为开放原子开源基金会OpenDACS捐赠人,共建 OpenDACS开源生态

    源码、开源人才,发布和维护我国EDA开源的主干版本,促进芯片开源技术协作、创新、生态发展。OpenDACS
    发表于 07-08 10:07

    华秋电子成为开放原子开源基金会openDACS捐赠人,共建openDACS开源生态

    源码、开源人才,发布和维护我国EDA开源的主干版本,促进芯片开源技术协作、创新、生态发展。openDACS
    发表于 07-08 13:50

    共建 openDACS开源生态 华秋电子成为开放原子开源基金会openDACS捐赠人

    源码、开源人才,发布和维护我国EDA开源的主干版本,促进芯片开源技术协作、创新、生态发展。openDACS
    发表于 07-08 13:53

    构建工业软件开源工具链,2022 开放原子全球开源峰会开源工业软件论坛即将开幕

    工业软件是全球产业升级的重要基础,打造开放、共建、共治、共享的开源工业软件,则是为工业软件构建健康发展的基石。2022 年 7 月 25 日,由开放原子开源基金会主办,以“软件定义世界,开源
    发表于 07-08 16:05

    大禹智芯宣布加入欧拉开源社区,助力构建DPU行业发展新生态

    ,对社区积极做出自己的贡献,并与社区成员一道探索在DPU领域中的软件生态发展。大禹智芯是注册创立时,即专注于做DPU的科技初创公司,是国内领先的DPU企业。大禹智芯通过现有和自主研发的先进制程芯片,自研
    发表于 08-15 13:56

    上海站报名启动! 2023年开源产业生态大会OpenHarmony生态分论坛

    作为年内开源领域不容错过的科技盛宴,2023年开源产业生态大会将于12月19日在上海盛大开幕。本次活动由上海市经济和信息化委员会、上海市科学技术协会和\"科创中国\"开源创新
    发表于 11-24 14:55

    RISC-V有什么软件生态,RISC-V IP在芯片中的应用

    本文首先介绍了RISC-V有什么软件生态,其次介绍了RISC-V需要什么样的生态,最后介绍了RISC-V IP在芯片中的应用。
    的头像 发表于 06-22 17:18 3828次阅读
    RISC-V有什么软件<b class='flag-5'>生态</b>,RISC-V IP在<b class='flag-5'>芯片</b>中的应用

    元宇宙需要什么技术

    元宇宙需要什么技术?元宇宙未来大概率是指融合虚拟世界和现实世界的互联网形态,元宇宙是多种技术的综合运用,发展元宇宙,需要哪些专业技术呢?
    的头像 发表于 11-04 14:46 8839次阅读

    miniLED芯片刺晶工艺对锡膏需要什么条件?

    miniLED显示器的制造,今天锡膏厂家来聊一聊miniLED芯片刺晶工艺对锡膏需要什么条件?如何理解刺晶工艺?刺晶工艺是在miniLED制造过程中所用到的其中一种工艺,
    的头像 发表于 03-03 16:50 521次阅读
    miniLED<b class='flag-5'>芯片</b>刺晶工艺对锡膏<b class='flag-5'>需要什么</b>条件?