User talk:FabriceM
From ArmadeusWiki
Mon ambition sur ce projet est essentiellement basée sur le FPGA.
Contents
Points abordés avec ce projet
-
Analyse du bus Wishbone (en cours... 140 pages pas faciles à absorber :( !) -
Analyse du soft Wishbone Builder (écrit en Perl, pas trop mal fait mais pas assez modulaire à mon goût) -
Analyse du bus i.MXL (il me faut encore extraire les infos utiles du databook) - Spécification de l'architecture du FPGA
- Spécification des règles de codage
- Spécification de l'outil de conception automatique du FPGA
-
Elaboration d'une interface i.MXL <-> Wishbone -
Création d'un banc de test VHDL / ModelSim -
Création d'un design simple : Interface i.MXL/Wishbone + Registres - Création d'un petit programme pour accès aux registres dans le FPGA (langage ?!?)
- Création d'un cahier des charges pour un outils de conception automatique du FPGA (petite préférence pour python... Il faut bien amortir les livres que j'ai acheté sur le sujet ;-) )
- Elaboration du projet Orchestra en Python
Le bus Wishbone
Vu d'ensemble
Le bus Wishbone est une spécifications de bus d'interconnexion placé dans le domaine public. Son utilisation est libre de droit. Les Wishbone Version B3 sont librement accessibles. Le bus Wishbone est entièrement synchrone et définit un certain nombre d'éléments:
- Des Maitres. Ces composants vont initier les transferts sur le bus Wishbone
- Des Esclaves. Ces composants vont répondre à des demandes de transfert.
- Un Syscon. Ce composant va fournir les signaux globaux CLK (horloge système) et RST (reset synchrone)
- Une ou plusieurs Interconnexions. Ce macro composant prend en charge les connexions entre les différents composants maitres, esclaves et syscon qui composent le système ainsi que le décodage d'adresse.
- Un ou plusieurs Arbitres. Ce composant va faire la gestion des signaux de contrôle des différents composants du bus pour autoriser les transferts entre maitre et esclave (sélection du maitre actif, contrôle de fin de transfert, etc).
Type d'interconnexion
Le bus peut être de type:
- Point To Point: Un maitre communique avec une esclave
- DataFlow: Chaque composant du bus possède une interface maitre et une interface esclave et tous les composants sont chainés l'un après l'autre.
- Shared: Tout les composants sont connectés sur le même bus de communication. Si plusieurs maitres se trouvent sur ce bus, un composant d'arbitrage va faire la sélection du maitre qui aura le droit d'effectuer des opérations sur le bus. Les autres maitres seront placés dans une file d'attente.
- CrossBar: Avec ce type de bus, chaque composant maitre dispose d'un bus de communication. Ceci permet à plusieurs maitres de communiquer en même temps. Lorsque plusieurs maitres sont connecté à un même composant esclave, un composant arbitre est intercalé qui va faire la sélection du maitre qui aura l'accès à l'esclave, les autres seront placés dans une file d'attente.
Mais un bus Wishbone peut être composé d'une combinaison de ces différentes possibilités.