Menu
Coddy logo textTech

Revisã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 sobre atrasos, atrasos de portas lógicas, atrasos de atribuição, escala de tempo e geração de clock.

O que fazer:

  1. Adicione uma diretiva timescale com 1ns / 1ps
  2. Gere um clock que alterne a cada 5 unidades de tempo
  3. Adicione uma porta AND com um atraso de porta lógica 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: Adicione a diretiva timescale (1ns / 1ps)


module timing_challenge;
  reg clk;
  reg a, b;
  wire out;
  
  initial begin
    clk = 0;
  end
  
  // TODO: Gere um clock que alterna a cada 5 unidades de tempo
  
  
  // TODO: Adicione uma 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: Use atraso de atribuição para atribuir a a b após 2 unidades de tempo
    // Leia a agora, atribua a b após 2 unidades de tempo
    
    
    #20;
    $finish;
  end
endmodule

Todas as lições de Fundamentos

Pratique por conta própria: Compilador de Verilog online