Ihr erstes Modul
Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy. Lektion 3 von 90.
Ein module ist der grundlegende Baustein in Verilog. Jeder Teil des Verilog-Codes befindet sich inside einem module.
Stell dir ein module als eine Komponente vor mit:
- inputs (eingehende Signale)
- outputs (ausgehende Signale)
- Behavior (was es tut)
Modulsyntax
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 1 nur wenn a AND b 1 sind
endmoduleassignverbindet die rechte Seite kontinuierlich mit der linken Seite&bedeutet AND in Verilog
Aufgabe
In dieser Herausforderung musst du ein einfaches module erstellen, das die OR-Operation ausführt.
Was zu tun ist:
- Das module sollte
or_gateheißen - Es sollte einen input namens
xhaben - Es sollte einen input namens
yhaben - Es sollte einen output namens
zhaben - inside des modules verwende
assign, damitzgleichx OR yist
Der module-Header und seine drei ports sind im Editor bereits vorhanden. Die Zeile, die du hinzufügen musst, ist die assign-Anweisung inside des modules.
Hinweis: In Verilog wird OR mit dem Pipe-Symbol | geschrieben. Es gibt 1 (wahr) aus, wenn mindestens einer der inputs 1 (wahr) 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. 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