Hallo, mal wieder diese blöde Frage: Anfänger sucht CPLD Starter Kit :-) FPGA ist mir zu monströs für meine Zwecke und auch eine andere Technik. Am besten ein Rundum Sorglos-Paket (so 50 Euro), wo die Hardware und Software unbeschränkt nutzbar ist, keine 30 Tage Version usw. Das CPLD braucht keine großen Hardwarespielreien drumherum, ich möchte es als Port Expander, Lacth und Timer nutzen oder Interface zu 7-Segment Anzeigen. Es kommt später direkt an den Bus einer Z80 CPU dran. Erfahrungen mit VHDL sind Null (> 15 Jahre her), also ganz von vorne. Schematic Entry muss nicht sein, gabs aber wohl früher mal.
Ich kann das CoolRunner-II CPLD Starter Board von Digilent auf Grund eigener Erfahrungen sehr empfehlen: http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,1000&Prod=CR2-STARTER http://shop.trenz-electronic.de/de/24417-CoolRunner-II-CPLD-Starter-Board Es wird zusammen mit dem kostenlos erhältlichen und für diese Kategorie von Bautsteinen uneingeschränkt verwendbaren Xilinx ISE WebPack 14.7 einsetzen. Nach Installation des von Digilent bereitgestellten Treiber kann man es direkt aus iMPACT heraus programmieren. Wichtig ist jedoch eine hinreichend steife Stromversorgung, d.h. man sollte das Board unbedingt mit einem eigenen Netzteil oder zumindest mit einem sehr kurzen USB-Kabel, gutem USB-Hub und zusätzlichem fetten Pufferkondensator verwenden. Ansonsten sucht man stundenlang nach Fehlern auf Grund fehlerhafter Programmierung des Bausteins. Dies dürfte aber für alle entsprechenden Boards gelten. Aus mir unerfindlichen Gründen stellt Digilent die auf dem Board enthaltene Demo nur als fertigen Bitstream und nicht als Quellcode bereit. Nicht einmal eine vorbereitete UCF-Datei mit den Pin-Constraints gibt es. Ich hatte damals das Board auch für den Einstieg in VHDL verwendet und innerhalb weniger Minuten das erste blinkende LED-Segement hinzaubern können.
Bestellt :-) Danke ! Was ist denn hiervon zu halten? Kompatible mit der Software von Xilinx? http://www.pollin.de/shop/dt/MTM5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_CPLD_Evaluation_Board.html
Christian J. schrieb: > Was ist denn hiervon zu halten? Kompatible mit der Software von Xilinx? Ja, aber Du bräuchtest zum Programmieren einen Parallelport am Rechner. Zumindest bei Laptops ist da heutzutage problematisch. Christian J. schrieb: > Am besten ein Rundum Sorglos-Paket (so 50 Euro) Lattice MachXO2-Breakout-Board. Da hat man ca. 100 IO's, wenn man selber was dran basteln will/muss. Ich habe aber noch nicht gesucht, wo man das Ding privat in .de bekommen kann. Duke
Christian J. schrieb: > Was ist denn hiervon zu halten? Naja, ein 5V-CPLD (obsolete) mit 144 Flipflops. Man kann damit schon was machen, ist aber auch recht schnell am Ende. > Kompatible mit der Software von Xilinx? Du musst nachsehen, welche ältere ISE-Version das Ding noch kann.. Christian J. schrieb: > FPGA ist mir zu monströs für meine Zwecke und auch eine andere > Technik. Welchen Zweck verfolgst du? Was ist deine Technik? > FPGA ist mir zu monströs Ich schlage das MachXO von Lattice vor... Da gibts ein paar Boards: http://www.hardware-design.de/ Hier die Übersicht: http://www.latticesemi.com/boards#s=~_d0!2!1!!1!7!0!1!!2!!!1!0!2!_d2!fvf|%40productitemnames!_d6!sbf!641!W.+Europe+Standard+Time!DqCqsqxqFqsqyrErwputpApvprBrwpuspvpxpzputpvpvprrqyrrrqsq!%40sitecoreorder!_d0!4!Lattice+Development+kits!_d1!MachXO!3!_d8!!xqHqtFpGpupwppvpwpvpuppKpppvpLpupIpJpEpypBpzpApCppDpqxprpqsq!
Dein Pollin-Board geistert ab und an bei Ebay rum, allerdings komplett bestückt und für 10-15Euro. Lässt sich mit ISE10 betreiben. Greif aber lieber zum Lattice-XO-Board. Die Lattice Software lässt sich genauso "einfach" wie ISE bedienen und du hast mer Resourcen auf dem Chip.
Zum Lernen halte ich das Lattice XO2 Board auch für besser und zukunfstträchtiger. http://www.mouser.de/new/Lattice-Semiconductor/lattice-machxo2-breakoutboard/ Privat kann man es z.B. hier mitbestellen: Beitrag "[Biete] Sammelbestellung de.Mouser.com 2015" ABER: Christian J. schrieb: > Anzeigen. Es kommt später direkt an den Bus einer Z80 CPU dran. Also vermutlich an eine OBSOLUTE CPU im DIL mit 5V Versorgungsspannung. Dazu braucht es dann auch OBSOLUTE CPLD mit 5V. PS: An die Z80 Liebhaber, ich weiss den gibt es immer noch, und auch in 3.3V Versionen, dann aber nur in SMD mit integrierter Perepherie. PPS: Der XO2-7000 ist gross genug für einen Z80 Softcore, findet sich sicher wenn man sucht.
Lattice User schrieb: > OBSOLUTE obsol-e-te Christian J. schrieb: > Es kommt später direkt an den Bus einer Z80 CPU dran Hmmm... Wenn das ohne Pegelwandler gehen soll, dann wird die Luft tatsächlich dünn. Die 3V CPLD 95XL von Xilinx sind auf den Eingängen noch komplett 5V-fest, können aber natürlich nur 3V3 ausgeben. Ob das der CPU für einen high-Pegel reicht, steht auf einem anderen Blatt...
Lothar Miller schrieb: > Lattice User schrieb: >> OBSOLUTE > obsol-e-te Mist :-( Korrekturlesen ist eben nicht obsolete. > > Christian J. schrieb: >> Es kommt später direkt an den Bus einer Z80 CPU dran > Hmmm... Wenn das ohne Pegelwandler gehen soll, dann wird die Luft > tatsächlich dünn. > Die 3V CPLD 95XL von Xilinx sind auf den Eingängen noch komplett > 5V-fest, können aber natürlich nur 3V3 ausgeben. Ob das der CPU für > einen high-Pegel reicht, steht auf einem anderen Blatt... Dem orginalen NMOS Z80 reicht das sicher. War schliesslich mit TTL kompatibel und TTL hat nur 2.4 V Highpegel.
Lattice User schrieb: > Dem orginalen NMOS Z80 reicht das sicher. War schliesslich mit TTL > kompatibel und TTL hat nur 2.4 V Highpegel. Das reicht auf jeden Fall, habe schon Schaltungen mit Xilinx' bzw. Altera's 3.3V CPLDs in Kombination mit Z80 gesehen, die auch ohne Probleme laufen. Aber für interesantere Sachen sind diese CPLDs zu klein (siehe z.B. Diskussionen zum C64/PAL-Chip).
Lothar Miller schrieb: >> FPGA ist mir zu monströs für meine Zwecke und auch eine andere >> Technik. > Welchen Zweck verfolgst du? Was ist deine Technik? Ich habe im Jahre 2000 mal bei einer 1 wöchigen Schulung bei PLC2 (Xilinx) einfach abgedreht bei FPGAs und mir explodierte der Kopf von Constraints, Place & Route usw. Ich kapierte es einfach nicht. Das wollte ich mir ersparen 14 Jahre später, weil ich da sicherlich nicht weiter komme als damals auch, weil die Dinger noch hundermal komplexer geworden sind. Und für Logikverknüpfungen, ein paar Latches, Bus Decoder und vielleicht auch einen Timer wird ein CPLD sicherlich reichen. Zudem es bestimmbare Durchlaufzeiten hat. Für "Hobby" soll es einfach nur funktionieren, im "Beruf" habe ich damit nichts zu tun und daher ist eine vertiefte Einarbeitung in hochkomplexe Bausteine quasi sinnlos. Erstmal klein anfangen: https://www.uni-ulm.de/fileadmin/website_uni_ulm/iui.inst.050/vorlesungen/sose08/LaborpraktikumEingebetteteSysteme/Material/Crashkurs_VHDL.pdf
Christian J. schrieb: > Zudem es bestimmbare Durchlaufzeiten hat. Es hat bestimmte maximale Durchlaufzeiten. Das hat ein FPGA aber auch... > Erstmal klein anfangen: Gefällt mir nicht als alleinige Literatur. Im Abschnitt "Variablen im Prozess" wird gleich mal ohne Warnung oder Kommentar, dafür aber mit einer seltsam kruden Begründung, eine Variable als Zähler verwendet. Und dabei muss man extrem(!) aufpassen, wie der Beitrag "Variable vs Signal" beweist. Auch die Begründung für Latches, und warum sie meist nicht gut sind, fällt recht abstrakt, nichtssagend und schwammig aus. Insbesondere unterschlägt der Autor in diesem zusammenhang das Thema "kombinatorische Schleifen" komplett. Und zu allerletzt die Beschreibung von FSM mit dem 2-Prozess Modell ohne Angaben von Alternativen... http://www.lothar-miller.de/s9y/archives/43-Ein-oder-Zwei-Prozess-Schreibweise-fuer-FSM.html > Für "Hobby" soll es einfach nur funktionieren Sieh dir das mal an: http://www.lothar-miller.de/s9y/archives/80-Hello-World!.html http://www.lothar-miller.de/s9y/archives/81-Xilinx-ISE-Step-by-Step.html Das ist hier jetzt zwar für die ISE beschrieben, funktioniert aber mit anderen Entwicklungsumgebungen ähnlich. Man muss evtl. beim Anlegen des Projektes etwas mehr Handarbeit investieren, aber im Prinzip läuft es immer gleich...
:
Bearbeitet durch Moderator
Guten Tag. Warum wird bitte dieses: led <= x; nicht in den Process gelegt? bzw wann wird es in den Process gelegt? danke. Gruss
1 | library IEEE; |
2 | use IEEE.STD_LOGIC_1164.ALL; |
3 | use IEEE.NUMERIC_STD.ALL; |
4 | |
5 | entity BlinkLED is |
6 | Port ( clk : in STD_LOGIC; |
7 | led : out STD_LOGIC); |
8 | end BlinkLED; |
9 | |
10 | architecture Behavioral of BlinkLED is |
11 | |
12 | signal c : integer range 0 to 24999999 := 0; -- 0,5s bei 50MHz fosc |
13 | signal x : std_logic:= '0'; |
14 | |
15 | begin
|
16 | process begin |
17 | wait until rising_edge(clk); -- warten bis zum nächsten Takt |
18 | if (c<24999999) then -- 0…24999999 = 25000000 Takte = 1/2 Sekunde bei 50MHz |
19 | c <= c+1; -- wenn kleiner: weiterzählen |
20 | else -- wenn Zählerende erreicht: |
21 | c <= 0; -- Zähler zurücksetzen |
22 | x <= not x; -- und Signal x togglen |
23 | end if; |
24 | end process; |
25 | led <= x; -- Signal x an LED ausgeben |
26 | end Behavioral; |
Christian J. schrieb: > Erstmal klein anfangen: > > https://www.uni-ulm ... Kommst du aus der Nähe von Ulm ?
peter schrieb: > Warum wird bitte dieses: > led <= x; > nicht in den Process gelegt? 1. Weil led ein out-Port ist. Und out-Ports können nun mal nicht zurückgelesen werden. Komm mir jetzt aber keiner auf die "schlaue" Idee, einen inout oder buffer zu verwenden. Es ist gute Designpraxis, mit internen Signalen zu arbeiten (hier x) und diese dann nach Berechnung an Ports (hier led) zuzuweisen. 2. Weil dann das Portsignal led auch noch mal getaktet wird, und ein zusätzliches Flipflop (incl. Latency) dazwischen kommt. > bzw wann wird es in den Process gelegt? Kann man auch machen. Muss man aber nicht. Man legt es in den Prozess, wenn man einen Nutzen davon hat. Aber, Peter, das solltest du doch wissen...
Christian J. schrieb: > mal wieder diese blöde Frage: Anfänger sucht CPLD Starter Kit :-) Ja. eigentlich blöde Frage, sowas. Weißt du, ein CPLD ist etwas, für das man keine eigenen Eval-Boards baut, sondern so ein Teil direkt in die eigentliche Zielhardware setzt. Man kann es ja dort auch (um-)programmieren. Wenn du es billig haben willst, dann kauf dir so einen 95144 Chip von Xilinx (z.B. über Reichelt). Diese Größe (144 MC) ist zusammen mit einem ausreichend großen RAM gut genug, um damit eine komplette VGA-Ansteuerung zu machen. Und wenn du an ein Z80 System denkst, dann ist damit auch ein kompletter ZX-Spectrum inclusive QVGA LCD zu machen. Falls du allerdings was Schnelles machen willst, wie typischerweise einen Zählfrequenzmesser oder so, dann rate ich dir zu einem kleinen Coolrunner mit 32 MC. Die sind billig und ebenso einfach zu programmieren und zu benutzen und sie können spielend >400 MHz. Ach ja, eigentlich können alle bisherigen Webpacks von Xilinx diese CPLD's. Das Nette daran ist, daß man selbst heutzutage noch für billigstes Geld (Xilinx Parallelkabel #3 oder so9) den Programmieradapter selber bauen kann. Wenn du im PC noch einen Parallelport hast oder per Steckkarte einen nachrüsten kannst, ist das die preisgünstigste Lösung für's eigentliche Programmieren. Ähem.. und Schematics gibt's bei Xilinx immer noch - auch wenn unser Lothar dagegen Gift und Galle spuckt. Aber er schwört ja auch auf VHDL. Bloß wenn du damit nicht klar kommst, solltest du schlichtweg zu Verilog umschwenken. Oder zu ner Kombi aus Schematics und Verilog. W.S.
W.S. schrieb: > Weißt du, ein CPLD ist etwas, für das man keine eigenen Eval-Boards > baut, sondern so ein Teil direkt in die eigentliche Zielhardware setzt. Ich finde es trotzdem gut, wenn ich weiß: an der Hardware liegt es garantiert nicht! > Ähem.. und Schematics gibt's bei Xilinx immer noch Gut. Ich wundere mich auch... Christian J. schrieb: > Schematic Entry muss nicht sein, gabs aber wohl früher mal. Gibts immer noch. Muss aber trotzdem nicht sein. Ich verweise mal auf die Kollegen aus dem Klassiker Beitrag "kruder Fehler bei FPGA-Programmierung (ISE WEBpack-Schematic)"
:
Bearbeitet durch Moderator
Lothar Miller schrieb: > Ich finde es trotzdem gut, wenn ich weiß: an der Hardware liegt es > garantiert nicht! Naja, auch bzw. insbesondere fertige Entwicklungsboards weisen auch manchmal sehr obskure Hardwarefehler auf, gerade bei sehr neuen Bausteinen. Aber gleich mit einer eigenen Hardware starten zu wollen, ist bedeutend fehlerträchtiger. Einer der heftigsten Fehler waren falsch bestückte SRAMs auf einem Evalboard für einen Sharp LH79402. Das System lief mit 3,3V, aber es waren 5V-SRAMs bestückt, die je nach Mondphase meistens mit Unterspannung gut funktionierten, aber hin und wieder doch falsche Bits lieferten.
Andreas Schweigstill schrieb: > Aber gleich mit einer eigenen Hardware starten zu wollen, > ist bedeutend fehlerträchtiger. Aber nicht bei CPLD's. Da kann man außer völlig falscher Versorgungsspannung oder verkehrt herum aufgelötetem Chip NIX falsch machen. Das Einzige, was mir allenfalls noch möglich erscheint wäre, ein dediziertes I oder O Pin (sofern es sowas überhaupt gibt) für den falschen Zweck zu verwenden - aber das könnte man mit genügend Ignoranz auch bei jedem Evalboard. W.S.
Hallo, bevor ich losrudere und mich an einfachsten Tuturials langsam zum Komplexeren hin hangle, so wie immer bei etwas Neuem.... http://startingelectronics.com/software/VHDL-CPLD-course/tut1-inverter-buffer/ CPLD wird als Ersatz für 74 Logik öfter bezeichnet. Die 74er kenne ich ja nun lange genug, gibt ja sogar inzwischen welche im SOT Gehäuse mit nur einem Gatter drin. Sind Strukturen mit CPLD realisierbar, die eine RAM Zelle oder ein Register (Latch) benötigen? Ein Timer besteht ja aus mehreren Registern / (RAM Zellen?), mit seinen Capture/Compare Funktionen. Nehmen wir mal ein faches Compare. Es wird eine Logik erzeugt, die einen Binärzähler darstellt, eine Kette D-Flipflops wie im CD4020. Compare wird mit einem Wert geladen. Nun muss ein Vergleich her in Hardware, der mir ein Match anzeigt. Diesen Vergleicher möchte ich natürlich nicht selbst stricken, wird ein Gattergrab sein. Ist sowas mit einem CPLD zu machen? Sagen wir mal ein 32 oder 64 Bit Counter, der sehr grosse Zahlen verarbeiten kann? Oder sind wir da schon bei einem FPGA? Und kann der "Compiler" auch Optimierungen von Boolschen Ausdrücken durchführen? Das was ich vor Jahren mal mit Karnuagh Diagrammen gemacht habe? Oder muss ich selbst optmieren?
Christian J. schrieb: > Ist sowas mit einem CPLD zu machen? Sagen wir mal ein 32 oder 64 Bit > Counter, der sehr grosse Zahlen verarbeiten kann? Oder sind wir da schon > bei einem FPGA? > > Und kann der "Compiler" auch Optimierungen von Boolschen Ausdrücken > durchführen? Das was ich vor Jahren mal mit Karnuagh Diagrammen gemacht > habe? Oder muss ich selbst optmieren? Kein Problem für ein CPLD mit genügend Makrozellen. Die Übergänge zum FPGA sind fließend. Das XO bei den MachXO beispielsweise steht anscheinend für Cross-Over. Also ist es eine Art Mischung aus CPLD und FPGA mit Eigenschaften beider klassischen Typen. Naturlich macht der Compiler (oder das Gesammtsystem der Entwicklungsumgebung) die Optimierung für dich.
Christian J. schrieb: > Ist sowas mit einem CPLD zu machen? Sagen wir mal ein 32 oder 64 Bit > Counter, der sehr grosse Zahlen verarbeiten kann? Oder sind wir da schon > bei einem FPGA? Also, verstehe du erstmal die Unterschiede. Bei einem echten CPLD sieht es so aus, daß es sogenannte Macrozellen gibt. Das ist ein Flipflop mit vorgeschaltetem Mehrfach-Oder, dem wiederum mehrere Mehrfach-AND's vorgeschaltet sind. Diese wiederum können mit den Pins über I/O-Treiber verbunden sein oder mit anderen Signalen auf dem Chip. An Oder's vor jedem FF gibt es traditionell nur relativ wenige, aber die And's davor sind reichhaltig, oft bis zu fast 40 Inputs. Das macht, daß man damit prima sehr schnelle und große Zähler bauen kann, eben so groß, wie die Anzahl der benötigten Carry-Signale in der letzten Stelle. Bei einem FPGA sieht das ganz anders aus, da hat es auch Flipflops, aber diesmal mit sogenannten LUT's (Lookup-Tafeln) davor. Und die sind viel kleiner, oft 4x4, manchmal bis zu 6x6. Das macht, daß man damit alles mögliche, aber keine großen und schnellen Zähler damit bauen kann, weil man für die Carry-Signale eben kaskadieren muß. Deshalb haben FPGA's oft sowas wie Zähler oder Akkus als Spezialteile mit eingebaut. Normalerweise wird man einen Komparator in einem CPLD am besten OHNE ladbaren Vergleichswert implementieren. Bei einem festen Vergleichswert kommt man nämlich zumeist mit einer einzigen MC aus. Und nochwas: CPLD's brauchen am Anfang nicht geladen zu werden wie FPGA's, denn ihre Logik ist sofort da. (und wo doch geladen werden muß, steckt kein CPLD drin) W.S.
Nochwas: Meine spätere Anwendung wird eine PLCC Fassung haben. D.h. wäre gut, wenn ich da direkt auf dem Eva Board entwickeln könnte, damit es später in die Platine kann. http://www.aliexpress.com/item/Epm7128-cpld-development-board-cpld-learning-board-experimental-board-altera-epm7128slc84/1331908189.html Das hier ist Altera. Sind da grundlegende Unterschiede der IDE zwischen Xilinx und Altera. Xilix wird ja sicher auch PLCC Gehäuse haben denke ich.
W.S. schrieb: > Normalerweise wird man einen Komparator in einem CPLD am besten OHNE > ladbaren Vergleichswert implementieren. Klar :-) Das ist ja auch die einfache Lösung. Eindeutig auch per Hand machbar mit Boolscher Algebra.
W.S. schrieb: > Lookup-Tafeln Das englische "Table" in Lookup-Table ist eine deutsche "Tabelle". Ok, kommt natürlich von einer Tafel, aber wenn man schon zur Table Tafel sagt, dann müsste das Lookup auch übersetzt werden... W.S. schrieb: > Und nochwas: CPLD's brauchen am Anfang nicht geladen zu werden wie > FPGA's, denn ihre Logik ist sofort da. (und wo doch geladen werden muß, > steckt kein CPLD drin) Schon die alten 95er CPLD von Xilinx sind RAM basiert und werden beim Powerup geladen. Nur eben massiv parallel. Und ein MachXO wird ebenfall am Anfang so schnell geladen, dass sie fertig konfiguriert sind, vor die Spannung richtig "oben" ist. Christian J. schrieb: > Xilix wird ja sicher auch PLCC Gehäuse haben denke ich. Ich denke nicht, dass man heute noch so eine obsolete Bauform einsetzen sollte. Aber richtig: die alten 5V 95er Dinger gibts noch im PLCC Gehäuse.
Lothar Miller schrieb: > Ich denke nicht, dass man heute noch so eine obsolete Bauform einsetzen > sollte. Aber richtig: die alten 5V 95er Dinger gibts noch im PLCC > Gehäuse. Auf Lochraster oder in einem Z80 System aber schon. Gibt es da noch was? Mach 7000 oder so? Was hat Xilinx denn da? Ich tendiere zu Xilinx derzeit.
Christian J. schrieb: > Was hat Xilinx denn da? Wie gesagt: z.B den XC9572XL, den XC95108 oder ähnliche...
Lothar Miller schrieb: > Nur eben massiv parallel. Na, du bist mir ja ein Schlaumeier der Extraklasse... Also: CPLD = Chip, der für sich allein lebt, sobald er einmal programmiert ist. Spannung anlegen und geht. Wie ein gewöhnlicher Logik-Schaltkreis wie z.B. SN7400 eben. FPGA: Chip, der erst geladen sein will, also neben dem Chip ein Konfigurations-Flash (dazu dedizierte Signalleitungen, Mode-Pins für verschiedene Lade-Modi und so weiter), oder dediziert geladen von einem µC, der den Bitstream von sonstwo herkriegt. Also überhaupt nicht wie ein gewöhnlicher Logik-Schaltkreis. Lothar, ob da neben den Flash-Zellen auf dem CPLD-Chip auch noch RAM-Zellen sind, ist eigentlich JEDEM Anwender schnurz egal. Das Verhalten nach außen ist das Entscheidende. W.S.
W.S. schrieb: > Na, du bist mir ja ein Schlaumeier der Extraklasse... Weiß ich schon, trotzdem dankesehr. > Also: > CPLD = Chip, der für sich allein lebt, sobald er einmal programmiert > ist. Spannung anlegen und geht. Also wie ein Lattice MachXO oder ein Spartan3 AN mit internem PROM? > Wie ein gewöhnlicher Logik-Schaltkreis > wie z.B. SN7400 eben. Was kann man an dem programmieren? In der harten Realität ist die Unterscheidung ganz einfach: ein CPLD hat Produktterme (wie ein PAL/GAL) und ein FPGA hat LUT für die Logik. Beide haben Flipflops dahinter. Das FPGA bedeutend viel mehr davon.
:
Bearbeitet durch Moderator
W.S. schrieb: > CPLD = Chip, der für sich allein lebt, sobald er einmal programmiert > ist. Spannung anlegen und geht. Wie ein gewöhnlicher Logik-Schaltkreis > wie z.B. SN7400 eben. > > FPGA: Chip, der erst geladen sein will, also neben dem Chip ein > Konfigurations-Flash (dazu dedizierte Signalleitungen, Mode-Pins für > verschiedene Lade-Modi und so weiter), oder dediziert geladen von einem > µC, der den Bitstream von sonstwo herkriegt. Also überhaupt nicht wie > ein gewöhnlicher Logik-Schaltkreis. schmunzel.....
W.S. schrieb: > Das > Verhalten nach außen ist das Entscheidende. Richtig. Und das, was du als offensichtlich einziges / wichtigstes Unterscheidungsmerkmal nach Außen aufgeführt hast, ist nur eines von vielen, die für den Andwender interessant sind. Wenn einen nur die Power-Up-Zeit interessiert, dann hast du recht. Aber schon die Unterscheidung, ob ein externes Device notwendig ist, oder nicht, stimmt bereits nicht mehr. Es gibt schon lange FPGAs mit integriertem Boot-Flash (also auch nur EIN IC nötig). Da sind dann auch die Ladezeiten sehr kurz, da interen z.B. mit 128Bit parallel geladen wird. Nach 1-2ms sind die auch "am Leben". Weiterhin dürfte die meisten Anweder interessieren, wo die Stärken und Schwächen der jeweiligen Bausteine liegen. Jedenfalls ist das durchaus auch ein Verhalten nach Außen. Und da unterscheiden sich ein FPGA und ein CPLD wie ein Traktor zu einem F1-Wagen. Klar, beides sind Fahrzeuge, aber spanne mal nen Pflug an nen Rennwagen.. Versuche mal, eine Disjunktion aus 5 Konjunktionen à 25 Eingänge mit einem Pin-to-Pin-Delay von 5ns in ein übliches (günstiges) FPGA abzubilden.. Und dann überlege nochmal, ob die Power-On-Zeit wirklich das Einzige ist, was den Anweder interessiert...
Schlumpf schrieb: > W.S. schrieb: >> Das >> Verhalten nach außen ist das Entscheidende. > > Richtig. > > Und das, was du als offensichtlich einziges / wichtigstes > Unterscheidungsmerkmal nach Außen aufgeführt hast, ist nur eines von > vielen, die für den Andwender interessant sind. > > Wenn einen nur die Power-Up-Zeit interessiert, dann hast du recht. > Nein hat er nicht, Actel/Microsemi IGLOO FPGA sind wirklich sofort da. (anderes Konfig Konzept), d.h. auch schneller als die Xilinx CPLDs
Lattice User schrieb: > Nein hat er nicht, Actel/Microsemi IGLOO FPGA sind wirklich sofort da. .. was es nicht alles gibt :-)
Lattice User schrieb: > Nein hat er nicht, Actel/Microsemi IGLOO FPGA sind wirklich sofort da. > (anderes Konfig Konzept) Ja, da sind die Schalter intern tatsächlich Flash-basiert oder gar noch Antifuses. > d.h. auch schneller als die Xilinx CPLDs Die allerdings auch innerhalb von 100us fertig sind. Der uC nebenan versucht in dieser Zeit immer noch, seinen Oszillator zu starten...
:
Bearbeitet durch Moderator
Lothar Miller schrieb: > Lattice User schrieb: >> Nein hat er nicht, Actel/Microsemi IGLOO FPGA sind wirklich sofort da. >> (anderes Konfig Konzept) > Ja, da sind die Schalter intern tatsächlich Flash-basiert oder gar noch > Antifuses. >> d.h. auch schneller als die Xilinx CPLDs > Die allerdings auch innerhalb von 100us fertig sind. Der uC nebenan > versucht in dieser Zeit immer noch, seinen Oszillator zu starten... Wenn es ein Quarzoscillator ist, sind sie oft auch noch damit beschäftigt wenn der MachXO2 da ist. SoC brauchen in der Regel ohnehin ein Reset, und das kann man falls unbedingt nötig vom Config Done des FPGA ableiten. Problem gelöst.
Ähm..... darf ich euch mal kurz unterbrechen? :-) Was brauche ich für einen Programmer für ein Xilinx Board? Demop Boards habe ja gern auch USB Schnittstellen, die man später nicht mehr hat, wenn man stand alone Bausteine verwendet.
Christian J. schrieb: > Programmer für ein Xilinx Board? D Drehen wir den Spieß mal um, dann wird ein Zopf draus (:-) welches Board willst du verwenden? Mit ein wenig Glück ist dort nämlich schon ein Programmer drauf, den du auch extern verwenden kannst. Sonst musst du 30 Euro in die Hand nehmen und auf ebay nach einem "Xilinx Programmer" suchen...
Christian J. schrieb: > Ähm..... darf ich euch mal kurz unterbrechen? :-) > > Was brauche ich für einen Programmer für ein Xilinx Board? Demop Boards > habe ja gern auch USB Schnittstellen, die man später nicht mehr hat, > wenn man stand alone Bausteine verwendet. Je nach board keins (da usb-programmer quasi auf dem board, bspw Diglinet) oder ein Xilinx platform download cable. Letzteres ist im Original teuer >100€) gibt es aber auch als Clone bei ebay für ca. 30€. Ich persönlich hab mit einem Clone nach ehrheblichen Startprobleme gute Erfahrung gemacht. MfG,
Ich habe das hier bestellt: http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,1000&Prod=CR2-STARTER Später soll jedoch ein PLCC Stein verwendet werden. Das hier ist mir noch unklar: Four 12-pin Pmod™ ports allow designers to easily add functions such as analog-to-digital conversion, servo motor interface, serial flash, RS232 serial channel, accelerometers, temperature sensors, and more. See our Pmod page for a complete list of modules. Sieht so ein wenig nach "Arduino Style" aus, allerdings zu gesalzenen Preisen.....
Christian J. schrieb: > Sieht so ein wenig nach "Arduino Style" aus, allerdings zu gesalzenen > Preisen..... ja da hat wohl einer einen ganz schlechten Dollarkurs: http://shop.trenz-electronic.de/de/Digilent/Peripherie-Module/ Obwohl ... wo Arduino Opel ist - da ist ein FPGA Porsche, das schlägts sich auch in den Preis für den Fuchsschwanz und sonstigen Zubehör nieder ;-) MfG,
Das Pmod8LD hat acht äusserst leuchtstarke LEDs, die von Logik-Level-Transistoren angesteuert werden können. Und das für schlappe 14 Euro..... glaube dann kann man auch den Ardu klumpatsch vom Chinamann nehmen, für 1,50 .... PmodSTEP Zum Betrieb von einem Schrittmotor 35 Euro.... mal schauen ob mein Dipl-Ing. noch ausreicht einen Schrittmotor anzusteuern....ULN ???....war da nicht mal was?
Wer kann, baut sich die PMods selber. Ist ja nix weiter als Vcc+GND+4 GPIOs. Wer nicht kann (oder will), muß den Spaß halt kaufen. Duke
Schlumpf schrieb: > Und das, was du als offensichtlich einziges Ist dir eigentlich irgend etwas mal aufgefallen? Nicht, eh? Dann erkläre ich es dir (dem Lothar muß man's ja auch erklären). Also: Ich habe dem TO den Unterschied zwischen CPLD und FPGA erklärt. In einfachen und nicht zu langen Sätzen, sonst wird man hier ja nicht mehr verstanden. Dazu hab ich ihm erklärt, daß man für CPLD's nicht nach einem Eval-Board ruft, denn das ist albern. Ein CPLD kommt einfach auf das Board, wo es seinen Dienst verrichten soll, na beben so wie ein 74BLABLA00 und Konsorten. Lediglich die JTAG-Strippen braucht man, um das Ding zu BRENNEN (da euch hier ja das Wort 'Programmieren' so ein altjüngferliches Hüsteln verursacht). Naja, und ein jeder kann nach eigenem Gusto dafür ein JTAG-Geschirre eigener Wahl nehmen. Xilinx ist da nicht wirklich zimperlich, ein Blick in die Programmiergeräteauswahl sollte genügen, um irgend etwas Passendes zu finden. Selbst ein steinalter Parallelport Brenner, den man sich selber zusammenstricken kann, ist immer noch benutzbar. Stichwort "Xilinx-Parallelkabel #3" oder so. Jajajajaja! Das ist sehr viel anders als die Zicken, die man mit JTAG-Adaptern für diverse Mikrocontroller gewöhnt ist, bei denen es fast selbstverständlich ist, daß man pro Chipsorte nur EINEN passenden kriegt oder ein halbes Vermögen ausgeben muß.. W.S.
Äh ja, und jetzt? Ich verwende bei Xilinx den selben Programmer für CPLDs und FPGAs. Und richtig: das war zu seligen Zeiten(tm) als der PC noch einen Parallelport hatte, der simple auf Lochrasterplatine. W.S. schrieb: > Also: Ich habe dem TO den Unterschied zwischen CPLD und FPGA erklärt. Du hast aber den wesentlichen systematischen Unterschied (Produktterm vs. LUT) vergessen.
Ich persönlich würde die Finger von CPLDs nun lassen, da diese in den nächsten Jahren wohl verschwinden werden. Xilinx selber konnte mir nicht garantieren, dass die XC95 Serie noch in 10 Jahren produziert werden. Leider! Ich persönlich würde entweder die Altera MAX V Serie oder MAX 10 Serie empfehlen. Letztere Plattform ist unglaublich flexibel und hat sogar analoge Eingänge und PLLs! http://www.altera.com/devices/fpga/max-10/design-tools/max-10-design-tools.html#devkits
Lothar Miller schrieb: > W.S. schrieb: >> Also: Ich habe dem TO den Unterschied zwischen CPLD und FPGA erklärt. > Du hast aber den wesentlichen systematischen Unterschied (Produktterm > vs. LUT) vergessen Vergessen? Eher nicht verstanden, würde ich mal tippen...
Lothar Miller schrieb: > Du hast aber den wesentlichen systematischen Unterschied (Produktterm > vs. LUT) vergessen. Ah ja, dann schau mal da: (Eigentlich zitiere ich mich selber nicht so gern, aber man hilft ja, wo man kann) W.S. schrieb: > Bei einem echten CPLD sieht es so aus, daß es... Schlumpf schrieb: > Vergessen? Eher nicht verstanden, würde ich mal tippen... Muß ich dir mal die Ohren langziehen? Tim R. schrieb: > Ich persönlich würde die Finger von CPLDs nun lassen, da... Kommt drauf an, was du machen willst. Für kleinere Sachen dann wieder zurück zu TTL? FPGA's sind eine etwas andere Baustelle als CLD's und wenn letztere verschwänden, wäre das ne echte Fehlstelle, die man mit FPGA's nicht wirklich schließen kann - auch wenn einige Hersteller das einem weismachen wollen. Und mal was zu den Software-Gewohnheiten: Xilinx war und ist immerhin der einzige Hersteller, der mit dem Webpack ne wirklich frei benutzbare Toolchain zur Verfügung stellt. Guck dir mal die Anderen an: da wird nach wie vor mit Lizenzen herumgefummelt, die sowohl zeitlich begrenzt als auch an einen bestimmten PC gebunden sind. Genau SOWAS geht mir auf den Keks, weswegen ich sowohl Altera als auch Lattice nicht wirklich mag. Bei den Lattice-Dingern hat man (wenn ich mich recht erinnere) sogar noch Einschränkugen beim Pinout: Manche Signale lassen sich nur an die "linke" Seite führen, andere nur an eine andere und so weiter. Bei den CPLD's von Xilinx hingegen kann man wirklich alle Signale an jedes Pin was einem gefällt routen. Bei FPGA's geht das m.W. ganz allgemein NICHT (auch nicht bei Xilinx), denn da gibt es Befindlichkeiten beim Startup des FPGA's wegen Doppel- und Dreifachbelegung der Pins für die verschiedenen Konfigurations-Modi. W.S.
W.S. schrieb: > Und mal was zu den Software-Gewohnheiten: Xilinx war und ist immerhin > der einzige Hersteller, der mit dem Webpack ne wirklich frei > benutzbare Toolchain zur Verfügung stellt. Guck dir mal die Anderen an: > da wird nach wie vor mit Lizenzen herumgefummelt, die sowohl zeitlich > begrenzt als auch an einen bestimmten PC gebunden sind. Genau SOWAS geht > mir auf den Keks, weswegen ich sowohl Altera als auch Lattice nicht > wirklich mag. Sicher? Ich habe neben ISE Altera Quartus als auch Lattice Diamond in der "Web-Edition", ausser der Einschränkung bei den Familien (Grössere werden nicht unterstützt) lassen sich alle 3 bequem im Hobbybereich nutzen. Sogar mehr: Bei Altera und bei Lattice sind die Soft-CPU-Toolchains bis auf kleine Einschränkungen frei zugänglich. ISE unterstüzt dagegen ältere PPCs nicht.
Ich bin vor einigen Monaten von Xilinx zu Altera gewechselt, bzw. von der XC95 Serie zu MAX V und zukünftig MAX 10. Auch wenn der MAX V etwas langsamer bootet ziehe ich diesen Baustein eindeutig vor, da.. ... Alle Eingänge als Schmitt-Trigger konfigurierbar sind. Allgemein unterstützt der Baustein viel mehr unterschiedliche Logic-Levels. ... Alle Ausgänge sind definiert während des bootens!!! Was bringt mir ein schneller CPLD von Xilinx, wenn ich zusätzlich noch für die IO Supplies eine Spannungsinitialisierung brauche? Das Problem hat der MAX V nicht einmal ansatzweise. Wenn man auf eine Nummer sicher gehen will, dann kann man den OE Eingang vom MAX V zusätzlich verwenden. Sehr toll! Z.B. könnte man eine Unterspannungserkennung direkt diesen Eingang ansteuern und alle Signale währen gesperrt. Xilinxs 95XL kann es nicht. ... längere Verfügbarkeit ... Mir gefällt Quatrus persönlich besser als Xilinx ISE ... in den MAX Vs bekommt man wesentlich mehr Logik rein, wenn man größere packages nutzt. Gleichzeitig gibt es auch Verianten mit wenigen Logikelementen. Z.B. 5M40ZE64C5N für ca. 0,85€ ... Entwicklungsboards sind noch verfügbar und kostengünstig! http://www.digikey.com/product-detail/en/DK-DEV-5M570ZN/544-2722-ND/2499445
:
Bearbeitet durch User
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.