Forum: FPGA, VHDL & Co. Altium Designer & FPGA


von Achim F. (achim2)


Lesenswert?

Hallo,
auf der Suche nach einer CAD Software mit der ich 3D Daten exportieren 
kann bin ich auf den Altium Designer gestoßen.
Bis jetzt habe ich mit µC programmieren keine Erfahrungen und wollte mir 
eigentlich ein AVR Starter Kit kaufen.
Mit dem Altium Designer kann man ja auch FPGAs programmieren. Würdet ihr 
mir empfehlen das programmieren mit dem FPGAs zu beginnen?
Falls unsere Firma sich für den Altium Designer entscheidet was würdet 
ihr für eine Hardware empfehlen um einfache Sachen zu machen (ein paar 
digitale Ein- und Ausgänge). Gibt es auch FPGAs mit einem Raster das man 
auch selber löten kann?

von Sebastian (Gast)


Lesenswert?

Hallo.

Ich bin selber bloß Anfänger im Bereich programmierbare Logik, daher 
kann ich hier nur wiedergeben, was ich mir bisher erlesen habe:

FPGAs mit bastlerfreundlichen Gehäusen gibt es wohl eher nicht. Die 
meisten sind entweder in einem SMD-Flatpack mit 0.5 mm Rastermaß, oder 
im BGA-Gehäuse. Ersteres kann man durchaus per Hand löten. Natürlich 
nicht auf Lochraster.
Allerdings gibt es sehr große FPGAs älterer Bauart in PGA-Gehäusen, wie 
dieses riesige Teil: 
http://www.edel-schrott.de/product_info.php/info/p247_CX4085XL-Gatearray.html
Aber auch wenn hier das Löten kein Problem ist, das Layout ist es schon, 
mit 559 Pins.
CPLDs hingegen, wenn man mit deutlich weniger Funktionalität auskommt, 
gibt es in PLCC.
Natürlich sind das zwei paar Schuhe, CPLDs sind nichtflüchtig 
(EEPROM-basiert), und bestehen aus eher wenigen, aber recht großen 
Makrozellen, deren Funktion und Verschaltung untereinander programmiert 
wird. FPGAs sind meistens RAM-basiert, ihre einzelnen Logikeinheiten 
sind kleiner, aber es sind mehr davon drin. Neuere FPGAs sind meist 
nicht 5V-tolerant.

Natürlich gibt es FPGAs auf streckbrettfähigen Trägerboards zu kaufen, 
oder man erwirbt ein entsprechendes Demoboard (z.B. von 
trenz-electronic), das für mehr oder weniger Geld mehr oder weniger 
Ausstattung mitbringt.

Wer selber bauen will, ist natürlich auch auf verfügbare Bauteile 
angewiesen. Und wer nicht über die Firma beziehen kann, bekommt 
wahrscheinlich am leichtesten die XILINX Spartan-II von Reichelt. Der 
kleinste ist dieser hier: 
http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=A35;GROUPID=2955;ARTICLE=58395;START=0;SORT=artnr;OFFSET=16;SID=26B1vy6KwQARoAAA6GGqga6e2beb21c2f42edc633f42a49b63002
"Sonderpreis" ist übrigens übetrieben... das Teil kostet bei Digi-Key 
auch nicht mehr. Es empfiehlt sich natürlich, vorab das Datenblatt zu 
lesen. Batriebsspannung ist 2.5 Volt, aber die Ein- und Ausgänge können 
immerhin mit 3.3 Volt betrieben werden.

von Thomas R. (tinman) Benutzerseite


Lesenswert?

Achim F. schrieb:


> Mit dem Altium Designer kann man ja auch FPGAs programmieren. Würdet ihr
> mir empfehlen das programmieren mit dem FPGAs zu beginnen?

jein, Altium ist eine nummer groesser als nur die Altera oder Xilinx 
tools (die sowieso vorhanden sein müssen auf dem computer !).
Man kann sehr schön mit Altium arbeiten, aber anfangen solltes du 
(eigentlich) mit den herstellertools, wer's hart mag kann natürlich 
direkt mit Altium.

> Falls unsere Firma sich für den Altium Designer entscheidet was würdet
> ihr für eine Hardware empfehlen um einfache Sachen zu machen (ein paar
> digitale Ein- und Ausgänge).

Wenn schon Altium, dann mit dem dann NanoBoard von Altium.

Eigentlich solltest du aber erst entscheiden anhand datensheets, preisen 
und verfügbarkeit welche FPGA/CPLD die "richtigen" sind für euch. Dann 
entsprechend entweder Altium mit dem NanoBoard (und zusatzmodule mit dem 
jeweiligen FPGA/CPLD) oder ohne Altium irgendein dev. board und die FPGA 
hersteller tools.

von Tobias P. (hubertus)


Lesenswert?

Hallo,
ich habe auch mal eine Frage bezüglich FPGAs und der zugehörigen 
PC-Software.
Ich hatte bisher das DE2 Board von Altera verwendet, wo sich mit Quarus 
II über USB der FPGA sehr leicht programmieren liess.
Nun bin ich dabei, ein eigenes Board zu machen. Da ist sowohl eine CPU 
drauf, mit dem zugehörigen Kram wie RAMs und FLASH, als auch ein FPGA 
(Cyclone II, da ich davon noch einen Tray hier habe), der an den 
Datenbus angekoppelt ist. Gibt es jetzt auch hier eine Möglichkeit, über 
USB, RS-232 oder LAN in Quartus II eine Verbindung mit dem FPGA 
herzustellen, um die Software runterladen zu können? Bisher hatte ich es 
immer so gemacht, dass die Host-CPU "von Hand" das Configfile aus dem 
FLASH liest und so den FPGA konfiguriert. Aber grade beim Erstellen und 
Testen einer neuen SW für den FPGA ergibt das immer einen umweg: es muss 
erst das Configfile als rbf erstellt werden, anschliessend muss es per 
RS-232 mittels eines speziellen Loaders auf das onboard FLASH 
runtergeladen werden.
Das stelle ich mir mühsam und langwierig vor; daher die Frage, ob es für 
dieses Testen und Debuggen auch beim FPGA eine Möglichkeit gibt. Ich 
denke, JTAG fällt flach, da dafür ja wohl eine spezielle (und teure!) 
USB-JTAG Box gebraucht wird.
Sowas wie der USB-Blaster, der auf dem Altera-Board in Form eines MAX II 
CPLDs vorhanden ist, wäre schön. Kann man das selber machen?

von Sebastian (Gast)


Lesenswert?

Von einem Nachbau des USB-Blasters weiß ich nichts, aber es könnte 
trotzdem einen geben. Aber wenn man eventuell den älteren ByteBlaster MV 
verwenden könnte, ist das eine billige Lösung. Der Schaltplan dazu wurde 
von Altera mal in einem Datenblatt veröffentlicht. Die neuere Version 
dieses Dokumentes enthält ihn nicht mehr, aber man findet die alte im 
Netz. Die dort beschriebene Schaltung ist einfach nachzubauen, aber eben 
nur für den Parallelport. Quartus II unterstützt dieses Kabel.

von Xenu (Gast)


Lesenswert?

Einen USB-Blaster-Nachbau findest Du hier:

http://www.ixo.de/info/usb_jtag/

Du brauchst einen FTDI + CPLD.

von Sebastian (Gast)


Lesenswert?

Interessanter Tip, danke. Und sogar mit einem "Allerwelts-CPLD" gebaut, 
ohne Exoten.

Nebenbei, falls Achim F. noch mitliest, ich muß mich berichtigen. Es 
gibt tatsächlich FPGAs in einem geradezu "groben" PLCC-Gehäuse (84-pin). 
Ein EPF10K10LC84 ist gerade in der Bucht zu haben (5V-Typ, allerdings 
nur Speed-Grade 4, was bei Altera im Gegensatz zu Xilinx langsam 
bedeutet).
Hier zu sehen: 
http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=230445599830

XC4004/4005/4008/4010 von Xilinx gibt es übrigens in der gleichen 
Gehäuseform, falls man so etwas zufällig mal findet. Sind wahrscheinlich 
inzwischen selten geworden.

von Achim F. (achim2)


Lesenswert?

Ja ich lese noch mit - allerdings habe ich euch nicht wirklich folgen 
können :-)
Mittlerweile habe ich die FPGAs gesehen die man in einen Mega IC Sockel 
stecken kann.
Jetzt habe ich auch die Test Version von Altium, sehr professionelle CAD 
Software, aber ziemlich kompliziert... Ich hatte schon Probleme den 
Schaltplan auf das Board zu bekommen. Trotzdem hoffe ich das wir Altium 
genehmigt bekommen.
Spontan konnte ich jetzt die Programmierfunktion nicht testen, ich denke 
für den Altium Designer werde ich wohl Nachhilfe benötigen :-(

von Tobias P. (hubertus)


Lesenswert?

Sebastian,
geht das Teil wirklich mit jedem beliebigen CPLD, welcher genug 
Makrozellen hat? Und es lässt sich aus Quartus II heraus ansprechen?
Ist es wirklich so einfach - nur den FT245 + den CPLD? Das kann ich fast 
nicht glauben, das ist ja wirklich super simpel.
Kann man mit dem Teil dann nur Altera-Sachen programmieren, oder auch 
anderes, z.B. Xilinx-FPGAs oder Mikrocontroller mit JTAG?

von Xenu (Gast)


Lesenswert?

Der Blaster-Nachbau geht mit jedem CPLD, der groß genug ist. Die 
zugehörige VHDL-Datei im Zip heisst "jtag_logic.vhd".

Und ja, es ist tatsächlich so einfach (FTDI + CPLD). Schau Dir mal die 
Originalanleitung zum USB-Blaster von Altera an:
http://www.altera.com/literature/ug/ug_usb_blstr.pdf

Auf Seite 18 ist ein Blockdiagramm. Interessant, nicht wahr?

Zu Deiner letzten Frage: mit OpenOCD kannst Du das Ding auch ansprechen.

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.