diff --git a/Makefile b/Makefile index 2d01fcb..ea08863 100644 --- a/Makefile +++ b/Makefile @@ -62,10 +62,13 @@ VSimTop: # +define+RANDOMIZE_MEM_INIT test: - ./tb/build/VSimTop -w -l -f ./tb/sw/build/mstTest - - - + -./tb/build/VSimTop -w -l -f ./tb/sw/build/mstTest >./tb/sw/build/log.txt 2>&1 + @echo "Processing simulation log..." + @cat ./tb/sw/build/log.txt | grep '^\[\ \ 0\]' 1>./tb/sw/build/cpu0_log.txt + @cat ./tb/sw/build/log.txt | grep '^\[\ \ 1\]' 1>./tb/sw/build/cpu1_log.txt + @cat ./tb/sw/build/log.txt | grep '^\[\ \ 2\]' 1>./tb/sw/build/cpu2_log.txt + @cat ./tb/sw/build/log.txt | grep '^\[\ \ 3\]' 1>./tb/sw/build/cpu3_log.txt + @echo "done!" sw: rm ./tb/sw/build/* -f diff --git a/tb/sw/src/mstStartup.S b/tb/sw/src/mstStartup.S index 1a12508..d7c183f 100644 --- a/tb/sw/src/mstStartup.S +++ b/tb/sw/src/mstStartup.S @@ -71,10 +71,10 @@ _prog_start: #la a4, flag_intRxEnd call mst_svr_code - mv t0, a0 + mv t0, a0 #这里选择不同的trap_entry服务函数,这个是RV32I的代码 - #la t0, trap_entry - #la t0, opt_trap_entry + #la t0, trap_entry #这个是最初版的trap_entry,仅做了RV32E的改造 + #la t0, opt_trap_entry #这个是做了汇编优化的,也做了RV32E的改造 csrw mtvec, t0 li t0, 1 << 11 csrw mie, t0