# Visualizador de codificadores Gray, termómetro y one-hot

Convierte un valor de N bits a binario, Gray, one-hot y termómetro con tabla de verdad, gráfico de distancia Hamming y módulos Verilog/VHDL.

> Página canónica: https://elysiatools.com/es/tools/gray-code-and-thermometer-bcd-encoder-visualizer

- **Categoría:** Development

- **Palabras clave:** conversor código gray, código termómetro, codificación one-hot, gráfico distancia hamming, binario a gray verilog, termómetro adc flash, puntero gray fifo asíncrona, código distancia unitaria

## Descripción general

Visualizador de diseño digital para alternativas a la codificación binaria en palabras de 2–6 bits.

Codificaciones generadas a la vez para el valor elegido: binario normal; código Gray/reflejado (G = B XOR (B >> 1), código de distancia unitaria cuyos valores adyacentes — incluido el envolvente — difieren en exactamente un bit); one-hot (2ⁿ bits, un solo 1); y termómetro/unario (2ⁿ−1 bits, alineado al MSB, salida nativa del banco de comparadores de un ADC flash).

El gráfico de Hamming recorre cada transición de conteo y muestra el riesgo directamente: el binario voltea hasta los n bits en fronteras de acarreo (0111→1000), Gray y termómetro nunca más de uno, one-hot siempre exactamente dos. La tabla de verdad completa sirve además como orden de ejes de mapa de Karnaugh y patrón de disco de encoder rotatorio.

Módulos HDL listos para pegar: Verilog y VHDL parametrizables con binario→Gray (XOR), binario→one-hot (desplazamiento dimensionado), binario→termómetro (unario alineado al MSB) y el decodificador Gray→binario por XOR en cascada.

## Entradas

- **Ancho de palabra (bits)** (select)
- **Valor de entrada (decimal)** (number): 11
- **Lenguaje HDL** (select)
- **Mostrar tabla completa de secuencia** (checkbox)

## Cuándo usarlo

- Al diseñar punteros seguros para cruces de dominios de reloj (CDC) en memorias FIFO asíncronas usando código Gray.
- Al modelar circuitos de lectura para bancos de comparadores en convertidores analógico-digitales flash (Flash ADC) usando código termómetro.
- Al evaluar máquinas de estados finitos (FSM) para comparar la velocidad y el consumo de recursos entre codificación binaria y one-hot.

## Cómo funciona

- Selecciona el ancho de palabra de 2 a 6 bits e introduce el valor decimal de prueba.
- El conversor calcula simultáneamente las representaciones en binario, código Gray (G = B ⊕ (B >> 1)), one-hot y termómetro alineado al MSB.
- El visualizador genera el gráfico de distancia Hamming para cada transición consecutiva y resalta los bits conmutados.
- Obtén el código HDL sintetizable seleccionando Verilog, VHDL o ambos formatos para integrarlo directamente en tu proyecto.

## Casos de uso

- Validación de patrones de codificación para discos de encoders ópticos rotatorios absolutos.
- Generación de lógica de decodificación para etapas intermedias en arquitecturas Flash ADC.
- Docencia y análisis visual de riesgos de carrera y conmutación en asignaturas de lógica digital.

## Preguntas frecuentes

### ¿Por qué el código Gray previene errores en FIFOs asíncronas?

Porque posee distancia Hamming unitaria, lo que garantiza que solo un bit cambia por incremento, evitando lecturas intermedias erróneas entre dominios de reloj.

### ¿Qué longitud en bits tienen las salidas one-hot y termómetro?

Para una palabra de N bits, la representación one-hot utiliza 2ⁿ bits (un único bit en alto) y la codificación termómetro utiliza 2ⁿ−1 bits continuos.

### ¿Cómo se calcula la conversión de binario a código Gray?

Se calcula mediante la operación lógica binario XOR (binario desplazado 1 bit a la derecha): G = B ^ (B >> 1).

### ¿Qué representa el gráfico de distancia Hamming?

Muestra la cantidad de bits que cambian simultáneamente en cada paso de conteo, evidenciando riesgos de glitch en fronteras de acarreo binario.

### ¿Qué módulos HDL exporta la herramienta?

Genera módulos parametrizables de conversión binario a Gray, one-hot y termómetro, así como el decodificador Gray a binario por XOR en cascada en Verilog y VHDL.

## Herramientas relacionadas

- [Sincronizador de paleta Tailwind](https://elysiatools.com/es/tools/tailwind-color-palette-sync): Introduce HEX, elige esquema de nombres (escala 50–950 / nombre único / anidamiento) y genera el fragmento theme.extend.colors de tailwind.config.ts con niveles WCAG AA/AAA por color. Modo oscuro opcional.
- [Códecs de texto extendidos (Base65536 + netstring)](https://elysiatools.com/es/tools/extended-text-base-codecs): Codifica y decodifica con códecs menos comunes: Base65536 (binario → Unicode denso) y netstring (encuadre auto-delimitante).
- [Conversor de cURL a Go (net/http)](https://elysiatools.com/es/tools/curl-to-go): Convierte un comando cURL en un fragmento de código Go net/http con http.NewRequest, cabeceras y cuerpo
- [Conversor de cURL a JavaScript (axios)](https://elysiatools.com/es/tools/curl-to-js-axios): Convierte un comando cURL en un fragmento de código JavaScript axios con objeto de configuración, cabeceras y datos
- [Conversor de cURL a JavaScript (fetch)](https://elysiatools.com/es/tools/curl-to-js-fetch): Convierte un comando cURL en un fragmento de código JavaScript fetch() con cabeceras, cuerpo y método
- [Conversor de cURL a PHP (cURL)](https://elysiatools.com/es/tools/curl-to-php): Convierte un comando cURL en un fragmento de código PHP cURL con curl_setopt, cabeceras y campos POST
- [Conversor de cURL a Python (requests)](https://elysiatools.com/es/tools/curl-to-python): Convierte un comando cURL en un fragmento de código Python requests con cabeceras, datos y método
- [Extractedor de Dominio](https://elysiatools.com/es/tools/domain-extractor): Extraer nombres de dominio de URLs. Soporta varias opciones de extracción incluyendo subdominios y análisis de rutas.

## Ejemplos

- [Ejemplos de Códigos QR](https://elysiatools.com/es/samples/qrcode-samples): Imágenes de códigos QR de muestra para probar herramientas de lectura y generación de códigos QR
- [Ejemplos de Comentarios de Código](https://elysiatools.com/es/samples/code-comment-samples): Archivos de muestra de código con varios estilos de comentarios para probar la eliminación de comentarios
- [Ejemplos de Procesamiento de Imágenes Web Python](https://elysiatools.com/es/samples/web-image-processing-python): Ejemplos de procesamiento de imágenes Web Python usando PIL/Pillow incluyendo lectura, guardado, redimensionamiento y conversión de formato
- [Muestras de codigo](https://elysiatools.com/es/samples/code-viewer-samples): Archivos de muestra de codigo y configuracion para el visor de codigo en el navegador
