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
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.
Danke für deine Antwort! Sind die Kosten eines FPGA's nicht sehr hoch? Gibt es für FGPA's auch ein Testboard, das man sich selber bauen kann?
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.
Ja, das werden sie... Aber wie gesagt, sie sind nur für kleine Designs geeignet und Du wirst recht schnell an die Grenzen eines CPLDs stoßen.
Zum Anfang würde mir das sicher ausreichen. Ich möchte zum testen nur ein bischen in VHDL programmieren und mich in der Materie ein bischen einlesen... Für große Projekte kann ich dann ja auf einen FPGA umsteigen... Kann man FGPA's / CPLD's mit dem Altium-Designer programmieren? Und wie wird das Programm übertragen? MFG Trunes
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.
>Wenn Du nur spielen willst, spiele erstmal mit einem Simulator. Das ist >zwar nicht so eindrucksvoll, aber Du kannst schonmal VHDL antesten. Danke, das ist eine gute Idee... Gibt es auch einen Free-Ware Simulator? (Ist webpack so ein Simulator) MFG Trunes
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.
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
@Mathi und Trunes: Altium Designer braucht im Hintergrund (Synthese, Mapping etc.) auch die Tools der Hersteller. Dafür hat man natürlich ein schönes und funktionelles Frontend. Die Programmierung der Bausteine erfolgt per JTAG über die entsprechenden Kabel. Rick
Wenn Du ein günstiges CPLD-Board suchst, dann schau mal bei Ebay rein. Da müssteste problemlos was für 20-30 Euro kriegen, mit dem Du mal etwas rumspielen kannst. z.B. http://cgi.ebay.de/CPLD-Development-Board-Programmer-with-Jtag-Interface_W0QQitemZ180230884075QQihZ008QQcategoryZ4663QQrdZ1QQssPageNameZWD2VQQcmdZViewItem?_trksid=p1638.m122 http://cgi.ebay.de/Altera-CPLD-EPM240-Proto-Board-EPM240T100C5N_W0QQitemZ140221940497QQihZ004QQcategoryZ4663QQssPageNameZWDVWQQrdZ1QQcmdZViewItem http://cgi.ebay.de/Xilinx-JTAG-CPLD-XC9500-Development-Kit-XC9536-XC9572_W0QQitemZ110241611452QQihZ001QQcategoryZ4661QQssPageNameZWDVWQQrdZ1QQcmdZViewItem http://cgi.ebay.de/New-Altera-CPLD-Development-Study-tool-ByteBlaster_W0QQitemZ110237804042QQihZ001QQcategoryZ4661QQrdZ1QQssPageNameZWD1VQQ_trksidZp1638.m118.l1247QQcmdZViewItem
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
Hallo, Dieser dient als Taktquelle z.B. für ein Lauflicht. Ist aber nicht unbedingt nötig. Gruß Uli
<Dieser dient als Taktquelle z.B. für ein Lauflicht. Kann nicht ein interner Takt verwendet werden? -> Wenn ja mit wie viel Hz?
@ 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
Also würde ein Quarz-Oszilator besser funktionieren... Hat ein CPLD interne Pull Up oder Pull Down Widerstände?
(keine Zeit zum anmelden...) Mein ModelSim verlangt eine Licens, obwohl ich die free-version installiert habe!
@ 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
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
Hallo, Wie bekomme ich den Code dann auf den CPLD? Mit welchen Programm, wenn ich mir deisen Programmer nachbaue: http://www.ulrichradig.de/
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
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.
Hallo, Aber wie kann ich den Code schreiben? -> Brauch ich dafür ein eigenes Programm?
Den Code kannst Du einfach in Modelsim (File->new->source->vhdl) oder in jedem x-beliebigen Editor schreiben. Ich würde Dir Notepad++ empfehlen.
Hallo, Ich möchte mich bei allen bedanken! Jetzt kann ich endlich mit dem Programmieren anfangen... MFG Trunes
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.