M.SEMARD Gaël PONG AVEC PICOBLAZE

Documents pareils
Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

avast! EP: Installer avast! Small Office Administration

Guide de démarrage rapide Express

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

Tel : Fax :

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

TD Architecture des ordinateurs. Jean-Luc Dekeyser

VM Card. Manuel des paramètres des fonctions étendues pour le Web. Manuel utilisateur

Logiciel de Télégestion

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

Chapitre 1 I:\ Soyez courageux!

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Ref : Résolution problème d'accès aux supports de cours

Java 7 Les fondamentaux du langage Java

Structure et fonctionnement d'un ordinateur : hardware

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Traitement numérique de l'image. Raphaël Isdant

GPA770 Microélectronique appliquée Exercices série A

Microsoft Application Center Test

Reporting Services - Administration

Télécharger et Installer OpenOffice.org sous Windows

Les Utilisateurs dans SharePoint

Utilisation du visualiseur Avermedia

Tout savoir sur le matériel informatique

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

Manuel d utilisation NETexcom

ARBRES BINAIRES DE RECHERCHE

Cours Informatique 1. Monsieur SADOUNI Salheddine

synchroniser Vos sauvegardes SynchBack Free SE Présentation de SynckBackFree

Transférer et enregistrer les photos sur l'ordinateur

Conception de circuits numériques et architecture des ordinateurs

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

L EAI. par la pratique. François Rivard. Thomas Plantain. Groupe Eyrolles, 2003 ISBN :

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

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

Groupe Eyrolles, 2004, ISBN :

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

Boîte à outils OfficeScan

Premiers pas sur le site ecommerce.cléde13.fr. Sommaire

Procédure d installation pour WinEUR PROCÉDURE D INSTALLATION POUR WINEUR. Copyright GIT SA 2015 Page 1/16

L ORDINATEUR. Les composants. La carte mère. Le processeur. Fréquence

ITIL. optimal. pour un service informatique. 2 e édition C H R I S T I A N D U M O N T. Préface de Patrick Abad

Timy. Programme Doublage ("Backup") Français

inviu routes Installation et création d'un ENAiKOON ID

Groupe Eyrolles, 2006, ISBN :

TELEPHONE SANS FIL TELEFUNKEN TC 151. (avec répondeur) TELEFUNKEN TC 101 MODE D EMPLOI

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Virtualisation. du poste de travail Windows 7 et 8. avec Windows Server 2012

Google Drive, le cloud de Google

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

CONFIGURATION DE L AUTOMATE SIEMENS

BSM 9.0 ESSENTIALS. Nouveaux utilisateurs de Business Service Management (BSM) 9.0, parmi lesquels :

Spécifications du logiciel. Mise à jour : 24 février 2011 Nombre total de pages : 7

PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau

Prise en main. Prise en main - 0

2015 // des formations. programme. Retrouvez toutes ces informations sur enseirb-matmeca.bordeaux-inp.fr

GUIDE D UTILISATION DE L ISU SEPTEMBRE 2013 GUIDE D UTILISATION DU NAVIGATEUR UIS.STAT (VERSION BÊTA)

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

La Solution Crypto et les accès distants

MÉTHODOLOGIE PROJET SYSTÈME D INFORMATION DÉCISIONNEL BI - BUSINESS INTELLIGENCE. En résumé :

Capture Pro Software. Démarrage. A-61640_fr

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Systèmes embarqués, mobilités et objets communicants

Contenu de la version 3.4 C I V I L N E T A D M I N I S T R A T I O N

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Comment installer la configuration des salles sur son ordinateur personnel?

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

Conservez la documentation à portée de main pour toute référence future. Le terme «pointeur» dans ce manuel désigne le pointeur interactif YA-P10.

Groupe Eyrolles, 2004 ISBN :

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

Documentation utilisateur. [EIP] TransLSF

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

I. QU'EST-CE QU'UN ORDINATEUR? Un ordinateur est relié à plein de périphériques

Guide de l'administrateur système

JOG : une approche haut niveau des systèmes embarqués via Armadeus et Java

KeePass - Mise en œuvre et utilisation

Guide du site Bmm en ligne

La mémoire. Un ordinateur. L'octet. Le bit

ACCORD SUR LES RELATIONS CINÉMATOGRAPHIQUES ENTRE LE GOUVERNEMENT DU CANADA ET LE GOUVERNEMENT DE L'ESPAGNE

Gestion de production

Éléments d'architecture des ordinateurs

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Travaux pratiques avec RapidMiner

Tutorial et Guide TeamViewer

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

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Manuel d utilisation du Guichet électronique V2

La réplication sous SQL Server 2005

Trend Micro Worry-Free Business Security 8.0 Première installation : trucs et astuces

Quel PC pour quels usages? 1) PC de Bureau ou Portable? Les différents types de portables. - Les ultra-portables. - Les portables généralistes

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

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence

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

Table des matières Introduction Démarrage Les composants graphiques... 26

Notice Générale - MODULE CLIENTS. I. Description générale du module. II. La liste des clients a. Accès

Transcription:

M.BIANCHI Olivier M.SEMARD Gaël M.MOUTOU PONG AVEC PICOBLAZE Année 2009/2010

SOMMAIRE Présentation du projet Page 2 Présentation du matériel Page 2 Tests des algorithmes Page 4 Pratique du PicoBlaze Page 5 Connexion des entrées-sorties de Picoblaze Page 5 Création des composants VGA dans Xilinx Page 6 Pilotage des composants par le Picoblaze Page6 Résultats Page7 Remerciements Page7 Programme assembleur Annexe I Source des fichiers *.vhd Annexe IV Programme C générateur de collisions Annexe XIV Programme Java du Pong Annexe XV Page1

PRESENTATION DU PROJET Le projet proposé en étude et réalisation est de réaliser un jeu de PONG dans un système SoC via une carte BASYS 2 de DIGILENT. Le but de ces travaux est d'expérimenter en «profondeur» le système XILINX SPARTAN3E-250 qui n'était pas la carte prévue au départ. C'est pourquoi nous avons dû nous habituer à ce nouveau matériel. Pour cela nous devons utiliser le logiciel Xilinx ISE Web-pack et le langage VHDL en plus du logiciel Pblaze IDE qui lui est un simulateur (langage assembleur) du PICOBLAZE. Ensuite on utilise l'assembleur KCPSM3 pour fournir un fichier *.vhd qui peut être directement utilisé dans Xilinx. PRESENTATION DU MATERIEL Pour ce projet nous utilisons plusieurs types de matériels et de logiciels: -La carte Basys2 de Digilent: -un écran VGA 640X480 de marque UNIKA: Page 2

-le web-pack Xilinx ISE 11.1 pour la programmation VHDL permettant une utilisation de tous les systèmes FPGA gracieusement : -le logiciel PblazeIDE pour la programmation en ASSEMBLEUR et la simulation: -le logiciel Adept pour envoyer notre programme.bit sur la carte BASYS2 qui est à télécharger sur le site de Xilinx: Page3

TEST D'ALGORITHMES Avant de réaliser notre programme et de l'implanter dans la carte nous avons fait quelques tests avec d'autres logiciels pour nous habituer aux problèmes que nous pouvons rencontrer. -nous avons fait un générateur de positions en langage C avec le logiciel Code::Blocks: -ensuite nous avons fait un mini-projet plus personnel en Java (langage que l'on maitrise assez) avec le logiciel NetBeans : Page 4

PRATIQUE DU PICOBLAZE Le PICOBLAZE est un microprocesseur qui est très rapide mais ses données peuvent être sorties seulement en 8 bits. Ce processeur peut être assimilé à un DSP. N'utilisant que très peu de ressources, il est prévu pour être embarqué en quantité ( ressources utilisées = 2%). Il peut se représenter de la façon suivante : CONNEXIONS ENTREES/SORTIES DU PICOBLAZE Un microprocesseur sans entrée sortie n'est pas très utile. Le PICOBLAZE peut gérer jusqu'à 256 ports d'entrées et autant pour les sorties. La gestion de ces bus passe par le port PORT_ID, l' OUT_PORT et IN_PORT du processeur et des signaux READ_STROBE et WRITE_STROBE. Le PORT_ID affiche une valeur binaire correspondant au numéro de port demandé dans le programme tournant sur le cœur du système. Selon l'instruction il va générer un signal READ_STROBE ou WRITE_STROBE avec l'identifiant. Par exemple : OUTPUT 2,5 on trouve sur les ports : PORT_ID = 05 OUT_PORT = 02 et le signal : WRITE_STROBE = 1 Pour être sûr que toutes ces informations travaillent de manière cohérente,il faut passer par une interface VHDL. XILINX conseil d'utiliser un démultiplexeur pour distribuer les signaux vers les bascules qui vont mémoriser les valeurs présentes sur OUT_PORT le temps que le signal WRITE_STROBE arrive. Page 5

CREATION DES COMPOSANTS VGA DANS XILINX Il y a deux composants qui font le lien entre notre programme et la sortie VGA de notre carte : vga_synch.vhd (voir annexe X) : qui permet à notre outil de synchroniser l'écran VGA à la fréquence de environ 3kHz par ligne. Cela se voit, par exemple, à la led qui devient verte lorsque l'écran est synchronisé; sinon elle est orange. rect.vhd (voir annexe VIII) : ce composant sert à gérer la couleur de chaque pixel en étant synchronisé aux calculs de leur position suivant la colonne ou la ligne comptée à ce moment là. Ce composant utilise la position générée par le KCPSM3 et affiche un rectangle (balle) à la position ainsi créée. PILOTAGE DES COMPOSANTS PAR LE PICOBLAZE A chaque instruction «OUT» du fichier assembleur (voir annexe I) le composant KCPSM3 sort une valeur équivalente à la valeur calculée sur un port 8 bits. Cependant, nos calculs se font sur 10 bits ( taille de l'écran 640 X480). C'est pourquoi notre programme assembleur fait le calcul sur des poids fort de X (normalement de Y aussi mais le manque de temps a fait que cette gestion n'a pas pu être aboutie). De plus, le processeur ne comporte qu'une seule sortie de données et un «PORT_ID» qui permet de savoir quelle est la partie de notre valeur de X (ou de Y). Pour cette raison, on utilise un «decodage» (voir annexe XIII) qui envoie (grâce a une bascule D (annexexiii)) les données respectives aux poids faibles et forts de X (ou de Y). La synchronisation se fait de la façon suivante: Pour plus d'information, consultez le fichier PicoBlaze_2008.pdf de M.MOUTOU. Ou le fichier ug129.pdf sur le site de Xilinx dans la section IP_CORE (si l'anglais ne vous fait pas peur) Page 6

RESULTATS A la fin, nous n'avons pas réussi à finir le projet entièrement. Cependant, nous avons un résultat qui nous permet de nous rendre compte que la réussite n'est pas si loin : REMERCIMENTS Nous souhaitons remercier M.MOUTOU, notre tuteur, de nous avoir fait connaître de tels systèmes. Nous remercions aussi M.MILLON pour avoir partagé ses connaissances avec nous sur le sujet. Nous remercions aussi digilent pour avoir créé des platines assez complète et facile d'accès et Xilinx pour nous avoir laissé utiliser son IP_CORE. Page 7

ANNEXES Sources: -programme assembleur de collisions sur une seule dimension: I

II

III

Source des fichiers *.vhd de Xilinx: top.vhd: IV

V

VI

VII

rect.vhd: VIII

IX

-vga-synch.vhd: X

-affiche_pong.vhd: XI

XII

Principe d'une bascule d: -decodage.vhd: XIII

-programme C générateur de collisions: XIV

-programme Java du pong avec affichage de scores: XV

XVI

XVII

XVIII