Menu
Coddy logo textTech

Zusammenfassung – Timing-Steuerung

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

challenge icon

Aufgabe

Diese Herausforderung testet Ihr Verständnis von Delays, Gate Delays, Assignment Delays, timescale und Clock-Generierung.

Was zu tun ist:

  1. Fügen Sie eine timescale-Direktive mit 1ns / 1ps hinzu
  2. Erzeugen Sie eine Clock, die alle 5 Zeiteinheiten umschaltet (toggles)
  3. Fügen Sie ein AND-Gate mit einem Gate Delay von 3 Zeiteinheiten hinzu
  4. Verwenden Sie ein Assignment Delay, um a nach 2 Zeiteinheiten b zuzuweisen (lesen Sie 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: Erzeuge Clock, der alle 5 Zeiteinheiten umschaltet
  
  
  // TODO: Füge AND-Gatter mit 3 Zeiteinheiten Verzögerung hinzu (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: Verwende Zuweisungsverzögerung, um a nach 2 Zeiteinheiten b zuzuweisen
    // Lese a jetzt, weise b nach 2 Zeiteinheiten zu
    
    
    #20;
    $finish;
  end
endmodule

Alle Lektionen in Grundlagen