Dein erstes Modul
Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy — Lektion 4 von 90.
Ein Module ist der grundlegende Baustein in Verilog. Jeder Verilog-Code befindet sich inside eines Module.
Stellen Sie sich ein Modul wie eine Komponente vor, die Folgendes besitzt:
- Eingänge (eingehende Signale)
- Ausgänge (ausgehende Signale)
- Verhalten (was sie tut)
Module Syntax
module module_name ( inputs, outputs );
// Alles hier drinnen
endmoduleJedes Modul beginnt mit module und endet mit endmodule.
Eingänge und Ausgänge
module and_gate(
input a, // a kommt IN das Modul
input b, // b kommt IN das Modul
output c // c geht AUS dem Modul
);
// Verhalten kommt hierher
endmodule- input = Signal tritt in das Modul ein
- output = Signal verlässt das Modul
Verhalten hinzufügen
Nun lassen wir das Modul etwas tun:
module and_gate(
input a,
input b,
output c
);
assign c = a & b; // c ist nur 1, wenn a AND b 1 sind
endmoduleassignverbindet kontinuierlich die rechte Seite mit der linken Seite&bedeutet UND in Verilog
Aufgabe
In dieser Aufgabe müssen Sie ein einfaches Modul erstellen, das die ODER-Operation ausführt.
Was zu tun ist:
- Das Modul sollte den Namen
or_gatetragen - Es sollte einen Eingang namens
xhaben - Es sollte einen Eingang namens
yhaben - Es sollte einen Ausgang namens
zhaben - Verwenden Sie im Modul
assign, umzgleichx OR yzu machen
Der Modulkopf und seine drei Ports befinden sich bereits im Editor. Die Zeile, die Sie hinzufügen müssen, ist die assign-Anweisung innerhalb des Moduls.
Hinweis: In Verilog wird ODER mit dem Pipe-Symbol | geschrieben. Es gibt 1 (true) aus, wenn mindestens einer der Eingänge 1 (true) ist.
Probier es selbst
// Der Modul-Header und seine Ports sind bereits für dich geschrieben
module or_gate(
input x,
input y,
output z
);
// Du bist dran: verwende assign, um z auf x OR y zu setzen
// In Verilog wird OR als | geschrieben
endmodule
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle 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-Design5Operatoren 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