Le Cyclone® V SoC d'Altera est un FPGA doté d'un processeur ARM® intégré qui permet une conception matérielle de périphériques flexible. Son processeur ARM Cortex-A9® MPCore™ de 925 MHz dispose d'un cœur simple ou double.
Le processeur ARM offre des performances et un rendement énergétique incroyables ainsi que des graphiques 2D/3D et une accélération de traitement du signal avancés grâce au moteur de traitement des médias ARM NEON SIMD. Vous pouvez facilement commencer à concevoir avec le Cyclone V SoC à l'aide de la documentation détaillée, du soutien de la communauté, des kits de développement riches en fonctionnalités et d'un large éventail d'exemples de conception qui sont à votre disposition.
Figure 1 : architecture Cyclone V SoC d'Altera
Les FPGA peuvent être intimidants pour les concepteurs de logiciels. C'est la raison pour laquelle une plate-forme fiable, de bons outils de développement et une bonne prise en charge du système d'exploitation sont nécessaires pour faciliter le processus de conception. Les concepteurs de logiciels doivent accéder aux périphériques et à la bande passante de mémoire du système sans se soucier des itérations matérielles. Néanmoins, il y a toujours un élément matériel spécifique à l'application dont il faut tenir compte et le défi consiste à trouver un système qui satisfait les deux cas. Les FPGA de Cyclone V SoC répondent à ces deux exigences avec un écosystème créé spécialement pour offrir le meilleur des deux.
Démarrez immédiatement avec un kit de développement
Les concepteurs de logiciel peuvent commencer immédiatement en utilisant un kit Atlas-SoC, un kit de développement Cyclone V SX SoC, un kit Arrow Electronics SoC ou toute autre carte disponible et baser l'architecture sous-jacente sur l'un des exemples de conception fonctionnels. Ces cartes englobent un ensemble commun de composants périphériques nécessaires dans la plupart des conceptions, ce qui permet d'accéder immédiatement à une pléthore de matériel numérique à haute vitesse éprouvé. Cet ensemble comprend des transmetteurs bus, des dispositifs de stockage DDR2/DDR3, des périphériques Ethernet, USB et carte SD ainsi qu'un interfaçage LCD.
Des conceptions logiques FPGA personnalisées communiquent avec le système de traitement (HPS) Cyclone V SoC via un bus standardisé qui permet des interactions faciles entre les partitions FPGA et HPS. Grâce aux transferts entre mémoires par accès direct à la mémoire (DMA), l'interface de programmation d'applications (API) GPIO peut accéder aux entrées/sorties et de hauts niveaux d'abstraction peuvent être obtenus entre les FPGA et HPS standards. Pour ce faire, soit on accède à un HPS DMA via le DMA API, soit on utilise un module FPGA intelligent intégrant son propre DMA ou encore un module DMA instancié lors de la conception de l'outil d'intégration système Qsys d'Altera.
Figure 2 : kit Atlas-SoC
L'intégration d'une carte d'interface Arduino dans le kit Atlas-SoC ouvre directement la porte à une large gamme de cartes d'extension appelées « Shields », ce qui lui confère un avantage supplémentaire. Les Shields offrent de la flexibilité pour les prototypes de différents périphériques dont des capteurs, des contrôleurs de moteur, des servorégulateurs ainsi que des périphériques Wi-Fi 802.11 b/g, Bluetooth et GPS. Des Shields de conversion sont disponibles lorsque les niveaux de tension ne sont pas compatibles.
Le SoCKit d'Arrow et le kit de développement Cyclone V SX SoC contiennent des interfaces de carte mezzanine à haute vitesse (HSMC) permettant l'utilisation de nombreuses cartes filles hautes performances, y compris des capteurs d'image, des convertisseurs analogique-numérique (CAN) à haute vitesse et des interfaces SDI PHY.
Figure 4 : kit de développement Cyclone V SX SoC et SoCKit d'Arrow
Outils de conception pour une rationalisation des conceptions
La compilation d'images matérielles peut être entièrement exécutée à partir d'un fichier « Makefile ». Un exemple est hébergé sur GitHub. La suite de conception intégrée (EDS) SoC d'Altera est un environnement de développement complet et est bien documentée dans le guide utilisateur de l'EDS SoC d'Altera. L'EDS SoC optimise les capacités de la boîte à outils Development Studio 5 d'ARM (DS-5TM) Altera Edition et facilite le développement du code à l'aide de différents utilitaires et logiciels d'exécution prédéfinis avec des exemples d'applications sous Linux. Une version d'essai de la chaîne de compilation complète est également disponible au téléchargement.
OpenCL devient un standard de plus en plus populaire pour la programmation d'appareils hétérogènes en parallèle. Ce standard est idéal pour maintenir un niveau élevé d'abstraction tout en utilisant la puissance de traitement parallèle du moteur de traitement des médias intégré SoC, des bi-processeurs et la capacité d'accélération FPGA. Le kit de développement logiciel OpenCL d'Altera : le guide de démarrage de Cyclone V SoC vous permet de configurer et d'utiliser le kit de développement logiciel OpenCL d'Altera. Étant donné que les performances en temps réel sont critiques pour de nombreuses conceptions intégrées, un exemple de conception est disponible pour le profilage d'exécution d'un code en temps réel.
Prise en charge importante des systèmes d’exploitation
Le Cyclone V SoC et ses kits de développement associés prennent en charge l'écosystème exhaustif de systèmes d'exploitation repris ci-dessous :
- Linux est le système d'exploitation le plus couramment utilisé sur les SoC basés sur ARM. Il en va de même pour le Cyclone V SoC avec un support complet proposé par Altera et une grande communauté d'utilisateurs. Les binaires Linux préconstruits sont facilement accessibles avec des instructions d'utilisation étape par étape. Si un niveau de personnalisation plus détaillé est nécessaire, l'ensemble du processus de reconstruction est documenté par le projet libre de la communauté Altera Yocto.
- Android est disponible depuis diverses sources dont les kits de démonstrations ainsi qu'en diverses versions dont l'Ice Cream Sandwich.
- FreeRTOS est disponible pour le processeur Cortex-A9 sur le Cyclone V SoC avec des instructions de construction détaillées et des exemples. Des instructions détaillées pour l'installation d'Android et plusieurs exemples d'applications démontrant les API dont les graphiques et l'animation 3D sont disponibles.
- Le BSP VxWorks de Wind River est disponible pour le kit de développement Cyclone V SX SoC.
- Threadx de Express Logics.
- eCoSPro de eCosCentric.
Plus qu'un processeur : un processeur avec un avenir !
Le Cyclone V SoC est plus qu'un autre SoC basé sur ARM. Bien qu'il offre les mêmes avantages que les appareils activés non-FPGA pour le développement logiciel d'outils, d'applications, de systèmes d'exploitation et de supports, il se démarque en termes d'intégration, d'accélération, de personnalisation et d'évolutivité.
Intégration
La plupart des applications intégrées nécessites du matériel spécifique à l'application. De nombreuses conceptions requièrent des microcontrôleurs spécifiques pour gérer les interfaces ou exécuter le traitement du signal pour décharger le système d'exploitation. Cyclone V SoC peut intégrer via Qsys des microprocesseurs softcore spécifiques tels que le processeur Nios® II qui peut communiquer avec la mémoire du système via l'interface HPS. Ce microprocesseur softcore personnalisable permet aux contrôleurs périphériques et au traitement du signal d'être intégrés sans avoir besoin de périphérique supplémentaire.
Accélération
La logique personnalisable confère au système une grande capacité de traitement spécifique à l'application. Elle permet aux algorithmes d'être codés en dur et agit comme des accélérateurs, voire des coprocesseurs, pour le processeur ARM. La conversion ascendante et descendante des récepteurs à haute vitesse, les modems, les codecs, les encodeurs et les décodeurs sont des opérations difficiles voire irréalisables sur un processeur ARM. Elles peuvent être effectuées de manière plus efficace avec du matériel personnalisé plutôt qu'avec un logiciel. La logique FPGA intègre des centaines de modules mathématiques de traitement du signal numérique (DSP) à usage spécifique et de petits blocs de mémoire. Ces derniers peuvent être utilisés conjointement aux éléments logiques pour exécuter simultanément et efficacement des algorithmes spécifiques avec des niveaux de performances inatteignables par des microprocesseurs séquentiels exécutant l'instruction.
Personnalisation
Bien que le HPS Cyclone V SoC est doté d'un ensemble flexible et compétent d'éléments périphériques et d'entrée/sortie, un FPGA intégré permet à une conception d'incorporer des interfaces périphériques supplémentaires. Puisque les exigences produit changent, le matériel personnalisable peut varier avec le logiciel, permettant l'introduction de nouvelles fonctionnalités. Comme les périphériques d'entrée/sortie bénéficient d'une plus grande flexibilité, le même microprocesseur est plus susceptible d'être réutilisable sur plusieurs produits.
Évolutivité
Les produits peuvent avoir leur conception matérielle mise à niveau en parallèle des mises à jour logicielles. Cela permet aux algorithmes matériels complexes d'être programmés pour mettre à jour l'ensemble des fonctionnalités et de corriger les bogues. Cela permet également d'améliorer l'accélération matérielle et le traitement parallèle qui seront intégrés dans une conception au cours des itérations favorisant sa durée de vie en vue d'améliorer le rendement et les performances. Cela apporte une certaine pérennité et permet d'adopter une stratégie de lancement plus dynamique pour les conceptions matérielles complexes.
Un exemple simple des différentes étapes de conception
Première étape : établissement d'une plate-forme de prototypage appropriée
Évaluez le kit de développement qui répond le mieux à vos besoins en matière de programmation en fonction des périphériques et des éléments logiques du périphérique. Si des cartes d'extension sont nécessaires, vérifiez la compatibilité des entrées/sorties, y compris les tensions. Pour un projet de développement rapide, il est fréquent de « bricoler » rapidement des cartes d'extension pour les utiliser avec le kit de développement pour répondre aux besoins spécifiques de n'importe quel périphérique. Bien que le matériel est développé séparément, l'équipe de conception logicielle peut utiliser conjointement des kits de développement et des cartes d'extension pour réaliser le prototype de production de la conception logicielle. Grâce aux documents et aux conceptions ouvertes disponibles pour les kits, les concepteurs matériels peuvent réutiliser les éléments appropriés de la conception pour réduire les risques liés à la conception.
Deuxième étape : acceptation d'une architecture système FPGA
Établissez l'architecture du processeur FPGA sous-jacente avec un concepteur matériel. Trouvez un exemple de conception qui correspond de près aux exigences et modifiez la configuration Qsys pour intégrer des périphériques, de la mémoire et des interfaces supplémentaires. C'est le meilleur moment pour convenir des protocoles pour les interfaces matérielles. Grâce au code de test à exécution conditionnelle associé, le concepteur matériel peut décider de développer cette interface en premier afin de pouvoir la concevoir et la tester avant la fin de la conception matérielle.
Troisième étape : modification d'un exemple de conception approprié
Trouvez un exemple de conception qui se rapproche le plus de ce que vous aimeriez concevoir. Sélectionnez un exemple de conception en fonction du système d'exploitation sélectionné et introduisez de nouveaux éléments au fur et à mesure. Envisagez de fournir un ensemble de logiciels de test pour aider le concepteur matériel à développer en priorité sa version de la conception. Cela permettra une intégration plus rapide à un stade ultérieur. Ne vous ruez pas directement sur le matériel actuel dès qu'il est disponible. Obtenez d'abord un niveau élevé de stabilité logicielle avant de tenter de le faire. Il n'y a rien de pire qu'un débogage simultané de matériel et d'un logiciel.
Quatrième étape : réalisation du projet
Veillez à ce que quelqu'un soit responsable de l'intégration d'une fabrication complète pour le matériel et le logiciel combinés. Cette partie vitale de contrôle du processus de construction et de révision est souvent négligée. Cela ôte également la dépendance en outils EDI (environnements de développement) et leurs GUI (constructions d'interfaces graphiques), permettant une construction en arrière-plan sans intervention manuelle qui peut aboutir à des erreurs lors de la compilation.
Figure 5 : un système avec un HPS dans Qsys (Agrandir l'affichage)
Essayez-le !
Altera a créé un SoC FPGA avec des concepteurs matériels et logiciels à l'esprit. Il s'agit là d'une étape incroyable dans un monde qui connaît une hausse des dispositifs intelligents et d'intégration. Les Cyclone V SoC estompent les différences traditionnelles entre matériel et logiciel et permettent une implémentation plus puissante et efficace tout en évitant les conflits entre les deux. L'outil d'intégration système Qsys d'Altera est un outil incroyable pour établir un contrat au niveau des systèmes entre les domaines matériel et logiciel. Le partitionnement HPS-FPGA permet des efforts de développement indépendants avec un faible niveau de compréhension des technologies nécessaire entre les deux domaines. Il s'agit d'une technologie habilitante, ingénieuse et intéressante qui bénéficie de supports solides, d'écosystèmes de développement fiables et de nombreux exemples de conception sur lesquels se baser. Les concepteurs peuvent démarrer immédiatement en basant leur architecture sur un ou plusieurs kits de développement et utiliser les nombreuses options possibles en termes de cartes d'extension. Avec les SoC, il n'a jamais été aussi simple de concevoir. Discutez avec un représentant d'Altera pour savoir comment ils passeront à l'étape suivante.
Voir les produits connexes