Forum: FPGA, VHDL & Co. XILINX CPLD Programmieren


von Andreas R. (andreasr)


Lesenswert?

Hallo,

ich versuche gerade mal den Einstieg in die CPLD-Welt. Dazu habe ich mir 
ein CPLD von XILINX, XC 9572XL besorgt und nun wollte ich mit dem frei 
verfügbaren Tool von XILINX (Vivado 2014.2) mal mein erstes 
LED-Blink-Programm schreiben. Leider scheitere ich schon an der Auswahl 
meines Devices. Irgendwie schaffe ich es nicht mein Device hinzuzufügen. 
In der Liste tauchen nur xa7... und xc7... Devices auf. Ist der XC 
9572XL veraltet?

Kann mir hier jemand "auf's Pferd" helfen ?

von user (Gast)


Lesenswert?

CPLDs werden nur in ISE unterstützt, aber nicht in VIVADO

Also einfach ISE-WebPack runterladen und damit probieren

von Andreas R. (andreasr)


Lesenswert?

Ach so, das wusste ich nicht dass es verschiedene Tool-Sets gibt. Dann 
lade ich mir mal fix die 6GB runter ;-)
Danke

Gruß Andreas

von Greg (Gast)


Lesenswert?

Der XC95xxXL mag zwar schon sehr alt sein, ist aber noch im offiziellen 
Programm von Xilinx drin.
Vivado kenn ich nicht. Auf der Xilinxseite sehe ich nur, dass die freie 
Version eingeschränkten Device support hat. Vielleicht dummerweise der 
XC95.. nicht unterstützt wird. Gib es eine Info in Vivado welche Teile 
unterstützt werden?
Sieh mal nach ob ein coolrunner2 unterstützt wird. Dann nimmst du den.
Die meisten xilinx Benutzer haben wahrscheinlich noch ISE in Benutzung.
ISE14.7 kennt noch den XC95..

von Bürovorsteher (Gast)


Lesenswert?

> Sieh mal nach ob ein coolrunner2 unterstützt wird.

Das ist nicht zielführend, da der Coolrunner-II teuerer als der XC9572XL 
ist und außerdem nicht 5-V-verträglich ist.

von Fpgakuechle K. (Gast)


Lesenswert?

Andreas Richter schrieb:
> Ach so, das wusste ich nicht dass es verschiedene Tool-Sets gibt. Dann
> lade ich mir mal fix die 6GB runter ;-)


bei den XC95 hat sich nicht viel getan, du kannst es auch mit einer 
älteren (classic) (und kleineren) ISE versuchen:

http://www.xilinx.com/ise/products/classics/parts_list.htm

MfG,

von Michael W. (Gast)


Lesenswert?

Die aktuelle ISE 14.7 unterstützt den (noch).

von Christian R. (supachris)


Lesenswert?

Markus W. schrieb:
> Die aktuelle ISE 14.7 unterstützt den (noch).

Und da die 14.7 die letzte ISE Version ist, wird der bis zum St. 
Nimmerleinstag unterstützt. Ist doch ein prima Teil für kleine 
Anwendungen. Nur ein 3,3V Supply, 5V Tolerant und relativ stromsparend 
und ziemlich schnell. Beim CoolRunner II braucht man schon min. 2 
Spannungen wenn man nicht mit 1,8V I/O arbeiten kann.

von Andreas R. (andreasr)


Lesenswert?

Also mit ISE Version 14.7 habe ich meinen CPLD gefunden :-)
Jetzt kann ich mein erstes VHDL Programm schreiben!
Wenn mein China-Programmer eintrifft kann ich dann hoffentlich 
erfolgreich mein "Hello-LED" Programm ausprobieren.

Gruß Andreas

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


Lesenswert?

Andreas Richter schrieb:
> mein erstes VHDL Programm
Hach...
Verwendest du die neue VHPL?
Oder warum ist das D in VHDL?

Weil mit VHDL nicht programmiert wird, sondern mit der 
Beschreibungssprache wird Hardware beschrieben, von der du dir vorher 
ein "Bild" gemacht hast. Wenn du mit VHDL "programmieren" willst, dann 
kommen recht schnell die ersten Probleme...

BTW: verwende die ersten paar Monate keine Variablen oder Schleifen. Du 
brauchst die nicht!

von Andreas R. (andreasr)


Lesenswert?

Ok, danke für den Tipp - keine Variablen oder Schleifen! Wie man vllt. 
merkt komme ich aus der µC/Software-Ecke. Für manche Projekte halte ich 
eine µC/CPLD Kombination für sehr nützlich. Deshalb meine Motivation mal 
was mit CPLD's/VHDL zu machen. Meine ersten Projekte werden sich aber 
wohl auf relativ triviale Sachen beschränken wie einen Frequenzteiler 
der eine LED treibt oder vielleicht eine kleine 7-Segment Ansteuerung - 
was halt so auf ein Breadboard passt.

Gruß Andreas

von Michael W. (Gast)


Lesenswert?

Christian R. schrieb:
> Und da die 14.7 die letzte ISE Version ist, wird der bis zum St.
> Nimmerleinstag unterstützt.
Dies wäre aber auch dann der Fall, wenn es bereits neue Versionen gäbe, 
da die Funktionalität einer SW sich nicht mehr ändert :-)

Aber im Ernst, ich wollte nur darauf hinweisen, dass man keine alte 
Xilinx Version nehmen muss.

von Falk B. (falk)


Lesenswert?

@ Markus W. (elektrowagi78) Benutzerseite

>Aber im Ernst, ich wollte nur darauf hinweisen, dass man keine alte
>Xilinx Version nehmen muss.

Zu alte Versionen sollte man sowieso nicht mehmen, weil dort noch der 
alte Modelsim Simulator drin ist, es aber keine Lizenzen mehr dafür 
gibt. Also muss man eine der neueren Webpacks (>10?) nutzen. Wenn man 
NUR Programmieren will, reicht vielleicht eine ältere Version des 
Programmiertools, die hat nur ein paar Dutzend MB und nicht 1GB. Kann 
aber sein, dass die das USB Kabel noch nicht unterstützt, muss man mal 
schauen.

von Christian R. (supachris)


Lesenswert?

Markus W. schrieb:
> Dies wäre aber auch dann der Fall, wenn es bereits neue Versionen gäbe,
> da die Funktionalität einer SW sich nicht mehr ändert :-)

Eben nicht, zumindest bei Xilinx. Da werden alte Chips nach einigen 
(vielen) Jahren dann auch mal rausgeworfen aus der Software.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Welchen Programmer unterstützt die ISE-Software? Ich kenne nur die alte 
Webpack3.3 für 5V-Coolrunner, die kann nur Parallelport. Das geht nur 
bis Windows XP.

von Christian R. (supachris)


Lesenswert?

Naja, alle Xilinx Programmer, auch USB und die auf den Boards 
integrierten und außerdem seit einer Weile die Digilent Programmer.

von Andreas R. (andreasr)


Lesenswert?

Ok, bin mittlerweile mit meinem Programm - sorry meiner Beschreibung - 
etwas weiter gekommen.

2 Fragen habe ich noch: Ich wollte meinen Reset-Eingang mit einem 
Pull-Up versehen. Deshalb habe ich in meinem Constraint File angegeben:

NET "reset"    LOC =  "S:PIN2"  | PULLUP;

Leider bekomme ich eine Warnung:
WARNING:Cpld:1258 - Invalid constraint 'PULLUP' found in netlist.  The
   constraint is not supported for targeted device and is ignored.

Laut Datenblatt unterstützt der XC9572XL aber Pull Ups.
Hat hier jemand einen Tipp?

Weiterhin will ich einen externen Takt (8 Mhz) verarbeiten. Der Takt ist 
an GCK3 (Pin1) angeschlossen. Meine Constraints-Anweisung dafür ist:
NET "clk"     LOC =  "S:PIN1";
Ist das so richtig oder muss ich den Eingang irgendwie besonders 
kennzeichnen?


Danke Andreas

von Christian R. (supachris)


Lesenswert?

Nö, der 95XL hat keine internen Pullups. Das gibts erst beim CoolRunner. 
Bei den Pins reicht ein "P1" usw. bei den nicht-BGA Gehäusen. Für den 
Takt solltest du noch mindestens das PERIOD Constraint setzen. "Edit 
Timing Constraints" gibts glaub ich auch im CPLD Design Flow.

von Andreas R. (andreasr)


Lesenswert?

Welcher Period-Parameter würde denn für einen 8MHZ Quarzoszillator 
benötigt?

von Christian R. (supachris)


Lesenswert?

Öhm, wie wärs mit 125ns?

NET "CLK" TNM_NET = "CLK";
TIMESPEC TS_CLK = PERIOD "CLK" 125 ns HIGH 50 %;

von Andreas R. (andreasr)


Lesenswert?

Ok, ich wusste nicht, ob man eine ganze Periodendauer angeben muss.

von Andreas R. (andreasr)


Lesenswert?

Ist das so OK?

NET "clk"     LOC =  "PIN1";
NET "CLK" TNM_NET = "CLK";
TIMESPEC TS_CLK = PERIOD "CLK" 125 ns HIGH 50%;

von Christian R. (supachris)


Lesenswert?

Sollte klappen. Sonst meldet sich ISE schon.

von Michael W. (Gast)


Lesenswert?

Christian R. schrieb:
> Eben nicht, zumindest bei Xilinx. Da werden alte Chips nach einigen
> (vielen) Jahren dann auch mal rausgeworfen aus der Software.
Wie will denn Xilinx die Chips aus einer Software rauswerfen, die ich 
auf der Platte habe? Ich kann doch ISE 14.7 ewig nutzen und alle devices 
programmieren, die enthalten sind. Rauswerfen geht doch nur in neuen 
Version.

Falk Brunner schrieb:
> Zu alte Versionen sollte man sowieso nicht mehmen, weil dort noch der
> alte Modelsim Simulator drin ist, es aber keine Lizenzen mehr dafür
> gibt. Also muss man eine der neueren Webpacks (>10?) nutzen
Auch in den neuen Version gibt es kein ModelSIM mehr (???)

Und der ISIM, der auch in den alten drin ist, läuft eh und jeh.

von Christian R. (supachris)


Lesenswert?

Markus W. schrieb:
> Rauswerfen geht doch nur in neuen Version.

Das mein ich doch, du Haarespalter. ;)
Klar kann man das auf der Platte behalten, man hat halt dann notfalls 
mehrere Versionen.

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


Lesenswert?

Markus W. schrieb:
> Falk Brunner schrieb:
>> Zu alte Versionen sollte man sowieso nicht mehmen, weil dort noch der
>> alte Modelsim Simulator drin ist, es aber keine Lizenzen mehr dafür
>> gibt. Also muss man eine der neueren Webpacks (>10?) nutzen
> Auch in den neuen Version gibt es kein ModelSIM mehr (???)
In den neuen Versionen gibt es sowieso nur den ISIM. Aber es gibt eben 
für die alten Installationen mit ModelSIM keine neuen Lizenzen...

> Christian R. schrieb:
>> Eben nicht, zumindest bei Xilinx. Da werden alte Chips nach einigen
>> (vielen) Jahren dann auch mal rausgeworfen aus der Software.
> Wie will denn Xilinx die Chips aus einer Software rauswerfen, die ich
> auf der Platte habe? Ich kann doch ISE 14.7 ewig nutzen
Bist du sicher? Mal angenommen, deine Software-Lizenz für die ISE14.7 
läuft aus und du bekommst keine neue mehr...
Dann musst du eine neue Software-Version installieren.
> Rauswerfen geht doch nur in neuen Version.
Na bitte, geschafft.

von Michael W. (Gast)


Lesenswert?

Mal zurückkommend auf dieses Thema der Lizenzen?

Altera hat ja nach wie vor scheinbar alle Lizenzen frei für ModelSIM, 
SignalTAP ec. Der interne Simulator scheint wohl weggefallen. Mir 
scheint es aber so, dass in der freien Version nicht alles geht. 
ModelSIM ist nicht nur eingeschränkt, sondern hat auch weniger 
Funktionen. Vor allem Quartus hat nicht alle Optionen frei, wie mir 
scheint - Ich finde einige altbekannte Syntheseinstellungen nicht mehr. 
Auch der Megawizzard hat einige Funktionen nicht frei, die es bei Xilinx 
dabei hat.

Umgekehrt hat Vivado nun einen Simulator frei dabei. Momentan 
favorisiere Ich eher wieder Xilinx.

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.