RYus expresiones para bits individuales no deben usar el término "B + 1", que puede tener tres valores posibles (0,1,2) y requieren dos bits para expresarse.
Sus expresiones para los 4 bits del sumador deben ser las mismas:
Sn = An ^ ~ Bn ^ Cin;
Coutn = (An & ~ Bn) | (Cin & (An ^ ~ Bn));
Donde 'n' representa el número de bit.
La Cin para todo el sumador debe configurarse en 1 para hacer la función de complemento + 1.
Pruebe este enfoque para pensarlo:
Olvídate de A por el momento. ¿Cómo crearías el complemento 2 de B con tu lógica?
Colocaría el complemento de B en las 4 líneas de entrada del sumador, luego, para agregar el 1, establecería el acarreo. Esto debería dar como resultado el complemento de B de B en la salida.
Ahora agregue A en los otros 4 pines de entrada. Debe obtener el A-B en la salida. La salida de acarreo se usa luego como un bit de estado de desbordamiento que le informa sobre la magnitud relativa de los dos operandos.