# Visualizador de codificadores Gray, termômetro e one-hot

Converte um valor de N bits em binário, Gray, one-hot e termômetro com tabela verdade de contagem, gráfico de distância Hamming e módulos Verilog/VHDL.

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

- **Categoria:** Development

- **Palavras-chave:** conversor código gray, código termômetro, codificação one-hot, gráfico distância hamming, binário para gray verilog, termômetro adc flash, ponteiro gray fifo assíncrona, código distância unitária

## Visão geral

Visualizador de design digital para alternativas à codificação binária em palavras de 2–6 bits.

Codificações geradas simultaneamente para o valor escolhido: binário puro; código Gray/refletido (G = B XOR (B >> 1), o código de distância unitária cujos valores adjacentes — incluindo o wrap — diferem em exatamente um bit); one-hot (2ⁿ bits, um único 1); e termômetro/unário (2ⁿ−1 bits, alinhado ao MSB, saída nativa do banco de comparadores de um ADC flash).

O gráfico de Hamming percorre cada transição de contagem e mostra o perigo ao vivo: o binário vira até todos os n bits nas fronteiras de carry (0111→1000), Gray e termômetro nunca mais que um, one-hot sempre exatamente dois. A tabela de contagem completa serve também como ordem dos eixos do mapa de Karnaugh e como padrão do disco de encoder rotativo.

Módulos HDL prontos para colar: Verilog e VHDL parametrizáveis com binário→Gray (XOR), binário→one-hot (shift dimensionado), binário→termômetro (unário alinhado ao MSB) e o decodificador Gray→binário por XOR em cascata.

## Entradas

- **Largura de palavra (bits)** (select)
- **Valor de entrada (decimal)** (number): 11
- **Linguagem HDL** (select)
- **Mostrar tabela de sequência completa** (checkbox)

## Quando usar

- Ao projetar ponteiros de escrita e leitura seguros para FIFOs assíncronas entre domínios de clock diferentes.
- Na decodificação de saídas de comparadores em conversores analógico-digitais (ADC flash) usando código termômetro.
- Na análise de glitches lógicos e estados de transição multi-bit em encoders rotativos ou máquinas de estados finitos (FSM).

## Como funciona

- Selecione a largura da palavra de 2 a 6 bits e insira o valor numérico decimal desejado.
- Escolha a linguagem HDL de saída entre Verilog, VHDL ou ambos, e marque se deseja ver a tabela de sequência completa.
- O motor calcula simultaneamente as representações em binário, código Gray (via XOR), one-hot e termômetro alinhado ao MSB.
- Visualize os bits alterados na transição, a distância Hamming ao longo de todo o ciclo de contagem e copie os módulos HDL gerados.

## Casos de uso

- Engenheiros de hardware sintetizando lógica de sincronização CDC (Clock Domain Crossing) com ponteiros Gray.
- Estudantes de engenharia digital inspecionando transições de estados e agrupamentos de mapas de Karnaugh.
- Desenvolvedores de FPGA implementando interfaces de leitura para encoders de posição angular absoluta.

## Perguntas frequentes

### O que é distância Hamming e por que ela importa?

É o número de bits que mudam entre valores consecutivos; o código Gray mantém distância unitária (1 bit), prevenindo glitches e erros em sistemas assíncronos.

### Qual a diferença entre a codificação one-hot e termômetro?

One-hot ativa exatamente 1 bit por estado em uma largura 2ⁿ, enquanto o código termômetro preenche cumulativamente até 2ⁿ−1 bits de acordo com a magnitude.

### Quais larguras de bits são suportadas pela ferramenta?

A ferramenta suporta larguras de palavra de 2 a 6 bits, correspondendo a faixas decimais de 0–3 até 0–63.

### Como o código Gray é calculado a partir do binário?

O valor em código Gray é obtido através da operação lógica bit a bit G = B XOR (B >> 1).

### O código HDL gerado inclui decodificadores?

Sim, os módulos HDL fornecem conversores de binário para Gray, one-hot e termômetro, além do decodificador Gray para binário por cascata XOR.

## Ferramentas relacionadas

- [Sincronizador de paleta Tailwind](https://elysiatools.com/pt/tools/tailwind-color-palette-sync): Insira HEX, escolha o esquema de nomes (escala 50–950 / nome único / aninhamento) e gere o fragmento theme.extend.colors do tailwind.config.ts com níveis WCAG AA/AAA. Dark mode opcional.
- [Codecs de texto estendidos (Base65536 + netstring)](https://elysiatools.com/pt/tools/extended-text-base-codecs): Codifique e decodifique com codecs menos comuns: Base65536 (binário → Unicode denso) e netstring (enquadramento autodelimitante).
- [Conversor de cURL para Go (net/http)](https://elysiatools.com/pt/tools/curl-to-go): Converte um comando cURL em um snippet de código Go net/http com http.NewRequest, cabeçalhos e corpo
- [Conversor de cURL para JavaScript (axios)](https://elysiatools.com/pt/tools/curl-to-js-axios): Converte um comando cURL em um snippet de código JavaScript axios com objeto de configuração, cabeçalhos e dados
- [Conversor de cURL para JavaScript (fetch)](https://elysiatools.com/pt/tools/curl-to-js-fetch): Converte um comando cURL em um snippet de código JavaScript fetch() com cabeçalhos, corpo e método
- [Conversor de cURL para PHP (cURL)](https://elysiatools.com/pt/tools/curl-to-php): Converte um comando cURL em um snippet de código PHP cURL com curl_setopt, cabeçalhos e campos POST
- [Conversor de cURL para Python (requests)](https://elysiatools.com/pt/tools/curl-to-python): Converte um comando cURL em um snippet de código Python requests com cabeçalhos, dados e método
- [Extrator de Domínio](https://elysiatools.com/pt/tools/domain-extractor): Extrair nomes de domínio de URLs. Suporta várias opções de extração incluindo subdomínios e análise de caminho.

## Exemplos

- [Exemplos de Códigos QR](https://elysiatools.com/pt/samples/qrcode-samples): Imagens de código QR de exemplo para testar ferramentas de leitura e geração de código QR
- [Exemplos de Comentários de Código](https://elysiatools.com/pt/samples/code-comment-samples): Arquivos de código de exemplo com vários estilos de comentários para testar a remoção de comentários
- [Exemplos de Processamento de Imagem Web Python](https://elysiatools.com/pt/samples/web-image-processing-python): Exemplos de processamento de imagem Web Python usando PIL/Pillow incluindo leitura, salvamento, redimensionamento e conversão de formato
- [Amostras de codigo](https://elysiatools.com/pt/samples/code-viewer-samples): Arquivos de amostra de codigo e configuracao para o visualizador de codigo no navegador
