Representação Binária
Parte da seção Fundamentos do Journey de Verilog da Coddy. Lição 13 de 90.
No Verilog, trabalhamos com circuitos digitais que entendem apenas 0 e 1. Eles são representados em binário.
O binário usa apenas dois dígitos: 0 e 1. Cada dígito binário é chamado de bit.
| Decimal | Binário | Bits |
|---|---|---|
| 0 | 0 | 1 bit |
| 1 | 1 | 1 bit |
| 2 | 10 | 2 bits |
| 3 | 11 | 2 bits |
| 4 | 100 | 3 bits |
| 5 | 101 | 3 bits |
Escrevendo binário em Verilog
Para escrever números binários em Verilog, use o prefixo 'b:
4'b1010 // 4-bit binary 1010 (decimal 10)
8'b11110000 // binário de 8 bits 11110000 (decimal 240)
2'b01 // 2-bit binary 01 (decimal 1)O número antes de 'b informa ao Verilog quantos bits o valor tem.
Como converter decimal para binário
Divida o número decimal por 2 repetidamente e leia os restos de baixo para cima.
Exemplo: Converta 9 para binário
| Etapa | Divisão | Quociente | Resto |
|---|---|---|---|
| 1 | 9 ÷ 2 | 4 | 1 |
| 2 | 4 ÷ 2 | 2 | 0 |
| 3 | 2 ÷ 2 | 1 | 0 |
| 4 | 1 ÷ 2 | 0 | 1 |
Leia os restos do último para o primeiro: 1001
9 = 4'b1001
Exemplo em Código
module binary_example;
reg [3:0] a;
initial begin
a = 4'b1010; // Binary 1010 = decimal 10
$display("a = %b (binary)", a);
$display("a = %d (decimal)", a);
$display("a = %h (hex)", a);
$finish;
end
endmoduleSaída:
a = 1010 (binary)
a = 10 (decimal)
a = a (hex)Desafio
Complete o código escrevendo os valores binários ausentes.
O que fazer:
- Escreva o binário para o decimal 5 (4 bits)
- Escreva o binário para o decimal 14 (4 bits)
Experimente você mesmo
module binary_challenge;
reg [3:0] a, b;
initial begin
// Escreva o binário para o decimal 5 (4 bits)
a = 4'b______;
// Write binary for decimal 14 (4 bits)
b = 4'b______;
$display("5 = %b", a);
$display("14 = %b", b);
$finish;
end
endmoduleEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
1Introdução
O que é VerilogHardware vs. SoftwareSeu primeiro móduloComentáriosNíveis de abstração de projeto4Operadores Parte 1
Operadores aritméticosOperador móduloOperadores de comparaçãoRecapitulação - Matemática simplesOperadores bit a bit7Atribuições e Portas
Atribuição ContínuaAtribuição com OperadoresPrimitivas de Portas IntegradasPortas AND, OR e NOTPortas XOR e XNORRecapitulação - Circuito de Portas Lógicas10Tomada de Decisões
Declaração IfIf - ElseRevisão - Comparador SimplesDeclaração CaseCasex e CasezRevisão - Projeto de ALU2Tipos de Dados
Tipo WireTipo RegInteiro e RealVetoresArraysParâmetrosRecapitulação - Declarar Sinais5Operadores - Parte 2
Operadores lógicosOperadores de reduçãoOperadores de deslocamentoOperador de concatenaçãoOperador condicionalRevisão - Desafio de operadores3Sistema Numérico
Representação BináriaNúmeros com Tamanho DefinidoNúmeros sem Tamanho DefinidoNúmeros NegativosValores Especiais X e ZRevisão - Formatos Numéricos6Módulos
Estrutura de MódulosPortas de Entrada e SaídaPortas InoutInstanciação de MódulosMapeamento de Portas por NomeMapeamento de Portas por OrdemRecapitulação — Construindo um MóduloPratique por conta própria: Compilador de Verilog online