CPLD's -> Anfänger

#839012
Lesenswert?

Hallo,

Ich habe bis jetzt nur AVR's programmiert, wollte
mich jedoch mal in die Materie von CPLD's einarbeiten.

Meine erste Frage:
Würde sich dieses Testboard für einen Anfänger empfehlen:
http://www.ulrichradig.de/

-> Meinen Programmer um AVR's zu programmieren würde bei einem
CPLD wohl nicht funktionieren...

Meine zweite Frage:
Wie werden CPLD's programmiert?
(Programmiersprache, Compiler)

Gibt es auch ein Tutorial?

MFG Trunes
Gast #839026
Lesenswert?

Prinzipiell kannst Du ein CPLD nehmen. Aber Du wirst sehr schnell mit 
einem CPLD an die Grenzen kommen. Er eignet sich nur für kleine Designs.

Ein FPGA wäre da die bessere Wahl.
Solche programmierbaren Bausteine werden gewöhnlich in VHDL oder Verilog 
programmiert. Dabei musst Du beachten das das eine andere Welt als 
andere Programmiersprachen ist.
Entwicklungstools bekommt man bei den Herstellern der Bausteine.
#839070
Lesenswert?

Trunes P. wrote:
> Sind die Kosten eines FPGA's nicht sehr hoch?

Die ICs selbst kosten um die 10-20€, und dafür bekommt man schon 
ordentliche (da passt dann z.B. eine 32bit RISC CPU rein)

> Gibt es für FGPA's auch ein Testboard, das man sich selber bauen kann?

Eher nicht. FPGAs gibt es afaik nur mit 0,5mm Pinabstand oder BGA.
Fertige Boards bekommt man ab etwa 100€ aufwärts.
Gast #839164
Lesenswert?

Wenn Du nur spielen willst, spiele erstmal mit einem Simulator. Das ist 
zwar nicht so eindrucksvoll, aber Du kannst schonmal VHDL antesten.
Wie Du meinst... Ein CPLD ist recht klein, aber natürlich auch billig. 
Vielleicht hast Du dir schonmal Überlegungen gemacht was Du so mit nem 
CPLD machen möchtest?
CPLDs haben sehr wenig Register. Das ist die hauptsächliche 
Einschränkung. Prozessoren für CPLDs gibt es auch. Allerdings sind das 
eigentlich nur Spielzeuge. Also wenn Du später diese Richtung willst, 
kommst Du um nen FPGA nicht rum.
Der Haupteinsatzgebiet eines CPLD ist der Ersatz von glue-logic.

Ich denke das sollte mit dem Altium gehen. Ansonsten gibt es halt 
spezielle Tools der Hersteller.
#839209
Lesenswert?

Webpack hat einen Simulator, ansonten ist auch Modelsim ganz gut. 
Allerdings ist auch der Simulator schnell an der Grenz. Der Webpack 
Simulator brauchte bei mir gerade rund 2 Minuten um 100ms zu simulieren, 
und das obwohl das Design nur 2 11bit Zähler hat, von denen ein paar 
Signale abgeleitet werden. Und den Einstieg in die Bedienung des 
Simulators fand ich auch etwas kompliziert. Da ist das Programmieren 
eines CPLDs/FPGAS meiner Meinung nach um einiges einfacher.

Die XC95xxXL sind für den Einstieg ganz gut, auch wenn (im Vergleich zu 
einem FPGA) sehr klein. Dafür kosten sie aber nicht viel, benötigen nur 
3,3V und man bekommt sie als PLCC, kann sie also über Sockel auf 
Lochraster löten.
#839295
Lesenswert?

ich würde mir mal ise modelsim anschauen.

damit kannst du in vhdl coden, und dir den ganzen kram simulieren und 
grafisch anzeigen lassen.
ich bin auch anfänger(brauchs für die uni) aber direkt irgendwelche 
boards kaufen etc würde ich dir nicht empfehlen.
gerade wenn man andere programmiersprachen gewohnt ist, muss man erstmal 
ordentlich umdenken,(ging/geht mir zumindest so) und muss ordentlich 
zeit investieren
Gast #839685
Lesenswert?

#840247
Lesenswert?

Hallo,

Danke für eure Antworten!
Das erleichtert mir den Einstieg sehr!

Ich habe mir jetzt folgenden Simulator herruntergeladen:
ise modelsim

Ich möchte mir jedoch noch ein Testboard für einen
XC9536 selbst bauen (Diesen auf http://www.ulrichradig.de/)

Bei den AVR's hatte ich zuerst auch nur den Simulator,
fand jedoch schnell herraus, dass sich ein Testboard lohnt!

Ich habe jedoch eine frage zu dem Testboard: für was ist der
Timer (NE555) auf dem Board? -> Dient dieser als Oszilator?

MFG Trunes
#840294
Lesenswert?

@ Trunes P. (trunes)

>Kann nicht ein interner Takt verwendet werden?

Nein.

Ausserdem wäre ich mit einem NE555 als Taktgeber vorsichtig. Der macht 
lahme Flanken, so um die 200ns++ Anstiegszeit. In einen anderen Thread 
kam dadurch wahrscheinlich ein Zähler durcheinander. Lieber eine 74HC14 
als Taktgeber nutzen. Braucht auch weniger Bauteile ;-)

MfG
Falk
#840386
Lesenswert?

@ Trunes P. (trunes)

>Also würde ein Quarz-Oszilator besser funktionieren...

JA. Aber der hat eine feste Frequenz.

>Hat ein CPLD interne Pull Up oder Pull Down Widerstände?

Ja, die meisten nur Pull-Ups.

>Mein ModelSim verlangt eine Licens, obwohl ich
>die free-version installiert habe!

Logisch. Die musst du von Xilinx holen. Auch für die Freeware. Der Link 
wird bei der Installation mit erzeugt (im Startmenu).

MfG
Falk
Gast #840415
Lesenswert?

Ein variabler Takt ist auf einem Testboard sehr zu empfehlen. Im FPGA 
hat man genügend Platz um sich mal eben die 50 MHz runterzuteilen, aber 
nicht in den kleinen CPLDs.

Die Taktfrequenz hängt von der Anwendungen ab, hier mal ein paar 
Anhaltspunkte:

Lauflicht      -> 1..10Hz
PWM-Dimmer     -> 100Hz..x kHz
Motorsteuerung -> kHz-Bereich
einfache DDS   -> bis mehrere MHz

In den Xilinx-CPLDs kann man ja auch mehrere verschiedene Takte 
einspeisen (GCK1..GCK3) und nur die benötigten nutzen.

Rick
#841140
Lesenswert?

Hallo,

Das Model Sim (6.3C) funktioniert jetzt. Leider habe ich
keinen Überblick...

Ich möchte fürs erste nur einen einfachen Code Simulieren,
Modelsim ist jedoch so kompliziert, dass ich gar nicht so weit komme...

Ich verstehe das mit den Libaries und den Projkten nicht...

Gibt es vielleicht einen einfacheren Compiler oder eine gute
Einführung in ModelSim?

MFG Trunes
Gast #841207
Lesenswert?

Es ist eigentlich nicht schwer in Modelsim etwas zu simulieren.
Nehmen wir an Du hast Dein Modul und Deine testbench in einem Ordner 
namens Projekt.
Dann klickst Du auf file->change project directory. Dann wählst Du das 
Verzeichnis Projekt. Nun gehst Du auf compile und klickst auf compile. 
Es erscheint ein Dialog. Du wählst das Modul und die Testbench aus und 
drückst compile. Es wird gefragt ob Du die Library Work anlegen willst. 
Das bestätigst Du und schließt darauf das Fenster mit der Datei auswahl. 
Im Workspace steht nun die library work. Die öffnest Du und klickst mit 
der rechten Maustaste auf die testbench und wählst simulate.
Modelsim geht nun in den Simulationsmodus. Wenn Du auf die Testbench 
oder Dein Modul klickst, erscheinen im Fenster Object die Signale. Mit 
einem rechten Klick auf ein signal und dann der auswahl add to wave 
kannst Du das signal zum waveformfenster hinzufügen. Alles was Du jetzt 
noch machen musst ist oben in der kleinen Box die Zeit einzustellen und 
run daneben zu klicken.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren