Menu
Coddy logo textTech

Rückblick – Addiererprüfung

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

challenge icon

Aufgabe

Mittel

Implementiere die Prüfung für einen vorzeichenlosen Vier-Bit-Addierer. Akkumuliere checked und errors wie in der Scoreboard-Lektion und bewahre die Abdeckungsbits: Bit 0 markiert a=b=0, Bit 1 markiert a=b=15 und Bit 2 markiert jedes andere Eingabepaar. Vergleiche actual mit der vollständigen Fünf-Bit-Summe unter Verwendung einer Ungleichheitsprüfung mit vier Zuständen. Der Aufrufer initialisiert alle Zähler und Flags. Dieses Modul enthält eine nur für die Simulation vorgesehene task, die vom gesperrten Testbench aufgerufen wird. Ausgabespalten: checked, errors, seen.

Vervollständige design.v und bewahre seine Modulnamen und Ports. Der gesperrte testbench.v liefert Eingabeänderungen und gibt die Ausgaben aus, nachdem sie sich stabilisiert haben. Er wählt ein Szenario mithilfe eines Simulatorarguments wie +CASE=1; eine Standardeingabe ist nicht erforderlich. Behalte die Ausgabe und die Szenariosteuerung im gesperrten Testbench bei; implementiere nur den Körper der task. 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;
    task audit;
        input [3:0] a,b;
        input [4:0] actual;
        inout integer checked,errors;
        inout [2:0] seen;
        reg [4:0] expected;
        begin
            // Vervollständige die Checker-Aufgabe.
            checked=checked;errors=errors;seen=seen;
        end
    endtask
endmodule

Alle Lektionen in RTL-Design und Verifikation

Übe selbstständig: Online-Verilog-Compiler