Menu
Coddy logo textTech

Herausforderung – Musterereignisse

Teil des Abschnitts RTL-Design und Verifikation der Verilog-Journey von Coddy. Lektion 37 von 38.

challenge icon

Aufgabe

Mittel

Erkenne das Bitmuster 101 in den akzeptierten Eingabesamples. en=1 akzeptiert bit_in an der steigenden Flanke; en=0 bewahrt den Zustand der Teilübereinstimmung und erzeugt hit=0. Setze das registrierte hit=1 nur bei einem akzeptierten Bit, das 101 vervollständigt. Überlappende Übereinstimmungen sind zulässig: 10101 erzeugt zwei Impulse. Das synchrone rst löscht Zustand und hit und hat Vorrang vor en. Ausgabespalten: hit. Alle Steuer- und Datensignale sind vor jeder steigenden Taktflanke stabil; die Ergebnisse werden danach beobachtet.

Vervollständige design.v und bewahre seine Modulnamen und Ports. Das gesperrte testbench.v liefert Eingangsänderungen und gibt die Ausgaben aus, nachdem sie sich stabilisiert haben. Es wählt ein Szenario mithilfe eines Simulatorarguments wie +CASE=1 aus; eine Standardeingabe ist nicht erforderlich. Füge dem Design keine Ausgaben, Verzögerungen oder die Beendigung der Simulation hinzu. Die erwartete Ausgabe besteht aus einer Zeile dezimaler Werte pro Beobachtung, durch ein Leerzeichen getrennt und mit einem Zeilenumbruch abgeschlossen.

Probier es selbst

module dut (input clk, input rst, input en, input bit_in, output reg hit);
    // Ersetzen Sie diesen Platzhalter durch Ihr Design.
    initial hit = 0;
endmodule

Alle Lektionen in RTL-Design und Verifikation

Übe selbstständig: Online-Verilog-Compiler