差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
上一修订版 两侧同时换到之后的修订记录
fpga_risc-v [2019/12/22 11:14]
group003
fpga_risc-v [2020/01/16 23:23]
group003 [基于FPGA与RISC-V的新型嵌入式系统开发方式]
行 1: 行 1:
-# 基于FPGA与RISC-V的嵌入式系统设计开发套件+# 基于FPGA与RISC-V的嵌入式系统设计
  
 ## 概述 ## 概述
行 5: 行 5:
 清华出版社还邀请顾先生出版了这本《基于FPGA与RISC-V的嵌入式系统设计》,本书详细介绍了RISC-V指令集和其背后的设计思想,并在此基础上引入了一种称为FARM的软硬件开发模式,将FPGA同RISC-V CPU软核相结合,并利用Arduino与Make作为软件快速开发工具,有效地提高了开发效率,使系统设计具有更好的通用性和可移植性。\\ 清华出版社还邀请顾先生出版了这本《基于FPGA与RISC-V的嵌入式系统设计》,本书详细介绍了RISC-V指令集和其背后的设计思想,并在此基础上引入了一种称为FARM的软硬件开发模式,将FPGA同RISC-V CPU软核相结合,并利用Arduino与Make作为软件快速开发工具,有效地提高了开发效率,使系统设计具有更好的通用性和可移植性。\\
 {{::​risc-v书籍.jpeg}} {{::​risc-v书籍.jpeg}}
 +
 本书内容既有深度,亦有广度,对各类从事软硬件开发的科技人员会有很大的参考价值。对高校相关专业的学生,本书也是一部很好的教学资料。\\ 本书内容既有深度,亦有广度,对各类从事软硬件开发的科技人员会有很大的参考价值。对高校相关专业的学生,本书也是一部很好的教学资料。\\
 除了上述有关软硬件的讨论之外,本书的作者还与硬禾的小脚丫FPGA的团队进行了合作,成功地将书中的大部分内容移植到了小脚丫FPGA旗下的STEP CYC10开发板上,并将相关的技术细节在书中做了详细陈述,以方便读者的动手实践。 除了上述有关软硬件的讨论之外,本书的作者还与硬禾的小脚丫FPGA的团队进行了合作,成功地将书中的大部分内容移植到了小脚丫FPGA旗下的STEP CYC10开发板上,并将相关的技术细节在书中做了详细陈述,以方便读者的动手实践。
行 17: 行 18:
 #### STEP CYC10结构框图 #### STEP CYC10结构框图
 {{:​cyc10bd.png?​600|}} {{:​cyc10bd.png?​600|}}
-## 基于FPGA与RISC-V的嵌入式系统设计 
  
 +#### STEP CYC10板卡详细介绍
 +[[https://​www.stepfpga.com/​doc/​step-cyc10|STEP CYC10板卡]]
 +}
 +## 基于FPGA与RISC-V的新型嵌入式系统开发方式
 +经过美国PulseRain Technology与小脚丫团队的不懈努力,在小脚丫Cyclone10开发板上成功移植了PulseRain Reindeer RISC-V 软核,并且开发了配套Arduino IDE的板子支持包,使得用户可以通过Arduino开发环境直接对嵌入到FPGA中的RISC-V软核进行编程。
 +FPGA优秀的性价比和灵活性;开源硬件Arduino及其丰富的软件库;开源的编译器和工具链GNU;再加上如今热度空前的开源处理器RISC-V,形成了一种灵活快速的新型嵌入式开发方式FRAM:​ FPGA+Arduino+RISC-V+Make。
 +{{ :​farm_开发模式.png?​nolink&​400 |}}
 +如上图所示,在FARM开发模式下,FPGA成为系统的核心芯片。在FPGA中会包含一个支持RISC-V的开源处理器软核 (RISC-V Soft CPU)。该处理器可以包含一个硬件逻辑实现的代码载入器 (Hardware Based Code Loader)。FPGA也会包含所有的(或大部分的)外部设备实现,这些外部设备和RISC-V通过总线相连。对于无法完全用FPGA实现的功能 (例如传感器),FPGA也会实现其控制部分或者数据的读写。
 +
 +上图中RISC-V 软核的编程,可以通过两种方式。
 +  * 对中小型的裸金属 (bare metal)系统,开发者可以直接在Arduino 集成开发环境下编程,并充分利用Arduino提供的软件支持库。编译结果也可以在集成环境下直接写入到FPGA上的RISC-V软核里。
 +  * 当软件规模变大时,软件的配置和编译可以通过Make来实现,并执行和RISC-V软核配套的代码载入工具,下载编译结果。
 +## 使用Arduino IDE开发RISC-V处理器
 +[[reindeer_step_arduino|方式一:使用Arduino IDE开发RISC-V处理器]]
  
 +## 使用make配置编译RISC-V应用程序
 +[[reindeer_step_make|方式二:使用make配置编译RISC-V应用程序]]