开放指令集与开源芯片

美国黑色星期五  时间:2021-01-24  阅读:()

发展报告中国开放指令生态(RISC-V)联盟2019年2月版本修改历史发布时间版本号内容修改2019.
1.
11v1p0该版本为基础版本,主要内容如下:1)介绍了开源芯片的兴起,以及RISC-V和MIPS等开放生态现状;2)分析了芯片设计流程、敏捷芯片开发等开源芯片的发展现状;3)总结了国内外学术界、工业界的开源芯片的发展动态;4)展望了开源芯片面临的机遇和挑战.
2019.
2.
22v1p11)增加5.
8小节,Designless设计模式;2)增加部分引用;3)修正部分文字错误.
目录联盟介绍.
11前言.
31.
1背景31.
2内容概述.
42开放指令集与开源芯片的兴起.
52.
1芯片设计高门槛现状52.
2传统芯片设计模式.
62.
3开源软件的启示62.
4开放指令集与开源芯片趋势.
82.
5开源芯片的意义与可行性.
83RISC-V开放指令集生态现状.
113.
1RISC-V起源.
113.
2RISC-V指令集特点123.
3RISC-V基金会.
143.
4RISC-V研讨会/峰会.
163.
5RISC-V软硬件生态183.
6RISC-V在中国的发展.
203.
6.
1中国企业.
203.
6.
2中国的研究.
223.
6.
3中国的教育.
233.
6.
4中国联盟与组织233.
7RISC-V相关资源信息.
243.
7.
1教材资料.
243.
7.
2社区动态.
253.
7.
3国际项目.
254MIPS开放生态现状274.
1MIPS开放计划介绍.
274.
2MIPS指令集发展历史及MIPS公司主要产品.
274.
2.
1MIPS指令集发展历史274.
2.
2MIPS公司主要产品.
294.
3MIPS开放计划特点.
304.
4MIPS开放计划与RISC-V开源计划对比.
314.
5芯片商业模式对比.
315开源芯片发展现状.
335.
1芯片设计流程.
335.
1.
1芯片前端设计流程.
335.
1.
2芯片后端设计流程.
355.
2以往开源芯片现状与分析.
355.
3开源IP.
365.
4开源工具链.
405.
5开源芯片"死结"与突破口.
415.
6芯片敏捷开发.
425.
7敏捷开发案例.
465.
7.
1Chisel与Verilog编码效率对比465.
7.
2Chisel与Verilog编码质量对比485.
8Designless设计模式516业界动态536.
1RISC-V代表性企业与产品.
536.
2MIPS代表性企业与产品.
536.
2.
1MIPS处理器的应用领域.
536.
2.
2MIPS指令集在中国的发展现状.
547各国战略计划与项目部署557.
1美国557.
2欧洲557.
3印度557.
4以色列.
558挑战、机遇与未来发展方向.
578.
1面临挑战.
578.
2机遇578.
3未来发展方向.
589总结.
59致谢.
611联盟介绍中国开放指令生态(RISC-V)联盟于2018年11月8日乌镇世界互联网大会正式成立,旨在以开放指令集RISC-V为抓手,联合各界推动开源芯片生态的建立与发展.
联盟现状(截至2019年1月,详情请访问http://crva.
io):一、指导单位中央网信办信息化发展局工信部信息化和软件服务业司中科院科技促进发展局二、咨询委员会专家(按拼音序,下同)方之熙(RISC-V基金会中国顾问委员会主席)卢山(中国电子信息产业发展研究院院长)孙凝晖(中国科学院计算技术研究所所长)涂强(长虹北美研发中心总经理)严晓浪(浙江大学教授)叶甜春(中国科学院微电子所所长)三、依托单位理事长(单位):倪光南院士(中国科学院计算技术研究所)常务副理事长单位:中国电子信息产业发展研究院四、副理事长单位北京百度网讯科技有限公司北京大学北京紫光展锐科技有限公司杭州中天微系统有限公司华为技术有限公司清华大学四川长虹电器股份有限公司腾讯科技股份有限公司中国科学院微电子研究所2五、常务理事单位鹏城实验室睿思芯科(深圳)技术有限公司上海交通大学西安中科创星科技孵化器有限公司中科创达软件股份有限公司中国科学院上海微系统与信息技术研究所致象尔微电子科技(上海)有限公司六、单位会员华米(北京)信息科技有限公司江苏金羿智芯科技有限公司浪潮电子信息产业股份有限公司宁波中国科学院信息技术应用研究院澎峰(北京)科技有限公司青岛本原微电子有限公司苏州国芯科技有限公司天博电子信息科技有限公司芯来科技(武汉)有限公司中国科学技术大学七、个人会员陈铁军,宫晓利,郝沁汾,李诚,宋威,孙浩,魏继增,许冠斌,周平强八、秘书处设于中国科学院计算技术研究所秘书长:包云岗成员:张科、唐丹、常轶松、王卅、解壁伟、赵然九、联系方式地址:北京市海淀区中关村科学院南路6号,邮编:100190中国科学院计算技术研究所电话:010-62601013/62601015邮箱:info@crva.
io31前言1.
1背景芯片是信息技术的引擎,推动着人类社会的数字化、信息化与智能化.
随着摩尔定律濒临终结,维持芯片技术创新面临挑战.
开源芯片设计将是应对挑战的新思路.
如今芯片设计动辄需要上亿研发费用、投入上百人年,只有少数企业才能承担.
反观互联网领域通过开源软件降低开发门槛,创造了繁荣的互联网产业.
如果开源芯片设计能将芯片设计门槛降低几个数量级——3-5人的小团队在3-4个月内,只需几万元便能研制出一款有市场竞争力的芯片,必将吸引大量人员投入芯片产业,重塑繁荣.
加州大学伯克利分校开发的开放指令集RISC-V朝着这个目标迈出了第一步,它希望像开源软件生态中的Linux那样,成为计算机芯片与系统创新的基石.
但是只有RISC-V又远远不够,还需要开发基于RISC-V的开源工具链、开源IP、开源SoC等才能形成完整的开源芯片生态,这需要更多支持开源芯片的力量参与和贡献.
历经九个月的研讨与筹备,在网信办、工信部、中科院等多个国家部委支持和指导下,中国开放指令生态(RISC-V)联盟于2018年11月8日浙江乌镇举行的第五届互联网大会上正式宣布成立.
中国开放指令生态(RISC-V)联盟1旨在以RISC-V指令集为抓手,联合学术及产业界推动开源开放指令芯片及生态的发展,积极推动建立为全世界共享的开源芯片生态.
尽管开放指令集与开源芯片还处于初期发展阶段,但已经得到各界的越来越多的关注并付诸行动.
除了RISC-V生态的快速成长,其他指令集也加入到开放开源队伍中,例如WaveComputing于2018年12月17日宣布开放其MIPS指令集架构.
为了更好地厘清当前开放指令集与开源芯片的发展态势,梳理开源芯片生态与芯片敏捷开发现状与未来面临的挑战与机遇,中国开放指令生态(RISC-1简称"RISC-V中国联盟",英文简称CRVA,官方网址:http://crva.
io4V)联盟成立调研工作组,结合联盟成员的最新实践,编制了《开放指令集与开源芯片发展报告》.
1.
2内容概述本报告主要包括九方面内容:第1章介绍开放指令集与开源芯片的背景以及报告基本内容概述;第2章综述传统芯片设计的现状与开源芯片总体趋势;第3章集中介绍RISC-V开放指令集生态现状;第4章介绍MIPS开放生态现状,并与RISC-V进行了对比;第5章分析开源芯片发展现状以及芯片敏捷开发案例;第6章介绍业界动态,包括代表性企业与产品;第7章列举几个主要国际在开源芯片领域的战略计划与部署;第8章介绍建立开源芯片生态的挑战、机遇以及发展方向;第9章为报告总结.
希望通过本报告能为社会各界更了解开放指令集与开源芯片有所帮助.
在此,更希望呼吁更多的中国企业、工程师与学者投身开源芯片设计行动,携手推动开放指令芯片发展,共创开源芯片生态黄金时代!
52开放指令集与开源芯片的兴起2.
1芯片设计高门槛现状芯片领域的创新门槛之高、投入之大业内公认.
设计与制造一款芯片涉及多个环节,包括EDA开发环境搭建、外围IP模块选型、芯片前端逻辑设计、后端物理设计、流片与封装测试等,每个环节都需要巨额的资金与大量的人力投入.
以28nm工艺研制一款SoC芯片为例,比较完整的EDA工具版权费便超过500万元,购买内存控制器、PCIe控制器等外围IP费用往往高达500~1000万元,流片费用由芯片面积大小而定,但往往也会达到1000万,封装相对便宜,大约需要50万左右.
简单估算,研制这款芯片所需要的资金投入便已经超过2000万元.
另一方面,芯片的研发往往需要数十位工程师,花上一年的时间来设计与验证,仅工资开销就需要上千万元.
但是,芯片设计与验证时哪怕出现一个很小的错误,都有可能导致芯片最终无法工作.
不光前期的投入打水漂,还不得不再花上千万元重新流片2.
芯片领域的高门槛客观上严重阻碍了创新.
在互联网领域,得益于开源软件,拥有创新想法的互联网初创公司,往往只需几百万元甚至几十万元,便可以在几个月时间内推出原型产品进行迭代优化.
相比而言,芯片领域的初创公司却需要数千万的资金,而且迭代优化的时间周期很长,所以很难想象风险投资人愿意把资金投入到这类初创公司.
事实上,半导体、大规模集成电路发展的黄金期是上世纪六七十年代,当时芯片规模都很小、成本较低,却又具有很高的收益,吸引了美国、日本、中国台湾等大量优秀的人才投入到半导体领域创办公司,也吸引了大量资本投入到这个领域,但中国大陆错过了这个黄金时代.
经过半个世纪的发展,少数发达国家和地区通过市场机制自然地形成了技术积累与产业优势,同时构建了极高的创新门槛,不仅让后来者追赶无望,也让芯片成为他们"卡别人脖子"的利器.
2引自美国DARPA的ERI(ElectronicsResurgenceInitiative,电子复兴计划)白皮书6如今中国的半导体产业要想改变现状,已经很难完全依靠初创企业与风险资本来追赶了,必须通过必要的产业政策来引导.
2.
2传统芯片设计模式传统的芯片设计模式是芯片开发者提出芯片设计目标,将需求分解为各个功能模块.
通用性比较强的功能模块,比如处理器核、内存控制器、PCIe控制器、网络控制器、存储控制器、视频编解码器等,采取购买商用IP的形式获得.
对于领域专用功能模块,可能没有商用IP可以采购或者出于技术保密考虑,采用自己研发的形式完成.
在主要功能模块就绪之后,将所有功能模块采用总线形式进行互联.
随后进入正常的芯片设计流程,即进行芯片的验证及后端设计开发.
传统芯片设计模式中包含大量的第三方商用IP并采用商用EDA工具开发,形成极高的开发门槛,极大限制了普通开发者的参与,不利于芯片开发的普及和创新.
2.
3开源软件的启示中国的互联网公司在国际上是具有竞争力的.
事实上,全世界十大互联网公司中国占了4家,而中国的互联网共享经济、移动支付甚至处于引领世界的地位.
2016年美国移动支付金额为1120亿美元,而中国则达到了5.
5万亿美元,是美国的50倍.
2017年11月11日,阿里巴巴"双十一"成交额达到惊人的1682亿(约为260亿美元).
相比之下,美国黑色星期五(2017年11月24日)的网络销售成交额仅为50.
3亿美元.
根据阿里提供的数据,"双十一"零时5分22秒,支付宝的支付峰值达到每秒25.
6万笔,其数据库处理峰值更是达到每秒4200万次操作,均刷新了全球纪录.
相比之下,全球最大的清算组织VISA的交易峰值仅为1.
4万笔/秒,支付宝是VISA的20倍.
中国互联网公司的成功离不开背后强大的技术支持.
值得一提的是,中国的互联网公司普遍使用开源软件来构建其业务系统.
开源软件,就是一种源代7码可以自由获取并在遵循开源协议的规定下,进行自行修改而无需付费的计算机软件.
对于互联网企业而言,开源软件为它们节省大量的时间与成本.
据统计,常用的开源软件已经构成了一个价值超过150亿美元的开源软件生态,一些开源软件如LAMP(Linux+Apache+MySQL+PHP)组合或MEAN(MongoDB+Express+AngularJS+Node.
js)组合,已经成为互联网公司(尤其是初创公司)构建其业务的标配,为企业节省大量的时间与成本,让其可以专注于业务创新上.
阿里云前总裁章文嵩博士曾在一次演讲中提到,阿里集团因为使用开源软件而节省了大量成本.
有了开源软件,当人们想创办摩拜这样的新公司,不再需要从零开始造"轮子",而是可以在庞大的开源软件库中寻找到合适的模块并根据需要进行合适的修改.
比如利用LAMP组合,3~5位开发人员就在几个月时间里快速搭建出一个业务原型.
因此,开源软件很重要的意义在于大大降低了互联网创新的门槛.
图1.
价值上百亿美元的开源软件栈3另一方面,开源软件也可以让中国的互联网产业,在软件技术方面不再面临"卡脖子"问题,从而让中国的互联网企业能与硅谷几乎在同一起跑线上竞3图片来源:AndreasOlofsson,IntelligentDesignofElectronicAssets(IDEA),2017.
8争,甚至在共享经济、移动支付等领域更具竞争力.
当银行等传统企业还严重依赖于IOE(IBM的小型机、Oracle的数据库、EMC的存储)时,中国的互联网企业却已经用行动证明了"去IOE"的可行性,这一切都得益于中国互联网企业积极拥抱开源软件的实践.
2.
4开放指令集与开源芯片趋势和开源软件对于中国互联网产业的作用类似,开源芯片生态如果能形成气候,则会大幅降低芯片领域创新门槛,形成芯片领域的"大众创新"格局.
这将会对中国乃至全世界半导体产业产生深远和积极的影响.
构建开源芯片生态是伟大的理想,加州大学伯克利分校开发的开放指令集RISC-V朝这个目标迈出了第一步.
基于RISC-V开放指令集的处理器有可能像Linux那样成为开源芯片生态的基石.
但是,只有RISC-V远远不够,还需要开源的EDA工具链、IP模块、工艺库等协同合作,才能真正实现开源芯片生态.
这正如今天的开源软件生态除了Linux以外,还包括大量构建于Linux之上的其他开源工具与开源软件,例如GCC、LLVM、MySQL、Apache等.
RISC-V还只是星星之火,但却已展露出燎原之潜力.
从当前发展势头来看,RISC-V很有可能像Linux那样成为主宰世界的开放指令集标准.
2.
5开源芯片的意义与可行性经过多年的发展,开源芯片已经具备良好的基础,已经有了比较丰富的开源芯片设计资源.
例如,研制一款180nm工艺的芯片,可以使用开源的Magic(包含Xcircuit、IRSIM、NetGen、Qrouter和Qflow)EDA工具链,可以使用兼容WISHBONE总线协议的开源IP模块,并有多种180nm开源工艺库供选择,流片费用也并不高.
综合起来,研制一款180nm工艺的芯片可能只需要几千美元便可实现,门槛已经大为降低.
然而,对于中高端的芯片,还缺乏完整的开源芯片设计EDA工具链与工艺库资源.
畅想一下,如果全世界也拥有了价值上百亿美元的芯片设计所需的开源EDA工具链、IP模块、工艺库等,使得中高端芯片研制成本降低两个数量9级,从数千万元降至数十万元级别,那么芯片领域的创新将像今天的互联网那样层出不穷,这可能为解决中国半导体产业的卡脖子问题提供了一条新思路.

历史上降低芯片设计门槛的思路曾取得巨大的成功.
1980年代初,美国的半导体产业一度落后于日本.
更为尴尬的是全美上千所大学中只有不到100位教授和学生从事半导体相关的研究,人才储备严重不足.
为了应对这场半导体之争,美国各界都积极采取行动.
1981年美国国防部高级研究计划局(DARPA)启动MOSIS项目,资助成立一个服务大学和科研机构的专业流片服务机构,隶属南加州大学信息学院.
MOSIS提出多项目晶圆MPW(MultiProjectWafer)模式,实现将多个使用相同工艺的集成电路设计放在同一晶圆片上流片,大幅降低了芯片设计与制造成本.
近40年来MOSIS为大学和研究机构流了60000多款芯片,培养了数万名学生,缓解了人才匮乏问题.
更为重要的是,MOSIS通过降低芯片开发门槛,直接催生了新的商业模式——无晶圆厂模式(Fabless)企业,如英伟达(NVIDIA)、高通(Qualcomm)、博通(Broadcom)和赛灵思(Xilinx)等,它们只需专注于芯片设计(如图24);也启发张忠谋于1987年创办了台积电(TSMC),专注于芯片制造.
如今通过开源芯片降低芯片设计门槛,也有可能催生出芯片产业领域的新商业模式.
因此,开源芯片虽然面临众多困难,但仍是一条值得探索的道路.

4图片来源:AndreasOlofsson,IntelligentDesignofElectronicAssets(IDEA),2017.
图2.
1980年代初DARPA资助MOSIS项目,降低芯片设计门槛,催生无晶圆厂模式(Fabless)企业的诞生10113RISC-V开放指令集生态现状3.
1RISC-V起源2010年,加州大学伯克利分校的DavidPatterson教授与KrsteAsanovic教授研究团队正在准备启动一个新项目,需要选择一种处理器指令集.
他们分析了ARM、MIPS、SPARC、X86等多个指令集,发现它们不仅设计越来越复杂,而且还存在知识产权问题.
于是伯克利的研究团队临时组建一个四人小组,开展一个3个月的暑期小项目——从零开始设计一套全新的指令集!
这个小项目的目标是新指令集能满足从微控制器到超级计算机等各种尺寸的处理器,能支持从FPGA到ASIC到未来器件等各种实现,能高效地实现各种微结构,能支持大量的定制与加速功能,能和现有软件栈与编程语言很好的适配.
还有最重要的一点就是要稳定——不会改变,不会消失.
2011年5月,第一版指令集正式发布.
该指令集设计非常简单,采用了基础指令集与扩展指令集的方式.
基础指令集只包含了不到50条指令,但已经可以用于实现一个具备定点运算和特权模式等基本功能的处理器.
扩展指令集提供了一些常用的原子操作指令、浮点运算指令等,用户也可以需要自身需求进行自定义.
这样,这套指令集既保留了"简单"这个大优点,又赋予了用户足够的灵活性.
伯克利的研究团队在发布时还做了两个重大的决定:一是将新的指令集命名为RISC-V(读作RISC-Five),表示为第五代RISC(精简指令集计算机).
图2展示了此前的四代RISC处理器原型芯片.
每一代RISC处理器都由DavidPatterson教授领导与参与.
也正是他与学生RISC-I1981RISC-II1983RISC-III(SOAR)1984RISC-IV(SPUR)1988RISC-V2013图2.
五代RISC处理器12DavidDitzel在1980年发表的那篇经典论文"Thecaseforthereducedinstructionsetcomputer"中创造了RISC一词.
二是将RISC-V指令集彻底开放,使用BSDLicense开源协议设计了开源处理器核RocketCore.
伯克利研究团队认为,指令集ISA作为软硬件接口的一种说明和描述规范,不应该像ARM、PowerPC、X86等指令集那样需要付费授权才能使用,而应该开放(Open)和免费(Free).
他们选择的BSD开源协议给予使用者很大自由,允许使用者修改和重新发布开源代码,也允许基于开源代码开发商业软件发布和销售.
因此BSD开源协议对商业集成很友好,很多的企业在选用开源产品时都会首选BSD开源协议.
于是,一套全新的开放指令集RISC-V诞生了——全世界任何公司、大学、研究机构与个人都可以开发兼容RISC-V指令集的处理器,都可以融入到基于RISC-V构建的软硬件生态系统,而不需要为指令集付一分钱.
伯克利研究团队对RISC-V寄予厚望,希望它能被应用到各种场合,从微控制器到超级计算机;也希望它能像Linux通过开源成为全世界操作系统的事实标准之一,最终成为全世界处理器指令集的事实标准,为下一个50年计算机系统设计与创新做出奠基性贡献.
3.
2RISC-V指令集特点RISC-V开源的特点保证了它的稳定性,因为它只属于一个开放的、非盈利性质的基金会.
而商用指令集的盛衰往往与该商业公司的发展息息相关,历史上由于商业公司倒闭或者被收购而导致其商用指令集消失的例子比比皆是.

指令集设计者对以往指令集取其精华、去其糟粕后才得到了RISC-V.
例如,对于分支跳转指令,RISC-V没有采用MIPS和SPARC等指令集中被广为诟病的分支延迟槽.
零寄存器的存在,使得RISC-V可以省略很多在没有零寄存器的ARM和x86中所必需的指令,简化了指令集设计.
RISC-V最为重要的一个特点是模块化.
传统的增量指令集架构设计要求保持向后的二进制兼容,因此新处理器必须负重前行,在实现所有历史设计的基础上实现新的设计,这使得指令集架构的复杂度随时间持续增长.
RISC-V的做法是将指令集划分为几个标准的子集,称为扩展,并保持一些基础的扩展(例13如RV32I)永远不变.
这一约定给编译器和操作系统相关的开发人员提供了稳定的目标.
并且这些扩展是可选的,处理器的设计者可以根据需求选择实现不同的扩展,这对于嵌入式应用至关重要.
RISC-V主要的指令扩展如下:I扩展:整数扩展(RV32I)为RISC-V的基础整数指令集,所有实现都必须支持.
RV32I极度精简,仅有38条指令,但是功能齐全,执行通用计算所必须的整数计算、访存、分支以及系统调用等指令一应俱全.
处理器仅需支持RV32I,便可以运行完整RISC-V软件栈.
M扩展:乘法扩展(RV32M)为RISC-V整数乘除法扩展指令集,M扩展支持整数的有符号以及无符号乘除法运算.
F扩展/D扩展:单精度浮点扩展(RV32F)和双精度浮点扩展(RV32D)为RISC-V的浮点指令集.
共用一组独立于整数寄存器的浮点寄存器,拥有常规的访存和运算指令,也有一些包括乘加指令在内的融合运算指令,使得运算过程更精简而准确.
另外为了有助于数学库的编写,还包括了有助于符号操作的符号注入指令和测试操作数属性的分类指令.
F和D扩展没有包括浮点分支指令,取而代之的是浮点比较指令,可以根据浮点数的比较结果设置寄存器的值,并用于条件分支.
A扩展:原子扩展(RV32A)为RISC-V的原子操作指令集,为同步操作提供了必要的支持.
RV32A扩展为不同的使用场景提供了两种对应的原子操作.
其中加载保留(lr)指令和条件存储(sc)指令保证了原子的比较-交换(compare-and-swap)的实现;AMO指令在多处理器系统中的可扩展性比lr和sc更好,可以实现I/O通信中的总线原子读写,从而简化设备驱动,提高I/O性能.
G扩展:通用扩展(RV32G)为RISC-V基础整数指令集RV32I加上标准扩展(M、F、D、A),统称RV32G.
C扩展:压缩扩展(RV32C)为RISC-V的压缩指令集.
包括了与标准32位RISC-V一一对应的短指令,它们只对汇编器和链接器可见,因此编译器编写者和汇编语言程序员可以忽略它们.
以往的ISA设计在重14新设计短指令集时,会为处理器和编译器的设计增加负担,而RISC-V通过上述设计避免了这一缺陷.
V扩展:向量扩展(RV32V)为RISC-V向量指令集,与其它指令集中的单指令多数据流(SIMD)指令不同的是,RV32V将内部向量寄存器的宽度与指令集解耦,解决了SIMD指令集每一代升级宽度时,带来的上层软件适配问题.
向量指令集支持向量计算、向量load/store、向量条件运算等操作.
RISC-V的特权模式架构的特点:与其它指令集一样,RISC-V为操作系统和其它场景提供了更高的权限模式.
除了通常的用户模式(U模式)以外,RISC-V架构还包括最底层的机器模式(M模式)和为操作系统提供的监管者模式(S模式).
M模式是所有标准的RISC-V处理器必须实现的,拥有对硬件的完全控制权.
简单的嵌入式系统只需要支持M模式即可,在此模式下可以处理异常和中断.
M模式和U模式的组合可以实现简单的基于地址寄存器比较的内存隔离,而更复杂的基于分页的虚拟内存方案需要依靠S模式来实现.
默认情况下,所有异常都会交由M模式处理,但对于那些实现了S模式的系统,RISC-V提供了一套异常委托机制,可以选择性地将中断和同步异常交给S模式处理,完全绕过M模式,从而避免了异常处理效率的降低.
这两种权限模式各有一组控制状态寄存器(CSR),而嵌套中断需要配合软件用栈实现.
3.
3RISC-V基金会RISC-V基金会(RISC-VFoundation)5是一个非盈利性组织,负责RISC-V指令集架构及其软硬件生态的标准化、保护和推广.
RISC-V基金会的会员可以参与RISC-V指令集规范以及相关软硬件生态的开发,并决定RISC-V未来的推广方向.
RISC-V基金会每年举办全球性大会,以整合其广阔的生态系统,探讨RISC-V的最新项目与实现,并推动RISC-V指令集架构的未来发展.
大会邀请顶尖科5https://riscv.
org/15技公司和学术机构,讨论RISC-V的架构、开源实现和商业实现、软件、芯片、向量和安全、应用和加速器、模拟器基础设施等等.
RISC-V基金会成立于2015年8月,会员条约于2016年12月形成.
RISC-V基金会遵循的原则包括:1)RISC-V指令集及相关标准必须对所有人开放且无须授权;2)RISC-V指令集规范必须能够在线下载;3)RISC-V的兼容性测试套件必须提供源码下载.
为了保护RISC-V标准,只有基金会会员可以使用"RISC-V"及相关商标,并且只能用于已经通过RISC-V兼容性测试套件测试的产品.
基金会的董事会由来自Bluespec、谷歌、Microsemi、英伟达、恩智浦半导体、加州大学伯克利分校和西部数据的七名代表组成.
董事会成员的变更须由董事会投票决定.
董事会可修改会员条约,须经过三分之二赞成票通过.
董事会可决定建立委员会来处理关于RISC-V的具体事务,并任命下属委员会的主席.
目前已经建立的委员会包括技术委员会和营销委员会.
图3.
RISC-V基金会部分成员16RISC-V基金会目前有超过210名成员,包括机构、学术和个人会员,覆盖25个国家,这些国家占据世界人口的55%.
基金会自2015年成立以来,会员数的年增长率超过100%.
当前的成员包括:中科院计算所、阿里巴巴、华为、谷歌、镁光、英伟达、高通、三星、西部数据、日立、IBM、联发科、希捷、海力士等.

图3展示了RISC-V基金会的部分成员.
3.
4RISC-V研讨会/峰会RISC-V研讨会(Workshop)一共举办了9届,举办了1届峰会(Summit),有来自全球20多个国家的共1100多名参会人员.
往届研讨会的相关信息在表1中列出.
表1.
历届RISC-V研讨会的信息届数时间地点12015年1月美国加州蒙特里万豪酒店22015年6月美国加州伯克利国际之家酒店32016年1月美国加州红木海岸Oracle会议中心42016年7月美国马萨诸塞州麻省理工学院52016年11月美国加州Google山景园区62017年5月中国上海交通大学72017年11月美国明尼苏达州西部数据公司82018年5月西班牙巴塞罗那92018年7月印度金奈RISC-V研讨会的目的是向全社区通报全球各种RISC-V项目的最新活动,并就RISC-V项目的未来步骤达成共识,同时举办训练营提供从RISC-V开发团队了解RISC-V基础架构的机会.
研讨会和训练营中,展示了多个RISC-V流片、FPGA板设计和相关软件工具的演示.
研讨会的特色是讲座和海报展示,介绍RISC-V社区当时在公开提交期间收集的活动.
其中,第二届研讨会就RISC-V项目的未来步骤(包括RISC-V基金会)达成共识.
第三届和第四届研讨会与RISC-VISA和RISC-V基金会的启动就未来17的步骤达成共识.
第五届,第六届和第七届研讨会就指令集的未来达成共识.

第六届研讨会是在北美以外举办的第一次RISC-V基金会研讨会,有超过270名注册参加者.
研讨会为RISC-V新手和尚未接触RISC-VISA的人员举行了为期一天的会议.
会议包括RISC-V基金会的演示文稿,RISC-VISA的一些原始创建者以及RISC-V社区内供应商的产品演示.
第八届研讨会的主题演讲包括NXP软件工程研发副总裁RobertOshana,WesternDigital执行副总裁兼首席技术官MartinFink以及巴塞罗那超级计算中心主任MateoValero.
会议第一天涵盖的主题包括基础ISA批准、BitManip、合规性、调试、正式规范、内存模型、操作码空间管理、权限规范、安全性、软件工具链和向量扩展.
第二天和第三天举行了两天的RISC-V架构、商业和开源实现、软件和芯片、载体、安全、应用、加速器和仿真基础设施等的演讲.
第九届研讨会活动包括RISC-V架构的深入技术演示,演讲方包括领先技术公司和研究RISC-V生态系统中的机构.
RISC-V的首届峰会于2018年12月3日至6日在美国硅谷圣克拉拉举行.
对于RISC-V基金会来说是历史性的一次会议,吸引了来自全球20个国家的1100多人参会.
超过全球25个国家的150家成员公司参加.
峰会的展览厅共有29家参展商,两天内共有53场演出.
展会上,存储产品供应商西部数据公司CTOMartinFink在RISC-V峰会的主题演讲中宣布,将WD自己开发的RISC-V内核SweRV开源.
SweRV是一款采用RV32IMC指令集的32位、9级流水线RISC-V内核,它采用双路超标量设计,可以同时加载和执行多条指令以缩短程序运行时间,时钟频率为1.
8Ghz,将采用28mmCMOS工艺制造.
其测试性能可以达到4.
9CoreMarks/Mhz,将用于WD内部的各种嵌入式应用,比如闪存控制器和SSD等.
SiFive首席架构师KrsteAsanovic在其主题演讲中揭示了针对高性能计算的RISC-VAI平台,包括带向量扩展的RISC-V内核、HBM2高带宽存储接口,以及56Gb/sSerDes接口.
另外,Microchip公司旗下的Microsemi在峰会上演示了一种基于RISC-V的PolarFireSoCFPGA架构,结合其低功耗PolarFireFPGA系列与SiFive的1.
5GHzU54-MCRISC-V内核(性能与ARMCortex-A35相当),将实时、确定性的非对称多处理(AMP)能力带到18Linux平台.
这一平台具有灵活的2MBL2存储器子系统、单-双错误校正(SEC-DED)等可靠性和安全性功能,以及SmartDebug逻辑分析仪等调试功能.
3.
5RISC-V软硬件生态芯片技术是信息技术产业链中的重要基石,也是我国大幅落后于国际水平的技术领域之一.
发展自主可控的芯片技术,并打破Intel、高通、ARM等芯片巨头的技术垄断,已成为当下亟待解决的问题.
处理器指令集是软硬件的接口,是构建芯片生态和发展芯片技术的核心部分,其重要性不言而喻.
2011年,加州大学伯克利分校发布了开放指令集RISC-V,并很快建立起一个开源软硬件生态系统.
由于RISC-V的指令标准清晰,并且开源免授权等特性,在芯片领域受到广泛关注.
截止2019年1月,已有包括Google、NVidia等在内的200多个公司和高校在资助和参与RISC-V项目.
其中,部分企业已经开始将RISC-V集成到产品中.
例如全球第一大硬盘厂商西部数据(WesternDigital)最近宣布将把每年各类存储产品中嵌入的10亿个处理器核换成RISC-V;Google利用RISC-V来实现主板控制模块;NVidia也将在GPU上引入RISC-V等.
此外,国内阿里巴巴、华为、联想等公司都在逐步研究各自的RISC-V实现;上海市将RISC-V列为重点扶持项目;印度政府也正在大力资助基于RISC-V的处理器项目,使RISC-V成为了印度的事实国家指令集.
这表明RISC-V已经逐渐成为芯片设计领域的主流指令集之一,且广受各大厂商青睐.
下面从RISC-V指令集、生态系统和已有RISC-V实现等几方面介绍RISC-V的发展现状.
RISC-V指令集清晰且开源,与现有商用指令集相比,RISC-V更加精简.
此外,RISC-V支持在标准指令集之外,自定义扩展指令集,兼顾了灵活性.
目前,基于RISC-V的指令扩展已经发展得颇为丰富,如SiFive、LowRISC、ORCA等已经发展出了面向矢量化、虚拟化、硬件安全和特定领域加速等的多种扩展指令集,极大提升了RISC-V应对真实场景下应用需求的能力.
RISC-V的生态系统日趋完善.
良好的生态系统对发展芯片技术,以及形成良性可持续的芯片产业循环是至关重要的.
与其它开源指令集(如OpenSPARC和OpenPOWER)相比,RISC-V在社区支持方面更完善,支持包括Linux、SeL4、BSD等通用操作系统,支持FreeRTOS和RT-thread等实时操作系统,支持GCC、LLVM19等通用编译和调试工具链,支持C/C++、Java、Python、OpenCL和Go等主流编程语言.
近年来国内外兴起的RISC-V的研究热潮也将持续完善其生态系统,借助该生态系统,可以使得优秀的RISC-V实现迅速落地并形成产业影响力.
目前已经出现了面向各种目标设计的开源RISC-V实现(如表2所示).
其中大部分RISC-V实现,如RocketCore和LowRISC等,面向嵌入式和低功耗的场景应用,采用单发射顺序执行技术,获得良好的性能功耗比.
而面向工业级处理器的BOOM采用超标量乱序执行技术,性能提升巨大.
鉴于RISC-V指令集开源、规范清晰、扩展灵活并已经具备完整的生态系统支持,已成为当下芯片技术研究的热点.
虽然面向嵌入式场景的RISC-V实现已经百花齐放,但目前还没有一个开源且实用的高性能RISC-V实现来应对复杂场景下的应用需求.
为填补此空白,占领未来芯片技术发展的先机,研究可靠实用的高性能RISC-V核心已经迫在眉睫.
表2.
部分开源的RISC-V实现项目目标定位实现语言核心架构RocketCoreARM顺序核ChiselRV32G/RV64G(五级流水/顺序执行)LowRISCBOOM工业级处理器ChiselRV64G(超标量/乱序执行)ORCA低资源占用VHDLRV32IM(5级流水/顺序执行)RISCYMCUSystemVerilogRV32ICM(4级流水/顺序执行)RoaLogic嵌入式RV32G/RV64G(4级流水/顺序执行)SCR1MCURV32I(4级流水/顺序执行)MriscvMCUVerilogRV32I(3级流水/顺序执行)VexRiscvFPGASpiralHDLRV32IM(5级流水/顺序执行)Hummingbird嵌入式和教学VerilogRV32IMAC(2级流水/顺序执行)ShakticlassI系列通用处理SystemVerilogRV32IM/RV64I(8级流水/乱序执行)C系列ARM顺序核RV64IMAFD(6级流水/顺序执行)E系列MCURV32IM(3级流水/顺序执行)RiscyFPGAVerilogRV32I(5级流水/顺序执行)203.
6RISC-V在中国的发展3.
6.
1中国企业RISC-V不仅在国际领域广受关注,在中国也呈现风起云涌之势.
截至2018年年底,可查询到的与RISC-V芯片、硬件、软件、投资、知识产权及生态相关的中国公司(含外资公司中国分公司)数量已接近一百家,在表3中列出(按首字母排序):表3与RISC-V相关的中国企业(名单陆续更新中)序号单位名称序号单位名称1杭州中天微系统有限公司2杭州秘猿科技有限公司3北京百度网讯科技有限公司4合肥格易集成电路有限公司5北京华大九天软件有限公司6华大半导体有限公司7北京集创北方科技股份有限公司8华米(北京)信息科技有限公司9北京君正集成电路股份有限公司10华为技术有限公司11北京联想核芯科技有限公司12华夏芯通用处理器技术有限公司13北京猎户星空科技有限公司14华芯投资管理有限责任公司15北京探诚科技有限公司16江苏金羿智芯科技有限公司17北京万宏兴业科技有限公司18晶晨半导体(上海)股份有限公司19北京先风广集管理咨询有限公司20晶心科技(武汉)有限公司21北京芯启科技有限公司22景略半导体(上海)有限公司23北京翼辉信息技术有限公司24钜泉光电科技(上海)股份有限公司25北京御芯微科技有限公司26浪潮电子信息产业股份有限公司27北京中科汉天下电子技术有限公司28乐鑫信息科技(上海)有限公司29比特大陆科技控股公司30摩尔精英网络科技南京有限公司31成都锐成芯微科技股份有限公司32澎峰(北京)科技有限公司33诚迈科技(南京)股份有限公司34青岛本原微电子有限公司35地平线(上海)人工智能技术有限公司36睿思芯科(深圳)技术有限公司37格芯(中国)有限公司38厦门半导体投资集团有限公司2139广东高云半导体科技股份有限公司40厦门积微信息技术有限公司41广东汉为集成技术有限公司42上海埃瓦电子科技有限公司43国家电网有限公司44上海安路信息科技有限公司45海高汽车技术有限公司46上海聪链信息科技有限公司47杭州华澜微电子股份有限公司48上海复旦微电子集团股份有限公司49杭州秘猿科技有限公司50上海赋华网络科技有限公司51上海富瀚微电子股份有限公司52北京声智科技有限公司53上海富芮坤微电子有限公司54苏州硅岛信息科技有限公司55上海格易电子有限公司56苏州国芯科技有限公司57上海恒锐知识产权服务有限公司58台积电(中国)有限公司59上海慧存微电子科技有限公司60深圳市腾讯计算机系统有限公司61上海集成电路产业投资基金管理有限公司62天博电子信息科技有限公司63上海嘉韬实业有限公司64VMware(中国)有限公司65上海谨嵘电子科技有限公司66武汉晟联智融微电子科技有限公司67上海睿赛德电子科技有限公司68西安恩狄集成电路有限公司69上海晟矽微电子股份有限公司70西安优矽智芯电子科技有限公司71上海时芯电子科技有限公司72芯来科技(武汉)有限公司73上海小蚁科技有限公司74芯翼信息科技(上海)有限公司75上海芯铄投资管理有限公司76芯原微电子(上海)有限公司77上海兴橙投资管理有限公司78亚创(上海)工程技术有限公司79上海弋盛投资管理有限公司80Imagination(上海)有限公司81上海音航信息科技有限公司82四川长虹电器股份有限公司83上海岳芯电子科技有限公司84致象尔微电子科技(上海)有限公司85上海云从企业发展有限公司86中科创达软件股份有限公司87上海云间半导体科技股份有限公司88西安中科创星科技孵化器有限公司89上海兆芯集成电路有限公司90中芯国际集成电路制造有限公司91上海智百咖信息科技有限公司92中兴微电子技术有限公司93深圳市国微电子有限公司94中颖电子股份有限公司2295深圳云天励飞技术有限公司96重庆华犇创业投资管理有限公司97紫光展锐科技有限公司3.
6.
2中国的研究在2015年之前,大多数微结构和芯片相关的研究受限于指令集的授权问题而难以开展.
随着RISC-V开源开放理念的流行,越来越多的科研项目受益于RISC-V而得以开展.
其中有代表性的研究成果介绍如下:RISC-V系统架构创新方向中国科学院计算技术研究所先进计算团队开展的标签化RISC-V(LabeledRISC-V)属于国内RISC-V的首批研究之一,该项目基于RISC-V来对软件定义体系结构进行探索.
该团队也基于RISC-V处理器开展了缓存预取的研究.
RISC-V加速器和领域专用处理器领域:中国科学院计算技术研究所泛在计算团队开展了基于RISC-V核心的轻量级神经网络处理器的研究,探索了RISC-V核心在物联网设备中的应用,而上海交通大学的北斗导航与位置服务重点实验室则开展了基于RISC-V指令集的基带处理器扩展研究项目,甚至一些处理器爱好者也开展了基于RISC-V核心的CNN加速器项目.
RISC-V安全领域清华大学计算机软件研究所团队开展了基于RISC-V的操作系统安全研究,中国科学院信息工程研究所信息安全国家重点实验室团队则开展了基于RISC-V的微结构安全研究.
据不完全统计,目前围绕RISC-V开展科学研究或领域生态调研的科研机构包括但不限于(按拼音排序):北京大学、南京大学、南开大学、宁波中国科学院信息技术应用研究院、鹏城实验室、清华大学、上海交通大学、上海科技大学、天津大学、浙江大学、中国电子信息产业发展研究院、中国科学技术大学、中国科学院计算技术研究所、中国科学院上海微系统所、中国科学院微电子所和中国科学院信息工程研究所等.
预计未来国内基于RISC-V的研究将越来越繁荣.
233.
6.
3中国的教育RISC-V指令集和体系结构源于UCBerkeley的CS152课程.
作为计算机体系结构界殿堂级的存在,UCBerkeley在体系结构教学和教育方面的经验值得国内高校认真学习和借鉴.
在国内,RISC-V正被越来越多的高校教师和学生接触和学习.
南京大学袁春风老师在开设的《计算机组成原理》课程中尝试使用RISC-V作为课程设计的基础.
清华大学的向勇和陈渝老师在操作系统实验课上也把RISC-V作为目标系统.
自2016年开始,北京大学的易江芳老师就在计算机体系结构实习课上介绍并尝试进行RISC-V的各级模拟器和FPGA实现.
2019年,《计算机组成与设计:软硬件接口》RISC-V中文版即将出版,可以作为各大高校体系结构课程的教材选择,这将为RISC-V在中国高校中的推广起到重要的推动作用.
不过,作为经典体系结构的MIPS在计算机相关课程体系中本就占有重要地位,并随着"龙芯"的推广其地位不断加强.
在高校和教育界,RISC-V如何能够获得更多的拥趸和青睐,还需要社会各界更多力量的加入和推动.
3.
6.
4中国联盟与组织随着RISC-V的知名度与关注度不断增加,2018年在中国成立了三家与RISC-V相关的联盟组织.
虽其侧重点略有不同,但都在为RISC-V在中国的宣传发展及生态建设凝聚力量.
1)中国RISC-V产业联盟(简称CRVIC联盟)2018年9月20日,中国RISC-V产业联盟宣布成立,上海芯原控股有限公司担任联盟首任理事长单位.
中国RISC-V产业联盟致力于集聚和整合国内RISC-V创新力量,助推RISC-V产业生态的建设,提升中国企业在RISC-V指令集创新、标准制定中的影响力,同时,加快RISC-V的市场推广和产业化应用2)中国开放指令生态(RISC-V)联盟(简称CRVA联盟,网址:http://crva.
io)2018年11月8日,中国开放指令生态(RISC-V)联盟在第五届互联网大会上宣布成立,联盟理事长由倪光南院士担任.
CRVA联盟旨在召集从事RISC-V指令集、架构、芯片、软件和整机应用等产业链各环节企事业单位及相关社会团体,自愿组成一个全国性、综合性、联合性和非营利性的社团组织.
此联盟将围绕RISC-V指令集,整合各方资源,通过产、学、研、用深度融合,力图推进RISC-24V生态在国内的快速发展.
3)RISC-V基金会中国顾问委员会2018年11月8日,在中国乌镇举行的世界互联网大会(WorldInternetConference)上,RISC-V基金会(RISC-VFoundation)宣布成立中国顾问委员会,将就RISC-V基金会的教育和应用推广战略提供指导.
半导体行业资深人士方之熙(JesseZhixiFang)博士被任命为RISC-V基金会中国顾问委员会主席.
RISC-V基金会在中国的影响力不断扩大,覆盖超过25个组织机构与大学,在此基础上,中国顾问委员会将对RISC-V基金会的教育与应用推广战略提供指导意见,以进一步加速RISC-V生态系统在该地区的发展.
3.
7RISC-V相关资源信息本节按教材资料、社区动态和国际项目分别介绍RISC-V相关资源信息.
3.
7.
1教材资料采用RISC-VCPU作为国内高校软硬件系统类课程的学习研究对象,有助于高校老师和同学充分利用RISC-V生态环境,使用丰富的开源软硬件资源和信息,简化课程建设,有利于打通编译原理、汇编语言、操作系统、计算机组成原理、计算机系统结构等课程,让学生能够更加深入和全面的掌握计算机系统相关的知识,提供系统能力.
目前国内高校对RISC-V的教学和教育相对较少,在普及RISC-V方面落后于企业.
在教科书、教材方面,胡振波撰写的《手把手教你设计CPU——RISC-V处理器》是一本介绍通用CPU设计的入门书,以相对通俗的语言系统介绍了CPU和RISC-V架构,可帮助读者理解CPU设计和计算机体系结构.
中科院计算所勾凌睿等人翻译了《TheRISC-VReader:AnOpenArchitectureAtlas》一书.
此书讲述了RISC-V的设计缘由,即为什么它的设计师选择赋予它这些能力,再加上一些对其演化历史的深刻见解及与其它常见架构的比较,让教学过程变得更为生动.
英文教材方面,《ComputerOrganizationandDesignRISC-VEdition:TheHardware/SoftwareInterface》是一本经典教材.
在计算机组成原理等硬件课程方面,目前已经有一些大学,如清华大学、江南大学等,基于或部分基于RISC-V进行课程原理和实验内容建设.
在编译原理、25操作系统等系统软件类课程中,清华大学把RISC-V作为可选的实验硬件平台,用于编译器后端实验和操作系统实验等.
未来应加强推广面向高校教师的基于RISC-VCPU的教学培训、会议、workshop、tutorial等,与企业加强合作,提供丰富的RISC-V软硬件生态、非常便宜易用的FPGA/ASIC软硬件实验环境、详细的可参考的教学素材资源,使得RISC-VCPU能得到高校师生更广泛的认可与接受.
详细信息如下:《ComputerOrganizationandDesignRISC-VEdition:TheHardware/SoftwareInterface》于2017年正式出版.
由北京大学翻译的《计算机组成与设计:软硬件接口》RISC-V中文版将在2019年出版.
图灵奖得主DavidPatterson和AndrewWaterman合著的《TheRISC-VReader》向嵌入式系统工程师、学生和开源指令集爱好者们详细介绍了RISC-V设计理念,详见:http://www.
riscvbook.
com/.
由中科院计算所包云岗研究员的团队将《TheRISC-VReader》翻译成中文版本,下载地址:http://crva.
io/documents/RISC-V-Reader-Chinese-v2p1.
pdf由芯来科技创始人胡振波编著的《手把手教你设计CPU——RISC-V处理器篇》介绍了CPU和RISC-V架构,并结合RISC-V开源实例进行教学.
维基百科上关于RISC-V的解释词条从历史、设计理念等角度介绍了RISC-V,详见:https://en.
wikipedia.
org/wiki/RISC-V3.
7.
2社区动态CNRV双周报:国内RISC-V爱好者利用Github协作方式以双周简报形式介绍RISC-V的最新信息,同时在微信公众号和CNRV网站发布.
其内容覆盖RISC-V邮件列表、行业新闻、项目进展以及各类点评.
详见https://cnrv.
io/开源中国:社区开设了单独的板块总结了Github上部分RISC-V资源,详见https://www.
oschina.
net/searchscope=project&q=RISC-V开源RISCV:https://www.
zhihu.
com/people/risc-v/activities3.
7.
3国际项目美国国防部高级研究计划局(DARPA)于2017年6月启动了"电子复兴26计划"(ERI:ElectronicsResurgenceInitiative).
其中"一流开源硬件"(PoshOpenSourceHardware,POSH)项目旨在引导学术及产业界开展开源SoC设计与验证系统方向的研究工作,具体包括:实现来源未知的电路组件自动化验证确保投片质量,以及初步建立开源芯片IP资源库.
通过以上工作以期形成开源且低成本的SoC生态.
此外,"电子设备智能设计"(IntelligentDesignofElectronicAssets,IDEA)项目旨在实现数字芯片、模拟芯片、器件封装、印刷电路板多层次的复杂混合电路布局中的无人参与以及自动化系统综合生成.
LibreSiliconAlliance通过打造多个开源项目包括基于自由和开放的芯片制造流程,高质量的标准单元库,以及自由开源的EDA工具推动开源芯片设计,即使用完全自由和开放的工具使芯片设计和制造过程打破大厂商垄断以及绕过厂商的NDA(保密协议),详见https://libresilicon.
com274MIPS开放生态现状4.
1MIPS开放计划介绍WaveComputing于2018年12月17日宣布开放其MIPS指令集架构以便半导体公司、开发者以及大学能快速采用MIPS架构用于下一代的SoC芯片的设计开发.
WaveComputing是致力于开发AI和深度学习数据流芯片的美国硅谷公司,该公司于2018年6月收购了MIPS公司,开放MIPS指令集是该公司"AllinAI"战略的重要组成部分.
该公司认为,虽然开源指令集以及开源芯片在最近几年发展迅速,但直到现在仍然缺乏达到工业标准的、受到专利保护以及经过硅验证的开源RISC架构.
而工业标准的MIPSISA代表了几十年以来的持续创新,拥有数以千计的设计实现,生产了超过85亿颗芯片,并且以每年10亿颗的速度继续增长.
MIPS开放计划将会鼓励全球的半导体社区开发新的用于各行业市场的MIPS兼容芯片解决方案.
MIPS开放计划将由WaveComputing公司、工业界领先的OEM制造商、合作伙伴、大学以及杰出的技术人员组成的咨询委员会共同主持,将以社区驱动的形式来帮助指导在MIPS架构上的创新.
MIPS开放计划也会引入一些经过认证的验证合作伙伴用来帮助确认实现的兼容性以防止架构碎片化.
MIPS开放计划将会极大扩展包括全球数以千计的开发者、超过100个的学术机构的现有的MIPS生态环境,这些生态环境将会从第三方工具供应商、软件开发者以及大学获得创造创新的机会.
通过MIPS开放计划,MIPS架构的客户也将获得保证,MIPS开发生态环境提供的开发工具、应用软件或者其它增值特性及服务将会与新的实现保持兼容.
MIPS开放计划的细节,包括可下载的MIPS架构、授权细节、支持机制以及如何参与等信息,将会在2019年一季度公布.
4.
2MIPS指令集发展历史及MIPS公司主要产品4.
2.
1MIPS指令集发展历史MIPS指令集从1985年第一个版本发布至今发已有30多年历史,其中201428年发布的MIPSRelease6是最新的版本.
每个版本的发布时间如表4所示.
表4MIPS各版本发布时间版本发布时间Release11985年Release22002年Release32010年Release52013年Release62014年不仅如此,MIPS架构也在不断演进,其演进路线如图4所示.
MIPS指令集及架构在2010年以后发展迅速,至2014年的5年时间共发布了3个版本,在传统的整数浮点应用指令基础上逐步增加了多线程、DSP模块、SIMD模块以及虚拟化模块.
这也与移动互联网应用的迅速发展时间相吻合,随着应用需求变化,MIPS指令集以及架构也在迅速发展.
图4.
MIPS架构演进路线29在MIPS指令集发展过程中,基本上严格保持新版本向后兼容的特点.
比如MIPSRelease5可以向下兼容之前的所有指令集版本.
但在最新发布的MIPSRelease6版本中,这种情况发生了变化.
这个版本中增加了一些新的指令并对指令集进行了简化,删除了一些不常用的指令,重新排布了指令的编码,空余出了大量的指令槽用于将来的扩展.
因此,可以把MIPSRelease6版本看成一个几乎全新的定义.
4.
2.
2MIPS公司主要产品自2014年发布MIPSR6版本之后,MIPS公司的IPCore产品全面转向MIPSR6版本,形成覆盖高中低不同性能和应用需求的Warrior产品系列,而把R6之前的产品全部归为Classic系列.
Warrior产品系列又分为M-Class,I-Class和P-Class三个级别.
这三个级别的产品的特性如表5所示.
表5Warrior三个级别的产品特性级别产品产品特性P-ClassP5600/P6600MIPS64-bitR6指令集16级流水乱序执行4指令取值宽度每拍同时发射4条整数和2条SIMD操作BTB/RPS/JRC等高级分支预测机制可选高性能128位双发射SIMD执行单元全硬件虚拟化TSMC28HPM主频2+GHzI-ClassI7200/I6500/I6400MIPSR632-bitnanoMIPS指令架构比传统MIPS32增加40%的指令密度双发射9级流水线支持多线程技术TSMC16FF+工艺下1.
7GHz-2.
1GHzM-ClassM51xx/M62xxMIPSR632-bitmicroMIPS/MIPS32指令集6级流水线专用DSP和SIMD模块TSMC28HPM12TSVt工艺下750MHzMIPS公司的IPCore产品主要被应用在人工智能、汽车电子、消费类电子、IoT以及网络等5个市场.
其中人工智能是WaveComputing公司既定的方向,30其技术方案将加速AI计算的数据流架构与MIPS嵌入式多线程RISC处理器核组合起来.
总体而言,MIPS架构处理器在大部分行业应用中的市场份额处于下降趋势,即使在MIPS架构的传统优势领域,比如机顶盒、打印机控制器、WIFI路由器、网络处理器等,也已经逐步被ARM架构的处理器所取代.
从已有信息来看,自2014年MIPSRelease6发布以来,除MIPS公司自己的Warrior产品系列之外,尚无第二个实现MIPSRelease6指令集的芯片.
4.
3MIPS开放计划特点MIPS开放计划包含的内容包括以下IP和技术架构:开源的MIPS32和64位指令集,Release6版本MIPSSIMD扩展MIPSDSP扩展MIPS多线程技术MIPSMCUmicroMIPS架构MIPS虚拟化技术MIPS公司对MIPS开放计划进行了以下澄清:1)此次开放计划仅仅针对MIPS指令集的最新版本,即2014年发布的Release6版本.
在开放计划中,并不包含早期版本(即Release5或更早期).
不能把MIPS开放计划的授权与早期版本的授权混淆.
2)如果一个公司开发了一个基于MIPS开放计划授权的实现,可以不需要开源这部分代码.
3)合作伙伴如果加入MIPS开发计划并且通过认证,有机会把自己的服务放在MIPS开源计划中进行销售.
从以上信息可以知道,MIPS开放计划并不是开放所有版本的MIPS指令集,而仅仅是最新的MIPSRelease6版本.
从MIPSRelease6版本的文档可以知道,该版本并不与早期版本完全兼容,其中的修改甚至包括删除大量不常用指令,将回收的指令槽用于新增加的指令,在一定程度上几乎可以看成是一个全新的指31令集.
由此可见,MIPS开放计划中的MIPS指令集的初始生态环境并不乐观.
这也是很少有产品采用基于MIPSRelease6指令集的IPCore的主要原因之一.
4.
4MIPS开放计划与RISC-V开源计划对比MIPS开放计划与RISC-V的开源计划有相似之处,也有不同之处.
相对自2010开始发展的RISC-V指令集,MIPS开放计划的中开放的MIPSRelease6(2014年)指令集优势并不明显.
与RISC-V指令集致力于全面的开源ISA不同,MIPS开放计划仍然会存在一些商业上的顾虑和一些沉重的历史包袱,显然不如RISC-V的开源计划来得更彻底、更纯粹.
表6中,对MIPS开放计划和RISC-V开源计划进行了对比.
总体来看,MIPS开放计划在商业化应用上具有一定优势,但其License形式相对RISC-V具有一定的不确定性,而RISC-V的开源更为彻底,采用较为宽松的BSDLicense形式.
表6MIPS开放计划与RISC-V开源计划对比项目MIPS开放计划RISC-V开源计划指令集起始时间2014年(MIPSRelease6)2010年主导方WaveComputing公司RISC-V基金会SIMD/DSP扩展有有虚拟化技术有有多线程技术有无硅验证有有批量商业化应用有无开源实现无多个License形式未知BSDLicense4.
5芯片商业模式对比为了更好的理解开放指令集与开源芯片的内核,在此借用图灵奖得主DavidPatterson教授在清华大学的学术报告中展示一张关于不同处理器芯片商业模式的表格(见表7).
32当讨论处理器芯片商业模式时,需从三个不同的设计层次表述:指令集规范、IP核设计与SoC芯片设计.
在每个层次都存在开源(免费)模式、IP授权模式与完全私有模式.
表7展示了现有主流的处理器各自的定位.
在指令集规范层次,RISC-V和最新推出的MIPSR6都是开源可免费使用;ARM和早期的MIPS指令集采用的是授权模式,用户需出资获取授权;Intel对应的X86指令集则完全私有.
在IP核设计层次,伯克利早期开发的面向RISC-V指令集的RocketCore是开源实现;而ARM与SiFive各自设计IP核,但用户需出资获取授权(或源码);同样,Intel设计的IP核只为自己使用.
在SoC芯片设计层次,目前尚无成熟的开源SoC实现,提供IP授权的SoC芯片设计也较少,仅有高通等少数几家企业;而Intel、海思等企业有实力开发SoC,但也并不提供授权服务.
虽然RISC-V和MIPS在开放指令集方面迈出了重要的一步,但是开源芯片的模式依然不是主流,其在开源的IP核设计和开源SoC上依然还有很长的路要走.
表7.
处理器芯片商业模式对比6商业模式设计层次开源/免费IP授权完全私有指令集规范RISC-V/MIPSR6ARM/MIPSIntelIP核设计RocketCoreARM/SiFiveIntelSoC芯片设计QualcommIntel/海思6摘自图灵奖得主DavidPatterson教授报告335开源芯片发展现状5.
1芯片设计流程芯片设计总体流程如图5所示,一般可分为前端设计和后端设计两部分,二者之间通过逻辑综合交换网表数据.
除此之外,后端设计完成布线阶段以后生成带延迟的网表提供给前端进行后仿真.
下面对芯片的前后端设计流程分别进行介绍.
图5.
芯片设计总体流程5.
1.
1芯片前端设计流程芯片前端设计流程主要有芯片需求分析、硬件架构设计与分析、RTL实现、功能验证(仿真验证)、FPGA验证、逻辑综合、静态时序分析、一致性验证以及时序仿真(后仿真).
需求分析主要是了解芯片功能、性能、成本,对后续芯片设计产生指导作用.
在确定需求以后进入具体实现流程.
硬件架构设计与分析完成芯片的高层次架构的分析与建模,为硬件提供一个正确的软件功能模型,更重要的是通过大量的高层次仿真和调试,为RTL实现提供总体性的设计指导.
需求分析架构设计RTL实现仿真验证FPGA验证逻辑综合静态时序分析一致性验证后仿真布局放置时钟树综合布线流片签核流片34RTL实现根据硬件架构设计和分析的结果,完成从高层次描述到使用硬件描述语言(RTL)描述的实现过程.
常用的硬件描述语言有verilog、systemVerilog及VHDL等.
功能验证(仿真验证)是在无硬件延迟的理想情况下,通过大量的仿真,发现电路设计中的各种错误.
在功能验证过程中将会使用到各种验证手段,其中形式化验证起到主要作用.
功能验证的主要指标是功能覆盖率,覆盖率越大硬件出错的概率越小.
FPGA验证是将RTL代码映射到FPGA硬件平台上进行验证的方法.
因为功能验证的运行速度较慢,不能启动较为复杂的应用(比如操作系统),也不能外接较为复杂的硬件设备(比如显示控制器),即使经过了功能验证(仿真验证),其验证仍然不完全.
FPGA具有和ASIC类似的后端设计流程,运行速度相对较快,可以连接大量的外设,更接近实际的ASIC环境,成为芯片验证中的重要环节.
逻辑综合将RTL代码映射为与工艺库相关的门级网表.
这个过程的输入文件为RTL代码、foundry提供的工艺库文件(db)以及由逻辑综合工程师和ASIC工程师共同确定的约束文件(SDC).
逻辑综合完成后输出门级网表(netlist)、标准延时文件(SDF)、工程文件(DDC)以及各种报告.
这些报告包括时序报告、面积报告、约束报告、时钟报告和设计违例报告等.
经过逻辑综合以后,芯片后端设计可以介入开始芯片后端设计.
静态时序分析是了解芯片的设计是否满足芯片的时序性能设计要求.
静态时序分析从逻辑综合步骤开始,每进行一次调整都要进行时序分析,以确认设计在时序上是否收敛.
一致性验证用于确认RTL代码和门级网表在功能上是否完全一致.
需要进行一致性验证的主要原因是逻辑综合步骤会对生成的网表进行性能优化,有可能对实际电路进行调整,一致性验证用于检查调整后的电路与RTL表示的电路的一致性.
时序仿真(后仿真)与功能仿真(前仿真)类似,只是将要仿真的RTL换为网表,并且需要加载标准延时文件(SDF)和工艺库仿真模型.
该步骤的目的在与观察电路延迟接近实际芯片的条件下,功能是否还能保持正确.
355.
1.
2芯片后端设计流程芯片后端设计也称为物理设计,将门级网表转换成有功能描述、物理大小定义和位置位置信息的硬件单元,完成所有单元之间的连线,在实现过程中满足芯片设计需求的面积、功耗以及性能等要求.
芯片后端设计的主要流程有布局、放置、时钟树综合、布线、signoff.
布局(FloorPlan)阶段需要定义芯片的长宽尺寸、pad或者pin的位置、芯片的时序目标、电源环的宽度以及strap的长度或者宽度等内容.
如果芯片中包含锁相环、RAM、寄存器堆等宏单元,还要确定这些宏单元的位置,以及如何摆放能使得走线更顺畅,芯片面积更小等.
放置(placement)的目的是将所有标准单元放入corearea中,并能满足拥塞及时序要求.
时钟树综合的目的是为了生成满足芯片时序要求的时钟树.
芯片中的时钟网络要驱动电路中所有时序单元,因此时钟源端门单元的负载很多,负载延时很大且不平衡,需要插入缓冲器减少负载和平衡延时.
时钟网络及其缓冲器构成了时钟树.
布线是将所有需要连接的线在芯片中形成实际的金属走线.
布线中需要满足DRC和LVS等规则检查,不会导致芯片时序变差也不会引入信号完整性问题.
此外布线还要考虑可制造性设计(DFM),主要解决在制程中所遇到的一些问题,比如fixantenna、addfiller、slotwire、fillnbotch和filldummy等.
signoff(签核)是芯片后端设计的最后流程.
主要完成一些最后的检查工作.
检查芯片是否有时序违例,检查芯片静态功耗、动态功耗和IRdrop、检查设计规则如DRC、LVS、ANT、ERC和DFM等,最后还要检查布线完成后的网表与综合后网表的功能一致性.
完成signoff检查后即可以进行流片工作.
5.
2以往开源芯片现状与分析芯片开发的投入非常高,表现为投入人员多、开发周期长、芯片流片费用高等.
芯片的整个开发流程对EDA软件的依赖极大,没有相应的EDA软件,芯片开发几乎无法开展.
这些EDA软件种类繁多,专业性强,价格昂贵,普通个36人开发者无法负担.
芯片的开发特别是后端设计对foundry的依赖极大,没有foundry的技术资料,几乎很难完成芯片的开发并正常流片.
而foundry的技术资料也不会对个人开发者开放,导致熟悉开发流程的研发人员数量稀少.

除此之外,现在的芯片基本上都以片上系统(System-on-Chip,SoC)的形式出现,芯片上集成了非常多的功能部件,一个芯片开发团队很难把所有的功能部件独立开发出来,会集成很多第三方IP.
由于知识产权的问题,这些第三方功能部件可能不能进行开源,也在很大程度上限制了开源芯片的发展.

从以上分析来看,芯片开发的门槛极高,只有实力雄厚的大公司才能承担,普通个人开发者很难参与,导致开源芯片远不如开源软件发展迅速和普及.
事实上,由于芯片开投入大、门槛高、周期长、知识产权复杂导致开源芯片发展极为缓慢.
从某种意义上讲,目前并没有完全意义的开源芯片存在,基本上都是以开源IP的形式出现.
5.
3开源IP随着集成电路行业制造工艺的飞速发展,SoC芯片集成度急剧增加,其功能和复杂度也大幅提高.
从设计开发难度和上市时间上看,这些特征都对芯片设计人员提出了更大的挑战.
目前,设计复用技术已成为解决上述问题的有效方法.
根据业界经验,任何逻辑模块如果不作任何修改就可以在十个或更多设计项目中复用,都应以IP(IntellectualProperty)核的形式进行开发设计,以供更多开发者使用.
基于IP核的设计已成为SoC芯片设计的必由之路.
选择满足产品需求,又经过严格硅验证的IP,可大幅降低SoC设计的复杂度和难度,提高投片成功率,加快产品的上市速度.
IP核是指具有独立知识产权的电路核,用于实现特定的电路功能和结构,一般包括软核、硬核与固核.
软核是以FPGA为代表的硬件可编程逻辑器件为目标载体,用硬件描述语言(如VerilogHDL)设计可复用电路.
硬核是针对集成电路制造而设计的电路结构掩膜.
固核是完成综合后以网表形式存在的文件.
以IP核形式设计的各种功能模块具有良好的兼容性和移植性,恰当地复用这些IP核可使设计效率大大提高,降低设计成本和开发周期.
37目前各芯片设计厂商及逻辑模块开发商均提供商用的IP核设计.
这些IP核往往集成于相应的芯片开发工具中或单独向用户提供销售,用户无法得到源代码.
对于资金短缺的小规模设计团队或个人,这些闭源IP核的使用授权费用大幅增加了设计的成本负担.
同时,由于缺少相应厂商的技术支持,完全闭源的IP设计也为系统集成带来了极大困难.
即使可以获得技术支持,也需要付出额外的经济代价.
作为一种推广尝试,自21世纪初开始,国内外一些非盈利组织和个人致力于开源IP核的发展,为芯片设计人员提供遵循开源协议(如GPL)的免费IP核,具有代表性的开源IP组织包括:OpenCores:http://opencores.
org/projects著名的OpenRisc处理器核即是OpenCores组织提供的基于GPL协议的开源RISC处理器源码DesignAndReuse:https://www.
design-reuse.
com/OpenHW:http://www.
openhw.
orgOpenHW社区是赛灵思(Xilinx)大学计划在中国资助的非营利学生社团组织,是Xilinx学生俱乐部的官方网站.
这些开源社区为中小公司、大学及科研院所提供了较为丰富的IP核开源RTL代码资源.
上述机构在开源IP核的支持下,可以使用最小的人力和财力投入,完成小规模SoC芯片或科研样片的投片,并加速设计迭代速度.
由于支付了高额的使用授权费用并受到严格知识产权限制,各大芯片设计公司的高性能IP核还不能在开源社区公开出来.
目前开源社区中开源IP核RTL代码一般是由一些科研机构或硬件设计爱好者贡献出来的,设计水平相对有限.
因此,这些社区提供的IP核往往更加关注低端嵌入式应用领域,并主要提供SoC芯片中较为易于实现的低速I/O接口(如UART、SPI、I2C、USB等).
另一方面,大学及科研院所受限于流片资金的限制,更多专注于基于FPGA硬件可编程逻辑器件的工程设计与实现.
由于开发工具的通用性与设计语言的标准化,面向FPGA的IP核逻辑设计过程基本与器件的硬件结构无关.
与此相反,由于使用的制造工艺不同,ASIC设计需要重点关注底层的硬件结构及芯片38封装细节,仅凭开源RTL代码无法完成最终的设计.
这就造成开源IP核,特别是复杂高速I/O接口IP核(如DDR控制器、PCIe控制器、SATA控制器、网卡控制器等),在被迁移到ASIC设计时,需花费使用者大量额外的时间进行修改和适配,大幅降低了开源IP核的可移植性.
缺少SoC芯片中最核心的高可用处理器IP核,也是制约设计人员广泛使用开源IP社区的重要因素.
由于缺少对整体设计的考量,开源IP社区中发布的I/O接口IP核往往仅针对某一接口内部功能进行优化设计,并未充分考虑与处理器核的整体适配,进而缺少SoC集成支持(如SoC片上总线接口),造成移植开发过程中需要投入大量额外的设计精力.
同时,这些开源IP核对应的驱动程序或应用程序软件也比较欠缺,对软硬件系统的集成开发也会造成极大的困难.
随着开放处理器指令集RISC-V的出现,上述问题已开始得到有效缓解.
一大批围绕RISC-V指令集开发设计的开源处理器核心已逐步问世,其中的典型代表包括:标量处理器RocketCore:RocketCore是美国加州大学伯克利分校设计的一款64位、5级流水线、单发射顺序执行处理器.
该处理器核支持MMU及分页虚拟内存,可移植Linux操作系统.
兼容IEEE754-2008标准的FPU;支持分支预测.
采用Chisel编写,已成功投片十余次;超标量乱序执行处理器BOOM:BOOM(BerkeleyOut-of-OrderMachine)是UCB设计的一款64位超标量、乱序执行处理器,支持RV64G.
采用Chisel编写,利用Chisel的优势,只使用了9000行代码.
流水线可划分为六个阶段:取指、译码/重命名/指令分配、发射/读寄存器、执行、访存、回写;可支持参数化配置.
已在40nm工艺下进行了验证投片;国内第一款开源RISC-V处理器核蜂鸟:蜂鸟系列处理器核由中国大陆本土研发团队开发,专为IoT领域量身定做,其具有2级流水线深度,用户能够轻松获取与本土开发人员的交流和支持.
该处理器所有代码均为人工编写,添加丰富的注释且可读性强,非常易于理解.
功耗和性能指标均优于目前主流商用同类型处理器.
39这些高质量的开源RISC-V处理器不仅提供处理器IP核本身的实现,还提供完整的配套SoC、详细的FPGA原型平台搭建和软件实例,并支持完整的调试方案.
这就使得二次开发用户可以按照其步骤重现出整套系统,轻松将这些处理器IP核应用到具体产品中,有效提升设计复用的效率.
受RISC-V指令集所引领的开源开放生态影响,其他处理器设计公司也纷纷将其内部的高水平处理器核IP以不同形式开放出来,供开发者使用.
ARM为帮助嵌入式设计开发者、初创企业以及OEM厂商能够快速获得其IP而推出了加强版的DesignStart计划.
在该计划中,ARM将开放Cortex-M0、Cortex-M3和Cortex-A5及相关IP子系统,并取消了预付授权或者评估费用,改以产品成功量产出货后才收取版税的模式运作,旨在降低开发风险.
以此为基础,用户通过一个简单的可下载授权,即可在项目商业开发初期,进行定制化处理器的设计、评估和原型开发.
而通过在线获取ARMCoreLinkSDK-100(一个已获证实的子系统和系统IP解决方案)、CoreLinkSSE-050子系统和已获验证的对mbedOS的支持,开发效率实现了10倍以上的提升.
此外,作为生态系统型的公司,ARM还在该项目中提供了来自ARM以及ARM认证的设计公司合作伙伴的设计辅助服务,以及数以千计的物理IP库,以期最快、最高效地实现芯片.
虽然未完全开放设计的RTL源代码,但通过为用户提供大量经过验证的、可用的软件和中间件,以及非常容易获取的开源支持、工具以及欣欣向荣的生态系统,ARM还是希望能够开启用户发掘定制化SoC潜能并且加速其上市时间.
MIPS指令集的持有者WaveComputing公司于2018年底宣布将于2019年第一季度允许参与者自由访问最新版本(coreR6)的32位和64位MIPS指令集,无需支付许可或使用费.
该公司同时承诺MIPS将为开源社区带来具备商业水准和工业强度的指令集架构,并将为芯片设计人员提供根据经过验证且经过良好测试的指令集来设计自己处理器核心的机会.
通过上述分析可以看出,由自由开发者主导的开源IP核虽然可在一定程度上为芯片开发者提供设计参考,但因生态本身并不完善,从而在SoC芯片的二次开发过程中引入过多的额外设计开销.
我们认为,以处理器核为核心,构建从处理器、内存、I/O接口等开源IP核到相应操作系统、驱动程序软件;并打40通逻辑设计到物理设计的闭环设计链,依托有影响力的组织或公司打造完整生态,是开源IP核支撑未来开源芯片设计的必由之路.
5.
4开源工具链在芯片的设计中,EDA(ElectronicsDesignAutomation,电子设计自动化)工具是非常重要的辅助设计软件,且价格昂贵,一整套EDA工具可达数百万元,已经成为发展开源芯片的巨大阻碍.
故而,人们转而开始研究开源EDA工具,以降低芯片设计门槛,这也是美国的电子复兴计划中的主要目标之一.
EDA工具贯穿着整个芯片设计流程,包括多个阶段:逻辑编译,综合,优化,布局,布线和仿真等,各阶段之间的松耦合性为开源EDA工具的发展提供了很大空间.
目前,开源社区已经孕育出了诸多EDA工具,功能完善且互为补充,借助这些工具已经基本可以满足芯片设计的所有需要,不少创业公司已经在开始使用开源EDA工具链来研发低成本芯片.
本文选择了其中较为活跃且知名者,列在了表8中.
这些开源EDA工具主要分为两类:功能专用和全流程设计.
其中功能专用工具的功能较为单一,仅专注于芯片设计流程中的单个或数个阶段,且性能较好.

以IcarusVerilog和GTKWave为例,可由IcarusVerilog对RTL代码进行仿真,再交由GTKWave来呈现波形图.
此外,功能专用的EDA工具,如Magic等,支持自定义功能,为用户尝试更加高效的布局、布线和路由算法提供了很大空间.
全流程设计工具则包含了芯片设计流程中所需要的几乎全部功能,如Electric,QFlow和gEDA等,其一般由多个功能专用的EDA工具整合而成,支持从RTL代码到版图的整个芯片设计流程.
其中Electric和gEDA支持可视化IDE设计,进一步优化了设计效率和用户体验.
41表8.
知名的开源EDA工具链介绍工具功能描述Xcircuit提供可视化的电路原理图设计,且支持跨平台(Linux/Win)IcarusVerilog支持Verilog综合和仿真,且可生成指定格式网表Verilator综合和仿真工具,且仿真速度较快GTKWave查看仿真波形的工具QRouter路由工具IRSIM门级电路模拟工具Magic电路布局工具,性能稳定且应用广泛Ngspice历史悠久的电路仿真工具,孕育了诸多商用SPICE软件Electric可视化的全流程芯片设计工具QFlow完整的芯片设计流程工具(松散的工具组合)gEDA可视化的全流程芯片设计工具PCBPCB布局和编辑工具目前开源EDA工具的发展蓬勃向上,但仍然面临着如下挑战:其一,开源EDA工具在部分关键算法上与商用软件如Cadence、Synopsys等仍有差距,亟需性能更加优秀的算法,这将大幅提升开源EDA工具的可用性,从而吸引更多的使用人群;其二,目前开源的器件库较少且工艺较低,限制了最终设计的芯片的实用性,加强与芯片设计厂商的合作交流,提高器件库的工艺,对设计真实可用的开源芯片至关重要;其三,各开源EDA工具达数十个之多,且互相之间都是松耦合,这虽有利于各EDA工具的独立发展,但也限制了其易用性,故而构建完整高效,灵活可配置,且简单易用的开源EDA工具链非常重要.
5.
5开源芯片"死结"与突破口传统芯片开发的门槛非常高.
一次芯片设计流程需要投入20~50人,花费1~2年的时间,同时需要投入几千万元的资金.
如果流片失败,投入的时间和成本将会付诸东流,需要承当相当大的风险.
同时,芯片设计的上述投入之间的关系还存在"死结"(如图6).
具体地,42芯片设计本身就需要投入大量的成本,因此开发人员或企业不愿意开源其设计的芯片与IP;这导致无高质量的开源芯片与IP可用,于是企业购买高价的IP;这进一步推高了开发代价,导致企业希望充分验证设计来提高流片的成功率,这又需要投入更多的人力和时间进行验证……如此循环,最终形成了一个死结.

打破上述"死结"的一种可能的解决方案是芯片敏捷开发——如果芯片设计也能像软件开发一样,3~5人的小团队在3~4个月内,只需几万元便能研制出一款有市场竞争力的芯片,就可以大大降低芯片开发的成本和风险.
图6开源芯片"死结"5.
6芯片敏捷开发在学术界,目前大多数微结构相关的研究还是在模拟器上进行,这是因为基于FPGA的工作周期一般都比较长,例如中科院计算所的标签化RISC-V研究需要花费约半年的时间来完成FPGA原型系统的构建,基于真实芯片设计的研究工作则鲜有听闻.
在工业界,芯片的开发周期长达2~3年,其中设计和验证工作需要花费1~2年,投片需要花费约1年.
如果流片失败,投入的时间和精力将会付诸东流,风险相当大.
因此,如果有办法加快芯片设计的效率,实现芯片的敏捷开发,那么将会对学术研究和芯片产业带来巨大的影响.
如果通过敏捷开发模式将芯片设计成本降低到几十万甚至几万、开发周期降低到几个月,那么用这种方式开发的IP模块成本也将大幅下降,开发人员将更愿意开源与共享IP模块.
当芯片开发周期也能从数年缩减为几个月,那将形成一种软硬件协同的敏捷开发模式(如图7),这将颠覆现在的IT产品开发模式.
如今,互联网应用开发43团队一般有负责手机APP的前端工程师,与负责服务器端的后端工程师配合起来一起开发.
而在未来的软硬件协同敏捷开发模式下,开发团队将包括软件端工程师与硬件端工程师——软件端通过几个月开发出新的软件功能,硬件端则用几个月很快实现出相应的加速芯片.
这正是两位图灵奖得主JohnHennessy与DavidPatterson在图灵奖演讲中所推崇的领域专用体系结构DSA(Domain-SpecificArchitecture)的体现.
图7.
软硬件协同的敏捷开发模式伯克利研究团队在2010年的时候已经考虑到这方面的问题了,他们在2012年的DAC会议上发表了一门新的编程语言Chisel来进行硬件的敏捷开发.
Chisel的主要目标是减少项目中的重复代码,提高代码密度,从而提升开发效率、代的可读性和易维护性.
编写Chisel代码后,用Chisel编译器将其编译成底层的Verilog代码(网表),可用于标准的ASIC和FPGA流程.
需要说明的是,虽然Chisel支持传统硬件描述语言不具备的很多高级特性,但Chisel还是一门硬件构建语言,而不是高层次综合语言.
硬件构建语言用于描述电路具体如何构建,而高层次综合语言则用于描述算法的流程.
表9中总结了Chisel和传统的硬件描述语言(Verilog和SystemVerilog)之间的对比.
44表9.
不同硬件描述语言的特性总结特性ChiselSystemVerilogVerilog信号整体连接支持支持,但有局限性不支持元编程支持部分支持且不可综合不支持面向对象编程支持部分支持且不可综合不支持函数式编程支持不支持不支持1)信号整体连接Chisel丰富的类型系统使得我们可以很容易地修改类型的定义,在不修改引用该类型的代码(如通过该类型来定义的信号)的情况下,可以轻松对该类型的信号进行全局修改.
此外,整体连接运算符""会根据类型的定义,把相同类型的2组信号的相应成员信号一一连接,从而省去重复而且易出错的连线代码.

在工程项目中,我们一般会在代码中的不同位置定义同种类型的信号,比如总线信号.
在这种情况下,信号整体连接的特性能大幅减少项目中的重复代码.
相比而言,使用Verilog语言进行开发时,若要对总线的成员信号进行改动,工程师只能对项目中所有用到总线的模块端口逐一进行改动,同时还需要手工添加或移除相应成员信号的assign语句,这对Verilog工程师来说是一件非常麻烦的事情.
SystemVerilog的interface特性一定程度上也能实现类似Chisel中信号整体连接的功能,但它仍然有一些局限性,例如modport不能嵌套定义,使得我们无法从不同的interface中将相同的部分进一步抽象出来.
Chisel中的信号整体连接特性比SystemVerilog还要强大,这使得我们可以进一步减少重复的代码,实现"一改全改"的效果,从而提升项目的开发效率.
2)元编程Chisel支持基于Scala的元编程,可以借助Scala的特性抽象出多份相似的Chisel代码的共性部分,我们只需要维护一份共性代码,具体的Chisel代码可以通过对共性代码实例化得到,从而进一步减少冗余的代码.
一个常见的例子是使用模板来实现队列原型.
无论队列中的元素是何种类型,队列本身的功能都是一样的.
使用模板可以将队列本身的功能抽象成一个带类型参数的队列原型,然后在实例化时给出队列元素类型,就可以得到一个该种元素类型的队列.
通过45这种方式,我们不必分别实现不同元素类型的队列,只需要维护一份队列原型即可.
更进一步地,需要修改远队列元素类型时,可以实现"一改全改"的效果.

而为了在Verilog中实现这一需求,针对代码中的所有相关队列,我们要么修改队列元素的宽度,要么通过不同的队列来缓冲不同的元素,同时还需要维护不同队列之间的对应关系,十分繁琐.
SystemVerilog也支持模板,但相应的代码是不可综合的,更多的是用在测试激励的编写中.
3)继承面向对象编程中的继承特性允许我们将一些共同的代码特性通过一个父类抽象出来,达到减少冗余代码的效果,同时层次化的类型系统还可以使类型检查的过程更加严格,从而降低代码出错的可能性.
具体地,我们在实现一个模块时,只需要从父类继承,就可以让该模块自动拥有父类定义的所有特性,从而避免在不同的模块中重复实现这些特性.
在硬件项目中,不少模块之间都有一些共同的特性,例如cache的不同替换算法都需要读出并更新历史状态,而对于带有总线接口的模块,总线相关的参数也非常相似.
在这些情况下,使用继承特性可以有效地节省项目的代码量,让代码功能一目了然,容易维护.
相比之下,传统的硬件描述语言则难以实现类似的效果,例如若使用Verilog编写,最简便也要通过子模块的方式来实例化这些共同的特性,甚至要在不同的模块中重复声明相关的参数,使得Verilog代码难以一目了然.
而SystemVerilog虽然支持继承,但功能有限,而且相应的代码不可综合,无法对硬件构建提供帮助.
4)重载面向对象编程的另一个特性是重载,重载可以提升代码的可读性.
首先,Chisel支持以函数的方式来对电路进行抽象(包括模块实例化),以达到复用的效果,同时可以把函数返回值当做相应电路的输出,直接作为Chisel表达式的一部分,而无需额外定义函数的输出信号.
此外,Chisel支持函数名重载,允许定义带有不同参数的多个同名函数,而且可以设置缺省参数,在调用函数时,Chisel会在多个函数定义中自动选择类型匹配的函数定义.
运算符重载则是把运算符当作一个特殊的函数,可以根据运算符左右两侧的变量类型来决定运算符的具体行为.
例如Diplomacy语言对运算符":="进行了重载,可以让运算符两侧节点的AXI4主从端口通过""进行整体连接,代码功能一目了然,容易维46护.
相比之下,Verilog和SystemVerilog中的函数、任务和运算符均不支持重载,无法实现上述效果,只能使用module来实例化这些模块,从而引入大量的连线代码.
5)函数式编程Chisel支持使用函数式编程来描述电路,可以编写更紧凑、可读性更好的代码.
首先,Chisel使用"容器"(collection)来抽象电路元素,容器中可以是信号、寄存器、端口、模块、映射等,或者是这些元素的复合.
然后,Chisel使用map算子对容器中的对象进行批量操作,操作可以是连接、归约、算术和逻辑运算、选择、实例化、函数调用、计算新映射等,或者是这些操作的复合,操作结果返回一个新容器.
通过容器和map算子的组合,我们可以轻松地通过少量代码描述复杂电路.
这说明了Chisel确实是一门硬件构建语言,而不是高层次综合语言:容器中的对象和map算子的操作,都是可综合电路中的概念.
Chisel只是使用高级特性来方便地描述电路,而不是通过它们来描述算法.
而Verilog虽然有for和generate特性,但它们只能基于整数进行迭代,与Chisel中可以对任意对象批量进行任意操作的功能相比,Verilog的迭代功能就非常有限了.
例如Chisel可以在map算子中使用""运算符,能实现进一步减少重复代码的效果,而Verilog和SystemVerilog均不支持函数式编程,难以实现类似效果.
综上所述,和传统的硬件描述语言相比,Chisel的这些高级特性可以大量减少项目中的冗余代码,提高项目的开发效率,同时高密度的代码也提高了可读性,使得项目更容易维护.
正是Chisel语言的这些特性,使得它成为硬件敏捷开发的利器.
5.
7敏捷开发案例我们将通过两个开发案例,分别从编码效率(开发耗时和代码量)和编码质量(性能、功耗和面积)这两方面,对以Chisel和Verilog为代表的敏捷开发模式和传统开发模式进行对比.
5.
7.
1Chisel与Verilog编码效率对比中科院计算所包云岗研究员团队曾经由于项目需要,期望尽快实现一个简单的共享二级缓存.
该二级缓存无需实现一致性协议的功能,只需要具有缓存功能47即可,但需要集成到标签化RISC-V项目中并正确运行.
团队中的两人分别进行独立开发,具体情况如表10所示.
表10.
二级缓存开发案例对比工程师本科生项目经验熟悉OpenSPARCT1,修改过赛灵思系统缓存做过CPU课程设计,有9个月的Chisel开发经验使用语言VerilogChisel时间6周3天效果仍然无法启动Linux可启动多核Linux,并支持DMA模式的以太网有效代码行数~1700~350代码复用否是参与开发的其中一位是团队中的工程师,他在标签化项目中早期阅读并理解过OpenSPARCT1的二级缓存源代码,也修改过赛灵思系统缓存,在其中成功添加基于标签的路划分功能,具有丰富的缓存设计经验.
这位工程师使用传统开发模式,选择Verilog语言来开发这个二级缓存,并决定从零开始搭建测试环境,不复用任何代码.
他主要开发了6周,编写了约1700行有效代码.
遗憾的是,他开发的二级缓存模块在几个月后仍无法在标签化RISC-V项目上成功运行.
参与开发的另外一位人员是团队中的大四本科生,他做过CPU课程设计,并有9个月的Chisel开发经验,但从未设计过二级缓存.
这位本科生使用敏捷开发模式,选择Chisel语言来开发这个二级缓存,并使用Chisel标准库来帮助设计,同时也复用标签化RISC-V项目的测试环境.
经过了两天的设计和仿真验证,他就写出了一个可以支持多核Linux启动的二级缓存,有效代码量约350行,只有工程师编写代码的1/5.
不过这个二级缓存一开始并不支持不完整的突发读写,导致DMA模式的以太网模块不能正确工作.
1周后团队将这个情况反馈给他,他又额外花了1天时间改动了约50行有效代码,添加了对不完整突发读写的支持,并进行仿真验证,最终成功支持DMA模式的以太网模块并正确工作.
这个案例充分展示了敏捷开发在项目中的优势:运用语言的各种高级特性、复用标准库中已经经过验证的模块来编写易读、易维护、高密度的代码,可以大大提升项目开发的效率.
具体到这个案例中,敏捷开发模式的效率是传统开发模48式的14倍!
由于没有进行代码和环境的复用,这位工程师表示他花费了一半的时间在构建测试环境和编写并测试基本元件(如RAM、队列、仲裁器等)中,而使用Chisel的本科生并没有在这些事情上花费任何时间.
不过即使把工程师花费的一半时间排除在效率比较的范围之外,敏捷开发模式的效率仍然是传统开发模式的7倍.
实际上代码重用是敏捷开发的一个基本理念,代码的重用率越高,项目开发的效率就越高.
有趣的是,这位工程师后来提到,当时为了编写一份端口数量可配置的总线连接代码,他在generate特性的基础上运用了一些特殊技巧实现了这一功能,编写了约250行Verilog代码.
但是工程师在编写过程中,由于连线和数字下标太多,并且需要顾及总线握手协议,他曾经因疏忽而导致两个连线错误的bug,花了约3天时间才发现并修复它们.
这位工程师还表示,这部分代码的可读性其实并不好,使用Verilog实现这一功能实在太繁琐了,即使在代码中有相应注释,他在1周后也不能马上理解他使用的特殊技巧是如何工作的了.
相比之下,若使用Chisel来实现类似功能,我们只需要编写两行代码即可,可读性好,而且几乎不会出现错误.
此外,本科生实际上也是在1周后重新回头阅读并修改自己编写的二级缓存,但他仍然在1天内成功修复了问题,这说明代码的可读性对项目维护来说是非常重要的.
5.
7.
2Chisel与Verilog编码质量对比考虑上述案例展示的两个设计,虽然它们的需求是一致的,但不同的开发人员可能会采用不同的实现方式,导致编码质量的可比性不强.
为了进一步对比Chisel和Verilog的编码质量,研究团队安排另一位没有Chisel开发经验的大四本科生,让他来把上述Verilog代码中的部分关键模块翻译成功能等价的Chisel代码.
在项目中提供了一些测试,用于验证翻译结果的等价性.
5.
7.
2.
1逐句翻译由于这位本科生一开始并没有Chisel的开发经验,他需要从零开始学习Chisel,并选择最简单的翻译方式:逐句翻译,而不使用Chisel的高级特性.
这位本科生表示,他一开始觉得Chisel代码比较难读懂,但是学习并逐句翻译Chisel代码的过程中,他也逐渐感受到Chisel的方便之处,例如丰富的标准库、方便的数据类型系统及其转化机制、简洁的时序逻辑编码风格等,这些特性让他49对Chisel有了新的认识.
表11.
Chisel和Verilog的性能、功耗、面积和对比VerilogChiselChisel-optWNS/ns0.
6370.
6681.
511最大周期/MHz135.
814136.
388154.
107功耗/W0.
7700.
7490.
749LUT逻辑567664222594LUT存储179612641492FF42663638747有效代码行数618470155我们用Chisel编译器把翻译后的Chisel代码编译成Verilog代码(网表),然后对其以及工程师编写的Verilog代码分别进行评估.
我们在Vivado2017.
01中,使用xc7v2000tfhg1716-1型号的FPGA,在125MHz的时钟频率下进行评估,结果如9中第2,3列所示.
为了评估设计的性能,我们展示了时序报告中的最差负时序余量(worstnegativeslack,WNS),并将其换算成可运行的最高时钟频率,结果显示Verilog和Chisel最高分别可运行在135.
814MHz和136.
388MHz的时钟频率下,性能非常接近.
而两者的功耗则分别为0.
770W和0.
749W,和Verilog相比,Chisel的功耗节省了2.
73%.
而为了展示面积开销,我们给出两份设计各自消耗的查找表(lookuptable,LUT)和触发器(flip-flop,FF)数量.
我们对LUT的消耗分成逻辑和存储两部分来统计,和Verilog代码相比,Chisel代码多消耗了13.
14%的LUT逻辑,但节省了29.
62%的LUT存储,这是因为Chisel标准库提供了RAM相关的基本元件,它与工程师实现的RAM被Vivado分别映射成RAM64M和RAM64X1D这两种不同的原语,其中RAM64M会消耗更多的LUT逻辑,但节约大量LUT存储.
对于FF,Chisel比Verilog节省了14.
72%,这是因为Chisel编译器对代码进行了更进一步的优化.
从代码量上看,即使是逐句翻译,Chisel也比Verilog节约了23.
95%的代码量,这是因为:1)和Verilog的generate特性相比,基于Scala的元编程特性编写出的代码更加50紧凑;2)在Chisel中编写时序逻辑无须像Verilog那样声明always块;3)Chisel代码不会产生锁存器(latch),无须像Verilog那样补全if和switch的所有分支.
逐句翻译方式的整体评估结果说明,使用Chisel开发不但节省了代码,编码质量也和Verilog非常接近,在部分指标上甚至优于Verilog.
5.
7.
2.
2使用Chisel高级特性这位本科生对Chisel上手之后,研究团队让他使用Chisel的高级特性对代码进行重构,包括使用Chisel标准库来实例化RAM和队列等基本元件,同时使用第3节提到的信号整体连接、元编程、面向对象编程和函数式编程来节省代码量.
在使用这些高级特性的过程中,这位本科生逐渐认识到Chisel的更多好处,他表示:使用Chisel标准库之后,因为大部分异步通信被统一封装为Decoupled模板类,为了能使用""进行信号整体连接,自然就会尝试从Bundle类继承来定义模块端口,进而也会考虑使用函数式编程中的map算子对Vec数组进行简便的连接.
这些好处让他体会到"Chisel高级特性的一以贯之,相辅相成".
研究团队对重构之后的Chisel代码进行评估,结果如表11中第4列(Chisel-opt)所示.
令人惊讶的是,和Verilog相比,Chisel-opt的LUT逻辑节省了54.
30%,而FF则节省了82.
49%!
这是因为和工程师编写的基本元件相比,Chisel标准库提供的基本元件更成熟,能使用更少的资源实现相同的功能.
由于资源的大幅节省,Chisel-opt的性能也得到了进一步的提升.
具体地,可运行的最高时钟频率提升到154.
107MHz,与Verilog相比提升了13.
47%.
除此之外,Chisel的高级特性使得Chisel-opt的代码量更加精简,和Verilog相比,节省了74.
92%的代码量.
这个案例很好地展现了一个敏捷开发的例子:一个本科生的Chisel新手,可以在更短的时间内编写更少的代码,编码质量就能达到和工程师相当的水平,甚至还可以超越工程师.
即使编码质量与传统开发有20%的差距,敏捷开发仍然展现了其节省人力和时间的价值:能快速构建一个可以工作的原型,对项目开展来说是非常有意义的.
从这点来看,敏捷开发确实大大降低了硬件开发的门槛.

515.
8Designless设计模式今天的半导体行业的分工,最为大家熟知的是Fabless(无晶圆厂)模式(如图8所示),即芯片设计公司负责定义、设计和设计定案,而制造则是在提供代工的Fab完成;三星、Intel等半导体巨头也会走包含从定义到制造所有环节的IDM(IntegratedDeviceManufacture,集成设备制造商)模式.
此外不少公司是混合Fabless和IDM,即有的产品走Fabless模式,而有的产品走IDM模式,例如Broadcom在CMOS芯片产品线走的是Fabless,而在射频前端模组产品线则是IDM模式有自己的Fab.
在今天的半导体行业分工中,设计服务公司提供模块设计IP以及协助一些公司做设计,主要起的是辅助作用.
图8IDM、Fabless和Designless的设计模式在现在的AI时代,许多新的公司入局半导体行业,出现了一种新的模式,即AI硬件系统或算法公司负责定义芯片、完成小部分设计、并花钱完成设计定案流片,设计服务公司负责大部分设计,而代工厂负责芯片制造.
这种新模式可以称为Designless(无电路设计)模式(如图8所示).
历史上,半导体公司从传统的IDM走到Fabless模式,主要是因为Fab开销过高,成为了半导体公司发展的包袱,而代工厂则提供了一个非常灵活的选项.
未来的AIOT智慧物联网时代,大量碎片化的应用场景,导致不同应用场景下的系统公司和终端公司会入局半导体芯片,可能会出现Designless模式,把大量设计外包,以节省时间成本.
系统公司做芯片,除了追求极致性能之外,还有快速的上市时间.
对于他们来说,产品晚上市3个月,错过了产品上市周期节52点将会是灾难性的.
如果要像传统半导体公司一样,需要从头开始培养自己的前端+后端设计团队,从头开始积累模块IP,恐怕第一块芯片上市要到数年之后.
这样的节奏,是跟不上AIOT时代电子产品的快速迭代的节奏.
那么如何实现高性能加快速上市呢最佳方案就是这些巨头自己招募芯片架构设计团队做芯片定义,用有丰富经验的芯片工程师来根据需求定制架构以满足性能需求,而具体的实现,包括物理版图设计甚至前端电路设计都可以交给设计服务公司去做.
半导体芯片的一个重要特点就是细节非常重要,ESD、散热、IRDrop等一个小细节出错就可能导致芯片性能大打折扣无法达到需求.
因此,如果把具体设计工作交给有丰富经验的设计服务公司,就可以大大减少细节出错的风险,从而减小芯片需要重新设计延误上市时间的风险.
事实上,我们已经在一些芯片中看到一些互联网巨头负责芯片架构+设计服务公司提供IP/设计服务的模式了.
一个例子就是微软使用在HoloLens中的HPU,其中微软设计了多核架构以加速AR计算,而每个核则是使用了Cadence的TensilicaIP.
另一个例子,华米手环推出了全球可穿戴领域第一颗人工智能芯片"黄山1号",其中就使用了SiFive的E30系列IP.
历史上,半导体公司从传统的IDM走到Fabless模式,主要是因为Fab开销过高,成为了半导体公司发展的包袱,而代工厂则提供了一个非常灵活的选项,同样到了今天,芯片设计高昂的费用和时间成本,促使了半导体产业又一次分工,即由Fabless模式走向Designless模式.
536业界动态6.
1RISC-V代表性企业与产品表12.
RISC-V代表性企业与产品企业名称代表性RISC-V产品GoogleBottleRocketRV32IMCCoreQualcommN/ANVIDIA基于RISC-V指令集FalconControllerSamsungN/AWesternDigitalSweRVCoreMicrosemiPolarFireSoCFPGA内置U54-MCRISC-V核6.
2MIPS代表性企业与产品6.
2.
1MIPS处理器的应用领域在处理器发展历史上,MIPS公司的处理器曾经是唯一能覆盖从高性能计算到嵌入式领域的指令集架构,在市场上得到广泛应用.
在ARM建立起移动互联网领域生态环境后,MIPS指令集生态环境受到了极大冲击,即使在MIPS的传统优势领域也逐渐被ARM处理器取代.
MIPS公司的IPCore产品目前主要被应用在人工智能、汽车电子、消费类电子、IoT以及网络等5个市场.
人工智能领域,使用MIPS处理器IPCore的企业主要是WaveComputing.
该公司致力于基于数据流架构AI硬件加速技术,整合了MIPS的嵌入式处理器核.
汽车电子领域,MIPS公司的I6500-F处理器IP刚刚通过ISO26262和IEC61508等汽车电子认证,有望顺利打入汽车电子市场.
消费类电子领域,MTK和Broadcom公司分别将MIPS处理器用于4GLTE调制解调器芯片和家用无线路由器主控芯片中.
54IoT嵌入式单片机领域,代表性企业是美国Microchip公司.
与全球绝大部分嵌入式单片机采用ARMCortexM系列处理器核不同,该公司一直坚持采用MIPS的32位嵌入式处理器核.
美国Cavium公司(已被Marvell公司收购)生产的基于MIPS处理器的网络处理器在大吞吐率低延迟网络转发应用中占据一定市场份额.
值得一提的是在2017年的超级计算机Green500评比中,来自日本的PEZY公司采用MIPSP6600处理器核的超级计算机占据了榜单的第一、第二、第三以及第五名.
6.
2.
2MIPS指令集在中国的发展现状基于MIPS指令集的处理器在中国有广泛应用.
在嵌入式领域主要有珠海炬力、北京君正和北京神州龙芯等.
珠海炬力主要生产具有蓝牙及WIFI射频功能的多媒体SoC芯片,在消费类电子具有较大的市场份额.
北京君正采用自主设计的xburst低功耗MIPS嵌入式处理器核,在电纸书、指纹锁以及智能硬件领域获得广泛应用.
神州龙芯采用自主设计的MIPS嵌入式处理器核,在IoT领域有广泛应用.
在高性能桌面及服务器领域有龙芯中科技术有限公司,主要研发生产龙芯2号单核处理器系列以及龙芯3号多核处理器系列,产品广泛应用于桌面办公、服务器、工业控制、网络安全以及物联网等.
557各国战略计划与项目部署7.
1美国美国国防部高级研究计划局(DARPA)资助了RISC-V基金会,同时于2017年启动了一项总值15亿美金的ERI计划,项目周期5年,以支持芯片技术的发展,重塑芯片开发制造流程,其中POSH子项目就是提供开源设计和验证框架,包括技术、方法、标准,从而实现具有成本效益的超复杂片上系统设计.
DARPA希望可降低复杂片上系统设计障碍的新工具能够打开一个特定应用设计创新的新时代.
7.
2欧洲欧洲委员会于2018年启动了EPI(EuropeanProcessorInitiative)计划,拟开发面向欧洲市场的自主可控低功耗微处理器,其中重点关注Exascale级超算处理器,预计投资1.
2亿欧元经费用于支持用户开发的超算处理器,而RISC-V和ARM都将作为此次计划的备选指令集.
7.
3印度印度政府将RISC-V视为一次发展处理器的机会:(1)资助9000万美元开展的处理器战略项目(SHAKTI)目标为研制6款基于RISC-V指令集的开源处理器核,涵盖了32位的单核微控制器、64核64位高性能处理器和安全处理器等多个应用领域.
(2)2016年1月,印度电子信息技术部资助4500万美元研制一款基于RISC-V指令集的2GHz四核处理器.
(3)在印度政府支持的另一个关于神经形态加速器(neuromorphicaccelerator)项目中,也将RISC-V作为计算主核心.
过去几年,随着印度政府资助的处理器相关项目都开始向RISC-V靠拢,力出一孔,RISC-V成为了印度的事实国家指令集.
7.
4以色列2017年以色列创新局(TheIsraelInnovationAuthority)新成立名为GenPro工作组旨在开发基于RISC-V的快速、高效且独立处理平台,工作组主56要由来自学术界和工业界人士组成,计划为个体企业提供一整套软硬件解决方案,同时进一步发展前沿软硬件技术.
578挑战、机遇与未来发展方向8.
1面临挑战开放指令集与开源芯片目前面临以下挑战:开放指令集与开源芯片同样面临开发门槛高的问题;开放指令集与开源芯片的稳定性及成熟度还需要通过硅验证及大量的市场应用来进行检验;开放指令集与开源芯片会面临大量的商业指令集与商业芯片的竞争;开放指令集与开源芯片还需要探索符合自身特点的商业模式,以便促进其健康发展;公众对开放指令集与开源芯片的认识和重视程度还不够,一方面需要持续迭代开发来提供高质量的开放产品,另一方面还需要大力加强开放指令集与开放芯片的宣传,让更多的人参与进来.
8.
2机遇开放指令集与开源芯片面临前所未有的历史性机遇.
首先,从市场需求角度来看,物联网、云计算以及5G的发展将会催生大量的IoT芯片应用需求,这些需求具有应用领域广泛、应用需求千变万化和使用量巨大的特点.
除此之外,高速发展的人工智能技术还会推动这些应用需求进一步升级,对芯片的性能、功耗、灵活性提出更高的要求.
传统芯片开发模式无论在开发的资金投入门槛、技术投入门槛以及产品开发复用性方面远远不能满足以上需求.
在这种需求背景下,只有开放指令集与开源芯片这种全新的开发模式或者商业模式才能更好地满足要求,同时也将会极大推动物联网、云计算、人工智能以及5G应用的推广.
可以设想在不久的将来会出现类似在互联网技术中大放异彩以及逐渐成为其发展基石的开源软件技术相对应的开放指令集与开源芯片,后者也将成为蓬勃发展的物联网、云计算、人工智能以及5G等的硬件基础,改变传统芯片的开发及应用模式.
其次,从技术发展的角度来看,目前已经完全具备发展开放指令集与开源芯片的技术条件.
从芯片开发的整个流程来看,在各个关键点都已经有相应的58开放产品.
其中尤为重要的是RISC-V这种开放指令集以及相应开发实现的出现和发展.
除此之外,芯片开发中所需要的各种EDA工具也已经具有相应的开放版本,这些EDA软件目前虽然还达不到商用EDA软件的功能和性能水平,但对普通芯片开发已经足够,相信随着时间的推移以及参与的人越来越多,这些开源的EDA工具将会越来越成熟可靠.
而且经过多年的发展,芯片开发中所需要的大部分IP也有相应的开源实现.
最后,芯片制造工艺的发展已经趋缓,其成本也会逐渐下降(如图9所示),这将会降低开源芯片的制造成本,缩小与商用芯片之间的工艺差距.

图9.
成熟工艺制造成本会因摩尔定律放缓而自然下降8.
3未来发展方向开放指令集与开放芯片的主要发展方向有以下几点:通过推动开放指令集、普及芯片敏捷开发模式、推广开源EDA工具链、开发云平台的应用、成熟工艺选择以及成熟IP积累等多个方向的努力来极大降低芯片开发门槛;持续开发高性能、高质量的开源芯片,通过大量的硅验证及大量的市场应用持续检验开源芯片,促进其成熟发展;探索并找到符合开放指令集与开放芯片特点的商业模式,形成可持续发展的模式;通过宣传让更多的人了解开放指令集与开放芯片,让更多的人参与进来.
599总结在开源软件生态中,Linux是整个生态的基石.
基于Linux,人们开发Python、LLVM、GCC等完整的工具链,创造MySQL、Apache、Hadoop等大量开源软件,实验各种创新思想与技术,逐渐形成一个价值超过150亿美元的开源软件生态.
这对中国的互联网产业的意义尤为重大,不仅提升了BAT等互联网企业的技术研发能力,也大大降低了互联网产业创新的门槛,如今3-5位开发人员在几个月时间里就能快速开发出一个互联网应用.
在芯片设计领域,开源芯片越来越受到关注,涌现出RISC-V、MIPS开放指令集与开源处理器计划,它们有望像Linux那样成为计算机芯片与系统创新的基石.
但是只有开放指令集又是远远不够的,更重要的是要形成一个基于开放指令集的开源芯片设计生态,包括开源处理器、开源工具链、开源IP、开源SoC等等.
开源芯片还只是星星之火,却已展露出燎原之潜力.
作为全世界最大的芯片用户,中国一直希望能把芯片产业做大做强,各方也都在努力.
借鉴开源软件对于中国互联网产业发展的作用,开源芯片设计是一条值得尝试的道路.

SoftShellWeb:台湾(台北)VPS年付49美元起,荷兰VPS年付24美元起

SoftShellWeb是一家2019年成立的国外主机商,商家在英格兰注册,提供的产品包括虚拟主机和VPS,其中VPS基于KVM架构,采用SSD硬盘,提供IPv4+IPv6,可选美国(圣何塞)、荷兰(阿姆斯特丹)和台湾(台北)等机房。商家近期推出台湾和荷兰年付特价VPS主机,其中台湾VPS最低年付49美元,荷兰VPS年付24美元起。台湾VPSCPU:1core内存:2GB硬盘:20GB SSD流量...

PIGYun中秋特惠:香港/韩国VPS月付14元起

PIGYun发布了九月份及中秋节特惠活动,提供8折优惠码,本月商家主推中国香港和韩国机房,优惠后最低韩国每月14元/中国香港每月19元起。这是一家成立于2019年的国人商家,提供中国香港、韩国和美国等地区机房VPS主机,基于KVM架构,采用SSD硬盘,CN2+BGP线路(美国为CUVIP-AS9929、GIA等)。下面列出两款主机配置信息。机房:中国香港CPU:1core内存:1GB硬盘:10GB...

tmhhost(100元/季)自带windows系统,香港(三网)cn2 gia、日本cn2、韩国cn2、美国(三网)cn2 gia、美国cn2gia200G高防

tmhhost可谓是相当熟悉国内网络情况(资质方面:ISP\ICP\工商齐备),专业售卖海外高端优质线路的云服务器和独立服务器,包括了:香港的三网cn2 gia、日本 cn2、日本软银云服务器、韩国CN2、美国三网cn2 gia 云服务器、美国 cn2 gia +200G高防的。另外还有国内云服务器:镇江BGP 大连BGP数据盘和系统盘分开,自带windows系统,支持支付宝付款和微信,简直就是专...

美国黑色星期五为你推荐
游戏内存修改器单机游戏的内存修改器用多了会导致系统内存出错吗音乐播放器哪个好音乐播放器哪个最好用录音软件哪个好有什么录音软件好用??三国游戏哪个好玩三国类的游戏哪些好玩点手机炒股软件哪个好手机炒股软件qq空间登录网页版求这张图的原图,是QQ空间最近网页版登录界面的背景空间登录器用什么登录器可以登录QQ(除了QQ登录器)考生个人空间登录第一次登陆湖南省高等教育自学考试 考生个人空间就密码不对为什么qqkj空间登录怎么限制qq空间登录.willyunlee找一部关于摩托车的电影`
郑州虚拟主机 免费二级域名注册 哈尔滨域名注册 vps侦探 国外服务器网站 上海域名 hostker 我的世界服务器ip 德讯 域名转入 umax 免费主页空间 美国十大啦 linuxvi byebyelove 瓦工工资 电脑主机打不开 qq登陆空间 好看的空间图片 789小游戏 更多