SoC Blockset™ offre des blocs Simulink® et des outils de visualisation pour modéliser, simuler et analyser des architectures hardware et software pour des ASIC, FPGA, SoC (systems on a chip) programmables et des microcontrôleurs/microprocesseurs multicœurs.
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.
Utilisé avec Embedded Coder et HDL Coder, SoC Blockset implémente des applications pour les FPGA Xilinx® et Intel®, les SoC programmables tels que les cartes MPSoC et RFSoC Xilinx UltraScale+™, et les microcontrôleurs/microprocesseurs multicœurs tels que les MCU Texas Instruments C2000™.
En savoir plus :
Développer des architectures SoC à partir de spécifications
Vous pouvez démarrer avec une architecture fonctionnelle de votre application dans System Composer™ et allouer des composants fonctionnels à l'architecture hardware SoC (processeur), la logique programmable (FPGA) et la mémoire. Simulez le comportement de l'application dans son ensemble et vérifiez son fonctionnement. Ensuite, évaluez l'implémentation pour choisir comment allouer ses composants fonctionnels entre hardware et software.
Analyser l'utilisation des ressources des algorithmes
Analysez les modèles Simulink ou les fonctions MATLAB® pour générer des rapports qui indiquent le nombre d'opérateurs arithmétiques requis pour l'implémentation. Utilisez ces rapports pour comparer différentes architectures pour des dispositifs FPGA, ASIC et SoC, exécuter des études de compromis et explorer le partitionnement hardware/software.
Transactions de mémoires
Modélisez la mémoire DDR et simulez les transactions de mémoire partagée 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 des tâches d'un software embarqué, comme gérées par le système d'exploitation (OS). Simulez les tâches avec un timing précis, en tenant compte des changements de contexte, de la préemption des tâches et de 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.
Modèles SoC prédéfinis
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.
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 sur hardware.
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.
Performance de mémoire DDR
Analysez la bande passante mémoire des designs du système. Visualisez les résultats de simulation et les métriques de bande passante avant de les déployer sur la carte SoC.
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.
Générer 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érer des 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 les cartes FPGA et SoC.
Cibler des cartes COTS ou personnalisées
Implémentez des applications hardware/software sur des kits hardware supportés dont Xilinx Zynq UltraScale+ MPSoC et RFSoC, Zynq-7000 SoC, Intel Cyclone et Arria SoC FPGA. Ciblez ces cartes en utilisant des hardware support packages ou créez un support pour des cartes personnalisées.
Télécommunications et radar
Évaluez les applications de télécommunications et de radar en tenant compte des effets des sous-systèmes associés au processeur, au FPGA et à la mémoire DDR. Utilisez des modèles prédéfinis de cartes Xilinx Zynq UltraScale+ MPSoC et RFSoC pour simuler des applications hardware/software, puis déployez-les sur des cartes de développement et configurez leurs convertisseurs de données.
Traitement de vidéos et d'images
Les applications de traitement de vidéos et d'images, nécessitant beaucoup de données, imposent aux designers d'évaluer les besoins en bande passante mémoire pour garantir le respect des exigences de l'application en termes de débit et de taille d'images. Utilisez SoC Blockset pour modéliser la mémoire DDR externe et évaluez la bande passante mémoire dynamiquement avec une simulation. Générez ensuite l'IP d'interface AXI4 entièrement conforme avec HDL Coder™.
Contrôle de moteur et d'électronique de puissance
Implémentez un système de contrôle temps réel de moteur et d'électronique de puissance sur des microcontrôleurs multicœurs ou des SoC en partitionnant les tâches de contrôle en différentes unités de calcul. Simulez les communications avec les périphériques ADC/PWM et entre les processeurs avec des modèles physiques, et déployez-les sur des systèmes prototypes.
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.
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.
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.