Description technique du BioWall

La réalisation de machines embryoniques demeure la raison principale qui se cache derrière la construction du BioWall. La structure des machines en question est hiérarchique: les organismes (systèmes spécialisés) résultent de l'utilisation en parallèle de plusieurs cellules (petits processeurs), elles-mêmes implémentées sous forme d'un réseau de molécules (éléments logiques programmables). Pour la réalisation matérielle de telles machines, la structure du BioWall correspond à un tissu bidimensionnel composé d'unités (représentant chacune une molécule), où chaque unité est constituée par un élément d'entrée (une membrane tactile), un élément de sortie (une matrice de 8x8=64 diodes électroluminescentes bicolores) et un élément de calcul programmable (un circuit FPGA Xilinx Spartan XCS10XL).

Le BioWall est une machine totalement modulaire: des prototypes variant de 150 (10 rangées de 15 unités) à 3500 unités (25 rangées de 140 unités) ont été réalisés et testés. Le tissu représente alors une impressionnante puissance de calcul (pouvant atteindre 3500 circuits FPGA) couplée avec une interface d'entrée/sortie (les membranes et les diodes) permettant une interaction visuelle et tactile à grande échelle. Les avantages d'une telle solution sont évidents: d'une part, la taille de l'affichage autorise une interaction directe avec des applications qui sont d'ordinaire limitées à une simulation logicielle sur l'écran d'un ordinateur et, d'autre part, la puissance de calcul et la reconfiguration des circuits FPGA permet le prototypage de nouveaux systèmes bio-inspirés.

Pour le moment, chacun des circuits FPGA Xilinx du BioWall ne peut être programmé qu'avec la même configuration, ce qui réduit la fonctionnalité des unités aux 10'000 portes logiques équivalentes du circuit FPGA. D'autre part, les délais considérables engendrés par la propagation des signaux globaux sur des distances de plusieurs mètres limitent la fréquence du signal d'horloge à quelques centaines de KHz (une fréquence qui demeure plus qu'adéquate si l'on tient compte du parallélisme massif de la machine et qui reste considérablement trop élevée pour les interactions humaines dans la plupart des applications).
Outre les possibilités d'entrée/sortie des membranes et des diodes mentionnées précédemment, un ensemble de modules placés à la périphérie de la machine permettent d'interfacer le tissu avec des circuits logiques standard, soit via le PC ou directement avec des circuits conçus par l'utilisateur (les modules n'autorisent évidemment l'accès qu'à la périphérie du réseau mais, si cela s'avère nécessaire, les circuits FPGA peuvent être programmés de façon à assurer la propagation interne des signaux).

Les outils logiciels développés pour le BioWall sont rudimentaires mais complets. Une simple interface sur le PC permet à l'utilisateur de définir un ensemble de fichiers destinés à la configuration du tissu. Actuellement, il y a quatre types de fichiers (d'autres peuvent être ajoutés): le fichier de configuration pour les circuits FPGA Xilinx et des fichiers présentant trois formats différents pour envoyer des données définies par l'utilisateur sur les bormes d'entrée disposées à la périphérie du tissu (pour initialiser l'état d'un automate cellulaire, par exemple). Les valeurs prises par les bornes de sortie à la périphérie du tissu peuvent être lues par le PC afin de les stocker sur disque ou de les utiliser directement.


Ressources

Rear view: Xilinx FPGAs.
© A. Herzog


62KB JPEG
The BioWall without supports.
© E. Petraglio


40KB JPEG
Four racks joined together.
© E. Petraglio


40KB JPEG
BioWall mechanics (3D simulation).
© E. Petraglio


70KB JPEG
Display block connectors.
© A. Badertscher


158KB JPEG
First prototype of a complete rack.
© A. Badertscher


145KB JPEG
Side view of BioWall.
© SAVE, EPFL


592KB MPEG
Back view of the BioWall.
© SAVE, EPFL


4,533KB MPEG