Verilog


Verilog

Verilog HDL ist neben VHDL die weltweit meistgenutzte Hardwarebeschreibungssprache.

Inhaltsverzeichnis

Geschichte

Verilog HDL wurde 1983/84 von Phil Moorby bei Gateway Design Automation ursprünglich als Simulationssprache entworfen. Der zweite wichtige Einsatzbereich ist die Synthese digitaler Schaltungen. Gateway Design Automation wurde 1990 von Cadence Design Systems aufgekauft. Cadence war nun Besitzer der Rechte an Verilog und des Logiksimulators Verilog-XL.

Parallel zu Verilog HDL wurde die Beschreibungssprache VHDL immer populärer und Cadence entschied sich 1995, Verilog in einen freien Standard umzuwandeln, verwaltet von der Organisation Open Verilog International (OVI, auch bekannt als Accellera). Verilog wurde bei der IEEE eingereicht und im selben Jahr als IEEE Standard 1364-1995 (Verilog-95) verabschiedet.

Durch Zusammenführen von Verilog-A (Modellierungssprache für analoge Schaltungen) und Verilog zu Verilog-AMS steht seit 1998 (erste Version) auch eine relativ leistungsfähige Sprache für Analog/Mixed-Signal-Designs zur Verfügung. Für den Analogbereich stehen jedoch keine Synthese-Tools zur Verfügung. Für den Digitalbereich lieferte Synopsys bereits 1988 ein Synthese-Werkzeug für Verilog aus.

Aufgrund von Einschränkungen, die von den Nutzern bemängelt wurden, veröffentlichte die IEEE im Jahr 2001 eine Erweiterung des Standards unter der Bezeichnung IEEE Standard 1364-2001, bekannt als Verilog 2001.

Im Juni 2002 erschien SystemVerilog 3.0, eine Erweiterung für den IEEE Standard 1364-2001. Mit SystemVerilog war es nun möglich, Hardware nicht nur zu beschreiben, sondern auch elegant zu verifizieren. Verilog wurde somit durch SystemVerilog zur ersten Hardwarebeschreibungs- und Verifikationssprache (Hardware Description and Verification Language, kurz HDVL genannt). Auch in den letzten Jahren wurden ständig Spracherweiterungen vorgenommen.

Funktionsweise

Verilog HDL erlaubt es, Hardware (z.B. ICs) auf einer höheren Abstraktionsebene zu beschreiben, als es mit einem Schematic-Entry-Programm möglich wäre. Die Architektur, das Verhalten und niedrigere Abstraktionslevel auf Gatterebene können beschrieben werden.

Beispiel für ein Und-Gatter (and gate)

// Dies ist ein Verilog HDL Kommentar
 
// Deklaration der Variablen als einfache Leitung
wire result, a, b; 
 
// Es gibt 3 Varianten, um ein (bitweises) UND-Gatter zu beschreiben
// Möglichkeit 1
assign result = a & b; // kontinuierliche Zuweisung
 
// Möglichkeit 2
and instanzname(result,a,b); // Instanzierung eines vorhandenen Moduls (hier ein eingebautes primitive)
 
// Möglichkeit 3
always@(a or b) // Verhaltensbeschreibung
//reagiert auf jede Änderung von a oder b (Bei kombinatorischer Logik)
  begin
   result = a & b;
  end
 
always@(a or b) // alternative Verhaltensbeschreibung
//reagiert auf jede Änderung von a oder b (Bei kombinatorischer Logik)
  begin
   if (a) then result = b;
   else result = 1'b0;
  end

Beispiel für eine Verhaltensbeschreibung eines Flipflops (synthetisierbar)

 
// Deklarationen
reg register_value; // als Register oder Speichervariable
wire reset, clock, set, en, datain; // als Leitung
 
// Flipflop mit asynchronem Rücksetzen, synchronem Setzen und synchronem Enable
always @(posedge clock or negedge reset) 
begin
// Register reagiert auf positive clock-Flanke oder fallende reset-Flanke.
       if (!reset) //asynchrones Rücksetzen, wenn reset = LOW
                register_value <= 1'b0;
       else if (set) // synchrones Setzen, wenn set = HIGH
                register_value <= 1'b1;
       else if (en) // synchrones Übernehmen des Wertes von datain, wenn en = HIGH
                register_value <= datain;
end

Neben den Beschreibungsmöglichkeiten für Hardware bietet Verilog HDL auch Merkmale aus anderen Sprachen, die z. B. für das Debugging oder für die Bereitstellung einer Testumgebung genutzt werden können. So ist es beispielsweise möglich Textmeldungen auszugeben.

 module hello ;                    // Module Deklaration mit dem Schlüsselwort "module" <name> ;
 initial $display (“Hallo Welt“);  // Einmalig ausführen, $display ist vergleichbar mit printf in C
 endmodule                         // Module ende Deklaration mit dem Schlüsselwort endmodule

Literatur

  • Harald Flügel: FPGA-Design mit Verilog. Oldenbourg, München 2010, ISBN 978-3-486-59234-4.
  • Bernhard Hoppe: Verilog. Modellbildung für Synthese und Verifikation. Oldenbourg, München u. a. 2006, ISBN 3-486-58004-3.

Siehe auch

Weblinks


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Verilog — Класс языка: Язык описания аппаратуры Появился в: 1983 1984 Автор(ы): Phil Moorby, Prabhu Goel Расширение файлов: .v Verilog, Verilog HDL (англ. Verilog Hardwar …   Википедия

  • Verilog — es un lenguaje de descripción de hardware (HDL, del Inglés Hardware Description Language) usado para modelar sistemas electrónicos. El lenguaje, algunas veces llamado Verilog HDL, soporta el diseño, prueba e implementación de circuitos analógicos …   Wikipedia Español

  • Verilog-A — is an industry standard modeling language for analog circuits. It is the continuous time subset of Verilog AMS.Verilog A was created out of a need to standardize the Spectre behavioral language in face of competition from VHDL (an IEEE standard) …   Wikipedia

  • Verilog — In the semiconductor and electronic design industry, Verilog is a hardware description language (HDL) used to model electronic systems. Verilog HDL , not to be confused with VHDL, is most commonly used in the design, verification, and… …   Wikipedia

  • Verilog — Le Verilog HDL est un langage de description matériel de circuits logiques en électronique (le sigle anglais HDL Hardware Description Language signifie Langage de Description du Matériel), utilisé pour la conception d ASICs (application specific… …   Wikipédia en Français

  • Verilog-AMS — is a derivative of the hardware description language (HDL) Verilog (IEEE 1364 1995 Verilog HDL). It includes analog and mixed signal extensions (AMS) in order to define the behavior of analog and mixed signal systems.The Verilog AMS standard was… …   Wikipedia

  • Verilog-AMS — est un dérivé du langage de description matériel Verilog. Il comprend des extensions analogiques et des signaux mixtes (en anglais analog and mixed signal, AMS) afin de définir le comportement des systèmes à signaux analogiques et mixtes. La… …   Wikipédia en Français

  • Verilog-AMS — Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка. Статью следует исправить согласно стилистическим правилам Википедии. Verilog AMS или Verilog Analog Mixed Signal Simulation (Verilog Аналогово Смешанное Моделирование… …   Википедия

  • Verilog Procedural Interface — The Verilog Procedural Interface (VPI) is an interface primarily intended for the C programming language. It allows behavioral Verilog code to invoke C functions, and C functions to invoke standard Verilog system tasks. The IEEE 1364 2005… …   Wikipedia

  • List of Verilog simulators — Verilog simulators are software packages that emulate the Verilog hardware description language. Verilog simulation software has come a long way since its early origin as a single proprietary product offered by one company. Today, Verilog… …   Wikipedia


Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.