<

Introduction

Depuis quelques temps déjà, le débat quant au choix de solutions programmées vs solutions câblées est largement ouvert. D'un côté, nous avons comme avantage le coût et les progrès technologiques qui rendent ces solutions de plus en plus performantes, en terme de puissance de calcul, tandis que de l'autre les performances, la consommation, alliées à des solutions technologiques comme l'utilisation de FPGA rendent le choix encore plus difficile. Une alternative consiste justement à ne pas choisir. On peut retenir comme modèle d'intégration un modèle hétérogène (association de processeurs programmables et de circuits dédiés), et de mettre en place des méthodes de conception qui décideront, pour une application, quelles parties devront être programmées, quelles parties devront être synthétisées. Cette nouvelle approche utilise largement les outils du commerce : compilateurs, outils de synthèse logique, de synthèse architecturale, et concernant l'aspect recherche, travaille essentiellement sur les méthodes de partitionnement. Ces nouvelles démarches sont de plus en plus utilisées industriellement. Elles ont un grand nombre d'atouts et permettent de modéliser, de valider, de synthétiser et de rester longtemps indépendant de la technologie. De plus, avec l'apparition d'outils (outils PC) et de solutions technologiques (FPGA) peu coûteuses, le développement d'architectures n'est plus limité à quelques entreprises.

Au delà de l'aspect mode, quelles sont les conséquences que nous devons en tirer au niveau de l'enseignement ?

L'enseignement de l'architecture des systèmes électroniques repose sur un dilemme. En effet autour d'enseignement portant sur la logique, les microprocesseurs, faut-il favoriser l'enseignement de l'aspect programmée qui conduit généralement à une vue informatique de l'architecture, et favorise les enseignements de compilation, système d'exploitation, ou bien doit-on miser sur l'aspect électronique et développer les enseignements en micro-électronique ou conception d'ASIC. Peut-on former des ingénieurs experts dans ces deux domaines, informatique et électronique, la réponse est bien évidemment non, mais on peut donner à des étudiants, par exemple de culture informaticienne, une deuxième compétence électronique, en construisant des enseignements bien adaptés, couplés à leur enseignement de première compétence, et cherchant dans celui-ci des exemples d'illustration.

Ainsi, cette nouvelle association étroite entre applications, langages, méthodes, et architectures offre un potentiel énorme à l'enseignement. Outre l'aspect méthode de conception qu'elle met en avant, nous allons montrer à travers cet article, que cela permet de fédérer et d'illustrer des enseignements qui relèvent aussi bien des domaines d'application, des langages, de l'architecture de systèmes électroniques, ainsi qu'un certain apprentissage des outils existants. En outre, de manière plus générale, elle permet d'offrir à des étudiants n'ayant pas de culture électronicienne, une passerelle parfaitement adaptée vers l'enseignement de l'électronique.

Concernant le domaine d'applications servant de support à notre enseignement, nous avons retenu la synthèse d'images, qui était par ailleurs enseignée aux étudiants concernés (deuxième années d'école d'ingénieurs cycle informatique). L'architecture est constituée par l'association de processeur programmable 32 bits (Transputer de la société Inmos), et d'électronique dédiée synthétisée dans des FPGA de la société Altera. Les langages utilisés seront C/OCCAM pour la partie programmable, et VHDL pour la partie dédiée. Le partitionnement matériel / logiciel sera réalisé manuellement. Enfin les outils seront un compilateur C/OCCAM, ainsi que les outils de synthèse logique des sociétés Compass et Altera.

Cet article comporte tout d'abord une présentation de l'application support : l'algorithme de lancer de rayons, algorithme réalisant un calcul d'intersection entre une droite et un objet dans un espace à trois dimensions et dont la charge de calcul est telle que l'accélération par une machine dédiée et parallèle est indispensable.

Ce projet est découpé en deux parties, abordée chacune par une moitié du groupe d'étudiants. La première consiste en l'étude de la parallélisation de l'algorithme et la deuxième en la conception d'un ASIC réalisant le coeur du traitement. Dans le cadre de ces journées pédagogiques nous passerons très vite sur l'aspect informatique du projet et insisterons sur l'aspect méthode de conception du circuit intégré en utilisant la synthèse logique à partir de VHDL. Le circuit conçu est suffisamment complexe pour nécessiter un travail d'équipe et découper le circuit en 3 blocs fonctionnels conçus par des étudiants différents.

La carte, support matériel du projet, développée à l'ENSSAT sera enfin détaillée. Elle comporte un processeur Transputer, de la mémoire et deux ASICs programmables de la société Altera. Enfin en conclusion nous essaierons de dégager, tant vu par les enseignants que les étudiants, les principaux apports mais aussi imperfections, de cette expérience d'enseignement.