Forum: FPGA, VHDL & Co. DFT/FFT in Spartan 3 A


von Heinz W. (Gast)


Lesenswert?

Kennt jemand Literatur oder Beispielimplementierungen für eine N Punkt 
FFT/DFT in VHDL, die das serialisiert macht? Das soll so 
ressourcenschonend wie möglich gemacht werden und kann gerne länger 
dauern.

von Martin S. (strubi)


Lesenswert?

Gegenfrage: Lernen oder schnelle Loesung?
Mein Favorit betr. Literatur sind die "Algorithms" von Robert Sedgewick.
Ansonsten: Bei opencores.org nichts gefunden?
Die wohl am besten serialisierbare Loesung (nach der reinen SW-Routine) 
mit geringstem HDL-Overhead ist der Microcode-Ansatz per Softcore zur 
Konfiguration und einem FFT-'Coprozessor'. Da spulst du dann einfach 
quasi ein Programm durch. Da gibt's aber m.W. kaum aktuelle Literatur zu 
und man muss das bestehende SoC-Design gut auf den BRAM-Bedarf 
abklopfen.

von HF-Techniker (Gast)


Lesenswert?

Martin S. schrieb:
> Die wohl am besten serialisierbare Loesung (nach der reinen SW-Routine)
> mit geringstem HDL-Overhead
Das dürfte aber mehr HDL-overhead erzeugen, als eine einfache DFT in 
hardware. Prozessor mit Ladefunktion, serielle Speicherung, möglichst 
noch in externen RAMs .... naja ....

von Heinz W. (Gast)


Lesenswert?

Martin S. schrieb:
> Gegenfrage: Lernen oder schnelle Loesung?
> Mein Favorit betr. Literatur sind die "Algorithms" von Robert Sedgewick.
> Ansonsten: Bei opencores.org nichts gefunden?
> Die wohl am besten serialisierbare Loesung (nach der reinen SW-Routine)
> mit geringstem HDL-Overhead ist der Microcode-Ansatz per Softcore zur
> Konfiguration und einem FFT-'Coprozessor'. Da spulst du dann einfach
> quasi ein Programm durch. Da gibt's aber m.W. kaum aktuelle Literatur zu
> und man muss das bestehende SoC-Design gut auf den BRAM-Bedarf
> abklopfen.

Vorerst lernen aber wäre auch gut wenn das nicht 2 Jahre braucht.

von Heinz W. (Gast)


Lesenswert?

Könnte man eigentlich 2 Punkt DFT Blöcke irgendwie zusammenschalten?

von Weltbester FPGA-Pongo (Gast)


Lesenswert?

Wie eine DFT funktioniert, ist eigentlich klar definiert. Sie in HW 
umzusetzen, hat zwar einige Freiheitsgrade in Sachen Parallelisierung 
und Sequentialisierung, bietet aber IMO weniger Anforderung an das 
Denken, wie bei einer SW-Implementierung für einen ARM oder einen DSP 
oder einen Intel-Prozessor mit CoPro-Funktionen, bei denen man sehr viel 
Optimieren kann.

Bei der FFT ist es noch klarer, weil Butterfly-bildung direkt mit dem 
Willen zusammenhängt, Multiplier zu spendieren oder nicht.

Wer da nicht große Spezialanforderungen hat, nimmt einfach den 
mitgelieferten Core und baut ihn ein. In der SW habe ich zuletzt vor 12 
Jahren eine FFT angefasst, um sie auf einen Virtex mit Power-PC 
anzupassen. (Ja, da haben die PPC die FFT gemacht, weil 
"Stromsparzwang").

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.