Linux-Relevanz? Das ist nicht Wikipedia!
VHDL - VHSIC (Very High Speed Integrated Circuits) Hardware Description Language)
VHDL ist eine Sprache, die als Hardwarebeschreibungssprache zur Dokumentation und Schnittstellenentwicklung elektronischer Digitalschaltungen eingeführt wurde. VHDL ist neben Verilog und SystemC eine der meistgenutzten Sprachen im Bereich der Digitalschaltungsentwicklung.
Es existieren auch Erweiterungen (VHDL-AMS) für die Modellierung von analogen Schaltungen, welche sich aber bisher für die Entwicklung Aufgrund der Präsenz und Ausgereiftheit von SPICE und anderen Simulatoren, nicht durchsetzen konnten. An den analog - digital Schnittstellen, sowie bei Systemsimulationen wird diese Erweiterung jedoch genutzt.
VHDL unterstützt die Beschreibung von Hardware aus verschiedenen Sichten und Ebenen. So wird sowohl die Architektur, als auch das Verhalten jeweils getrennt beschrieben. Es können zur Verifikation beliebige Teile der Schaltung in abstrakten als auch detaillierten Beschreibungen simuliert werden, was den Simulationsaufwand erheblich reduzieren kann.
So kann ein Prozessor sehr abstrakt einfach beschrieben (wie zum Beispiel in C mit case statements und mathematischen ausdrücken, jedoch Taktgebunden), gleichzeitig aber die Peripherie auf Netzlistenebene mit Timingangaben (Inverter: wenn signal a gleich 1, dann signal b auf 0, nach 2 ns Laufzeit). Mit Hilfe dieser Vorgehensweise kann man die Peripherie gut testen, ohne den Prozessor auch auf Netzlistenebene beschreiben zu müssen.
Verschiedene Simulatoren für VHDL (Modelsim) können jedoch auch noch andere Schnittstellen bieten, um zum Beispiel extern das Verhalten komplexer (Fremd-) Schaltungen (taktgenau) simulieren zu können. Dies wird häufig von IP (Intellectual Property, vorgecodete Module für den Einsatz in eigenen Schaltungen) genutzt, die so nicht die genaue Funktionsweise aufdecken müssen, da der Anwender nur ein binäres Simulationsmodell bekommt.
Weiterhin wird von Hardwarebeschreibungssprachen mit Hilfe von Synthesewerkzeugen technologieabhängig Schaltungen erzeugt. Die bedeutet, dass eine Technologie unabhängige Schaltungsbeschreibung auf eine Technologie (FPGA (Field Programmable Gate Array, Gate Array, ASIC (Application Specific Integrated Circuit) mit entsprechender Fabriktechnologiedaten) übertragen wird. So wird aus der Beschreibung 'wenn signal a 1, dann signal b 0' eine Schaltung, welche Schaltungsteile (Speicher, Logik) entsprechend auswählt, verbindet und konfiguriert (FPGA), lediglich verbindet (Gate Array) oder sogar einzelne Transistoren platziert und verdrahtet (ASIC).
So wird sich von einer abstrakten Schaltungsbeschreibung bis hinunter auf Transistorebene iterativ vorgearbeitet. Jeder Schritt muss geprüft werden, sodass am Ende sichergestellt ist, dass das Ergebnis aller Prozessschritte der Entwicklung immer noch das ist, was am Anfang abstrakt spezifiziert wurde. Dies erfordert sehr aufwändige, am besten automatisierte Testumgebungen. Meist entfällt auf das Testen innerhalb dieser Entwicklung 1/2 bis 3/4 des Zeit- und damit Kostenaufwandes.