mikrocontroller.net

Forum: FPGA, VHDL & Co. CPLD unter Linux


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Jan (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Hallo,

gibt es eine generische Toolchain um CPLDs mit VHDL unter Linux zu 
entwickeln? Sowas in der Art wie avr gcc. Ich möchte mir für einfache 
Schaltungen keine 4 GB Windows IDE antun und wir haben hier auch 
meistens nur Linuxrechner.

Kennt da jemand was gutes?

: Verschoben durch Moderator
Autor: St. D. (st_d)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Project IceStorm aims at reverse engineering and documenting the 
bitstream format of Lattice iCE40 FPGAs"

Ich steige grade erst in CPLD und FPGA ein. Bisher habe ich nur mit 
attinys und atmegas gearbeitet. Da hat mir sehr gefallen, dass der ganze 
Assemblercode sauber von Atmel dokumentiert wurde und quasi jeder seine 
eigene Toolchain schreiben konnte, wenn jemand unbedingt wollte.

Das hier liest sich aber eher so, als ob jeder Hersteller alles geheim 
hält und man entweder mit den IDEs arbeiten sollte, oder es sonst besser 
bleiben lassen sollte... ???

Autor: holger (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
>gibt es eine generische Toolchain um CPLDs mit VHDL unter Linux zu
>entwickeln?

Welche CPLDs?

>Ich möchte mir für einfache
>Schaltungen keine 4 GB Windows IDE antun und wir haben hier auch
>meistens nur Linuxrechner.

Ihr habt also auch Windows PCs. Warum sollte man die nicht nutzen?
4GB sind auf modernen SSDs doch nur ein Katzenschiss.

Autor: Cyblord -. (cyblord)
Datum:

Bewertung
-3 lesenswert
nicht lesenswert
Jan schrieb:
> Hallo,
>
> gibt es eine generische Toolchain

Generisch geht bei CPLD/FPGA und CO. mal gar nichts. Alles 
Herstellerspezifisch.

> um CPLDs mit VHDL unter Linux zu
> entwickeln? Sowas in der Art wie avr gcc. Ich möchte mir für einfache
> Schaltungen keine 4 GB Windows IDE antun und wir haben hier auch
> meistens nur Linuxrechner.

Bleibt halt die Frage ob man ohne Not auf die Features der Windows IDE 
verzichten will. Will man sicher keine grafische Netzliste (Schaltplan), 
Floorplan, Device Explorer etc. etc.
Ganz abgesehen von einem ordentlichen Simulator?

avr-gcc nutzen die meisten Leute ja auch mit einer IDE.

Hast du dir die Windows Tools überhaupt angesehen bevor du drauf 
spuckst?


> http://www.clifford.at/icestorm/

Ja das ist halt so ne klassische Linux Sache nech? Ich meine nichts 
gegen die Kommandozeile und die typische Webseite im Charme der frühen 
90er Jahre, aber will man damit WIRKLICH produktiv CPLD entwickeln?
Klar das sind keine FPGAs aber trotzdem.

> Ich steige grade erst in CPLD und FPGA ein.

Fange mit den Windows Tools an. Und wenn du danach wirklich sagst: "Boa 
DAS würde ich jetzt echt gerne auf der Kommandozeile mit Reverse 
Engineerten Frickletools machen", dann steige um.
Ich denke aber eher du dankst Bill Gates auf Knien für die Windows 
Tools.

>Bisher habe ich nur mit
> attinys und atmegas gearbeitet. Da hat mir sehr gefallen, dass der ganze
> Assemblercode sauber von Atmel dokumentiert wurde und quasi jeder seine
> eigene Toolchain schreiben konnte, wenn jemand unbedingt wollte.

Okeeee

: Bearbeitet durch User
Autor: user (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Also die Toolchains von den 3 großen FPGA/CPLD Herstellern, Xilinx, 
Altera/Intel, Lattice laufen auch unter Linux.

Autor: Herr Torvalds (Gast)
Datum:

Bewertung
3 lesenswert
nicht lesenswert
Cyblord -. schrieb:
> Ich denke aber eher du dankst Bill Gates auf Knien für die Windows
> Tools.
Bill Gates danke ich da erstmal gar nicht.

Das schönste ist, wenn man unverkennbar sieht, dass eine CPLD-IDE mit 
darunter liegender Toolchain mal auf einem Unixoiden entwickelt wurde, 
aber öffentlich nur für Windows angeboten wird. Wegen Kompatibilität und 
so. Lachhaft.

Autor: Cyblord -. (cyblord)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Herr Torvalds schrieb:

> Das schönste ist, wenn man unverkennbar sieht, dass eine CPLD-IDE mit
> darunter liegender Toolchain mal auf einem Unixoiden entwickelt wurde,
> aber öffentlich nur für Windows angeboten wird. Wegen Kompatibilität und
> so. Lachhaft.

Und welche soll das sein?

Autor: Joerg W. (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nutze schon seit einpaar Jahren für die XC95 von Xilinx ein 
"ausgeschlachtetes" WebPack (7.1) welches ungefähr 700MB belegt. Das 
Verzeichnis habe ich im Laufe der Jahre mittlerweile auf den 4.Laptop 
kopiert, zusätzlich muss man nur die /etc/ld.so.conf ergänzen und muss 
ggf. noch ein paar 32-Bit Kompatibilitäts-Bibliotheken über den 
Paketmanager installieren.

Und dazu ein eigenes Script:

http://www.jcwolfram.de/projekte/cpldlinux/main.php

Das kann man auch via Makefile aufrufen, als Programmer nutze ich aber 
inzwischen meinen eigenen (UPROG2).

Jörg

Autor: Markus F. (mfro)
Datum:

Bewertung
3 lesenswert
nicht lesenswert
Cyblord -. schrieb:
> Bleibt halt die Frage ob man ohne Not auf die Features der Windows IDE
> verzichten will. Will man sicher keine grafische Netzliste (Schaltplan),
> Floorplan, Device Explorer etc. etc.
> Ganz abgesehen von einem ordentlichen Simulator?

Cyblord -. schrieb:
> Ich denke aber eher du dankst Bill Gates auf Knien für die Windows
> Tools.

So ein Blödsinn.

Alle namhaften Hersteller bieten Ihre Entwicklungswerkzeuge nicht nur 
für Windows, sondern auch und gerade für Linux an. Schaut man unter die 
Haube der Windows-Werkzeuge, findet man bei jedem deutlich "unixoide" 
Elemente. Jedes mir bekannte solche Tool basiert z.B. entweder auf 
Cygwin oder benutzt es zumindest irgendwo.

Warum man ausgerechnet Bill Gates (der gegen solcherlei Tun immer mal 
wieder in schmutzige Kriege zog) dafür danken sollte, will mir so gar 
nicht einleuchten.

Autor: Christoph db1uq K. (christoph_kessler)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe vor einem halben Jahr Quartus 18.1 unter Ubuntu installiert. 
Ein Projekt mit EPM1270 das mit der Windows-Version gelaufen war lief 
jedenfalls anstandslos durch, mehr habe ich noch nicht probiert.
Allerdings hat schon das tar-File 6,6 GByte.

In den offiziellen Ubuntu-Paketquellen ist nur das oben genannte 
icestorm enthalten, hier die Fundstellen von synaptic mit Suchbegriff 
"FPGA". Für "CPLD" findet es nur den JTAG-Programmer.

Autor: Tomte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne keine FPGA toolchain, die nicht unter Linux läuft. Nur muss 
man oft dafuer die vom Hersteller empfohlen Distribution einsetzen (bei 
jedem eine andere). Wir haben deswegen alles im Docker container 
installiert, einmal gemacht, geht es schnell mit Einrichten. Schau mal 
hier:

https://www.reddit.com/r/FPGA/comments/bk8b3n/dockerizing_xilinx_tools/
https://section5.ch/index.php/2017/01/20/669/
https://github.com/Gekkio/docker-fpga/tree/master

Nur darf man die Docker images nicht offiziell verteilen. Auf 
Firmenserver ist es kein Problem.

Autor: Tomte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch vergessen: Es gibt Projekte die alles mit Makefile bauen. Da 
brauchst du die IDE nicht. Such mal auf github.

Autor: Blechbieger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Viele Programme für Chip- oder FPGA-Entwurf gehen bis in die 80er und 
90er zurück und wurden damals für UNIX entwickelt. Erst später als PC so 
langsam die Leistung von UNIX-Workstationen erreichten wurden diese 
Programme nach Linux (einfach) und Windows (aufwendig) portiert.

Altera verwendet in den aktuellen Quartusversionen Qt5 um leicht Windows 
und Linuxversionen anbieten zu können. In der neuesten Pro braucht die 
Nios-Toolchain sogar das Windows Subsystem for Linux aus den neueren W10 
Versionen. Andererseits gibts es den Advanced Link Analyzer nur für 
Windows.

Xilinx scheint in der ISE auch Qt zu verwenden. Vivado wahrscheinlich 
auch.

Ebenso Lattice mit ICEcube und Radiant.

Microsemi Libero ist ebenfalls für Windows und Linux erhältlich.

Gibt es überhaupt irgendwas aus diesem Bereich nur für Windows oder 
Linux?

Autor: Tobias B. (Firma: www.elpra.de) (ttobsen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Blechbieger schrieb:
> Xilinx scheint in der ISE auch Qt zu verwenden. Vivado wahrscheinlich
> auch.

Korrekt.

Blechbieger schrieb:
> Gibt es überhaupt irgendwas aus diesem Bereich nur für Windows oder
> Linux?

Der HDL Simulator von Aldec macht nur Windows mit. Sehr aergerlich wenn 
man Lattice Diamond unter Linux nutzt, die der integrierte Simulator 
praktisch von Aldec ist.

Autor: Bananenstecker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Blechbieger schrieb:
> Viele Programme für Chip- oder FPGA-Entwurf gehen bis in die 80er und
> 90er zurück und wurden damals für UNIX entwickelt. Erst später als PC so
> langsam die Leistung von UNIX-Workstationen erreichten wurden diese
> Programme nach Linux (einfach) und Windows (aufwendig) portiert.

Hab ich anders in Erinnerung, der Linux-Port kam deutlich später als der 
DOS/Windows-Port, jedenfalls bei Xilinx. Xilinx hat auch die verwendeten 
GUI-library gewechselt, QT war da nicht der erste Versuch. Auf Windows 
wie auf Linux ist die Xilinx GUI recht absturzfreudig (gewesen?), bei 
Pin-Planner hatte man den Eindruck, das der ein 30 minuten Crash timeout 
fest eingebaut hat. Insgesamt fährt man deutlich besser, wenn man die 
GUI meidet resp. durch scripte ersetzt.

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Der HDL Simulator von Aldec macht nur Windows mit. Sehr aergerlich wenn
>man Lattice Diamond unter Linux nutzt, die der integrierte Simulator
>praktisch von Aldec ist.

gtkwave als Ersatz ist nicht schlecht:

Beitrag "GHDL und gtkwave Grundlagen"

Autor: Christophz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobias B. schrieb:
> Der HDL Simulator von Aldec macht nur Windows mit. Sehr aergerlich wenn
> man Lattice Diamond unter Linux nutzt, die der integrierte Simulator
> praktisch von Aldec ist.

Diese Aussage ist für den Endnutzer im Prinzip richtig. Lattice liefert 
als Simulator Active-HDL von Aldec mit, der nur für Windows verfügbar 
ist. Von Aldec gibt es aber auch den teureren Riviera Simulator der 
sowohl unter Linux und Windows läuft.

Herr Torvalds schrieb:
> Das schönste ist, wenn man unverkennbar sieht, dass eine CPLD-IDE mit
> darunter liegender Toolchain mal auf einem Unixoiden entwickelt wurde,
> aber öffentlich nur für Windows angeboten wird.

- ISE benutzt Cygwin
- Vivado benutzt MSYS (is a collection of GNU utilities such as bash, 
make, gawk and grep to allow building of applications and programs which 
depend on traditionally UNIX tools to be present)
- Synopsis Identify RTL debugger (vergleichbar mit Xilinx Chipscope, bei 
Microsemi Libero SoC dabei) installiert gtkwave :-)

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Cyblord -. schrieb:
>> http://www.clifford.at/icestorm/
>
> Ja das ist halt so ne klassische Linux Sache nech? Ich meine nichts
> gegen die Kommandozeile und die typische Webseite im Charme der frühen
> 90er Jahre, aber will man damit WIRKLICH produktiv CPLD entwickeln?
> Klar das sind keine FPGAs aber trotzdem.

Klar sind das FPGAs.

Unter Linux ist Icestorm die einfachste und schnellste Art mit ICE40 und 
ECP5 FPGAs zu arbeiten.
Allerdings wird nur Verilog (mit ein paar System-Verilog Erweiterungen) 
unterstützt.
Zur Simulation gibt's Icarus und Verilator, die nicht zu Icestorm 
gehören.

Autor: S. R. (svenska)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt keine offene Toolchain für CPLDs.

Für FPGAs gibt es SymbiFlow (https://symbiflow.github.io/) als 
übergeordnetes Projekt. Das baut auf Yosys, IceStorm etc. auf.

Der Rest ist eine Sache des Reverse Engineerings - für Xilinx Artix-7 
gibt es auch ein Projekt. Aber das ist durch die Komplexität ein paar 
Größenordnungen schwieriger als bei den ICE40....

Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Angeblich kann Yosys schon seit einiger Zeit den Coolrunner-2 CPLD. Ich 
hab es nie ausprobiert.

http://www.clifford.at/yosys/cmd_synth_coolrunner2.html

Autor: Tobias B. (Firma: www.elpra.de) (ttobsen)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Carl schrieb:
>>Der HDL Simulator von Aldec macht nur Windows mit. Sehr aergerlich wenn
>>man Lattice Diamond unter Linux nutzt, die der integrierte Simulator
>>praktisch von Aldec ist.
>
> gtkwave als Ersatz ist nicht schlecht:
>
> Beitrag "GHDL und gtkwave Grundlagen"

Naja, zum Entwickeln taugt das nicht wirklich. Da verwend eich am 
liebsten von Mentor Questasim.

Aber GDHL Im Docker Container fuer automatisierte Unit-Tests sind eine 
feine Sache. :-)

Christophz schrieb:
> Diese Aussage ist für den Endnutzer im Prinzip richtig. Lattice liefert
> als Simulator Active-HDL von Aldec mit, der nur für Windows verfügbar
> ist. Von Aldec gibt es aber auch den teureren Riviera Simulator der
> sowohl unter Linux und Windows läuft.

Das ist korrekt. Ist zwar schade, aber jetzt kein Neckbreaker um auf 
Lattice zu verzichten. Ein Vorteil hats: Man bekommt die Vertriebler am 
Telefon relativ einfach abgewimmelt - "Kein Linux Support? 
Uninteressant. Aber sonst haette ich mir das gerne angeschaut." ;-)

Autor: Carl (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
>Unter Linux ist Icestorm die einfachste und schnellste Art mit ICE40 und
>ECP5 FPGAs zu arbeiten.

Kann man für die synthetisieren und flashen?:

http://www.gnarlygrey.com/?i=1


>Naja, zum Entwickeln taugt das nicht wirklich. Da verwend eich am
>liebsten von Mentor Questasim.

Wieso nicht? GHDL kompiliert unglaublich schnell, damit entwickelt man 
kleinere Schaltungen fast wie mit einem C-Compiler/Simulator.

Autor: Bananenstecker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carl schrieb:
> Wieso nicht? GHDL kompiliert unglaublich schnell, damit entwickelt man
> kleinere Schaltungen fast wie mit einem C-Compiler/Simulator.

Muhahaha, die Compilezeiten sind die geringste Ursache, warum bei 
C-Programmierer das FPGA-Programmieren Ewigkeiten dauert.

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carl schrieb:
> Kann man für die synthetisieren und flashen?:
>
> http://www.gnarlygrey.com/?i=1

Ja, mit dem Upduino 2 geht das relativ einfach, da dort auch der FTDI 
Chip mit drauf ist.
Hier ein Link mit einfachen Beispielen und Beschreibung zum Einstieg:
https://github.com/osresearch/up5k

Man ist bei Icestorm und Co nicht unbedingt auf Kommandozeile und 
Makefiles angewiesen, es gibt z.B. auch das Icestudio, eine IDE bei der 
man fertige Blöcke grafisch verbindet. Man kann auch eigene Blöcke 
(=Module) mit Verilog erstellen.
https://github.com/FPGAwars/icestudio

Allerdings geht nicht ganz alles, was die Lattice Tools bieten, und vor 
allem sind die Ergebnisse nicht ganz so schnell und benötigen oft mehr 
LUTs. Dagegen sind mit den OpenSource Tools auch Dinge möglich, die 
Lattice bewusst verhindert.

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Links.

Andi schrieb:
>Allerdings geht nicht ganz alles, was die Lattice Tools bieten, und vor
>allem sind die Ergebnisse nicht ganz so schnell und benötigen oft mehr
>LUTs.

Das klingt beunruhigend. Was geht nicht?

>Dagegen sind mit den OpenSource Tools auch Dinge möglich, die
>Lattice bewusst verhindert.

Das wiederum klingt spannend. Was könnte man den mehr machen, als mit 
den Tools?

Autor: W.S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jan schrieb:
> gibt es eine generische Toolchain um CPLDs mit VHDL unter Linux zu
> entwickeln?

Es gibt keine generischen CPLD's, sondern nur spezielle - und die 
eigentlich nur von Xilinx. Andere Chips z.B. Mach von Lattice sind m.W. 
eigentlich FPGA's und keine CPLD's. Und die Altera MAX "CPLD's" sind 
definitiv keine CPLD's, sondern FPGA's - und sie sind vergleichsweise 
langsam.

Und weil es eben keine generischen CPLD's gibt, gibt es auch keine 
generischen Toolchains dafür, sondern nur die vom jeweiligen Hersteller.

> Kennt da jemand was gutes?
Entweder wirst du bei dem von dir gewählten Hersteller fündig oder du 
muß dir für kleines Geld nen gebrauchten Windows-PC zulegen. Billiger 
wird's nicht.

Ich würde für Xilinx-CPLD's einfach ne ISE-10.x installieren, die läuft 
stabiler als die noch älteren Versionen und sie ist noch nicht so 
unsäglich fett wie die späteren ISE's. Für CPLD's reicht sie allemal 
aus. Und da fast alles in der ISE per TCL gemacht wird, vermute ich mal, 
daß die ganze ISE auch unter wine läuft.

W.S.

Autor: Gerd E. (robberknight)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
W.S. schrieb:
> Es gibt keine generischen CPLD's, sondern nur spezielle - und die
> eigentlich nur von Xilinx. Andere Chips z.B. Mach von Lattice sind m.W.
> eigentlich FPGA's und keine CPLD's. Und die Altera MAX "CPLD's" sind
> definitiv keine CPLD's, sondern FPGA's - und sie sind vergleichsweise
> langsam.

Die Frage ist ob der TO wirklich echte CPLDs möchte, oder ob es einfach 
nur darum geht mit kleineren / einfacheren Bauteilen in das Thema 
programmierbare Logik einzusteigen.

Wenn es um letzteres geht, würde ich nicht nach echten CPLDs schauen, 
sondern nach FPGAs.

Denn die echten CPLDs sind generell ältere Designs die langsam für neue 
Designs nicht mehr empfohlen werden. Neu entwickelt werden von den 
Herstellern eigentlich nur noch FPGAs. Ob die kleineren davon dann von 
den Marketingabteilungen als CPLDs gelabelt werden oder nicht ist davon 
unabhängig.

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hans schrieb:
> Andi schrieb:
>>Allerdings geht nicht ganz alles, was die Lattice Tools bieten, und vor
>>allem sind die Ergebnisse nicht ganz so schnell und benötigen oft mehr
>>LUTs.
>
> Das klingt beunruhigend. Was geht nicht?

Ich bin mir jeweils nicht sicher, ob es nicht geht, oder einfach die 
Beschreibung fehlt. Wenn man beim Author nachfragt, hat er meist eine 
Lösung, oder baut es in die nächste Version ein. Es ist wohl einfach 
eine Frage der Zeit.
Aber was man vermisst sind die einfachen Konfiguriermöglichkeiten der 
Pins und Wizards für oft verwendete IPs.
Auch die Performance hat sich mit dem neuen Place and Route verbessert, 
erreicht aber noch nicht die von Lattice.

>>Dagegen sind mit den OpenSource Tools auch Dinge möglich, die
>>Lattice bewusst verhindert.
>
> Das wiederum klingt spannend. Was könnte man den mehr machen, als mit
> den Tools?

Zum Beispiel sind die DSP Blöcke im UltraPlus nicht ganz fehlerfrei. 
Lattice lässt darum nur einige getestete DSP Konfigurationen zu. Mit 
Icestorm kann man alle Konfigurationsbits einstellen, wie man will, und 
muss dann halt selber testen ob's auch funktioniert. Und es funktioniert 
mehr als Lattice meint.

Oft verkauft ein Hersteller den selben Chip in verschiedenen Versionen, 
wobei die kleineren Versionen nur vom Tool künstlich beschränkt werden. 
Das OpenSource Tool kennt solche marketing-getriebenen Beschränkungen 
nicht.

Autor: C. A. Rotwang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andi schrieb:
> Zum Beispiel sind die DSP Blöcke im UltraPlus nicht ganz fehlerfrei.
> Lattice lässt darum nur einige getestete DSP Konfigurationen zu. Mit
> Icestorm kann man alle Konfigurationsbits einstellen, wie man will, und
> muss dann halt selber testen ob's auch funktioniert. Und es funktioniert
> mehr als Lattice meint.

Nein es scheint lediglich mehr zu funktionieren, als der Hersteller im 
Rahmen seiner Produkthaftung garantiert.

Die kritischen Fällen (alle Betriebsparameter wie Taktung, 
Spannungslevel an Versorgungungs- und Signal-Pin  sowie Temperatur auf 
Grenze zum Erlaubten) testet der Anwender garnicht. Und wenn dann mal 
ein Gerät im Feld deswegen Mist baut, zuckt man auch nur mit den 
Schultern und behebt das Problem per Neustart.

Langzeitschäden wäre auch so ein Thema das man mit Antesten von 
zwangsweise verhinderten Arbeitsmodi nicht erfasst. Ist halt wie 
Overclocking - you're on your own risk.

Autor: W.S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerd E. schrieb:
> Wenn es um letzteres geht, würde ich nicht nach echten CPLDs schauen,
> sondern nach FPGAs.
>
> Denn die echten CPLDs sind generell ältere Designs...

Und? So ein NE555 oder 74HCxyz sind auch ältere Designs. Aber neuere 
FPGA's sind ne bessere Einnahmequelle für deren Hersteller.

Die Anwendungsbereiche von FPGA's und CPLD's sind halt unterschiedlich. 
Dazu kommt, daß gerade bei FPGA's immer wieder das Thema des 
Konfigurations-Flash's hochkommt und die wenigen FPGA's, wo sowas als 
Sandwich-Chip eingebaut ist, sind mit ihren Anschlüssen und deren 
Verwendung auch eher zickig. Da ist ein CPLD unproblematischer in jeder 
Beziehung.

W.S.

Autor: Christophz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
W.S. schrieb:
> Dazu kommt, daß gerade bei FPGA's immer wieder das Thema des
> Konfigurations-Flash's hochkommt und die wenigen FPGA's, wo sowas als
> Sandwich-Chip eingebaut ist, sind mit ihren Anschlüssen und deren
> Verwendung auch eher zickig. Da ist ein CPLD unproblematischer in jeder
> Beziehung.

Dieses Thema betrifft nur reine SRAM basierte FPGAs (Intel, Xilinx). Ja, 
diese zwei Chips in einem Gehäuse (FPGA + Flash) Variante ist eher 
speziell.

Microchip/Microsemi verbaut Flash Zellen für Konfigurationsbits, da 
brauchts kein externes Flash.

Lattice MachXO* bzw. XP2 verwenden zwar SRAM Zellen für 
Konfigurationsbits bauen aber auf das selbe Die Flashspeicher um diese 
Zellen beim Einschalten parallel (also im Vergleich schnell) zu laden. 
Das erlaubt es z. B. dass der FPGA ein Design eingebrannt hat, das immer 
funktioniert oder das Booten erlaubt und ein externer Prozessor lädt 
dann später ein anderes Design direkt in die SRAM Konfigurationsbits.

Lattice ICE* FPGAs sind one-time-programmable (OTP) -> brauchen in 
Endgeräten typischerweise auch kein Flash. Während der Entwicklung oder 
in Systemen mit Prozessor können sie aber auch per Flash Chip oder SPI 
konfiguriert werden.

Autor: Johann Klammer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Löt dir ein Gatterngrab auf Perfboard. Das ist auf lange Sicht 
unproblematischer.

Autor: Lothar M. (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Christophz schrieb:
> Lattice MachXO* bzw. XP2 verwenden zwar SRAM Zellen für
> Konfigurationsbits bauen aber auf das selbe Die Flashspeicher um diese
> Zellen beim Einschalten parallel (also im Vergleich schnell) zu laden.
Das machen auch die derzeit üblichen "normalen" CPLDs, sogar schon die 
alten 95er von Xilinx aus dem letzten Jahrtausend. Beim Einschalten wird 
dort die Konfiguration parallel aus dem Config-EEPROM in die SRAM-Zellen 
kopiert. Siehe dazu die XAPP440:
CPLDs must reset to a known state and load an internal
configuration pattern (EPROM) into volatile logic cells (SRAM),
extremely quickly, to appear "instantaneously on".
In the case of CoolRunnerTM CPLDs, to save power, internal EPROM 
cells are powered down after configuration.
Configuration is also performed in XC9500TM, XC9500XLTM, and XC9500XVTM...

: Bearbeitet durch Moderator

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.