mikrocontroller.net

Forum: FPGA, VHDL & Co. Verilog vs VHDL


Autor: Neuling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag.
Kann mir bitte jemand einen Link geben, wo die beiden Sprachen 
verglichen werden, oder in Kurzform zusammenfassen, was die Unterschiede 
sind und welche Sprache vorteilhafter ist? Ich blicke da nicht so sehr 
durch.

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier unten stehen ein paar Links, vielleicht ist was dabei:
http://www.mikrocontroller.net/articles/VHDL

Ich habe gehört, Verilog sei in USA bekannter, scheint aber beides etwa 
gleichwertig zu sein.

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für weiterführende Links kannst du hier schauen:

http://www.mikrocontroller.net/articles/Hardwarebe...

Das ist das als wenn du nach dem Unterschied zwischen C und Pascal 
fragst ;). Ansonsten solltest du dich erstmal nur in eine Sprache 
einarbeiten (du wirst da so schon genug Probleme haben). Falls du dich 
in Europa befindest, dann würde ich dir VHDL empfehlen. Ist hier einfach 
weiter verbreitet.

Autor: Neuling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das es sich um unterschiedliche Sprachen handelt, ist mir schon klar :)
Habe mich bloss gewundert, als ich auf Xilinx-page Verilog Projekte 
gesehen habe. Das hat mich verwirrt, da für mich zum FPGA -> VHDL 
gehört. Und deswegen kam die Frage auf. Aber wenn die Aussagen vom 
Christoph Kessler stimmen soll, hat es sich für mich erledigt :)

Autor: na (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
VHDL und Verilog 2001 nehmen sich von der Mächtigkeit her nichts.

Verilog hat (genau wie VHDL) eine ältere (1995) und eine jüngere (2001) 
Version, von VHDL wird inziwschen fast nur noch die 1993er benutzt. 
Problem ist manchmal, dass manche Tools nur Verilog 95 unterstützen, was 
nicht ganz so komfortabel in der Beschreibung ist.
In Verilog (2001) lässt sich gegenüber VHDL vieles kürzer (vom reinen 
Quellcode her) beschreiben, damit allerdings auch kryptischer und für 
Anfänger etwas unübersichtlicher. VHDL halte ich für etwas sauberer, in 
Verilog muss man halt manchmal etwas mehr aufpassen, was man macht. Ein 
nettes Feature von VHDL ist die Typendefinition, welche Verilog nicht 
bietet (diese Typen sind allerdings natürlich real in Hardware unnötig 
aber machen das ganze übersichtlicher).
Verilog ist auf dem amerikanischen und japanischen Sektor mehr 
verbreitet, VHDL in Europa. Amerikanische Firmen wie AMD mit Firmen in 
Deutschland beschreiben ihre Hardware auch hierzulande mit Verilog.

Wenn man sich einmal in eine Hardwarebeschreibungssprache reingedacht 
hat, ist der Umstieg auf die andere eigentlich nicht so schwer.

Autor: Florian Demski (code-wiz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, habe gerade auch einmal mein CPLD-Evalboard ausgepackt und nach 
einem längeren Downloads des WebPacks wollte ich loslegen.

Schnell ein Projekt angelegt und siehe da, was nimmt man nun, Verilog 
oder VHDL? Wenn ich die Informationen hier auf dieser Seite richtig 
verstanden habe, ist VHDL aus Verilog entstanden. Dann ist VHDL die 
neuere Geschichte? Ist das ganze abwärtskompatibel? Ähneln sich die 
Sprachen? Was kann man mit dem einen, was man mit dem anderen nicht 
kann? Ich habe im Netz einen Vergleich gefunden, werde aber nicht 
wirklich schlau daraus. Bis jetzt habe ich mir noch nicht mit CPLDs bzw. 
FPGAs beschäftigt, habe aber beides hier als Evalboards herumliegen und 
wollte das nun auch einmal nutzen.

Die Frage ist, was sollte ich nun verwenden und weshalb?

Ich würde mich durchaus als in der Lage sehen, das, was ich umsetzen 
möchte, auch komplett mit CMOS bzw. TTL-Bausteinen aufzubauen (mit genug 
Zeit wohl auch eine komplette CPU, wenn denn genug Platz und Geld da 
wäre); ich möchte also kein 'Basic' für CPLDs/FPGA, sondern schon eher C 
oder Assembler. Der Vergleich hinkt aber wahrscheinlich.

Noch eine paar andere dummen Fragen (zu meiner Schande muss ich 
gestehen, dass diese mir nun gerade spontan eingefallen sind und ich 
dafür nicht die Suchfunktion bemüht habe, aber mglw. sind die Fragen in 
einem Satz beantwortet):
- Haben CPLDs/FPGAs auch interne Taktquellen oder wird dafür 
ausschließlich ein externer Takt verwendet?
- Werden die (nennen wir es einmal) Programme per JTAG permanent im 
Baustein gespeichert oder müssen diese nach jedem Reset erneut geladen 
werden? Falls diese extern geladen werden müssen, wie würde das in einer 
fertigen Schaltung realisiert (also z.B. mit externem Flash -- dafür 
müsste ich dann wohl bestimmte Pins vorsehen oder müsste man das mit 
einer Art festem JTAG machen? --- Dafür gibt es aber bestimmt AppNotes). 
Falls permament gespeichert: Ich habe jetzt auf Anhieb keine Chips 
gefunden, bei denen zwischen OTP und mehrfachem Beschreiben 
unterschieden wird. Vermutlich können die dann prinzipbedingt alle 
entweder einfach oder mehrfach (vermutlich mehrfach) beschrieben werden.
- Auf den ersten Blick sieht es so aus, als wenn diese Bausteine häufig 
mit sehr geringen Spannungen arbeiten. Vermutlich gibt es dann auch 
einen ganzen Haufen bidirektionaler Pegelwandler für diese Pegel (z.B. 
auf TTL bzw. LVTTL) und Geschwindigkeiten. Wer stellt so etwas her (also 
auch mit durchaus vielen Ports) bzw. was hat sich da etabliert?

Ich hoffe, Euch mit diesen letzteren Fragen nicht zu belästigen, da ich 
mir denken kann, dass diese schon etliche Male gestellt wurden.

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Florian Demski (code-wiz)

>Schnell ein Projekt angelegt und siehe da, was nimmt man nun, Verilog
>oder VHDL? Wenn ich die Informationen hier auf dieser Seite richtig

Das was man kann.

>verstanden habe, ist VHDL aus Verilog entstanden. Dann ist VHDL die

Mehr oder weniger.

>neuere Geschichte?

Jain. Geht zurück bis 1983 und davor.

> Ist das ganze abwärtskompatibel?

Nein.

> Ähneln sich die Sprachen?

Ja.

> Was kann man mit dem einen, was man mit dem anderen nicht
>kann?

Einiges. VHDL bietet AFAIK mehr Möglichkeiten um regelmässige 
Hardwarestrukturen zu beschreiben.

> Ich habe im Netz einen Vergleich gefunden, werde aber nicht
>wirklich schlau daraus. Bis jetzt habe ich mir noch nicht mit CPLDs bzw.
>FPGAs beschäftigt, habe aber beides hier als Evalboards herumliegen und
>wollte das nun auch einmal nutzen.

In Europa ist VHDL weit verbreitet, in Nordamerika Verilog.

>Die Frage ist, was sollte ich nun verwenden und weshalb?

Ich würde VHDL empfehlen.

>Ich würde mich durchaus als in der Lage sehen, das, was ich umsetzen
>möchte, auch komplett mit CMOS bzw. TTL-Bausteinen aufzubauen (mit genug
>Zeit wohl auch eine komplette CPU, wenn denn genug Platz und Geld da
>wäre); ich möchte also kein 'Basic' für CPLDs/FPGA, sondern schon eher C
>oder Assembler. Der Vergleich hinkt aber wahrscheinlich.

Sowohl Verilog als auch VHDL kann man auf "Assemblerebene" als auch 
"C-Ebene" benutzen.

>- Haben CPLDs/FPGAs auch interne Taktquellen oder wird dafür
>ausschließlich ein externer Takt verwendet?

Nur exteren Taktquellen. Irgendwelche wilden Ringoszillatoren sollte man 
nicht bauen.

>- Werden die (nennen wir es einmal) Programme per JTAG permanent im
>Baustein gespeichert oder müssen diese nach jedem Reset erneut geladen
>werden?

CPLDs sind nonvolatile, die Programmierung bleibt nach einem Power-Down 
erhalten. Die meisten FPGAs sind volatile, weil auf SRAM basierend. Dort 
muss nach jedem Power-up die Konfigutration neu geladen werden. Entweder 
über einen angeschlossenen Konfigurationsspeicher oder per PC und JTAG 
Adapter.

>Falls permament gespeichert: Ich habe jetzt auf Anhieb keine Chips
>gefunden, bei denen zwischen OTP und mehrfachem Beschreiben
>unterschieden wird. Vermutlich können die dann prinzipbedingt alle
>entweder einfach oder mehrfach (vermutlich mehrfach) beschrieben werden.

OTPs gibt es bei CPLDs nicht (mehr?). Alles FLASH/EEPROM basierend.

>- Auf den ersten Blick sieht es so aus, als wenn diese Bausteine häufig
>mit sehr geringen Spannungen arbeiten. Vermutlich gibt es dann auch

Im Kern ja, bis runter auf 1.2V. Die IOs arbeiten mit 1.5 ... 3.3V.
Die neueren Baustein vertragen KEINE 5V mehr an den IOs, dort müssen 
dann Pegelwandler her. Etwas "ältere" FPGAs sind dort von Vorteil, z.B. 
Spartan-II von Xilinx.

>Ich hoffe, Euch mit diesen letzteren Fragen nicht zu belästigen, da ich

Solche Fragen sind der Sinn dieses Forums. Da muss man sich nicht 
entschuldigen.

MfG
Falk

Autor: Florian Demski (code-wiz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Einiges. VHDL bietet AFAIK mehr Möglichkeiten um regelmässige
> Hardwarestrukturen zu beschreiben.

Die Wiederverwendbarkeit von Code ist natürlich ein wichtiger Faktor. 
Inwiefern existieren denn dort gravierende Unterschiede? Wie gesagt, mit 
der Syntax und der Grammatik habe ich mich bis jetzt noch nicht 
auseinandergesetzt. Vermutlich wird es doch aber in beiden Sprachen so 
sein, dass man das Rad nicht mehrmals erfinden muss und z.B. den tollen 
Interface-Block, den man entwickelt hat, auch in anderen Projekten 
verwenden kann.

> In Europa ist VHDL weit verbreitet, in Nordamerika Verilog.
> Ich würde VHDL empfehlen.

Das ist also eine Glaubenssache. Mit dem Ergebnis hat das vermutlich 
nichts zu tun, also das 'kompilierte Programm' aus VHDL oder Verilog 
wird wohl eher nicht besser oder schlechter sein, da man ja so oder so 
das Laufzeitverhalten selbt beeinflusst (stelle ich mir zumindest vor).


> CPLDs sind nonvolatile, die Programmierung bleibt nach einem Power-Down
> erhalten. Die meisten FPGAs sind volatile, weil auf SRAM basierend. Dort
> muss nach jedem Power-up die Konfigutration neu geladen werden. Entweder
> über einen angeschlossenen Konfigurationsspeicher oder per PC und JTAG
> Adapter.

Den für das benutzen des externen Konfigurationsspeichers notwendigen 
Code und das notwendige Interface werden die FPGAs ja dann schon 
eingeimpft haben. Werden Die Daten aus dem externen Speicher einmalig 
eingelesen (beim Start) oder permanent während der Ausführung? Falls das 
beim Start passiert, wie lange dauert das dann, bis der FPGA nach dem 
Reset konfiguriert ist und werden bis dahin nicht ggf. schon 
irgendwelche Zustände an den Pins anliegen? Falls das permanent 
passiert, hat dann nicht auch die Geschwindigkeit des Speichers einen 
Einfluss auf das Laufzeitverhalten des FPGAs? Wenn ich jetzt irgendeinen 
Flashbaustein dafür nehme, frage ich mich, ob ich dann tatsächlich noch 
mit 100 MHz oder mehr an meinem FPGA arbeiten kann. Ich sehe gerade, 
dass Xilinx spezielle Speicher dafür anbietet, die allerdings eine 
Geschwindigkeit von 'nur' 33 MHz aufweisen.

So nochmal parallel das Datenblatt überflogen. Das scheinen wohl 
serielle EPROMS zu sein, die beim Start einmalig eingelesen werden. Da 
steht für X3CS1000 eine Dateigröße von 3,233,488 Bytes und bei den 
Timings stand, dass sogar nur 20 MHz verwendet werden. Überschlägig sind 
das also 3233488 * 8 / 20E6 Hz ~ 1,3s. Der Wert erscheint mir ein wenig 
hoch.

Also habe ich die Frage zumindest zum Teil schon beantwortet.

> Im Kern ja, bis runter auf 1.2V. Die IOs arbeiten mit 1.5 ... 3.3V.
> Die neueren Baustein vertragen KEINE 5V mehr an den IOs, dort müssen
> dann Pegelwandler her. Etwas "ältere" FPGAs sind dort von Vorteil, z.B.
> Spartan-II von Xilinx.

Was wären denn die gängigen Pegelwandler, die - sagen wir mal - 32 
bidirektionale Ports zur Verfügung stellen und mit den Frequenzen auch 
klarkommen? Klar, zum Basteln kann man sich auch mit Spannungsteilern 
oder FETs behelfen, aber das ist bei etlichen Ports schon aufwändiger, 
v.a. wenn man bidirektional arbeiten möchte.

> Solche Fragen sind der Sinn dieses Forums. Da muss man sich nicht
> entschuldigen.

Ich sehe das in den anderen Foren hier häufiger, wie schnell bei der x. 
Frage zum Thema Widerstandberechnung für LEDs oder Tastenabfragung mit 
einem AVR gerne mit einer leichten Überheblichkeit immer wieder an die 
Suchfunktion verwiesen wird. Da für das Thema CPLD/FPGA meine Fragen 
sicherlich mit solchen 'Anfängerfragen' beim Thema Mikrocontroller bzw. 
Elektronik zu vergleichen sind, wollte ich eigentlich nur einen 'Rüffel' 
diesbezüglich vermeiden.

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Florian Demski (code-wiz)

>Die Wiederverwendbarkeit von Code ist natürlich ein wichtiger Faktor.

Der ist mit beiden Sprachen gegeben. Ich meinte was anderes.

>Inwiefern existieren denn dort gravierende Unterschiede? Wie gesagt, mit

AFAIK keine.

>> In Europa ist VHDL weit verbreitet, in Nordamerika Verilog.
>> Ich würde VHDL empfehlen.

>Das ist also eine Glaubenssache.

Ja.

> Mit dem Ergebnis hat das vermutlich nichts zu tun, also das 'kompilierte
>Programm' aus VHDL oder Verilog wird wohl eher nicht besser oder
>schlechter sein, da man ja so oder so das Laufzeitverhalten selbt
>beeinflusst (stelle ich mir zumindest vor).

Ja.

>Den für das benutzen des externen Konfigurationsspeichers notwendigen
>ode und das notwendige Interface werden die FPGAs ja dann schon
>eingeimpft haben. Werden Die Daten aus dem externen Speicher einmalig

Ja, da braucht man gar nix machen, nur einfach anschliessen, fertig.

>eingelesen (beim Start) oder permanent während der Ausführung? Falls das

Einmal beim Start.

>beim Start passiert, wie lange dauert das dann, bis der FPGA nach dem
>Reset konfiguriert ist und werden bis dahin nicht ggf. schon
>irgendwelche Zustände an den Pins anliegen? Falls das permanent

Je nach Typ und Anbindung (1 Bit seriell oder 8 Bit parallel) zwischn 
1...100ms. Hmmm mal rechnen. Ein kleiner FPGA hat sagen wir mal 300.000 
Bit Konfigurationsdaten. Bei 10 MHz und seriellem Anschluss dauert das 
dann ~30ms.

p>assiert, hat dann nicht auch die Geschwindigkeit des Speichers einen
>Einfluss auf das Laufzeitverhalten des FPGAs? Wenn ich jetzt irgendeinen

Nein!

>Flashbaustein dafür nehme, frage ich mich, ob ich dann tatsächlich noch
>mit 100 MHz oder mehr an meinem FPGA arbeiten kann. Ich sehe gerade,
>dass Xilinx spezielle Speicher dafür anbietet, die allerdings eine
>Geschwindigkeit von 'nur' 33 MHz aufweisen.

Nicht alles in einen Topf werfen! Die geschwindigkeit des 
Konfigurationsspeicher hat mit der Geschwindigkeit des FPGA-Designs 
NICHTS zu tun. Du kannst das FPGa auch mit 100Hz konfigurieren und dann 
einen 200 MHz Zähler laufen lassen.

>So nochmal parallel das Datenblatt überflogen. Das scheinen wohl
>serielle EPROMS zu sein, die beim Start einmalig eingelesen werden. Da

Ja.

>steht für X3CS1000 eine Dateigröße von 3,233,488 Bytes und bei den

Das sind sicher BIT, nicht BYTE!

>Timings stand, dass sogar nur 20 MHz verwendet werden. Überschlägig sind
>das also 3233488 * 8 / 20E6 Hz ~ 1,3s. Der Wert erscheint mir ein wenig
>hoch.

Richtig, die Zeit ist um den Faktor 8 geringer, gerade mal ~160ms.

>Was wären denn die gängigen Pegelwandler, die - sagen wir mal - 32
>bidirektionale Ports zur Verfügung stellen und mit den Frequenzen auch
>klarkommen? Klar, zum Basteln kann man sich auch mit Spannungsteilern

Hab ich im Moment nicht auf Lager.

Pegelwandler

>Ich sehe das in den anderen Foren hier häufiger, wie schnell bei der x.
>Frage zum Thema Widerstandberechnung für LEDs oder Tastenabfragung mit
>einem AVR gerne mit einer leichten Überheblichkeit immer wieder an die
>Suchfunktion verwiesen wird. Da für das Thema CPLD/FPGA meine Fragen

;-) Naja, irgendwann ist man auch mal genervt.

MFG
Falk

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
VHDL wird mit ADA verglichen, Verilog mit C...

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
VHDL ist furchtbar geschwätzig. Manchmal ist das gut, weil es Fehler 
verhindert, manchmal nervt es einfach nur. Man muss die Schnittstelle 
eines Untermoduls drei mal beschreiben, einmal im eigentlichen Modul, 
und dann wenn man es verwenden will einmal bei der Deklaration und 
nochmal bei der Instanziierung. Und natürlich ist die Syntax jedes Mal 
subtil anders, so dass Cut & Paste nicht so ohne weiteres funktioniert. 
Auch sonst ist die Syntax wenig konsistent ("end case" aber "end 
entityname"?). Alles in allem ist VHDL verglichen mit modernen 
Programmiersprachen nicht sehr ausdrucksstark, aber trotzdem sehr 
komplex. Aber was will man anderes erwarten, bei einer Sprache die nach 
Militär-Spezifikation entwickelt wurde.

Verilog habe ich nicht ausprobiert, werde trotz allem erst mal bei VHDL 
bleiben.

Autor: T.M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soweit ich weiss, kannst du auch einem Case-Konstrukt einen Namen 
verpassen, zB:
Name : case ...
...
end case Name;
Genauso funktioniert auch
entity Name is
...
end entity Name;

  

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem Entity geht seit in VHDL 93. Das Case sieht komisch aus; 
Name wäre dann ein Label, kein eigentlicher Teil des Statements...

Autor: Axel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde als Anfänger Verlog nehmen. Habe selbst mit VHDL angefangen, 
da kann man aber viel besser als in Verilog riesige Strukturen in einer 
Zeile aufbauen, vor allem, wenn man aus der PC Programmierecke kommt.

Das Dumme ist, dass man dann alles simuliert und verifiziert hat und 
denn merkt, dass der Gatecount explodiert.

Bei Verilog muss man für solche Strukturen schon mal ein bischen mehr 
schreiben, da merkt man eher, was man anrichtet.

Das gilt auch für die ganzen Typenstrukturen etc. die man in VHDL machen 
kann, die dann aber doch auf ganz normale Einsen und Nullen umgesetzt 
werden müssen.

Ausserdem fand ich das ganze Aufsetzen bei VHDL (mit den Bibliotheken 
und was es alles gibt) als Anfänger ziemlich bescheiden. Ist zwar toll, 
wenn es an grosse Projekte geht, aber bis  man das erst am Laufen hat...

Gruss
Axel

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Axel (Gast)

>Das Dumme ist, dass man dann alles simuliert und verifiziert hat und
>denn merkt, dass der Gatecount explodiert.

???

>Bei Verilog muss man für solche Strukturen schon mal ein bischen mehr
>schreiben, da merkt man eher, was man anrichtet.

Naja.

>Das gilt auch für die ganzen Typenstrukturen etc. die man in VHDL machen
>kann, die dann aber doch auf ganz normale Einsen und Nullen umgesetzt
>werden müssen.

KANN, man muss aber nicht. Schon gar nicht als Anfänger.

>Ausserdem fand ich das ganze Aufsetzen bei VHDL (mit den Bibliotheken
>und was es alles gibt) als Anfänger ziemlich bescheiden. Ist zwar toll,
>wenn es an grosse Projekte geht, aber bis  man das erst am Laufen hat...

Was gibt es denn da "aufzusetzen"? Die drei Zeilen für die Nutzung der 
Standardbibliotheken sind in den Templates schon drin. Das wars.

MFG
Falk

Autor: Hagen Re (hagen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bevorzuge VHDL, da es für einen Hochprachen-Programierer am 
geeignetesten ist. Also die Fähigkeit eine Problemstellung strukturiert 
mit eigenen Datenstrukturen und modularisierten Programblöcken und das 
mit sprechenden Bezeichnern zu beschreiben. Wer also Sprachen wie 
PASCAL, ADA, COBOL kann wird meiner Meinung nach mit VHDL besser liegen. 
Und gerade die "Gesprächigkeit" einer Sprache ist heute eher ein Indiz 
für ihre Modernität. Unter Gesprächigkeit verstehe ich das man den 
Source eher wie ein Buch lesen kann, statt wie zb. in C,PHP,ASM oder 
Verilog üblich eine Kryptische Formel vor sich zu sehen.

Der Vergleich einer Hardware-Beschreibungssprache mit herkömmlichen 
Programmiersprachen hinkt zwar etwas, aber im 
Syntaktischen/Strukturellen Bereich kann man beides sehr wohl 
vergleichen.

Also ich bin ein "gelernter" PASCAL'ianer und bin mit der Syntax im VHDL 
sofort klargekommen. Verilog ist auch nicht so problemeatisch wenn man 
eh als Programmierer sich in Boolscher Algebra und formaler Syntax 
auskennt. Allerdings ist letzeres eben nicht mehr der Standard. Viele 
Neulinge in der Programmierung haben gerade damit ihre Schwäche.

Gefühlsmäßig würde ich mal behaupten das Verilog durch seine Syntax eher 
zu unstrukturierter Programmierung verleitet, sprich so ähnlich wie 
BASIC Spaghetticode. VHDL dagegen "zwingt" einen eher zu strukturierter 
Programmierung, besonders eben auch weil deren Standardbibliotheken es 
einem vormachen.

Ich stimme aber auch der Aussage zu das VHDL in vielen Belangen der 
Syntax inkonsistent ist. Zb. verschiedene Zuweisungsoperatoren jenachdem 
ob man eine CASE, ein Signal oder eine Variable anspricht. Das kannte 
ich in der Form von keiner anderen Sprache.

Gruß Hagen

Autor: Axel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Verilog ist auch nicht so problemeatisch wenn man eh als Programmierer 
sich in Boolscher Algebra und formaler Syntax auskennt. Allerdings ist 
letzeres eben nicht mehr der Standard.  Viele Neulinge in der 
Programmierung haben gerade damit ihre Schwäche."

Ja, und das ist genau das Problem. Denn VHDL umgeht das tatsächlich sehr 
gut, was dazu führt, dass die Leute im Prinzip PC Programme in VHDL 
schreiben.

Nur, daß bei einem PC Programm ein paar Integeradditionen in einer 
Schleife nichts kosten, während das in VHDL schnell mal ein paar tausend 
Gatter extra sind. Die sind mit ein bischen Nachdenken in boolscher 
Algebra oft nicht nötig und die Compiler könnnen das auch nicht 
hinoptimieren, weil sie die Idee  dahinter nicht verstehen. Das gilt im 
Prinzip natürlich auch für Verilog, nur, wie Du schon richtig schriebst, 
führt Verilog eher dazu, mal in diese Richtung zu denken, während VHDL 
da mit seinem mächtigen Sprachumfang eher zur Faulheit erzieht.

Ich have lange Zeit Diplomanten betreut, die mit VHDL/Verilog ihre 
ersten "produktiven" Erfahrungen gemacht haben. Die haben sich zwar in 
VHDL schneller eingearbeitet, aber sinnvolle Resultate (im Sinne von 
tatsächlich in Hardware umsetzbar) gab es schneller in Verilog.

Und im Gegensatz zum PC, wo man zur Not auch mal swappen kann, muss ein 
grösserer FPGA/ASIC meist teuer bezahlt werden.

Gruss
Axel

Autor: Hagen Re (hagen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, der Unterschied zwischen einer HW-Beschreibungssprache und einer 
generell auf sequientielle Algorithmen bezogenene Programmiersprache 
sollte schon klar sein.

Wenn man sich als erfahrener Programmierer das immer vor Augen hält, 
dann meine ich ist man in VHDL schneller am Ziel. Ok, es hängt auch 
entscheidend von der Vorbildung des Programieres ab. Bei mir warens halt 
schon 15 Jahre an Erfahrung auf PC und den bekannten Spielkonsolen der 
80'er + PASCAL + COBOL in der Lehre. Syntaktisch ähneln die sich ja eher 
VHDL als verilog.

Ich habe bemerkt das man in VHDL oder Verilog für das Lösen eines 
Problemes meistens viel mehr an Sourcen schreiben muß, als zb. in C auf 
einem PC. Das führt nun auch dazu das die Quellen immer umfangreicher 
werden und somit die Wartungskosten steigen. Um das zu reduzieren muß 
man strukturierten und lesbaren Source schreiben. Und da meine ich ist 
VHDL besser als Verilog.

Damals als ich vor der Entscheidung stand suchte ich mir im Netz all die 
Projekte raus die ich interessant fand, egal ob in VHDL oder Verilog. Da 
das meistens auch sehr umfangreiche Projekte waren, zb. 8Bit AVR auf 
FPGA usw. fand ich mehr interessante VHDL Sources (die auch liefen) als 
Verilog Beispiele. Naja, also musste ich VHDL lernen statt Verilog, 
ziemlich einfach die Entscheidung. Ein weiterer Punkt war das ich zwar 
gut englisch kann aber  denoch als Lernunterlagen eine deutschsprachige 
Referenz bevorzuge. Nun für VHDL gibts super Lernmaterial als PDFs in 
deutsch, für Verilog sucht man da schon länger (ich habe noch nichts 
vergleichbares gefunden)

Gruß Hagen

PS: und bleibt noch der rein subjektive aspekt das Verilog gerne von den 
Amis und VHDL von den Europäern benutzt wird. Nur ein kleiner 
unwichtiger Punkt aber eventuell ein wichtiger für eine Person die sich 
daraus was macht und Europäer ist ;)

Autor: Ephi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wär schön, wenn du mal ein paar links zu solchen chdl lernunterlagen 
posten könntest, ich bin nämlich noch ganz am anfang von VHDL, und hab 
immernochnicht DAS für mich geeignete tut/handbuch gefunden

Autor: Hagen Re (hagen)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Glück gehabt ;) hier die Unterlagen mit denen ich angefangen habe.

Gruß hagen

Autor: Ephi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielen dank!

hab jetzt die einführung durch, und bin schon in der lage einfache 
module zu schreiben, das ding gefällt mir ;)

andere tuts hab ich schon durch und weis immernochnicht was die mir da 
erzählen wollten

Autor: Hagen Re (hagen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ging mir teilweise auch so. Eine gute grundsätzliche Beschreibung hat 
ihren Wert.

Gruß Hage

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.