Forum: FPGA, VHDL & Co. CPLD Starter Kit für Anfänger


von Christian J. (Gast)


Lesenswert?

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.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

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.

von Christian J. (Gast)


Lesenswert?

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

von Duke Scarring (Gast)


Lesenswert?

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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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!

von Sigi (Gast)


Lesenswert?

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.

von Lattice User (Gast)


Lesenswert?

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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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...

von Lattice User (Gast)


Lesenswert?

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.

von Sigi (Gast)


Lesenswert?

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).

von Christian J. (Gast)


Lesenswert?

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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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
von peter (Gast)


Lesenswert?

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;

von Volker S. (vloki)


Lesenswert?

Christian J. schrieb:
> Erstmal klein anfangen:
>
> https://www.uni-ulm ...

Kommst du aus der Nähe von Ulm ?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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...

von peter (Gast)


Lesenswert?

Ja danke.

Gruss

von W.S. (Gast)


Lesenswert?

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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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
von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

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.

von W.S. (Gast)


Lesenswert?

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.

von Christian J. (Gast)


Lesenswert?

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?

von vloki (Gast)


Lesenswert?

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.

von W.S. (Gast)


Lesenswert?

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.

von Christian J. (Gast)


Lesenswert?

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.

von Christian J. (Gast)


Lesenswert?

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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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.

von Christian J. (Gast)


Lesenswert?

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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Christian J. schrieb:
> Was hat Xilinx denn da?
Wie gesagt: z.B den XC9572XL, den XC95108 oder ähnliche...

von W.S. (Gast)


Lesenswert?

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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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
von Schlumpf (Gast)


Lesenswert?

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.....

von Schlumpf (Gast)


Lesenswert?

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...

von Lattice User (Gast)


Lesenswert?

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

von Schlumpf (Gast)


Lesenswert?

Lattice User schrieb:
> Nein hat er nicht, Actel/Microsemi IGLOO FPGA sind wirklich sofort da.

.. was es nicht alles gibt :-)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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
von Lattice User (Gast)


Lesenswert?

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.

von Christian J. (Gast)


Lesenswert?

Ä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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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...

von Fpgakuechle K. (Gast)


Lesenswert?

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,

von Christian J. (Gast)


Lesenswert?

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.....

von Fpgakuechle K. (Gast)


Lesenswert?

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,

von Christian J. (Gast)


Lesenswert?

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?

von Duke Scarring (Gast)


Lesenswert?

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

von W.S. (Gast)


Lesenswert?

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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Ä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.

von Tim R. (mugen)


Lesenswert?

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

von Schlumpf (Gast)


Lesenswert?

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...

von W.S. (Gast)


Lesenswert?

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.

von Sigi (Gast)


Lesenswert?

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.

von Tim R. (mugen)


Lesenswert?

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
Noch kein Account? Hier anmelden.