Difference between revisions of "User talk:FabriceM"
From ArmadeusWiki
(→Voici les points que je compte aborder avec ce projet) |
(→Le bus Wishbone) |
||
Line 12: | Line 12: | ||
== Le bus Wishbone == | == 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 [http://www.opencores.org/projects.cgi/web/wishbone/wbspec_b3.pdf|spécification 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 Interconnexion'''. 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 arbitre'''. 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. | ||
+ | |||
+ | === Signaux du Wishbone === | ||
== Le bus iMXL == | == Le bus iMXL == |
Revision as of 22:03, 7 December 2006
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)
- 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 ;-) )
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 Interconnexion. 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 arbitre. 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.