Zusammenfassung – Timing-Steuerung
Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy — Lektion 72 von 90.
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:
- Fügen Sie eine
timescale-Direktive mit1ns / 1pshinzu - Erzeugen Sie einen Takt (Clock), der alle 5 Zeiteinheiten umschaltet
- Fügen Sie ein AND-Gatter mit einer Gatterlaufzeit von 3 Zeiteinheiten hinzu
- Verwenden Sie eine Zuweisungsverzögerung, um
anach 2 Zeiteinheiten anbzuzuweisen (lesen Sieasofort 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
endmoduleAlle Lektionen in Grundlagen
1Einführung
Was ist VerilogHardware vs. SoftwareAbstraktionsebenen im DesignDein erstes ModulKommentare4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorVergleichsoperatorenWiederholung – Einfache MathematikBitweise Operatoren7Zuweisung und Gatter
Kontinuierliche ZuweisungZuweisung mit OperatorenIntegrierte Gatter-PrimitiveAND OR NOT GatterXOR XNOR GatterZusammenfassung - Logikgatterschaltung10Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher KomparatorCase-AnweisungCasex und CasezWiederholung - ALU-Design13Timing und Verzögerungen
Was sind VerzögerungenGatter-VerzögerungenZuweisungsverzögerungenTimescale-DirektiveTakterzeugungZusammenfassung – Timing-Steuerung5Operatoren Teil 2
Logische OperatorenReduktionsoperatorenShift-OperatorenVerkettungsoperatorBedingter OperatorZusammenfassung – Operator-Challenge11Schleifen
For-SchleifeWhile-SchleifeRepeat-SchleifeEndlosschleifeDisable-AnweisungRückblick – Schleifenmuster3Zahlensystem
Binäre DarstellungZahlen mit GrößenangabeZahlen ohne GrößenangabeNegative ZahlenSpezialwerte X und ZZusammenfassung – Zahlenformate6Module
ModulstrukturEingangs- und Ausgangs-PortsInout-PortsModul-InstanziierungPort-Mapping nach NamePort-Mapping nach ReihenfolgeZusammenfassung – Ein Modul erstellen