Insbesondere in VHDL oder Verilog um diese Hardwarebeschreibungssprachen etwas besser zu lernen und mit ihnen zu üben? Und falls das geht, gibt es dafür entsprechende I/O an dem Rechner, die man vom FPGA aus direkt nutzen kann? Um diesen Rechner geht es mir: https://www.parallella.org/ Normale FPGA Testboards haben leider den Nachteil, das sie zum einen sehr viel Geld kosten und dann halt auch wirklich nur FPGA Testboards sind. Diesen Rechner könnte ich dagegen noch als paraleller Supercomputer oder schlichtweg als einfachen Rechner dank seiner ARM CPU und HDMI und USB Anschlusses einsetzen, aber sinn macht das halt nur, wenn man auch mit dem FPGA herumspielen kann, ansonsten gibt es nämlich ohne FPGA bessere Alternativen.
Klar kann man das damit machen. Für 99$ gibts aber noch jede Menge andere Boards, die das gleiche können. Inkl. ARM. So wie du dich ausdrückst, würde ich aber behaupten, dass du von dem gesamten Zeugs noch überhaupt keine Ahnung zu haben. Da kann man auch mit irgendeinem billigen Spartan6 anfangen, die kosten dann auch <50€.
ui schrieb: > Klar kann man das damit machen. Für 99$ gibts aber noch jede Menge > andere Boards, die das gleiche können. Inkl. ARM. Welches wäre denn die günstigste Lösung? Die HDMI + USB Version würde übrigens ca. 150 € kosten. 99 $ kostet nur die Version ohne HDMI + USB. > So wie du dich ausdrückst, würde ich aber behaupten, dass du von dem > gesamten Zeugs noch überhaupt keine Ahnung zu haben. Da kann man auch > mit irgendeinem billigen Spartan6 anfangen, die kosten dann auch <50€. Ich habe schon in einer der Hardwarebeschreibungssprachen auf einem Xilinx Spartan 3E Testboard programmiert, allerdings waren das nur ein paar Stunden, also zu wenig um das wirklich zu vertiefen. Ich fand das Konzept aber hochinteressant, insbesondere war da alles in realer Echtzeit parallelisierbar, also alles konnte auf einmal berechnet werden, während ein normaler Computer mit nur einem Kern das halt alles nacheinander macht. Ganz simples Beispiel was ich mir gerade so aus der Luft greife: Wenn man bspw. 1000 Eingänge hätte und an denen ein statisches Signal z.b. 0 oder 1 anliegt, dass man resetten kann und nun wollte man alle Signale addieren, dann würde man bei einer normalen CPU wahrscheinlich eine Schleife verwenden und die Eingänge einfach der Reihe nach addieren. Mit einem FPGA aber könnte man alle Eingänge paarweise addieren. Also je zwei Eingänge und deren Ergebnis addiert man noch einmal in so ner Art Kaskade, und deren Ergebnisse noch einmal usw. dann hat man praktisch eine Addition aller 1000 Eingänge auf einmal. Und DAS, das fand ich schon sehr interessant. Da kann man an Problemloslösungen ganz anders herangehen. Eine normale CPU kann so etwas in der Form nicht, zumindest nur in sehr begrenztem Rahmen, wenn ich jetzt mal an die SIMD Einheiten denke.
Geron schrieb: > ui schrieb: > > Ganz simples Beispiel was ich mir gerade so aus der Luft greife: > Wenn man bspw. 1000 Eingänge hätte und an denen ein statisches Signal > z.b. 0 oder 1 anliegt, dass man resetten kann und nun wollte man alle > Signale addieren, dann würde man bei einer normalen CPU wahrscheinlich > eine Schleife verwenden und die Eingänge einfach der Reihe nach > addieren. > Mit einem FPGA aber könnte man alle Eingänge paarweise addieren. > Also je zwei Eingänge und deren Ergebnis addiert man noch einmal in so > ner Art Kaskade, und deren Ergebnisse noch einmal usw. dann hat man > praktisch eine Addition aller 1000 Eingänge auf einmal. > > Und DAS, das fand ich schon sehr interessant. Da kann man an > Problemloslösungen ganz anders herangehen. > Eine normale CPU kann so etwas in der Form nicht, zumindest nur in sehr > begrenztem Rahmen, wenn ich jetzt mal an die SIMD Einheiten denke. Ja aber für sowas braucht man keine exotische CPU. Und braucht man bei sowas wirklich HDMI? Für 150 Tacken finde ich das ganz gut. Viel wichtiger für den Einstieg (IMHO) ist aber die Entwicklungsumgebung. Danach würde ich als Einsteiger eher die Auswahl treffen. Und ich werde mit Vivado einfach nicht warm. http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=205&No=941 Das wäre eine evtl. Alternative.
ui schrieb: > > Und braucht man bei > sowas wirklich HDMI? Naja, kommt drauf an ob man die HDMI Signale direkt in den FPGA speisen kann, wenn ja, dann wäre das schon sehr interessant. Da könnte man viel mit anstellen. Wenn der HDMI Anschluss nur direkt am ARM hängt, dann ist das natürlich nicht so toll, dann hätte man lediglich die Möglichkeit einer Bildausgabe und damit weitere Anwendungsfälle für die man das Stück HW nutzen könnte. > Für 150 Tacken finde ich das ganz gut. Viel wichtiger für den Einstieg > (IMHO) ist aber die Entwicklungsumgebung. Danach würde ich als > Einsteiger eher die Auswahl treffen. Und ich werde mit Vivado einfach > nicht warm. Gibt es keine Open Source VHDL/Verliog Compiler? Wenn ja, dann würde ja ein brauchbarer Editor + dieser Compiler genügen. Denn was hat man davon eine spezielle IDE zu lernen, wenn man dann später mit der IDE eines ganz anderen FPGA Herstellers arbeiten muss? > http://www.terasic.com.tw/cgi-bin/page/archive.pl?... > Das wäre eine evtl. Alternative. Sieht interessant aus, kostet allerdings genauso viel. Wobei mir gerade einfällt, viele I/O Anschlüsse wären natürlich nett, damit man vom FPGA auch wirklich etwas hat. Denn schnelles semi-paralleles rechnen kann man auch auf einer GPU machen.
Geron schrieb: > Naja, kommt drauf an ob man die HDMI Signale direkt in den FPGA speisen > kann, wenn ja, dann wäre das schon sehr interessant. Da könnte man viel > mit anstellen. > Wenn der HDMI Anschluss nur direkt am ARM hängt, dann ist das natürlich > nicht so toll, dann hätte man lediglich die Möglichkeit einer > Bildausgabe und damit weitere Anwendungsfälle für die man das Stück HW > nutzen könnte. HDMI = Bildausgabe (in 99.9% der Fälle). Für sowas ist ein extra ASIC mit auf dem Board, oder die CPU unterstützt das Nativ. Das macht keiner aufm FPGA (außer man entwickelt HDMI ASICs). Geron schrieb: > Gibt es keine Open Source VHDL/Verliog Compiler? > Wenn ja, dann würde ja ein brauchbarer Editor + dieser Compiler genügen. > > Denn was hat man davon eine spezielle IDE zu lernen, wenn man dann > später mit der IDE eines ganz anderen FPGA Herstellers arbeiten muss? Ja. Aber nur zum simulieren. Damit bringst du noch gar nichts auf ein FPGA, da brauchst du die IDE vom Hersteller. Für kleinere Chips ist diese i.d.R. kostenfrei (Cylcone V, Zynqs). Ich bleib dabei. Du bist ein absoluter Anfänger. Bevor du dir ein Stück Hardware kaufst, beschäftige dich erstmal mit VHDL. VHDL programmieren und simulieren (modelsim oder ghdl) kannst du auch ohne physikalisches Board. Mach erstmal im Simulator irgendwelche Beispiele, kauf dir ein Einsteiger Buch oder such dir im Internet Tutorials. Ansonsten vergeht die Freude sehr schnell. Wenn man in VHDL viel zu Fuß (also selber programmieren) will, dann steckt man schon für einfachere Dinge (UART, I2C) ein haufen Zeit rein. Wenn man Berechnungen parallelisieren will (z.B. Matrixmultiplikation oder was auch immer man parallelisieren will) dann ist der Algorithmus dahinter wichtiger als das Board oder die Programmiersprache.
Der HDMI Ausgang des ZYNQ wird meistens vom Linux auf dem integrierten ARM angesprochen und die "Grafikkarte" kommt als fertiger IPCore von Xilinx. Trotzdem ist ein ZYNQ nichts für Anfänger, mach da erstmal auf dem Spartan3 Board weiter.
ui schrieb: > HDMI = Bildausgabe (in 99.9% der Fälle). Für sowas ist ein extra ASIC > mit auf dem Board, oder die CPU unterstützt das Nativ. Das macht keiner > aufm FPGA (außer man entwickelt HDMI ASICs). Das machen viele auf dem FPGA. Lattice ECP3 bzw. 5 ist für sowas prädestiniert. Zugegeben, nix für den Massenmarkt, obwohl das Geschäft mit den HDCP-Decodern bei den Chinesen nicht marginal ist. Ansonsten: Evalboards gibt es schon ab 30 USD auf Ebay und div. chinesischen Versandhäusern.
Ja, man kann den FPGA des Parallella umprogrammieren, und wenn man sich geschickt anstellt, bleibt dabei sogar die Funktion des Epiphany-Chips erhalten. Wenn ich mich recht entsinne, geht der HDMI-Ausgang direkt in den FPGA (da ist nur ein PHY zwischen), und dort wird in manchen Images dann ein Framebuffer für Linux bereitgestellt. Der Zynq ist ansonsten schon ein recht spießiges Biest. Ich habe da gut einen Monat reingesteckt, bis ich ein (reproduzier- und versionierbares) Setup hatte, mit dem ich stinknormalen VHDL-Code vom Linux (via AXI) aus ansprechen konnte. Für mittelprächtige Sachen ist das Parallella gut, für den Einstieg möchtest du ein "richtiges" Devboard (mit LEDs und Schaltern) haben. Achso, und ohne Vivado geht garnix. Es gibt keine Open-Source Toolchain, wo man vorne Code reinwirft und hinten ein Bitstream rausfällt. Vivado zu scripten macht auch nur peripher Spaß. Nachtrag: Wenn du dich auf Xilinx einschießen möchtest, dann würde ich nicht mehr mit alten Spartan3/Spartan6 anfangen wollen, weil die nur von ISE unterstützt werden. Sämtliche Neuentwicklungen (ab 7. Generation) sind nur mit Vivado nutzbar. Ich vermute, dass das bei Altera nicht anders ist.
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.