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
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.
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?
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
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.)
Ü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. :-)
Dussel schrieb: > weil ich da plötzlich wieder drauf achten musste ... um die if-Bedingung eine Klammer zu machen... ;-)
in VHDL lässt sich auch streng Sequentielles beschreiben. Statemachines schreiben sich fast so wie ein Programm...
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
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?
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'.
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.
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...
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
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...
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.
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. :-)
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.
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...
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.
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...
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?
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.
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
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.
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...
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? :-)
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
Dumdi Dum schrieb: > Vermutlich dieselben Gründe wie bei Oracle vs. SAP. Die wären? Zufall? Wer zuerst kam, setzt die Maßstäbe?
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
FYI: Bei Altera gibt es gerade das ebook "FPGAs für Dummies" gegen Email Adresse ;) http://design.altera.com/New2FPGAeBook :q! Uwe
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"
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
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
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.
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.
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.
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
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.
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 ....
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
Wie kann man bitte "FPGA" lernen? Ich würde vorschlagen, dass du dich erst einmal über die Begrifflichkeiten informierst!
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.
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...
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.
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
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.
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,
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.
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
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.
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.
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
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....
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,
Matthias schrieb: > Wird vermutlich doch nicht nicht sooooo rein akademisch sein.... Wenn Verilog gereicht hätte, hätte man kein VHDL erfinden müssen :-)
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
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,
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.
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.
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).
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/
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,
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.
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,
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
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
> 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.