Menu
Coddy logo textTech

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.)
  
endmodule

Teile eines Moduls

TeilZweck
module-SchlüsselwortStartet die Moduldefinition
module_nameName des Moduls
( )Liste der input- und output-Ports
input / outputGibt die Port-Richtung an
ModulkörperInternal logic 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