SoC Blockset

Concevoir, évaluer et implémenter des architectures SoC hardware et software

 

SoC Blockset™ offre des blocs Simulink® et des outils de visualisation pour modéliser, simuler et analyser des architectures hardware et software pour ASIC, FPGA et SoC (systems on a chip). Vous pouvez créer votre architecture système en utilisant des modèles de mémoire, des modèles de bus et des modèles d'E/S, et simuler l'architecture avec les algorithmes.

SoC Blockset vous permet de simuler la mémoire et la connectivité interne et externe, tout comme l'ordonnancement et les effets du système d'exploitation, à l'aide de trafic de test généré ou de données d'E/S réelles. Vous pouvez explorer rapidement différentes architectures système, estimer la complexité de l'interface pour le partitionnement du hardware et du software ainsi qu'évaluer les performances du software et l'utilisation du hardware.

SoC Blockset exporte des designs de référence pour les FPGA et plateformes SoC Xilinx® et Intel®, y compris les FPGA Zynq®-7000, Ultrascale+™ et Intel SoC. Ces designs de référence peuvent être utilisés avec les outils de design Xilinx et Intel.

En savoir plus :

Simuler et analyser des architectures SoC

Développez et combinez des algorithmes software, la logique hardware, les systèmes de mémoire et les E/S dans votre application SoC. Évaluez les architectures alternatives avant le déploiement sur le hardware.

Analyser l'utilisation des ressources des algorithmes

Analysez les modèles Simulink ou les fonctions MATLAB pour générer des rapports qui résument le nombre d'opérateurs arithmétiques requis pour l'implémentation. Utilisez ces rapports pour comparer différentes architectures, exécuter des études de compromis, et explorer le partitionnement hardware/software.

Affichez l'estimation du nombre et du type d'opérateurs requis pour implémenter les fonctions MATLAB ou les modèles Simulink.

Transactions de mémoires

Modélisez et simulez les transactions de mémoires partagées entre la logique hardware et les processeurs embarqués. Configurez des contrôleurs de mémoire DMA pour arbitrer le trafic mémoire. Prenez en compte la latence mémoire et le débit dans la simulation.

Exécution de tâches

Modélisez l'exécution d'une tâche sur un processus embarqué, gérée par le système d'exploitation. Simulez les tâches avec un timing précis, prenant en compte les changements de contexte, la préemption des tâches et la durée d'exécution. Modélisez les interruptions du software générées par le FPGA. Appliquez des statistiques pour simuler la durée des tâches non-déterministes, ou appliquez des durées de tâche enregistrées pendant le test du hardware.

Visualisez la préemption des tâches, les changements de contexte et la durée d'exécution avec des diagrammes de temps.

Prototypes de modèles SoC

Créez des modèles complets d'applications SoC en partant de zéro avec une approche pas à pas ou partez de modèles prédéfinis pour le cotraitement hardware/software incluant des modèles pour des applications de vision et de communication.

Créez des modèles d'applications SoC à partir de modèles prédéfinis.

Simulation avec données d'E/S enregistrées

Enregistrez des sources hardware périphériques telles que des signaux RF ou des données HDMI et lisez ensuite les enregistrements en tant que sources lors de simulations ou de tests du hardware.

Lecture des enregistrements en tant que source pour la simulation.

Analyse des performances système

Évaluez la performance de la mémoire et l'exécution des tâches en simulation et effectuez un profilage sur la carte.

Analyse de l'exécution des tâches

Simulez le système software des applications SoC en exécutant les modèles Simulink incorporant des tâches pilotées par des timers et des événements. Visualisez le timing d'exécution, la préemption, les dépassements, les drops et l'utilisation du cœur. Rejouez les exécutions de tâches dans une simulation en utilisant les données de timing des tâches capturées lors de simulations antérieures ou directement depuis des cartes SoC.

Analyse statistique des temps d'exécution d'une tâche.

Performance de mémoire DDR

Analysez la bande passante mémoire de designs système. Visualisez les résultats de simulation et les métriques de bande passante avant de les déployer sur la carte SoC.

Simulation de transactions de mémoire partagée et analyse de performance.

Contrôle de performance de la mémoire interne et profilage de l'exécution des tâches

Mesurez la performance de la mémoire et l'exécution de tâches sur une carte SoC, puis visualisez et analysez ces mesures pour adapter un modèle SoC à vos exigences de performance système. Vous pouvez interagir en temps réel avec les cartes SoC depuis MATLAB ou depuis votre test bench Simulink.

Mesure de l'exécution de tâches avec le profileur d'instrumentation du code.

Déploiement sur des cartes SoC et FPGA

Générez des designs de référence et du code RTL pour la logique programmable. Générez du code C/C++ pour les tâches du processeur. Déployez des applications hardware/software complètes sur des cartes de développement.

Génération d'un projet de software embarqué

Lorsqu'il est utilisé avec Embedded Coder®, SoC Blockset génère des projets de software embarqués complets à partir de modèles incluant les ordonnanceurs, les tâches software et l'intégration des drivers d'E/S.

Génération de projets de software embarqués complets à partir de modèles.

Génération de designs de référence

Générez des designs de référence pour la logique programmable. Les designs de référence sont des réseaux configurés de cœurs IP avec des chemins de données et de contrôle qui peuvent être connectés à des mémoires externes et des applications software. SoC Blockset se connecte aux outils de design Xilinx et Intel pour produire des bitstreams, puis programme des cartes FPGA et SoC.

Générez des designs de référence pour une utilisation avec des IP d'algorithmes HDL générés avec HDL Coder.

Simuler et déployer dans des microcontrôleurs et des microprocesseurs

Développez des algorithmes software, incorporant des effets du système d'exploitation et des composants hardware, puis déployez sur le hardware.

Modélisation des périphériques

Effectuez des simulations en boucle fermée incluant le comportement des périphériques tels que les ADC et PWM. Les modèles peuvent prendre en compte la synchronisation et la latence ADC-PWM.

Utiliser les blocs ADC, PWM et Task Manager pour modéliser le comportement déclencheur

Modélisation d'architecture multiprocesseurs

Partitionnez les algorithmes entre plusieurs processeurs pour obtenir une modularité du design et améliorer la performance. Modélisez l'exécution multiprocesseurs et la communication des données entre processeurs.

Les canaux IPC simulent la communication entre des processus sur machines bare-metal s'exécutant sur des processeurs distincts.

Déployer sur des cartes microcontrôleurs et microprocesseurs

Effectuez un prototypage rapide sur des cartes hardware en générant des applications software avec Embedded Coder. Effectuez un profilage sur la carte pour mettre au point les applications.

Déployer les applications software sur le TI Delfino F28379D LaunchPad

Nouveautés

Transmission de streams

Échangez des données en streaming du processeur vers la logique hardware avec le bloc Stream Write.

Interruption FPGA IP Core

Émettez une requête d'interruption depuis la logique hardware vers des tâches software et utilisez le canal d'interruption pour arbitrer les requêtes d'interruption.

Périphériques ADC et PWM

Simulez des périphériques de type convertisseur analogique-numérique et modulateur de largeur d'impulsion.

Support multiprocesseurs

Simulez plusieurs processeurs dans un seul dispositif SoC avec une communication entre les processeurs.

Support du Texas Instruments C2000

Simulez, analysez et prototypez un logiciel embarqué sur des processeurs TI C2000.

Consultez les notes de version pour en savoir plus sur ces fonctionnalités et les fonctions correspondantes.

MATLAB pour le développement FPGA, ASIC et SoC

Les experts du domaine et les ingénieurs hardware utilisent MATLAB® et Simulink® pour développer des applications prototypes et de production en vue d'un déploiement sur des cartes FPGA, ASIC et SoC.