NICE协处理器 赛题要求: 对蜂鸟E203 RISC-V内核进行运算算子(譬如加解密算法、浮点运算、矢量运算等)的扩展,可通过NICE协处理器接口进行添加,也可直接实现RISC-V指令子集(譬如P扩展、F/D扩展、V扩展、B扩展、K扩展等) 对于采用NICE协处理器接口进行的扩展实现,需要
最近购买了一块适合做原型验证FPGA板卡,板卡接口和外设比较丰富,十分适合跑一些小型的SOC工程,比如蜂鸟E203;板卡自带FPGA烧写器和软核CPU的JATG调试器,还有USB接口的UART,这样不用单独购买FPGA下载器、软核CPU调试器,USB串口模块;额外板卡有充足的按键、LED、数码管、拨动开关,以及几十个灵活的可配的管脚,带有2KB的SR...
为了便于此开发板直接作为MCU原型嵌入式开发板使用,将“蜂鸟E203开源SoC”(简称SoC)的顶层引脚直接连到开发板上,并配有明显的丝印标注,详细描述如图2-2中所示,其要点如下: FPGA预先烧写成为“蜂鸟E203开源MCU SoC”(简称SoC) 为了实现MCU的功能,在FPGA开发板上专门配备了一个Nor Flash用于存储MCU的软件程序。 MCU ...
蜂鸟e203,芯来n201处理器在FPGA上移植总结 本处理器本来是基于芯来科技自定制的FPGA上实现的,本次通过把其移植到ARTY和GENESYS2板子上,过程中走了一些弯路,因此总结一下: 1.处理器中有部分代码是只有通过FPGA才能实现的,因此其在代码中添加了ifdef。 2.首先把src中的system.org进行修改,使其满足板子的配置,例如...
1. 蜂鸟E203 首先我们需要把FPGA变成一块RISC-V的开发板,因此需要烧录蜂鸟E203的bitstream,接下来就是把它当做单片机一样使用,上传固件了。 1.1 下载源码 为了方便,我把fpga的软核源码和RTT的固件源码放在了同一个仓库里。 $ git clone https://github.com/wuhanstudio/hbird_e203_tang $ cd hbird_e203_tang ...
蜂鸟E203规模很小,但是称得上麻雀虽小五脏俱全。从其官方文档中可知其基本逻辑结构图如下,除了处理器内核还有对应的总线连接外设,可算是基本完备的SoC: 蜂鸟E203逻辑结构图 上图中我们还可以看到它有2个power domain,其中main domain还可以关闭。不过今天我们展示的综合并不会定义这2个domain,因为这样会让整体实现都变...
蜂鸟E203 MCU SoC芯片顶层引脚中io_pads_bootrom_n_i_ival是用来配置上电地址选择的,即上电复位后处理器核从哪个地址开始上电执行,此信号为1时,处理器核从外部flash地址(0x2000_0000)开始执行,这也是默认的上电流程配置;而当此信号为0时,处理器核从内部 rom 地址(0x0000_1000)开始执行,而 rom 中存放的代码...
里面包含着一些蜂鸟E203内核的模块,层次结构,流水线结构,些可配置模块和对应的SOC外设接口(SPI,I2C,PWM等)的介绍 2.蜂鸟E203 SoC源码 >https://github.com/riscv-mcu/e203_hbirdv2 这是在Github上开源的源码资料 3.蜂鸟HBird SDK源码 >https://github.com/riscv-mcu/hbird-sdk ...
蜂鸟e20git仓库 蜂鸟e203 E203的IFU(instruction fetch unit)模块主要功能和接口如下: IFU的PC生成单元产生下一条指令的PC。 该PC传输到地址判断和ICB生成单元,就是根据PC值产生相应读指请求,可能的指令目的是ITCM或者外部存储,外部存储通过BIU访问。 该PC值也会传输到和EXU单元接口的PC寄存器中。
修改e200工程,这部分可以参考:开源RISC-V处理器(蜂鸟E203)学习(二)修改FPGA综合环境(移植到自己的Xilinx FPGA板卡)这篇文章。将e203移植到自己的FPGA板卡上。 除了以上之外,还需要修改FPGA顶层—system.v,如下图所示,将bootrom_n信号改为0,也就是上电从内部的ROM启动。因为不是每个人的板卡都有额外的Flash,所以...