Menu
Coddy logo textTech

Modulstruktur

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 Modul ist eine Hardwarekomponente mit:

  • Einem Namen
  • Eingängen (eingehende Signale)
  • Ausgängen (ausgehende Signale)
  • Interner Logik (was das Modul tut)

Stell dir ein Modul als einen Chip mit Pins und interner Schaltung vor.

Grundlegende Modulstruktur

Jedes Modul folgt dieser Struktur:

module module_name (
  input  signals,
  output signals
);
  
  // Interne Deklarationen (wires, regs, etc.)
  // Logik (assign statements, always blocks, etc.)
  
endmodule

Teile eines Moduls

TeilZweck
module SchlüsselwortStartet die Moduldefinition
module_nameName des Moduls
( )Liste der Eingangs- und Ausgangsports
input / outputGibt die Port-Richtung an
ModulkörperInterne Logik und Verbindungen
endmoduleBeendet die Moduldefinition

Einfaches Modulbeispiel

module and_gate (
  input a,
  input b,
  output c
);
  assign c = a & b;
endmodule

Dieses Modul:

  • Ist and_gate genannt
  • Hat zwei Eingänge (a, b)
  • Hat einen Ausgang (c)
  • Enthält eine assign-Anweisung, die die Logik definiert

Regeln für die Modulstruktur

  1. Ein Modul pro Datei ist gängige Praxis
  2. Der Modulname sollte seine Funktion beschreiben
  3. Ports werden nach dem Namen in Klammern aufgeführt
  1. Eingänge sind immer input (können nicht beschrieben werden)
  2. Ausgänge sind output (können reg oder wire sein)
  3. <strong>endmodule</strong> muss das Modul schließen
challenge icon

Aufgabe

Fülle die fehlenden Teile aus, um dieses Modul zu vervollständigen.

Was zu tun ist:

  1. Füge den Modulnamen my_and hinzu
  2. Füge input für x hinzu
  3. Füge input für y hinzu
  4. Füge output für z hinzu
  5. Füge die interne Logik mit assign hinzu

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)
  
endmodule
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Verilog-Compiler