Hi,
ich plane ein "kleines" Projekt bei dem ich 1-2 FPGA einsetzen will.
Ahnung davon habe ich bis jetzt keine!
Es gibt ja sehr sehr viele Demoboards und da wird auch was für mich
dabei sein. Ich habe schon viel gelesen, komme aber nicht so richtig
weiter.
Ich will zum testen folgendes aufbauen:
- 2 SpDiff Eingänge (bis 192)
- 1 Samplerate Converter
- 1 SpDiff Ausgäng (bis 192)
- 1 I²S Ausgäng
- SPI ode I²C Slave um Parameter einstellen zukönnen (Cortex M0 ist der
Master)
- Optional ein 8Bit AVR / 8051 /... Core der die Parameter einstellt
- Optional Volumen Regler, Filter, .....
Mir ist klar das das nicht ein LED Blink Test ist, aber es macht keinen
Sinn (ausser lernen) mit was anzufangen was ich nicht brauche.
Später will ich das ganze deutlich erweitern, somit suche ich eine
Platform die entspechende Typen hat.
Den BGA später löten werde ich nicht selber, da habe ich einen Kumpel
mit entsprechenden Job.
Bei der Sprache (VHDL / Verilog) bin ich noch offen.
Entwicklungsumgebung sollte wie so oft nichts/wenig kosten.
Das Demoboard sollte wenn es geht auch nicht mehr als 300€ kosten, ich
brauche ja nichts besonderes drauf.
Debuggen sollte man mit JTAG schon können, da gefallen mir die EBAY
Altera
Debugger recht gut (incl Spartan IV für ~40€), gibt aber mit sicherheit
auch was anderes und besseres.
Das Board sollte meinen Test anforderungen noch gerecht werden und die
Entwicklungskette sollte später für mein Endprojekt immer noch gehen.
SO hat jemand einen guten Rat mit was ich am besten anfangen sollte,
also Demoboard + Debugger + Entwicklungsumgebung?
Das Testprojekt wird auf jeden fall gemacht, ich brauche diesen Test um
Werte davon zu bekommen und dann Entscheiden zukönnen wie es weiter
geht.
Danke, Kai
Kai schrieb:> Das Board sollte meinen Test anforderungen noch gerecht werden und die> Entwicklungskette sollte später für mein Endprojekt immer noch gehen.
Wenn du diese Anforderung über Bord wirfst wird Vieles viel einfacher.
Du kaufst ein billiges kleines Board und fängst einfach mal mit 1-2
S/PDIF (odas meintest du doch mit SpDiff?) an und machst dann den I2S
dazu und dann ein µC-Interface und LERNST so einfach mal /Schritt für
Schritt/, wie das geht.
Und wenn du das dann gemacht hast, dann kannst du selber abschätzen, wie
groß das FGPA für dein finales Projekt sein muss.
Oder du fragst an Weihnachten noch mal nach. Weihnachten 2019,
wohlgemerkt...
Das man nicht alles auf einmal rein wirft sollte doch klar sein.
Man muss sich immer an alles ran tasten und lernen damit umzugehen.
Vielleicht wird auch erst nur ein Pin zum wackeln gebracht, aber Ziel
ist halt recht schnell fertig zu werden.
Ich meinte nur das ich jetzt nicht mit der falschen kleinen Gurke
anfangen will, mich an alle Tools gewöhne und später darf ich alles
wieder neu lernen.
Alternativ habe ich noch den XMOS Prozessor, der könnte sogar um einiges
einfacher sein. Von der Leisung sollte der reichen, ich habe hier ja
keine extrem schnelle Signale.
Ich hatte mal mit den alten XMOS Prozessoren was gemacht und das
schwerste war damals seine Daten von A nach B zu bekommen, wird wohl
noch immer so sein.
Preislich nehmen die sich nicht viel, wobei der XMOS billiger ist und
sogar noch von Hand zu löten wäre.
Aber Logik wäre mir lieber wie Software!
Kai
Kai schrieb:> Ich meinte nur das ich jetzt nicht mit der falschen kleinen Gurke> anfangen will, mich an alle Tools gewöhne und später darf ich alles> wieder neu lernen.
Die Toolchain macht eh nur 10% des Wissens aus, das du für FPGA-Design
komplett neu aufbauen musst. Und wegen diesen 10% kannst du hinterher
ruhig wechseln.
Zudem hat jeder Hersteller neben der kleinen auch noch ziemlich große
Gurken, die allesamt diese Aufgaben verrichten können. Wobei ich
allerdings keine 400 Audiosignale übe 1 FPGA routen würde. Stattdessen
würde ich eher ein klein(er)es nehmen und dann vielfach auf die Platine
setzen würde. Denn die Preise skalieren (für kleine Mengen) recht steil
in den oberen Leistungsklassen...
Es bleibt aber nicht bei den 10% Wissen, da kommt ja leider meistens
auch noch die Tools dazu und wenn die nicht frei sind dann geht das halt
leider ins klein Geld.
Nun 400 Signale wollte ich nicht durch jagen aber so 16 Eingänge brauche
ich schon. Aber nur 6 Ausgänge, wobei davon nur einer ein DAC ist und
jeder Ausgang braucht leider einen eigenen Sample Rate Converter.
An das Aufteilen (3* (20IN 2SRC 2 OUT)) hatte ich schon gedacht,
aber ohne Test einer einfachen Kette habe ich kein Gefühl dafür wie Fett
der FPGA überhaput sein müsste.
Gelesen gabe ich zwar schon viel und je nach Demo soll der Test dann
zwischen 4K und 10K LUT brauchen, das ist aber immer eine recht
schwammige Aussage.
Was auch nicht so richtig hilft bei einkauf eines Demoboards.
Ich brauche da eine Speicherbelegung die ich nachvollziehen kann und
genau sehe was passiert wenn ich einen weiteren Eingang, SRC, .... dran
mache.
Bei den XMOS Prozessoren ist es genauso, viele geht alles Aussagen und
nachher kommen die Einschränkungen. Wobei ich hier am schwersten finde
die Daten auf die einzelnen Task zu verteilen und die Daten dann hin und
her zu schieben.
Ich tendiere aber zum FPGA weil ich immer wieder mal komplexe Logik
brauche und bis jetzt immer versucht habe das irgendwie anders zulösen.
VG Kai
AlleFPGA-Hersteller bieten ihre Toolchain kostenlos an.
In den Tools kannst Du einstellen, für welchen Chip die Konfig sein soll
und dann ohne ein Fitzelchen für Hardware ausgegeben zu haben, ganz
genau ermitteln, wie gross dein FPGA sein muss. Du musst deine Konfig
nur erstellen...
Zugegeben, das ist ziemlich langweilig, wenn zwischendurch nicht
wenigstens mal was blinkt, aber von "versteckten Folgekosten" kann hier
ganz und gar nicht die Rede sein.
Kai schrieb:> und jeder Ausgang braucht leider einen eigenen Sample Rate Converter.
Das ist neu. Und das ist das Aufwändigste bisher. Da sind die kleinen
Interfaces nur eine Fingerübung am Nachmittag dagegen...
Wie gesagt: kauf irgendein halbwegs ausgestattetes Board und fang an.
Wenn es zu klein wird, dann kannst du 1. abschätzen welches und wie groß
das Nächste sein muss, und 2. dein altes Board einfach weiterverkaufen.
Das verliert kaum an Wert.
Danke für die Tipps.
Dann suche ich mir mal ein Board raus und suche mir dazu passend die
Software.
Wenn ich in der Software dann alles so weit habe das ich das Board
brauche, sollte ich ja auch wissen, ob ich genau das noch brauche.
Ich denke ich fange dann mal gedanklich mit einem Spartan IV für ~40€
an!
Der wird garantiert am Ende hier für zu klein sein, aber der Debugger
sollte am Ende noch zu gebrauchen sein. Dann bin ich mal suchen nach den
Tools.
VG Kai
Kai schrieb:> Spartan IV
Kenne ich gar nicht. Ist der neu am Markt?
> Dann bin ich mal suchen nach den Tools.
Die gibt's zum kostenlosen Download bei Xilinx und heißt entweder ISE
oder Vivado. Für die Spartan FPGA ist es die ISE.
Ein Vorschlag: nimm einen Artix und Vivado...
Bei dem Preis wird er mehr das hier meinen:
Altera Cyclone IV FPGA Learning Board EP4CE6E22C8N mit USB Blaster
Programmer
oder wenn es etwas teuerer und besser sein darf:
Xilinx FPGA USB Development board Spartan-6 XC6SLX9 + Download Cable
Programmer
Ich vermute da wurden 2 Bezeichungen vermischt.
Markus F. schrieb:> Alle FPGA-Hersteller bieten ihre Toolchain kostenlos an.
Kann das jemand bestaetigen? Ich dachte nur die Toolchains fuer die
kleinen FPGAs waere kostenlos.
Dumdi D. schrieb:> Markus F. schrieb:>> Alle FPGA-Hersteller bieten ihre Toolchain kostenlos an.
Das stimmt so pauschal nicht. Sie bieten kostenlose Versionen ihrer
Toolchain die bestimmte Einschränkungen haben.
>> Kann das jemand bestaetigen? Ich dachte nur die Toolchains fuer die> kleinen FPGAs waere kostenlos.
Für die für Hobbyisten geeigneten FPGA (preislich als auch
Arbeitsaufwand sie auszureizen) sind in der Regel kostenlose Versionen
erhältlich. Und klein ist relativ, was heute bei den Herstellern als
low-end zählt war vor 10-15 Jahren noch High-end mit vier- bis
fünfstelligen Preisen.
Blechbieger schrieb:> Das stimmt so pauschal nicht. Sie bieten kostenlose Versionen ihrer> Toolchain die bestimmte Einschränkungen haben.
einigen wir uns auf: für den hier beabsichtigten Zweck ausreichende
Versionen
Schliesslich will er ja nur wissen, ob sein Geraffel reinpasst oder
nicht.
Kai schrieb:> Ich denke ich fange dann mal gedanklich mit einem Spartan IV für ~40€> an!
Oha, da kannst Du wohl ewig suchen bzw. darauf warten, dass solch ein
Baustein erscheinen wird. Xilinx ist mittlerweile bei Generation 7/8.
Ich bezweifele sehr stark, dass heutzutage noch eine neue FPGA-Familie
der 4. Generation aufgelegt werden wird, zumal es bisher nur
Virtex-Bausteine dieser Generation gab. Es gab/gibt nur Spartan 3, 3A,
3E, 6, 7.
Ebenso ist es nicht absehbar, dass Altera, mittlerweile Intel, jemals
einen Spartan 4 herausbringen, sondern natürlich nur auf deren eigene
Produktfamilien und Prozesse setzen wird, d.h. Stratix, Arria, Cyclone,
MAX usw..
> Der wird garantiert am Ende hier für zu klein sein, aber der Debugger> sollte am Ende noch zu gebrauchen sein. Dann bin ich mal suchen nach den> Tools.
Bei Xilinx sollte man heutzutage für neue Projekte nicht mehr auf
irgendein FPGA setzen, das älter als Generation 7 ist, da es zu einem
kompletten Wechsel der Toolchain, d.h. Vivado vs. ISE, gekommen ist. Es
gibt nur wenige Bausteine, die von beiden Toolchains unterstützt werden,
und ISE wird nicht weiter gepflegt. Nur wenn die Abwärtskompatibilität
z.B. zu GNU Radio genötigt wird, kann es sinnvoll sein, z.B. einen
Zynq mit ISE zu betüddeln.
Ihr macht es einem aber wirklich nicht einfach.
Ja ich habe mich verschrieben und bin dann auch gekonnt dabei geblieben.
Ich meinte diese Altera Cyclone IV Boards.
Ich habe mir das schon bestellt und versuche mal mein Glück damit.
Ich denke nicht das der passen wird, aber irgentwo muss ich ja mal
abfagen und Altera/Intel schien mir eine gute Wahl zu sein.
VG, Kai
> Ihr macht es einem aber wirklich nicht einfach.
Hier will nur ein jeder seine Einlassungen zum besten geben.
Nimm das Board, das du gekauft hast und fang an. Wenn es nicht passt,
weißt du, worauf du beim nächsten Mal achten musst.
Das, was du als Toolchain bezeichnet, gleicht sich letzlich bei allen
Herstellern. Wenn du die eine Entwicklungssoftware bedienen kannst,
kannst du alle anderen auch bedienen.