La carte utilisée pour l'implémentation
La réalisation d'un tel projet et son implémentation demande l'usage d'un composant programmable de type FPGA ou CPLD. Pour ma part
ayant déjà travaillé avec les produits Xilinx, c'est naturellement que je me suis tourné vers cette gamme de produit. Sans vouloir
faire de pub, ce fabriquant propose en ligne la carte ci-contre équipée d'un Spartan III XCS200 (equivalent à 200.000 portes) pour
environ 120 euro port et tva compris, livré en 48h00 pour ma part !
La carte d'essai comprend en outre 256k x 32 de SRAM, des ports RS232, PS2, VGA, les switchs, leds à souhait. Bref tout ce qu'il
faut pour le type de projet tel que celui-ci. Seul petit hic l'alim au format US, mais un adapatateur 5V dc ne coute pas bien cher.
A noter que le kit est aussi fournit avec un documentation très didactique sur la carte, les périphériques qui la compose, chronogrammes
inclus, et sur les composants FPGA de la marque. Le logiciel fournit est ISE, remplaçant de Fundation, fonctionnant sous windows et Linux.
Cette carte permettra à terme de faire fonctionner le processeur simple-cpu connecté à un écran VGA, un clavier et un PC via le port série.
Le composant Xilinx Spartan III XCS200
Le spartan III utilisé est un composant de 4320 cellules soit l'équivalent de 200K portes. Il intègre par ailleurs de nombreux composants
internes dédiés :
- 16 multiplicateurs 18x18 bits
- 12 blocs de 16x1Kbits de RAM double port utilisable en 12x18x1Kbits avec parité fonctionnant jusqu'à 200Mhz
- 30 Kbits de RAM au seins des CLK
- Génération de fréquences de 25 à 325 MHz
- Gestion optimisée des registres à décalage
L'alimentation se fait en 1.2V.
Le prix unitaire est autour de 13.5$.
De par ces spécification, ce produit est parfaitement adapté au projet réalisé, sa capacité importante va permettre de développer les premières version du processeur sans avoir à ce soucier de l'optimisation. La conception n'est donc pas contrainte par le composant cible ce qui est un plus non négligeable. Toutefois, son prix unitaire n'est pas vraiment économique (par rapport à la cible du projet) les versions visées pour une production devront donc être de capacité inférieur, point à pris en compte dans la conception. Bref, un outil adapté à une première phase de développement plutot libre et qui permettra de bien sélectionner, par la suite, les points à optimiser pour faire du SC91-A un composant à faible coût de production.