Skip to content

lab1

概要

lab1-a

  • 仿真:make test-lab1a
  • 文件:lab1-test-a.*
  • 指令:addi xori ori andi lui jal beq ld sd

lab1

  • 仿真:make test-lab1
  • 文件:lab1-test.*
  • 指令:在简化版基础上增加add sub and or xor auipc jalr

注意事项

  1. verilator仿真输出 hit good trap 即算通过,后续可以不管
  2. 上板和vivado仿真都会输出 hello world,最后在跳转自己的指令处死循环
  3. 汇编代码 # 后的注释有bug,结果不一定准确,以实际的指令为准
  4. RISC-V架构的内存地址在0x8000_0000之上(addr[31]=1);外设地址在0x8000_0000之下(addr[31]=0)CPU运行的程序最后会输出 hello world 至串口外设的地址,所以上板可以看到串口打印出 hello world。但是仿真是没有外设相连的,因此接入仿真需要通过 skip信号 来忽略对于外设地址的写入,助教所写的仿真顶层文件此时会直接输出 helloworld 来验证正确性。