rajat wrote
Not16(in=zeroornotx,out=negativexpartial);
Inc16(in=negativexpartial,out=negativex);
'nx', 'xy' and 'no' should be doing logical (bit-wise) negation, not arithmetic (2's complement) negation.
See
this worksheet to understand how the ALU does arithmetic using logical negation.
Please edit you post to remove the HDL after solving your problem.
--Mark