Forum: FPGA, VHDL & Co. Umgang mit CPLD's lernen ( Altera od XILINX) via Dev Kit


von Martin H. (martin_h23)


Lesenswert?

Zum Gruße,

Ich habe µC-Erfahrung mit Motorola 78HC705 und 8081 (Assembler)
Nach einigen Jahren  Pause experimentiere ich zur Zeit mit einem Arduino 
ATMEGA.
Ich möchte zusätzlich aus purem Interesse lernen, einen CPLD zu benutzen 
und evtl damit ein Projekt umsetzten (da schwebt mir so einiges vor)

Ich habe nach Arduino-ähnlichen Dev_Boards gesucht und es gibt da die 
verschiedensten Ausführungen, z.B.
http://www.elecfreaks.com/store/max-ii-epm240-cpld-breakout-p-133.html
oder
http://www.elektrohobby.de/Bausaetze/XILINX-Development-Board-Bausatz.html
und daraus erwachsende Fragen:

1) Ist es (generell betrachtet) besser auf XILINX zu gehen als auf 
Altera (oder umgekehrt)?
Irgendwelche technischen Gründe?

2) Die neueren CPLD (wie MAXII von Altera) scheint es nur als TQFP- oder 
BGA-Ausführung zu geben. Das scheint mir zum Basteln ziemlich ungünstig.
Gibt es hier Erfahrungen, etwa
 - wie kann man im Bastelbereich günstig mit CPLD umgehen, lassen sich 
TQFP Typen irgendwie einsetzen (eine Laborkarte und darüber adaptieren?)

3)
Wenn das Dev_Board keine Programmierschnittstelle im erweiterten Sinnen 
aufweist ausser natürlich der JTAG_Schnittstelle, also USB Blaster oder 
Parallel-Schnittstelle (ByteBlaster)muss ich mir einen solchen zukaufen, 
was recht teuer zu sein scheint. Gibt es Alternativen?

U.a. für die AVM µC gibt es kleine Breakouts, die "USB zu SPI" wandeln, 
da fehlt noch der Programmer an sich.
3.1) Theroetisch kann man so eine Programmierschnittstelle "USB zu JTAG" 
selber bauen, aber es muss irgendwo eine Beschreibung geben, worauf es 
ankommt (Timing der Signale, Auslegung/Bedeutung der Pins)


Die Schwierigkeit ist, dass die verschiedenen Programmer anscheinend nur 
für bestimmte Controller/PLD/PGA-Typen geeignet zu sein scheinen!
3.2) Was also ist das Besondere am USB-Blaster?
(Der Byteblaster in der HW ist quasi nix anderes als ein Anschluss über 
den Parallelport via 74LS244 an JTAG)

3.3)Käme der QUARTUS Programmer (für Altera) oder die ISE (für Xilinx) 
mit einem selbstgestrickten USB-Progammer klar?

3.4) Das XILINX-Bastelbord hat eine Parallelschnittstelle.. ist das 
heute noch günstig so zu arbeiten, zumal es (fast) keine Rechner mehr 
mit Parallelport gibt.
(ich besitze durchaus noch so Gurken :) )

Viele Fragen (ich hoffe einigermassen sinnvoll gestellt) auf deren 
Antworten ich mir hoffe einen Reim  machen können :)

Sprich, ich weiss
- welchen Typ/Hersteller vorzugsweise
- wie programmieren/Programmer
- wie kann man diese Bausteine im Bastlerleben technisch einsetzen 
(Anschliessen, Löten, Stecken) wenn sie NICHT auf einem Dev_Board daher 
kommen


Vielen Dank für eure Geduld beim Lesen und beim Antworten
LG
Martin

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


Lesenswert?

Martin H. schrieb:
> einen CPLD zu benutzen
CPLDs sind tot. Lern lieber gleich was mit FPGAs. Sogar Lattice verkauft 
seine aktuellen FPGAs als CPLDs (um die Hemmschwelle für den Umstieg 
niedrig zu halten)...

> evtl damit ein Projekt umsetzten (da schwebt mir so einiges vor)
Das Problem an CPLDs ist, das die kaum Flipflops haben. Und die brauchst 
du für Statemachines und Zähler (eigentlich auch nur eine degenerierte 
FSM...). Du wirst also sehr schnell an Grenzen stoßen, oder nur 
einfachste Projekte realisieren können.

> 1) Ist es (generell betrachtet) besser auf XILINX zu gehen als auf
> Altera (oder umgekehrt)?
Ja. Oder doch Nein. Es ist egal. Beide können das.

> 3.3)Käme der QUARTUS Programmer (für Altera) oder die ISE (für Xilinx)
> mit einem selbstgestrickten USB-Progammer klar?
In der Bucht kosten kompatible Nachbauten gerade mal 20 €. Und dann 
weißt du, dass das Ding tut. Sei dir sicher: du WILLST eigentlich gar 
kein Programmierkabel bauen, sondern was mit FPGAs/CPLDs machen.

Mein Tipp: kauf ein FPGA-Evalboard für 100€ und verkauf es später wieder 
für 80. Die Dinger verlieren kaum an Wert.
Sowas z.B. 
http://shop.trenz-electronic.de/catalog/product_info.php?cPath=&products_id=963&SID

von Martin H. (martin_h23)


Lesenswert?

Hi Lothar , erst mal vielen Dank für Deine Antwort

Für Schnell-Leser:
1) wer verkauft ein gebrauchtes CPLD oder FPGA Eval board?
   zu einem vernünftigen Preis (unter 100€)
   ggf sogar mit Programmer

   In diesem Zusammenhang bin ich Hardware-Betont!!!
   Lieber klein und knuffig und alle Ein- und Ausgänge sind erreichbar
   anstelle eines halben PC's mit Tastatur- und Monitoranschluss

2) Ich gehe auch noch selbst auf die Suche, frage aber trotzdem:
   Gibt es (hier bei microcontroller.net) oder sonst wo eine relativ
   zentrale Stelle (vllt "die bucht") wie Leute wie "wir" solche Boards
   gebraucht verkaufen (ich so eines also erstehen kann)

Hier gehts weiter:

Lothar Miller schrieb:
>> einen CPLD zu benutzen
> CPLDs sind tot. Lern lieber gleich was mit FPGAs. Sogar Lattice verkauft
> seine aktuellen FPGAs als CPLDs (um die Hemmschwelle für den Umstieg
> niedrig zu halten)...

Meines Wissens nach gibt es einen essentiellen Unterschied zwischen FPGA 
und CPLD, wewegen letzere immer noch für zeitkritische (und kleinere) 
Anqwendungen verwendet werden:
Die Signallauftzeit ist berechenbar, während beim FPGA bei der 
Kompilierung (soviel zu meinem theoretischen Wissen)jedes mal 
unterschiedlich Anzahlen an Gattern (oder was auch immer) 
zusammengesetzt werden undd deswegen die Laufzeiten nicht vorhersehbar 
sind.

3a) Ist dieser Umstand nicht mehr aktuell?
3b) für CPLD kann man durchaus noch "Funktionspläne" im Editor sehen
    (kleine Einblicke hatte ich ja, und diese mit der VHDL vergleichen,
    geht das für FPGS auch noch?

>> 3.3)Käme der QUARTUS Programmer (für Altera) oder die ISE (für Xilinx)
>> mit einem selbstgestrickten USB-Progammer klar?
> In der Bucht kosten kompatible Nachbauten gerade mal 20 €.
> Sei dir sicher: du WILLST eigentlich gar kein Programmierkabel bauen,
> sondern was mit FPGAs/CPLDs machen.
:) danke.. das habe ich nachher auch gesehen und obwohl ich geschworen 
habe fern im Osten nichts zu kaufen, wird diese Vorsatz hier wohl 
umgestossen.

> Mein Tipp: kauf ein FPGA-Evalboard für 100€ und verkauf es später wieder
> für 80. Die Dinger verlieren kaum an Wert.
Danke für den Tip. Mein Problem: Meine Studienzeit ist lange vorbei und 
ich kann keine akademisch verbilligten Dinge mehr einkaufen. Muss mich 
also selber auf die Suche nach einem Wiederverkauf eines solchen Boards 
machen.

GLG

Martin

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


Lesenswert?

Martin H. schrieb:
> 3a) Ist dieser Umstand nicht mehr aktuell?
> 3b) für CPLD kann man durchaus noch "Funktionspläne" im Editor sehen
>     (kleine Einblicke hatte ich ja, und diese mit der VHDL vergleichen,
>     geht das für FPGS auch noch?
Ja, aber das ist etwas in die Richtung Sackgasse/Holzweg...
Die Schaltplaneingabe wird von keinem Hersteller mehr richtig aktiv 
unterstützt. Solange sie läuft hast du Glück. Wenn nicht mehr: Pech.
Wenn du schon was neu lernst, dann am besten doch etwas, was du auch in 
5 Jahren noch verwenden kannst, oder?

> Meines Wissens nach gibt es einen essentiellen Unterschied zwischen FPGA
> und CPLD, wewegen letzere immer noch für zeitkritische (und kleinere)
> Anqwendungen verwendet werden:
Du kannst (und solltest) auch in FPGAs der Toolchain deine Wünsche zum 
Thema Geschwindigkeit mitteilen. Und die versucht die dann auch 
umzusetzen. Und wie gesagt: die Geschwindigkeiten heutige CPLDs werden 
auch nur idealisiert angegeben: Eingang --> Produktterm --> Ausgang
Sobald du mehr machst, stimmt das auch schon nicht mehr, dann kommen 2 
Produktterme nacheinander, dazu das Routing und schon stimmt diese 
Idealangabe nicht mehr...

> In diesem Zusammenhang bin ich Hardware-Betont!!!
>    Lieber klein und knuffig und alle Ein- und Ausgänge sind erreichbar
>    anstelle eines halben PC's mit Tastatur- und Monitoranschluss
Nimm lieber ein Board, das die üblichen Schnittstellen zum Lernen schon 
drauf hat. Denn nichts ist blöder, als 3 Nächte einen Fehler zu suchen, 
und dann einen abgebrochenen Draht oder einen vertauschten Pin zu 
finden...

Ja, such dein Board

Martin H. schrieb:
> Gibt es (hier bei microcontroller.net)
Probiers im Markt-Forum mit einer Such-Anzeige
> oder sonst wo eine relativ zentrale Stelle (vllt "die bucht")
Dort ist deine Chance am besten, denn es ist einfach so, dass FPGAs 
weniger weit verbreitet sind als uCs...  ;-)

von MCUA (Gast)


Lesenswert?

> Meines Wissens nach gibt es einen essentiellen Unterschied zwischen FPGA
> und CPLD,
Ja, beim (C)PLD gibt es eine Macrozelle, mit vielen Produkttermen und 
breiter Eing-Matrix (bsp 54 bei 95..XL) usw. beim FPGA ist das kleinste 
Element (LE,CLB usw) viel kleiner.
Eine Macrozelle ist viel mächtiger, um die im FPGA nachzubilden bräuchte 
man dort mehrere LE's. Die Angabe mancher FPGA-Hersteller, das damit 'so 
und so viele' MACrozellen ersetzt werden können ist Marketing-Quatsch. 
Es kommt immer auf den konkr Fall an (In manchen Fällen brauchte man 20 
und mehr LEs für 1 MACzelle) . Um sehr schnelle IOs, schnelle breite 
Kombinatorik, schnelle Zähler, zu realisieren sind PLDs immer noch 
unschlagbar. Allerdings steigt bei (C)PLDs wegen der MACrozellen der 
Aufand quadratisch mit der MAC-Anzahl, weshalb diese Dinger bei grössere 
MAC-Anzahl extrem teuer werden können, und deshalb auch immer weniger 
benutzt werden.
Zum Einstieg würde ich mir auf jeden Fall PLDs, dann CPLDs anguggen, 
erst dann FPGAs. (Man muss auch kein Board kaufen, um ein kleines CPLD 
zu benutzen)

von Markus H. (dasrotemopped)


Lesenswert?

Wenns ein CPLD sein soll zum Lernen, habe ich auch gemacht.
Kannst dich bei meinem Projekt gerne mit dranhängen :

http://home.arcor.de/markus.horbach/atmegaextender.html
Brauchst das Board nur Nachbauen und einen Xilinx Programmer,
die Projektdaten + Bibliotheken gibts bei mir kostenlos auf der 
Webseite.
Ist für kleines Geld möglich, da habe ich beim Design darauf geachtet.
Interesse ?

Gruß,

dasrotemopped.

von BorisM (Gast)


Lesenswert?

Ich habe noch folgendes Board abzugeben:
http://www.digilentinc.com/Products/Detail.cfm?Prod=S3BOARD
Es ist so gut wie nie benutzt worden, da ich schnell auf ein anderes 
Board gewechselt bin. (Ich habe DSP Slices gebraucht...)
Verbaut ist der kleine FPGA (200K). Aber für den Anfänger ist das Board 
klasse. Falls du Interesse hast kannste ja noch mal schreiben 
(borism(at)gmx.de).
Zum programmieren liegt das Parallel-Kabel (wie auch das ganze andere 
Zubehör) bei. Ich habe aber ein Platform Cable USB II benutzt weil wir 
genug auf der Arbeit von denen haben.
PS: Die nächsten Tage bin ich auf der Embedded und kann erst am 
Donnerstag Abend meine Emails abrufen.

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


Lesenswert?

MCUA schrieb:
> Zum Einstieg würde ich mir auf jeden Fall PLDs, dann CPLDs anguggen,
> erst dann FPGAs.
Die PLDs (PAL/GAL) kannst du locker auslassen, weil du nämlich einen 
spezeillen oder universellen Programmer dafür bräuchtest. Und weil sogar 
Lattice seine GALs abgekündigt hat...

Und um den Kollegen aus dem 
Beitrag "Re: VHDL: "einfach" Signalerzeugung" zu zitieren, der 
versucht gerade einen etwas breiteren Zähler in sein Design zu bringen,
>>> ohne das das meinen CPLD sprengt?  <<<


Am Rande: ich habe erst "mit GALs" rumgemacht, und bin dann nach ein 
paar Jahren Abstinenz direkt auf FPGAs. Mann, war das ein Lichtblick! So 
viele Flipflops... ;-)

von Dirk (Gast)


Lesenswert?

Machs gleich mit FPGAs.
Die "Programmierung" ist die gleiche.
Viel mehr Möglichkeiten durch BRAMs Clockmanager etc.

CPLDs sind zudem sogar noch teuerer und können einfach weniger.
Ich mache jetzt schon so 2-3 Jahre mit FPGAs rum. Ich bin erst einmal 
wirklich bis auf FlipFlop Ebene runter gegangen. Und das war ein 
Zeitkritisches Design bei dem eine Datenübertragung zwischen zwei FPGAs 
mit 100MHz Takt erfolgen musste. Sicher kein Anfängerprojekt.

Das RTL-Bild sieht doch bei FPGAs und CPLDs quasi gleich aus. Das Ziel 
von VHDL ist ja auch gerade von der Gatterdarstellung weg zu kommen 
(Stichwort productivity gap). Es ist also in meinen Augen nicht wirklich 
Zweckmäßig mit einem CPLD anzufangen, weil man meint da die umgesetzten 
Strukturen besser erkennen zu können.

Zum Thema CPLDs gibt es übrigens von Ulrich Radig einige gut 
dokumentierte Projekte, die natürlich auch auf einem FPGA laufen. Es 
gibt übrigens auch ein paar FPGAs mit Flash-Speicher falls du mal selbst 
etwas bauen willst und vor der Tatsache zurückschreckst das FPGAs i.d.R. 
einen externen Speicher für die Konfiguration benötigen.

von MirkoB (Gast)


Lesenswert?

...bisher fehlen allerdings noch etwas die "Randbedingungen".
Die Aussage "ein FPGA ist immer besser!" würde ich so nicht 
unterschreiben wollen. Wie immer "kommt darauf an"

Bei meinem "8086 from scratch" Projekt setze ich einen XC9572 ein:
Hier geht es nur um die Ersetzung von TTL-Gräbern, Adressdekodierer und 
anderen "Kleinkram".(...und das alles mit 5V) Einfach in eine PLCC 
Fassung und ab aufs Lochraster.
Gut: die Kosten für einen 9572 sind nicht ohne und Nachbausicherheit 
gibt es auch nicht.

Wenn Du allerdings 3,3V auch als Peripherie hast und nicht nur ein 
Logikgattergrab brauchst: Ganz klar der FPGA.

PS:
Gibt es sowas wie die XC95xx(XL)-Reihe auch als FPGA?
(3,3V / 5V tolerante I/Os, kostenlose IDE, kein Konfigurationseprom)
Ziel ist es die direkte Peripherie um den 8086 im FPGA nachzubilden. 
(Bustreiber, Buscontroller, Clock, ...,PIC)

von Falk B. (falk)


Lesenswert?

@  MirkoB (Gast)

>Gibt es sowas wie die XC95xx(XL)-Reihe auch als FPGA?

In 3,3V schon, 5V no way.

>(3,3V / 5V tolerante I/Os,

5V Toleranz kann man heute vergessen, gibt es direkt nicht mehr.

>kostenlose IDE,

Haben alle, A, X & Co

> kein Konfigurationseprom)

haben einige, z.B. Spartan 3N, ist im IC mit drin.

>Ziel ist es die direkte Peripherie um den 8086 im FPGA nachzubilden.
>(Bustreiber, Buscontroller, Clock, ...,PIC)

Wird man mit einem FPGA + Pegelwandler machen müssen, gibt es ja 
mehrkanalig von Maxim & Co (Ok, dann nicht wirklich 
Lochrasterfreundlich, weil SOIC oder SSOP und schlimmere Gehäuse.). Also 
gleich alles ins FPGA, auch die CPU, muss man weniger Fädeldraht löten 
;-)

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


Lesenswert?

Falk Brunner schrieb:
>> kein Konfigurationseprom)
> haben einige, z.B. Spartan 3N, ist im IC mit drin.
Hier unbedingt auch mit in Betracht ziehen: Lattice MachXO(2)
Bei dem ist die Spannungsversorgung hübsch einfach...

von Kevin (Gast)


Lesenswert?

Hallo,

ich habe mich vor kurzem im Rahmen einer Vorlesung mit FPGAs 
beschäftigt. Den praktischen Teil haben wir am DE0 Nano Board von Altera 
gemacht. Das Board finde ich super praktisch. USB Programmer ist dabei 
und auch ein sehr gutest Tutorial um einzusteigen. Auf dem Board ist ein 
Cyclone IV, zwei Taster, Dip-Switches und mehrere LEDs. Wie gesagt für 
den Einsteig ist es m.M. sehr gut.

Grüße Kevin

von W.S. (Gast)


Lesenswert?

Martin H. schrieb:
> Ist es (generell betrachtet) besser...

Es ist jedenfalls besser, solche Beiträge wie die von Lothar Miller 
nicht allzu ernst zu nehmen.

Die Frage, die du dir selber stellen mußt, lautet: Was will ich damit 
eigentlich bauen? Irgendein Eval-Board für CPLD's halte ich für Quatsch. 
So ein CPLD setzt man auf die Platte, die man sich selbst kreiert hat 
und die einen bestimmten Zweck erfüllen soll.

Im Übrigen ist es gar nicht so schwer, mit CPLD's klarzukommen - im 
Gegensatz zu FPGA's. Bei FPGA's war und ist es mit wenigen Ausnahnem 
üblich, daß man dazu entweder einen separaten Konfigurations-Flashrom 
braucht oder die Dinger aus enem uC heraus initialisieren muß. Bei 
CPLD's gibt's das nicht, die brauchen nur ihre JTAG-Anschlüsse an einen 
Steckverbinder, werden darüber programmiert und sind ab da benutzbar 
ohne irgendwelche Umstände.

Sachlich gibt's gewaltige Unterschiede zwischen CPLD und FPGA. CPLD's 
haben Makrozellen, die am Eingang hochpolige AND's haben. Mehr als 30 
AND-Eingänge sind üblich. Bei FPGA's gibt es das nicht, da gibt es 
sogen. LUT's, die aber nur rcht wenige Eingänge haben und bei Bedarf 
kaskadiert werden müssen.

Mit CPLD's kann man deshalb viel besser große synchrone und schnelle 
Zähler bauen als mit FPGA's. Bei Anwendungen, wo das ne Rolle spielt, 
sind deshalb eher CPLD's angesagt. Auf der anderen Seite sind größere 
CPLD's recht schnell teurer als vergleichbare FPGA's. Sowas muß man dann 
abwägen.

Hersteller: Ich würd erstmal zu Xilinx raten, von denen erstmal ein 
kleineres CPLD aus der 95er Reihe oder aus der Collrunner-Reihe 
aussuchen und nicht die allerneueste Software haben wollen, sondern z.B. 
auf Webpsck 8.2 o.ä. zurückgreifen. Reicht für CPLD's aus und ist noch 
nicht so extrem umfänglich. Zum Programmieren geht immer noch ein 
simples Parallelkabel Nr.3, was eigentlich nur ein simpler Bustreiber am 
Druckerport ist. Kann man notfalls per Lochrasterplatte basteln, kostet 
also nix.

Bei Altera gibt/gab es den Byteblaster, was auch bloß ein Bustreiber am 
Druckerport war/ist. Aber bei Altera gibt es im Gegensatz zu Xilinx 
immer wieder dieses ganze Keyfile-Gerappel. Die Software geht nur 1 Jahr 
lang mit passendem Keyfile. Beim Webpack von Xilinx hat man diese 
Umstände nicht.

Tja, und hier ein paar Vorschläge:
- Frontend für einen Frequenzzähler
- Bildschirm-Steuerung für eines der Grafik-Displays von Pollin
- ein selbstgebautes DDS
- Seriell zu Parallel Wandler mit Busanschluß für 24 Bit Audio-ADC's
- SD-Karten Interface
usw.

W.S.

von Falk B. (falk)


Lesenswert?

@  W.S. (Gast)

>Es ist jedenfalls besser, solche Beiträge wie die von Lothar Miller
>nicht allzu ernst zu nehmen.

jain. Es ist eine Meinung von vielen. Nicht mehr, nicht weniger.

>eigentlich bauen? Irgendein Eval-Board für CPLD's halte ich für Quatsch.

Ich nicht. Denn das Ding ist fertig und getestet, man kann sofort mit 
dem Programmieren loslegen.

>So ein CPLD setzt man auf die Platte, die man sich selbst kreiert hat
>und die einen bestimmten Zweck erfüllen soll.

Nö, das ist deine eingeschränkte Sichtweise.

>Im Übrigen ist es gar nicht so schwer, mit CPLD's klarzukommen - im

Hat keiner behauptet.

>Gegensatz zu FPGA's. Bei FPGA's war und ist es mit wenigen Ausnahnem
>üblich, daß man dazu entweder einen separaten Konfigurations-Flashrom
>braucht oder die Dinger aus enem uC heraus initialisieren muß.

Ist auf dem Eval-Board alles fix und fertig, braucht man auch nur den 
JTAG anstecken.

>Steckverbinder, werden darüber programmiert und sind ab da benutzbar
>ohne irgendwelche Umstände.

Dito FPGAs.

>sogen. LUT's, die aber nur rcht wenige Eingänge haben und bei Bedarf
>kaskadiert werden müssen.

Ja, aber darum muss man sich erstmal nicht kümmern, das macht so oder so 
der Compiler.

>Mit CPLD's kann man deshalb viel besser große synchrone und schnelle
>Zähler bauen als mit FPGA's.

Unsinn. FPGAs haben zwar deutlich kleinere LUTs, dafür aber deutlich 
mehr und leistungsfähigere Speziallogik, wie Carry Chains, MUXe etc. 
Mach mal einen 32 Bit Zähler in einem FPGA und CPLD und vergleiche.

> Bei Anwendungen, wo das ne Rolle spielt,
>sind deshalb eher CPLD's angesagt.

Nö.

> Auf der anderen Seite sind größere
>CPLD's recht schnell teurer als vergleichbare FPGA's.

CPLDs sind mit FPGAs gar nicht vergleichbar. Das kleinste heute noch 
sinnvoll verfügbare FPGA hat 10x mehr Logikresouren als der größte CPLD. 
HuH! CPLDs sind relativ pro Logikztelle deutlich teurer als FPGAs, aber 
absolut billiger, weil man halt nicht immer tonnenweise Logik braucht.

CPLDs sind für den Einstig schon OK, man kann damit viele schöne Sachen 
machen. Und der Logikentwurf ist praktisch gleich. Die Feinheiten 
spielen am Anfang keine Rolle.

MfG
Falk

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


Angehängte Dateien:

Lesenswert?

Falk Brunner schrieb:
> @  W.S. (Gast)
>> Es ist jedenfalls besser, solche Beiträge wie die von Lothar Miller
>> nicht allzu ernst zu nehmen.
> jain. Es ist eine Meinung von vielen. Nicht mehr, nicht weniger.
Klar ist das nur eine Meinung, meine eben...  ;-)


Wer unbedingt mit CPLDs anfangen will, der darf das von mir aus ruhig 
und gern machen. Allerdings habe ich hier schon viele erlebt, die 
enttäuscht waren, weil sich nicht mal "so ein kleines Design" auf ihr 
CPLD bekommen haben...
Und da ist eben schon mit einem kleinen UART Schluss:
http://www.lothar-miller.de/s9y/categories/49-RS232-IO
Und dann gilt, was Falk Brunner schrieb:
> CPLDs sind mit FPGAs gar nicht vergleichbar. Das kleinste heute noch
> sinnvoll verfügbare FPGA hat 10x mehr Logikresouren als der größte CPLD.

W.S. schrieb:
> Im Übrigen ist es gar nicht so schwer, mit CPLD's klarzukommen - im
> Gegensatz zu FPGA's. Bei FPGA's war und ist es mit wenigen Ausnahnem
> üblich, daß man dazu entweder einen separaten Konfigurations-Flashrom
> braucht oder die Dinger aus enem uC heraus initialisieren muß.
Am Anfang stand doch die Frage nach dem EVAL-Board. Dort ist das Zeug 
schon drauf...
Und später kann man kann ja genau diese ICs mit dem internen Flash 
nehmen. Was spricht dagegen?
Und wie schon gesagt: Lattice verkauft mit MachXO, MachXO2 sowie iCE40 
FPGAs mit CPLD-Look-and-Feel, und sogar Lattice entwickelt "richtige" 
CPLDs m.W. nicht aktiv weiter. Das sollte zu denken geben...

von Falk B. (falk)


Lesenswert?

@Lothar Miller (lkmiller) Benutzerseite

>Und wie schon gesagt: Lattice verkauft mit MachXO, MachXO2 sowie iCE40
>FPGAs mit CPLD-Look-and-Feel,

Vielleicht sind die so schlecht und klein wie CPLDs
duckundwech

>und sogar Lattice entwickelt "richtige"
>CPLDs m.W. nicht aktiv weiter. Das sollte zu denken geben...

Sicher, es ist der Lauf der Dinge, genauso wie PALs und GALs schon lange 
weg vom Fenster sind. Klar, CPLDs werden das in nicht allzulanger Zeit 
auch sein, vielleicht in 5 Jahren. Aber dennoch werden sie sich in 
kleinen Nischen noch ne Weile halten, wenn gleich das für Hersteller 
keine Sekunde attraktiv ist. Die Nachfrage nach Logikresourcen steigt 
ständig, auch am unteren Rand.

MFG
Falk

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


Lesenswert?

Falk Brunner schrieb:
> Vielleicht sind die so schlecht und klein wie CPLDs
Kann ich so nicht ganz bestätigen...  ;-)
Tatsächlich sind das ganz schnuckelige Dinger, die dem Anwender z.B. 
auch ihren internen RC_Oszillator zur Verfügung stellen. Mit Autobaud 
lässt sich da sogar eine serielle Schnitte betreiben.

von Martin H. (martin_h23)


Lesenswert?

@All,
erstmal überschütte ich euch mit einer Tonne Dank für eine so 
informative und kontroverse Diskussion zum Thema CPLD und FPGA.

Mit Blick auf die Beiträge von Markus und Boris:
Langfristig gehe ich beides an, ich habe ewig keine Leiterplatten mehr 
geätzt, ich denke aber, es findet sich ein preiswerter Lieferant für 
Markus' PCB-Design.

Kurzfristig werde ich mich mal mit Boris unterhalten

Etwas zum Thema und meinen Absichten:

1)
a) Tatsächlich habe ich mich auf CPLD konzentiert, weil diese die 
Configware auf dem Chip speichern und kein externes Flash brauchen. Wenn 
FPGA's das heute auch können steht dem FPGA nichts im Wege.
b)
Gibts CPLD's noch als PLCC bauform und damit kann ich basteln
Ob das für FPGA's zutrifft muss ich recherchieren

Hierzu eine Frage:
Gibt es bei Reichelt & Co evtl. Experimentierplatinen, die das Footprint 
verschiedener SMD Typen aufweisen, so dass mir das Herstellen einer 
eigenen Leiterplatte für den Chip (ertsmal) erspart bleibt?


2)
Ein DevKit deswegen, weil ich genau das, was Markus Horbach getan hat 
(noch) nicht leisten kann. Siehe Punkt 3)
Das Board soll mir die Möglichkeit geben, die Configware zu entwickeln, 
um sie später in einem Projekt einzusetzen.
Ähnlich mache ich das (vorerst) mit dem Arduino, den ich erst als 
Entwicklungsplattform und dann als Programer benutzen möchte (isp ist 
hier nicht das ziel)

3)
Mein "Projekt" heisst: lerne den Umgang mit CPLD/FPGA mit Blick auf isp 
und VHDL
In diesem Thread sind viele Tips und Ideen aufgeführt worden, ich finde 
garantiert was.
Da ich mit dem ATMEGA "rumspiele" ist wieder Markus' Projekt sehr 
interessant.

4)
Mein derzeitiges Projekt benötigt keine CPLD/FPGA, wenn es durch ist 
geht das Lernprojekt los.
Eine Gruppe via Thyristor schaltbarer Steckdosen, die
per USB->Seriell->Atmega einzeln zu- und weggeschaltet werden können.
Das Design sieht vor, dass ein PlugPC (DLNA-Server) mein TV pingt und 
wenn das TV - Gerät einschaltet, ans Netz geht und sichtbar ist, 
schaltet der PlugPC meine Medien-Festplatten an und bindet sie ein.
Geht das TV aus, schaltet der PlugPC die Festplatten wieder komplett von 
Stromnetz (die Netzteile ziehen auch keinen Strom mehr)
Das ist beliebig erweiterbar, zum Beispiel könnte ein Anforderung von 
einem anderen PC eine bestimmte Festplatte aufrufen, vorausgesetzt die 
Anlaufzeit wird kein Problem und man kann aus dem Request heraus die 
Festplatte identifizieren.. aber das gehört hier nicht hin..

Wenn ich den  ACPlugSwitch weiterdenke, möchte ich den mit einer 
Ethernet-Schnittstelle versehen und ein spezifisches Netzwerk um Haus 
aufziehen.
Ziel ist, zentral an verschiedenen Punkten im Haus Steckdosen zu- und 
abzuschalten etc pp. Kommt eine RTC hinzu, dann auch zeitgesteuert usw 
usw.

Gibt es schon alles professionell, aber nicht in meinem Kopf :)
Der Weg ist das Ziel und die Freude wenn's funktioniert!

GLG
Martin

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


Lesenswert?

Martin H. schrieb:
> Hierzu eine Frage:
> Gibt es bei Reichelt & Co evtl. Experimentierplatinen, die das Footprint
> verschiedener SMD Typen aufweisen, so dass mir das Herstellen einer
> eigenen Leiterplatte für den Chip (ertsmal) erspart bleibt?
Bei Pollin gibts/gabs da das, was du suchst. Einfach mal hier im Forum 
nach Pollin und CPLD suchen...
http://www.pollin.de/shop/dt/MTM5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_CPLD_Evaluation_Board.html

Und: kauf dir dazu gleich noch eine PCI-LPT-Steckkarte für den 
Rechner... ;-)
Pech, wenn du einen Laptop ohne Parallelport hast.

Martin H. schrieb:
> Gibts CPLD's noch als PLCC bauform und damit kann ich basteln
> Ob das für FPGA's zutrifft muss ich recherchieren
Spar dir die Recherche. Gibts nicht.

von Lattice User (Gast)


Lesenswert?

Lothar Miller schrieb:
> Tatsächlich sind das ganz schnuckelige Dinger, die dem Anwender z.B.
> auch ihren internen RC_Oszillator zur Verfügung stellen.

Das gibt es auch bei den grösseren Lattice FPGAs, ist da nur etwas 
versteckt. Das einzig neue dabei im MachXO2 ist, dass der Oscillator 
einen Standbymode bekommen hat.

Hat aber auch noch ein paar andere Goodies, z.B. Userflash. Oder dass er 
alternativ über I2C statt JTAG programmiert werden kann.


Falk Brunner schrieb:
> Aber dennoch werden sie sich in
> kleinen Nischen noch ne Weile halten,

Ganz sicher sogar. Als Programmierblock in anderen Bauteilen sogar mehr 
als nur eine Weile. Siehe z.B Cypress PSOC5 oder Lattice Platform und 
Power Manager Reihe.

Ausserdem sollte man nicht vergessen, das FPGAs im Gegensatz zu CPLDs in 
der Regel erst geladen werden müssen, auch solche mit internen Flash. 
Aber es gibt Ausnahmen, siehe z.B. Microsemi(Actel) IGLOO Nano.

von Markus H. (dasrotemopped)


Lesenswert?

Hi Martin,

wie der Zufall so will habe ich mehr als eine Platine von meinem Projekt
geätzt. Sie muss nur noch durchkontaktiert und bestückt werden. Auch da 
habe ich noch Material auf Lager. Wenn du Lust auf ne Schnelleinführung 
CPLD hast und in NRW vorbeikommen kannst, lass es mich wissen. Musst mir 
nur die Materialkosten ersetzen ...

Gruß,

dasrotemopped.

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


Lesenswert?

Lattice User schrieb:
> Ausserdem sollte man nicht vergessen, das FPGAs im Gegensatz zu CPLDs in
> der Regel erst geladen werden müssen, auch solche mit internen Flash.
Man sollte aber auch beachten, dass alle aktuellen CPLDs ebenfalls 
geladen werden. Nur ist dieser Ladevorgang nicht seriell, sondern 
parallel und daher blitzschnell beendet. Aber von der inneren Struktur 
her sind auch die Schalter in CPLDs (wie bei FPGAs) SRAM-basiert...

von Tokyo D. (tokyodrift)


Angehängte Dateien:

Lesenswert?

Falls du ein eher kleines Board suchst hätte ich auch noch etwas hier. 
Xilinx Coolrunner2 XC2C64A in BGA auf einer kleinen Platine. Macht 
wahlweise 3V3 oder 1V8 IO. 30 IOs sind rausgeführt, ist halt ein recht 
kleiner CPLD (etwa so groß wie der von Markus Horbach).
Also wenn du Interesse hast, meld dich einfach. Bräuchtest noch nen 
Programmer dazu (gibts bei ebay für wenig Gelf in LPT ausführung). Ich 
hänge mal ein Bild an.
Auf der anderen Seite würde ich zum Einsteigen ein FPGA Board nehmen, 
und dabei würde ich nicht sparen, 150 Euro oder so für das Spartan3 Kit 
sind gut angelegt.

von Lattice User (Gast)


Lesenswert?

Lothar Miller schrieb:

> Man sollte aber auch beachten, dass alle aktuellen CPLDs ebenfalls
> geladen werden. Nur ist dieser Ladevorgang nicht seriell, sondern
> parallel und daher blitzschnell beendet. Aber von der inneren Struktur
> her sind auch die Schalter in CPLDs (wie bei FPGAs) SRAM-basiert...

Das trifft z.B. auf Altera nicht zu. Die älteren MAX 3000, MAX 7000 
haben  EEProm Zellen die direkt auf die Logik gehen, und die neueren MAX 
II, MAX V sind das Altera Pedant zu den MachXO/XO2 also eigentlich 
FPGAs. Wobei natürlich die Bezeichnung CPLD nicht wirklich falsch ist.

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


Lesenswert?

Lattice User schrieb:
> Die älteren MAX 3000
Diese Designs finden ihren Ursprung ja auch im letzten Jahrtausend... 
;-)
Lothar Miller schrieb:
> dass alle aktuellen CPLDs
Und schon die Nachfolger MAX II sind SRAM-Devices mit einem Bootflash:
1
 ... the flash memory block is located on the bottom-left area of the
2
device. The majority of this flash memory storage is partitioned as the 
3
dedicated configuration flash memory (CFM) block. The CFM block provides 
4
the non-volatile storage for all of the SRAM configuration information.

von Lattice User (Gast)


Lesenswert?

Lothar Miller schrieb:
> Und schon die Nachfolger MAX II sind SRAM-Devices mit einem Bootflash:

Und wenn du dir das Ding anschaust, mit einer FPGA LUT4 Architektur. 
Also kein CPLD im Sinne dieser Diskussion.

von Martin H. (martin_h23)


Lesenswert?

> Und schon die Nachfolger MAX II sind SRAM-Devices mit einem Bootflash:
>
1
>  ... the flash memory block is located on the bottom-left area of the
2
> device. The majority of this flash memory storage is partitioned as the
3
> dedicated configuration flash memory (CFM) block. The CFM block provides
4
> the non-volatile storage for all of the SRAM configuration information.
5
>

Da kann man mal sehen wie schwammig die Definition für ein CPLD ist.

Zurückgreifend auf meine urpsrüngliche Argumentation (weil ich das iwi 
nicht so recht hmmm.. verstehen kann, dass die beiden Varianten 1:1 
vergleichbar sind) nochmal die Frage:
Mir gegenüber wurde noch 2010 die Aussage getroffen, dass bei CPLDs die 
Signallaufzeit berechenbar sei, was bei FPGAs so einfach nicht ginge ..
und jetzt kommts:
Weil der Compiler aus VHDL bei jedem compile vorgang die kleinsten 
Einheiten anders gruppiert und nicht zuverlassig gesagt werden kann, 
dass bei jedem Vorgang immer die gleiche Anzahl Einheiten innerhalb 
eines Signalweges je Vorgang zustande kommt (und damit also auch die 
Signallaufzeit variiert)
Meines Wissen nach wurden Xilinx FPGA und Lattice CPLD verwendet.
Es gab aber noch einen wesentlichen Unterschied im Design, der mir 
auffiel, die FPGA wurden für komplexe Herausforderungen eingesetzt, 
während CPLDs die üblichen TTL-Gräber ersetzten.

Ist da was dran (es muss doch einen Grund geben warum Kollegen immer 
noch auf CPLD zurückgreifen, wenn die sich von kleinen FPGA einfach 
ersetzen lassen, so auch mehrfach in diesem Thread hervorgehoben, dass 
sich beides nicht so einfach über einen Kamm scheren ließe)

LG
Martin

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


Lesenswert?

Martin H. schrieb:
> Weil der Compiler aus VHDL bei jedem compile vorgang die kleinsten
> Einheiten anders gruppiert und nicht zuverlassig gesagt werden kann,
> dass bei jedem Vorgang immer die gleiche Anzahl Einheiten innerhalb
> eines Signalweges je Vorgang zustande kommt (und damit also auch die
> Signallaufzeit variiert)
Naja, ganz soooo schlimm ist das nicht. Und man kann der Toolchain 
durchaus sagen, welche Geschwindigkeit mal will. Genauso, wie man 
sagen kann, an welchem Pin man welches Signal will. Diese 
Einschränkungen/Vorgaben für die Toolchain nennen sich Constraints.

Martin H. schrieb:
> es muss doch einen Grund geben warum Kollegen immer noch auf CPLD
> zurückgreifen
Wer immer CPLDs gemacht hat, macht auch dann CPLDs, wenn es doppelt so 
teuer ist. Solange da keiner ehrlich nachrechnet...

Martin H. schrieb:
> Lattice CPLD
Welche? Siehe die Screenshots im 
Beitrag "Re: Umgang mit CPLD's lernen ( Altera od XILINX) via Dev Kit"

von Lattice User (Gast)


Lesenswert?

@Martin

Das ist so ähnlich wie die Diskussion Assembler versus Hochsprache vor 
vielen Jahren. Da waren auch viele Vorurteile und Missverständnisse an 
der Tagesordnung.

Martin H. schrieb:
> Weil der Compiler aus VHDL bei jedem compile vorgang die kleinsten
> Einheiten anders gruppiert und nicht zuverlassig gesagt werden kann,
> dass bei jedem Vorgang immer die gleiche Anzahl Einheiten innerhalb
> eines Signalweges je Vorgang zustande kommt (und damit also auch die
> Signallaufzeit variiert)

Das zum Beispiel, ist zwar im Prinzip richtig aber die Variation der 
Signallaufzeit ist so klein, dass es in einem vernünftigen Design keine 
Rolle spielt. Ausserdem gibt man vor was erreicht werden muss, und 
schreibt nicht etwa umgekehrt in das Datenblatt was beim letzten 
Compilelauf rausgekommen ist.

Ich bin der Meinung dass ein FPGA fast immer die bessere Wahl ist. CPLDs 
werden weitestgehend aussterben, und nur innerhalb von Nischen und 
innerhalb anderer Bauteile weiterleben. (Z.B. PWR601 von Lattice).

Lattice und wie ich heute festgestellt habe auch Altera tun einem ja 
schon eine Weile kleine FPGAs als CPLD verkaufen.

Und zu Lernen von VHDL ist ein FPGA weit besser geeignet.

von Martin H. (martin_h23)


Lesenswert?

Lattice und Lothar,
ich nehm euch beim Wort :)
Die Screenshots hatte ich übersehen.. das ist ja mal eine kleine 
Mogelpackung, wenn da einer nicht richtig hinsschaut.

Nun also werde ich mich den FPGA zuwenden.
Zwei Kontakte habe ich schon und werde, denke ich, beide Möglichkeiten 
verfolgen.

Nochmal vielen Dank für die informative und kontroverse Diskussion

LG

Martin

von Norbert S. (norberts)


Lesenswert?

Hi,

ich möchte mich mal an den Dank anhängen, weil ich gerade vor exakt der 
gleichen Problematik stand.
Allerdings werde ich erstmal mit CPLD anfangen um die ersten Schritte in 
VHDL zu machen. Wenn ich das richtig verstanden habe sind die 
Unterschiede nicht so elementar was die ersten Schitte angeht.
Da das erste Projekt ein reiner Ersatz für ein TTL-Grab wird, ist das 
die richtige Wahl denke ich.
Ein Board mache ich selbst, bis runter auf 0,5mm Pitch sollte das gehen 
und die grösseren BGAs werde ich wohl vorerst nicht brauchen.

Allerdings sehe ich jetzt schon, wie ich die etwas dünnen Möglichkeiten 
meines geplanten Gattergrabs gehörig mit weiteren Sachen aufbohren kann, 
von denen ich bisher nicht zu träumen gewagt hatte.

Erstaunlich finde ich, daß das eigentlich alles recht überschaubar ist 
und VHDL finde ich auch recht gut zu verstehen.
Die Seite von Lothar ist auch ganz famos, danke dafür!

Lade gerade die ISE herunter - 5,67GB - ich fasse es nicht. Naja, mit 
32Mbit/s habe ich immerhin 1,8MB/s.

Ich denke (fürchte) man wird in Zukunft öfter in diesem Unterforum von 
mir hören ;-)

Gruß,
Norbert

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


Lesenswert?

Norbert S. schrieb:
> Da das erste Projekt ein reiner Ersatz für ein TTL-Grab wird, ist das
> die richtige Wahl denke ich.
Aber zähl auf jeden Fall vorher die Flipflops/Speicherelemente nach...

> Die Seite von Lothar ist auch ganz famos,
Dort sind ein paar der gängigsten Probelme gesammelt, die irgendwie 
immer wieder auftauchen. Und solche Sachen, die mich selber beeindruckt 
haben... ;-)
> danke dafür!
Keine Ursache, wenns hilft.

von Pedro (Gast)


Lesenswert?

Ich habe CPLD's verwendet weil es günstig sein musste (so 27 von 32 
Flipflop's ausgenützt). Für ein EVAL-Board muss es nicht günstig sein, 
sondern möglichst vielfältig, damit man Verschiedenstes darauf testen / 
ausprobieren kann.

Die CPLD's kann man bei bekannter Anwendung (fertiger Synthese) genau 
auf die richtige Grösse bestellen, damit lässt sich schon Geld sparen! 
Braucht man keinen Ferrari, sind CPLD's immer noch sinnvoll.

von Norbert S. (norberts)


Lesenswert?

Lothar Miller schrieb:
> Aber zähl auf jeden Fall vorher die Flipflops/Speicherelemente nach...

So weit bin ich ja noch lange nicht.
Zuerst gibt es sowieso eine "Hello World" LED und dann klapper ich 
vielleicht mal ein paar simulierte Datenströme durch um überhaupt 
erstmal ein Gefühl dafür zu kriegen.
Wenn ich das richtig sehe kann man alles auch recht gut simulieren und 
dann sehe ich ja obs passt.

Und ja, es hilft, weil alles wirklich schön verständlich beschrieben 
ist.

Gruß,
Norbert

von Lattice User (Gast)


Lesenswert?

Pedro schrieb:
> Die CPLD's kann man bei bekannter Anwendung (fertiger Synthese) genau
> auf die richtige Grösse bestellen, damit lässt sich schon Geld sparen!
> Braucht man keinen Ferrari, sind CPLD's immer noch sinnvoll.

Mit den FPGAs geht das auch. Wenn man schon einen Autovergleich dafür 
heranzieht, ist das am unteren Ende ist das eher Trabi mit 2 Takter, 
oder Trabi mit 4 Takter.

von Martin H. (martin_h23)


Lesenswert?

Norbert S. schrieb:
> Zuerst gibt es sowieso eine "Hello World" LED und dann klapper ich
> vielleicht mal ein paar simulierte Datenströme durch um überhaupt
> erstmal ein Gefühl dafür zu kriegen.

Exakt DAS ist meine Situation :) und mein Vorhaben.. und dann mal ein 
LCDisplay dran hängen usw usw..

Du bist aber schon weiter als ich Norbert, denn Du hast VHDL schon 
gesehen..
Ich habe ich gerade erst für einen Hersteller wnetschieden.. also wirds 
auch bei mir die ISE sein denk ich (War doch XILNIX??)

Martin

von Norbert S. (norberts)


Lesenswert?

Hi,

jepp, Xilinx.
Achtung, 5,67GB Download und die Installation zieht sich auch ziemlich 
hin.

Da ich viel mit ATMega mache werde ich mir LCD vermutlich nicht antun, 
da macht mir das Bascom schön einfach.
Ich werde das vor allem für Dinge nutzen, wo man beim AVR mit dem Timing 
ins Schwitzen kommt oder es gar nicht erst versuchen braucht.

Ich hatte einen Mordsrespekt vor VHDL aber wenn man mal das Prinzip von 
Java (oder anderen OO-Sprachen) etwas kapiert hat (ohne es zu können) 
und von Basic kommt, versteht man das sofort.
Mit Java für Android war das für mich ne ganz andere Nummer. Angefangen, 
Buch gekauft (welches angeblich gut sein soll), einen Kollegen mit Kenne 
und einen Kumpel der absoluter Profi in Java ist - keinen Plan, war mir 
zu kompliziert - aufgegeben.

Aber es geht schon los, am Ende der Installation:
"The environment variables are written to the .settings[32|64].bat file 
for each application and an encompassing settings[32|64].bat at 
"C:\Xilinx\13.4\ISE_DS". In order to set the variables in your 
environment, you must source the settings[32|64].bat file from 
"C:\Xilinx\13.4\ISE_DS"."
Was will mir das sagen?

Gruß,
Norbert

von MCUA (Gast)


Lesenswert?

>> Zum Einstieg würde ich mir auf jeden Fall PLDs, dann CPLDs anguggen,
>> erst dann FPGAs.
>Die PLDs (PAL/GAL) kannst du locker auslassen, weil du nämlich einen
>spezeillen oder universellen Programmer dafür bräuchtest. Und weil sogar
>Lattice seine GALs abgekündigt hat...
Meinte vom Verständnis her, Struktur, geschichtl. Verlauf usw.
Ein Programmer ist kein Probl, bsp v Xilinx.
Lattice hat (wie erwähnt) die uralten GALs abgekündigt, macht aber noch 
(richtige) CPLDs. Auch Altera hat(te) "FPGAs" mit embedd. MACzellen.

>Mann, war das ein Lichtblick! So
>viele Flipflops... ;-)
dafür wenig Funktionalität in den (kleinen) LUTs.


>Mir gegenüber wurde noch 2010 die Aussage getroffen, dass bei CPLDs die
>Signallaufzeit berechenbar sei, was bei FPGAs so einfach nicht ginge ..
Kommt einfach nur daher, dass man beim (wirklichen) PLD oft die Anzahl 
der MACs sofort abschätzen kann, und somit auch die Laufzeit direkt 
parat hat.
 Beim FPGA braucht man halt einige LEs/CLBs dafür, wobei manchmal 
(besonders bei älteren FPGAs (*)) die Signallaufzeiten -je nach Routing- 
sehr unterschiedlich ausfallen können.
(*)Altera hatte (im Gegensatz zu Xilinx) von Anfang an eher 
busorientierte Routing-Resourcen mit angeblich 'besserer' 
Vorhersagbarkeit, bzw mit einfacherem Timing-Model.

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


Lesenswert?

MCUA schrieb:
>> Mann, war das ein Lichtblick! So viele Flipflops... ;-)
> dafür wenig Funktionalität in den (kleinen) LUTs.
Aber dafür eine Unmenge davon...
Und selten werden tatsächlich solche komplexen logischen Beziehungen 
aufgesetzt, dass ein Produktterm eines CPLDs auch nur annähernd 
ausgereizt würde. Kurz: der Wirkungsgrad des FPGAs ist sicher höher, 
weil immer nur ein kleiner Rest an ungenutzer Logik übrig bleiben. Mal 
angenommen, du brauchst nur 2 simple 4-fach UND Gatter...

> (*)Altera hatte (im Gegensatz zu Xilinx) von Anfang an eher
> busorientierte Routing-Resourcen mit angeblich 'besserer'
> Vorhersagbarkeit, bzw mit einfacherem Timing-Model.
Aber das ist sowieso kein Problem, weil die statische Timinganalyse von 
der Toolchain berechnet wird...

von Duke Scarring (Gast)


Lesenswert?

Norbert S. schrieb:
> "The environment variables are written to the .settings[32|64].bat file
> for each application and an encompassing settings[32|64].bat at
> "C:\Xilinx\13.4\ISE_DS". In order to set the variables in your
> environment, you must source the settings[32|64].bat file from
> "C:\Xilinx\13.4\ISE_DS"."
> Was will mir das sagen?
Für ein 32-Bit-System mußt Du die settings32.bat aufrufen, um die 
nötigen Pfade zu setzen und für ein 64-Bit-System die settings64.bat.

Duke

von Martin H. (martin_h23)


Lesenswert?

Lothar Miller schrieb:
> Und da ist eben schon mit einem kleinen UART Schluss:
> http://www.lothar-miller.de/s9y/categories/49-RS232-IO

Mein lieber Lothar,
das ist aber eine ganz schöne Spielwiese, Deine Seite :)

Es werfen sich natürlich wieder Fragen auf :)

1)
Gibt es eine preiswerte VHDL Referenz, beantwortet sich vllt von 
selbst, namlich hier auf mikrocotroller.net, aber auch etwas brauchbares 
auf Papier?

2)Mit Bezug auf Dein Beispiel:
Einge USB2Seriell-Wandler (USB zum SIO des AVR von ATMEL z.B.) sind als 
CPLD ausgeführt.
Es wäre interessant, anstatt sich einen FTDI chip zu kaufen, SOWAS mal 
selbst zu machen, aber dazu muss ich das Protokoll wissen.
Hast Du da was auf Lager, so VHDL mäßig??
Wäre auch mal ein gutes Trainingsprogramm

3)
Natürlich gibt es Emulatoren und so was, mit denen man VHDL quasi als 
Software-FPGA/CPLD testen kann.
Gibt es da Empfehlungen
natürlich an besten
- opensource
- für linux
- kostenfrei
Geht das mit der ISE von Xilinx auch? (da ich ja wohl auf Xilinx gehe)

LG

Martin

von Christian R. (supachris)


Lesenswert?

2: Ein USB Device ist selbst für das größte CPLD einige Nummern zu groß. 
Woher hast du diese Info, dass da ein USB-Seriell Wandler reinpassen 
würde?

3: Sowas nennt sich Simulator. Gibts als open source mit ghdl + evtl. 
gtkwave auch für Linux. Der hat aber ein problem mit manchen Libs von 
Xilinx.
Ansonsten ist in der ISE der ISim integriert, das ganze Paket gibts 
natürlich auch für Linux.

von Martin H. (martin_h23)


Lesenswert?

Christian R. schrieb:
> Ein USB Device ist selbst für das größte CPLD einige Nummern zu groß.
> Woher hast du diese Info, dass da ein USB-Seriell Wandler reinpassen
> würde?

Altera verwendet beim USBBlaster einen FPGA oder CPLD.
Siehe Schaltplan

Dass es ein CPLD ist, ist eine Annahme, nachdem ich gelernt habe, dass 
manche CPLD verkappte FPGA sind, halte ich das für möglich, habe das 
aber nicht akurat genug definiert :)

von Lattice User (Gast)


Lesenswert?

Martin H. schrieb:
> Altera verwendet beim USBBlaster einen FPGA oder CPLD.
> Siehe Schaltplan

Aber neben einen Cypress FX2 der den USB Teil bedient.

von Falk B. (falk)


Lesenswert?

@  Lothar Miller (lkmiller) Benutzerseite

>weil immer nur ein kleiner Rest an ungenutzer Logik übrig bleiben. Mal
>angenommen, du brauchst nur 2 simple 4-fach UND Gatter...

Dann nimmt man einen 74HC08

SCNR
Falk

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


Lesenswert?

Martin H. schrieb:
> 1)
> Gibt es eine preiswerte VHDL Referenz, beantwortet sich vllt von
> selbst, namlich hier auf mikrocotroller.net, aber auch etwas brauchbares
> auf Papier?
Eine "Referenz" ist nicht unbedingt das, was du willst und brauchst.
Denn in einer VHDL-Referenz steht natürlich alles drin, was VHDL kann.
100% Funktionsumfang also.
Aber davon kann der Synthesizer nur 5% in reale Hardware umsetzen.
Es ist also wichtig, 2 Bücher zu haben:
1 das alles über VHDL sagt, und
1 das sagt, was du davon in ein CPLD/FPGA reinbekommen wirst.

Sieh dir den Beitrag "Suche VHDL Buch" an.

von W.S. (Gast)


Lesenswert?

Martin H. schrieb:
> Es werfen sich natürlich wieder Fragen auf


1. Zunächst zu deinen Fragen nach einer VHDL-Referenz: Es gibt ne Menge 
im Internet, woraus man VHDL lernen kann. Manches ist gut und 
instruktiv, anderes eher nicht, aber das hängt auch von persönlichen 
Präferenzen ab. Also suche das Netz ab, schau dir die diversen PDF's an 
und behalte das, was dir zusagt. Jeder Ratschlag zu diesem Thema ist 
persönlich gefärbt.

2. Das Beispiel eines USB/V24-Wandlers ist schlecht, denn es ist genau 
so eine Anwendung, für die man einen uC viel besser gebrauchen kann als 
ein Stück programmierbare Logik, egal ob CPLD oder FPGA. Von Xilinx weiß 
ich, daß die ein FPGA und einen uC (ich glaub von Cypress) in ihrem 
USB-Programmer verwenden. Aber nochmal: Wenn du einen Parallelport an 
deinem PC hast, dann ist es am einfachsten, einen simplen Adapter dafür 
zu basteln. Ist ruckzuck erledigt und kostet nix. Ich habe damit gute 
Erfahrungen gemacht, allerdings unter Windows. Wenn du später mal groß 
in das Geschäft einsteigen willst, ist immer noch Zeit, was Teureres zu 
kaufen. Ach ja, ich verwende zu diesem Zweck eine Netmos-Einsteckkarte 
von Pollin.

Auch das Implementieren eines Mikrocontrollers in ein FPGA ist 
eigentlich ein schlechtes Beispiel, denn einen richtigen Mikrocontroller 
kann man auf solche Weise nicht wirklich ersetzen: Entweder schafft man 
es, dann braucht man ein FPGA, das so groß und teuer ist, daß man davon 
ne ganze Schachtel uC hätte kaufen können oder man schafft es mit Mühe 
und Not gerade so, dann ist alles im FPGA belegt und das FPGA ist immer 
noch teurer als ein uC. Als eher akademisches Beispiel sei hier der 
CQPIC genannt (http://www002.upp.so-net.ne.jp/morioka/cqpic.html), der 
ne nette Übung sein kann. Aber für weniger Geld gibt es mittlerweile 
viel neuere PIC's.

3. Emulatoren und so: Ich weiß nicht, wieso du bei diesem Punkt so 
vehement auf Linux pochst: Ist dir Linux wichtiger als die Sache, um 
derentwegen du hier anfragst? Es gibt eigentlich bei allen Herstellern 
in der Entwicklungssoftware eine Timing-Analyse. Aber ob und wie man die 
Funktionalität insgesamt austesten kann, ist ne andere Frage. Das 
Programm ChipScope ist m.W. in einer speziell zugeschnittenen Version 
für den jeweiligen Hersteller vefügbar, aber ob das überhaupt auf Linux 
- und wenn mit welcher Version - läuft, mußt du mal selber 
herausbekommen. Notfalls benutzt du Wine..

Nochmal meine ernst gemeinte Anregung:

- Versuche nicht, das nachzubilden, was es bereits viel billiger als 
normalen Chip gibt.

- Such dir was aus, das hardwarebetont ist, was man also nicht wirklich 
gut mit einem Programm in irgendeinem uC ebenso gut erledigen kann.

nach meiner Erfahrung sind Themen wie
- DDS bis ca. 100 MHz Takt und Steuerung für nen Vierquadranten-Mischer 
für ein SDR (Software definiertes Radio) auf Soundkartenbasis
- Bildschirmsteuerung für S/W- und TFT-Farb-Grafikdisplays
- Ersatz für umfängliche TTL-Gräber
- 4 Bit SD-Karten Frontend
- Frontend für Frequenzzähler
geeignet für CPLD's.

Und Themen wie
- Digitales Frontend für direktsamplendes SDR
- Demodulator und Dekoder für HRPT (Wettersatellitenbilder)
- Bildschirmsteuerung mit Hardware-Mauszeiger
sind was für FPGA's.

Bloß so, daß du einen Eindruck von den Gefilden bekommst.

W.S.

von Norbert S. (norberts)


Lesenswert?

Hi,

das scheint mir ein sehr guter Beitrag zu sein, zumindest bestätigt er 
meine ersten Eindrücke.

Allerdings zu 1.:
Man wird überall erschlagen, ich hab noch nichts gefunden mit dem man 
"einfach" klar kommt. So vielleicht 20-30 Seiten und ich kann ein 
Gattergrab ersetzen. Gibts nicht. Ich brauche die Grundlagen nicht, die 
man vielleicht für eine effektive Programmierung einer LTE Basisstation 
mit 20 parallelen FPGAs aus dem obersten Regal braucht.

Was ich bisher gelernt und hinbekommen habe, könnte man vielleicht in 
2-3 Seiten erklären. Frag mich nicht durch wie viele Quellen ich mich 
dafür gequält habe.

Ich habe hier besonders von Lothar schon gute Erklärungen bekommen. Ein 
entsprechendes Tutorial mit einfachen Erklärungen habe ich aber auch 
nach intensiver Suche noch nicht gefunden.
Also Lothar, wenn Du ein Buch schreiben willst "VHDL für einfache 
Vergleiche und Byteschubsereien - wenn der µC mal zu lahm ist", dann bin 
ich einer der ersten Käufer.

Gruß,
Norbert

von Martin H. (martin_h23)


Lesenswert?

W.S. schrieb:
> 1. Zunächst zu deinen Fragen nach einer VHDL-Referenz: Es gibt ne Menge
> im Internet,.. Also suche das Netz ab,
Da ich nicht weiss, was ich nicht weiss, ist das Suchen ein Problem.
Ich denke ich fange mit einem Buch an. Irgend ein 101 wird sich finden 
und das Netz werde ich sicher weiter durchgraben. Solche Seiten wie die 
von Lothar mögen nicht perfekt sein, aber sie helfen Anfängern zu 
verstehen.
Siehe Beiträge von Norbert S.

>Jeder Ratschlag zu diesem Thema ist persönlich gefärbt.
Wie wahr

> 2. Das Beispiel eines USB/V24-Wandlers ist schlecht, denn es ist genau
> so eine Anwendung, für die man einen uC viel besser gebrauchen kann als
> ein Stück programmierbare Logik
Es ist nur ein Beispiel und ein einfaches dazu (siehe weiter unten)

> Aber nochmal: Wenn du einen Parallelport an deinem PC hast, dann ist es
> am einfachsten, einen simplen Adapter dafür zu basteln.
Wurde mir von abgeraten und ich möchte einigermaßen zukunftssicher auf 
USB setzen. Nicht das ich das nicht leisten könnte.

> Wenn du später mal groß in das Geschäft einsteigen willst, ist immer
> noch Zeit, was Teureres zu kaufen.
Will ich nicht, mein Eingangspost lässt drauf schliessen, dass ich erst 
mal wissen will wie und was.. dazu reichen mir irgendwelche Logiken, die 
ich schön und einfach mal programmieren und auf den Chip flashen kann 
und dann sehe ich weiter.

> Auch das Implementieren eines Mikrocontrollers in ein FPGA ist
> eigentlich ein schlechtes Beispiel, denn einen richtigen Mikrocontroller
> kann man auf solche Weise nicht wirklich ersetzen:

CPLD und FPGA sind eigentlich sowas wie statemachines und keine 
Prozessoren (es sei denn einer ist drauf untergebracht)
Deswegen habe ich im Rahmen einer Arbeit den "Programmen" für CPLD/FPGA 
den namen Konfigware gegeben, denn es läuft kein zyklisches oder sonst 
wie gesteuertes Programm im Sinne von schrittweisem Durchlauf von 
Befehlen ab, sondern die Verbindungen von Ein- und Ausgängen sowie der 
Funktionseinheiten dazwischen wird konfiguriert.
Weil ich das Prinzip kenne, weiss ich noch immer nicht wie man damit 
umgeht und darum geht es mir hier.


> 3. Emulatoren und so: Ich weiß nicht, wieso du bei diesem Punkt so
> vehement auf Linux pochst:
Weil mein Hauptarbeitsrechner unter Linux läuft.

> Ist dir Linux wichtiger als die Sache, um derentwegen du hier anfragst?
Wie kommst Du auf das schmale Brett?
Hast Du vllt ein Problem mit Linux?

> - Versuche nicht, das nachzubilden, was es bereits viel billiger als
> normalen Chip gibt.
Ich will nichts nachbilden, ich will lernen mit den Teilen umzugehen und 
nebenher etwas VHDL

> - Such dir was aus, das hardwarebetont ist, was man also nicht wirklich
> gut mit einem Programm in irgendeinem uC ebenso gut erledigen kann.
Siehe weiter oben... ich habe nicht vor einen µC zu ersetzen, denn dazu 
benutze ich AVR Prozessoren.

> nach meiner Erfahrung sind Themen wie
> - DDS bis ca. 100 MHz Takt und Steuerung für nen Vierquadranten-Mischer
> für ein SDR (Software definiertes Radio) auf Soundkartenbasis
> - Bildschirmsteuerung für S/W- und TFT-Farb-Grafikdisplays
> - Ersatz für umfängliche TTL-Gräber
> - 4 Bit SD-Karten Frontend
> - Frontend für Frequenzzähler
> geeignet für CPLD's.

Mir im Moment leider alles zu hoch ausser dem Ersatz für TTL-Gräber und 
da will ich erst mal hin.
Das SD-Kartenfrontend könnte interessant sein oder das Radio.

> Und Themen wie
> - Digitales Frontend für direktsamplendes SDR
> - Demodulator und Dekoder für HRPT (Wettersatellitenbilder)
> - Bildschirmsteuerung mit Hardware-Mauszeiger
> sind was für FPGA's.
Du unterscheidest zwischen den Möglichkeiten von CPLD und FPGA.. weiter 
oben im Forum wurde heftig diskutiert, dass CPLD aussterben würden und 
manche CPLD verkappte FPGA sind.
Zuletzt lautete meine Frage, welches Zielsystem und ich bin auf dem Weg 
eines für mich zu finde, es wird eines mit FPGA ist.

Vielen Dank für Deine Anregungen

LG Martin

von Martin H. (martin_h23)


Lesenswert?

Martin H. schrieb:
> CPLD und FPGA sind eigentlich sowas wie statemachines

Für Haarspalter.. Es sind natürlich KEINE statemachines, beachte den 
Satzbau..
Es geht mir darum auszudrücken, dass hier kein Prozesser Takt für Takt 
Befehle abarbeitet, sondern eben eine Logik aufgrund von 
Eingangssignalen (ggf. zum Taktzeitpunkt) bestimmte Ausgangssignale 
bereitstellt.

Was das Nachbilden von existierenden Chips angeht..
Wenn man auf eine andere Art und Weise etwas nachbildet, was man schon 
kennt, hat man eine Referenz, arbeitet sozusagen wissenschaftlich.
Was spricht also für einen Anfänger dagegen, ein BCD-zu-7Segment Wandler 
zu bauen, er weiss wie die Logik aussehen muss und kann es in der 
Sprache nachbilden und weiss was für ein Ergebnis rauskommen muss.
Keine schlechte Art zu lernen.

LG Martin

von W.S. (Gast)


Lesenswert?

Martin H. schrieb:
> Keine schlechte Art zu lernen.

Ähem.. Findest du das nicht ein bissel unter/übertrieben? Du möchtest in 
die Welt der programmierbaren Bausteine einsteigen, tendierst nach 
einigen Beiträgen in diesem Thema dazu, zuallererst mit FPGA's 
anzufangen und willst dann damit erstmal einen BCD->7Segment-Dekoder 
bauen? Ansonsten scheinst du fast jeden Satz von mir besserzuwissen, 
also wozu fragst du dann?

Also: such einfach per Google nach "VHDL Tutorial" und sieh dir die 
Treffer an. Ich hatte es damals ja auch nicht viel anders gemacht - wenn 
man mal davon absieht, daß es Google damals noch nicht gab und ich 
Altavista und so benutzt habe.

Und was deine Bemerkung zu Linux betrifft: Linux benutze ich eigentlich 
nur zum Daddeln im Internet, die Arbeit wird auf Windows erledigt und 
ich weiß wirklich nicht, ob die Software, von der ich rede, auch auf 
Linux läuft. Dieses mußt du selber herausfinden. Aber das habe ich dir 
ja schon weiter oben geschrieben.

Und nochwas: Wenn du nicht bloß programmierst, sondern mit Hardware 
umgehst, dann solltest du eigentlich auch Schaltungen entwerfen können - 
meine ich. Also wäre es erstmal ein Einstieg, wenn du tatsächlich dein 
allererstes Projekt mit Schematic durchziehst. Wenn das läuft weißt du, 
daß deine Toolchain funktioniert, daß dein Programmer funktioniert, daß 
dein Zielsystem (also deine Leiterplatte) funktioniert. Dazu reicht dann 
was Selbstgeätztes mit einem einfachen CPLD mit 32..64 Makrozellen drauf 
völlig aus - und das kostet fast nix. Zu Höherem kannst du dich ja 
anschließend aufschwingen. Lies einfach mal die Quelle zum CQPIC, die 
ist einigermaßen lehrreich.

W.S.

von Duke Scarring (Gast)


Lesenswert?

Norbert S. schrieb:
> Ich brauche die Grundlagen nicht, die
> man vielleicht für eine effektive Programmierung einer LTE Basisstation
> mit 20 parallelen FPGAs aus dem obersten Regal braucht.
Wo hast Du die gefunden? Die hätte ich gerne g

Duke

von Markus H. (dasrotemopped)


Lesenswert?

@Martin,

ich habe gerade mit dem Buch angefangen, um VHDL zu lernen :
VHDL-Synthese: Entwurf digitaler Schaltungen und Systeme
ISBN-10: 3486589873
ISBN-13: 978-3486589870
Bin sehr zufrieden mit dem Aufbau des Buchs.
War auch ein Tip hier aus dem Forum.

Aber um mit CPLDs anzufangen kann VHDL erst mal warten.
Jeden CPLD / FPGA kann man erst mal mit einem Schematic Projekt
ans erste blinken bringen, das ist für das erste Projekt Arbeit genug.
Wenn man auf Schematic Ebene fit ist kann man sich ja an das erste VHDL 
Projekt wagen. Nie mehr Schritte auf einmal machen, man kommt nur ins 
Stolpern. Die großen Dinge wagen, wenn man für die großen Dinge gerüstet
ist.

Gruß,

dasrotemopped.

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


Lesenswert?

Markus Horbach schrieb:
> Aber um mit CPLDs anzufangen kann VHDL erst mal warten.
> Wenn man auf Schematic Ebene fit ist kann man sich ja an das erste VHDL
> Projekt wagen.
Ich habs genau andersrum gemacht (erst VHDL, dann Hardware) und vermisse 
keinen der offenbar unsäglichen Schematic-Editoren.
Na gut, zu allererst habe ich Schematics (und daraus Boards) mit 74ern 
und 4000ern gemacht...   ;-)

von Martin H. (martin_h23)


Lesenswert?

Markus Horbach schrieb:
> Jeden CPLD / FPGA kann man erst mal mit einem Schematic Projekt
> ans erste blinken bringen, das ist für das erste Projekt Arbeit genug.
> Wenn man auf Schematic Ebene fit ist kann man sich ja an das erste VHDL
> Projekt wagen.

@Markus
So sehe ich das auch..
Direkt auf FPGA zu gehen war ein Anregung weiter oben weil <Zitat> "CPLD 
tot sind" </Zitat>
Auch ich bin generell für die Vorgehensweise Einfach -> schwierig.

Ich wiederhole gerne nochmal meine Intentionen wie gaaaaaaanz oben schon 
mal ausgedrückt.
- Ich möchte lernen, mit CPLD(FPGA) umzugehen
(also Funktionen zu implementieren und auf die Chips zu übertragen)
- den Umgang mit VHDL
und das ganze sehr generell, weil es mich schlicht interessiert.

Für alle die es wissen wollen:
Ich habe als RadioFS-Techniker angefangen und bin jetz 
Elektrotechniker/Elektronik/Datenverarbeitung bzw Technischer Redakteur
Privat habe ich mich mit TTL und CMOS-Technik sowie OpAmp-Schaltungen 
beschäftigt sowie Z80, dem µC 78HC705 usw.
Alles was das Ätzen von Platinen anging fand ich ätzend, alleine die 
Entsorgung von EisenIII-Chlorid.. hhmmmm ja.. und bin deswegen nach 
einigen Versuchen bei der Lochrasterplatine geblieben.
Heute arbeite ich als Technischer Redakteur.
Alle Versuche in die Hardwarentwicklung zu kommen sind leider 
gescheitert.

Daraus folgert:
Ich bin kein Anfänger in der Elektronik, wohgl aber im "realen " Umgang 
mit PLD's/FPGA, hier kenne ich das Prinzip, aber da endet es auch.
Ich kann Schaltungen entwerfen, aber ich falle auf Dinge rein, die 
Erfahrung benötigen, ich kann µC programmieren.
Als damals GALs auftauchten tauchte ich gerade ab.
Jetzt habe ich Lust und Zeit mich damit zu beschäftigten.
Linux ist mein bevorzugtes Betriebssystem.
(Wen immer das stört möge es akzeptieren oder weglesen)

Auch weiter oben im Thread habe ich kurz beschrieben womit ich mich 
gerade beschäftige (auch auf Lochraster :)

Da dieser Thread inzwischen fast unlesbar lang wird, fängt die Katze an 
sich in den Schanz zu beissen und fachlich ineffektiv zu werden (ein 
subjektiver Meinungsaustausch, der zeitweilig Grenzen überschreitet, was 
ich schade finde)

Gruss und Dank Martin

von W.S. (Gast)


Lesenswert?

Na dann wünsche ich dir frohes Schaffen und große Erfolge. Vielleicht 
liest man irgendwann von deinen Werken.

Auf selbstgemachte Leiterplatten brauchst du trotzdem nicht zu 
verzichten: Du kannst die freie Version von Eagle benutzen (das gibt's 
auch für Linux) und dann das Boardfile zu einem Leiterplattenmacher 
schicken. Einige davon werben hier in diesem Forum, also schau dich um.

Ähem.. für das anschließende Löten der Bauteile auf das Board solltest 
du dich aber fit fühlen, oder?

W.S.

von BorisM (Gast)


Lesenswert?

Hallo Martin, ich schreibe hier nochmal weil es vielleicht den ein oder 
anderen Einsteiger auch interessieren könnte. Ich möchte mich mal zum 
Thema Linux und Xilinx Tools äußern.
Die Tools bei Xilinx scheinen zwar für Windows programmiert zu werden, 
aber diese laufen (ohne Ausnahme) bei uns im produktiven Einsatz unter 
Debian und Ubuntu sehr stabil. Am Anfang habe ich mich zwar etwas schwer 
mit dem Cable-Treiber getan aber darüber gibt es jetzt schon mehr als 
ausreichend Artikel (einfach mal googlen oder hier fragen). Und auch 
Modelsim / Questa laufen unter Linux (aber das kommt aufgrund des 
Preises bei Privatleuten wohl eher nicht in Frage). Wie es mit ALDEC 
aussieht kann ich leider nicht sagen. Aber ISIM (Xilinx) oder die 
Altera-Modelsim-Version sollte für den Anfang locker reichen.
Was das Thema Schematic-Editor angeht hat jeder seine eigene Meinung. 
Meine ist dass man so vielleicht vor 10 Jahren PLDs umschrieben hat. 
Dies ist aber nicht mehr Zeitgemäß. Veranschauliche dir lieber was in 
deinem FPGA drin ist (CLB, Slice, etc.), überlege dir dann auf einem 
Blatt Papier was du machen willst, umschreibe es in einer HDL (VHDL oder 
Verilog) und schaue was dein Tool draus macht (mit dem RTL Viewer). 
Danach kannst du es in einer Simulation testen (z.B. ISIM) und/oder auf 
deinem Zielbaustein programmieren.

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.