Hallo, vorab möchte ich sagen, dass ich hier keinen Krieg anzetteln möchte. Ich würde gerne wissen, welcher Hersteller Hobbyistenfreundlicher ist. Also bei wem mehr in der freien Version der Software geht. Vorallem was embedded Prozessoren angeht. Ich blicke da nämlich nicht wirklich durch.
Hallo, ich würde dir Lattice empfehlen. Ich hab dashir gefunden http://de.mouser.com/ProductDetail/Lattice/ICE40HX1K-STICK-EVN/?qs=sGAEpiMZZMvnsdhmqAkjhufx2j91viwV Alternativ gibt es Xilinx Evaluation-Boards von OHO-Electronics. Die kosten 40€. Heißen GODIL. Es gibt natürlich noch andere preiswerte. Bei allen Herstellern würde ich dir empfehlen die kostenlosen web-Editionen der Synthese-Software nur zum synthesizen zu benutzen. Das geht sogar per Kommandozeile oder Makefile. Simulieren kannst du mit icarus verilog (iverilog) oder ghdl.
Der NIOS II/e von Altera kann komplett kostenlos genutzt werden (IP-Core + IDE + Quartus) Die kostenlose Version von Quartus kann Cyclone 3 + 4 komplett und Cyclone 5 bis einschließlich 150k LE programmieren. Boards gibt es z.B. von Terasic Hoffe geholfen zu haben :-)
Fragender schrieb: > Vorallem was embedded Prozessoren angeht. Vergiss diesen Irrweg der Evolution schnell wieder (das ist meine persönliche Meinung, sie muss nicht zwingend stimmen, aber ich sehe gute Chancen, dass ich langfristig Recht habe... :-). Jeder Prozessor, der als Softcore in ein FPGA reingepflügt wird, ist garantiert langsamer, teurer, ineffizienter und größer als ein dedizierter ASIC mit gleicher Leistung (aka. Mikrocontroller). Wenn du Rechenleistung braucht, dann flanscht du einen 32Bit ARM Core an ein FPGA. Das machen die FPGA Hersteller heutzutage auch alle. Xilinx hat natürlich auch freie Software, die alles das kann, was du willst (man muss sogar fairerweise sagen, dass X die ersten waren, die den teuren Simulator für die Allgemeinheit kostenlos verfügbar machten). Und eine CPU für lau incl. Quelltext (also nicht nur den verschlüsselten Core) bekommst du z.B. dort: Beitrag "Mais-CPU veröffentlicht 32bit Softcore"
Auch wenn ich persöhnlich eher Xilinx-Anhänger bin, so muss ich doch bei Embedded uCs im Hobbybereich Altera QuartusII empfehlen. Ein NiosII-System ist relativ einfach aufgesetzt und eigene Komponenten dank einfacher Docs auch in der begrenzten Hobbyzeit noch realisierbar. Bei Xilinx' EDK sieht's da wesentlich schlechter aus (EDK: im Hobbybereich nur als 30-Tage-Evalversion, da kriegt man nur sehr wenig hin). Und zur Relevanz von eingebetteten Prozessoren: Ein NiosII füllt in modernen Cyclone-FPGAs vllt 5-10 Prozent, ist aber sehr hilfreich bei der Konfiguration und Steuerung div. Komponenten oder Kommunikation mit PC etc.
Der Microblaze bei Xilinx ist mittlerweile auch kostenlos verfügbar. Da wird jetzt dasselbe SDK verwendet wie für die ZYNQs und das ist kostenlos. (habs aber noch nicht wirklich ausprobiert, evtl. kann ja jemand anderes schon was berichten?) Sigi schrieb: > Und zur Relevanz von eingebetteten Prozessoren: Ein NiosII füllt > in modernen Cyclone-FPGAs vllt 5-10 Prozent, ist aber sehr hilfreich > bei der Konfiguration und Steuerung div. Komponenten oder Kommunikation > mit PC etc. Nicht zu vergessen das auf der Platine evtl. gar kein Platz für einen zweiten großen Chip sein könnte und das FPGA evtl. auch nicht genug freie I/Os für eine ausreichend schnelle Verbindung hat.
Sigi schrieb: > Und zur Relevanz von eingebetteten Prozessoren: Ein NiosII füllt > in modernen Cyclone-FPGAs vllt 5-10 Prozent, ist aber sehr hilfreich > bei der Konfiguration und Steuerung div. Komponenten oder Kommunikation > mit PC etc. Ein Prozessor allein ist (so gut wie) gar nichts wert. Interessant sind die Schnittstellen zur Aussenwelt... Ein "modernes" FPGA, in dem ein halbwegs leistungsfähiger Prozessor Platz findet, kostet bei gleichen Stückzahlen um Ewigkeiten mehr (man sollte das drumrum nicht aus dem Auge verlieren) als z.B. ein voll ausgeschlafener 4x1GHz-Core i.MX6 mit jeder Menge Peripherie (PCIe, CAN, 2D/3D-Grafik, undsehrvielmehr). Klar kann es sein, dass ein Softcore manchmal Sinn macht (auch ich setze die Dinger ein), aber sie sind meist sinnlos, wenn sie Selbstzweck sind: "Ich möchte einen Softcore in meinem FPGA." Grendel schrieb: > Nicht zu vergessen das auf der Platine evtl. gar kein Platz für einen > zweiten großen Chip sein könnte Man könnte viele der Aufgaben, für die heute ein FPGA verwendent wird, mit einem effizient programmierten Prozessor gleich gut erledigen. Nur darf man dann nicht mit der üblichen schlampigen "Drauflosprogrammiererei" kommen. > und das FPGA evtl. auch nicht genug > freie I/Os für eine ausreichend schnelle Verbindung hat. Dafür und dagegen wurden dann die Gigabit-Serdes ins FPGA eingebaut... Also würde ich dem Fragenden sagen: fang mal mit "FPGA" an. Und frühestens in einem halben Jahr kannst du dir dann die Prozessor-Geschichte antun. Dann fällst du auch nicht gleich bei jeder klitzekleinen Fehlermeldung des Synthesizers aus allen Wolken...
schon einmal vielen Dank für die zahlreichen Antworten. Lothar Miller schrieb: > Also würde ich dem Fragenden sagen: fang mal mit "FPGA" an. Und > frühestens in einem halben Jahr kannst du dir dann die > Prozessor-Geschichte antun. Dann fällst du auch nicht gleich bei jeder > klitzekleinen Fehlermeldung des Synthesizers aus allen Wolken... Das halbe Jahr habe ich im Rahmen von 2 Modulen in der Uni bereits hinter mir. Da haben wir mit Xilinx gearbeitet. Allerdings ohne EDK SDK (Softcore), sondern rein auf der Hardwareebene. Da jetzt von dem was die Uni anbietet das Ende der Fahnenstange erreicht ist, möchte ich halt auf eigene Faust weiter machen. Erfahrungen mit der FPGA Hardware sind also da. Ebenso habe ich bereits ein paar Erfahrungen auf dem Gebiet der Prozessoren.Hauptsächlich Stm32. Über Sinn oder Unsinn von Softcores lässt sich sicher streiten.Und darauf ob es günstiger ist einen richtgen Prozessor mit in die Schaltung zu integrieren oder gar ein SoC mit echten ARM Cores zu verwenden, zielte meine Frage nicht ab. Ich wollte viel mehr wissen welches Werkzeug (ISE bzw. Vivado oder QuartusII) mir in der freien Version mehr in der Hinsicht bieten kann. Der Grund dafür ist, dass ich verschiedene Informationen diesbezüglich gefunden habe. Zum einen habe ich gelesen, dass Xilinx neuerdings auch ihren Microblaze frei zur Verfügung stellt, allerdings ohne EDK und in einer abgespecken Version. Zum anderen habe ich gelesen, dass der NIOSII nur funktionert, wenn der Byte Blaster angeschlossen ist und quasi eine dauerhafte Verbindung zum PC mit QuartusII besteht. Die Herstellerseiten waren für mich nicht 100%tig zufriedenstellend, was die Infos angeht.
Fragender (Gast) schrieb: >.. Zum anderen habe >ich gelesen, dass der NIOSII nur funktionert, wenn der Byte Blaster >angeschlossen ist und quasi eine dauerhafte Verbindung zum PC mit >QuartusII besteht. .. nein, nicht ganz. Je nach verwendeter Version braucht es keine permanente Verbindung. Details dazu findet man in den Docs, aber leider etwas in den Tiefen versteckt. und: >Byte Blaster.. Du meinst wahrscheinlich USB-Blaster.
Fragender schrieb: > Das halbe Jahr habe ich im Rahmen von 2 Modulen in der Uni bereits > hinter mir. Du wirst deine Zeitrechung vermutlich überarbeiten müssen... Ich meinte ein halbes Mannjahr: hast du jeden Abend mit FPGAs verbracht? > Das halbe Jahr habe ich im Rahmen von 2 Modulen in der Uni bereits > hinter mir. Was hast du da gemacht?
Lothar Miller schrieb: > Du wirst deine Zeitrechung vermutlich überarbeiten müssen... > Ich meinte ein halbes Mannjahr: hast du jeden Abend mit FPGAs verbracht? > >> Das halbe Jahr habe ich im Rahmen von 2 Modulen in der Uni bereits >> hinter mir. > Was hast du da gemacht? OK... :D ein halbes Mannjahr wares sicher lange nicht. Was wir gemacht haben ist zum einen VHDL-Syntax, FSM, Synchronisation von asynchronen Systemen, Hardwarecoprocessoren, und etwas Signalverarbeitung FIR-Filter inkl. Benutzung eines CODECs. Ein halbes Mannjahr ist es sicher nicht. Und mir ist klar, dass ich jetzt nicht problemlos mit einem Softcore umgehen kann. Mein erstes kleines Project soll ansteuerung eines CODECS mittels Softcore und verschiedene Filter in Hardware sein. Mein Ziel ist es auch nicht das nach einer Woche am laufen zu haben.
Welche Uni wenn man fragen darf? Möchte auch was in die Richtung machen...
Lothar Miller schrieb: > Man könnte viele der Aufgaben, für die heute ein FPGA verwendent wird, > mit einem effizient programmierten Prozessor gleich gut erledigen. Nur > darf man dann nicht mit der üblichen schlampigen > "Drauflosprogrammiererei" kommen. Sehr einseitige Sichtweise... Der von Dir erwähnte i.MX taugt nur, wenn man reine µC Performance benötigt. Sobald es in Richtung Echtzeit oder Parallelverarbeitung geht, ist ein FPGA + Softcore die bessere Variante, da man sich gegenüber einer 2 Chip-Lösung die Schnittstelle auf dem PCB spart. Außerdem kann man die Peripherie des Softcore auf die konkrete Anwendung abstimmen, während man bei einem of-the-shelf µC das nehmen muss, was STM, TI, NXP, ... rein packen. Sigi schrieb: > nein, nicht ganz. Je nach verwendeter Version braucht es keine > permanente > Verbindung. Details dazu findet man in den Docs, aber leider etwas in > den Tiefen versteckt. Nennt sich bei Altera OpenCore Plus. Damit kann man IP-Cores erst mal unbegrenzt evaluieren, solange die "Nabelschnur" zwischen FPGA und Quartus besteht. Erst für ein Stand-Alone System braucht man dann die Lizenz: http://www.altera.com/literature/an/an320.pdf Den NIOS II gibt es in 3 Ausführungen (/e, /s, /f) die sich in den Features und der Performance unterscheiden. Der Kleinste (/e) ist ohne Lizenz voll nutzbar. Für die anderen beiden benötigt man entweder die NIOS II Lizenz, oder man kann das System nur mit Nabelschnur testen. :-)
Hallo, das interessiert mich auch. Wie sieht es denn bei den kostenlosen Versionen mit den zusätzlichen Komponenten aus Bibliotheken oder IP-cores aus? Z.B. für SD-Cards, Ethernet (UDP), Displays usw. Würde man etwas komplexes wie ein FAT Dateisystem hardcore zusammenbauen oder sowas doch lieber in einer Soft CPU?
Bob schrieb: > Welche Uni wenn man fragen darf? Möchte auch was in die Richtung > machen... HAW-Hamburg Ok, das mit den Open Cores war mir neu. Momentan sagt mir das neue Cyclone V GX Board von Terasic am ehesten zu.
Jojo S. (jojos) schrieb: >Wie sieht es denn bei den kostenlosen Versionen mit den zusätzlichen >Komponenten aus Bibliotheken oder IP-cores aus? Z.B. für SD-Cards, ... Gut: Neben Prozessor werden zahlreiche lizenzfrei IP-Cores angeboten, die teils mit/ohne "Nabenschnur" laufen. Interesant von Altera ist auch das "University Program", dass noch zahlreiche freie Cores anbietet. FAT: IP-Core für SD-Card wird von Altera angeboten, gute SW-Libs für FAT findet man zu Hauf im Netz. Fragender (Gast) schrieb: >Cyclone V GX Board von Terasic .. Schaut wie ein sehr gutes Board aus, wie DE0-DE2, nur neuer. Und am Preis kann man auch nicht meckern.
Fragender schrieb: > Bob schrieb: >> Welche Uni wenn man fragen darf? Möchte auch was in die Richtung >> machen... > > HAW-Hamburg > > Ok, das mit den Open Cores war mir neu. Momentan sagt mir das neue > Cyclone V GX Board von Terasic am ehesten zu. Ich denke mal mit diesem Board kann man nichts falsch machen. Allerdings finde ich die Anschlussmöglichkeiten nach außen etwas eingeschränkt (kein PS/2 oder gar Netzwerk). Man kann das natürlich nachrüsten und es gibt noch den Anschluss für Arduino-Shields... Falls du dich für Embedded Prozessoren interessierst, dann solltest du dir vielleicht noch das DE1 SOC Board anschauen. Preislich soll es ähnlich gelagert sein und das FPGA hat noch einen Dual-Core A9 eingebaut.
Lothar Miller schrieb: > aber sie sind meist > sinnlos, wenn sie Selbstzweck sind: "Ich möchte einen Softcore in meinem > FPGA." Ja dann bringts natürlich nix. Ich würde nie auf die Idee kommen in einer Anwendung die ich gut mit einem Mikrocontroller erledigen kann ein FPGA zu benutzen. Aber gibt eben viele Sachen wo man sowieso beides(!) braucht... und da machen die Softcores durchaus sehr viel Sinn um den externen Mikrocontroller (nicht 1GHz Applikationsprozessor) zu ersetzen. Lothar Miller schrieb: >> und das FPGA evtl. auch nicht genug >> freie I/Os für eine ausreichend schnelle Verbindung hat. > Dafür und dagegen wurden dann die Gigabit-Serdes ins FPGA eingebaut... Das ist aber nur eine theoretische Möglichkeit. Das bringt bei den Controllern grob in der Leistungsklasse des Microblaze / NIOS (also <500MHz) herzlich wenig, weil die meisten µCs damit nix anfangen können - da gehts dann nur parallel oder sehr langsam per SPI... die die PCIe haben sind zu groß und energiehungrig - man hat da auch nicht nur die CPU auf der Platine sondern auch noch DDR RAM und diverse Schaltregler, macht die Multilayerplatine größer und teurer und viel komplexer zu entwerfen. Mit grob 3000 LUTs bekommt man bei Microblaze/NIOS schon eine gut brauchbare Konfiguration hin und soviel ist das nun auch nicht. --> z.B. Spartan6 LX25 mit Microblaze statt LX16 + irgendein größerer externer Controller - kann Sinn machen und der LX25 hat genug Platz für zusätzliche Peripherie. Der LX25 kostet bei Digikey im selben Package z.B. nur 10 Euro mehr (vom LX25 auf LX45 genauso) - das musst Du mit externem Controller erstmal signifikant unterbieten (inkl. größerer Platine und allen anderen Komponenten).
Mike schrieb: > Falls du dich für Embedded Prozessoren interessierst, dann solltest du > dir vielleicht noch das DE1 SOC Board anschauen. Preislich soll es > ähnlich gelagert sein und das FPGA hat noch einen Dual-Core A9 > eingebaut. Wo bekommt man das denn? Bei Terasic finde man es nur über die Googlesuche, aber bestellbar ist es dort nicht und Distributoren wie Mouser und Digikey haben es auch nicht.
Die Softcores werden doch meistens dafür verwendet, um einen spezialisierten IP-Core noch ein wenig flexible Rechenleistung zur Verfügung zu stellen. Nicht selten läuft in einer 2-Chip-Lösung neben dem fetten Hauptprozessor noch ein kleiner Softcore im FPGA, um ein paar Serviceroutinen unabhängig von der Hauptsoftware laufen zu lassen. Üblich ist das z.B. bei Industrial Ethernet Anwendungen. Und dagegen kann auch ein Lothar Miller nichts machen, auch wenn er anderer Meinung ist. :) Und in naher Zukunft werden viele 2-Chip-Anwendungen wohl durch Zynq und Cyclone SoC abgelöst. Lothar Miller schrieb: > Vergiss diesen Irrweg der Evolution schnell wieder (das ist meine > persönliche Meinung, sie muss nicht zwingend stimmen, aber ich sehe gute > Chancen, dass ich langfristig Recht habe... :-). Und wenn man sich hobbymäßig mit dem Softcore als Selbstzweck beschäftigen will, wenn es auch ein STM32 oder AVR tun würde, wieso nicht? Ist ja schließlich nur ein Hobby, und wenn man FPGA interessanter findet, ist das doch in Ordnung. Das DE0 nano reicht für solche Zwecke allemal und kostet im Endeffekt auch nicht viel mehr als eine komplette AVR-Entwicklungsumgebung mit Debugger und Entwicklungskit.
Naja ich finde halt die ganze SoC Thematik, ob Softcore ala Nios oder Micrblaze oder echter Core ala ARM A9 sehr interessant. Wie gesagt Sinn oder Unsinn von beiden soll hier nicht die Frage sein. Dass es in der Praxis mehr Sinn macht einen "richtigen" Prozessor auf mein PCB zu pflanzen mag sein. Das Problem wird nur sein, dass ich nicht für jede Anwendung die mir gerade einfällt ein möglichst economisches PCB entwickeln kann. Darum SoC... Ich habe mir gerade mal das Altera University-Programm angeschaut. Sehe ich das richtig, dass man als Student garnicht das Recht hat sich dort anzumelden? Ließt sich so als würde das nur von Hochschlupersonal machbar und nur für Hochschulrechner.
Fragender schrieb: > Naja ich finde halt die ganze SoC Thematik, ob Softcore ala Nios oder > Micrblaze oder echter Core ala ARM A9 sehr interessant. Wie gesagt Sinn > oder Unsinn von beiden soll hier nicht die Frage sein. Eben, das ist die Definition eines Hobbys.
Und nicht zu vergessen: Du arbeitest Dich z.B. bei Altera's NiosII nicht nur in die CPU ein, sondern lernst auch ein komplettes Bussystem/Infrastruktur kennen. Ob jetzt CPUs in FPGAs sinnvoll oder nicht sind, diese Erfahrung ist auf jeden Fall Gold wert.
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.