Accelerating the pace of engineering and science

Fixed-Point Designer

Hauptmerkmale

  • Spezifikation von Festkomma-Datentypen in MATLAB, Simulink und Stateflow
  • Bitgenaue, beschleunigte Simulation von Festkomma-Algorithmen
  • Automatisierte Umwandlung von Gleitkomma zu Festkomma aufgrund des Datenbereichs
  • Vergleich von Gleitkomma- und Festkomma-Ergebnissen
  • Priorisierung von Festkomma-Datentypen für doppelte oder einfache Genauigkeit
  • Unterstützung von C-, HDL- und SPS-Codegenerierung
Using Fixed-Point Designer to specify and view data types and scaling for MATLAB, Simulink, and Stateflow.
Verwendung von Fixed-Point Designer, um Datentypen und Skalierungen für MATLAB, Simulink und Stateflow anzugeben und anzuzeigen.

Festkomma-Spezifikation

Mit Fixed-Point Designer können Sie alle Festkomma-Eigenschaften Ihres MATLAB-Codes, Ihrer Simulink-Modelle und Stateflow-Diagramme umfassend definieren. Vollständige Kontrolle von Signierung, Wortlänge und Skalierung. Unterstützung anwendungsspezifischer Wortlängen von 1 Bit bis mindestens 128 Bit. Binärkomma-Skalierung und beliebige Slope-and-Bias-Skalierung, die für Sensoren und Aktuatoren erforderlich ist, wird ebenfalls unterstützt. Sie können die mathematischen Operationen steuern, z. B. die Handhabung von Rundung und Überlauf.

Simulink model demonstrating the effect of limited range and precision on a signal.
Im Scope-Block dieses Simulink-Modells erkennt man, wie sich Wertebereichs- und Genauigkeitsbeschränkungen auf ein Signal auswirken (oben rechts). Das Parameter-Dialogfeld (oben links) unterstützt vollständige Kontrolle sämtlicher Blockparameter einschließlich aller Festkomma-Attribute. (Siehe Beispiel)

Fixed-Point Designer bietet eine Vielzahl an Funktionen, wie z. B. mathematische und bitweise Operationen, Array- und Matrix-Operatoren, CORDIC-Implementierung und trigonometrische Funktionen zur Unterstützung von Festkomma-Berechnung.

Mit Fixed-Point Designer können Sie die Festkommaarithmetik steuern. In MATLAB können sich Festkomma-Variablen entweder einen Satz von arithmetischen Attributen teilen oder verfügen jeweils über ihre eigenen definierten arithmetischen Attribute.

A data-type-independent FIR filter algorithm in MATLAB.
Ein vom Datentyp unabhängiger FIR-Filteralgorithmus in MATLAB, der sowohl eine Gleitkomma-Reaktion als auch eine Festkomma-Reaktion liefert. Das Diagramm zeigt einen Vergleich des Ausgabesignals der ursprünglichen Gleitkomma-Basislinienausgabe mit dem Ausgabesignal des Algorithmus, der mit Datentypen implementiert wurde, die 16-Bit-Wortlänge und vorgeschlagene Bruchzahllänge verwenden. Beide Signale werden überlappend dargestellt (links) und Unterschiede liegen in der Reihenfolge 10-6 (rechts). (Siehe Beispiel)

Bitgenauer Entwicklungsworkflow

Fixed-Point Designer bietet bitgenaue Übereinstimmung in einem Workflow, der Model-Based-Design nutzt. Die Antwort eines Festkomma-Algorithmus ist für alle Arten der Simulation und Codegenerierung bitgenau, einschließlich Beschleunigung und Software-in-the-Loop. Analyse und Verifizierung eines Festkomma-Algorithmus basieren auf bitgenauen Darstellungen. Durch bitgenaue Übereinstimmung werden viele Vorteile von Model-Based Design maximiert, wie z. B. die Möglichkeit, Probleme früh im Workflow zu entdecken, wenn sie einfacher und kostengünstiger zu beheben sind.

Using the Simulation Data Inspector to compare floating-point simulation to fixed-point simulation.
Vergleich von Gleitkommasimulationsergebnissen mit Festkommasimulationsergebnissen mithilfe von Simulation Data Inspector. (Siehe Beispiel)

Nachdem Sie die Festkomma-Eigenschaften Ihres Designs konfiguriert haben, können Sie dessen Verhalten simulieren. In Simulationen lässt sich der für die Implementierung des Modells als Festkomma Embedded System am besten geeignete Kompromiss zwischen Wertebereich und Genauigkeit ermitteln.

Mit den Tools in Fixed-Point Designer können Sie auf diese Werte zugreifen und damit die Datentypen von Signalen verändern. Dadurch lässt sich die Genauigkeit des Systementwurfs unter gleichzeitiger Einhaltung der erforderlichen Wertebereiche verbessern. Sie können Datentypbereiche mithilfe von Mindest- und Höchstwerten der Entwicklung, Simulationsergebnissen oder abgeleiteten Mindest- und Höchstergebnissen angeben. Bei Simulink-Modellen können Sie Ausgabedatentypen sperren, damit sie nicht geändert werden.

Fixed-point simulation of a fuel rate control system designed using Simulink and Stateflow.
Festkomma-Simulation eines Steuerungssystems für den Kraftstoffverbrauch, entworfen mit Simulink und Stateflow. Das Fixed-Point Tool ermöglicht es Ihnen, Bereich und Genauigkeit für Daten in Simulink-Modellen zu tauschen (unten).

Umwandlung von Gleitkomma in Festkomma

Fixed-Point Designer liefert Analysetools zur effizienten Umwandlung eines Entwurfs von der Gleitkomma- in die Festkomma-Darstellung. Mithilfe des Tools können Sie Mindest- und Höchstdatenwerte aufzeichnen und genau festlegen, wann innerhalb von Festkomma-Prozessen ein Überlauf stattfindet. Mit der Funktion zur Datentypüberschreibung können Sie einen Festkomma-Algorithmus analysieren, indem Sie die bei den Datentypen zwischen „fixedpoint“ und „floatingpoint“ wechseln. Anhand dieser Analyse können Sie den dynamischen Bereich der in Ihrem Entwurf enthaltenen Variablen überwachen und sicherstellen, dass sich der Algorithmus innerhalb von Gleitkomma- und Festkomma-Darstellungen einheitlich verhält.

Sie können die Fixed-Point Converter-App in MATLAB nutzen, um Mindest- und Höchstwerte aus der Simulation oder Bereichsanalyse zu erfassen und um vorgeschlagene Datentypen abzurufen. für jede benannte Variable und Zwischenvariable und für jeden Ausdruck in Ihrem Code wird ein Histogramm erzeugt. Sie können dieses Histogramm verwenden, um die Wort- und Bruchzahllängen für Ihre Festkomma-Variablen zu optimieren. Mit der Fixed-Point Converter-App können Sie jede Funktion, die Festkommakonvertierung nicht unterstützt, durch eine Lookup Table-Näherungsfunktion ersetzen.

Fixed-Point Converter app showing range of proposed data type and percentage of simulation values.
Die Fixed-Point Converter-App zeigt ein Histogramm des Bereichs des vorgeschlagenen Datentyps und den Prozentsatz der Simulationswerte, die die vorgeschlagenen Datentypen abdecken. Sie können diese App dazu nutzen, um Ihren Code zur Protokollierung zu instrumentieren, Mindest- und Höchstwerte zu erfassen, ein Histogramm aus der Simulation zu drucken und die vorgeschlagenen Datentypen abzurufen.

Mit dem Fixed-Point Tool können Sie für Simulink-Modelle einen Gleitkomma-Entwurf, der in Simulink, Stateflow und System-Toolboxes einschließlich Communications System Toolbox und DSP System Toolbox erstellten wurde, automatisch in einen Festkomma-Entwurf umwandeln. Sie können das Skript des Konvertierungsprozesses auch mit der Befehlszeilenschnittstelle des Fixed-Point Tools erstellen.

Abgeleitete Bereichsanalyse für Gleitkomma-zu-Festkommakonvertierung
Das Fixed-Point Tool im Fixed-Point Designer kann Bereichsdaten durch das Ausführen von Informationen und Protokollieren von Bereichsinformation oder durch abgeleitete Bereichsanalyse sammeln.

Fixed-Point Designer enthält Debugging-Fähigkeiten, mit denen Sie auf einfache Weise zur Gleitkomma-Darstellung Ihres Modells wechseln und dessen Güte effizient ermitteln, Modellierungsfehler aufspüren und optimale Mindest- und Höchstwerte bestimmen können. Fixed-Point Designer unterstützt Workflows, die entweder auf MATLAB oder Simulink basieren, sowie integrierte Workflows, die sowohl auf MATLAB als auch auf Simulink mit MATLAB-Funktionsblöcken basieren.

Fixed-Point Conversion of MATLAB Function Blocks in Simulink
Collect and display simulation ranges for variables inside a MATLAB® Function block using the Fixed-Point Tool. Use this simulation range analysis to propose data types for the variables based on the simulation data

Verwenden Sie das Fixed-Point Tool, um Bereiche für Variablen innerhalb des MATLAB-Funktionsblocks zu sammeln und anzeigen zu lassen und um Datentypvorschläge für die Variablen aufgrund der Bereichsinformationen zu erhalten.

Beschleunigte Simulation

Mit Fixed-Point Designer können Sie Festkomma-Algorithmen durch die Erzeugung von MEX-Dateien beschleunigen. Dies geschieht durch Bereitstellung der Funktion fiaccel, die den Matlab-Code in eine MEX-Funktion umwandelt, wodurch die Ausführungszeit Ihrer Festkomma-Algorithmen reduziert werden kann.

Code showing how to accelerate a numerical filter fixed-point algorithm.
Code zur Beschleunigung eines Festkomma-Algorithmus mit fiaccel- Funktion

Codegenerierung

Durch Verwendung von Fixed-Point Designer mit MATLAB Coder oder Embedded Coder® können Sie reinen Ganzzahl-C-Code aus Ihrem Festkomma-MATLAB-Code generieren. Sie können mögliche Datentypprobleme in einem erstellen HTML-Report erkennen. Der Bericht hebt MATLAB-Code hervor, für den Operationen mit einfacher Genauigkeit, doppelter Genauigkeit oder teure Festkomma-Operationen notwendig sind.

Fixed-point MATLAB code for a FIR filter and efficient C code generated using MATLAB Coder with Fixed-Point Designer.
Festkomma-MATLAB-Code für einen FIR-Filter (oben) und effiziente C-Codegenerierung durch MATLAB Coder mit Fixed-Point Designer (unten).

Durch Verwendung von Fixed-Point Designer mit Simulink Coder oder Embedded Coder können Sie reinen Ganzzahl-C-Code aus Ihren Festkomma-Simulink-Modellen und -Stateflow-Diagrammen generieren.

Model incorporating wide integer and fixed-point operations and generated multiword C code.
Modell mit breiten Ganzzahl- und Festkomma-Operationen (oben) und generiertem Multiword-C-Code (unten). Multiword-Code wird normalerweise durch Verwendung von Parametern oder Signalen mit Datentypen ausgelöst, deren Breite den C-Datentyp „long“ übersteigt.

Der generierte Code stimmt mit Ihrem Modell bitgenau überein, wodurch garantiert wird, dass sich Ihr Entwurf genau wie die Simulation verhält. Der generierte Code berücksichtigt automatisch sämtliche für eine Festkomma-Implementierung erforderlichen Details wie die Anpassung von Skalierungen, Rundungen und weitergehende Festkomma-Mathematik. Sie können Programmiercode für Signale und Parameter mit Wortlängen zwischen 1 und 128 Bit generieren. Der mit Simulink Fixed Point erzeugte Code eignet sich für eine Vielzahl von Anwendungen wie etwa die Simulationsbeschleunigung, das Rapid Prototyping und die Vorbereitung der Serienfertigung. Der Model Advisor kann Ihnen dabei helfen, Ihre Festkommamodelle zu konfigurieren, um einen effizienteres Design zu erreichen und den erstellten Code zu optimieren.

Wenn Sie Fixed-Point Designer zusammen mit HDL Coder verwenden, können Sie bitgenauen, synthetisierbaren Verilog® und VHDL® Code aus Ihren Festkomma-MATLAB-Code, Simulink-Modellen und Stateflow-Diagrammen generieren.

Mit Simulink auf den FPGA gebracht: Implementierung und...

Webinar anzeigen