Brevet FR2912842A1 — publié le 20080822

CIRCUIT INTEGRE COMPRENANT UN MODE DE TEST DE PERFORMANCE L'invention concerne un circuit intégré comprenant N cellules configurables comprenant chacune une entrée fonctionnelle et une sortie, le circuit comprenant un mode fonctionnel dans lequel les N cellules configurables sont reliées par leur entrée fonctionnelle et leur sortie à des blocs logiques avec lesquels elles coopèrent pour former au moins un circuit logique. Un tel circuit intégré est représenté sur la figure 1. Les blocs logiques BL1, BL2 sont en pratique des circuits logiques ou des portions de circuits logiques constitués de composants de logique combinatoire de manière appropriée pour la mise en oeuvre d'une fonction logique particulière. Dans l'exemple représenté figure 1, les cellules configurables CC1, CC2 sont des bascules de type D latch, comprenant notamment une entrée fonctionnelle D et une sortie Q, reliées respectivement à une sortie d'un bloc logique précédent et à une entrée d'un bloc logique suivant. Les blocs logiques et les cellules configurables coopèrent pour former au moins un circuit logique. Une entrée fonctionnelle du premier bloc logique CC1 forme une entrée du circuit intégré sur laquelle est appliqué un signal DIN d'entrée de données et la sortie de la dernière bascule CC2 forme une sortie du circuit intégré sur laquelle est produit un signal DOUT de sortie de données. Avec la complexité des circuits intégrés, augmentent également le nombre de blocs logiques, la complexité des procédés de fabrication et la variabilité des performances des circuits intégrés liée au procédé de fabrication, c'est-à-dire la variabilité des performances des circuits intégrés issus d'une même plaquette de silicium ou issus d'un même lot de plaquettes. Insérer des moyens de test de performance dans les circuits intégrés est donc devenu une nécessité pour garantir les performances des circuits et / ou améliorer les performances des procédés de fabrication. Une technique de test, connue sous le nom de test des chemins internes d'un circuit intégré (désignée par "scanpath" ou "internai scan method" en langue anglaise), permet de tester le fonctionnement correct des blocs fonctionnels du circuit. Cette technique est intéressante car peu consommatrice de surface de silicium ; elle peut donc être implantée dans les produits finis. Mais cette technique ne donne pas d'indication sur les performances des blocs fonctionnels, c'est-à-dire sur la vitesse réelle de travail des dits blocs, ni sur la consommation en courant des blocs fonctionnels. Une autre technique de test connue consiste à ajouter des circuits de test pour tester les performances des blocs fonctionnels. De tels circuits de test sont typiquement réalisés à partir de chaînes d'inverseurs et la précision de la mesure est au mieux égale au retard introduit par un inverseur. Un circuit de test doit être utilisé pour chaque bloc logique à tester. De plus, de tels circuits de test sont sensibles aux variations de procédé d'un circuit à l'autre la précision de la mesure et les possibilités de comparaison entre les circuits sont ainsi limitées. Enfin, de tels circuits de test sont particulièrement coûteux en surface de silicium de sorte qu'ils ne sont utilisés en pratique que pour la réalisation de prototypes de circuits intégrés, mais pas dans les circuits définitifs. Un objet de l'invention est un circuit intégré comprenant un mode de test de performances ne présentant pas les inconvénients des méthodes de test connues. Pour cela, l'invention propose un circuit intégré, par ailleurs conforme à un circuit intégré décrit dans le préambule ci-dessus, et caractérisé en ce que les cellules configurables comprennent également chacune une entrée de propagation et en ce que le circuit intégré comprend également un mode de test dans lequel les N cellules configurables sont reliées par leur entrée de propagation et leur sortie aux blocs logiques et dans lequel la sortie de la N-ième cellule configurable (CCN) est reliée à une entrée fonctionnelle du premier bloc logique (BL1) pour former un oscillateur, c'est-à-dire un circuit bouclé oscillant. En mode fonctionnel, le circuit est fonctionnellement identique à un circuit antérieur. En mode de test par contre, l'oscillateur formé propage un signal d'oscillation dont la fréquence est représentative des performances (en termes de vitesse d'exécution) des blocs logiques lorsque le circuit intégré travaille en mode fonctionnel. Le mode de test permet ainsi d'effectuer des tests de performances et de consommation des divers blocs fonctionnels. Pour passer de mode fonctionnel au mode de test, un changement de connexion des cellules configurables est suffisant, ce qui peut être réalisé avec un très faible surcoût, en terme de surface de silicium notamment. Aucun circuit de test n'est nécessaire. Le circuit selon l'invention comprend simplement un moyen de configuration des cellules configurables adapté pour . • en mode fonctionnel, relier une sortie du bloc logique de rang i compris entre 1 et N-1 à l'entrée fonctionnelle de la cellule configurable de rang i, et • en mode de test, relier une sortie du bloc logique de rang i compris entre 1 et N-1 à l'entrée de propagation de la cellule configurable de rang i et relier une sortie de la N-ième cellule configurable à une entrée fonctionnelle du premier bloc logique. Ainsi bouclée, la chaîne de blocs fonctionnels et de cellules configurables est susceptible d'osciller. Le moyen de configuration peut être également adapté pour, en mode de test, appliquer un premier signal de référence sur l'entrée fonctionnelle de la cellule configurable de rang i. Ceci permet d'imposer un signal à propager dans l'oscillateur en mode de test. Dans un mode de réalisation, l'entrée de propagation de la cellule configurable de rang i est une entrée d'horloge de la cellule configurable de rang i. Dans ce cas, de préférence, le moyen de configuration est également adapté pour, en mode fonctionnel, appliquer un signal d'horloge sur l'entrée de propagation de la cellule configurable de rang i. Le circuit obtenu a ainsi, en mode fonctionnel, un mode de fonctionnement similaire à celui des circuits connus. Dans un autre mode de fonctionnement, l'entrée de propagation de la cellule configurable de rang i est une entrée de mise à un de la cellule configurable de rang i. Dans encore un autre mode de fonctionnement, l'entrée de propagation de la cellule configurable de rang i est une entrée de mise à zéro de la cellule configurable de rang i. Dans ces deux cas, de préférence, le moyen de configuration est également adapté pour, en mode fonctionnel, relier l'entrée de propagation de la bascule à une deuxième source de potentiel de référence. Ceci permet d'appliquer un deuxième signal de référence, de préférence inactif, sur l'entrée de propagation d'une cellule, afin de "neutraliser" cette entrée de propagation. Le moyen de configuration peut également comprendre un moyen d'initiation pour initier une oscillation dans l'oscillateur lors d'un passage en mode de test. Bien que l'oscillateur en mode de test soit susceptible d'osciller seul, le moyen d'initialisation permet de garantir qu'il y a bien oscillation, et cela dès le début de mode de test. Pour cela, le moyen d'initiation est adapté pour appliquer un signal de départ d'une oscillation sur l'entrée de propagation de l'une des cellules configurables lorsqu'un signal de début du mode de test est reçu. Le moyen de configuration peut également comprendre un moyen d'initialisation pour initialiser une cellule configurable de rang i dès qu'une oscillation a été propagée à une cellule configurable de rang i+1. Le moyen d'initialisation peut également être adapté pour initialiser les N cellules configurables lors d'un passage en mode de test. L'invention sera mieux comprise et d'autres caractéristiques et avantages apparaîtront à la lecture de la description qui va suivre, d'un exemple de mise en oeuvre d'un circuit intégré selon l'invention. La description est à lire en relation aux dessins annexés dans lesquels : • la figure 1, déjà décrite est un schéma typique d'un circuit intégré comprenant au moins un circuit logique, • la figure 2 est un premier mode de réalisation d'un circuit intégré selon l'invention, • la figure 3 est un deuxième mode de réalisation d'un circuit intégré selon l'invention. Le circuit de la figure 2 est un premier mode de réalisation de l'invention qui comprend N = 2 blocs logiques BL1, BL2 et N = 2 cellules configurables CC1, CC2. Les blocs logiques BL1, BL2 sont, comme pour le circuit de la figure 1, des circuits logiques ou des portions de circuits logiques constitués de composants de logique combinatoire associés de manière appropriée pour la mise en oeuvre d'une fonction logique particulière ou d'une partie d'une fonction logique particulière. Chaque bloc logique comprend au mois une entrée EB1, EB2, et une sortie SB1, SB2, utilisées pour associer les blocs logiques et les cellules configurables. Un bloc logique peut également comprendre une ou plusieurs autres entrées EB10, EB11 de commande ou de données pour recevoir des signaux externes au bloc et nécessaires pour l'exécution de la fonctionnalité mise en oeuvre par le bloc. Les N cellules configurables CC1, CC2 comprennent chacune une bascule, de type D-latch. Chaque cellule comprend une entrée fonctionnelle D, une entrée de propagation et une sortie Q. L'entrée de propagation d'une bascule CC1, CC2 est dans l'exemple de la figure 2 une entrée d'horloge CK de ladite bascule. L'entrée de propagation pourrait être aussi une entrée de mise à "l" (entrée S ou SET) de la bascule, comme on le verra dans l'exemple de la figure 3, ou encore une entrée de mise à "0" (entrée R ou RESET). Le circuit de la figure 2 comprend un mode fonctionnel dans lequel son fonctionnement est similaire à celui du circuit de la figure 1, et un mode de test, dans lequel, les N = 2 cellules configurables sont reliées par leur entrée de propagation et leur sortie aux blocs logiques et dans lequel la sortie de la N-ième cellule configurable est reliée à une entrée fonctionnelle du premier bloc logique pour former un oscillateur. Pour cela, le circuit de la figure 2 comprend un moyen de configuration pour, en mode fonctionnel (MODE inactif), relier (CMil) la sortie du bloc logique de rang i compris entre 1 et N-1 à l'entrée fonctionnelle de la cellule configurable de rang i. Pour cela, dans l'exemple de la figure 2, le moyen de configuration comprend, pour chaque cellule CCi de rang i, un premier multiplexeur CMil (CM11, CM21, ..., ou CMN1) comprenant une deuxième entrée de données connectée à la sortie du bloc logique BLi (BL1, BL2, ..., ou BLN), une entrée de commande sur laquelle est appliqué le signal MODE et une sortie connectée à l'entrée fonctionnelle de la cellule CCi. Le moyen de configuration est également adapté pour, en mode de test (MODE actif), relier (CMi2) la sortie du bloc logique de rang i compris entre 1 et N-1 à l'entrée de propagation de la cellule configurable de rang i. Pour cela, dans l'exemple de la figure 2, le moyen de configuration comprend, pour chaque cellule CCi de rang i, un deuxième multiplexeur CMi2 (CM12, CM22, ..., ou CMN2) comprenant une première entrée de données connectée à la sortie du bloc logique BLi (BL1, BL2, ou BLN), une entrée de commande sur laquelle est appliquer le signal MODE et une sortie connectée à l'entrée de propagation de la cellule CCi. Le moyen de configuration est également adapté pour, en mode de test (MODE actif), relier (CMO) la sortie de la N-ième cellule configurable (CCN) à une entrée fonctionnelle du premier bloc logique (BL1). Pour cela, dans l'exemple de la figure 2, le moyen de configuration comprend un multiplexeur CMO comprenant une première entrée sur laquelle est appliqué le signal DIN, une deuxième entrée de données connectée à la sortie de la N-ième cellule CCN, une entrée de commande sur laquelle est appliqué le signal MODE et une sortie connectée à l'entrée fonctionnelle du premier bloc logique. Le moyen de configuration est également adapté pour, en mode de test, appliquer un premier signal de référence (égal à un "1" logique dans l'exemple de la figure 2) sur l'entrée fonctionnelle D de la cellule configurable de rang i. Pour cela, le premier multiplexeur CMil de chaque cellule CCi comprend également une première entrée de données connectée à une première source de potentiel de référence. Dans l'exemple de la figure 2, l'entrée de propagation de chaque cellule configurable CCi est, en mode fonctionnel, une entrée d'horloge CK de la cellule configurable et le moyen de configuration est également adapté pour, en mode fonctionnel, appliquer un signal d'horloge CLK sur l'entrée de propagation de la cellule CCi. Pour cela, le deuxième multiplexeur comprend également une deuxième entrée de données connectée à un générateur de signal d'horloge. En d'autres termes, dans l'exemple pratique de la figure 2 : • en mode de test (signal MODE actif), le moyen de configuration relie la sortie du bloc logique BL1 de rang i = 1 à l'entrée de propagation de la cellule configurable CC1 de rang i = 1, relie la sortie du bloc logique BL2 de rang i = 2 à l'entrée de propagation de la cellule configurable CC2 de rang i = 2 et relie la sortie de la N-ième cellule CC2 de rang N = 2 à l'entrée de propagation du premier bloc logique BL1 de rang 1, la sortie de la cellule CC1 étant reliée à l'entrée EB2 du bloc logique BL2 et la sortie de la bascule CC2 formant une sortie DOUT de l'oscillateur, • en mode fonctionnel (MODE inactif), le moyen de configuration relie la sortie du bloc logique BL1 de rang i = 1 à l'entrée fonctionnelle de la cellule configurable CC1 de rang i = 1, relie la sortie du bloc logique BL2 de rang i = 2 à l'entrée fonctionnelle de la cellule configurable CC2 de rang i = 2, l'entrée DIN du circuit intégré étant reliée à l'entrée EB1 du premier bloc BL1, la sortie de la cellule CL2 étant reliée à l'entrée EB2 du bloc BL2 et la sortie du bloc logique BL2 de rang 2 formant la sortie DOUT du circuit intégré. Ainsi, en mode fonctionnel, le circuit de la figure 2 est fonctionnellement identique au circuit de la figure 1. En mode de test par contre, l'ensemble des blocs logiques BL1, BL2 et des cellules configurables CC1, CC2 forme une chaîne rebouclée. Lorsqu'elle reçoit sur son entrée de propagation une impulsion fournie par le bloc logique qui la précède, une cellule configurable propage sur sa sortie le "1" logique appliqué sur son entrée fonctionnelle D. De la même façon, lorsqu'il reçoit sur son entrée fonctionnelle une impulsion, un bloc logique la propage sur sa sortie. Aussi, l'ensemble des blocs logiques et des cellules configurables étant rebouclé, l'ensemble oscille. La fréquence d'oscillation de l'oscillateur ainsi obtenu est fonction du temps nécessaire à la propagation d'une impulsion à travers l'ensemble des blocs et des cellules ; la fréquence d'oscillation est donc une mesure des performances du circuit intégré en mode fonctionnel. Le circuit de la figure 3 est un deuxième mode de réalisation de l'invention, comprenant N blocs logiques BL1, BL2, ..., BLN et N cellules configurables CC1, CC2, CCN, reliés par l'intermédiaire d'un moyen de configuration similaire à celui de la figure 2. Le circuit de la figure 3 se distingue essentiellement de celui de la figure 2 par le fait que, l'entrée de propagation de chaque cellule configurable CCi de rang i est une entrée de mise à "un" (entrée S ou SET) de ladite cellule CCi. Le moyen de configuration est adapté en conséquence : pour tout i compris entre 1 et N, la sortie du deuxième multiplexeur CMi2 de chaque cellule CCi est connectée à l'entrée de mise à "un" de la cellule CCi, et un deuxième signal de référence (égal à un "0" logique dans l'exemple de la figure 3) est appliqué sur la deuxième entrée de données du deuxième multiplexeur CMi2. Le moyen de configuration est ainsi adapté pour : • en mode fonctionnel, appliquer le deuxième signal de référence, un signal constant inactif, sur l'entrée de mise à un de la cellule, • en mode de test, connecter la sortie du bloc fonctionnel de rang i à l'entrée de mise à un de la cellule CCi. Le circuit de la figure 3 présente également plusieurs autres améliorations de l'invention par rapport au circuit de la figure 2. Le moyen de configuration comprend également (figure 3) un moyen d'initiation pour initier une oscillation dans l'oscillateur lors d'un passage en mode de test. Le moyen d'initiation est adapté pour appliquer un signal de départ START d'une oscillation sur l'entrée de propagation d'une des cellules configurables lorsqu'un signal de début DEBUT du mode de test est reçu. Pour cela, le moyen d'initiation comprend un troisième multiplexeur CM3, comprenant une première entrée de données sur laquelle est appliqué le signal START, une deuxième entrée de données connectée à la sortie de données d'un bloc logique de rang i (dans l'exemple de la figure 3 le bloc BL1), une sortie connectée à la première entrée de données du premier multiplexeur CMil associé à l'une des cellules configurables CCi (dans l'exemple de la figure 3, la première cellule CC1) et une entrée de commande sur laquelle est appliqué le signal MODE. Le signal DEBUT est un signal impulsionnel, actif pendant un bref instant au moment du passage du mode fonctionnel au mode de test (c'est-à-dire lorsque le signal MODE passe de l'état inactif à l'état actif). Le signal MODE reste quant à lui actif pendant toute la durée d'un test. Ainsi, au moment du passage en mode de test, une impulsion du signal DEBUT permet d'appliquer le signal START sur l'entrée de propagation de la cellule CC1 puis ensuite, pendant toute la durée du mode de test, l'entrée de propagation de la cellule CC1 est reliée à la sortie du bloc BL1 par l'intermédiaire des multiplexeurs CM3 et CMi2. A noter que, dans l'exemple de la figure 3, le troisième multiplexeur CM3 a été connecté entre le premier bloc fonctionnel et le deuxième multiplexeur CM12 associé à la première cellule configurable CC1. L'impulsion START initiant l'oscillation est ainsi appliqué sur la première cellule CCi. Mais le troisième multiplexeur pourrait aussi bien être connecté entre tout bloc fonctionnel BLi de rang i et le deuxième multiplexeur CMi2 associé à la cellule CCi de même rang i, pour une fonctionnalité (initier une oscillation) identique. Le moyen de configuration de la figure 3 comprend également un moyen d'initialisation pour initialiser (c'est-à-dire donner une valeur initiale, par exemple égale à 0 dans l'exemple de la figure 3) une cellule configurable de rang i dès qu'une oscillation a été propagée à une cellule configurable de rang i+l. Le moyen d'initialisation est également adapté pour initialiser les N cellules configurables lors d'un passage en mode de test. Pour cela, le moyen d'initiation comprend, pour chaque cellule CCi de rang i, un quatrième multiplexeur CMi4 (CM14, CM24, ., CMN4) comprenant une première entrée de données sur laquelle est appliqué un signal d'initialisation RESET, une deuxième entrée de données connectée à la sortie de la cellule CCi+l de rang i+l, une sortie connectée à une entrée d'initialisation (dans l'exemple de la figure 3, une entrée de mise à "zéro", entrée R ou RESET) de la cellule configurable CCi de rang i, et une entrée de commande sur laquelle est appliqué le signal DEBUT. Ainsi, au moment du passage en mode de test, une impulsion du signal DEBUT permet d'appliquer le signal RESET sur l'entrée d'initialisation de la cellule CCi puis ensuite, pendant toute la durée du mode de test, 12..DTD: l'entrée d'initialisation de la cellule CCi est reliée à la sortie de la cellule CCi+l par l'intermédiaire du multiplexeur CMi4. REVENDICATIONS 1. Circuit intégré comprenant N cellules configurables (CC1, ..., CCN) comprenant chacune une entrée fonctionnelle (D), une entrée de propagation (CK ou S) et une sortie (Q), le circuit comprenant un mode fonctionnel dans lequel les N cellules configurables sont reliées par leur entrée fonctionnelle et leur sortie à des blocs logiques (BL1, ..., BLN) avec lesquels elles coopèrent pour former au moins un circuit logique, le circuit intégré étant caractérisé en ce qu'il comprend également un mode de test dans lequel les N cellules configurables sont reliées par leur entrée de propagation et leur sortie aux blocs logiques et dans lequel la sortie de la N-ième cellule configurable (CCN) est reliée à une entrée fonctionnelle du premier bloc logique (BL1) pour former un oscillateur. 2. Circuit selon la revendication 1, comprenant un moyen de configuration pour : • en mode fonctionnel (MODE inactif), relier (CMil) la sortie du bloc logique de rang i compris entre 1 et N-1 à l'entrée fonctionnelle de la cellule configurable de rang i, et • en mode de test (MODE actif), relier (CMi2) la sortie du bloc logique de rang i compris entre 1 et N-1 à l'entrée de propagation de la cellule configurable de rang i et relier (CMO) la sortie de la N-ième cellule configurable (CCN) à une entrée fonctionnelle du premier bloc logique (BL1). 3. Circuit intégré selon la revendication 2 dans lequel le moyen de configuration est également adapté pour, en mode de test, appliquer (CMil) un premier signal de référence ("1") sur l'entrée fonctionnelle de la cellule configurable de rang i. 4. Circuit intégré selon l'une des revendications 2 ou 3, dans lequel l'entrée de propagation est une entrée d'horloge (CK) de la cellule configurable de rang i et dans lequel le moyen de configuration est également adapté pour, en mode fonctionnel, appliquer un signal d'horloge (CLK) sur l'entrée de propagation de la cellule configurable de rang i. 5. Circuit intégré selon l'une des revendications 2 ou 3, dans lequel dans lequel l'entrée de propagation est une entrée de mise à un (S) de la cellule configurable de rang i et dans lequel le moyen de configuration est également adapté pour, en mode fonctionnel, relier l'entrée de propagation de la bascule à une deuxième source de potentiel de référence ("0"). 6. Circuit selon l'une des revendications 2 à 5, dans lequel le moyen de configuration comprend également un moyen d'initiation pour initier une oscillation dans l'oscillateur lors d'un passage en mode de test. 7. Circuit intégré selon la revendication 6, dans lequel le moyen d'initiation est adapté pour appliquer un signal de départ (START) d'une oscillation sur l'entrée de propagation de l'une des cellules configurables lorsqu'un signal de début (DEBUT) du mode de test est reçu. 8. Circuit selon l'une des revendications 2 à 7, dans lequel le moyen de configuration comprend également un moyen d'initialisation pour initialiser une cellule configurable de rang i dès qu'une oscillation a été propagée à une cellule configurable de rang i+1. 9. Circuit selon la revendication 8, dans lequel le moyen d'initialisation est également adapté pour initialiser les N cellules configurables lors d'un 5 passage en mode de test.