Hallo,
ich nutze schon seit ca. 10 Jahren System Generator unter Simulink. Ich
benutze dies aber nicht täglich, da dies nicht meine Hauptaufgabe ist.
Meine Aufgaben waren, Algorithmen der digitalen Signalverarbeitung zu
entwerfen. Da ich kein VHDL kann (aber sehr gut MATLAB und Simulink),
hat mir dieses Tool es ermöglicht, meine Ideen direkt zu realisieren.
Den größten Vorteil sehe ich in der Verifikation von Schaltungen. Mit
MATLAB
können sehr komplexe Verifikationen von Schaltungen durchgeführt werden.
Durch den Einsatz von Zufall kann die Robustheit der Schaltung überprüft
werden. Meist entwickle ich nur noch einen Testfall für ein Modul, in
dem durch Zufall die Programmierparameter und Eingangssignale variiert
werden. Testtiefe wird durch wiederholtes Aufrufen des Testfalls
generiert. Dies
ist preisgünstig, da Rechenzeit billig ist. Manchmal gibt es noch
Testfälle, um die Maximalwerte auszuprobieren.
Ich habe teilweise sehr komplexe Algorithmen realisiert, ohne dass es zu
Fehlern in der Integration kam. Das liegt aber auch am Konzept der
Schaltungen.
System Generator ist stark, wenn Algorithmen der digitalen
Signalverarbeitung realisiert werden sollen. Es fällt ab, wenn Automaten
und Abläufe implementiert werden sollen. Hier gibt es bessere Werkzeuge
(z. B. HDL Designer), dessen Ergebnisse aber gut in System Generator
eingebunden werden können.
Man kann natürlich jede Schaltung mit jedem Tool realisieren, das
richtige Tool hängt von der Vorbildung und der Arbeitsweise ab. Das
Core-Wissen ist, wie man digitale Schaltungen entwirft. VHDL, Verilog,
DSP-Builder oder System-Generator sind nur Methoden, seine Ideen zu
realisieren.
In den letzten Jahren sind mir diverse Ansätze zum High-Level-Design von
Signalverarbeitung in FPGAs vorgestellt worden. So gibt es Tools, die
MATLAB-Code direkt in FPGA-Code umsetzen. Meist sind diese
Realisierungen sehr Ressourcen-hungrig und unflexibel. Es gibt aber wohl
schon bessere Tools.
Ein Pseudo-Nachteil von System Generator ist die Bindung an den
FPGA-Hersteller. Will man aber das Maximum an Leistung aus einem FGPA
herausquetschen, muss man sowieso die herstellerspezifischen
Eigenschaften der FPGAs (z. B. DSP-Blöcke) ausnutzen. Warum dann nicht
das Tool nutzen, dass dies optimal unterstützt?
Was habe ich alles realisiert:
- NCO
- CIC
- FIR
- PPF
- HBF
- CORDIC
- RESAMPLING
- LOG
- DELOG
- SQRT
- IIR
- RS-Encoder
- Schätzer
- Kleine Prozessoren
- SPI-Ansteuerungen
- vieles, vieles mehr
Alles für Abtastraten zwischen 25 MHz und 5 GHz. Der Clock-Takt ging bis
ca. 300 MHz.
Toplevel und Floor-Planing wurde von kundigen VHDL-Entwicklern
durchgeführt.
Gruss
Markus