Module Structure
Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy. Lektion 30 von 90.
Ein Modul ist der grundlegende Baustein in Verilog. Jedes Design wird aus Modulen aufgebaut, die miteinander verbunden werden, um größere Systeme zu bilden.
Ein module ist eine Hardwarekomponente mit:
- Einem Namen
- Input (eingehende signals)
- Output (ausgehende signals)
- Interne logic (was das module tut)
Stell dir ein Modul als einen Chip mit Pins und interner Schaltung vor.
Grundlegende Module-Struktur
Jedes module folgt dieser Struktur:
module module_name (
input signals,
output signals
);
// Interne Deklarationen (wires, regs, etc.)
// Logik (assign statements, always blocks, etc.)
endmoduleTeile eines Moduls
| Teil | Zweck |
|---|---|
module-Schlüsselwort | Startet die Moduldefinition |
module_name | Name des Moduls |
( ) | Liste der input- und output-Ports |
input / output | Gibt die Port-Richtung an |
| Modulkörper | Internal logic und Verbindungen |
endmodule | Beendet die Moduldefinition |
Einfaches Modulbeispiel
module and_gate (
input a,
input b,
output c
);
assign c = a & b;
endmoduleDieses Modul:
- Ist
and_gategenannt - Hat zwei Eingänge (
a,b) - Hat einen Ausgang (
c) - Enthält eine
assign-Anweisung, die die Logik definiert
Regeln für die Modulstruktur
- Ein Modul pro Datei ist gängige Praxis
- Der Modulname sollte seine Funktion beschreiben
- Ports werden nach dem Namen in Klammern aufgeführt
- Eingänge sind immer
input(können nicht beschrieben werden) - Ausgänge sind
output(könnenregoderwiresein) <strong>endmodule</strong>muss das Modul schließen
Aufgabe
Fülle die fehlenden Teile aus, um dieses Modul zu vervollständigen.
Was zu tun ist:
- Füge den Modulnamen
my_andhinzu - Füge
inputfürxhinzu - Füge
inputfüryhinzu - Füge
outputfürzhinzu - Füge die interne Logik mit
assignhinzu
Probier es selbst
module ______ ( // Modulnamen hinzufügen
input x, // Eingang hinzufügen
input y, // Eingang hinzufügen
output z // Ausgang hinzufügen
);
// Hier assign-Anweisung hinzufügen (z = x & y)
endmoduleDiese 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. SoftwareIhr erstes ModulKommentareAbstraktionsebenen des Designs4Operators Part 1
Arithmetic OperatorsModulo OperatorComparison OperatorsRecap - Simple MathBitwise Operators7Assign And Gates
Continuous AssignmentAssign With OperatorsBuilt In Gate PrimitivesAND OR NOT GatesXOR XNOR GatesRecap - Logic Gate Circuit10Decision Making
If StatementIf - ElseRecap - Simple ComparatorCase StatementCasex And CasezRecap - ALU Design5Operators Part 2
Logical OperatorsReduction OperatorsShift OperatorsConcatenation OperatorConditional OperatorRecap - Operator Challenge3Number System
Binary RepresentationSized NumbersUnsized NumbersNegative NumbersSpecial Values X And ZRecap - Number Formats6Modules
Module StructureInput And Output PortsInout PortsModule InstantiationPort Mapping By NamePort Mapping By OrderRecap - Build A Module9Procedural Blocks
Always BlockInitial BlockSensitivity ListBlocking AssignmentNon Blocking AssignmentRecap - Always vs Initial15Traffic Light Controller
Defining The StatesState Machine LogicÜbe selbstständig: Online-Verilog-Compiler