• Aucun résultat trouvé

2. Notions de base sur la conception asynchrone

2.3. Propriétés et avantages des circuits asynchrones

Cette section présente brièvement les caractéristiques spécifiques aux circuits asynchrones ainsi que les avantages liés à leur utilisation.

• Absence d’horloge

Il s’agit de la propriété la plus significative des circuits asynchrones et dont découle plusieurs avantages de leur utilisation. L’absence d’horloge dans les circuits asynchrones permet de s’affran-chir de beaucoup de problèmes et contraintes liées à sa présence. Ceci est de plus en plus vrai étant

Figure 2.5 – Implantation "weak feedback" de la cellule de Muller

donné les développements récents des circuits numériques, avec en premier plan leur miniaturi-sation. Cette miniaturisation impose des contraintes de plus en plus importantes sur les circuits de distribution d’horloge qui deviennent prépondérants dans les systèmes synchrones en terme de complexité, surface et consommation. Leur conception peut vite devenir un facteur limitant les performances dans les circuits synchrones. A contrario, dans les circuits asynchrones, les éléments qui assurent le contrôle local des données sont distribués dans l’ensemble du circuit et sont donc plus faciles à maîtriser. Ceci élimine les pics de consommation liés au fronts d’horloge, la consom-mation globale du circuit est donc mieux répartie dans le temps ce qui limite considérablement le bruit dans les lignes d’alimentation.

De plus, pour certaines classes de circuits asynchrones, le fonctionnement est indépendant des délais introduits par les opérateurs, ce qui élimine d’emblée les problèmes liés au clock skew ainsi qu’à la gigue d’horloge (jitter). L’optimisation de la vitesse des circuits asynchrones repose donc uniquement sur l’optimisation des protocoles de communication et des cellules elle-mêmes.

• Calcul en temps minimal et robustesse aux conditions de fonctionnement Les opérateurs asynchrones évaluent une fonction avec un temps variable qui dépend généra-lement des données en elles-même. De part les mécanismes de contrôle local cités précédemment, les données sont utilisables immédiatement après leur traitement tandis que, dans les circuits syn-chrones, le temps de traitement des données est limité par les temps les plus longs dans le circuit, ceux-ci peuvent en plus varier avec les conditions extérieures (température, tension d’alimentation) et la variabilité de procédé de fabrication. De ce fait, les circuits asynchrones sont potentiellement plus rapides et plus robustes que leurs homologues synchrones.

• Modularité et migration

L’utilisation de mécanismes de contrôle local dans les circuits asynchrones fait qu’ils sont naturellement très modulaires. Les différents blocs d’un système peuvent être assemblés comme des briques de base sans se préoccuper des problèmes de synchronisation. Ceci permet aussi une

distribution des tâches de manière plus aisée entre plusieurs concepteurs travaillant en parallèle sur un même système, ce qui favorise particulièrement la réutilisation de blocs et l’échange de propriétés intellectuelles (IP).

Le fonctionnement d’un circuit asynchrone est a priori indépendant de la réalisation des cellules qui le constituent pourvu que le protocole de communication soit respecté. Ainsi, il est facile de modifier l’implantation ou la technologie des cellules utilisées sans altérer l’aspect fonctionnel. Cette capacité de migration rend le style de conception asynchrone particulièrement attractif au vu de la rapidité des évolutions technologiques actuelles.

• Faible consommation

Cette propriété découle de plusieurs facteurs :

– L’absence d’horloge : dans les circuits récents, l’énergie dissipée par le système de distribution d’horloge et les éléments de mémorisation peut représenter jusqu’à 50% de la consommation d’un circuit.

– La mise en veille : un opérateur asynchrone qui ne traite pas de donnée ne consomme pas, les circuits asynchrones comprennent de manière intrinsèque une mise en veille locale des blocs qui ne fonctionnent pas à un moment donné.

– L’absence d’aléas : bien qu’ils ne sont pas gênants d’un point de vue fonctionnel dans les circuits synchrones, les aléas logiques impliquent quand même une consommation d’éner-gie supplémentaire inutile. La conception asynchrone suppose qu’il n’y ait aucun aléa afin d’obtenir des circuits corrects du point de vue fonctionnel.

– Souplesse vis-à-vis des conditions de fonctionnement : les circuits asynchrones étant plus robustes aux conditions de fonctionnement, il est aisé de réduire leur tension d’alimentation pour réduire leur consommation d’énergie.

2.4. Conclusion

Malgré le fort potentiel du style de conception asynchrone, son exploitation par les industriels est encore marginale par rapport au style de conception synchrone. Jusqu’au début des années 2000, il y avait un manque cruel d’outils de conception : ceux-ci ne couvraient pas l’ensemble du flot de conception et souffraient d’une mauvaise compatibilité avec les outils commerciaux. Ce n’est plus le cas actuellement : des outils et flots de conception qui s’intègrent avec les outils commer-ciaux existent maintenant. Le groupe CIS (Concurrent Integrated Systems) du laboratoire TIMA a développé l’outil TAST (Tima Asynchronous Synthesis Tool) dédié à la synthèse automatique de circuits QDI (Quasi-Delay Insensitive, il s’agit d’une classe de circuits asynchrones, c.f. l’annexe B) ou micropipelines. Depuis 2007, le développement de cet outil a été transféré dans une start-up grenobloise, la société Tiempo, qui propose un éventail d’IP asynchrones et un environnement de développement intégré dédié à la conception de circuits asynchrones (http ://www.tiempo-ic.com). Theseus Logic propose un flot de conception basé sur la logique NCL (Null Convention Logic), qui permet de spécifier entièrement des systèmes asynchrones. On peut également citer le flot de Handshake Solutions (Haste1). Du côté des universitaires, plusieurs outils ont été développés

ces dernières années ou sont en cours de développement. Par exemple, l’outil Petrify2, développé à l’UPC (Universitat Politècnica de Catalunya), permet la synthèse de circuits asynchrones SI (Speed Independent) à l’aide d’un type particulier de réseau de Petri (signal transition graphs). On peut également citer les outils MINIMALIST3(développé par l’université de Columbia) et Balsa4

(université de Manchester).

L’adoption de ces outils peut encore prendre un certain temps car les concepteurs spécialisés en logique asynchrone sont encore peu nombreux. L’autre facteur qui limite la démocratisation des technologies asynchrones est le manque de formation à ces techniques de conception alternatives. Le principe de discrétisation temporelle utilisé en conception synchrone est tellement ancré dans la manière de concevoir les systèmes qu’il est très difficile de le remettre en cause puisqu’on le retrouve à tous les stades de la conception. La conversion au mode de fonctionnement asynchrone demande une remise en cause profonde des habitudes des développeurs de circuits numériques, ce qui peut prendre quelques années.