Hallo!
Ich suche nach einem FPGA mit etwa 130 I/Os mit 3.3V, an den sonst aber
keine nennenswerten Anforderungen gestellt werden (etwa 20MHz Takt, auf
einem Cyclone II werden etwa 1500 LE und 1200 Register gebraucht).
Da der FPGA aber nur eine Unterstützungsfunktion in dem Projekt einnimmt
und kaum Zeit für ein komplexeres Design ist suche ich einen FPGA der
diese Funktionen mit minmalem Schaltungsaufwand bereitstellt. Die Kosten
pro Stück sind dem gegenüber eher zweitrangig.
Ich hätte daher zu einem Intel MAX10 (z.B. 10M04) mit Single Supply oder
einem Lattice MachXO2 tendiert. Von Xilinx habe ich keine FPGAs mit
integriertem Flash gefunden. Ich habe aber mit beiden Serien keine
Erfahrung. Vielleicht kann jemand der schon mal damit gearbeitet hat
sagen womit man am schnellsten ein lauffähiges System hat.
Welche Evalboards wären empfehlenswert? Beim MAX10 vermutlich das
MAX1000, bei Lattice evtl. das LCMXO2-7000HE-B-EVN?
Welche Tools bräuchte man dann zum Programmieren der FPGAs auf dem
fertigen Board? Ideal wäre es wenn man den FPGA auch direkt von einem
angeschlossenen Mikrocontroller aus beschreiben könnte, weil dann das
spätere Firmwareupdate vereinfacht wäre.
Zusammengefasst: Sind die genannten FPGAs für den Anwendungszweck
geeignet und schnell einsatzbereit? Was braucht man für die ersten
Schritte?
Vielen Dank schon mal!
Ich habe nur Erfahrung mit dem MachXO2. Programmiert wird mit Lattice
Diamond. Updates können auch über I2C oder SPI eingespielt werden.
Dazu braucht der Mikrocntroller eine FSM (in Software) und muß
irgendwoher den neuen Bitstream bekommen.
Für den Einsteig würde ich das Evalboard (LCMXO2-7000HE-B-EVN)
empfehlen.
Das ist erstens recht preiswert, zweitens sind alle Pins zugänglich und
drittens kann man sich am Schaltplan was für sein Design abgucken.
Mein Eindruck ist, das sich die XO2 im TQFP-Gehäuse mit wenig Aufwand in
eigene Designs integrieren lassen.
Der MAX1000, den ich noch unausgepackt hier liegen habe, hat zu wenig
IO:
https://www.arrow.com/max1000
Aber es gibt bestimmt auch Größere.
Obwohl, XO2 hat in TQFP maximal 114 IOs. Wer mehr braucht, muß zu BGA
greifen (oder mehrere FPGA nehmen).
Duke
Habe bisher mit Xilinx und Lattice gearbeitet. Intel müssen andere
beantworten :-)
Hermann schrieb:> Welche Tools bräuchte man dann zum Programmieren der FPGAs auf dem> fertigen Board? Ideal wäre es wenn man den FPGA auch direkt von einem> angeschlossenen Mikrocontroller aus beschreiben könnte, weil dann das> spätere Firmwareupdate vereinfacht wäre.
Gute Idee!
Lattice Programming Tools User Guide 3.11:
http://www.latticesemi.com/view_document?document_id=52659Hermann schrieb:> Zusammengefasst: Sind die genannten FPGAs für den Anwendungszweck> geeignet und schnell einsatzbereit?
Für deine (wenigen) gestellten Anforderungen taugt der MachXO2 ganz gut.
Da scheinbar ein Mikrocontroller vorhanden ist, könnte der integrierte
SPI Hard-IP ganz interessant sein (für Kommunikation UND
Firmwareupdate).
Hermann schrieb:> Was braucht man für die ersten Schritte?
Lattice Diamond installieren und mal versuchen den bestehenden Cyclone 2
Code zu synthetisieren. Dann siehst du schnell, wie portierbar der
bestehende Code ist :-)
Hermann schrieb:> Von Xilinx habe ich keine FPGAs mit integriertem Flash gefunden.> Ideal wäre es wenn man den FPGA auch direkt von einem> angeschlossenen Mikrocontroller aus beschreiben könnte
Wenn da sowieso ein µC dranhängt, dann könnte der beim Start doch
einfach jedesmal das FPGA konfigurieren und ein Flash imFPGA wäre
nicht nötig. Damit wäre dann ein Update denkbar einfach, weil die
FPGA-Daten nur an 1 Stelle im System liegen.
Duke Scarring schrieb:> Mein Eindruck ist, das sich die XO2 im TQFP-Gehäuse mit wenig Aufwand in> eigene Designs integrieren lassen.
3,3V dran und ein paar Blockkondensatoren und fertig. Dank des OnChip
Oszillators geht das oft sogar ohne externe Taktquelle.
Hermann schrieb:> Hallo!>> Ich suche nach einem FPGA mit etwa 130 I/Os mit 3.3V, an den sonst aber> keine nennenswerten Anforderungen gestellt werden (etwa 20MHz Takt, auf> einem Cyclone II werden etwa 1500 LE und 1200 Register gebraucht).>
Max 10M04 dürfte gehen, du brauchst aber mindestens das 256 BGA für
130 I/Os.
> Da der FPGA aber nur eine Unterstützungsfunktion in dem Projekt einnimmt> und kaum Zeit für ein komplexeres Design ist suche ich einen FPGA der> diese Funktionen mit minmalem Schaltungsaufwand bereitstellt. Die Kosten> pro Stück sind dem gegenüber eher zweitrangig.
Ich würde mich da nicht so an minimalen Schaltungsaufwand klammern,
da du dadurch den Suchbereich drastisch einschränkst.
Du brauchst für alle modernen FPGAs einen Dual Step-Down, und einen
externen SPI Flash und optional einen Quarz.
Das sind 3 externe Bauteile, die schnell verdrahtet sind.
Der Aufwand steckt mehr in der Einarbeitung, und im VHDL/Verilog
Code.
Ich würde also erst mal den bestehden Code auf dem neuen FPGA
synthetisiern, und schauen, wieviel % der braucht, und welche Pins
die Tools vorschlagen.
> Zusammengefasst: Sind die genannten FPGAs für den Anwendungszweck> geeignet und schnell einsatzbereit? Was braucht man für die ersten> Schritte?
Ja, sind geeignet.
Du brauchst ein Evalboard mit passender Peripherie,
oder ein schnell entwickeltes Prototypenboard für deine 130 I/Os,
und die Herstellersoftware zum Programmieren.
Schick mir ein Email, wenn du weitere Unterstützung brauchst.
Danke für die ganzen hilfreichen Antworten. Ich werde jetzt mal das
MachXO2 Board holen und parallel dazu den Code schon mal in der
Simulation testen.
Die Möglichkeit die Konfiguration einfach per SPI einspielen zu können
finde ich sehr reizvoll.
Udo K. schrieb:> Du brauchst für alle modernen FPGAs einen Dual Step-Down, und einen> externen SPI Flash und optional einen Quarz.
Eben nicht. MachXO 1&2 gibt es als single-supply Varianten (da ist ein
LDO mit auf dem FPGA Die) und die benötigen kein externes Flash, 65 nm
Strukturen und gehen auch hoch bis > 150 MHz.
Microsemi FPGAs benötigen zwar dual-Supply aber auch kein externes Flash
(so wie auch Lattice MachXO3 oder der ältere XP2).
Hi.
Habe mal ein vor einiger Zeit ein kleines Design (
USB-Digital-Oszillokop ) mit den Lattice XP2 gemacht.
Neben der Core-Spannung, und der I/O-Spannung brauchte er in meinem
Design nur noch einen Oszillator als Time-Base.
Programmierung über JTAG, interes Flash, günstig.
Nils schrieb:> Design nur noch einen Oszillator als Time-Base.
und auch den könnte man noch weglassen.
>FPGA mit minimalem Schaltungsaufwand
Wir verwenden die Module von Trenz.
Ich würde dir das MAX1000 empfehlen, was du anfangs ja schon ins Auge
gefasst hast.
Der ist sehr einfach, aktuelle Technologie und ist eine Single Chip FPGA
Lösung für deine Aufgabe:
Vorteile:
- Flash mit drin: Kein externes Flash nötig
- Single Supply Voltage
- Interner Oszillator. Ich würde aber trotzdem einen externen Oszillator
verwenden, ist besser.
- Sogar ein ADC ist mit drin
- Super Programmier-Umgebung
- Programmier und Debugger auf dem MAX1000 schon mit drauf.
- mit 22-25€ extrem günstig
- Jede Menge Beispielcode verfügbar
- Copy&Paste des Schaltplans vom MAX1000
Was besseres gitb es wohl nicht.
VG