www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Wo Toolchain für CPLDs/FPGAs hernehmen?


Autor: Christian Wolf (clupus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

kurz was vorweg: Ich will jetzt keine Disskussion zum Thema "Ist es 
sinnvoll CPLDs/FPGAs in meinem Fall zu verwenden?" vom Zaun brechen.

Ich hab mit CPLD/FPGA noch keinerlei Erfahrungen. Ich wollte mal sehen, 
was ich damit machen kann und finde das auch ganz praktisch. Nur ein 
Problemchen tut sich mir auf: Ich weiß nicht, ob ich mit solch einem 
Chip überhaupt umgehen kann.

Habe ich das richtig verstanden, was die zeitliche Abfolge der 
Entwicklung des "Programms" auf dem CPLD/FPGS angeht?:
1.) Schreiben eines entsprechenden Codes in HDL (VHDL/Verilog)
2.) Simulieren
3.) Erzeugen einer Netlist, ggf simulieren
4.) Beim FPGA mappen (so heißt das doch, wenn die Macrocells verteilt 
werden,  oder?)
5.) Ergebnis ist eine Datei mit dem Bitcode für den Chip. Dieser muss 
jetzt noch auf den Chip geladen werden (beim FPGA auf den EEPROM)

Zunächst im Voraus: Ich verwende Linux auf einem 64-Bit PC.
Der Schritt 1 geht in jedem Texteditor. kein Problem.
Der Schritt 2 und 3 wird von z.B. Ikarus Verilog übernommen, ggf 
kombiniert mit div. anderen Programmen.

Welche Programme kann ich für Schritt 4 und 5 verwenden? Ich habe im 
Netz an einigen Stellen gelesen, dass man für Schritt 5 mithilfe eines 
einfachen Kabels (s. Artikel unter FPGA, CPLD & Co.) und ISE von Xilinx 
machen kann/muss. An anderer Stelle habe ich im Netz folgende Seite 
gefunden: 
http://www.fpga-faq.com/FAQ_Pages/0028_Downloading...
Dort steht, dass der Bitstream einfach nur über die entsprechenden Pins 
des LPT-Ports bitweise ausgegeben werden müssen?!?

Gibt es für Linux eine Mgl. CPLDs unter Linux 64 Bit zu programmieren?
Gibt es eine Beschreibung des JTAG-Interfaces um die Programmierung 
durchzuführen?
Bei einem FPGA muss der Bitstream einfach auf den EEPROM geschrieben 
wereden, richtig?

OK, das waren jetzt einige Fragen. Wäre schön, wenn ich mich ein 
bisschen aufklären könntet

Christian

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Christian Wolf (clupus)

>Habe ich das richtig verstanden, was die zeitliche Abfolge der
>Entwicklung des "Programms" auf dem CPLD/FPGS angeht?:

Ja.

>Welche Programme kann ich für Schritt 4 und 5 verwenden?

Die der Hersteller.

http://www.mikrocontroller.net/articles/Programmie...

>Gibt es für Linux eine Mgl. CPLDs unter Linux 64 Bit zu programmieren?

Keine Ahnung.

>Gibt es eine Beschreibung des JTAG-Interfaces um die Programmierung
>durchzuführen?

Ja.

>Bei einem FPGA muss der Bitstream einfach auf den EEPROM geschrieben
>wereden, richtig?

Quasi.

MfG
Falk

Autor: Christian Wolf (clupus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Welche Programme kann ich für Schritt 4 und 5 verwenden?
>
> Die der Hersteller.
>
> http://www.mikrocontroller.net/articles/Programmie...
>
>>Gibt es für Linux eine Mgl. CPLDs unter Linux 64 Bit zu programmieren?
>
> Keine Ahnung.

Das ist das Problem: Ich werde mal die Herstellerprogramme versuchen, 
aber ich fürchte, dass die nicht laufen werden.
Wenn hier ein Linux-User ist: Bitte mal Erfahrungen mitteilen, danke.

>>Gibt es eine Beschreibung des JTAG-Interfaces um die Programmierung
>>durchzuführen?
>
> Ja.
Verrätst du mir auch wo? ;-)

Danke
Christian

Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Gibt es für Linux eine Mgl. CPLDs unter Linux 64 Bit zu programmieren?
> Gibt es eine Beschreibung des JTAG-Interfaces um die Programmierung
> durchzuführen?

Jo gibt es. 64Bit Webpack von z.B. Xilinx. Impact zum Programmieren ist 
da gleich dabei. Normalerweise wird ein Kernel-Treiber benötigt, den man 
für 64Bit nicht bekommt, aber es gibt einen 64Bit Cable-Server, an den 
Impact connecten kann und der die Brücke zwischen 
parallel-Port-Programmer und Impact darstellt. Kuck mal in der 
Artikelsammlung unter 64Bit ISE oder so ...

Mfg
Thomas Pototschnig

edit
Ursprünglich hier:
http://www.mikrocontroller.net/articles/Xilinx_ISE_Linux

Eine inoffizielle gefixte Version des CableServers war in einem meiner 
Webspaces gehostet, da ist wohl was verloren gegangen ... werd ich 
korrigieren ...

edit
Okay, Link geht wieder ...
http://www.oxed.de/fpga/cblsrv-0.2-src.tar.bz2

Autor: Jörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

die kommerzielle Version der Xilinx-Entwicklungsumgebung gibt es als
32 und als 64 Bit-Version, bei den Programmern (USB/ParallelPort) kann
es Probleme geben. Bei der nichtkommerziellen Version (WebPack)
gibt's nur 32 Bit.

Gruss

Jörg

Autor: Dietmar S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei mit laeuft  Webpack92i auf einem 64 bit Rechner unter OpenSuSE 11.0. 
Einfach mit "linux32 bash" eine 32-bit Umgebung herstellen und daraus 
arbeiten. uname -a zeigt dann "Linux linux 2.6.25.11-0.1-default #1 SMP 
2008-07-13 20:48:28 +0200 i686 athlon i386 GNU/Linux". Bis zum 
Programmieren der CPLDs bin ich aber bis jetzt noch nicht gekommen, 
plane aber da einen USB-JTAG Adapter zu verwenden.

Autor: Günter -.. (guenter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian Wolf wrote:
...
> 1.) Schreiben eines entsprechenden Codes in HDL (VHDL/Verilog)
> 2.) Simulieren
> 3.) Erzeugen einer Netlist, ggf simulieren
> 4.) Beim FPGA mappen (so heißt das doch, wenn die Macrocells verteilt
> werden,  oder?)
...

> Der Schritt 2 und 3 wird von z.B. Ikarus Verilog übernommen, ggf
> kombiniert mit div. anderen Programmen.

Wenn ich das richtig verstehe dann ist die Synthese auch schon 
FPGA-spezifisch. Icarus unterstützt nur die Synthese für einen alten 
Virtex-Typ und für den Spartan XL. Die Unterstützung ist auch nur in der 
stabilen Version 0.8 vorhanden und funktioniert nicht in den letzten 
Entwicklungsversion 0.9.xx. Diese sind jedoch schneller in der 
Simulation und unterstützen weitere Funktionen des Verilogstandards als 
es bei 0.8.x der Fall ist.

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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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