Skip to content

dasics-nutshell-v2.2.2

Latest
Compare
Choose a tag to compare
@Gwins7 Gwins7 released this 13 Sep 11:23

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。)