From 7e62e02b7cf87289cd89638a95f37ebac586eed9 Mon Sep 17 00:00:00 2001 From: felsabbagh3 Date: Thu, 7 Nov 2019 20:52:36 -0500 Subject: [PATCH] TODO update --- TODO | 23 +++++++++++++++++++++-- emulator/core.cpp | 6 +++--- emulator/core.o | Bin 50224 -> 50252 bytes emulator/harptool | Bin 160192 -> 160192 bytes emulator/libharplib.a | Bin 165648 -> 165680 bytes emulator/libharplib.so | Bin 138104 -> 138104 bytes emulator/test_riscv.sh | 2 +- 7 files changed, 25 insertions(+), 6 deletions(-) diff --git a/TODO b/TODO index 02a7d5ca..0e4b84ed 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,23 @@ -* Add L1 cache + banked scratchpad -* csri bug? + +Functionality: +1) vx_cl_warpSpawn() + -> To be used by pocl->ops->run + +2) newlib Integration (LoadFile("")) + -> To be used by the Rhinio benchmarks + +3) POCL OPS Vortex Suite + +Performance: +1) Icache doesn't need SEND_MEM_REQUEST Stage + -> Blocks are never dirty, so why not evict right away + +2) Branch not taken speculation + +3) Runtime -02 not running on RTL, and -03 not running on RTL and Emulator + + +Vector: +1) Cycle accurate simulator (would require Cache Simulator) diff --git a/emulator/core.cpp b/emulator/core.cpp index 51daf5c6..53bbfc10 100644 --- a/emulator/core.cpp +++ b/emulator/core.cpp @@ -257,13 +257,13 @@ bool Warp::interrupt(Word r0) { } void Warp::printStats() const { - cout << "Steps : " << steps << endl + cerr << "Steps : " << steps << endl << "Insts : " << insts << endl << "Loads : " << loads << endl << "Stores: " << stores << endl; unsigned const grade = reg[0][28]; - if (grade == 1) cout << "GRADE: PASSED\n"; - else cout << "GRADE: FAILED " << (grade >> 1) << "\n"; + if (grade == 1) cerr << "GRADE: PASSED\n"; + else cerr << "GRADE: FAILED " << (grade >> 1) << "\n"; } diff --git a/emulator/core.o b/emulator/core.o index 62ec4f3ca34a4d96f89d2594d610173468f996ac..c7760ea5850e6bfb26a938818051590e01ed4b33 100644 GIT binary patch delta 3971 zcmZ9Ndr(!^6^Hi$6p4!7T1!yq;c5mXicnuX5;SBYO>2x8gV=TquUyT967iKlK+ZL> zO4N+vo*3kjsOTsr(a4oHwUZQ5Z62V;mUO1mJYX7{q*JGAC(kjH{MKE+bd>YQ{rJ{e zd!M!UKIiaqLu6k=&jR}1jHKsAX)|j+e8;vOh zQ^93m5?E^!_qv{BdpE$q*T`e!F0z&^A@3vSledyLlZNbDuk)TD>&OXY#Cj8fHeTHu z7j7eVotD?GRsNdHBmY~a@g8z5Sxhb_ZzEI5o;5mdDfz)8>Z{523S*Z&>kIcVW3}dz zz#?qPrB&+xATNLtZ>4W1>lt4}&nD9t|2m-ad_ukl$~+zPX9LCypTQ0$RxpuI<}f~v ze(gb>@G>Y9_0nGh+ILA(lS1)x+f1SLNc^uT216Bxe2Z#_iVH4ZAGT>K71;`37~lYQuV$9^+Hhc^-GNT z8F=r#8h>lC#)s}vF9D^la*^^WY=yW(#$&Mf*1MH2{1oqdoei{PqM5dqxbUZGf4+X2 z_JYe$yc5Lp(IO3BYDxFW!j3I8=6>)gu-2xv9`UM;$-TC~m~Duj0_8UO^aT2w^R@lB zTs_2bpln|>DBE`RcHOp5K@UC%O8)Pl(tn94ix$1TuS1Nalm}A#s&@+#Y^H{CDLvs&*7!iI{i%038yFgiW zX|%TB2c^7eq_U1&N+yt3Mri(3@;KQ_ZYQfrA9)~(XE!rSC+Ln;9w$eF($KyLjqfzN zs>$G!h+`QBpUm8wz)kl3qs30W&FzSDw%Eds6sOK^>R8~bM;%@%gU2Cp9=OGx>&VP| z+?d$?IJPpd2^8NA7K07+AXoygrdNUG@Q1`h3y*yp;r+%Ke07Y$vlQDu7C&fo)kcXJ zbAAjQrQ=miSu7k2YG8f}eHZ<=G9LLR`c8Tay^P*L&l-#8LI(Vafe9?QNPk-zK)#>; zJNifTL-bGS8`;q3^tp8NsIK4w=bu7Knr`9pF8>`+#X<{zi`(F^EFcn#%BrU%s{OsDNR;d=kV z3lNK!*EEK!%xNjZ%h|n2-QlpaoMt-PC}10BC69x=pZ*N}SM&;c2|bU#THP~o3{2 zh9mOxA3J!`bq1}|nVxqB^Goh>rlyzEGw{z=u1|1kl7A;#eHKntysAijja}R6I-lFd zPS>j#p}CA1n#;weO6?u^sL9ncTD<`OGUdvl4`9FK+7pBP$e_6!ud!U`=~?s@*e}UH zL~o<7Q1{GanGgljSg=MWhz^==dKY~^Jx3-$eta-|Kl3Pkfcb0mAbkWDh%@;A)qaCd zHRfa7;QE3mBX9IG_F~9&?zC4zuK&Fo1{?GGFmJU#IhF3rv8AWdOZ#!I*Uvk3SnYE- zmFx3IB5w4R!+iFzJ}210Q?74lSXHm}b-BJH!|r|B=5;ObPaM`k4xZ=hJLnA^=z23E U`j^W#%qb773k6>39qpL!0KvtY|CD?elz1I| z4O!0k6nYk!#`yVS?dKcvGf?_zq(5D3f{`;=%ft*Oa>(l#?@RwxlJw3t10n-8 z&CN+O)du!6n9w`(uJJk0H7jlwoq{gXnLK*XbvW(?jeF22s}&lx;hA zy>8oSP&Vu&DEW^;$-mEh8}oxf8Ry(sGcWR=->%aR(m+WhW~omdqux7H{p4t6$taEA zb*=gn*Qie!sqQ6T$k2E{5TD0-y(%dqbk}1*8SRqc+A0Q|0e@|ndIPzFEGBcv3~~_J zll*b0w)c=WRXvc3S6oiP%RuuGO^he^rKoQt3&}+C++fYO32pr|?>bAuCC{cf9$7_d zvL>&+9IFd&+nnh*OYDg)t`o3-Zt;2KT>Oc~IA9JKu*F+_i4xt~U!zZfa%ywHfcV*yl3N4|*jWueue3aVnYMf#lx!s^@rS{X{jkB8C992xEd)l*`CG zauC_sUGuM!FOqfS8Ztn7$Su)4yAjdaL2EbVi)0T_CR81z@pVR5H4uCRaV*2k#$D?L zF0&_|FL0LIag7Piqc*=W#VNDP8z*>{qYhWf;B`nE4L)j*HfBzG*qHduI5zw-jh z8^8i^H9Z9S;Q@LnSOmXUJeGN+NtY3!GJ9ORw!HT0QuKiy9sO`oeCG;s`+u;6R%!(#ew zdVpR}FQ?DsgdU*}q_3j4u>ZC6mGlh}FEVB(1DjZIHNBqxyEt|!BNW*X(+>2-<(xP` z{Qy=ko{LYOJpHj-;-z!dKem&aU2g-cHY90uF{_g01B1tBE1GZjOvdM}uM>(yhFBBQi%%^uS-$@VA&trRW2LC=)Snz*-r7@pj zfd2yc743GR@3Y6ku9Imy!>;$(1&xh)xry Be;EJ( diff --git a/emulator/harptool b/emulator/harptool index f7c8adb7aeeaad1453b0246f2e3ba7c8bfe7cd28..96b5ae5a38ec7e9a18765c6e8b8f9bd02e8872dd 100755 GIT binary patch delta 42 zcmV+_0M-A%;|ajy39z6C5Ja<=RuwWanzfF-c_tGY5VNocT&n>%gAKE{4YL8WzJuuz AXaE2J delta 42 zcmV+_0M-A%;|ajy39z6C5N98Fa$KD_sHWrb4I=;8&$F-xT&n>3##wDOGp$)?&7H_v+ui@e``=Cd#yP+9d!FaLf8Teo z;kn@b&jmNQ0@Bkml9LV$>FVKIzf-Hn2Pq}I8g6-gpyiEwEOQvIWc;`E(GfO(knQsr zAIrMq%K7+(-=<6Y!M4*Vk-&H;)!K_9t|^sv89_Mh)# zgH{GKXL^Q(hH(ccu$%*}Azvf?f<)0Dx1!I8LfvkU3fL6HSu!aMqOdDy*eDo^Xh0{g;Ji*l}ZWUC-;z> z$O^KEe1IHBjwT0^iafEx_PdX)BnOa=6}Vqz;7^w;^$@rRoCz)iB_2vvEVKSNIf48~ zsf~A#%g917~pGMClJw7IWD7GD4AlrVg=a5;9_oLrjVEelUN8K0OIw4d?$}IffiW29Y-& zwe1>7H@R<)jmML&Im&@~v{mTnnU$DU33gZ3Js*^H&jw{V6G5!clLGz%9K!gu*|zRH zDEY&n)NcoUW_TqZ$zqn}fp}UxxuBF!2Bkb6^noLok7PU;lxh5ct&?`&g3|75P}+S8 zO1tBrOsf@?V`^r+K2HtmF04WT|2!-4A=_U9R+w{`AKn~4$~5Z`ZF~SP7;pe6etM?$ z6S>y&K*?9nu+P)|_uKgK={A1pm)46wsarD5@)^ucT$2%a7{%+RSibdhoI<5(snY2Y zvaBOHN-od4pq$2Du)VD4!RCiB$c(qP&O7Wh_N<9cZ16G*gYQ4+tRVw@Dc%{}M z{A*Cg%ArS!8;=h+p6qO|Y`de^@3TAl73f3!0x0=2pzQdcnD1bI1Xzjq^?NP9&$8`3 zpu{6GtxwOe-Y4Dqg*3}0sTf8I9~x@|&!*VIY01{z06j4z4mGbvi#&CKd`^4qghgJO4*e;_cu%um!9GAEU<# zO-r5rFi6TibE4e8WS#z-!{^0~TiDw+n*_@G=k~I*aD!66HPEt>oJmHK-vrqFZ^*sm zi{u8-lt&-@VjCi=V59{H{Gjr14j^XR+j86mi1q`~hP7{G#0=pV@hkUvfL)4!m{(M;zco`gZzX{?`Hh553^=kfH(Rl*4-GXJ^^fE~&xxA~{(C+NBK7(6_3jiA?9cc_Er`$qi2eu)Po6c4p( z>@HJ>r4A2mdzE#~cE{My7|tV?^Ef7XoaBS_E%Zm|CG;Zt1o|TDJ{8Wu5*A$NMy#YC zp?m3X(yQqUIic0`5%hKRcJ^OSZ=g4H`!GCp3^cRgK6(p1Fw|r<=_vPctg;`T%3Qqi zmxq@&$?S=QjPVIRw4b#~EM70Jj#b!6Du1 zM}wP2KN_Vcn%HI?eb?FBnk)4|fO**HDC2F`F?y`o)~pkfPvcl`?P2I0ZC=8O+?wCz zFkd(8C}+wYGZ|najE;6*a@=0tX{Jhe*BzrAHswZ-cZc0ESQhU2TLrGjw{O-e{kjQQzGN=;8mN=ixc*X-2sb@+e3e}9~#YYM&?d>QC( JFLUHN{|j12B9s6C delta 4727 zcmZ9Q4|L7v8OPuE5)vfbwMa%)uOURA-pJ<6_ zUb<#SIc5G#+Gc4=H)3p-!`fP{=UC~YW@?)=>@-ttw|$>H->t3Raq_vJ=Xu^gzxREA zznggd#SYu?FCik3m6?(CM(>t3;d%S5dA5f!!du;ycVm_Jx+$|6U(NVQdUBlR-(>q- z#)q=5iTQnuPhedI`R{lWHoFFU%(Zya%7~uII-l|a3MGGrevQ0GzQcCWeyyvb=acEZ zH9np`j$XlWrX_^6pqPP2d#T4ID03PAl<~qujkl23IPh0wcMed*35LntWD5H`$Nuxe zY*5F5v>Mfjm$4B}bFf$ZPB`iQ~+C4inhE++#BPC{NML>7UT+ z=^e>(#^0siAYWrVU%YN{yRLmbnSr{^$v+w6$;_%7IREkre_(i4Mj+txWd?@$e7+(0 zNOgHI^}~uHPrMZKF0BV;bv?DXzNmmqgpA>guZ*b%7h5D(xyaDrCC@xgnbv zUS&+mxn;%(PmqVmZDa{qKt4f^CX>ln(vatuYQMGQYVsk{vlItd2L51)G1I|A;1qB% zDDfDwWU>0Qc~fi9EGP+f7-711tl5{G4(wxo?3nk0S1$XUsTo z^jyskCVgNY;pu}IHmy@N8Poig$DPbn=7imYIl9xg0=pfyZ6^u`#XOkls z?@a%)Q2VhPyQ4sx4J3P#ck(rU zm|RO{k%Pz{WE6RCmbR-T{bcP-ji-_cGmQuHs4uaJQ%W$c1z26V?>S%?oC?bAj04w# z8Q}N9-i+U#s&&nvbXMXu@5TDS%Q{7YGeAF})lz*X)F=7%@OS2E2F zh*myfjI6>#p!mfp>gRLRb3w_MKCaKxV~=UPX|l$z|3JL}l)8nJlv^-2aZASGVHDpu zQF-`#*o6{Tv&IJF!PUt!FsFUJ_O5#gVMGFCP{UfiXGaqz+jw;!b|diT4!qBlWV(W{{3FM+b+zi0jw z^Zh~T_U=gK=OeUz3MlcoEcMC5)jI~&uMSf#%tZH6IDM!FUdYhGNki2Ac?*hv0 zevxL(ai#2)8EssayOenj z?S&g`xbnOWTD!t^U5`@`a+&LGo>%s(0KZ*XFdGcH8ieB{yf;?EFM+b1g6PAOUAF0j8gL40~+v_a+pw#bbr(8`= zA>+wA5t{!cd6ayGEGI*xmwdG?ULi6-YFq7~v5oR5*$$Km?e=JVD<07e@SfoFAnwD= z!VPo)SG%qiHa~6+!iCrt9F2q-Al?h3o&?vq7b>v7C9b~0j`2zr9z%lzlQ0Zi=OVV+ z;MkSM#Oy&azG`B2f#Tc2d~h?p3@m_$=*8e1_&o83HCyd}JmK}m;QeF_j$2GqG=5&eFHhKm1<@^y~DI^c!?9{WJRC zIe|93p>RC|(G2XRe}^8y6=)9W3KVdH0p@qh09c{nIDm33qMxTvp!@J}$kmfxrtUEZ z+~<|}hW!W+MhqTmQ`uT(YNZYjZ6nUVTrDy$jPq;uf=98BRt~__F%0BKL zj~85LThqll;7e4lGI3L9l-Y~HtCywtV31utX?+glB%(V7rxcpn1%7n*PBqf3)LD&kSay A>i_@% delta 42 zcmV+_0M-Bawg~vP2(VxW5cK results.txt echo ../kernel/vortex_test.hex -./harptool -E -a rv32i --core ../runtime/mains/simple/vx_simple_main.hex -s -b 1> emulator.debug +./harptool -E -a rv32i --core ../runtime/mains/dev/vx_dev_main.hex -s -b 1> emulator.debug