architecture pour les systèmes multimédia · architecture pour les systÈmes multimÉdias plan 2...
TRANSCRIPT
![Page 1: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/1.jpg)
Architecture pour les systèmes multimédiaSÉANCE 3 : LE PROCESSEUR NIOS-II
LORANDEL Jordane [email protected] (Sur les bases du cours de B. Miramond)
![Page 2: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/2.jpg)
ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Plan
2
I.Problématiques et techniques de conception
II.Les FPGAs
III.Microprocesseur NIOS-II
IV.Présentation du sujet de projet
![Page 3: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/3.jpg)
Partie III. le microprocesseur NIOS-II
3ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
![Page 4: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/4.jpg)
Sommaire
4
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
![Page 5: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/5.jpg)
1. Processeurs embarqués : vers le codesign
5ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
![Page 6: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/6.jpg)
Processeurs embarqués
6ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
•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
![Page 7: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/7.jpg)
Architectures de traitement utilisées dans l’embarqué
7ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
![Page 8: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/8.jpg)
FPGAs avec processeurs
8ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
•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
![Page 9: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/9.jpg)
Altera DE2-115 Development board
9ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
https://www.terasic.com/
•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
![Page 10: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/10.jpg)
Altera Nios-II development kit
10ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
•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/
![Page 11: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/11.jpg)
1ères caractéristiques de la plateforme DE2-1121S10
11ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
•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
![Page 12: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/12.jpg)
Fonctionnalité mixte
12ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
•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 !
![Page 13: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/13.jpg)
Exemple:
Digital set-top box system block diagram
13ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
![Page 14: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/14.jpg)
Exemple: DSL Router System Diagram
14ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
![Page 15: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/15.jpg)
2. System-On-Programmable Chip
15ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
![Page 16: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/16.jpg)
16ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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 p r i n c i p e q u ’ u n microcontrôleur (processeur + périphériques au sein d’un même circuit)
![Page 17: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/17.jpg)
17ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Exemples de systèmes à base de processeur NIOS-II
![Page 18: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/18.jpg)
18ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Les composants standards d’un SoPC
![Page 19: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/19.jpg)
19ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 20: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/20.jpg)
20ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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)
![Page 21: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/21.jpg)
21ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 22: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/22.jpg)
22ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Qsys
•Real-time System Debug
•High performance interconnect
•Industry-Standard interfaces (Axi, AHB, Whisbone, Avalone)
•Hierarchy and IP management (Library)
![Page 23: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/23.jpg)
23ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 24: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/24.jpg)
24ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Binary compatibility / Flexible Performance
![Page 25: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/25.jpg)
25ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Nios II : Fast/Standard/Economy
![Page 26: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/26.jpg)
26ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Nios II : Fast/Standard/Economy
![Page 27: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/27.jpg)
27ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Nios II : Quelques chiffresNIOS II - fast NIOS II - standard NIOS II - economy
Stratix II 225 DMIPS @205MHz 1319 ALUTS Stratix 2S60-C3
133DMIPS @180MHz 1029 ALUTS Stratix 2S60-C3
31 DMIPS @209MHz 483 ALUTS Stratix 2S60-C3
Stratix 157 DMIPS @143MHz 1808 LEs Stratix 1S80-C5
99 DMIPS @134MHz 1170 LEs Stratix 1S80-C5
23 DMIPS @160MHz 529 LEs Stratix 1S80-C5
Cyclone II 105 DMIPS @126MHz 1595 LEs Cyclone EP2C20-C6
57 DMIPS @110MHz 1033 LEs Cyclone EP2C20-C6
22 DMIPS @159MHz 542 LEs Cyclone EP2C20-C6
Cyclone 101 DMIPS @128MHz 1676 LEs Cyclone EP1C20-C6
105 DMIPS @124MHz 1145 LEs Cyclone EP1C20-C6
16 DMIPS @126MHz 522 LEs Cyclone EP1C20-C6
Cyclone IV (GX) 190 DMIPS @165MHz 30 DMIPS @175MHz
* FMax Numbers Based on Reference Design Running From On-Chip Memory (Nios II/f ≅1.15 DMIPS / MHz)
![Page 28: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/28.jpg)
28ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Architecture du processeur
![Page 29: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/29.jpg)
29ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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,…)
![Page 30: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/30.jpg)
30ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Nios-II Processor block diagram
![Page 31: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/31.jpg)
31ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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)
•…
![Page 32: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/32.jpg)
32ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Diagramme du processeur Nios
![Page 33: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/33.jpg)
33ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Registres généraux du Nios-II32 Registres 32-bits + 32 registres de contrôle
+ possibilité de 63 ’shadow registers’ permettant l’accélération du changement de contexte (si OS)
![Page 34: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/34.jpg)
34ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Registres de contrôle
![Page 35: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/35.jpg)
35ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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)
![Page 36: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/36.jpg)
36ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 37: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/37.jpg)
37ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 38: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/38.jpg)
38ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Nios II : Accès mémoires•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
Val : Ox4A3B2C1D
![Page 39: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/39.jpg)
39ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Nios II : mémoires•Mémoires caches données-instructions
•Tightly-coupled Memories permettent de réduire la latence des temps d’accès aux mémoires on-chip en dehors du core
![Page 40: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/40.jpg)
40ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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 ave s ’ son t de s v ra ie s mémoires on-chip double ports
![Page 41: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/41.jpg)
41ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 42: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/42.jpg)
42ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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.
![Page 43: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/43.jpg)
43ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Nios II System Design Flow
![Page 44: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/44.jpg)
44ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Bus Avalon
![Page 45: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/45.jpg)
45ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 46: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/46.jpg)
46ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 47: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/47.jpg)
47ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Les autres protocoles
•Altera -> Avalon •Xilinx -> CoreConnect, AXI •ARM -> Amba •Wishbone (libre)
![Page 48: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/48.jpg)
48ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 49: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/49.jpg)
49ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Exemple de système basé Avalon
On-chip
![Page 50: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/50.jpg)
50ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Exemple (suite)
![Page 51: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/51.jpg)
51ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Les interfaces Avalon
![Page 52: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/52.jpg)
52ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 53: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/53.jpg)
53ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Les signaux
![Page 54: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/54.jpg)
54ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Les signaux : caractéristiques généralesChaque 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)
![Page 55: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/55.jpg)
55ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Les signaux : caractéristiques généralesExemple de l’interface Avalon MM, port esclave ver s l ’ i n te rconnect fabric
![Page 56: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/56.jpg)
56ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Les signaux pour un port EsclaveSignal Type (22) Width Dir DescriptionCLK 1 In SynchronisationChipSelect 1 In Lorsqu’il n’est pas actif, l’esclave ignore tous les
autres signauxAddress 1-32 In Mot d’offset dans l’espace mémoire de l’esclave
Read 1 In Requête de lecture (non requis pour WOM)Readdata 1-1024 Out
Write 1 In Requête d’écriture (non requis pour ROM)
Writedata 1-1024 In Byteenable 2,4-128 In Permet de sélectionner les octets par voie durant
un transfert (ex : 01 = octet poids faible, 10 = octet poids fort)
Writebyteenable 2,4-128 In =BE and Write
begintransfer 1 In =1 au 1er cycle de chaque transfert
![Page 57: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/57.jpg)
57ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Les signaux pour un port EsclaveWait-states signals
Waitrequest 1 Out L’esclave ne peut répondre
Pipeline signals
readdatavalid 1 Out
Burst signals
burstcount 2-32 In Nombre de transfert dans un burstbeginbursttransf 1 In Indique le début d’un burst
signaux de contrôle du flotReadyfordata 1 Out 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
![Page 58: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/58.jpg)
58ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Les signaux pour un port EsclaveTristate signals
data 1-1024 InOut Bidirectional data
outputenable 1 In si 0 l’esclave ne peut fournir de donnéesOther signals
irq 1 Out requête d’interruption
reset 1 Inresetrequest 1 Out requête du périphérique pour remettre à 0 tout le
système Avalon
![Page 59: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/59.jpg)
59ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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):
•En moins (7) :
Outputenable, Chipselect, Writebyteenable, Begintransfer, Beginbursttransfer, Readyfordata, Dataavailable
Flush 1 Out Pipeline signalData 8,16-1024 InOutIrq 1,32 In Chaque ligne correspond directement au signal irq de
chaque port esclaveIrqnumber 6 In priorité d’interruption sur chaque port esclave
![Page 60: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/60.jpg)
60ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Interfaces configurables•Par exemple une ROM ne nécessite que les signaux : -Address, -read-data, -chipselect
•Un registre : -writedata, -write, -chipselect, -clk
![Page 61: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/61.jpg)
61ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Le comportement en mode esclave
![Page 62: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/62.jpg)
62ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 63: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/63.jpg)
63ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 64: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/64.jpg)
64ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 65: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/65.jpg)
65ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 66: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/66.jpg)
66ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Temps d’accès : exemple de transfert en lecture Temps de traitement de la requête par le maître
(ici system interconnect)
Temps de traitement de la requête par l’esclave
Adapté au périphérique asynchrone
![Page 67: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/67.jpg)
67ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 68: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/68.jpg)
68ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Lecture en mode Esclave avec plusieurs cycles d’attente (ex: 2)
![Page 69: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/69.jpg)
69ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Lecture en mode Esclave avec cycles d’attente variables
![Page 70: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/70.jpg)
70ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 71: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/71.jpg)
71ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Ecriture en mode esclave en 1 cycle
![Page 72: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/72.jpg)
72ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Transferts en mode Maître
![Page 73: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/73.jpg)
73ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 74: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/74.jpg)
74ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Lecture en mode Maître en 1 cycle
![Page 75: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/75.jpg)
75ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Lecture en mode Maître avec cycles d’attente
![Page 76: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/76.jpg)
76ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Ecriture en mode Maître en 1 cycle
![Page 77: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/77.jpg)
77ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Ecriture en mode Maître avec cycles d’attente
![Page 78: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/78.jpg)
78ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Mode tristate
![Page 79: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/79.jpg)
79ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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
![Page 80: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/80.jpg)
80ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Mode tristate
![Page 81: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/81.jpg)
81ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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…
![Page 82: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/82.jpg)
82ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Différences avec le mode non-tristateMaster
Non-tristate @ Octet
Master Tristate
@ Octet = x4
Avalon Interconnect
Fabric
@WdataRdatawriteread
byteenable 4
3232
@data 32
writeread
Slave Non-tristate
@ Word
Slave Tristate @ Octet
@WdataRdatawriteread
byteenable
CS
CS + OE
@WdataRdatawriteread
![Page 83: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/83.jpg)
83ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Lecture/écriture en mode Maître
Write data into slave Write data into slave
Read data into master
![Page 84: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/84.jpg)
84ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Mode pipeline
![Page 85: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/85.jpg)
85ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
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)
![Page 86: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/86.jpg)
86ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Transfert lecture pipeline en mode esclave
Communication entre Interconnect et esclave
![Page 87: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/87.jpg)
87ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Transfert lecture pipeline en mode maître
Communication entre Maître et Interconnect
![Page 88: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/88.jpg)
88ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Lecture pipelinée en mode esclave, latence variable
![Page 89: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/89.jpg)
89ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Les périphériques
![Page 90: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/90.jpg)
90ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Recensement des périphériques•Hiérarchie Mémoire
-Blocs RAM
-Caches
-TCM
-On-chip RAM
-SDRAM
-Flash
•Entrées/Sorties
-Leds
-Afficheurs 7 segments
-Boutons poussoirs
-Switches
•Autres
-Timers
-PLL
![Page 91: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/91.jpg)
91ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Les composants standards d’un SoPC
![Page 92: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/92.jpg)
92ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS
Prochain Cours : Présentation du projet de TP
![Page 93: Architecture pour les systèmes multimédia · ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Plan 2 I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II](https://reader036.vdocuments.pub/reader036/viewer/2022081404/5f03c9547e708231d40ac3c0/html5/thumbnails/93.jpg)
Bibliographie
93
[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