From 9b9b5b3e4401072fdf2ebd63f312996739db24b3 Mon Sep 17 00:00:00 2001 From: KaitlynKeil Date: Wed, 20 Sep 2017 10:09:39 -0400 Subject: [PATCH 1/4] Adding things for homework --- adder.t.v | 23 +++++++++++++++++++++-- adder.v | 17 ++++++++++++++++- adder_wave.png | Bin 0 -> 13360 bytes decoder.t.v | 7 ++++++- decoder.v | 18 +++++++++++++++++- decoder_wave.png | Bin 0 -> 15226 bytes mult_wave.png | Bin 0 -> 12695 bytes multiplexer.t.v | 43 ++++++++++++++++++++++++++++++++++++++++++- multiplexer.v | 31 ++++++++++++++++++++++++++++++- 9 files changed, 132 insertions(+), 7 deletions(-) create mode 100644 adder_wave.png create mode 100644 decoder_wave.png create mode 100644 mult_wave.png diff --git a/adder.t.v b/adder.t.v index 76109ed..c0e314f 100644 --- a/adder.t.v +++ b/adder.t.v @@ -3,12 +3,31 @@ `include "adder.v" module testFullAdder(); + reg a, b, carryin; wire sum, carryout; - behavioralFullAdder adder (sum, carryout, a, b, carryin); + structuralFullAdder adder (sum, carryout, a, b, carryin); initial begin - // Your test code here + $dumpfile("adder_trace.vcd"); + $dumpvars; + $display(" A B Cin | S Cout | Expected Output"); + a=0;b=0;carryin=0; #1000 + $display(" %b %b %b | %b %b | All False", a, b, carryin, sum, carryout); + a=0;b=0;carryin=1; #1000 + $display(" %b %b %b | %b %b | S Only", a, b, carryin, sum, carryout); + a=0;b=1;carryin=0; #1000 + $display(" %b %b %b | %b %b | S Only", a, b, carryin, sum, carryout); + a=0;b=1;carryin=1; #1000 + $display(" %b %b %b | %b %b | Cout Only", a, b, carryin, sum, carryout); + a=1;b=0;carryin=0; #1000 + $display(" %b %b %b | %b %b | S Only", a, b, carryin, sum, carryout); + a=1;b=0;carryin=1; #1000 + $display(" %b %b %b | %b %b | Cout Only", a, b, carryin, sum, carryout); + a=1;b=1;carryin=0; #1000 + $display(" %b %b %b | %b %b | Cout Only", a, b, carryin, sum, carryout); + a=1;b=1;carryin=1; #1000 + $display(" %b %b %b | %b %b | All True", a, b, carryin, sum, carryout); end endmodule diff --git a/adder.v b/adder.v index d21f7e4..6911a07 100644 --- a/adder.v +++ b/adder.v @@ -1,5 +1,11 @@ // Adder circuit +// define gates with delays +`define AND and #50 +`define OR or #50 +`define XOR xor #50 +`define NOT not #50 + module behavioralFullAdder ( output sum, @@ -20,5 +26,14 @@ module structuralFullAdder input b, input carryin ); - // Your adder code here + + wire ab; + `XOR aXORb(ab, a, b); + `XOR abXORc(sum, ab, carryin); + + wire aAndb, oneAndC; + `AND aANDb(aAndb, a, b); + `AND aXORbANDc(oneAndC, ab, carryin); + `OR aorborc(carryout, aAndb, oneAndC); + endmodule diff --git a/adder_wave.png b/adder_wave.png new file mode 100644 index 0000000000000000000000000000000000000000..bc13fbc1a165719eb30c9502ef61bc739d3f65d3 GIT binary patch literal 13360 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¨jkOPmY|U)tm#l%`6^SnvWnAT|)^GlLA0YVU zl5WC;dr;Th3r#JTj-t7#Evi3Voh;=GPqHg>n2g73xkoW<0xtBmD$Y8dVZ;Ux$`CGqT`86XvfDsw+l4ZkPJJF|hx znk6705yGDZsP}i8e?wVS^m?f}_>zT_?`F6+9of-lmwcRLm)T>OM>2Qn@pRzwZcvo$ zsNZVLN3A9bO+SARy~krST!uoy$1w;5LqKcoxR;SPJ1212_iB%zQic*g^PB3+ZHv46 z(dT6+=>4fFw!KB~Wor($o2PYS0*~bG0Q=_lauv^(szKCtVUrnX`z?lI+J*`)nNsIB z?MvQQUOSxhiOQP!LQG;=F;C|-^U*LYBYPZEg>TT~ z@Lv0d!P*k_gKk8P6ZUgUIBuW{E$!1|;CjhWA>4jprpEUD)=qrC=m)ZZbKh{yR?@XS zTGC_aL48Bs`%&`$Esi*o5&Nb}J=`k)qyx(LU}}6N{|V^&wjsLVFk|6s+mwN{Vf8R+ zT*yk3V$hW4gRtTx5qE4U@va>=xwC4hC#mAU;R2)oW z1mo*=19Ruo22ds*fu#jAM|Msic&y}+sJ6MJzs$g--aYE%)z8`aA~F|%pvNxTfK=Wm z!I~^?$-^sWZLSKlylB8gxhqEv2Y&nwgP50^+;O)3*V`h!+?qFn=&*gzZ9`j%z z7EeC|yDv6nK9E%pvPYWDq=3iBK=};ebsSLK%#usw1Md+!wO%^ufQY8txU|EaS__Q8 zPEE}V$)3XZK(qxhP&W#VjLNynC{jRj&YSQGCOT4-JCJ)MmXRtp9QeYKj)s1(lQbb| z&tE`5fM$`gjFV%WLNBwlEPJLMhR`8Dg-a)28S(*RQ=rdyI?*I}g2T(1L<9S0#5;b@wHDdZdFtet$&~ z_Wr+oM!5d`I_p3686bF9;~|PQUd>^+?DK@4TvhUGQ>h}bo)8!HbZD8I;0L~~vIz}T6(b(d&)MerWT(p((tOUR;V zyLC_WVJu+8myIsyzzHH^1q9b_9=48~fZ(4IH`iC_o(kL|>SaQ<$5l|_JU+kp) z>Kar2N$cfbiH|$Y5k47kd>kZo_dHedJMiFYtVgXX+vwe+W&K#G)6;(Yy5rDg;_0>< zmfd&dSm(`5$)R%*N%R5eLi3bzzK@mCa>}OnVVj%jUg$(=1(Vzh&qM_jjV?vRD*MqH z_A=C1IiT^u4bcmqdU!pd05BX7C0?==Lq4Uv2fPE(97Xb~HJK88#IR8BzEUY|Z?KOX zADr?WG7F#1AszvFDA5rwn3L3QjA>jI#(3mtDudWZ+fQb5`s6`3qdqT_{WlxKAI`*o z4@7;RydbkcoeWR^(Aq;tz&vL5p_L=aFe2ULn*DelmV?zZmpGrjwKnsVWF8p`aufuJ<65Z<~%SE6E`UMsZioD>XC=?ULZdY!^tq68eAy%mkT2oSa$%;(< zmuVR#M?K9jHHT8mtcDj+SW(`C_9}F_(y>H`%b==dTaO?BjW-Q`^60iC*A_k3zp+>A z*2{Qq@hdTkOEDobn3UQEf27mLcBxNJP?M>~X;lzB$CYvIZT(?L-WeYo8?g7P)|;kS zO6tAWgUjm4ou(3V(WCwyP+*>j8!3LMY&hzC{Rk^}@tH*Z^?_wf(z;L;jU2J<#HUlwzpWUJLYGXG19y+CkE>0s40;9=FeNeDci z`j+u{v=32Y|+_b3~h zIS&4RAwEXU_~_yKC9>!&F~JZ7&!b+MUJ(z<*UBu0~3M~F3|}f0O}FP zUM2ZtXK&Qklkf?zHbh}Q_(Of~&N1J)iUFnxzrB2}%0TMsJk@|dF!*Q5c|!8{5yH^( ru75u+_`BpcvEK&>{|AWOT{^q4dqMeK1fjPeeqJhynhGUyPoMn<6;5-= literal 0 HcmV?d00001 diff --git a/decoder.t.v b/decoder.t.v index e0e925f..e2bdf8e 100644 --- a/decoder.t.v +++ b/decoder.t.v @@ -7,10 +7,15 @@ module testDecoder (); reg enable; wire out0,out1,out2,out3; - behavioralDecoder decoder (out0,out1,out2,out3,addr0,addr1,enable); + + structuralDecoder decoder (out0,out1,out2,out3,addr0,addr1,enable); //structuralDecoder decoder (out0,out1,out2,out3,addr0,addr1,enable); // Swap after testing initial begin + + $dumpfile("decoder_trace.vcd"); + $dumpvars; + $display("En A0 A1| O0 O1 O2 O3 | Expected Output"); enable=0;addr0=0;addr1=0; #1000 $display("%b %b %b | %b %b %b %b | All false", enable, addr0, addr1, out0, out1, out2, out3); diff --git a/decoder.v b/decoder.v index 17836e0..1c37dfd 100644 --- a/decoder.v +++ b/decoder.v @@ -1,5 +1,10 @@ // Decoder circuit +// define gates with delays +`define AND and #50 +`define OR or #50 +`define NOT not #50 + module behavioralDecoder ( output out0, out1, out2, out3, @@ -17,6 +22,17 @@ module structuralDecoder input address0, address1, input enable ); - // Your decoder code here + wire _0, _1; + `NOT inv0(_0, address0); + `NOT inv1(_1, address1); + wire choose0, choose1, choose2, choose3; + `AND _0AND_1(choose0, _0, _1); + `AND a0AND_1(choose1, address0, _1); + `AND _0ANDa1(choose2, _0, address1); + `AND a0ANDa1(choose3, address0, address1); + `AND ifEnable0(out0, enable, choose0); + `AND ifEnable1(out1, enable, choose1); + `AND ifEnable2(out2, enable, choose2); + `AND ifEnable3(out3, enable, choose3); endmodule diff --git a/decoder_wave.png b/decoder_wave.png new file mode 100644 index 0000000000000000000000000000000000000000..c891d95fb5ef51345cbb656e5ac494b4a9dc5cda GIT binary patch literal 15226 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 ou@BWVxYN8jFU>G_%x)sl0& literal 0 HcmV?d00001 diff --git a/mult_wave.png b/mult_wave.png new file mode 100644 index 0000000000000000000000000000000000000000..7e1b761919b40e537d76b5cd61a85a3166afe96b GIT binary patch literal 12695 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 Date: Wed, 20 Sep 2017 10:25:41 -0400 Subject: [PATCH 2/4] Adding more pics for HW2 --- adder_table.png | Bin 0 -> 12101 bytes decoder_table.png | Bin 0 -> 9882 bytes mult_table.png | Bin 0 -> 13985 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 adder_table.png create mode 100644 decoder_table.png create mode 100644 mult_table.png diff --git a/adder_table.png b/adder_table.png new file mode 100644 index 0000000000000000000000000000000000000000..a3891386a2e9f27e99c3fc165fdb48feff162f5c GIT binary patch literal 12101 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

    MOu%;I<=7vW!dPoLqL zVq<;thWf*dc-IPh-_^xg81nf`G~H)}FWkW+&q3m%5Tn>@h-^lkmoT^eHo}Q|J^F`7 z>%Rzm^l0~Kc2aOPvA#6Mx&0WbHv>)ZI^SKzKhP0#J5iL@%W67=!5w_IzklrycE)@C zherbOtK1MZwiH7I=Mk#ZrHF;F=xc&Wjd)re@Bo>fz1*+m%Lo?SRk?Vw{oAeATRgEP zPEK~nnshL&_X<(i7u!dRy9SWMAuYv)c{)G(pXcF)+$R`{pF~6$b4L1*-y8uX-^+=W Ii0FI&4?9jMfdBvi literal 0 HcmV?d00001 diff --git a/decoder_table.png b/decoder_table.png new file mode 100644 index 0000000000000000000000000000000000000000..88c6cd9170bd474918c3cb6504eca4fb69433e86 GIT binary patch literal 9882 zcmeHtcTiJnw|D4Gil8C^B%&w?B!Cp@y>~?ERYETkLX{5EyFjp@6zN@hLJ<^EP&$NO zj`Uuo2JVLUocEl2zwgd`XTG_A+?m5<$liPP-+K0X*0Uy&S{jO!ruh70B!u?XUa7Ew zQ9kVkIMk;6lHx=-`Uob=wd&zsYmt|3?9mi@+rB2hWY}dkHLdJ+Gj8i{IJNu-F72-E zz)TQ`oY)TVNMBt|8;;b8(W>$!u zl{l-OfI5%*Q(3sJostg%{?JE5_lb|g6JaY>NeOZ>FA+e26C7y)@p5u>b`$XuXT8uX z0$iUzhOt5}Sdb3ltorI&5Lp)l9KsLfhw^aCd)ayLu}Y9b#1K~2B06#kzpDW5#93{T z$fqJOn5U;F)bl>n1z`i@6&4nT@$kX;__zTMZZ~gdq=gr^v)iq675~y92X}jduzQNM zb8&{8>$I?RaYu@?vI2C-@5;~7|F?E$x8Fek;DDV|V7yQs*k9R^cGmw5`#I%L_H$to zEjur`qrRM-6WrMia6z2)zJTzBvOlQ?f1&aU@?B8RHHj!YS=hk!?5vQse~SG{P=edp z*aDIKClO7A9UQ>mJX(Ol3Oh#<_B)h7W?=tL%{e~*^MC&s`CAzO1J^%r{VfFk7V|%= z>mRuO76N~Z`JdJGzY8w%Kbt$aGtkj_0E6cbhiC0mo}ApahPk)7zgjWhu~v%}@8El)H4o+BV2p@xv)6@ zV6>bXLK@6ZEtm?Drdb7($`J5#w-Xn;y7A~Xwx^+yloJ(->nSXZqf}VF$4&L+NRd6p zm7cK#*%}9Adbw|nEVYxMlcJJfxrG8#f7`;LjP%a{*KiVh&Ijai-$FSx4`iexP;C2> zLSs#3*sg@)Jl~oAl}JoeZT}O_>!hHM_We$M3PF$~Y9sEp&OA7;{il{qV>~nVh{k}A zHXm~CsAjg%5hZ~eR;4tK@%r^l8fYKho2Fnf!&G`EhFn(6l!}d`^R4+jp+-Y~&^nNR zV6sEJ!nu~1@y1<=Ja)bGwaid_#Vkjo_%{Q_5}{UW;->wcXH{($@|Fe@ceAokE>{@| zvG%Jmcto|%Pn%77dhMq?q#xlr(l86%l#MKF#!G&5O`E1anJX~GQ{$DeHYdbKuGS*AoC)AQxFK@Qv?O@Q$lr<-X)7ceQg`MX=vKH|R z`fey*DU+j{XOr!Ij2hRs*BO6Bt{OW($borYp!;WERhic!S-xswhi9%5smzTdLUXtor{q6GX z8bnOA{n(L;NPfoS?d*CnY87ME-;(yswKuPETySELk(sA}E`Ii3v9Onm{LBx*%`%L2 zr^m-qh?ZL@>sKhiFwj@C1k!I9f2mHR=}@q?wlG4H!}iAxo-1~R12)rlhHkbyp2RV= zRLjOykJ;2zJkd&pAW$aH1VLjT{rk5z>8TH8@XXS#xw|c#%qVQUrLHHgd219Wp*lxF z zOxD29}hH0_-%yQm{{O#HBnvx64 zfP`SV270M!vg8fM68S&V)8td)%J52c;#Pn(AScAB3d5UcF7t+*w_A!ys z3`XY;;jP>G#Pw3%cazI%7D$&Rn=s>!KDydCn-Q{J`X`+r+8g#GIi;>lR$jUZvJD}9 zDfoyBA8WFvV;yC7oRzHp1O-ihsXL>WBsuq z+X^Y2%2Cl#FoHT}oRZJoae*~}Lx zE=#S(ZnseEFLNODXy53;;}bH#-WgIEtEGwPA9jNiqeM5M&mN8HcEXgpOF=7CXeLl= zY37Lcs~6H8r^AlCAS*>VD`GW9cqPYkvj7hKdk+InJ$6}&gVhpC6f2?1ofMAhh9U>? zTjU=X+=R}4PH`XQ)fdrrURf_l64KKfQ|GN-=JopaL0-FEUp99GV^&br(y1Tb*HQK3 zh7l7h&Y0WuMC4alI3KarOMmfu0dJ$z>mS=1=pC0bQKnD7R&I&)hjgpFBk|5P+Z6~M zcz4UJ)@p1(!Na^_4mF<;AR(bASM#eLwUAl;3WHZ~Y} zkd0$*cMzZJ1f7fx-Hj_&SEJ-#-6qz&qI5{=@b2;$l`(oDI9xhyfh#@$QFN7>kOpOw zcN_Rj)u&Dh?hUJzNhliA-Ak_SgO|!Wx0ey`O)IsTFNqbjuV);q*UEAzf%Lhqfuh^2 zrDvWC?@&qj?60zxaQNe{N!?4tS2FUVrXfV+&~lUyJ6?15%+Y1Vt04~0(c+zY6p|&C zgKH%2_B~MQe3M`|HFzW8&X~ronA*L)7@+h>!SzC?ok!~;#1-vpVahZzy2Y;=;r zr1%92I!RadE}?~Ec?vN4Eo(eq=k6;-Yj7kdfW@>SbGHaV8ttw@3t};?;|pk^Ja`o{ z)Ux1;J`+`y2-n0Ug=R^m-)7Mcs)$Z)!DU43{StknH}es-Ab!h4ajn+j>bzTlfAi`1 z_}%V47A&sQ>oiw|JZt=zn&P8%R|FMbYC=_E7Pv~H7uT&uhR^w~U6SNe&=U~{9e2Gb z6-2aDkt$ZRj{7=LCiBTo%*!&zD)M68ah#@*dq4b-UJdM!wcCES?Ib__l2)~gCg3UJ zIZ5=|UMy1!F>COp{UF=|$GW`6uZkNFZZdUP)hBCS4KP%f(E4uw#HzO~Fb`f(MkYoO zUD_BrCl50lY9by$$aQzGk-3gFxyP4TjpgL6I^Rbf@4*^p5%Z5Ir6?m?=!o$Xu8Ub@ zJcc!=$m;j5P{Wr;h6mmj<+NfM7;-ETLB`oGzSe2YKD(^7_`Bbo7Q8fgzEex?=Icb_ zG7H?g1O(1X>4}U9Ob(lw*_vkW_`|}Sb(=!ErD=)wLMxku>`|=qQ z>sb@5%*MCE$MCwdTi&e-d*3X{Q0V+RT6OzmaZitxy}3ESY4z(AL410xFmiT&r{SLS zv!7Js?<;RERqtD?du&&#)LN{FwUe|p&VY@o8UyAJD({U1B^5_ElfVx9_cx*IL;cvw z!d((ya;=iDmLWosc{h}Vj*CrBrA}rN%hY=eK+(k^@3}u<*mvOk&XK zOw9>IGcO@lbEKp1Q%wkxGW7E6|Ltetn* z^PpBoeA4PHl^!i)yZ`!EP@xDcSFefV$?MrERY}SNk5{;0+3v|R*I<`#?_O5)AH7g@ zJQJ^WK8ZP;I&>UkOi9w*UB55yth$F*D9N(7JxolQ?0u+6pcsre<_L8_P+^RdSeSA=oxzRW=SGi;fe1h}jF z?un`yk+bR?n%KKJ_0l3se&LR#?;M9}eFXlv8pG%j&dc~> zW8x|~Z~_R1@S9s`rq4g{7~Mmh-rs%a3v~F?DDen1v+cez?pQT4+4B1;cot{)0b%!t zVlbeX>{&{7duH+IPUL%bHrAf*35$+5+LDg(LyXN&nioLzH*8BLn~BTPxZ-vZ>7rI0 z4P^e!BvW1-$@ny!ZE1=V6^T`5s@Bjo0_7o99Qj~J%3Z!1ZHkJWBJM zYR8q$jbuVMLwf2y_1||Okq>@fRGYN(8T9SM6RQR1Y?J%G0^V3dU+k|)&-U2be37bN zNv%fEajM6tR6^7?tKE zL(cB6s69P4D5n3X=9|rTytxh`d09iCU+~Qz??>s)I_QKbe+DO}NKmIKO_+wfH;bNr zb$N~8k-O>lQr{JZv52xn!@5xBU(3F3XYtNLeNhH?rnp2K$IBU-_4a0yT{bu;+GAK2 z_*}K~i){M*%OZ{F$Un=e@XniJAq!a6z|-^9q@ZWoRH3f(@DV}AMCp(4?qk9!`>pD$ zMP<(_D^FqU2T0$Jkb&^6Z^ACG{fq{Q>}E)WFup?eQd;P>)~luS#xexgL-xU&sWDkm zq(>x$%MI6!y@kIBf7p(kTWfscbnA_7d&}HeF4f6}C}qtS|G4%T62%vM zoCd^xF;maj@|MQ>)@nxs^tVa~{jFUeG149TzYBhFzf1=|RE3wgZ&AFAsnP$&3J#~> z=|l}LNF-_0W2rYN?m0V^%agh{!E?_fKiYEFy(8!Ruan($~c<3TN}SVez21AW>l6; z@hrN{e?2Ytgl@RrCy>7{;7WNMa|}Nd_D{&> zD9_hdS=`o1k@DswF){tV2p%|o#gFkK^cE%U?%I-gE!(ElJD0;3gpfkf%c8?*ebxVZ z7`Zn&91ex0kR@Z^_sq$ACeLl-gA!CYd|7zV4Z3%CcYn-sfLVC=cA`d7ZtwA&E0h{(#|I+EXG1seA0M7EFW8SSa<=x2WY16D3E)yd z(Gw8#&OL|1a)T8(ip6BM+$jk!1{1;4WJJ<5;|{>I;v83CR1plZ9~QW%so9;;sU{%| z`0Ofk=KL?|(G8P87?+m7muRH4xk<9WHT2BwwJ^s*Vb(}WV$zKK)R0~))5UEc7Qm7B z4m{Ez`3k0(J3BHcEQva~i78Ui017+mY*8AbFag+-{KlnG^lUw5R0=P=GdqjcnWCVu zFRKD++=2G;J?Fl*KI8{d#Tsa@esL>Y3p_I<%V7WAjy;kKNX9L#tj_4i2p;6QjwN}3 z3>aOcNI0W2`ld+;*#);! zM#CMz9y*%~MIT6e!4WAXEPB2I7tjjag@uz@Oh|7IGT`2(EVFQ#y8{Rq-9W0@3m9qg ziAMY-tb*E}xg6G@5Aj3*jZg&;%bLs*qd5o4-bXvLQ#JGa1<)q{e|iBd=8QJ;r7ZMR z(Zo5qT)B)n5n7cp)s}MxhS#zMnJ#r--FzNAd`#kd$H@M}6)>@O#wD%c!SPb*YL4hF z1rCFJvrNN^ZO4lV%r(Z_2e7n_#b3wjFANlAhT?i{UfcjA907@j{~|Ho^K5;C>KRurr>n7iQ%raeOejG=zwuPZElxUk|GI3F#jt&K~sc0hMgO#_~-SKEY-T zCqLp0?C2~Rs#ttq<12-+tR22lMds zFC+kXnNQGvpv!`N`Jx!QW>B?8hV*2zVqe%~?P~U0#nX>xw(24Rncl^esTIEH&M6qw zRv5w3G1w>D`vEUZV)#wy`N?yF3cX#U^;-i)`$i}! zz|Zd+|DFV{5p-AJu*bK<$59MMrO=}q*a_cmVPZi~M?D2+q@^EcrVRiXNRG=!v3<0x zoHdyawyr}kwCsz}qko@`o+Z19UP2sR z>dSga&h|b``pR(3%vTx@WpWp%Gt5UH^bXIls~P^;bgYnlZiB-?SxLSioOhU=jij1W zm-Dgd?#cLDn%Xs^{R5R66Q7QCLAQFdvp!X*jp-n0Ab|nMx}GyOfrF%|&TY}FFxqBQ z#Qbh)U7@vT?3WGi9OK3|-RxvBU5pk><2IKQXI@|++tk?0B^h}iUoZ2I>pd}ORFM*; ztTm*z|NDXMl+1pM2C5Szg>~-VX-1z(cp#=R8n=z8z6>#9?z4VY1`7s!A7_N?xUYc= zDZx4A+XJn~j#~wC3w472kB+ve2Uth%b-xS7~;XGdq<*Wi{}IZ!+5!6ZoYE@ z-+w09XAmxP>zosGfYpB?VSE2vLWJ~ke(l#QKoRX|`mbhKp3mmj8XB_$B?IHYLvU3{ zrPnL8&|bS}gBU1Tjiu6bD0*CqW#RI+jz0w0j!GSRKF`Sqn|74*7zM z+pQfBDbNixgm%|}>(U?yH?T(pLScl`h7B{Vw13%F%(1p`px~vrv}EI(m~t)}klja>;T`Hr1~eHja{> z5`xgxk6~;UZQ#aLv~3c#917L?hmooaBN0?Ga!^=8l>PG5N$Zf{{lT!+cHzNUU?Y`p z`L}NK3*8UMzv;Q)fda$!2C79@clL?jK7;D;1Ld3CoiZn*5T9LuAKq&f%9Y-2;`#Zc z@77VCd=V{&ZzTti1AlBr^G?*A9UWQW>n#L2Z+)UCJTlrRZ3Cir-d4`1|0vWE+msaL zM|%6smP!LTQlHNWL+}K@W_|49DiTK_wqS8(UIL4IH*QakKZg?p63S#awRU1#Hkmap zs1WU4kjWHdZYDds-M2hfiy-Cn!DXt6Gcq=gt_5wnD<~AC83T(z3C1&5-(Wk}kX6~K zT0Li;T;Jezt@3Af>fXVI=9CF9V)&&HtxgcIq8k1`)1LhL!y=1PmUWe-nYO}+nxnGS;5T7(k&kaL7m&Q6j*Kh>N zgVDb(^v~8cfCV3lJoe}^CGc9(v*ZH`wriP#mUBl|03`CR>?o!o%~AVB*`y_7yrllo z1LzzqKB)WjP3?+BebzZR#SReeK)~0*s(j^1V-qK#ITDmWJ1y5Wd1kj2)sYkfq_+iD z>)P%`>_eCKQtQM-*$%r7Ul`>(`jN$-)k2!f!lE zqD~$IIy$y82V10BU70jU0J`|~fjp7cF7@r&@=9u$$$&>=vsq6UOD2~9VxhLEyYWg9 z(j2Jn|JT`tTo55>*zhR*NYmA`lJ7S>-T5t-)ps|p_%_O^h?Fy6!*m3TMS5@b%*8iC zf6J;0X+pL36*&Y{9<|j6em%UY(N`X_b+|ml4-^CQIc1>bC6s4D0{^ literal 0 HcmV?d00001 diff --git a/mult_table.png b/mult_table.png new file mode 100644 index 0000000000000000000000000000000000000000..f195c05c621e79247d6e587bb7d20099a6f737f1 GIT binary patch literal 13985 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 0%eTJ4DvAR8e7Zb-7MT1AE6O8l@?ZjH$KFX5mcE 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 DS`;3i literal 0 HcmV?d00001 From 920668c2656b181cc911fa4cc0c5f4afed530cab Mon Sep 17 00:00:00 2001 From: KaitlynKeil Date: Wed, 20 Sep 2017 10:29:50 -0400 Subject: [PATCH 3/4] Create results.md --- results.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 results.md diff --git a/results.md b/results.md new file mode 100644 index 0000000..44cd401 --- /dev/null +++ b/results.md @@ -0,0 +1,47 @@ +# Homework 2 +## Computer Architecture Fall 2017 +## Kaitlyn Keil + +### Multiplexer + +[Module here](https://github.com/KaitlynKeil/HW2/blob/master/multiplexer.v) + +[Test code here](https://github.com/KaitlynKeil/HW2/blob/master/multiplexer.t.v) + +Results: + +![Truth table results for a Multiplexer](https://github.com/KaitlynKeil/HW2/blob/master/mult_table.png "Multiplexer Truth Table Results") + +The doubling up (all but one false, all true) was to demonstrate that it doesn't matter what the extraneous inputs are once the selectors have chosen the desired input. + +Wave results: + +![GTK-Wave results for a Multiplexer](https://github.com/KaitlynKeil/HW2/blob/master/mult_wave.png "Multiplexer GTK-Wave Results") + +### Decoder + +[Module here](https://github.com/KaitlynKeil/HW2/blob/master/decoder.v) + +[Test code here](https://github.com/KaitlynKeil/HW2/blob/master/decoder.t.v) + +Results: + +![Truth table results for a Decoder](https://github.com/KaitlynKeil/HW2/blob/master/decoder_table.png "Decoder Truth Table Results") + +Wave results: + +![GTK-Wave results for a Decoder](https://github.com/KaitlynKeil/HW2/blob/master/decoder_wave.png "Decoder GTK-Wave Results") + +### Full Adder + +[Module here](https://github.com/KaitlynKeil/HW2/blob/master/adder.v) + +[Test code here](https://github.com/KaitlynKeil/HW2/blob/master/adder.t.v) + +Results: + +![Truth table results for a Full Adder](https://github.com/KaitlynKeil/HW2/blob/master/adder_table.png "Full Adder Truth Table Results") + +Wave results: + +![GTK-Wave results for a Full Adder](https://github.com/KaitlynKeil/HW2/blob/master/adder_wave.png "Full Adder GTK-Wave Results") From 368e5759a91c337c6ebc2edab0a89fa1a9eaf7fb Mon Sep 17 00:00:00 2001 From: KaitlynKeil Date: Thu, 21 Sep 2017 20:26:17 -0400 Subject: [PATCH 4/4] Updating things for final HW --- adder_wave.png | Bin 13360 -> 12948 bytes decoder.v | 6 +++--- decoder_wave.png | Bin 15226 -> 15703 bytes mult_table.png | Bin 13985 -> 11793 bytes mult_wave.png | Bin 12695 -> 15067 bytes multiplexer.t.v | 32 ++++++++------------------------ multiplexer.v | 6 +++--- results.md | 4 ++-- 8 files changed, 16 insertions(+), 32 deletions(-) diff --git a/adder_wave.png b/adder_wave.png index bc13fbc1a165719eb30c9502ef61bc739d3f65d3..8e6bfc5b4e918ff3b1d4af07d394f71143e53dd7 100644 GIT binary patch literal 12948 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¨jkOPmY|U)tm#l%`6^SnvWnAT|)^GlLA0YVU zl5WC;dr;Th3r#JTj-t7#Evi3Voh;=GPqHg>n2g73xkoW<0xtBmD$Y8dVZ;Ux$`CGqT`86XvfDsw+l4ZkPJJF|hx znk6705yGDZsP}i8e?wVS^m?f}_>zT_?`F6+9of-lmwcRLm)T>OM>2Qn@pRzwZcvo$ zsNZVLN3A9bO+SARy~krST!uoy$1w;5LqKcoxR;SPJ1212_iB%zQic*g^PB3+ZHv46 z(dT6+=>4fFw!KB~Wor($o2PYS0*~bG0Q=_lauv^(szKCtVUrnX`z?lI+J*`)nNsIB z?MvQQUOSxhiOQP!LQG;=F;C|-^U*LYBYPZEg>TT~ z@Lv0d!P*k_gKk8P6ZUgUIBuW{E$!1|;CjhWA>4jprpEUD)=qrC=m)ZZbKh{yR?@XS zTGC_aL48Bs`%&`$Esi*o5&Nb}J=`k)qyx(LU}}6N{|V^&wjsLVFk|6s+mwN{Vf8R+ zT*yk3V$hW4gRtTx5qE4U@va>=xwC4hC#mAU;R2)oW z1mo*=19Ruo22ds*fu#jAM|Msic&y}+sJ6MJzs$g--aYE%)z8`aA~F|%pvNxTfK=Wm z!I~^?$-^sWZLSKlylB8gxhqEv2Y&nwgP50^+;O)3*V`h!+?qFn=&*gzZ9`j%z z7EeC|yDv6nK9E%pvPYWDq=3iBK=};ebsSLK%#usw1Md+!wO%^ufQY8txU|EaS__Q8 zPEE}V$)3XZK(qxhP&W#VjLNynC{jRj&YSQGCOT4-JCJ)MmXRtp9QeYKj)s1(lQbb| z&tE`5fM$`gjFV%WLNBwlEPJLMhR`8Dg-a)28S(*RQ=rdyI?*I}g2T(1L<9S0#5;b@wHDdZdFtet$&~ z_Wr+oM!5d`I_p3686bF9;~|PQUd>^+?DK@4TvhUGQ>h}bo)8!HbZD8I;0L~~vIz}T6(b(d&)MerWT(p((tOUR;V zyLC_WVJu+8myIsyzzHH^1q9b_9=48~fZ(4IH`iC_o(kL|>SaQ<$5l|_JU+kp) z>Kar2N$cfbiH|$Y5k47kd>kZo_dHedJMiFYtVgXX+vwe+W&K#G)6;(Yy5rDg;_0>< zmfd&dSm(`5$)R%*N%R5eLi3bzzK@mCa>}OnVVj%jUg$(=1(Vzh&qM_jjV?vRD*MqH z_A=C1IiT^u4bcmqdU!pd05BX7C0?==Lq4Uv2fPE(97Xb~HJK88#IR8BzEUY|Z?KOX zADr?WG7F#1AszvFDA5rwn3L3QjA>jI#(3mtDudWZ+fQb5`s6`3qdqT_{WlxKAI`*o z4@7;RydbkcoeWR^(Aq;tz&vL5p_L=aFe2ULn*DelmV?zZmpGrjwKnsVWF8p`aufuJ<65Z<~%SE6E`UMsZioD>XC=?ULZdY!^tq68eAy%mkT2oSa$%;(< zmuVR#M?K9jHHT8mtcDj+SW(`C_9}F_(y>H`%b==dTaO?BjW-Q`^60iC*A_k3zp+>A z*2{Qq@hdTkOEDobn3UQEf27mLcBxNJP?M>~X;lzB$CYvIZT(?L-WeYo8?g7P)|;kS zO6tAWgUjm4ou(3V(WCwyP+*>j8!3LMY&hzC{Rk^}@tH*Z^?_wf(z;L;jU2J<#HUlwzpWUJLYGXG19y+CkE>0s40;9=FeNeDci z`j+u{v=32Y|+_b3~h zIS&4RAwEXU_~_yKC9>!&F~JZ7&!b+MUJ(z<*UBu0~3M~F3|}f0O}FP zUM2ZtXK&Qklkf?zHbh}Q_(Of~&N1J)iUFnxzrB2}%0TMsJk@|dF!*Q5c|!8{5yH^( ru75u+_`BpcvEK&>{|AWOT{^q4dqMeK1fjPeeqJhynhGUyPoMn<6;5-= diff --git a/decoder.v b/decoder.v index 1c37dfd..897d7c4 100644 --- a/decoder.v +++ b/decoder.v @@ -1,9 +1,9 @@ // Decoder circuit // define gates with delays -`define AND and #50 -`define OR or #50 -`define NOT not #50 +`define AND and #100 +`define OR or #100 +`define NOT not #100 module behavioralDecoder ( diff --git a/decoder_wave.png b/decoder_wave.png index c891d95fb5ef51345cbb656e5ac494b4a9dc5cda..7c4974058f88c93c14ff886f7cdd7737aa1d79d7 100644 GIT binary patch literal 15703 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 UHPm7AqVF%Hm81%uy?OUP0OXE{3jhEB literal 15226 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 ou@BWVxYN8jFU>G_%x)sl0& diff --git a/mult_table.png b/mult_table.png index f195c05c621e79247d6e587bb7d20099a6f737f1..75de82fd8919a5a63305d3b2a6e6c4abb5a82dcd 100644 GIT binary patch literal 11793 zcmeHtWmKEnwswjYDN;&-BE_w^7ca%3P~4?RfDqhWTZ#pj;!bfWS}c^J#VHO2ic9)Q-*$mLOXowX2sSkQ(R-vIGD;=ZvD2u)Dc1 zWi~7Gl=eyZ2UrS&;NRJASQN01?;ShGg*e`1-I0^*%Ngoye#AIef0Rn&NE_BAU+I+~h;fv(hMKr4{F80}t5J1sTH zLX1|2UztnUQ3_}clJ|B7YIv(?ntOxIg)C?##IZ#^g^>>IfUc(0o_4nOF2bH-w7>ic zBd>3pIcceXb#VoY(dsIzQcF2F1F88q_&B)OWjsOdJhbB2)S}K7mcr`NvcJ1P{t~0L zc6D_W=H&G7@Zj*^<#2Ge;^Y<*65{0I;pE|ANA_TM@v?U{^<=kqp}TeQn-6KAi@7t% z(G}!iPkrmt)Xc%nRg9JvX{Y|(`7QW=c(-@?9RwsCoVONEZVoQaf9&oGviuL-Z!Ldz zzr9&l732xD)s+U>0qtFoLlC3o`$xSKUld1cz#)LJqat=nOXsLKo+jnf8O?| zK^_RQvPRD2pKf{S3<4rCxScK1Ld$uJBhfGc6B842e);8h z0Du~xAT6osIk%hPWjJ_t^T~u)8Ih|=FUNLDVmhmvX!k*((#{Apd!B66?M{nTre7gX zGxec?IZ0++*SXGG%C$Ugmm@oRS3TPGg+{56e}HRw1^*;puT>B1?43mMhF`1k-U#f- zKOikDu|#ndAW5*+_BMj%8Nq9+H95|M181(u_%vGDjt6RbgjtKELOK$U!$wDaj&PPiB1Mj zGn>@)o>>tdrxhqodvH?7z%CCYHH>1UwL}Yfvl$B>UuDO6XQOoFO9B89pWm{cK9Ih| zl9HiG@$Xin!b{N_O)qAjjuAZI2VS4A@RIo+Gw@pX=(N}`HZ46HO+5>^^m5KGX^5&m zk0-xg-}uxe$MPb0c(Co_=azRu$MaTy%{}C9>uU@y7*YrZ6rrjz9q-g; zXU|uQTDcndzd8uO{_Bp?9 z>0Lm;D*s!<`I?Mp8Y2_Km^C&^OY#Rn`eyN8T^!`cFRiZ~;hk4Ls1616g*RSe+bNV1 z`WX?m|U2l2{=}h*#2QyE0L-BoP>5vmz>lMCeN#)_3|7cW6cqr<| zKEjRVje6C1SI6F1Kj*w^4@7p64dIYi0=27Iy|FuU_UtYAnZ}dtckmEb{KAGkoQvPM z>2yB{hX24^<-(6dgGumddjLI55*w&2n*iRUB@RI9~OBib=aXGx< zb(>fcK3fAP!s{M_@@kJ9oQ|IxvP)WREHteONU|v`--iSNo86Ma?`}X>4^z-PH~jhDA@0K#a8c@rezF;J4eCGY2ESC`aFTH%yQW8k~#uTaKi?-g=Sf(rko!%_u&W~HW-kdx?>^teK6 z%!cx;+(ueeJ*47o^V4}w9WoAm(8n!S5ARxQLB^d3*rJJv^#{?9Oa4(5b~7svu5oOh zi@GyTx&Vq5^EdtTbZ%fOkvDcV$Iw&nF%)iDl!lP~WLER(71 z{T>!>9XSmufST8JXgN}60iuTp5fl~*IDoXkMg*^m%?`47VlaSp8#lg-z4rUr;`SV1 z_t#APYTfZfkH<)LlYO!h$;ZF73l(^~8ramV4@Huw$Qs_{m#5+Yo{@__r+k+>S<$Z{ zS6bW`qYD1wGj&fxuK3Gy{wmZd5pp!Zcju-&JusW>qz1-lnh6vP(JAU$^6dl2e^KY_ zKhghLqK&53y_tBn9ocEZ_Y+GXM0c4zewh#Gh(4mF|a22OF=3EvWj1BfQYD;VBuPpT53tan20ngUi^(78X zm1&>QYn^rSEbSCsI^ui^h&@jf**pls&4#_stVqn>aQyUw!7HYlD*DtQfZ5lWcq{$_1z)hoN&FBxu0qlec{H* z?D7=SqW;K`=Cs?(&7pDZi4SX4A5j~`gO0N3$!8yBIL*;Ic$3XU#OiErHtP$nk&dm4 zaiGhqZA_Pzn9@@RvGkMZc@-C@&kHF;sQGFUIb6e@8ByPuXkxz31u%`j^M3Uhx32eI zGI|=kSEHU0QoGwP<(61nt}_V)XztQ9N2nT%jZVGCDX=k4dMIU>7;1yhJ0jfe9X z3Pc&#nytLN4!A;yMc_~Xu-~9O%T;CBKMx%`=M`eV@olMq&yoW;-r{@$A{;D4$qJl= z40BXVh~gR6v#sw{cNpVc+W}+tNP;)k;;@OnxBg_Ur#NP}stf3OUCM91Y*Bnpx9S$~ z`N}=SEO5Tx7d5A}WTJ6sCh)iUaROo=K_?IqweC^*73KkoxqyxC4d)Xl7Y6&+w z`T{3fa6my7zt|gb`GS{jpNHF(5Ft2f__H`n#B!M0YX(I2i~X z+U&Hr;08X%6(AAgK&jA+l!#^0QeTYd0g&$;Fs2QoNRV9RbusBB-HR^GD%tIc3EUqx zcfPYoB#mC6OS$0jNse0-tEk!gk(#>yJ^#6Z!Y-tihzM?2)K%8&9t&BQ)YfqLMsI0u z2Lb_WtNl-gLClJkC@Hw<0V)P>Cnri_gjVTuIq?oi&|UV_4c-BvrbH%xRV~o$*B!MLfB4 z^MLzNG=Pc~#r^;p^FTeg8g2=n;y}(z!+^R;jY5<<(E;!87s}t`@&o_?ZQ#3c*-0@G zvC9}+bXoW=-GIBvkCOzCRx-3EEOLL9I`X;e1f{Fa6cpaMxj}&@1>Lgh!tXg&eR3B! z9{V#S8O@jD@J5cqN-|&N)Db8KA;kZbLBt{=j<|Rj(JXkA%_)9h$hG&CH9F@a?+M;x zA-|;jPEtF)z>Ur0yB#KHZ|Ns+)*G!d(k`NtMNH0pHv{Gr(bFQROsZYZOY+mIpFGbH zz&~Blz_H!uD*L9M z@hPO{2AmhU$C$L#ehAg*#t0-yL7>eo9N;-apnI8%{;==NFJ0!_y^HUaMfjhIybqZ+ zb^-(r$S-}^PUpezRZc(EWkszf$9~Xx{gXd81N~F!y$k!HBL|Ac3U^H7_h^8@?ee|_ zC+_YFipLuM9wFaCC+x~7%iLRRkA=1vQ9qS(dO5>b66jV6KDFd?SF>r*PtWDl&|h}Q zY!fe3Js<FV)uLhroEKI-5!2C(8|}P~%9!kA)^^Vb&^m0ws4-FE1Jq@a*KIVx z)R@{*Xp#iwp_swcy0|TLO~a_kF-3YZ;xp0FQS0SJxig)X2fqWD+0pTG|<>6QvP=~sV|`l-z+~)8L_H=s{SBAr8RP>e=nK!1 zqfM>3pBRO*&g{Ecs%V`?OlolD7SF)#qH*x(gka-~)O|w|HJE>zTdKyU?kvVR2!5sVq2^TbQ_C zSJqz|qZ*=5yKAi8<09}3qYZ|!Zy)K#fTOhZsnnEdsA-AQz%^K1qld?pxQ`TVk-F*a z7+g@GZP)ZY0LYTR3>`v3>BL7l$#L%Jt1-k&xw!Wb$9eK{USp~%*Gy7TvRe-o{23%@NAngG1gKYLgYVPILNmfW!$RZ;Xa|#=Y%SKpE$tW&bn+q$B!P4A%%kmi^(~+qJGOAocqpJ{$BXx_r_G1BJ8)bP>Cu+Q_s*woxiQwd<~KkA(g`^7*Tto!h__SLMNX&MZ~zfEF+eTz=Je9`65P zJEfb>8@G(lnc21?d=0d>q&cdf5wN=0J?D3;UJp-@G<{4gOP5#-;5o$Btk5$+P(?YGo}wr(!=nO&`j(pL1D0K2VZt@CA!n5?m{uExxY{!?js>aA)d6LV}=jYmNR6$qsshzog@w~1c;5H$nA?&ndsc+2tJt=eB0jfH( zpZ}UeU@}T}H;!c!#uA$kokiQ-=Bn%D}B1{?nrE82{Op;o-$^J!Ac>$33;i ziRR27i3b$)ki!E23@eK{2wY7f@yCE()O;j8(hCt*r*29?!Qc;?ot3rR0sN$?Ih$|ei5xjW?8IP+k^kZ=k{TNuSV+2O29JsuzMf+^FA?XDY zmLKy}E7w)z>Qa=^;;44lJzsVRzq&9}-cc&8VRM}Mb=EW4ot_$-@{IKL`8K;xC+8hn zj)prMrG&*M;0+|FlBROjIX0w=#D^9t_f4wWAeTYVv~#3nIv-BOGmW-hc)iRrO?T>F zK>Zqae_`58T2qg>f1{eV3v@)&9Nl&kH&fdyRWTVk{xzJD$PmYqGXH|CgKbq<8c>1z zi_q_*NfxXWL{Vb~`}_mVBU`J<-0x;~?xEi9n9|DiCJz1`J68a5e3SRfk?W%6*zb-I{ezua(wpr^_{w^Z)w)ms zo*K!d8dKMk<+lA40~+HHH)|FK(fW#-ZMun^Wcikq#DfgnSjoNSJ2}J#o|DxNK$=>S zbMtJaqUV??`0>d^)lF*s7;3lLzOY6lu*xi`m zMq$yuviz;VS!bto?d&W;BgbrCtIuYUh1vsxvhz&^=q(%)@6ep@ z844*^6Q!@)TBN)_JoPIiH?fg1wY)C1kF7M_SPe27k_7+^{BN>?>?*#rcr$+5#;JXD z-5p9Ux+^=T8p-}G;V?b8IFP6;{{rtPb0|}XrVb~aVt)*(hL#3V-ARv4{}cBgVX2V% z!os8>TECx*KkQEVqNqzh4LHHqM+0|1Y_ynx(IoECbj1=K5duxtVnhS#5{typ&B-_G zQ}2U-LqtO?QY|IcLQ(NiWYzUX4n`@1s?)iJCgD%)(UU+e9>Zlyin%G1^~_tOFUe7M zYBq;5@YowVK`CJbkkw6xwaGdbo0#c}cCt9t=*_h|d$@0MOBsWrb-NZV<9__UVU)mM zgjnC#>Y3XOONUCdx}HYBex@{~z8P!`oypj3giTL$Br~aCyz$Z{g{bDC^!2f-)?3;w z1h8>1^3Z%8(c;|9IjStSnJ_!5jUMxZyh?VWqz#x17j*m|1xAFMLky)wR^lV!qa5-P~?|@t8Qj= z(ZJ0 zMZv*nwNWsFJ9Pp`-u-o^$3-OYAf+}O_ZRd2dD72Ny5hCt=Uk8hikp)+nzu&JD)7|H> zL+fP48tcR2J9z7nLV}#BP~^4J>ozoxD^k!h6-FPW zdL;Nk_=In$3F~K`mxZD<+{KYB8p8j&9YzfF{IUmS{9?BHA80uGzoB88>_l`hK5+zc zfHKTU(bi+3DLZiRSGERs%g2?p!Z(=#*8PWJw8Vf<=`~&NYEG*xff^gSS!wp=Qc5h# zC3Z<#RJj=S(sOMEQJc1b_q?ZZ0rfMVD?*dvLWW?Cw>GzFC6y@l;`TmuRdgP&)j+qMzMprXTZi9a zCRQYSvOfC~soiEg@lNyQD@9!L`k5>L4BFxM^aXJsr9wLWu4RU%3w@NqU2Jp9mqpr_ zD^$)0PVScWQ>#&>_Q1&TsjnD01x2I0)fN0+IwNShex?GQ?K6%c?-!WKkjG)0U;(o= z3^JLhwNrDKmmI95#F~EQt9@NW{e-%EdkZORB9;}nCMO5N;ty9pSp<*9i>Kx@H=>~GcL z)leH6U=^_VN87@6$E<4I6*)Y1h+!``1(xHQW@2>8RghGm(P?Yycy71*zb!xu^m1gC(GoG6v5==3d?lQ0qdkBG@%>MITF31tqEfn6ARE|&{ybqssk2Zz`!p!{7M zw(UmkMR*OOPCU$mou92=6Fz(s?%=B2nR+e7~GSB&>}c}mSWLvCg2 z?U}7^f-*t^+K@T5-Ve}tB=_MIjyX%6>M~>JH&1~C?{Db#jfmjQhQwutF@X3Y^5-u!T62bPS2K5bSO`dLAuxvKCED3hc~vZFrn)_cO}eaI2*W<_Y{ zozjdKFD1yZE738VtL_v`__23$`|kZKFPD(16V=I)Z^a01Ih(*@9#!_;qy=aYJdAy= z_i-<91Uo^7HRJPD6f?{F?oH^wFtb9^F%&I}^Xp*b&KSYd9i0*qo~8t3fvk!v)yl#` z+^7Ytq~^uDCEZl1B;BX*7C7)CYLG<#>HH9-Lg!b;W1BEI_{$F^(lgqD);>zyTw6R= zWNC*g4>of_6)xr@I-%e8ls(h>c}IQVG&eFi804vxLK~e6L^AUvfh2+S6P13XQ2r?R zXX1ryMJqG)7!|q{M=muWXInoDrrxe5@A&!VM^%A824QI!j?-FE>%-(lQ5ML0X>P& z;l&cBJF>5-ij&=>lFlPGu%1-?e)>v%E39zRkG&r%pU0iDbsq)r*QN0-Cp+NZYHVZ< zmIsUEBXd!BwERC%#vdnD_2aY=^~HV@^rP>TdN7x~?fXFfYKv+a7NLU;i<=E!ZSyKI zlFn+>6!1zDfj%NoetI8xlgAL^y;*JRl7A#5s+m}4rVry8yMVUTH7ZRZ96WX`^90gF zA65Nbu&$_S?H&ZbX?v1|0U|+v7(?IPiqM7rM3|CTz}ntVL4l zUQMsx)v%c!qd9z54jD_E{?`+8L+SgYig~T(&7dNkS zeg{M1ITWl1xWtiBx4)q z+uSqUU26WOc0$6Jg)6^e$Ts2ZnkexT`C7iEt7m$<4MLzZa=-^=7w&ntNp=aLLbBha zu744X2Wi^Q%6xn+*MLHYIE@3gRK;#}hQ@P!o{D$TRtdptn#~AzO}hKNfh%iW{7)8F zIj$FW`Wj)B?$IO0QS>p1w(8krTD@C)eFFuc4$3SqzSSymTTXFLeY;wu>{Fg}X9o98 zxM{#;#N>YF^u7NI=l!NX>X;=@S?Dl>zc2m@;y+r;Ll-0wCl>(Z4LmwXexr*|SLBXS z1uA%+w|7swGD-wz%fodxeGPf}ggcw}a_H9_)|bhaQ?ZOpw$eOZ~n(_Hm|)A_ynXE{v3 zs3GYCH`c7#>D_xsuGhvbe0V!MEbPh;WY{zW$l`~*Z_CDQ@k8o|m#S<>{r68VO;C|~ zlSZigpNk*dT2c|gr`D)f2N*`BHdox85AQnrVYNy^F~*j|{*|)3q4XR{gyNq)KKmzm z(>0Zo(OtaR`!A6hN)J>% zLou9+CT7S~CTx7e)E|x%(G7rSU_U2)im}(o63sLUau)A^hHo*yyZlkM_?1XGKer;> oJD=iPKOm+0RWgfBySb|)Rnv`C7=(Oc1^`fyQIW2E{wnzY0NO#=zyJUM literal 13985 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 0%eTJ4DvAR8e7Zb-7MT1AE6O8l@?ZjH$KFX5mcE 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 DS`;3i diff --git a/mult_wave.png b/mult_wave.png index 7e1b761919b40e537d76b5cd61a85a3166afe96b..83ba0e532ae15702c176a121e81b5134f3d5d6ad 100644 GIT binary patch literal 15067 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