Home › Foren-Übersicht › Rund um FPGAs › Mal 'ne blöde Frage

Foren-Übersicht

Sie müssen eingeloggt sein, um zu antworten.

Thema: Mal 'ne blöde Frage

Autor Beitrag

guthorst

102 Beiträge

Stammgast
Stammgast

Read post 15-11-2007 12:01

Was macht man eigentlich mit FPGAs/CPLDs?

Ich kenne mich ja in elektronischer Schaltungsentwicklung - analog und digital - aus, bis hin zu Microcontrollern (8051, PIC, C167). Aber die "Programmierbare-Logik"-Themen sind an mir irgendwie vorbeigegangen (naja, PALs/GALs versteh ich ja noch - aber noch nie selbst angewendet). Könnte aber mal interessant sein, hier sein Know How zu erweitern.

Daher meine Fragen:
- Was sind typische Anwendungsgebiete für FPGAs/CPLDs?
- Wo sind die Vorteile gegenüber Microcontrollern?
- Wo sind die Nachteile gegenüber Controllern?
- Wo sind deren Grenzen - wo lohnt sich definitiv kein Einsatz bzw. was können FPGAs nicht?
- Beispiel-Projekte? Auch für Einsteiger?

Wäre über eure Kommentare dankbar - bevor ich mich durch die ganzen Hersteller und seitenweise Datenblätter durchwälze.

Gruß,
Jochen

Didi5

230 Beiträge

Stammgast
Stammgast

Read post 16-11-2007 12:19

Die "blöde" Frage ist eine gute Frage. Ich bin auch an Info interessiert.

Gruss Didi

avg

6 Beiträge

Neuer Benutzer
Neuer Benutzer

Read post 19-11-2007 16:30

Hallo,

dies ist ein Thema das in diversen Foren schon bis zum Abwinken durchgekaut wurde (z.B. http://www.mikrocontroller.net/topic/67044).
Aber hier nochmals eine Zusammenfassung der wichtigsten Unterschiede (so wie ich diese sehe).

FPGAs:
- beinhalten vereinfacht ausgedrückt nur Gatter und FlipFlops (ähnlich wie Gals nur sehr viel grösser).
Durch die Programmierung (Konfiguration) verschaltet man die Gatter und Flipflops untereinander sodass eine bestimmte Schaltung entsteht.
Hierbei können natürlich alle Gatter zu selben Zeit arbeiten, d.h. es läuft alles parallel (gleichzeitig) ab (dies ist auch der grösste Unterschied zu einem uC).

- Anwendung immer dort wo hohe Geschwindigkeit erforderlich ist (z.B. Signalverarbeitung mit hohen Sampleraten, Bildverarbeitung, ...)
- Die Vorteile gegenüber einem uC sollten jetzt einigermassen klar sein (=> dass der FPGA "echte Hardware" beinhaltet und dadurch viel schneller ist als ein Prozessor).
- Nachteile sind die viel komplexeren FPGA Entwurfsmethoden (VHDL, Synthese, Place & Route, ...), bedingt dadurch dass beim FPGA alle parallel geschieht.
- FPGAs können alles was ein Prozessor kann (und umgekehrt). Es ist nur eine Frage des Aufwands und der notwendigen Geschwindigkeit. FPGAs haben in der Regel nur digitale E/As. A/D-Wandler etc. sucht man dort vergebens (muss extern angeschlossen werden).
Man kann auch in einem FPGA einen Prozessor implementieren (z.B. beim Elektor FPGA-Kurs wurde ein 8051 Prozessor eingesetzt). Diesen nennt man dann Softcore (da er nicht als "echte Hardware" vorliegt.

uC:
Die Hardware ist fix, nur die Software ist variabel. Der uC arbeitet sein Programm sequentiell ab und kann immer nur einen Befehl zu einer Zeit ausführen (wenn es nicht gerade ein Pentium Prozessor o.ä. ist).

Zum hineinschnuppern ins Thema VHDL und FPGA wären ev. die ersten paar Teile vom Elektor VHDL-Kurs geeignet (auch wenn man kein Elektor FPGA-Board hat).

MfG.
Andreas

avg

6 Beiträge

Neuer Benutzer
Neuer Benutzer

Read post 19-11-2007 16:35

Hallo,

dies ist ein Thema das in diversen Foren schon bis zum Abwinken durchgekaut wurde (z.B. http://www.mikrocontroller.net/topic/67044).
Aber hier nochmals eine Zusammenfassung der wichtigsten Unterschiede (so wie ich diese sehe).

FPGAs:
- beinhalten vereinfacht ausgedrückt nur Gatter und FlipFlops (ähnlich wie Gals nur sehr viel grösser).
Durch die Programmierung (Konfiguration) verschaltet man die Gatter und Flipflops untereinander sodass eine bestimmte Schaltung entsteht.
Hierbei können natürlich alle Gatter zu selben Zeit arbeiten, d.h. es läuft alles parallel (gleichzeitig) ab (dies ist auch der grösste Unterschied zu einem uC).

- Anwendung immer dort wo hohe Geschwindigkeit erforderlich ist (z.B. Signalverarbeitung mit hohen Sampleraten, Bildverarbeitung, ...)
- Die Vorteile gegenüber einem uC sollten jetzt einigermassen klar sein (=> dass der FPGA "echte Hardware" beinhaltet und dadurch viel schneller ist als ein Prozessor).
- Nachteile sind die viel komplexeren FPGA Entwurfsmethoden (VHDL, Synthese, Place & Route, ...), bedingt dadurch dass beim FPGA alle parallel geschieht.
- FPGAs können alles was ein Prozessor kann (und umgekehrt). Es ist nur eine Frage des Aufwands und der notwendigen Geschwindigkeit. FPGAs haben in der Regel nur digitale E/As. A/D-Wandler etc. sucht man dort vergebens (muss extern angeschlossen werden).
Man kann auch in einem FPGA einen Prozessor implementieren (z.B. beim Elektor FPGA-Kurs wurde ein 8051 Prozessor eingesetzt). Diesen nennt man dann Softcore (da er nicht als "echte Hardware" vorliegt.

uC:
Die Hardware ist fix, nur die Software ist variabel. Der uC arbeitet sein Programm sequentiell ab und kann immer nur einen Befehl zu einer Zeit ausführen (wenn es nicht gerade ein Pentium Prozessor o.ä. ist).

Zum hineinschnuppern ins Thema VHDL und FPGA wären ev. die ersten paar Teile vom Elektor VHDL-Kurs geeignet (auch wenn man kein Elektor FPGA-Board hat).

MfG.
Andreas

Sie müssen eingeloggt sein, um zu antworten.

Elektor 06/2012 am Kiosk

Gratis-Newsletter

Feedback zu Elektor

µC-Fernlehrgang 1 & 2

Folgen Sie Elektor auf...