Was ist Verilog
Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy. Lektion 1 von 90.
Verilog ist eine Hardwarebeschreibungssprache (HDL), die zum Modellieren, Entwerfen und Simulieren digitaler elektronischer Schaltungen verwendet wird – von einfachen Logikgattern bis hin zu komplexen Prozessoren.
Im Gegensatz zu Programmiersprachen, die sequenziell auf einer CPU ausgeführt werden, beschreibt Verilog Hardware, die parallel arbeitet. Es ist der Industriestandard für FPGA- und ASIC-Design und wird in Tools wie ModelSim, Vivado und Quartus verwendet.
In diesem Kurs lernst du Verilog von Grund auf, beginnend mit grundlegenden Simulationsausgaben, über den Aufbau kombinatorischer und sequentieller Schaltungen bis hin zum Entwurf echter Module wie Zählern, Schieberegistern und UART-Schnittstellen.
Aufgabe
EinfachWillkommen bei deinem ersten Verilog-Programm! Der Code ist bereits für dich geschrieben.
Was zu tun ist:
- Sieh dir den Code an. Er verwendet
$display, um Text auszugeben, ähnlich wieprintfin C - Klicke auf Code ausführen, um ihn zu kompilieren und zu simulieren
- In der Ausgabe solltest du
Hello World!sehen
Hinweis: Jedes Verilog-Programm läuft innerhalb eines module. Der initial-Block wird zu Beginn der Simulation einmal ausgeführt, und $finish beendet sie.
Probier es selbst
module main;
initial begin
$display("Hello World!");
$finish;
end
endmoduleAlle 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