Skip to content

Releases: DASICS-ICT/NutShell-DASICS

dasics-nutshell-v2.2.2

13 Sep 11:23
Compare
Choose a tag to compare

Full Changelog: dasics-nutshell-v2.2.1...dasics-nutshell-v2.2.2

本次发布dasics-nutshell-release v2.2.2,主要更新内容如下:

  1. 在原本N扩展的基础上增加UTimer CSR(0x045),其作用为用户态外部中断计时器,在初始化时其值为0,用户(开启DASICS时可信区)可以对其写一个值,每一个U态的cycle该值-1,当该值为1时触发一个用户态外部中断,进入utvec地址处的用户自定义的handler,在handler内对该值写0清中断。riscv-rootfs仓库的dasics-test内更新了对应的简易测试(N-ext-test)可供参考。UTimer使用外部中断而不沿用原本时钟中断的目的是在将来进一步修改Plic,以实现用户直接管理外设中断。
  2. 考虑到泛用性,升级FPGA脚本的Vivado版本到2020.2。
  3. 其他小的调整和debug。(见Changelog)
  4. 在dasics-nutshell-env集成环境中的riscv-pk仓库内简化了编译操作,现在只用在riscv-pk仓库中make BOARD=xxx就可以完成bbl.bin的编译,不需要手动修改代码了!

NEMU difftest测试与FPGA上板测试均已完成。

(可能的)下一步更新计划:

  1. 保持Chisel版本最新
  2. 继续探索用户态外设中断
  3. 更新ISA到最新的fdi-nh5版本(v2.3 or v3)

(P.S. UTimer在上板时一个U态cycle -1,而在NEMU中运行一次execute() -1,并不一致,所以UTimer不能进行difftest。)

dasics-nutshell-release v2.2.1

25 Jun 04:49
Compare
Choose a tag to compare

本次发布dasics-nutshell-release v2.2.1,主要更新内容如下:

  1. 更新Chisel版本为6.4.0。
  2. 将pynq的频率由40MHz修改为50MHz,加快运行速度。
  3. 更新了ready-to-run文件。

NEMU difftest测试与FPGA上板测试均已完成。

dasics-nutshell-release v2.2.0

26 Apr 06:39
Compare
Choose a tag to compare

本次发布dasics-nutshell-release v2.2.0,更新如下内容:

  1. 加入了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(虽然名字一样,但是组织形式不一样))
  2. 可以使用make BOARD=pynq CORE=dual,生成仅双核配置(无OSLab外设)的代码,Linux在双核配置但单核使能的情况下通过difftest与上板测试,可以尝试用其启动双核,但硬件不保证两个核的L1Cache一致性。
  3. 修复了embedded config,可以使用make BOARD=pynq CORE=embedded编译生成极小规模的NutShell。该config仅在测试开源EDA综合实现功能时被使用,暂时没有进行实际运行(Difftest/上板)的测试。
  4. 去除了编译时的firtool警告内容。
  5. 添加了一个编译的firtool选项,在综合实现时可以缩小资源占用。
  6. 其他小的修改内容。

附件中是使用make BOARD=pynq CORE=dual生成的verilog综合实现得到的BOOT.BIN。

dasics-nutshell-release v2.1.0

12 Apr 09:17
Compare
Choose a tag to compare

本次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

27 Feb 07:42
Compare
Choose a tag to compare

本次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

27 Dec 12:45
Compare
Choose a tag to compare
  • 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);