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 Verzögerungen (Delays), Gatterlaufzeiten (Gate Delays), Zuweisungsverzögerungen (Assignment Delays), Timescale und Takterzeugung.

Was zu tun ist:

  1. Fügen Sie eine timescale-Direktive mit 1ns / 1ps hinzu
  2. Erzeugen Sie einen Takt (Clock), der alle 5 Zeiteinheiten umschaltet
  3. Fügen Sie ein AND-Gatter mit einer Gatterlaufzeit von 3 Zeiteinheiten hinzu
  4. Verwenden Sie eine Zuweisungsverzögerung, um a nach 2 Zeiteinheiten an b zuzuweisen (lesen Sie a sofort aus)

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, b nach 2 Zeiteinheiten zuweisen
    
    
    #20;
    $finish;
  end
endmodule

Alle Lektionen in Grundlagen