Menu
Coddy logo textTech

Writing The 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 half adder está funcionando corretamente. Adicione o código de test dentro do bloco initial.

Importante: Antes de adicionar o test, você deve alterar as portas do module para que o test possa funcionar corretamente.

O que fazer:

Etapa 1: Alterar as declarações das portas

  • 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 completamente as portas do module (o module não deve ter ( ))

Etapa 2: Adicionar o código de test

  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 test
  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

Pratique por conta própria: Compilador de Verilog online