Menu
Coddy logo textTech

Integer e 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 possui outros tipos de dados para números com finalidades diferentes.

Integer

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 negativos)
  • Usado principalmente em testbenches e loops for

Declaring an integer:

integer i;        // variável com sinal 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 é para números de ponto flutuante (números com decimais).

  • Armazena valores fracionários
  • Usado em testbenches para cálculos
  • Não pode ser sintetizado para 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 testbenches: Integers e reals são comumente usados para loop counters, cálculos e verificação de valores esperados. Eles tornam o código de test mais fácil de escrever e entender.

Em 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 vai para uma FPGA ou chip, use reg e wire em seu lugar.

challenge icon

Desafio

Complete o código para fazer o testbench funcionar.

O que fazer:

  1. Declare um integer chamado i (para contador de loop)
  2. Declare um real chamado value (para 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