Hallo Besucher, der Thread wurde 14k mal aufgerufen und enthält 86 Antworten

letzter Beitrag von c64user am

FPGA Update: Hard- oder Software?

  • Wenn sich nun die Logik auf das hier ändert, dann ist das mit Sicherheit keine Softwareänderung!?!

    Für mich ist alles was (menschlich, ...) erdacht irgendwelche Zusammenhänge/Strukturen/ also letztendlich Abläufe od. eben Outcome ändert als Software zu bezeichen. Also würde ich das bejahen. ;)
    Denn 'was anderes macht und ist 'herkömmliche Software' im Kern oder vom "Sinn" her ja auch nicht.

  • Noch so ein Gedankenspiel: Was ist mit OTP-FPGAs, die man genau einmal mit einer Config beschreiben kann? Actel hatte da zB welche, die gerne auf PS2-Modchips verbaut wurden. Und wie sieht es dann mit der PLA im C64 aus?

  • Wenn es Software wäre, dann wäre jeder FPGA-Entwickler ein SW-Entwickler.
    Und mit VHDL wird nun eben Hardware beschrieben. Vielleicht ist die Datei selbst noch SW. Wenn das Ding im FPGA arbeitet, ist es Hardware.


    Aber um zurück zur eigentlichen Frage zu kommen: "Ultimate 64 Update - FPGA: Hard oder Software?".


    Wenn Gideon seine VHDL Files anpasst, dann wird die Beschreibung der Hardware geändert.
    Also ist es ein Hardware Update.


    Wenn Gideon die Menüführung vom Ultimate 64 ändert, das ist das eine Softwareänderung.
    Also ist ein Software Update.

  • Wenn es Software wäre, dann wäre jeder FPGA-Entwickler ein SW-Entwickler.

    Ist er im Kern auch, selbst das.. ;). Ich würde sogar soweit gehen die alte CIA vs neue CIA als gewissermaßen softwaremäßigen Unterschied zu benennen. Wegen dem einen Takt wenigger, den die neue CIA an einer Ecke braucht.
    Zumindest habe ich gerade nach meinem Post solche Gedanken mir 'mal gemacht gehabt u. dieses überspitzte Bsp. zu meinem geäußertem Verständnis dazu überlegt.

    Vielleicht ist die Datei selbst noch SW. Wenn das Ding im FPGA arbeitet, ist es Hardware.

    Das mag für solche, die die Angelegeheit hier so denken und verstehen wie ich, aber ein kompletter Widerspruch in sich sein. Das leuchtet wenig bis gar nicht ein (der zweite Abschnitt der Zeile).
    Ich kann mir gefühlt zwar denken wie du das meinst, aber es ist doch irgendwo nicht so ganz logisch, würde ich sagen, dass so voneinander abzukoppeln.
    (Das ist ja so als würde man der individuellen Tomate etc. ihre Gene absprechen, obwohl diese jene ja erst zu dem gemacht haben was sie gerade ist und wie sie gerade 'funktioniert'. Andere Einflüsse, weil lebende Frucht, jetzt 'mal außen vor.)

  • Vielleicht hilft es, wenn man den Begriff Software nicht so universell einsetzt?


    Ich finde nämlich, dass SOFTWARE != INFORMATION ist.
    Jede Software ist zwar eine Information, aber nicht jede Information ist Software.
    Software ist eine spezielle Form. Und Hardware basiert auch auf informationen.
    Und die Information der Schaltung wird in das FPGA gebracht.


    Die Gene der Tomate enthalten die Information, wie sich die Pflanzenzellen vermehren sollen.
    Es läuft aber keine Software, das wäre doch langweilig.

  • @markusC64 Ich beziehe mich auf die Konfigurationsdatei, nicht auf den Zustand eines FPGAs. Den Zustand vom SDRAM im PC nennen wir ja in der Regel auch nicht Software, sondern die Vorlage auf der Festplatte.


    Auf dem Datenbus nur kurz, aber im Speicher bleibt die Information (das Bit) liegen und im Flash oder auf der Festplatte sogar dauerhaft. Den Zustand eines Transistors oder die Flanke auf der Festplattenspur kann man auch messen. Von dieser "Konfiguration" hängt es ab, was der PC tut. Dass das was anderes ist und der PC seine Konfiguration beim Abschalten wieder auf den Inhalt der Festplatte reduziert, ist schon klar; das sollte ja nur als eine Analogie zur Erklärung dienen, dass eine Ansammlung von Konfigurationsinformationen allgemein als Software bezeichnet werden könnte. Auch das BIOS ist eine dauerhafte Konfiguration für die Hardware. Es funktioniert elektronisch gesehen natürlich anders als eine direkt programmierte Schaltung, aber das Grundprinzip, dass gespeicherte Informationen auf die Hardware übertragen werden, um dieser ein gewünschtes Verhalten zu verleihen, ist beiden System gleich.


    Oder anders gesagt: Wenn rein physikalische Halbleiterschichten, Widerstände oder Kapazitäten neu angeordnet würden, dann könnte man über Hardwareänderung reden. Unter Programmierbarer Logik versteht man aber Bausteine, die von ihren physikalischen Eigenschafften von vornherein festgelegt sind (wie der PC), jedoch von den Entwicklern an ihre jeweiligen Bedürfnisse angepasst werden können (Installation des PCs).

  • DeSegi hat da schon das grenzwertigste genannt, was wir kennen, das Gehirn. Gedanken könnte man als Software bezeichnen, aber das Gehirn konfiguriert sich auch auf physischer bzw. molekularer Ebene selbst um.
    Bei den üblichen Gedanken ist der Vergleich aber sehr gut, denn die tägliche Arbeitsweise des Gehirns ist, nach allem was ich in Sachen Hirnforschung gelesen habe, dem FPGA sehr ähnlich. Auch dabei müsste man einen Schaltplan für die ganzen Verknüpfungen speichern. Wie man nun ein solches Gehirn-Backup nennen würde, Hirn-Software oder Konfiguration, weiß ich nicht. In der Matrix wird die Konfiguration eines Gehirns zumindest Software genannt.


    Warum das eigtl. total egal ist: Es geht ja nur um die Bezeichnung. Und die ändert nichts an der Realität. Also egal, wie man das Kind nun tauft, ändert es ja nichts an den Zusammenhängen. "Software" mag in diesem Fall etwas zu fundamentalistisch klingen, so wie auch kein Mensch den Notizzettel für den Lichtschalter als "Konfigurationsplan" bezeichnen würde. Das ist eben nur die Theorie dazu.

  • @tulan
    >"Wenn es Software wäre, dann wäre jeder FPGA-Entwickler ein SW-Entwickler."


    Gewissermaßen ja, würde aber niemand so nennen. Auch der Maschinenbauzeichner, der am CAD-Computer arbeitet, produziert tatsächlich Software, nämlich die Zeichnungsdateien. Das ist aber eine rein informationstechnische Bezeichnung, die man nicht benutzen muss und allgemein bei solchen Daten auch gar nicht nutzt. Es ist rein theoretisch. In der Maschinenbaufirma spricht man nach wie vor vom Zeichnungsarchiv und nicht von Softwarearchiv. Das ist natürlich ok, da das zu benutzen, was es vorrangig ist: Zeichnungen, Filme, Musik, oder eben Konfigurationsdateien. Selbst Programme werden Spiele/Games, Anwendungen oder Treiber genannt. Gerade das Wort Software ist eher so ein Mengenbegriff: Softwarearchiv, Softwarepiraterie, Softwarepaket, etc. Hab noch keinen hier erlebt, der gesagt hat: "Guckt euch mal meine neue Software an!", wenn er ein Programm gecodet hat. ^^


    >"Vielleicht ist die Datei selbst noch SW."


    Könnte man so bezeichnen muss man aber nicht. Software ist eher ein Oberbegriff. Wir nennen uns ja auch nicht Säugetiere, sind aber streng genommen welche.


    >"Wenn das Ding im FPGA arbeitet, ist es Hardware."


    "Es" ist doch die Konfiguration der Hardware, nicht die Hardware selbst. "Es" war vorher auf Papier oder was auch immer, und dann ist "es" auf den FPGA übertragen worden. Der FPGA selbst ist aber immer noch der alte, nur jetzt eben auf Grundlage von "es" anders konfiguriert. "Es" kann selbst nicht arbeiten; das kann nur die Hardware, wenn auch auf Grundlage der Konfiguration. Die Konfigurationsdatei verwandelt sich selbst nicht zu einer Hardware.


    Andere Analogie: Der Bauplan für den Schlafzimmerschrank lässt sich auf die losen Bretter und Schrauben aus dem Karton anwenden. Nach Zusammenbau anhand des Bauplans ist der Bauplan immer noch nur ein solcher, und der Schrank ist jetzt ein nach Plan zusammengebauter Schrank. Die Hardware, also das Holz, die Kleiderstange und die Griffe haben sich nicht dadurch verändert, sondern befinden sich lediglich in einer anderen Position und vor allem jetzt mit einer Funktion, so wie es der Plan vorgab. Nicht einmal die fehlende Schraube kommt von allein dazu. :)


    Dass Information nicht per se Software ist, sehe ich auch so. Ich ging bei meiner ersten Stellungnahme vom Bezug zu Computern aus. Also der Notizzettel mit der Schalterstellung ist natürlich in Wirklichkeit keine Software; das sollte auch nur eine Analogie sein. Das Wort "Software" wurde einst für Computerdaten und Computerprogramme einfach nur als Pendant zur Computer-"Hardware" kreiert. Damit war also nach meinem Verständnis all das gemeint, was zur Ausführung, Bearbeitung und Konfiguration durch einen Prozessor gedacht ist. Es ist richtig, dass der FPGA, auf dem die Konfiguration letztendlich zum Einsatz kommt, kein Computer ist. Weil aber die Datei zuerst eine Datei auf dem PC ist, ist sie nach der allgemeinen Software-Definition nun mal immer noch Software. Für den FPGA selbst ist sie aber tatsächlich keine Software. Also so, wie die Maschinenbauzeichnungen aus dem CAD-Programm für die zu bauenden Maschinen selbst keine Software darstellen, sondern nur insofern, als dass ich mit dem CAD-Computer daran arbeiten kann. Es ist also auch eine Frage der Perspektive.

  • Unser Gehirn ist Hardware, die Gedanken dazu sind Software

    In der "Sendung mit der Maus" sagte das der Armin Maiwald auch. Im Video unten ab 0:40. :)
    Ich sehe mir diese "Sachgeschichten" teilweise heute noch an. :schande:


  • In der "Sendung mit der Maus" sagte das der Armin Maiwald auch. Im Video unten ab 0:40. :) Ich sehe mir diese "Sachgeschichten" teilweise heute noch an. :schande:



    Beim Gehirn würde ich das noch weniger unterstreichen, weil tatsächlich die Vernetzung durch die Synapsen (die ist Hardware) unsere Gedanken prägt. Die Verdrahtung im Gehirn wird jedoch bis an unser Lebensende laufend neu verdrahtet. So als würde man bei einer Platine laufend die Leiterbahnen ändern.

  • Beim Gehirn würde ich das noch weniger unterstreichen, weil tatsächlich die Vernetzung durch die Synapsen (die ist Hardware) unsere Gedanken prägt. Die Verdrahtung im Gehirn wird jedoch bis an unser Lebensende laufend neu verdrahtet. So als würde man bei einer Platine laufend die Leiterbahnen ändern.

    Na dann ist das Gehirn der FPGA Chip!


    Und der wird laufend durch lernen :prof: und vergessen :alt: geändert! :thumbup:

  • Also ich plädiere eindeutig für HW :thumbsup:


    Wie ein paar von Euch wissen arbeite ich für einen nicht ganz unbekannten Chip Hersteller.


    Und jetzt zu meiner Argumentation:
    Was glaubt Ihr - wie werden heutzutage Chips designed?
    Richtig: Verilog und VHDL ....
    Ok- manche werden immer noch sagen, das ist nur die Beschreibung.
    Bei einem FPGA ist das aber Software- der wird ja ‚programmiert‘.
    Jetzt kommen wir aber zum nächsten Problem: Wir stellen auch ASICS und ASSPs her - also Kundenspezifische Chips.
    Die werden aber zum Teil auch erst auf einem FPGA Board ausgetestet (da kostet dann so ein Board auch gerne mal 16k€). Wenn das alles passt wie der Kunde sich das so vorstellt wird genau dieser Verilog/VHDL Code in die Produktion gegeben und daraus die Chips erstellt.


    Die Chips sind ja wohl Hardware- ich denke das will keiner bestreiten.
    Aber ist der FPGA dann weniger HW, nur weil die Gatter des FPGAs in identischer Weise durch den Bitstream verknüpft wurden?
    Das Timing ist identisch und es wird innerhalb der Chips exakt das selbe gemacht.
    Bei einem Blackbox Test kann man keinen Unterschied erkennen. Warum sollte der FPGA dann keine HW sein?

  • @THaase Ich glaube, es gibt hier nicht einen, der behaupten würde, ein FPGA sei keine Hardware. Da gibt es nichts zu verteidigen. Man darf sich durch den Thread-Titel nicht irreführen lassen.


    Auslösend für die Diskussion war Beitrag #5 von Zeha: "Das klingt fuer mich nach Software-Update, nicht nach Hardware-Update."


    Es geht also um die Konfiguration an sich, die als Datei oder als Zustand zweifelsohne keine Hardware ist. Es sind Informationen für die gedachten und später zugewiesenen Funktionen einer Hardware und somit immateriell. Es KANN also gar keine Hardware sein. Ob es dann als Software bezeichnet werden soll, ist eben Vereinbarungssache. Für ein Hardware-Update müsste man aber die Hardware physikalisch verändern, neues Material hinzufügen, abbauen oder außerhalb des eigentlichen Funktionsrahmens neu positionieren (Schalter umlegen = keine Hw-Änderung, Schalter abbrechen = Hw-Änderung). Wenn ein neuer Chip gebaut wird, der die Funktionen eines konfigurierten FPGA übernimmt, dann ist das eine andere Hardware, ja, aber das haben wir hier nicht. Ob ein Mensch Maler oder Maurer wird, er bleibt im groben und ganzen physikalisch derselbe Mensch. Unterzieht er sich einer Geschlechtsumwandlung, ist es eine Hardwareänderung. ^^

  • :popcorn: Gibt´s mal was neues dazu? :drunk:


    Dreht sich alles im Kreis ;)


    Im Endeffekt egal oder?


    Es gibt ja eigentlich nur 2 Zustände! Sei es Hard-, oder Software!


    Es funktioniert oder funktioniert nicht! Das dazwischen, lassen Wir mal aussen vor :bgdev

  • btw .. Ich hatte die "Sachgeschichte" zum Computer nicht etwa absichtlich gesucht, wegen DeSegi oder so. Vielmehr hatte meine Mutter einen Tag vorher gemeint, der Sprecher von der Smd Maus wäre verstorben, und deswegen musste ich gleich nachsehen und stolperte dann darüber. Sie hatte den aber mit dem Peter Lustig verwechselt. Ich weiß gar nicht, ob man die in Österreich auch alle kennt.

  • "es ist als würdest du..." -> tust du aber nicht, der Chip ist der gleiche.


    Genauso könnte man sagen, ein Windows-Update ist genauso "als würdest du" eine neue Festplatte mit einem neueren Windows einbauen. Macht es das Windows-Update deshalb zum Hardware-Update??