Cours FPGA 02/01/2014. L architecture SOPC Des FPGAs



Documents pareils
1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Quoi de neuf en LabVIEW FPGA 2010?

Les systèmes embarqués Introduction. Richard Grisel Professeur des Universités Université de Rouen Nacer Abouchi Professeur ESCPE Lyon

Chapitre II-2 : Conception SoPC (Altera)

Chapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE

Conception de Systèmes de Communications Numériques

Conception et Intégration de Systèmes Critiques

Potentiels de la technologie FPGA dans la conception des systèmes. Avantages des FPGAs pour la conception de systèmes optimisés

Vers du matériel libre

Prototypage électronique

MAC-TC: programmation d un plate forme DSP-FPGA

Thème 3 Conception et vérification d architectures de systèmes sur puce

Structure et fonctionnement d'un ordinateur : hardware

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Architecture des Ordinateurs. Partie II:

Exécution des instructions machine

Tout savoir sur le matériel informatique

Matériel & Logiciels (Hardware & Software)

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Quoi de neuf en contrôle/commande et systèmes embarqués (RIO, WSN...)?

JOG : une approche haut niveau des systèmes embarqués via Armadeus et Java

Architecture matérielle des systèmes informatiques

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Éléments d'architecture des ordinateurs

Linux embarqué: une alternative à Windows CE?

Chapitre 4 : Les mémoires

Ordinateur portable Latitude E5410

La copie sur support papier à usage privé est autorisée conformément à l article L122-5 du Code de la Propriété Intellectuelle.

Choix d'un serveur. Choix 1 : HP ProLiant DL380 G7 Base - Xeon E GHz

Architecture des ordinateurs

Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable

Microprocesseurs spatiaux Contraintes et perspectives

<Insert Picture Here> Exadata Storage Server et DB Machine V2

DOCUMENT PROTEGE PAR UN DROIT DE COPIE. CPLD ou FPGA Critères de choix. page 1

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

Conférence sur les microcontroleurs.

Projet M1 Année scolaire 2013/2014

HP 600PD TWR i G 4.0G 39 PC

Notions d IPMI et retour. Ecole d électronique numérique Fréjus 28 novembre 2012 Nicolas LETENDRE

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Spécifications détaillées

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

A. Elmrabti. To cite this version: HAL Id: tel

Cours Informatique 1. Monsieur SADOUNI Salheddine

Outil d aide au choix Serveurs Lot 4 Marché Groupement de Recherche

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Architecture des calculateurs

Qualit Eau: Système de gestion automatisée de la qualité de l eau des piscines privées

Un ordinateur, c est quoi?

Architecture ordinateur. Organisation mémoire et Entrées/Sorties

Cours 3 : L'ordinateur

Windows 7 - Installation du client

Informatique Industrielle Année Architecture des ordinateurs Note de cours T.Dumartin

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

HSM, Modules de sécurité matériels de SafeNet. Gestion de clés matérielles pour la nouvelle génération d applications PKI

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Spécialité Professionnelle. Patrick Boulandet

Profil UML pour TLM: contribution à la formalisation et à l automatisation du flot de conception et vérification des systèmes-sur-puce.

Modélisation de la Reconfiguration Dynamique appliquée à un décodeur LDPC Non Binaire

Prise en main. Prise en main - 0

Produits E/S Agilent pour connexion PC-instrument Fiche technique

Systèmes embarqués D.Rossier

machine cible machine hôte architecture cible différente de la machine hôte

Systèmes et traitement parallèles

Traitement de données

Concept de machine virtuelle

Fiche technique CPU 315SN/PN (315-4PN33)

Vulgarisation Java EE Java EE, c est quoi?

11 Février 2014 Paris nidays.fr. france.ni.com

ELP 304 : Électronique Numérique. Cours 1 Introduction

Ed 03/95 PAQ 1530 NON URGENTE (INFO PRODUIT) TEMPORAIRE DEFINITIVE

Architecture des ordinateurs Introduction à l informatique

DimNet Gradateurs Numériques Evolués Compulite. CompuDim 2000

THÈSE DEVANT L UNIVERSITÉ DE RENNES 1

Guide Mémoire NETRAM

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

Éléments de programmation et introduction à Java

Serveur Lynx CALLEO Application 2240S Fiches Technique

IV- Comment fonctionne un ordinateur?

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Catalogue Produits v1

Conception de circuits numériques et architecture des ordinateurs

Leçon 1 : Les principaux composants d un ordinateur

KX GPRS SERIAL ETHERNET MODEM Le modem GPRS/EDGE «Machine to Machine»

Serveur Lynx CALLEO Application 2240 Fiches Technique

Une méthode de conception de systèmes sur puce

systèmes étendus Guide des Version 6.7 pour systèmes HD sous Macintosh ou Windows Digidesign

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com IBM Corporation

GCOS 7 sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1

Axis IP-Surveillance. Solutions de vidéo sur IP professionnelles pour la sécurité, la vidéosurveillance et le contrôle à distance

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

ASR1 TD7 : Un microprocesseur RISC 16 bits

Contrôleur de réseau série NCE

Introduction à Microsoft InfoPath 2010

en version SAN ou NAS

Fiche Technique. Cisco Security Agent

Fiche technique CPU 314SC/DPM (314-6CG13)

Transcription:

L architecture SOPC Des FPGAs 1

Ce document aborde l architecture moderne des FPGA et notamment la technologie SOPC (system on programmable chip). Cette technologie SOPC permet d associer des structures électroniques matérielles (IPCORE) avec des systèmes microprogrammés logiciels (softcore ou hardcore) au sein d un FPGA. On s attardera plus particulièrement aux solutions apportées par XILINX grâce à ces architectures que sont les FPGA de la famille VIRTEX, SPARTAN, ZYNQ. Avant de détailler ces nouvelles architectures il convient de faire un comparatif entre ASIC et FPGA 1) La solution ASIC ou FPGA? Les anciennes architectures programmables offrent une flexibilité d utilisation et de programmation élevée. Toutefois elles pâtissent de leurs performances moyennes (consommation d énergie élevée et/ou bien puissance de calcul relativement faible). Les architectures matérielles dédiées implantés sous la forme de circuits ASIC offrent des performances optimales. Les circuits ASIC sont des circuits intégrés non programmables conçus pour des besoins spécifiques. Toutefois elles sont peu flexibles, nécessitent de long processus de développement et de mise en production. L avènement des architectures SOPC et les progrès technologiques sur les FPGA a permis de réduire l écart de performance entre ASIC et FPGA. Le graphe ci-dessous nous donne cette évolution des FPGA SOPC 2) L'Evolution des FPGAs En outre les FPGA ont connu dans cette dernière décennie au-delà du concept SOPC une évolution considérable sur plusieurs niveaux. Ces améliorations se traduisent sous forme d une augmentation du nombre et de la taille des ressources logiques, l apparition des opérateurs arithmétiques complexes pour le traitement du signal, des modules de mémoire (RAM), des blocs matériels dédiés, des éléments de gestion de l horloge, des entrées/sorties configurables et même des structures microprogrammés. Prenons par exemple le cas de la famille Virtex-5 de Xilinx, les circuits FPGA peuvent intégrer des blocs matériels dédiés au traitement du signal (DSP bloc ), au stockage d informations (block RAM ), aux communications à haut débit (PCI express ) ainsi que des coeurs de processeurs (PPC power pc ). Pour Le développement des systèmes numériques complexes certaines sociétés proposent sur le marché des modules connus sous le nom de modules IP (Intellectual Property ou IP, fonctions mathématiques : DCT, FIR, interfaces bus : PCI, RapidIO, coupleurs divers : UART, HDLC... ). Toutefois ces approches sont souvent sous optimales à cause des problèmes d interfaçage des IPs. L ensemble de ces ressources permet la conception de systèmes complexes. 2

3) Architecture moderne des FPGA: le concept SOPC La tendance pour les circuits FPGA est la possibilité de réaliser des systèmes sur puce (ou SoC) en utilisant des " composants virtuels " et de concevoir ainsi des blocs de propriété intellectuelle IP qui sont par exemple des fonctions VHDL/Verilog génériques réutilisables. Un SoC (System On Chip) est composé de plusieurs modules fonctionnels intégrés dans un même circuit. Un SOC peut être développé : sans utilisation de coeur de processeur, autour d un coeur de processeur autour d une architecture multicore. L approche SoC a été empruntée du développement de systèmes complexes sur technologie ASIC. Cependant, elle a été étendue pour le développement sur cible FPGA. On parlera alors de SoPC (System On Programmable Chip). Les systèmes de type SoPC peuvent intégrer un ou plusieurs processeurs softcore ou Hardcore avec ses périphériques au sein d un unique FPGA. Le code exécutable correspondant à l application logicielle déployée sur le ou les processeurs peut être soit mémorisé dans une mémoire interne au FPGA, soit dans une mémoire externe. Le concept de conception conjointe Matériel/Logiciel propose d associer au sein d un même système un ou plusieurs coeurs de processeurs embarqués (softcore) ou matériel avec des blocs matériels dédiés: blocs IP costumisable ou des blocs IP propriétaires. Parmi les processeurs embarqués intégrables dans un système SoPC, on peut citer les solutions softcore MicrBlaze et nios respectivement développées par Xilinx et Altera ainsi que d autres processeurs performants (hardcore) issus du monde opensource : processeurs Leon 2/3, plasma, ARM, Sun... Les composants FPGA permettent d'implanter deux types de SoPC. Le premier type de SoPC utilise uniquement des IP soft de processeur Softcore tels que le MicroBlaze et le NIOS. Un processeur softcore est réalisé à partir de la logique programmable présente sur la puce. Le nombre de processeurs intégrés sur un même composant dépend des ressources du composant utilisé en logique programmable. Le deuxième type de FPGA en plus de la logique reconfigurable, implémente en dur un ou plusieurs coeurs de processeurs (PowerPC pour Xilinx voir figure ci-dessous, ARM pour Altera). Ceci n'empêche en rien l'utilisation de processeurs Soft (netlist). Ces deux types de SoPC utilisent les mêmes flots de conception. FPGA XILINX ZINQ Hardcore 3

4) Le Softcore XILINX MICROBLAZE Le processeur MicroBlaze est paramétrable et permet l activation sélective de fonctionnalités supplémentaires. Seule la version du processeur MicroBlaze et les versions suivantes supportent toutes les options. L architecture interne du Micro- Blaze associé au bloc IP propriétaire est donné ci-dessous pour la famille de FPGA Spartan. La figure de droite fait apparaitre l architecture interne du softcore MICROBLAZE. Ce processeur de type softcore a pour avantage de permettre aux concepteurs de systèmes complexes d intégrer facilement de la flexibilité dans leurs systèmes. Cette flexibilité est obtenue à l aide des outils de programmation. Cependant, ce processeur flexible possède une puissance de calcul assez faible. Spécialement pour la conception des SoC, Xilinx a proposé le MicroBlaze, un processeur RISC "soft IP" à 3 étages avec une architecture Harvard et avec 32 registres internes de 32 bits (Figure 1.9). Il dispose d un bus d'instructions et de données internes et externes ((ILMB, DLMB, IOPB et DOPB). Le Processeur MicroBlaze, tout comme le NIOS, est très facilement configurable occupant selon le choix des options de 900 à 2600 éléments logiques et pouvant fonctionner sur une fourchette de fréquences à partir de 80MHz (exemple : en utilisant une Virtex5-LX50, avec un pipeline à 5 niveaux et sans MMU, le MicroBlaze occupant 1027 LUTs et fonctionne à 235 MHz). Le processeur comporte 70 options de configuration permettant à l utilisateur de sélectionner ou de paramétrer les composants internes selon ses besoins. Parmi les options configurables, on peut citer : Un pipeline à 3 ou 5 niveaux, Utilisation des multiplieurs câblés du FPGA, Opérateur de division, Opérateur de décalage (Barrel Shifter), FPU (Floating Point Unit), Mémoires cache instructions et données, Logique de débug (hardware breakpoints). 4

Le bus utilisé avec le MicroBlaze est le bus OPB (On-chip Peripheral Bus). C'est un bus IBM Core-Connect utilisé aussi avec les processeurs PowerPC. Ce bus autorise un maximum de 16 maîtres et un nombre d'esclaves illimité. Il dispose d'une politique d'arbitrage (Bus multi-maîtres) paramétrable. Dans un système sur puce programmable à base de processeur MicroBlaze, le bus OPB est utilisé afin de connecter les périphériques dont les besoins en communication sont faibles. Autrement, Xilinx fournit le lien FSL (Fast Simplex Link) permettant des accès rapides (2 fronts d'horloge) des périphériques vers le MicroBlaze et vice versa (8 connexions FSL par MicroBlaze). Un autre type de bus LMB (Local Memory Bus) est utilisé pour accéder aux blocs RAM du FPGA. Dans le MicroBlaze, ce bus est utilisé pour les instructions et les données et il assure des accès rapides à la mémoire (1 front d'horloge). En plus, de nombreux périphériques sont fournis avec le MicroBlaze, afin de constituer un microcontrôleur complet et personnalisable. Il y a, entre autres : contrôleur mémoire (SRAM, Flash), contrôleur mémoire SDRAM, UART lite, Timer/compteur avec fonction PWM, interface SPI, contrôleur d'interruptions, GPIO (entrées-sorties génériques), convertisseurs A/N et N/A Delta- Sigma, DMA, etc. Ces différents périphériques sont reliés par le bus PLB. 5) Les bus sur le softcore Microblaze Les blocs IP costumisables par l utilisateur ainsi que ceux fournis par l industriel sont habituellement attachés au bus PLB (Processor Local Bus, développé by IBM).Ce bus est utilisé sur les plateformes powerpc de chez motorola. Les nouveux systèmes de FPGA sont connectés en utilisant le bus AXIS4 (Advanced extensible Interface, développé par la société ARM Ltd.). 5

6) Le flot de conception XILINX Chez Xilinx, tout le flot de conception est regroupé sous la forme d'un seul environnement dit Xilinx Platform Studio (XPS). L outil ISE L outil ISE (Integrated System Evironment) est un logiciel proposé par la société Xilinx. Il est utilisé pour la gestion d un flot de conception FPGA Ce logiciel permet de faire une saisie graphique ou une description VHDL/Verilog d une architecture numérique, d en réaliser une simulation afin de valider son fonctionnement et finalement la synthèse et l implantation sur un circuit FPGA. L outils EDK associé à XPS L outil Xilinx XPS (Xilinx Platform Studio) comprend une large bibliothèque de blocs IP que l on pourra intégrer dans le système en fonction de nos besoins. Ainsi, cet outil va nous permettre de construire un système SoPC à base d un processeur embarqué (softcore ou hardcore), de ses périphériques associés comme par exemple les contrôleurs de mémoire SRAM et de mémoire SDRAM, contrôleur DMA (Direct Memory Access), etc. On peut également intégrer autant de périphériques que l on veut, n étant limité que par le nombre de broches et de cellules logiques du circuit FPGA. Le mapping mémoire et les interruptions utilisées et leur niveau du design sont fixés durant cette phase de conception. On peut aussi ajouter au design des accélérateurs matériels spécifiques qui vont être ainsi ajoutés comme étant des blocs IP externes. L approche conjointe de codesign apparaît comme la possibilité de développer une partie de l application avec un langage de description matériel et une autre partie en logiciel à l aide du langage C. La répartition entre le développement matériel et le développement logiciel étant dépendant des choix du concepteur. L outil SDK Dans l objectif de tester l environnement matériel par logiciel, Xilinx fournit l outil SDK (Software Development Kit). Cet outil permet aux développeurs de faire tourner des applications logicielles écrites en C en générant des exécutables au format ELF (Executable and Linking Format) qui vont être chargés sur la carte par l interface JTAG. 6

XPS EDK 7