Fixed-Point Designer

Modéliser et optimiser vos algorithmes virgule fixe et virgule flottante

 

Fixed-Point Designer™ offre des types de données et des outils pour le développement d’algorithmes en virgule fixe et simple précision pour optimiser les performances sur hardware embarqué. Il analyse votre design et propose des types et attributs de données, tels que la longueur des mots et la mise à l’échelle. Vous pouvez spécifier des attributs de données détaillés comme le mode d’arrondi et le traitement des débordements de capacité, et mélanger des données simple précision et virgule fixe. Vous pouvez effectuer des simulations exactes au bit près pour observer l'effet d'une dynamique et d'une précision limitées sans implémenter le design sur le hardware.

Fixed-Point Designer vous permet de convertir des algorithmes double précision en algorithmes simple précision ou virgule fixe. Vous pouvez créer et optimiser les types de données pour répondre aux exigences en précision numérique et aux contraintes du hardware cible. Vous pouvez également déterminer les exigences en matière de dynamique des données de votre design par analyse mathématique ou simulation instrumentée. Fixed-Point Designer comprend des applications et des outils qui vous guident dans le processus de conversion des données et vous permettent de comparer les résultats en virgule fixe avec les configurations de base en virgule flottante.

Fixed-Point Designer supporte la génération de code C, HDL et PLC.

En savoir plus:

Exploration des types de données

Explorez les types de données virgule flottante et virgule fixe pour analyser le compromis sur la précision numérique.

Spécification en virgule fixe

Spécifiez les propriétés virgule fixe de votre design en fonction de votre application comme la longueur des mots et la mise à l'échelle en spécifiant l’emplacement du point binaire ainsi que la pente et le biais. Contrôlez les détails tels que les modes d'arrondi et de débordement.

Spécification d'un type de données virgule fixe et de toutes ses propriétés, telles que le mode d'arrondi.

Simulation en virgule flottante

Émulez le comportement du hardware cible pour les nombres à virgule flottante dénormalisés, comme le flush-to-zero, dans la simulation et la génération de code. Simulez des données en virgule flottante de précision limitée avec le type de données en demi-précision fp16 dans MATLAB®.

Comparaison d'une simulation simple précision avec des données de référence double précision.

Instrumentation et visualisation

Collectez des données de simulation et des statistiques au moyen d'une instrumentation automatique à l'échelle du modèle. Utilisez les visualisations pour explorer et analyser vos designs.

Visualisation de la dynamique des signaux et des données d'histogramme.

Analyse des dynamiques dérivées

Dérivez la dynamique des signaux en vous basant sur une analyse mathématique de votre design et déterminez les pires dynamiques ou cas extrêmes sans avoir à créer de bancs d'essai de simulation exhaustifs. L'utilisation de dynamiques dérivées permet de vous assurer que votre design empêche ou gère tous les cas possibles de débordement.

Dérivation de dynamiques sur la base de la dynamique du design.

Typage automatique des données

Quantifiez et optimisez vos designs avec des types de données virgule fixe et virgule flottante.

Quantification en virgule fixe

Explorez différents types de données virgule fixe et leurs effets de quantification sur le comportement numérique de votre système avec un processus guidé. Observez la plage dynamique des variables utilisées dans votre design et assurez-vous que l’algorithme se comporte de façon cohérente dans les représentations en virgule flottante et en virgule fixe après conversion.

Conversion d'un modèle virgule flottante à l'aide du Fixed-Point Tool.

Quantification en virgule flottante

Convertissez automatiquement un design double précision en design simple précision, et analysez les effets de la représentation en virgule flottante de précision limitée et de la quantification en simple précision.

Conversion automatique à l'aide du convertisseur simple précision.

Optimisation des types de données

Itérez automatiquement sur différentes configurations en virgule fixe pour choisir les types de données hétérogènes optimaux tout en respectant les contraintes de tolérance sur le comportement numérique de votre système. L'optimisation a pour but de minimiser la largeur binaire totale en utilisant des types de données virgule fixe pour un design efficace.

Implémentation embarquée

Explorez les compromis d'implémentation et optimisez vos designs avec des algorithmes embarqués efficaces.

Approximation des fonctions et compression des lookup tables

Approximez des fonctions mathématiques complexes, telles que sqrt, exp ou des sous-systèmes complexes, avec une lookup table optimale. Minimisez l'utilisation de la mémoire des lookup tables existantes en réduisant les points de données et les types de données.

Génération de code au bit près

Assurez une conformité au bit près sur l'ensemble du processus de Model-Based Design, de la simulation à la génération de code, y compris pour l'accélération et les simulations Processor-in-the-loop et Software-in-the-loop. L'analyse et la vérification d'un algorithme virgule fixe reposent sur des représentations exactes au bit près.

Vérification du comportement au bit près du code généré dans un simulateur.

Blocs matriciels optimisés pour le HDL

Blocs Simulink® qui modélisent des design patterns pour les systèmes d'équations linéaires et les opérations matricielles principales, comme la décomposition QR, pour une implémentation hardware efficace sur FPGA.

Bloc de bibliothèque qui fournit un design pattern optimisé pour le HDL pour la décomposition QR.

Tests et débogage

Analysez, testez et déboguez le comportement numérique de vos algorithmes.

Détection des débordements et des pertes de précision

Identifiez, tracez et déboguez rapidement les sources de débordement, les pertes de précision et les dynamiques ou précisions inutiles, et comparez-les au comportement idéal en virgule flottante. La conformité au bit près maximise de nombreux avantages du Model-Based Design, tels que la possibilité de détecter les erreurs très tôt dans le processus.

Recherche de la cause première d'un débordement.

Test des cas numériques extrêmes

Générez des valeurs à virgule fixe et à virgule flottante numériquement riches pour tester les cas extrêmes, tels que les valeurs proches des limites et les nombres dénormalisés, pour assurer la cohérence numérique de vos algorithmes. Générez une combinaison de signaux de dimensions ou de complexités variables, ainsi que des données de types entier, virgule flottante ou virgule fixe.

Génération de données de test avec les API du générateur de données.

Nouveautés

Fixed-Point Tool

Proposez des types de données basés sur différents scénarios de simulation dans l’outil Fixed-Point Tool.

Point de restauration

Restaure le modèle sous son design d’origine.

Optimisation de lookup tables

Autorisez des valeurs de tables inférieures à la courbe dans des lookup tables optimisées.

Optimisation du type de données

Spécifiez différents scénarios de simulation pour l’optimisation du types de données.

Machine Learning à précision limitée

Quantifiez et générez du code C/C++ virgule fixe pour un modèle SVM entrainé.

Séquences de test de bits

Ggénérez des entrées de simulation pour tester la totalité de la plage de fonctionnement de bits de votre design.

Type de données demi-précision

Concevez et simulez des systèmes demi-précision dans MATLAB.

Reportez-vous aux notes de version pour en savoir plus sur ces fonctionnalités et les fonctions correspondantes.

Version d’évaluation

Bénéficiez d'une version d'évaluation de 30 jours.

Télécharger

Prêt à acheter ?

Obtenez les tarifs et explorez les produits associés.

Vous êtes étudiant ?

Obtenez la version étudiante des logiciels MATLAB et Simulink.

En savoir plus