Académique Documents
Professionnel Documents
Culture Documents
Apple ;
Broadcom ;
Intel ;
Nvidia ;
Qualcomm ;
Samsung ;
Texas Instrument.
Leurs system on a chip sont basés soit sur une architecture x86 (Intel
uniquement) soit sur une architecture ARM, qui est la plus répandue.
TP VGA
TP01
1-Introduction
Dans ce TP, nous allons créer un projet matériel contenant le processeur
Microblaze et un projet logiciel contenant le code C pour faire clignoter 8 Leds
dans la carte de démonstration en séquence.
Pour Controller les Leds il faut qu’on les connecte au processeur à travers le bus
local du processeur mb_plb dans le Bus interface.
Ensuit on va vérifier que les Leds sont connecter au port externe.
Après la conception de notre processeur il faut cliquer sur Export Design est lancer
la SDK
Maintenant on va créer un nouveau C Xilinx Project
3 Test de fonctionnement
Pour tester fonctionnement des Leds on a réalisé un programme avec le langage C
qui permet d’allumer les 8 Leds en séquence.
TP02 et TP03
Objectifs :
6. Le bus PLB est basé sur une configuration maître / esclave. Le bus peut avoir
plusieurs maîtres et esclaves. Le maître initie les transactions et contrôle le
flux de données, tandis que le périphérique esclave attend une transaction
du maître. Le maître du bus envoie des demandes à un espace adresse
spécifique, et le périphérique esclave décode cette adresse et répond à la
requête si l'adresse est reconnue. L'adresse de chaque périphérique est
unique et toutes les transactions sont mappées en mémoire. Dans cette
étape, nous spécifions la configuration du cœur que nous allons créer.
L'assistant ajoutera un bloc logique VHDL pour l'esclave, le maître ou les
deux si nécessaire. Vous pouvez ajouter un contrôle d'interruption, une
réinitialisation logicielle, une FIFO en lecture / écriture, des registres
utilisateur, etc.
Pour les besoins de ce tutoriel, sélectionnez les options illustrées à la figure
suivante, puis appuyez sur "Suivant".
8. Dans cette étape, nous devons spécifier le nombre de registres dans notre
conception comme le montre la figure suivante. Dans notre projet, on aura
besoin de 4 registres. Ensuite on clique sur "Suivant" pour continuer.
9. Après avoir défini la configuration principale et les composants internes, la
fenêtre de l'assistant illustrée à la Figure suivante nous permet de modifier
l'interface entre notre nouvelle logique ajoutée (IP) et l'interface de bus.
L'assistant va créer l'interface de bus pour nous et ensuite créer un module
user_logic qui contient toute la logique que nous avons sélectionnée dans
l'assistant. Cet écran nous permet de changer les signaux entre l'interface
du bus et notre logique utilisateur. Appuyons sur "Suivant" pour continuer.
10.Pour effectuer la simulation des conceptions EDK, des fichiers
supplémentaires seront nécessaires et ajoutés. Dans notre cas, on n’aura
pas besoin de la plate-forme de simulation BFM. Alors on passe en cliquant
sur « suivant ».
11.La dernière étape de l'assistant contient trois options finales :
L'option de générer le module user_logic dans Verilog plutôt que dans
VHDL.
L'option de générer un projet ISE pour aider à la mise en œuvre de notre
noyau. Le projet ISE généré peut être utilisé pour vérifier le noyau avant
l'intégration dans l'EDK.
La dernière option consiste à créer un pilote logiciel pour le noyau à utiliser
lors du développement logiciel. On effectue la sélection comme indiqué
dans la Figure suivante, puis on appuie sur "Suivant" pour continuer. Les
étapes de l'assistant sont maintenant terminées et le modèle de notre
conception est créé.
PARTIE II : Modification du l’IP généré.
Dans la première partie on a créé tous les fichiers nécessaires à l'intégration de
notre core dans une conception EDK. Les fichiers créés sont stockés dans deux
répertoires principaux "pcores" et "drivers". Le premier inclut tous les fichiers
pour la construction matérielle tandis que le second contient les pilotes logiciels
créés par l'assistant.
Etape1 : on ouvre le projet « myip » dans le « ISE navigator » , et puis, le fichier
"user_logic.vhd". L'assistant a créé une entité appelée "user_logic". La déclaration
pour cette entité est illustrée dans la figure suivante.
L'architecture du "user_logic" est composée de plusieurs blocs:
Déclaration du signal: Les signaux sont définis pour chacun des quatre
registres "slv_reg0" à "slv_reg3". Des signaux sont également définis pour
les signaux de sélection en lecture / écriture et l'accusé de réception en
lecture / écriture.
Signaux de sélection de registre: Les signaux de bus sont décodés ici pour
générer des signaux de sélection de lecture / écriture et d'acquittement de
lecture / écriture, comme indiqué sur la figure.
Processus d'inscription et d'écriture: Ce segment de code décrit un
processus utilisé pour écrire dans chacun des quatre registres.
La dernière partie de l'architecture connecte les signaux d'acquittement et
les signaux de données dans les signaux de bus.
1-Introduction
En utilisant l'assistant de création et importation de périphériques de Xilinx
Platform Studio (XPS) pour générer les modèles de périphériques. Nous aavons
ajouter une logique d'interface LCD dans notre modèle de MicroBlaze. Ensuite
nous avons connecté le périphérique au système et ajouter des contraintes
d'emplacement de broche pour connecter le périphérique du contrôleur LCD à
l'écran LCD intégré. Enfin, on a vérifié l’opération dans le matériel en utilisant
l'application logicielle fournie.
2-Création de l’IP
On va ajouter une nouvelle IP ‘’lcd_ip’’ à notre processeur qu’elle va contrôler
notre LCD.
On va sélectionner le bus local processeur pour le transfert des donnée
On va utiliser un seul registre dans notre IP
On clique sur Rescan User Respetories, dans projet pour prendre en compte les modification
ajouées.
Maintenant on ajout l’IP qu’on a créé à notre processeur
3-Test du fonctionnement
Après la conception de notre processeur MicroBlaze, on fait Export Design, et
après programmer un code C qui affiche le message suivante dans l’écran LCD