Hallo, ich möchte mich mit VHDL auseinander setzen. Bei uns in der Uni-Bibliothek bin ich auf ein altes Franzis-Buch gestoßen das VHDL anhand des Xilinx XC9572XL sehr praxisnah erklährt. Bei der weiteren Recherche musste ich aber feststellen, dass die Arbeit mit diesem Chip wohl eher Zeitverschwendung ist. Auf der Seite von Farnell steht sogar, dass der Chip nicht mehr produziert wird. Bei der Weiteren suche bin ich dann auf folgende zwei Boards gestoßen: http://www.ebay.de/itm/141809459257?_trksid=p2060353.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT http://www.ebay.de/itm/111832274825?_trksid=p2060353.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT Diese Boards sind in etwa das was ich mir vorstellen würde. Ein paar Dioden und Taster sind für erste Gehversuche schon auf dem Board. Für Erweiterungen sind die IOs des FPGA zugänglich. Nun irritiert mich der doch recht hohe Preisunterschied. Für mich als Einsteiger sehen die Boards recht ähnlich aus. Wie ist der hohe Preisunterschied zu erklären? Gibt es Vorteile bei der Xilinx-FPGA? Reicht für den Anfang das Altera-Board aus oder sollte man doch etwas mehr investieren und sich das Xilinx-Board kaufen (Als Student würde ich mir die 40€ Unterschied lieber sparen wenn kein guter Grund für das Xilinx-Board spricht)? lg michael
Der von dir angesprochene Xilinx XC9572XL ist abgekündigt. Ich bin im Zuge meiner Abschlussarbeit auch über dieses Thema gestolpert. Letztendlich bin ich selbst bei dem Altera MAX V gelandet. Das Dev Kit ist hier auch nicht so teuer, liegt denke ich bei 75€. Software ist frei und nach Anmeldung gibt es online Tutorials. Für den Xilinx XC9572XL findet man allerdings mehr im bezug zu VHDL wobei sich das ganz einfach übertragen lässt.
Xilinx vs Altera ist ein ewiger Glaubenskrieg. Im Endeffekt ist es egal. Der Preisunterschied erklärt sich mir nicht richtig. Klar die Spartan 6 sind eine jüngere Generation als die Cyclone 4 aber das sollte egal sein.
Herbert schrieb: > Xilinx vs Altera ist ein ewiger Glaubenskrieg. Im Endeffekt ist es egal. > Der Preisunterschied erklärt sich mir nicht richtig. Klar die Spartan 6 > sind eine jüngere Generation als die Cyclone 4 aber das sollte egal > sein. geht es hier um die Frage Xilinx vs Altera bezüglich FPGA oder eher wie oben anhand des Bauteils erkenntlich um CPLD? (Die Links zu den Boards kann ich leider nicht öffnen, würde diese Frage ggf. schon klären)
Aus ganz persoenlicher Erfahrung heraus wuerde ich Dir unbedingt zu Altera raten - hier sind die Tools deutlich angenehmer zu bedienen als bei Xilinx (meine Meinung). Der Preisunterschied liegt vermutlich an den Kosten fuer den Programmer - der USB-Blaster kostet grob ein Viertel des Xilinx Programmers. Das gilst sowohl fuer die Originale, als auch fuer die nachgemachten China-Kopien. Was die Leistung angeht: Das Altera FPGA ist von der vorletzten Generation. Das von Xilinx entstammt der aktuellen Serie (die es allerdings schon ewig gibt). Das Xilinx FPGA ist etwas groesser dimensioniert (9K Logikzellen) gegenueber dem Altera (6K) - allerdings kann man dies aufgrund des unterschiedlichen Aufbaus der Zellen nie so ganz 100% miteinander vergleichen (Aepfel und Birnen). Ein Anfaengerdesign wird in beide locker reinpassen.
Suche bei EBay ergibt: beide Boards gibt's um die 50 Euro. Bei beiden Herstellern musst du dich in die Entwicklungsumgebung einarbeiten, lass dir also Zeit mit dem Kauf, am Anfang steht VHDL und Simulation. Wenn du dich mal in einer Umgebung auskennst, dann ist der Sprung auf einen anderen Hersteller nicht so schwer (alle groben Entwicklungsschritte sind immer die gleichen).
Willkommen im Club, nach dem Spartan-Board habe ich auch schon hier nachgefragt: Beitrag "Einstiegsboard Spartan-6" Ich hab mir zum Einstieg in VHDL trotzdem ein XC9572XL Board geholt, da hier auf alle Fälle die ganzen FPGA-Stolpersteine (Config, Clock, etc usw) entfallen und ich schon die erste blinkende LED hinbekommen habe. Der XL9572XL ist nur für bestimmte Gehäuse abgekündigt, alternativ gibt es wohl noch die Coolrunner II. Auch wenn die Zukunft wohl den FPGA gehört frage ich mich, ob das nicht etwas Overkill ist damit eine handvoll Logik-ICs ersetzen zu wollen.
Herbert schrieb: > Xilinx vs Altera ist ein ewiger Glaubenskrieg. Im Endeffekt ist es egal. > Der Preisunterschied erklärt sich mir nicht richtig. Klar die Spartan 6 > sind eine jüngere Generation als die Cyclone 4 aber das sollte egal > sein. In diesen Glaubenskrieg möchte ich nicht einsteigen. Mir geht es darum VHDL kennen zu lernen. Sind die Unterschiede zwischen Altera und Xillinx denn groß? Wie viel Aufwand ist es denn in etwa von einem Hersteller zum anderen zu wechseln? Kann man das in etwa mit dem Umstieg von AVR auf PIC oder AVR auf STM32 vergleichen? Also generell kann ich zum erlernen der Grundlagen auch reinen Gewissens das Altera-Board nehmen wenn ich dich richtig verstehe.
much schrieb: > Herbert schrieb: >> Xilinx vs Altera ist ein ewiger Glaubenskrieg. Im Endeffekt ist es egal. >> Der Preisunterschied erklärt sich mir nicht richtig. Klar die Spartan 6 >> sind eine jüngere Generation als die Cyclone 4 aber das sollte egal >> sein. > > In diesen Glaubenskrieg möchte ich nicht einsteigen. Mir geht es darum > VHDL kennen zu lernen. Sind die Unterschiede zwischen Altera und Xillinx > denn groß? Wie viel Aufwand ist es denn in etwa von einem Hersteller zum > anderen zu wechseln? Kann man das in etwa mit dem Umstieg von AVR auf > PIC oder AVR auf STM32 vergleichen? > > Also generell kann ich zum erlernen der Grundlagen auch reinen Gewissens > das Altera-Board nehmen wenn ich dich richtig verstehe. Für deine Zwecke ist es wirklich egal. Übertragen lassen sich alle Sachen, die keine spezifischen Ressourcen des jeweiligen IC nutzen. Sich an die neue Entwicklungsumgebung zu gewöhnen ist deutlich umfangreicher als beim Umstieg auf andere Mikrocomputer. Dennoch ist man nicht sein Leben lang an eine Sache gebunden, also probiers einfach aus. Vielleicht bietet deine Hochschule ja auch schon Evalboards an.
much schrieb: > Wie viel Aufwand ist es denn in etwa von einem Hersteller zum anderen zu > wechseln? Es kommt darauf an, wie plattformabhängig du deinen Code schreibst. Ich habe schon Arbeiten gesehen, wo jedes einzelne UND und NOT von Hand instatiiert wurde. So ein Design bekommst du nie und nimmer reibungslos irgendwo hin portiert. > Kann man das in etwa mit dem Umstieg von AVR auf PIC oder AVR > auf STM32 vergleichen? In etwa: die Denkweise ist die selbe, die Datentypen sind die selben, die Struktur ist die selbe, nur an einigen kleinen Ecken bleibt man eben hängen und holt sich kleine "Schürfwunden"... > Mir geht es darum VHDL kennen zu lernen. Sind die Unterschiede zwischen > Altera und Xillinx denn groß? Xilinx hat seine Toolchain mit dem eigenen Simulator. Altera hat seine Toolchain mit ModelSim, Lattice hat als Simulator ActiveHDL von Aldec. Du kommst mit allen ans Ziel. Und es ist gar nicht mal so schlecht, wenn du mehrere Simulatoren bedienen kannst, denn dann kannst du im Zweifelsfall auch mal "den Anderen" befragen... > Mir geht es darum VHDL kennen zu lernen. EIn Tipp: fang doch mal ganz ohne Hardware an. Nur mit dem Simulator. Es ist nicht soooo arg kompliziert...
Moin, Würde auch zur Trockenübung raten, und das X oder A oder L-Problem erst mal aussen vor lassen. Die Vergleiche zwischen den Tools sind auch schwierig, je nachdem was man macht, und um welche Plattform es sich handelt, ist mal X oder mal L besser. Das Q von A flog bei mir in die Ecke, das lag aber an dem intransparenten Qsys mit div. Cores, die nicht miteinander wollten. Meine Favoriten: - MyHDL für den Einstieg (da ist der Simulator mit drin) - GHDL fürs Schreiben von wirklich sauberem VHDL - iverilog/Icarus für die Verilog-Seite Ab dem Punkt wo's dann was kosten darf und es in die HW muss, wird's dann meist halt der Haus&Hof-Simulator des jeweiligen Herstellers. Obwohl mit GHDL sehr viel geht, solang es keine verschlüsselten VHDL-Files sind. Grüsse, - Strubi
Lothar M. schrieb: > EIn Tipp: fang doch mal ganz ohne Hardware an. Nur mit dem Simulator. Es > ist nicht soooo arg kompliziert... Strubi schrieb: > Würde auch zur Trockenübung raten, und das X oder A oder L-Problem erst > mal aussen vor lassen. Habe mich jetzt entschlossen euren Rat zu beherzigen und erst einmal mit einem Simulationstool zu arbeiten bevor ich mir eine HW zulege. Ich habe mich jetzt ein bisschen mit ghdl+GTKwave beschäftigt. Was mich daran noch ein bisschen stört sind die notwendigen Testbenches um meinen Code zu überprüfen. Als Anfänger stehe ich vor dem Problem, dass ich keine eigenen VHDL-Code erstellen kann, weil mir das know-how zum testen dieses Codes fehlt. Gibt es eine Möglichkeit den VHDL-Code quasi in einem Prozess zu starten und die Eingänge manuell zu manipulieren?
much schrieb: > Gibt es eine Möglichkeit den VHDL-Code quasi in einem Prozess zu starten > und die Eingänge manuell zu manipulieren? Man kann meist Ports "forcen". Aber vergiss diese vermurkste Vorgehensweise. Das Schöne an Testbenches ist, dass du für die Simulation keine zweite "Programmiersprache" lernen musst. Nein, viel einfacher: du kannst alles in VHDL machen. Das ist doch toll! Sieh dir mal das an: http://www.lothar-miller.de/s9y/archives/80-Hello-World!.html Oder das: http://www.lothar-miller.de/s9y/archives/57-Sinusausgabe-mit-PWM.html Dort siehst du, dass die Testbench keine Raketentechnik ist: sie ist einfach nur ein VHDL Modul ohne(!) Ports. Und in dieses Modul ist der "Prüfling" als Komponente eingebunden. Und: schon wieder 2 Sachen gelernt. Geht doch ganz einfach... ;-)
Wenn es um Altera und Xilinx geht, kann ich dir auch nicht prinzipiell helfen. Ich habe aber selber vor etwa einem Jahr angefangen, und habe mir ein Altera und ein Xilinx Board organisiert. Obwohl in der aktuellen Software relativ viel geändert wurde (zu den meisten Anleitungen die man findet) kam ich mit der Software von Altera besser zurecht. Ist natürlich sehr subjektiv, du musst dir aber im klaren sein, dass bei einem FPGA deutlich mehr in der Software (Ports, constraints...) zu konfigurieren ist als beispielsweise einem Mikrocontroller.
Hi much, > > Ich habe mich jetzt ein bisschen mit ghdl+GTKwave beschäftigt. Was mich > daran noch ein bisschen stört sind die notwendigen Testbenches um meinen > Code zu überprüfen. Als Anfänger stehe ich vor dem Problem, dass ich > keine eigenen VHDL-Code erstellen kann, weil mir das know-how zum testen > dieses Codes fehlt. > > Gibt es eine Möglichkeit den VHDL-Code quasi in einem Prozess zu starten > und die Eingänge manuell zu manipulieren? Die gibt es, allerdings ist auch der Weg nicht sonderlich einfach und funktioniert mit der mcode-Version von GHDL (Standard für Windows) nicht. Unter Linux ist es einfacher. Nennt sich ghdlex und erlaubt Co-Simulation, d.h. du kannst aus einem C-Programm oder Python-Script Pins oder Registerwerte asynchron von aussen manipulieren. ABER: Ich würde sagen, Du kommst um die Testbench nich drumherum, denn obiges ersetzt, da eben asynchron und eigentlich basierend auf *Software*-Prozeduren, niemals die VHDL-Testbench. Sieh die TB einfach als Gegenstück, wie ein virtuelles I/O-Board zu deinem Chip-Design. Folge Lothars Ruf :-) Gruss, - Strubi
>Gibt es eine Möglichkeit den VHDL-Code quasi in einem Prozess zu starten >und die Eingänge manuell zu manipulieren? interactive Simulation? manche Programme (bsp. NI, TINA, DesignWorks) bieten sowas.
much schrieb: > Sind die Unterschiede zwischen Altera und Xillinx > denn groß? Wie viel Aufwand ist es denn in etwa von einem Hersteller zum > anderen zu wechseln? Stop mal... Also, es geht hier doch erstmal um die Alternative zwischen CPLD und FPGA. Klar, mit einem CPLD kann man zumeist nicht so große Projekte durchziehen wie mit einem (zumeist sehr viel größeren) FPGA. Aber so ein CPLD hat auch seine netten Seiten: 1. viel einfachere Konfiguration. Bei FPGA's wird eigentlich immer ein Konfigurations-Flash dazu benötigt. OK, manche Teile haben den bereits eingebaut. Aber die heutigen FPGA's kennen einen ganzen Sack voll unterschiedliche Konfigurationsmethoden, von seriellem Flash, parallelem Flash, vom µC, als Master, als Slave, und weiß der Geier noch. Beim CPLD brennst du das Jedecfile einmal in den Chip und ab da ist er bis zum nächsten Mal fertig programmiert und funktioniert ganz einfach als Solo-IC in deiner Schaltung. 2. wirklich dedizierte Pins gibt es bei CPLD's eigentlich nicht (außer GND, VCC's und JTAG). Ja, manche Pins könnnen bei Bedarf als General-Reset oder General-Takt usw. gebraucht werden, aber wer das nicht braucht, hat sie für beliebige Zwecke frei. Für den allerersten Anfang und für eine ganze Reihe von Anwendungen, wo man nicht die große Keule braucht, sondern nur was einfaches, konfigurierbares und schnelles, ist ein CPLD richtig gut geeignet. Zu den FPGA's diverser Hersteller: Da gibt es gewaltige Unterschiede, denn in den allermeisten Fällen braucht man bestimmte Spezereien, die es eben nur in einer bestimmten Baureihe eines bestimmten Herstellers gibt. Portabilität trotz VHDL gleich NULL. Jetzt könnte man sagen, daß man ja alles in VHDL nachbilden kann, aber das ist Käse, denn damit ist auch ein FPGA ganz schnell überfordert. Beispiel sind eigentlich alle DSP-Funktionalitäten, für die man MAC-Register und sonstige Recheneinheiten braucht. Auch größere Zähler gehören in diese Sparte (das ist eher ne Spezialität von CPLD's). Und all solch Zeugs ist von Baureihe zu Baureihe und Hersteller zu Hersteller herzlich unterschiedlich gestaltet. Bei manchen FPGA's (Lattice) muß man sogar Obacht geben, auf welche Seite des FPGA's man was anschließt, da geht nicht alles mit allem. Also, das Wechseln des Herstellers bei einem echten Projekte halte ich für schlichtweg unmöglich - das läuft auf Neuschreiben hinaus. Guck dir mal die IP's an, die bei Xilinx mit der ISE mitkommen. Das meiste davon kriegst du zu Fuß nicht nachgebildet und wenn du es trotzdem tun willst, frißt es dir die Logik auf. Aber ein Eval-Board für ein CPLD ist ne Albernheit in sich. CPLD's setzt man zusammen mit anderem projektspezifischem Zeugs auf eine Leiterplatte und benutzt sie einfach. Du kaufst dir ja auch kein Eval-Board für nen 74HC00 - oder? W.S.
@ michael s
> Der von dir angesprochene Xilinx XC9572XL ist abgekündigt.
Woraus schöpfst du diese Erkenntnis?
Bürovorsteher schrieb: > Woraus schöpfst du diese Erkenntnis? Aus der ersten Zeile des Datenblatts... http://www.xilinx.com/support/documentation/data_sheets/DS063.pdf Und zudem hat Lattice, der "Erfinder" der CPLDs, seine CPLDs schon vor einigen Jahren vom Markt genommen. Na gut, ein paar alte ispMACH krebsen aus Nostalgiegründen noch im Portfolio herum. Aber heute mit CPLDs anzufangen ist, wie wenn man statt mit einem AVR mit einem 8039 beginnt und schon beim ersten Projekt an die Grenzen dieses Bausteins stößt...
:
Bearbeitet durch Moderator
Als billiges und vielseitiges Starterboard bietet sich dieses mit dem Altera MAX10 an: http://www.alterawiki.com/wiki/BeMicro_Max_10 - Der Programmer ist schon auf der Platine und das Board hängt am USB - Integriertes Flash - Integrierter ADC - Hardwaremultiplier usw... Aber wie schon erwähnt wurde: Hersteller ist eigentlich egal und die ersten Trockenübungen am Simulator sind auch sinnvoll (ohne wirst du Schiffbruch erleiden).
Lothar M. schrieb: > Bürovorsteher schrieb: >> Woraus schöpfst du diese Erkenntnis? > Aus der ersten Zeile des Datenblatts... > http://www.xilinx.com/support/documentation/data_sheets/DS063.pdf Dumm nur, das dieses Datenblatt überhaupt (fast) nichts mit dem angefragten Baustein zu tun hat. Das ist so als wenn jemand Fragt ob der ATMEGA88 noch hergestellt wird und du ein AT90xxx Datenblatt postest. Dein Datenblatt ist für die XC9500 Serie OHNE XL! Das sind die Vorgänger der hier diskutierten XC9572XL... Die XC9500XL Serie ist aber noch in Produktion. Lediglich einige Gehäusevarianten wie PLCC wurden abgekündigt. Ausserdem muss es wohl etwas wie eine Überarbeitung gegeben haben weil es eine Reihe Abkündigungen gab mit Ersatz durch scheinbar gleichem Typ. Ob das jetzt nur die Numerierung/Gehäuseaufdruck betrifft oder etwas in Richtung DIE-Shrink vorgenommen wurde entzieht sich aber meiner Kentniss. > Und zudem hat Lattice, der "Erfinder" der CPLDs, seine CPLDs schon vor > einigen Jahren vom Markt genommen. Na gut, ein paar alte ispMACH krebsen > aus Nostalgiegründen noch im Portfolio herum. Aber heute mit CPLDs > anzufangen ist, wie wenn man statt mit einem AVR mit einem 8039 beginnt > und schon beim ersten Projekt an die Grenzen dieses Bausteins stößt... Nöö, Absolut NICHT! Zwar gibt es große Überschneidungen zwischen µC und CPLD/FPGA, aber dennoch ist das nicht direkt vergleichbar. PLDs sind eine Sache für sich. CPLD ist erst einmal Digitaltechnik auf der untersten Ebene. Mit allen Nachteilen, aber vor allem auch mit allen Vorteilen. Letztendlich kann man dies mit etwas Wohlwollen noch unter HArdwareentwurf laufen lassen. Mit einem kleinen Low-Cost CPLD und einem 8Bit PIC/AVR in Kombination kann man Sachen machen für die man im reinen µC Design einen 200MHZ Pic32MZ oder ARM9 als Minimum ansehen müsste und dennoch zu kämpfen hätte... Oder um es wie du als Vergleich auszudrücken: Jemand Fragt ob auf welchem Boot er für die Bootsführerscheinprüfung lernen soll, du aber Antwortest ihm das es doch völlig veraltet wäre mit dem Boot zu fahren, schließlich fährt heute alle Welt mit dem Auto... Gruß Carsten
:
Bearbeitet durch User
W.S. schrieb: > Aber ein Eval-Board für ein CPLD ist ne Albernheit in sich. CPLD's setzt > man zusammen mit anderem projektspezifischem Zeugs auf eine Leiterplatte > und benutzt sie einfach. Du kaufst dir ja auch kein Eval-Board für nen > 74HC00 - oder? Oder man holt sich so ein billiges MAX II Board aus China und hat ihn auf ner praktischen Adapterplatine.
Carsten S. schrieb: > Die XC9500XL Serie ist aber noch in Produktion. Lediglich einige > Gehäusevarianten wie PLCC wurden abgekündigt. Ok, da habe ich mich von Digikey täuschen lassen: http://www.digikey.com/product-detail/en/XC9572XL-10TQG100Q/XC9572XL-10TQG100Q-ND/1957200 Wie auch immer: dass Xilinx nichts mehr in diese Richtung tut, sollte Warnsignal genug sein... > Oder um es wie du als Vergleich auszudrücken: > Jemand Fragt ob auf welchem Boot er für die Bootsführerscheinprüfung > lernen soll, du aber Antwortest ihm das es doch völlig veraltet wäre mit > dem Boot zu fahren, schließlich fährt heute alle Welt mit dem Auto... Naja, das holpert schon ein wenig mehr... Wenn ich unbedingt deinen Vergleich mit dem Auto und dem Boot nehmen muss, dann ist das wie wenn sich einer wundert, dass man mit dem Boot nur auf wenigen Wasserstraßen fahren kann, und ich ihm sage, dass man mit dem Auto wesentlich mehr Bewegungsfreiheiten hat und sogar einen Berg hinauffahren kann. Oder wenn wir bei den Vergleichen im Verkehr bleiben sollen: es ist wie wenn er mich fragt, ob er den Mopedführerschein (=CPLD)oder den Autoführerschein (=FPGA) machen soll. Und ich sage ihm: mach den Autoführerschein. Natürlich kann er später erst den Autoführerschein machen und ein Stück weit auch weiterhin anwenden, was er als Mopedfahrer lernt. Aber er kann u.U. falsches "Verhalten" lernen und Sachen tun, die man als Autofahrer besser nicht täte. Und er wird in der täglichen Anwendung eben schneller an Grenzen stoßen: er kann z.B. mit seinem Moped nicht so einfach einen Schrank oder 10 Sack Zement transportieren. Wie gesagt: nimm ein FPGA und lerne synchrones Design. Dann kannst du später wenn es unbedingt nötig sein müsste, immer noch ein CPLD herausziehen (wenn es die Dinger dann noch gibt...)
Lothar M. schrieb: > Carsten S. schrieb: >> Die XC9500XL Serie ist aber noch in Produktion. Lediglich einige >> Gehäusevarianten wie PLCC wurden abgekündigt. > Ok, da habe ich mich von Digikey täuschen lassen: > http://www.digikey.com/product-detail/en/XC9572XL-10TQG100Q/XC9572XL-10TQG100Q-ND/1957200 > Wie auch immer: dass Xilinx nichts mehr in diese Richtung tut, sollte > Warnsignal genug sein... JA, der ist wohl im Rahmen der Produktpflege weggefallen. KAnn jetzt auf Anhieb ausser dem Temperaturbereich nichts besonderes finden. Der ist für den Betrieb bis von -70C bis +85C spezifiziert gewesen. Ob noch andere Besonderheiten kann ich nicht sagen. Mit "normalem" Temperaturbereich, z.B. -40C + 85C ist der aber problemlos verfügbar... > Oder wenn wir bei den Vergleichen im Verkehr bleiben sollen: es ist wie > wenn er mich fragt, ob er den Mopedführerschein (=CPLD)oder den > Autoführerschein (=FPGA) machen soll. JA, da haben wir einfach etwas aneinander vorbeigeschrieben. Du hattest ja nur geschrieben: Nimm keine CPLDs mehr. Ich hatte das dann (wohl fälschlicherweise) als Verweis auf µC aufgefasst. Das du damit den Direkteinstieg in FPGA meintest habe ich erst nicht so aufgefasst. Wenn man dies vorraussetzt hast du natürlich -bedingt- Recht! Ich schreibe aber -bedingt- weil man es halt doch nicht so allgemeingültig sagen kann. Es kommt auf jeden Fall darauf an WAS man perspektivisch erreichen möchte... Will jemand wirklich synchrones Design lernen, irgendwann komplexe Signalverarbeitung realisieren usw., dann hast du auf jeden Fall Recht! Dann macht es bei den heutigen Bausteinen & Preisen auf jeden Fall Sinn die CPLDs zu überspringen und schon die allerersten Schritte auf einem kleinem FPGA zu machen. Da sollte es keine Diskussionen geben. Aber es gibt ja auch genug Anwender die von vorneherein wissen das dies gar nicht ihr Endziel ist. Wo es von Anfang an nur darum geht geringfügig komplexere Glue Logic zu realisieren ohne gleich ein Bauteilgrab auf der Platine zu haben. Gerade wenn harte Reaktionszeitvorgaben zu erfüllen sind geht es auch heute oft nicht ohne ein wenig Logik um den µC herum. Da hat man dann manchmal die Wahl zwischen 5-10 Bauteilen von der Stange oder einem kleinen CPLD... Wobei es allerdings im kommerziellen Umfeld nicht zwingend auf den CPLD hinauslaufen muss - DA entscheidet der Platz und Gesamtpreis. JE nach Aufgabe können da auch eine Handvoll Standardbauteile insgesamt billiger sein... Allerdings gibt es ja mittlerweile einige µC Hersteller die echte PLD Blöcke als Peripherie direkt einbauen. (z.B. Microchip bei neueren PIC16F) Wenn man dann noch die gute alte Schaltalgebra beherrscht, dann kann man zumindest bei den PICs damit sogar Funktionen realisieren die nicht so vorgesehen sind ;-) Für Personen die von vorneherein die Absicht haben sich "nur" auf dieser Ebene zu bewegen ist der Einstieg mit FPGA aber sicher alles andere als eine gute Empfehlung. DA fängt man dann doch besser mit den CPLD an. ISt aber sicher auch alles eine Frage der eigenen Sichtweise und Erfahrungen. Als jemand der aus der HArdwareecke kommt habe ich bei den meisten Hobbyprojekten sowie bei allen beruflichen Projekten bei denen PLD zum Einsatz kamen auf Grund der Anforderungen ausschließlich CPLD eingesetzt. FPGA Projekte habe ich bisher nur aus Interesse am Arbeiten mit FPGA durchgeführt (Lernen/Fortbildung/Hobby). Gruß Carsten P.S.: DAs es auch heute noch gute Gründe gibt bei freier WAhl zwischen FPGA und CPLD ab und an - je nach Anforderung- den CPLD zu wählen ist hoffentlich unbestritten. Halt beispielsweise wenn es wirklich darauf ankommt kurze, sicher vorhersagbare, Signallaufzeiten zu erhalten... Aber das ist sicher kein Einsteigerthema und jemand der tiefer drinsteckt kann i.d.R. ja selbst gut beurteilen was für die konkrete Anwendung jetzt besser geeignet ist.
:
Bearbeitet durch User
Carsten S. schrieb: > Allerdings gibt es ja mittlerweile einige µC Hersteller die echte PLD > Blöcke als Peripherie direkt einbauen. (z.B. Microchip bei neueren > PIC16F) Ja diese Sau wurde schon Anfang dieses Jahrtausends z.B. auch von Atmel durchs Dorf getrieben (http://www.atmel.com/products/programmable-logic/field-programmable-gate-array/default.aspx). Und dann immer wieder mal von allen möglichen Anderen...
Carsten S. schrieb: > P.S.: DAs es auch heute noch gute Gründe gibt bei freier WAhl zwischen > FPGA und CPLD ab und an - je nach Anforderung- den CPLD zu wählen ist > hoffentlich unbestritten. Halt beispielsweise wenn es wirklich darauf > ankommt kurze, sicher vorhersagbare, Signallaufzeiten zu erhalten... > Aber das ist sicher kein Einsteigerthema und jemand der tiefer > drinsteckt kann i.d.R. ja selbst gut beurteilen was für die konkrete > Anwendung jetzt besser geeignet ist. Das machen heute die Tools per Constraint-Angaben so gut, dass die Simulation mit der Realität übereinstimmt und man getrost ein CPLD durch ein FPGA der neueren Bauart (mit integriertem Flash) ersetzen kann. Lattice hat mit seinen MACHXO2 oder ICE40 IMHO da die Nase vorn. Auch das Stromsparargument (Xilinx Coolrunner vs. ICE40) ist inzwischen ein totes welches :-) Grüsse, - Strubi
> Allerdings gibt es ja mittlerweile einige µC Hersteller die echte PLD > Blöcke als Peripherie direkt einbauen. das bisschen (nur Bruchteile v PLD) da drin kann man fast völlig vergessen! Lattice hat CPLDs wohl nicht erfunden, sondern Altera, aber egal. (Der alte Streit war immer, dass Altera sagt, ihre ICs sind (im Gegensatz zu FPGAs) im Timing "vorhersagbar") 4000erMACH-CPLDs von Lattice gibts immer noch, auch von Altera sind wohl nicht alle PLDs abgekündigt, und Atmel macht auch noch welche (Archit. ähnl. Altera). Da es ua XC95..XL selbst heute (nach ca 18 Jahren!) immer noch (günstig) zu kaufen gibt, zeigt wohl, dass es immer noch (reichlich) Nachfrage und Verwendung dafür gibt (und FPGAs längst nicht immer günstiger sind). Es kommt halt auf die konkrete Anwendung an. Xilinx entwickelt kleinere ICs (PLDs/FPGAs) nur deshalb nicht mehr, weil die nur noch grössere Margen im Sinn haben. (Intel macht ja auch keine 1eu-Controller).
> CPLD durch ein FPGA der neueren Bauart (mit integriertem Flash) ersetzen >
kann. Lattice hat mit seinen MACHXO2
Meinen größten Umsatz mache ich mit Geräten. die einen XC9536XL oder
XL9572XL enthalten. Die Dinger kosten bei gewerblichen Abnahmemengen ca.
90 ct bzw. 1,40 €.
Der billgste MachXO2 kostet etwa 3 € (im TQFP100).
Kein Kunde wird mich nicht nach der Schönheit der Schaltung oder der
Schönheit und Modernität der eingesetzten Schaltkreise bezahlen.
Man nimmt das, was die Funktion erfüllt und den günstigen Preis hat.
Und da wird der XC95xxXL noch lange überleben.
>Lattice hat mit seinen MACHXO2 oder ......
ja?
im 100 Pin Gehäuse mit mehr als 70 IOs kostet der über das doppelte von
einem 72er XC...!
Auch bei MAXV kriegt man für einen 72er-XC... -Preis lediglich 80LEs!
(da sind 72 MACs allemal besser). 160 LEs sind schon wieder viel teurer
(auch da ist es fraglich, obs nicht 72 MACs tun würden).
Also, wenn ein Design doch in so ein PLD reinpasst, ist es günstiger das
zu nehmen.
Die meisten CPLDs ähneln vom Aufbau der Makrozellen und der Matrix eher ihren großen FPGA Brüdern, z.B. Altera MAX.
MCUA schrieb: > Xilinx entwickelt kleinere ICs (PLDs/FPGAs) nur deshalb nicht mehr, weil > die nur noch grössere Margen im Sinn haben. (Intel macht ja auch keine > 1eu-Controller). Genau das ist ja das Denkwürdige: es lohnt sich offenbar nicht. Fazit ist also, dass in diesem Satz eine Ergänzung nötig ist: MCUA schrieb: > Also, wenn ein Design doch in so ein PLD reinpasst ... ... und wenn man sich keine Sorgen um dessen Abkündigung machen muss... > ... ist es günstiger das zu nehmen. Es geht hier aber eigentlich eh' nicht um die Frage, ob das winzigste Design billiger in das billigste CPLD reinpasst, sondern darum, ob man auf dem billigsten und kleinsten CPLD mit VHDL anfangen sollte. Oder ob man nicht besser schon am Anfang auf ein leistungsfähigeres und zukunftsträchtigeres System wie FPGAs setzt. Das was man da lernt kann man dann immer noch reduzieren und in ein CPLD packen...
>> Xilinx entwickelt kleinere ICs (PLDs/FPGAs) nur deshalb nicht mehr, weil >> die nur noch grössere Margen im Sinn haben. (Intel macht ja auch keine >> 1eu-Controller). >Genau das ist ja das Denkwürdige: es lohnt sich offenbar nicht. Nein, nur für Xilinx (erfolgsverwöhnt?) lohnt es sich nicht. >... und wenn man sich keine Sorgen um dessen Abkündigung machen muss... ja aber das Dingen gibts doch schon 18 Jahre! Und fürs erlernen würd ich mich grade wegen der (PAL)Historie (damals gab es VHDL noch überhaupt nicht) zuerst mit PLDs, nicht mit FPGAs, befassen.
MCUA schrieb: >> ... und wenn man sich keine Sorgen um dessen Abkündigung machen muss... > ja aber das Dingen gibts doch schon 18 Jahre! Mal andersrum gefragt: wie viele ICs haben es deutlich über 18 Jahre geschafft? ;-) > Und fürs erlernen würd ich mich grade wegen der (PAL)Historie (damals > gab es VHDL noch überhaupt nicht) zuerst mit PLDs, nicht mit FPGAs, > befassen. Den selben Weg mit GALASM und Konsorten habe ich auch hinter mir. Mein Fazit: dieses Wissen um die Historie der CPLDs bringt nichts für die Arbeit mit FPGAs.
>Mal andersrum gefragt: wie viele ICs haben es deutlich über 18 Jahre >geschafft? ;-) bsp OPs, TTL-ICs.
Ich meinte ICs deutlich über dem Niveau eines 555ers... Aber seis drum: wer möchte, darf meinetwegen gern auch heute noch mit Röhren oder mit CPLDs anfangen. Er darf sich nur nicht vormachen, das wäre zeitgemäß.
FPGAs gibt es mit Sicherheit keine, die über 18 Jahre am Markt sind. Also was hat sich bisher länger gehalten? >Er darf sich nur nicht vormachen, das wäre zeitgemäß. Was ist denn zeitgemäß? 5,00$ oder 2,50$ zu bezahlen?
Statt einem Spartan könntest du auch ein Artix-7 nehmen, der ist dann 28nm statt 45nm. Z.B. habe ich folgendes Board mir damals gekauft: http://shop.trenz-electronic.de/de/26083-Basys3-Artix-7-FPGA-Board-Akademisch?c=175 Bei Digilent gibt es etwas größere, aber mit 33k Logikzellen bist du bestimmt gut bedient. Da ich neben Xilinx Vivado nur noch ModelSim kenne, kann ich nichts zu Altera Toolchain sagen. ModelSim fine ich reagiert etwas schneller als Vivado, aber dafür ist Vivado mit dem FlowNavigator relativ übersichtlich.
Torben Kuhn schrieb: > Die meisten CPLDs ähneln vom Aufbau der Makrozellen und der Matrix eher > ihren großen FPGA Brüdern, z.B. Altera MAX. Da liegst du aber ziemlich falsch. Nicht nur die meisten, sondern alle (echten) CPLD's haben einen Aufbau, wo vor einem FF ein Satz von AND/OR-Gattern ist, bei denen gerade die AND's zum Teil ausgesprochen heftig sind: AND32 und größer ist keine Seltenheit. Darum kann ein CPLD auch richtig große und schnelle Synchronzähler, was ein FPGA nie und nimmer kann - es sei denn als zusätzliche fertig-Zähler außerhalb des LUT-Geschehens. Wenn man sich nen Zähler mit LUT's bauen will, müssen davon gar viele kaskadiert werden und man ist mit der maximalen Zählfrequenz unterirdisch. Bei den Coolrunnern können die inneren FF typischerweise 600..700 MHz ab. Ist ideal für Frequenzzähler und andere Dinge, die einigermaßen schnell laufen sollen, also mit Takten > 300 MHz. Bau du mal testeshalber nen Frequenzzähler mit nem FPGA, der bei 500 MHz Input noch nicht versagt... Lothar M. schrieb: > ob man nicht besser schon am Anfang auf ein leistungsfähigeres und > zukunftsträchtigeres System wie FPGAs setzt. Lothar, das was mich an dir am meisten ärgert, ist deine viel zu tendenziöse Sicht auf die Dinge - respektive Äußerungen zu den Dingen. Ständig hört man von dir "nehmt ein FPGA, am besten ein ganz großes, das ist am geilsten - und hütet euch vor allem, was ne Nummer kleiner und biederer ist, sowas ist ja ÜBERHAUPTNICHTMEHR zeitgemäß". Seit wann ist eigentlich jemand, der ein kleines CPLD mittels VHDL oder Verilog programmiert (ja, nochmal: ich sage dazu "programmiert"), veraltet oder hat was nicht zukunftsträchtiges gelernt? Das klingt nach "WAAS? Ich soll auf nem Polo fahren lernen? Wo angesichts meines Vorhabens, nen 500 PS Turbo-SUV mal zu kaufen, so ein Polo ja wohl überhaupt nicht mehr zeitgemäß sein kann!". Du rätst also tatsächlich einem Einsteiger, zu allererst sich auf ein FPGA zu stürzen, das er erstmal nicht auf ne eigene LP kriegt, ohne daß er sich schon bei der Konfigurationsfrage die Beine bricht. jaja, man nehme ein tolles Evalboard mit FPGA, 32 MB SDRAM, Ethernetanschluß und so weiter, da kann man die vorgefertigte Demo im Konfig-Flash sehr schön laufen sehen, toll aha, ganz toll. Aber wer tatsächlich nicht nur Vorgekautes anglotzen will, der ist damit so richtig schlecht bedient: kostet viel Geld, ist für das Erlernen zu überdimensioniert und man kann nichtmal ne eigene Idee bis zum anwendbaren Gerät ausentwickeln. Also bitte auf dem Teppich bleiben. W.S.
student schrieb: > Z.B. habe ich folgendes Board mir damals gekauft: Ja. Was liest man denn da: "Basys3 Artix-7 FPGA Board Akademisch" " 72,58 €, Preise zzgl. gesetzlicher MwSt. zzgl. Versandkosten" Ja, "akademisch". Etwa so wie "J-Link Edu". W.S.
W.S. schrieb: > Du rätst also tatsächlich einem Einsteiger, zu allererst sich auf ein > FPGA zu stürzen Ich rate das einem Einsteiger, der VHDL machen will, denn much schrieb: >>> ich möchte mich mit VHDL auseinander setzen Denn in ein CPLD bekommt man gerade mal einen feuchten Witz von VHDL. Es ist nun einmal so. Oder sehe ich das soooo unglaublich falsch? Als Tipp: auch ich habe ein paar mikrige Designs für CPLDs auf meiner Homepage. Und wenn man dann für eine simple SIO schon mit dem Takt herumtricksen muss, dann lernt man zwar viel über Hardware, aber nix über VHDL. CPLD: http://www.lothar-miller.de/s9y/categories/49-RS232-IO FPGA: http://www.lothar-miller.de/s9y/categories/42-RS232 CPLD: http://www.lothar-miller.de/s9y/archives/31-SPI-Slave-im-CPLD.html FPGA: http://www.lothar-miller.de/s9y/archives/48-RS232.html Und dann noch das Ende der Fahnenstange im CPLD: http://www.lothar-miller.de/s9y/archives/85-SAB0600.html W.S. schrieb: > Lothar, das was mich an dir am meisten ärgert... > Ständig hört man von dir "nehmt ein FPGA, am besten ein ganz großes Verwechselst du da was? WO genau habe ich das gesagt? Ich meinte sogar, ausdrücklich zu kleinen und unkomplizierten FPGAs geraten zu haben... Der Spartan S3 oder die MachXO(2) sind meine bevorzugten Kandidaten für Anfänger. Und die gibt es in TQFP Gehäusen, die man m.E. noch ohne Weiteres verarbeiten kann (auch einen STM32 gibt es nicht mehr im DIL Gehäuse). W.S. schrieb: > Ja. Was liest man denn da: > "Basys3 Artix-7 FPGA Board Akademisch" > " 72,58 € Ja, es gibt Leute, die fahren einen Tag zum Schifahren und legen locker 100€ hin. Da darf man sich fürs Hobby doch auch mal ein FPGA-Board "gönnen". Ich mach es auf jeden Fall ab und zu...
:
Bearbeitet durch Moderator
Mahlzeit, wollte nur am Rande eine Kleinigkeit bemerken bzgl. Altera vs. Xilinx: Falls die Wahl schlußendlich auf Xilinx fallen sollte, würde ich persönlich von einem Board mit Spartan6 abraten. Nicht, weil der Chip schlecht wäre, sondern weil Xilinx vor ein paar Jahren ihre gesamte Toolchain neu aufgesetzt haben. Früher gab es ISE, jetzt gibt es nur noch Vivado, und letzteres ist nicht nur ein Update sondern eine komplett neu entwickelte Toolchain. Die Entwicklung von ISE ist quasi eingestellt, da wird es keine Updates mehr geben und man benutzt das nur noch für "alte" Bausteine. Vivado funktioniert aber nur mit neueren Bausteinen, 7er-Serie aufwärts, also NICHT mit dem Spartan6. D.h. würdest Du Dir ein Spartan6-Board kaufen um langfristig in die FPGA-Thematik einzusteigen, wärst Du erstmal auf das obsolete ISE festgenagelt, und würdest Zeit investieren, eine Toolchain zu erlernen, die in absehbarer Zeit nicht mehr benutzt werden wird. Natürlich gibt es noch Legacy-Designs usw., aber wenn ich heute eine neue Entwicklung anfange, dann baue ich da keinen Spartan6 mehr ein ohne triftigen Grund. Also wenn Xilinx, würde ich dann eher auf ein Artix7-Board setzen, dann kannst Du gleich mit Vivado einsteigen. Und auch für Artix7 sollte es erschwingliche Evalboards geben. Die o.g. Problematik hast Du bei Altera so nicht, da gibt es nur eine Toolchain, die alle Modellreihen bedient (auch die älteren). Wollte ich nur mal angemerkt haben...
>Denn in ein CPLD bekommt man gerade mal einen feuchten Witz von VHDL.
Jetzt musst du nur noch erklären, wo du bei einem 2,50$-FPGA so ganz
nebenbei ca 5000 LUTs/LCs/LEs hernimmst, nur um ein 72er PLD complett
nachzublden.
Ein feucher Witz ist es, die Anzahl der MACs mit Anzahl der LUTs/LCs/LEs
gleichzusetzen.
Ein completter Bruch mit einer Produktlinie ist immer problematisch,
egal bei welcher Firma.
>Also wenn Xilinx, würde ich dann eher auf ein Artix7-Board setzen,
Den kannst du einlöten?
MCUA schrieb: >>Also wenn Xilinx, würde ich dann eher auf ein Artix7-Board setzen, > Den kannst du einlöten? Nein, die BGA sind etwas schwierig, deshalb schlägt er ja explizit ein Board vor. Vielleicht gibt es ja bei diesen auch schon eines, welches Pin-/Buchsenreihen im 1/10"-Abstand (oder) hat, dann kann man dieses als Modul ins eigene (Homemade-)Design einbauen...
:
Bearbeitet durch User
MCUA schrieb: > Ein completter Bruch mit einer Produktlinie ist immer problematisch, > egal bei welcher Firma. So komplett ist der Bruch nicht, für KlickieKackie - User ändert sich nicht viel, man muß immer noch im richtigen fenster den richtigen Button klicken. Für Script-experten ist die Umstellung dagegen gewaltig, da usser VHDL u7nd Verilog alles anders ist.
MCUA schrieb: > Ein feucher Witz ist es, die Anzahl der MACs mit Anzahl der LUTs/LCs/LEs > gleichzusetzen. Ich schreibe immer von "mächtigen Produktermen" und "kleinen LUTs". Da sehe ich kaum Verwechslungsgefahr...
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.