WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Mise en oeuvre de l'auto-reconfiguration partielle et dynamique sur FPGA Xilinx Virtex-II pro

( Télécharger le fichier original )
par Guy WASSI
Université Pierre et Marie Curie (Paris VI Jussieu) - Master informatique industrielle et systèmes automatisés 2005
  

précédent sommaire suivant

ANNEXES

ANNEXE 1 : LES OUTILS

1.1 L'outil Floorplanner (Editeur de contraintes de placement, cas de 2 modules)

Figure Annexe 1 :

On remarque que le module a processeur (a droite) occupe la majeure partie du FPGA. Ceci est surtout du au fait que ce module utilises des périphériques connectes au FPGA par des pins situes trop a gauche de la puce. Ceci oblige le module à englober les zones adjacentes à ces pins.

 

1.2 FPGA Editor (Routage avec bitstream complet)

Figure Annexe 2 : Vue sous FPGA Editor) du Routage complet des deux modules.

 

ANNEXE 2 : Procédure de création du fichier SYSTEM.BMM

Ce fichier indique au programmateur du FPGA Virtex-II Pro la localisation de la mémoire BRAM associée au processeur PPC405 lors du routage, et dans laquelle sera chargée l'exécutable. En effet pour configurer le FPGA avec un design utilisant le processeur intégré, on a besoin du fichier de configuration des ressources programmables du FPGA (fichier.bit), de l'exécutable destiné au processeur PPC (fichier.elf) et des cordonnées de la BRAM (fichier.bmm) associée au processeur et a partir de laquelle le code sera exécuté.

Figure Annexe 3 :

Edition du module ppc_subsystem (généré lors de la phase active d'implementation) a l'aide de

FPGA Editor.

A gauche : Fenêtre de filtrage en

vue d'afficher les adresses d'implémentation des BRAMs connectes au processeur. Ces adresses seront manuellement

écrites dans le fichier

system.bmm.

 

2.1 Fichier system_stub.bmm

Il est généré par EDK lors de la génération (X_Flow) du système a processeur.
\SELF_RECONFIG_PLATFORM_DEMO\implementation\system_stub.bmm

ADDRESS_BLOCK bram1 RAMB16 [0xffff8000:0xffffffff] BUS_BLOCK

 

ppc_subsystem/bram1/bram1/ramb16_s4_s4_0

[63:60]

;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_1

[59:56]

;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_2

[55:52]

;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_3

[51:48]

;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_4

[47:44]

;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_5

[43:40]

;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_6

[39:36]

;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_7

[35:32]

;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_8

[31:28]

;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_9

[27:24]

;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_10

[23:20]

;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_11

[19:16]

;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_12

[15:12]

;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_13 [11:8] ; ppc_subsystem/bram1/bram1/ramb16_s4_s4_14 [7:4] ; ppc_subsystem/bram1/bram1/ramb16_s4_s4_15 [3:0] ; END_BUS_BLOCK;

END_ADDRESS_BLOCK;

2.2 Le fichier system.bmm.

Il est obtenu en rajoutant quelques informations au fichier system_stub.bmm ci-dessus. En effet, après la phase d'implémentation active du module ppc_subsystem, on édite son fichier .ngd à l'aide de FPGA Editor, puis on utilise le filtre des composants de la fenêtre de droite (voir Figure Annexe 4) pour afficher les informations sur les composants BRAMs utilisés par ce module. On peut alors relever les adresses d'implantation des BRAMs du fichier system_stub.bmm. On complète le fichier system.bmm comme indiqué ci-dessous en gras:

\SELF_RECONFI_PLATFORM_DEMO\Modular\Top\Assemble\system.bmm

ADDRESS_BLOCK bram1 RAMB16 [0xffff8000:0xffffffff] BUS_BLOCK

 
 

ppc_subsystem/bram1/bram1/ramb16_s4_s4_0

[63:60]

PLACED

= X2Y2;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_1

[59:56]

PLACED

= X5Y2;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_2

[55:52]

PLACED

= X4Y2;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_3

[51:48]

PLACED

= X5Y5;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_4

[47:44]

PLACED

=X5Y4;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_5

[43:40]

PLACED

= X5Y3;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_6

[39:36]

PLACED

= X3Y2;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_7

[35:32]

PLACED

= X1Y5;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_8

[31:28]

PLACED

= X1Y4;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_9

[27:24]

PLACED

= X2Y5 ;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_10

[23:20]

PLACED

= X1Y6;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_11

[19:16]

PLACED

= X2Y4;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_12

[15:12]

PLACED

= X1Y3;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_13

[11:8]

PLACED

= X1Y1;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_14

[7:4] PLACED = X1Y2;

ppc_subsystem/bram1/bram1/ramb16_s4_s4_15

[3:0] PLACED = X2Y3;

END_BUS_BLOCK;

 
 
 

END_ADDRESS_BLOCK;

 
 
 

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy