Principales fonctionnalités

  • Spécification des types de données virgule fixe dans MATLAB, Simulink et Stateflow
  • Simulation exacte au bit près d’algorithmes virgule fixe et simple précision
  • Histogrammes et outils associés pour l'exploration et l'optimisation des types de données
  • Applications permettant la conversion de designs double précision en designs simple précision ou virgule fixe
  • Instrumentation pour la collecte des valeurs minimales et maximales de la simulation
  • Analyse de la dynamique afin d'évaluer les valeurs minimales et maximales du design complet
  • Outils de détection des débordements et des pertes de précision
Fixed-Point Designer permet de spécifier et d’afficher les mises à l’échelle et les types de données pour MATLAB, Simulink et Stateflow.

Spécification virgule fixe

Fixed-Point Designer permet de spécifier l’ensemble des propriétés virgule fixe de votre code MATLAB, de vos modèles Simulink et de vos diagrammes Stateflow. Cet outil offre un contrôle intégral de la définition du signe des données, de la longueur des mots et de la mise à l’échelle. Il supporte des longueurs de mots spécifiques à l’application allant de 1 bit à 128 bits ou plus. Les mises à l'échelle par emplacement du point binaire et par pente et biais arbitraires requises par les capteurs et les actionneurs sont également supportées. Vous pouvez contrôler les détails des opérations mathématiques, comme la manière dont sont gérés les arrondis et les dépassements de capacité.

Pour pouvoir effectuer des calculs en virgule fixe, Fixed-Point Designer propose un grand nombre de fonctions comme les opérations mathématiques et binaires, les opérations sur les tableaux et les matrices, les implémentations CORDIC et les fonctions trigonométriques.

Avec Fixed-Point Designer, vous pouvez contrôler l’arithmétique virgule fixe. Dans MATLAB, les variables virgule fixe peuvent soit partager un ensemble unique d’attributs arithmétiques, soit disposer de leurs propres attributs arithmétiques.

À l’aide de Fixed-Point Designer et de MATLAB Coder™ ou Embedded Coder®, vous pouvez générer du code C utilisant des entiers à partir de votre code MATLAB virgule fixe. En utilisant Fixed-Point Designer et HDL Coder™, vous pouvez générer du code Verilog® et VHDL® synthétisable, exact au bit près, à partir de votre code MATLAB, de vos modèles Simulink et de vos diagrammes Stateflow virgule fixe.

Voir la gallerie (2 images)


Processus de conception exact au bit près

Fixed-Point Designer permet de réaliser un design exact au bit près tout au long d'un processus de conception basé sur l'approche Model-Based Design. La réponse d'un algorithme virgule fixe est exacte au bit près pour toutes les formes de simulation et de génération de code, y compris l'accélération et les tests software-in-the-loop. L'analyse et la vérification d'un algorithme virgule fixe reposent sur les représentations exactes au bit près. La conformité au bit près maximise les avantages de tels que la possibilité de détecter des erreurs au début du processus, lorsque leur correction est plus simple et moins coûteuse.

Une fois qu’un design a été configuré avec des types de données virgule fixe, vous pouvez simuler son comportement pour étudier les compromis d’implémentation (limitation de dynamique ou précision) pour les systèmes embarqués virgule fixe.

Les outils de Fixed-Point Designer vous permettent d’accéder à ces valeurs et de modifier le type de données des signaux, en optimisant la précision tout en vérifiant que leur dynamique est couverte. Vous pouvez indiquer la dynamique des types de données à l'aide des valeurs minimum et maximum du modèle, des résultats de simulation, ou des résultats dérivés des valeurs minimum et maximum. Dans les modèles Simulink, vous pouvez verrouiller les types de données en sortie pour éviter qu’ils soient modifiés.

Voir la gallerie (2 images)


Exploration et optimisation des types de données

Fixed-Point Designer fournit des outils pour visualiser, à l'échelle du système, les dynamiques de la simulation et vérifie l'adéquation des divers signaux avec un type de données précis. Fixed-Point Designer permet de comparer facilement votre design virgule flottante idéal avec votre implémentation embarquée efficace, utilisant des types de données optimaux.

À l'aide de la fonctionnalité de remplacement des types de données, vous pouvez instantanément convertir votre design embarqué virgule fixe ou simple précision en design double précision afin d'analyser l'impact de la quantification. Vous pouvez effectuer des simulation comparatives d'un comportement attendu et du comportement obtenu. L'intégration du workflow au Simulation Data Inspector permet de déterminer facilement si les réponses du design embarqué, telles que le bruit de quantification, sont comprises dans les tolérances souhaitées par rapport aux réponses du design en double précision.

En toute simplicité, vous pouvez, de façon itérative, ajuster les types de données, collecter les nouvelles réponses du design embarqué et déterminer si le nouveau design respecte les tolérances relatives au design double précision. Cette simple boucle itérative facilite l'exploration et l'optimisation des types de données, des modes d'arrondi et des paramètres de saturation.

Histogramme des signaux mettant en évidence les overflows et les underflows.


Conversion double précision en simple précision ou virgule fixe

Fixed-Point Designer propose des outils d’analyse permettant la conversion efficace d’un design double précision en design simple précision ou virgule fixe. Fixed-Point Tool fournit un processus guidé afin d'explorer, de façon itérative, les différents types de données à disposition afin de répondre aux exigences en précision numérique, et permettre une utilisation optimale de votre matériel embarqué. L'infrastructure d'analyse vous permet d'observer la plage dynamique des variables utilisées dans votre design et de vous assurer que l’algorithme se comporte de façon cohérente dans les représentations virgule flottante et virgule fixe.

Dans MATLAB ou Simulink, vous pouvez utiliser l’application Fixed-Point Designer pour collecter les valeurs minimales et maximales enregistrées via une simulation ou une analyse de la dynamique, et obtenir des propositions pour les types de données. Un histogramme est généré pour chaque signal et variable de votre design, et vous pouvez utiliser cet histogramme pour optimiser les longueurs de mot et de partie fractionnaire. Vous pouvez remplacer toute fonction MATLAB non supportée dans votre design par une fonction d’approximation par table d’interpolation.

L’outil Fixed-Point Tool de Fixed-Point Designer permet d’évaluer la dynamique d’un signal soit en relevant les informations nécessaires lors d’une simulation, soit en la déduisant de manière analytique.
Collectez et affichez les plages de simulation pour les variables contenues dans un bloc MATLAB Function à l’aide de l’outil Fixed-Point Tool. Utilisez l’analyse des plages de simulation pour proposer des types de données pour les variables en se basant sur les données de simulation.

Processus de conversion d'un design virgule flottante idéal en design embarqué efficace. 


Instrumentation de modèle et analyse de dynamique

Fixed-Point Designer permet de collecter les données de dynamique de simulation par l'intermédiaire d'une instrumentation de modèle sans qu'il soit nécessaire de consigner toutes les signaux de votre modèle. Ces données de dynamique sont essentielles pour proposer des types de données et collecter des statistiques, telles que des données d'histogramme, qui facilitent l'analyse de votre design.

Fixed-Point Designer vous fournit également des dynamiques dérivées basées sur une analyse mathématique de vos designs. Cela permet de déterminer les pires cas pour les dynamiques de votre design sans qu'il soit nécessaire de créer des bancs d'essai de simulation exhaustifs. L'utilisation de dynamiques dérivées permet de vous assurer que votre design anticipe ou gère tous les cas possibles de débordement.

Fixed-Point Tool affichant les valeurs minimales et maximales de simulation basées sur les données du banc d'essai et l'option permettant de dériver les dynamiques en fonction des valeurs minimales et maximales du design spécifiées dans le modèle.


Détection de débordement et de perte de précision

Fixed-Point Designer fournit des outils permettant d'identifier rapidement l'origine des débordements, les pertes de précision, et les dynamiques ou précisions inutiles. À l'aide de la fonctionnalité de remplacement des types de données doubles mises à l'échelle, il est possible de visualiser le comportement virgule flottante idéal d'un modèle et d'analyser ce comportement par rapport aux types de données virgule fixe embarqués spécifiés.

Grâce à la représentation visuelle à base d'histogrammes, qui superposent la dynamique idéale et la dynamique de représentation des types de données virgule fixe embarqués, il devient aisé d'identifier l'origine des débordements, des underflows, et des bits de dynamique et de précision inutiles. Il est ainsi facile d'identifier les opportunités d’optimisation de types de données.

Vous pouvez remonter jusqu'à l'élément du design à l'origine d'un débordement/underflow, tel qu'un bloc, un élément de diagramme Stateflow ou une section de code MATLAB. L'intégration de Fixed-Point Designer aux diagnostics Simulink permet de détecter et d'isoler les erreurs de design, telles que des débordements au moment de l'exécution. La possibilité de supprimer des diagnostics pour certains éléments de modèle, tels qu'un timer dont le débordement est normal, vous permet de vous consacrer pleinement à de véritables problèmes.

Identification de l'origine d'un débordement sur un bloc spécifique du modèle.