Forum: FPGA, VHDL & Co. Ab wann FPGA statt µC? -z.B. Video-Signal von Kamera auf Display ausgeben? - andere Beispiele?


von Emil G. (balsamico)


Lesenswert?

Ich versuche mir gerade zu beantworten, ob Hardwareentwicklung ein 
Gebiet ist, in das ich tiefer einsteigen möchte. Einen ersten Kontakt 
mit Verilog und einem FPGA-Board hatte ich in einem Kurs mit 
Laborübungen, der gerade zu Ende ging. Bevor ich jetzt von meinem 
bisschen Geld garnichtmal so wenig ausgeben muss für so ein Board und 
ein paar Bauteile würde ich vor allem gerne wissen, wofür FPGAs denn 
tatsächlich so alles eingesetzt werden. Wo verläuft die Grenze, ab der 
besser Hardware anstelle eines Mikrocontrollers verwendet werden sollte 
oder muss?

Ich habe mir mal grob angeschaut, wie ein HDMI-Signal erzeugt wird und 
habe mir gedacht, ein nettes Projekt wäre doch, mir ein günstiges 
Display und eine günstige Kamera zu besorgen und das Bild in Echtzeit 
auf dem Display auszugeben. Vielleicht nicht auf dem ganzen Display, 
sondern nur in einem kleinen Fenster und drumherum noch ein paar 
Informationen auszugeben. Nun hätte ich bedeutend weniger Motivation 
dafür, wenn ich wüsste, dass das genauso gut mit einem Mikrocontroller 
zu realisieren wäre. Ist das schon ein Bereich, der einem 
Mikrocontroller zu viel wäre und sich der Einsatz von Hardware lohnt? 
Oder geht es erst dann damit los, wenn das Signal in Echtzeit 
ausgewertet werden soll, also Muster erkannt werden sollen usw.?

Fallen euch andere Gebiete ein, die verdeutlichen, wofür sich der 
Einsatz von FPGAs lohnt und wo die Grenze verläuft ab der sie eingesetzt 
werden sollten/müssen?

Danke!

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Emanuel G. schrieb:
> Wo verläuft die Grenze, ab der besser Hardware anstelle eines
> Mikrocontrollers verwendet werden sollte oder muss?
Dort, wo es keinen Mikrocontroller gibt, der das kann, was du brauchst. 
Oder du ihn nicht einsetzen willst...

> Nun hätte ich bedeutend weniger Motivation dafür, wenn ich wüsste,
> dass das genauso gut mit einem Mikrocontroller zu realisieren wäre.
Genau solche "display-Allerweltsaufgaben" bekommst du mit einem 
"Mikrocontroller" vom Schlage i.MX6 o.ä. im Bereich um 15€ 
(Einzelstückzahlen) garantiert einfacher und billiger hin.

von Martin S. (strubi)


Lesenswert?

Moin,

das ist so eine klassische FAQ, auf die du hier beim Suchen viele 
Antworten finden wirst...
Je nachdem bist du mit dem einen oder andern schneller am Ziel:

a) Genannte iMX6, oder Raspi-Geschwarte: Da findest du fertige 
Kameralösungen zum Spielen, Overlay-Anwendungen, usw.
b) Speziellen Sensor anbinden oder gewisse Timings einhalten müssen: 
FPGA


Sobald du bei a) mit detaillierteren Themen wie MIPI oder dem 
v4l2-Treiber anfangen musst, kostet's Zeit, du kriegst keine 
Informationen, oder es tut einfach nicht wie es soll und das Projekt 
steht.
Wenn du wiederum bei b) nicht das richtige FPGA aussuchst, nutzt dir das 
ganze toll simulierte Design nix :-)
Und meistens kombiniert man dann noch a) mit b).

Emanuel G. schrieb:
> Fallen euch andere Gebiete ein, die verdeutlichen, wofür sich der
> Einsatz von FPGAs lohnt und wo die Grenze verläuft ab der sie eingesetzt
> werden sollten/müssen?

Immer da, wo man mit der Simulation und entsprechender Fehlersuche 
gegenüber der halbfertigen Prozessorlösung Zeit sparen kann, oder 
Safety-Richtlinien es erfordern. Eine Raspi-Cam willst du nicht zur 
Bahngleis-Überwachung verkaufen...

von DH1AKF W. (wolfgang_kiefer) Benutzerseite


Lesenswert?

Bei den neuesten SDR (Software Defined Radio) erfolgt die 
Signalverarbeitung meist in einem FPGA. Das betrifft Mischer, Filter, 
Dezimatoren usw. Die A/D- Wandlung erfolgt in separaten Schaltkreisen, 
ebenso die D/A- Wandlung beim Senden.

https://openhpsdr.org/hermes.php

https://www.darc.de/fileadmin/filemounts/distrikte/i/ortsverbaende/04/Fuchsjagd/i04-Redpitaya-2016-05-03.pdf

http://www.ssb.de/sdr/transceiver/zs-1-zeus-1-transceiver

usw.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Für die Verarbeitung von HDMI-Datenströmen bieten sich die aktuellen 
Digilent Zybo Z7 an, die gegenüber der Vorgängergeneration jeweils einen 
HDMI-Eingang und -Ausgang haben, so dass man das Board zwischen die 
Signalquelle und einen Monitor hängen kann.

https://www.youtube.com/watch?v=c1I2HQ5DPCo
https://shop.trenz-electronic.de/de/search?sSearch=zybo+z7
https://store.digilentinc.com/zybo-z7-zynq-7000-arm-fpga-soc-development-board/

von Blechbieger (Gast)


Lesenswert?

Für Hobbyanwendungen weniger relevant aber FPGA werden u.a. eingesetzt 
wenn massiv parallele IO und Verarbeitung notwendig sind. Z.B. 128 ADC 
Kanäle mit >> 10 MHz. Für Phased Array Radar sind dann schnell sogar die 
fettesten FPGA zu klein und es müssen mehrere kombiniert werden.

von C. T. (cajt)


Lesenswert?

Emanuel G. schrieb:

(snip)

> Fallen euch andere Gebiete ein, die verdeutlichen, wofür sich der
> Einsatz von FPGAs lohnt und wo die Grenze verläuft ab der sie eingesetzt
> werden sollten/müssen?

Meine Vorredner haben schon die Hauptmotivationen FPGAs zu verwenden 
dargestellt und gut erläutert.

Es gibt aber noch einen Bereich in dem FPGAs ein Alleinstellungsmerkmal 
haben, das den höheren Aufwand rechtfertigt: Ihre Programmierbarkeit 
erlaubt es zu einem später Zeitpunkt Funktionen zu ändern, die ansonsten 
als fester Teil eines ASIC, DSP oder Mikrocontroller daher kämen. Dies 
erlaubt zum einen spätere Updates (siehe Router), Adaption an neue 
Standards (z.B. SDR) oder die "nachträgliche" Definition der Funktion 
durch den Kunden, wie beispielsweise in NI's RIO Systemen.

Im Grunde sind dies alles Auswirkungen der Technik auf die Organisation 
drumherum und den Umgang mit FPGA-basierten Systemen. Dies kann bei 
kleinen Stückzahlen oder sehr engen Zeitrahmen ein entscheidendes 
Kriterium sein, die andere Lösungen nicht bieten können.

von Markus K. (markus-)


Lesenswert?

C. T. schrieb:
> Es gibt aber noch einen Bereich in dem FPGAs ein Alleinstellungsmerkmal
> haben, das den höheren Aufwand rechtfertigt: Ihre Programmierbarkeit
> erlaubt es zu einem später Zeitpunkt Funktionen zu ändern, die ansonsten
> als fester Teil eines ASIC, DSP oder Mikrocontroller daher kämen. Dies
> erlaubt zum einen spätere Updates (siehe Router), Adaption an neue
> Standards (z.B. SDR)

Aber gerade bei Routern und SDR würde man doch einfach nur ein 
Softwareupdate machen. Gibts denn denn überhaupt irgendwelche 
Prozessoren, die Signaldemodulation komplett in Hardware haben?

von Burkhard K. (buks)


Lesenswert?

Markus K. schrieb:
> Gibts denn denn überhaupt irgendwelche
> Prozessoren, die Signaldemodulation komplett in Hardware haben?

Zumindest bei der Entwicklung und Verifikation von Prozessoren können 
FPGAs als Prototyping-Platform eine wichtige Rolle spielen. Z.B. sowas 
hier: https://www.synopsys.com/verification/prototyping/haps.html.

von huhu123456 (Gast)


Lesenswert?

FPGAs sind auch für Maschinelles Lernen von Bedeutung. Man kann darauf 
sehr flexibel Algorithmen als feste Schaltungen implementieren. Es soll 
auch Fälle geben wo FPGAs GPUs vorzuziehen sind bezügliche massive 
parallele Berechnungen.

Es wird denke ich interessant zu sehen sein wie sich die 
Leistungsfähigkeit von FPGAs im Vergleich zu ASICs entwickeln wird.

Leistungsfähige und günstige FPGAs könnten dazu führen dass das Zoo der 
unzähligen ASIC Lösungen auf eine übersichtlichere Größe eingedampft 
wird. In Verbindung mit vielen (freien) IP Cores könnte ein FPGA Chip 
die Aufgaben von 1000 verschiedenen ASIC Chips übernehmen.

Bei einer solchen Entwicklung würden die produzierten Stückzahlen sicher 
rasant in die Höhe gehen und die Stückkosten erheblich senken.

Außerdem ist es für die Zukunft gar keine schlechte Idee Chips zu haben 
die man später updaten kann. Da bei der zunehmenden Komplexität immer 
gravierendere Fehler und Sicherheitslücken auftauchen.
Die bisherigen sogenannten IoT Geräte sind in der Hinsicht versteinert. 
Auch wenn die meisten Gründe dafür sicher an anderen Stellen liegen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

huhu123456 schrieb:
> Es wird denke ich interessant zu sehen sein wie sich die
> Leistungsfähigkeit von FPGAs im Vergleich zu ASICs entwickeln wird.
Diese Frage wurde zu allen Zeiten gestellt. Und dann wieder zu Gunsten 
der ASICs eintschieden, sobald die Stückzahl nennenswert wird. Nur als 
Anhaltspunkt: jede billige CPU als ASIC wie der o.A. i.MX6 ist 
schneller, leistungsfähiger und energiesparender als eine CPU in als 
Softcore in einem FPGA.

> Leistungsfähige und günstige FPGAs könnten dazu führen dass das Zoo der
> unzähligen ASIC Lösungen auf eine übersichtlichere Größe eingedampft wird.
Die ersten Bitcoins wurden mit PCs gefunden, dann mit Grafikkarten, dann 
mit FPGAs und heute wird mit ASICs gesucht:
https://www.bitcoinmining.com/bitcoin-mining-hardware/
Und die ASICs sind dank optimierter Auslegung leistungsfähiger und 
weniger energiehungrig:
https://en.bitcoin.it/wiki/Mining_hardware_comparison


Man nimmt dann ein FPGA, wenn es die Hardware nicht anderweitig gibt. 
Oder wenn man Funktionen lange (auch über mehrere FPGA-Generationen 
weg) braucht und sich zwar die Umsetzung in portierbares HDL, aber nicht 
in ein eigenes ASIC rechnet. Oder dann, wenn die Schnittstellen gleich 
bleiben, man aber Hardware (Funktionen, Berechnungen) austauchen muss.
https://www.jacol.de/fpga-blog/fpga-verwendung/

von huhu123456 (Gast)


Lesenswert?

@Lothar Miller

Ja das ist der aktuelle Stand der Dinge. Aber wird es immer so bleiben?
Selbst wenn man davon ausgeht das FPGA Logikzellen immer prinzipiell 
mehr Platz benötigen und die Flexibilität mit weniger 
Optimierungsmöglichkeiten erkauft wird, muss man nicht davon ausgehen 
das ASICs immer die erste Wahl sein werden.

Die Logikdichte bei FPGAs steigt immer weiter an und ich glaube FPGAs 
müssen gar nicht leistungsfähiger sein als ASICs um den Durchbruch 
gegenüber ASICs zu schaffen.
Denn aber einer gewissen Leistungsfähigkeit und Kostensenkung werden 
FPGAs aufgrund der Flexibilität attraktiver. Dann sind die neusten ASICs 
immer noch leistungsfähiger, aber was wenn diese noch höhere 
Leistungsfähigkeit nicht überall gebraucht wird?
Wenn also FPGAs die geforderte Leistung bringen und günstig genug sind 
haben sie gegenüber ASICs den Vorteil der Flexibilität.

Bevor ich ein ASIC nutze wo nie mehr als 50% der möglichen Leistung 
genutzt wird, nutze ich vielleicht ein (möglicherweise) genau so 
günstiges FPGA und hab dadurch die Möglichkeit das Design selbst an 
meine Anforderungen zu ändern und später Updates durchzuführen.

von S. R. (svenska)


Lesenswert?

In dem Augenblick, wo es um Stückzahlen geht, ist ein ASIC bei gleicher 
Leistungsfähigkeit billiger als ein FPGA. Damit entscheidet die 
Wirtschaftlichkeit für den ASIC.

Die Flexibilität spielt keine Rolle, wenn sich das Design nicht 
langfristig an veränderliche Anforderungen anpassen können muss. Man 
muss neue Geräte für dauerhaften Gewinn verkaufen, statt alte Geräte 
ewig zu supporten.

Die Zukunft lässt sich schlecht vorausplanen. Ein FPGA-Design kann man 
vielleicht an die neuen Gegebenheiten anpassen, aber auch das ist nicht 
sicher. Dazu kommt dann noch, dass ein ASIC bei gleicher 
Leistungsfähigkeit stromsparender ist.

huhu123456 schrieb:
> Bevor ich ein ASIC nutze wo nie mehr als 50% der möglichen Leistung
> genutzt wird

Wenn du die Leistung des ASICs nicht brauchst, dann machst du den ASIC 
halt kleiner. Oder, wenn es nicht dein ASIC ist, dann schaltest du die 
nicht benötigten Teile einfach ab und sparst trotzdem Geld.

von Mac G. (macgyver0815)


Lesenswert?

Man sollte noch bedenken, dass moderne Fertigungsprozesse teuer sind. 
Das rechnet sich erst bei höheren Stückzahlen...

Wenn wir von "Stückzahlen" reden: Für Industrieanwendungen mit tausender 
Stückzahlen sind FPGAs i.d.R. wirtschaftlicher als ASICs.


Lothar M. schrieb:
> jede billige CPU als ASIC wie der o.A. i.MX6 ist

Der i.MX6 ist ein ASSP/SoC, kein ASIC ;-P

von Martin K. (mkmannheim) Benutzerseite


Lesenswert?

Martin S. schrieb:
> a) Genannte iMX6, oder Raspi-Geschwarte: Da findest du fertige
> Kameralösungen zum Spielen, Overlay-Anwendungen, usw.

Leider aber nichts, was mit Leistung zu tun hätte.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mac G. schrieb:
> Der i.MX6 ist ein ASSP/SoC, kein ASIC ;-P
Da kann man das Haar schon auch komplett längs durchspalten und jedem 
ASIC seinen eigenen Namen geben. Aber ich empfinde so einen uC (zudem 
einen ohne internes Flash) durchaus als ASIC. Denn ich kann in der 
Hardwarestruktur nichts mehr ändern, ohne dass ich etwas an der 
Belichtungsvorlage etwas ändere.

huhu123456 schrieb:
> Ja das ist der aktuelle Stand der Dinge. Aber wird es immer so bleiben?
Es war schon vor 20 Jahren so. Und wenn ich dann mal ein wenig 
extrapoliere...

> Selbst wenn man davon ausgeht das FPGA Logikzellen immer prinzipiell
> mehr Platz benötigen und die Flexibilität mit weniger
> Optimierungsmöglichkeiten erkauft wird, muss man nicht davon ausgehen
> das ASICs immer die erste Wahl sein werden.
Ich hatte da nichts von immer geschrieben. Aber der Break-Even bei den 
Kosten FPGA vs. ASIC kommt auf jeden Fall schneller als man sich denkt.

von Andi (Gast)


Lesenswert?

Teure Handys haben schon heute FPGAs drin statt ASICs, und wo könnten 
die Stückzahlen höher sein?
Design und Herstellung eines ASICs dauert halt viele Monate, und bis der 
da ist, ist wahrscheinlich schon das Nachfolgemodell des Handys 
angesagt.

Also "time to market" ist ein gutes Argument für FPGAs.

von Roland L. (Gast)


Lesenswert?

Andi schrieb:
> Teure Handys haben schon heute FPGAs drin statt ASICs, und wo könnten
> die Stückzahlen höher sein?

bei billigen handys

von Mac G. (macgyver0815)


Lesenswert?

Lothar M. schrieb:
> Mac G. schrieb:
>> Der i.MX6 ist ein ASSP/SoC, kein ASIC ;-P
> Da kann man das Haar schon auch komplett längs durchspalten und jedem
> ASIC seinen eigenen Namen geben.


Technisch sind ASSP und ASIC gleich.
Macht aber wirtschaftlich einen gigantischen Unterschied und daher auch 
die Unterscheidung.
Das hat mit Haare spalten überhaupt nichts zu tun.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mac G. schrieb:
> Technisch sind ASSP und ASIC gleich.
Sagen wir mal so: ein ASSP ist ein ASIC, das frei verkäuflich ist und 
auch von anderen als nur dem Hersteller/Entwickler verwendet wird.
https://de.wikipedia.org/wiki/Anwendungsspezifische_integrierte_Schaltung

Andi schrieb:
> Teure Handys haben schon heute FPGAs drin statt ASICs
Naja, das ist nicht so der Bringer:
https://www.quora.com/Why-is-an-FPGA-not-used-in-a-mobile-phone
Ein 48-Pinner. Für die Glue-Logic. Apple wird das Ding quasi geschenkt 
bekommen, nur damit Lattice implizit Werbung damit machen kann...

von Nachfrager (Gast)


Lesenswert?

Andreas S. schrieb:
> Digilent Zybo Z7 an, die gegenüber der Vorgängergeneration jeweils einen
> HDMI-Eingang und -Ausgang haben,

Das sind aber nur buffer drauf, wie auch auf anderen boards, die TMDS 
machen und keine echten Transceiver. Daher kann man da nichts Gescheites 
mit machen. Und im Text heisst es auch:

"Resolutions up to 720p (1280×720) have been tested"

D.h. die normalen 1080er Modi fallen flach!

von C. A. Rotwang (Gast)


Lesenswert?

Mac G. schrieb:
> Man sollte noch bedenken, dass moderne Fertigungsprozesse teuer sind.
> Das rechnet sich erst bei höheren Stückzahlen...

Insbesonder die HiSpeed-Prozesse. Die ASIC-fritzen tun sich ganz schon 
schwer mal so einen Gigabit-Transceiver in ihren AISIC-production Lines 
zu realisieren.

> Wenn wir von "Stückzahlen" reden: Für Industrieanwendungen mit tausender
> Stückzahlen sind FPGAs i.d.R. wirtschaftlicher als ASICs.

ASIC lonht sich erst so ab 10k/Jahr und drüber, da liegt vieles 
ausserhalb des Consumer-breichs drunter:
-Medizintechnik insbeosnders CT und MRT,
-Automatisierungstechnik insbes. AOI war (ist) ne FPGA-Domäne
-Telecom-Basisstationen
-Ultraschall-Prüftechnik
-weitere bildgebende Verfahren (Konfokalmikroskopie, 
Rasterkraftmikroskopie)
-HiL-Teststände

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Lothar M. schrieb:
> Sagen wir mal so: ein ASSP ist ein ASIC, das frei verkäuflich ist und
> auch von anderen als nur dem Hersteller/Entwickler verwendet wird.

Genau so ist es. Hierbei erfolgt dann häufig eine Aufteilung des 
Kostenrisikos auf den ursprünglichen Auftraggeber und den 
Halbleiterhersteller bzw. ein dazwischen befindlichen ASIC-Designhaus. 
Der Auftraggeber erhält dann das beauftragte ASIC zu günstigen 
Konditionen, und der Hersteller kann dann, ggf. nach einer Sperrfrist, 
das ASIC als Standardprodukt weiterverkaufen. Häufig wird aber dabei die 
Entstehung solch eines Produktes verschwiegen.

Bei einem Microcontroller, für den ich von Seiten des Herstellers eine 
Aussage zur Lieferbarkeit benötigte, erfuhr ich, dass es sich um einen 
kundenspezifischen Baustein für Lexmark handelte, der so lange 
hergestellt wird, wie Lexmark entsprechende Drucker herstellt, d.h. der 
Microcontroller konnte jederzeit mit sofortiger Wirkung abgekündigt 
werden.

Ein Mikroprozessor (MTC20285) mit drei integrierten 
ISDN-S0-Schnittstellen wurde hingegen von Alcatel dann auf den Markt 
gebracht, als deren eigene darauf basierten Telefonanlage usw. schon 
etabliert waren, und zwar tatsächlich unter dem eigenen Namen Alcatel 
bzw. Alcatel Microelectronics.

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.