Verilog ist eine Hardwarebeschreibungssprache (HDL). Es handelt sich um eine Sprache zur Beschreibung eines digitalen Systems wie eines Netzwerkschalters, eines Mikroprozessors, eines Speichers oder eines Flip-Flops. Wir können jede digitale Hardware beschreiben, indem wir HDL auf jeder Ebene verwenden. In HDL beschriebene Designs sind technologieunabhängig, sehr einfach zu entwerfen und zu debuggen und normalerweise nützlicher als Schaltpläne, insbesondere für große Schaltkreise.
Was ist Verilog?
Verilog ist eine HARDWARE-BESCHREIBUNGSSPRACHE (HDL), die zur Beschreibung eines digitalen Systems wie eines Netzwerk-Switches oder eines Mikroprozessors oder eines Speichers oder eines Flip-Flops verwendet wird.
Verilog wurde entwickelt, um den Prozess zu vereinfachen und das HDL robuster und flexibler zu machen. Heute ist Verilog das in der gesamten Halbleiterindustrie am häufigsten verwendete und praktizierte HDL.
HDL wurde entwickelt, um den Designprozess zu verbessern, indem es Ingenieuren ermöglicht, die Funktionalität der gewünschten Hardware zu beschreiben und Automatisierungstools dieses Verhalten in tatsächliche Hardwareelemente wie kombinatorische Gatter und sequentielle Logik umwandeln zu lassen.
Verilog ist wie jede andere Hardwarebeschreibungssprache. Es ermöglicht den Designern, die Designs entweder nach der Bottom-Up- oder der Top-Down-Methode zu entwerfen.
Verilog-Abstraktionsebenen
Verilog unterstützt ein Design auf vielen Abstraktionsebenen, wie zum Beispiel:
- Verhaltensebene
- Registerübertragungsebene
- Torebene
Verhaltensebene
Die Verhaltensebene beschreibt ein System durch gleichzeitige Verhaltensalgorithmen. Jeder Algorithmus ist sequentiell, das heißt, er besteht aus einer Reihe von nacheinander ausgeführten Anweisungen. Funktionen, Aufgaben und Blöcke sind die Hauptelemente. Auf die strukturelle Umsetzung des Entwurfs wird keine Rücksicht genommen.
Registerübertragungsebene
Designs, die die Registerübertragungsebene verwenden, spezifizieren die Eigenschaften einer Schaltung mithilfe von Operationen und der Datenübertragung zwischen den Registern.
Die moderne Definition eines RTL-Codes lautet: „Jeder Code, der synthetisierbar ist, wird RTL-Code genannt.“
Gate-Ebene
Die Eigenschaften eines Systems werden durch logische Verknüpfungen und deren zeitliche Eigenschaften innerhalb der logischen Ebene beschrieben. Alle Signale sind diskrete Signale. Sie können nur bestimmte logische Werte haben („0“, „1“, „X“, „Z“).
Die verwendbaren Operationen sind vordefinierte Logikprimitive (Basisgatter). Die Modellierung auf Gate-Ebene ist möglicherweise nicht die richtige Idee für das Logikdesign. Code auf Gate-Ebene wird mithilfe von Tools wie Synthesetools generiert, und seine Netzliste wird für die Simulation und das Backend auf Gate-Ebene verwendet.
Geschichte von Verilog
- Die Geschichte von Verilog HDL reicht bis in die 1980er Jahre zurück, als ein Unternehmen namens Gateway Design Automation einen Logiksimulator, Verilog-XL, und eine Hardwarebeschreibungssprache entwickelte.
- Cadence Design Systems erwarb Gateway 1989 und damit die Rechte an der Sprache und dem Simulator. Im Jahr 1990 machte Cadence die Sprache öffentlich zugänglich, mit der Absicht, sie zu einer standardmäßigen, nicht proprietären Sprache zu machen.
- Das Verilog HDL wird jetzt von der gemeinnützigen Organisation Accellera verwaltet, die aus der Fusion von Open Verilog International (OVI) und VHDL International hervorgegangen ist. OVI hatte die Aufgabe, die Sprache durch das IEEE-Standardisierungsverfahren zu führen.
- Im Dezember 1995 wurde Verilog HDL zum IEEE Std. 1364-1995. Eine deutlich überarbeitete Version wurde 2001 veröffentlicht: IEEE Std. 1364-2001. Im Jahr 2005 kam es zu einer weiteren Überarbeitung, die jedoch nur wenige geringfügige Änderungen mit sich brachte.
- Accellera hat außerdem einen neuen Standard entwickelt, SystemVerilog, der Verilog erweitert.
- SystemVerilog wurde 2005 zum IEEE-Standard (1800-2005).
Wie ist Verilog nützlich?
Verilog schafft eine Abstraktionsebene, die dabei hilft, die Details seiner Implementierung und Technologie zu verbergen.
Beispielsweise würde ein D-Flip-Flop-Design das Wissen darüber erfordern, wie die Transistoren angeordnet sein müssen, um einen durch eine positive Flanke ausgelösten FF zu erreichen, und welche Anstiegs-, Abfall- und CLK-Q-Zeiten erforderlich sind, um den Wert auf einem Flop zu verriegeln viele weitere technikorientierte Details.
Verlustleistung, Timing und die Fähigkeit, Netze und andere Flops anzusteuern, würden ebenfalls ein gründlicheres Verständnis der physikalischen Eigenschaften eines Transistors erfordern.
Verilog hilft uns, uns auf das Verhalten zu konzentrieren und den Rest später zu klären.
Voraussetzungen
Bevor Sie Verilog lernen, sollten Sie über Grundkenntnisse der VLSI-Designsprache verfügen.
- Sie sollten wissen, wie Logikdiagramme funktionieren, Boolesche Algebra, Logikgatter, kombinatorische und sequentielle Schaltkreise, Operatoren usw.
- Sie sollten über statische Timing-Analysekonzepte wie Setup-Zeit, Haltezeit, kritischer Pfad, Grenzwerte der Taktfrequenz usw. Bescheid wissen.
- ASIC- und FPGA-Grundlagen sowie Synthese- und Simulationskonzepte.
Publikum
Unser Verilog-Tutorial soll Anfängern, Designingenieuren und Verifizierungsingenieuren helfen, die lernen möchten, wie man digitale Systeme im Verilog HDL modelliert, um eine automatische Synthese zu ermöglichen. Am Ende dieses Tutorials verfügen Sie über mittlere Kenntnisse in Verilog.
Problem
Wir versichern Ihnen, dass Sie mit dem Verilog-Tutorial keine Probleme finden werden. Sollte sich jedoch ein Fehler einschleichen, posten Sie die Frage bitte im Kontaktformular.