¿Conectar ALU a la CPU en Logism Circuit Design y dar salida a la pantalla de 7 segmentos?

1

He estado jugando en Logisim para obtener algo de experiencia en el diseño de circuitos eléctricos básicos. Aunque estoy seguro de que no soy el mejor, pude armar una ALU funcional:

1-Bit :

  • EstaALUescapazdelasoperacionesAND,OR,XOR,NOR,ADD/SUB.
  • [A]&[B]sonentradasde8bitsporseparado.
  • Laentrada[Sub]designasiseagrega(0)oseresta(1).
  • [OperationSetter]designaquéoperaciónseestárealizando.
  • [R]eselresultadodelaoperacióndesignada,conla[Banderacero]alertándonosaunasalidade'0',comocuandoserestaunnúmerodesímismo.

UsandolaALUde1bit,juntéunaALUde8bits(estaimagendirectamentedebajodelarealizacióndeunaoperaciónAGREGAR):

(operación SUB):

Ahora estoy intentando tomar mi ALU y combinarla con algún tipo de CPU (por ahora se enfoca principalmente en sumar / restar y dar salida a unas pocas pantallas de 7 segmentos). Tengo una pantalla de 7 segmentos en conjunto (también tengo otra para los caracteres Alhpa AbcdEfG):

NopuedoencontrarunabuenamaneradetomarloquetengoparaunaALUycolocarlasalidaenmipantallade7segmentos(enúltimainstancia,quierotenerlapantalladeresultadosatravésde3paramostrartodoslos255valoresposiblesdemiAdiciónde8bits):

Losiguienteesloquehacemicircuitoparacadaoperacióndiferente:

Yoperación-1.1=1:

O Operación - 1 + 0 = 1 :

OperaciónXOR-1XOR0=1:

Operación NOR - 1 NOR 0 = 6 :

ADD/SUBOperationg-1+1=ERROR(¿SubFlagestáenerrorparatodoslosOP's?):

No estoy muy seguro:

  • Por qué mi marca secundaria no es seleccionable.
  • Por qué se produce un error en el indicador cero en una operación de adición / sub.
  • Cómo corregir mi resultado de mi ALU para que entre y muestre correctamente en mi pantalla de 7 segmentos (actualmente estoy generando 8 bits en un divisor de 8 bits y luego coloco los primeros 4 como mi entrada para la pantalla de 7 segmentos ).

¿Alguien tiene algún comentario sobre cómo puedo corregir los problemas en mi diseño y hacer que esto funcione? Gracias de antemano!

EDIT:

Se ha solucionado el problema con el indicador secundario. De alguna manera, cuando traje el circuito para usarlo en mi circuito principal, tenía las propiedades de ser una Salida y un estado de 3 estados (que no creo que haya establecido). En cualquier caso, ese problema menor es corregido.

Parece que la Bandera de cero también se estableció como 3 estados por alguna razón.

¿Algún consejo sobre cómo solucionar el problema de agregar / sub?

    
pregunta Analytic Lunatic

1 respuesta

1

En las últimas imágenes, parece que ha configurado el "indicador secundario" como una salida, no como una entrada. Dado que no hay nada en esa red, se produce un error.

    
respondido por el duskwuff

Lea otras preguntas en las etiquetas