Simulation & émulation



Présentation

Il est bien difficile de réaliser, électroniquement, une console complète. Cela nécessite des heures de labeur pour imaginer son architecture, la définir précisément, choisir les composants, concevoir la console sous forme de circuit, le réaliser... pour finalement s'apercevoir en cours de route ou, pire, à la fin, qu'elle ne peut marcher ainsi.

Simulation

Une solution, encore plus aisée que la construction de maquettes de tests élémentaires, est de recourir à la simulation de circuits. Ces outils logiciels, commerciaux ou libres, en tout cas souvent à destination des professionnels, permettent de définir un circuit et ses conditions de fonctionnement, et de voir, en chaque point et de manière assez fidèle, comment il se comporte.

Emulation

Quand on monte d'un cran dans l'abstraction, afin de diminuer le niveau de détail (faute de pouvoir simuler précisément un circuit aussi complexe qu'une console), on quitte le domaine de l'électronique pour entrer dans celui de l'informatique pure et simple grâce à l'émulation, avec laquelle il ne s'agit plus de reproduire précisément les signaux électroniques et le comportement des composants, mais plutôt de fournir aux applications s'exécutant sur le matériel à émuler une interface semblable à celle d'origine, dans le but de les faire fonctionner sur une autre machine que la machine originelle.

Dans notre cas, cela reviendrait à adjoindre à un PC classique les couches logicielles nécessaires afin qu'il se comporte, grosso modo, comme la console se comporterait en de semblables circonstances. Là où le jeu prendrait tout son sel, c'est que ce serait l'émulation d'un matériel n'existant pas et, probablement, voué à ne jamais exister.

Que faire en la matière ?

Précisons que la simulation complète est en général hors de portée (a fortiori pour les particuliers), et que même l'émulation permet rarement de reproduire de manière fidèle (ne serait-ce que sur le plan de la vitesse) l'équipement d'origine.

En dehors des sous-circuits très bien circonscrits, à connotation très électronique analogique (où les signaux, leur niveau et leur dynamique importent), qui gagnent à faire l'objet d'une vraie simulation (ex : l'étage de conversion de la fenêtre vidéo informatique en signal interprétable par un téléviseur), des circuits peuvent gagner à être émulés, en l'espace de peu de temps, afin d'une part de mieux les comprendre voire de susciter la réflexion, d'autre part afin de les expurger des erreurs de conception les plus manifestes.

Cette "émulation bas niveau" pourrait prendre la forme d'un programme (par exemple écrit en python) dans lequel, très grossièrement, chaque composant, du processeur aux bus, serait simulé. Ainsi il serait possible de valider quelque chose d'aussi complexe que le chipset avant même de le réaliser, à mi-chemin entre simulation et émulation, et avec des programmes dédiés et non plus génériques.

En allant vers une abstraction plus poussée, notre projet OSDL pourrait être la couche de haut niveau masquant aux applications la plate-forme sur laquelle elles s'exécutent : un jeu développé avec OSDL pourrait être porté sous Once Sol avec des efforts considérablement moindres. Le piège dans lequel il est aisé de tomber est que, de fil en aiguille, on ne s'intéresse plus à la console en tant que telle : ce mode de développement pourrait être plus approprié à la réalisation de jeux sur PC qu'au développement d'une console...





N'hésitez pas à nous faire part de votre avis !

Si vous avez des remarques à formuler, ou si vous disposez d'informations plus détaillées ou plus récentes que celles présentées dans ce document, si vous avez remarqué des erreurs, oublis, ou points insuffisamment traités, ou si vous avez envie d'apporter une aide, aussi petite soit-elle, envoyez-nous un courriel !




[Retour en haut de page]

Dernière mise à jour : 19 Août 2004