Menu
Coddy logo textTech

Escrevendo o Testbench

Parte da seção Fundamentos do Journey de Verilog da Coddy — lição 45 de 90.

challenge icon

Desafio

Agora precisamos testar se o somador completo (half adder) está funcionando corretamente. Adicione o código de teste dentro do bloco initial.

Importante: Antes de adicionar o teste, você deve alterar as portas do módulo para que o teste funcione corretamente.

O que fazer:

Passo 1: Alterar as declarações de porta

  • Altere input a, b para reg a, b (use o ponto e vírgula)
  • Altere output sum, carry para wire sum, carry (use o ponto e vírgula)
  • Remova as portas do módulo inteiramente (o módulo não deve ter ( ))

Passo 2: Adicionar o código de teste

  1. Adicione um bloco initial begin
  2. Dentro do bloco, adicione:
$display("a b | sum carry"); 
a = 0; b = 0; #1 $display("%d %d |  %d    %d", a, b, sum, carry); 
a = 0; b = 1; #1 $display("%d %d |  %d    %d", a, b, sum, carry); 
a = 1; b = 0; #1 $display("%d %d |  %d    %d", a, b, sum, carry); 
a = 1; b = 1; #1 $display("%d %d |  %d    %d", a, b, sum, carry);
    
  1. Adicione $finish; para encerrar o teste
  2. Adicione end para fechar o bloco initial

Experimente você mesmo

module half_adder (
  input a,
  input b,
  
  output sum,
  output carry
);
  assign sum = a ^ b;
  assign carry = a & b;
  
endmodule

Todas as lições de Fundamentos