lignes d’alimentation, à la fréquence de l’horloge, qui induisent un rayonnement
électro-magnétique concentré à ses harmoniques. Ce problème de bruit généré par le circuit prend
une importance d’autant plus grande que l’on traite des signaux de très faibles puissances.
Grâce au fonctionnement «flot de données» des circuits asynchrones, les traitements sont
distribués dans le temps. Cela implique que les appels de courant sur les lignes
d’alimen-tation sont, eux-aussi, beaucoup mieux répartis dans le temps, ce qui limite grandement
le bruit généré par les circuits asynchrones. Cette propriété de faible bruit a été exploitée
dès 1998, par l’équipementierPhilips qui a conçu le premier microcontrolleur asynchrone
intégré dans un pager grand public [77].
1.4.6 Modularité
La modularité des circuits et systèmes asynchrones est quasi parfaite. Cette propriété
s’appuie encore une fois sur le mécanisme de synchronisation locale implémenté dans tous
les éléments d’un système asynchrone. Il est alors très facile de construire une fonction
complexe par simple assemblage de composants élémentaires à la manière des «Légo».
Ceci est particulièrement intéressant pour la conception de systèmes complexes et pour la
réutilisation de modules déjà existants («Design and Reuse»).
1.4.7 Technologies déca-nanométriques
Comme précédemment évoqué, les circuits asynchrones sont très robustes vis-à-vis des
variations PVT. L’avènement des technologies déca-nanométriques fait de cette propriété
un argument décisif pour le recours à la technologie asynchrone. En effet, les phénomènes
de variabilité des procédés de fabrication deviennent de plus en plus prépondérants : avec
les technologies 32 nm et inférieures, on estime que des variations d’un facteur 3 à 4
pourront affecter les cellules identiques d’un même circuit et que des différences allant
jusqu’à un ordre de grandeur seront observables sur les fréquences de fonctionnement des
puces [1]. Avec de pareilles dispersions, l’approche complètement synchrone semble avoir
trouvé une limite : comment assurer des performances et des rendements de production
acceptables. Les circuits asynchrones, grâce à leur grande robustesse aux variations PVT,
sont une solution à ces problèmes.
1.5 Conception des circuits asynchrones
1.5.1 Classification des circuits asynchrones
Les circuits asynchrones sont généralement classifiés selon les hypothèses temporelles
effectuées lors de leur conception. De manière formelle, ces hypothèses correspondent aux
modèles de délais utilisés pour représenter les temps d’exécution des opérateurs et les
temps de propagation dans les interconnexions. Les modèles classiquement utilisés sont le
«délai fixe» qui correspond à une valeur parfaitement connue ; le «délai borné» où la valeur
n’est pas connue précisément mais comprise dans un intervalle qui, lui, est parfaitement
18
1. Conception de circuits asynchronesconnu ; et enfin, le «délai non-borné» pour lequel la valeur est finie mais non connue.
La robustesse d’un système est directement liée aux modèles de délais utilisés lors de sa
conception : plus les hypothèses temporelles sont faibles, plus la robustesse est grande.
La figure 1.9 donne une représentation des différentes classes de circuits asynchrones en
fonction des hypothèses temporelles effectuées et de la robustesse attendue.
Circuits Insensibles aux Délais - DI
Circuits Quasi Insensibles aux Délais - QDI
Circuits Indépendant de la Vitesse - SI Circuits Micropipeline Circuits de Huffman Robustesse Hypothèses Temporelles
Figure1.9 – Classification des circuits asynchrones
1.5.1.1 Circuits insensibles aux délais
Les circuits insensibles aux délais, ou «Delay Insensitive», représentent la classe de
circuits asynchrones la plus robuste. Le modèle de délai utilisé pour les portes et les
interconnexions est le modèle non-borné : le fonctionnement correct du circuit est alors
garanti quels que soient les délais introduits dans ces éléments. Ceci impose donc que
chaque récepteur d’un signal informe toujours l’expéditeur que l’information a été reçue.
En pratique, ce modèle de délai est excessivement restrictif au niveau de la conception
puisqu’il interdit l’utilisation des portes logiques classiques à plusieurs entrées et une seule
sortie. En effet, le changement d’état de la sortie de ce type de portes ne peut servir à
acquitter qu’un seul des opérateurs connectés à ses entrées. La solution pour concevoir ce
type de circuit consiste donc à utiliser des portes complexes à plusieurs entrées et plusieurs
sorties [17, 34].
1.5.1.2 Circuits quasi insensibles aux délais
Les circuits quasi insensibles aux délais, ou «Quasi Delay Insensitive», représentent
également une classe de circuits extrêmement robuste mais plus simple à concevoir que
les circuits DI. Le modèle de délai utilisé est à nouveau le modèle non-borné, mais une
hypothèse temporelle supplémentaire est ajoutée : l’hypothèse de fourches isochrones. Cela
consiste à supposer que deux fils qui relient la sortie d’un élément aux entrées de deux
éléments différents - une fourche - ont le même temps de propagation - l’isochronisme. Cette
hypothèse, facilement vérifiable par un routage soigné, permet de simplifier grandement la
1.5. Conception des circuits asynchrones
19
conception puisqu’elle donne accès à l’utilisation des portes logiques standards. En effet, en
faisant l’hypothèse qu’une fourche d’acquittement est isochrone, il est possible d’utiliser
le changement d’état de la sortie d’une porte logique pour acquitter tous les éléments
connectés à ses entrées. Ce sont les méthodes de conception et les propriétés de cette
classe de circuits que nous étudions plus particulièrement au laboratoire TIMA.
1.5.1.3 Circuits indépendants de la vitesse
Les circuits indépendants de la vitesse, ou «Speed Independent», sont équivalents à
des circuits QDI où toutes les fourches seraient supposées isochrones. En effet, pour la
conception de ce type de circuits, on utilise le modèle de délai non-borné pour les opérateurs
et on fait l’hypothèse que le temps de propagation dans les interconnexions est nul. Le
fait d’identifier clairement les fourches isochrones constitue un atout pour la conception
des circuits QDI : cela permet à un outils d’effectuer les vérifications nécessaires sur les
fourches sensibles, ce qui rend les circuits QDI plus sûrs [59].
1.5.1.4 Micropipeline
La technique micropipeline a été introduite par Ivan E. Sutherland [74]. Le principe
de base des micropipelines est de contrôler, avec des cellules de Muller, la propagation
des données dans une queue de type FIFO («First In, First Out») tel que représenté
sur la figure 1.10. Les opérateurs notés «R» sont des registres appelés «Event-Controlled
Storage Elements»qui présentent un fonctionnement particulier : l’entrée C («Capture»)
permet de capturer la donnée présente en entrée. Lorsque la donnée est mémorisée, la
sortie Cd est activée («Capture done»). L’entrée P («Pass») rend passant le registre pour
laisser circuler les données de l’entrée vers la sortie. Lorsque le registre est bien dans l’état
passant, la sortie Pd est activée («Pass done»). Les opérateurs notés «Comb.» sont des
blocs de traitements combinatoires qui peuvent être implémentés de manière classique.
Données C C R Délai Comb. R R Comb. C Délai Délai c cd pd p c cd pd p c cd pd p R_in Ack_in R_out Ack_out Comb.
Figure1.10 – Structure FIFO d’un circuit micropipeline
Lorsqu’un événement survient sur R
in, les données sont capturées dans le registre du
premier étage et maintenues à sa sortie pour permettre l’évaluation du calcul combinatoire.
L’événement se propage alors versAck
inet, après un délai calibré sur le temps d’exécution
de ce premier bloc combinatoire, arrive jusqu’au deuxième étage. Si le registre de cet
20
1. Conception de circuits asynchronesétage est dans l’état passant, alors les données en sortie du bloc combinatoire y sont
capturées et le registre du premier étage est rendu passant à nouveau pour lui permettre
de consommer une nouvelle donnée, et ainsi de suite. L’adoption du modèle de délai borné
pour le chemin de données ne permet pas de tirer parti de la variabilité des temps de
traitements combinatoires et rend cette classe de circuits moins robuste que les circuits
QDI. On note cependant qu’il est possible de contourner ces limitations en utilisant des
opérateurs combinatoires capables de générer leurs propres signaux de fin de calcul [59].
1.5.1.5 Circuits de Huffman
C’est de loin la classe de circuits asynchrones la moins robuste. Comme en synchrone,
la conception des circuits de Huffman [37] est basée sur les modèles de délai borné ou fixe
pour les portes logiques, pour les éléments de mémorisation et pour les fils. La fiabilité
de ce type de circuits est donc très dépendante des conditions de fonctionnement, et une
erreur de caractérisation des temps de propagation peut engendrer un non fonctionnement
du système.
1.5.2 Méthodes et outils de conception
Malgré les propriétés et les potentiels de la technologie asynchrone, le nombre de
réa-lisations industrielles reste très faible et demeure parfaitement marginal par rapport aux
réalisations synchrones. Plusieurs facteurs sont à prendre en considération pour expliquer
ceci.
Le premier facteur est le manque cruel d’outils de conception. En effet, même si des
outils existent, principalement issus du monde universitaire, ils ne couvrent souvent pas
l’ensemble du flot de conception et souffrent d’une mauvaise compatibilité avec les
ou-tils commerciaux. Pour répondre à ce manque d’ouou-tils, le groupe CIS du laboratoire
TIMA a développé l’outil TAST («Tima Asynchronous Synthesis Tool») dédié à la
syn-thèse des circuits asynchrones. Cet outil permet d’effectuer la synsyn-thèse automatique de
circuits QDI ou micropipeline à partir d’une description dans un langage de haut-niveau
appelé CHP («Communicating Hardware Process»). Depuis 2007, le développement de
cet outils a été transféré dans une start-up grenobloise, la société Tiempo, co-fondée
par Marc Renaudin et Serge Maginot, 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).
Par ailleurs, un deuxième facteur explique le lent démarrage de la technologie
asyn-chrone : le manque de formation des ingénieurs à cette technique de conception alternative.
Le principe de discrétisation temporelle utilisé en synchrone est un principe profondément
ancré dans les manières de concevoir les systèmes et, de fait, est très difficile à remettre
en cause. On le retrouve à tous les stades de la conception d’un système, depuis sa
Dans le document
Oscillateurs et architectures asynchrones pour le traitement des signaux radio impulsionnelle UWB
(Page 30-34)