Recheck the definitions of the control bits. It often helps to work through a circuit backwards:
out s/b 00...01,
no is 1, therefore function output s/b 11...10 = -2,
Also note that you can save yourself some work by hooking more that one bus/wire to an output.
Xxx(..., out=v8, out=out);
Saves you from needing Echo16. Figure out how to do something similar to eliminate SelBit16/Not/Not.
Once you've got your ALU working, please edit your post to remove the implementation details. It's best not to have complete solutions posted. People learn more by having to figure them out themselves.