¿Qué estoy haciendo mal? Problema logisim

1

Estoy haciendo mi tarea para la lógica digital en logisim. Necesito hacer un solucionador de funciones para esta función: f (x, y) = 6 * y-8 + x en aritmética de 4 bits. Aquí está mi solución pero no funciona para algunas entradas. No sé dónde fallé. Estaré agradecido si puedes ayudarme de alguna manera :) Gracias

Solución:

Editar: está funcionando, por ejemplo, para 0000 para X y 0101 para Y, pero no funciona para 0000 y 1101. Necesito obtener una solución para la función anterior

    
pregunta user3478619

1 respuesta

0

Por un lado, no puedes usar un puerto OR para restar 8. La salida del puerto OR siempre será 1, porque una de sus entradas es siempre 1. Estás ignorando efectivamente el cuarto bit del multiplica y siempre pon un 1 en su lugar.

Además, si se le permite usar un sumador completo de más de 6 bits que simplificaría las cosas, por supuesto. Si no me equivoco, Logisim también tiene un símbolo de sustracción que podría usar para la parte -8. Si no se te permite usar estos componentes sofisticados, deberás hacer algo inteligente (por ejemplo, compilarlos tú mismo, pero hay un método más fácil).

Por último, menciona que debe realizar la operación en aritmética de 4 bits. Con eso, ¿quiere decir que las entradas y salidas deberían tener cuatro bits, o solo las entradas? Porque si el primero, estás calculando demasiado aquí; tienes siete bits de salida.

    
respondido por el Keelan

Lea otras preguntas en las etiquetas