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-STARTERhttp://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.
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
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!.htmlhttp://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...
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)"
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.
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.
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.
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.> (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...
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?
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