在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 21847|回复: 9

[原创] 谁说国内无RISC-V开源核——您还不知蜂鸟E200?

[复制链接]
发表于 2018-2-26 20:53:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x

前言:谢谢您点击阅读本文,本文需要对RISC-V的基本背景知识了解。什么?您还没听说过RISC-V?请参见《David Paterson眼里的处理器架构》和《进入32位时代——谁能成为下一个8051》作为背景了解。


1 开源RISC-V挑花眼了?

自从RISC-V架构诞生以来,在全世界范围内已经出现了数十个版本的RISC-V架构处理器,有的是开源免费的,有的是商业公司私有开发用于内部项目的,还有的是商业IP公司开发的RISC-V处理器IP。

由于RISC-V的开源版本太多,使得学习或者准备使用RISC-V的用户有一种乱花渐欲迷人眼的感觉。选择多了,真是挑花眼,反而不知从何下手了。

2 谁说国内没有RISC-V开源核?

由于众多RISC-V版本中基本上看不到国内版本的身影,有说法称国内没有RISC-V的贡献者和开源核,笔者深表情何以堪,谁说国内没有RISC-V开源处理器核和贡献者,快来一起认识蜂鸟E200吧。


蜂鸟E200开源项目的源代码托管于Github网站: https://github.com/SI-RISCV/e200_opensource,后文以“e200_opensource项目”简称该网址。蜂鸟是世界上最小的鸟类,其体积虽小却有着极高的速度与敏锐度,可以说是世界上“能效比”最高的鸟类。E200系列以蜂鸟命名便寓意于此,旨在将其打造成为一款世界上最高能效比的RISCV处理器。


蜂鸟E200的开源口号是:让免费的蜂鸟E200成为中国的下一个8051,为中国IoT领域的发展助力提速。


3 想要专业水准的开源核?

蜂鸟E200主要面向极低功耗与极小面积的场景而设计,非常适合于替代传统的8051内核或者Cortex-M系列内核应用于IoT或其他低功耗场景。E200系列处理器核采用2级流水线结构,通过一流的处理器架构设计。该CPU核的功耗与面积均不逊于同级ARM Cortex-M核,实现业界最高的能效比与最低的成本。

蜂鸟E200作为结构精简的处理器核,可谓“蜂鸟虽小、五脏俱全”,源代码全部开源,文档翔实,非常适合作为大中专院校师生学习RISC-V处理器设计(使用Verilog语言)的教学或自学案例。

蜂鸟E200系列处理器的系统示意图如图1所示。其提供丰富的存储和接口,包括:

  • 私有的ITCM(指令紧耦合存储)与DTCM(数据紧耦合存储),实现指令与数据的分离存储同时提高性能。

  • 中断接口用于与SoC级别的中断控制器连接。

  • 调试接口用于与SoC级别的JTAG调试器连接。

  • 系统总线接口,用于访存指令或者数据。可以将系统主总线接到此接口上,E200可以通过该总线访问总线上挂载的片上或者片外存储模块。

  • 紧耦合的私有外设接口,用于访存数据。可以将系统中的私有外设直接接到此接口上,使得E200无需经过与数据和指令共享的总线便可访问这些外设。

  • 紧耦合的快速IO接口,用于访存数据。可以将系统中的快速IO模块直接接到此接口上,使得E200无需经过与数据和指令共享的总线便可访问这些模块。

  • 所有的ITCM、DTCM、系统总线接口、私有外设接口以及快速IO接口均可以配置地址区间。


                               
登录/注册后可看大图

图1
蜂鸟E200处理器系统示意图

蜂鸟E200是一个处理器系列,包含了多款不同的具体处理器型号,所有的E200系列Core均支持协处理器接口可用于自定义扩展指令。

  • E201 Core是面积最小的Core,可以配置为RV32IC或者RV32EC架构,不支持其他的扩展指令子集。

  • E203 Core可以配置为RV32IMAC或者RV32EMAC架构,使用面积优化的多周期硬件乘除法单元。

  • E205 Core为RV32IMAC架构,使用单周期的硬件乘法单元和多周期的硬件除法单元。

注意:目前蜂鸟E200系列中开源的处理器型号为E203。

4 担心性能指标不行?

蜂鸟E200处理器核的功耗与面积以及性能参数非常的有竞争力,蜂鸟E203核的功耗面积和性能比ARM的Cortex M0+处理器核(M0+ 是ARM最小面积的处理器核)更好,蜂鸟E205核的功耗面积和性能比Cortex M3处理器核更好。

5 抱怨没有配套SoC?

很多开源的处理器核仅提供Core的实现,为了使其能够被完整使用起来,用户需要花费不少精力来构建完整的SoC平台、FPGA平台。为了方便用户快速地上手使用,蜂鸟E200不仅开源了自主设计的Core,还开源配套了完整的SoC平台,如图2所示。

用户可按照e200_opensource项目的doc文档中所描述之步骤便可快速搭建完整的SoC仿真平台和FPGA原型平台。可以说,蜂鸟E200开源的不仅是一个处理器核,而是一个完整MCU SoC平台。


                               
登录/注册后可看大图

图2  E200系列处理器配套SoC结构图

6 要是可配置就好了?

蜂鸟E200系列中的每款处理器均有一定的可配置性。以开源的蜂鸟E203核为例,用户可以通过修改其RTL目录下的config.v文件中的宏定义便可以实现不同的配置。

7 会不会没有文档介绍?

很多开源的处理器核确实面临文档匮乏的问题,为了方便用户学习和使用,e200_opensource项目下的doc目录中放置了翔实的文档介绍。

8 能不能运行软件以眼见为实?

大多数开源的内核只是一堆RTL的代码而无法真实的运行软件以给用户直观的感觉。就像画龙点睛一样,只有当软件程序真正运行于处理器上面之时,才意味着此处理器真的“活”了。

蜂鸟E200提供完整的软件开发环境,用户可按照e200_opensource项目的doc文档中所描述之步骤便可在编译示例程序,通过在线仿真器(JTAG下载器)将示例程序下载至FPGA原型系统中,并且运行该程序,可以观察printf函数输出的信息打印至桌面PC的串口助手界面,能够直观的感受到程序真的运行了起来。

9 能不能支持GDB调试器?

交互调试(Interactive Debug)功能是处理器提供的最常见的一种调试功能,从最低端的处理器到最高端的处理器,交互调试几乎是必备的功能。交互调试是指调试器软件(譬如常见的调试软件GDB)能够直接的对处理器取得控制权,进而对其以一种交互的方式进行调试,譬如:下载或者启动程序、单步执、通过设置断点来停止程序、查看处理器的运行状态。包括通用寄存器的值,存储器地址的值等。

目前绝大多数开源处理器仅提供处理器核的实现,并没有提供调试方案的实现,很少有开源处理器能够支持完整的GDB交互调试功能。蜂鸟E200不仅开源了处理器核的实现、SoC实现、FPGA平台和软件示例,还实现了完整的调试方案且开源,具备完整的GDB交互调试功能。因此,可以说是从硬件到软件、从模块到SoC、从运行到调试的一套完整解决方案。

用户可按照e200_opensource项目的doc文档中所描述之步骤便可在FPGA原型上运行示例程序,并且使用GDB软件对其进行远程交互式调试。

10 要是有Windows开发工具就好了?

虽然笔者比较钟情于Linux系统的工程开发,但是对于广大Windows的使用用户而言,要是有Windows IDE开发工具那就太好了。别着急,蜂鸟E200也支持,如图3所示。


                               
登录/注册后可看大图

图3  Windows IDE开发工具和FPGA原型开发板

11 要是有书籍系统学习就好了?

如果有一本书系统深入的剖析一款开源RISC-V处理器,对于初学者和爱好者而言将大有裨益,对于使用此核的工程用户而言将更加透明可控。因此,为了推广RISC-V在国内的普及,蜂鸟E200的开发者编写了一本中文书籍对其进行详细的讲解和说明。

该书籍《手把手教你设计CPU——RISC-V处理器》将是国内第一本系统介绍RISC-V架构的中文书籍,如图4所示,将于2018年3~4月上市。


                               
登录/注册后可看大图

图4  RISC-V处理器中文书(将于2018年3~4月上市)

该书以循序渐进的方式组织方式分为四部分:

  • 第一部分的章节主要介绍CPU与RISC-V的综述,该部分将介绍CPU和指令集的一些基础背景知识、RISC-V架构的诞生和特点,通过该部分的学习,对于CPU和RISC-V毫无了解的初学者也可以对CPU和RISC-V快速地建立起系统的认识。


  • 第二部分的章节主要讲解如何使用Verilog设计CPU,该部分将对蜂鸟E203 RISC-V处理器核的微架构和源代码进行深入浅出的剖析和讲解,通过该部分的学习,读者将掌握处理器核的设计精髓。

  • 第三部分的章节主要对蜂鸟E200配套的SoC和软件平台进行介绍,通过该部分的学习,犹如画龙点睛一般,读者可以让蜂鸟E203在FPGA原型平台上真正的运行“活”起来。

  • 第四部分是附录部分,该部分将对RISC-V指令集架构进行系统而详细的介绍,在此部分中,作者加入了大量的背景知识解读以及个人注解,使得枯燥的指令集架构细节变得非常容易理解,将非常利于读者快速入门了解RISC-V架构。

12 结语

如本文标题所述,面对新兴的RISC-V指令集,国内也有开源的贡献者,蜂鸟E200就是很好的例子,随着大家对RISC-V热情的逐步提高,相信国内会有越来越多的RISC-V开源处理器核涌现出来。

虽然相比国外知名的各种RISC-V处理器版本而言,蜂鸟E200系列显得低调很多,但是其质量水平和技术指标在全球范围内同级别的RISC-V处理器核中都属于翘楚水平,难能可贵的是其对于全套工具链的移植支持和SoC原型平台更是具备相当的完备性,是一款非常优秀的开源RISC-V开源处理器内核。

蜂鸟E200已经在专业圈内拥有了相当多使用者,包括用于产业界的不同公司项目,个人爱好者研究以及高校教学示例,蜂鸟开发者还将相关使用用户组成了微信交流群,感兴趣的读者可以通过文末公众号与开发者取得联系加群。

更多信息

感兴趣的读者可以通过下面二维码关注公众号“硅农亚历山大”,了解Verilog、IC设计、CPU、RISC-V和人工智能AI相关的更多设计技巧和经验分享,注意:由于干货太多,请自备茶水。


                               
登录/注册后可看大图

发表于 2018-2-27 22:07:46 | 显示全部楼层
希望早日出书
发表于 2018-3-25 15:54:29 | 显示全部楼层
此书若出版,我必买之!
发表于 2018-11-8 23:07:32 | 显示全部楼层
谢谢分享
发表于 2018-12-10 11:12:51 | 显示全部楼层
没图啊~~~
发表于 2018-12-22 22:15:07 | 显示全部楼层
发表于 2019-4-24 15:21:21 | 显示全部楼层
已经有书了吧
发表于 2020-1-12 20:15:59 来自手机 | 显示全部楼层
楼主就是创始人胡振波吧?
发表于 2020-1-15 09:57:47 | 显示全部楼层
期待
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-27 02:06 , Processed in 0.031930 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表