Hallo liebe Forengemeinde!
Ich habe beschlossen nun endlich den Einstieg in die FPGA-Welt zu wagen,
habe im Moment aber Probleme mich für ein geeignetes Board zu
entscheiden.
Die meisten der "How to choose the right FPGA" Empfehlungen die man
online findet sind leider auch schon mehrere Jahre alt weshalb ich
gehofft hatte, dass die Erfahrenen hier im Forum mir vielleicht eine
Empfehlung geben können.
Das langfristige Ziel wäre es einfache Bildverarbeitung in Echtzeit
durchführen zu können (max 320x240 @ 100Hz greyscale) wie z.B.
Blobdetection / Blobtracking.
Mir ist klar, dass dies kein Einsteiger-Projekt ist, dennoch würde ich
natürlich gerne jetzt schon die Hardware so wählen, dass sie später für
dieses Projekt passend ist.
Kann man denn ganz grob abschätzen was für eine Leistung der FPGA dafür
haben muss / sollte?
Die einzig wirkliche Bedingung von meiner Seite her wäre ein USB-JTAG
Interface, so dass ich den FPGA direkt vom Rechner aus beschreiben kann
und als Student bin ich leider auch vom Budget her recht eingeschränkt.
Ich habe in den letzten Tagen einiges zum Sparten 3E gelesen mit welchem
wohl auch Echtzeit Videosysteme realisiert wurden, allerdings kann ich
beim besten Willen nicht einschätzen ob 250k, 500k oder mehr Gatter
angebracht wären.
Auch das Spartan-6 LX9 Microboard macht einen interessanten Eindruck mit
zusätzlichem Ethernet Port. Allerdings findet man hier komplett andere
Leistungsangaben, so dass ich nicht mal annähernd den Vergleich zum
Sparten 3E ziehen kann.
Zudem scheint dieses Board vor allem auf Microblaze Softcore
ausgerichtet zu sein, langfristig möchte ich aber eigentlich kein System
on a Chip sondern den FPGA direkt programmieren.
Kann denn jemand mit diesen zugegebenermaßen recht dürftigen Infos eine
grobe Richtung empfehlen oder auch nur von einigen Dingen abraten?
Ich bin für jegliche Tipps und Ideen dankbar!
Viele Grüße
Tom
Hi,
also ich hab auch keien grosse ahnung von bildbearbeitung, aber das
hoert sich alles so an als ob du evtl. dieses bord kaufen willst:
http://shop.trenz-electronic.de/catalog/product_info.php?cPath=1_114_123&products_id=830
(aufpassen, preis ist exkl. MwSt.)
hier der originalanbieter wo es danna uch den code gibt:
http://digilentinc.com/Products/Detail.cfm?NavPath=2,400,836&Prod=ATLYS
als student nicht zu teuer wie ich finde, jtag ist integriert,
erweiterungsmoeglichkeiten gibts auch und die onboardsachen sind auch
fett. dazu gibts von digilent recht viel code. es gab auch mal nen recht
langen thread ueber das bard, den wuerde ich dir vor dem kauf auch noch
ans herz legen. schnelle datenuebertragung bekommste bei dem baord ueber
gbit-ethernet.
als einstieg waere evtl. dennoch der normale PC besser geeignet, fpga
macht man eigentlich nur wenns dann noch viel schneller gehn muss, aber
das ist ja deine entscheidung.
bye
zachso
Hallo zachso,
vielen Dank für den Tipp, aber dieses Board scheint mir zumindest von
der Peripherie her für meine Zwecke kompletter Overkill zu sein. 4 HDMI
Ports, Audio, 2x USB etc. brauche ich schlicht nicht.
Ich wäre mit einem USB und evtl. noch einem Ethernet Port schon völlig
zufrieden ;-)
Tom schrieb:> Ich wäre mit einem USB und evtl. noch einem Ethernet Port schon völlig> zufrieden ;-)
Für BILDVERARBEITUNG in Echtzeit?
Wie definierst du Echtzeit?
1 Bild in 10 ms (=100Hz)?
Das wären dann bei
> max 320x240 @ 100Hz greyscale
immerhin netto 7680000 Bytes pro Sekunde (oder knapp über 64 MBit/s),
die irgendwoher kommen müssten...
Boards zum Studentenrabatt gibt's bei Trenz-Elektronik. Spartan6
eher weniger (2.5V IO, kein 3.3V), dann eher Spartan3.
Überleg dir, ob du SRAM brauchst oder DDR-RAM willst.
Bei einigen Boards ist ein FX2-Konnector dabei, dann solltest
du einen FX2-Flachbandkabel-Stecker mitbestellen.
Kameramodule gibt's bei Ebay genug, schau mal nach MT9D111 oder
MT9M111. Die können einfach per BreadBoard angeschlossen werden.
Das MTD111 läuft mit PixClk 80MHz und 1600x1200 Pixel.
320x240 läuft auf dem bei mehr als 200Hz.
Gruss
Was willste denn machen?
FPGAs sind ja ansich nur für "dumme" Videovorverarbeitung geeignet (z.B.
Filter-Kernels, DCTs, etc.).
Sobald dann die Bilder auch noch rausmüssen, wird's recht schnell
komplex, da gibt's bei den üblichen Boards fast nur den Weg über USB
(Cypress FX2 oder FTDI2232). Am besten bin ich bisher mit der
Kombination Blackfin/FPGA gefahren: Alle aufwendigen aber "dummen"
Operationen ins FPGA, und das ganze Encoding/Verarbeiten im DSP.
Gruss
Vanilla schrieb:> der Spartan6 ist 3,3V IO kompatibel im Gegensatz zum Virtex6 welchen Du> evtl. im Kopf hattest?
Er meinte eher, dass es am Spartan 6 Board (SP601) keine Möglichkeit
gibt, die I/Os auf 3,3V zu betreiben. An den Spartan 3 Boards gibts
einen Jumper, beim SP601 ist das fest verdrahtet für alle Bänke.
Für das SP601 gibts doch aber so ein Demo-Projekt von Xilinx, gings dort
nicht um Video-Verarbeitung und Streaming über das GBit Ethernet?
Hallo Chris,
ich muesste jetzt mal echt nachsehen, am Avnet spartan6 Board mit FMC
Connector kann die IO Spannung vom FMC Connector auf 3,3V gesetzt werden
und meine dass beim SP601 oder SP605 ebenfalls gesehen zu haben...
Tom schrieb:> Ich habe in den letzten Tagen einiges zum Sparten 3E gelesen mit welchem> wohl auch Echtzeit Videosysteme realisiert wurden, allerdings kann ich> beim besten Willen nicht einschätzen ob 250k, 500k oder mehr Gatter> angebracht wären.>> Auch das Spartan-6 LX9 Microboard macht einen interessanten Eindruck mit> zusätzlichem Ethernet Port. Allerdings findet man hier komplett andere> Leistungsangaben, so dass ich nicht mal annähernd den Vergleich zum> Sparten 3E ziehen kann.
Gatter sind nicht alles. Wichtig ist auch Größe und Anzahl von Block RAM
und die Anzahl an Multiplizierern/DSP Blocks/... und ggf anderen Hard
Macros.
Beim Spartan 3 ist das Verhältnis von Multiplizierern und BRAM zu
Logikgattern oder Makrozellen eher klein, d.h. die Anzahl dieser
Resourcen ist im Vergleich zu Spartan 6 oder Cyclone III eher gering.
Für eine gute Auswahl musst Du Deine Algorithmen genau kennen. Erst wenn
Du das, was Du implementieren willst, als Software am Laufen hast,
kannst Du schauen, was Du brauchst.
fchk
Frank K. schrieb:> Für eine gute Auswahl musst Du Deine Algorithmen genau kennen. Erst wenn> Du das, was Du implementieren willst, als Software am Laufen hast,> kannst Du schauen, was Du brauchst.
Vielen Dank für den Tipp, dann werde ich es wohl mal auf diese Weise
versuchen.
Danke an alle für den Input!
Tom
Ich habe mich schon mit Bildbearbeitung und VHDL auseinandergesetzt. Das
ist schon etwas härteres mit der Einarbeitungszeit.
Für den Einstieg in FPGAs benötigst du ein Board mit einfachen
Komponenten. Das sind Taster LEDs ICs mit einfachen Schnittstellen wie
SPI und I2c. Diese Projektes sind der Einstieg in VHDL. Auch das
Einarbeiten in einen Simulator ist hier Pflichtprogramm.
Bei der Bildbearbeitung sind die Anforderungen anders. Du benötigt einen
hohen Datendurchsatz. Wo kommen die Daten her und wo gehen die Daten
hin?
Dazu wird bei Bildbearbeitung noch ein Externer RAM benötigt, denn der
FPGA hat nur begrenzten internen Speicherplatz.
Nun das Ende. Für Bildbearbeitung würde ich nicht mehr unter einem
Spartan6 anfangen. Doch nun das Traurige alle Evalboards von Xilinx für
den Saprtan haben als externe Komponenten keine Einstiegscharakter. Das
ist leider so, nur High End.