分享一些fpga内使用riscv软核的经验,共大家参考。后续内容比较多,会做成一个系列。
本系列会覆盖以下FPGA厂商
易灵思 efinix 赛灵思 xilinx阿尔特拉 Altera
本文内容隶属于【易灵思efinix】系列。
前言
在efinix fpga中使用riscv是一件相对容易的事,efinix官方提供了一套集成riscv核心的应用IP,在IP catalog中可以很方便的生成、修改。裁剪IP的功能。
本文分享一套配置参数,包含时钟,memory,uart,spi,iic,gpio,axi,interrupt,usertimer等全部内容。
配置 一、SOC
两路时钟输入,外设使用单独时钟
二、Cache/Memory本设置使用axi4-full总线,位宽256bit,寻址3.5GB
On-chip RAM Size,bootloader的空间4kB,如果想在bootloader中多加一些功能,可以扩大这个空间到8KB
三、Debug不使用。
四、UART开通一个串口。
五、SPI开通1个SPI
六、IIC开通一个IIC
七、GPIO开通8bit width GPIO
八、APB3 九、AXI4256bit AXI4 slave
十、Interrupt中断A、B
十一、User Timer 十二、Base address使用默认分配地址
十三、Deliverables生成例程,对于开发有很大的学习帮助意义。
十四、SUmmary