diseñar un codificador de prioridad de salida válido de 8 a 3 con AND, OR, NOT Gates

0

Estoy intentando implementar un codificador de prioridad 8 a 3 que funcionó bien.

Mi función para las tres salidas es:

$$ A_0 = e_1 + e_3 + e_5 + e_7 $$ $$ A_1 = e_2 + e_3 + e_6 + e_7 $$ $$ A_2 = e_4 + e_5 + e_6 + e_7 $$

Ahoraquieroagregarunasalidaquemuestresihaymásdeunaentradaactiva.Sisolohayunaentradaactiva,lasalidaválidadebeser1otravez0.

NosécómoimplementarmifunciónválidaconlaspuertasAND,ORyNOT.

¿Alguientienealgunasugerenciaparamí?

EDITAR:

Esteesunborradordelafunciónválida:

V(e7,e6,e5,e4,e3,e2,e1)=ife7=1ande6=0ande5=0ande4=0ande3=0ande2=0ande1=0thenreturn1elseife7=0ande6=1ande5=0ande4=0ande3=0ande2=0ande1=0thenreturn1elseife7=0ande6=0ande5=1ande4=0ande3=0ande2=0ande1=0thenreturn1elseife7=0ande6=0ande5=0ande4=1ande3=0ande2=0ande1=0thenreturn1…elseife7=0ande6=0ande5=0ande4=0ande3=0ande2=0ande1=1thenreturn1

Latabladeverdadseparecealasiguiente:

El problema con la tabla de verdad es que no puedo crear un diagrama kv con 8 variables.

    
pregunta Briefkasten

1 respuesta

2

Te daré una pista. Divida las entradas en dos grupos de cuatro. Use un mapa de Karnaugh para obtener una salida cuando una y solo una de las cuatro entradas sea alta. Use otro mapa de Karnaugh para crear una salida que sea alta cuando todas las entradas sean cero. Si aplicó 0 a 3 a uno de estos circuitos lógicos y las entradas 4 a 7 al otro circuito lógico, puede ver cómo puede combinar las salidas de los dos circuitos lógicos para darle lo que desea, al menos para cuatro entradas?

Ahora crea un duplicado exacto de eso, pero intercambia los grupos de cuatro entradas.

Ahora tiene un gran circuito lógico con dos bloques lógicos 1-de-4 y dos bloques lógicos todo-0. Puedes combinar las salidas de estos bloques para obtener V.

    
respondido por el Joe Hass

Lea otras preguntas en las etiquetas