• Aucun résultat trouvé

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 asynchrones

connu ; 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

in

et, 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

Documents relatifs