PREVIEW
Encoder (8-to-3)

Encoder (8-to-3)

Encoders/Decoders signal_cellular_alt_2_bar Intermediate schedule 20 min

Codificador 8 a 3

Descripcion general

  • Proposito: El codificador 8 a 3 es un circuito digital combinacional que convierte ocho lineas de entrada mutuamente exclusivas en un codigo binario de 3 bits, representando cual de las lineas de entrada esta activa.
  • Simbolo: Tipicamente representado como un bloque rectangular con ocho entradas (I0-I7) y tres salidas (Y2, Y1, Y0).
  • Rol en DigiSim.io: Sirve como componente esencial de reduccion de datos, permitiendo la conversion de senales one-hot a representaciones binarias compactas para un procesamiento y transmision mas eficientes.

encoder 8to3 component

Descripcion funcional

Comportamiento logico

El codificador 8 a 3 detecta cual de sus ocho lineas de entrada esta activa y produce un codigo binario unico de 3 bits que corresponde a la entrada activa. En un codificador estandar, solo una entrada debe estar activa en cualquier momento.

Tabla de verdad:

Entradas Salidas
I7 I6 I5 I4 I3 I2 I1 I0 Y2 Y1 Y0
0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0 0 0 1
0 0 0 0 0 1 0 0 0 1 0
0 0 0 0 1 0 0 0 0 1 1
0 0 0 1 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0 1 0 1
0 1 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 1 1 1

Nota: Solo una entrada debe estar activa (alta) a la vez. Multiples entradas activas o todas las entradas inactivas representan condiciones invalidas en un codificador basico.

Entradas y salidas

  • Entradas:

    • I0-I7: Ocho entradas de 1 bit, donde tipicamente solo una esta activa a la vez en codificadores estandar.
  • Salidas:

    • Y2: Bit mas significativo (MSB) del codigo de salida de 3 bits.
    • Y1: Bit medio del codigo de salida de 3 bits.
    • Y0: Bit menos significativo (LSB) del codigo de salida de 3 bits.

Parametros configurables

  • Nivel de activacion de entrada: Si las entradas son activas en alto o activas en bajo.
  • Logica de salida: Si las salidas siguen logica positiva o negativa.
  • Codificacion de prioridad: Si el codificador tiene logica de prioridad para manejar multiples entradas activas.
  • Senal de salida valida: Si el codificador produce una senal que indica una condicion de entrada valida.
  • Retardo de propagacion: El tiempo que tardan las salidas en cambiar despues de un cambio de entrada.

Representacion visual en DigiSim.io

El codificador 8 a 3 se muestra como un bloque rectangular con ocho pines de entrada en el lado izquierdo (I0-I7) y tres pines de salida (Y2, Y1, Y0) en el lado derecho. Cuando se conecta en un circuito, el componente indica visualmente la entrada activa y la salida binaria correspondiente mediante cambios de color en los cables de conexion.

Valor educativo

Conceptos clave

  • Codificacion binaria: Demuestra como multiples lineas de senal pueden codificarse en una representacion binaria mas compacta.
  • Reduccion de datos: Muestra como reducir el numero de lineas de senal necesarias para representar informacion.
  • Conversion de codigo: Ilustra la conversion de codigo one-hot (unario) a codigo binario.
  • Logica combinacional: Presenta una aplicacion practica de compuertas OR en una funcion digital util.
  • Multiplexacion de senales: Introduce conceptos relacionados con la seleccion de senales e identificacion de canales.

Objetivos de aprendizaje

  • Comprender como los sistemas digitales codifican eficientemente multiples senales en forma binaria.
  • Aprender la relacion entre la activacion de entradas y los codigos de salida binarios correspondientes.
  • Reconocer los desafios de las condiciones de entrada invalidas y como podrian manejarse.
  • Aplicar conceptos de codificacion para disenar sistemas con cableado reducido y rutas de datos simplificadas.
  • Comprender la dualidad logica entre codificadores y decodificadores en sistemas digitales.

Ejemplos de uso/Escenarios

  • Codificacion de teclado: Conversion de multiples entradas de teclas en codigos binarios para procesamiento.
  • Manejo de interrupciones de prioridad: Codificacion de multiples fuentes de interrupcion en un vector binario para un procesador.
  • Procesamiento de entrada de sensores: Conversion de multiples activaciones de sensores en datos binarios compactos.
  • Seleccion de banco de memoria: Codificacion de que banco de memoria esta actualmente activo o siendo direccionado.
  • Seleccion de dispositivo de entrada: Generacion de codigos binarios que identifican que dispositivo de entrada esta activo.
  • Codificacion de estado: Conversion de senales de estado en maquinas de estados a representacion binaria compacta.
  • Control de multiplexor: Generacion de senales de seleccion para controlar multiplexores desde lineas de control individuales.

Notas tecnicas

  • El codificador 8 a 3 implementa las siguientes expresiones booleanas: Y0 = I1+I3+I5+I7, Y1 = I2+I3+I6+I7, Y2 = I4+I5+I6+I7.
  • Los codificadores basicos no manejan bien multiples entradas activas; se necesitan codificadores de prioridad para tales casos.
  • La activacion de la entrada I0 no puede distinguirse del estado de todas las entradas inactivas sin logica adicional.
  • Algunas implementaciones de codificadores incluyen una salida "valida" que indica cuando al menos una entrada esta activa.
  • Los codificadores con logica de prioridad produciran el codigo binario correspondiente a la entrada activa de numero mas alto.
  • En DigiSim.io, el comportamiento del codificador modela la funcionalidad estandar del codificador con generacion apropiada de salidas para entradas activas.

Caracteristicas

  • Configuracion de entradas:
    • Ocho entradas (I0-I7), donde normalmente solo una esta activa a la vez
    • Entradas activas en alto (1 representa una entrada activa)
  • Configuracion de salidas:
    • Tres salidas (Y2, Y1, Y0) que representan el codigo binario de 3 bits
    • Y2 es el bit mas significativo (MSB)
    • Y0 es el bit menos significativo (LSB)
  • Funcionalidad:
    • Convierte una entrada one-hot (linea activa unica) a binario
    • Reduce ocho lineas de senal a tres lineas binarias
  • Retardo de propagacion:
    • Tipicamente 5-15ns (dependiente de la tecnologia)
    • Generalmente menor que los decodificadores de tamano similar
  • Fan-Out:
    • Cada salida tipicamente alimenta 10-50 compuertas (dependiente de la tecnologia)
  • Niveles logicos:
    • Compatible con familias logicas estandar (TTL, CMOS)
  • Complejidad del circuito:
    • Media (requiere multiples compuertas OR)
    • Menos complejo que circuitos decodificadores equivalentes
  • Limitaciones:
    • Los codificadores basicos tienen estados invalidos (multiples entradas activas)
    • Sin manejo para entradas todo-cero en implementaciones simples

Metodos de implementacion

  1. Usando compuertas OR
    • Cada bit de salida se forma haciendo OR de entradas especificas
    • Las expresiones booleanas para cada salida:
      • Y0 = I1 + I3 + I5 + I7
      • Y1 = I2 + I3 + I6 + I7
      • Y2 = I4 + I5 + I6 + I7
graph LR
    I1[I1] --> OR0[OR Gate]
    I3[I3] --> OR0
    I5[I5] --> OR0
    I7[I7] --> OR0
    OR0 --> Y0[Y0 LSB]
    
    I2[I2] --> OR1[OR Gate]
    I3 --> OR1
    I6[I6] --> OR1
    I7 --> OR1
    OR1 --> Y1[Y1]
    
    I4[I4] --> OR2[OR Gate]
    I5 --> OR2
    I6 --> OR2
    I7 --> OR2
    OR2 --> Y2[Y2 MSB]

Patron de codificacion: Cada bit de salida es ALTO cuando cualquier entrada con ese bit de posicion activo esta activa.

  1. Implementacion de codificador de prioridad

    • Maneja casos donde multiples entradas estan activas
    • Produce el codigo para la entrada activa de mayor prioridad
    • Usa logica de prioridad adicional y habilitaciones
  2. Usando multiplexores

    • Puede implementarse con multiplexores y entradas fijas
    • Menos comun pero util en arquitecturas FPGA especificas
  3. Circuitos integrados

    • Disponible en familias logicas de la serie 74xx (p. ej., 74148)
    • A menudo implementados con capacidades de codificacion de prioridad
    • Algunas versiones incluyen entradas de habilitacion y banderas de salida valida

Aplicaciones

  1. Codificacion de direcciones

    • Conversion de multiples lineas de seleccion a direcciones binarias
    • Codificacion de seleccion de banco de memoria
    • Seleccion de registros en procesadores
  2. Procesamiento de entrada

    • Conversion de multiples entradas de sensores a valores binarios
    • Codificacion de teclado en sistemas informaticos
    • Codificacion de seleccion de entrada de usuario
  3. Control de multiplexor

    • Generacion de senales de seleccion para sistemas de multiplexor mas grandes
    • Seleccion de canal en sistemas de comunicacion
    • Seleccion de fuente de entrada en sistemas digitales
  4. Procesamiento de interrupciones

    • Codificacion de multiples fuentes de interrupcion en valores binarios
    • Manejo de interrupciones de prioridad en sistemas de procesadores
    • Identificacion de dispositivos en sistemas multi-dispositivo
  5. Compresion de datos

    • Forma basica de codificacion de datos para reducir lineas de senal
    • Conversion de codigos one-hot a representacion binaria
    • Parte de esquemas de codificacion mas grandes en sistemas de comunicacion
  6. Instrumentacion digital

    • Conversion de multiples selecciones de rango a senales de control binarias
    • Codificacion de seleccion de modo en equipos de prueba
    • Seleccion de formato de visualizacion en pantallas digitales
  7. Implementacion de maquinas de estados

    • Codificacion de transiciones de estado en controladores digitales
    • Reduccion de representacion de estado en circuitos secuenciales
    • Decodificacion de comandos en unidades de control

Limitaciones

  1. Resolucion de conflictos de entrada

    • Los codificadores estandar tienen comportamiento indefinido con multiples entradas activas
    • Requiere codificacion de prioridad para operacion confiable con multiples entradas
  2. Condicion de entrada todo-cero

    • Los codificadores basicos no pueden distinguir entre todas las entradas inactivas e I0 activa
    • Puede requerir una salida de senal valida adicional para operacion correcta
  3. Variaciones de retardo de propagacion

    • Diferentes rutas pueden tener diferentes retardos
    • Puede causar glitches durante transiciones de entrada
  4. Sensibilidad al ruido

    • Susceptible a que el ruido cause codificacion incorrecta
    • Puede requerir filtrado de entrada en entornos ruidosos
  5. Expansion de entrada limitada

    • Dificil de conectar en cascada para mayor numero de entradas
    • Requiere logica adicional para mas de 8 entradas

Detalle de implementacion del circuito

Expresiones booleanas

El codificador 8 a 3 puede describirse mediante las siguientes expresiones booleanas:

Y0 = I1 + I3 + I5 + I7
Y1 = I2 + I3 + I6 + I7
Y2 = I4 + I5 + I6 + I7

Donde:

  • I0 a I7 son las entradas
  • Y0, Y1, Y2 son las salidas
  • "+" representa OR logico

Logica de codificador de prioridad

Para la funcionalidad de codificacion de prioridad, logica adicional asegura que solo la entrada de mayor prioridad afecte la salida:

Y0 = (I1 AND NOT(I2, I4, I6)) OR (I3 AND NOT(I4, I6)) OR (I5 AND NOT(I6)) OR I7
Y1 = (I2 AND NOT(I4, I6)) OR (I3 AND NOT(I4, I6)) OR I6 OR I7
Y2 = I4 OR I5 OR I6 OR I7

Logica de salida valida

Para detectar la condicion de entrada valida (al menos una entrada activa):

VALID = I0 OR I1 OR I2 OR I3 OR I4 OR I5 OR I6 OR I7

Componentes relacionados

  • Codificador 4 a 2: Version mas simple que codifica cuatro entradas a dos salidas
  • Codificador 16 a 4: Version mas grande que codifica dieciseis entradas a cuatro salidas
  • Codificador de prioridad: Codificador mejorado que resuelve multiples entradas activas
  • Decodificador 3 a 8: Realiza la operacion inversa, convirtiendo binario a codigo one-hot
  • Codificador BCD: Codificador especial que convierte entradas decimales a decimal codificado en binario
  • Multiplexor: A menudo usado con codificadores para seleccion de datos basada en valores codificados
  • Codificador binario: Termino general para codificadores que convierten a representacion binaria
  • Codificador de teclado: Codificador especializado para procesamiento de entrada de teclado numerico

school Ruta de Aprendizaje

arrow_back Requisitos Previos

arrow_forward Siguientes Pasos

help_outline Preguntas Frecuentes

¿Cómo funciona la codificación de prioridad 8 a 3?

8 entradas se codifican a 3 bits (binario 0-7). La entrada 7 tiene la mayor prioridad. Si las entradas 3 y 7 están ambas activas, la salida muestra 111 (7).

play_arrow Ejecutar Circuito en Vivo

Ver Otros Componentes