From 402b473dbbc11d48da1fca575208eadaede14acc Mon Sep 17 00:00:00 2001 From: David Harris Date: Thu, 18 Nov 2021 16:14:25 -0800 Subject: [PATCH] CoreMark testing --- .../riscv64-baremetal/core_portme.c | 7 +- wally-pipelined/regression/sim-wally-batch | 2 +- .../regression/wally-coremark_bare.do | 118 ------------------ .../build/Linux-x86_64-GCC/softfloat.a | Bin 514606 -> 514606 bytes .../testbench/testbench-coremark_bare.sv | 21 +++- wally-pipelined/testbench/tests.vh | 4 +- 6 files changed, 23 insertions(+), 129 deletions(-) delete mode 100644 wally-pipelined/regression/wally-coremark_bare.do diff --git a/tests/riscv-coremark/riscv64-baremetal/core_portme.c b/tests/riscv-coremark/riscv64-baremetal/core_portme.c index 43e204a5..c3b30c49 100755 --- a/tests/riscv-coremark/riscv64-baremetal/core_portme.c +++ b/tests/riscv-coremark/riscv64-baremetal/core_portme.c @@ -195,8 +195,11 @@ void stop_time(void) { */ CORE_TICKS get_time(void) { CORE_TICKS elapsed=(CORE_TICKS)(MYTIMEDIFF(stop_time_val, start_time_val)); - //ee_printf(" Elapsed MTIME: %u\n", elapsed); - //ee_printf(" Elapsed MINSTRET: %lu\n", minstretDiff()); + unsigned long instructions = minstretDiff(); + double CPI = elapsed / instructions; + ee_printf(" Elapsed MTIME: %u\n", elapsed); + ee_printf(" Elapsed MINSTRET: %lu\n", instructions); + ee_printf(" CPI: %lf", CPI); return elapsed; } /* Function: time_in_secs diff --git a/wally-pipelined/regression/sim-wally-batch b/wally-pipelined/regression/sim-wally-batch index c603b843..4b627b76 100755 --- a/wally-pipelined/regression/sim-wally-batch +++ b/wally-pipelined/regression/sim-wally-batch @@ -1,3 +1,3 @@ vsim -c <" prompt: -# do wally-coremark.do -# or, to run from a shell, type the following at the shell prompt: -# vsim -do wally-coremark.do -c -# (omit the "-c" to see the GUI while running from the shell) - -onbreak {resume} - -# create library -if [file exists work] { - vdel -all -} -vlib work - -# compile source files -# suppress spurious warnngs about -# "Extra checking for conflicts with always_comb done at vopt time" -# because vsim will run vopt - -# default to config/coremark, but allow this to be overridden at the command line. For example: -vlog +incdir+../config/coremark_bare +incdir+../config/shared ../testbench/testbench-coremark_bare.sv ../testbench/common/*.sv ../src/*/*.sv -suppress 2583 - -# start and run simulation -# remove +acc flag for faster sim during regressions if there is no need to access internal signals -vopt +acc work.testbench -o workopt -vsim workopt - -mem load -startaddress 268435456 -endaddress 268566527 -filltype value -fillradix hex -filldata 0 /testbench/dut/uncore/dtim/RAM - -view wave - --- display input and output signals as hexidecimal values -# Diplays All Signals recursively -add wave /testbench/clk -add wave /testbench/reset -add wave -divider -#add wave /testbench/dut/hart/ebu/IReadF -#add wave /testbench/dut/hart/DataStall -#add wave /testbench/dut/hart/InstrStall -#add wave /testbench/dut/hart/StallF -#add wave /testbench/dut/hart/StallD -#add wave /testbench/dut/hart/FlushD -#add wave /testbench/dut/hart/FlushE -#add wave /testbench/dut/hart/FlushM -#add wave /testbench/dut/hart/FlushW - -add wave -divider Fetch -add wave -hex /testbench/dut/hart/ifu/PCF -add wave -hex /testbench/dut/hart/ifu/icache/controller/FinalInstrRawF -add wave /testbench/InstrFName -add wave -divider Decode -add wave -hex /testbench/dut/hart/ifu/PCD -add wave -hex /testbench/dut/hart/ifu/InstrD -add wave /testbench/InstrDName -add wave -divider Execute -add wave -hex /testbench/dut/hart/ifu/PCE -add wave -hex /testbench/dut/hart/ifu/InstrE -add wave /testbench/InstrEName -add wave -divider Memory -add wave -hex /testbench/dut/hart/ifu/PCM -add wave -hex /testbench/dut/hart/ifu/InstrM -add wave /testbench/InstrMName -add wave -divider Write -add wave -hex /testbench/PCW -add wave -hex /testbench/InstrW -add wave /testbench/InstrWName -#add wave -hex /testbench/dut/hart/ieu/dp/SrcAE -#add wave -hex /testbench/dut/hart/ieu/dp/SrcBE -#add wave -hex /testbench/dut/hart/ieu/dp/ALUResultE -#add wave /testbench/dut/hart/ieu/dp/PCSrcE -add wave -divider Regfile_signals -#add wave /testbench/dut/uncore/dtim/memwrite -#add wave -hex /testbench/dut/uncore/HADDR -#add wave -hex /testbench/dut/uncore/HWDATA -#add wave -divider -#add wave -hex /testbench/PCW -#add wave /testbench/InstrWName -#add wave /testbench/dut/hart/ieu/dp/RegWriteW -#add wave -hex /testbench/dut/hart/ieu/dp/ResultW -#add wave -hex /testbench/dut/hart/ieu/dp/RdW -add wave -hex -r /testbench/dut/hart/ieu/dp/regf/* -add wave -divider Regfile_itself -add wave -hex -r /testbench/dut/hart/ieu/dp/regf/rf -add wave -divider RAM -#add wave -hex -r /testbench/dut/uncore/dtim/RAM -add wave -divider Misc -add wave -divider -#add wave -hex -r /testbench/* - --- Set Wave Output Items -TreeUpdate [SetDefaultTree] -WaveRestoreZoom {0 ps} {100 ps} -configure wave -namecolwidth 250 -configure wave -valuecolwidth 120 -configure wave -justifyvalue left -configure wave -signalnamewidth 0 -configure wave -snapdistance 10 -configure wave -datasetprefix 0 -configure wave -rowmargin 4 -configure wave -childrowmargin 2 -set DefaultRadix hexadecimal - --- Run the Simulation -#run 7402000 -#run 12750 -run -all -#run 21400 -#quit diff --git a/wally-pipelined/testbench/fp/SoftFloat-3e/build/Linux-x86_64-GCC/softfloat.a b/wally-pipelined/testbench/fp/SoftFloat-3e/build/Linux-x86_64-GCC/softfloat.a index 6ea94ddadad5c0199d0e76d82bb9fa912d51159f..b4466d620c87eb2f27cca4ea509da998f57c5a2b 100644 GIT binary patch delta 5936 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 delta 5929 zcmZu#YjjlA6<+5)gF(#d0y7gEp@3STU^1CINmN3_Mw=mtsgWuQ81euW4N*&IB?1;j zMa0OI92TxXRD!P%VlS{Qng<{V;r$S6Tu2bnR*b}A(1jMd@40jKozVW9`<-t;&OUqZ zv(Geb7~HgBaLrX_S|}7q3t8_B<-^_I!I0fP{Bm7>MB0b@?d}mjYq3D2d&E6<>GiJ? zSUX86u`7ay`v8%OpkX&>?u`Zgc3swRPkH5%5_{xtPZEPKuu)M}?oWLXpIuWhk%WY; zf;;=z@<-~ja_z;FK9zFmjwZkT^wc~lm(JUZjWFNWuEyCT%Wm=DAps+7w>~hJ5IcKT zgAv_sIFtC5GF z$+w3tTi?ffpWRbCmS|{WEQ=)6>vmP$+hjRXyfD!oSHI7*v#4_?=vEWT@TrD`?p9%8TNt0<)px&N9uPLMb4ZWU~laFD~Z{KU8CtEa^Ubx z`^>5H1lT>N2YEU~2L79}B7-Mfrd!F3G*!uW_H?%M;9m9%ZVG(i&Tg;2OLxwdsvX)q0m^W?J;`q{H zJpnq#vs=71$I+_X7)PPFfX$Ahjr5!@fvmfjtxF#-rf7ahn8K`nQBEdDi9~)q=o6r6 zI(y8+Q|j3R@KPnaDPB^=mP6H^xl9=HBrBKZG9!+;Z=XYRB;mxi?M1dj##Wfa9dhuc(G8$0TmO3^hR9QlxSdveX6vqU(4 zfX(agx@e_1o8oBCfIY|9v1s~ODS*t;MB>f)XfJ$*LDZg=!iDxBy=;3_yOmO#iuSY% zY)UkUNNRq?4D-)!QwG8gQ<>ul%b@4M>z6B!5+8;nDlbHjSDM(9tehef;mMHRC=;IAXZ-(*0mz4f+b42+- zjRuOZUZ$5q1y>H!Hl2!Z+Qhoe0C=Um4gKTPPe_O_7^waWJ{q8|AqWtnoKNF5KdOGfE_#GC2}m?nK6QjT z9F`7MXBhGf*Vh@PfUr$;$lj#kIV7m6!S{_)4d_W#x64oq{bevDq`u?{;EC*Jd{zdA zVQH57p~rPfoMZh3VC{I-mPMEb#S>I{2U_CmB7=L2)N_c7OATV zb~=`ebHtNi!xHrcZxJ^T6>43k&L=$5)$D`GE7Z|4HbLjyqfBG9`jy9Y3iJ;RDivr@ zluq_rYIpRmvH0LbrIe3pQTxNI&FWxMDTrO0)Ki`^=hFM)eN|2lRuBresZW!HlUtZd zd2n-wnn5TmIH0bhFJ7|*Z|K^O)tM5q9LNv9`b=$%ft>8>{=&;Hi#OL9emHSj)uI=N zWkoZn{co5&t>3Fu$rfO8_L4HEk}+@Qf2GF3eN5|+d1C?QO|m>ji({}Kgw_Gt^K!!; zw4A~1S8C@-lH+~qgR&%TtUPkdO`P~)8YK>jm#bya{A(?jSesHcd8J#Hm}rV_(7ue> z(Rhsx)eZHnl=Au0w2_c=uXaG< zA*Y=H(p4Fw5DthX@bwIBcXUd!_{9#z&oNK(Vb`Cv<&1}`SOTw@tHr^-3XSfJkZ3_& zk7`d)r3*oHNC>VVn;fsq66lz(jUwj!f$DVLyF?2>WRZ4`n1K1PmppU2iVvzI+T}7z zA*flY(eb(-ta(LiAravdPI7gGILT82i`Hw@enL+2P=gJ*R(^g@>z3ZZ?N0yaFV59W z*!qD+$(1e|K;ur08bG?Jl%9hcRSF?Eh@AYy%bRrQI;P37&k`@9QfT{93&_2@$`iiP za%5Txgk!(SgZ5tS6PZZqfK5k^W~d44u$(6k&rg#Fe}oKr3_!+vghNV_PDz&TMAVs$^LUM^UkUq$=yDXc(g6p3iha76+q*~Wa&EWq zd2$3V&FVCLmsFm?Yd+LVpefVy)MKq>&~dXqOb!%+TLyREs`rz-a>aR8k)8=^zJ7?* z3NQb0wVBWN=IJ4rQ>1rNlf$7OJN+bmJ840-JFo)|>_zg}-Pgerwvh+LSGmQCvm|ZJsa84VKoCAw4W#M({thKYW*xZ=uU;#|3x2jnPdWv6afWlm+IKq z!~@03bTCWm%5(?V?^o!@P?w$!8CU2r-}XU%DFi*nAg@>78||{86ll*eS2Eaqo?;_0j@a0ZFB>~NZqF444z)YtjV#DEj8m5^ z04~U!LM2FUA^XnP$1GAkv_J4fqtlbbQQ%{2{K>IqT+jYgJ40uIR!Sio|O4GGA{u~md& z^JZgiG`&Ls_qN_*Ozk6#52js4gh;&poZ*8#`;C@p8HNIY`qJ%Kqk*=<7Tr#%G`C zSA5kqrVk2yrX09J&dBcr?2}WZ+emjBGBV}W5lVyRQKl?+6v00T__$1SE>s1~w@FUK z1mSCCOw!z^%v0H>e3POkEMuw<@pY8J4f&=V;9Uk5@7JFz3H<6_J&sSk+Z+bR?l5=C z)DvQ{6hO*pZx!Pu--02WN++8~8ULx&jEC-0^N6I0g_SIFPiq1nGs_$Wbq|Pl@Qdf(x_XG~Xv0DWP^8 zbRleDIgDSnT1kLa8@xyd0soJc4-||8ejQ}c+vcgn@l;^XZI8j6MpX{jI4l