Releases: DASICS-ICT/NutShell-DASICS
dasics-nutshell-v2.2.2
Full Changelog: dasics-nutshell-v2.2.1...dasics-nutshell-v2.2.2
本次发布dasics-nutshell-release v2.2.2,主要更新内容如下:
- 在原本N扩展的基础上增加UTimer CSR(0x045),其作用为用户态外部中断计时器,在初始化时其值为0,用户(开启DASICS时可信区)可以对其写一个值,每一个U态的cycle该值-1,当该值为1时触发一个用户态外部中断,进入utvec地址处的用户自定义的handler,在handler内对该值写0清中断。riscv-rootfs仓库的dasics-test内更新了对应的简易测试(N-ext-test)可供参考。UTimer使用外部中断而不沿用原本时钟中断的目的是在将来进一步修改Plic,以实现用户直接管理外设中断。
- 考虑到泛用性,升级FPGA脚本的Vivado版本到2020.2。
- 其他小的调整和debug。(见Changelog)
- 在dasics-nutshell-env集成环境中的riscv-pk仓库内简化了编译操作,现在只用在riscv-pk仓库中
make BOARD=xxx
就可以完成bbl.bin的编译,不需要手动修改代码了!
NEMU difftest测试与FPGA上板测试均已完成。
(可能的)下一步更新计划:
- 保持Chisel版本最新
- 继续探索用户态外设中断
- 更新ISA到最新的fdi-nh5版本(v2.3 or v3)
(P.S. UTimer在上板时一个U态cycle -1,而在NEMU中运行一次execute() -1,并不一致,所以UTimer不能进行difftest。)
dasics-nutshell-release v2.2.1
本次发布dasics-nutshell-release v2.2.1,主要更新内容如下:
- 更新Chisel版本为6.4.0。
- 将pynq的频率由40MHz修改为50MHz,加快运行速度。
- 更新了ready-to-run文件。
NEMU difftest测试与FPGA上板测试均已完成。
dasics-nutshell-release v2.2.0
本次发布dasics-nutshell-release v2.2.0,更新如下内容:
- 加入了UCAS本科操作系统实验课使用的配置(修改了chisel代码以及fpga工程以实现双核及课程需要的一系列外设,同时关闭Dcache以保证一致性),使用
make BOARD=pynq CORE=oslab
即可生成OSLab使用的Verilog代码。该代码在OSLab的集成环境(private)中可以make
生成OSLab使用的BOOT.BIN。(也可以将fpga文件夹的编译CORE换成pynq-oslab生成BOOT.BIN,但是其并非OSLab实际使用的BOOT.BIN(虽然名字一样,但是组织形式不一样)) - 可以使用
make BOARD=pynq CORE=dual
,生成仅双核配置(无OSLab外设)的代码,Linux在双核配置但单核使能的情况下通过difftest与上板测试,可以尝试用其启动双核,但硬件不保证两个核的L1Cache一致性。 - 修复了embedded config,可以使用
make BOARD=pynq CORE=embedded
编译生成极小规模的NutShell。该config仅在测试开源EDA综合实现功能时被使用,暂时没有进行实际运行(Difftest/上板)的测试。 - 去除了编译时的firtool警告内容。
- 添加了一个编译的firtool选项,在综合实现时可以缩小资源占用。
- 其他小的修改内容。
附件中是使用make BOARD=pynq CORE=dual
生成的verilog综合实现得到的BOOT.BIN。
dasics-nutshell-release v2.1.0
本次release发布dasics-nutshell-v2.1.0,主要更新是将编译使用的Chisel 3.5.0-RC1升级为Chisel 6.2.0,mill从0.10.13升级到0.11.7。RTL除进行了版本更新所需的必要修改外,整体逻辑没有变化。
附件中是新版本生成的BOOT.BIN,其余文件可以沿用v2.0.0版本。
该版本已经通过NEMU difftest测试与pynq上板测试。
Full Changelog: dasics-nutshell-v2.0.0...dasics-nutshell-v2.1.0
dasics-nutshell-release v2.0.0
本次release发布dasics-nutshell-v2.0.0,其按照xs-dasics-v1.0用户手册规范更新了寄存器号、指令定义和微结构等特性,实现了dasics的nutshell版本与xs版本的dasics行为同步,提供了使用dasics特性的轻量化环境。请参照xs-dasics-v1.0用户手册进行使用、测试及进一步开发。
附件的压缩文件为dasics-nutshell-v2.0.0的即用包。压缩文件中,Zynq文件夹存放上板使用的RV_BOOT.BIN与BOOT.BIN文件,将这两个文件放在Pynq Z2开发板使用的SD卡中,即可实现dasics-nutshell-v2.0.0的上板启动;NEMU文件夹存放编译生成的riscv64-nemu-interpreter与bbl.bin,使用riscv64-nemu-interpreter -b bbl.bin
即可进行dasics-nutshell-v2.0.0的NEMU仿真运行。
dasics-nutshell-release v1.0.0
- dasics-zynq: 包括预先编译好的BOOT.BIN(硬件部分,NutShell处理器核)和RV_BOOT.bin(软件部分,bbl+linux);
- dasics-qemu: 包括编译好的qemu-system-riscv64、bbl以及img;
- dasics-riscv-toolchain:编译好的riscv-toolchain(包括riscv64-unknown-linux-gnu和riscv64-unknown-elf);