Confundido por qué las salidas de un codificador de prioridad podrían ser X en lugar de 0 o 1

1

Así que esta es la tabla de verdad dada para el Codificador de Prioridad: yesteessudiagramalógico:
Estoy extremadamente confundido con la parte donde las salidas x y y están etiquetadas como X (donde D0 D1 D2 D3 son todas cero). En primer lugar, ¿cómo podría una salida ser un término "no importa"? Lo que eso significaría es que cuando D0 D1 D2 D3 son todos cero, x y y son 1 o 0. Pero eso no tiene ningún sentido. ¿Cómo podría una salida tener un valor indefinido cuando tenemos entradas definidas?

Como se puede ver en el diagrama, x = D2 + D3 y y = D3 + D1D2' . Entonces, si pones ceros en todas las entradas, está claro que x y y deberían ser 0. Entonces, ¿por qué se muestra como X en la tabla de verdad?

    
pregunta Huzo

1 respuesta

1

Para mí, esto es un subproducto de todos esos programas de síntesis lógica (Quartus, Vivado, etc.). Debido a que la prioridad de la señal V (alid) anula los valores de x, y salidas, da efectivamente los algoritmos de síntesis Otro grado de libertad al optimizar la lógica (esta es una versión extremadamente simple, por supuesto).

En escenarios más complicados si dices en tu tabla de verdad que x, y también debe ser 0,0, cuando V es 0, entonces el programa puede restringir el mapa lógico y, como resultado, usar más puertas, mientras que si tiene una tabla de verdad que solo le importa que V = 0 cuando se presenta con todas las entradas de 0 y los valores x, y no importa, puede guardar algunas compuertas (para otros usos).

    
respondido por el isdi

Lea otras preguntas en las etiquetas