Si tengo cuatro entradas D0, D1, D2 y D3 y quiero darle prioridad a D2, ¿cómo diseñaría con mi codificador de prioridad? Del mismo modo, si mi prioridad es D1, ¿qué debo hacer?
Si tengo cuatro entradas D0, D1, D2 y D3 y quiero darle prioridad a D2, ¿cómo diseñaría con mi codificador de prioridad? Del mismo modo, si mi prioridad es D1, ¿qué debo hacer?
Supongo que las entradas están activas en alto. Si no, puedes invertirlos o seleccionar diferentes puertas a continuación.
Comience generando un conjunto de 4 señales N1-N3 que indican si la entrada de prioridad única más alta está inactiva, o ambas de las dos principales, o todas las tres principales. Piensa "ni" puertas.
A partir de eso, determine para cada entrada si está activo mientras que todas las entradas de prioridad más alta están inactivas. Piense "y" puertas.
Si desea una salida codificada en binario, identifique para cada posición de bit si hay alguna entrada cuyo código debería tener un "1" en esa posición, que esté activo al mismo tiempo que todas las entradas de prioridad más alta están inactivas. Piense "o" puertas.
Si necesitas poder, por ejemplo, tener una entrada de inversión de prioridad, que debe manejarse con la lógica colocada antes del primer conjunto de "ni" puertas. En lugar de alimentar "ni" puertas directamente desde las entradas del codificador de prioridad, genere un conjunto de señales que signifiquen, por ejemplo. "la entrada # 3 está activa, y debería tener prioridad sobre # 2". Alimente la compuerta "ni" asociada con cada entrada con todas las señales que indicarían que una entrada de mayor prioridad está activa.
Es posible que este enfoque no siempre produzca la mínima cantidad posible de circuitos, pero es directamente adaptable a una amplia gama de requisitos, y no impone ninguna relación particular entre la prioridad y la codificación de salida.
Lea otras preguntas en las etiquetas digital-logic