Hallo, durch Mitlesen bin ich auf den Geschmack gekommen und würde mich auch gerne in FPGA und Co einarbeiten. Folgende Varianten haben mein Interesse geweckt: 1) http://www.cesys.biz/epages/61591539.sf/de_DE/?ObjectPath=/Shops/61591539/Products/C1050-4107 2) http://shop.trenz-electronic.de/catalog/product_info.php?cPath=1_47&products_id=182 3) http://shop.trenz-electronic.de/catalog/product_info.php?cPath=1_114_119&products_id=578 Ich weiß, die sind nicht nur preislich völlig unterschiedlich - deshalb meine Fragen dazu: An Themen interessiert mich v.a. komplexe Motorsteuerungen, der Audiobereich aber auch (flotte) Datenerfassung und -übertragung in Richtung PC, weshalb ich besonders mit (2) wegen GBit-Ethernet liebäugle. Wie sieht das von den FPGA-Chips aus? Sind die vergleichbar? Und wie sieht das bei 1 und 3 mit der Geschwindigkeit aus? Läßt sich da später noch Gas geben, oder ist dann ein neues Board fällig? Wie sieht das bei flotten Zusatzkarten aus (so über 50Mhz auf den Leitungen) - welcher Variante würdet ihr den Vorzug geben? Unter der Vorausetzung, dass ich nicht unterwegs schlapp mache, welches Board hat die besten Karten, mich langfristig - vielleicht sogar bei neuen Anforderungen - zufrieden zu stellen?
Nummer 3 wäre meine Wahl. > der Audiobereich Das ist für ein FPGA schnarchlangsam... > komplexe Motorsteuerungen, aber auch (flotte) Datenerfassung und > -übertragung in Richtung PC, weshalb ich besonders mit (2) > wegen GBit-Ethernet liebäugle. Du hast gute Chancen, die Latte gleich nach dem Anlauf zu reißen :-o
Hallo Lothar, erstmal herzlichen Dank für Deine Antwort! > Nummer 3 wäre meine Wahl. Könntest Du mir die Wahl bitte etwas erläutern? Die ganzen IO-Teile wie LCD, Taster, Segmentanzeigen etc. habe ich schon bei mir rumfahren. Das wäre mir z.B. nicht wichtig. >> der Audiobereich > Das ist für ein FPGA schnarchlangsam... auch wenn ich in Richtung digitale Filter, bzw. Equalizer denke? > Du hast gute Chancen, die Latte gleich nach dem Anlauf zu reißen :-o Interpretiere ich das richtig, dass Du meinst, ich würde mir zuviel zumuten? Kann durchaus sein - mal sehen. Aber man muss sich ja Ziele stecken. Ne LED zum blinken bringen ist ja nicht wirklich spannend. Fantasie habe ich reichlich - manchmal fehlt einfach der richtige Ansatz. Wie sieht es denn bei Nummer 3 aus? Kann man bei dem Board noch GBit-Ethernet nachrüsten? Wenn ja, wie aufwändig wäre das? - Habe hier noch nicht viele Beiträge dazu gefunden.
Also, ich bin zwar auch wirklich ein Tiefstapler, aber ich hab auch mit dem Einstieg begonnen einfach um beruflich nicht ganz den Anschluss zu verlieren und in dem Bereich auch etwas Ahnung zu bekommen. Aber SO problemlos wie man zuerst meint ist das gar nicht finde ich. Meine Visionen sind allerdings von meinen Kentnissen noch meilenweit weg - leider. ich kann allerdings auch noch nciht auf Harware zugreifen. Anhand meiner Posts kann man sicher ersehen, daß ich mich mit Syntax und Denkweise schwer tue... :-( Bin übrigens nicht unerfahren in embedded Entwicklung mit Assembler und c. Benut wenn du loslegst doch einfach meinen Code Snippe thread damit der informativ wird. Viel Glück und Spaß
>>> der Audiobereich >> Das ist für ein FPGA schnarchlangsam... > auch wenn ich in Richtung digitale Filter, bzw. Equalizer denke? Ja, auch dann... ;-) > Die ganzen IO-Teile wie LCD, Taster, Segmentanzeigen etc. habe ich schon > bei mir rumfahren. Das wäre mir z.B. nicht wichtig. Es ist einfach schöner (und damit frustbefreiter), wenn am Anfang alles hübsch auf einer Platine ist und sicher funktioniert (weil richtig angeschlossen). Das spart gleich mal eine durchgemachte Nacht ;-) >> Du hast gute Chancen, die Latte gleich nach dem Anlauf zu reißen :-o > Interpretiere ich das richtig, dass Du meinst, ich würde mir zuviel > zumuten? ACK > Wie sieht es denn bei Nummer 3 aus? > Kann man bei dem Board noch GBit-Ethernet nachrüsten? Du kannst dir (wenn du dann soweit bist) einfach ein aktuelles Board mit dieser Schnittstelle kaufen. Eval-Boards verlieren kaum an Wert ;-)
Ok, das leuchtet ein! - Danke Dir für Deine Antworten. Dann werde ich Deinen Rat mal beherzigen :)
Öhm - ich hätte da mal ne ganz dumme Frage: Funktionieren die Schnittstellen wie USB und Ethernet über externe HW, oder müssen die im FPGA erst synthetisiert werden?
> Funktionieren die Schnittstellen wie USB und Ethernet über externe HW, Normalerweise ja. Ein USB-Device gibts bei opencores, das geht also auch im FPGA: Beitrag "USB-Device von opencores" Beitrag "USB Device an FPGA oder mc" Aber oft ist es billiger, einen externen USB-Chip zu verwenden ;-) > oder müssen die im FPGA erst synthetisiert werden? Teile davon können im FPGA synthetisiert werden. Wobei beim Netzwerk der Phy in der Regel immer als Hardware angeschlossen ist.
OK, ich seh schon, warum Du das mit der Latte geschrieben hast :) Ein Punkt ist mir noch nicht ganz klar: Ein FPGA (von Ausnahmen abgesehen) lädt ja sein Programm bei jedem Start neu. Ich gehe mal davon aus, dass der Programmlader hart implementiert ist, sonst würde ja nix funktionieren. Kann ich mir ansonsten den FPGA wie einen großen CPLD vorstellen, oder muss ich irgendwelche Seiteneffekte berücksichtigen (beim VHDL-proggen, bzw. beim Malen mit den Designer)? In meiner Vorstellung ist so ein Cio-Chip ein blackbox-FSM, der nur das tut, was ich ihm synthetisch beigebracht habe. Ist die Vorstellung halbwegs brauchbar, oder ziemlich daneben?
> Ich gehe mal davon aus, dass der Programmlader hart implementiert > ist, sonst würde ja nix funktionieren. Es gibt verschiedene Modi, bei einigen davon ist das FPGA Master und lädt sich seine Konfiguration aus einem angeschlossenem Speicher. > Kann ich mir ansonsten den FPGA wie einen großen CPLD vorstellen Naja, CPLD heißt Complex Programmable Logic Device. So könnte man sagen, auch ein FPGA ist eine komplexe programmierbare Logikeinheit. Aber unter CPLD hat sich quasi die Weiterentwicklung von PALs/GALs manifestiert. Man hat hier mächtige Produktterme, die aufwendige kombinatorische/logische Funktionen abbilden können. Aber man hat leider nur wenige FFs, um etwas zu speichern. Die Verdrahtung zwischen diesen Einheiten ist fest, es werden "nur" die Logikfunktionen abgebildet. FPGAs dagegen haben viele FFs und jedesmal ein kleines Häppchen Kombinatorik davor. Das meiste (und das eigentliche Know-How) ist die Verdrahtung dieser Einheiten. > oder muss ich irgendwelche Seiteneffekte berücksichtigen > (beim VHDL-proggen, bzw. beim Malen mit den Designer)? In erster Näherung: Nein. Aber um die einzelnen Komponenten ideal ausnützen zu können, unterscheiden sich meine CPLD-Beschreibungen (oft deutlich) von den FPGA-Beschreibungen. > In meiner Vorstellung ist so ein Cio-Chip ein blackbox-FSM, der nur das > tut, was ich ihm synthetisch beigebracht habe. Du selber beschreibst diese Black-Box. Ein FPGA hat nur Speicherelemente (FFs), Kombinatorik (LUTs) und Verdrahtung (Routing).
Hallo Lothar, Danke für Deine Ausführungen. Habe also doch schon etwas verstanden :) >> oder muss ich irgendwelche Seiteneffekte berücksichtigen >> (beim VHDL-proggen, bzw. beim Malen mit den Designer)? > In erster Näherung: Nein. > Aber um die einzelnen Komponenten ideal ausnützen zu können, > unterscheiden sich meine CPLD-Beschreibungen (oft deutlich) von den > FPGA-Beschreibungen. Hm, liegt das daran, dass die Produktterme im FPGA nicht so mächtig sind, oder woran liegt das? Könntest Du mal ein Beispiel nennen? - Nur so als Anhaltspunkt, in Welche Richtung man denken sollte (falls das möglich ist zu beschreiben).
> Hm, liegt das daran, dass die Produktterme im FPGA nicht so mächtig > sind, oder woran liegt das? Ein FPGA hat LUTs. Die im Spartan 3 von Xilinx hat 4 Eingänge. Mit diesem Logikelement kann also jede Kombinatorik mit bis zu 4 Variablen ('0' und '1') abgebildet werden, also z.B. ein 4-fach UND, ein 4-fach OR, NOR, NAND... Wenn jetzt ein 5. Eingang nötig wird, braucht man schon 2 solcher LUTs. Na schön, könnte man sagen. ist doch nicht so schlimm. Aber hinter jeder LUT hängt auch ein FlipFlop, das nur über die LUT angefahren werden kann. Und wenn ich jetzt eine LUT für den 5. Eingang brauche, dann kann ich das FF dahinter nicht mehr nutzen. Spartan 6 hat z.B. als großen Fortschritt 6-Input LUTs.
> Ein FPGA hat LUTs. > Die im Spartan 3 von Xilinx hat 4 Eingänge. Mit diesem Logikelement kann > also jede Kombinatorik mit bis zu 4 Variablen ('0' und '1') abgebildet > werden, also z.B. ein 4-fach UND, ein 4-fach OR, NOR, NAND... > Wenn jetzt ein 5. Eingang nötig wird, braucht man schon 2 solcher LUTs. Puh - ich glaube ich spüre, was Du meinst. Habe gerade nochmal einen Blick ins DB geworfen - dort ist es erwähnt, aber nur in einem Diagram. Wenn man's weiß, ist's leicht zu finden, ansonsten überliest man es doch schnell. Was mir dabei aufgefallen ist: Es wird gewechselt zwischen der Schreibweise A[4..1] und A[3..0] - ist das völlig Banane, ob man bei 0 oder 1 anfängt, oder hat das Seiteneffekte? Wenn das mit den LUTs so begrenzt ist, macht es dann Sinn, in VHDL einen Switch auszucoden, anstatt Logikoperatoren einzusetzen, oder macht der Synthetisierer da wieder das gleiche draus? Bei der Gelegenheit möchte ich Dir auch einmal für Deine sehr informative HP danken! Habe schon viel davon gelernt! Dann habe ich noch ne Frage zur Peripherie-Anbindung. Nachdem ich gelesen habe, dass man mit der Lötpad-Technik locker bis 500 MHz packen kann, habe ich Mut bekommen, es auch mit eigenen (Addon-)Platinen zu versuchen. Im DB steht ja, dass der Spartan die differentiellen Eingänge selbst terminiert hat. Dem entnehme ich, dass man sich das im PCB-Layout zumindest für die Seite sparen kann. Wenn ich jetzt einen anderen Chip habe, der sehr schnelle serielle Daten erzeugt und nur single-ended Pins (bei z.B. einem TQFP) hat, wie kann ich sinnvollerweise auf differentielle Signale/Leitungen kommen, ohne einen Sender zu produzieren?
> Es wird gewechselt zwischen der Schreibweise A[4..1] und A[3..0] > - ist das völlig Banane, ob man bei 0 oder 1 anfängt, oder hat das > Seiteneffekte? In Verbindung mit den LUTs habe ich nur A4..A1 gefunden... DPRAM ist was anderes ;-) > Wenn das mit den LUTs so begrenzt ist, macht es dann Sinn, in VHDL einen > Switch auszucoden, anstatt Logikoperatoren einzusetzen, oder macht der > Synthetisierer da wieder das gleiche draus? Das kommt darauf an... Sieh dir mal nur das eine Beispiel mit dem vertauschten AND an: http://www.lothar-miller.de/s9y/archives/52-Kompakte-Flankenerkennung.html Genau die selbe Beschreibung, aber andere Synthese :-o Allerdings ist das in der Praxis nicht weiter schlimm, denn um an das FF zu kommen, muß sowieso über irgendwelche MUX gefahren werden. Ob da noch ein Invertrer drin ist, tut normalerweise nichts zur Sache. Ich nehme die Beschreibung, die besser zu lesen ist. Kombinatorik wird üblicherweise Concurrent beschrieben, getaktete Vorgänge im Prozess. Allerdings ist die Hemmschwelle, won diesen Vorgaben abzuweichen, nicht allzu hoch angesetzt.
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.