mikrocontroller.net

Forum: FPGA, VHDL & Co. FPGA mit minimalem Schaltungsaufwand


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Hermann (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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!

Beitrag #6101912 wurde vom Autor gelöscht.
von Duke Scarring (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

von Christophz (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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=52659

Hermann 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 :-)

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
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 im FPGA 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.

: Bearbeitet durch Moderator
von Udo K. (udok)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Hermann (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Christophz (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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).

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Udo K. schrieb:
> einen Dual Step-Down
Den MachXO2 kann ich in der Größe und der Frequenz locker mit einem SMD 
Linearregler bespaßen.

: Bearbeitet durch Moderator
von Nils (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Tobias N. (technick2)


Bewertung
0 lesenswert
nicht lesenswert
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.

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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.