From d174564a6194a79400028d3670b1842051993321 Mon Sep 17 00:00:00 2001 From: Tobias Shapinsky Date: Thu, 21 Sep 2017 22:24:48 -0400 Subject: [PATCH 1/2] added images and dump lines to test suite --- adder.PNG | Bin 0 -> 12135 bytes adder.t.v | 38 ++++++++++++++++++++++++++++++++++++-- adder.v | 18 ++++++++++++++++-- decoder.png | Bin 0 -> 15563 bytes decoder.t.v | 6 ++++-- decoder.v | 25 +++++++++++++++++++++++-- multiplexer.PNG | Bin 0 -> 11945 bytes multiplexer.t.v | 21 ++++++++++++++++++++- multiplexer.v | 37 +++++++++++++++++++++++++++++++++++-- 9 files changed, 134 insertions(+), 11 deletions(-) create mode 100644 adder.PNG create mode 100644 decoder.png create mode 100644 multiplexer.PNG diff --git a/adder.PNG b/adder.PNG new file mode 100644 index 0000000000000000000000000000000000000000..d271bb64595d68a1610989e4c4e14992fdb00592 GIT binary patch literal 12135 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 St3Q%ctBRt=t->33gZ~S9$TP

&1goL}Oy8ZV4w&&b)f1K;{2y=zC=9*=Ucf8{rGl5z+RGId2>}6nJ zU{bq!S%-mPw>r=+{B1YzbKuT`2k>i~i;n6=hWu8}ao}R7%>|7M3=Gileap9Y0oRPq zSB+d47!K5|{@+&blzE$hLE)y_LaG$CC$wlFeCR=O@MNP4bS336!yJYYGzydgw1T#TcQO)I`Hk zX>Bpr`x~k>b(FDP;01 zp06*yN@ogT9&A4T@X|92XsTtXd4=1vD+(o7E5RvuS1R=K&|n$Xv5E#^&_M_J&3oUU z*eMW=%+7Uwn&8)Whe=#O>%!+guv5E_re9_#YZ4w5H%IrcoO>^9kr`sC#+zMyt5G!R z3}=Q>Elj&aMz7N9Dd9lqd_0e%uER_GW~Y7AwWcCnm0-jvbKSRp#GM)^S2v@QRY+1^ zOTwOn+C_}fA(~h0=;-R&hqZmr|+85n@+s6At$H@EiPH zh2;ujv*+VtmSWL*-ZLTjqGeaAP4wB^D&4Icx=Yz?7X}mY;>O6S&g^kba8Krmeqrss zd-FTVR&;eg!*@l5y@9du#tX|d4v7H{rXbV2`(zE~iCTyW$P8D9wRfO-Bs+3TXXb~V zkg@G4;sIMhhJyC{K~qaiCv6l`ysjL`?_QZW=8BtqlHG$gzn|H=gdprE6I;hkC}yHM zl|E1FAU@o#1$Xe7fm0@F$)!%94}E*2oL|bCxW0gv`(Sbf3WR(rlWE-szzm@acAz zyk*Ph>B{Ujj zsej~wKIlgN9+lp_ux(>T|Kiyr8aRaCb1)_ zXEgni9Y9GAh>xn){lOfd)7QgA-3bi`FF}W#hK1+mV7n?7VPrSzR35TqSApGtnT-8H z#C9f*v$=%br1@q&wU?F+I3ejV_)N`5gW?`?&;T86fj>Jx6FERCgOX5YMdT+hc;*#6IcEx!lEPG!UyYM-{LS>V>^Bcj3s(@aHiQX@!rfo;>_EZ8Y>Wb z`HLxzzrk&oTMSb|k4c}Cws*OwVs>E!eB@7aR%>YG!W7zBd1$XBt}F!5>7~_N@4{_} zVc~A2rOqo$o*?R89+fzV;nVY+SD>kPKkVSpa}L1bj15G7!+lzQo^wDX zT7gtcm!@PP>#|C7-u5}Rd~>gvs~HWgDQQu`nCWo3Q9p3HD)90=cWYTdlNUZGRTR*b z_`Gspi}Br3wx6s#Y5ib5XR17g6JepYf3P2}zZ8>DE+*M3-u6X;ch6+2J1?O(IEc7qyAdJDZ0gdvX1eaXJ}J|oL|7xtX&hQ_fs~gR8UJdnP9E=J zCU-nWXTQDapFpjed;d`t&n@aRvGj!!H@6^9Dqbd8FHOcBa=Ucly|8*GJUtFhgiv@z zjbK;6Xzz4);)DFu%&v6i`lksvNh6m|y#8?KE>B|0muhxQ>2z>ytkSp~>wcfh!4G(_ z^)`zjkenr zD@BSto%xMukVP)&(L)m=_DD8~x+0_Phk4)*HRSifJoX0u9)eTKD5wshB=mj|1giQE+-_gX#+dj zBxBo2Vjhd`e|(Y3-1$tt?rAVzDFP-q0=TAqQ!zoj&9>+BiRXT$=Py0&eJjr|4zepd zrDrXAgisE99Oay?feR!?JZzmk4ohNw8E4>482|g{G#a z>R2G$9xoMxv3)JuB2B>YQiMx+Vv9~{e4Z1Pc_~va#}8CpRXMu2qB`$4o%R4kL}B4x zbG5?g@#dayBX`e+zx52qCmuH(1h<@WdU{)~|&yt6zG7MKOybERQj+2SvvbIoOooM0X8)FF>(O5qlH#DoR zyIt=N8-e<2+=U28YQl*93S3oclqOT06m7}a@!CM7tL!qG2X}UfawNh%H6)k2V&v{WiQ4CjxuH5c6r5M#lJKt0~EuJe@x!9|B(fj;u?uLAoQDMnS%W}uD=d7Ly zDPM`EDcMI~jeQtjma8${jzh;XvI3&GW zAbQUGq7(j2k<*Ffnl>9S+H1$lV_2+C{qph|(Qk&Sez4Gr-gd%8pEB?ch-#yKf=jY5$vi9Q)SEPYfZ6`5u~Mem0%vo3K^CH#ZHpyv zh9*)g=qXN**z{`+MFNL}{Opg+pfPP=KdInYTX2Hf>W0dj@^D38$wMir8a$ep^K?&pR zUzb9ZiP&YVFu8XUjy^jIBP6b9sgPI3cr2FnN9$*y?b@@17Gl3;;0s{hbg)=-Gm50#WhLb zRY811Tn*VO@?72Ul){UUyD@%Yj&T-Qq0IAk%T{a+@;X}Gbn%>vCgi#BFrB6mhq;zB zO?uK9=j){(Fz>-x8b4lJye2{(b#EzA*jcji`|NdEy63;v>{D)kt>l2Jsy(=by_8c- zBL_#}eqW+fFE;=t5)jOH1KTS_?W>K{RPHFlYSU+)En6&WlPIi5*~V)!h)Dd4bZ|cc zt@C2d<30G_K$Iy;PbZ&d4*qr$RwEEybu{)({@9SljTY2QN432>tsx@=QX)4`f8;AW z;T{Xm(fcZ#_*r|CD*y8+vcmhV%H@{zvCUmSw) zNz}r^7kxg(n6KIq>+Ok8lOuMTM$i%`Tt1!;HH*lWxquZdXjkc zLJMlKaWUI`L70oRW?(zuOAQ2{#LnodT)M+#!l?J;g}mQUnV>s8`BFmS zck0Zp^b~4B@BT7m{Gh#B(>x8-wydWrQ*v`^FU|M5m=Iv%f-$Oo1~?+*axc?~qVTW7 z1q7X1d1Z%X9s24z(&kq@c_FIT_PScDodmqyw`Zmlz)t^=0~wh%X#M{1gAUmAjQqvS z>n6VQ;-R<~0AR4fWK}gCjZuHoF4K z8Pj0pFY$^d0>q3LQW+mgG^Gan_aVv86kv?B$9XK+cc#Wm}wfyZ{Lc=>m@H3MWj*_*BDqr^sVQTxyElsPVZzBMK{|O*v%%Q zbE@b=5|fvie0|cSodk8-JMox>hMJ{z?K9ptl%}Pc#!2r={4MD#_St$MkWF`-vVMR7 zRr+NbG294-ug|(9(BV#E&NELraN?hmeB zN-KlILtKI+~T!pcw-)R8Ls`BNj?pg#0^LR?FBUPiGE7;?(dR2IT z5dGBl@qnrtj29;n2^$S>=UFM#O7yKbFM;zlp2tzEltvQxm`++fR4it_ezrs<(Nfjq!$~WXnW-22 zN2w|%A5y*kwmm2KVC^B+HYG?T)BXda#+QRB7Mjr8bakO~_}_*{N_2Ckm1FZB zl$STk-+FthEilQD#olVBc~sK=y`9|ICMtcTQMNFkwQ@o*h)=2E$W3O4T`xi$+B3ej z>z{7;rmsL9QmgX?+T+;2YqR+TajiX6TcnwAdx{-s6C8eObNhJ_Vrd4#(MJZtcGX7K zt#$q@4{mk%D|pDOz+v@=H$Tg7q(y+M ztAD@n8|jtu3gSC+zy5db+Q>Ua#}I1gjR!x}4De!z+avNlrr#|*qf|1a@^UMPC?(Ux z7{-J4Fb6Y_y1)Gp3#X<6&+I6-0ur^~o^9a#&bKL1?lY26oSl?{ zM0qw~JP*GQ;m7eDc~Kh~I{@MEYp}B?(!O-nPf&R?Y<;Zfe60EbGh#V@d@HH@F~d7u zXAVtGH{@APFFJdJBR^|$-gY!u)$KwhXS|{vOeh70~_+<@Xi+TtiZbk?S!=O@mCq6S&*Xr!(@csCBHB2f=?w& z6jRf$w)x1b^6!sJ?e^_a?+t4;Fed~qp#u1_MPu^S?@PF~4uxhPAXcj;?pHKE3a z=aSUK6Y*loB2j>MUI%W$vPgfpZbO&1aQR1&t~>dm-Z{!{MwDM*v{KyGMI%p0snSHz znDXV@@UUAqxMU)Y-erGmbv57wsRF}}i{(2qvdZYNXR~~z6Q9`l?VI0}R}9W^x^XN# z)kk0~M2p0bakWhIp;7jNv|6dCHiQN~=w=Y@ikg=7`n>>UD`61L5ct<| zs7?|BP4%oPnm{jIH9HF_zm^S0Hx}E@%`{F>ZyF+eC9d3f@%g}Z(e zHyZ4zU4AY4Mu$qdten@t#57!kW9k_1e>855l{2O&c}Y^jHo0GFIZVxW@T0B%S8~Q z`ZQ_m{@NhQ;~xx%39I{`Jw1r;USF7sX%L^)C8ymt10@)@*@A;o3sKzNye>U4lCcOCFL&JoCwkDSadz_a^F3b|*DM7pFW85L*e4#P>^zKzYP zhTBiF>@nXQ(gBjf{##)I8{_Rf`PNV;n{QAYgmc8d?5Cx4#iK@F9g?h0Jyi(5Qu#_L z-6A0&W2EKmOEgu7iFQFX<4DIhN<{4Mit~8R_|tbI9jW)k-Q?vgAm#iM20YQ1>7jD9 zPAginKoIdCc)xFBRL#JQP5>*kG2~bPLMXQF{$6ua^*O~U$;QKzxK1hl+nL?Z7KO+q zuS7dvbBm&el`XVy8KsrbhuPw>RWTSO`z4NU0wcS6Y>pAtX|j{KH1q77F}am>sW>zF zf&~yj0_*>FIe{3m@ZZ5ofq(4wWsY;>5i{>Q?p!giGO8j7C_@B8+O#iBJdTYPQ8A`7azzl4qCD$p8&M$^Ew*^nZtdM}cV8aIf#l zUz?}Ke-H9PS=FS!22P4c<)7|(t;a&E3y{_`sMn<~( zC3m(mb9GW|V$JXOA)wCne*gvh{eQoFKG2g)>m2Cm4)JEd^3ODrP6t4^p8{^jIpT2y za67O-^ruJiZ1)7CLzv)486M6Jb9y{-t>-a3&5x;KX1L1JKH_^^F@VG(82#z{_A-3}g%1Sj3VQ~V}j!cW6ZN>0DQ%4O-AaLwf9NLgF?Xs76@*I8sEdNG1E zlX_dcGpn0hEc*6%ss(fVVz2QNOk2kp98X%QjQ$lwb!$=(U%(XZ)|O%Z=Lv(04Rwq% zGsJ9jN=AFKn5AE4*`v=Y&b;77_1F99Yr{%=g`@rHP^X^cYR_E}v#g#A&H8e_$cs@= zy1%8U93r$A@f37~1=&Xx_?e*JL?k)#j^rR$hv$z_UeSTSE7Sw=?IYi;F0q&CtF55$ z($3jJQ=#;7YTak9eL;NZPjh-~7RGtr9%L~HMV(xb@YdH~mR($pdM@wRqZE%KL4!UWUt;4r|bJ;8v0se3- zx2sZfLP}qxi`1aS#buxAkdfjx*M2a57MXp?Pq7p#rz6tPe)P~j5Gy@FN0bv~CQCE# z44Wq1XT5PWCAe)WpO-ZIlD$Kk7g>(bw0rD6tU8pyhg<5!e4a;VyAs^wPLV_u@h~0; z{$_3D73%2JG2u1Z_QCldOb}id#1|#Zqu2Jv$^K*P4k9Z{=hZ)R){i{Fpmdd#a07iD zf4rsIOJQ{k{i>6!K{RJBPbh_Wx@;{&1JLOoC!dwKtP}2|Y!EM=kSQA{tf#A+kGJs7 zWKT#;%L8F4m;OXx%i!59x>5_TwMID(t6yv*`6VgmW>?xYT%uvJX`1Hkcjgm#Yl&kv zkn*K|mnYA|sX?~6egp)NYi=OwKN>EJ4%{J~yJGn|SJa>s#xyT{B98}0c~s(A8&aqA zG{-aG4p!nkzxzb;3$J-?obRjg3JcDhsokqKvmAG#;;l)J7PU(*eWfK)uzDA&BoL2%l`1xdkE92 zvHe(iHGmFPUGbonIdMj0pPT-;AvxO3Hn)Y%a(ubWa<={jTw_lPzs-_tCIf7(KDtO7}dllRfTzn?lMvX*(_T=nbJYNXs~+<4QuOflP6DMkEw`e~IG z4C?``|NXuV@ie_bqV3}u7J(Bk3NfnN@0ssd{d`MDyBKt{7g>VM033JfXykyQCII&^D)!j)ukCz(}R;~_it+0M{ z4Ng-}pN#Ce9xnk&$*#fumA-J~K-H#A{{8em9ab0GN4{L$*$8(|Ruaw9SzOBE@YP8V zW}jU3P!@+$#$!Zdc}%`?CXS zys$}lVs%pM;)uuD@SOuyyH_1+EiFrouvF7%C&}^Wyx4n(5LTt1=N3K>x`PHwxoeIs z8i+){6fXzymz>kK8fivxWsGKieJ@iyi=x}dxFuml9RJJjS_||ef*kWkwFq<&j{B`N z-Zy<58^v?4yf8KAXJfkZW6{l;>2BzP(@jNm0Qp{l(qH1U^xe+gNjjS2Qx(cIo|rMy}~( zX%ITwvs;pBf@Pwrz)(ld&%eStF-sL8fWwt!tjb{(MaGme^RK~;phDM3vBsA6u0sZ@ zLE;~Nj)tqQyRZK0TmR;n+uV$we(+tTGqsTsL2kOPmsSY&csHSx6a-{(r>HR~o{fRxP=z9s|R{G~O~7g3Y?b$?q=%K>&As8R%7Mc`%{@f7HAnc-pvh^Juk!>u2TcHN<6!n2vcOVdK2LQGo0GQ2k zl1_QQMku1s12!WU6;q&OKsOIox1T66$VWa_baAcwbP@DqUL5sNyEp19(Hj4oqPU4? zK`TDCAk1OX_w55NQdA;N#iqCLeA;u$Bx^P8(lC&ruzZhkfA`|_RgTTS1k)!xIYhQo zi)ut`qNZP*b(?zEg<-||j#;Yt$nU8xysZon;(@K4ByM5%FRWAFD6{ofVT|+hfB@ zH5c~vdWb2e#-zXUPtX-%BvJ0+&K(E+<8VIx9qOeuPE&egr7~X>9uSD$k31Ofmv$78 zWl{lk>pz>y{{X-}fKTj=ii*x2g9X3romHSgbhEBC3F+Z+;%jx9ZGU`^%0Si%*mnFA zt5gO6Vb2vjTG!+PftA$DjY~eZ;;Ml`$lZHy=EO0kUdiIQkkU1P{u5>NfFmeJ70%l61j$@ z-ZDPl;2z&;aQ|Q23pfwsmA|Bt6bE68H1>R|0ePaQf)LQEXvE$tsR9=ErtaF%q5ySv zLpA{5Y*mO}C#g39bX>!w3>)a}dCp!RREy_*%=SD?v365NNXOBbqZ6brdqHKt+z(JL z{~yG+W0_sa%5Qp2Wp`lp?-k?EZ0HGoH$SWrk@aJgKp}5~8=T%EC%Ph8BFIBDW8wLa zflI}y*M=uE>=)ExoH|| z58Fn1yXr@P?geBPtNe<0BMVVF0h}Rcou5QD>q-)ef_w^Cs};{XU})FB0=erTNF)oB z>|UU#0Z}aY>SdCXLOiq~>;GfFXAGk6dfu>6g%{o~8}Tm?S=0%qv}zXw=&LA61DY(; zL~8DiAif=Lmq#t^t`u9Uq3*yXsxoFh&2rpJ^|;CukN@KMFU*S=rPQ}Nq*2&4IwB+O zqnxG*Mjbk40j;@}Hfj!m>C97ad$x(&>$>G-muh@{E0)ws1&-H{R5MK|F`h%gvor^< zZ0YfqB%BsO@DjNWVT#ltOY}%5LOjTApJ7)H*cUiwR&{CDCGO5#JW6{$_`fn29g!@o;@Z7iZJS06?%~(e# zZa8Qk%yMkM6V~nkQ;RO^k-#47v2$`|3&uT(<+WoO!d;t){#qsgs zzSTl{;yX*V>|ZysjZ^vsmTDrgp{rlhjfkuwEnW(wC<5&)5sWNz#O3v37(i5~{e<5C jZ%Mjw)px25R(MJo2QSZ9@7TXe!_`!7T+Y9E^N;@nF#0)l literal 0 HcmV?d00001 diff --git a/decoder.t.v b/decoder.t.v index e0e925f..ddc0158 100644 --- a/decoder.t.v +++ b/decoder.t.v @@ -7,10 +7,12 @@ 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); // Swap after testing + //behavioralDecoder decoder (out0,out1,out2,out3,addr0,addr1,enable); + structuralDecoder decoder (out0,out1,out2,out3,addr0,addr1,enable); // Swap after testing initial begin + $dumpfile("decoder.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..600bf2a 100644 --- a/decoder.v +++ b/decoder.v @@ -1,5 +1,8 @@ // 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 +20,24 @@ module structuralDecoder input address0, address1, input enable ); - // Your decoder code here + wire A0_; + wire A1_; + wire en0; + wire en1; + wire en2; + wire en3; + + + `NOT nA0(A0_, address0); + `NOT nA1(A1_, address1); + `AND E00(en0, A0_, A1_); + `AND E01(en1, address0, A1_); + `AND E02(en2, A0_, address1); + `AND E03(en3, address0, address1); + `AND O0(out0, enable, en0); + `AND O1(out1, enable, en1); + `AND O2(out2, enable, en2); + `AND O3(out3, enable, en3); + endmodule diff --git a/multiplexer.PNG b/multiplexer.PNG new file mode 100644 index 0000000000000000000000000000000000000000..4d06389e2a46a23cfe7c6f654f35ee0b6fa8f741 GIT binary patch literal 11945 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 J3#DOx{{=E)TOI%a literal 0 HcmV?d00001 diff --git a/multiplexer.t.v b/multiplexer.t.v index fd475c4..1b19e8e 100644 --- a/multiplexer.t.v +++ b/multiplexer.t.v @@ -3,5 +3,24 @@ `include "multiplexer.v" module testMultiplexer (); - // Your test code here + reg addr0, addr1, in0, in1, in2, in3; + wire out; + //behavioralMultiplexer multiplexer(out, addr0, addr1, in0, in1, in2, in3); + structuralMultiplexer multiplexer(out, addr0, addr1, in0, in1, in2, in3); + + + initial begin + $dumpfile("multiplexer.vcd"); + $dumpvars; + + $display("A0 A1 | I0 I1 I2 I3 | Out | Expected Out"); + addr0=0;addr1=0;in0=1;in1=0;in2=1;in3=0;#1000 + $display("%b %b | %b %b %b %b | %b | 1", addr0, addr1, in0, in1, in2, in3, out); + addr0=1;addr1=0;in0=1;in1=0;in2=1;in3=0;#1000 + $display("%b %b | %b %b %b %b | %b | 0", addr0, addr1, in0, in1, in2, in3, out); + addr0=0;addr1=1;in0=1;in1=0;in2=1;in3=0;#1000 + $display("%b %b | %b %b %b %b | %b | 1", addr0, addr1, in0, in1, in2, in3, out); + addr0=1;addr1=1;in0=1;in1=0;in2=1;in3=0;#1000 + $display("%b %b | %b %b %b %b | %b | 0", addr0, addr1, in0, in1, in2, in3, out); + end endmodule diff --git a/multiplexer.v b/multiplexer.v index b05820f..27c7244 100644 --- a/multiplexer.v +++ b/multiplexer.v @@ -1,5 +1,8 @@ // Multiplexer circuit - +// define gates with delays +`define AND and #50 +`define OR or #50 +`define NOT not #50 module behavioralMultiplexer ( output out, @@ -19,6 +22,36 @@ module structuralMultiplexer input address0, address1, input in0, in1, in2, in3 ); - // Your multiplexer code here + wire A0_; + wire A1_; + wire en0; + wire en1; + wire en2; + wire en3; + wire out0; + wire out1; + wire out2; + wire out3; + wire out01; + wire out23; + + + + + `NOT nA0(A0_, address0); + `NOT nA1(A1_, address1); + `AND E00(en0, A0_, A1_); + `AND E01(en1, address0, A1_); + `AND E02(en2, A0_, address1); + `AND E03(en3, address0, address1); + `AND O0(out0, in0, en0); + `AND O1(out1, in1, en1); + `AND O2(out2, in2, en2); + `AND O3(out3, in3, en3); + `OR O01(out01, out0, out1); + `OR O23(out23, out2, out3); + `OR O0123(out, out01, out23); + + endmodule From 6f1c13f812d2a3b9cdc228fb356b711fe0275bd9 Mon Sep 17 00:00:00 2001 From: TShapinsky Date: Thu, 21 Sep 2017 22:47:18 -0400 Subject: [PATCH 2/2] Create Writeup.md --- Writeup.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 Writeup.md diff --git a/Writeup.md b/Writeup.md new file mode 100644 index 0000000..9ae8d42 --- /dev/null +++ b/Writeup.md @@ -0,0 +1,43 @@ +# Homework 2 +## Tobias Shapinsky + +### Multiplexer +Results: +``` +A0 A1 | I0 I1 I2 I3 | Out | Expected Out +0 0 | 1 0 1 0 | 1 | 1 +1 0 | 1 0 1 0 | 0 | 0 +0 1 | 1 0 1 0 | 1 | 1 +1 1 | 1 0 1 0 | 0 | 0 +``` +![multiplexer](https://github.com/TShapinsky/HW2/blob/master/multiplexer.PNG?raw=true) + +### Decoder +Results: +``` +En A0 A1| O0 O1 O2 O3 | Expected Output +0 0 0 | 0 0 0 0 | All false +0 1 0 | 0 0 0 0 | All false +0 0 1 | 0 0 0 0 | All false +0 1 1 | 0 0 0 0 | All false +1 0 0 | 1 0 0 0 | O0 Only +1 1 0 | 0 1 0 0 | O1 Only +1 0 1 | 0 0 1 0 | O2 Only +1 1 1 | 0 0 0 1 | O3 Only +``` +![decoder](https://github.com/TShapinsky/HW2/blob/master/decoder.png?raw=true) + +### Adder +Reults: +``` +A B Cin | S Cout | Expected +0 0 0 | 0 0 | 0 0 +0 0 1 | 1 0 | 1 0 +0 1 0 | 1 0 | 1 0 +0 1 1 | 0 1 | 0 1 +1 0 0 | 1 0 | 1 0 +1 0 1 | 0 1 | 0 1 +1 1 0 | 0 1 | 0 1 +1 1 1 | 1 1 | 1 1 +``` +![adder](https://github.com/TShapinsky/HW2/blob/master/adder.PNG?raw=true)