Menu
Coddy logo textTech

Recapitulação - Testbench Completo

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

challenge icon

Desafio

Este desafio testa tudo o que você aprendeu sobre testbenches: estímulo, exibição, monitoramento, dumpfile, dumpvars e tarefas do sistema. Você recebeu um módulo de porta XOR para testar.
O que fazer:

Crie um testbench completo que:

  1. Declare sinais (reg para entradas, wire para saída)
  2. Instancie a porta XOR com o nome dut
  3. Crie um arquivo de forma de onda chamado xor_waveform.vcd
  4. Exporte todos os sinais no testbench
  5. Imprima um cabeçalho: "Testing XOR Gate"
  6. Use $monitor para rastrear tempo, x, y e z
  7. Teste todas as quatro combinações de entrada (00, 01, 10, 11) com um atraso de #10 entre cada uma
  8. Imprima "Test complete" no final
  9. Termine a simulação com $finish

Experimente você mesmo

module xor_gate (
  input x,
  input y,
  output z
);
  assign z = x ^ y;
endmodule

module testbench;
  // TODO: Declarar reg para x e y
  
  // TODO: Declarar wire para z
  

  // TODO: Instanciar xor_gate com o nome dut
  // Conectar .x(x), .y(y), .z(z)


  initial begin
    // TODO: Adicionar $dumpfile "xor_waveform.vcd"
    
    // TODO: Adicionar $dumpvars (0, testbench)
    
    // TODO: Adicionar $display "Testing XOR Gate"
    
    // TODO: Adicionar $monitor para time, x, y, z
    // Formato: "Time %0t: x=%b, y=%b, z=%b"
    
    // TODO: Adicionar estímulo para todas as quatro combinações
    // 00, 01, 10, 11 com atraso #10
    
    // TODO: Adicionar $display "Test complete"
    
    // TODO: Adicione $finish
    
  end
endmodule

Todas as lições de Fundamentos