Forum: FPGA, VHDL & Co. Wie schwer ist VHDL und FPGA zu erlernen?


von Indium (Gast)


Lesenswert?

Hallo,

meine Frage steht eigentlich schon im Betreff. Ich wollte mir neben den 
sonstigen Studieninhalten noch etwas Zusatzwissen erwerben. Ich habe 
mich unter anderem für FPGA und VHDL entschieden, da dies in meinem 
zukünftigen Berufsfeld häufig gebraucht wird, wie ich Stellenanzeigen 
und Gesprächen mit branchenkundigen Leuten entnehmen konnte.

Zu erst will ich mir einen Überblick über das Thema verschaffen, damit 
ich es in mein Arbeitspensum eingliedern kann.

Grüße Indium

von Andi M. (andi6510) Benutzerseite


Lesenswert?

Das kommt stark auf den Startwert an.

Detailierte Kenntnisse in digitaler Schaltungstechnik sind sehr von 
Vorteil.
Umfangreiche Erfahrungen im klassischen Programmieren (C/C++ etc) wuerde 
ich eher als hinderlich ansehen.

Ich wuerde zunaechst das "learning by doing" Verfahren anwenden und erst 
mal ein paar einfache Beispiele nachvollziehen (z.B. bei fpga4fun.com). 
Danach weisst du wenigstens worum es ueberhaupt geht und es ergeben sich 
erste Grundkenntnisse nach ca 4 Wochen. Dann sollte ein theoretischer 
Teil folgen um einen Einblick in Standardtechniken wie synchrones 
Design, clock rate transitions, etc zu erlernen. Da genuegt das Studium 
eines guten Buches. Dafuer nochmal 6 Wochen.
Um mit diesem Ruestzeug halbwegs fit zu werden sollte man mindestens ein 
groesseres Design gemacht werden - z.B. fuer 6 Monate. Das sorgt fuer 
(leidvolle) Erfahrungen mit den Tools und festigt die theoretischen 
Kenntnisse. In der Regel kann man das erste Design dann wieder in die 
Tonne hauen, aber das merkt man erst Jahre spaeter.

Sprich: ein gutes halbes Jahr, wenn man sich mit Digitalschaltungen 
auskennt.

von Michael W. (Gast)


Lesenswert?

Andi M. schrieb:
> Umfangreiche Erfahrungen im klassischen Programmieren (C/C++ etc) wuerde
> ich eher als hinderlich ansehen.

Aha! und warum das bitte?

Andi M. schrieb:
> In der Regel kann man das erste Design dann wieder in die
> Tonne hauen, aber das merkt man erst Jahre spaeter.

Da stimme ich zu.

Andi M. schrieb:
> ein gutes halbes Jahr, wenn man sich mit Digitalschaltungen
> auskennt.

In einem halben Jahr FPGA und VHDL lernen?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Andi M. schrieb:
> Sprich: ein gutes halbes Jahr, wenn man sich mit Digitalschaltungen
> auskennt.
Aber mit mindestens 4 Abenden pro Woche. Oder 4 Monate Vollzeit (z.B. 
als Praktikant)...

Markus Wagner schrieb:
> Andi M. schrieb:
>> Umfangreiche Erfahrungen im klassischen Programmieren (C/C++ etc) wuerde
>> ich eher als hinderlich ansehen.
> Aha! und warum das bitte?
Weil man mit zuviel C im Kopf FPGAs mit VHDL "progammiert". 
Richtigerweise muss man sich aber eine Schaltung vorstellen oder 
aufzeichnen können, und die dann mit der Hardwarebeschreibungssprache 
VHDL beschreiben. Wenn man mit der geläufigen Programmierdenkweise an 
die Sache rangeht, dann klappt das ein paar Monate auch ganz gut. Nur 
muss man sich dann gleich 2 Sachen abgewöhnen: C und seine bis dahin 
angewöhnte falsche Denkweise...

Das Wichtigste ist immer, herauszufinden, welche 10% von VHDL für die 
Synthese geeignet sind. Und was man mit dem Rest in der Simulation alles 
anstellen kann. Das einfachste Beispiel ist z.B. die blinkende LED:
http://www.lothar-miller.de/s9y/archives/80-Hello-World!.html

: Bearbeitet durch Moderator
von Dussel (Gast)


Lesenswert?

Markus W. schrieb:
> Aha! und warum das bitte?
Weil angeblich viele Anfänger, die sequentiell programmieren können, 
dadurch verwirrt werden, dass Hardware nicht sequentiell abläuft. Ich 
hatte damit keine Probleme, deshalb sehe ich das nicht so.

Markus W. schrieb:
> In einem halben Jahr FPGA und VHDL lernen?
Ich habe meine Bachelorarbeit über FPGA-Entwicklung mit einem Monat 
Einarbeitungszeit geschrieben. Allzu schwer ist es also nicht. 
Allerdings lief die Schaltung auch nur mit maximal 100MHz.
Lernen kann man es also in kurzer Zeit, aber beherrschen, so dass es 
auch bei hohen Frequenzen noch läuft und man die meisten Tricks kennt, 
braucht wahrscheinlich viel Erfahrung und dementsprechend lange. (Das 
kann ich nicht einschätzen, weil ich diese Erfahrung nicht habe.)

von Dussel (Gast)


Lesenswert?

Übrigens fand ich die Umstellung zurück auf C deutlich schwieriger, weil 
ich da plötzlich wieder drauf achten musste, welche Anweisung wann 
ausgeführt wird. :-)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Dussel schrieb:
> weil ich da plötzlich wieder drauf achten musste
... um die if-Bedingung eine Klammer zu machen... ;-)

von lubbi (Gast)


Lesenswert?

in VHDL lässt sich auch streng Sequentielles beschreiben. Statemachines 
schreiben sich fast so wie ein Programm...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

lubbi schrieb:
> in VHDL lässt sich auch streng Sequentielles beschreiben. Statemachines
> schreiben sich fast so wie ein Programm...
Sie verwenden aber einen anderen Mechanismus. Und sollten daher nicht 
der sequentiellen Abarbeitung eines Programms nahegestellt oder gar 
verwechselt werden...

Ich hätte dazu die recht interessante Episode dort:
http://www.lothar-miller.de/s9y/archives/47-wait-im-Prozess.html

von lubbi (Gast)


Lesenswert?

Lothar Miller schrieb:
> lubbi schrieb:
>> in VHDL lässt sich auch streng Sequentielles beschreiben. Statemachines
>> schreiben sich fast so wie ein Programm...
> Sie verwenden aber einen anderen Mechanismus. Und sollten daher nicht
> der sequentiellen Abarbeitung eines Programms nahegestellt oder gar
> verwechselt werden...
>
> Ich hätte dazu die recht interessante Episode dort:
> http://www.lothar-miller.de/s9y/archives/47-wait-i...

hmm... Aber kann man nicht sagen, dass ein Mikrocontroller im Prinzip 
eine Statemachine ist? Da hat man ganz abstrakt gesagt einen Counter und 
je nach Counterstand geht der Controller von einem State in den nächsten 
State über.

Bei einer Statemachine kann ich ja auch von einem Takt zum nächsten ganz 
sequenziell von State zu State wechseln.

Immer wenn ich im FPGA etwas brauche, was wie ein "Programm" 
abgearbeitet wird, mache ich doch eine Statemachine, wo ich je nach 
Anzahl der "Programmschritte" entsprechende States (und 
Übergangsbedingungen) definiere.

Natürlich handelt es sich dabei nicht um ein Programm im klassischen 
Sinne (VHDL ist natürlich keine Programmiersprache), aber die in VHDL 
beschriebene Struktur hat dann durchaus doch etwas "Programmartiges".

Ich denke das ist alles eine Frage der Abstraktion, denn wenn ich einen 
Mikrocontroller im FPGA implementiere (das kann ich ja machen) und das 
auf ihm laufende Programm ebenfalls in VHDL schreibe (was ja durchaus 
ebenfalls möglich wäre, denn niemand hält mich davon ab die 
Programmschritte per VHDL im Blockram zu hinterlegen) habe ich dann 
nicht programmiert?

von Dussel (Gast)


Lesenswert?

Du kannst mit VHDL auf einem FPGA einen Zustandsautomaten beschreiben, 
aber nur der beschriebene Automat läuft sequentiell ab, die Beschreibung 
selber nicht.
Insbesondere, da es hier um eine Anfängerfrage geht, ist die Diskussion 
sowieso hier nicht sinnvoll. VHDL beschreibt auf einem FPGA parallel 
arbeitende Strukturen und große Teile der Anweisungen werden parallel 
'abgearbeitet'.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

lubbi schrieb:
> Aber kann man nicht sagen, dass ein Mikrocontroller im Prinzip eine
> Statemachine ist?
Der Controller an sich ist eine FSM. Allerdings arbeitet diese FSM ein 
Programm ab, das wiederum eine FSM beschreiben kann.
Der Unterschied zwischen diesen beiden FSM ist, dass die Erste (der uC) 
immer komplett parallel und konstant da ist, die Zweite (Software) sich 
(evtl. sogar sich selbst) aber von jetzt auf nachher ändern könnte...
Eine komplexe FSM in Software dauert einfach nur länger. Eine komplexe 
FSM in Hardware braucht viel Silizium.

Dussel schrieb:
> Insbesondere, da es hier um eine Anfängerfrage geht, ist die Diskussion
> sowieso hier nicht sinnvoll.
Eigentlich schon, denn es geht darum, VHDL zu kapieren. Oder wenigstens 
den Aufwand dafür abzuschätzen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

lubbi schrieb:
> hält mich davon ab die Programmschritte per VHDL im Blockram zu
> hinterlegen) habe ich dann nicht programmiert?
Dann hätte das D seine Berechtigung verloren und es müsste 
logischerweise VHPL heißen...

Ansonsten: täglich grüsst das Murmeltier.
Diese Diskussion wird hier allhalbjährlich geführt. Such einfach mal 
nach "programmieren" hier im VHDL Forum...

von John (Gast)


Lesenswert?

Hey,

vielleicht eine kleine Anmerkung am Rande: ich habe als Hobbyist vor 
einiger Zeit mal angefangen mich mit FPGAs zu beschäftigen - und bin 
nach wie vor Anfänger. Ich habe allerdings die Erfahrung gemacht, dass 
mir VHDL irgendwie schwer fiel, ich fand's zäh. Mit Verilog bin ich - 
rein subjektiv - dann deutlich besser zurechtgekommen. Ich kann leider 
nichtmal sagen woran das lag ... Also wenn man nicht auf eine Sprache 
festgelegt ist, ruhig auch mal ein Blick auf Verilog werfen.

Gruß
John

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

John schrieb:
> Also wenn man nicht auf eine Sprache festgelegt ist, ruhig auch mal ein
> Blick auf Verilog werfen.
Auch zu diesem Thema wird alljährlich eine Sau durchs Dorf getrieben. 
Einfach mal nach "VHDL Verilog" suchen...

von Korrigierer (Gast)


Lesenswert?

Dussel schrieb:
> Du kannst mit VHDL auf einem FPGA einen Zustandsautomaten beschreiben,
> aber nur der beschriebene Automat läuft sequentiell ab, die Beschreibung
> selber nicht.
> Insbesondere, da es hier um eine Anfängerfrage geht, ist die Diskussion
> sowieso hier nicht sinnvoll. VHDL beschreibt auf einem FPGA parallel
> arbeitende Strukturen und große Teile der Anweisungen werden parallel
> 'abgearbeitet'.

Das ist doch alles keine sinnvolle Darstellung um einem Anfänger das 
klarzumachen.

Meine Sichtweise - durch zahlreiche Diskussionen im FPGA-Forum gedeckt - 
und auch auf den FPGA-Days vorgetragen:

- VHDL ist eine Programmiersprache, die explizite sequenzielle Abläufe 
bescheibt
- von einem Compiler wird sie in ein sequenzielles Programm übersetzt, 
mit welchem die Abläufe simuliert werden können. Dabei ist die Anordnung 
der Codezeilen in aller Regel von Interesse

- durch die nebenläufige Programmierung entsteht eine Parallelität, 
welche im Simulator bei der Ausführung entsprechend berücksichtigt wird, 
sofern Randbedingungen eingehalten werden. Da gäbe es nun viel zu sagen, 
z.B. Sensititvity etc

- unabhängig von der Synthese wird der Programmiercode von einer 
Synthese-Tool-Chain genutzt, um unter Weglassen des Zeitauflaufs 
Vorgaben für Schaltungsstrukturen abzuleiten. Dadurch ist die Anordnung 
der Codezeilen in aller Regel nicht mehr wichtig, von Dingen wie 
Defaults mal abgesehen

- die entstehene Schaltung kann statisch oder dynamisch sein und in Form 
von state machines reale und auch virtuelle Abläufe haben, indem 
Reaktionen auf Aussensignale in Zustände überführt werden. So wie auch 
Prozessoren sind dann auch virtuelle Datenströme möglich.


- VHDL definiert demnach explizit nur einen Ablauf innerhalb der 
Synthesesoftware - nicht aber auf der Hardware

- VHDL definiert implizit Strukturen, die statisch sind, indem 
Funktionsvorschriften gemacht werden, wie z.B. Multiplikation, die in 
irgendeine Hardware übersetzt wird, die multiplizieren kann

- VHDL definiert explizit Strukturen, die einen zeitlichen Ablauf haben 
können, z.B. ein FFT-Core nzw zeitgebend sind wie ein Taktkonstrukt mit 
risng_edge

- VHDL definiert implizit Abläufe, in dem Strukturen definiert werden, 
die später Abläufe haben, wie z.B. eine zusammengesetzte state machine, 
ein Zähler mit Abbruchbedingung etc.

Wie man sieht werden in VHDL durch entweder Vorgabe der Funktion oder 
der Struktur selber in aller Regel Anordnungen festgelegt. Der Ablauf, 
der in der Schaltung hinterher von Statten geht, wird praktisch immer 
indirekt festgelegt. Man muss also mehr oder weniger eine Schaltung vor 
Augen haben, die den Ablauf leisten kann und dann diese Schaltung 
beschreiben.

Bei state machines ist das ein wenig doppeldeutig und verwaschen, 
zugegeben, weil so, wie man 1-stufige state machines beschreibt, ein 
sehr enger Zusammenhang zur späteren Hardware gegeben ist, zumindest 
wenn die Zustandskodierung  so erfolgt, wie vorgegeben. Trotzdem ist das 
letztlich keine direkte Beschreibung eines Ablaufs, sondern doch eine 
indirekte, weil der tatsächliche reale (unter Betrachtung des Timings) 
definierte Ablauf an Randbedinungen und die Umsetzung genknüpft ist. Es 
ist nicht einmal eine exakte Vorgabe für die Hardware, weil state 
machines analysiert und in verschiedenen Vodierformen übersetzt werden 
können.

Bei der Nutzung von VHDL muss man sich eben daran gewöhnen, dass man 
gleichzeig Abläufe und Struktur programmiert und dies dummerweise nicht 
automatisch bei allen Konstrukten konsistent ist, weswegen oftmals 
Schaltungsfunktion nach Synthese und Verhalten in der Simulation 
auseinanderlaufen.

von Dussel (Gast)


Lesenswert?

John schrieb:
> Mit Verilog bin ich -
> rein subjektiv - dann deutlich besser zurechtgekommen. Ich kann leider
> nichtmal sagen woran das lag ...
Mir gefällt die C-ähnliche Syntax deutlich besser als die Romane von 
VHDL. In Verilog und C markieren zum Beispiel immer geschweifte Klammern 
einen Block. In VHDL ist es mal then, mal begin und endet mal mit end 
Ausdruck, mal mit end name, mal nur mit end. (Wobei end und end 
name, wenn ich mich recht erinnere, alternativ verwendet werden 
können)

Korrigierer schrieb:
> VHDL definiert demnach explizit nur einen Ablauf innerhalb der
> Synthesesoftware - nicht aber auf der Hardware
Was bei der Synthese gemacht wird, ist aber für einen Anfänger nicht 
wichtig.

Anderseits fällt mir da gerade for generate ein. Da ist es irgendwie 
schon sinnvoll zu wissen, dass das eine 'for-Schleife für den 
Übersetzer' ist.
Bis man den Einstieg mal hat, ist es doch nicht so ganz einfach.

Korrigierer schrieb:
> Man muss also mehr oder weniger eine Schaltung vor
> Augen haben, die den Ablauf leisten kann und dann diese Schaltung
> beschreiben.
Da stimme ich zu.

Um die Verwirrung komplett zu machen, müssen wir, wie du oben schon 
angedeutet hast, auch noch zwischen der Sprache VHDL und der 
Beschreibung einer digitalen, synthetisierbaren Schaltung auf einem 
Logikbaustein unterscheiden. :-)

von MaWin (Gast)


Lesenswert?

Indium schrieb:
> Wie schwer ist VHDL und FPGA zu erlernen?

Eigentlich so einfach, wie fertige Digital-ICs miteinander zu verbinden.

Denn genau das kann man mit VHDL machen: Ein paar vorgefertige logische 
Bauelemente (denk an 74xx-Serie oder ganze Floppycontroller 
'intellectural properties') nehmen und die Verbindungen definieren.

Das ist einfach für jeden der mit 74xx Gatterbauelementen umgehen kann.

Darüberhinaus kann VHDL mehr, damit man sich Arbeit erspart. Wer einen 
Speicher aus 100 x 100 FlipFlops aufbauen will und alle verdrahtet, mit 
Adressdecodern aus NAND-Gattern, baut sich einen Wolf, bzw. schreibt 
Anweisungen bis zum Abwinken. In VHDL baut man sich ein Array aus 
FlipFlops einfach mit 2 Schleifen 0..99, und den Decoder per logischer 
Formel. Der VHDL-Compiler macht dann daraus die komplexe Verdrahtung.

Korrigierer schrieb:
> - VHDL ist eine Programmiersprache, die explizite sequenzielle Abläufe
> bescheibt

Genau das führt zum berühmten falschen Verständnis von VHDL und FOR.

VHDL beschreibt die ANORDNUNG von logischen Bauelementen, daher bezieht 
sich FOR nicht auf wiederholte Ausführung, sondern auf parallele 
Anordnung von logischen Bauteilen. Ein IF/CASE sagt, durch welche 
Anordnung der parallel vorhandenen Bauteile (logischen Formeln) die 
Signale laufen, ist also eher ein Multiplexer/Datenselektor.

Die durch VHDL dann generierte Hardware, DIE bearbeitet dann digitale 
Signale in möglichst sequentiellen Abläufen.

von lubbi (Gast)


Lesenswert?

Lothar Miller schrieb:
> lubbi schrieb:
>> hält mich davon ab die Programmschritte per VHDL im Blockram zu
>> hinterlegen) habe ich dann nicht programmiert?
> Dann hätte das D seine Berechtigung verloren und es müsste
> logischerweise VHPL heißen...
>
> Ansonsten: täglich grüsst das Murmeltier.
> Diese Diskussion wird hier allhalbjährlich geführt. Such einfach mal
> nach "programmieren" hier im VHDL Forum...

Ich wollte jetzt auch keine Diskussion lostreten, die Anfänger verwirren 
könnte. Ev. war das wirklich nicht sinnvoll von meiner Seite...

von Korrigierer (Gast)


Lesenswert?

MaWin schrieb:
> VHDL beschreibt die ANORDNUNG von logischen Bauelementen, daher bezieht
> sich FOR nicht auf wiederholte Ausführung, sondern auf parallele
> Anordnung von logischen Bauteilen.

Das ist eben nicht richtig. Mit einer FOR-Schleife kann, muss aber nicht 
eine parallele Hardware aufgebaut werden. Es können auch verschachtelte 
For-Schleifen exisitieren, die Bedingungen abprüfen und daraufhin 
partiell synthesitsieren, wie bei dem handling von Derivaten.

For-Schleifen können zudem genutzt werden, um in simulierbaren Cores 
Abläufe zu realisieren, die zu einem konvergierten Wert führen, um 
Zwischenberechnungen zu machen, z.B. das Bilden einer Wertetabelle und 
vieles mehr. Das sind sequenzielle Abläufe.

Man muss sich nur (aber zu jeder Zeit !) vor Augen halten, dass diese 
ganzen Abläufe in dem Syntheesprogramm laufen. Dort wird der Code als 
Programm genommmen und ausgeführt.

Eigentlich ist es ganz einfach so, wie es auf der Tagung mal gesagt 
wurde:

VHDL ist eine Programmiersprache für einen virtuellen Hardwareingenieur, 
der die Schaltung baut. Sie steuert diesen so, als sei der Entwickler 
ein programmierbarer Schaltungsbauroboter.

Und wenn dieser Schaltungsbauroboter den FOR-Befehl bekommt, eine 
Handlung mehrfach auszuführen, kommen je nach Randbedingung sehr 
unterschiedliche Ergebnisse raus.

Es können eine Gruppe von Chips, ein Array von Strippen zum Verbinden, 
eine Anordnung von Lötpunkten sein, oder es kann ihm angewiesen werden, 
solange eine Berechnung durchzuführen, bis ein bestimmter Endwert 
bekannt ist, den er als Konstant irgendwo festlegt, oder anhand des 
Ergebnisses bekannt wird, ob er etwas verbinden bzw einbauen soll, oder 
nicht.

von berndl (Gast)


Lesenswert?

Dussel schrieb:
> John schrieb:
>> Mit Verilog bin ich -
>> rein subjektiv - dann deutlich besser zurechtgekommen. Ich kann leider
>> nichtmal sagen woran das lag ...
> Mir gefällt die C-ähnliche Syntax deutlich besser als die Romane von
> VHDL.

Stimmt im Prinzip und deckt sich mit meinen Erfahrungen. Aber die 
Geschwaetzigkeit von VHDL hat einen Vorteil: Du verstehst einen alten 
Design oder etwas von jemand anderem leichter! Verilog erlaubt da schon 
wieder viele Tricks, VHDL ist da einfacher gestrickt. Spaetestens wenn 
du mal einen deiner Designs nach ein paar Jahren wieder anfassen musst: 
Geht m.E. leichter mit VHDL als mit Verilog.

Sind aber nur meine 2 cents...

von FPGA-Neuling (Gast)


Lesenswert?

berndl schrieb:
> Geht m.E. leichter mit VHDL als mit Verilog.

Wir haben an der Hochschule eigentlich überhaupt kein Verilog - nur 
VHDL. Laut Prof ist es so, dass VHDL in Europa die Standardsprache. 
Verilog eher USA. Ist das so? Welche Gründe könnten dafür verantwortlich 
sein?

von Dumdi D. (dumdidum)


Lesenswert?

FPGA-Neuling schrieb im Beitrag #4132413:
> Laut Prof ist es so, dass VHDL in Europa die Standardsprache.
> Verilog eher USA. Ist das so? Welche Gründe könnten dafür verantwortlich
> sein?

Ja, das ist so. Vermutlich dieselben Gründe wie bei Oracle vs. SAP.

von peter (Gast)


Lesenswert?

Hmmm..., ich als Hobbyst spiele mit Verilog und VHDL.

Wenn ich im Arbeitsleben stehen würde (bin jetzt Pensionär) wäre mir 
Verilog
am nächsten um meine Maschinen (mit FPGA-Steuerung) besser verkaufen zu 
können. Was nützt meine VHDL-Steuerung in Amerika, wenn die keiner 
Versteht.
Und so verstehen es die Amerikaner mit unseren Maschinenimport auch.

VHDL ist für den Export von Deutschland eine Bremse.
Aber welcher Prof (ohne Plagiat) versteht das, dem ist es doch 
Scheißegal wie der Student  mit dem VHDL da steht.

Gruss

von Michael B. (laberkopp)


Lesenswert?

Korrigierer schrieb:
> MaWin schrieb:
>> VHDL beschreibt die ANORDNUNG von logischen Bauelementen, daher bezieht
>> sich FOR nicht auf wiederholte Ausführung, sondern auf parallele
>> Anordnung von logischen Bauteilen.

> Es können eine Gruppe von Chips, ein Array von Strippen zum Verbinden,
> eine Anordnung von Lötpunkten sein, oder es kann ihm angewiesen werden,
> solange eine Berechnung durchzuführen, bis ein bestimmter Endwert
> bekannt ist, den er als Konstant irgendwo festlegt, oder anhand des
> Ergebnisses bekannt wird, ob er etwas verbinden bzw einbauen soll, oder
> nicht.

Was ist daran nun anders, als der Satz den du korrigieren wolltest ?

Weil ich "logische Bauelemente" wo du "Chip, Strippen und Lötpunkte" 
schreibst ?

FOR ist eben keine Sequenz in der erzeugten Hardware, sondern eine 
Sequenz bei der Definition der Hardware.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

peter schrieb:
> am nächsten um meine Maschinen (mit FPGA-Steuerung) besser verkaufen zu
> können. Was nützt meine VHDL-Steuerung in Amerika, wenn die keiner
> Versteht.
Wen interessiert es, in welcher Hochsprache ein FPGA in einer Maschine 
beschrieben wurde? Die Maschine muss einfach nur laufen.
Und ein Updatevorgang eines FPGAs (oder eines FPGA-PROMs) ist hinterher 
sowieso exakt gleich. Ob der Quelltext in Verilog oder VHDL oder als 
Schaltplan vorlag sieht dann keiner mehr.

> VHDL ist für den Export von Deutschland eine Bremse.
Das betrifft aber bestenfalls Maschinen im Sub-Promille-Bereich des 
Gesamtumsatzes...

von Schlumpf (Gast)


Lesenswert?

Lothar Miller schrieb:
> Wen interessiert es, in welcher Hochsprache ein FPGA in einer Maschine
> beschrieben wurde?

Du hast aber schon gelesen, WER das geschrieben hat? :-)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Schlumpf schrieb:
> Du hast aber schon gelesen, WER das geschrieben hat? :-)
Ja, das habe ich sehr wohl...   ;-)
Achja, da isser ja, der 
Beitrag "Re: Ampelsteuerung mit Schematics Basys2"

Und hier ist noch einer der anderen Threads aus der Liga "die bessere 
Beschreibungssprache": Beitrag "Einfacher VHDL Zähler"

: Bearbeitet durch Moderator
von FPGA-Neuling (Gast)


Lesenswert?

Dumdi Dum schrieb:
> Vermutlich dieselben Gründe wie bei Oracle vs. SAP.
Die wären? Zufall? Wer zuerst kam, setzt die Maßstäbe?

von J. S. (engineer) Benutzerseite


Lesenswert?

Zu der eingangs gestellten Frage:

>Wie schwer sind VHDL und FPGA zu erlernen
Wenn man ein Gefühl für Technik und Programmierung hat, ist das nicht 
wirklich schwer, aber durchaus zeitraubend.

Die Sprache kann man wie die meisten anderen auch in Wochen erlernen, 
zumindestes, was die am meisten benötigten Kontrukte an geht. Deren 
geschickte Anwendung, damit die Tools immer das tun, was man will, 
dauert aber durchaus Monate bis Jahre. Es gibt eigentlich immer mal 
wieder irgend ein issue, wo irgendwas nicht geht. Die Sprache entwickelt 
sich ja auch.

Kompliziert ist vor allem die Bedienung der Tools, weil das meiste nicht 
mehr so richtig durchschaubar ist, gleichzeitig doch aber sehr komplex. 
Einfache Sachen gehen mehr oder weniger automatisch und man bekommt 
innerhalb von Tagen was Lauffähiges hin. Es gibt aber Sachen, wo die 
Tools aufgrund von Inkompatibilitäten der Module, Versionsumstellungen, 
Zusammenspiel mit Cores und Drittherstellern, allerlei Problem 
aufwerfen, die umfangreiches Wissen und Erfahrung benötigen, um sie zu 
handhaben oder zu umschiffen. Das dauert dann lange, bis Lösungen 
gefunden werden.

Ein Grund sind auch unzurechende, ungeschickte und teils sogar falsche 
Beschreibung der Funktionen. Wenn es z.B. in Richtung Physik, als PLLs, 
Transceiver, Buffer, etc geht, gibt es einige Fallstricke.

Der dickste Brocken sind eigentlich die FPGAs selber, weil sich deren 
Technologie ändert und die Anforderungen in Hinsicht auf Analog- und 
Physikthemen mit steigender Frequenz wachsen. Bei 10 MHz tut sich da 
noch nicht viel, aber wenn ein DDR-Baustein angesprochen, oder andere 
Baugruppen über Stecker verbunden sind, und mit 100MHz kommunizieren 
wollen, gibt es viele Randthemen.

Wenn Du jetzt loslegst, hast Du im günstigsten Fall nach einem Tag eine 
Blinkerschaltung beisammen. Einen PCIe-Controller, mit DMA auf DDR-RAMs 
und optimierter Bandbreite, mit Anbindung an high-speed ADCs mit gutem 
EMV-Design hast Du in 2 Jahren nicht am Laufen.

: Bearbeitet durch User
von jürgen (Gast)


Lesenswert?

Was wäre dein ein gutes Buch um in Hardwaredesgin auf einen FPGA mit 
Verilog einzusteigen?

von Uwe A. (uwe_arzt)


Lesenswert?

FYI: Bei Altera gibt es gerade das ebook "FPGAs für Dummies" gegen Email 
Adresse ;)

http://design.altera.com/New2FPGAeBook

:q! Uwe

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

jürgen schrieb:
> Was wäre dein ein gutes Buch um in Hardwaredesgin auf einen FPGA mit
> Verilog einzusteigen?
Ließ mal den Beitrag "Suche VHDL Buch"

von Uwe B. (uwe_beis)


Lesenswert?

Hi,

ich sehe den Einstieg in VHDL nicht unbedingt so kompliziert wie viele 
andere hier. Allerdings setze ich mindestens voraus, dass du dich in 
Digitatechnik, -schaltungen und -ICs auskennst.

Dann musst du m. E. 3 Dinge kennen lernen:

1. FPGAs: Die können ganz schön kompliziert sein. Wenn du einsteigen 
willst, tu es mit CPLDs. Die sind deutlich einfacher aufgebaut, 
wesentlich einfacher zu betreiben und genau so wie FPGAs zu 
programmieren und debuggen. Später, wenn es komplex wird und du alles 
andere ausreichend beherrscht, kannst du auf FPGAs und deren 
Hardware-Spezialitäten umsteigen.

2. VHDL: Um erste lauffähige Projekte zum Leben zu erwecken, genügen 
wenige Grundkenntnisse. Ich behaupte, wenn es dir jemand erzählt, ist 
das erste LED-Blink-Projekt in weniger als ein paar Stunden so 
verständlich für dich, dass du auch einen Zähler selbstständig 
programmieren kannst.

3. Die IDE: Auch da gibt es viel zu Lernen, aber für den Anfang reicht 
wenig. Am besten lässt man sich auch das kurz erklären.

Die Meinung, dass die Kenntnis einer Programmiersprache eher hinderlich 
sein kann, teile ich bedingt: Wer in seinem Leben noch nie 
Logik-Hardware gemacht hat, hat kaum eine Vorstellung davon, dass 
Hardware beliebig viel parallel (concurrent) oder seriell (sequential) 
ausführen kann, und dass es ein ständiges Abwägen der unendlich vielen 
Architektur-Alternativen zwischen Ressourcenverbrauch und 
Ausführungsdauer gibt. Wer aber schon mal ein paar 74xx verdrahtet hat, 
für den ist das offensichtlich, und das habe ich bei dir eingangs auch 
vorausgesetzt.

Ich habe mit ein paar spärlichen Tipps eines Kollegen angefangen und 
binnen Kürze ziemlich komplexe Projekte trotz meiner immer noch relativ 
bescheidenen VHDL-Kenntnisse realisiert.

Ich teile da 100%-ig die Meinung von Jürgen:
Jürgen S. schrieb:
> Wenn Du jetzt loslegst, hast Du im günstigsten Fall nach einem Tag eine
> Blinkerschaltung beisammen. Einen PCIe-Controller, mit DMA auf DDR-RAMs
> und optimierter Bandbreite, mit Anbindung an high-speed ADCs mit gutem
> EMV-Design hast Du in 2 Jahren nicht am Laufen.

Nur Mut.

: Bearbeitet durch User
von jürgen (Gast)


Lesenswert?

Findet ihr nicht das Verilog wesentlich eingänglicher wirkt als VHDL?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

jürgen schrieb:
> Findet ihr nicht das Verilog wesentlich eingänglicher wirkt als VHDL?
Wem was warum besser gefällt ist nicht die eigentliche Frage dieses 
Threads.
Und meine persönliche Meinung ist: Nein.
Man darf eben nicht in diesen seltsamen strukturellen Stil verfallen, 
der (leider noch immer!) an deutschen Hochschulen gelehrt wird:
1. Beschreibe einen Halbaddier
2. Mach daraus einen Volladdierer
3. Verknote zig dieser Addierer zu einem kompletten Vektor
Im Ernst: genau solche Beschreibungen mit zigtausend Mikrokomponenten 
liefern diese Studenten dann im Praktikum oder in der 
Bachelor-/Masterarbeit dann auch ab...

Sinnvoller wäre da:
- Addition erfolgt durch den + Operator
- Rechne niemals mit uneingeschränkten (std_logic) Vektoren
Und dann das, was ich "meine Postulate" nenne (einfach hier im Forum mal 
danach suchen).

Siehe zum Thema "VHDL ist geschwätzig und umständlich" das da und den 
darin verlinkten Thread:
http://www.lothar-miller.de/s9y/archives/88-VHDL-vs.-Verilog-am-Beispiel-einer-Stoppuhr.html

: Bearbeitet durch Moderator
von W.S. (Gast)


Lesenswert?

Lothar Miller schrieb:
> Sinnvoller wäre da:
> - Addition erfolgt durch den + Operator
> - Rechne niemals mit uneingeschränkten (std_logic) Vektoren
> Und dann das, was ich "meine Postulate" nenne (einfach hier im Forum mal
> danach suchen).

Endlich mal ein Beitrag, um laut Beifall zu rufen, was hiermit erfolgt 
ist.

W.S.

von J. S. (engineer) Benutzerseite


Lesenswert?

Uwe Arzt schrieb:
> FYI: Bei Altera gibt es gerade das ebook "FPGAs für Dummies" gegen Email
> Adresse ;)
Hast Du mal reingeschaut? Würde man damit einen echten Überblick 
bekommen, was FPGAs sind und was man damit tut?  Finde ich jetzt nicht 
so...

Ich empfehle an dieser Stelle nochmal das, was ich bisher am Besten 
fand:

Digital Electronics with VHDL von William Kleizt / Pearson Verlag. Ist 
in Englisch, gebunden, ziemlich dick und übersichtlich gemacht. Es 
enthält zahlreiche Beispiele und Trainingsfragen. Als eines der wenigen 
Bücher zeigt es einen sehr engen Zusammenhang zwischen der digitalen 
Schaltung, mit Schalbild, Diagram und dem VHDL.


jürgen schrieb:
> Findet ihr nicht das Verilog wesentlich eingänglicher wirkt als VHDL?
Hallo Namensvetter, nicht unbedingt und wenn, dann sicher nicht 
"wesentlich". Ich habe mit Verilog angefangen, aber bin beim VHDL 
gelandet. Logisch, dass mir das nun lieber ist. Macken haben beide 
Sprachen.


Lothar Miller schrieb:
> Im Ernst: genau solche Beschreibungen mit zigtausend Mikrokomponenten
> liefern diese Studenten dann im Praktikum oder in der
> Bachelor-/Masterarbeit dann auch ab...
Ich finde es nicht falsch, wenn man das auf der Ebene lernt. Notwendig 
ist aber, dass man eben alle erdenklichen Ebenen der Beschreibung, 
angefangen mit Struktur bis hin zu abstraktem Verhalten, nebeneinander 
stellt, damit die Studi sehen, wann man wo was verwenden sollte.

von Dussel (Gast)


Lesenswert?

Jürgen S. schrieb:
> Wenn Du jetzt loslegst, hast Du im günstigsten Fall nach einem Tag eine
> Blinkerschaltung beisammen.
Das kann ich so nicht bestätigen.
Bis die erste LED geblinkt hat, hat es etwa eine halbe Stunde gedauert, 
die nächsten Schritte, wie Lauflicht mit Richtungsumkehr per Taster, 
vielleicht eine Stunde.
Der Hauptaufwand war, das Webpack runterzuladen und zu installieren und 
rauszufinden, wie man die Beschreibung in den FPGA (genauer in den ROM) 
bekommt. Insgesamt hat das aber etwa fünf Stunden gedauert und da meiste 
davon muss man nur einmal machen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Dussel schrieb:
> Bis die erste LED geblinkt hat, hat es etwa eine halbe Stunde gedauert,
> die nächsten Schritte, wie Lauflicht mit Richtungsumkehr per Taster,
> vielleicht eine Stunde.
Du bist da eher die Ausnahme. Bei mir hat das auch wesentlich länger 
gedauert.

Und bis ich dann die Notwendigkeit des Einsynchronosierens gelernt 
hatte, da waren schon einige der "kleinen" Designs mitsamt ihrem ab und 
zu "seltsamen" Verhalten fertig.

Ich denke, so ein Design war dann das Lauflicht nach 1 Stunde: der 
Taster wurde dabei noch nicht richtig einsynchronisiert...

Jürgen Schuhmacher schrieb:
> Notwendig ist aber, dass man eben alle erdenklichen Ebenen der
> Beschreibung, angefangen mit Struktur bis hin zu abstraktem Verhalten,
> nebeneinander stellt, damit die Studi sehen, wann man wo was verwenden
> sollte.
Und vor Allem: dass sie erkennen, dann man diese "Beschreibungsarten" 
auch beliebig mischen und nebeneinander her verwenden kann...

: Bearbeitet durch Moderator
von Dussel (Gast)


Lesenswert?

Lothar Miller schrieb:
> Und bis ich dann die Notwendigkeit des Einsynchronosierens gelernt
> hatte, da waren schon einige der "kleinen" Designs mitsamt ihrem ab und
> zu "seltsamen" Verhalten fertig.
>
> Ich denke, so ein Design war dann das Lauflicht nach 1 Stunde: der
> Taster wurde dabei noch nicht richtig einsynchronisiert...
Das Stimmt wohl. Der Taster war auch nicht entprellt. Aber auch wenn das 
Lauflicht mal nach Tasterdruck weiter in die gleiche Richtung läuft, hat 
man doch grundsätzlich schonmal nicht alles falsch gemacht.

Ich wollte nur den Beitrag entschärfen, nach dem es so aussah, als hätte 
man kaum Erfolgserlebnisse.

von J. S. (engineer) Benutzerseite


Lesenswert?

Alles hängt von den Vorkenntnissen ab. Ich habe vor den FPGAs und VHDL 
schon mit PLDs und GALs gearbeitet. Auch Digitalschaltungen für ASICs 
waren vorher noch dran. Und davor gab es 10 Jahre Gebastel mit TTL und 
CMOS40xx.

Wenn er mit FPGAs und VHDL anfängt und das alles über die 
Beschreibungsebene lernen will, hm ....

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jürgen Schuhmacher schrieb:
> Alles hängt von den Vorkenntnissen ab.
Gut, insofern stimmt es schon, dass die Studenten vorher mal was mit 
TTL Logik gebastelt haben sollten...

> Wenn er mit FPGAs und VHDL anfängt und das alles über die
> Beschreibungsebene lernen will, hm ....
Idealerweise sollte er eben schon Digitaltechnik beherrschen und sich 
Lösungswege ausdenken können (ein Flipflop hat eben keine 2 Takteingänge 
und es ist nicht üblich, dass Flipflops auf beide Flanken reagieren). 
Denn VHDL ist ja eine Beschreibungssprache. Und beschreiben kann ich 
nur etwas, wovon ich mir ein Bild machen kann.
Da scheint einfach irgendwas im Studium nicht gelehrt zu werden, oder 
die Studenten schaffen die mentale Verknüpfung nicht. Auf jeden Fall 
muss ich die idR. erst mal durch einen Reset fahren und dann nochmal mit 
LED-Blinkern, Lauflichtern, seriellen Schnittstellen, PS2-Tastaturen und 
VGA-Ansteuerungen füttern. Danach haben sie die elementaren 
Verhaltensweisen verstanden und einen ansatzweise brauchbaren und 
reproduzierbaren Beschreibungsstil verinnerlicht...

Wie sagte einer am Ende seines Praktikums: "The whole world is a shift 
register!"

: Bearbeitet durch Moderator
von horsti (Gast)


Lesenswert?

Wie kann man bitte "FPGA" lernen?
Ich würde vorschlagen, dass du dich erst einmal über die 
Begrifflichkeiten informierst!

von J. S. (engineer) Benutzerseite


Lesenswert?

Lothar Miller schrieb:
> beschreiben/ kann ich
> nur etwas, wovon ich mir ein Bild machen kann.
An der Stelle könnte man jetzt einhaken, dass es in VHDL reicht, ds 
Verhalten zu beschreiben und sich über die Umsetzung in Hardware keine 
Gedanken machen muss. Aber die Beispiele zeigen, was man alles 
hinschreiben kann und simulatorisch funktionert, in der Realität aber 
keinen Gegenpart hat, oder einen sehr seltsamen.

> Da scheint einfach irgendwas im Studium nicht gelehrt zu werden, oder
> die Studenten schaffen die mentale Verknüpfung nicht.
Es ist wohl beides. Die Lehrpläne sind ja gestrafft worden und die 
Hinzunahme von immer mehr Software erfordert das Weglassen von Hardware. 
Da ist es zwangsläufig, dass was fehlen muss. Zuerst wurde ja in 90ern 
schon begonnen, Analogtechnik wegzustreichen, inzwischen fehlt wohl 
anscheinend auch digitale Hardware.

Zum Zweiten fangen die Leute heute eher mit Software an, statt mit 
Elektronik und wenn sie sich damit befassen, wird kaum was 
zusammengelötet. Wenn die praktische Anschauung fehlt, ist es dann auch 
für den Schlausten logischerweise schwer, Zusammenhänge zwischen dem 
abstrakten VHDL und einer Hardware herzustellen.

> einen ansatzweise brauchbaren und
> reproduzierbaren Beschreibungsstil verinnerlicht...
Wenn da die Vorgaben fehlen, oder das Internet zu Rate gezogen wird, ist 
auch das ein langer Prozess. Da posten viel zu viele ihr Halbwissen, 
sodass jemand die Chance hätte, dadurch zu lernen. Die Hochschulen 
können es auch nicht leisten, weil keine Zeit besteht, in de Tiefe zu 
gehen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jürgen Schuhmacher schrieb:
> Da posten viel zu viele ihr Halbwissen
Das ist allerdings sehr wahr. Kaum hat einer sein erstes umständliches 
Lauflicht hinbekommen, wird es sofort veröffentlicht.
Und danach kommt eine gerade so hingebastelte serielle Schnittstelle: ab 
damit ins Netz...

> sich über die Umsetzung in Hardware keine Gedanken machen muss
Diese elegante Einstellung kann z.B. ich mir leisten, weil ich die paar 
simplen Fallstricke kenne und vermeide. Also, wenn ich auf einer hohen 
Abtraktionsebene "in Hardware denke" (so wie ich Englisch auch nicht 
mehr übersetze, sondern gleich "denke").
Das braucht allerdings Übung und nennt sich dann Erfahrung...

von Markus F. (Gast)


Lesenswert?

W.S. schrieb:
>> Sinnvoller wäre da:
>> - Addition erfolgt durch den + Operator
>> - Rechne niemals mit uneingeschränkten (std_logic) Vektoren

Wo ist das Problem, das zu tun? Was geht schief? Eleganz mag es nicht 
sein, aber Xilinx tut es ja selber in seinen Codes. Und funktioniert hat 
es bisher immer.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

M. Fritsch schrieb:
>>> - Rechne niemals mit uneingeschränkten (std_logic) Vektoren
> Was geht schief?
Man sieht den Signalen und Variablen ihre Datentypen (vorzeichenlos 
oder -behaftet) nicht an.
Sondern man muss jedesmal nachsehen, welche der alten obsoleten 
Synopsys-Libs verwendet wurde. Das führt immer dann zu Problemen, wenn 
es mal genau darauf ankommt und nur der "problematische" Prozess 
angeschaut wird...

: Bearbeitet durch Moderator
von MaWin (Gast)


Lesenswert?

jürgen schrieb:
> Findet ihr nicht das Verilog wesentlich eingänglicher wirkt als
> VHDL?

FPGA-Neuling schrieb im Beitrag #4132413:
> Wir haben an der Hochschule eigentlich überhaupt kein Verilog - nur
> VHDL. Laut Prof ist es so, dass VHDL in Europa die Standardsprache.
> Verilog eher USA. Ist das so? Welche Gründe könnten dafür verantwortlich
> sein?

Erfolgreiche Chiphersteller sitzen in den USA, die nehmen die 
Hilfsmittel mit denen sich schnell funktionierende Ergebnisse erreichen 
lassen, also VERILOG.

In Europa sitzen bloss akademische Fürze. Chipfabriken schliessen wegen 
wirtschaftlichem Totalschaden. VHDL ist rein akademisch: Man hat mit ihr 
wunderbar komplexe Probleme für Klausuren, aber niemals einen 
funktionierenden Chip.

Verilog ist das C des Chipdesigns, VHDL das ALGOL68, verquast und mit 
Overhead. Die meisten IP Cores gibt es in VERILOG.

von Fpgakuechle K. (Gast)


Lesenswert?

MaWin schrieb:

> In Europa sitzen bloss akademische Fürze. Chipfabriken schliessen wegen
> wirtschaftlichem Totalschaden. VHDL ist rein akademisch: Man hat mit ihr
> wunderbar komplexe Probleme für Klausuren, aber niemals einen

> Verilog ist das C des Chipdesigns, VHDL das ALGOL68, verquast und mit
> Overhead.

Mumpitz, VHDL ist von den Amerikanern entwickelt worden um für die 
MIL-Elektronik einen einheitlichen (Dokumentations/Simulations-) 
Standard zu schaffen. Das U.S. DoD hat keine andere Handhabe gesehen um 
die vielen ASIC-Designs mit der erforderlichen Qualität zu pflegen. Da 
ist von 100 verschiedenen propitären Chipbeschreibungsformen damals die 
Rede. Verilog war damals nicht standardisiert, also wurde VHDL als 
offizieller Standard kreiert das sich an Ada anlehnt. Ada stammt auch 
aus dem Militär Industriellen Komplex. Also nix mit "schnell was 
hingeklatscht" sondern Schwerpunkt auf umfassende Simulierbarkeit 
gelegt.

https://www.doulos.com/knowhow/vhdl_designers_guide/a_brief_history_of_vhdl/

http://www.eda.org/VIUF_proc/Fall93/HAJJ93B.PDF

Also nix mit VHDL als "europäischer akademischer Furz"

MfG,

von Klakx (Gast)


Lesenswert?

MaWin schrieb:
> In Europa sitzen bloss akademische Fürze. Chipfabriken schliessen wegen
> wirtschaftlichem Totalschaden. VHDL ist rein akademisch: Man hat mit ihr
> wunderbar komplexe Probleme für Klausuren, aber niemals einen
> funktionierenden Chip.

Troll detected

Chipfabriken bekommen vielleicht ein verbuggtes Design (auch in Verilog 
möglich), jedoch werden sie trotzdem bezahlt. Entwicklung & FAB in einem 
Unternehmen ist heutzutage nicht der so übliche Weg.

IP-Cores gibt es in VHDL und Verilog.

von peter (Gast)


Lesenswert?

Wir in Euro haben Mithilfe geleistet das der "europäischer akademischer 
VHDL-Furz" erst entstanden ist durch die Universitäten , die den Mixcode 
als "Gut" empfunden haben für Lehrzwecke. Und bei Lehrzwecken braucht 
man nicht auf wirtschaftliche Denkweise in der Entwicklung Rücksicht 
nehmen. Hauptsache es erfüllt den Lehrzweck.

Wir in Europa hatten massiven Einfluss gehabt während der Entwicklung in 
Amerika , dann wäre  Verilog standard geworden.


Gruss

von Fitzebutze (Gast)


Lesenswert?

Weia...

MaWin schrieb:
> Erfolgreiche Chiphersteller sitzen in den USA, die nehmen die
> Hilfsmittel mit denen sich schnell funktionierende Ergebnisse erreichen
> lassen, also VERILOG.
>

Genau deswegen haben auch eine Menge neuentwickelter Architekturen Bugs 
und laufen im v0-Silicon nicht, wie sie sollen. Das hat nichts mit der 
Sprache zu tun, sondern mit der Art, mal schnell etwas hinzuhacken und 
nicht sauber zu testen. Der Deutsche arbeitet da prinzipiell 
gründlicher, und auf den ersten Blick langsamer als der Amerikaner.
Dass Chipfirmen längst ihre eigenen Tools haben und Verilog/VHDL nur 
noch marginal im CPU-Design interessiert, hat der Troll wohl vergessen. 
Geschweige denn an eine bekannte Chipfirma in Cambridge GB gedacht..

> In Europa sitzen bloss akademische Fürze. Chipfabriken schliessen wegen
> wirtschaftlichem Totalschaden. VHDL ist rein akademisch: Man hat mit ihr
> wunderbar komplexe Probleme für Klausuren, aber niemals einen
> funktionierenden Chip.

Der Totalschaden steckt wohl eher in der obigen Aussage. Aber wer 
offensichtlich keinen Plan hat, womit Gaisler ihre Kohle machen...
Bitte nicht die generellen Bildungs-Probleme in Deutschland mit einer 
Sprachenarchitektur vermischen.

>
> Verilog ist das C des Chipdesigns, VHDL das ALGOL68, verquast und mit
> Overhead. Die meisten IP Cores gibt es in VERILOG.

Nein, sowas wie C will man WIRKLICH NICHT in der Hardware-Entwicklung.

Nur so am Rande: Die meisten schludrigen IP-Cores, die ich in die Finger 
kriege, sind in der Tat Verilog. Die Geschwätzigkeit von VHDL darf man 
kritisieren. Aber: Im Endeffekt testet sich in VHDL wegen einer gewissen 
Strenge besser als in Verilog. Gute und strenge Standards (!) haben da 
ihre Berechtigung, aber im Endeffekt ist es auf deutsch scheissegal, 
bzw. eine Frage der Tools, welche Sprache besser genutzt wird.

von Markus F. (Gast)


Lesenswert?

MaWin schrieb:
> aber niemals einen funktionierenden Chip.

Alle Chips, die wir in Auftrag hatten und die bei unterschiedlichen Fabs 
geordert und produziert wurden, sind allesamt in VHDL angeliefert 
worden. Das meiste kam von uns selbst, da es zuvor auf einem 
Virtex/Kintex geprototyaped wurde. Ausser bei irgendwelchen RAM-Modellen 
haben wir keine Zeile von Verilog und das was an Funktions-Code in den 
Handel geht, also Cores und eben jene Rümpfe für die Kunden-ASICs ist 
alles VHDL.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Fitzebutze schrieb:
> Nur so am Rande: Die meisten schludrigen IP-Cores, die ich in die Finger
> kriege, sind in der Tat Verilog.
Da reicht es aus, sich mal bei OpenCores die Verilog-Exponate mit Status 
"Stable" anzusehen: jeder vierte ist davon bestenfalls zufällig mal 
"stabil" gelaufen, asynchrone und lokale Takte, so weit das Auge reicht. 
Designstil vom Ende des letzten Jahrtausends...

Wir wollten Anfang dieses Jahrtausends mal ein paar kommerzielle Codes 
einiger obsoleter 8080 Peripherie-ICs kaufen. Die wurden auf den HP der 
Hersteller alle als produktionstauglich angepriesen, aber auf konkrete 
Nachfrage bei den Amerikanern blieb dann nur die Aussage, dass diese 
Cores in Verilog auf genau 1 einziges FPGA hingetrimmt wurden. Aber man 
würde uns das Design gerne auf "unser" FPGA "anpassen". Wir haben die 
Peripherie dann inklusive der CPU selber geschrieben und ein komplett 
synchrones Design daraus gemacht...

: Bearbeitet durch Moderator
von Matthias (Gast)


Lesenswert?

In der Firma, in der ich arbeite, werden sicherheitskritische Designs 
-unter anderem für Aerospace (DO-254)- mit VHDL beschrieben. Infineon 
verwendet es auch, was ich so gehört habe.

Wird vermutlich doch nicht nicht sooooo rein akademisch sein....

von Matthias (Gast)


Lesenswert?

Ups... Ein not zuviel. Oder zu wenig ;-)

von Fpgakuechle K. (Gast)


Lesenswert?

Matthias schrieb:
> In der Firma, in der ich arbeite, werden sicherheitskritische Designs
> -unter anderem für Aerospace (DO-254)- mit VHDL beschrieben.

Ja die DO-254 als die richtlinie für komplexe Hardware im 
sicherheitkritischen Avionik Bereich hat xtra einen Style-Guide für 
VHDL:
VHDL Code Style und DO-254.

Und es hiess in den Neunzigern das alle Entwürfe für das DoD in VHDL 
abzuliefern sind.

MfG,

von Markus F. (Gast)


Lesenswert?

Matthias schrieb:
> Wird vermutlich doch nicht nicht sooooo rein akademisch sein....

Wenn Verilog gereicht hätte, hätte man kein VHDL erfinden müssen :-)

von Lattice User (Gast)


Lesenswert?

M. Fritsch schrieb:

>
> Wenn Verilog gereicht hätte, hätte man kein VHDL erfinden müssen :-)

Eher umgekehrt.
VHDL: IEEE-1076: 1987
Verilog: IEEE-1394: 1995

von Indium (Gast)


Lesenswert?

Oh man, danke für die vielen Antwort!

von Fpgakuechle K. (Gast)


Lesenswert?

Lattice User schrieb:
> M. Fritsch schrieb:
>> Wenn Verilog gereicht hätte, hätte man kein VHDL erfinden müssen :-)
>
> Eher umgekehrt.
> VHDL: IEEE-1076: 1987
> Verilog: IEEE-1394: 1995

Das sind der Jahre der Standardisierung - nicht der "Erfindung".
Verilog ist  älter als VHDL, es resp die Simusoftware wurde 1984 
publiziert.

http://en.wikipedia.org/wiki/Verilog

MfG,

von MaWin (Gast)


Lesenswert?

Fpga Kuechle schrieb:
>> Verilog ist das C des Chipdesigns, VHDL das ALGOL68, verquast und mit
>> Overhead.
>
> Mumpitz, VHDL ist von den Amerikanern entwickelt worden

Ich habe nicht behauptet, daß VHDL in Europa entwickelt wurde, auch wenn 
ALGOL68 aus Europa stammt.
Aber ich kann statt ALGOL68 auch ADA hinschreiben. "Verquast und mit 
Overhead" bleibt dann richtig.

von F. F. (foldi)


Lesenswert?

MaWin schrieb:
> Eigentlich so einfach, wie fertige Digital-ICs miteinander zu verbinden.

Wenn andere diesem Beitrag von MaWin (dafür mal wieder Hut ab!) 
zustimmen, dann sollte dieser Beitrag so in jedem Tutorial und jedem 
Buch vorne drin stehen.

Ich fand die Idee FPGA ganz toll und habe mir das im Anfang mal 
angesehen und für mich festgestellt, alles klar, Mikrocontroller reichen 
für mich völlig aus.
Will sagen, dass das viel zu hoch für mich ist.

Und um die Frage des TO's von außen zu beantworten: Für nur so 
"nebenbei" halte ich das für eine zu hohe Hausnummer.
Wenn ich mich damit wirklich noch auseinander setzten wollte, dann würde 
ich drei Jahre ansetzen.

von Sigi (Gast)


Lesenswert?

F. Fo schrieb:
> MaWin schrieb:
>> Eigentlich so einfach, wie fertige Digital-ICs miteinander zu verbinden.
>
> Wenn andere diesem Beitrag von MaWin (dafür mal wieder Hut ab!)
> zustimmen, dann sollte dieser Beitrag so in jedem Tutorial und jedem
> Buch vorne drin stehen.

Das steht im Prinzip in den meissten Büchern auch drin, nennt
sich Abstraktion: Man entwickelt eine/mehrere Komponenten und
verbindet diese bzw. deren Ports auf der nächsthöheren Ebene
(=Komponente). Wer das HDL-Sprachen gleichsetzt, der hat fast
nichts von diesen Sprachen und deren Anwendungen kennengelernt,
HDL-Sprachen wie VHDL und Verilog können VIEL mehr (und MÜSSEN
auch viel mehr können!).

VHDL ist mit ALGOL verwandt?: Keine Computersprache ist aus dem
Nichts entstanden, alle haben sich mehr oder weniger gegenseitig
befruchtet. Neben neuen Konzepten (Objektorientierung etc.) kam
mit jeder Generation auch ein neuer Syntax raus.

Aber VHDL ist eher mit Pascal vergleichbar (wurde hier im Forum
ja schon öfter erwähnt). Ich selbst würde dies an den typischen 
Charakteristiken wie Syntax (BEGIN, END, IF-THEN-END-IF, nicht
IF-FI etc. wie in älteren Sprachen) und der strengen Typisierung
festmachen. Pascal stammt aus den 70er, ALGOL aus den 60er, da
hat sich syntaktisch und konzeptionell doch sehr viel getan.

Und wegen der syntaktischen Charakteristik (ich nenn's barock)
VHDL als verquastet zu bezeichnen halte ich für total falsch.
Verquastet sind dann doch eher die vielen Code-Beispiele im
Netz, aber da nimmt sich VHDL und Verilog nichts (siehe
opencores.org).

von Lattice User (Gast)


Lesenswert?

Fpga Kuechle schrieb:
> Lattice User schrieb:
>> M. Fritsch schrieb:
>>> Wenn Verilog gereicht hätte, hätte man kein VHDL erfinden müssen :-)
>>
>> Eher umgekehrt.
>> VHDL: IEEE-1076: 1987
>> Verilog: IEEE-1394: 1995
>
> Das sind der Jahre der Standardisierung - nicht der "Erfindung".
> Verilog ist  älter als VHDL, es resp die Simusoftware wurde 1984
> publiziert.
>
> http://en.wikipedia.org/wiki/Verilog
>
> MfG,

1981 Hat das DoD beschlossen etwas zu tun.
1982 ging der Auftrag VHDL auf der Basis von ADA zu spezifizieren an 
IBM, Intermetrics und TI.
1984 Wurde die Version 7.2 veröffentlicht.

http://binarynerd.com/hardware-tutorials/beginning-vhdl/history-background-vhdl.html
https://www.doulos.com/knowhow/vhdl_designers_guide/a_brief_history_of_vhdl/

von Fpgakuechle K. (Gast)


Lesenswert?

Lattice User schrieb:
> Fpga Kuechle schrieb:
>> Lattice User schrieb:
>>> M. Fritsch schrieb:
>>>> Wenn Verilog gereicht hätte, hätte man kein VHDL erfinden müssen :-)
>>>
>>> Eher umgekehrt.
>>> VHDL: IEEE-1076: 1987
>>> Verilog: IEEE-1394: 1995
>>
>> Das sind der Jahre der Standardisierung - nicht der "Erfindung".
>> Verilog ist  älter als VHDL, es resp die Simusoftware wurde 1984
>> publiziert.
>>
>> http://en.wikipedia.org/wiki/Verilog
>>
>> MfG,
>
> 1981 Hat das DoD beschlossen etwas zu tun.
> 1982 ging der Auftrag VHDL auf der Basis von ADA zu spezifizieren an
> IBM, Intermetrics und TI.
> 1984 Wurde die Version 7.2 veröffentlicht.
>
> 
http://binarynerd.com/hardware-tutorials/beginning-vhdl/history-background-vhdl.html
> https://www.doulos.com/knowhow/vhdl_designers_guide/a_brief_history_of_vhdl/


Ja das LRM wurde veröffentlicht, VHDL ist ja als Dokumantationssparche 
entsanden, Simualtion und Synthese folgte später. So steht auch bei 
deinen Links:

Mid 1988: Increasing support by CAE manufacturers

Verilog basierte tools hatten bereits 1994 (vor der Standardisierung) 
einen Marktwert von 75 Mio US$ und zählt damit als Marktführer:

http://en.wikibooks.org/wiki/Programmable_Logic/Hardware_Design_Languages



MfG,

von Lattice User (Gast)


Lesenswert?

Fpga Kuechle schrieb:
> Lattice User schrieb:
>> Fpga Kuechle schrieb:
>>> Lattice User schrieb:
>>>> M. Fritsch schrieb:
>>>>> Wenn Verilog gereicht hätte, hätte man kein VHDL erfinden müssen :-)
>>>>
>>>> Eher umgekehrt.
>>>> VHDL: IEEE-1076: 1987
>>>> Verilog: IEEE-1394: 1995
>>>
>>> Das sind der Jahre der Standardisierung - nicht der "Erfindung".
>>> Verilog ist  älter als VHDL, es resp die Simusoftware wurde 1984
>>> publiziert.
>>>
>>> http://en.wikipedia.org/wiki/Verilog
>>>
>>> MfG,
>>
>> 1981 Hat das DoD beschlossen etwas zu tun.
>> 1982 ging der Auftrag VHDL auf der Basis von ADA zu spezifizieren an
>> IBM, Intermetrics und TI.
>> 1984 Wurde die Version 7.2 veröffentlicht.
>>
>>
> 
http://binarynerd.com/hardware-tutorials/beginning-vhdl/history-background-vhdl.html
>> https://www.doulos.com/knowhow/vhdl_designers_guide/a_brief_history_of_vhdl/
>
>
> Ja das LRM wurde veröffentlicht, VHDL ist ja als Dokumantationssparche
> entsanden, Simualtion und Synthese folgte später. So steht auch bei
> deinen Links:
>
> Mid 1988: Increasing support by CAE manufacturers
>
> Verilog basierte tools hatten bereits 1994 (vor der Standardisierung)
> einen Marktwert von 75 Mio US$ und zählt damit als Marktführer:
>
> http://en.wikibooks.org/wiki/Programmable_Logic/Hardware_Design_Languages
>
>

Da habe ich keine Einwände.

Nur das hier:

>>>> M. Fritsch schrieb:
>>>>> Wenn Verilog gereicht hätte, hätte man kein VHDL erfinden müssen :-)

entspricht schlicht und einfach nicht dem Zeitablauf, VHDL ist älter als 
Verlog wenn auch nur knapp.

Dass Verilog zum Marktführer wurde, lag schlicht daran dass Cadence den 
orginalen Entwickler übernommen hat. Erst als VHDL eine breitere 
Unterstützung bekam, hat Cadence die Standardisierung vorangetrieben.

von Fpgakuechle K. (Gast)


Lesenswert?

Lattice User schrieb:

> entspricht schlicht und einfach nicht dem Zeitablauf, VHDL ist älter als
> Verlog wenn auch nur knapp.

http://www.ue.pwr.wroc.pl/pld/pld_12.pdf ->
"The Verilog hardware description language has
been used far longer than VHDL and has been
used extensively since it was launched by Gateway
in 1983"

---
Douglas J. Smith "HDL Chip design"  1996 0-9651934-3-8 p.vi

"Although Verilog became an IEEE Standard after VHDL, it has been used 
by digital designers for far longer"
---

John F. Wakerly "Digital design", 1990, 1994, 2000 0-13-082599-9 p. 265

"At about the same time that VHDL was developing, a different hardware 
design language appeared on the scene"


MfG,

von Georg A. (georga)


Lesenswert?

So insgesamt merkt man aber, von welcher Ecke Verilog bwz. VHDL kommen.

Verilog kommt definitiv von E-Technikern: Gaaanz enger Sprachhorizont 
(sonst hätte es 20 Jahre  später kein System-Verilog gebraucht, um 
fehlende VHDL-Features zu bekommen). Und dann natürlich die 
hinge(r|k)otzte Stopsel-Syntax, die mich irgendwie an einen 
Macro-Assembler erinnert. Hauptsache keinen richtigen Parser bauen 
müssen und Bytes im Code sparen kann man ja damit auch noch...

VHDL kommt sicher von Informatikern: Strikt/Typ-Sicher und tipp-intensiv 
bis zum Umfallen, massig komplexe Sprachkonzepte (die wenigsten davon 
für die heute Hauptanwendung aka Synthese nutzbar) und im wesentlichen 
nur Erweiterungen "nach unten" zur besseren Nutzung (vernünftige Libs, 
kürzere Schreibweisen, etc.).

Ich bin Informatiker, mir gefällt VHDL deutlich besser ;)

Das MaWin'sche Klischee, dass man mit VHDL nichts zustande bekommt, 
kommt IMO von den Cadence-Salesdroids Mitte der 90er. Da hatte ich 
gerade mit VHDL angefangen und mal von Problemen mit den 
§%&@-Synopsys-Tools abgesehen schnell recht komplexe Sachen im FPGA am 
Laufen.

Ein Studienkollege (pro-Verilog) hat mir zu der Zeit aber immer die 
Grusel-Stories erzählt, wo in einem Shoot-Out >10 Designer mit VHDL 
nicht mal einen Zähler hinbekommen hätten. Sollte das wirklich so 
gewesen sein (und kein FUD von Cadence), bin ich mir sicher, dass das 
dann alles "Designer" gewesen sein müssen, die vorher nur in 74er-TTL 
oder Einzel-FFs beim Chipdesign gedacht haben. VHDL selbst war für mich 
nach kurzer Eingewöhnungszeit (die man aber überall hat) wirklich ein 
no-Brainer, und damals gabs noch keine 1000 Tutorials dafür im Netz...

: Bearbeitet durch User
von Lattice User (Gast)


Lesenswert?

Georg A. schrieb:

> Ein Studienkollege (pro-Verilog) hat mir zu der Zeit aber immer die
> Grusel-Stories erzählt, wo in einem Shoot-Out >10 Designer mit VHDL
> nicht mal einen Zähler hinbekommen hätten. Sollte das wirklich so
> gewesen sein (und kein FUD von Cadence), bin ich mir sicher, dass das
> dann alles "Designer" gewesen sein müssen, die vorher nur in 74er-TTL
> oder Einzel-FFs beim Chipdesign gedacht haben.

Hat stattgefunden, war aber eine Variation eines Zähler, einen einfachen 
Zähler hätte der eine oder andere einfach auswendig runtergeschrieben.

Diese Liste der VHDL Teilnehmer liest sich ganz sicher nicht wie 
Anfänger:
1
  TABLE 1) ASIC, FPGA & TOOL EXPERIENCE OF VHDL COMPETITORS
2
 ----------------------------------------------------------------------------
3
 Ravi Srinivasan  ASIC's: 60K, 115K  partial ASIC's: 30K, 45K  FPGA's: 0
4
 Texas Instr.     Tools: Synopsys VHDL & Design Compiler, Aida, Verilog-XL
5
6
 Jan DeCalwe      ASIC's: 60K, 22K, 65K, 35K, 83K  FPGA's 3K, 6K, 4K, 2K
7
 Easics, Ltd.     Tools: Synopsys VHDL & Design Compiler, Actel P&R, Altera
8
                         MaxPlusII, Verilog-XL
9
10
 Jeff Solomon     ASIC's: 125K (schm.) partial 55K  FPGA's: 2K, 6K, 10K
11
 NASA Goddard     Tools: Synopsys VHDL & Design Compiler, Concept/Valid,
12
                         Cadence LWB RapidSim, LSI CMDE
13
14
 Prasad Paranjpe  ASIC's: 17K, 20K, 50K, 30K  partial ASIC's: >5  FPGA's: 0
15
 LSI Logic        Tools: Synopsys VHDL & Design Compiler, Vantage, LeapFrog,
16
                         Verilog-XL, IKOS, MTI, LSI CMDE
17
18
 Vikram Shrivastava  partial ASIC's: lots of synthesis/static timing/CMDE
19
 LSI Logic           Tools: Synopsys VHDL & Design Compiler, Verilog-XL, CMDE

http://www.bawankule.com/verilogcenter/contest.html
http://www.cl.cam.ac.uk/~mjcg/Verilog/Cooley-VHDL-Verilog.html

von Georg A. (georga)


Lesenswert?

> Diese Liste der VHDL Teilnehmer liest sich ganz sicher nicht wie
> Anfänger:

Schön, dann beweist dieser Test, dass das Denken von E-Technikern 
einfach nicht zum VHDL-Konzept passt ;)

Edit: ... oder einfach nur die Synopsys-Tools Mist waren. Gab ja für 
VHDL eigentlich nichts anderes. Nachdem ich damals auch mit denen 
gearbeitet habe, tippe ich eher darauf...

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.