40
远景研讨会(SIGARCH Visioning Workshop)纪要 面向下一代计算的 开源芯片与敏捷开发方法 包云岗 中国科学院计算技术研究所 鹏城实验室开源芯片院士工作室 中国开放指令生态(RISC-V)联盟 2019年8月

面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

  • Upload
    others

  • View
    30

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

远景研讨会(SIGARCH Visioning Workshop)纪要

面向下一代计算的

开源芯片与敏捷开发方法

包云岗

中国科学院计算技术研究所

鹏城实验室开源芯片院士工作室

中国开放指令生态(RISC-V)联盟

2019 年 8月

Page 2: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

1

概 要

近年来,开源硬件与芯片敏捷开发备受关注。2019 年 6 月 23 日

在美国凤凰城召开的国际计算机体系结构年会 ISCA上举办了一场全

天的远景研讨会(SIGARCH Visioning Workshop),专门研讨开源

硬件(芯片)与敏捷开发。本文将解读这场研讨会上 11 个学术报告,

为读者呈现该方向的前沿动态。本文分为 16 部分,分别为:

一、开篇

二、远景研讨会(Visioning Workshop)

三、报告 1:图灵奖得主 Patterson 教授眼中的体系结构黄金时代

四、报告 2:面向 AI 和机器人的加速器设计

五、报告 3:来自 DARPA 的视角

六、报告 4:高效开源 EDA 工具链已在路上(OpenROAD)

七、报告 5:中国的声音

八、报告 6:CHIPS 联盟与开源 UMV 验证框架

九、报告 7:硬件加速器设计与领域专用语言 DSL

十、报告 8:高层次综合

十一、报告 9:英伟达的敏捷开发实践

十二、报告 10:支持硬件敏捷开发的新语言与生成器

十三、报告 11:端到端的形式化验证

十四、中国的挑战与机遇

十五、结语:2030 憧憬

十六、后记:IEEE MICRO 特刊

Page 3: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

2

一、开篇

2019 年度国际计算机体系结构旗舰会议 ISCA 于 6 月在美国

亚利桑那州凤凰城召开。6 月 23 日与 ISCA 一起举行的远景研讨会

(SIGARCH Visioning Workshop)吸引了上百位听众。一方面是

因为此次研讨会主题“面向下一代计算的敏捷开放硬件(Agile and

Open Hardware for Next-Generation Computing)”是当前体系结

构研究领域的前沿热点,引起了很多人的关注;另一方面 11 位报告

人中大牛云集,有图灵奖得主 David Patterson 教授,也有多位美国

工程院院士加持,还有来自 MIT、Berkeley、Stanford、UCSD、Google、

Nvidia、DARPA 等顶尖大学、企业和政府机构的专家(自己成了唯

一的一位来自美国以外的报告人,多少有些势单力薄)。

全程听完了一天的报告,我的最大感触是开源硬件(芯片)在

美国各界已经成为一种共识——从学术界、企业界到 DARPA 这样的

政府机构,都在积极投入到开源芯片与芯片敏捷开发方向的研究中。

早在 2016 年的首届 Architecture 2030 远景研讨会上,很多人就认为

开源硬件将会是未来的大主题(Big Theme,如图 1)。而在国内,

很多人对开源硬件/芯片的理解还有些片面,只是认为“开源芯片

=RISC-V”。

Page 4: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

3

图 1. 2016 年远景研讨会上开源硬件便备受关注

实际上这个主题涵盖的内容很广。图 2 列出了远景研讨会上

报告内容,从中也可以看到包含了以 RISC-V 为代表的开源指令集与

开源处理器核、开源 uncore IP、开源 EDA 工具链、更高抽象的硬件

开发语言、敏捷开发工具、端到端形式化验证等......如果听了这一天

的报告,相信会对开源芯片和敏捷开发有更深入的理解。本文分享一

些报告片段,希望国内有更多人能参与一起构建开源芯片生态。

Page 5: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

4

图 2. 2019 年远景研讨会内容涵盖多方面内容

二、远景研讨会(Visioning Workshop)

ACM SIGARCH 组织的远景研讨会(Visioning Workshop)是

一个畅想未来体系结构发展趋势的学术研讨会。第一届在 2016 年的

ISCA 上举办,当年的主题是《Architecture 2030》1,UCSB 的谢源

教授受邀做了题为《 Technology-driven Architecture Innovation:

Challenges and Opportunities》2的报告。第二届是在多伦多举办的

ISCA 上,主题为《Trends in Machine Learning》3,图灵奖得主 Yoshua

Bengio 教授以及陈天奇、贾扬清两位博士均受邀报告人。

今年为第三届,主题是“Agile and Open Hardware for Next-

Generation Computing”,一共有 11 个报告,以下是议程:4

1 http://arch2030.cs.washington.edu/ 2 http://arch2030.cs.washington.edu/slides/arch2030_xie.pdf 3 https://sites.google.com/view/isca-timl 4 点击报告题目后面的 [slides] 便可下载报告幻灯片

Page 6: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

5

• David Patterson, UC Berkeley/Google, A New Golden Age for Computer

Architecture [slides]

• Vivienne Sze, MIT, Domain-Specific Architectures for AI and Robotics: Opportunities

and Challenges [slides]

• Serge Leef, DARPA, Automatic Implementation of Secure Silicon [slides]

• Andrew Kahng, UCSD, Bringing Design Technology and Architecture Closer

Together: What Open Source Might Enable [slides]

• Yungang Bao, Chinese Academy of Sciences, The Four Steps to An Open-Source

Chip Design Ecosystem [slides]

• Richard Ho, Google, Building A Sustainable Open-Source Hardware

Ecosystem [slides]

• Mark Horowitz, Stanford, AHA! – Agile HArdware [slides]

• Jason Cong, UCLA, Democratize Customizable Computing [slides]

• Brucek Khailany, NVIDIA, Machine-Learning-Assisted Agile VLSI Design for

Machine Learning [slides]

• Borivoje Nikolić, UC Berkeley, Generating the Next Wave of Custom Chips [slides]

• Adam Chlipala, MIT, Strong Formal Verification Across a Hardware-Software Stack

with RISC-V [slides]

图 3. 2019 年远景研讨会 11 位报告人

Page 7: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

6

三、报告 1:图灵奖得主 David Patterson 教授眼中

的体系结构黄金时代 [slides]

Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

他的报告在很多场合都有讲过,其中他对处理器指令集标准与架构设

计的分类值得专门再提一下。

首先,他向大家强调 ISA 指令集、微结构设计、产品是三个层

次。如图 4,ISA 是规范标准,往往用一本书甚至几张纸来记录描述;

微结构设计是具体实现,对应的是源代码;产品则是设计的实例化,

比如 RedHat 推出的 Linux 发行版。他进一步将指令集标准与架构设

计都分为三类:开放免费(open & free)、可授权(Licensiable)、

封闭(closed)。于是,我们可以看到,Intel 就属于封闭指令集+封

闭设计,ARM 属于可授权指令集+可授权设计,但要获得授权价格不

菲,往往需要上百万甚至数千万美元。

图 4. ISA 指令集/微结构设计/产品三个层次以及对应三种商业模式

Page 8: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

7

RISC-V 为全世界提供了开放免费指令集+开放免费设计的选

择。根据图 5 的第一行,我们可以知道只有先有了开源开放的指令集,

才有可能有开源开放的微架构设计,即绿色格子。需要强调的是

RISC-V 本身是一种标准规范,和 C/C++语言规范、POSIX 系统调用

等这些标准是一样的。本身是开放的,谁都可以基于这些标准来实现

自己的处理器。但有一点需要厘清的是即使都是基于开源开放指令集

(比如 RISC-V),也存在三种不同的商业模式:(1)Google、NVidia

等企业在内部大量使用 RISC-V 核作为 MCU,但他们不对外开放 IP

以及源代码,这就属于第一行的红色格子;(2)SiFive 公司、中国

台湾晶心 Andes、阿里平头哥的 RISC-V 核是可以被授权给第三方使

用,但并不开源 RTL 级源码,因此属于橙色格子;(3)Berkeley 的

Rocket Chip、剑桥大学的 LowRISC、蜂鸟 E203 等 RISC-V 核将 RTL

级源码也开源,这些设计可归到绿色格子。

图 5. 三种不同商业模式形成处理器分类

Page 9: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

8

从图 5 第一行可知,开放开源指令集并不等于就有了开源的微结

构设计,这两者很容易被混为一谈。很多人也误判 RISC-V 受到

DARPA 资助会影响其开放性。事实上,TCP/IP 协议也是 DARPA 资

助下形成的互连标准,但在具体实现层面也可以有不同商业模式:(1)

在网络协议栈的软件实现方面,有集成到 BSD/Linux 中的开源

TCP/IP 协议栈,也有微软实现集成到商用 Windows 的 TCP/IP 协议

栈;(2)在硬件实现方面上,美国思科公司可以研发支持 IP 协议的

路由器,中国华为公司也可以研制自己支持 IP 协议的路由器,并不

会因为是 TCP/IP 协议是受 DARPA 支持而不能使用。

另一个典型的例子是龙芯。龙芯是基于 MIPS 指令集发展起来

的,而 MIPS 最早是由美国企业开发和维护的,但人们都认为龙芯是

自主设计开发的,这正是区分了标准规范和微架构设计。但谈到

RISC-V 时,大家又经常混为一谈,实不应该。

四、报告 2:面向 AI 和机器人的加速器设计 [slides]

MIT 的 Vivienne Sze 教授介绍了面向 AI、机器人和视频压缩的

加速器设计。如图 6 所示,Sze 教授认为领域专用加速器设计的套路

是:(1)挖掘应用特征——利用专用硬件来将并行性、数据访问特

征等特征转变为吞吐与能效;(2)设计更高效负载——在不影响结

果质量的前提下,通过算法与硬件协同设计更高效的负载;(3)定

义应用范围——根据应用需求平衡灵活性与效率。

Page 10: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

9

图 6. 硬件加速器设计三部曲

图 7. 采用三部曲设计方法的 DNN 加速器案例

Page 11: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

10

Sze教授用了三个例子分别展示这个套路的有效性,即 DNN、

机器人自动导航、视频压缩。图 7 是一个 DNN 的例子,其他两个例

子可以直接看她的 PPT 材料。

Sze 教授近年来获得了各种奖项,今年 ISCA 上她的学生也获

得了最佳博士论文奖。个人觉得他们团队的工作属于稳扎稳打型,他

们的设计中采用的技术方案都是意料之中,并没有特别的亮眼的地方。

但是他们的工作做得非常扎实,每一项工作都会把芯片做出来(如图

8),让人很佩服。相比之下很多其他团队的工作更多只是停留在论

文阶段的漂亮设计。

图 8. MIT Sze 教授团队设计与实现的系列芯片

题外话:Sze 教授的研究工作风格让我想起中科院动物所所长

周琪院士的团队。周所在报告时提到他的学生曾抱怨,“我们发表一

篇文章数据量是其他团队的 10 倍,有这个必要吗?”他的回答是:“你

Page 12: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

11

以后会认识到,发表文章不是最难的,最难的是文章发表了要把它撤

回来”。世界顶尖团队的研究风格都是类似的。

五、报告 3:来自 DARPA 的视角 [slides]

DARPA 一直是颠覆式创新的代表,它孕育了很多对人类产生

巨大影响的项目,比如 Internet、GPS 等。在半导体领域,MPW 模

式/Fabless 模式都是在 DARPA 资助的项目中孕育出来的。因此

DARPA 的视角也值得关注。

这次报告的是项目主管 Serge Leef,他之前一直在工业界,已

经有丰富的芯片领域经验。他的报告介绍了如何自动化实现芯片安全。

除了传统大家知道的芯片架构安全,他还专门强调了供应链安全,这

也反映了美国在对华为禁运的同时,其实也在担心有一天禁运的板子

打到自己身上。

这个报告并没有包含具体的技术,但给人印象深刻的是 Serge

从整个业界生态角度来分析技术的价值——他提到降低芯片设计门

槛不仅仅是一个技术问题,也将促进风投和创业,从而推动行业的创

新(图 9 与图 10)。对于这一点我深表赞同,自己也曾写过一篇从经济

学角度分析开源芯片的文章《驳“发展开源芯片弊大于利”论》5。我曾

经看过其他 DARPA 的材料,也都能看到类似这种跳出技术本身、从

更宏观的角度分析的思路,很值得学习。

5 http://news.sciencenet.cn/sbhtmlnews/2019/7/347671.shtm

Page 13: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

12

图 9. 传统初创企业 Seed/A 轮/B 轮融资额度稳步提升,但芯片初

创企业 A 轮就需要 2000 万美元

图 10. DARPA 希望降低芯片设计门槛,促进风投与初创行业,推

动创新,繁荣产业

Page 14: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

13

ERI自从2017年启动以来,其资助的研究内容越来越成体系。

下图是 DARPA ERI 项目所资助的 21 个项目一览图。DARPA 每年

也会在 7 月份举办 ERI Summit,将这些项目的核心成员们召集研讨

进展与下阶段工作。值得一提的是 ERI Summit 的报告材料都是可以

公开下载,这是 2018 年的日程与报告下载地址: [http://eri-

summit.com/agenda]

图 11. DARPA ERI 项目所资助的 21 个项目一览图

六、报告 4:高效开源 EDA工具链已在路上(OpenROAD)

[sides]

UCSD 的 Andrew Kahng 教授获得了 DARPA 项目的资助,开

展高效开源 EDA 工具链的研究。他认为 EDA 以前是关注质量,但现

在该开始关注把易用性了。他参与的 DARPA IDEA 项目目标非常激

Page 15: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

14

进——24 小时内全自动地完成 IP、SoC 芯片、PCB 版的设计(图

12)。

图 12. DARPA IDEA 项目的目标是全自动化(无人干预)、24 小

时完成全系统硬件设计

在 DARPA 的资助下,他带领团队启动了 OpenROAD 项目,

该项目将从四个维度来应对芯片设计复杂度问题:(1)最大化划分,

将大的设计尽可能划分为小模块,这样可以两个好处,一方面是降低

算法复杂度,另一方面就是更易挖掘并行性;(2)并行优化,这一

点与前面最大化划分密切联想,当存在大量并行度时,就可以采用各

种加速并行的技术来优化,包括使用 GPU 来加速;(3)采用机器学

习的工具与流程,传统芯片设计流程中有很多经验规则,这一点可以

Page 16: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

15

通过训练大量已有设计变成神经网络模型,从而加速最优电路设计的

搜索和预测。这方面也是 Kahng 教授在报告中特别强调的;(4)受

限的布局方案也可以减少布局布线时的算法复杂度。

图 13. OpenRoad 在四方面进行优化

EDA 是国内芯片设计产业最大的软肋,中国的 EDA 工具企业始

终未能做大做强。如今,美国开始将 EDA 转向开源(图 15),中国

又应该如何应对?这个问题值得认真研究。我自己的观点是开源总体

对中国是有利的,但开源也存在竞争,只有更多的投入、参与和贡献,

才能在开源社区中起到主导作用。中国不一定能在所有环节上都存在

优势,但还是有可能在某些环节上推出有竞争力的开源 EDA 工具。

Page 17: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

16

图 14. OpenRoad 将于今明两年开源

图 15. 全世界范围内开源 EDA 工具出现快速增长趋势

Page 18: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

17

七、报告 5:中国的声音 [slides]

我是这届远景研讨会上唯一一位来自美国以外的报告人,这也

反映了美国在这个方向上处于绝对领先地位。我的报告题目是“The

Four Steps to An Open-Source Chip Ecosystem”,根据过去几年在

开源芯片与敏捷开放领域的一些实践,梳理了构建开源芯片生态所需

要突破的四个方面:开源 ISA/IP/SoC、开源 EDA 工具链、高效低成

本的仿真验证、系统软件。然后对每一部分的现状和未来努力方向进

行了分析。具体内容请阅读我在 CCF-GAIR 会议上的报告实录:《开

源芯片存在“死结”,但这是打破死结的时代》6

图 16. 构建开源芯片生态所需要突破的四个要素

6 https://new.qq.com/rain/a/20190722A0AZ94

Page 19: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

18

八、报告 6:CHIPS 联盟与开源 UVM 验证框架 [slides]

来自 Google 的 Richard Ho 博士介绍了 CHIPS 联盟——这是

近期 Google 联合了 6 家企业成立了一个开源芯片联盟,旨在推动开

源芯片生态(图 17)。这 7 家企业每一家都贡献了开源芯片设计中

所需要的功能模块,例如西部数据的 SweRV 核、SiFive 的 Rocket

核、Google 的 RISC-V-DV 验证工具等。从图 18 可以看到,越来越

多的开源工具开始出现,未来基于全开源 EDA 工具设计开源芯片,

将不会是空谈。

图 17. CHIPS 联盟旨在推动开源芯片生态

Page 20: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

19

图 18. 越来越多的开源工具开始出现

Google 开源了一个面向 RISC-V 的验证框架(图 19),可以通

过 RISC-V-DV 来产生指令流,对设计进行压力测试。芯片设计过程

中的验证环境非常耗时耗力,但又是极其重要的环节。应该说 Google

的这个开源工具确实芯片设计中的痛点,但如何能灵活应对不同的设

计,如何能达到更高的性能,这些都还需要不断优化。

图 19. Google 开源的针对 RISC-V 的验证框架

Page 21: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

20

九、报告 7:硬件加速器设计与领域专用语言 DSL [slides]

美国工程院院士、斯坦福大学的 Mark Horowitz 教授介绍了他

们在加速器领域的工作。Horowitz 教授早期参与了很多多处理器架

构、高带宽内存的研究,创办了 Rambus 公司。在这个报告中,他认

为设计一个硬件加速器的本质就是将应用快速地映射到硬件上,这可

以分解为三个步骤(图 20):(1)用领域专用语言 DSL 来写应用;

(2)用编译器将应用映射到可编程的硬件模型(也可以看作某种粒

度的 ISA)上;(3)将 ISA 映射到目标硬件上。

图 20. 硬件加速器的本质就是将应用快速地映射到硬件

Horowitz 教授接着介绍了团队正在开发的 AHA 工具链,融合

了上述三个步骤(图 21)。报告非常精彩的部分是他坦言到虽然这套

工具链能工作,也开发出了芯片,但还存在很大的问题,整个工具链

需要重构。然后他总结了 6 个经验教训:(1)敏捷开发应该关注系

Page 22: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

21

统构建,而不仅仅是加速器的性能,用户关心的应用最终性能;(2)

硬件设计不只是功能,还包括很多复杂问题,如时序、布局、测试生

成等,这些都不应该暴露给用户,因此可以通过 DSL+编译器来为用

户屏蔽这些底层细节;(3)用户使用加速器时都会重写应用代码,

既然需要重写,从一开始就应该让用户使用 DSL;(4)用户希望为

一类应用设计加速器,而不是仅仅为一个应用,因此粗粒度可重构架

构 CGRA 是很好的选择;(5)敏捷开发的核心是重用,因此要尽可

能设计一些新工具提供重用度;(6)开源硬件可以降低 NRE 成本,

降低维护成本,但开源硬件的形式不一定是硬件,而将会是以软件工

具或代码的形式。

Horowitz 教授的这几点经验教训具有很强的启发性,也很具有可

操作性,他们团队的工作值得关注。

图 21. 斯坦福大学开发的芯片敏捷开发 AHA 工具链

Page 23: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

22

十、报告 8:高层次综合 [slides]

美国工程院院士、UCLA 的 Jason Cong 教授是 FPGA 与高层

次综合 HLS(High-Level Synthesis)领域的顶尖专家。HLS 是从 1980

年代 FPGA 兴起时 CMU、IBM 等就开始研究,但一直未能形成商用。

从 2006 年开始,Cong 教授在 UCLA 启动了 xPilot 项目,后成立公

司 AutoESL 推出 AutoPilot 工具,并于 2011 年被 Xilinx 收购集成为

Vivado HLS 工具。在报告中,Cong 教授指出 HLS 还面临两大挑战

(图 22):

图 22. 高层次综合 HLS 面临的两大挑战

(1)需要花大力气对代码重构才能达到好的性能,简单的 C 代

码在综合得到硬件后甚至可能比 CPU 性能慢上百倍(图 23)。Cong

教授团队认为可通过编译优化技术来解决这个问题,因此开发了一个

Page 24: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

23

编译器 Merlin,简化代码重构工作。体系结构设计的“三大法宝”为并

行、流水和缓存。Merlin 编译器的目标是将“三大法宝”对应的设计规

则集成到编译器中,从而在整个过程中减少人的参与。

(2)如何在很大的设计空间中找到优化设计也是一个很大的挑

战。前面提到体系结构层次有“三大法宝”,而在具体设计时每一个法

宝都有很多种选择,因此设计空间很大。这个挑战不仅仅是学术界关

心,事实上工业界也很关心,我们和海思技术交流中也提到这点。为

了应对这个问题,Cong 教授团队开发了一套自动化设计空间探索框

架(Automated design space exploration framework)。目前还主要

是基于梯度进行空间搜索,这方面还有很大的优化空间。

图 23. C 代码需要重构才能获得加速,否则可能会比 CPU 慢上百倍

Page 25: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

24

Cong 教授认为让程序员来写 HLS 代码效率太低,应该提供更

高抽象的语言,即领域专用的语言 DSL——程序员用更高级的 DSL

来写代码,然后自动生成 HLS 代码,进而映射到 FPGA 上(图 24)。

到这里可以看出这个技术思路与斯坦福 Horowitz 教授提出的三个步

骤一致,如果接着往下看,也会发现第 10 个来自 Berkeley 的报告也

是同样的理念。

图 24. DSL 能提高 HLS 开发效率

十一、报告 9:英伟达的敏捷开发实践 [slides]

英伟达 ASIC 与 VISL 研究部门主任 Brucek Khailany 介绍了

他们采用机器学习方法的敏捷开发技术。英伟达积极投入芯片敏捷开

发,其动力也是因为现在芯片设计太过复杂。例如,英伟达产品的开

发周期一般需要 3-5 年,其中设计与验证的时间与成本占比大约 70%

(图 25),2018 年 Nvidia Xavier SoC 一共花了 8000 人年!因此

英伟达希望能将开发周期与成本降低一个数量级。

Page 26: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

25

图 25. 英伟达产品开发周期需要 3-5 年,设计与验证占比大约 70%

图 26. 敏捷开发思路三个要点:高层次语言、工具、库/生成器

英伟达的总体思路包含三个要点(图 26):(1)使用更高级

的开发语言,英伟达选择的是 C++;(2)利用 HLS 工具将 C++代

码转变为 RTL 代码,从而可以嫁接到现有的 ASIC 开发流程;(3)

充分使用已经开发好的库和生成器(libraries/generator),尽可能地

Page 27: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

26

重用已有设计从而节省时间。值得一提的是,第(3)点库和生成器

是面向领域专用的芯片敏捷开发方法中很重要的环节,未来将会决定

芯片敏捷开发的性能与质量。最近这方面的工作也开始增加,比如英

伟达开发的 MatchLib,Berkeley 开发的面向 RISC-V 的 Rocket Chip

Generator 和面向模拟电路的 Analogy Generator(下一章节将会介

绍)。

最后 Khailany 简要总结了将机器学习应用到芯片设计自动化

方面的相关工作(图 27)。如之前 Cong 教授报告中提到,设计自动

化中面临的挑战之一便是巨大的设计空间。深度学习在大空间高效搜

索方面则具有很大的潜力。

图 27. 机器学习为敏捷开发带来的机遇

Page 28: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

27

十二、报告 10:面向敏捷开发的新语言与生成器 [slides]

Berkeley 的 Borivoje Nikolić 教授的核心观点是生成器

(generator)将是芯片敏捷开发的核心(图 28),可以降低芯片设

计的成本和开发周期。生成器技术和软件开发中的面向对象思想有很

多相通之处,generator 可以看作是一个 class。简单总结一下这种方

式的好处:(1)重用度高,一个生成器可产生很多实例;(2)更易

定制化,可通过修改参数产生不同的实例;(3)便于验证,理论上

对生成器充分验证(包括形式化验证),可以保障生成实例的正确性。

图 28. 生成器(generator)是芯片敏捷开发的核心

Nikolić 教授带领团队过去几年在这方面做出了杰出的贡献。他

们发明了具备更高抽象能力的 Chisel 语言,使生成器的开发变得更

简单。事实上,近年来非常火的 RISC-V 最早开源实现 Rocket Chip

实现就是一个基于 Chisel 的生成器(图 29)。关于 RISC-V、Rocket、

Page 29: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

28

Chisel,以及 Chisel 与 Verilog 开发效率与质量的对比,我们团队也

有一定的实践与积累,具体可参见这篇论文《芯片敏捷开发实践:标

签化 RISC-V》7。

图 29. 基于 Chisel 与 BAG 生成的 RISC-V 芯片

一款 SoC 芯片设计很大的挑战是模拟电路。Nikolić 教授开发

了 BAG(Berkeley Analog Generator),一套基于 Python 的开源

模拟电路生成器(图 30),包括 Comparator 、多种 ADC/DAC 生

成器、SerDes 生成器(图 31)等。这些生成器在 ST 28nm, GF 22nm,

TSMC 16nm 等不同工艺下成功流片。当然目前实测性能与业界主流

产品相比还有差距,比如使用 TSMC 16nm 工艺的 ADC 采样频率为

7GS/s,精度为 6.5bit,而 ADI 公司于 2017 年便开发出基于 28nm

工艺的 10GS/s、精度为 12bit 的产品。但值得一提的是这些都是开

7 http://crad.ict.ac.cn/CN/article/downloadArticleFile.do?attachType=PDF&id=3848

Page 30: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

29

源设计,如果社区和企业在此基础上不断优化改进,有可能最终得到

足够性能的开源模拟电路设计。

图 30. 数字电路生成器 Chisel3 和模拟电路生成器 BAG2

图 31. 基于 BAG2 的 SerDes 生成器

Page 31: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

30

十三、报告 11:端到端的形式化验证 [slides]

形式化验证(Formal Verification)方法被认为是保证系统正确

性的最有效方法。自从 2009 年第一个经过形式化验证的操作系统内

核 SeL4 发表以来,形式化验证方法已收到越来越多地关注,尤其是

在操作系统领域。2016 年,美国 NSF 在计算机领域额度最大的

“Expedition in Computing”项目(5 年 1000 万美元)资助了由普林斯

顿大学、麻省理工学院、康奈尔大学、宾夕法尼亚大学联合申请的形

式化验证软硬件全系统栈的项目:DeepSpec8(图 32),一个目标

极其远大而具有颠覆性、同时也极具挑战的研究项目。

图 32. 2016 年 NSF Expedition in Computing 项目:DeepSpec

8 https://deepspec.org/page/Overview/

Page 32: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

31

MIT 的 Adam Chlipala 教授也是 DeepSpec 的 co-PI,他在

Visioning Workshop 上介绍了基于 RISC-V 开展的全系统端到端强

形式化验证研究进展(图 33),包括硬件 RTL 层次的验证、编译器

的验证等。Chlipala 教授展示了一个经过验证的 RISC-V 核实现(图

34,图 35),目前还只能用于演示点灯。

图 33. 端到端形式化验证框架

图 34. RISC-V 核的形式化验证示例

Page 33: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

32

图 35. 经过验证的 RISC-V 核

对于这个报告,我的理解是相比于传统的 Verilog,具有更高抽

象的硬件描述语言(如 BlueSpec、Chisel)将有助于 RTL 层次的形

式化验证。不过由于自己对这个领域也了解不多,所以也无法更深入

地解读他们的研究工作。

在这里可以分享一段有趣的经历:我在普林斯顿大学做博士后

时在同一个办公室的是 Andrew Appel 教授的博士后 Lennart

Beringer,当时正在开展编译器的形式化验证研究。当时曾问过他形

式化验证的前景,他自己认为可能需要 20 年才能实用。让人感慨的

是,几年后,即使在一线研究人员看来都很遥远的研究却得到了 NSF

的大力资助,而 Lennart 现在也正是 DeepSpec 项目的副主任。相比

较于美国大力资助形式化验证的系统实现,国内从事这方面研究的团

队就显得太少了,也很难得到资助。这种现状亟需改变。

Page 34: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

33

十四、中国的挑战与机遇

芯片一直是中国半导体产业的软肋,如何破解中国半导体产业

面临的“卡脖子”问题,各界都在积极实践与探索。

中国当前需要尽快突破被称为是“燃眉之急”的多项关键技术,

但从长远来看,中国芯片领域面临的 “卡脖子”问题根源在于优秀人

才储备严重不足——我们曾做过一项统计,2008 到 2017 年的十年

间体系结构顶会 ISCA 论文的第一作者(可认为是芯片架构研究优秀

人才)85%选择在美国就业,仅有 4%在中国就业,差距巨大(图 36)。

这与当前芯片设计门槛过高,导致中国大学无法开展芯片相关教学与

研究密切相关。

图 36. “卡脖子”问题根源在于优秀人才储备严重不足

Page 35: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

34

这种人才危机美国也曾经历过,1982 年全美上千所大学中只有

不到 100 位教授和学生从事半导体相关的研究。为了应对人才危机,

美国 DARPA 在 1981 年启动 MOSIS 项目,为大学提供流片服务,

通过 MPW 模式大幅降低芯片设计门槛(图 37)。三十余年来 MOSIS

为大学和研究机构流了 60000 多款芯片,培养了数万名学生。因此,

降低芯片设计门槛亦可大幅提高人才培养效率。

图 37. 美国应对半导体人才危机的方式

开源芯片与敏捷开发,有可能再未来实现数量级地降低芯片开

发门槛。开源芯片生态仍处于起步阶段,如果中国能积极参与并主导

开源芯片生态中若干核心模块,那么就有可能吸引更多开发人员、民

间资本参与芯片开发,提高芯片领域的创新活力,同时也能为中国芯

片企业提供基于开源的芯片关键技术与优秀人才、摆脱“卡脖子”困境。

Page 36: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

35

十五、结语:2030 憧憬

总结来说,开源芯片与敏捷开发备受关注,背后存在两方面的

驱动力:

(1)应对摩尔定律终结的技术发展需求:Dennard Scaling 定

律和摩尔定律逐渐走向终结,但摩尔定律赋予芯片的能力并未充分挖

掘出来。例如实现一个矩阵乘法,普通程序员写的程序和懂体系架构

的专家写的程序性能上甚至会有 63000 倍的差距。因此,面向某个

特定领域将专家知识实现到芯片中,就有可能提升几百甚至几千倍的

性能功耗比,从而充分挖掘芯片上晶体管的潜力。但这种领域专用体

系结构(DSA)会带来碎片化问题,需要从芯片设计成本与周期两个

维度同时降低门槛,才能应对种类繁多的领域专用加速器。

(2)激发创新活力、繁荣芯片产业的市场需求:长期以来芯片

研发成本高、周期长,导致了该领域的高门槛,严重阻碍了创新。即

使研制一款中档芯片,也往往需要数百人年、数千万甚至上亿的研发

投入,导致资本不愿投资。因此,只有少数企业才能承担,资本市场

对芯片投资也是极其谨慎保守,制约了芯片领域的创新活力。

构建开源芯片生态与敏捷开发方法一个长期的系统工程,面临

着诸多挑战,但也是一个不管是学术上还是商业上都值得探索的方向,

也需要各界的支持与参与。

Page 37: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

36

十六、后记:IEEE MICRO 特刊

远景研讨会结束后的第二天,IEEE MICRO 杂志的主编和编委

联系到我。他们也在现场听了报告,认为这个方向很重要,邀请由我

来组织一期关于敏捷开发与开源硬件的特刊。我欣然接受,随后又邀

请新加坡国立大学的 Trevor E. Carlson 教授一起组织。经过前期讨

论,现在已经确定了专刊的几个重要时间节点,目前征稿通知已出炉。

欢迎大家赐稿!

Call for Papers: Special Issue on Agile and Open Source Hardware

As the benefits of traditional technology scaling, like Dennard Scaling and Moore’s Law, slow

significantly, computer architecture is poised to enter a golden age of innovation. Domain specific

architectures (DSA) are a promising solution to continue improving computing performance, while

maintaining the level of energy efficiency previously found in technology scaling. Unfortunately,

traditional methodologies of chip design and hardware development have created significant

barriers, requiring extremely high non-recurring engineering (NRE) costs in tools, labor, IPs, etc.,

ultimately prohibiting the wide adoption of DSA.

In contrast, the significant engineering costs and extremely-long design cycles of software have

shrunk significantly over the past decades due to the proliferation of open-source software and

the use of agile software development techniques. Small teams of software developers can now

realize their innovative ideas quickly. Inspired by these results from the software community, agile

and open hardware design is considered to be one of the most promising ways to lower the design

cost of chip design, although there are still many challenges in abstraction, methodologies and

tools. This special issue of IEEE Micro will explore academic and industrial research on topics which

relate to agile chip design and open source hardware. Such topics include, but are not limited to:

• Agile DSA accelerator design approaches, targeting ASICs or reconfigurable

fabrics (e.g., FPGAs)

• Open source EDA tools and methodologies to enable agile hardware

development

• High-level hardware abstraction and representation

• New hardware description languages

Page 38: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

37

• Domain specific languages (DSL)

• Agile hardware development for formally verified designs

• Agile domain-specific ISA/extension design

• Hardware generator methodologies

• Verification and simulation approaches

• Fast chip design-space exploration

• Agile hardware and software co-design approaches

• Comparison studies of different hardware design and development

approaches

• Survey and tutorial studies of agile and open source hardware

Important Dates

• Submission due: Jan 3, 2020

• Initial notifications: Mar 6, 2020

• Revised papers due: April 10, 2020

• Final notifications: May 15, 2020

• Final versions due: June, 2020

• Publication date: July/Aug 2020

Submission guidelines

Please see the Write for Us page (https://www.computer.org/micro/write-for-us/) and the general

author guidelines (https://www.computer.org/web/peer-review/magazines) for more

information. Please submit electronically through ScholarOne Manuscripts

(https://mc.manuscriptcentral.com/cs-ieee), selecting this special-issue option.

Questions?

Contact the guest editors at Yungang Bao ([email protected]) and Trevor E. Carlson

([email protected]) or the editor-in-chief at Lizy John ([email protected]).

Page 39: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

38

致谢

感谢 SIGARCH Visioning Workshop 组委会的邀请。

感谢普林斯顿大学李凯院士与中科院计算所所长孙凝晖研究员

对开源芯片研究的具体指导。感谢中科院计算所李国杰院士、中国开

放指令生态(RISC-V)联盟理事长倪光南院士、北京大学/鹏城实验

室高文院士、国防科技大学廖湘科院士、中科院计算所首席科学家徐

志伟研究员、RISC-V 基金会中国委员会主席方之熙博士等资深专家

的支持和鼓励。

感谢中央网信办信息化局、工信部电子司、工信部信软司、中科

院重任局、中科院科技局等部门领导们的反馈与建议。感谢计算所科

研处、计算所技术发展处的大力支持。

感谢为开源芯片生态事业并肩作战的开源芯片院士工作室核心

成员们:李华伟研究员、陈明宇研究员、唐丹高级工程师、张科高级

工程师、蒋德钧副研究员、常轶松助理研究员、王卅助理研究员、解

壁伟助理研究员、赵然工程师和余子濠博士生、周耀阳博士生、王诲

喆博士生、刘志刚硕士生,以及中科院计算所先进计算机系统研究中

心前沿实验室的全体成员。

特别感谢家人的理解与支持!

Page 40: 面向下一代计算的 开源芯片与敏捷开发方法crva.ict.ac.cn/documents/SIGARCH-Visioning...的体系结构黄金时代 [slides] Patterson 教授介绍敏捷与开放体系结构的挑战与机遇。其实

39

作者简介:包云岗,2003 年本科毕业于南京大学,2008 年获中

科院计算所博士学位,2010-2012 年普林斯顿大学博士后。现为中科

院计算所研究员,博士生导师,先进计算机系统研究中心主任,中国

科学院大学岗位教授。

研究方向是计算机体系结构,在国际会议期刊发表了 40 余篇论

文,多次受邀担任 ASPLOS、ISCA、MICRO 等体系结构国际顶级会

议程序委员会委员。开发的第三代多核基准测试程序集 PARSEC 3.0

过去 5 年累计下载超过 1 万次,被全世界 300 多个研究课题使用。

主持研制多款达到国际先进水平的系统与平台,包括软硬件协同的访

存监测设备 HMTT、基于 RISC-V 的标签化体系结构开源项目

Labeled RISC-V(https://github.com/LvNA-system/labeled-RISC-V)、

基于 Labeled RISC-V 的 FPGA 开放云平台“火苗”等,应用于华为、

阿里、Intel、RedHat、航天九院等业界单位的产品研发,合作成果入

选华为 2015 年全球合作五个代表成果写入其年报、获阿里巴巴最佳

合作项目奖。

曾两次获计算所优秀论文一等奖,获首届“CCF-Intel 青年学者”

奖,入选 2016 年中国计算机大会 CNCC 特邀大会报告、ARM2018

全球研究峰会三个 45 分钟特邀大会报告之一、中科院青年创新促进

会优秀会员,获共青团中央“全国向上向善好青年”荣誉称号。担任

中国计算机学会理事、普及工作委员会主任,中国计算机学通讯专栏

主编,中科院青年创新促进会理事,ACM China 副主席,中国开放

指令生态(RISC-V)联盟秘书长,未来论坛青年理事轮值联席主席。