Wire-Typ
Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy — Lektion 6 von 90.
In Verilog müssen wir deklarieren, welchen Signaltyp wir verwenden. Der am häufigsten verwendete Typ ist wire.
Ein wire repräsentiert eine physische Verbindung zwischen Komponenten. Es ist wie ein echter Draht in einem Schaltkreis.
- Wires können keine Werte speichern – sie leiten Werte nur weiter
- Wires werden mit
assign-Anweisungen verwendet - Wires werden verwendet, um Module miteinander zu verbinden
Deklaration eines Wire
wire a; // Ein-Bit-Wire
wire b, c; // Mehrere Wires in einer ZeileWie Wires funktionieren
module wire_example;
wire x;
reg y;
assign x = y; // x folgt immer y
endmodulex ist mit y verbunden. Wann immer sich y ändert, ändert sich x sofort.
Wires werden häufig verwendet, um Eingänge und Ausgänge zu verbinden:
module and_gate(
input a, // 'a' ist standardmäßig ein Wire
input b, // 'b' ist standardmäßig ein Wire
output c // 'c' ist standardmäßig ein Wire
);
assign c = a & b; // c wird durch diese Zuweisung gesteuert
endmoduleIn diesem Beispiel sind a, b und c allesamt Leitungen.
Leitungen sind der „Kleber“, der die verschiedenen Teile Ihrer Schaltung miteinander verbindet!
Aufgabe
Was zu tun ist:
- Füge ein Wire namens
temphinzu
Spickzettel
Wire repräsentiert eine physische Verbindung zwischen Komponenten. Wires können keine Werte speichern — sie leiten Werte lediglich weiter.
wire a; // Ein-Bit-Wire
wire b, c; // Mehrere Wires in einer ZeileWires werden mit assign-Anweisungen verwendet. Wann immer sich die Quelle ändert, aktualisiert sich der Wire sofort:
wire x;
assign x = y; // x folgt immer yModuleingänge und -ausgänge sind standardmäßig Wires:
module and_gate(
input a, // standardmäßig ein Wire
input b, // standardmäßig ein Wire
output c // standardmäßig ein Wire
);
assign c = a & b;
endmoduleProbier es selbst
module simple(
input a,
input b,
output c
);
assign c = a & b;
// Hier die Leitung temp deklarieren
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. 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