Menu
Coddy logo textTech

Riepilogo - Controllo dei tempi

Fa parte della sezione Fondamenti del percorso Verilog di Coddy. Lezione 72 di 90.

challenge icon

Sfida

Questa sfida verifica la tua comprensione dei ritardi, dei ritardi dei gate, dei ritardi di assegnazione, della timescale e della generazione del clock.

Cosa fare:

  1. Aggiungi una direttiva timescale con 1ns / 1ps
  2. Genera un clock che cambia stato ogni 5 unità di tempo
  3. Aggiungi una porta AND con un ritardo di propagazione di 3 unità di tempo
  4. Usa un ritardo di assegnazione per assegnare a a b dopo 2 unità di tempo (leggi immediatamente a)

Provalo tu

// TODO: Aggiungi la direttiva timescale (1ns / 1ps)


module timing_challenge;
  reg clk;
  reg a, b;
  wire out;
  
  initial begin
    clk = 0;
  end
  
  // TODO: Genera un clock che cambi stato ogni 5 unità di tempo
  
  
  // TODO: Aggiungi una porta AND con un ritardo di 3 unità di tempo (ingressi a, b, uscita out)
  
  
  initial begin
    $monitor("Time %0t: clk=%b, a=%b, b=%b, out=%b", $time, clk, a, b, out);
    
    a = 1;
    
    // TODO: Usa un ritardo nell'assegnazione per assegnare a a b dopo 2 unità di tempo
    // Leggi a ora e assegnalo a b dopo 2 unità di tempo
    
    
    #20;
    $finish;
  end
endmodule

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Verilog online