Hallo, ich will auch den Vergleich DSP u. FPGA machen. Folgendes habe ich bis jetzt selbst rausgefunden: "Ein DSP kann nur digitale Signale, d.h. zeit- und wertdiskrete, verarbeiten." Für was gibt es dann DSPs noch? Man kann doch mit FPGAs alles machen? Ich kann ja nicht überall schreiben, dass FPGAs teuerer sind und aus. Kann mir da wer bitte weiterhelfen? mfg FK
:
Bearbeitet durch User
ich glaube du hast da ein komplettes verständnis problem .... ein FPGA (field programmable gate array) hat wie im namen schon steckt vereinfacht gesagt mehrere Logikgatter welche miteinader verknüpft werden und durch verschiedene Clocks getaktet und synchronisiert werden. für diese teile verwendest du eine Hardware beschreibungssprache wie vhdl verilog etc.. das heißt du kannst jede beliebige hardware logik digital schaltung entwerfen und in den FPGA "laden"... ein DSP (Digitaler Signal prozessor) ist ein fertiger Prozessor mit einer eigenen Recheneinheit um gewisse Rechnungen schneller lösen zu können als ein normaler Prozessor .. hier gibt es register die du setzen kannst und kannst assembler etc. verwenden. beim FPGA kannst du auch rechenalgorithmen bauen allerdings sind die dann hardcoded und nicht mit software wie im prozessor veränderbar... dir fehlt da einiges an wissen...
Was fehlt mir da? Ich verstehe nicht ganz, was ich da falsches gesagt habe. Man kann doch einen DSP mit FPGA's realisieren. Soll man DSP mit FPGA nicht vergleichen? Ich muss es aber für das Referat, dass ca. 10 Minuten lange dauern sollte.(Redezeit wird kurz sein, da es eher ein Prüfungsreferat ist. Lehrer stellt fragen dazu).
Üblicherweise realisiert man in einem FPGA dann keinen general-purpose-DSP als Softcore, sondern man hat ein ziemlich konkretes Signalverarbeitungsproblem das es zu lösen gilt. Und dafür baut man sich dann im FPGA eben eine Verarbeitungskette wofür man aus Platz+Performancegründen DSP-slices nutzen kann. Die sind aber für sich genommen nicht turing-vollständig, sondern sind in erster Linie Hardware-MAC-Einheiten. Klassischer Anwendungsfall für sowas sind Software Defines Radios. Da kann man dann die Filter, Kanal-splitting und Demodulation schön pipelinisiert hintereinander realisieren und bekommt auch wirklich pro Takt ein Sample rein+raus.
F. K. schrieb: > Man kann doch einen DSP mit FPGA's realisieren. Soll man DSP mit FPGA > nicht vergleichen? Man kann aus Mehl Brot machen. Soll man dann nicht Mehl mit Brot vergleichen? Gut, das war jetzt ein wenig plakativ gesagt, aber aus Mehl kannn man eben noch ganz was anderes als nur Brot und Brötchen machen. Und jetzt ersetzt du Mehl mit FPGA, Brot mit DSP, und Brötchen mit uC. Dann siehst du, dass du Kuchen, Torten, Crepes, Pizza, diverse Nudelsorten und sonst noch Einiges nicht beachtet hast... F. K. schrieb: > Ich muss es aber für das Referat, dass ca. 10 Minuten lange dauern > sollte.(Redezeit wird kurz sein, da es eher ein Prüfungsreferat ist. > Lehrer stellt fragen dazu). Man kann ganz problemlos sogar sehr viel länger als 10 Minuten über FPGAs reden, ohne uC und DSP mit einem einzigen Wort zu erwähnen. Und wenn ich ein Referat über FPGAs zu halten hätte, dann würde ich das tun. Eine Erwähnung von uC/DSP wäre mir gerade mal einen kleinen Nebensatz wert...
:
Bearbeitet durch Moderator
Moin, zäum das Pferd doch von unten auf: - Bilder von konkretem Silizium-Die suchen: Warum sieht ein FPGA ganz anders aus als ein DSP? - Was bedeuten die Strukturen (4er-LUT elemente versus harte DSP pipeline) - Das ganze nochmal in einem Schema (Flipflops, LUTs, versus MAC-Units) - Wo kreuzen sich die beiden Domänen (DSP-Units und dediziertes Block RAM auf FPGA) - Anwendungsfall: parallelisierte Beschreibungssprache versus linear strukturierte Programmiersprache - Simulation versus Debugger/In Circuit Emulation (die Fachwörter musst Du entsprechend durchs Wikipedia kloppen) Wenn ich meinen Wissensstand um 20 Jahre dekrementieren würde, fände ich genau das interessant, aber nicht in 10 Minuten reingedrückt. Aber sei's drum... Grüsse, - Strubi
Literatur huelft: Uwe Meyer-Baese Digital Signal Processing with Field Programmable Gate Arrays Fourth Edition Springerverlag
Danke Leute. Aber ich MUSS in dem Referat DSP's mit FPGA's vergleichen. Und es darf nicht länger wie 10min. dauern(das Referat). Also kann ich ja wohl kaum den ganzen DSP erklären. Kann man das nicht massiv einschränken? Also z.B. den einfachen Aufbau von einem DSP mit FPGA vergleichen, oder vor- und nachteile von dsp gegenüber FPGA? Kann mir da in der hinsicht wer weiterhelfen bitte, also was sind denn vor- und nachteile von einem dsp. Was kann der DSP mehr, was der FPGA nicht kann?
F. K. schrieb: > Man kann doch einen DSP mit FPGA's realisieren. Soll man DSP mit FPGA > nicht vergleichen? Meiner Meinung nach kann man das vergleichen mit Steckbrett und IC. Das FPGA ist in dem Beispiel das Steckbrett mit einer Kiste Bauteile und der IC ist der DSP. Als IC nehme ich mal einen Operationsverstärker. Auf dem Steckbrett kannst du jetzt einen Operationsverstärker nachbauen, wenn du willst, sogar mehrere, aber im Alltag wird kaum jemand hingehen und Operationsverstärker auf dem Steckbrett aufbauen. Deshalb wird man, wenn möglich, eher den IC bzw. DSP nehmen, weil er kleiner billiger und einfacher ist. Aber der IC hat eben nur eine bestimmte Funktion, das Steckbrett ist da flexibler, damit kann man alles machen, was von Platz draufpasst. Das Beispiel hinkt daran, dass man den IC auf das Steckbrett stecken kann. Das geht natürlich mit DSP und FPGA nicht.
Hat den mal jemand auf den Trichter gebracht, dass es sehr viele FPGAs mit DSP Slices gibt? Nur um die Verwirrung maximal zu machen?
Ein Vergleich von FPGA mit DSP ist nur dann sinnvoll, wenn Sie beide die selbe Aufgabe zu erledigen haben. Und dann kann man nicht die Architektur vergleichen, sondern nur die Leistungsfähigkeit der jeweiligen Systeme. Aber schon da ist ja die Frage, welcher DSP mit welchem FPGA verglichen werden soll. Und welche Aufgaben die zu lösen haben. Starker Tobak für 10 Minuten und viel, viel Platz für Fragen hinterher...
Lothar Miller schrieb: > Starker Tobak für 10 Minuten und viel, viel Platz für Fragen > hinterher... Das schon, aber in zehn Minuten kann man schon was schaffen. Erstmal eine Erklärung, was das beides ist, am Besten mit Bildern, dann die Einsatzgebiete und zum Schluss noch, warum beides eingesetzt wird und nicht nur eins davon.
Danke, Leute. Das Referat soll aber nicht aus Vergleichen zwischen DSP und FPGA bestehen. Ich habe jetzt etwas über die Funktion der FPGAs, VHDL, uC und asic vs fpga und jetzt fehlt mir halt noch dsp vs fpga. Kann ich das nicht extrem verallgemeinern? Also z.B. was ist teurer fpga oder dsp? Wann setzte ich den FPGA ein und wann den DSP? Also für welchen Aufgaben haben DSP's einen Vorteil gegenüber FPGA. Ich muss nicht tief in die Materia reingehen, denke ich. Oder: Was ist schneller FPGA oder DSP? Solche Fragen kann ich doch einbringen denke ich. Aber kann mir jemand da ein bisschen mit dem oben genannten Fragen weiterhelfen bitte?
F. K. schrieb: > Also z.B. was ist teurer fpga oder dsp? Etwas kann viel kosten und trotzdem billig sein, wenn die Aufgabe anders nicht lösbar ist. Ansonsten: die Preise für teurere High-End FPGAs können sich schon mal im 20kEuro Bereich abspielen. Nur ist das eben die Ausnahme... > Wann setzte ich den FPGA ein und > wann den DSP? Das ist er doch, der Knackpunkt. > Also für welchen Aufgaben haben DSP's einen Vorteil > gegenüber FPGA > Oder: Was ist schneller FPGA oder DSP? Wir drehen uns im Kreis: für welche Aufgabe? > Was ist schneller FPGA oder DSP? Was ist flexibler? Darauf kommt es z.B. den Telekommunisten an, die heute diese und morgen jene Kompressionsalgorithmen implementieren möchten. > Solche Fragen kann ich doch > einbringen denke ich Wenn dein Referat aus Fragen bestehen darf...
Lothar Miller schrieb: > Wenn dein Referat aus Fragen bestehen darf... Natürlich soll es die Antworten auf die Fragen enthalten^^. Lothar Miller schrieb: > Wir drehen uns im Kreis: für welche Aufgabe? Ich habe keine Ahnung welche Aufgabe. Ich suche ja hier um Rat, wie ich den Vergleich von DSP und FPGA ein bisschen einbringen kann. Lothar Miller schrieb: > Das ist er doch, der Knackpunkt. Weiß man zu heutzutage nicht, wann man was einsetzt? Kann man wirklich den DSP nicht mit dem FPGA kurz vergleichen?
Natürlich kann man die vergleichen. Aber das ergibt wenig Sinn, weil es ziemlich verschiedene Architekturen sind. Der DSP ist ein ASIC, der auf Signalverarbeitung spezielisiert ist. Meist mit Floating Point Rechenwerken. Außerdem hat der meistens noch Interfaces für alles mögliche. Das meiste davon ließe sich auf einem FPGA wohl auch realisieren, aber schon bei Floating Point wirds haarig. Ein DSP Block auf einem FPGA ist übrigens nichts weiter als ein Multiplizierer mit Addierer und bissl Zeugs drum herum. Und der kann kein Floating Point. Eine Realisierung eines kompletten DSP Prozessors auf dem FPGA wäre zwar möglich, aber auch ziemlich langsam, da der einfach nicht so speziell dafür gemacht ist wie der DSP. So ein aktueller DSP rennt ja mit 500MHz aufwärts. Dafür könnte man mit einem FPGA viele Datenströme parallel von irgendwo nach irgendwo schaufeln, und Rechenoperationen auf die Anwenden und das on the fly. Das geht wiederum mit dem DSP schlecht, weil der meist nur eine CPU hat. Ein FPGA kommt eigentlich immer dann zum Einsatz, wenn massiv parallele Datenmengen ohne viel Intelligenz bewegt und verarbeitet werden müssen.
F. K. schrieb: > DSP nicht mit dem FPGA kurz vergleichen? Das "kurz" ist hier wohl das Problem. Es gibt hunderte von Varianten von DSPs und FPGAs und es gibt dutzende von Eigenschaften und vieles davon ist nicht direkt vergleichbar. Christian R. schrieb: > Ein DSP Block > auf einem FPGA ist übrigens nichts weiter als ein Multiplizierer mit > Addierer und bissl Zeugs drum herum. Und der kann kein Floating Point. Lässt sich aber mit etwas Logik drumherum dennoch damit realisieren. Die schnellsten DSPs schaffen um die 200 GFLOP/s (soweit ich weiss). Das schaffen größere FPGAs auch, gibt auch welche im TFLOP/s Bereich, die sind aber extrem teuer.
Christian R. schrieb: > Ein DSP Block > auf einem FPGA ist übrigens nichts weiter als ein Multiplizierer mit > Addierer und bissl Zeugs drum herum. Und der kann kein Floating Point. > Eine Realisierung eines kompletten DSP Prozessors auf dem FPGA wäre zwar > möglich, aber auch ziemlich langsam, da der einfach nicht so speziell > dafür gemacht ist wie der DSP. So ein aktueller DSP rennt ja mit 500MHz > aufwärts. Was meinst du genau mit Floating Point? Also das ist doch Gleitkommdarstellung, aber für was braucht man das. Kannst du da ein einfaches Bsp nennen bitte?
Ja, Gleitkommarechnung halt, um bei hohem Dynamikbereich noch eine hohe Genauigkeit zu haben, z.B. bei digitalen Filtern oder Reglern.
>Christian R. schrieb: >Und der kann kein Floating Point. >Eine Realisierung eines kompletten DSP Prozessors auf dem FPGA wäre zwar >möglich, aber auch ziemlich langsam, da der einfach nicht so speziell >dafür gemacht ist wie der DSP. Schmarrn, wie integer kann ein FPGA auch floating Point realisieren, Floating Point ist schließlich nix anderes als integer-Operationen für Mantisse und Exponent nach Normalisierung. Altera verspricht 1.5 TFlop: http://www.altera.com/literature/wp/wp-01187-bdti-altera-fp-dsp-design-flow.pdf
Natürlich kann man das alles implementieren. Aber nur mit dem DSP Slice alleine ist es eben dann nicht getan. Man kann auch 20 Z80 Prozessorkerne auf einem FPGA implementieren und noch eine 6502 CPU dazu. Aber ob das sinnvoll ist, ist eine ganz andere Frage. Er soll ja in dem Vortrag vergleichen was wann sinnvoll einzusetzen ist.
Einer der Führungskräfte von Texas Instruments hat schon vor einiger Zeit DSPs quasi für tot erklärt. Und TI ist einer der größten DSP-Hersteller. Es kommt einfach auf die Aufgabe an, zur Audioverarbeitung sind DSPs immer noch gut, aber ab Video-Datenraten geht das eher in Richtung FPGA.
Ja es ist sinnvoll DSP-Blöcke (FIR,IIR,DFT)im FPGA zu implementieren, einen ganzen DSP im FPGA zu implementieren macht weniger Sinn, weil das ganze ursprüngliche DSP-Konzept (CPU+Architekturoptimierungen für digitale stream-verarbeitung) eh eine Krücke der 80iger ist in der es noch schwierig war einen Einschritt Multiplizierer oder gar mehrere davon in Silizium zu gießen.
Grendel schrieb: > Das schaffen größere FPGAs auch, gibt auch welche im TFLOP/s Bereich, > die sind aber extrem teuer. Ich habe gerade von Altera ein Paper erhalten (WP-01222: Understanding Peak Floating-Point Performance Claims), wo es um dieses Thema geht. Für ein Altera Arria 10 (genauer: 10AX066) werden in diesem Paper 1520 GFLOPs angegeben. Zur Berechnung werden nur Floating-Point Units mit den DSP Blöcken verwendet. Für die Stratix 10 FPGAs werden mehr als 10 TFLOPs angegeben. Hier der Link: http://www.altera.com/b/wp-fp-performance-claims.html Zum Download muss die Mail Adresse angegeben werden.
Forscher schrieb: > Altera verspricht 1.5 TFlop Und die Renten sind sicher... Alexander F. schrieb: > Zur Berechnung werden nur Floating-Point Units mit den DSP Blöcken > verwendet. Also nichts mit "Algorithmus in Hardware" sondern "Hardware für Algorithmus"...
>> Altera verspricht 1.5 TFlop > Und die Renten sind sicher... Ja, Norberts Axiom stammt von 1997 und gilt seitdem. Wills du damit sagen das die 1.5 TFlop auch in 17 Jahren noch gilt ?! MfG,
Lothar Miller schrieb: > Forscher schrieb: >> Altera verspricht 1.5 TFlop > Und die Renten sind sicher... > Aria 10, der grösste hat 1516 DSP Slices mit single precision Floatingpoint, jeweils Multipler und Adder pro Slice. Hat aber seinen Preis: http://www.digikey.de/product-search/de?x=0&y=0&lang=de&site=de&KeyWords=10AT115 Der Stratix 10 soll dann 10 TFlops können. (wenn denn Intel mal den 14 nm Prozess auf die Reihe bekommt)
Wenns wenn nicht ganz so flott sein muß, Xilinx schafft mit dem Virtex-6 200 - 500 GFlop (S. 11). Mit nen Bastler-FPGA wie den Spartan-6 sollte da auch einige GFLOPS möglich sein. Jetzt brauchts nur noch eine Heimanwendung die GFLOPS braucht ;-) MfG,
Oo.ps da fehlte der link zum Doc: http://xilinx.eetrend.com/files-eetrend-xilinx/download/201106/1939-3483-wp387teraflopsperformanceandhls.pdf
>Ja, Gleitkommarechnung halt, um bei hohem Dynamikbereich noch eine hohe >Genauigkeit zu haben, z.B. bei digitalen Filtern oder Reglern. Auch das gehört in der Praxis hinterfragt. Sensoren in der Automatisierungstechnik liefern typischerweise 10 Bit digitalisiert, bessere 12, ganz selten 16 bit. Ein spartan6 DSP slice unterstützt Multiplikationen mit 18 bit breiten Faktoren bei vollen 36 bit für das Produkt und die adder sind auf 48 bit ausgelegt. Da ist bei 10 bit Digitalisierung genug Luft für Genauigkeit. Heutzutage kann man auch in der Simulation /simulink) im voraus böse digitalisierungsartefakte erkennen und die koeffizenten/Verarbeitungskette entsprechend anpassen. deshalb wundert es mich nicht, das mir in meinen knapp 2 Jahrzehnten Praxis Floating Point DSP nur im Lehrbuch/Katatlog begegnet sind. Gruß,
So, dann gebe ich auch mal meinen Senf dazu: Es ist doch eigentlich so: Mikroprozessor: einelne Anweisungen & serielle Befehlsfolge - hohe Taktraten DSP: parlelle Anweisungen & serielle Befehlsfolge - hohe Taktraten FPGA: paralelle Verarbetung - je nach Preis nicht ganz so hohe Taktraten Der DSP hatte also beide Vorteile aus den Welten uC (günstig und hoher Takt) und FPGA(parallele Verarbeitung) vereint. Er bekommt jeduch durch günstiger werdende FPGAs und uC mit DSP Funktionalitäten Konkurrenz.
Markus H. schrieb: > FPGA: paralelle Verarbetung - je nach Preis nicht ganz so hohe Taktraten Du hast hier das m.E. wichtigste Argument vernachlässigt: die freie Skalierbarkeit. In ein FPGA kann ich heute irgendwelche Rechenwerke implementieren und morgen ganz andere. Das ist es, was die Dinger für die Telekom Unternehmen und Netzwerker so interessant macht...
Markus H. schrieb: > Mikroprozessor: einelne Anweisungen & serielle Befehlsfolge - hohe > Taktraten > > DSP: parlelle Anweisungen & serielle Befehlsfolge - hohe Taktraten Die Welt ist ein bischen bunter. Die heutigen Microprozessoren haben ebenfalls mehrere Rechenwerke und arbeiten Anweisungen parallel ab. Der DSP ist einfach ein spezialisierter Microprozessor, der über über spezielle Befehle und Register verfügt, wie sie zum Abarbeiten von Algorithmen aus der digitalen Signalverarbeitung häufig benötigt werden. Ein Beispiel ist der MultiplyAdd Befehl, der eine Multiplikation und eine Addition in einem Befehl vereint. In C wäre das : sum += *c++ * *b++; Das lässt sich mit einem DSP in einem Asm Befehl hinschreiben. Wird zum Berechnen eines FIR Filters verwendet.
:
Bearbeitet durch User
Wobei das heutzutage auch so 0815 Controller wie ein Cortex-M4 können. Sogar Floatingpoint. PC Prozessoren können sowas mindestens seit es MMX gibt... also seit 1997. ;-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.