Architecture pour les systèmes multimédia

Documents pareils
Chapitre II-2 : Conception SoPC (Altera)

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

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

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

Vers du matériel libre

Les liaisons SPI et I2C

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

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

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

Software and Hardware Datasheet / Fiche technique du logiciel et du matériel

Architecture des ordinateurs

Projet M1 Année scolaire 2013/2014

Chapitre 4 : Les mémoires

Conception de circuits numériques et architecture des ordinateurs

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

Caractéristiques principales:

StruxureWare Power Monitoring v7.0. La nouvelle génération en matière de logiciel de gestion complète d énergie

Conférence sur les microcontroleurs.

Architecture des calculateurs

Ordinateurs, Structure et Applications

Linux embarqué: une alternative à Windows CE?

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

COLLEGE ADRIEN CERNEAU

NanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F)

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

CARTES A PUCE. Pascal Urien - Cours cartes à puce /06/10 Page 1

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

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

SIN-FPGA DESCRIPTION PAR SCHEMA

Serveur Lynx CALLEO Application 2240S Fiches Technique

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

Ordinateurs, Structure et Applications

Serveur Lynx CALLEO Application 2240 Fiches Technique

Naissance d'un REPTAR

PIC EVAL Dev Board PIC18F97J60

TD Architecture des ordinateurs. Jean-Luc Dekeyser

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

Manuel de l utilitaire Computer Setup (F10) HP Compaq Business Desktops Modèles d220 et d230

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

Série Pro Toshiba Business Vision

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

Modélisation des interfaces matériel/logiciel

Quel terminal et quel logiciel choisir pour votre solution de mobilité?

Présentation du système informatique utilisé et éléments d architecture des ordinateurs

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

opti-vm Serveur Vocal et Standard Automatique Siemens HiPath 11xx et Hipath 12xx Installation et Guide Utilisateur Version 1.0

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

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

QUESTION 1 {2 points}

Quoi de neuf en LabVIEW FPGA 2010?

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

Microprocesseurs spatiaux Contraintes et perspectives

Limitations of the Playstation 3 for High Performance Cluster Computing

Carte Relais GSM (Manuel Utilisateur)

Cours Informatique 1. Monsieur SADOUNI Salheddine

Modules d automatismes simples

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

LOT 1 - ACQUISITION DE SERVEURS INFORMATIQUES LOT 2 - ACQUISITION DE 5 POSTES INFORMATIQUES

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Séminaire RGE REIMS 17 février 2011

Conception de Systèmes de Communications Numériques

CONTEC CO., LTD. Novembre 2010

SERVEUR LYNX CALLEO DATACENTER 2460

Exécution des instructions machine

Conception Systèmes numériques VHDL et synthèse automatique des circuits

Janvier 2013 AUDIO/VIDEO PLAYER AUDIO VIDEO OEM DIVERS

Conviviality Line. Votre sécurité en bonnes mains

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

HP 600PD TWR i G 4.0G 39 PC

La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet

La norme Midi et JavaSound

StruxureWare Power Monitoring Expert v7.2

Sécurité et sûreté des systèmes embarqués et mobiles

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]

<Insert Picture Here> Solaris pour la base de donnés Oracle

epowerswitch 8XM+ Fiche technique

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

Mode d emploi pour lire des livres numériques

ABox 865G Carte mère Intel 82865G & ICH5 Supporte Socket 478 Intel Pentium 4/ Celeron / Celeron D Processeur

Manipulations du laboratoire

IFT1215 Introduction aux systèmes informatiques

PDF created with pdffactory Pro trial version

PODIUM_ e-station. E-STATION COMPONENT

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

Systèmes embarqués D.Rossier

SensOrLabs. a protocol validation platform for the IoT. Dominique Barthel, Quentin Lampin IMT/OLPS/BIZZ/MIS Apr 7th 2014, ST, CEA, LIG

Parallélisme et Répartition

Conception Systèmes numériques VHDL et synthèse automatique des circuits

SERVEUR CALLEO APPLICATION R269M

Structure de base d un ordinateur

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

Matériel & Logiciels (Hardware & Software)

CONVERTISSEUR RS 232/485 NOTICE

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

Le Programme SYGADE SYGADE 5.2. Besoins en équipement, logiciels et formation. UNCTAD/GID/DMFAS/Misc.6/Rev.7

Initiation au HPC - Généralités

Architecture des Ordinateurs. Partie II:

MB Led. Benjamin Bonny Cédric Le Ninivin Guillaume Normand

EMC Forum EMC ViPR et ECS : présentation des services software-defined

Transcription:

Architecture pour les systèmes multimédia SÉANCE 3 : LE PROCESSEUR NIOS-II LORANDEL Jordane jordane.lorandel@u-cergy.fr (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 2

Partie III. le microprocesseur NIOS-II 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 4

1. Processeurs embarqués : vers le codesign 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 6

Architectures de traitement utilisées dans l embarqué 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 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/ 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/ 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 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! 12

Exemple: Digital set-top box system block diagram 13

Exemple: DSL Router System Diagram 14

2. System-On-Programmable Chip 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 ême principe qu un microcontrôleur (processeur + périphériques au sein d un même circuit) 16

Exemples de systèmes à base de processeur NIOS-II 17

Les composants standards d un SoPC 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 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) 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 21

Qsys Real-time System Debug High performance interconnect Industry-Standard interfaces (Axi, AHB, Whisbone, Avalone) Hierarchy and IP management (Library) 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 23

Binary compatibility / Flexible Performance 24

Nios II : Fast/Standard/Economy 25

Nios II : Fast/Standard/Economy 26

Nios II : Quelques chiffres Stratix II Stratix Cyclone II NIOS II - fast NIOS II - standard NIOS II - economy 225 DMIPS @205MHz 133DMIPS @180MHz 31 DMIPS @209MHz 1319 ALUTS 1029 ALUTS 483 ALUTS Stratix 2S60-C3 Stratix 2S60-C3 Stratix 2S60-C3 157 DMIPS @143MHz 1808 LEs Stratix 1S80-C5 105 DMIPS @126MHz 1595 LEs Cyclone EP2C20-C6 99 DMIPS @134MHz 1170 LEs Stratix 1S80-C5 57 DMIPS @110MHz 1033 LEs Cyclone EP2C20-C6 23 DMIPS @160MHz 529 LEs Stratix 1S80-C5 22 DMIPS @159MHz 542 LEs Cyclone EP2C20-C6 Cyclone 101 DMIPS @128MHz 105 DMIPS @124MHz 16 DMIPS @126MHz 1676 LEs Cyclone EP1C20-C6 1145 LEs Cyclone EP1C20-C6 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) 27

Architecture du processeur 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, ) 29

Nios-II Processor block diagram 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) 31

Diagramme du processeur Nios 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) 33

Registres de contrôle 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) 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 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 IRQ n est active -le bit i du registre ienable est à 1 -le champs PIE du registre d état est à 1 37

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 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 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 Slaves sont des vraies mémoires on-chip double ports 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 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. 42

Nios II System Design Flow 43

Bus Avalon 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 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 46

Les autres protocoles Altera -> Avalon Xilinx -> CoreConnect, AXI ARM -> Amba Wishbone (libre) 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 48

Exemple de système basé Avalon On-chip 49

Exemple (suite) 50

Les interfaces Avalon 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 52

Les signaux 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) 54

Les signaux : caractéristiques générales Exemple de l interface Avalon MM, port esclave vers l interconnect fabric 55

Les signaux pour un port Esclave Signal Type (22) Width Dir Description CLK 1 In Synchronisation ChipSelect 1 In Lorsqu il n est pas actif, l esclave ignore tous les autres signaux Address 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 56

Les signaux pour un port Esclave Wait-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 burst beginbursttransf 1 In Indique le début d un burst signaux de contrôle du flot Readyfordata 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 57

Les signaux pour un port Esclave Tristate signals data 1-1024 InOut Bidirectional data outputenable 1 In si 0 l esclave ne peut fournir de données Other signals irq 1 Out requête d interruption reset 1 In resetrequest 1 Out requête du périphérique pour remettre à 0 tout le système Avalon 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): En moins (7) : Flush 1 Out Pipeline signal Data 8,16-1024 InOut Irq 1,32 In Chaque ligne correspond directement au signal irq de chaque port esclave Irqnumber 6 In priorité d interruption sur chaque port esclave Outputenable, Chipselect, Writebyteenable, Begintransfer, Beginbursttransfer, Readyfordata, Dataavailable 59

Interfaces configurables Par exemple une ROM ne nécessite que les signaux : -Address, -read-data, -chipselect Un registre : -writedata, -write, -chipselect, -clk 60

Le comportement en mode esclave 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 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 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 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 65

Temps d accès : exemple de transfert en lecture Adapté au périphérique asynchrone Temps de traitement de la requête par le maître (ici system interconnect) Temps de traitement de la requête par l esclave 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 67

Lecture en mode Esclave avec plusieurs cycles d attente (ex: 2) 68

Lecture en mode Esclave avec cycles d attente variables 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 70

Ecriture en mode esclave en 1 cycle 71

Transferts en mode Maître 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 73

Lecture en mode Maître en 1 cycle 74

Lecture en mode Maître avec cycles d attente 75

Ecriture en mode Maître en 1 cycle 76

Ecriture en mode Maître avec cycles d attente 77

Mode tristate 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 79

Mode tristate 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 81

Différences avec le mode non-tristate Master Non-tristate @ Octet Master Tristate @ Octet = x4 @ Wdata 32 Rdata 32 write read byteenable 4 @ data 32 write read Avalon Interconnect Fabric CS @ Wdata Rdata write read byteenable CS + OE @ Wdata Rdata write read Slave Non-tristate @ Word Slave Tristate @ Octet 82

Read data into master Lecture/écriture en mode Maître Write data into slave Write data into slave 83

Mode pipeline 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) 85

Transfert lecture pipeline en mode esclave Communication entre Interconnect et esclave 86

Transfert lecture pipeline en mode maître Communication entre Maître et Interconnect 87

Lecture pipelinée en mode esclave, latence variable 88

Les périphériques 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 Autres -Flash -Timers -PLL 90

Les composants standards d un SoPC 91

Prochain Cours : Présentation du projet de TP 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 93