Rückblick – Wiederverwendbare Bitmaske
Teil des Abschnitts RTL-Design und Verifikation der Verilog-Journey von Coddy. Lektion 15 von 38.
Aufgabe
MittelErstelle eine WIDTH-Bit-Schaltung zum Löschen von Bits mit einer benannten generate-Schleife: Jedes Ausgangsbit entspricht dem jeweiligen a-Bit UND der Invertierung von b an dieser Position. b ist eine Löschmaske. WIDTH ist positiv. Die gesperrte Testbench instanziiert WIDTH mit den Werten 1, 4 und 8 und verwendet für schmalere Instanzen die niederwertigen Bits von a und b. Die Ausgabespalten sind y1, y4 und y8 in Dezimaldarstellung.
Vervollständige design.v und bewahre dessen Modulnamen und Ports. Die gesperrte testbench.v stellt Eingangsänderungen bereit und gibt die Ausgaben aus, nachdem sie sich stabilisiert haben. Sie wählt ein Szenario mithilfe eines Simulatorarguments wie +CASE=1; eine Standardeingabe ist nicht erforderlich. Füge dem Design keine Ausgaben, Verzögerungen oder Simulationsterminierung hinzu. Die erwartete Ausgabe besteht aus einer Zeile dezimaler Werte pro Beobachtung, die durch jeweils ein Leerzeichen getrennt sind und mit einem Zeilenumbruch endet.
Probier es selbst
module dut #(parameter WIDTH=4) (input [WIDTH-1:0] a,b, output [WIDTH-1:0] y);
// Implementiere die parametrisierte Schaltung.
assign y = 0;
endmoduleAlle Lektionen in RTL-Design und Verifikation
1Zuverlässige kombinatorische RTL
Standardwerte verhindern LatchesPrioritätsencoderOne-Hot-ValidierungSichere Case-DekodierungRückblick – Request-Router4Kontrolliertes sequentielles RTL
Priorität von Reset und EnableSättigungszählerPipelining von Daten und ValidErkennen abgetasteter FlankenRückblick – Ereigniszähler2Bitbreiten und vorzeichenbehaftete Arithmetik
Übertragsbits bewahrenVorzeichenbehaftete VergleicheArithmetische RechtsschiebungenÜberlauf und SättigungRückblick – vorzeichenbehaftete Differenz5Speicher und Nachschlagetabellen
Kombinatorische ROM-TabellenSpeicherung in Register-ArraysRegistrierte LeseportsRead-Write-WeiterleitungRückblick – Bank mit zwei Leseports8Abschließende Herausforderungen
Herausforderung – Paritäts-PipelineHerausforderung – MusterereignisseHerausforderung – Begrenzte Summe3Wiederverwendbares RTL
Kombinatorische FunktionenBreitensichere ParameterGenerate-SchleifenBedingtes GenerateRückblick – Wiederverwendbare BitmaskeÜbe selbstständig: Online-Verilog-Compiler