From cf63e61e63460a7fcafe898f07b5fa00310b9873 Mon Sep 17 00:00:00 2001 From: un-lock-able Date: Wed, 10 Jul 2024 21:13:09 +0800 Subject: [PATCH] Add more tests --- .../sim_1/behav/xsim/xelab.pb | Bin 3259 -> 980 bytes .../xsim/xsim.dir/test_cpu_behav/xsim.mem | Bin 17170 -> 17046 bytes .../sim_1/behav/xsim/xvlog.pb | Bin 5291 -> 16 bytes .../sources_1/new/InstructionMemory.v | 22 +++++++++--------- PipelineProcessor.xpr | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/PipelineProcessor.sim/sim_1/behav/xsim/xelab.pb b/PipelineProcessor.sim/sim_1/behav/xsim/xelab.pb index 71a5e1357a1d90a11557a8819412cdef960c6fc2..83f391eaa70f8a1df1e7f43ef4bd18a9e4842147 100644 GIT binary patch delta 139 zcmdljd4+vL5OaM#m#1I8f^$YLVi+~LRw}{YOz8|zCv%P-=315p#+FBLK>hD!2du literal 3259 zcmb`KU2oeq6o#9Rttc@R*|N_x+1M4qvaOMANsi+Jy|5jpGwP(7KhmziX3!F26QM|f zq#P&1?g#8<*ZVd5X`?LLRW!L3=3NP-#pk@|@FjH&o`d&yCES%@V|{DQF66(vCy5tO zq_{9Y0vqRKgj^2W^SOKA?#RrWmSMiWYg_wPxl|h7@z=-ef3DowSOtHrfVBxM&iM`e zTI2q;AcLWTh4SISz9yLP6`_QUAHxQ73|OHQw!#-AY+;GT2)hP&vnpH=uCido9Uk?_)Q2Mc9FD@Z1|jtT9#_yPq~QPK}*0!H*U$leI+^^>88bhfjx#7-bE@h6LYPopG5z8rD|6_%>! z_(89ahiH^Q8?#@N^8?z~!YCiWP(2q&VIv$xdu-d~coD1Mv#!(?)CGi+q7jB_C@^v( z4_T#Byqs%bW$F~WY~7}8w-pj91WBdq?95~9l27bt*=7ti)lxi+Q=Wl`XGlue844Z@ zhVYcLHn|CzFMLHja)ZSLb#PcrqU@q|%epnNQ{$dbvC`&RpvXLoACO3qRX&I-IsxCj z$tyZGIv?mFh2RC{R}e8ouO*pQ%Pu5!S$6T3u2ZlV)AdfGSt|dFXqAg`i7l|(As!A7 z8mB?%aCpH5oF4peNak09W!o{F`5ss+_;R`x2l+Vl6l{h%!$UoQ9(MzZwL>P?N&=Mua6!Tp{?FMC(yCOy(GStC6H58oB( ze~-{$Qi;F`t#*PvF0RufoM+A90r(=3Lm1&0D`%KaewCHH10E#EHO`daw9AM}XaAIy z{Uz8=uv>UQq{8BuP@E25Vp|)Yhh3tt^7>d|=IWa;^_0ELDt{YnCFF-iKf(@o7l=R0 ziv9#_CeW2;H(l-$9;uJ@cQf>0I(dnGj7(i|bSEOy;Y-MVDTu;VtPSghqYqth2J?4aR){>de($i^GMxvGNZhy}MHY diff --git a/PipelineProcessor.sim/sim_1/behav/xsim/xsim.dir/test_cpu_behav/xsim.mem b/PipelineProcessor.sim/sim_1/behav/xsim/xsim.dir/test_cpu_behav/xsim.mem index 2bcc31b7a912c7b705c0f7af5e6fc434d4015920..b9d6d6dc4b83871ceded4a7962365c139176af5d 100644 GIT binary patch delta 13235 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

mP!7Io<;}*ifoF_ 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 L%zAOWs`P&V=2w!_ delta 13357 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 NU)(U)VA3z-egI0`luG~r diff --git a/PipelineProcessor.srcs/sources_1/new/InstructionMemory.v b/PipelineProcessor.srcs/sources_1/new/InstructionMemory.v index 576a8ed..e4b8198 100644 --- a/PipelineProcessor.srcs/sources_1/new/InstructionMemory.v +++ b/PipelineProcessor.srcs/sources_1/new/InstructionMemory.v @@ -7,17 +7,17 @@ module InstructionMemory ( always @(*) begin case (address[31:2]) - 20'd0: instruction <= 32'h3c104000; // lui $s0, 0x4000 - 20'd6: instruction <= 32'h2011000a; // addi $s1, $0, 0xa - 20'd11: instruction <= 32'hae110010; // sw $s1, 16($s0) - 20'd16: instruction <= 32'h8e120010; // lw $s2, 16($s0) - 20'd21: instruction <= 32'h2231fffe; // addi $s1, $s1, -2 - 20'd26: instruction <= 32'h02329820; // add $s3, $s1, $s2 - 20'd31: instruction <= 32'h02529821; // addu $s3, $s2, $s2 - 20'd36: instruction <= 32'h02519822; // sub $s3, $s2, $s1 - 20'd41: instruction <= 32'h02338823; // subu $s1, $s1, $s3 - 20'd46: instruction <= 32'h26310004; // addiu $s1, $s1, 4 - 20'd51: instruction <= 32'h02339018; // mul $s2, $s1, $s3 + 20'd0: instruction <= 32'h3c1000ca; // lui $s0, 0xca + 20'd6: instruction <= 32'h221000fe; // addi $s0, $s0, 0xfe + 20'd11: instruction <= 32'h2011ffdf; // addi $s1, $zero, -0x21 + 20'd16: instruction <= 32'h00109100; // sll $s2, $s0, 4 + 20'd21: instruction <= 32'h00109082; // srl $s2, $s0, 2 + 20'd26: instruction <= 32'h00119043; // sra $s2, $s1, 1 + 20'd31: instruction <= 32'h0230902a; // slt $s2, $s1, $s0 + 20'd36: instruction <= 32'h0211902a; // slt $s2, $s0, $s1 + 20'd41: instruction <= 32'h0230882b; // sltu $s1, $s1, $s0 + 20'd46: instruction <= 32'h2a120004; // slti $s2, $s0, 0x4 + 20'd51: instruction <= 32'h2e12fffc; // sltiu $s2, $s0, -0x4 default: instruction <= 32'h00000000; endcase end diff --git a/PipelineProcessor.xpr b/PipelineProcessor.xpr index ba3b727..0aa2c70 100644 --- a/PipelineProcessor.xpr +++ b/PipelineProcessor.xpr @@ -60,7 +60,7 @@