Architecture pour les systèmes multimédia SÉANCE 3 : LE PROCESSEUR NIOS-II LORANDEL Jordane [email protected] (Sur les bases du cours de B. Miramond) Plan I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II IV.Présentation du sujet de projet ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 2 Partie III. le microprocesseur NIOS-II ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 3 Sommaire 1.Processeurs embarqués : conception conjointe 2.System on Programmable Chip = •Principe •Exemples de systèmes à base de NIOS-II •Architecture du processeur •Le bus AVALON •Les périphériques on-chip ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 4 1. Processeurs embarqués : vers le codesign ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 5 Processeurs embarqués •Bloc IP : Soft core ✴ Propriétaire : format netlist, FPGA dependant -Microblaze (Xilinx), NIOS (Altera) ✴ Libre : format VHDL, FPGA independant -Leon, OpenRISC, F-CPU Architectures 32 bits, Harvard, RISC •Circuit implanté sur support : Hard core ✴ ✴ circuit classique ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 6 Architectures de traitement utilisées dans l’embarqué ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 7 FPGAs avec processeurs •Altera -Soft Core Nios, Nios-II -Hard Core ARM •Xilinx -Soft Core MicroBlaze, PicoBlaze -Hard Core PowerPC, ARM •Atmel -Hard Core 8-bits micro-contrôleur propriétaire -Hard Core ARM •QuickLogic -Hard Core Mips ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 8 Altera DE2-115 Development board •Cyclone-IV FPGA EP4CE115 •2Mb SRAM •128Mb SDRAM •8Mb Flash •32kb EEPROM •JTAG and AS Mode configuration supported •On board USB_BLASTER circuitry •Gb Ethernet 2-ports •SD Card socket •4 push buttons, 18 switches •18 user-defined red LEDs + 9 green •8 7-segment LED displays •50MHz oscillator •Power-on reset circuitry https://www.terasic.com/ ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 9 Altera Nios-II development kit •Audio : 24-bit encoder /decoder + line in /line out and microphone-in jack •LCD Display •172-pin High speed Mezzanine Card (HSMC) •USB type A/B •40-pin expansion port •VGA output •Remote control (IR) •TV-in connector (NTSC/PAL/SECAM) •RS232 port https://www.terasic.com/ ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 10 1ères caractéristiques de la plateforme DE2-1121S10 •114 480 Logic elements •3,9 Mb RAM, 266 DSPs •4 PLLs •528 user I/Os •programmation possible d’un ou plusieurs processeurs NIOS-II ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 11 Fonctionnalité mixte •Une application peut être composée : -d’une partie matérielle accélératrice sur FPGA -couplée à une partie logicielle en soft -de plusieurs technologies différentes •On a alors besoin d’une conception conjointe logicielle/matérielle (ou codesign) •Rupture dans la méthodologie classique ! ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 12 Exemple: Digital set-top box system block diagram ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 13 Exemple: DSL Router System Diagram ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 14 2. System-On-Programmable Chip ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 15 Principe du SoPC •Objectifs : Réduire les coûts, la consommation et la complexité des systèmes embarqués •en permettant aux concepteurs d’ajouter des périphériques au processeur sur la même puce •m ê m e principe qu’un microcontrôleur (processeur + périphériques au sein d’un même circuit) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 16 Exemples de systèmes à base de processeur NIOS-II ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 17 Les composants standards d’un SoPC ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 18 Nios-II , un processeur configurable •Un microcontrôleur possède une architecture figée alors que, •le processeur NIOS-II est configurable -> on ajoute des éléments internes en fonction des besoins du processeur et de l’application -> ajout flexible de périphériques externes et du mapping mémoire ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 19 Nios-II , un processeur configurable •Les périphériques standards -Altera délivre un ensemble de périphériques (timers, interface série, gpio, SDRAM controllers,…) •Les périphériques ‘custom’ peuvent être développés et intégrés au processeur. Ceci est recommandé pour les fonction gourmandes en cycles CPU (-> hardware) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 20 Génération du code du NIOS-II •QSys d’altera, outil graphique permettant la configuration des périphériques et du processeur. •Possibilité d’import/export de code VHDL de périphérique custom •Génération automatique de code HDL pour l’instanciation du processeur dans le système ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 21 Qsys •Real-time System Debug •High performance interconnect •Industry-Standard interfaces (Axi, AHB, Whisbone, Avalone) •Hierarchy and IP management (Library) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 22 Les versions du Nios-II •Nios-II processor comes in 3 ISA compatible versions : •Software: Code is binary compatible -> Pas de changement requis lors du changement de version ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 23 Binary compatibility / Flexible Performance ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 24 Nios II : Fast/Standard/Economy ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 25 Nios II : Fast/Standard/Economy ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 26 Nios II : Quelques chiffres Stratix II Stratix Cyclone II Cyclone Cyclone IV (GX) NIOS II - fast NIOS II - standard 225 DMIPS @205MHz 133DMIPS @180MHz 31 DMIPS @209MHz 1319 ALUTS Stratix 2S60-C3 1029 ALUTS Stratix 2S60-C3 483 ALUTS Stratix 2S60-C3 157 DMIPS @143MHz 99 DMIPS @134MHz 23 DMIPS @160MHz 1808 LEs Stratix 1S80-C5 1170 LEs Stratix 1S80-C5 529 LEs Stratix 1S80-C5 105 DMIPS @126MHz 57 DMIPS @110MHz 22 DMIPS @159MHz 1595 LEs Cyclone EP2C20-C6 1033 LEs Cyclone EP2C20-C6 542 LEs Cyclone EP2C20-C6 101 DMIPS @128MHz 105 DMIPS @124MHz 16 DMIPS @126MHz 1676 LEs Cyclone EP1C20-C6 1145 LEs Cyclone EP1C20-C6 190 DMIPS @165MHz NIOS II - economy 522 LEs Cyclone EP1C20-C6 30 DMIPS @175MHz * FMax Numbers Based on Reference Design Running From On-Chip Memory (Nios II/f ≅1.15 DMIPS / MHz) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 27 Architecture du processeur ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 28 Caractéristiques du Nios-II •Processor RISC •Architecture de Harvard : -Data Master port -Instruction Master port •Banc de 32 registres de 32 bits •Chacune de ces entités définit l’architecture du Nios-II, mais rien n’oblige que ces unités soient réalisées en hard -Exemple : Unité flottante émulée en SW -Lorsque l’instruction n’est pas implantée en Hw, le processeur génère une exception, et l’exception handler appelle la routine d’émulation Sw (instruction, div,…) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 29 Nios-II Processor block diagram ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 30 Caractéristiques du Nios-II •ALU •Interface vers des instructions logiques custom •Contrôleur d’exceptions/interruption •Memory management/Protection Units (MMU/MPU) •JTAG (debug) •… ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 31 Diagramme du processeur Nios ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 32 Registres généraux du Nios-II 32 Registres 32-bits + 32 registres de contrôle + possibilité de 63 ’shadow registers’ permettant l’accélération du changement de contexte (si OS) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 33 Registres de contrôle ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 34 ALU Support d’instructions en virgule fixe et virgule flottante (format IEEE 754 simple précision) -> Configuration sous QSYS (cf. Floating point Custom Instruction Component) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 35 Reset et signaux de debug •Reset : -Reset global matériel forçant la remise à 0 immédiate du processeur -cpu_resetrequest (optionel), remise à 0 du processeur mais pas des autres composants • Debug -debug_req suspend l’activité du processeur pour debugger ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 36 Contrôleur d’interruptions •Le processeur Nios-II supporte 32 niveaux d’interruption (IRQ) •La priorité des interruptions est fixée par logiciel •Les interruptions sont fixées individuellement par le registre (ienable) et globalement par le registre d’état •Une interruption est générée si et seulement si les 3 conditions suivantes sont réunies : -l’entrée IRQn est active -le bit i du registre ienable est à 1 -le champs PIE du registre d’état est à 1 ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 37 Nios II : Accès mémoires Val : Ox4A3B2C1D •Protocole de rangement little Endian •Mapping des adresses des mémoires et des périphériques dépendant du design (affectation sous l’environnement de développement) •Seules 3 adresses font partie du processeur : -Adresse de reset -Adresse d’exception -Adresse du break Handler ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 38 Nios II : mémoires •Mémoires caches donnéesinstructions •Tightly-coupled Memories permettent de réduire la latence des temps d’accès aux mémoires on-chip en dehors du core ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 39 Nios II : Tightly-coupled Master ports •Garantisse une faible et fixe latence pour l’accès à la mémoire on-chip •Ports pouvant être connecté aux mémoires données et instructions •Ports maîtres peuvent être connectés à travers TC Memory interfaces •‘ S l a v e s ’ s o n t d e s v r a i e s mémoires on-chip double ports ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 40 Mémoires off-chip •SDRAM -Synchrone et dynamique -Il faut ajouter un contrôleur sur le SoC qui traduit le protocole Avalon dans l’interface de la mémoire choisie - + une PLL : l’horloge de la RAM est de même fréquence que le contrôleur mais la distance implique un décalage qu’il faut compenser (Phase Locked Loop) •Idéalement, il serait possible d’atteindre un mot par cycle mais à cause des temps de pause générés par le contrôleur pour le rafraichissement, il est impossible d’atteindre cette performance ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 41 Usages classiques •Mémoire SRAM (statique) -Utilisée comme mémoire principale •Mémoire FLASH -Contient la configuration utilisateur du FPGA (+ safe configuration) -Pour le cyclone IV, la flash de 8Mb. ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 42 Nios II System Design Flow ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 43 Bus Avalon ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 44 Qu’est ce qu’Avalon ? •Avalon est une spécification d’interfaces pour des composants sur puce Avalon-ST(Streaming Interface) : l’interface supporte des signaux de données unidirectionnels. Avalon-MM (Memory Mapped) : les composants sont mappés dans l’espace mémoire Avalon Tristate: connexion de composants off-chip, … •La spécification définie les transferts entre un ou plusieurs périphériques et une structure d’interconnect. •Avalon est un système de communication maître-esclave ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 45 Communication maître-esclave •Un composant Maître initie les transactions sur le bus soit en envoyant directement des données, soit en émettant des requêtes aux composants esclaves •Un composant esclave ne prend jamais l’initiative d’utiliser le bus (en lecture ou écriture). Il ne fait que répondre aux requêtes des maîtres ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 46 Les autres protocoles •Altera -> Avalon •Xilinx -> CoreConnect, AXI •ARM -> Amba •Wishbone (libre) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 47 Spécification Avalon •Elle définit : -un ensemble de signaux -le comportement des périphériques -les types de transfert supportés par ces signaux -Chaque périphérique est connecté par un (ou +) port(s) M/S -Tous les ports sont reliés au ‘system interconnect’ -C’est un standard ouvert ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 48 Exemple de système basé Avalon On-chip ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 49 Exemple (suite) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 50 Les interfaces Avalon ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 51 Les interfaces •Avalon ST (Streaming Interface) -> Communication unidirectionnelle de données •Avalon MM (Memory Map) -> interface bidirectionnelle typique de connexion Maître/ Esclave, composants mappés dans l’espace mémoire (UART, microprocesseur, mémoires, DMA…), •Avalon Conduit -> permet l’ajout de signaux qui ne sont pas compris dans le standard (utile lors de la connection vers d’autres modules) •Avalon TC (Tri-State Conduit) -> permet la connexion à des périphériques off-chip •Avalon Interrupt / Clock / Reset -> permet le partage de signaux d’interruption / horloge /reset ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 52 Les signaux ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 53 Les signaux : caractéristiques générales Chaque interface définie un certain nombre de signaux. •Lignes séparées pour : -Les adresses, -Les données (entrantes et sortantes si pas tristate) -Le contrôle. •Lignes de données de largeur jusqu’à 1024, •Opérations synchrones •Performances jusqu’à un transfert par cycle •Actifs à l’état haut sauf si explicitement suivi de ‘_n’ (read_n) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 54 Les signaux : caractéristiques générales Exemple de l’interface Avalon MM, port esclave vers l’interconnect fabric ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 55 Les signaux pour un port Esclave Signal Type (22) Width Dir Description CLK ChipSelect 1 1 In In Address 1-32 In Synchronisation Lorsqu’il n’est pas actif, l’esclave ignore tous les autres signaux Mot d’offset dans l’espace mémoire de l’esclave Read Readdata 1 1-1024 In Out Requête de lecture (non requis pour WOM) Write 1 In Requête d’écriture (non requis pour ROM) Writedata Byteenable 1-1024 2,4-128 In In Writebyteenable 2,4-128 In begintransfer 1 In Permet de sélectionner les octets par voie durant un transfert (ex : 01 = octet poids faible, 10 = octet poids fort) =BE and Write =1 au 1er cycle de chaque transfert ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 56 Les signaux pour un port Esclave Waitrequest 1 Out Wait-states signals L’esclave ne peut répondre Pipeline signals readdatavalid 1 Out Burst signals burstcount beginbursttransf 2-32 1 In In Nombre de transfert dans un burst Indique le début d’un burst Readyfordata 1 Out signaux de contrôle du flot Prêt pour un transfert en écriture dataavailable 1 Out Pret pour un transfert en lecture endofpacket 1 Out spécifique of périphérique ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 57 Les signaux pour un port Esclave Tristate signals Bidirectional data data 1-1024 InOut outputenable 1 In si 0 l’esclave ne peut fournir de données Other signals irq 1 Out requête d’interruption reset resetrequest 1 1 In Out requête du périphérique pour remettre à 0 tout le système Avalon ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 58 Liste des signaux pour un port Maître •Les signaux sont les mêmes que pour le port Esclave. •Souvent de direction opposée •En plus (2): Flush 1 Out Pipeline signal Data Irq 8,16-1024 InOut 1,32 In Chaque ligne correspond directement au signal irq de chaque port esclave Irqnumber 6 In priorité d’interruption sur chaque port esclave •En moins (7) : Outputenable, Chipselect, Writebyteenable, Begintransfer, Beginbursttransfer, Readyfordata, Dataavailable ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 59 Interfaces configurables •Par exemple une ROM ne nécessite que les signaux : -Address, -read-data, -chipselect •Un registre : -writedata, -write, -chipselect, -clk ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 60 Le comportement en mode esclave ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 61 Protocole synchrone •Un cycle est défini d’un front montant à l’autre de l’horloge système •Le protocole est synchrone sur cette horloge -Tous les transferts commencent au front montant -Tous les signaux sont générés par rapport à Clk -Les signaux doivent être stables pendant l’état haut (hold-time) •Il est possible de connecter des périphériques asynchrones (comme des mémoires off-chip : clk différent) -Dans ce cas, le concepteur doit faire en sorte que les signaux sont stables pendant l’état haut de Clk ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 62 Adressage •Esclave -L’adresse en entrée des ports esclaves est une adresse de mots désignant donc un offset dans l’espace d’adressage du port esclave -Chaque adresse accède donc à un mot complet par rapport à la largeur des signaux readdata ou writedata •Maître -Les adresses envoyées par le maître sont des adresses d’octets, sans prise en compte de la largeur des bus de données, -Par exemple, un port maître de données de 32 bits devra aligner ses adresses sur des frontières de 4 octets : 0x00, 0x04, 0x08, 0x0C… -Pour accéder à un octet spécifique dans un mot, le maître doit utiliser le signal byteenable ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 63 Les modes de transfert •Les interfaces Avalon supportent les propriétés suivantes : -Wait-states pour les esclaves (fixe ou variable) -Pipeline, -Burst, -Tristate, -flow-control •Le mode fondamental (native) n’utilise aucune des propriétés ci-dessus ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 64 Transfert en mode Esclave •Transfert = opération de lecture/écriture de mots de données entre l’interface Avalon-MM et l’‘interconnect system’ •Le port est soit désigné par le chipselect -Lorsque le signal est désactivé, l’esclave ignore les autres signaux -Lorsqu’il est actif, les signaux read/write indique le type d’accès •Ou le port est désigné uniquement par les signaux Read/Write -L’esclave est en mode Idle lorsque les 2 sont à 0 ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 65 Temps d’accès : exemple de transfert en lecture Temps de traitement de la requête par le maître Adapté au périphérique asynchrone (ici system interconnect) Temps de traitement de la requête par l’esclave ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 66 Lecture en mode Esclave avec 1 cycle d’attente Adapté au périphérique synchrone qui requiert un coup d’horloge pour capturer l’adresse ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 67 Lecture en mode Esclave avec plusieurs cycles d’attente (ex: 2) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 68 Lecture en mode Esclave avec cycles d’attente variables ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 69 Lecture en mode Esclave avec cycles d’attente variables Pas de timeout ! un port maître peut rester stall aussi longtemps que waitrequest est asservit ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 70 Ecriture en mode esclave en 1 cycle ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 71 Transferts en mode Maître ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 72 Transferts en mode Maître •Rappel : Les addresses envoyées par le maître sont des adresses d’octets, sans prise en compte de la largeur des bus de données. -Comme l’@ d’octet est comprise comme une @ de mot par l’esclave, le maître envoie le signal Byteenable •C’est un vecteur dont la taille est égale au nombre d’octets dans la largeur du bus de données •Sans sa présence, l’esclave renverrait tout le mot •Les combinaisons valides sont (en 32 bits): -0001,0010, 0100, 1000, 0011,1100,1111 ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 73 Lecture en mode Maître en 1 cycle ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 74 Lecture en mode Maître avec cycles d’attente ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 75 Ecriture en mode Maître en 1 cycle ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 76 Ecriture en mode Maître avec cycles d’attente ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 77 Mode tristate ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 78 Mode tristate •Pourquoi ? -> interface permettant à un maître de communiquer avec plusieurs devices off-chip (mem, proc…) •ce mode permet de s’adapter à de nombreux protocoles d’IPs externes (par ex, pour communiquer avec des périphériques qui partagent les bus d’adresse et de données sur le circuit imprimé) •Le bus de données devient donc bidirectionnel •Les esclaves sont contrôlés par le signal outputenable •Ce signal est émis par l’interconnect en fonction de l’adresse envoyée par le maître ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 79 Mode tristate ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 80 Tristate : Adressage • Dans le mode tristate, l’adresse sur le port esclave devient une adresse d’octet contrairement à l’adresse de mots en mode fondamental • En effet, les signaux d’adresse peuvent être partagés entre plusieurs périphériques, qui peuvent avoir différentes tailles de données • Si le bus est plus large qu’un octet, il faut alors corriger le mapping des adresses venant du maître (system interconnect) vers le bus d’adresse du port esclave !! Si connexion d’une mém. 32bits, address[2] est connectée à A0, address[3] est connectée à A1… ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 81 Différences avec le mode non-tristate CS @ @ Master Non-tristate @ Octet Wdata Rdata write read byteenable 32 32 4 @ Master Tristate @ Octet = x4 data write read 32 Wdata Rdata write read byteenable Slave Non-tristate @ Word Avalon Interconnect CS + OE Fabric @ Wdata Rdata write read ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Slave Tristate @ Octet 82 Read data into master Lecture/écriture en mode Maître Write data into slave ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Write data into slave 83 Mode pipeline ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 84 Mode pipeline • Les pipelines ne sont utilisés que pour des transferts en lecture (pas en écriture) • La durée d’un transfert en pipeline se divise en deux phases : -phase d’adresse : le maître initie un transfert (remplit le pipeline) en positionnant l’adresse -phase de donnée : le port esclave continue le transfert en délivrant la donnée • La phase d’adresse d’un nouveau transfert peut débuté avant la fin de la phase de données précédente • La latence du pipeline est égale à la différence entre la fin de la phase d’adresse et la fin de la phase de données (= temps de la phase de données) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 85 Transfert lecture pipeline en mode esclave Communication entre Interconnect et esclave ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 86 Transfert lecture pipeline en mode maître Communication entre Maître et Interconnect ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 87 Lecture pipelinée en mode esclave, latence variable ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 88 Les périphériques ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 89 Recensement des périphériques •Hiérarchie Mémoire • Entrées/Sorties -Blocs RAM -Leds -Caches -Afficheurs 7 segments -TCM -Boutons poussoirs -On-chip RAM -Switches -SDRAM -Flash • Autres -Timers -PLL ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 90 Les composants standards d’un SoPC ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 91 Prochain Cours : Présentation du projet de TP ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 92 Bibliographie [1] B. Miramond, ‘‘Conception des SoCs’’, http://perso-etis.ensea.fr/miramond/ Enseignement/M2/SoC.html [2] Altera, ‘‘SOPC Builder: User Guide’’, December 2010 [3] Altera, ‘‘Avalon Memory-Map Interface Specification’’, v3.3, May 2007 [4] Altera, ‘’NIOS II Classic Processor Reference Guide’’, Juin 2016 https:// www.altera.com/en_US/pdfs/literature/hb/nios2/n2cpu_nii5v1.pdf ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 93