... und auch von files.
Man kann in VHDL praktisch alles machen, was im elementaren C auch geht,
abgesehen von der Array- und Pointerarithmetik. Die Sprachen befinden
sich da auf dem selben Level.
Die Frage ist, wie weit das gehen soll. Anspruchsvolle Konstrukte löst
man besser in System-C.
Ich sehe hier auch wieder Ansätze, sich das Verständnis für FPGAs über
das VHDL-Lernen erarbeiten zu wollen.
Und ich habe auch schon einen Verdacht, was die nächste Frage sein wird
...
Lothar M. schrieb:> Aber das steht auch in jedem noch so lausigen x-beliebigen VHDL Buch
nicht in allen, wie mir scheint.
Aber muss man wirklich das Forum mit Lernbeispielen zuspammen?
Hatten wir nicht schon genug davon der Herren Martin O., Peter B., Gustl
B., Holger K. und dem "Bösen Kommunisten", welche in der Vergangenheit
schubweise das Forum mit Anfängerfragen oder "Grundlagen"-Artikelserien
beehrt haben?
Seit einigen Tagen, ist der ominöse "Carl" zugange.
Wer kommt als Nächstes?
>Weltbester FPGA-Pongo (Gast)
Ich frage mich: Muss der "Weltbeste FPGA Pongo" zu allem eine Meinung
haben?
Liegt es im Rahmen der Möglichkeiten deines Egos einfach mal die Klappe
zu halten, wenn du nichts zu einem Thread zu sagen hast.
Carl schrieb:>>Weltbester FPGA-Pongo (Gast)>> Ich frage mich: Muss der "Weltbeste FPGA Pongo" zu allem eine Meinung> haben?> Liegt es im Rahmen der Möglichkeiten deines Egos einfach mal die Klappe> zu halten, wenn du nichts zu einem Thread zu sagen hast.
Naja, auch ich stimme dem "Weltbester FPGA-Pongo" zu, die Posts von
"Carl" können einem gewaltig auf den Sack gehen.
Nicht nur das das x-mal durchgekaut wurde, es hat auch den Eindruck, das
sich "Carl" bewusst dafür entschieden hat, mit einer Lern- und
Beratungsresistenz bezüglich VHDL-Fachtermini zu kokettieren (oder zu
provozieren?).
Dam Forums- und Weltfrieden wäre besser geholfen wenn der "Carl" mal mal
seine Lust am Daherschnattern im Zäume hält.
Seit nun der letzte Youtuber sich entschieden hat, hier täglich sein
heiteres VHDL-Gedankentagebuch zu aktualisieren, könnte vielleicht mal
über ein detailliertes Studium der Netiquette nachgedacht werden.
Oder darüber, dass die 'Schnatterei' ab dem Punkt ein Forum völlig
unbrauchbar macht, wenn es a) alle tun b) nützliche Information
zugespammt aka nicht mehr auffindbar ist - abgesehen von der
offensichtlichen Faulheit, sich auf die Suche danach zu machen.
Lernen heisst nicht: Fütter mich. Und auch nicht "Guck mal, was ich
grade kapiert habe" - "Feiiin!".
>Naja, auch ich stimme dem "Weltbester FPGA-Pongo" zu, die Posts von>"Carl" können einem gewaltig auf den Sack gehen.
Wenn Du ganz stark bist, musst Du sie gar nicht lesen und dich dann
nicht aufregen.
Außerdem haben die Post sogar einen Sinn: Oft wenn ich ein Board in
Betrieb nehme, muss ich erst mal ewig suchen, bis überhaupt erst einmal
etwas blinkt.
Deshalb mache ich dann solche Threads wie diesen hier
Beitrag "XC6SLX16 Spartan 6 Entwicklungsboard" [MOD: Link korrigiert]
in dem dann wirklich alle Informationen zur schnellen Inbetriebnahme
gesammelt sind ( positiv Beispiel: Stackoverflow ).
Und das ist tatsächlich der Sinn eines Forums: wichtig technische
Informationen auf einen Blick.
Hier mal das genaue Gegenbeispiel: Ursprünglich gemacht, um das SDRAM in
Betrieb zu nehmen, wird's zum ausufernden Gelaber.
Beitrag "VHDL SDRAM Controller"
Schließlich und endlich war's nur ein Link in dem Thread, der für das
erwähnte Board die Hilfe brachte.
Weltbester FPGA-Pongo schrieb im Beitrag #5867695:
> Aber muss man wirklich das Forum mit Lernbeispielen zuspammen?
Wo steht denn, dass hier keine Lernbeispiele gepostet werden dürfen? Es
ist völlig legitim, wenn hier Anfängerfragen gestellt werden, auch wenn
sich Euer Majestät der Experte dadurch gelangweilt fühlen.
Diese völlig geistlosen Postings über Einsteigsgehälter und "was soll
ich studieren" gehen mit deutlich mehr auf die Juwelen.
> Wer kommt als Nächstes?
Vielleicht du. Wenn es mal um ein Thema geht, von dem du keine Ahnung
hast.
Vancouver schrieb:> Wo steht denn, dass hier keine Lernbeispiele gepostet werden dürfen?
Wo ist das oben gezeigte "Hello world" ein Lernbeispiel für
FPGA-programmierung? Das ist der Mist einer C-Banause, aber nix
relevantes für das Design einer Logicgatterschaltung!
Das Aquivalent eines hello worlds als lernbeispiel ist für
FPGA-programmierung die Ausgabe einer Schalterstellungskombination auf
einer sieben-segment anzeige. An einer konkreten Hardwarerealisierung,
meinetwegen auch nur als Simulation lernt man was konkret mit FPGA zu
realisieren, aber nicht an einer simplen Compiler-ausgabe.
Damit sollte der TO mal kommen, mit einer top-entity mit einer Handvoll
ein- ausgänge mit typ std_logic die fehlerfrei compiliert wird. Das wäre
dann das Analogon zu einer main-function als Grundgerüst jedes
Programmes.
Abtasten! - Nicht Rumfummeln. schrieb:> FPGA-programmierung
Der TO probiert ein paar Dinge aus, die üblicherweise in einer Testbench
gemacht werden. Was ist daran falsch? Die ersten paar Zeilen VHDL im
Leben sehen bei den meisten Leuten so aus wie oben. Nicht wirklich
sinnvoll, aber gut genug, um den grundsätzlichen Simulatorflow mal
auszuprobieren.
Man kann sich auch wirklich über jeden Scheiß aufregen. Wenn's dir nicht
gefällt oder zu billig ist, dann lies den Artikel einfach nicht und gut
is.
Vancouver schrieb:> Man kann sich auch wirklich über jeden Scheiß aufregen. Wenn's dir nicht> gefällt oder zu billig ist, dann lies den Artikel einfach nicht und gut> is.
Und den TO weiter auf seinen Holzweg Richtung "Ich lern jetztz
VPGA-programme schreiben" weiterstolpern lassen bis er sich endlich das
Genick gebrochen hat und leichenstill liegenbleibt?
Und warum schreibt, nein spammt!, der TO einen Post nach dem anderen,
wenn er nicht will das er eine Antwort drauf bekommt?!
Es ist nicht "zu billig", es ist der komplett falsche Lern-Ansatz. Und
das wurde dem TO und den anderen Pappnasen im Geiste wiederholt gesagt.
Man wird nicht zum Piloten, wenn man mit seinen PKW das Einparken im
Hangar übt. Man muss dazu schon ins (Flugzeug-)Cockpit steigen,
losstarten und schauen das man heile runterkommt. Und nicht aufregen,
wenn man Parkverbot für seinen Fiat-Panda im Airbus-Hangar bekommt. Das
ist nämlich völlig unnötig zum Fliegen.
C. A. Rotwang schrieb:> Dam Forums- und Weltfrieden wäre besser geholfen wenn der "Carl" mal mal> seine Lust am Daherschnattern im Zäume hält.
+1!
Die Carls dieser Welt sollten einfach an einer Hochschule einen
Studiengang belegen und sich dann mit anderen vergleichen, wie sie
weiter kommen, um festzustellen, ob sie für das Thema taugen oder nicht.
Sich im Selbststudium eine Sprache bezubringen, die nur reletiv wenige
Befehle hat ist eine Sache -
von dem Thema etwas zu verstehen, das man mit dieser Sprache beackert,
eine andere.
Abtasten! - Nicht Rumfummeln. schrieb:> Man wird nicht zum Piloten, wenn man mit seinen PKW das Einparken im> Hangar übt. Man muss dazu schon ins (Flugzeug-)Cockpit steigen,> losstarten und schauen das man heile runterkommt.
Genau: Rein ins Flugzeug ohne Fluglehrer und ausprobieren, wie man
fliegt. So sind schon sehr viele sehr früh wieder runtergekommen.
Zugegeben, der Sinninhalt von Carl's Posts ist teilweise heftig
unterdurchschnittlich. Aber wenn's einem auf den Keks geht, braucht
man's ja nicht zu lesen.
Aber: die VHDL-Abteilung war (zumindest nach meinem Eindruck) im
Vergleich zum rauen Umgang in den anderen Abteilungen immer einer der
Ruhepole dieses Forums, wo meist einigermassen vernünftig miteinander
umgegangen wurde.
Warum trifft man sich neuerdings auch hier zur kollektiven Steinigung?
Und warum pöbeln immer die, von denen man hier noch nie Gehaltvolleres
gelesen hat?
Vancouver schrieb:
>Der TO probiert ein paar Dinge aus, die üblicherweise in einer Testbench>gemacht werden. Was ist daran falsch? Die ersten paar Zeilen VHDL im>Leben sehen bei den meisten Leuten so aus wie oben. Nicht wirklich>sinnvoll, aber gut genug, um den grundsätzlichen Simulatorflow mal>auszuprobieren.
Markus F. ( mfro )
>Zugegeben, der Sinninhalt von Carl's Posts ist teilweise heftig>unterdurchschnittlich. Aber wenn's einem auf den Keks geht, braucht>man's ja nicht zu lesen.
Die Beispiele oben habe ich im wesentlichen von anderen Webseiten
abgeschaut. Der Grund für den Thread war eigentlich, weil es hier immer
wieder Diskussion gibt, ob man "FPGAs" programmieren kann und VHDL eine
richtige Programmiersprache sei.
Das wollte ich etwas kreativ nutzen und mit VHDL ein Programm für den PC
schreiben ( ein Spiel oder irgend etwas anderes, vielleicht eine
Simulation die an eine GUI piped ). Aber es war relativ bald klar, dass
hier kaum jemand unterwegs ist, der sich eine andere Verwendung als die
Gewöhnliche vorstellen kann. Deshalb habe ich meine Posts hier in diese
Richtung eingestellt. ( Wobei ich euch, Vancouver und Markus als seltene
Vertreter dieses Forums die Überwindung des Tellerrands zutraue ).
Eine Erkenntnis aus den Experimenten mit VHDL als PC-Programmiersprache
habe ich gewonnen: Man kann die Grenzen eines Tools, wenn man es für
andere Dinge verwendet als vorgesehen, viel tiefer austesten.
Carl schrieb:> Der Grund für den Thread war eigentlich, weil es hier immer> wieder Diskussion gibt, ob man "FPGAs" programmieren kann und VHDL eine> richtige Programmiersprache sei.VHDList eine richtige Programmiersprache, aber sie ist nicht zum
Programmieren gedacht.
Carl schrieb:> Eine Erkenntnis aus den Experimenten mit VHDL als PC-Programmiersprache> habe ich gewonnen: Man kann die Grenzen eines Tools, wenn man es für> andere Dinge verwendet als vorgesehen, viel tiefer austesten.
Wenn Du mit dem Hammer die Schraube in die Wand haust, lernst Du was
über den Schraubenzieher? Möchte ich bezweifeln.
Wenn Du programmieren willst: lern' Ada. Das ist dafür gemacht und
gedacht. VHDL wird dir anschliessend wie Kindergeburtstag vorkommen und
Du kannst dich auf die Fälle konzentrieren, für die es gedacht ist.
Markus F. schrieb:> VHDL ist eine richtige Programmiersprache, aber sie ist nicht zum> Programmieren gedacht.
Wenm ich so etwas lese:
Wozu denn sonst, wenn nicht zum Programmieren?
Das ist doch Stuss!
Wieso denkt eigentlich jeder, er müsse Begriffe umdeuten und
infragestellen, obwohl die Themen längst geklärt sind.
F.P.G.A field programable gate arry
Der Baustein ist programmierbar, die Sprache ist eine
Programmiersprache, aber diese anzuwenden ist nicht "programmieren",
sondern "pippi faxing", oder was?
Das ist doch Blödsinn, der in SW-Entwicklerhirnen wächst, weil sie unter
programmieren nur ihren Kram verstehen.
Thomas U. schrieb:> F.P.G.A field programable gate arry
Wobei das "programmable" hier mit "Programmieren" im Sinne von "etwas
auf der Tastatur in einen Texteditor hineintippen und dann compilieren"
nichts zu tun hat.
Speziell dann nicht, wenn diese Eingabe mit einer V.H.D.L. Very high
speed integrated circuit Hardware Description Language gemacht wird.
Und das englische Wiki schreibt dann auch gleich in der ersten Zeile
nicht von "to be programmed" sondern "to be configured":
https://en.wikipedia.org/wiki/Field-programmable_gate_array
Fazi: herumreiten auf Worten wie "Programmieren" oder "Beschreiben"
bringt nichts. Allerdings helfen sie anderen, den Bereich
"Hardwareprogrammierung" von der allgemein bekannten
"Softwareprogrammierung" zu unterscheiden.
Thomas U. schrieb:> die Sprache ist eine Programmiersprache
Da wird aber zumindest im englischen Wikipedia im zugehörigen "nicht
allgemeinverständlichen" Artikel sehr differenziert gesehen:
https://en.wikipedia.org/wiki/Hardware_description_language
Thomas U. schrieb:> Markus F. schrieb:>> VHDL ist eine richtige Programmiersprache, aber sie ist nicht zum>> Programmieren gedacht.>> Wenm ich so etwas lese:>> Wozu denn sonst, wenn nicht zum Programmieren?>> Das ist doch Stuss!>> Wieso denkt eigentlich jeder, er müsse Begriffe umdeuten und> infragestellen, obwohl die Themen längst geklärt sind.>> F.P.G.A field programable gate arry>> Der Baustein ist programmierbar, die Sprache ist eine> Programmiersprache, aber diese anzuwenden ist nicht "programmieren",> sondern "pippi faxing", oder was?>> Das ist doch Blödsinn, der in SW-Entwicklerhirnen wächst, weil sie unter> programmieren nur ihren Kram verstehen.
Mir scheint, dass nur die Deutschen mit dem Begriff programmieren von
FPGAs ein Problem haben. Es wundert mich aber wiederum nicht, weil wir
ja schon immer glauben alles genauer und besser zu können als der Rest
der Welt.
Google: programming FPGA
Nur einer der vielen Treffer
https://www.embedded.com/design/prototyping-and-development/4006429/FPGA-programming-step-by-step
Helmut S. schrieb:> Mir scheint, dass nur die Deutschen mit dem Begriff programmieren von> FPGAs ein Problem haben.
Du hast meinen Link zum englischen Wikipedia nicht gelesen?
Helmut S. schrieb:> Mir scheint
... dein Beitrag trägt nichts zur Klärung bei. Oder heißt der letztlich
einfach nur "wenn alle dazu programmieren sagen, dann nennen wir es
eben programmieren ." So, wie ich heute morgen meinen Backofen darauf
programmiert habe, dass die Fritten während meiner Abwesenheit so weit
erwärmt werden, dass ich sie bei meiner Ankunft gleich verzehren kann.
Lothar M. schrieb:> Helmut S. schrieb:>> Mir scheint, dass nur die Deutschen mit dem Begriff programmieren von>> FPGAs ein Problem haben.> Du hast meinen Link zum englischen Wikipedia nicht gelesen?>> Helmut S. schrieb:>> Mir scheint> ... dein Beitrag trägt nichts zur Klärung bei. Oder heißt der letztlich> einfach nur "wenn alle dazu programmieren sagen, dann nennen wir es> eben programmieren ." So, wie ich heute morgen meinen Backofen darauf> programmiert habe, dass die Fritten während meiner Abwesenheit so weit> erwärmt werden, dass ich sie bei meiner Ankunft gleich verzehren kann.
Das Problem ist, dass wir in Deutschland den Begriff "programming" nur
in Zusammenhang mit "software programming" sehen. Das sehen die Kollegen
in den anderen Ländern einfach anders. Mir scheint das ist einfach ein
Übersetzungs/Definitions-Problem des Begriffs "programming" bei uns.
Thomas U. schrieb:> Das ist doch Blödsinn, der in SW-Entwicklerhirnen wächst,
in manchen Softwarehirnen. Die meisten, die ich kenne tun das nicht
und nennen alle Anweisungen, die eine Software oder eine Hardware
ausführt, eine Software. Und eine Software ist gleichbedeutend mit einem
Programm.
Helmut S. schrieb:> Das Problem ist, dass wir in Deutschland den Begriff "programming" nur> in Zusammenhang mit "software programming" sehen
nur manche Deutsche sehen das so :-)
Würden sich Hardwareentwickler mehr mit Softwareentwicklern unterhalten,
hätten sie diese Meinung nicht.
Helmut S. schrieb:> Mir scheint das ist einfach ein Übersetzungs/Definitions-Problem des> Begriffs "programming" bei uns.
Ich bin glücklich, dass wir für unterschiedliche Tätigkeiten
(Hardwareprogrammierung per Schaltungsbeschreibung mit Verilog, VHDL,
System-C,... sowie Softwareprogrammierung mit Programmiersprachen wie
Java, C#, Python,...) unterschiedliche Wörter haben.
Und verwende diese unterscheidenden Begriffe einfach entsprechend. Dann
kann ich mit VHDL einen Prozessor beschreiben, den ich anschließend in C
programmiere.
Und muss so zum Glück nicht einen zuvor in VHDL programmierten Prozessor
hinterher noch in C programmieren...
Ich hab' grad' meinen Radiowecker programmiert, der nach einem
Stromausfall seine Uhrzeit verloren hat. War eigentlich ganz einfach.
Macht mich das zum Programmierer?
Ist die Hardware jetzt anders als vorher? Jedenfalls verhält sie sich
anders, soweit ich beobachten konnte.
Wenn ich mein FPGA programmiere, ist die Hardware dann eine andere als
vorher?
Lothar M. schrieb:> Helmut S. schrieb:>> Mir scheint das ist einfach ein Übersetzungs/Definitions-Problem des>> Begriffs "programming" bei uns.> Ich bin glücklich, dass wir für unterschiedliche Tätigkeiten> (Hardwareprogrammierung per Schaltungsbeschreibung mit Verilog, VHDL,> System-C,... sowie Softwareprogrammierung mit Programmiersprachen wie> Java, C#, Python,...) unterschiedliche Wörter haben.>> Und verwende diese unterscheidenden Begriffe einfach entsprechend. Dann> kann ich mit VHDL einen Prozessor beschreiben, den ich anschließend in C> programmiere.> Und muss so zum Glück nicht einen zuvor in VHDL programmierten Prozessor> hinterher noch in C programmieren...
Da gibt es aber eine Menge Leute in Deutschland die mit dem Begriff
Hardwareprogrammierung die Ansteuerung von Hardware mittels
Software-Programm meinen. Dre Begriff Harwareprogrammierung ist also
schon anderweitig vorbelegt.
Helmut S. schrieb:> Dre Begriff Harwareprogrammierung ist also schon anderweitig vorbelegt.
Das ist der Grund, warum ich üblicherweise "Hardwarebeschreibung" sage.
> die mit dem Begriff Hardwareprogrammierung die Ansteuerung von Hardware> mittels Software-Programm meinen.
Dann sind sie schon mal so weit, zu wissen, dass ihr Programm keine rein
abstakte Aktion ist, die irgendwann mal fertig sollte, sondern dass
ihnen von dieser Hardware zeitliche und systematische Begrenzungen
auferlegt werden.
Markus F. schrieb
>Wenn Du mit dem Hammer die Schraube in die Wand haust, lernst Du was>über den Schraubenzieher? Möchte ich bezweifeln.>Wenn Du programmieren willst: lern' Ada. Das ist dafür gemacht und>gedacht. VHDL wird dir anschliessend wie Kindergeburtstag vorkommen und>Du kannst dich auf die Fälle konzentrieren, für die es gedacht ist.
Ist Ada so schön parallelisiert wie VHDL?
Falls nicht würde ein wesentlicher Lerneffekt weg fallen und der
Vergleich von Schraube und Hammer mehr als hinken.
Carl schrieb:> Ist Ada so schön parallelisiert wie VHDL?> Falls nicht würde ein wesentlicher Lerneffekt weg fallen und der> Vergleich von Schraube und Hammer mehr als hinken.
Hier ist kein Ada-Forum. Dennoch ist eine Ada Task einem VHDL-Prozess
sehr ähnlich.
Markus F. schrieb:> Warum trifft man sich neuerdings auch hier zur kollektiven Steinigung?> Und warum pöbeln immer die, von denen man hier noch nie Gehaltvolleres> gelesen hat?
Weil trotz erwiesener Schieflage die Protgonisten unangefochten
jeglicher Argumente noch immer behaupten, daß eben diese Schieflage
garnicht existiert, sondern der Rest der Welt schief liegt.
W.S.
W.S. schrieb:> Markus F. schrieb:>> Und warum pöbeln immer die, von denen man hier noch nie Gehaltvolleres>> gelesen hat?>> Weil trotz erwiesener Schieflage die Protgonisten unangefochten> jeglicher Argumente noch immer behaupten, daß eben diese Schieflage> garnicht existiert, sondern der Rest der Welt schief liegt.
Und das sagt genau einer dieser Protagonisten!
Was über die Gödelsche Schleife (die Aussage "alle Kreter lügen" gemacht
von einem Kreter) zeigt was die Diskussion im Kern ist -
Nullinformation.
Obwohl genau das eigentliche Interesse des TO zu sein scheint, nur
soviel vom System-VHDL anzuwenden, das er nichts "falsch" machen kann.
Die Implikation, das er damit auch nichts "Richtig" machen kann
ignoriert man gefließentlich.
Gödelscher Unvollständigkeitssatz at work!
Gödel, Escher, Bach (Gast)
>Obwohl genau das eigentliche Interesse des TO zu sein scheint, nur>soviel vom System-VHDL anzuwenden
Allerdings sollte man auch als Hobby-Geisteswissenschaftler die
Fähigkeit mitbringen, Texte genau zu lesen und Begrifflichkeiten
auseinanderhalten zu können ;-)
Carl schrieb:> Gödel, Escher, Bach (Gast)>>Obwohl genau das eigentliche Interesse des TO zu sein scheint, nur>>soviel vom System-VHDL anzuwenden>> Allerdings sollte man auch als Hobby-Geisteswissenschaftler die> Fähigkeit mitbringen, Texte genau zu lesen und Begrifflichkeiten> auseinanderhalten zu können ;-)
Die halt ich auseinander, offensichtlich verwechselst du hier was,
gemeint ist das formale System "VHDL" und nicht irgendeine
Verballhornung von VHDL und System-C.
Und die Auseinanderstzung mit Gödels Arbeiten zur Logik ist keine
Geisteswissenschaft, wie du suggerierst sondern Mathematik reinstes
Wassers, deren erweiterte Grundkenntnis jedem Programmierer (egal ob
Hard- oder Software) gut tut.
Konzentrier Dich bitte auf deine eigenen Fehler und stocherer nicht wie
ein Blinder in den Äußerungen anderer zu Zwecke der
Selbstbeweihräucherung eigenem Unwissens rum.
Duke Scarring schrieb:> Welche Programmiersprache brauche ich für einen programmable resistor?
Guter Beitrag! Dazu der kleine Einwurf von mir:
Für die Programmierung einer Hardware, benötigt es nicht zwingend eine
Programmiersprache. Der erste Computer benutzte auch keine, sondern nur
Schalterstellungen wie das von dir gezeigte Board.
Was heißt das nun?
1) Man kann Hardware programmieren durch Hardware(-Settings)
2) Man kann Hardware programmieren durch Software(-settings)
3) Man kann Software programmieren durch Hardware(-settings)
4) Man kann Software programmieren durch Software(-settings)
Fall 1: Der FPGA wird durch Belegen der M-Pins eingestellt, wie er laden
soll
Fall 2: Der FPGA wird durch den bitstream beladen. Die Luts werden
eingestellt.
Fall 3) Die Funktion der virtuellen Schaltung im FPGA wird durch
Konfig-Pins (GPIOs) ausgewählt
Fall 4) Die Synthese-Software wird durch das VHDL und UCF kommandiert,
wie sie zu bauen hat.
Nachdem gemäß Fall 4 die Software das VHDL Programm abgearbeitet hat,
kommt eine Software heraus, die gemäß Fall 1 geladen wird, was direkt
den Fall 2 einleitet und den FPGA bootet, der sogleich gemäß Fall 3 für
das passende PCB agiert.
Fazit:
FPGA-Programmierung deckt also alles ab, was bisher genannt wurde.
Und weil es so schön ist:
[Deutschunterricht.ModeOn <= True]
Ich nenne es FPGA-Programmierung, weil der FPGA am Ende per stream
programmiert wird und zwischendurch zudem die Synth-Software
programmiert wird. Aber auch ohne den heute üblichen Zwischenschritt
der Nutzung einer Synthesesoftware wurden früher programmierbare
Bausteine immer schon programmiert und zwar zwischenzeitlich durch
Gleichungen und ganz früher durch eben solche (elektrische) Schalter in
einer Matrix. Das ist vollkommen equivalent.
Der Begriff FPGA-Entwicklung hingegen ist streng genommen unrichtig,
weil FPGAs von Xilinx et. al. entwickelt werden. Wir benutzen sie nur.
Wenn schon "Entwicklung", dann reden wir hier bei Hardware von
Elektronikentwicklung, also der Entwicklung VON Elektronik MIT FPGAs.
Ansonsten spreche ich von VHDL-Entwicklung, weil dieses eben erstellt
wird.
Der Begriff VHDL-Programmierung ist streng genommen unrichtig, da VHDL
nichts ist, das programmiert werden kann, sondern VHDL eine Sprache ist,
MIT DER entwickelt wird und mit der etwas programmiert werden kann. Wir
sprechen auch nicht von Mehl-Entwicklung, sondern Kuchen-Entwicklung,
weil Mehl das Mittel ist, um zum Objekt Kuchen zu gelangen.
Wenn schon "Programmierung", dann reden wir hier bei Software von
Softwareprogrammierung, also der Programmierung VON Synthesesoftware MIT
(VHDL, TCL, UCF).
Ich schreibe das mit den UCF und TCL absichtlich dazu, falls jemand
kommt und behauptet, er würde dadurch und auch durch generics und
Parameter das VHDL Programmieren = Konfigurieren (so einen Schlaubären
hatte ich schon mal in einem Seminar). Die logische Konsequenz ist aber,
dass generics und Parameter als Teil von VHDL auch das Synthesetool
programmieren und nicht etwa die Programmiersprache. Sprachen lassen
sich nicht komandieren, nur Anwender und Interpreter von Sprachen.
Nun wissen wir aber alle, dass sprachlich sehr wohl vom
"C-Programmierer" und "VHDL-Programmierer" gesprochen wird. Warum das im
Englischen (siehe oben) weniger ein Problem ist, wird klar, wenn man
weiß, dass "programming" (auch) eine Verlaufsform ist und damit
eigentlich "programmierend" heißt, sich also auf die Person bezieht.
Damit stimmt es im englischen in jeglicher Verwendung. Richtig wäre es
nun, im Deutschen nach "VHDL-Programmierenden" zu suchen. Das wäre
logisch stimmig(er) und erledigte auch gleich das gender-Thema.
[Deutschunterricht.ModeOn <= False]
Jürgen S. schrieb:> Fall 2: Der FPGA wird durch den bitstream beladen. Die Luts werden> eingestellt.
Zumindest dieser Schritt, der ja das eigentliche P im FPGA darstellt,
wird aber von allen FPGA-Herstellern durchgängig als "konfigurieren"
bezeichnet.
> FPGA-Programmierung deckt also alles ab
Letztlich wird dann also mit einem VHDL-Programm die gewünschte Hardware
so beschrieben, dass der damit programmierte Synthesizer seinerseits
ein Programm auswirft, mit dem ich in über diverse Möglichkeiten mein
FPGA konfigurieren kann.
> FPGA-Programmierung deckt also alles ab, was bisher genannt wurde.
Dieser Begriff ist dann aber eben auch die zusammengekochte Suppe, die
vielen im Hals stecken bleibt: unser Techniker vor Ort programmiert das
FPGA auf der Steuerung demnach ebenso wie derjenige, der zuvor via VHDL
eine neue Funktion reinbaut. Und ich habe es auch programmiert, indem
ich die Config-Pins auf der Leiterplatte so angeschlossen habe, dass die
beiden erfolgreich zum Ziel kommen.
Mein Fazit: warum mit Gewalt 1 einzigen Begriff für unterschiedliche
Tätigkeiten suchen (oder verwenden), wo wir doch schöne griffige
Bezeichungen für fast jeden Teilschritt haben?
Carl schrieb:> Bleib mal bei einem Nickname
Passt doch: pro Thread muss der gleiche Name verwendet werden.
Siehe die Nutzungsbedingungen
Ich wollte noch etwas hinzufügen, konnte aber nicht mehr, wegen des
Beitrags über mir. Daher:
Helmut S. schrieb:> Mir scheint, dass nur die Deutschen mit dem Begriff programmieren von> FPGAs ein Problem haben.
Nicht wirklich mit dem Begriff, sondern der Kombination der Begriffe.
Siehe meinen Beitrag eins darüber. FPGA-Programmierung <->
VHDL-Programmierung. Das ist nicht das Gleiche. Weder formell noch
inhaltlich.
Die Englische Wikipedia schreibt mithin auch richtigerweise nur von der
HW-Beschreibung durch VHDL. Das "FPGA-Programmieren" wird nicht negiert,
sondern weiter unten sogar impliziert. Dass dort wieder mal von
Konfigurieren gesprochen wird, ist auch nur ein Kompromiss mit denen,
die sich gegen das Programmieren auflehnen, weil sie zu kurz denken. Wie
ich schon schrieb, haben wir da Diskussionen hinter uns.
Die Engländer sind übrigens hinterher. Der Artikel präzisiert nicht so,
wie der deutsche FPGA-Artikel und steht zu Recht derzeit unter
Bearbeitungsanforderung. Den kann man also derzeit eh nicht beiziehen.
Die Engländer haben aber mit dem Brexit den Kopf voll. Lassen wir ihnen
etwas Zeit.
Nochmal:
Der FPGA wird durchaus programmiert, aber eben mit dem bitstream und
nicht mit dem VHDL. Dieses programmiert = kommandiert eine
Synthesesoftware. Das wird einfach von zu vielen durcheinander geworfen
und dann haben sie einen scheinbaren Widerspruch. Und sie setzen
VHDL-Programmieren mit FPGA-Programmieren gleich und haben den 2.
scheinbaren Widerspruch.
Lothar M. schrieb:> Wobei das "programmable" hier mit "Programmieren" im Sinne von "etwas> auf der Tastatur in einen Texteditor hineintippen und dann compilieren"> nichts zu tun hat.
Naja, indirekt eben schon :-) Das ist aber nicht entscheidend, denn:
> Speziell dann nicht, wenn diese Eingabe mit einer V.H.D.L. Very high> speed integrated circuit Hardware Description Language gemacht wird.
Jaha, aber beschrieben wird nicht der FPGA, sondern eine virtuelle
Schaltung oder die Funktion einer solchen, die mit dem FPGA erstmal
garnichts zu tun hat, weil sie überwiegend nicht auf die Techno
Rücksicht nimmt. Soweit es aber dann um den FPGA geht, wird wiederum
keine Schaltung mehr beschrieben, sondern Anweisungen rausgeben. (Pin,
constraints) Das ist ein Programm. Aber eben eins für die SW.
Das ist der Knackpunkt! Damit existiert der Widerspruch, den hier Viele
sehen, schlicht nicht. Er existiert selbst dann nicht, wenn man
"beschreiben" inhaltlich nicht als "programmieren" gelten lassen möchte,
obwohl es formell dieselben Worte sind.
Entwickelt und -> Beschrieben" wird eine virtuelle Schaltung und / oder
eine Funktion. Damit ist VH*D*L als Wortsinn richtig.
Programmiert werden der FPGA und das Tool. Damit ist VHDL eine
Programmiersprache.
q.e.d.
Lothar M. schrieb:> Zumindest dieser Schritt, der ja das eigentliche P im FPGA darstellt,> wird aber von allen FPGA-Herstellern durchgängig als "konfigurieren"> bezeichnet.
... was kein Widerspruch, sondern eine Präzisierung darstellt, genau wie
im Fall, wenn Manche bei den Mikrocontrollern nicht von Software
sprechen wollen, sondern einer firmware. Einige lehnen den Begriff
Software sogar ab.
Die Antwort der Logiker darauf lautet, dass dann Dobermänner keine Tiere
mehr sein dürfen, da sie ja Hunde sind.
Nein, selbverständlich ist das korrekt so:
Programmierung des FPGAs .............. : Konfiguration
Programmierung der Synthesesoftware ... : VHDL-Programm
Man könnte jetzt frech behaupten, dass das Syntheseprogramm teilweise
durch ein TCL-Programm konfiguriert wird und die Frage erheben, ob das
nicht ein Widerspruch sein könnte.
Meine Antwort: Nee, isses nicht. Da Konfigurieren eine Untermenge von
Programmieren ist.
Genau so steht es sinngemäß auch im FPGA-Artikel in der deutschen Wiki.
Jürgen S. schrieb:> Lothar M. schrieb:>> Zumindest dieser Schritt, der ja das eigentliche P im FPGA darstellt,>> wird aber von allen FPGA-Herstellern durchgängig als "konfigurieren">> bezeichnet.> ... was kein Widerspruch, sondern eine Präzisierung darstellt
Warum sollte ich dann nicht den Vorgang, "mit einem VHDL-Progamm das
Verhalten und den Aufbau eines Systems zu beschreiben" ebenso als eine
Untermenge und Präzisierung des Oberbegriffs Programmieren sehen können?
Und warum nicht ein VHDL-Programm in letzter Konsequenz eine "Hardware-
und Verhaltensbeschreibung" (analog zur Untermenge "Konfigurieren des
FPGAs") nennen?
Jürgen S. schrieb:> Damit ist VHDL eine Programmiersprache.Jürgen S. schrieb:> Da Konfigurieren eine Untermenge von Programmieren ist.
Konsequenterweise müssten wir jetzt aber die beiden Begriffe korrigieren
in FCGA und VHPL. Zum Glück hört man die Unterschiede kaum... ;-)
Lothar M. schrieb:> Zumindest dieser Schritt, der ja das eigentliche P im FPGA darstellt,> wird aber von allen FPGA-Herstellern durchgängig als "konfigurieren"> bezeichnet.
Zumindest bei Altera/Intel heißt das Ding, das das macht "Programmer"
und das, was er macht "programming".
Lothar M. schrieb:> Warum sollte ich dann nicht den Vorgang, "mit einem VHDL-Progamm das> Verhalten und den Aufbau eines Systems zu beschreiben" ebenso als eine> Untermenge und Präzisierung des Oberbegriffs Programmieren sehen können?
Hatte ich doch gar nicht vereint. Im Gegenteil:
Jürgen S. schrieb:> Programmierung der Synthesesoftware ... : VHDL-Programm
Carl schrieb:> entity hello is> end entity;>> architecture sim of hello is> begin>> process is> begin>> report "Hello World!";> wait;>> end process;>> end architecture;
Ist das etwa alles so auf einem FPGA synthetisierbar?
Der FPGA wird so wohl kaum auf einem Display "Hello World" anzeigen.
Gästchen schrieb:
>Ist das etwa alles so auf einem FPGA synthetisierbar?>Der FPGA wird so wohl kaum auf einem Display "Hello World" anzeigen.
Eher nicht. Die Idee dieses Threads hatte ich oben beschrieben, ist aber
leider in Richtung "kann man ein FPGA programmieren" abgetrifted.
Ich schrieb:
>Das wollte ich etwas kreativ nutzen und mit VHDL ein Programm für den PC>schreiben ( ein Spiel oder irgend etwas anderes, vielleicht eine>Simulation die an eine GUI piped ).>Eine Erkenntnis aus den Experimenten mit VHDL als PC-Programmiersprache>habe ich gewonnen: Man kann die Grenzen eines Tools, wenn man es für>andere Dinge verwendet als vorgesehen, viel tiefer austesten.
Carl schrieb:> Eher nicht. Die Idee dieses Threads hatte ich oben beschrieben, ist aber> leider in Richtung "kann man ein FPGA programmieren" abgetrifted.
Wenn du mal genau nachdenkst und verfolgst, was gesagt wurde, verstehst
du auch wie das zusammenhängt.
Du verwendest nämlich Programmieranweisungen und willst sie auf einem
FPGA anweisen, der sie gar nicht versteht, weil er sie nicht verstehen
kann. Damit taucht sofort die Frage auf, wer denn bitte diese
Anweisungen verstehen soll.
Das muss die Designsoftware tun. Da gabelt sich die Frage in erzeugbar
oder nicht erzeugbar.
Deshalb hatte ich ja nachgefragt ob das synthetisierbar ist. Wenn man
jetzt die report-Funktion durch eine Funktion ersetzt, die auf einem
FPGA synthetisierbar ist und zum Beispiel ein I2C LCD Modul ansteuert,
dann wäre der Lernerfolg sicher größer. So ist report ja nichts anderes
als eine Debug-Ausgabe im Simulator und zeigt nicht wirklich was mit
FPGAs in VHDL möglich ist.
Helmut S. schrieb:> Hardwareprogrammierung die Ansteuerung von Hardware
Ansteuern ist für mich: Permanent Daten hinschieben.
Programmieren: Einmalig Konfiguration hinschieben
> Software-Programm
Ein weisser Schimmel
>Carl schrieb:>> Eher nicht. Die Idee dieses Threads hatte ich oben beschrieben, ist aber>> leider in Richtung "kann man ein FPGA programmieren" abgetrifted.>Wenn du mal genau nachdenkst und verfolgst, was gesagt wurde, verstehst>du auch wie das zusammenhängt.
Ich weiß wie alles zusammenhängt, aber scheinbar haben einige Leute hier
den Sinn des Threads nicht verstanden:
>Du verwendest nämlich Programmieranweisungen und willst sie auf einem>FPGA anweisen, der sie gar nicht versteht, weil er sie nicht verstehen>kann. Damit taucht sofort die Frage auf, wer denn bitte diese>Anweisungen verstehen soll.
Ich wollte sie genau nicht "auf einem FPGA anweisen".
Der Intention dieses Threads war herauszufinden, ob man mit VHDL ein
Programm schreiben kann, das auf dem PC läuft, also keine
Hardwarebeschreibung für ein FPGA.
Das man so etwas normalerweise nicht macht, ist eine ganz andere Sache,
aber die Grenzen eines Systems testet man genau damit am besten aus, es
an seinen Grenzbereichen zu benutzen.
Da immer behauptet wird, VHDL sei eine vollständige Programmiersprache,
muss es auch einen Möglichkeit geben, dies in Form eines lauffähigen
Programms auf dem PC zu zeigen.
Carl schrieb:> Das man so etwas normalerweise nicht macht, ist eine ganz andere Sache,> aber die Grenzen eines Systems testet man genau damit am besten aus, es> an seinen Grenzbereichen zu benutzen.> Da immer behauptet wird, VHDL sei eine vollständige Programmiersprache,> muss es auch einen Möglichkeit geben, dies in Form eines lauffähigen> Programms auf dem PC zu zeigen.
Mumpitz.
Ein Falschaussage wird nicht dadurch richtig, das man die Falschheit
auch in ominösen 'Grenzbereichen' nachweist.
Beispiel:
Klingonisch ist auch eine vollständige Sprache. Trotzdem ist es Mumpitz,
sie im irdischen Alltag zu verwenden. Klar, kann man Mumpitz betrieben
um ein paar Lacher zu erzielen, technisch sinnvoll ist das eher nicht.
https://www.youtube.com/watch?v=8DgR_I8Yggk
>Ein Falschaussage wird nicht dadurch richtig, das man die Falschheit>auch in ominösen 'Grenzbereichen' nachweist.
Welche Falschaussage hier im Thread? Werde mal konkret, sonst bleibt es
nur Geschwätz.
Carl schrieb:> Der Intention dieses Threads war herauszufinden, ob man mit VHDL ein> Programm schreiben kann, das auf dem PC läuft, also keine> Hardwarebeschreibung für ein FPGA.
Natürlich kann man das.
Eben weilVHDL eine vollständige Programmiersprache ist. Aber warum
sollte man das tun? VHDL hat seine "Programmiersprachenkomponenten"
nahezu 1:1 von Ada geerbt (und all das nicht, was man zur Beschreibung
von digitalen Designs nicht braucht bzw. all das, was man dafür braucht,
wurde dazuerfunden).
Ada ist dazu gedacht, komplexe Computerprogramme zu programmieren. Wenn
Du also Programmieren willst, nimm' Ada. Natürlich kann man die Schraube
mit dem Hammer in die Wand schlagen, aber spätestens wenn man versucht,
den Nagel mit dem Schraubenzieher reinzuschrauben, wird's komisch.
Wenn Du trotzdem unbedingt mit VHDL ein Textverarbeitungsprogramm
schreiben willst, mach' doch . Du wirst für den ein oder anderen
Systemcall (z.B. mit VPI) tricksen müssen und das Ergebnis wird
wahrscheinlich nicht sonderlich performant sein, aber es gibt keinen
Grund, warum das nicht funktionieren sollte.
Allerdings auch keinen, warum man das überhaupt machen sollte (s.o.:
wenn man Programmieren will, ist Ada die eindeutig bessere Wahl).
Carl schrieb:>>Ein Falschaussage wird nicht dadurch richtig, das man die Falschheit>>auch in ominösen 'Grenzbereichen' nachweist.>> Welche Falschaussage hier im Thread? Werde mal konkret, sonst bleibt es> nur Geschwätz.
Die Zitierte.
von Markus F. (mfro)
>Ada ist dazu gedacht, komplexe Computerprogramme zu programmieren. Wenn>Du also Programmieren willst, nimm' Ada. Natürlich kann man die Schraube>mit dem Hammer in die Wand schlagen, aber spätestens wenn man versucht,>den Nagel mit dem Schraubenzieher reinzuschrauben, wird's komisch.
In diesem Thread geht es nicht darum herauszufinden, welche
Programmiersprache für den PC die beste ist, sondern in einem edukativen
Ansatz die Unterschiede eines VHDL Programms auf dem PC und der
Konfiguration einer Hardwarschaltung im FPGA mittels VHDL
herauszuarbeiten.
Als Experte für VHDL sollte folgende Aufgabe für dich eine leichte sein:
- Schreibe ein VHDL Programm, welches zwei Zahlen addiert. Das Programm
soll den Nutzer auffordern, die Zahl 'a' einzutippen und dann die Zahl
'b' und dann das Ergebnis auf dem Bildschirm darstellen. Nach der
Berechnung soll sich das Programm wiederholen.
Carl schrieb:> In diesem Thread geht es nicht darum herauszufinden, welche> Programmiersprache für den PC die beste ist, sondern in einem edukativen> Ansatz die Unterschiede eines VHDL Programms auf dem PC und der> Konfiguration einer Hardwarschaltung im FPGA mittels VHDL> herauszuarbeiten.
Das ist kein sinnvoller Ansatz um FPGA-Entwicklung zu lernen oder zu
lehren.
Carl schrieb:> - Schreibe ein VHDL Programm, welches zwei Zahlen addiert. Das Programm> soll den Nutzer auffordern, die Zahl 'a' einzutippen und dann die Zahl> 'b' und dann das Ergebnis auf dem Bildschirm darstellen. Nach der> Berechnung soll sich das Programm wiederholen.
Das könnte ich wohl tatsächlich, aber warum sollte ich das tun?
Ich könnte auch mit dem Traktor morgens ins Büro fahren (der ist zu dem
Zweck auch nur beschränkt geeignet), mach' ich aber nicht.
>Das könnte ich wohl tatsächlich, aber warum sollte ich das tun?>Ich könnte auch mit dem Traktor morgens ins Büro fahren (der ist zu dem>Zweck auch nur beschränkt geeignet), mach' ich aber nicht.
Dass du es tun könntest, ist zunächst einmal eine Behauptung.
Aber nehmen wir mal an, dass es geht.
In der Überschrift dieses Threads steht das Wort "Grundlagen", deshalb
ist dieser Thread für Anfänger gedacht und soll dazu dienen, die
Feinheiten von VHDL herauszuarbeiten.
VHDL wurde als Simulationsprache für den PC entworfen und die
Eigenschaft, dass es Sprachkonstrukte gibt, die nur für den PC gedacht
sind und andere Sprachkunstrukte, die nur für die Synthese auf dem FPGA
gedacht sind, kenne ich aus keiner anderen Programmiersprache und ist
für Anfänger ziemlich schwer zu verstehen, wie sich immer wieder bei
verschiedenen Posts zeigt:
https://embdev.net/topic/491584>Ich könnte auch mit dem Traktor morgens ins Büro fahren (der ist zu dem>Zweck auch nur beschränkt geeignet), mach' ich aber nicht.
Du hast völlig recht, mit dem Traktor ins Büro zu fahren, macht für die
meisten Menschen vermutlich keinen Sinn, es sei denn das Büro liegt auf
einem Bauernhof und der Traktor steht morgens gerade vor dem etwas
weiter entfernten Wohnhaus.
Die Erstellung der VHDL Programms zur Addition zweier Zahlen auf dem PC
hat rein didaktische Gründe, weil es Anfängern nicht bewusst ist, dass
das möglich ist, wie hier "Gästchen" im Post weiter oben zeigt:
Beitrag "Re: VHDL programmieren Grundlagen"
Ich könnte mir gut vorstellen, dass der ein- oder andere professorale
stille Mitleser dieses Threads das Beispiel zukünftig in seine
Vorlesungen einbaut, um die Zweiteilung und Funktionsweise von VHDL
besser verständlich zu machen.
Carl schrieb:> Liegt es im Rahmen der Möglichkeiten deines Egos einfach mal die Klappe> zu halten, wenn du nichts zu einem Thread zu sagen hast.
Liegt es im Rahmen der Möglichkeiten deines Egos einfach mal die Klappe
zu halten und Google zu benutzen?
Carl schrieb:> In der Überschrift dieses Threads steht das Wort "Grundlagen", deshalb> ist dieser Thread für Anfänger gedacht und soll dazu dienen, die> Feinheiten von VHDL herauszuarbeiten.
Nein, du postulierst hier irgendwelche Feinheiten und Eigenschaften von
VHDL aus deinem begrenzten Verständniss von Programmiersprachen wie C
heraus, die aber wenig mit den tatsächlichen Feinheiten und
Eigenschaften von Hardwarebeschreibungssprachen wie VHDL zu tun haben.
> VHDL wurde als Simulationsprache für den PC entworfen
Nein und nein . VHDL wurde nicht für den PC entworfen sondern für
workstations/Grossrechner (wenn nicht eigentlich für 'schreibmaschine')
und auch nicht als Simulationssprache sondern als
Dokumentations(Spezifikations)-Sprache.
Die Entstehungsgeschichte von VHDL ist eng mit dem Entwurfsprozess von
digitaler Logik zu beginn der Achtziger/Ende Siebziger verbunden. Das
DoD (Verteidigungsministerium) plant die Beschaffung von Elektronik
beispielsweise für Kampfflieger-Bordrechner und stellt eine Liste von
Requirements auf. Daraus sollen dann verschiedenen Zulieferer
Spezifikationen erstellen und das DoD lässt prüfen ob diese Spec auf die
Requiremets passt. Diese Prüfung aus "passt?" wiederholt sich im Zuge
der Entwicklung mehrmals. Um diese Vergleichausfuhren zu können ist eine
einheitliche "Sprache" in den
"Dokumenten"('Konstruktionsunterlagen'))nötig, schon weil dem DoD die
Angebote für die Realisierung in ca. 100 verschiedenen Sprachen
vorgelegt wurden (darunter Gatter-schaltpläne, etc). Und im Laufe
derJahrzehnte ist dieser vergleich der Funktion des Produktes mit den
Anforderungen auch mit verschiedensten Implementierungen auszuführen,
weil die elektronik die anfänglich mit diskreten Transistoren aufgebaut
wurde nun als TTL-Gattern Anhäufung auf Einsteckkarten realisiert wurde
oder gar als ASIC vorliegt, Stichwort "hardware life cycle crisis" .
> und die> Eigenschaft, dass es Sprachkonstrukte gibt, die nur für den PC gedacht> sind und andere Sprachkunstrukte, die nur für die Synthese auf dem FPGA> gedacht sind, kenne ich aus keiner anderen Programmiersprache
Es ist eben keine Programmiersprache. Und es finden sich auch keine
"konstrukte die nur für den PC gedacht sind".
Vielleicht hilft es Dir ja, Dich mit dem Konzept von
Modellierungssprachen die auch als EntwurfsSchritt zur
(PC)-Programmierung herangezogen werden zu befassen, wie UML.
https://de.wikipedia.org/wiki/Unified_Modeling_Language
Hilfreich ist auch das Studium von Klassikern zur Hardwareentwicklung
wie der DO-254
> Ich könnte mir gut vorstellen, dass der ein- oder andere professorale> stille Mitleser dieses Threads das Beispiel zukünftig in seine> Vorlesungen einbaut, um die Zweiteilung und Funktionsweise von VHDL> besser verständlich zu machen.
Ich zähle mich zu den professionellen Mitlesern (seit 28 Jahren Arbeit
mit VHDL) und ich sage dir, man kann hier bei den vermurksten
didaktischen Ansatz nicht still bleiben.
Carl schrieb:> sondern in einem edukativen Ansatz die Unterschiede eines VHDL Programms> auf dem PC und der Konfiguration einer Hardwarschaltung im FPGA mittels> VHDL herauszuarbeiten.
An dieser Stelle fliegen erstaunlich oft ausländische Freunde auf die
Nase, die wie im https://embdev.net/topic/491584 Zeiten mit wait oder
wie in diversen anderen Threads Dateizugriffe auf Tabellen auf FPGA
synthetisieren wollen.
Denen fehlt da ganz offenbar das grundlegende Verständnis, wofür der PC
da ist und wofür das FPGA, und was letztlich worauf läuft.
C. A. Rotwang schrieb:> Carl schrieb:>> kenne ich aus keiner anderen Programmiersprache> Es ist eben keine Programmiersprache.
Und mag mit VHDL programmieren wer will, ich beschreibe meine Hardware
bzw. mein System damit, für das bzw. auf dem danach die Softies liebend
gerne ihre Programme programmieren können.
von Jürgen S. (engineer) Benutzerseite
>Gästchen schrieb:>> Ist das etwa alles so auf einem FPGA synthetisierbar?>Da wäre ich skeptisch :-)
Zu Recht. Aber das zu klären, dazu ist dieser Thread ja gemacht.
C. A. Rotwang (Gast)
>Es ist eben keine Programmiersprache. Und es finden sich auch keine>"konstrukte die nur für den PC gedacht sind".
Das müsstest du dich jetzt direkt mit Markus auseinandersetzen, der da
anderer Ansicht ist:
Markus F. (mfro)
> Carl schrieb:>> Der Intention dieses Threads war herauszufinden, ob man mit VHDL ein>> Programm schreiben kann, das auf dem PC läuft, also keine>> Hardwarebeschreibung für ein FPGA.>Natürlich kann man das.>Eben weil VHDL eine vollständige Programmiersprache ist.
Die Wikipedia vereinigt diese beiden Sichtweisen sprachlich elegant:
"VHDL ist als Beschreibungssprache keine Programmiersprache; da sie
jedoch Objekte beschreibt, deren Aufgabe meist die
Informationsverarbeitung ist, kann über deren Simulation dennoch
Datenverarbeitung stattfinden, indem für diesen Simulationslauf
mitgegebene „Eingangsdaten“ von der (simulierten) Hardware zu
„Ergebnisdaten“ verarbeitet werden. Durch diesen Umweg kann VHDL (in
Kombination mit einem Simulator) wie eine Programmiersprache
Turing-vollständige Datenverarbeitung beschreiben."
https://de.wikipedia.org/wiki/Very_High_Speed_Integrated_Circuit_Hardware_Description_Language
was eher Lothar's Sprachterminus entspricht.
Zu diesem Thema ist bereits (mehrfach) alles gesagt, was es zu sagen
gibt.
Das tote Pferd wird auch mit aus dem Zusammenhang gerissenen Zitaten
nicht wieder lebendig.
>Das tote Pferd wird auch mit aus dem Zusammenhang gerissenen Zitaten>nicht wieder lebendig.>Markus F. (mfro)>> Carl schrieb:>>> Der Intention dieses Threads war herauszufinden, ob man mit VHDL ein>>> Programm schreiben kann, das auf dem PC läuft, also keine>>> Hardwarebeschreibung für ein FPGA.>>Natürlich kann man das.>>Eben weil VHDL eine vollständige Programmiersprache ist.
Aus dem Zusammenhang gerissen? Das hattest du hier geschrieben:
Beitrag "Re: VHDL programmieren Grundlagen"
Carl schrieb:> Aus dem Zusammenhang gerissen? Das hattest du hier geschrieben:> Beitrag "Re: VHDL programmieren Grundlagen"
... und was habe ich unmittelbar danach geschrieben? Das nennt man "aus
dem Zusammenhang reissen"
Aber weil mir's gerade langweilig war, bin ich mit dem Traktor ins Büro
gefahren.
Carl schrieb:> - Schreibe ein VHDL Programm, welches zwei Zahlen addiert. Das Programm> soll den Nutzer auffordern, die Zahl 'a' einzutippen und dann die Zahl> 'b' und dann das Ergebnis auf dem Bildschirm darstellen. Nach der> Berechnung soll sich das Programm wiederholen.
Du sollst dein Programm haben:
von Markus F. (mfro)
05.04.2020 14:33
>Du sollst dein Programm haben:
Dafür möchte ich mich hiermit herzlichst bedanken.
Jetzt kann der Thread seine Ruhe finden :-)
Gustl B. schrieb:> Fehlt eigentlich nur noch der HTML5 Parser und Renderer in VHDL und> schon können wir den Webbrowser durch den VHDL Simulator ersetzen.
Das würde (ausreichend Energie bzw. Langeweile vorausgesetzt)
wahrscheinlich sogar ohne native Code funktionieren (zumindest unter
Linux/X11, wo die Grafikengine ein File Descriptor ist, in den der
Simulator direkt reinschreiben kann).
Aus meiner Sicht ist VHDL so ein Zwitter, auf dem PC mit Simulator kann
man damit programmieren, aber wenn es durch die Synthese soll, dann kann
man damit nur einen Aufbau beschreiben.
Beides ist sinnvoll.