使用Arduino在FPGA上开发RISC-V
本帖最后由 塞巴斯蒂安 于 2021-9-30 15:54 编辑[*]FPGA优秀的性价比和灵活性;开源硬件Arduino及其丰富的软件库;开源的编译器和工具链GNU;再加上如今热度空前的开源处理器RISC-V,形成了一种灵活快速的新型嵌入式开发方式FRAM: FPGA+Arduino+RISC-V+Make
[*]在FARM开发模式下,FPGA成为系统的核心芯片。在FPGA中会包含一个支持RISC-V的开源处理器软核 (RISC-V Soft CPU)。该处理器可以包含一个硬件逻辑实现的代码载入器 (Hardware Based Code Loader)。FPGA也会包含所有的(或大部分的)外部设备实现,这些外部设备和RISC-V通过总线相连。对于无法完全用FPGA实现的功能 (例如传感器),FPGA也会实现其控制部分或者数据的读写
[*]-PulseRain Reindeer_Step 架构
1、PulseRain Reindeer 是由Changyi Gu主持设计的 RISC-V处理器内核,该软核在2018年由RISC-V 基金会官方举办的全球 Soft CPU 设计大赛中脱颖而出,荣获季军 (RISC-V SoftCPU Contest ),本次移植的是在PulseRain Reindeer处理器内核基础上,改进的Reindeer_Step软核
2、-Reindeer RISC-V软核架构
(1)Von Neumann架构
(2) 支持RISC-V RV32I 指令集
(3)2 x 2流水线架构
(4) 综合平衡了速度和面积
3、-Reindeer_Step内部结构
(1)SDRAM控制器,利用板上8M动态内存作为代码和数据内存
(2)中断支持
(3) 板上硬件资源支持,GPIO/UART等外设,也可自行裁剪
(4)Arduino支持包,使用Arduino IDE编程
4、Reindeer_Step 开源代码
5、-平台:STEP-CYC10 FPGA
(1)小脚丫FPGA开发板 STEP-CYC10
(2)核心器件:Intel Cyclone 10 LP FPGA-10CL016YU256C8G
(3)-板载资源
【1】集成USB blaster编程器
【2】2路Micro USB接口,分别用于下载和串口通信
【3】4位7段数码管
【4】 2个RGB三色LED
【5】 8路拨码开关
【6】 1个五向按键
【7】1个可扩展STEP-PCIE接口
【8】 64Mbit SDRAM
【9】64Mbit Flash
【10】三轴加速计ADXL345
【11】 USB转UART芯片CP2102
【12】12M/50M双路时钟源
(4)运行RISC-V软核的STEP-CYC10平台结构
6、-RISC-V软核移植步骤
(1)-获取PulseRain Reindeer_Step MCU软核源码
【1】git clone源代码
(2)-配置软核到STEP-CYC10 FPGA开发板
【1】使用Intel Quartus编译
【2】Reindeer_Step资源占用情况
(3)-安装Arduino IDE及板卡支持包
【1】文件——首选项——附加开发板管理器网址,添加如下链接: https://github.com/PulseRain/Arduino_RISCV_IDE/raw/master/package_pulserain.com_index.json 【2】打开 工具——开发板——开发板管理器,在搜索框中输入REINDEER,安装PACKAGE
(4)-在Arduino IDE中开发应用程序
【1】串口打印和流水灯测试程序
(5)-串口下载程序到开发板并运行
【1】软核中内置onchip Debug模块
【2】串口一键下载
【3】支持串口打印
完
页:
[1]