Menu
Coddy logo textTech

Recapitulação - Controle de Temporização

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

challenge icon

Desafio

Este desafio testa sua compreensão de atrasos, atrasos de porta, atrasos de atribuição, timescale e geração de clock.

O que fazer:

  1. Adicione uma diretiva timescale com 1ns / 1ps
  2. Gere um clock que alterna a cada 5 unidades de tempo
  3. Adicione uma porta AND com um atraso de porta de 3 unidades de tempo
  4. Use um atraso de atribuição para atribuir a a b após 2 unidades de tempo (leia a imediatamente)

Experimente você mesmo

// TODO: Adicionar diretiva de escala de tempo (1ns / 1ps)


module timing_challenge;
  reg clk;
  reg a, b;
  wire out;
  
  initial begin
    clk = 0;
  end
  
  // TODO: Gerar clock que alterna a cada 5 unidades de tempo
  
  
  // TODO: Adicionar porta AND com atraso de 3 unidades de tempo (entradas a, b, saída out)
  
  
  initial begin
    $monitor("Time %0t: clk=%b, a=%b, b=%b, out=%b", $time, clk, a, b, out);
    
    a = 1;
    
    // TODO: Usar atraso de atribuição para atribuir a para b após 2 unidades de tempo
    // Ler a agora, atribuir a b após 2 unidades de tempo
    
    
    #20;
    $finish;
  end
endmodule

Todas as lições de Fundamentos