冰川是一个用于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中的设计缺陷。