Binario Código Gray One-hot 000 000 00000001 001 001 00000010 010 011 00000100 011 010 00001000 100 110 00010000 101 111 00100000 110 101 01000000 111 100 10000000 En circuitos digitales y aprendizaje automático, one-hot es un grupo de bits entre los cuales las combinaciones legales de valores son solo aquellas con un solo bit alto (1) y todas las demás bajas (0). Una implementación similar en la que todos los bits son '1', excepto uno '0', a veces se llama one-cold. En estadística, las variables representan una técnica similar para representar datos categóricos.

Aplicaciones La codificación One-hot se usa a menudo para indicar el estado de una máquina de estados . Cuando se utiliza código binario o gris, se necesita un decodificador para determinar el estado. Sin embargo, una máquina de estado one-hot, no necesita un decodificador como la máquina de estado está en el n-ésimo estado si y sólo si el n-ésimo bit es alto (1).

Un contador de anillo con 15 estados ordenados secuencialmente es un ejemplo de una máquina de estados. Una implementación 'one-hot' tendría 15 flip flops encadenados en serie con la salida Q de cada flip flop conectada a la entrada D de la siguiente y la entrada D del primer flip flop conectada a la salida Q del 15 flip flop . El primer flip flop en la cadena representa el primer estado, el segundo representa el segundo estado, y así sucesivamente hasta el 15º flip flop que representa el último estado. Al restablecer la máquina de estado, todos los flip flops se restablecen a '0', excepto el primero en la cadena que se establece en '1'. El siguiente clock que llega a los flip flop avanza el bit 'hot' al segundo flip flop. El bit 'hot' avanza de esta manera hasta el estado 15, después de lo cual la máquina de estado vuelve al primer estado.

Un decodificador de dirección se convierte de código binario o gris a una representación one-hot. Un codificador de prioridad convierte de una representación one-hot a código binario o gris.

En el procesamiento de lenguaje natural, un vector one-hot es una matriz 1 × N (vector) utilizada para distinguir cada palabra en un vocabulario de cada otra palabra del vocabulario. El vector consta de 0 en todas las celdas, con la excepción de un solo 1 en una celda utilizada únicamente para identificar la palabra.

Diferencias con otros métodos de codificación.

Ventajas

Determinar el estado tiene un costo bajo y constante de acceder a un flip-flop Cambiar el estado tiene el costo constante de acceder a dos flip-flops Fácil de diseñar y modificar Fácil para detectar estados ilegales Aprovecha los abundantes flip flops de un FPGA

El uso de una implementación one-hot generalmente permite que una máquina de estado se ejecute a una velocidad de reloj más rápida que cualquier otra codificación para esa máquina de estado.Xilinx. "HDL Synthesis for FPGAs Design Guide". section 3.13: "Encoding State Machines". Appendix A: "Accelerate FPGA Macros with One-Hot Approach". 1995.

Desventajas

Requiere más flip-flops que otras codificaciones, por lo que es poco práctico para dispositivos PAL Muchos de los estados son ilegales.

Véase también

Código decimal codificado Sistema de numeración unaria Cuantificación de la singularidad Puerta XOR Decodificador binario Decimal serial

Referencias

Categoría:Electrónica digital Categoría:Wikipedia:Páginas con traducciones sin revisar