SÉANCE 3 : LE PROCESSEUR NIOS-II

publicité
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
Téléchargement