Sophon是一个紧凑型RISC-V系统,支持RV32I(E)指令集以及一个可以在单周期交换32个通用寄存器堆数据的自定义指令接口。
Sophon面向实时控制应用进行优化,指令延迟、GPIO访问延迟、中断控制延迟(CLIC shv模式)均为1个时钟周期。
当前正在进行第二个版本的重构、优化以及验证增强,完成后RISC-V内核将单独剥离出来并合入到ODL开源仓库。

第一阶段:搭建Gowin FPGA Flow
配置信息 RTL 文件列表 层次结构 创建FPGA顶层文件
FPGA型号 时钟、复位引脚 时钟频率 uart引脚映射 LED引脚映射 GPIO引脚映射 创建约束文件
创建工程 执行综合、布局布线流程 生成 bitstream
第二阶段:问题定位 - 从 bootrom 到 hello world
复位撤离后内核从bootrom启动 等待用户从UART使用xmodem协议将指令下载到ITCM 等待用户从UART使用xmodem协议将数据下载到DTCM 跳转到 ITCM 执行应用程序 经过crt.S -> syscalls.c跳转到main函数入口。
bootrom 启动出错 硬件从bootrom跳转到ITCM的取指令逻辑、时序出错 UART 下载出错 crt.S 初始化挂死 堆栈溢出
第三阶段:统一FPGA环境
fpga/Makefilefpga_config.svxilinx/gaoyun/
fpga/xilinx 放 Xilinx FPGA flow fpga/gaoyun 放Gowin FPGA flow fpga/Makefile 作为统一入口 fpga/fpga_config.sv 作为配置入口
`define TANG_NANO_9KmacOS开源芯片设计环境(包含skill) Sophon:低延迟、可扩展的开源RISC-V架构 RISC-V指令扩展机制:指令编码、硬件接口与参考案例 Sophon仓库:https://github.com/timingwalker/sophon ODL仓库:https://github.com/timingwalker/sophon
夜雨聆风