Diskussion:Very High Speed Integrated Circuit Hardware Description Language

Letzter Kommentar: vor 1 Jahr von Drahkrub in Abschnitt Literatur

grundsätzliche Frage, Programmiersprache

Bearbeiten

Hier bleiben sehr grundsätzliche Fragen zur Sprache unbeantwortet, bspw: was unterscheidet vhdl von java? -- Richardigel 10:01, 12. Jan 2006 (CET)

Naja, einiges; VHLD beschreibt Hardware, also wird z.B. zum programmieren von Mikroprozessoren verwendet, die einzelnen Prozesse laufen echt parallel ab (z.B. ein Taktgeber, ein Zähler und ein Controller laufen gleichzeitig), es wird zwischen Signalen und Variablen unterschieden, man sollte das Zielsystem gut kennen, etc... Java dagegen ist eine "normale" objektorientierte Programmiersprache. --84.148.122.232 22:26, 22. Jan 2006 (CET)

Das gehört in den Artikel --Richardigel 14:56, 15. Feb 2006 (CET)
Ensprechende Stelle Überarbeitet, was da stand war schlicht falsch... Haihaeppchen 10:49, 10. Dez. 2010 (CET)Beantworten
Die Antwort ist schwierig, weil die Frage halb-falsch ist.
VHDL ist eigentlich keine Programmiersprache, sondern eine Beschreibungssprache:
  • Als Beschreibungssprache gehört es in eine Gruppe mit Html, Postscript, Xml, LaTeX, .doc-Word-Format. Ein Vergleich mit einer Programmiersprache wäre "Äpfel mit Birnen".
  • Allerdings kann das in VHDL beschriebene Bauteil simuliert werden; mitsamt vorgegebener Eingangsbelegungen und -signalen kann das simulierte Bauteil Datenverarbeitung betreiben, und Rechenergebnisse produzieren. Dann erfüllt VHDL indirekt die Grundzüge einer Programmiersprache.
Niemand hindert mich, einen Algorithmus in Word zu beschreiben, in umgangssprachlichem Deutsch. Auch die Eingangsdaten für eine konkrete Rechnung des Algorithmus kann ich durchaus als "Brief" in Word eintippen. Trotzdem ist die deutsche Sprache keine Programmiersprache, Word kein "Compiler" und "einen Brief mit Word schreiben" nicht dasselbe wie "Programmieren". Es fehlt der Schritt zur "durchgeführten Datenverarbeitung".
Der eigentliche Unterschied zwischen der Word-Variante und VHDL ist, dass VHDL speziell für die Beschreibung von (Informationen verarbeitenden) Schaltungen entworfen ist (in denen häufig ein bestimmter Algorithmus festverdrahtet "mitbeschrieben" ist), und es für VHDL von Anfang an einen Simulator gab/gibt. Erst in Verbindung mit diesem Simulator kann es "die Schwelle überschreiten" zur durchgeführten Datenverarbeitung.
--arilou (Diskussion) 11:14, 15. Aug. 2013 (CEST)Beantworten

Bei der Beschreibung wird auf IP-Codes abgehoben. Das hat hier aber nichts zu sagen, da die Vorgehensweise für alle VHDL-Strukturen gilt - auch wenn sie kine IP werden oder sind. Hardwareonkel 18:02, 13. Jul 2006 (CEST)

Qualität des Codes

Bearbeiten

Ich würde vorschlagen, dass für beide Versionen Dffs entweder mit oder ohne Reset verwendet werden. Der asynchrone lowaktive Reset ist für die Übersichtlichkeit überflüssig.

gateoxyd (nicht signierter Beitrag von 83.236.11.167 (Diskussion) 21:37, 14. Jul. 2006 (CEST))Beantworten

Bearbeiten

Ich wundere mich, daß in den genannten Abschnitten in den letzten Tagen soviele Einträge entfernt worden sind. Gibt's da eine Policy, die ich nicht kenne? 208.178.57.242 (nicht registrierter Nutzer ...) (falsch signierter Beitrag von 208.178.57.242 (Diskussion) 18:39, 31. Mai 2007 (CEST))Beantworten

Es gibt zu einzelnen Bereichen Richtlinien, siehe unter anderem Wikipedia:Weblinks. Wobei da etwas zuviel ausgemistet wurde, ich hab die mir brauchbar erscheindenen VHDL-Toturials und VHDL-Archvie als ext. Link wieder eingebaut. Das Siehe-Auch auszumisten ist generell eine gute Idee: Die Punkte darin sollten in den Fliesstext eingebaut und erklärt werden, was denn das alles ist, und nicht nur als eine unverständliche Schlagwortliste dem Leser hingeworfen werden. VHDL-Editoren, wozu da überhaupt ein Kapitel? Das ist noch zu viel. Ist halt einfach ein Texteditor, je nach persönlichen Präferenzen, und mit allerlei Schnickschnack. Das erscheint mir nicht so besonders. Literatur: Was fehlt Dir? Da wurde ja gar nichts rausgelöscht. (Reichardt als eines der besten deutschen VHDL-Bücher für die Synthese ist durchaus zu empfehlen und steht unter anderem in der Liste drinnen)--wdwd 21:52, 31. Mai 2007 (CEST)Beantworten

ModelSIM ist kein Editor! Er enthält nunr einen simplen Texteditor, mit dem - wie bei jedem anderen Editor - auch alles mögliche unterstütut werden kann. Daher verschoben in Simulatoren, was man erweitern könnte 217.194.34.103 16:43, 21. Okt. 2008 (CEST)Beantworten

AHDL

Bearbeiten

Unter "Geschichte" wird behauptet, dass AHDL eine erweiterung für Analoge-Signale sei. --> falsch: AHDL steht für _Altera_ HDL. Ist also eine Hersteller spezifische Sprache. (nicht signierter Beitrag von 194.230.88.120 (Diskussion) 11:42, 3. Jul. 2007 (CEST))Beantworten

Programmierstile

Bearbeiten

Sollte vielleicht überarbeitet werden. Die 2-Prozess-Methode ist auch bei "Hardware-Entwicklern" die übliche (zumindest wenn man Chips entwirft) und wird nicht nur bei der FPGA-Programmierung genutzt (soweit ich mich erinnern kann, erzeugen einige Editoren bereits passende Templates, getrennt in sequentiellen und kobimatorischen Prozess, übrigens auch bei Verilog). -- Jce 12:26, 25. Feb. 2009 (CET)Beantworten

Der Abschnitt "Programmierstile" ist leider komplett falsch! Tatsache ist, dass der in Punkt 1 genannte "Dataflow-Stil" der übliche Coding Style für synthetisierbaren VHDL Code ist, auch für komplexe Designs! Belege dafür sind: 1) Die in Punkt 2 genannte, angeblich vorteilhafte "2-Prozessmethode" geht auf eine einzige Referenz zurück. Man begebe sich auf die Suche nach seriösen Quellen über VHDL (z.B. Bücher) und wird dort nirgends die "2-Prozessmethode" finden. 2) Man lade sich einige VHDL Designs von der Webseite, auf der die angegebene Referenz zu finden ist, herunter (für Forschungszwecke kostenlos) und versuche diese zu synthetisieren. Bei den komplexeren IP Cores erhält man tausende von Warnings vom Synthese Tool. Das schafft wohl kaum Vertrauen in die "2-Prozessmethode". 3) Als Vorteil der "2-Prozessmethode" wird im Wikipedia-Artikel genannt: "Durch das Abbilden des Verfahrens in nur einem kombinatorischen Prozess lassen sich die beim dataflow-Stil nur schwer nachvollziehbare Nebenläufigkeiten mehrerer Prozesse vermeiden und ähnlich wie bei einer Programmiersprache mit Variablen, mit einem sequentiellen Ablauf beschreiben." ... Sorry, aber das ist kompletter Blödsinn! Natürlich können Anweisungen innerhalb eines einzigen Prozesses auch nebenläufig sein! 4) Hardware ist inhärent nebenläufig! Selbst durch die Anwendung eines noch so "magischen" Coding Style läuft die vom Synthese Tool erzeugte Hardware dann nicht plötzlich sequentiell ab! Nebenbei ist ja oft gerade der Sinn der Verwendung von Hardware die Nebenläufigkeit bzw. die damit verbundenen Vorteile (Performance). 5) Schon die Überschrift "Programmierstile" ist im Grunde genommen auch nicht richtig! VHDL ist eben keine Programmiersprache sondern (wenn sie für synthesefähigen Code verwendet wird) eine Hardwarebeschreibungssprache (das steckt ja auch schon im Namen "VHDL")! Wenn schon, dann bitte von Kodierstil bzw. Coding Style sprechen! 6) Im englischsprachigen VHDL-Artikel ist ein ähnlicher Abschnitt "Programmierstile" jedenfalls nicht zu finden. Zusammenfassend bitte ich, den Abschnitt "Programmierstile" zu entfernen! Das ist leider absolut falsch und führt nur zur Verwirrung bei Leuten, die noch nicht so viel Erfahrung mit VHDL haben! --81.241.248.147 20:14, 20. Nov. 2012 (CET)Beantworten

Der Einsatz von 2 Prozessen wird ausser von Jiri Gaisler noch mindestens von einem anderen Autor (und Hochschullehrer) als vorteilhaft dargestellt: Pong. P. Chu (https://www.amazon.com/s/ref=nb_sb_noss?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&url=search-alias%3Daps&field-keywords=Pong+P.+Chu). --Burkhard (Diskussion) 22:16, 1. Mai 2020 (CEST)Beantworten

Ich möchte die Auführungen bestärken: dem Abschnitt "Programmierstile" kann ich nicht zustimmen, auch fehlt mir die Diversität in den Referenzen. Natürlich lassen sich nebenläufige Prozesse nicht so gut debuggen wie ein serielles Programm und es ist mehr Aufwand bei Design und Implementierung notwendig, aber das ist kein Argument dafür, sie bleiben zu lassen. Wenn ich alle Rechenschritte im FPGA serialisiere, kann ich eigentlich auch einen Mikroprozessor nehmen. Bitte den Abschnitt grundlegend überarbeiten oder – noch besser – komplett entfernen! --Tuxi81 (Diskussion) 15:27, 3. Apr. 2015 (CEST)Beantworten

Auch ich stimme der Kritik daran zu, dass die 2-Prozessmethode hier als die einzig richtige dargestellt wird und der Rest "Anfängerkram" sei. Ich hätte nichts gegen Entfernen des Abschnittes. HG32 (Diskussion) 13:22, 6. Apr. 2015 (CEST)Beantworten

Anweisungen parallel?

Bearbeiten

Aus dem Abschnitt "Unterschiede und Gemeinsamkeiten zu klassischen Programmiersprachen" lese ich raus, dass die Anweisungen innerhalb eines Prozesses parallel ausgeführt werden. Wenn ich mir z.B. http://www.vhdl-online.de/tutorial/englisch/t_41.htm ansehe, sieht es eher so aus als wenn Anwendungen nacheinander ausgeführt werden (=sequentiell). Ansonsten wäre das mit den Variablen wohl auch komplizierter umzusetzen, oder? --empi 17:35, 26. Feb. 2012 (CET)Beantworten

Wenn man den VHDL Code schlussendlich in der Hardware laufen lässt, dann geschieht alles parallel, auch wenn man es sequetiell programmiert hat. Der Simulator führt den Code zwar sequentiell aus, aber das Resultat für den Betrachter ist, als ob alles parallel läuft. Das ist viel Entwickler, die nur normalen Software schreiben, anfangs schwierig FPGA oder ASICs zu programmieren. --Thierry Gschwind 23:40, 26. Feb. 2012 (CET)Beantworten

clock'event vs. rising_edge()

Bearbeiten

Spricht etwas dagegen in den Code-Beispielen clock'event durch die seit langem geläufigen Funktionen rising_edge()/falling_edge() zu ersetzen? --Burkhard (Diskussion) 22:20, 1. Mai 2020 (CEST)Beantworten

Literatur

Bearbeiten

Aus aktuellem Anlass - Unverzichtbar:

  • Peter J. Ashenden: The Designer’s Guide to VHDL. Morgan Kaufmann Publishers, San Francisco 2002, ISBN 1-55860-674-2.
  • Peter J. Ashenden: VHDL – 2008. Just the new stuff. (Systems on Silicon). Morgan Kaufmann Publishers, San Francisco 2008, ISBN 978-0-12-374249-0.
  • VHDL-AMS, z.B. Yannick Herve: VHDL-AMS. Oldenbourg, München 2006, ISBN 3-486-57787-5. (Noch nicht gelesen)

Sinnvoll:

  • Johan Sandstrom (October 1995). "Comparing Verilog to VHDL Syntactically and Semantically". Integrated System Design. EE Times. — Sandstrom presents a table relating VHDL constructs to Verilog constructs.

Empfehlenswert:

  • Pong P. Chu: RTL Hardware Design Using VHDL Coding for Efficiency, Portability, and Scalability. Wiley-IEEE Press; 1. Edition (23. Mai 2006), ‎ ISBN 978-0471720928

--Burkhard (Diskussion) 19:48, 12. Feb. 2023 (CET)Beantworten