From ee9e420365865c0b8f45c19da898e55b917a8cc3 Mon Sep 17 00:00:00 2001 From: Johannes Date: Sun, 24 Mar 2019 14:14:28 -0400 Subject: [PATCH] Added string compare to instruction and data memory --- lab2CA.cache/wt/webtalk_pa.xml | 47 +++++----- lab2CA.runs/impl_1/gen_run.xml | 28 +++++- lab2CA.runs/synth_1/gen_run.xml | 2 + lab2CA.sim/sim_1/behav/xsim/xelab.pb | Bin 5592 -> 5400 bytes .../webtalk/xsim_webtalk.tcl | 22 ++--- .../xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem | Bin 16912 -> 17038 bytes lab2CA.sim/sim_1/behav/xsim/xvlog.pb | Bin 8973 -> 8456 bytes lab2CA.srcs/sources_1/new/dataMemory.v | 21 +++-- lab2CA.srcs/sources_1/new/instructionMemory.v | 87 +++++++++++++----- lab2CA.xpr | 9 +- 10 files changed, 138 insertions(+), 78 deletions(-) diff --git a/lab2CA.cache/wt/webtalk_pa.xml b/lab2CA.cache/wt/webtalk_pa.xml index bc6904a..dd80781 100644 --- a/lab2CA.cache/wt/webtalk_pa.xml +++ b/lab2CA.cache/wt/webtalk_pa.xml @@ -3,7 +3,7 @@ - +
@@ -17,8 +17,8 @@ This means code written to parse this file will need to be revisited each subseq - - + + @@ -32,10 +32,10 @@ This means code written to parse this file will need to be revisited each subseq - + - + @@ -53,16 +53,16 @@ This means code written to parse this file will need to be revisited each subseq - + - - + + - + @@ -79,12 +79,12 @@ This means code written to parse this file will need to be revisited each subseq - + - + @@ -98,7 +98,7 @@ This means code written to parse this file will need to be revisited each subseq - + @@ -106,7 +106,7 @@ This means code written to parse this file will need to be revisited each subseq - + @@ -116,7 +116,7 @@ This means code written to parse this file will need to be revisited each subseq - + @@ -126,7 +126,7 @@ This means code written to parse this file will need to be revisited each subseq - + @@ -135,24 +135,25 @@ This means code written to parse this file will need to be revisited each subseq + - + - + - + - - + + - + @@ -163,9 +164,9 @@ This means code written to parse this file will need to be revisited each subseq - + - +
diff --git a/lab2CA.runs/impl_1/gen_run.xml b/lab2CA.runs/impl_1/gen_run.xml index 99b7ab6..063b89e 100644 --- a/lab2CA.runs/impl_1/gen_run.xml +++ b/lab2CA.runs/impl_1/gen_run.xml @@ -1,14 +1,16 @@ - - + + + + + - @@ -16,8 +18,11 @@ + + + @@ -26,8 +31,25 @@ + + + + + + + + + + + + + + + + + diff --git a/lab2CA.runs/synth_1/gen_run.xml b/lab2CA.runs/synth_1/gen_run.xml index c62a493..f4a1049 100644 --- a/lab2CA.runs/synth_1/gen_run.xml +++ b/lab2CA.runs/synth_1/gen_run.xml @@ -4,6 +4,8 @@ + + diff --git a/lab2CA.sim/sim_1/behav/xsim/xelab.pb b/lab2CA.sim/sim_1/behav/xsim/xelab.pb index c88c42085cdf924b94fe428e5dd8e6991a60f373..e5499fdd84e8cd7fa18efc704560697b8b90f30d 100644 GIT binary patch delta 107 zcmcbiJwt25A11~Xlm9X;5(?vTaJJG9Elw>e)=y1N%}Gp}{E@i=ESWI*6pIsf1)h_a Rv+6Uh#BGAxWH2+aekF9NEqoV<~_0&IA~ bXSIM Usage Report
" +webtalk_add_data -client xsim -key Simulation_Time -value "0.08_sec" -context "xsim\\usage" +webtalk_add_data -client xsim -key Simulation_Memory -value "6364_KB" -context "xsim\\usage" +webtalk_transmit -clientid 346626644 -regid "174150793_174150794_210688225_140" -xml C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.wdm -intro "

XSIM Usage Report


" webtalk_terminate diff --git a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem index bea59d677b7bcc795bd8fa15f4743134031c76c2..20801a99b26ffb24d5cb1de6c1bb511025a6933d 100644 GIT binary patch literal 17038 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 literal 16912 zcmeIXc|4Tg`#=7QN`;g?YbDu28?vWD5wgo#C}o?FWy}mk$i9^9GotKU_AsM`hAfjX z_K|gDFc{MqgZbVw)$9HK{C~&a}4=(*_ zs|K;NOcs?GdSe{$T^I1%UsJ|LXVu z>GprUt^JeFy^j9#Ptcxa2d_AL%VVgwZxM!pufLVEESr72qGNkay8MB_tp? zijs}T;j?o_)Gt8X)M`|vy5WIviY5`Z;)nCozV96+T~fwrI+OfF>Oj%2OFzkPje^tn zORo#efbEm3s!z=J!`b$LeBtsfCheX}Zb)+WN!PO@-%ZYZi9feG5EdO9nPWM8L+f17 zrAOV6ADxRY>tAR664}@C46g6vc}{pHv8{zL?(rf;ebnYHUHJf}D#75U>3MDEM+Y8N zm~7s|&9x>AfAO$DCK}$sE@))k6TMsg7PK(Kz4k2HOc0x|mDsk%GaCl~Tp+n8g?dzC zPy0W;=(nc_YHnjqYgRpnNwlEi+a;K4uyKmdmXO!y;6AwD9<F(W;euY z-!bjQ>kzR$BKZ9K8G*#cH?{hn!G z4oGo#SUCS=6~anXsx4{~k4v2D(&}Y{>nU{$uc-Kxzrp1e_7x2~Efi?do?bO^xMZX8 z{qyXJg!na$-h)M}oa+xUSD%Kv)re@{7I^m=&!JK5>Jm~jueop|FaFMc&3G1jMTw5o zpNE3?YremJiwmmtsqXoJ{ifK{_LIU*4^399@Grmpq_K07XRRfjtNr_9n2%-o58T) z0|aTv@}s?vODSqwCi5z%yU*8kP0Vbr}BFXe`%OC30d?p7T(b0_HTZ)a~75F z=yt#ID?N6nGH~J*=G(RXaJ@a2`NKZBR>96W!^`)*g-CDKBn6!Ixh9)H#P*8}$@P4C zv5z-va(zWo`Iq_A?jNoe4_T?TcW14O^t#ph4jpw$ zKY-~rlBi6Wd3WrwK@(u*;ZKlm6_DJj>sx#Eg@?RFfv`wYvt86%TzuUY2g%XBz@cRv z4C2@POzp^-G$Ve^p`0Fk@lYW3ADR=9bd=`>K{7-*D1{|meEDDk0?|j2tk4dJpWz?T zG0DGdLoAT4s`#Xqr)w5@4BIzstDo4pGF}(5Y@|jmT-&Z}rj`=CZ=WY8M{#VvZi5}K zWXrFAfV$inT|mOAtIu8&vvrZKLibuzGC^&mby!9vDI!x0Kdo95g!1fXxg`ga!koh0 z#j>AW9rG)nqOeW{M#uGu8^=&@x4hckyzq^)K{({Y2hfkzN#zF)^y{1c2amzFwddW| zY}X+&x9v@9LC7h#oBrF9R9d;X;3fzbbRV&fIKFM&CD_Bw1=?UPLl-7*sN&kSx8teHktSlJ2NGbN7M|<4>=;fm3#Tt zap@zx2bfE(^Yq`_izzJOV;or@v$}UEzV8ter*8Suz1CVTW!ZT)_0>m{NnxUUiLE#! zJ(3FwL3wZDjzh^3mCq{MNz)$dZ`uZAI}E8>@K1djiHgu4&G-|a1M5~{wqK;6@(Q;S zGxLVU58=d7f&{i2JSI6cxr&#uvE)velrR%WFA2@IWVo{e)dy6@8hYiIImT~LB+jzt;qLR;WaodRR(nUK}xIPFHmP22I2>j|KAVoh6M z3R*yGRdiwBWVvZ<9Pma%KgL*gzWD_J;g><+)pB$DY7Vbg{QYxIvFgH|Yn&ul!lo9a zt_yhQ)jYPEa|UX155AGJ6F<8dNkv_Trh%b= zicdkuQ05WD2*5y9v&UxVCdGLsy(TJ9t4~1`SS0b{RC5^huYM-ai60fx08AmnVhy&> zhz9d^=$Vn&w!mbx0P0z#W}?G|3aO?HDt31Jm2r~UnGQn?Xs0cZl=@p-usPRPiX1S} zPyY3~bmBj26QL0dy&X26Of_3=dOHJpr`^kpr|!Po>?Lh}Vng)>n!&_fQT!$iNtNx; zP(7%MmM`6uT}8lXg_sCLkFMNusA<;iYWD~GtUk17Z|@;72O$WY@_rNnt$0K1lVKX8PeLfZbTT&FWM*_W zqJD&Nk)WHj;nBi)6>{jb?QAog~feDkNmnwK-@r^fbq++9OxAR{_Dfke?wBoaLPyGr8)F0QE_Ga1zdpWJl zd=Sk$G{?|O%5+?Vfr@&@bfiK6!>%kNAEsHxnB)gLfPz9pPmljpfdEpndo@Re7@f0X zkN*^4z%q`Ot{7xkZ2Yz{T;P4vheDr1({XP`AKImMF95NtJK{n81N5b$3u?zBw5`7w z2AdFW50}d0|THO9iOq5OXQ#L2DMk<(&&lMuL(0y zK_u9}-zn6JcE-7GX1eLba`-W3zWGwkVi%Z&^iU7J0Y#;2R7eFo9ex(fADbA(Uzxg} zk<&K(dJP{+j0rU3O*cPKKKMiu&&@#c=;xhc%}eZ!=9}Zri#L5>#Ma6snK|{_#_Q22 zK)?5y-GQq292eJs+`)GL4b3WT;i@|rA*^{;YEC_kYMX5~=YD=t@z#7`Zy*(L z_8hbjO8X_b{>k50UD6~LMg|+}PgzGM{rgmgR6w$a4Hgceeq@CxjER;XK{YzP=6#gs^$x!Dbjj+g_m~V>vhVvPj6X}Ma&o(og=6SF)`3ILa_13Mul*c$0NgIfc(*cf z)AeDl7Uf{f*b-x9-OR_Ci)DA&Cl&zoVfm*2W9WdWgJQUkwxLYe?Q2gzS01Y(aus;n zp()o?VnXEhB@nRFx{(Pi-$#t>bZ+YM7u>2{5^3-TX7Q8uPKakM*fmKBeek+7KOOtb zNm0rGx$*TlwBo4z?V+=jnRmOjit%>>mM)xWqR(QxWS_b)5H0+VD*JpG2oLc3!U-=GUzZapw2#cq8o< zAK5Dcf*MM%>7>Zz(G^6Of86#)0-hFo*fwZGPIP;YECy>7teHCXEhI%`fYc3 z2+Z*~`F4^{XP~(Je4w1PuJaeQ)5I{-XqE|3=7J`unGDYV@UDWt@|0UZnblP$j;4on zcM3DM_7v>KcDA-}JuRkluY;;W?kv(psLf^Kz^o>~td;55T>8$a2KDij*0E>!>kl5B z4QJ7LYAX9^Q~t#rj0H*6#bZDKW{u4fa+fVoW&>J{G>r^}_GK6Z6isxGS@%oe2N3f6- z^+_NFrSdimeA#0jDnP~C{PCuwV6YwFO;91B?%WUQ=EsXkfjt#djqf!UqjzNqcgX2u zGowr2X2X?Hz4*uHX9$VK^w%}63k01lhWW)%`R=*x4*53sQ~sQWH5>- zO?!&=j3c&&5%hQX@esayxQqRBrKraJ$gL%AR6kn3FYVl~DT+bJN}4y{$2sy~f}A34 zwaC^RgooUROuU%bf|~sZYUUU3b-#GMNuR+&$Y7rIYRB%sHj(AT%v?t6(H{fR@)&kPk=SDJbd2=wbjirYL-~JH7&HU=vOy@KU0hm z;}ChBR#jqKH&Zg2&QUV=Yj+oQcTjb#9OJex!L5CI&{t8bViQWJIsL$)+#3cYxhUie z-uRfHTlvhIIl}+)nAQY*I~V>TP+7!3q#9i>26aG+AM~x)hj;roSLc|$Ndyf@8Jlh=qnx&!5D}V6F1Ze zbk=;!?qVCU-v=%S(?u-nD$00tIu97wIO)MLxhIeDA4|F%sg(O*I_&7t@1Fa0JERSV z3;#KBw2eb{ug=YDCyFjd>axV#w>b6VDmUN3=PAkU$74E4)B_4@NuB2 z=7Ve+Ov#_NO;@E<`e7^rhp?uzqr>rADf3Qx;=gj1>CUOUt8N~%R z*H@9j7s$cQhb*tC*b$G)u7B^dQmlHjKYUB$>U#6%=hA9c)Wa{JZgmA`TsZ6VLX@8M zz5%4q&=(`^FJZBG=W|ju)5{s34hh%bY1jEc)a&Y#ZAA_Ka(0M`0m8DZ#lZ*Lw&FovbCpv0Ii0v)EO9Th7rReGa%dw$-BB-B}g{sc5`% z`4`mMqAdEe7mPa}_rSvr(GUaT9vrhQ;%*uVPBcqakGhTga4Xy+bnZGdbW(QldBBUU zaUJTe`eRT~r`J8on;PRbeD&2R%e)&YQHe3CofQpfS?shgyoQf#60E|{5Fj!cmqwq6 z=dbFD6>>I)5VK}{hR+tt&8xfhQre1C)okkh%-zJc)L%Y*&B1Z+jx=lKt^E~`iOQxl z!?9CnHs$!~g^B9WFIkt@wPu&^bs9Qvo%6pbBEFe({^o8eL_9BAkX(Nel(nFFbHl3E z5me};>QQKm4#N$8JxknInkGmNi1!U{5ORz*#s(uDB4q2>=iZ(9MvIGSanBiK=OA_t zbWsTJrgv&vI$PsWv?h!kRJB&@>xamfd$3d;mvOoVo$GLnY$yF=H|Ika;YRs>SlzoFFJYXkPIEqUntwnqNtz%)ny9YVMv~@AL=2*N4XxYPl1I|8<7Za1B z*I&PJ1cb4&8p!lM8vO1|5yqtGkvVpB>y#d{-04v;SPXx7%_#4$YembhZ!1|To*lSj zgAjkYHGXrE$us^+&EqD`qgXumF%_K_WYI6r)+MUejbs5$ zH+&WVCUgXg&-vG@YAj~`Lu-SdzTW?NOXJF-AA7M0O1$XEPSX{+ftW2mp_|!4s*Z&F zS`?>RGB_p0HQ0#fhv3mPcx+b_NZ<;lmb7~3HxUps=VUmGmkC+xh5(b&0NDj?{7 zwhZHvZ%|u)vuM{d_fz`HbyCSM0o@&U@sH<)RdF#x&EtyM9t2YJ$rCy)6SBeYE35G| zbJ?YCH>Om+U3w&u7-&vBzN?*6wxMv_i_An995#RtFhgv&#TB$1s~Wx zm#L_Uqy8K1=904ob{kvSc_H^#)f|ENoG*7+DTMW6@n(H#fZb8!LPaAaSmt{6>YH*C z=Yi%`Ups{6bk;R;0AI;7?|R&b?D~>and6a?5teFDRmzrE)i( zVe*(yL^%dhH1sFnF=okQER1-c0+;xhisVQkv;*G|pI!A!3{5#-TcOSB(LnNty(oPl zs&APWdx}WF2tXh^$u*ke4<6ITzVE z@2}rfRB@A=Z&Xt?T@T5r-~lQ6TtArVAVnHDUMl|1|4Ll2-8OCYMjl0>oN^DP9rbmb z@NKb|?Xe8f3&?Cm4vY63FuX`@KBTr4s`6Uk^4TH~l1fs*9?`Q8pW^nhKhL_PYCWuG#ar1`Rj$)wQtW6-g zfsDd%6?;Cg!CzM)t|kGAw;+H1T=lZGC5gRA8825alvToMx} zftqs*kt5r-F;}k@Z3-f#)@%7djQ>r)E_~p=@ITSqf}2VMBH3<3Ei5kttX482tm@eE zq6x#T8W zDxgrs|3qN_R#;CnPlFU1_+ROFQNxvUVVI`9em6?H8a3gUBH_Hi7_ z@urNZ%IPbw1-invT5e%IYtlxjr}dD?k9f?~fckTUwql;mZN=uH#eI=N9E2A`>Kb`a zQd9o=6WL#RA(o%!KLL?k9aWn8E7l8^@B<2Al(8qmJQWM=)wx>uj!dsP%>WbtXO~7Z zUE~H5*L!KMtcKic`B7@`zt$(pPPVKpXynEqi=0xc-aopE&YJZVN7rlV`=F4T*7hfk z0|h+axo+nh79ZSAD7Sw=@VoeL1#g#K&la~~#K~RQdT^AJ%w&sqAK^gE*4)pc`=Hq% zc1pl|&|#Fgk`Ib)jn*eAdz6$m%CND&w}u=&R+1vW#z+YjT}N3MDD3RG-Rr5}qWx#7 z`*QV15+F>T%RhU0*eZ_6*3{R(8q=U9k#aB4b_>ygAE`;zLa6>laFpc&R{spS1m zuuUQ-jxg&4rZdy)w@Ydy?qE$#Ja-v9 ze>ttSZkNVR>2H0t#_f8fb;!P;-e-}!83CxhW*MNpBfQAWWB)3>fd`cSark#8H-Q&6 zB_^N^0fk))L=;IsTk% z$FSWpqu^``*K36uB5@U0Qor?JArUbeGyMOmxpfdmaUbz+)>LtyGDIpc#3IC+;UN;} zW}>D7MRaIn3wmYm>E{hY`3-6+5ENbxeLI#Z7TfFv(*peIkJz^{EgSd$BNhZGDVo7% z@lJqT%B?KmJsX5>9hyU_28D(i44mpXj%p3PaqkW_p5dCrTF~egH1kiPaX?rXcg(Q< zaVL#IR%V=Uo0zt0hz>3Re4v}ner2q(frgokE&>>byAa_szysa+T&Go-v<>Uw1*<6d zx4>4%j8i%PqgXMJjQBO_<^zf*`brSM%&Bk%iu`0XnHu-p;0UO);GLER1XXFOGcW&} zt%9n^RLJke28vc?QAcS-!=Jzbm$0RR92*v>h`&h)rxQgT5ADI?Yfj1n`7-m%*6I?~ zF*mG?+Qg_Y&3R*3y!gNMMWCeP#eWR--3kdw94EYqfzxFc^>2_XfUr+!!vazs}{YJEYOa09sS$iIJ%m1@iKow^hJyrFD2*>z8?PL0^%1 zdU*;xIxo;|j%M%}EizO8a8yYlF)F_3ntE)7x$aHIT%*;b#_OEb>+V_l%<2`Lf@akv zDr`8^hOXc_%!J;-1Ioq%qVp0K_vHU<>Q$(`k| zl+=Y^Ap>(hQ}PvJ;8xntlcyP_&?{tRTku`k+U|yt()CH`AJsG^6AL?Ahy_r|;r)~K z+PJwYupywWyc6TvDtM{I|8ZLP7O0DV#$5AX?kUOCU5qJ4|^a#q1AaxaOu8n!v& zsL!%$A}W3Vj9BRy@n452bu@K(<{Zh#B?wH=tXlCCLBN*FTE$}CG0KX9sX9jIs1B)mVUe1+be3(H+h!c%s ziFpNvOCgDZWaY_~jdiffnE788hkJ9djwL3~flt<^`8+tW&QxZz{m%O$csEquU z@e)XT(-s2AA&eY>C-J>Ol1?@;YY>ac_F$0qfKVXJ?EZwAg8qSLj%V0+5&T`5UY#O; zGJ&Ih%MGEF6I_LnfEwBlQx7e3}d`pivW{D9diZRh10NlV34aPA7WLA(yT& z%1huVw;e+L*1y{3olN|*kpUf^FRS9$!fAh8S0~O()T~>fFs0?quI_E-GWzvSB zKu_4p&EIL>U-imyCP_1N?ZNT`zQZIWM?snYKY?}-l%WNNg|>@|P3Hj$-Ah{u`5X~o z?AggcS)z>F2xG_Q!0rW`eh0l_@n7^~myq)kmuW@f}cCcebCo zP&7<)sz?7rW~GW58rvGr`FBeMkzL;~FK29FRyCA?7`ia0J|GHgmNS9Pa!l+5{Zw-W1<1ALo<68y;f=vekz5I zAh&E^>_~8EZkQtc?}mnCLC*(>-_Ig&oF~Mzb?L!idAta5LqP!6E@+3CVQ@)DhkKfF zk7K{Z-qV5Y-iojZ&SMsxM}9O_7Hzlee|KKu#T_pHsXK_D5W3%cyr~}w-ghC;VL(yk z4qtBajMv(}G+I!4IYwS}66dJvob%`xbTU6LPWvO%Wz|1n@mBxti?ywi-C*N?f)-!A zYfYW^k7d-cw8H#MWb(`e_X8|n`v1EqNK6tI!2JoFvh!rXUp58#ynvP*t{ z^QVJW|9|8#sICO*zo;(ps&$j?!^vT+R0v8M#FRw`fR77Q_|~2GDl5mVWrIMK)}#+m zmD87)?0F3;U*CxyX85Y6#4-)SP7YR|d0Eqojm68q>ro&5S5J81%s+%Yd}z!TC&2fL zl4l&i@m)K$Q$W;zp#J)`XCIdHK1K!Z)K;JC%sf>9-6im7XXOAZ!q_{M3t(#Q+Fkhk zuRLs@&lCSXlD6*7{-pEAfq)NiTJW7DBzCQ842JpwEIOzsT$UZCKg?j!$=VekNEVNe*zOHOqGHiK+Fs@AAqNOW} zTSiwLad3++*n6yvmL+ZmP6wy=NHB`U%!w2l4BO1u>)&3g6NCgtm84B1;7yR}42 znb{cQsJu2&?R3fRJFp*j^tM_$O1266yl$w}5ysWHBk1)(+$yLL{g4%9Hg!S6Sa?;R zS8HUZc2B6q)Ql!@>m<`c+%Xmhx|wgvCid^&9y;W-=rj6+t~bTb=#J*Y{RD0+%{DoJ zw=LFFFBqdHWuYyA%-v_7XgGX5LivY@EHstz;N_>Z;B4Sl4*C>*_cLT5hI)7wyfu+G zzW^~S%#uO0cuOP_XX8~}#m70?R3ss#(ji}$(aO|I22 z^IG4M9SuE>7B@bS&j*S9IB{N(F|*|Z=`mWrm?8ev=T9k8?ZU!9+n~2*)r$63Jh!@` zq-4k{2DEjYBu0xxxV+jed!o;w0jmHR07Kzg`14vnj{O2B5v0VK+m_ z=bb@MuRV!^L0gW5cgz+(G{`pAa)i}n64H1Pu*+nURau+a#$J$PVxW2SJAxa~uCUTb zT%4h$2W=QD>e`Sd7}Qvh-~|Ru602x;w&P{K%Nt|7H5 zrG0=ZQ$noumgb(0fFQqqPeT?)XXA7)1~Ov3lGRLTJWN|U8QNW=S6Q*`gNJ3yTZTG~Q7^ng z04ccM7!@Wq0_|B0WEx7R#eu$R-je*M_41E4z zkRPL>^kdKGcQdPv>wA3dse4qtH`P8yj^5g@yune`D^5+OxlK{|v?@uW!oe&CqbMB2 zVOKVP+5a;B`ZmBPQzA)s$J2wJ0t~l;H8UeK|EE_#>&>`eb>-@zJvjsyU7UiVp=a^g za?0j_i2P{JpAtjSS-Bmq#)sM;U;xx;y`svYjrwl?gflKzE2 z;A<1(e0>&{1UYC`&WCKRDsocN1P4i=3E*#%s<_b=ZN($!03E@jF(duax&WCb!JOR_ z?wiyy&QIjBMz*$V+pdoz9UNZ`o87e~-Y8bJt=A8ogin+~Q z7qxdxcA*WdR(-?pmVF`^*>}bc;U}p#y|TPs-S+BGf3S9HX1*%uFJFZvEn5Vd?D}1b z!8zFs{NXJTT+OE%;I0JHg_Gw2!s^(=O8N~38SLwxFmF=D1cT2GAz&ESHZeALFIt|j zfDBK`%pU{+5ZA?qF*VjwDv}Ehy=&Skbn2cN@b!Y0uh3bpKeE+w?Io}SbUP&H`Pk)? zDANy$0URlMOh1@AZ-+pT-<|vm1H{%np#V5gT$VWWiLr7tY;MKEP6Y7%BI)IghqFP* zMCvJo7lCAEnsOWmmnp02OZJ2EiAPsG5+!U4PGSQsr(GQK`36h@L@DU@hQ*LsW6KGH#<3#a&wTIuI7VDz1$O z1-j&HdT&KLT)_1RdwsxIZ2B@7!kGxgUza@7`yZhurARwP-IVz-$>q(4m%H{#k-KiT zfg4Sy{97O3A)!Yz07g>#?4!_eMPoN2?xkngjR*qIC7GSQMw9P%kCQ6(ycV z6|-K6926~If5tNbiy1S)Y3Ffko@hFpbRFSmiCyaO*J71H4g83pp;bz3%Nc#xz z_Vd{_a9?x8og2bGAV*~4Z6;UW@J#xJbwm^L7uEPutm-~C zI)7Bqmv8>vNwA0<+ktxCGTR!u=HM`We3Q=l*i>0VpM&{r*_M`Qr_Tp>C3zZT$@0B@ z`RULJzP0BtFQ-a}6Pd1A`u%TibHBQNJ$0zrL)jbo%Nas?k|!u_l*ym6k)ic{2{hI4 zi|tff{;9VS^}NM$Yivg>Z*860V|j?r>r>!L_ejS3;pV^`!qWX2(=UPZwEMkKO7;am z;;1UA0UTz4X`MXd-z(sJ#}U!!{rU*uDLC#EQs*`7&WZeiZ>MLY%wo_>$lYU5q^BSJvQGIMB=ytR05CDmY_g-KZi{%OxLYt7P$=#={xwBIk*0Gd;XT@?+m{ z96ZtH^`k&Gl3E;T3#}oYk?3Ej^+oOwZxEyc$EaYzEe*Y?{v_c$MJNgP!CNvo%0n9s zNW3U$-iFu_xV#NLpxpBFkiJS=UPMMP@GjfQn;@Cs`wfAZyb@AzImDYI_wZOn@%N>c z0{+i$tSTt&{ogw^qn5Uzf`s6>Pg#SGq42|J>fDQ7B4|oyDo~>dDt={wOKbrlS}el2 z#}WC$&V8S5A}Jm=t`*f}Zhh4S3`RW}fw&Ta>s@pVo`hiV72x)&0)rY-rY*+{+xIv* zdWx}_;s}*0jU@|4sFWgiHAHO~s%vvSuz6WgJJTaVa3JUAAQC@DsyIw7MB3DzH7BwP z@k_lL369Pe*}&s-7kE@o=4P=J*&Vra6M3Six71DU0QM_60D3%UT*VVFwF4%cJH(ZD zVN>vrXz_unAXqUIm5k2;A!1KCK~10fINv?ETYy8j+dz8@(=L702@S!;Z*Oa?`}zIj zzp3{6Kd3a!mOWk{ev*SQx#N&%8dNh%!1OK)mXpiFX1ne))=*?FS6iEMT)Q=Fdz}07 z#PmNdi<}Pw95wB9s;nv+rX+sOUZsps!MvXUSJ8RAUp)Vh=&M5fh4_)R`w8TPNf$i+ zLe-R!^`)j0{PNucw5rHP-XF&eo*#cbBef(ez-(HWoU{KBrV=>`( zB$D7WAh^O8IJETGUI9M*6{COgOno*zJw!nbqnzP_tP>3gNw}K}ET)EHb}9e;MVQ6s z>0wnnMW2`9yOYHRn>mYJL3f)^h}<=@8__liksD|**;*S+&|3S#asss{7Uw0?@^jy! z@xbAH0P^YG^vL#KiC)^=`lxlz=IpPV&|?j2fpf%WBx$Q{=n>8K}KJb4^@Cp!rp-zZ9}j1zWg6F;|!jB$(Gl;Y6J5Belsup2ZP9wc>yDE!gEcy5;E zCvA;ByoTE^6|`a=)Tov0QQadX^i1Pn8)1a&Udu6wU72w0qM$F&Lq~rY#z@6EFD6ou z&jW?lcF#0+6>BtH-`X7z4rpmT_&>*sC{6oMm&K{Lv}wDnqIofbYiN#;%ISmo>0+h?eLGSWdH{B{Ey<+z)Y>4t2Bm9m4e$z(*Q)4%o(54 zUwoW=!+@&ihkzXX+%I}Y^DITIOSiC*eYcR9+4AsERK}55{)^J2m_^uLf&`HkS z?|R>{nz^y41?u4W1Q!6O#IWN_B1}so)tnxm*{X|dSDdUP0}-b$mK5yJCv*5R@%->= zfgE5>EWaKQH9vRaBio%3jzA79$sWk!&6$?oa6I^Lx+=1~8i7lg1QK#6`j?_#8O6eA z5vlh$2A@me`8Ng_*%<0Hw3ZjyzSiJ{Z0i$ycCm7mJnLjt1{UkcaDq0k(5=<{Cw6!? zS>i6dI&u+n#uXtepp9t+d$}e)svdlfw)P0y*z1tE5;%SPnKGaGWW+YVL4cxbNFkV~ zO34yYODi~H(U3$RPV;BmyjLHXP1VE}Ns1Gkp0;C~BlI8)2ONV7sk3IENf0-bcGr8dDtF z3fNI7gbk(kq~r*iGHg3VC;k8reIk7ZIf9 zr0`}hjCalN_(G6YT6hB9?>unP5C&YFS_r}o>7Yqk>}qh5*21RM3fEUeuG%R0EY;h? zU#xao1hJU?5U)Rzj;Z&{XPA;gn;dLb7y?hn%$fAtnmXH-!-XeV!?d(-kwD`Aco*W=poU%`C~*$-yU_j+k}b86p2Wkm!X)wU0unObF8)bm`? zW_AbP$h&E?|{xIAer zPp_P>*(Wu1KhN3!u62M(`;9l}d-qNS+;jGMS7CutS4r<^b9T^ESGp@JyV7CVFdtc+ zY7kO1%-7YHcZ1#F?H>Qzx6}?x-_tSXE!FK;p8t^PqWGgN<%5W1#OS&F9^Zo|(joz( z)^+9&q%4K2MNpDbF~$Z*6T*!%)sv3ImKbX!+&JfG|0{^v7@L*3nl@__w)F16h+)k3 z{6T9MUB0ku8ax8wr(fKQ3b91yk5-XMsgGrJuk zTGkbP#PIZm8>aK#*0S)Q-1qcfy5xxne2$a)A=~CGsO&fRR1_JoF&-yela&6#XGWR3 zt8wX+89r0X_eEZzFx`sl@ch@4>IeMqmz=o2_ALH~ql3`GH~l!R>5b%EuEgtRrLkIO zXEijMvS3*s;_ukp9Z-J0oK!n>Sy}yt)z2>vFPmBD(O{#~*Uj1ZOPdWco_=3_j)=^t z^%{;Y%+IKmi+Nk3c_|~{yhDZb38DGr!1mm|(GD9tH%8k!);;@(RTjM0(u#P`T$Ne! zW9xL1p{+h<2@(pz3Lz3cTMu(b*uQl)jNy3^7fqb|Dw*ZO{YE)@;Mhb@=gjHjXub&~ zPZXEl^LP&{$kdn1r?3kv>BIHdcS9zhEWYmZc1z=FUwLeH<6S|vyf^l>{{+VhixsIO z&&xxT6Q>`x)a+dJ&FM${!t{^pkD>z7yK?sS?$J^eiHjN0Ph}UPb#olaVe_$TVvim6 zo0pC{Jkr=mp1&UW`l8zK`*K@Zw;bifz{OXWcL8mXnn#pw&9y8w78>Ly*JIPn-wXw+Hdv7&vMOzr; z&pox5oVgbB-hn4EHdS5m%NBL&0NmWhRy*V5EG@QXi#`cM*%ZIhXY0ty^85UD9iG8` zKE3?Do7En%Ny2)>_)XP2M)fJ;!}dZV?aAlOg=SfSlh+H9cgO{}4BMt=i?UaS`?AF! RQ>xFji;vP-J0ueF{tr47CIbKf diff --git a/lab2CA.sim/sim_1/behav/xsim/xvlog.pb b/lab2CA.sim/sim_1/behav/xsim/xvlog.pb index 21a9edd998b96b6bb774bf8dbe8fba016c397cc5..8eae0ad7b5e111eaf0b913bcfe1289daa178baf5 100644 GIT binary patch delta 272 zcmeBm>u_S`ddN6APdr-4pUc|WNH90jWF=^ul4MwI{5ZMSW7c|+48`L+i zXWA>m^b(>XoXZ)D3TFvPMyBTw6`@>?SX3BG2{ST1g{TPTvd5xAMuwM>=>UCr0TF5l{typwWA0t0JG&!*(Ge0jeM?XBZxFoeGPr)}cIU_SYF;5{h52(HfsJ3!4qn!H2>5Pm_ ztHCw|&tT+gW~9CqoAsFXiZHE$*fE`vtBDqNG>S_yGOd8vF_n?4ffjZcND4DDErrC! zBu1_}8U)o%DPBgVl@M=CW8`Y2g*R$s#2A@2Ky$kjn*J2o@Q1u-%$g9OuLMy`4q K1k+1-c}4&(-5(nO diff --git a/lab2CA.srcs/sources_1/new/dataMemory.v b/lab2CA.srcs/sources_1/new/dataMemory.v index aa06c1a..5003c18 100644 --- a/lab2CA.srcs/sources_1/new/dataMemory.v +++ b/lab2CA.srcs/sources_1/new/dataMemory.v @@ -9,17 +9,18 @@ module dataMemory( reg [8:0] memory [15:0]; initial begin - memory[0] <= 9'b000000000; - memory[1] <= 9'b000000000; - memory[2] <= 9'b000000000; - memory[3] <= 9'b000000000; - memory[4] <= 9'b000000000; - memory[5] <= 9'b000000000; - memory[6] <= 9'b000000000; + // String Compare Memory + memory[0] <= 9'b000000100; + memory[1] <= 9'b000001000; + memory[2] <= 9'b000001100; + memory[3] <= 9'b010101010; + memory[4] <= 9'b000001111; + memory[5] <= 9'b000000100; + memory[6] <= 9'b000000011; memory[7] <= 9'b000000000; - memory[8] <= 9'b000000000; - memory[9] <= 9'b000000000; - memory[10] <= 9'b000000000; + memory[8] <= 9'b000001111; + memory[9] <= 9'b000000100; + memory[10] <= 9'b000000010; memory[11] <= 9'b000000000; memory[12] <= 9'b000000000; memory[13] <= 9'b000000000; diff --git a/lab2CA.srcs/sources_1/new/instructionMemory.v b/lab2CA.srcs/sources_1/new/instructionMemory.v index 95b7200..9bac97a 100644 --- a/lab2CA.srcs/sources_1/new/instructionMemory.v +++ b/lab2CA.srcs/sources_1/new/instructionMemory.v @@ -10,31 +10,70 @@ module instructionMemory( initial begin //Equation Solver +// memory[0] <= 9'b000000000; +// memory[1] <= 9'b000100000; //load +// memory[2] <= 9'b000101000; //load +// memory[3] <= 9'b010100010; //add +// memory[4] <= 9'b111100000; //shift left +// memory[5] <= 9'b111100000; //shift left + +// //Testing all instructions +// memory[6] <= 9'b010100011; //sub +// memory[7] <= 9'b011001011; //addi +// memory[8] <= 9'b011110000; //slt +// memory[9] <= 9'b110111000; //nor +// memory[10] <= 9'b111011000; //or +// memory[11] <= 9'b111011001; //and +// memory[12] <= 9'b111111000; //sll +// memory[13] <= 9'b111111001; //srl +// // memory[14] <= 9'b100100010; //j +// memory[14] <= 9'b010001000; //zero +// memory[15] <= 9'b110001101; //beq +// memory[16] <= 9'b100001000; //jr +// memory[17] <= 9'b100111100; //j + + + //String Compare memory[0] <= 9'b000000000; - memory[1] <= 9'b000100000; //load - memory[2] <= 9'b000101000; //load - memory[3] <= 9'b010100010; //add - memory[4] <= 9'b111100000; //shift left - memory[5] <= 9'b111100000; //shift left - - //Testing all instructions - memory[6] <= 9'b010100011; //sub - memory[7] <= 9'b011001011; //addi - memory[8] <= 9'b011110000; //slt - memory[9] <= 9'b110111000; //nor - memory[10] <= 9'b111011000; //or - memory[11] <= 9'b111011001; //and - memory[12] <= 9'b111111000; //sll - memory[13] <= 9'b111111001; //srl - // memory[14] <= 9'b100100010; //j - memory[14] <= 9'b010001000; //zero - memory[15] <= 9'b110001101; //beq - memory[16] <= 9'b100001000; //jr - - - - - memory[17] <= 9'b100111100; //j + memory[1] <= 9'b010000000; + memory[2] <= 9'b010001000; + memory[3] <= 9'b010010000; + memory[4] <= 9'b010011000; + memory[5] <= 9'b000100000; + memory[6] <= 9'b011001001; + memory[7] <= 9'b000101010; + memory[8] <= 9'b011010010; + memory[9] <= 9'b000110100; + memory[10] <= 9'b011011011; + memory[11] <= 9'b000111110; + memory[12] <= 9'b101010000; + memory[13] <= 9'b101000010; + memory[14] <= 9'b101010100; + memory[15] <= 9'b101011110; //ends initialization + memory[16] <= 9'b101000011; + memory[17] <= 9'b101001101; + memory[18] <= 9'b000110000; + memory[19] <= 9'b000111010; + memory[20] <= 9'b110010001; + memory[21] <= 9'b100100001; + memory[22] <= 9'b100110000; + memory[23] <= 9'b110011001; + memory[24] <= 9'b100100001; + memory[25] <= 9'b100101101; + memory[26] <= 9'b011000001; + memory[27] <= 9'b011001001; + memory[28] <= 9'b101000010; + memory[29] <= 9'b101001100; + memory[30] <= 9'b010110111; + memory[31] <= 9'b110010001; + memory[32] <= 9'b101110010; + memory[33] <= 9'b101000000; + memory[34] <= 9'b101001110; + memory[35] <= 9'b001001000; + memory[36] <= 9'b011000001; + memory[37] <= 9'b101000000; + memory[38] <= 9'b101111000; + memory[39] <= 9'b000000000; end diff --git a/lab2CA.xpr b/lab2CA.xpr index 3648c14..407d521 100644 --- a/lab2CA.xpr +++ b/lab2CA.xpr @@ -3,7 +3,7 @@ - +
- - - - -