Chapitre II-2 : Conception SoPC (Altera)



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

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

Vers du matériel libre

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

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

CONTEC CO., LTD. Novembre 2010

Spécifications détaillées

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

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

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

Chapitre 4 : Les mémoires

Ordinateurs, Structure et Applications

Ordinateurs, Structure et Applications

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

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

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

Leçon 1 : Les principaux composants d un ordinateur

INSTRUMENTS DE MESURE SOFTWARE. Management software for remote and/or local monitoring networks

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

Projet M1 Année scolaire 2013/2014

Modélisation des interfaces matériel/logiciel

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

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Spécifications détaillées

Architecture des calculateurs

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

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)

TP5 VOIP résidentiel étendu Page 1 sur 7 Lp Ampere CLAVAUD

WEB page builder and server for SCADA applications usable from a WEB navigator

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

Conception de circuits numériques et architecture des ordinateurs

PROJECT POUR LE SYSTÈME DE SURVEILLANCE PAR CAMERA BASÉ SUR TECHNOLOGIE AXIS, PANNEAUX SOLAIRES ET LUMIERE DU LEDS BLOC D APARTEMENT LAURIER.

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

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

Les liaisons SPI et I2C

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Guide Mémoire NETRAM

HP 600PD TWR i G 4.0G 39 PC

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Caractéristiques principales:

Conférence sur les microcontroleurs.

Guide d'installation rapide TFM-560X YO.13

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

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

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

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

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

Editing and managing Systems engineering processes at Snecma

Cisco CCVP. Configuration de CUCM

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

Structure de base d un ordinateur

Projet audio. Analyse des Signaux ELE2700

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

I>~I.J 4j1.bJ1UlJ ~..;W:i 1U

CONVERTISSEUR RS 232/485 NOTICE

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

Summary / Sommaire. 1 Install DRIVER SR2 USB01 Windows seven 64 bits / Installation du DRIVER SR2 USB01 Windows seven 64 bits 2

Intel Corporation Nicolas Biguet Business Development Manager Intel France

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

Quoi de neuf en LabVIEW FPGA 2010?

Contrôleur de communications réseau. Guide de configuration rapide DN

VTP. LAN Switching and Wireless Chapitre 4

SERVEUR LYNX CALLEO DATACENTER 2460

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

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

StruxureWare Power Monitoring Expert v7.2

Windows Server Chapitre 1: Découvrir Windows Server 2008

IMS INTERNET /Paramétrage de l offre / Gateway Cisco IMS INTERNET. Paramétrage de l offre Gateway CISCO. Référence Edition Date de Diffusion Page

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

PIC EVAL Dev Board PIC18F97J60

Carte Relais GSM (Manuel Utilisateur)

Guide d installation logicielle

Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad

Prérequis réseau constructeurs

Contents Windows

SIN-FPGA DESCRIPTION PAR SCHEMA

Systèmes embarqués D.Rossier

TABLE DES MATIERES A OBJET PROCEDURE DE CONNEXION

WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.

Notice Technique / Technical Manual

Linux embarqué: une alternative à Windows CE?

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

EX4C Systèmes d exploitation. Séance 14 Structure des stockages de masse

Cours 13. RAID et SAN. 2004, Marc-André Léger

Rappels d architecture

Téléphonie Cisco. - CME Manager Express = Logiciel dans un routeur, version simplifiée du call manager.

COLLEGE ADRIEN CERNEAU

Robot WIFIBOT Lab V3. 4 roues motrices

LOGICIEL DC4D MONITOR

LOGICIEL D'ADMINISTRATION POUR E4000 & G4000 MANAGEMENT SOFTWARE FOR E4000 & G4000

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

Le bus USB. I) Introduction : II) Architecture du bus USB :

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Wobe.

Sélection du contrôleur

SERVEUR CALLEO APPLICATION R269M

Architecture des Ordinateurs. Partie II:

Flottes privatives Une gestion maîtrisée Fleet management The management expert

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

Transcription:

Chapitre II-2 : Conception SoPC (Altera)

Plan 1. 2. Processeurs embarqués : conception conjointe System on Programmable Chip = 1. 2. 3. Systèmes à base de Nios-II Le bus système Avalon Les périphériques on-chip

1. Processeurs embarqués, vers le codesign

Processeurs embarqués Bloc IP : Soft core Propriétaire : format netlist, FPGA dependant Libre Microblaze (Xilinx), Nios (Altera) : format VHDL, FPGA independant Leon, OpenRISC, F-CPU Architectures 32 bits, Harvard, RISC Circuit implanté sur support : hardcore classique

Architectures de traitement utilisées dans l embarqué

FPGAs avec processeurs

Carte Altera NiosII Kit

Carte Nios-II Kit

Première caractéristiques du circuit Stratix 1S10 10 570 Logic Elements (LE) 920 448 bits de mémoire on-chip Pré-programmée avec un design Nios-II présent dans la flash, Lorsque la configuration est terminée, le niosii commence l exécution du boot code présent en flash

Fonctionnalité mixte Une application peut être composée d une partie matérielle accélératrice sur le FPGA Couplée à une partie logicielle en softcore De plusieurs technos différentes On a alors besoin d une conception conjointe logicielle/matérielle (ou codesign) Rupture dans la méthodologie classique!

Digital Set-Top Box System Diagram Broadcast Signal Satellite, Terrestrial, Cable Phone Non Altera Altera Devices Altera Altera IP Solutions Other Services Network Control Digital Digital Digital Tuner Tuner Tuner ADC ADC ADC Interface Bridge External Interfaces Demodulation Demodulation Demodulation &FEC FEC &&FEC DRAM CPU & MPEG Decoder Personal Video Recorder Conditional Access Manager Residential LAN A/V Decode Video Encode M82092IDE IDE Controller ATA1 M82371IDE IDE Controller ATA4 LAN Link Demultiplex & Descramble IDE Interface ROM RAM Post A/V Processing Timing Control DAC Audio DAC Video FIR Compiler Color Space Converter

Plasma Display Panel Module System Diagram Non Altera Altera Devices Altera Altera IP Solutions Timing Control Digital Image Source Decode Display Processing Plasma Display Driver Driver IC(N) COF Strips Color Space Converter SDRAM Controller SDRAM MPEG-2 Video Decoder (CS6651)

Color Laser Printer System Diagram Non Altera Altera Devices Bus Altera IP Solutions Altera Other Services Flash Card Interface DDR SDRAM DDR SDRAM Controller I/O & System Control LAN Link Peripheral Interface CPU LAN Color Space Converter DDR SDRAM Controller PCI Compiler Peripheral 10/100 Ethernet MAC USB 1.1 and 2.0 Device Controller PCI Bus LCD Control LCD Panel Image CODEC Image Processing & Enhancement Print Engine Interface Print Engine FIR Compiler Color Space Converter

DSL Router System Diagram Non Altera Altera Devices Bus Altera IP Solutions Altera Memory Other Services Memory Controller Security Processor CPU PCI Bus PCI-Utopia Bridge SDRAM Controller DES Encryption Rijndael Encryption/ Description AES Cyptoprocessor PCI-MII Bridge Traffic Management (VoIP & Video Processing) DSL Modem Chips LAN Ethernet Ethernet Ethernet MAC MAC MAC Ethernet Ethernet Ethernet Transceiver Transceiver Transceiver DSL Line Utopia Master Transmitter/Receiver PCI Compiler, 32-bit Target 10/100 Ethernet MAC

Factory Automation Image Sensor System Diagram Non Altera Altera Devices Functional Block Altera IP Solutions Altera Other Services Video Input Video Input Buffer Memory Video Input Buffer Memory Buffer Memory FIR Filter Image-to-Data Conversion SRAM 32-bit Processor Flash Recognition Module Configuration Manager UART UART Profibus Controller Host System Nios Peripheral Library UART FIR Compiler

Auto Telematics/Entertainment System Diagram Non Altera Altera Other Services Altera Devices Bus Functional Block Sub System Altera IP Solutions Telematics/Entertainment Controller Memory GPS Navigation System Display OSD RISC CPU & Subsystems Image Processing Nios Peripheral Library CAN Bus MCAN2D1 CAN 2.0 Network Controller Car Multimedia Bus Memory Card Interface DVD Interface Camera Interface Memory Card DVD Player Digital Camera Phone/PDA Interface Mobile Phone / PDA Regional Defined Road Tolling Smart card Interface 10/100 Ethernet MAC M82092IDE IDE Controller ATA1 M82371IDE IDE Controller ATA4 USB 2.0 Device Controller

2. Les composants d un System on Programmable Chip

Standard Reference Design Block Diagram 1MB SRAM 8MB FLASH 16MB Compact FLASH Nios II Processor Tri-State Bridge Address (32) Read Write Data In (32) Data Out (32) IRQ IRQ #(6) On-Chip Off-Chip Avalon Switch Fabric 32-Bit Nios II Processor Tri-State Bridge Compact Flash PIOs 32MB SDRAM SDRAM Controller UART ROM (with Monitor) General Purpose Timer Periodic Timer JTAG_UART Reconfig PIO LED PIO LCD PIO 7-Segment LED PIO 8 LEDs Expansion Header J12 2 Digit Display Button PIO 4 Momentary buttons Level Shifter Ethernet MAC/PHY

a. Nios-II based system

Principe du SOPC 1 Available Programmable Logic 3 2 Memory PLLs Logic

Nios II Processor Block Diagram Nios II Processor Core Tightly-Coupled Instruction Mem reset clock JTAG interface to Software Debugger HardwareAssisted Debug Module Program Controller & Address Generation Exception Controller Interrupt Controller irq[31..0] Custom I/O Signals Custom Instruction Logic General Purpose Registers r0 to r31 Instruction Cache Tightly-Coupled Instruction Mem Instruction Bus Control Registers ctl0 to ctl4 Arithmetic Logic Unit Data Bus Data Cache Tightly-Coupled Data Mem Tightly-Coupled Data Mem

Caractéristiques du NiosII Architecture de Harvard Data Master port Instruction Master port Banc de 32 registres 32 bits, Chacune des unités précédente définit l architecture NiosII, mais rien n oblige que ces unités soient réalisées en hard, Exemple : l unité flottante est émulée en Sw Lorsqu une instruction n est pas implémentée en Hw, le processeur génère une exception, et l exception handler appelle la routine d émulation Sw (instruction, div ).

Diagramme du processeur Nios

Registres généraux du Nios-II

Registres de contrôle

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 autorisé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 IRQi est active Le bit i du registre ienable est à 1 Le champs PIE du registre d état est à 1

Nios II Versions Nios II Processor Comes In Three ISA Compatible Versions FAST: Optimized for Speed STANDARD: Balanced for Speed and Size ECONOMY: Optimized for Size Software Code is Binary Compatible No Changes Required When CPU is Changed

Binary Compatibility / Flexible Performance Nios II /f Fast Nios II /s Standard Nios II /e Economy Pipeline 6 Stage 5 Stage None H/W Multiplier & Barrel Shifter 1 Cycle 3 Cycle Emulated In Software Branch Prediction Dynamic Static None Instruction Cache Configurable Configurable None Data Cache Configurable None None TCM (Instr / Data) Up to: 4 / 4 Up to: 4 / 0 0/0 Logic Usage (Logic Elements) 1400-1800 1200 1400 600 700 Custom Instructions Up to 256

Nios II: Faster & Smaller 250 Fast 4X Faster Performance (DMIPS) 200 150 Standard 10% Smaller Over 2X Faster 100 50 Economy 50% Smaller 0 0 Results Based on Stratix II FPGA 500 1000 CPU Core Size (Logic Elements) 1500 2000

Variation with FPGA Device 250 Fast DMIPS 200 150 Standard 100 Economy 50 0 0 500 1000 1500 2000 Logic Elements Stratix II Stratix Cyclone HC-Stratix Cyclone II

Nios II: Hard Numbers Nios II/f Stratix II Stratix Cyclone II Cyclone Nios II/s Nios II/e 225 DMIPS @205MHz 133 DMIPS @180MHz 31 DMIPS @209MHz 1319 ALUTs 1029 ALUTs 483 ALUTs Stratix II 2S60-C3 Stratix II 2S60-C3 Stratix II 2S60-C3 157 DMIPS @143MHz 99 DMIPS @134MHz 23 DMIPS @160MHz 1808 LEs 1170 LEs 529 LEs Stratix 1S80-C5 Stratix 1S80-C5 Stratix 1S80-C5 105 DMIPS @126MHz 57 DMIPS @110MHz 22 DMIPS @159MHz 1595 LEs 1033 LEs 542 LEs EP2C20-C6 EP2C20-C6 EP2C20-C6 101 DMIPS @128MHz 57 DMIPS @124MHz 16 DMIPS @126MHz 1679 LEs 1145 LEs 522 LEs EP1C20-C6 EP1C20-C6 EP1C20-C6 * FMax Numbers Based on Reference Design Running From On-Chip Memory (Nios II/f 1.15 DMIPS / MHz)

Accès mémoire Protocole de rangement mémoire Little Endian Le mapping des adresses des mémoires et des périphériques est design-dependent. Seules trois adresses font partie du processeur : Adresse de Reset Adresse d exception Adresse du Break Handler

Tightly Coupled Masters Connected to tightly-coupled slaves through Tightly Coupled Memory Interfaces Slaves are on-chip true dual port memories They allow Normal data master to connect to second port, allowing reading and writing of data TightlyCoupled Instruction and Data Masters Regular Instruction and Data Masters Nios II CPU Instruction Master TCMs Data Master Tightly Coupled Data Master Tightly Coupled Instruction Master Slave 32 Slave Tightly Coupled Memory Interface Avalon Switch Fabric Avalon Slave Avalon Slave

Mémoire off-chip SDRAM Correspond au standard pc100 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, + un PLL : l horloge de la RAM est de même période 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érés par le contrôleur pour le rafraichissement il est impossible d atteindre cette performance.

Mémoire off-chip utilisé en TP Mémoire SRAM (statique) Utilisé comme mémoire principale Mémoire flash Contient la configuration utilisateur du FPGA Plus la safe configuration du FPGA Pour la stratix-i, la flash de 8Mo est découpée en 128 sections réinscriptibles individuellement de 64Ko

Nios II System Design Flow SOPC Builder GUI Processor Library Configure Processor Custom Instructions Peripheral Library Select & Configure Peripherals, IP IP Modules Software Development Hardware Development Connect Blocks HDL Source Files Testbench Synthesis & Fitter User Design Other IP Blocks Quartus II Generate Hardware Configuration File Nios II EDS C Header files Custom Library Peripheral Drivers Executable Code Verification & Debug JTAG, Serial, or Ethernet Altera FPGA On-Chip Debug Software Trace Hard Breakpoints SignalTap II Compiler, Linker, Debugger User Code Libraries RTOS GNU Tools Nios II C2H Compiler

Plan 1. 2. Processeurs embarqués : conception conjointe System on Programmable Chip = 1. 2. 3. Systèmes à base de Nios-II Le bus système Avalon Les périphériques on-chip

b. Bus Avalon

Plan de la section Avalon i. ii. iii. iv. v. vi. Introduction à l interconnect système Les signaux du système Avalon Comportement en mode Escalve Comportement en mode Maître Mode Pipeline Le mode tristate

Qu est ce qu Avalon? Avalon (en gaulois «la pommeraie») est, dans la légende arthurienne, une île mythologique. Avalon est une spécification d interfaces pour des composants sur puce. Les composants sont mappés dans l espace mémoire, ce qui est référencé comme Avalon-MM pour Memory Mapped. La spécification définit les transferts entre un (ou plusieurs) périphériques et une structure d interconnect. Avalon est un système de communication maître-esclave.

Master/Slave Un composant Maître sur le bus initie les transaction soit en envoyant directement des données, soit en emmettant des requêtes aux composants esclaves. Un composant Esclave ne prend jamais l initiative d utiliser le bus (en lecture ou en écriture). Il ne fait que répondre aux requêtes des maîtres.

Les autres protocoles d interconnect Altera Avalon Xilinx CoreConnect ARM Amba Wishbone

Spécification Avalon La spécification définit Un ensemble de signaux Le comportement des périphériques Les types de transferts supportés par ces signaux Chaque périphérique est connecté par un(ou +) port (M/S) Tous les ports sont reliés au system interconnect fabric C est un standard ouvert

Exemple de système basé Avalon On-Chip

Exemple (suite)

ii. Les signaux

Caractéristiques générales 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 suivis de _n (read_n).

Liste de signaux pour un port Esclave Signal type (22) width dir Description Clk 1 In synchronisation Chipselect 1 In Address 1-32 In When desarted, Slave ignores all other signals Word offset in the slave adress space Read 1 In Read request (not required for WOM) Readdata 1-1024 Out Write 1 In Writedata 1-1024 In Byteenable 2,4-128 In Write request (not required for ROM) Enable 1 byte lane on ports > 8bits Writebyteenable 2,4,-128 In = BE and write begintransfer =1 at the first cycle of every transfer 1 In

Liste de signaux pour un port Esclave Wait-states signals waitrequest 1 Out Slave can t respond => stall Pipeline signals readdatavalid 1 Out Asserted at end of wait Burst signals burstcount 2-32 In Number of transfer in a burst beginbursttranf 1 In Indicate start of a burst Flow-control signals Readyfordata 1 Out Ready for a write transfer dataavailable 1 Out Ready for a read transfer endofpacket 1 Out Periperal-specific

Liste de signaux pour un port Esclave Tristate signals data 1-1024 InOut Bidirectional data outputenable 1 In When =0 slave must not drive data Other signals irq 1 Out reset 1 In resetrequest 1 Out If slave need to be serviced by master Peripheral resets the entire avalon system

Liste des signaux pour un port Maître (17) Les même signaux Souvent de direction opposée En plus (2) : Flush; Data; Irq; Irqnumber; 6; 1; 8, 16-1024, 1,32; En moins (7) : Outputenable, Chipselect, Writebyteenable, Begintranserf, Beginbursttransfer, Readyfordata, Dataavailable, Out; Pipeline signal InOut; In; Each line corresponds directly to the irq signal on the slave port In; Interrupt priority of each slave port

Interfaces configurables Par exemple une ROM ne nécessite que les signaux : Address, read-data, Chipselect Un registre RO : Writedata, Write, Chipselect, clk

iii. Le comportement en mode esclave

Plusieurs modes 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 n utilise aucune des propriétés ci-dessus.

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 donc générés par / à Clk, Les signaux doivent être stables pendant l état haut (holdtime), 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

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és 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 octes : 0x00, 0x04, 0x08, 0x0C Pour accéder à un octet spécifique dans un mot, le maître dit utiliser le signal byteenable.

Transferts en mode Esclave 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 à Zéro

Temps d accès Périphériques asynchrones (mémoires off-chip) : Accès dans le cycle courant Périphériques synchrones (mémoire on-chip) : 1 cycle d attente (wait-states) Plusieurs cycles d attentes fixes Cycles d attentes variables => waitrequest

Lecture en mode Esclave en un cycle Temps de traitement de la requête par le maître Temps de traitement de la requête par l esclave

Lecture en mode Esclave avec 1 cycle d attente

Lecture en mode Esclave avec plusieurs cycles d attente

Lecture en mode Esclave avec cycles d attente variables Le système avalon n a pas de timeout!!

Écriture en mode esclave en 1 cycle

iv. Transferts en mode Maître

Transfert en mode Maître Comme l adresse d octet est comprise comme une adresse 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 En 32 bits sont : 0001, 0010, 0100, 1000, 0011, 1100, 1111

Lecture en mode Maître en 1 cycle

Lecture en mode Maître avec cycles d attente

Ecriture en mode Maître avec cycles d attente

v. Mode tristate

Mode pipeline Utilisé pour communiquer avec des périphériques externes : mémoires, processeurs Ce mode permet de s adapter à de nombreux protocoles d IPs externes Par exemple pour communiquer avec des devices qui partagent les bus d adresse et de données sur le circuit imprimé (PCB). 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é par le mâitre

Adressage Dans le mode tristate, l adresse sur le port esclave devient une adresse d octet contrairement à l adresse de mots en mode fondamental. Si le bus est plus large qu un octet, il faut alors corriger le mapping des adresses venant du maître vers le bus d adresse du port esclave!! A0 du port esclave Adresse provenant de l interconnect fabric

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

Ecriture/Lecture en mode Maître Read data into master Write data into slave

vi. Mode Pipeline

Mode pipeline Il n y a que des transferts pipeline sur les transferts lecture pas en écriture. La durée d un transfert pipeliné se divise en 2 phases : Un port maître initie un transfert (remplit le pipeline) en positionnant l adresse durant la phase d adresse Un port esclave continue le transfert en délivrant la donnée durant la phase de données La phase d adresse d un nouveau transfert peut commencé 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.

Transfert lecture pipeliné en mode esclave

Transfert lecture pipeliné en mode maître

Lecture pipelinée esclave avec latence variable

Plan 1. 2. Processeurs embarqués : conception conjointe System on Programmable Chip = 1. 2. 3. Systèmes à base de Nios-II Le bus système Avalon Les périphériques on-chip

c. Les périphériques on-chip

i. Hiérarchie Mémoire Blocs RAM Caches TCM On-Chip RAM SDRAM Flash Pios Recensement Leds Afficheurs 7 segments Boutons Autres Timers PLL

Standard Reference Design Block Diagram 1MB SRAM 8MB FLASH 16MB Compact FLASH Nios II Processor Tri-State Bridge Address (32) Read Write Data In (32) Data Out (32) IRQ IRQ #(6) On-Chip Off-Chip Avalon Switch Fabric 32-Bit Nios II Processor Tri-State Bridge Compact Flash PIOs 32MB SDRAM SDRAM Controller UART ROM (with Monitor) General Purpose Timer Periodic Timer JTAG_UART Reconfig PIO LED PIO LCD PIO 7-Segment LED PIO 8 LEDs Expansion Header J12 2 Digit Display Button PIO 4 Momentary buttons Level Shifter Ethernet MAC/PHY

En TP Chaque composant est un cas d étude à lui seul. Pour comprendre en détail Le fonctionnement, Les paramètres de configuration de chacun Nous utiliserons la documentation sur http://www.altera.com/literature/lit-nio2.jsp