Prototypage virtuel de circuits : Mentor offre un accès non intrusif aux développeurs logiciels

Destiné à développer le code embarqué dans un circuit intégré complexe (Asic ou SoC) très en amont du cycle de conception, les prototypes virtuels sont des représentations abstraites d’une architecture matérielle sur laquelle ...les développeurs logiciels peuvent tester et valider leur code bien avant la mise à disposition d’un circuit physique. Avec sa technologie Embedded Virtual Prototype, disponible sous forme de kits, Mentor Graphics propose ainsi aux équipes de développement une approche basée sur l’intégration étroite de sa plate-forme de prototypage au niveau système Vista avec la suite de développement de logiciels embarqués Sourcery CodeBench, acquise en 2010 par la société. Objectif : réaliser et simplifier les opérations d'analyse des interactions complexes entre le logiciel et le matériel, en particulier sur les systèmes multicœurs hétérogènes, ces travaux s'avérant difficiles à mener sur une plate-forme matérielle en raison des problèmes d’enregistrement et de compréhension de l’exécution physique des traces logicielles. Marchés visés : l'automobile (pour le développement des ECU avec un code sous Autosar), le médical, l'aéronautique et les systèmes industriels.

La technologie de Mentor permet donc de s’affranchir de ces difficultés pour exécuter et déboguer de manière non intrusive le logiciel sur un grand nombre de prototypes virtuels, tous configurables, afin d’explorer diverses options sans avoir recours à des sondes de mesure ou d’analyse de traces. Les kits Embedded Virtual Prototype sont disponibles pour les FPGA Arria V d’Altera, les architectures ARM Cortex-A9, les processeurs i.MX6 de Freescale et les plates-formes Zynq de Xilinx. Ils offrent en sus le support des applications Linux pour des systèmes multicoeurs, la possibilité de localiser la corrélation d’événements logiciels et matériels, le support du débogage sur des topologies de type SMP (Symmetric Multiprocessing) et la possibilité d’analyser graphiquement la synchronisation entre le système d’exploitation installé et les logiciels applicatifs embarqués.