Conception d un processeur avec jeu d instructions élémentaires

Documents pareils
ELP 304 : Électronique Numérique. Cours 1 Introduction

ASR1 TD7 : Un microprocesseur RISC 16 bits

QUESTION 1 {2 points}

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

IFT1215 Introduction aux systèmes informatiques

Extrait des Exploitations Pédagogiques

Cours Informatique 1. Monsieur SADOUNI Salheddine

Conception de circuits numériques et architecture des ordinateurs

Quoi de neuf en LabVIEW FPGA 2010?

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Université de La Rochelle. Réseaux TD n 6

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

L AUTOMATISME LE SIGNAL

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

ADÉQUATION ALGORITHME-ARCHITECTURE APPLIQUÉE AUX CIRCUITS RECONFIGURABLES

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Enregistreur de données d humidité et de température

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Modélisation de la Reconfiguration Dynamique appliquée à un décodeur LDPC Non Binaire

VIII- Circuits séquentiels. Mémoires

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

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

Manipulations du laboratoire

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

1. PRESENTATION DU PROJET

Conception et Intégration de Systèmes Critiques

IV- Comment fonctionne un ordinateur?

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

Éléments d'architecture des ordinateurs

Parallélisme et Répartition

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

MPI Activité.10 : Logique binaire Portes logiques

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Tests de performance du matériel

IRL : Simulation distribuée pour les systèmes embarqués

Travaux soutenus par l ANR. Jean-François CAPURON (DGA) Bruno LEGEARD (Smartesting)

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

Conception de circuits numériques et architecture des ordinateurs

T. BLOTIN Lycée Paul-Eluard SAINT-DENIS

REALISATION d'un. ORDONNANCEUR à ECHEANCES

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

Le langage VHDL. Eduardo Sanchez EPFL

ENREGISTREUR DE TEMPERATURE

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

Documentation d information technique spécifique Education. PGI Open Line PRO

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

Le pilotage des collaborations et l interopérabilité des systèmes d information Vers une démarche intégrée

Profil UML pour TLM: contribution à la formalisation et à l automatisation du flot de conception et vérification des systèmes-sur-puce.

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

Chapitre VI- La validation de la composition.

Le multiplexage. Sommaire

Vérifier la qualité de vos applications logicielle de manière continue

Architecture des ordinateurs

Logiciels DSPiy. DSPiyStudio logiciels et format des fichiers. incomplet

Méthodologie de conceptualisation BI

DOCUMENT PROTEGE PAR UN DROIT DE COPIE. CPLD ou FPGA Critères de choix. page 1

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Equipement. électronique

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

Contribution à la conception par la simulation en électronique de puissance : application à l onduleur basse tension

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Conception de réseaux de télécommunications : optimisation et expérimentations

Système binaire. Algèbre booléenne

Chapitre 4 : Les mémoires

Organisation des Ordinateurs

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

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Architecture : Circuits numériques et éléments d architecture

Informatique Générale

SIN-FPGA DESCRIPTION PAR SCHEMA

TD 1 - Transmission en bande de passe

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

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

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Tout savoir sur le matériel informatique

UE Programmation Impérative Licence 2ème Année

NOTIONS DE RESEAUX INFORMATIQUES

1 Description générale de VISFIELD

Rapport d activité. Mathieu Souchaud Juin 2007

CONFIGURATION DE L AUTOMATE SIEMENS

Logique séquentielle

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

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

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Algèbre binaire et Circuits logiques ( )

Machines virtuelles Cours 1 : Introduction

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Conservation des documents numériques

THÈSE DEVANT L UNIVERSITÉ DE RENNES 1

Bases de programmation. Cours 5. Structurer les données

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

Un ordinateur, c est quoi?

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

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

Institut d Informatique & d Initiative Sociale

Représentation d un entier en base b

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Transcription:

Module EN 216 Conception d un processeur avec jeu d instructions élémentaires Travaux Pratiques EN 216 c 2015 1

D. Dallet, C. Leroux & C. Jego Conception, implémentation et prototypage sur FPGA du processeur minimal 8 bits L objectif de ce module est d assembler des fonctions élémentaires (combinatoires et séquentielles) pour réaliser un processeur programmable avec un jeu d instructions élémentaires. L architecture conçue sera intégrée sur le FPGA d une carte de prototypage. La carte utilisée dans ce module est la carte Spartan3 de la société Digilent (http ://www.digilentinc.com/). De nombreuses informations sur l utilisation des différents périphériques sont disponibles à l adresse suivante : http ://www.digilentinc.com/products/detail.cfm?prod=s3board Fig. 1: Schéma bloc de la carte Spartan3 de chez Digilent Le circuit de la carte est un FPGA Xilinx Spartan3 XC3S200-FT256. En plus de ce circuit, la carte contient quatre afficheurs 7 segments. Un quartz permet également de fournir un signal d horloge à une fréquence de 50 MHz. Des interrupteurs et des LEDs sont aussi présents pour respectivement piloter et afficher des signaux binaires. Le module de transcodage assurant la commande des afficheurs 7 segments doit respecter le codage suivant : Attention la carte est composée de quatre afficheurs 7 segments à anode commune. Chaque segment est activé (allumé) en appliquant un 0 sur l entrée adéquate. Par exemple, pour afficher le nombre deux, il faut la combinaison a=0, b=0, c=1, d=0, e=0, f=1 et g=0 sur les entrées. Par ailleurs, il est possible d accéder qu à un seul des quatre afficheurs à la fois. Cependant, l utilisation de la perception rétinienne permet de s affranchir de cette contrainte. Noter que la gestion des périphériques n est pas à prendre en charge dans les développements. Un fichier VHDL contenant les modules de pilotage des différents périphériques vous sera fournis pour l implémentation D. Dallet, C. Leroux & C. Jego 2 Bordeaux IPB ENSEIRB-MATMECA

Fig. 2: Exemple de trancodage du processeur minimale 8 bits sur la carte Spartan3. Partie 1 : Conception du processeur Règle à respecter : il est demandé de faire une description VHDL pour chaque élément de chacune des trois parties constituant le processeur minimale 8 bits. En outre, un test-bench VHDL doit être également écrit pour valider la fonctionnalité de chacun des éléments. 1 Bloc de la partie opérative Décrire en VHDL puis valider par simulation comportementale la fonctionnalité de chaque élément constituant ce bloc à savoir : registres, bascules, UAL. 2 Bloc de mémorisation Décrire en VHDL puis valider par simulation comportementale la fonctionnalité de la mémoire RAM synchrone simple port décrite dans la partie préliminaire. Rappelons que pour faciliter la mise en œuvre, nous avons choisi d utiliser une mémoire synchrone sur front descendant de l horloge (bloc synchrone qui ne rajoute pas de cycle supplémentaire lors des accès). Aide no.1 : parmi les types disponibles dans le langage VHDL, un type est bien utile pour décrire les mémoires, à savoir les ARRAY (ou tableaux en français), dont l utilisation est la suivante : TYPE un tableau IS ARRAY (0 TO borne max) OF type données tableaux ; Type données tableaux peut être un type énuméré (BIT, STD LOGIC, STD LOGIC VECTOR etc... ) ou un autre type comme entier par exemple. Le nouveau TYPE un tableau peut ensuite être utilisé pour la description d un signal, d une constante ou d une variable, par exemple de la façon suivante : SIGNAL mon tableau : tableau ; D. Dallet, C. Leroux & C. Jego 3 Bordeaux IPB ENSEIRB-MATMECA

Puis l utilisation dans la description architecturale de la déclaration, mon tableau(x) correspond à l élément (du type type données tableaux) placé à la position X dans le tableau mon tableau. Aide no.2 : il est nécessaire dans ce projet de pouvoir correctement transformer un signal de type STD LOGIC VECTOR A std logic vector en signal de type INTEGER A integer. Pour cela il faut ajouter la librairie suivante en début de description : IEEE.NUMERIC STD.ALL Puis utiliser la conversion suivante : A integer <= TO INTEGER(UNSIGNED(A std logic vector)) ; 3 Bloc de contrôle Décrire en VHDL puis valider par simulation comportementale la fonctionnalité de la FSM obtenu à partir du graphe d états défini lors de la partie préliminaire. Une attention particulière vous sera demandée pour l écriture du test-bench de la FSM. Cet élément étant particulièrement critique, vous devez vous assurer que le test-bench est véritablement exhaustif. Décrire en VHDL puis valider par simulation comportementale la fonctionnalité des autres éléments constituant la partie contrôle à savoir : compteur programme PC, registre d instruction IR et multiplexeur. Décrire en VHDL puis valider par simulation comportementale la fonctionnalité de la partie contrôle proprement dite qui correspond à l instanciation de la FSM avec les trois autres éléments. 4 Bloc dit top level (processeur) Décrire en VHDL puis valider par simulation comportementale la fonctionnalité du bloc top level qui correspond à l instanciation : de la partie opérative, de la partie mémorisation, de la partie contrôle. La validation fonctionnelle du processeur implique le positionnement d un programme dans la mémoire. Pour ce faire, il est conseillé d utiliser l exemple de l annexe 1 du document de la partie préliminaire. Partie 2 : implémentation sur la carte Insérer à votre projet sous ISE, le fichier VHDL assurant la gestion des périphériques de la carte Spartan3 de chez Digilent. D. Dallet, C. Leroux & C. Jego 4 Bordeaux IPB ENSEIRB-MATMECA

Le contenu du fichier de contrainte (.ucf) nécessaire à la configuration des pinouts du circuit FPGA pour le projet est fourni en annexe 3. Inspirez vous de ce fichier pour spécifier le votre. Dès lors, l implémentation de l architecture est possible. Effectuer les étapes successives du flot de conception d ISE : synthèse logique, placement-routage et génération du fichier bitstream. Soyez attentif aux messages donnés et évaluer la complexité de votre architecture à l issue de la synthèse puis après placement-routage. La fréquence de fonctionnement obtenue est-elle conforme à la fréquence d horloge du quartz de la carte? Partie 3 : Prototypage de votre projet sur la carte Spartan3. Si vous avez respecté les consignes tout au long du module, cette dernière étape doit être une formalité. Assurer vous du bon fonctionnement de votre processeur lors de l exécution du premier programme. Si tel est le cas, modifier le contenu de la mémoire pour demander la recherche du PGCD des nombres 40 et 24 puis exécuter le projet sur la carte de prototypage. Pour cela, il est nécessaire de recommencer l ensemble des étapes du flot de conception puis de configurer le circuit FPGA à partir du nouveau fichier bitstream. D. Dallet, C. Leroux & C. Jego 5 Bordeaux IPB ENSEIRB-MATMECA