Brevet FR2961043A1 — publié le 20111209

-GR1-008 B10-1097FR - EHE Société Anonyme dite : STMicroelectronics SA Registre à double front et son contrôle à partir d'une horloge Invention de : Sylvain ENGELS Registre à double front et son contrôle à partir d'une horloge L'invention concerne le contrôle du fonctionnement d'un registre à double front d'horloge, et plus particulièrement, le contrôle d'un circuit électronique séquentiel à double front d'horloge à partir de l'horloge utilisée en fonctionnement normal. Les circuits électroniques séquentiels à double front d'horloge, ou registres à double front d'horloge tels que le registre A illustré sur la figure 1 comprennent généralement une première bascule 1 de type D, une deuxième bascule 2 de type D et un multiplexeur 3. La sortie de chacune des deux bascules 1 et 2 est couplée à une entrée respective du multiplexeur principal. Un signal de données D est délivré à une première entrée de la première bascule 1 et à une première entrée de la seconde bascule 2. Le registre A est cadencé par un signal d'horloge CK. Le signal d'horloge CK est ainsi couplé à l'entrée du signal d'horloge de chacune des deux bascules 1 et 2, ainsi qu'à l'entrée de sélection du multiplexeur principal 3. L'entrée de sélection d'un multiplexeur correspond à l'entrée recevant le signal de commande déterminant le signal à recopier en sortie parmi les deux signaux d'entrée. L'entrée d'horloge de la seconde bascule 2 est une entrée inverseuse de sorte que la deuxième bascule 2 réagit sur un front descendant d'horloge tandis que la première bascule qui ne possède pas d'entrée d'horloge inverseuse, réagit sur un front montant de l'horloge. C'est ainsi que le registre A fonctionne à double front d'horloge, c'est-à-dire qu'il réagit à la fois sur un front montant d'horloge et sur un front descendant d'horloge. En effet, la première bascule 1 recopie, en sortie, la valeur du signal d'entrée, c'est-à-dire le signal de données D, sur un front montant, tandis que la seconde bascule 2 recopie en sortie la valeur du signal d'entrée, c'est-à-dire le signal de données D, sur un front descendant. Le multiplexeur principal 3, comme dans un registre à double front classique, reçoit alors en entrée les signaux de sortie des deux bascules 1 et 2. Le multiplexeur principal 3 étant également cadencé par le signal d'horloge CK, il délivre en sortie Q le signal de sortie de la première bascule 1 sur un front montant du signal d'horloge CK, et le signal de sortie de la seconde bascule 2 sur un front descendant. En effet, sur un front montant du signal d'horloge, c'est-à-dire pour une valeur non nulle du signal d'horloge, la sortie recopie le signal reçu à la première entrée, tandis que sur un front descendant d'horloge, c'est-à-dire pour une valeur nulle du signal d'horloge, la sortie recopie le signal reçu sur la deuxième entrée du multiplexeur principal 3. De tels registres à double front d'horloge permettent ainsi de doubler la bande passante par rapport a registre à simple front, pour une même fréquence d'horloge, permettant ainsi de réduire la consommation d'énergie globale. Or la consommation d'une horloge représente 30% de la consommation d'énergie d'un circuit intégré. Ces circuits électroniques séquentiels sont difficilement testables. En effet, les systèmes permettant de tester le bon fonctionnement de tels circuits restent complexes. Le document US 2003/0218488 décrit ainsi un procédé et un système de vérification du fonctionnement d'un registre à double front d'horloge. Cependant, dans ce document, pour permettre une telle vérification, le système utilise une seconde horloge distincte de l'horloge utilisée lors du fonctionnement normal. L'utilisation de deux horloges augmente alors la consommation d'énergie du système. Selon un mode de réalisation et un mode de mise en oeuvre, il est proposé une architecture d'un registre à double front d'horloge permettant de vérifier le fonctionnement du registre à partir de l'horloge utilisée en fonctionnement normal et ainsi de réduire la consommation en énergie du système. Selon un aspect, il est proposé, dans un mode de réalisation, un circuit électronique séquentiel réagissant sur un front montant et un front descendant d'un signal d'horloge, comprenant une première et une seconde bascules de type D, un multiplexeur principal couplé en entrée aux bascules, le circuit comprenant une première entrée recevant le signal d'horloge et une deuxième entrée recevant un signal de commande pour commander le circuit selon un mode de fonctionnement normal et un mode de fonctionnement test permettant de vérifier le bon fonctionnement du circuit électronique séquentiel. Selon une caractéristique générale, le signal d'horloge utilisé en mode de fonctionnement normal est utilisé pour cadencer le circuit lors du mode de fonctionnement test. Ainsi, le circuit électronique séquentiel fonctionne à partir d'une seule horloge quelque soit le mode, et permet ainsi de conserver une consommation d'énergie réduite. De préférence, le circuit électronique séquentiel comprend un premier multiplexeur couplé à l'entrée de données de la première bascule, un second multiplexeur couplé à l'entrée de données de la deuxième bascule, le premier et le deuxième multiplexeurs recevant en entrée un même signal de données, le premier multiplexeur étant également couplé en entrée à la sortie de la deuxième bascule, le deuxième multiplexeur étant également couplé en entrée à un signal test, et les sorties de la première et de la deuxième bascules étant couplées en entrée du multiplexeur principal. Avantageusement, le signal de commande est délivré en entrée au premier et au deuxième multiplexeurs de manière à commander le fonctionnement des deux multiplexeurs selon un mode de fonctionnement normal et un mode de fonctionnement test. Selon un mode de réalisation, le circuit électronique séquentiel peut comprendre des moyens de mise en série de circuits électroniques séquentiels pour réaliser une vérification du fonctionnement de plusieurs circuits électroniques séquentiels à partir dudit signal test. Les moyens de mise en série comprennent préférentiellement une porte logique « ET » recevant en entrée le signal de commande et le signal de sortie de la première bascule, la sortie de la porte logique « ET » étant connectée à l'entrée du signal test d'un autre circuit électronique séquentiel. Selon un autre aspect, il est proposé dans un mode de mise en oeuvre, un procédé de vérification de fonctionnement d'un circuit électronique séquentiel réagissant sur un front montant et un front descendant d'un signal d'horloge, comprenant une première et une seconde bascules de type D, un multiplexeur principal couplé en entrée aux bascules, le circuit comprenant une première entrée recevant le signal d'horloge et une deuxième entrée recevant un signal de commande pour commander le circuit selon un mode de fonctionnement normal et un mode de fonctionnement test permettant de vérifier le bon fonctionnement du circuit électronique séquentiel. Selon une caractéristique générale, le signal d'horloge utilisé en mode de fonctionnement normal est utilisé pour cadencer le circuit lors du mode de fonctionnement test. Le signal de commande peut avantageusement commander le fonctionnement des deux multiplexeurs selon un mode de fonctionnement normal et un mode de fonctionnement test. De préférence, le procédé comprend, en mode de fonctionnement test, une réception d'un signal test en entrée du deuxième multiplexeur, une réception du signal de sortie de la deuxième bascule en entrée du premier multiplexeur, le signal de sortie de la deuxième bascule correspondant au signal de test, et une génération d'un signal de sortie à partir des signaux de sorties de la deuxième bascule et de la première bascule. Avantageusement, le procédé peut comprendre une génération d'un signal supplémentaire de sortie à partir du signal de commande et du signal de sortie de la première bascule, le signal supplémentaire de sortie étant couplé à l'entrée du signal test d'un autre circuit électronique séquentiel. D'autres avantages et caractéristiques de l'invention apparaîtront à l'examen de la description détaillée de modes de réalisation, nullement limitatifs, et des dessins annexés sur lesquels : La figure 1, déjà citée, représente un circuit électronique séquentiel selon l'art antérieur ; - La figure 2 représente un circuit électronique séquentiel selon un premier mode de réalisation ; - La figure 3 représente un circuit électronique séquentiel selon un second mode de réalisation. La figure 2 illustre un circuit électronique séquentiel 10 à double front d'horloge selon un premier mode de réalisation. Le circuit électronique séquentiel 10, correspondant à un registre, comprend une première bascule 1 de type D, une deuxième bascule 2 de type 2, et un multiplexeur principal 3 couplé en entrée aux bascules 1 et 2. La sortie de chacune des deux bascules 1 et 2 est couplée à une entrée correspondante du multiplexeur principal. Le registre 10 comprend également un premier multiplexeur 4 couplé à l'unique entrée de données de la première bascule 1, et un second multiplexeur 5 couplé à l'unique entrée de données de la seconde bascule 2. Un signal de données D est délivré à une entrée du registre 10. Cette entrée du registre 10 est couplée à une première entrée du premier multiplexeur 4 et à une première entrée du second multiplexeur 5. Le second multiplexeur 5 est couplé à une deuxième entrée à un signal de test TI permettant d'imposer une valeur de test lors au registre 10 lors du fonctionnement en mode de fonctionnement test du registre 10. Le premier multiplexeur 4 est couplé sur une deuxième entrée à la sortie de la deuxième bascule 2. L'entrée de sélection du premier et du second multiplexeurs 4 et 5 est également couplée à un signal de commande TE. L'entrée de sélection d'un multiplexeur correspond à l'entrée recevant le signal de commande déterminant le signal à recopier en sortie parmi les deux signaux d'entrée. Un signal d'horloge CK est délivré une autre entrée du registre 10. Cette autre entrée du registre 10 est couplée à l'entrée du signal d'horloge de chacune des deux bascules 1 et 2, ainsi qu'à l'entrée de sélection du multiplexeur principal 3. L'entrée d'horloge de la seconde bascule 2 est une entrée inverseuse de sorte que la deuxième bascule 2 réagira sur un front descendant d'horloge tandis que la première bascule ne possédant pas d'entrée d'horloge inverseuse réagira sur un front montant. C'est ainsi que le registre 10 fonctionne à double front d'horloge, c'est-à-dire qu'il réagit à la fois sur un front montant d'horloge et sur un front descendant d'horloge. Ainsi, lorsque le signal de commande TE est nul, le registre 10 fonctionne en mode normal, comme un registre à double front d'horloge. Le premier et second multiplexeurs recevant un signal de commande nul délivrent en sortie le signal reçu à leur première entrée, c'est-à-dire le signal de données D, et ce sans délai. En revanche, les bascules 1 et 2 étant cadencées par le signal d'horloge CK, la première bascule 1 recopie en sortie la valeur du signal d'entrée, c'est-à-dire le signal de données D, sur un front montant, tandis que la seconde bascule 2 recopiera en sortie la valeur du signal d'entrée, c'est-à-dire le signal de données D, sur un front descendant. Le multiplexeur principal 3, comme dans un registre à double front classique, reçoit alors en entrée les signaux de sortie des deux bascules 1 et 2. Le multiplexeur principal 3 étant cadencé par le signal d'horloge CK, il délivre en sortie le signal de sortie de la première bascule 1 sur un front montant du signal d'horloge CK, et le signal de sortie de la seconde bascule 2 sur un front descendant. En effet, sur un front montant du signal d'horloge, c'est-à-dire pour une valeur non nulle du signal d'horloge, la sortie recopie le signal reçu à la première entrée, tandis que sur un front descendant d'horloge, c'est-à-dire pour une valeur nulle du signal d'horloge, la sortie recopie le signal reçu sur la deuxième entrée du multiplexeur principal 3. En revanche, lorsque le signal de commande TE est non nul, le registre 10 fonctionne en mode de test. Le premier et second multiplexeur recevant un signal de commande non nul délivrent alors en sortie le signal reçu à leur deuxième entrée, c'est-à-dire le signal de test TI, et ce sans délai. Les bascules 1 et 2 sont cadencées par le signal d'horloge CK. Dans un premier temps, la seconde bascule 2 recopie, en sortie, la valeur du signal d'entrée, c'est-à-dire le signal de test TI, sur un front descendant. Ce signal de sortie de la seconde bascule est alors directement délivré en entrée TI de la première bascule 1. Dans un deuxième temps, sur le front montant suivant, la première bascule 1 recopie en sortie la valeur du signal d'entrée, c'est-à-dire le signal de sortie de la seconde bascule 2 ayant comme valeur la valeur du signal TI. Ce signal de sortie de la seconde bascule est alors directement délivré en sortie TQ. Ainsi, si le registre 10 fonctionne correctement, le signal TI doit être délivré en sortie sur les fronts montant. Ainsi, en contrôlant la sortie du registre 10, en mode de fonctionnement test, il est possible de contrôler le bon fonctionnement du registre. Sur la figure 3, on a représenté un circuit électronique séquentiel 100 à double front d'horloge selon un deuxième mode de réalisation. Les éléments identiques au circuit électronique séquentiel 10 représenté sur la figure 2 portent les mêmes références. Dans ce second mode de réalisation, le registre 100 comprend outre les marques décrites précédemment, des moyens 6 de mise en série de registres pour réaliser une vérification du fonctionnement de plusieurs registres à partir d'un même signal de test TI. Les moyens 6 de mise en série comprennent ici une porte logique « ET » recevant en entrée le signal de commande TE et le signal de sortie de la première bascule 1, et délivrant en sortie un signal de sortie TQ. En mode de fonctionnement normal, le signal de commande TE est nul. Par conséquent, le signal de sortie TQ de la porte ET est toujours nul. En revanche, en mode de test, le signal de commande TE est non nul. Le signal de sortie TQ de la porte « ET » a alors pour valeur, celle du signal de sortie de la première bascule 1. Ce signal correspond après la première succession d'un front descendant et d'un front montant d'horloge, au signal de test TI. Ainsi, un second registre à double front, dont l'entrée destinée au signal de test TI est couplée à la sortie TQ des moyens de mise en série, pourra être testé avec le même signal de test TI que le premier registre à double front d'horloge. REVENDICATIONS1. Circuit électronique séquentiel (10) réagissant sur un front montant et un front descendant d'un signal d'horloge (CK), comprenant une première (1) et une seconde (2) bascules de type D, un multiplexeur principal (3) couplé en entrée aux bascules (1, 2), le circuit (10) comprenant une première entrée recevant le signal d'horloge (CK) et une deuxième entrée recevant un signal de commande (TE) pour commander le circuit (10) selon un mode de fonctionnement normal et un mode de fonctionnement test permettant de vérifier le bon fonctionnement du circuit électronique séquentiel (10), caractérisé en ce que le signal d'horloge (CK) utilisé en mode de fonctionnement normal est utilisé pour cadencer le circuit (10) lors du mode de fonctionnement test. 2. Circuit électronique séquentiel (10) selon la revendication 1, caractérisé en ce qu'il comprend un premier multiplexeur (4) couplé à l'entrée de données de la première bascule (1), un second multiplexeur (5) couplé à l'entrée de données de la deuxième bascule (2), le premier (4) et le deuxième (5) multiplexeurs recevant en entrée un même signal de données (D), le premier multiplexeur (4) étant également couplé en entrée à la sortie de la deuxième bascule (2), le deuxième multiplexeur (5) étant également couplé en entrée à un signal test (TI), et les sorties de la première (1) et de la deuxième (2) bascules étant couplés en entrée du multiplexeur principal (3). 3. Circuit électronique séquentiel (10) selon l'une des revendications 1 ou 2, caractérisé en ce que le signal de commande (TE) est délivré en entrée au premier (4) et au deuxième (5) multiplexeurs de manière à commander le fonctionnement des deux multiplexeurs (4, 5) selon un mode de fonctionnement normal et un mode de fonctionnement test. 4. Circuit électronique séquentiel selon l'une des revendications 2 ou 3, caractérisé en ce qu'il comprend des moyens (6) de mise en série de circuits électroniques séquentiels pour réaliser unevérification du fonctionnement de plusieurs circuits électroniques séquentiels à partir dudit signal test (TI). 5. Circuit électronique séquentiel selon la revendication 4, caractérisé en ce que les moyens (6) de mise en série comprennent une porte logique « ET » recevant en entrée le signal de commande (TE) et le signal de sortie de la première bascule (1), la sortie de la porte logique « ET » étant connectée à l'entrée du signal test d'un autre circuit électronique séquentiel. 6. Procédé de vérification de fonctionnement d'un circuit électronique séquentiel (10) réagissant sur un front montant et un front descendant d'un signal d'horloge (CK), comprenant une première (1) et une seconde (2) bascules de type D, un multiplexeur principal (3) couplé en entrée aux bascules (1, 2), le circuit (10) comprenant une première entrée recevant le signal d'horloge (CK) et une deuxième entrée recevant un signal de commande (TE) pour commander le circuit (10) selon un mode de fonctionnement normal et un mode de fonctionnement test permettant de vérifier le bon fonctionnement du circuit électronique séquentiel (10), caractérisé en ce le signal d'horloge (CK) utilisé en mode de fonctionnement normal est utilisé pour cadencer le circuit (10) lors du mode de fonctionnement test. 7. Procédé selon la revendication 6, caractérisé en ce que le signal commande (TE) commande le fonctionnement des deux multiplexeurs (4, 5) selon un mode de fonctionnement normal et un mode de fonctionnement test. 8. Procédé selon la revendication 7, caractérisé en ce qu'il comprend, en mode de fonctionnement test, une réception d'un signal test (TI) en entrée du deuxième multiplexeur (5), une réception du signal de sortie de la deuxième bascule (2) en entrée du premier multiplexeur (4), le signal de sortie de la deuxième bascule (2) correspondant au signal de test (TI), et une génération d'un signal de sortie (Q) à partir des signaux de sorties de la deuxième bascule (2) et de la première bascule (1). 9. Procédé selon la revendication 8, caractérisé en ce qu'il comprend une génération d'un signal supplémentaire de sortie (TQ) àpartir du signal de commande (TE) et du signal de sortie de la première bascule, le signal supplémentaire de sortie (TQ) étant couplé à l'entrée du signal test d'un autre circuit électronique séquentiel.