Menu
Coddy logo textTech

Integer And Real

Parte da seção Fundamentos do Journey de Verilog da Coddy. Lição 8 de 90.

Além de wire e reg, o Verilog tem outros tipos de dados para números com diferentes finalidades.

Inteiro

integer é uma variável de uso geral para contagem e cálculos.

  • O tamanho padrão é de 32 bits
  • Com sinal (pode armazenar números negative)
  • Usado principalmente em testbenches e em loops for

Declarando um integer:

integer i;        // variável assinada de 32 bits
integer count;    // Pode armazenar números negativos

Usando integer:

integer i;

initial begin
  i = 0;           // Começa em 0
  i = i + 1;       // Conta para cima
  i = -5;          // Pode armazenar negativo
  $display("i = %d", i);  // Imprime: i = -5
end

Real

real é usado para números de ponto flutuante (numbers com casas decimais).

  • Armazena valores fracionários
  • Usado em testbenches para cálculos
  • Não pode ser sintetizado em hardware

Declarando um real:

real pi;           // Variável de ponto flutuante
real voltage;

Usando real:

real pi;

initial begin
  pi = 3.14159;               // Valor decimal
  pi = 22.0 / 7.0;            // Resultado da divisão
  $display("pi = %f", pi);    // Imprime: pi = 3.142857
end

Onde usá-los

Em ambientes de teste: Inteiros e números reais são comumente usados para contadores de loop, cálculos e verificação de valores esperados. Eles tornam o código de teste mais fácil de escrever e entender.

No hardware: Esses tipos geralmente não são sintetizáveis, o que significa que não podem ser transformados em circuitos reais. Para hardware que será implementado em uma FPGA ou chip, use reg e wire em vez disso.

challenge icon

Desafio

Complete o código para fazer o testbench funcionar.

O que fazer:

  1. Declare um integer chamado i (contador do loop)
  2. Declare um real chamado value (para o cálculo)

Experimente você mesmo

module test;
  
  // Declare um inteiro chamado i

  
  // Declare um real chamado value

  
  initial begin
    i = 7;
    value = i * 0.5;
    $display("i = %0d, value = %f", i, value);
    
    $finish;
  end
  
endmodule
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Compilador de Verilog online