Was ist Verilog
Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy — Lektion 1 von 90.
Verilog ist eine Hardwarebeschreibungssprache (HDL), die verwendet wird, um digitale elektronische Schaltungen zu modellieren, zu entwerfen und zu simulieren — von einfachen Logikgattern bis hin zu komplexen Prozessoren.
Im Gegensatz zu Software-Sprachen, 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 Werkzeugen wie ModelSim, Vivado und Quartus verwendet.
In diesem Kurs lernen Sie Verilog von Grund auf — angefangen bei der einfachen Simulationsausgabe über den Aufbau von Kombinations- und Sequenzschaltungen bis hin zum Entwurf realer Module wie Zählern, Schieberegistern und UART-Schnittstellen.
Aufgabe
EinfachWillkommen zu Ihrem ersten Verilog-Programm! Der Code ist bereits für Sie geschrieben.
Was zu tun ist:
- Schauen Sie sich den Code an — er verwendet
$display, um Text auszugeben, ähnlich wieprintfin C - Klicken Sie auf Code ausführen, um ihn zu kompilieren und zu simulieren
- Sie sollten
Hello World!in der Ausgabe sehen
Hinweis: Jedes Verilog-Programm läuft innerhalb eines module. Der initial-Block wird einmal zu Beginn der Simulation 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. 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