mikrocontroller.net

Forum: FPGA, VHDL & Co. Programmierbare Logik - Einstieg wagen?


Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Bei ein paar Überlegungen zum Thema BAS-Signal und Videospeicher ist
mir immer mehr aufgefallen, wie praktisch es wäre, einen etwas
komplexeren Logikchip nach eignen Vorstellungen zu entwickeln. Ich
denke hier noch nicht an einen FPGA, sondern eher an einen kleineren
CPLD. Einerseits aus Komplexitätsgründen, aber auch, weil ich die
Hoffnung habe, sowas noch auf einfacheren Platinen handhaben zu
können.

Ein paar Fragen:

1. Welche CPDL(-Familien) kann man für den Anfang empfehlen? (Möglichst
im DIP (wohl eher unmöglich?) oder mindestens sollten Adapter verfügbar
sein, um das Ding irgendwie auf eine einfache Platine zu bringen (wenn
mgl. Lochraster))

2. Wie läuft das mit der Programmierung, d.h. was brauche ich für
Programmiertools, Programmieradapter etc.?

3. Was liegt mit nem CPLD in etwa drin? Und wie sieht es mit der
Einarbeitungszeit aus?

4. Wo bekomme ich entsprechendes Material? Conrad (jaaa, in der Schweiz
hat man kaum alternativen) hat sowas jedenfalls nicht.

Gruss

Michael

Autor: SiO2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die von xilinx, lassen sich mit nem guenstigen JJTAG kabel
programmieren, dafuer gibts auch die programmierumgebung fuer solaris
und linux (was nicht unwichtig ist, wenn man kein win nutzt ;) )
Für altera gibts auch einfache programmierkabel.
Es gibt di CPLD auch in plcc gehaeuse, lassen sich auch leicht auf
lochraster aufbauen. schau mal hier im forum bei fpga cpld&co nach, da
gibts gute links zum informieren. (weiss ja nicht richtug was du
brauchst).
Wenn du auch mal in fpga machen willst, dann kann ich das starterkit
von digilent (gibts bei segor fuer 130e) empfehlen. hat nen cpld board
(mit 2 cpld) und n fpgaboard incl 2 jtagkabeln bei. die cplds sind
eigentlich nur auf nem headerboard, aber das stoert nicht weiter.
Es gibt auch ein Board mit FPGA und CPLD fuer 180e, aber daas ist
komplexer, und meiner meinung ist das fuer130 fuer den anfang optimal.
(aber da scheiden sich die Geister)

Autor: Marco S. (masterof)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine ersten Erfahrungen mit programmierbarer Logik habe ich mit dem
CPLD XC9536 von Xilinx gemacht. Damals gab es diesen Baustein sehr
günstig bei eBay, bei Reichelt kostet er heute EUR 1,90 (SMD) bzw. EUR
4,15 für die PLCC-Variante und für PLCC gibt es ja Sockel.

Um mit diesem Baustein zu arbeiten, brauchst du eigentlich nur das
kostenlose Webpack von Xilinx sowie einen Programmieradapter. Ich
benutze diesen hier:

http://warmcat.com/milksop/cheaptag.html

Er wird vom Webpack problemlos erkannt und funktioniert auch unter
Windows XP einwandfrei.

Meine erste Logikschaltung habe ich noch mit dem Schematics-Modul
gemacht aber langfristig kommt man um eine Hardwarebeschreibungssprache
wie VHDL nicht drum rum.

Ein Nachteil haben die XC9536, sie brauchen sehr viel Strom.

Thorsten

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Bezüglich FPGA vs. CPLD: Wie weit kommt man mit einem CPLD, und ab wann
braucht man einen FPGA? Nicht, dass ich jetzt mich in einen CPLD
einarbeite und sofort merke, dass die Dinger viel zu klein sind. Aber
wie gesagt, vorerst sollen die Dinger einfach mal komplexere
Schaltungen aus Logikbausteinen ersetzen.

Gruss

Michael

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Mal ne kleine Liste, was ich in der Schweiz so für CPLDs bekommen
könnte im PLCC:

XC 9572-10PC84C (72 Makrozellen, PLCC-84) für 23 CHF / 16 EUR
XCR 3064 XL - 7PC44C  (64 Makrozellen, PLCC-44) für 18 CHF / 12 EUR
  XCR 3064 XL - 10PC44C (64 Makrozellen, PLCC-44) für 40 CHF / 26 EUR

Wobei ich bei letzteren beiden nicht sicher bin, ob sie
In-System-Programmierbar sind oder ob ich hier noch spezielle
Programmer benötigen würde, zudem laufen diese auf 3.3V. Ich tendiere
also zum XC9572. Den sollte ich ja auch mit dem
http://warmcat.com/milksop/cheaptag.html programmieren können? Aber 23
CHF / 16 EUR sind schon heftig...wie robust sind diese Chips, wenn mal
was schief geht?

Gruss

Michael

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe jetzt bei Farnell noch den XC9536 gefunden, der ist dann aber doch
eher etwas kleiner (vom Preis her geschätzt).

Autor: Roger Steiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenns nur zum Basteln ist, ich haette dir allenfalls gratis
ein paar Altera EPM7032S im PLCC-44 (32 Makrozellen, hat JTAG fuer
ISP).
Ein solches CPLD ist fuer dein Projekt viel zu klein,
aber du koenntest ja mehrere nehmen.

Wobei du vermutlich mit einem MaxII, CycloneII (oder halt
Spartan 3) Experimentierboard vermutlich besser bedient
bist.

Falls du trotzdem interesse an einer Stange EPM7032S hast,
schreib ne mail an rsteinerATdigsolDOTch

Cheers, Roger

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ebay-Artikel Nr. 280029425626

und

Ebay-Artikel Nr. 200028254590

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ein solches CPLD ist fuer dein Projekt viel zu klein,
> aber du koenntest ja mehrere nehmen.

Hätte grundsätzlich Interesse, ja! Trotzdem noch die Frage: Was kriege
ich mit 32 Makrozellen hin? Ich kann mir das irgendwie absolut nicht
vorstellen, null Ahnung ;-)

Autor: Schlaubär (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst 32 Funktionen realisieren. Genau 32!

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe z. B. ein Board mit einem Mega128, einem externen SRAM, einer
Festplatte und einem Display. Ein CPLD erzeugt alle notwendigen
CS-Signale für die Peripherie sowie die Adressen für die
Festplattenansteuerung. Außerdem noch ist das notwendige Addresslatch
für das SRAM integriert. Das alles in einem XC9536 und es ist noch
immer nicht voll.

Das CPLD ersetzt quasi folgende Bausteine:

* 2 x 74573
* 1 x 74138
* 1 x 7432
* 1 x 7404

Vorteil: man kann jederzeit Änderungen an der Logik vornehmen ohne den
Lötkolben in die Hand zu nehmen. Und das ganze für EUR 1,90.

Autor: Roger Steiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hätte grundsätzlich Interesse, ja! Trotzdem noch die Frage: Was
kriege
> ich mit 32 Makrozellen hin?

Naja, mit Zaehler und Register werden die 32 Flip-Flops wohl der
limitierende Faktor sein. Zudem ist das EPM7032 nicht grad ueppig mit
routing resourcen ausgestattet, was heisst, dass man je nach auslastung
Kompromisse im Pin placement machen muss.

Du kannst dir auch Zeit zum Entscheiden lassen, es ist nicht so dass
mein Angebot verfaellt. Am schlausten ist wohl dass du dir zuerst die
Design Software von Altera ziehst - Quartus Web Edition und mal zuerst
dein design dort zu implementieren versuchst, dann weisst du ob du mit
den kleinen CPLDs gluecklich wirst. Bevor du anfangest was zu
Verdrahten, ist das sowieso der erste Schritt.

Das Tool hat ein fuer Anfaenger verlockendes Schema entry. Am besten
laesst du das gleich bleiben und setzt dich von Anfang an mit VHDL oder
Verilog auseinander. Dann kannst du naemlich auch die Software von
Xilinx oder Lattice ziehen und hast so ein Anhaltspunkt was mit welchen
Bausteinen von verschiedenen Herstellern moeglich ist. Da du ja vorerst
CPLDs einsetzen willst, sollte portabler HDL code ein klacks sein.

Cheers, Roger

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich hab mir jetzt mal das ISE Webpack von Xilinx gezogen. Übrigens mit
1 GB meine mit Abstand grösste Entwicklungs-Software - keine Ahnung,
was die da alles 'reinpacken.

Als nächstes werde ich damit mal versuchen, ein Design zu entwerfen,
damit ich ungefähr eine Ahnung kriege, wie das so läuft. Nun stellt
sich für mich die Frage: Welche Möglichkeiten gibt es, den CPLD zu
programmieren? VHDL und Verilog sowie das von Roger erwähnte 'Schema
entry' fallen mir spontan ein - was würdet ihr empfehlen?

Gruss

Michael

Autor: T.M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
VHDL oder Verilog. Ersteres wäre wegen in Europa höherer Verbreitung
erste Wahl. Einfache CPLDs kann man auch in ABEL programmieren, aber da
wird es schnell unübersichtlich bei großen Sachen. Für FPGAs kommen
sowieso nur die ersten beiden HDLs in Frage.

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmals

Gibt es eigentlich gute Tutorials zum Thema CPLD und VHDL? Im Internet
ist leider kaum etwas zu finden, oder ich Suche am falschen Ort.

Gruss

Michael

Autor: T.M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
VHDL gibts ne Menge Tuts, da brauch man auch nicht unbedingt eins, was
sich mit VHDL mit CPLDs beschäftigt. Am besten einfach mal Code
shcreiben, und sehen, was der Fitter dann draus macht. Also welcher
Code welche Ressourcen allokiert.
Bei Xilinx oder Altera gibts bestimmt Paper, wo erklärt wird, wie man
effizienten Code für CPLDs schreibt. Für FPGAs gibts sowas, also denk
ich auch mla für CPLDs. Ansonsten die Datenblätter der Schaltkreise, da
steht oft ne Menge drin, oft auch schon was zum VHDL Code.

T.M.

Autor: edaalican (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
programıng  xc 9572 pc44 15 help

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.