Brevet FR2754368A1 — publié le 19980410

Cette invention concerne l'émulation logique de ma- tériel et elle concerne plus particulièrement l'optimisa- tion de circuits basés sur des bascules à déclenchement sur un niveau, pour l'émulation logique. Des émulateurs logiques de matériel constituent un outil puissant qui est utilisé au cours de la conception de circuits intégrés tels que des circuits intégrés spéciali- sés (connus de l'homme de l'art sous l'appellation "ASIC" pour "application specific integrated circuits") et des mi- croprocesseurs. Des systèmes d'émulation de matériel per- mettent à un concepteur de circuit de réaliser un équiva- lent logique du circuit matériel qu'il a conçu, avant de le réaliser sous la forme d'un circuit intégré. Ceci permet à l'utilisateur de déterminer si son circuit fonctionne comme prévu. Ceci permet également la conception conjointe d'élé- ments associés, tels qu'un logiciel. Des émulateurs de ma- tériel permettent également aux utilisateurs de vérifier que le circuit qu'ils ont conçu fonctionnera effectivement dans le système dans lequel le circuit intégré sera finale- ment incorporé (c'est-à-dire le "système cible"). Des ému- lateurs de l'art antérieur ont utilisé des circuits inté- grés logiques reprogrammables qui étaient interconnectés ensemble avec des ressources d'interconnexion programma- bles. Pour avoir des exemples de tels émulateurs, on se ré- férera aux brevets des E.U.A. nO 5 109 353, 5 036 473, 452 239 et 5 475 830 qui ont tous été cédés à la demande- resse. On peut également réaliser des systèmes d'émulation logique de matériel avec de nombreux microprocesseurs in- terconnectés en une configuration massivement parallèle. Pour avoir un exemple d'une telle structure, on se référera aux brevets des E.U.A. nO 4 306 286, 4 656 580, 4 914 612 et 5 551 013. Dans une telle structure, les signaux qui transitent entre chaque processeur sont multiplexés dans le temps. Ainsi, pour chaque cycle d'horloge, des connexions entre les processeurs sont établies de façon que les res- sources de processeur nécessaires à l'évaluation des opéra- tions logiques qui ont lieu pendant ce cycle d'horloge soient interconnectées. Après que les opérations logiques pour ce cycle d'horloge ont été évaluées, l'émulateur re- configure l'interconnexion entre les processeurs de façon que les ressources de processeur nécessaires soient inter- connectées pour évaluer les opérations logiques pendant le cycle d'horloge suivant. Le brevet des E.U.A. n 5 551 013, en particulier, décrit une structure préférée pour la mise en oeuvre de la présente invention. Des circuits basés sur des bascules à déclenchement sur un niveau (que l'on appelle ci-après en abrégé bascules "niveau") sont récemment devenus courants parmi les concep- teurs de circuits intégrés, du fait qu'ils peuvent être réalisés en utilisant des configurations géométriques de circuits intégrés plus petites que ne le permettent d'au- tres fonctions logiques séquentielles, comme des bascules à déclenchement sur un front (que l'on appelle ci-après en abrégé bascules "front"). Cependant, bien que des circuits basés sur des bascules "niveau" offrent des avantages lors- qu'ils sont mis en oeuvre dans le circuit intégré, des bas- cules "niveau" sont difficiles à mettre en oeuvre dans un système d'émulation basé sur des processeurs. Pour compren- dre la raison pour laquelle des bascules "niveau" sont dif- ficiles à mettre en oeuvre dans cet environnement, on va examiner brièvement les bascules "front" et les bascules "niveau". Cet examen se référera aux figures 1-4. Comme il est connu de l'homme de l'art, des bascules "front" sont des dispositifs séquentiels déclenchés sur un front. Ainsi, au moment de l'arrivée d'un front d'horloge ("CLK"), comme représenté sur la figure 2, la sortie ("Q") prendra la va- leur de l'entrée ("D"). La bascule "front" 10 qui est re- présentée sur les figures 1-2 est une bascule à déclenche- ment sur un front positif. Comme il est également connu de l'homme de l'art, contrairement aux bascules "front", les bascules "niveau" sont des dispositifs séquentiels sensi- bles à un niveau. Ainsi, dans une bascule "niveau", la sor- tie ("Q") suit l'entrée ("D") lorsque l'horloge ("CLK") passe au niveau haut. La sortie ("QI'") conserve ensuite cette valeur lorsque l'horloge ("CLK") passe au niveau bas. La bascule "niveau" 20 qui est représentée sur les figures 3-4 est une bascule "niveau" transparente positive. La figure 5a montre un schéma synoptique de base de l'élément logique d'un processeur d'émulation qui est ac- tuellement préféré. Les processeurs dans un système d'ému- lation basé sur des processeurs comprennent une pile d'en- trée 50, une pile de sortie 60 et une pile de table logique , comme représenté sur la figure 5a. La pile d'entrée 50 contient les signaux de données d'entrée qui constitueront les signaux d'entrée pour la logique d'un cycle d'horloge particulier. La pile de sortie 60 contient les signaux de sortie provenant de la logique qui sont évalués pendant un cycle d'horloge particulier. La pile de table logique 70 contient les primitives possibles qui peuvent être évaluées par le processeur. Ainsi, pour un cycle d'horloge donné, les signaux d'entrée de la pile d'entrée sont évalués en utilisant les primitives logiques de la pile de table logi- que. Le résultat de l'évaluation est placé dans la pile de sortie. Dans une structure de circuit intégré caractéristi- que, un circuit de génération d'horloge 100 génère un ou plusieurs signaux d'horloge à partir du signal d'horloge qui sera appliqué en entrée de la structure de circuit in- tégré. La figure 5b représente un schéma synoptique pour un circuit de génération d'horloge 100. Le circuit de généra- tion d'horloge 100 prend le signal d'horloge d'entrée FCLK (qui peut provenir du système cible) et il génère un ou plusieurs signaux d'horloge A et B. Les signaux d'horloge A et B sont des signaux d'horloge synchrones. Le circuit de génération d'horloge peut en outre générer des phases d'horloge A (signaux Aph_1 et Aph_2) et d'horloge B (signaux Bph_1 et Bph_2) ne se chevauchant pas. Les signaux d'horloge qui ne se chevauchent pas ne passent jamais au niveau haut en même temps. De façon générale, des ingé- nieurs de conception utilisent des horloges ne se chevau- chant pas lorsqu'ils conçoivent des circuits logiques com- portant de multiples bascules "niveau". La raison de ceci est la suivante: lorsque des ingénieurs de conception uti- lisent dans ces structures de circuit des signaux d'horloge qui se chevauchent, il devient difficile de maîtriser la propagation des signaux à travers les bascules "niveau" dans la structure de l'utilisateur. Ceci peut conduire à des conditions de fonctionnement qui dépendent de temps de propagation et à un comportement de circuit imprévisible, les deux étant indésirables. La manière selon laquelle fonctionnent des émula- teurs basés sur des processeurs est telle que des circuits basés sur des bascules "front" sont correctement émulés. Comme on l'a envisagé, des systèmes d'émulation basés sur des processeurs fonctionnent sur la base de cycles. Ainsi, pour un chemin de données déterminé, le processeur dans le- quel l'évaluation particulière a lieu organise la logique combinatoire en niveaux, c'est-à-dire que le processeur or- donne les niveaux de logique combinatoire pour garantir que les signaux d'entrée appropriés pour chaque niveau sont présents lorsque ce niveau de logique est évalué. Pour cha- que cycle d'émulation, le processeur évalue seulement la logique combinatoire qui se trouve entre les portes logi- ques séquentielles. Dans le cas d'un chemin de données con- tenant des bascules "front", une telle structure conduit à une émulation fonctionnellement correcte, du fait que des bascules "front" sont sensibles à des fronts. Par consé- quent, la sortie de la bascule "front" ne peut changer d'état que lorsqu'un front de l'horloge apparaît. Ainsi, dans un système d'émulation basé sur des processeurs, pour chaque cycle d'horloge, la bascule "front" transfère seule- ment le signal de données d'un chemin de données au sui- vant. Il en résulte que les bascules "front" font partie de façon inhérente du chemin de données dans un système d'ému- lation basé sur des processeurs. Contrairement à des bascules "front", des bascules "niveau" ne font pas partie de façon inhérente du circuit du fait de la nature transparente d'une bascule "niveau". Comme on l'a envisagé, des bascules "niveau" sont des dis- positifs sensibles à un niveau, dans lesquels l'état de la sortie ne change pas jusqu'à ce que le signal d'horloge que reçoit le dispositif s'approche du niveau auquel la bascule "niveau" est sensible. Du fait de cette caractéristique de bascules "niveau", des bascules "niveau" peuvent être transparentes. La transparence d'un chemin de circuit basé sur des bascules "niveau" se manifeste lorsque les entrées d'horloge d'une série de bascules "niveau" dans un chemin de circuit particulier sont toutes attaquées par la même phase d'horloge. Si les entrées d'horloge d'une série de bascules "niveau" sont attaquées en même temps, les signaux de sortie de chacun des chemins de données traversent di- rectement les bascules "niveau", c'est-à-dire que ces der- nières sont transparentes. Lorsque la possibilité de trans- parence est présente, l'émulateur basé sur des processeurs sera incapable de déterminer l'endroit auquel les chemins de données se terminent. Cette caractéristique rend problé- matique l'émulation de circuits basés sur des bascules "niveau". Par conséquent, dans un système d'émulation basé sur des processeurs, comme celui qui est décrit dans le brevet des E.U.A. no 5 551 013, l'émulation de circuits ba- sés sur des bascules "niveau" peut être non satisfaisante. Exactement comme dans un circuit basé sur des bas- cules "front", une branche de circuit d'un circuit basé sur des bascules "niveau" de type caractéristique contient un chemin de données qui est constitué par une logique combi- natoire attaquant les entrées des bascules "niveau". La fi- gure 6 montre un exemple d'une telle branche de circuit 200. La branche de circuit 200 de la figure 6 comprend une bascule "niveau" 210 dont la sortie Q attaque un chemin de données 215. Le chemin de données 215 attaque l'entrée D d'une bascule "niveau" 220. La sortie Q de la bascule "niveau" 220 attaque un chemin de données 225, qui attaque l'entrée D d'une bascule "niveau" 230. L'émulateur désire évaluer l'action du circuit 200 sur un signal de données présent à l'entrée D de la bascule "niveau" 210, pour un cycle d'émulation. Ceci signifie que l'émulateur évalue le chemin de signal à partir d'un élément logique séquentiel jusqu'à l'élément séquentiel suivant. Cependant, si chacune des bascules "niveau" 210, 220 et 230 est attaquée par le même signal d'horloge (ou la même phase du même signal d'horloge), lorsque chacune des bascules "niveau" 210, 220, 230 reçoit un front d'horloge, toutes les bascules "niveau" seront transparentes en même temps. De ce fait, les bascu- les "niveau" 210, 220, 230 transmettront directement à leurs sorties Q le signal présent sur leurs entrées D, c'est-à-dire que les bascules "niveau" seront transparen- tes. Du fait de cette transparence, l'émulateur est incapa- ble d'évaluer l'action que le circuit 200 a eue sur le si- gnal de données au cours d'un seul cycle d'émulation. Par exemple, si les bascules "niveau" 210 et 230 sont attaquées par le même signal d'horloge (ou la même phase du même si- gnal d'horloge phl), et si la bascule "niveau" 220 est at- taquée par un signal d'horloge différent, qui n'est pas en chevauchement (ou une phase différente du même signal d'horloge ph2), les bascules "niveau" ne sont pas mutuelle- ment transparentes. D'autre part, si la bascule "niveau" 210 et la bascule "niveau" 220 sont attaquées par le même signal d'horloge (ou la même phase du même signal d'hor- loge), et si la bascule "niveau" 230 est attaquée par un signal d'horloge différent, qui n'est pas en chevauchement (ou une phase différente, qui n'est pas en chevauchement, du même signal d'horloge), la bascule "niveau" 210 est transparente pour la bascule "niveau" 220. Cependant, la bascule "niveau" 220 n'est pas transparente pour la bascule "niveau" 230. La raison de ceci consiste en ce que le si- gnal de l'entrée D de la bascule "niveau" 220 dépend du si- gnal de la sortie Q de la bascule "niveau" (non représen- tée) qui précède la bascule "niveau" 210, du fait que la bascule "niveau" 220 est attaquée par le même signal d'hor- loge que la bascule "niveau" 210 (la bascule "niveau" 210 est transparente). Au contraire, la valeur du signal de l'entrée D de la bascule "niveau" 230 dépend du signal de la sortie Q de la bascule "niveau" 220, du fait que les bascules "niveau" 220 et 230 sont attaquées par des signaux d'horloge différents (c'est-à-dire que la bascule "niveau" 220 n'est pas transparente). Au contraire, des bascules "front" ne peuvent pas être transparentes. De ce fait, des bascules "front" de- viennent inhérentes dans un environnement d'émulation basé sur des cycles, c'est-à-dire que les signaux de sortie du chemin de données 215 et du chemin de données 225 seront respectivement enregistrés dans les bascules "front" 220 et 230. Cette propriété des bascules "front" les rend idéales pour ce type d'environnement d'émulation. Au contraire, la transparence des bascules "niveau" les rend difficiles à émuler. Bien qu'il soit possible de remplacer simplement les bascules "niveau" par des bascules "front" dans le cir- cuit de l'utilisateur et de suréchantillonner le signal qui est appliqué aux bascules "front" pour obtenir l'effet de transparence désiré, un tel procédé conduit à des vitesses d'émulation notablement inférieures. Une vitesse d'émula- tion réduite est très indésirable. On a donc besoin d'un procédé d'optimisation de circuits basés sur des bascules "niveau", pour l'émulation dans un système d'émulation basé sur des processeurs. La présente invention surmonte les problèmes et les inconvénients de l'art antérieur par un procédé original d'optimisation d'un circuit logique d'utilisateur. Les pro- cédés de la présente invention travaillent en analysant le circuit de l'utilisateur pour déterminer s'il contient des bascules "niveau". Si le circuit contient des bascules "niveau", les modes de réalisation de la présente invention déterminent alors quelles sont les bascules "niveau" dans le circuit de l'utilisateur qui doivent être transparentes, c'est-àdire que la présente invention détermine quelles bascules "niveau" du circuit de l'utilisateur sont des bas- cules "niveau" transparentes. Des bascules "niveau" consé- cutives qui sont attaquées par la même phase du même signal d'horloge (ou par le même signal d'horloge) sont transpa- rentes. Pour les bascules "niveau" dans un circuit d'utili- sateur qui ne sont pas transparentes, la présente invention transforme la bascule "niveau" dans le circuit de l'utili- sateur en une bascule "front". Si la bascule "niveau" dans le circuit de l'utilisateur est transparente, la présente invention doit tenir compte de la transparence de la bas- cule "niveau" lorsqu'elle effectue l'optimisation. Si la bascule "niveau" transparente n'a pas une entrée de valida- tion d'horloge, elle est transformée en un amplificateur- séparateur asynchrone. Si la bascule "niveau" transparente a une entrée de validation, elle est transformée en un cir- cuit logique dont le signal d'entrée provenant du chemin de données qui arrive à la bascule "niveau" est placé à la fois sur l'entrée D de la bascule "front" et sur l'entrée d'un amplificateur-séparateur asynchrone. Le signal de la sortie Q de la bascule "front" est appliqué à la première entrée de données d'un multiplexeur "deux à un", tandis que le signal de sortie de l'amplificateur-séparateur asyn- chrone est appliqué à la seconde entrée de données du mul- tiplexeur "deux à un". Le signal d'entrée de sélection du multiplexeur "deux à un" est fourni par le signal de vali- dation qui était le signal d'entrée d'origine de la bascule "niveau" transparente. Ce même signal est également appli- qué à l'entrée de validation de la bascule "front". Si nécessaire, la présente invention peut convertir des circuits d'une structure multi-horloge (horloges multi- ples avec de multiples phases ne se chevauchant pas) en une structure à une seule horloge. Comme on l'envisagera, cette étape n'est pas nécessaire si les processeurs d'émulation peuvent accepter plus d'un signal d'horloge. Plus précisé- ment, la présente invention ajoute des portes logiques, qui sont des portes ET dans un mode de réalisation préféré, aux entrées de validation d'horloge des bascules "front". Les portes logiques ont à titre de premier signal d'entrée le signal de validation qui formait le signal d'entrée de la bascule "niveau" du circuit de l'utilisateur. Un second si- gnal d'entrée de la porte logique est le signal d'horloge qui formait le signal d'entrée d'horloge de la bascule "niveau" non optimisée. Ce signal d'horloge est inversé avant d'être appliqué à la porte logique. D'autres caractéristiques et avantages de l'inven- tion seront mieux compris à la lecture de la description qui va suivre de modes de réalisation, donnés à titre d'exemples non limitatifs. La suite de la description se réfère aux dessins annexés, dans lesquels: La figure 1 est un schéma d'un élément logique con- sistant en une bascule "front". La figure 2 est une représentation graphique des oscillogrammes de signal pour des exemples de signal d'hor- loge, de signal d'entrée et de signal de sortie pour la bascule "front" de la figure 1. La figure 3 est un schéma d'un élément logique con- sistant en une bascule "niveau". La figure 4 est une représentation graphique des oscillogrammes de signal pour des exemples de signal d'hor- loge, de signal d'entrée et de signal de sortie pour la bascule "niveau" de la figure 3. La figure 5a est un schéma synoptique de base de l'architecture d'un élément logique d'un processeur d'ému- lation préféré, pour l'utilisation dans un système d'émula- tion basé sur des processeurs. La figure 5b est un schéma synoptique d'un circuit de génération d'horloge. La figure 6 est un schéma d'un circuit logique basé sur des bascules "niveau", avant son optimisation par les procédés de la présente invention. La figure 7 est un schéma d'un circuit logique basé sur des bascules "niveau" ayant des bascules "niveau" con- sécutives dont les entrées d'horloge sont attaquées par différentes phases du même signal d'horloge. La figure 8 est un schéma montrant une optimisation par l'utilisation des procédés de la présente invention. La figure 8a montre des oscillogrammes de signal pour une bascule "niveau" transparente positive et une bas- cule "front" à déclenchement sur un front négatif. La figure 9 est un schéma montrant une optimisation supplémentaire utilisant les procédés de la présente inven- tion. La figure 10 est un schéma du circuit logique de la figure 8, après optimisation par l'utilisation des procédés de la présente invention. La figure 11 est un schéma d'un circuit logique ba- sé sur des bascules "niveau" ayant des bascules "niveau" consécutives dont les entrées d'horloge sont attaquées par la même phase du même signal d'horloge. La figure 12 est un schéma montrant une optimisa- tion supplémentaire utilisant les procédés de la présente invention. La figure 13 est un schéma montrant une optimisa- tion supplémentaire utilisant les procédés de la présente invention. La figure 14 est un schéma montrant une optimisa- tion supplémentaire utilisant les procédés de la présente invention. La figure 15 est un schéma du circuit logique de la figure 11, après optimisation par l'utilisation des procé- dés de la présente invention. La figure 16 est un schéma du circuit logique de la figure 11, après optimisation par l'utilisation des procé- dés de la présente invention, dans lequel l'une des bascu- les "niveau" n'a pas une entrée de validation. La figure 17 est un schéma d'un circuit logique ba- sé sur des bascules "niveau" dans lequel les entrées d'hor- loge de bascules "niveau" consécutives sont attaquées par la même phase d'horloge du même signal d'horloge. La figure 18 est un schéma du circuit logique de la figure 17, après optimisation par l'utilisation des procé- dés de la présente invention. La figure 19 est un schéma d'un circuit logique ba- sé sur des bascules "niveau" dans lequel les entrées d'hor- loge de bascules "niveau" consécutives sont attaquées par la même phase d'horloge du même signal d'horloge. La figure 20 est un schéma du circuit logique de la figure 19, après optimisation par l'utilisation des procé- dés de la présente invention. La figure 21 est un schéma d'un circuit logique ba- sé sur des bascules "niveau" à horloges multiples, dans le- quel les entrées d'horloge de bascules "niveau" consécuti- ves sont attaquées par la même phase du même signal d'hor- loge. La figure 22 est un schéma du circuit logique de la figure 21 après optimisation par l'utilisation des procédés de la présente invention. On va maintenant décrire le procédé de l'invention qui est actuellement préféré, en se référant aux figures. * La présente invention effectue des transformations dans le circuit logique de l'utilisateur avant l'émulation. Avant d'émuler le circuit, un système d'émulation logique utilisant les concepts de la présente invention évalue le circuit et il l'optimise pour l'émulation en utilisant une logique transformée. Le circuit optimisé permet à la pré- sente invention d'émuler un équivalent logique du circuit, ce qui a pour effet de préserver les fonctions de l'émula- tion, dont l'une est la vérification fonctionnelle du cir- cuit. Par conséquent, les transformations optimisent le circuit pour l'émulation. Les transformations que la présente invention ap- porte au circuit logique qui subit l'émulation sont les suivantes. La présente invention transforme en un circuit basé sur des bascules "front" des circuits basés sur des bascules "niveau" qui ont de multiples horloges, avec de multiples phases ne se chevauchant pas. Si on le désire, la présente invention peut transformer le circuit de l'utili- sateur en un circuit à une seule horloge. La présente in- vention analyse le circuit et, pour chaque bascule "niveau", elle détermine quel est le type de transformation qui est exigé pour maintenir l'équivalence logique. Des processeurs d'émulation actuellement préférés ont seulement la possibilité d'accepter un seul signal d'horloge. Par conséquent, la présente invention optimise le chemin d'hor- loge en convertissant le circuit en un système à une seule horloge qui utilise l'horloge maîtresse du processeur d'émulation. Si on utilise des processeurs d'émulation qui ont la possibilité de fonctionner avec des horloges multi- ples, la conversion du système en un système à une seule horloge n'est pas nécessaire. Pour des bascules "niveau" qui sont dans des étages consécutifs dont les entrées d'horloge ("HRLG")sont atta- quées par différentes phases de l'horloge, c'est-à-dire la phase 1 (Aph_l) et la phase 2 (Aph_2), les bascules "niveau" sont non transparentes. Un tel circuit est repré- senté sur la figure 7. La branche de circuit 300 de la fi- gure 7 comprend la bascule "niveau" 310 dont la sortie Q attaque le chemin de données 315. Le signal d'entrée de la bascule "niveau" 310 provient du chemin de données 305. Le chemin de données 315 attaque l'entrée D de la bascule "niveau" 320. La sortie Q de la bascule "niveau" 320 atta- que le chemin de données 325, qui attaque l'entrée D de la bascule "niveau" 330. Les entrées de validation ("VAL")des bascules "niveau" 310, 320 et 330 reçoivent respectivement des signaux E_1, E_2 et E_3. L'entrée d'horloge de la bas- cule "niveau" 310 est attaquée par le signal d'horloge Aph_i; l'entrée d'horloge de la bascule "niveau" 320 est attaquée par le signal d'horloge Aph_2; et l'entrée d'hor- loge de la bascule "niveau" 330 est attaquée par le signal d'horloge Aph_l. Les signaux d'horloge Aph_l et Aph_2 sont des phases différentes du même signal d'horloge maîtresse FCLK, comme on le voit sur la figure 5. Du fait qu'aucune des bascules "niveau" successives n'est attaquée par la même phase du signal d'horloge maî- tresse FCLK, une condition de transparence n'existe pas. Par conséquent, en utilisant les concepts de la présente invention, on peut transformer la bascule "niveau" en une bascule "front". Cette optimisation de base est représentée sur la figure 8. La bascule "niveau" 250 de la figure 8 re- çoit sur son entrée D le signal de sortie d'un chemin de données 255. Un signal E est appliqué à l'entrée de valida- tion de la bascule "niveau" 250 et l'entrée d'horloge de cette bascule est attaquée par le signal phl. Du fait qu'il n'y a pas de transparence, la bascule "niveau" 250 peut être transformée en une bascule "front" 260. Le signal de l'entrée D de la bascule "front" 260 est le signal de sor- tie du chemin de données 255 qui attaque également la bas- cule "niveau" 250. La bascule "front" 260 reçoit le même signal E sur son entrée de validation. Le signal d'entrée d'horloge de la bascule "front" 260 est le signal d'horloge phl inversé. La figure 8a montre des oscillogrammes de si- gnaux qui expliquent pourquoi le signal d'entrée d'horloge de la bascule "front" 260 est le signal d'horloge phl in- versé. Plus précisément, une bascule "niveau" a besoin de mémoriser la valeur d'entrée (D) au moment auquel le signal d'horloge phl est au niveau bas. Une bascule "front" à dé- clenchement sur un front négatif (c'est-à-dire une bascule "front" avec le signal d'entrée d'horloge inversé) mémori- sera le signal d'entrée D au moment auquel le signal d'hor- loge phl est au niveau bas. Après que la bascule "niveau" 250 a été transformée en bascule "front" 260, la bascule "front" peut être trans- formée en un système à une seule horloge qui utilise l'hor- loge maîtresse du système. Cette transformation est repré- sentée sur la figure 9. Comme représenté sur la figure 9, la présente invention ajoute la porte logique 265 et elle place le signal de sortie de la porte logique 265 sur l'en- trée de validation de la bascule "front" 260. Dans un mode de réalisation préféré, la porte logique 265 est une porte ET. La porte logique 265 a pour premier signal d'entrée le signal de validation E qui constituait le signal d'entrée de validation E de la bascule "niveau" 250. Le second si- gnal d'entrée de la porte logique 265 est le signal de phase d'horloge phl inversé. L'horloge maîtresse FCLK du système cible est ensuite placée sur l'entrée d'horloge de la bascule "front" 260. Le circuit optimisé 340 correspond au circuit basé sur des bascules "niveau" d'origine, de la figure 7, est représenté sur la figure 10. Comme on le voit sur la figure , la présente invention a transformé les bascules "niveau" 310, 320 et 330 en bascules "front" respectives 350, 360 et 370. Le chemin de données 305, le chemin de données 315 et le chemin de données 325 restent les mêmes. De plus, de la manière décrite ci-dessus, la présente in- vention a ajouté une logique aux entrées de validation des bascules "front" 350, 360 et 370, pour convertir le circuit en un circuit à une seule horloge. Comme on l'a envisagé, cette étape n'est pas nécessaire si les processeurs d'ému- lation peuvent accepter plus d'un signal d'horloge. Plus précisément, la présente invention a ajouté des portes lo- giques 375, 380 et 385. Dans un mode de réalisation préféré qui est représenté sur la figure 10, les portes logiques 375, 380 et 385 sont des portes ET. La sortie de la porte logique 375 attaque l'entrée de validation de la bascule "front" 350, la sortie de la porte logique 380 attaque l'entrée de validation de la bascule "front" 360, et la sortie de la porte logique 385 attaque l'entrée de la bas- cule "front" 370. Les portes logiques 375, 380 et 390 ont à titre de premier signal d'entrée les signaux de validation qui constituaient les signaux d'entrée des bascules "niveau" 310, 320 et 330 du circuit non optimisé, 300. Ain- si, la porte logique 375 a pour premier signal d'entrée le signal de validation E_1, la porte logique 380 a pour pre- mier signal d'entrée le signal de validation E_2 et la porte logique 385 a pour premier signal d'entrée le signal de validation E_3. Les portes logiques 375, 380 et 390 ont à titre de second signal d'entrée le signal de phase d'hor- loge inversé. Ainsi, la porte logique 375 a pour son second signal d'entrée le signal d'horloge Aph_1 inversé, la porte logique 380 a pour son second signal d'entrée le signal d'horloge Aph_2 inversé et la porte logique 385 a pour son second signal d'entrée le signal d'horloge Aph_1 inversé. Contrairement au circuit 300, des bascules "niveau" dans des étages consécutifs d'une branche de circuit dont les entrées d'horloge sont attaquées par la même phase de l'horloge sont transparentes. Comme envisagé ci-dessus, lorsque la transparence existe, la transformation de base en bascule "front" n'est pas possible, du fait que le cir- cuit émulé doit tenir compte de la transparence, ce qui n'est pas possible avec une bascule "front" elle-même. La figure 11 montre un circuit 400 dans lequel les bascules "niveau" présentent la transparence. Le circuit 400 de la figure 11 comprend la bascule "niveau" 410 dont la sortie Q attaque le chemin de données 415. Le signal d'entrée de la bascule "niveau" 410 provient du chemin de données 405. Le chemin de données 415 attaque l'entrée D de la bascule "niveau" 420. La sortie Q de la bascule "niveau" 420 atta- que le chemin de données 425, qui attaque l'entrée D de la bascule "niveau" 430. Les entrées de validation des bascu- les "niveau" 410, 420 et 430 reçoivent respectivement les signaux E_1, E_2 et E_3. L'entrée d'horloge de la bascule "niveau" 410 est attaquée par le signal d'horloge Aph_l; l'entrée d'horloge de la bascule "niveau" 420 est attaquée par le signal d'horloge Aph_2; et l'entrée d'horloge de la bascule "niveau" 430 est également attaquée par le signal d'horloge Aph_2. Les signaux d'horloge Aph_1 et Aph_2 sont des phases différentes du même signal d'horloge maîtresse FCLK, comme on le voit sur la figure 5. Du fait que les entrées d'horloge des bascules "niveau" 420 et 430 sont attaquées par le même signal d'horloge, par exemple la même phase du même signal d'hor- loge maîtresse FCLK, les bascules "niveau" 420 et 430 sont mutuellement transparentes. Par conséquent, la bascule "niveau" 420 ne peut pas être transformée en une bascule "front" seule. Les optimisations de base de la présente in- vention pour des bascules "niveau" transparentes sont re- présentées sur les figures 12 et 13. La bascule "niveau" 450 de la figure 12 reçoit sur son entrée D le signal de sortie d'un chemin de données 455. Un signal E est appliqué à l'entrée de validation de la bascule "niveau" 450, et l'entrée d'horloge de cette bascule est attaquée par le si- gnal phl. La bascule "niveau" 460 de la figure 12 reçoit sur son entrée D le signal de sortie d'un chemin de données 465. La bascule "niveau" 460 n'a pas d'entrée de valida- tion. Dans le cas de la bascule "niveau" 460 avec une en- trée de validation, la bascule "niveau" 460 est transformée en un amplificateur-séparateur asynchrone. L'amplificateur- séparateur asynchrone permet au signal qui provient du che- min de données 465 de le traverser directement en direction du chemin de données suivant, en maintenant ainsi la trans- parence. Au contraire, lorsqu'une bascule "niveau" a des en- trées de validation, comme la bascule "niveau" 450, la transformation crée deux chemins. Le premier chemin qui est créé par la transformation comporte une bascule "front" 470 avec une entrée d'horloge inversée, et le second chemin comporte un amplificateur-séparateur asynchrone 475. Une telle transformation a lieu du fait que la bascule "niveau" 450 peut être transparente ou non transparente, en fonction de l'état de l'entrée de validation. Si la bascule "niveau" 450 est une bascule "niveau" à transparence positive et est validée, alors la bascule "niveau" 450 est transparente. Si la bascule "niveau" 450 est une bascule "niveau" à transpa- rence positive et est invalidée, alors la bascule "niveau" 450 n'est pas transparente. Par conséquent, pour des bascu- les "niveau" qui sont dans des étages consécutifs et dont les entrées d'horloge sont attaquées par le même signal de phase d'horloge (par exemple le signal d'horloge phl), les modes de réalisation de la présente invention transforme- ront la bascule "niveau" 450 de la façon suivante. Le si- gnal de sortie du chemin de données 455 sera transmis à l'entrée D de la bascule "front" 470. Le signal de sortie du chemin de données 455 sera également transmis à l'entrée de l'amplificateur-séparateur asynchrone 475. Le signal de la sortie Q de la bascule "front" 470 est transmis à une première entrée de données du multiplexeur 480. Le signal de sortie de l'amplificateur-séparateur asynchrone 475 est transmis à une seconde entrée de données du multiplexeur 480. Le signal de validation E est transmis à la fois à l'entrée de validation de la bascule "front" 470 et à l'en- trée de sélection du multiplexeur 480. Ainsi, en fonction de l'état de l'entrée de validation, la sortie Q de la bas- cule "front" 470 ou la sortie de l'amplificateur-séparateur 475 sera commutée vers la sortie du multiplexeur 480. Par exemple, si le signal de validation est "haut", la bascule "niveau" 450 est transparente. Dans le circuit transformé, si le signal de validation est "haut", le signal de valida- tion qui est transmis à l'entrée de sélection du multi- plexeur 480 "sélectionne" le signal sur la seconde entrée de données, qui est le signal de sortie de l'amplificateur- séparateur 475. Par conséquent, le signal de sortie de l'amplificateurséparateur 475 est placé sur la sortie du multiplexeur 480. Au contraire, si le signal de validation est "bas", la bascule "niveau" 450 n'est pas transparente. Dans le circuit transformé, si le signal de validation est "bas", le signal de validation qui est transmis à l'entrée de sélection du multiplexeur 480 "sélectionne" le signal sur la première entrée de données, qui est le signal de la sortie Q de la bascule "front" 470. Par conséquent, le si- gnal de la sortie Q de la bascule "front" 470 est placé sur la sortie du multiplexeur 480. Après que la bascule "niveau" 450 ou la bascule "niveau" 460 a été transformée, les circuits transformés peuvent être transformés en un système à une seule horloge qui utilise l'horloge maîtresse du système, si on désire un système à une seule horloge. Dans le cas de la bascule "niveau" 460, qui a été transformée en un amplificateur- séparateur asynchrone, aucune transformation supplémentaire n'est nécessaire. Cependant, la bascule "niveau" 450, qui a une entrée de validation, et qui a été transformée pour donner le circuit bascule "front"/amplificateur- séparateur/multiplexeur de la figure 12, exige effective- ment une transformation supplémentaire. Cette transforma- tion est représentée sur la figure 14. Comme représenté sur la figure 14, la présente invention ajoute la porte logique 485 et elle place le signal de sortie de la porte logique 485 sur l'entrée de validation de la bascule "front" 470. Dans un mode de réalisation préféré, la porte logique 485 est une porte ET. La porte logique 485 a pour premier si- gnal d'entrée le signal de validation E qui constituait le signal d'entrée de validation E de la bascule "niveau" 450. Le second signal d'entrée de la porte logique 485 est le signal de phase d'horloge phl inversé. L'horloge maîtresse du système cible, FCLK, est ensuite placée sur l'entrée d'horloge de la bascule "front" 470. Le circuit optimisé 500 correspondant au circuit basé sur des bascules "niveau" d'origine, de la figure 11, est représenté sur la figure 15. Comme on le voit sur la figure 15, la présente invention a transformé la bascule "niveau" 410 en une bascule "front" 510. Le chemin de don- nées 405 reste le même. De plus, de la manière décrite ci- dessus, la présente invention a ajouté une logique à l'en- trée de validation de la bascule "front" 510, pour conver- tir le circuit en un circuit à une seule horloge. Comme on l'a envisagé, cette étape n'est pas nécessaire si les pro- cesseurs d'émulation qui sont utilisés dans le système d'émulation peuvent accepter plus d'un signal d'horloge. Plus précisément, la présente invention a ajouté la porte logique 505. Dans un mode de réalisation préféré qui est représenté sur la figure 15, la porte logique 505 est une porte ET. La sortie de la porte logique 505 attaque l'en- trée de validation de la bascule "front" 510. La porte lo- gique 505 a pour premier signal d'entrée le signal de vali- dation E_1 qui constituait le signal d'entrée de validation de la bascule "niveau" 410 du circuit 400 non optimisé. La porte logique 505 a pour second signal d'entrée le signal de phase d'horloge Aph_l inversé. Du fait que la bascule "niveau" 420 est la première d'une série de deux bascules "niveau" consécutives dont les entrées d'horloge sont attaquées par la même phase de l'horloge (Aph_2), la bascule "niveau" 420 est transparente pour la bascule "niveau" 430 et elle doit être transformée pour donner le circuit bascule "front"/amplificateur- séparateur/multiplexeur de la figure 14. Par conséquent, la sortie Q de la bascule "front" 510 attaque le chemin de données 415, dont la sortie attaque à la fois l'entrée D de la bascule "front" 520 et l'entrée de l'amplificateur- séparateur asynchrone 518. Le signal de la sortie Q de la bascule "front" 520 est transmis à la première entrée de données du multiplexeur 522, tandis que le signal de sortie de l'amplificateur-séparateur asynchrone 518 est transmis à la seconde entrée de données du multiplexeur 522. Le signal de validation E_2 est un premier signal d'entrée de la porte logique 515 et la phase d'horloge Aph_2 inversée est un second signal d'entrée de la porte logique 515. Le si- gnal de sortie de la porte logique 515 est transmis à la fois à l'entrée de validation de la bascule "front" 520 et à l'entrée de sélection du multiplexeur 522. Du fait que la bascule "niveau" 430 suit une bascule "niveau" dont l'en- trée d'horloge est attaquée par la même phase d'horloge, mais est suivie par une bascule "niveau" dont l'entrée d'horloge est attaquée par une phase différente de l'hor- loge, la présente invention transforme la bascule "niveau" 430 en bascule "front" 530. Comme on l'a envisagé, la rai- son de ceci consiste en ce que la bascule "niveau" 430 n'est pas transparente pour la bascule "niveau" (non repré- sentée) qui la suit. Par conséquent, le signal de sortie du multiplexeur 522 est appliqué à l'entrée du chemin de don- nées 425. Le signal de sortie du chemin de données 425 est transmis à l'entrée D de la bascule "front" 530. De plus, de la manière décrite cidessus, la présente invention a ajouté une logique à l'entrée de validation de la bascule "front" 530 pour convertir le circuit en un circuit à une seule horloge. Comme on l'a envisagé, cette étape n'est pas nécessaire si les processeurs d'émulation peuvent accepter plus d'un signal d'horloge. Plus précisément, la présente invention a ajouté la porte logique 525. Dans un mode de réalisation préféré qui est représenté sur la figure 15, la porte logique 525 est une porte ET. La sortie de la porte logique 525 attaque l'entrée de validation de la bascule "front" 530. La porte logique 525 a pour premier signal d'entrée le signal de validation E_3 qui constituait le si- gnal d'entrée de validation de la bascule "niveau" 430 du circuit 400 non optimisé. La porte logique 525 a pour se- cond signal d'entrée le signal de phase d'horloge Aph_2 in- versé. Si la bascule "niveau" 410 du circuit 400 de la fi- gure 11 n'avait pas de logique de validation, la présente invention la transformerait de la manière qui est représen- tée sur la figure 16. Comme on le voit sur la figure 16, la présente invention a transformé la bascule "niveau" 410 en une bascule "front" 510. Le chemin de données 405 reste le même. De plus, de la manière décrite ci-dessus, la présente invention a ajouté une logique à l'entrée de validation de la bascule "front" 510 de la figure 16, pour convertir le circuit en un circuit à une seule horloge. Comme on l'a en- visagé, cette étape n'est pas nécessaire si les processeurs d'émulation peuvent accepter plus d'une horloge. Plus pré- cisément, la présente invention a ajouté la porte logique 505. Dans un mode de réalisation préféré qui est représenté sur la figure 16, la porte logique 505 est une porte ET. La sortie de la porte logique 505 attaque l'entrée de valida- tion de la bascule "front" 510. La porte logique 505 a pour premier signal d'entrée le signal de validation E_1 qui constituait le signal d'entrée de validation de la bascule "niveau" 410 du circuit 400 non optimisé. La porte logique 505 a pour second signal d'entrée le signal de phase d'hor- loge Aph1 inversé. Du fait que la bascule "niveau" 410 est la première dans une série de deux bascules "niveau" consécutives dont les entrées d'horloge sont attaquées par la même phase de l'horloge (Aph_2), la bascule "niveau" 420 est transparente pour la bascule "niveau" 430. Cependant, du fait qu'il n'y a pas de logique de validation d'horloge, il n'est pas né- cessaire de transformer la bascule "niveau" 420 pour donner le circuit de bascule "front"/amplificateur- séparateur/multiplexeur de la figure 14. Par conséquent, la sortie Q de la bascule "front" 510 attaque l'entrée du che- min de données 415, dont la sortie attaque l'entrée de l'amplificateurséparateur asynchrone 550. Cette logique maintient constamment la transparence. Du fait que la bas- cule "niveau" 430 de la figure 11 suit une bascule "niveau" dont l'entrée d'horloge est attaquée par la même phase d'horloge, mais est suivie par une bascule "niveau" dont l'entrée d'horloge est attaquée par une phase différente de l'horloge, la bascule "niveau" 430 n'est pas transparente pour la bascule "niveau" (non représentée) qui la suit. Par conséquent, la présente invention transforme la bascule "niveau" 430 en bascule "front" 530. Il en résulte que le signal de sortie de l'amplificateur-séparateur asynchrone 550 est appliqué à l'entrée du chemin de données 425. Le signal de sortie du chemin de données 425 est transmis à l'entrée D de la bascule "front" 530. De plus, de la ma- nière décrite ci-dessus, la présente invention a ajouté une logique à l'entrée de validation de la bascule "front" 530, pour convertir le circuit en un circuit à une seule hor- loge. Comme on l'a envisagé, cette étape n'est pas néces- saire si les processeurs d'émulation peuvent accepter plus d'un signal d'horloge. Plus précisément, la présente inven- tion a ajouté la porte logique 525. Dans un mode de réali- sation préféré qui est représenté sur la figure 16, la porte logique 525 est une porte ET. La sortie de la porte logique 525 attaque l'entrée de validation de la bascule "front" 530. La porte logique 525 a pour premier signal d'entrée le signal de validation E_3 qui constituait le si- gnal d'entrée de validation de la bascule "niveau" 430 du circuit 400 non optimisé. La porte logique 525 a pour se- cond signal d'entrée le signal de phase d'horloge Aph_2 in- versé. Dans encore un autre exemple de la manière selon laquelle les modes de réalisation de la présente invention optimisent des circuits basés sur des bascules "niveau", pour l'émulation basée sur des cycles, on se référera aux figures 17-18. Dans le circuit 600 de la figure 17, les en- trées d'horloge de bascules "niveau" consécutives sont at- taquées par la même phase d'horloge, ce qui conduit à la transparence. Cependant, la seconde des bascules "niveau" constitutives et au moins une autre bascule "niveau" sont attaquées par la même logique de chemin de données, mais par des phases d'horloge différentes. Plus précisément, la sortie du chemin de données 605 attaque l'entrée D de la bascule "niveau" 610. Le signal de validation E_2 attaque l'entrée de validation de la bascule "niveau" 610. La sor- tie Q de la bascule "niveau" 610 attaque l'entrée du chemin de données 615. Le signal de sortie du chemin de données 615 est transmis à la fois à l'entrée Q de la bascule "niveau" 620 et à l'entrée Q de la bascule "niveau" 630. Les entrées d'horloge des bascules "niveau" 610 et 620 sont attaquées par le signal d'horloge Aph_2, tandis que l'en- trée d'horloge de la bascule "niveau" 630 est attaquée par le signal d'horloge Aph_1. L'entrée d'horloge de la bascule "niveau" (non représentée) qui suit la bascule "niveau" 620 est attaquée par le signal d'horloge Aph_1 et l'entrée d'horloge de la bascule "niveau" (non représentée) qui suit la bascule "niveau" 630 est attaquée par le signal d'hor- loge Aph_2. Les signaux de validation E_3 et E_4 attaquent les entrées de validation des bascules "niveau" respectives 620 et 630. Du fait que les bascules "niveau" 610 et 620 sont attaquées par la même phase de l'horloge (dans cet exemple Aph2), la bascule "niveau" 610 doit être transformée pour donner le circuit de bascule "front"/amplificateur- séparateur/multiplexeur de la figure 14. La version optimi- sée du circuit 600 est représentée sur la figure 18. La sortie du chemin de données 605 attaque à la fois l'entrée D de la bascule "front" 640 et l'entrée de l'amplificateur- séparateur asynchrone 645. La sortie Q de la bascule "front" 640 attaque la première entrée de données du multi- plexeur 650, tandis que la sortie de l'amplificateur- séparateur asynchrone 645 attaque la seconde entrée de don- nées du multiplexeur 650. Le signal de validation E_2 est un premier signal d'entrée pour la porte logique 635, tan- dis que la phase d'horloge Aph_2 inversée est un second si- gnal d'entrée pour la porte logique 635. Le signal de sor- tie de la porte logique 635 est transmis à la fois à l'en- trée de validation de la bascule "front" 640 et à l'entrée de sélection du multiplexeur 650. Du fait que la bascule "niveau" 620 suit une bascule "niveau" dont l'entrée d'hor- loge est attaquée par la même phase d'horloge, mais est suivie par une bascule "niveau" (non représentée) dont l'entrée d'horloge est attaquée par une phase différente de l'horloge, la bascule "niveau" 620 n'est pas transparente pour cette bascule "niveau". Par conséquent, la présente invention transforme la bascule "niveau" 620 en bascule "front" 655. Ainsi, le signal de sortie du multiplexeur 650 est appliqué à l'entrée du chemin de données 615. Le signal de sortie du chemin de données 615 est transmis aux entrées D des deux bascules "front" 655 et 665. De plus, de la ma- nière décrite ci-dessus, la présente invention a ajouté une logique aux entrées de validation des bascules "front" 655 et 665 pour convertir le circuit en un circuit à une seule horloge. Comme on l'a envisagé, cette étape n'est pas né- cessaire si les processeurs d'émulation peuvent accepter plus d'un signal d'horloge. Plus précisément, la présente invention a ajouté les portes logiques 660 et 670. Dans un mode de réalisation préféré qui est représenté sur la fi- gure 18, les portes logiques 660 et 670 sont des portes ET. La sortie de la porte logique 660 attaque l'entrée de vali- dation de la bascule "front" 655. La porte logique 660 a pour premier signal d'entrée le signal de validation E_3 qui constituait le signal d'entrée de validation de la bas- cule "niveau" 620 du circuit 600 non optimisé. La porte lo- gique 660 a pour second signal d'entrée le signal de phase d'horloge Aph_2 inversé. La sortie de la porte logique 670 attaque l'entrée de validation de la bascule "front" 665. La porte logique 670 a pour premier signal d'entrée le si- gnal de validation E_4 qui constituait le signal d'entrée de validation de la bascule "niveau" 630 du circuit 600 non optimisé. La porte logique 670 a pour second signal d'en- trée le signal de phase d'horloge Aph_l inversé. Dans encore un autre exemple de la manière selon laquelle les modes de réalisation de la présente invention optimisent des circuits basés sur des bascules "niveau", pour l'émulation basée sur des cycles, on se référera aux * figures 19-20. Dans le circuit 700 de la figure 19, l'en- trée d'horloge de l'une de deux bascules "niveau" qui atta- que le chemin de données menant à une troisième bascule "niveau", est attaquée par la même phase d'horloge que la troisième bascule "niveau". Plus précisément, la sortie du chemin de données 705 attaque l'entrée D de la bascule "niveau" 710. Le signal de validation E_2 attaque l'entrée de validation de la bascule "niveau" 710. L'entrée d'hor- loge de la bascule "niveau" 710 est attaquée par le signal de phase d'horloge Aph_1. La sortie Q de la bascule "niveau" 710 attaque l'entrée du chemin de données 715. De plus, le circuit 700 comprend également le chemin de don- nées 725, dont la sortie attaque l'entrée D de la bascule "niveau" 720. Le signal de validation E_4 attaque l'entrée de validation de la bascule "niveau" 720. L'entrée d'hor- loge de la bascule "niveau" 720 est attaquée par le signal de phase d'horloge Aph_2. Comme pour la bascule "niveau" 710, la sortie Q de la bascule "niveau" 720 attaque l'en- trée du chemin de données 715. Le signal de sortie du chemin de données 715 est transmis à l'entrée D de la bascule "niveau" 730. Le signal de validation E_3 attaque l'entrée de validation de la bas- cule "niveau" 730. L'entrée d'horloge de la bascule "niveau" 730 est attaquée par le signal de phase d'horloge Aph_2, exactement comme pour la bascule "niveau" 720. Par conséquent, les bascules "niveau" 720 et 730 sont des bas- cules "niveau" consécutives dont les entrées d'horloge sont attaquées par la même phase de l'horloge. Comme on l'a en- visage, ceci conduit à une condition de transparence. La présente invention optimise le circuit 700 pour l'émulation en utilisant les concepts de la présente invention décrits ici. Plus précisément, du fait que l'entrée d'horloge de la bascule "niveau" 710 n'est pas attaquée par la même horloge qu'une bascule "niveau" consécutive, elle peut utiliser la transformation des figures 8-9. Ainsi, la présente inven- tion transforme la bascule "niveau" 710 en une bascule "front" 740 dont l'entrée D est attaquée par la sortie du chemin de données 705. Pour convertir le circuit 700 en un circuit à une seule horloge, la présente invention a ajouté une logique à l'entrée de validation de la bascule "front" 740, de la manière décrite ci-dessus. Plus précisément, la présente invention a ajouté la porte logique 735. Dans un mode de réalisation préféré qui est représenté sur la fi- gure 20, la porte logique 735 est une porte ET. La sortie de la porte logique 735 attaque l'entrée de validation de la bascule "front" 740. La porte logique 735 a pour premier signal d'entrée le signal de validation E_2 qui constituait le signal d'entrée de validation de la bascule "niveau" 710 du circuit 700 non optimisé. La porte logique 735 a pour second signal d'entrée le signal de phase d'horloge Aph_l inversé. La sortie de la porte logique 735 attaque l'entrée de validation de la bascule "front" 740. Du fait que les entrées d'horloge des bascules "niveau" 720 et 730 sont attaquées par la même phase de l'horloge (dans cet exemple, Aph_2), la bascule "niveau" 720 doit être transformée pour donner le circuit de bascule "front"/amplificateur-séparateur/multiplexeur de la figure 14. Comme représenté sur la figure 20, la sortie du chemin de données 725 attaque à la fois l'entrée D de la bascule "front" 750 et l'entrée de l'amplificateur-séparateur asyn- chrone 755. La sortie Q de la bascule "front" 750 attaque la première entrée de données du multiplexeur 760, tandis que la sortie de l'amplificateur-séparateur asynchrone 755 attaque la seconde entrée de données du multiplexeur 760. Pour convertir le circuit 700 en un circuit à une seule horloge, le signal de validation E_4 est un premier signal d'entrée de la porte logique 745, tandis que la phase d'horloge Aph_2 inversée est un second signal d'entrée de la porte logique 745. Le signal de sortie de la porte logi- que 745 est transmis à la fois à l'entrée de validation de la bascule "front" 750 et à l'entrée de sélection du multi- plexeur 760. Du fait que la bascule "niveau" 730 suit une bas- cule "niveau" dont l'entrée d'horloge est attaquée par la même phase d'horloge, mais est suivie par une bascule "niveau" (non représentée) dont l'entrée d'horloge est at- taquée par une phase différente de l'horloge, la bascule "niveau" 730 n'est pas transparente pour la bascule "niveau" suivante. Par conséquent, la présente invention transforme la bascule "niveau" 730 en bascule "front" 765. Le signal de sortie du multiplexeur 760 est donc appliqué à l'entrée du chemin de données 715. Le signal de sortie du chemin de données 715 est transmis à l'entrée D de la bas- cule "front" 765. De plus, de la manière décrite ci-dessus, la présente invention a ajouté une logique à l'entrée de validation de la bascule "front" 765, pour la convertir en un circuit à une seule horloge. Comme on l'a envisagé, cette étape n'est pas nécessaire si les processeurs d'ému- lation peuvent accepter plus d'un signal d'horloge. Plus précisément, la présente invention a ajouté la porte logi- que 770. Dans un mode de réalisation préféré qui est repré- senté sur la figure 20, la porte logique 770 est une porte ET. La sortie de la porte logique 770 attaque l'entrée de validation de la bascule "front" 765. La porte logique 770 a pour premier signal d'entrée le signal de validation E_3 qui constituait le signal d'entrée de validation de la bas- cule "niveau" 730 du circuit 700 non optimisé. La porte lo- gique 770 a pour second signal d'entrée le signal de phase d'horloge Aph 2 inversé. La sortie de la porte logique 770 attaque l'entrée de validation de la bascule "front" 765. Un autre exemple de la manière selon laquelle un circuit basé sur des bascules "niveau" peut être optimisé pour l'émulation logique est représenté sur les figures 21- 22. Plus précisément, la figure 21 montre un circuit 800 qui comporte de multiples signaux d'horloge. Plus précisé- ment, le circuit de la figure 21 a deux horloges, A et B. Les horloges A et B sont générées par le circuit de généra- tion d'horloge 100 qui est représenté sur la figure 5. Comme on l'a envisagé, le circuit de génération d'horloge utilise le signal d'horloge d'entrée FCLK pour générer les signaux d'horloge A et B. Le circuit de génération d'horloge génère en outre des phases d'horloge A (signaux Aph_I et Aph_2) et d'horloge B (signaux Bph_l et Bph_2) ne se chevauchant pas. Le circuit 800 comprend le chemin de données 805 dont la sortie correspond à l'entrée D de la bascule "niveau" 810. L'entrée d'horloge de la bascule "niveau" 810 est attaquée par le signal d'horloge Aph_1, et son entrée de validation reçoit le signal AE1. La sortie Q de la bas- cule "niveau" 810 correspond à l'entrée du chemin de don- nées 815. La sortie du chemin de données 815 correspond à l'entrée D de la bascule "niveau" 820. L'entrée d'horloge de la bascule "niveau" 820 est attaquée par le signal d'horloge Aph_2 et son entrée de validation reçoit le si- gnal AE2. La sortie Q de la bascule "niveau" 820 correspond à l'entrée du chemin de données 825. Le chemin de données 825 comporte un chemin de signal vers le chemin de données 860, et une sortie qui correspond à l'entrée D de la bas- cule "niveau" 830. L'entrée d'horloge de la bascule "niveau" 830 est attaquée par le signal d'horloge Aph_2, et son entrée de validation reçoit un signal AE3. Ainsi, les entrées d'horloge des bascules "niveau" 820 et 830 sont at- taquées par la même phase du même signal d'horloge. Le si- gnal d'horloge Aph_1 est le signal d'horloge de l'étage du circuit 800 qui suit la bascule "niveau" 830. Le circuit 800 comprend également le chemin de données 850, dont la sortie correspond à l'entrée D de la bascule "niveau" 855. L'entrée d'horloge de la bascule "niveau" 855 est attaquée par le signal d'horloge Bph_1, et son entrée de validation reçoit le signal BE1. La sortie Q de la bascule "niveau" 855 correspond à l'entrée du chemin de données 860. Comme on l'a envisagé, le chemin de données 860 comporte un che- min de signal vers le chemin de données 825. La sortie du chemin de données 860 correspond à l'entrée D de la bascule "niveau" 865. L'entrée d'horloge de la bascule "niveau" 865 est attaquée par le signal d'horloge Bph_1, et son entrée de validation reçoit le signal BE2. Ainsi, les entrées d'horloge des bascules "niveau" 855 et 865 sont attaquées par la même phase du même signal d'horloge. La sortie Q de la bascule "niveau" 865 correspond à l'entrée du chemin de données 870. La sortie du chemin de données 870 correspond à l'entrée D de la bascule "niveau" 875. L'entrée d'horloge de la bascule "niveau" 875 est attaquée par le signal d'horloge Bph_2, et le signal BE3 est le signal d'entrée de cette bascule. Le signal d'horloge Bph_2 constitue le si- gnal d'horloge de l'étage du circuit 800 qui suit la bas- cule "niveau" 875. La présente invention optimise de la façon suivante le circuit 800 pour l'émulation. Du fait que les entrées d'horloge des bascules "niveau" 810 et 820 sont attaquées par des phases différentes du même signal d'horloge, la présente invention transformera la bascule "niveau" 820 en bascule "front" 900. Le signal de sortie du chemin de don- nées 805 est appliqué à l'entrée D de la bascule "front" 900. Pour convertir le circuit 800 en un circuit à une seule horloge, la présente invention ajoute la porte logi- que 905 au circuit transformé de la manière décrite ci- dessus. Plus précisément, la présente invention applique le signal de validation AE1 à titre de premier signal d'entrée de la porte logique 905, tandis que la phase d'horloge Aph_i inversée est un second signal d'entrée de la porte logique 905. L'entrée d'horloge de la bascule "front" 900 peut alors être attaquée par l'horloge maîtresse de système FCLK. Le signal de sortie de la porte logique 905 est transmis à l'entrée de validation de la bascule "front" 900. Du fait que les entrées d'horloge des bascules "niveau" 820 et 830 sont attaquées par le même signal d'horloge, dans ce cas Aph_2, la bascule "niveau" 820 doit être transformée pour donner le circuit de bascule "front" /amplificateur-séparateur/multiplexeur de la figure 14. Ainsi, comme représenté sur la figure 22, la sortie du chemin de données 815 attaque à la fois l'entrée D de la bascule "front" 910 et l'entrée de l'amplificateur- séparateur asynchrone 920. La sortie Q de la bascule "front" 910 attaque la première entrée de données du multi- plexeur 925, tandis que la sortie de l'amplificateur- séparateur asynchrone 920 attaque la seconde entrée de don- nées du multiplexeur 925. Pour convertir le circuit 800 en un circuit à une seule horloge, le signal de validation AE3 constitue un premier signal d'entrée de la porte logique 915, tandis que la phase d'horloge Aph_2 inversée constitue un second signal d'entrée de la porte logique 915. Le si- gnal de sortie de la porte logique 915 est transmis à la fois à l'entrée de validation de la bascule "front" 910 et à l'entrée de sélection du multiplexeur 925. Ceci permet d'attaquer l'entrée d'horloge de la bascule "front" 910 avec le signal d'horloge maîtresse FCLK. Du fait que la bascule "niveau" 830 suit une bas- cule "niveau" dont l'entrée d'horloge est attaquée par la même phase d'horloge (bascule "niveau" 820), mais est sui- vie par une bascule "niveau" dont l'entrée d'horloge est attaquée par une phase différente de l'horloge, la bascule "niveau" 830 n'est pas transparente pour la bascule "niveau" suivante. Par conséquent, la présente invention transforme la bascule "niveau" 830 en bascule "front" 930. Ainsi, dans le circuit optimisé, le signal de sortie du multiplexeur 920 est appliqué à l'entrée du chemin de don- nées 825. Le signal de sortie du chemin de données 825 est transmis à l'entrée D de la bascule "front" 930. De plus, de la manière décrite cidessus, la présente invention a ajouté une logique à l'entrée de validation de la bascule "front" 930, pour la convertir en un circuit à une seule horloge. Comme on l'a envisagé, cette étape n'est pas né- cessaire si les processeurs d'émulation peuvent accepter plus d'un signal d'horloge. Plus précisément, la présente invention a ajouté la porte logique 935. Dans un mode de réalisation préféré qui est représenté sur la figure 22, la porte logique 935 est une porte ET. La sortie de la porte logique 935 attaque l'entrée de validation de la bascule "front" 930. La porte logique 935 a pour premier signal d'entrée le signal de validation AE3 qui constituait le si- gnal d'entrée de validation de la bascule "niveau" 830 du circuit 800 non optimisé. La porte logique 935 a pour se- cond signal d'entrée le signal de phase d'horloge Aph_2 in- versé. La sortie de la porte logique 935 attaque l'entrée de validation de la bascule "front" 930. L'ajout de la porte logique 935 permet à l'entrée d'horloge de la bascule "front" 930 d'être attaquée par l'horloge maîtresse de sys- tème FCLK. Du fait que la bascule "niveau" 855 est suivie par une bascule "niveau" 865 dont l'entrée d'horloge est atta- quée par la même phase de la même horloge (c'est-à-dire le même signal d'horloge), dans ce cas Bph_l, la présente in- vention transformera la bascule "niveau" 855 pour donner le circuit de bascule "front"/amplificateur-séparateur/multi- plexeur de la figure 14. Ainsi, comme représenté sur la fi- gure 22, la présente invention transforme le circuit 800 de la façon suivante. La sortie du chemin de données 850 atta- que à la fois l'entrée D de la bascule "front" 940 et l'en- trée de l'amplificateur-séparateur asynchrone 950. La sor- tie Q de la bascule "front" 940 attaque la première entrée de données du multiplexeur 955, tandis que la sortie de l'amplificateur-séparateur asynchrone 950 attaque la se- conde entrée de données du multiplexeur 955. Pour convertir le circuit 800 en un circuit à une seule horloge, le signal de validation BE1 est un premier signal d'entrée de la porte logique 945, tandis que la phase d'horloge Bph_l in- versée est un second signal d'entrée de la porte logique 945. Le signal de sortie de la porte logique 945 est trans- mis à la fois à l'entrée de validation de la bascule "front" 940 et à l'entrée de sélection du multiplexeur 955. Ceci permet à l'entrée d'horloge de la bascule "front" 940 d'être attaquée par le signal d'horloge maîtresse FCLK. Du fait que la bascule "niveau" 865 suit une bas- cule "niveau" dont l'entrée d'horloge est attaquée par la même phase d'horloge (bascule "niveau" 855), mais est sui- vie par la bascule "niveau" 875, dont l'entrée d'horloge est attaquée par une phase différente de l'horloge, la bas- cule "niveau" 865 n'est pas transparente pour la bascule "niveau" 875. Par conséquent, la présente invention trans- forme la bascule "niveau" 865 en bascule "front" 960. Ain- si, dans le circuit optimisé, le signal de sortie du multi- plexeur 955 est appliqué à l'entrée du chemin de données 860. Le signal de sortie du chemin de données 860 est transmis à l'entrée D de la bascule "front" 960. De plus, de la manière décrite ci-dessus, la présente invention a ajouté une logique à l'entrée de validation de la bascule "front" 960, pour la convertir en un circuit à une seule horloge. Comme on l'a envisagé, cette étape n'est pas né- cessaire si les processeurs d'émulation peuvent accepter plus d'un signal d'horloge. Plus précisément, la présente invention a ajouté la porte logique 965. Dans un mode de réalisation préféré qui est représenté sur la figure 22, la porte logique 965 est une porte ET. La sortie de la porte logique 965 attaque l'entrée de validation de la bascule "front" 960. La porte logique 965 a pour premier signal d'entrée le signal de validation BE2 qui constituait le si- gnal d'entrée de validation de la bascule "niveau" 865 du circuit 800 non optimisé. La porte logique 965 a pour se- cond signal d'entrée le signal de phase d'horloge Bph_l in- versé. La sortie de la porte logique 965 attaque l'entrée de validation de la bascule "front" 960. L'ajout de la porte logique 965 permet à l'entrée d'horloge de la bascule "front" 960 d'être attaquée par l'horloge maîtresse de sys- tème FCLK. Du fait que la bascule "niveau" 875 et la bascule "niveau" (non représentée) qui la suit immédiatement ont leurs entrées d'horloge attaquées par des phases différen- tes du même signal d'horloge (c'est-à-dire Bph_2 pour la bascule "niveau" 875 et Bph_l pour la bascule "niveau" qui la suit immédiatement), la présente invention transformera la bascule "niveau" 875 en bascule "front" 970. Le signal de sortie du chemin de données 870 est appliqué à l'entrée D de la bascule "front" 970. Pour convertir le circuit 800 en un circuit à une seule horloge, la présente invention ajoute la porte logique 975 au circuit transformé de la ma- nière décrite ci-dessus. Plus précisément, la présente in- vention utilise le signal de validation BE3 à titre de pre- mier signal d'entrée de la porte logique 975, tandis que la phase d'horloge Bph_2 inversée est un second signal d'en- trée de la porte logique 975. L'entrée d'horloge de la bas- cule "front" 970 peut alors être attaquée par l'horloge maîtresse de système FCLK. Un algorithme préféré pour mettre en oeuvre la pré- sente invention est le suivant: // Déterminer quelles sont les bascules "niveau" qui doivent être transparentes for (chaque élément de mémorisation dans le circuit) do enregistrer son horloge et sa phase; effectuer une recherche rétrograde parmi les chemins de don- nées et s'arrêter à l'élément de mémorisation ou à des en- trées/sorties primaires; for (tous les éléments de mémorisation rencontrés dans la recherche) do if (l'élément de mémorisation est attaqué par la même horloge et la même phase) then marquer l'élément de mémorisation comme DEVANT_ETRE_TRANSPARENT; endif endfor endfor // Effectuer les optimisations // 1. Remplacer des bascules "niveau" par une bascule "front", un amplificateur-séparateur ou la cellule bas- cule "front"/amplificateur-séparateur/multiplexeur // 2. Utiliser FCLK pour l'horloge de l'élément de mémorisa- tion, par transformation de la logique de validation d'horloge. for (chaque élément de mémorisation dans le circuit) do if (l'élément de mémorisation est marqué comme DEVANT_ETRE_TRANSPARENT) then if (il y a une logique sur l'entrée de validation d'horloge) then remplacer la bascule "niveau" par une cellule bascule "front" / amplificateur-séparateur /multiplexeur; - la broche D de la bascule "front" et la broche d'entrée de l'amplificateur -séparateur sont con- nectées au chemin de données à la place de la bro- che D de la bascule "niveau"; - la broche de validation de la bascule "front" et la broche de sélection du multiplexeur sont connec- tées à la logique de validation d'horloge à la place de la broche de validation de la bascule "niveau"; - la broche Q de la bascule "front" et la broche de sor- tie de l'amplificateur-séparateur sont connectées aux entrées du multiplexeur; - la sortie du multiplexeur est connectée à l'étage suivant du chemin de données à la place de la broche Q de la bascule "niveau"; remplacer l'horloge par FCLK; - déconnecter l'horloge d'origine à la broche d'horloge; - déconnecter la logique de validation d'horloge à la broche de validation; - créer une porte ET; - connecter la sortie de la porte ET à la broche de va- lidation de la bascule "front"; - connecter la logique de validation d'horloge à la broche d'entrée de la porte ET; - connecter la broche d'horloge d'origine à l'autre broche d'entrée de la porte ET (inversée si la bascule "niveau" était déclenchée sur un front descendant de l'horloge); - connecter FCLK à la broche d'horloge de la bascule "front"; else remplacer la bascule "niveau" par un amplificateur- séparateur; - la broche d'entrée de l'amplificateur-séparateur est connectée à la sortie du chemin de données à la place de la broche D de la bascule "niveau"; - la sortie de l'amplificateur- séparateur est connectée au chemin de données de l'étage suivant à la place de la broche Q de la bascule "niveau"; endif else remplacer la bascule "niveau" par une bascule "front"; - déconnecter la broche D, la broche de validation, la broche d'horloge et la broche Q de la bascule "niveau"; - connecter les broches D et Q de la bascule "front" à la logique correspondant à la bascule "niveau"; - connecter la broche FCLK à la broche d'horloge de la bascule "front"; - créer une porte ET; - connecter la logique de validation d'horloge à une broche d'entrée de la porte ET; - connecter la broche d'horloge d'origine à l'autre broche d'entrée de la porte ET (inversée si la bascule "niveau" était déclenchée sur un front descendant de l'horloge); endif endfor On a donc décrit un procédé préféré pour opti- miser un circuit basé sur des bascules "niveau", pour l'émulation logique. Bien que l'on ait représenté et décrit des modes de réalisation et des applications de l'inven- tion, comme il apparaîtra à l'homme de l'art, beaucoup d'autres modes de réalisation et applications sont possi- bles sans sortir des concepts inventifs exposés ici. L'in- vention n'est donc limitée que par les revendications an- nexées. REVENDICATIONS 1. Procédé pour optimiser un circuit pour l'émula- tion logique, caractérisé en ce qu'il comprend les étapes suivantes: on détermine si certaines bascules "niveau" (410, 420, 430) dans le circuit sont des bascules "niveau" transparentes et si certaines des bascules "niveau" sont des bascules "niveau" non transparentes; on transforme les bascules "niveau" non transparentes (250) du circuit en un premier circuit transformé (260); et on transforme les bas- cules "niveau" transparentes (450, 460)du circuit en un se- cond circuit transformé (470, 475, 480; 465). 2. Procédé selon la revendication 1, caractérisé en ce que le premier circuit transformé comprend une bascule "front" (260). 3. Procédé selon la revendication 1, caractérisé en ce que le second circuit transformé comprend un premier am- plificateur-séparateur asynchrone (465) si la bascule "niveau" transparente (460) ne comprend pas une entrée de validation, ou bien le second circuit transformé comprend une bascule "front" (470), un second amplificateur- séparateur asynchrone (475) et un multiplexeur (480) si la bascule "niveau" transparente (450) comprend effectivement une entrée de validation, les entrées de la bascule "front" (470) et du second amplificateur-séparateur asynchrone (475) correspondent à l'entrée de la bascule "niveau" transparente (450), la sortie de la bascule "front" (470) correspond à une première entrée de données du multiplexeur (480), la sortie du second amplificateur-séparateur asyn- chrone (475) correspond une seconde entrée de données du multiplexeur (480), et le multiplexeur comprend une entrée de sélection qui reçoit à titre de signal d'entrée le si- gnal qui est appliqué à l'entrée de validation de la bas- cule "niveau" transparente (450). 4. Procédé selon la revendication 1, caractérisé en ce que le second circuit transformé comprend un amplifica- teur-séparateur asynchrone (465). 5. Procédé selon la revendication 1, caractérisé en ce que la bascule "niveau" transparente (450) comprend une entrée de validation, le second circuit transformé comprend une bascule "front" (470), un amplificateurséparateur asynchrone (475) et un multiplexeur (480), la bascule "front" (470) comprend une entrée de données, une entrée de validation, une entrée d'horloge et une sortie, l'amplifi- cateur-séparateur asynchrone (475) comprend une entrée et une sortie, le multiplexeur (480) comprend une première en- trée de données, une seconde entrée de données et une en- trée de sélection, l'entrée de données de la bascule "front" (470) et l'entrée de l'amplificateur-séparateur (475) correspondent à l'entrée de la bascule "niveau" transparente (450), la sortie de la bascule "front" (470) correspond à la première entrée de données du multiplexeur (480), la sortie de l'amplificateur-séparateur (475) cor- respond à la seconde entrée de données du multiplexeur (480), et l'entrée de sélection du multiplexeur (480) re- çoit le signal qui est appliqué à l'entrée de validation de la bascule "niveau" transparente (450). 6. Procédé de création d'un circuit (500) optimisé pour l'émulation, à partir d'un circuit d'utilisateur (400), le circuit d'utilisateur comprenant des bascules "niveau" (410, 420, 430) consécutives, chaque bascule "niveau" parmi les bascules "niveau" consécutives compre- nant une entrée de données, une sortie et une entrée d'hor- loge, les bascules "niveau" consécutives (410, 420, 430) étant séparées par un chemin de données (405, 415, 425), le chemin de données comprenant une logique combinatoire d'at- taque d'entrée et une sortie, la sortie du chemin de don- nées attaquant l'entrée de données de l'une au moins des bascules "niveau" consécutives (410, 420, 430), et l'entrée d'horloge de chaque bascule "niveau" parmi les bascules "niveau" consécutives recevant un signal parmi un ensemble de signaux d'horloge (Aph_1, Aph_2), caractérisé en ce qu'il comprend les étapes suivantes: on détermine quelles sont parmi les bascules "niveau" consécutives (410, 420, 430) celles dont les entrées d'horloge sont attaquées par des signaux d'horloge identiques, et celles dont les en- trées d'horloge sont attaquées par des signaux d'horloge différents; on marque comme une bascule "niveau" transpa- rente (450, 460) chacune des bascules "niveau" consécutives dont les entrées d'horloge sont attaquées par des signaux d'horloge identiques; on marque comme une bascule "niveau" non transparente (250) chacune des bascules "niveau" consé- cutives dont les entrées d'horloge sont attaquées par des signaux d'horloge différents; on transforme la bascule "niveau" transparente (450, 460) en un premier circuit transformé, (470, 475, 480; 465) ce premier circuit trans- formé comprenant une entrée correspondant à l'entrée de la bascule "niveau" transparente; et on transforme la bascule "niveau" non transparente (250) en un second circuit trans- formé (260), ce second circuit transformé comprenant une entrée correspondant à l'entrée de la bascule "niveau" non transparente. 7. Procédé selon la revendication 6, caractérisé en ce que le premier circuit transformé comprend un amplifica- teur-séparateur asynchrone (465). 8. Procédé selon la revendication 6, caractérisé en ce que le second circuit transformé comprend une bascule "front" (260), cette bascule "front" comprenant une entrée de données, une entrée d'horloge et une sortie, et l'entrée d'horloge recevant un signal inversé par rapport au signal d'horloge que reçoit la bascule "niveau" transparente (250). 9. Procédé selon la revendication 6, caractérisé en ce que chaque bascule "niveau" parmi les bascules "niveau" consécutives (410, 420, 430) comprend en outre une entrée de validation. 10. Procédé selon la revendication 9, caractérisé en ce que le premier circuit transformé comprend une bas- cule "front" (470), un amplificateur-séparateur (475) et un multiplexeur (480), la bascule "front" (470) comprend une entrée de données, une entrée de validation, une entrée d'horloge et une sortie, l'amplificateur-séparateur (475) comprend une entrée et une sortie, le multiplexeur (480) comprend une première entrée de données, une seconde entrée de données et une entrée de sélection, l'entrée de données de la bascule "front" (470) et l'entrée de l'amplificateur- séparateur (475) correspondent à l'entrée de la bascule "niveau" transparente (450), la sortie de la bascule "front" (470) correspond à la première entrée de données du multiplexeur (480), la sortie de l'amplificateur-séparateur (475) correspond à la seconde entrée de données du multi- plexeur (480), l'entrée de sélection du multiplexeur (480) reçoit le signal qui est appliqué à l'entrée de validation de la bascule "niveau" transparente (450), et l'entrée d'horloge de la bascule "front" (470) reçoit un signal in- versé par rapport au signal d'horloge que reçoit la bascule "niveau" transparente (450). 11. Procédé selon la revendication 10, caractérisé en ce qu'il comprend en outre l'étape qui consiste à placer un signal de sortie d'une porte logique (485) sur l'entrée de validation de la bascule "front" (470), cette porte lo- gique ayant pour premier signal d'entrée le signal qui est appliqué à l'entrée de validation de la bascule "niveau" transparente (450), cette porte logique (485) ayant pour second signal d'entrée le signal d'entrée d'horloge de la bascule "niveau" transparente (450), et ce signal d'entrée d'horloge étant inversé. 12. Procédé selon la revendication 9, caractérisé en ce que le second circuit transformé comprend une bascule "front" (260), cette bascule "front" comprenant une entrée de données, une entrée de validation, une entrée d'horloge et une sortie. 13. Procédé selon la revendication 12, caractérisé en ce qu'il comprend en outre l'étape qui consiste à placer un signal de sortie d'une porte logique (265) sur l'entrée de validation de la bascule "front" (260), cette porte lo- gique ayant pour premier signal d'entrée le signal qui est appliqué à l'entrée de validation de la bascule "niveau" non transparente (250), cette porte logique (265) ayant5 pour second signal d'entrée le signal d'entrée d'horloge de la bascule "niveau" non transparente (250), et ce signal d'entrée d'horloge étant inversé.