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 häufigste Typ ist wire.
Ein wire stellt eine physische Verbindung zwischen Komponenten dar. Er ist wie ein echter Draht in einer Schaltung.
- Drähte können keine Werte speichern – sie leiten Werte lediglich weiter
- Drähte werden mit
assign-Anweisungen verwendet - Drähte werden verwendet, um Module miteinander zu verbinden
Einen Wire deklarieren
wire a; // Ein-Bit-Leitung
wire b, c; // Mehrere Leitungen in einer ZeileWie Drähte funktionieren
module wire_example;
wire x;
reg y;
assign x = y; // x folgt immer y
endmodulex ist mit y verbunden. Immer wenn sich y ändert, ändert sich x sofort.
Drähte 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 angesteuert
endmoduleIn diesem Beispiel sind a, b und c allesamt Drähte.
Drähte sind der „Klebstoff“, der verschiedene Teile deiner Schaltung miteinander verbindet!
Aufgabe
Was zu tun ist:
- Füge eine Wire namens
temp
Probier es selbst
module simple(
input a,
input b,
output c
);
assign c = a & b;
// Deklariere wire temp hier
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 Designs4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorVergleichsoperatorenWiederholung – einfache MathematikBitweise Operatoren7Zuweisungen und Gatter
Kontinuierliche ZuweisungZuweisung mit OperatorenIntegrierte Gatter-GrundelementeUND-, ODER- und NICHT-GatterXOR- und XNOR-GatterRückblick – Logikgatter-Schaltung10Entscheidungsfindung
If-AnweisungIf – ElseRückblick – Einfacher KomparatorCase-AnweisungCasex und CasezRückblick – ALU-Entwurf13Zeitsteuerung und Verzögerungen
Was sind Verzögerungen?GatterverzögerungenZuweisungsverzögerungenTimescale-DirektiveTakterzeugungZusammenfassung – Zeitsteuerung2Datentypen
Wire-TypReg-TypInteger und RealVektorenArraysParameterZusammenfassung – Signale deklarieren5Operatoren Teil 2
Logische OperatorenReduktionsoperatorenSchiebeoperatorenVerkettungsoperatorBedingter OperatorRückblick – Operatoren-Herausforderung11Schleifen
For-SchleifeWhile-SchleifeWiederholungsschleifeEndlosschleifeAnweisung deaktivierenRückblick – Schleifenmuster3Zahlensystem
Binäre DarstellungZahlen mit fester BreiteZahlen ohne feste BreiteNegative ZahlenSpezialwerte X und ZZusammenfassung – Zahlenformate6Module
ModulstrukturInput- und Output-PortsInout-PortsModulinstanziierungPortzuordnung nach NamenPortzuordnung nach ReihenfolgeRückblick – Ein Modul erstellenÜbe selbstständig: Online-Verilog-Compiler