diff --git a/projects/02/FullAdder.hdl b/projects/02/FullAdder.hdl index 6b568d0..babb648 100644 --- a/projects/02/FullAdder.hdl +++ b/projects/02/FullAdder.hdl @@ -13,5 +13,10 @@ CHIP FullAdder { carry; // Left bit of a + b + c PARTS: - // Put you code here: -} \ No newline at end of file + HalfAdder(a=b, b=c, sum=is, carry=ic); + Not(in=is, out=nis); + Mux(a=is, b=nis, sel=a, out=sum); + + Or(a=is, b=ic, out=carryifaisone); + Mux(a=ic, b=carryifaisone, sel=a, out=carry); +} diff --git a/projects/02/FullAdder.out b/projects/02/FullAdder.out new file mode 100644 index 0000000..610181f --- /dev/null +++ b/projects/02/FullAdder.out @@ -0,0 +1,9 @@ +| a | b | c | sum | carry | +| 0 | 0 | 0 | 0 | 0 | +| 0 | 0 | 1 | 1 | 0 | +| 0 | 1 | 0 | 1 | 0 | +| 0 | 1 | 1 | 0 | 1 | +| 1 | 0 | 0 | 1 | 0 | +| 1 | 0 | 1 | 0 | 1 | +| 1 | 1 | 0 | 0 | 1 | +| 1 | 1 | 1 | 1 | 1 |