Modellierung analoger Schaltungen

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Version vom 19. Juni 2018, 09:26 Uhr von Engineer (Diskussion | Beiträge) (Einleitung)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Dieser Artikel untersucht die Möglichkeit, reale analoge Bauteile und Schaltungen in Echtzeit zu simulieren, um sie nachzubilden und gfs. ihr Verhalten zu überwachen und voraussagen zu können. Es wird damit auch dargestellt, ob und inwieweit es möglich ist, analoge Schaltungen mit digitalen Systemen nachzubilden und zu ersetzen, wie das z.B. bei Filtern und Signalerzeugern der Fall ist.

Vorbemerkung

Die Aufstellung ist für die Umsetzung in FPGAs erstellt worden, gilt aber sinngemäß auch für Microcontroller und PC-Systeme. Dazu würde man die Betrachtung der absoluten Resourcen im FPGA ignorieren und einzig auf die Rechenleistung fokussieren. Diese müsste entsprechend der Möglichkeiten eines DSPs oder der CPU interpretiert werden.

Für DSPs kann man etwa 60% ... 80% der Auslastung für die Berechnung ansetzen und aufgrund der besseren Arithmetik etwa 150% bis 200% der Rechenleistung annehmen - insbesondere bei genauen Anforderungen. Der hier angenommene 200MHz FPGA entspräche also in etwa einem 150MHz Audio DSP mit 24 Bit, bzw. 120MHz DSP mit 32 Bit.

Für aktuelle CPUs kann man etwa 40% ... 60% der Auslastung - und aufgrund der Arithmetik etwa 150% ... 250% der Rechenleistung pro Takt annehmen - inbegriffen der Tatsache, dass bei den Schritten unten auch nicht-arithmetische Aktionen mitgerechnet werden, bei denen die CPU keine Vorteile hat Ein durchschnittlich ausgelasteter 4 Kern I7 mit 3GHz kommt praktisch auf das 10-fache bis 30-fache der Leistung des FPGAs. Bei DSP und CPU müssen dann aber noch Speicher- und externe RAM-Zyklen berücksichtigt werden, die die Performance um 25% ... 75% senken. Ein direkter Vergleich zwischen FPGA und einer solchen CPU wies konkret einen Faktor 8 für die CPU aus. Da die CPU nur begrenzt parallelisieren kann, sinkt der Faktor für die Werte in den letzten beiden Tabellen, welche die Parallelisierung mit pipelining untersuchen, schnell ab.

Im Folgenden wird einzeln untersucht, welche Performance-Anforderungen an den FPGA / die CPU bestehen und wie diese zustande kommen:

Bedarf an Rechenschritten für unterschiedliche Bauelemente je nach Modell