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