Menu
Coddy logo textTech

Recap - Timing Control

Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy. Lektion 72 von 90.

challenge icon

Aufgabe

Diese Herausforderung testet dein Verständnis von delay, gate delay, assignment delay, timescale und clock-Generierung.

Was zu tun ist:

  1. Add eine timescale-directive mit 1ns / 1ps hinzu
  2. Generate eine clock, die alle 5 time units toggles
  3. Add ein AND gate mit einem 3 time unit gate delay hinzu
  4. Verwende ein assignment delay, um a nach 2 time units b zuzuweisen (lies a sofort)

Probier es selbst

// TODO: Timescale-Direktive hinzufügen (1ns / 1ps)


module timing_challenge;
  reg clk;
  reg a, b;
  wire out;
  
  initial begin
    clk = 0;
  end
  
  // TODO: Takt generieren, der alle 5 Zeiteinheiten umschaltet
  
  
  // TODO: AND-Gatter mit 3 Zeiteinheiten Verzögerung hinzufügen (Eingänge a, b, Ausgang out)
  
  
  initial begin
    $monitor("Time %0t: clk=%b, a=%b, b=%b, out=%b", $time, clk, a, b, out);
    
    a = 1;
    
    // TODO: Zuweisungsverzögerung verwenden, um a nach 2 Zeiteinheiten b zuzuweisen
    // a jetzt lesen, nach 2 Zeiteinheiten b zuweisen
    
    
    #20;
    $finish;
  end
endmodule

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Verilog-Compiler