Brevet FR2739949A1 — publié le 19970418

La présente invention concerne un circuit électronique configurable tel qu'un circuit intégré destiné à traiter des données en fonction de la configuration qui lui a été attribuée. Un circuit intégré numérique est capable d'une manière générale de traiter des données qui correspondent à des informations variables dans le temps. Il comprend des registres ou zones de stockage de bits qui permettent la lecture et/ou l'écriture de ces données. Les registres du circuit intégré peuvent par ailleurs contenir des données qui correspondent à des informations permanentes, celles-ci étant codées et écrites de manière définitive lors du câblage du circuit. Un circuit intégré peut par exemple être conçu pour travailler à différentes vitesses dans le traitement des informations variables et l'information permanente à coder consiste alors en la vitesse de travail choisie. L'information permanente peut dans un autre cas consister en une position d'adresse destinée à identifier le circuit intégré auquel les informations variables sont transmises. Le circuit intégré comprend des broches de connexion dont au moins deux sont utilisées pour l'alimenter. Les autres broches sont des broches d'entrée et de sortie servant pour la plupart à véhiculer les informations variables, certaines des broches d'entrée étant réservées au codage d'une information permanente. Actuellement, le nombre de broches d'entrée utilisées pour le codage d'une information permanente est égal au nombre de bits nécessaires pour définir cette information. Lorsque nombre total de broches de connexion est limité pour des raisons d'encombrement, plus le nombre de broches d'entrée utilisées pour le codage d'une information permanente est important, plus le nombre de broches d'entrée dédiées au traitement des données est donc réduit. Or, un faible nombre de broches d'entrée pour le traitement ne favorise pas le taux d'échange d'informations via ce circuit. L'invention se propose par conséquent de remédier à cet inconvénient en réduisant de manière significative le nombre des broches de connexion d'un circuit intégré nécessaires au codage d'une information permanente, sans pour autant avoir recours à des composants supplémentaires extérieurs au circuit. La présente invention concerne donc un circuit électronique tel qu'un circuit intégré destiné à traiter des données, comprenant des broches de connexion d'alimentation et des broches de connexion d'entrée et de sortie, certaines des broches d'entrée, dites broches de configuration, étant destinées à être utilisées de 2 2739949 manière unique à l'écriture d'une information permanente codée en binaire dans une mémoire interne. Le circuit est caractérisé en ce que l'information permanente est constituée de plusieurs mots d'égale longueur, c'est-à-dire à nombre égal de bits, que les broches de configuration comprennent des broches d'entrée et des broches de sortie, les broches d'entrée correspondant à des bits de même valeur dans les différents mots étant câblées à une broche d'alimentation et les broches d'entrée correspondant à des bits de valeur variable dans les différents mots étant câblées aux broches de sortie. Il est en outre prévu un organe séquenceur qui est connecté d'une part aux broches d'alimentation, d'autre part aux broches de sortie pour attribuer à celles-ci un potentiel variable au cours du chargement de l'information permanente. La description faite ci-après en regard des dessins fera ressortir les caractéristiques et avantages de l'invention. Aux dessins annexés: - la figure 1 représente le circuit selon l'invention; - la figure 2 représente la figure 1 selon un mode de réalisation donné; - la figure 3 illustre des signaux de chargement de broches de connexion du circuit. Le circuit électronique de type circuit intégré tel qu'illustré à la figure 1 est alimenté par deux broches de connexion d'alimentation A et B qui sont respectivement reliées à un potentiel nul (la masse) et à un potentiel non nul V, par exemple 5 Volts. Les autres broches de connexion du circuit intégré sont des broches d'entrée E et des broches de sortie S qui permettent le transfert d'informations variables dans le temps et des broches de configuration dont certaines sont des broches d'entrée C et d'autres des broches de sortie C' qui permettent le codage d'informations permanentes stockées de manière définitive dans le circuit. Une information permanente peut par exemple consister en une adresse de positionnement du circuit pour identifier celui-ci parmi plusieurs autres circuits. Les broches d'entrée CO à Cn dédiées à la configuration, sont destinées à écrire dans le circuit intégré l'information permanente par un codage en binaire de celle-ci. Le nombre de broches de configuration est fonction du nombre de bits nécessaires au codage de l'information tout en étant inférieur à ce nombre. Les broches de sortie C'0 à C'i dédiées à la configuration sont câblées à certaines des broches d'entrée CO à Cn (i 3 2739949 Une broche d'entrée Cn peut prendre un état logique "0" ou "1" ou un état logique "si" dont la valeur passe séquentiellement par les états logiques "0" et "1" au cours de phases de chargement successives et cela en fonction du câblage qui a auparavant été imposé à la broche d'entrée. Pour réaliser un état logique "0" sur une broche de configuration d'entrée, on applique à celle-ci un potentiel de référence qui est par exemple le potentiel nul, ceci s'obtenant par câblage de la broche de configuration à la broche d'alimentation A. Pour réaliser un état logique "1" sur une broche de configuration d'entrée, on applique à celle-ci un potentiel autre que le potentiel de référence qui est par exemple le potentiel non nul, ceci s'obtenant par le câblage de la broche de configuration à la broche d'alimentation B. Pour réaliser un état logique "si" sur une broche de configuration d'entrée, on applique à celle-ci un potentiel égal au potentiel de sortie d'une broche de configuration de sortie C'i, la broche de configuration étant câblée à la broche de sortie C'i. Le circuit intégré comprend en interne un séquenceur 10, un décodeur 11 et une mémoire 12. Le séquenceur 10 est destiné à charger les états logiques "si" des broches de sorties C'i à partir des potentiels des broches d'alimentation A et B qu'il reçoit en entrée. Le décodeur 11 est destiné à identifier sur chaque broche d'entrée l'état logique "0" ou "1" ou "si" du bit de configuration et à le transmettre à la mémoire 12 de manière à écrire et à stocker l'information permanente codée. La commutation de chaque état logique "si" sur la broche de sortie correspondante C'i par le séquenceur 10 est réalisée séquentiellement en deux ou trois phases ou plus selon le nombre de bits nécessaires au codage. Le circuit illustré à la figure 2 correspond à un codage nécessitant seize bits de configuration. Les seize bits sont associés en deux octets a et b de huit bits qui sont chargés séquentiellement, c'est-à-dire l'un après l'autre en deux phases, sur huit broches de configuration d'entrée CO à C7 et avec l'aide de deux broches de configuration de sortie C'0, C'1. Un bit de rang n dans chacun des octets peut être à 0 dans les octets a et b ("0,0"), on parlera d'état logique "0", ou à 1 dans les octets a et b ("1,1"), on parlera d'état logique "1", ou à 0 dans l'octet a et à 1 dans l'octet b ("0,1"), on parlera d'état 4 2739949 logique "sO", ou enfin à 1 dans l'octet a et à 0 dans l'octet b ("1,0"), on parlera d'état logique "s1". Les broches de configuration d'entrée dont le bit doit être dans l'état logique "0", c'est-à-dire à 0 dans l'octet a et l'octet b, sont câblées à la broche d'alimentation A délivrant un signal de sortie égal à un potentiel nul puisque la broche A est reliée au potentiel nul. Les broches de configuration d'entrée dont le bit doit être dans l'état logique "1", c'est-à-dire à 1 dans l'octet a et l'octet b, sont câblées à la broche d'alimentation B délivrant un signal de sortie égal à un potentiel de 5 Volts puisque la broche B est reliée au potentiel de 5 Volts. Les broches de configuration d'entrée dont le bit doit être dans l'état logique "sO", c'est-à-dire à 0 dans l'octet a et à I dans l'octet b, sont câblées à la broche de sortie C'0 délivrant un signal de sortie successivement égal à un potentiel nul puis à un potentiel de 5 Volts. Ce signal est piloté par un bloc 13 interne au séquenceur 10. Les broches de configuration d'entrée dont le bit doit être dans l'état logique "s1", c'est-à-dire à 1 dans l'octet a et à 0 dans l'octet b, sont câblées à la broche de sortie C'1 délivrant un signal de sortie successivement égal à un potentiel de 5 Volts puis à un potentiel nul. Ce signal est piloté par un bloc 14 interne au séquenceur 10. Les blocs internes 13 et 14 sont reliés aux broches d'alimentation A et B et présentent chacun une sortie 13a et respectivement 14a. La sortie 13a est reliée à la broche de sortie C'0 et délivre un signal sO dont le potentiel est nul pendant la phase de chargement tl du premier octet a et dont le potentiel est à 5 Volts pendant la phase de chargement t2 du second octet b (figure 3). La sortie 14a est reliée à la broche de sortie C'1 et délivre un signal sl dont le potentiel est à 5 Volts pendant la phase de chargement tl du premier octet a et dont le potentiel est nul pendant la phase de chargement t2 du second octet b (figure 3). L'ensemble des broches de configuration CO à C7 sont reliées en interne au décodeur 11 qui identifie les bits de configuration de chaque broche et les transmet à la mémoire 12. 2739949 Par conséquent, pour un codage utilisant 16 bits de configuration, au lieu d'utiliser de manière connue 16 broches de connexion, seules sont nécessaires dix broches de connexion au plus, 8 broches d'entrée et au plus deux broches de sortie. Dans l'exemple illustré a la figure 2, les 16 bits de configuration sont associables en deux octets a et b de huit bits définis par 00011101 pour le premier mot et par 10001110 pour le second mot. Le bit de rang n=0 prend successivement comme valeur O pour le mot a et 1 pour le mot b. Pour n=1, le bit est à l'état O puis 0; pour n=2, le bit est à l'état O puis 0; pour n=3, le bit est à l'état 1 puis 0; pour n=4, le bit est à l'état 1 puis 1; pour n=5, le bit est à l'état 1 puis 1; pour n=6, le bit est à l'état O puis 1; pour n=7, le bit est à l'état 1 puis 0. Les broches de configuration CO à C7 correspondent aux bits de rang n=O à n=7. Les broches C1 et C2 sont câblées à la broche A (état logique "0"), les broches C4 et C5 sont câblées à la broche B (état logique "1"). Les broches CO et C6 sont câblées à la broche de sortie C'O (état logique "sO") et les broches C3 et C7 sont câblées à la broche de sortie C'1(état logique "s1"). Dans un autre exemple, le codage pourrait uniquement nécessiter des états logiques "0", "1" et "sO", seules seraient alors utiles les broches d'entrée CO à C7 et une seule broche de sortie telle que C'0. Pour un codage égal ou supérieur à 24 bits, le codage s'effectue de préférence en trois phases de chargement d'au moins trois octets a, b et c. Le nombre de broches d'entrée de configuration reste encore de huit. Un bit de rang n dans les octets a, b et c à charger peut prendre la valeur O dans les trois octets a, b et c ("0,0,0") correspondant à l'état logique "0", ou la valeur 1 dans les trois octets a, b et c ("1,1, 1") correspondant à l'état logique "1", ou la valeur O dans les octets a et b et la valeur 1 dans l'octet c ("0,0,1") correspondant à l'état logique "sO", etc... Au total huit combinaisons d'états logiques sont possibles: - "0" pour "0,0,0"; 6 2739949 - "sO" pour "0,0,1"; - "s1" pour "0,1,0"; - "s2" pour "0,1,1"; - "s3' pour "1,0,0"; - "s4" pour "1,0,1"; - "s5" pour "1,1,0"; - "1" pour ",1,1,1". Les combinaisons "0" et "1" sont obtenues par le câblage des broches de configuration aux broches d'alimentation A et B. Les autres combinaisons "sO" à "s5" sont réalisées à partir du câblage des broches de configuration à six broches de sortie C'0 à C'5 dont les signaux de sortie sont pilotés par six blocs internes au séquenceur et délivrent un potentiel nul ou de 5 Volts de manière variable au cours des trois phases équivalentes au temps de chargement de chacun des trois octets a, b et c. Ainsi, pour un codage de 24 bits, au lieu d'utiliser 24 broches de connexion, seules sont nécessaires 14 broches de connexion au plus, 8 broches d'entrée et au plus six broches de sortie. Quand un utilisateur a besoin de coder une information permanente, il connaît le nombre de bits nécessités pour ce codage. Il lui faut alors savoir pour un nombre de bits donné quelles sont les combinaisons possibles du nombre utile de broches d'entrée et de sortie pour réaliser le codage. Une table de correspondance entre la combinaison du nombre de broches d'entrée et de sortie et le nombre de bits disponibles à partir de cette combinaison peut être réalisée à partir de la formule suivante: P = (2 + n) m o P = nombre de bits; n = nombre de broches de configuration de sortie; m =nombre de broches de configuration d'entrée; P le nombre de phases de chargement étant égal à. 7 2739949 REVENDICATIONS 1. Circuit électronique configurable de type circuit intégré destiné à traiter des données, comprenant des broches de connexion d'alimentation (A, B) et des broches de connexion d'entrée et de sortie, certaines des broches d'entrée (CO à Cn), dites broches de configuration, étant reliées à une mémoire interne (12) pour permettre le chargement dans celle-ci d'une information permanente codée en binaire correspondant au potentiel desdites broches d'alimentation caractérisé en ce que: - I'information permanente est constituée de plusieurs mots d'égale longueur, - les broches de configuration comprennent des broches d'entrée (C0-Cn) et des broches de sortie (C'0-C'i), les broches d'entrée correspondant à des bits de même valeur dans les différents mots étant câblées à une broche d'alimentation (A, B), les broches d'entrée correspondant à des bits de valeur variable dans les différents mots étant câblées aux broches de sortie (C'0-C'i), - il est prévu un organe séquenceur (10) qui est connecté d'une part aux broches d'alimentation (A, B), d'autre part aux broches de sortie (C'0-C'i) pour attribuer à celles-ci un potentiel variable au cours du chargement.