冰川 - 微透模RISC-V核心设计用于低FPGA资源利用率

2021-03-21 03:43:45

冰川是一个用于2018年RISC-V Softcpu竞赛的RV32i核心,为"最小的实施"类别。冰川实现了一个带有非常简单的8位数据路径的微透镜处理器核心。 HOMICROCODE,SPRATCHPAD和RISC-V内存全部存储在相同的8位宽RAM中。

冰川符合RISC-V指令集手册,卷I:用户级别ISA,Document 2.2版,2017-05-07日期。

冰川实现仅限卷II的最小子集:传递RV32ICOMPALICE测试并运行Zephyr内核所需的特权架构规范。仅冰川实现模式。存在与特权体系结构的许多偏差存在;例如,所有受到覆盖的CSR都是完全错误的,但写入它们可能没有预期的效果。

为了实现最小的FPGA资源利用率,使用微寄架结构,从FPGA逻辑单元交易以进行额外的staticram和更慢的执行。微透镜由M.V发明。威尔克斯,anddesded in"设计自动计算机器&#34的最佳方式;,曼彻斯特大学计算机的原始反应。,1951,pp。16-18。

1964年宣布宣布的初始IBM系统/ 360台机器可能已经是流产大规模生产的小型计算机。系统/ 360型号30,以外的30型是值得注意的,因为它使用带有8位数据路径的微透镜来实现32位架构。有关详细信息,请参阅S.G. Tucker,"系统/ 360",IBM Systems Journal,6(4),1967,PP的微生物控制。 222-241。

冰川微体系结构的一些特定特征是从20世纪60年代和20世纪70年代和20世纪70年代的已知小型计算机和微处理器中的绘制:

IBM System / 360型号25(1968):Microcode和Scratchpad存储在同一物理内存阵列中作为用户存储器

一般仪器PIC1650(1976):跳过内存位设置或清除(通过Microchip PIC16C系列推广)

Doc目录包含乳胶的冰川微架构文档,可在冰川维基中以PDF形式提供。

antti lukats提供了大量帮助,包括SicroMemi SmartFusion2的引导载荷,以及在他设置的Wiki上有大量的一般建议。

Charles Pucon提供了一个汇编语言代码的示例,以将Thecomatiance测试结果签名输出到UART。

还应谢谢RISC-V基金会及其赞助商,用于组织Checontest,以及用于提供FPGA开发板的MicroSemi和格子。

冰川核心以非供应商特定的verilog编写,并应为任何FPGA进行。冰川专门用于与为竞赛指定的FPGA板上的WOWO合作:

所有开发都是在Linux上完成的,并且只提供Forlinux的说明。作者在X86_64平台上专门使用Fedora 28。

编译RISC-V合规性测试需要提供RISC-V GNU编译器工具链:https://github.com/riscv/riscv-gnu-toolchain(由于问题而不容易使用zephyr sdktoolchain建立 编译器选项) 必须完成这一点以生产32位工具链,似乎非常棘手,细节超出了此自述文件的范围。 必须完成这是为了获得用于Zephyr Demos的工具链。 网络安装细节超出了此自述文件的范围。 这将报告" OK:55/55" 为了表明所有55个RV32i测试通过,那么将尝试运行RV32IM测试,这预计将失败,因为冰川仅支持RV32i。 这似乎是RISCV-Compliance顶级Makefile中的设计缺陷。