He estado jugando con Logisim para obtener algo de experiencia en el diseño de circuitos eléctricos básicos. Si bien estoy seguro de que no es el mejor, pude armar una ALU funcional:
1 bit :
Usando la ALU de 1 bit, armé una ALU de 8 bits (esta imagen directamente debajo de la realización de una operación AGREGAR):
(Operación SUB):
Ahora estoy tratando de tomar mi ALU y combinarlo con algún tipo de CPU (por ahora, me enfoco principalmente en sumar/restar y enviar a unas pocas pantallas de 7 segmentos). Tengo una pantalla de 7 segmentos armada (también tengo otra para los caracteres alhpa AbcdEfG):
No puedo encontrar una buena manera de tomar lo que tengo para una ALU y colocar la salida en mi pantalla de 7 segmentos (en última instancia, quiero que el resultado se muestre a través de 3 para mostrar todos los 255 valores posibles de mi 8-bit suma):
Lo siguiente es lo que hace mi circuito para cada operación diferente:
Y Operación - 1.1 = 1 :
O Operación - 1+0 = 1 :
Operación XOR - 1 XOR 0 = 1 :
Operación NOR - 1 NOR 0 = 6 :
ADD/SUB Operationg - 1+1 = ERROR (¿Sub Flag tiene un error para todos los OP?):
No estoy muy seguro:
¿Alguien tiene alguna información sobre cómo puedo corregir los problemas en mi diseño y hacer que esto funcione? ¡Gracias de antemano!
EDITAR:
Se solucionó el problema de la bandera secundaria. De alguna manera, cuando traje el circuito para usarlo en el principal, tenía las propiedades de ser una salida y ser de 3 estados (que no creo que haya configurado). En cualquier caso, ese problema menor está solucionado.
Parece que Zero Flag también se estableció como 3 estados por alguna razón.
¿Algún consejo para solucionar el problema Add/Sub?
En las últimas imágenes, parece que ha configurado la "bandera secundaria" como una salida, no como una entrada. Como no hay nada que dirija esa red, está dando como resultado un error.
Lunático analítico