Hi,
ich möchte mich in Zukunft gerne mit FPGAs beschäftigen und in
absehbarer Zeit (in 1 oder 2 Jahren) auf jeden Fall praktisch mit
S-ATA-Festplatten arbeiten. Zur Zeit habe ich fundierte Kentnisse im
PIC-Bereich und programmiere schon lange in Assembler und ab und zu auch
in C und anderen Hochsprachen.
Mir ist schon durch meine etwas umfangreicheren PIC-Projekte völlig
klar, dass so etwas nicht von heute auf morgen geht, ich bin also keiner
von diesen "mal eben in 5 Minuten VHDL lernen und eine Raketensteuerung
für Marschflugkörper basteln"-Typen.
Meine Idee war zunächst die, dass ich mir heute schon ein recht teures
Board mit einem für SATA ausreichend dimensionierten FPGA kaufe und ich
mich dann in vielleicht 2 Jahren, wenn diese FPGAs billig geworden sind,
sehr gut mit den Dingern auskenne und meine Projekte damit relativ
leicht verwirklichen kann. Aber ich weiß leider nicht wie schnell sich
das FPGA-Karussell dreht bzw. ob einem die FPGAs in 3 oder 4 Jahren
genauso wie die älteren PICs günstig hinterhergeworfen werden u nd ob
die Entwicklungsumgebungen dann noch gepflegt werden?
Gibt es bei FPGAs in irgendeiner Weise das gleiche Problem mit der
"Errata" wie bei den PICs? Also das man quasi erstmal etwas warten
sollte, bevor man viel Geld für ein eventuell fehlerhaft designtes
Produkt ausgibt?
Welche FPGAs wären denn überhaupt geeignet, um derartige differentielle
Hochgeschwindigkeitssignale zu verarbeiten? 1500 MBit/sec würde bei
einem klassischen PIC ja eine schier unglaubliche Taktfrequenz
erfordern...
Wie sieht das mit der Umsetzung von komplexeren Anwendungen aus? Ich
habe das Gefühl, dass komplexere Sachen wie z.B. Ethernet oftmals über
vorgefertigten Code implementiert werden und sich die völlig eigene
Programmierung keiner mehr antut.
Und wie sieht das mit Lizenzen aus, wenn man mal eine Idee hat und etwas
in Serie herstellen und verkaufen möchte? Halten dann gleich ein paar
Firmen die Hand auf, weil man deren Code (z.B. Ethernet) im FPGA
benutzt?
Ist es realistisch anzunehmen, dass ich in ein paar Jahren eigene
Platinen mit FPGA+SATA-Buchse ätzen kann(Reflow-Ofen für BGA mal
vorausgesetzt), oder braucht man dafür so viel Erfahrung im Bereich
HF-Platinendesign, dass ich es mir gleich wieder abschminken kann und
ewig auf meinen Evaluations-Boards "spielen" werden?
Welches Equipment ist wohl notwendig, um solche Projekte mit SATA zu
realisieren? Ich weiß von meinen PICs wie hilfreich es sein kann, mal
einen Logik-Analysator oder ein DSO an den PINs anzuschließen, um einen
Fehler zu finden. Aber bei SATA hört der Spaß wegen der hohen
Geschwindigkeit und den damit verbundenen Kosten für Messgeräte ja
eigentlich auf für Bastler...trotzdem machbar oder lieber weiter mit
PICs herumdümpeln und sich so etwas masochistisches wie ohne Equipment
quasi im Blindflug Hochgeschwindigkeitsbusse zu realisieren erst gar
nicht antun?
Und zum Schluss:
Wo kann man entsprechende Eval.Boards "günstig" kaufen? Läuft da was
über die Stückzahl, so dass man sich hier zusammentun könnte, um mehrere
zu ordern? Habe jetzt keine Ahnung wie teuer das werden wird, aber ich
ging mal so grob geschätzt von 500 $ für ein Eval.Board aus.
Vielen Dank,
HP
@ HP (Gast)
>Meine Idee war zunächst die, dass ich mir heute schon ein recht teures>Board mit einem für SATA ausreichend dimensionierten FPGA kaufe und ich>mich dann in vielleicht 2 Jahren, wenn diese FPGAs billig geworden sind,>sehr gut mit den Dingern auskenne und meine Projekte damit relativ>leicht verwirklichen kann.
???
Von BWL hast du wohl nicht wirklich Anhnung?
Kauf dir ein preiswertes (nicht billiges!) FPGA Board und lern VHDL und
den Umgang mit der Hardware. Das Board muss NICHT überdimensioniert
sein, und SATA muss es ganz und gar nicht können. Lern die Grundlagen.
Wenn du die hast, kauf dir in zwei Jahren ein zeitgemässe, presiwertes
Board das für SATA taugt. Die Entwicklung geht in dem Bereich sehr
schnell, dass es Unsinn ist, dermassen zu planen. Die Grundlagen sind
von Dauer!
>Gibt es bei FPGAs in irgendeiner Weise das gleiche Problem mit der>"Errata" wie bei den PICs?
Jain. Die meisten Probleme macht aber die Software, die ist bisweilen
arg buggy, weil sie viel zu schnell auf den Markt geworfen wird.
>sollte, bevor man viel Geld für ein eventuell fehlerhaft designtes>Produkt ausgibt?
Man sollte nur dann wirklich die neueste Soft- und Hardware nutzen, wenn
es WIRKLICH nicht anders geht. Ansonsten sollte man auf bewährtes
zurückgreifen, damit vermeidet man als Beta-Teseter missbraucht zu
werden.
>Welche FPGAs wären denn überhaupt geeignet, um derartige differentielle>Hochgeschwindigkeitssignale zu verarbeiten? 1500 MBit/sec würde bei>einem klassischen PIC ja eine schier unglaubliche Taktfrequenz>erfordern...
[x] Du mist noch EINIGES über Digitaltechnik lernen.
Die meisten modernen FPGAs aller Hersteller haben dafür spezielle
Tranceiver.
>Wie sieht das mit der Umsetzung von komplexeren Anwendungen aus? Ich>habe das Gefühl, dass komplexere Sachen wie z.B. Ethernet oftmals über>vorgefertigten Code implementiert werden und sich die völlig eigene>Programmierung keiner mehr antut.
Warum soll jeder seine eigene CPU designen? Modularisierung ist auch
hier sinnvoll und notwendig. Um die Zeit und Energie auf auch andere
komplexe Dinge zu verwenden.
>Und wie sieht das mit Lizenzen aus, wenn man mal eine Idee hat und etwas>in Serie herstellen und verkaufen möchte? Halten dann gleich ein paar>Firmen die Hand auf, weil man deren Code (z.B. Ethernet) im FPGA>benutzt?
Das ist ganz einfach. Wenn dir eine Firma einen IP-Core anbietet, sagen
die schon was sie dafür haben wollen. Wenn du freie Sachen aus dem netz
nimmst, ist es halt frei (machmal aber auch sehr im Beta-Stadium).
>Ist es realistisch anzunehmen, dass ich in ein paar Jahren eigene>Platinen mit FPGA+SATA-Buchse ätzen kann(Reflow-Ofen für BGA mal>vorausgesetzt), oder braucht man dafür so viel Erfahrung im Bereich>HF-Platinendesign, dass ich es mir gleich wieder abschminken kann und>ewig auf meinen Evaluations-Boards "spielen" werden?
In ein paar Jahren bist du alt und grau ;-)
Etwas Kenntnisse braucht man schon, aber erfahrene Hobbybastler kriegen
das hin.
>Welches Equipment ist wohl notwendig, um solche Projekte mit SATA zu>realisieren?
Vor allem KonwHow, und etwas Hardware.
>Geschwindigkeit und den damit verbundenen Kosten für Messgeräte ja>eigentlich auf für Bastler...
Ja.
>trotzdem machbar
Machbar im Sinne von, wenn man weiss wie man es richtig macht und ein
wenig Glück hat, kommt man auch ohne Messtechnik aus.
> oder lieber weiter mit>PICs herumdümpeln und sich so etwas masochistisches wie ohne Equipment>quasi im Blindflug Hochgeschwindigkeitsbusse zu realisieren erst gar>nicht antun?
Es gibt auch Masochisten, die damit viel "Spass" haben . . . und teur
für bezahlen.
>ging mal so grob geschätzt von 500 $ für ein Eval.Board aus.
Kauf dir ein einfaches für 100..150 Euro und lern die Grundlagen. Damit
bist du als Hobbybastler gut und gerne 1..2 Jahre beschäftigt. Dann
schauen wir weiter.
MfG
Falk
Hi,
danke erstmal für die Infos und die Links, ich habe eine Mail an den
Support von digilentinc geschrieben und gefragt ob man als deutscher
Student (Informatik) die Voraussetzungen für das Angebot an akademische
Nutzer erfüllt. Die Antwort werde ich dann hier bekanntgeben.
@Andreas Schwarz:
Weißt Du was genau das Problem ist? Ich meine, fehlt (noch) lediglich
die Software, um ein Host-System für eine S-ATA-Festplatte zu
repräsentieren, oder gibt es da schwerwiegendere Probleme?
@Falk Brunner:
>>Von BWL hast du wohl nicht wirklich Anhnung?
Naja, ich habe das jetzt nicht direkt nach betriebswirtschaftlichen
Gesichtspunkten bewerten wollen, sondern wollte lediglich eine
Beurteilung, was mich das spätere Umsteigen auf andere FPGAs an Zeit und
Nerven kostet (was ja in gewisser Weise auch einen Geldwert darstellt).
Bei PICs habe ich gemerkt, dass ein Umstieg je nach Controller auch
nicht immer "mal eben so" machbar ist, da muss man dann schon mal
etliche Seiten Dokumentation lesen, weil viele neue Befehle dazugekommen
sind, sich die Art der Adressierung geändert hat und teilweise sogar die
Syntax anders ist. Daher meine Überlegung, mich gleich mit einem
aktuellen Modell zu beschäftigen (auf dem wird man ja auch erstmal
einfache Lauflichter programmieren können, man muss ja nicht sofort
alles ausreizen). Oder beziehen sich bei FPGAs im Gegensatz zu
herkömmlichen Mikrocontrollern die Änderungen eher auf die Anzahl der
Logikzellen, der Multiplikatoren sowie die Höhe der Taktfrequenz, etc.
und der Rest ist quasi alles "genormtes" VHDL? Ich meine gelesen zu
haben, dass in dem VirtexII Pro "Power Processors" enthalten sind. Quasi
als Hardware? Die würden dann ja bei einem Umstieg eventuell wieder
viele neue Befehle und geänderte Syntax implizieren...mir fehlt eben ein
wenig der Überblick, was innerhalb von ein paar Jahren auf dem
FPGA-Markt passieren kann bzw. wird. Wenn es Schwachsinnig ist, sich
jetzt ein teures Board zu kaufen, weil es die entsprechenden FPGAs in
spätestens 4 Jahren mit hoher Wahrscheinlichkeit eh nicht mehr zu kaufen
gibt, dann werde ich diesen Fehler natürlich nicht machen! Aber wenn ich
eh Jahre benötige, um mich in diese Welt einzuarbeiten, dann könnte ich
es theoretisch ja gleich mit einem leistungsfähigen FPGA machen, der
meine heutigen Anforderungen bereits erfüllt und dann später in Bezug
auf eine Kleinserienfertigung erfreulicherweise zu günstigen Preisen zu
beschaffen ist.
Falls ich doch klein anfangen sollte:
Vom Aufbau her sollen ja die CPLDs einfacher sein, würdest Du mir so ein
Board für den allerersten Einstieg empfehlen, oder bei Vorkentnissen mit
Mikrocontrollern doch eher zu einem "kleinen" und günstigen FPGA-Board
raten?
> oder bei Vorkentnissen mit Mikrocontrollern
Die sind in der Hardwarebeschreibung eher hinderlich, da man kein
Programm
schreibt, das Befehlszeile für Befehlszeile abgearbeitet wird.
Schleifenstrukturen in VHDL dienen dazu gleiche Funktionsblöcke mehrmals
in
der Hardware zu erzeugen.
Der reine VHDL- / Verilog-Code kann auf alle Hersteller portiert werden,
solange man keine Hersteller spezifischen Funktionsblöcke einbindet.
Im Normalfall braucht man dass auch nicht und wenn, würde ich es auf den
Top-Layer beschränken.
Ich habe noch nicht mit Xilinx gearbeitet, der implementierte Prozessor
wird
mit Sicherheit über seine definierten Anschlüsse eingebunden.
Ich denke mal, man kann ihn über den Core-Generator einbinden, der dann
in
den Quellcode eine Platzhalter einbaut und für die Simulation ein
Verhaltensmodell.
Für den Anfang reicht auch ein einfaches FPGA-Board.
Altera DE1 - Development and Education Board
http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=39&No=83
Da ist ein Cyclone II EP2C20 mit 20000 Logikelementen drauf.
Der ist mehr als ausreichend für die ersten Versuche.
MfG
Holger
Lern erst mal VHDL (dazu brauchst du noch nicht mal unbedingt ein FPGA),
kauf dir vielleicht ein billiges FPGA-Board wie das Nexys 2 und bastel
damit ein wenig rum, dann kannst du besser einschätzen was möglich ist.
Vorher hat es wirklich keinen Sinn sich über sowas wie SATA Gedanken zu
machen.
Über das Problem mit SATA auf dem Virtex-Board gibt es einen Thread in
comp.arch.fpga, was es genau war weiß ich nicht mehr.
@ HP (Gast)
>Beurteilung, was mich das spätere Umsteigen auf andere FPGAs an Zeit und>Nerven kostet (was ja in gewisser Weise auch einen Geldwert darstellt).
Ist richtig, aber die Gewichtung deinerseits ist viel zu hoch.
>aktuellen Modell zu beschäftigen (auf dem wird man ja auch erstmal>einfache Lauflichter programmieren können, man muss ja nicht sofort
Du brauct erstmal VIEL Grundlagen. Damit bist du erstmal beschäftigt.
>alles ausreizen). Oder beziehen sich bei FPGAs im Gegensatz zu>herkömmlichen Mikrocontrollern die Änderungen eher auf die Anzahl der>Logikzellen, der Multiplikatoren sowie die Höhe der Taktfrequenz, etc.>und der Rest ist quasi alles "genormtes" VHDL?
Jain ;-)
> Ich meine gelesen zu>haben, dass in dem VirtexII Pro "Power Processors" enthalten sind. Quasi>als Hardware?
Ja.
> Die würden dann ja bei einem Umstieg eventuell wieder>viele neue Befehle und geänderte Syntax implizieren...mir fehlt eben ein>wenig der Überblick, was innerhalb von ein paar Jahren auf dem>FPGA-Markt passieren kann bzw. wird.
Muss dich im Moment wenig interessieren. Wenn du die grundlagen
beherrscht, kannst du sich schnell an neue Trends/Entwiklcungen
anpassen.
> Wenn es Schwachsinnig ist, sich>jetzt ein teures Board zu kaufen, weil es die entsprechenden FPGAs in>spätestens 4 Jahren mit hoher Wahrscheinlichkeit eh nicht mehr zu kaufen>gibt, dann werde ich diesen Fehler natürlich nicht machen!
Die FPGAs wird es auch in zehn Jahren noch gebe. Aber heute ein relaiv
tueres HighTec Board zu kaufen ist in deiner Lage Unsinn.
>auf eine Kleinserienfertigung erfreulicherweise zu günstigen Preisen zu>beschaffen ist.
Du denkst schon wieder ziemlich verquer.
>Falls ich doch klein anfangen sollte:
JA!
>Vom Aufbau her sollen ja die CPLDs einfacher sein, würdest Du mir so ein>Board für den allerersten Einstieg empfehlen, oder bei Vorkentnissen mit>Mikrocontrollern doch eher zu einem "kleinen" und günstigen FPGA-Board>raten?
Kleines bis mittleres FPGA, 100k bis 1000k Gatter.
MfG
Falk