Estoy tratando de hacer una CPU casera, pero tengo problemas con la ALU 74LS181, que simulo en el software Logisim antes de sumergirme en circuitos integrados y tablas reales.
He colocado en cascada dos 74181 siguiendo las instrucciones que se encuentran en muchos sitios, como this .
Esto funciona bien con la mayoría de los complementos que probé, pero algunos no funcionan.
Por ejemplo:
0010 0111 (39 en decimal) + 0000 0001 (1)
conduce a un resultado 0010 0000 (32).
Sé que debería tener algo que ver con el hecho de que 74181 utiliza números con signos representados en el complemento de dos. El nibble menos significativo en el ejemplo (0111) representa el número positivo máximo con 4 bits, por lo que cuando se incrementa en uno, va a cero ...
¿Hay alguna manera de hacer que 74181 funcione solo con números positivos? O resuelva este problema de otra manera.
Estoy frustrado porque con este problema, la ALU es completamente inútil.
vínculo para la hoja de datos 74181
enlace para el proyecto (tiene una imagen de error en la ALU simulada) - enlace en el comentario a continuación