Zum Inhalt springen

SystemVerilog

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 22. Mai 2007 um 10:20 Uhr durch Leider (Diskussion | Beiträge) (unverständlich). Sie kann sich erheblich von der aktuellen Version unterscheiden.

SystemVerilog ist die erste Hardware-Beschreibungs- und Verifikationssprache (Hardware Description and Verification Language, kurz HDVL genannt). Sie bietet Möglichkeiten zum Design und zur Verifikation von digitalen Schaltungen. SystemVerilog wurde von Accellera entwickelt und ist eine Erweiterung des IEEE 1364-2001 Verilog HDL. Dabei arbeitet SystemVerilog aber auf einer höheren Abstraktionsebene als Verilog-2001.


Geschichte

Verilog-1995 ist schon seit vielen Jahren am Markt und stellt neben VHDL die meistgenutzte Hardwarebeschreibungssprache da. Die IEEE hat die Eigenschaften von Verilog-1995 erweitert, diese wurden in Verilog-2001 klassifiziert. Dieser Sprachumfang ist aber immer noch ungenügend für eine leistungsfähige Verifikation der in Register-Transfer-Logik (RTL) beschriebenen digitalen Hardware. Daher haben die Entwickler oft andere Sprachen wie „e“ , Vera oder Testbuilder verwendet. Dieser Umweg erschwert den Entwicklungsablauf, da mehrere Sprachen parallel beherrscht werden müssen und evtl. Besonderheiten der jeweiligen Sprachen die Entwurfsmöglichkeiten einschränken.

Die Standardisierung von SystemVerilog erfolgte in mehreren Stufen, deren Entwicklung jeweils etwa ein Jahr dauerte. Im Juni 2002 erschien SystemVerilog 3.0, im Mai 2003 die Version 3.1 und schließlich im April 2004 die ganz letzte Version SystemVerilog 3.1a.

Mit der Entwicklung von SystemVerilog 3.1 sollten die wichtigsten Verifikationstechniken und die Konzepte der Sprache 'C' in SystemVerilog integriert werden

Allgemeines zu SystemVerilog

Einige der Eigenschaften von SystemVerilog:

  • Datentypen wie aus 'C': int, typedef, struct, union, enum
  • Dynamische Datentypen: struct, classes, "dynamic queues", "dynamic arrays"
  • Neue Operatoren und "built-in methods"
  • Erweiterte Programmsteuerung: foreach, return, break, continue
  • Semaphoren, Mailboxen und "events"
  • Klassen für objektorientiertes Programmieren
  • "assertions"
  • Code-Überdeckungs-Analyse
  • VPI-Erweiterungen.

Die IEEE hat SystemVerilog als IEEE-Standard 1800 genormt. Jeder mit C++-Erfahrung wird sich mit SystemVerilog schnell vertraut fühlen. Da SystemVerilog aber sehr viele Anleihen an C++ besitzt, wird es jemandem, der sich noch nie mit der objektorientierten Programmierung beschäftigt hat, schwerfallen, SystemVerilog im vollen Umfang zu nutzen.

Funktionsweise

Beispiel die Verwendung von Zeichenketten und Bildschirmausgabe

// Dies ist ein SystemVerilog Kommentar 
string sv = "SystemVerilog"; string s;
s = {sv, " ", "ist echt einfach."}; $display ("%s\n", s); // Bildschirmausgabe: 'SystemVerilog ist echt einfach.'
s = {s, ", probiert es mal"}; $display ("%s\n", s);// Bildschirmausgabe: 'SystemVerilog ist echt einfach, probiert es mal!'

Siehe auch

Verilog, SystemC