Forum: FPGA, VHDL & Co. Einsteigerfreundlicher FPGA


von Luky S. (luky)


Lesenswert?

Hallo erstmal!
Ich bin beim erstellen eines recht universellen Entwicklungsboards zu 
Ausbildungszwecken.
Bislang enthält es einen AT91SAM7X mit USB, Ethernet, CAN und RS485 
Schnittstellen sowie einigen Kleinteilen.
Ich möchte das Teil nun um einen möglichst einsteigerfreundlichen FPGA 
erweitern.
Er sollte also recht weit verbreitet sein und sich mit freien Werkzeugen 
programmieren lassen.
Geschwindigkeit ist nicht wichtig, es geht eher ums Prinzip.
Hat jemand einen Vorschlag was ich für eine möglichst universelle FPGA 
Testumgebung alles aufs Board packen muss?

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

> Ich bin beim erstellen eines recht universellen Entwicklungsboards

Soll das die berühmte eierlegende Wollmilchsau werden? Da muss man sich 
gut überlegen ob das Sinn macht. FPGA-Boards bekommt man schon für ~60 
Euro. Zu Ausbildungszwecken OK, aber da würde ich erst mal konkrete 
Projekte definieren und danach die Hardware auswählen.

> Ich möchte das Teil nun um einen möglichst einsteigerfreundlichen FPGA 
erweitern.

Die sind alle gleich einsteigerfreundlich, ist eigentlich nur 
Geschmacksache. Wie wär's mit einem Spartan 3 (E) im einfachsten 
Gehäuse?

von chipschmied (Gast)


Lesenswert?

-Hersteller Xilinx oder altera, ich würde Xilinx bevorzugen,
-Lowcost Serie da weit verbreitet -> Xilinx Spartan
-Falls du TTL5 ansteuern musst Spartan2 sind aber schon etwas alt, 
besser Spartan3
-zum messen (Scope an FPGA pin) sind Nicht BGA gehäuse geeignet, sonst 
Pfostenleiste
-keine Spartan3E da nur 4 IO-Bänke und Ärger mit Clock routing
-5 IO-Bänke mit 3V3 versorgen, der Rest mit 2,5V, Lötbrücken vorsehen um 
die IO-Spannung ändern zu können,
-zwei Oszillatoren vorsehen, einer 40 MHZ der andere wie der AT, diese 
an die  Clk-Eingänge des FPGA legen (GCLK)
-FPGA mit viel internen SRAM
-JTAG kette mit PROM
-7Segment anzeige

Gut ist das spartan3 Starterkit von Xilinx, schaltpläne sind offen:
http://www.xilinx.com/bvdocs/userguides/ug130.pdf

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

chipschmied wrote:
> -keine Spartan3E da nur 4 IO-Bänke und Ärger mit Clock routing

Kannst du das ein bisschen genauer ausführen?

von Luky S. (luky)


Lesenswert?

Am liebsten wäre mir eine single Chip Lösung (ok, um einen Flashspeicher 
werde ich nicht rumkommen...) mit 3,3V Single Supply und möglichst wenig 
Pins in einem Nicht-BGA Gehäuse.
Es handelt sich bei der Anwendung wie gesagt um ein Board zum testen und 
experimentieren, welches in Kleinserie (20 Stück) gefertigt werden wird.
Wenn alle Teile bei Reichelt erhältlich wären, würde mich das freuen.
Als Applikationen habe ich an die Ansteuerung eines VGA Displays und das 
einlesen von 2 ADCs incl. Signalfilterung und Mittelwertbildung gedacht.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Config-Flash muss nicht unbedingt sein, das kann auch der Controller 
übernehmen, bzw. beim Entwickeln kann man über JTAG direkt das FPGA 
konfigurieren.

Schau dir mal die Spartan 3(E)-Serien auf xilinx.com an. Nimm am besten 
ein Package in dem es mehrere pinkompatible FPGAs gibt, dann bist du 
flexibler und musst dich nicht beim Layout auf einen Chip festlegen. Mit 
VQ100 deckst du z.B. 3S50 bis 3S200 ab.

von Luky S. (luky)


Lesenswert?

VQ100 scheint mir ein wirklich guter Kompromiss zu sein.
Danke! Werde ich voraussichtlich einsetzen, und zwar mit dem S200. Gibts 
auch bei Reichelt.
Leider finde ich dort aber kein auf den ersten Blick geeigneten 
Speicher.
Ich bin beim überlegen, ob es sinnvoll wäre, die 
Konfiguratonseinstellungen vom ARM von der sowieso vorhandenen SD-Karte 
laden und sie dem FPGA weiterschieben zu lassen.
Wie aufwändig ist das? In welcher Form / Interface (SPI?) erwartet der 
FPGA seine Einstellungen? Müssen Timings eingehalten werden?
Bleibt noch die Frage nach den RAM:
Ich habe eine Menge SDRAM-66 von alten Mainboards ausgelötet 
herumliegen.
Sind diese verwendbar? Wäre in sehr günstiger, großer und schneller 
Speicher.

von FPGAküchle (Gast)


Lesenswert?

<chipschmied wrote:
<> -keine Spartan3E da nur 4 IO-Bänke und Ärger mit Clock routing

<Kannst du das ein bisschen genauer ausführen?

Na Klar:
 IO-Bänke: Für den Ausgangspegel der FPGA-Pins ist die High Spannung an 
das entsprechende IO-Spgs pin zu legen. Brauchst du 3V3 Pegel also 3V3, 
für 2V5 (z.b für DDR2-RAM) also 2V5. Dieser High Pegel ist nicht für 
jedes Pin individuell einstellbar sondern nur für eine Bank. Eine 
IO-Bank ist eine gruppe von FPGA-Pins. Beim Spartan3 hast du 8 davon, 
beim 3E nur 4. Beim Spartan3 ist also die Anzahl der Pins pro 
Ausgangspegel feiner einstellbar.

Clock Routing: Beim Spartan3 kanns du alle Clockbuffer (8) an alle 
Takteingänge (FF,BRAM) führen, beim 3E nicht. Bei diesem können einige 
BUFG alle Takteingänge treiben, die anderen dagegen u. U. nur ein 
Viertel des FPGA's.
Falls da versehentlich der falsche BUFG benutzt, wird istdie 
Überraschung groß. das Problem vermeidet man bei alleiniger Nutzung der 
8 primären BUFG des spartan3E und Handplatzierung derselben. Genaueres 
im Datenblatt.

von FPGAküchle (Gast)


Lesenswert?

Für FPGA Configuration per uC schau mal:
http://direct.xilinx.com/bvdocs/appnotes/xapp502.pdf

von Schlumpf (Gast)


Lesenswert?

Die XP-Reihe von Lattice kommt mit einer Spannung aus und hat das Boot 
Flash integriert.
Da musst nur 3,3V und nen Oszillator anschliessen. Ggf die 
PLL-Versorgung über Ferrite oder Sternpunkt entkoppeln.

http://www.latticesemi.com/products/fpga/xp/index.cfm?source=topnav&jsessionid=ba3058f94db00$3Fx$3Fh

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.