• Aucun résultat trouvé

M´ ethodologies et outils de conception des circuits asynchrones

2.2 Conception des circuits asynchrones : principes fondamentaux

2.2.2 M´ ethodologies et outils de conception des circuits asynchrones

Le dernier paragraphe a pr´esent´e trois classes typiques des circuits asynchrones, l’objectif de ce paragraphe est d’introduire rapidement les m´ethodologies et les outils de conception pour ces types de circuits asynchrones.

En effet, il existe aujoud’hui quelques outils de conception qui s’int´eressent `a la synth`ese de circuits asynchrones mais un seul est commercialis´e. Philips est le seul industriel qui poss`ede un environnement de conception complet, « Handshake Technology design environment ». Les laboratoires universitaires poss`edent un cer- tain nombre d’outils mais qui souffrent d’une faible compatibilit´e entre eux et avec les environnements commerciaux, et qui trop souvent ne couvrent pas l’ensemble des phases de conception. Cependant, ceux-ci sont suffisants pour permettre `a la communaut´e universitaire de concevoir des circuits fonctionnels. Voici une liste de publications sur les m´ethodologies de conception de circuits asynchrones qui peut ˆ

etre consult´ee : [Hauc95A,Spar01P,Mart06A,AsyOu]. Le site web [AsyOu] recense tous les outils disponibles.

2.2.2.1 Circuits ind´ependants de la vitesse

La conception des circuits ind´ependants de la vitesse est actuellement l’une des m´ethodologies les plus ´etudi´ees et utilis´ees. Pour concevoir des circuits ind´ependants de la vitesse, nous pouvons utiliser deux m´ethodologies de conception `a base de graphes les plus connues : les graphes de transitions de signaux (Signal Transition Graphs ou STG) introduits par Chu, Leug, et Wanuga [Chu85A, Chu87S] et les diagrammes de changement de signal (Change Diagrams ou CD) introduits par Kishnevsky, Kondratyev, Taubin et Varshavsky [Kish92O].

Un graphe de transition de signaux (STG) sp´ecifie un circuit `a l’aide d’un forma- lisme proche des r´eseaux de Petri (Petri-Nets) [Mura89P] dans lequel les transitions sont ´etiquet´ees par les noms des r´eseaux. Ainsi, lorsqu’une transition est pass´ee cela correspond `a l’occurrence d’une transition du signal correspondant. La notation as- socie aux signaux le sens de la transition : un « + » signifie une transition positive et r´eciproquement un « - » signifie une transition n´egative. Il existe diff´erents types

de STG. Les premiers STG utilisaient les graphes de transitions de signaux marqu´es (Marked Graphs ou STG/MG). Ce sont des r´eseaux de Petri dans lesquels chaque place poss`ede au plus une entr´ee et une sortie. Ce type de graphe ne permet pas de sp´ecifier les conflits ou les choix, ainsi une transition active ne peut ˆetre d´esactiv´ee qu’en ´etant pass´ee. Ceci restreint en cons´equence la classe des circuits mod´elisables. Afin de permettre la sp´ecification de choix, conjointement au d´eveloppement d’al- gorithmes de synth`ese plus performants, ces graphes STG ont ensuite ´et´e ´etendus au mod`ele STG/IC (Input-Choice STG ) ou au mod`ele STG/NC (Non-input Choice STG ). Les diff´erentes propri´et´es de ces graphes ont ´et´e ´etudi´ees, telles que : vi- vacit´e (liveness), sˆuret´e (safety), persistance (persistency), assignation coh´erente d’´etats (consistent state assignement ), assignation unique d’´etat(unique state as- signement ), et graphes `a cycle unique de transition (single-cycle transitions). Des algorithmes ont ´et´e d´evelopp´es afin de tester ces propri´et´es et mˆeme de transformer les graphes pour qu’elles soient remplies (voir [Hauc95A]). La principale difficult´e de la synth`ese logique consiste bien sˆur `a obtenir une impl´ementation et un map- ping technologique sans al´ea. L’outil couramment utilis´e aujourd’hui par la com- munaut´e pour effectuer la synth`ese de contrˆoleurs asynchrones `a partir de STG est Petrify [Kond98H, Past98S].

Le diagramme de changement de signal (CD) est un mod`ele similaire aux STG, mais il ´evite quelques restrictions trouv´ees dans les STG. Comme STG, un CD a des nœuds marqu´es par des transitions, des arcs entre les transitions qui d´efinissent les s´equences autoris´ees des mises `a feu de transition. Dans les CD, nous distinguons trois types d’arcs : strong precedence, weak precedence, et disengageable strong prece- dence. Les CD sont pr´esent´es en d´etail dans [Kish94C]. Malheureusement, bien que les CD aient des possibilit´es que les STG n’ont pas, ils n’en ont pas suffisamment pour tous les circuits ind´ependants de la vitesse [Hauc95A].

2.2.2.2 Circuits insensibles aux d´elais

Les circuits insensibles aux d´elais sont robustes mais ce style de conception poss`ede des limitations impos´ees, cf. section 2.2.1.4. Afin de s’affranchir de ces li- mitations, il a ´et´e propos´e de concevoir un ensemble de modules de base qui ne sont pas n´ecessairement insensibles aux d´elais en interne mais qui garantissent l’insensibilit´e aux d´elais du syst`eme une fois assembl´es. Molnar, Fang et Rosen- berg [Moln85S, Rose88Q] ont d´evelopp´e une m´ethodologie de conception de tels modules bas´ee sur le formalisme des I-nets (graphes similaires aux r´eseaux de Petri). A partir de ces modules, Brundvand et Sporoull ont propos´es un outil de synth`ese utilisant le langage Occam comme formalisme d’entr´ee [Brun89T]. A chaque struc-

ture du langage correspond alors un module ou ensemble de module permettant son impl´ementation.

Une approche propos´ee sur la th´eorie des traces (trace theory) a ´et´e propos´ee par Ebergen [Eber91A]. Cette m´ethode propose aussi un ensemble de modules de base. Cependant le langage de sp´ecification utilis´e est le mˆeme pour d´ecrire les modules et le circuit, ce qui le rend primitif et difficile `a utiliser.

Plus r´ecemment, des travaux de l’Universit´e de Groningen visent `a d´eriver des circuits insensibles aux d´elais `a partir d’un langage formel par raffinement de pro- grammes [Mall99A].

2.2.2.3 Circuits quasi insensibles aux d´elais

La conception de ces circuits a ´et´e d´evelopp´ee `a Caltech par le groupe de A. Martin. Le groupe travaille sur une m´ethodologie de conception de circuits asyn- chrones qui offre `a la fois des facilit´es de conception dans un langage de haut niveau et une m´ethodologie de synth`ese qui assure des circuits corrects [Mart93S].

Le langage de sp´ecification, appel´e CHP (Communicating Hardware Processes), est issu de langage CSP (Communicating Sequential Processes) de C.A.R. Hoare [Hoar78C]. Un programme CSP consiste en un ensemble de processus qui calculent en parall`ele et communiquent entre eux `a travers des canaux. Ce mod`ele de proces- sus communicants est similaire `a la synchronisation locale des circuits asynchrones et `a leur mode de fonctionnement flot de donn´ees. A partir d’une sp´ecification du circuit dans ce langage, des r`egles de transformations successives permettent d’ob- tenir des ´equations bool´eennes qui s’impl´ementent dans la technologie cible. Cette m´ethode de synth`ese est ´eprouv´ee et a permis de concevoir un certain nombre de cir- cuits d’une complexit´e significative qui sont certainement parmi les plus performants aujourd’hui.

Cependant, cette m´ethodologie de conception est ´eloign´ee des m´ethodes de concep- tion classiques synchrones et ce pour plusieurs raisons. Tout d’abord, il existe ac- tuellement aucun outil d’aide `a la conception, que ce soit au niveau de la simulation du langage CHP de sp´ecification qu’au niveau de la synth`ese logique de ce type de circuits. De plus, la m´ethode de synth`ese s’attache `a concevoir uniquement des circuits d´edi´es optimis´ees (full-custom). Au contraire, les approches « cellules stan- dard » couramment utilis´es aujourd’hui, mˆeme si elles ne peuvent offrir les mˆemes niveaux de performances que des circuits d´edi´es, permettent une conception plus ra- pide et surtout offrent des possibilit´es de migration technologique plus importantes. Ces deux param`etres sont pr´epond´erants dans un contexte industriel.