Brevet FR2866435A1 — publié le 20050819

La présente invention concerne, d'une part, le domaine technique de la conception, assistée par ordinateur (CAO), de systèmes électroniques digitaux intégrés, encore appelés puces électroniques et, d'autre part, le domaine technique des puces électroniques obtenues. De manière générale, la conception de systèmes électroniques complexes, destinés à être intégrés sur une même puce électronique, fait intervenir une phase d'élaboration d'une description du système électronique intégré dans un langage, dit de haut niveau (HDL High level Description Language), à un niveau, dit de transfert des registres (RTL Register Transfert Level). Les langages les plus communément utilisés, pour réaliser une telle description HDL, sont les langages Verilog ou VHDL, sans qu'il faille considérer que ces langages soient les seuls permettant une description HDL au niveau RTL d'un système digital électronique intégré. La description d'un système électronique intégré en langages HDL se matérialise le plus souvent sous la forme d'un système de fichiers électroniques ou base de données de description pouvant alors être constitué par un seul et même fichier texte établi en langage HDL ou, au contraire, comprendre plusieurs fichiers textes de description, certains des fichiers correspondant à la description particulière de modules ou de parties du système intégré, tandis que d'autres fichiers décrivent l'interaction et les relations entre les différents modules et les liens existant entre ces derniers. Pour obtenir une description de la puce électronique qui pourraient être qualifiée de matérielle par rapport à la description en langage HDL qui pourrait être qualifiée de fonctionnelle ou comportementale, il est réalisé, à partir du système de fichiers de description HDL, une synthèse ou compilation au moyen d'un outil informatique, généralement baptisé compilateur de silicium, permettant d'obtenir une description matérielle au niveau des portes logiques, en fonction de la technologie retenue, description encore appelée netlist qui sera ensuite utilisée pour obtenir une représentation physique du système électronique intégré sous la forme de masques permettant la fabrication de la puce, conformément aux différentes techniques connues, ces dernières n'entrant pas dans le cadre de la présente invention. Un système électronique digital intégré ainsi obtenu doit, bien entendu, offrir une garantie de fiabilité et de fonctionnement conforme à l'objectif visé 5 lors de sa conception. Ainsi, il apparaît nécessaire, lors de la conception d'un système électronique, de prévoir des systèmes ou des moyens permettant d'en vérifier le parfait fonctionnement, de manière bien entendue automatisée, soit au moyen de dispositifs extérieurs qui seront connectés au système électronique intégré, une fois ce dernier fabriqué, soit au moyen, de systèmes de tests faisant partie intégrante du système électronique intégré obtenu. De manière générale, une telle démarche, orientée vers la testabilité des systèmes électroniques intégrés, est qualifiée de technique de DFT, pour Design For Test : conception pour le test, et, de manière plus particulière, lorsqu'il est prévu d'incorporer au système électronique intégré ses propres moyens de test automatique, on parle de BIST, pour Built In Self Test : auto test intégré. Une première démarche, en vue de vérifier le bon fonctionnement d'un système électronique digital intégré, consiste, tout d'abord, à vérifier le parfait fonctionnement des éléments mémoire, bascules ou flip-flop présents au sein du système intégré et destinés à stocker, temporairement, des résultats intermédiaires de traitement ou des valeurs de signaux. Il s'agit ici d'éléments mémoire locaux présents au sein des composants dits séquentiels. Ces derniers représentent la majorité des circuits intégrés complexes tels que les microprocesseurs ou les processeurs de traitement de signal. Un circuit séquentiel étant composé d'éléments de logique combinatoire et d'éléments séquentiels ou bascules à distinguer des éléments mémoires des modules de mémoire vive RAM ou morte ROM. Le test des circuits séquentiels passe par une étape de génération de vecteurs de tests en utilisant des outils logiciels spécialisés dits ATPG pour Automatic Test Pattern Generators . La qualité des vecteurs de test générés détermine la phase de test après fabrication et la capacité des vecteurs de test à révéler la présence des défauts. La génération de vecteurs de test de qualité nécessite la prise en compte des techniques de DFT telle que le SCAN. La technique de SCAN consiste à chaîner entre eux les différents éléments mémoire, de manière à obtenir une ou plusieurs chaînes de SCAN qui seront activées dans le cadre d'un fonctionnement en mode test du circuit intégré. La mise en place des fonctionnalités de SCAN et du chaînage des éléments mémoire peut intervenir au niveau de la description matérielle (netlist) du circuit électronique digital intégré comme décrit dans le brevet US 6,311,317. Toutefois, compte tenu du nombre très important de portes logiques notamment, cette insertion effectuée de manière automatique ou semi-automatique requiert un temps très important de calcul. De plus, cette insertion est susceptible de perturber le fonctionnement en mode normal du système logique électronique intégré, de sorte que, après avoir procédé à ce chaînage des éléments au niveau de la description matérielle netlist, il peut apparaître nécessaire de modifier la conception du circuit et donc de réécrire la description en langage HDL de ce dernier, pour ensuite procéder à une nouvelle compilation silicium et une nouvelle insertion du chaînage des éléments mémoire au niveau netlist. Or, ce processus itératif, qui peut s'avérer très long et consommateur de ressources matérielles et humaines, constitue un obstacle à la réduction du temps nécessaire pour la conception de systèmes électroniques intégrés fiables et performants. Ainsi, il est apparu que, si l'intégration des fonctionnalités de SCAN pouvaient être effectuées au niveau de la description HDL avant la phase de synthèse, il serait possible d'obtenir une réduction substantielle du temps de conception du circuit électronique intégré. Ainsi, une autre voie a été proposée consistant à incorporer les fonctionnalités, dites de chaînage ou de SCAN, au niveau RTL, dans le cadre de la description HDL du système électronique digital intégré. Le brevet US 6,256,770 a, par exemple, proposé un procédé et un dispositif de mise en oeuvre de fonctionnalité de test d'un système électronique intégré dans le cadre de sa description en langage HDL. Selon ce brevet il est prévu, tout d'abord, d'attribuer des portions de chaînes d'éléments mémoire à différents modules du circuit, puis de procéder à un ordonnancement de ces portions de chaînes d'éléments mémoire sur la base d'une analyse des relations fonctionnelles existant entre les éléments mémoire ou les vecteurs de données dans les descriptions HDL des modules. Il est alors procédé, sur la base de cet ordonnancement, à une insertion des instructions de chaînage dans la description en langage HDL du module concerné, de manière que, lors de la synthèse dudit module, le système électronique digital intégré incorpore, pour chaque module concerné, les circuits électroniques logiques nécessaires au test qui découle d'un tel chaînage. Un tel procédé et dispositif permet, effectivement, une insertion automatique d'instructions HDL permettant d'obtenir, lors de la synthèse du circuit, les fonctionnalités de SCAN, permettant d'assurer la génération de vecteurs de test de bonne qualité pour le circuit intégré sous test- Toutefois, il est apparu à l'usage que l'étape d'analyse des relations fonctionnelles, existant entre les différents vecteurs de données, dans le cade de la conception de systèmes électroniques digitaux intégrés particulièrement complexes, induit un temps de calcul particulièrement important, de sorte que les bénéfices de l'insertion au niveau RTL en langage HDL des fonctionnalités de SCAN se trouvent amoindris, voire annulés par les temps de calcul ou la puissance de calcul requise pour procéder à cette insertion, conformément au brevet US 6,256,770. Une demande de brevet US 2003/0023941 présente une autre manière de procéder à l'insertion automatique au niveau RTL d'instructions en langage HDL, permettant de mettre en oeuvre les fonctionnalités de SCAN dans le système électronique intégré qui sera obtenu par la synthèse de la description HDL ainsi modifiée. Selon ce document, l'insertion des chaînes de SCAN et des points de test au niveau RTL en langage HDL est effectuée en réalisant, tout d'abord, une analyse de la testabilité de la description en langage HDL du système électronique intégré. Or, si la méthode proposée par la demande US 2003/0023941 permet, effectivement, une insertion automatique des instructions HDL correspondant à des fonctionnalités de SCAN après synthèse, l'analyse de testabilité se trouve être une étape particulièrement consommatrice de ressources de calcul ou de temps, de sorte que les gains, obtenus par la modification automatique au niveau HDL du système électronique intégré, se trouvent dans ce cas également minimisés par les temps de calcul d'analyse de testabilité. Par ailleurs, la demande US 2003/0023941 propose également de procéder à l'insertion des chaînes SCAN en effectuant une identification et une analyse des différents domaines d'horloge existants puis un calcul de minimisation des coûts de génération de test et de minimisation des domaines d'horloges. Or, cette analyse des domaines d'horloge et cette minimisation requiert également des ressources importantes. Il apparaît donc le besoin d'une méthode qui, en assurant une insertion automatique dans le cadre de la description HDL au niveau RTL d'un système électronique digital intégré, des fonctionnalités de SCAN, permette de réduire substantiellement les temps de calcul, tout en offrant un système électronique digital intégré qui, après synthèse, présentera des performances au moins équivalentes à celles des systèmes intégrés qui seraient synthétisés à partir des descriptions HDL au niveau RTL traitées par les méthodes selon l'art antérieur. Afin d'atteindre cet objectif, l'invention concerne un procédé d'analyse d'un ensemble de fichiers originaux de description d'un système électronique digital intégré dans un langage de description au niveau transfert de registres, dit langage HDL, en vue d'insérer de manière automatique dans les fichiers de description des instructions en langage HDL pour obtenir un nouvel ensemble de fichier de description en langage HDL du système électronique digital intégré incorporant des fonctionnalités de test de sorte que lors de la synthèse automatique du système électronique digital intégré à partir du nouvel ensemble de fichiers de description HDL le système électronique digital intégré obtenu incorpore une partie au moins les circuits électroniques logiques nécessaires au test du fonctionnement des éléments mémoires au moins. Selon l'invention, le procédé d'analyse et d'insertion automatique est caractérisé en ce qu'il comprend les étapes suivantes: É localisation automatique, dans les fichiers de description HDL orignaux des instructions ou séquences d'instructions HDL qui, lors de la synthèse du système, seront à l'origine d'éléments mémoires, insertion, dans une partie au moins des fichiers de description HDL, de manière automatique séquentielle et sans analyse relationnelle ou fonctionnelle des éléments mémoire identifiés, d'instructions HDL assurant l'obtention, lors de la synthèse du système, d'une part, d'au moins une chaîne, dite de SCAN , reliant les éléments mémoires et, d'autre part, des moyens de mise en oeuvre du test dit de SCAN du circuit. Au sens de l'invention, l'ensemble de fichiers de description HDL d'un système électronique digital intégré comprend un ou plusieurs fichiers de texte ou code ASCII qui décrivent en instruction HDL un, plusieurs ou tous les modules fonctionnels du système électronique digital intégré ainsi que les relations éventuelles existant entre les différents modules. Selon l'invention la description HDL du système électronique digital intégré peut également être réalisée dans le cadre d'une base de données de description. De même au sens de l'invention, il est effectué l'insertion de l'ensemble des instructions HDL nécessaire à la mise en oeuvre du test dit de SCAN à savoir notamment l'insertion des instructions permettant la mise du circuit à tester en mode de test, les instructions d'entrée de signal de test, de sortie de signal de test, les instructions de mise en oeuvre d'une horloge de test, les instructions assurant le chaînage des éléments mémoire ainsi que les instructions de définition d'un contrôleur de test de SCAN sans que cette liste puisse être considérée comme possédant un caractère exhaustif ou exclusif d'autre fonctionnalité qui pourraient être nécessaire à la mise en oeuvre du test de SCAN. Le procédé selon l'invention présente l'avantage, du fait de l'insertion séquentielle des instructions de chaînage des éléments au fur et à mesure de leur apparition dans les pages de description HDL (i.e. sans analyse de leur éventuelles relations), de ne pas nécessiter d'importantes ressources de calcul de sorte que le procédé selon l'invention peut être mis en oeuvre sur un ordinateur, tel qu'un ordinateur personnel, tout en obtenant des temps de traitement moindres que ceux nécessaires pour la mise en oeuvre des procédés selon l'art antérieur. En effet, les inventeurs ont eu le mérite de mettre en évidence qu'il n'était pas nécessaire de procéder à une analyse, relationnelle ou fonctionnelle, ni même à une analyse de testabilité pour procéder à l'insertion des instructions HDL nécessaires à la mise en oeuvre des fonctionnalités de SCAN et qu'une insertion séquentielle desdites instructions HDL, insertion qui pourrait être qualifiée d'insertion heuristique, au fur et à mesure de l'apparition dans les fichiers de descriptions HDL de ces instructions susceptibles d'engendrer des éléments de mémoire, permettait, en fin de compte, d'obtenir toutes les fonctionnalités de test des éléments mémoire du système électronique digital intégré sans en altérer les performances ni en augmenter de manière trop importante la surface. L'invention concerne également un système électronique digital intégré résultant de la synthèse d'un ensemble de fichier de description en langage HDL obtenu par la mise en oeuvre du procédé selon l'invention et comprenant une partie au moins des circuits électroniques logiques nécessaires au test du fonctionnement des éléments mémoire au moins, tels qu'une ou plusieurs chaînes de SCAN. Selon une caractéristique de l'invention, le procédé d'analyse et d'insertion automatique comprend une étape enregistrement du nouvel ensemble de fichiers de description HDL obtenus. Selon une autre caractéristique de l'invention, afin d'éviter des violations des règles de SCAN lors de la synthèse du circuit à partir du nouvel ensemble de fichiers de description HDL, le procédé d'analyse et d'insertion automatique comprend une étape d'identification des éventuels différents domaines d'horloge existants et l'étape d'insertion d'instructions HDL de chaînage d'éléments mémoire est alors réalisée de manière à créer au moins une chaîne de SCAN distincte pour chaque domaine d'horloge. Par ailleurs, afin d'assurer une implémentation du SCAN au niveau RTL qui garantisse lors de la synthèse le respect des règles de SCAN, selon l'invention la dimension des variables ou signaux est déterminée avant l'étape d'insertion des instructions HDL de SCAN. Ainsi par exemple dans le cas de variables VHDL de type entier ou énumération, l'invention prévoit que la longueur des mots correspondant ou nombre de bits doit être fixé avant l'insertion des instructions VHDL de SCAN afin de garantir que les mémoires élémentaires constitutives de chaque mémoire sont bien chaînés entre-eux. Ainsi, selon une autre caractéristique de l'invention, le procédé d'analyse et d'insertion automatique: comprend une étape d'analyse ou d'indexation de l'ensemble de fichiers originaux de description HDL et de création d'au moins un fichier d'indexation comprenant, pour chaque objet et processus HDL, la liste des unités de conception si elles existent (entité, librairie, paquetage), pour chaque unité de conception l'ensemble des déclarations, chaque déclaration comprenant le numéro de ligne, le nom de l'objet, son type, sa taille ainsi que le type de construction de contrôle associée, É et l'étape de localisation des instructions HDL qui lors de la synthèse du circuit seront à l'origine d'éléments mémoires, comprend une phase de création d'un fichier de localisation des mémoires comprenant, pour chaque élément mémoire, au moins le nom de l'objet HDL correspondant, son type, sa dimension et ses coordonnées dans les fichiers de description HDL originaux. De plus, dans la mesure où des informations sur la dimension de certaines variables seraient absentes de l'ensemble de fichiers originaux de description HDL, l'invention prévoit dans une forme préférée de mise en oeuvre, une étape soit de définition automatique de cette dimension sur la base d'une valeur par défaut prédéterminée, soit de définition interactive avec un utilisateur du procédé. Dans le même sens, et selon une variante de mise de oeuvre préférée, le procédé conforme à l'invention vérifie, lors de l'insertion des instructions HDL de chaînage, la compatibilité des éléments mémoires entre eux. En effet, il n'est possible de chaîner que des éléments mémoires correspondant à des objets de même type et de dimension compatible. Ainsi, en cas d'incompatibilité, l'invention prévoit de manière préférée mais non strictement nécessaire que l'étape d'insertion des instructions HDL de chaînage comprend soit une phase de transformation automatique du type et/ou de la dimension d'un ou des deux objets à l'origine du conflit, soit une phase de modification interactive avec l'utilisateur du type et/ou de la dimension d'un ou des deux objets à l'origine du conflit. En ce qui concerne la détection automatique et la correction de tels conflits correspondant à des erreurs de syntaxe ou grammaticales dans la mise en oeuvre du langage, il est possible de se reporter à la demande de brevet US 2003/0033595. Selon une autre caractéristique de l'invention, l'étape d'insertion d'instruction HDL de chaînage d'éléments mémoire comprend: É une phase d'insertion d'instructions HDL de chaînage dit local 30 d'éléments mémoires au niveau d'ensemble d'instructions HDL correspondant à un processus HDL de manière à obtenir lors de la synthèse au moins une chaîne distincte d'éléments mémoires pour chaque processus HDL, É une phase d'insertion d'instruction HDL de chaînage, dit global, au niveau des fichiers de description HDL, de manière à obtenir, lors de la synthèse, au moins une chaîne d'éléments mémoire comprenant les chaînes d'éléments mémoire crées lors de la phase de chaînage local. De manière général dans le cas du chaînage au sein même des processus on parle de chaînage dans le domaine séquentiel tandis que pour le chaînage hors processus on parle de chaînage dans le domaine concurrent. Ainsi, selon encore une caractéristique de l'invention, l'étape d'insertion automatique des instructions HDL comprend les phases suivantes: É insertion d'instructions HDL correspondant à des signaux de test utilisés comme port d'entrée-sortie, É insertion d'instructions HDL correspondant à des signaux intermédiaires de travail, dans le cas d'éléments de mémoire entre plusieurs processus impliquant des ports primaires d'entrée/sortie, É insertion, au niveau de chaque processus, d'instructions HDL assurant l'obtention, lors de la synthèse du circuit, d'au moins une chaîne, dite de SCAN , reliant les éléments mémoires propres au processus, É insertion d'instructions HDL assurant une affectation concurrente des chaîne des entrées et sorties des chaîne de SCAN en dehors des processus. Selon l'invention, le procédé d'analyse et d'insertion d'instructions HDL peut être mis en oeuvre dans le cadre de différents langages de description HDL, tels que Verilog ou VHDL, étant entendu qu'il ne s'agit là que d'exemples non limitatifs et que le procédé selon l'invention pourrait être mis 30 en oeuvre pour encore d'autres langages de description HDL. De plus, le procédé peut également être mis en oeuvre sur un ensemble hétérogène de fichiers originaux de description en langage HDL comprenant par exemple mais non exclusivement des fichiers de description établis en langage Verilog et d'autres établis en langage VHDL. Ainsi, selon une autre caractéristique de l'invention, dans le cas de l'utilisation des langages Verilog et VHDL en tant que langages de description HDL, l'étape de localisation des instructions HDL à l'origine des éléments mémoire comprend: ^ une étape de recherche de processus synchronisés afin de détecter les objets affectés à l'intérieur de ces processus, É application des règles suivantes pour l'identification des instructions à l'origine des éléments mémoires: É tout objet affecté à l'intérieur d'un processus et qui est lu dans un autre processus ou dans la partie concurrente du code HDL sera considéré comme un élément mémoire, É dans un processus synchronisé, tout objet affecté dans une branche d'une structure de contrôle if sans qu'il soit affecté dans toutes autres branches de cette même structure est considéré comme un élément mémoire, É dans un processus synchronisé, tout objet qui est lu avant d'être écrit est considéré comme un élément mémoire. Dans une forme de mise en oeuvre préférée du procédé selon l'invention et dans le cadre du chaînage local d'un processus décrit en langage VHDL, il est prévu une phase d'insertion d'instructions VHDL de définition de signaux intermédiaires destinés à reprendre les valeurs des chaînes de variables afin de permettre leur affectation et leur chaînage en dehors des processus. Par ailleurs, selon l'invention, l'insertion automatique des instructions HDL doit être réalisée de manière à n'induire aucune dégradation fonctionnelle du code en langage HDL du système électronique digital intégré original. Selon une autre caractéristique de l'invention, afin de permettre une optimisation des chaînes de SCAN et une amélioration de la couverture de fautes après synthèse du système électronique digital intégré à partir du nouvel ensemble de fichiers de description HDL, sans qu'il soit nécessaire de modifier à nouveau la description en langage HDL et de mettre à nouveau en oeuvre le procédé selon l'invention et éviter ainsi un allongement du temps de conception du circuit, il est créé des chaînes de SCAN programmable. A cet effet, l'étape d'insertion des instructions HDL de SCAN comprend une phase d'insertion d'instructions HDL qui lors de la synthèse généreront un multiplexeur programmable intercalé entre certains au moins des éléments mémoire d'une chaîne de SCAN. De manière préférée, il est intercalé un tel multiplexeur entre tous les éléments mémoires successifs des chaînes de SCAN. Bien entendu, il est également procédé à l'insertion des instructions HDL correspondant à un contrôleur des multiplexeurs intercalés dans les chaînes de SCAN. L'invention concerne également un système électronique digital intégré ou système monopuce qui comprend au moins un module fonctionnel de logique combinatoire et des éléments mémoires associés ainsi que des moyens de test de type SCAN comprenant au moins une chaîne d'éléments mémoires. Selon l'invention, le système électronique digital intégré est caractérisé en ce qu'il comprend des moyens de reconfiguration programmable de la chaîne SCAN. Selon une autre caractéristique de l'invention, toujours en vue l'améliorer les capacités de test du circuit qui sera obtenu à partir du nouvel ensemble de fichier de description HDL, le procédé comprend une étape d'insertion d'instructions HDL dont la synthèse sera à l'origine de moyens intégrés d'auto test (BIST) du système électronique digital intégré. De tel moyens comprennent au moins un générateur automatique de vecteurs de test (TPG Test Pattern Generator), des moyens d'analyse de la réponse du système électronique et des moyens de contrôle du test. Selon une caractéristique préférée de mise en oeuvre de l'invention, le générateur automatique de vecteurs de test est conçu de manière que la séquence d'initialisation du registre à décalage à contre réaction linéaire plus communément connu par le PRPG (Parallel Random Pattern Generator) soit programmable. Par ailleurs, selon une caractéristique préférée de mise en oeuvre de l'invention, la structure de génération de vecteurs de test et celle de l'analyse des réponses se basent sur la structure de SCAN programmable ou reconfigurable citée ci-dessus. L'invention concerne, également, un dispositif de conception automatisé en langage de description au niveau transfert de registres, dit langage HDL d'un système complet ou d'une partie de système électronique digital intégré, dispositif comprenant au moins une unité de calcul, une unité de mémoire et une unité de stockage de fichiers, caractérisé en ce que l'unité de stockage comprend des fichiers de description en langage HDL du système ou de la partie de système électronique intégré et en ce que les unités de calcul et de mémoire sont adaptées pour générer, en mettant en oeuvre le procédé selon l'invention et à partir des fichiers de description HDL, de nouveaux fichiers de description HDL du système ou de la partie de système qui incorporent des instructions HDL, de manière que le système ou la partie de système électronique digital intégré obtenu à partir des nouveaux fichiers incorpore une partie au moins des circuits électroniques logiques nécessaires au test du fonctionnement des éléments mémoire au moins. Dans une forme préférée de réalisation le dispositif comprend un ordinateur personnel mettant en oeuvre un programme dont l'exécution 25 permet la mise en oeuvre du procédé selon l'invention. L'invention concerne aussi un support de données lisibles par ordinateur sur lequel est enregistré un programme dont l'exécution par un ordinateur permet la mise en oeuvre du procédé selon l'invention. La fig. 1 illustre un exemple d'organigramme de mise en oeuvre du 30 procédé selon l'invention. La fig. 2 illustre un fichier original de description en langage VHDL d' une portions d'un système digital intégré. La fig. 3 illustre un exemple de fichier généré au cours de la mise en oeuvre du procédé selon l'invention sur le fichier de la fig. 2. La fig. 4 illustre un fichier original de description en langage Verilog d' une portions d'un système digital intégré. La fig. 5 illustre un exemple de fichier généré au cours de la mise en oeuvre du procédé selon l'invention sur le fichier de la fig. 4. Les fig. 6 et 7 illustrent des exemples de fichier d'indexation des 10 éléments mémoire générés par le procédé selon l'invention pour les fichiers selon les fig. 2 et 4. Les fig. 8 et 9 montrent les fichiers de description HDL correspondant auxfichiers originaux des fig. 2 et 4 respectivement, et incorporant les instructions HDL de SCAN insérées de manière automatique par le procédé selon l'invention. La fig. 10 illustre schématiquement la mise en oeuvre de moyens reconfiguration des chaînes de SCAN d'un système digital intégré. La fig. 11 montre de manière schématique un système digital intégré tel qu'obtenu après synthèse d'une description HDL générée par le procédé selon l'invention et mettant en oeuvre des fonctionnalité d'autotest intégré BIST . Comme cela a été dit précédemment le procédé selon l'invention vise, dans une première forme de mise en oeuvre, à assurer l'insertion au niveau de la description en langage HDL d'un circuit d'instructions HDL qui après synthèse du circuit conféreront au circuit l'ensemble des moyens nécessaires au test d'une partie au moins de ses éléments mémoires selon la technique de SCAN. L'invention vise à atteindre cet objectif en n'effectuant aucune analyse prospective du circuit telle qu'une analyse relationnelle ou fonctionnelle nécessitant d'importantes ressources de calcul et engendrant des temps de traitement également importants. Au contraire selon l'invention, l'insertion des instructions correspondant aux chaînes de SCAN et aux fonctionnalités associées est effectuée au fur et à mesure de l'occurrence des éléments mémoires ou des instructions HDL correspondant aux éléments mémoires. Selon l'invention ce chaînage est bien entendu réalisé en contrôlant au fur et à mesure de l'avancement que la ou les chaînes de SCAN en cours de réalisation sont conformes aux critères éventuellement imposés par l'utilisateur et les corrections éventuellement nécessaires sont effectuées en intervenant sur les chaînes et/ou les tronçons de chaîne déjà réalisés. Dans une forme de mise en oeuvre préférée, le procédé selon l'invention dont un organigramme est illustré à la fig.1 comprend tout d'abord une étape 1 de localisation automatique des instructions qui seront lors de la synthèse du système à l'origine d éléments mémoire. Cette localisation automatique peut faire intervenir plusieurs phase et dans une forme de mise en oeuvre préférée l'étape de localisation automatique comprend une étape la d'analyse ou d'indexation de l'ensemble des fichiers originaux de description en vue de la création d'au moins un fichier d'indexation VIF File comprenant la liste des unités de conception si elles existent (entité, librairie, paquetage), pour chaque unité de conception l'ensemble des déclarations, chaque déclaration comprenant le numéro de ligne, le nom de l'objet, son type, sa taille ainsi que le type de construction de contrôle associée. Il aura alors dans ce fichier d'indexation pour chaque objet et processus HDL, au moins le type et les coordonnées dans les fichiers de description HDL originaux ou initiaux. Dans le cadre de cette étape d'analyse ou d'indexation la menée par exemple à partir d'un fichier, tel qu'illustré à la fig.2, de description en langage VHDL d'un processus, il est généré un fichier d'indexation VIF File tel que représenté à la fig. 3. Selon l'invention cette étape d'analyse ou d'indexation la peut être menée sur d'autres types de langage HDL. Ainsi la fig. 4 illustre un exemple de fichier original ou initial de description en langage VERILOG à base de plusieurs processus et l'étape d'indexation la appliquée à ce fichier permet d'obtenir un fichier d'indexation VIF File tel que présenté à la fig. 5.. Il doit être noté qu'au sens de l'invention l'étape d'indexation la peut aboutir à la création de plusieurs fichier d'indexation, d'un système de fichier d'indexation et de manière préférée mais non strictement nécessaire à la création d'une base de donnée d'indexation. Dans le cadre de l'étape d'indexation le procédé selon l'invention prévoit également en plus de l'indexation des différentes instructions élémentaires une indexation des instances identiques susceptibles d'être présentes dans la description HDL du système. Par instances identiques il faut comprendre un même fichier ou un même ensemble de fichier HDL décrivant une partie du système qui est mise en oeuvre à plusieurs reprise dans le système. Après cette étape d'indexation la, intervient une étape lb de localisation automatique des instructions HDL qui seront à l'origine des éléments mémoires après synthèse du circuit. Selon l'invention cette étape de localisation lb est mise en oeuvre pour les différents types de langage de description HDL tels que par exemple mais non exclusivement VHDL et VERILOG qui peuvent par ailleurs être utilisés en association pour décrire un même système. Certaines parties du systèmes peuvent ainsi être décrites par des fichiers rédigés en VHDL tandis que d'autres parties du système sont décrites par des fichiers rédigés en Verilog. Dans sa forme préférée de mise en oeuvre et pour une utilisation sur des fichiers en VHDL ou en Verilog, l'étape lb de localisation des instructions HDL à l'origine des éléments mémoires comprend une étape de recherche de processus synchronisés afin de détecter les objets affectés à l'intérieur de ces processus. Cette étape de recherche des processus synchronisés est effectuée à partir du résultat de l'étape d'indexation la à savoir par un traitement des fichiers VIF File ou des données de la base de données crée ou renseignée lors de cette étape la ainsi qu'éventuellement par un traitement des fichiers initiaux HDL File de description en langage HDL du système. Après localisation des processus synchronisés les instructions susceptibles d'engendrer à la synthèse des éléments mémoires sont identifiées par l'application des règles suivantes: ^ tout objet affecté à l'intérieur d'un processus et qui est lu dans un autre processus ou dans la partie concurrente du code HDL sera considéré comme à l'origine un élément mémoire et ^ dans un processus synchronisé, tout objet affecté dans une branche d'une structure de contrôle if sans qu'il soit affecté dans toutes autres branches de cette même structure est considéré comme à l'origine d'un élément mémoire ^ dans un processus synchronisé, tout objet qui est lu avant d'être écrit est référencé comme à l'origine d'un élément mémoire. L'étape d'identification de l'étape de localisation lb est menée, comme l'étape de recherche des processus synchronisés à partir du résultat de l'étape d'indexationla à savoir par un traitement des fichiers VIF File ou des données de la base de données crée ou renseignée lors de cette étape la ainsi qu'éventuellement par un traitement des fichiers initiaux HDL File de description en langage HDL du système. L'étape de localisation lb comprend également une étape écriture d'un fichier MEM File qui répertorie pour chaque élément mémoire, au moins le nom de l'objet HDL correspondant, son type, sa dimension et ses coordonnées dans les fichiers de description HDL originaux. La Fig. 6 illustre le fichier de localisation des éléments mémoire MEM File obtenu pour le fichier de description HDL File en langage VHDL selon la fig.2 par un traitement du fichier d'indexation VIF File de la fig. 3. De la même manière Fig. 7 montre le fichier de localisation des éléments mémoire MEM File obtenu pour le fichier de description HDL File en langage VERILOG selon la fig.4 par un traitement du fichier d'indexation VIF File de la fig. 5. Bien entendu, au sens de l'invention l'étape de création d'un ou d'un ensemble de fichiers de localisation tels que les fichiers MEM File peut tout aussi bien correspondre à la création d'une base de données ou au renseignement d'une base de donnée avec les informations sur chaque éléments mémoire telles qu'énumérées de manière non limitative ci-dessus. L'invention se propose également de palier à d'éventuelles absences d'informations en ce qui concerne la dimension de certaines variables des fichiers originaux de description HDL en prévoyant au choix de l'utilisateur soit une étape de choix automatique de la valeur de la dimension manquante sur la base d'une valeur par défaut prédéterminée par l'utilisateur avant ou pendant la mise en oeuvre du procédé selon l'invention soit par une étape de définition interactive avec l'utilisateur du procédé au fur et à mesure de l'occurrence de ce défaut d'information. Les valeurs de dimensions ainsi définies sont alors enregistrées dans les fichiers de localisation MEM File ou dans la ou les bases de données correspondantes. Après la localisation des instructions HDL qui seront à l'origine des éléments mémoire lors de la synthèse, le procédé conformément à une caractéristique essentielle de l'invention comprend une étape 2 d'insertion, dans une partie au moins du ou des fichiers originaux HDL File de description en langage HDL du système, d'instruction HDL qui lors de la synthèse du système assureront l'obtention d'au moins une chaîne de SCAN et des moyens mise en oeuvre du test de SCAN tels que par exemple mais exclusivement les entrées et sorties de SCAN, les moyens de mise en mode test du système, une horloge de test de SCAN et un contrôleur de test de SCAN. L'insertion des instructions HDL pour le SCAN sera réalisé , afin d'éviter toute violation des règles de SCAN lors de la synthèse du circuit. Le procédé selon l'invention mettra alors en oeuvre de manière préférée une phase d'identification des éventuels domaines d'horloge différents existants accompagnée d'un enregistrement dans les fichiers ou la base de donnée ad hoc de la localisation des différents domaines d'horloge le cas échéant. De manière préférée, l'étape 2 d'insertion des instructions HDL de SCAN est réalisée en fonction de paramètres fixés par l'utilisateur à savoir nombre et longueur des chaînes de SCAN pour l'ensemble du système ou pour certains éléments du systèmes concernés. Ainsi l'étape d'insertion 2 mettra en oeuvre le résultat de l'étape de localisation 1 tel que MEM File, les fichiers originaux de description HDL File, la localisation des différents domaines d'horloge et les paramètres de mise de oeuvre du SCAN définis par l'utilisateur. Selon l'invention l'insertion des instructions HDL de chaînage des éléments mémoire s'effectue, d'une part, au niveau local et, d'autre part, au niveau global. La phase de chaînage local, répétée autant de fois que nécessaire, correspond à l'insertion d'instruction HDL de chaînage au niveau d'ensemble d'instruction HDL correspondant à un processus HDL de manière à obtenir lors de la synthèse au moins une chaîne d'éléments mémoires pour chaque processus HDL. A cet égard dans le cadre du chaînage local d'un processus décrit en langage VHDL, l'invention prévoit une phase d'insertion d'instructions VHDL de définition de signaux intermédiaires destinés à reprendre des chaînes de variables afin de permettre leur affectation et leur chaînage en dehors des processus. Ainsi, selon une forme préférée de l'invention, la phase d'insertion 20 automatique des instructions HDL pour le chaînage local comprend les phases suivantes: É insertion d'instructions HDL correspondant à des signaux de test utilisés comme port d'entrée-sortie, É insertion éventuelle d'instructions HDL correspondant à des signaux intermédiaires de travail, É insertion, au niveau de chaque processus, d'instructions HDL assurant l'obtention, lors de la synthèse du circuit, d'au moins une chaîne, dite de SCAN , reliant les éléments mémoires propres au processus, É insertion d'instructions HDL assurant une affectation concurrente des chaîne des entrées et sorties des chaîne de SCAN en dehors des processus. Il est à noter que pour respecter les règles du SCAN l'invention prévoit, lors de l'insertion des instructions HDL de chaînage, une vérification de la comptabilité des éléments mémoires entre eux et à cet effet l'étape d'insertion des instructions HDL de chaînage comprend soit une phase de transformation automatique du type et/ou de la dimension d'un ou des deux objets à l'origine du conflit, soit une phase de modification interactive avec l'utilisateur du type et/ou de la dimension d'un ou des deux objets à l'origine du conflit. Après le chaînage local intervient le chaînage global qui comprend une phase, répétée autant que nécessaire, d'insertion d'instruction HDL de chaînage global au niveau des fichiers de description HDL de manière à obtenir lors de la synthèse, au moins une chaîne d'éléments mémoires comprenant les chaînes d'éléments mémoire crées lors de la phase de chaînage local. Par la mise en oeuvre du procédé selon l'invention il est ainsi obtenu, à partir du fichier original en VHDL HDL File illustré à la fig. 2, le fichier Scanned HDL File, illustré fig. 8, de description en VDHL du même système incorporant les instructions VHDL qui lors de la synthèse seront à l'origine des fonctionnalités de SCAN. De la même manière, la fig. 9 montre le fichier de description en Verilog Scanned HDL File obtenu par la mise en oeuvre du procédé selon l'invention sur le fichier original de description en Verilog tel qu'illustré à la fig. 4. Il est à noter que le procédé selon l'invention est de préférence mis en oeuvre de manière à tenir compte, d'une part, de l'existence d'instances identiques telles qu'indexées pendant l'étape d'indexation la et, d'autre part, de choix de l'utilisateur qui peuvent conduire par exemple à ce que dans une partie du système une instance est concernée par une seule chaîne de SCAN tandis que dans une autre partie du système la même instance est concerné par plusieurs chaînes de SCAN étant entendu que ces deux ou multiples instances identiques devront restées décrites par un même fichier ou ensemble de fichiers HDL. L'invention se propose alors de répondre à cet impératif en modifiant l'instance par l'insertion automatique des instructions HDL de SCAN lorsqu'elle apparaît la première fois au fils de l'insertion automatique des instructions HDL de SCAN pour l'ensemble des fichiers de description du système puis à chaque fois que ladite instance est rencontrée à nouveau il est vérifier que les instructions HDL de SCAN permettent de répondre aux impératifs locaux de SCAN si cela est le cas aucune modification n'est apportée aux fichiers de description de l'instance en revanche si cela n'est pas le cas le ou les fichiers de description de l'instance sont modifiés et il est revenu sur tous les lieux antérieurs d'occurrence de ladite instance et il est procédé à une modification de son environnement de manière à répondre aux impératifs locaux de SCAN avec la nouvelle forme de l'instance. Cette façon de procéder permet conformément à l'esprit de l'invention d'éviter tout calcul d'analyse prospective sur les instances identiques et de ne revenir sur les insertions d'instruction HDL déjà effectué que si cela est nécessaire. Dans une variante de mise en oeuvre du procédé, l'invention se propose de permettre à un concepteur de revenir sur le choix lié à la configuration des chaînes de SCAN qui sont construites au niveau RTL. A cet effet, l'invention prévoit d'insérer, en plus des instructions HDL de SCAN, des instructions HDL de reconfiguration à savoir, d'une part, des instructions HDL qui définissent des commutateurs intercalaires interposés entre chaque élément mémoire d'une chaîne de SCAN et/ou entre des parties de chaînes de SCAN et, d'autre part, des instructions HDL correspondant à au moins un contrôleur de ces commutateurs intercalaires. A la synthèse les instructions HDL de SCAN et de reconfiguration permettrons d'obtenir un système digital intégré S présentant des fonctionnalités telles que schématiquement illustrées la fig. 10. Ainsi, le système S comprend des portions de chaîne de SCAN 11, 12, 13, 14 reliées les unes à la suite des autres, comme le montre la fig. 10, par des commutateurs intercalaire 15, 16 qui sont reliés à un contrôleur 17. Par la mise en oeuvre de ces moyens il est possible de procéder à la reconfiguration dynamique des chaînes de SCAN après synthèse au niveau matériel en redéfinissant les paramètres suivants: > taille des chaînes de SCAN > configuration physique d'une ou de plusieurs chaîne de SCAN. Comme illustré à la fig. 10, une telle reconfiguration passe par le contrôleur 17 qui agit sur les commutateurs 15, 16 pour permettre l'activation des connexions des portions de chaîne 11 à 14 entre elles et avec le contrôleur 17 selon la séquence de configuration activée au niveau du contrôleur. Dans une forme de mise en oeuvre, l'invention prévoit également une étape d'insertion automatique, dans les fichiers de description HDL du système, des instructions HDL qui après synthèse du système lui conféreront toutes les fonctionnalités d'auto test intégré de BIST pour Buit-In Self Test . Ainsi l'invention prévoit une étape d'insertion automatique des instructions HDL d'auto test intégré qui lors de la synthèse seront à l'origine 20 d'au moins: - des moyens de génération de vecteurs de test tel qu'un générateur de vecteur de test 20, - des moyens d'analyse de la réponse du circuit testé tel qu'un bloc de compression de résultat de test 21, - des moyens de contrôle du test tel qu'un contrôleur de test - une entrée 23 et une sortie 24 de test. Comme le montre la fig. 11 ces éléments sont en relation avec le circuit à tester 25 qui peut assurer l'ensemble ou une partie seulement des 30 fonctionnalité du système S. 2866435 23 Selon l'invention le contrôleur de test sera adapté pour permettre au moins une programmation de la séquence ou des séquences d'initialisation du générateur de test afin d'augmenter la fiabilité du de l'autotest intégré et notamment la couverture de faute. Afin d'augmenter encore la couverture de faute le contrôleur de test sera adapté pour permettre une programmation de la configuration du contrôleur de test ainsi q'une programmation du contrôleur de SCAN. Selon encore une autre caractéristique de l'invention, il est prévu après synthèse une étape de programmation du contrôleur de test et éventuellement du contrôleur de SCAN cette programmation peut alors être effectuée à un bas niveau sur le contrôleur de test de manière à en figer les paramètre de test. Bien entendu des modifications peuvent être apportées à l'invention sans sortir de son cadre. 2866435 24 REVENDICATIONS 1 - Procédé d'analyse d'un ensemble de fichiers originaux de description d'un système électronique digital intégré (5) dans un langage de description au niveau transfert de registres, dit langage HDL, en vue d'insérer de manière automatique dans les fichiers de description des instructions en langage HDL pour obtenir un nouvel ensemble de fichiers de description en langage HDL du système électronique digital intégré incorporant des fonctionnalités de test de sorte que lors de la synthèse automatique du système électronique digital intégré à partir du nouvel ensemble de fichiers le système électronique digital intégré obtenu incorpore une partie au moins des circuits électroniques logiques (22, 23, 24) nécessaires au test du système électronique digital intégré (5), procédé caractérisé en ce qu'il comprend les étapes suivantes: É localisation automatique (1), dans les fichiers de description HDL orignaux des séquences d'instructions HDL qui, lors de la synthèse du système (3), seront à l'origine d'éléments mémoires, É insertion, dans une partie au moins des fichiers de description HDL, de manière séquentielle automatique et sans analyse relationnelle ou fonctionnelle des éléments mémoire identifiés, d'instructions HDL dites de SCAN assurant l'obtention, lors de la synthèse du système (3), d'au moins une chaîne (11), dite de SCAN , reliant les éléments mémoires. 2 - Procédé d'analyse et d'insertion selon la revendication 1, caractérisé en ce qu'il comprend une étape d'enregistrement du nouvel ensemble de 25 fichiers de description HDL obtenus. 3 - Procédé d'analyse et d'insertion selon la revendication 1 ou 2, caractérisé en ce que l'étape de localisation (1) des instructions HDL à l'origine des éléments mémoire comprend: ^ une étape de recherche de processus synchronisés afin de détecter les objets affectés à l'intérieur de ces processus, 2866435 25 ^ et une mise en oeuvre des règles suivantes pour l'identification des instructions à l'origine des éléments mémoires: É tout objet affecté à l'intérieur d'un processus et qui est lu dans un autre processus ou dans la partie concurrente du code HDL sera considéré comme un élément mémoire, É dans un processus synchronisé, tout objet affecté dans une branche d'une structure de contrôle if sans qu'il soit affecté dans toutes autres branches de cette même structure est considéré comme un élément mémoire, É dans un processus synchronisé, tout objet qui est lu avant d'être écrit est considéré comme un élément mémoire. 4 - Procédé d'analyse et d'insertion selon l'une des revendications 1 à 3, caractérisé en ce qu'il comprend une étape d'identification des éventuels différents domaines d'horloge existants et en ce que l'étape d'insertion d'instructions HDL de chaînage d'éléments mémoire est réalisée de manière à créer au moins une chaîne de SCAN distincte pour chaque domaine d'horloge. - Procédé d'analyse et d'insertion automatique selon l'une des revendications 1 à 4, caractérisé : ^ en ce qu'il comprend une étape d'analyse ou d'indexation (la) de l'ensemble de fichiers originaux de description HDL et de création d'au moins un fichier d'indexation comprenant, pour chaque objet et processus HDL, la liste des unités de conception si elles existent (entité, librairie, paquetage), pour chaque unité de conception l'ensemble des déclarations, chaque déclaration comprenant le numéro de ligne, le nom de l'objet, son type, sa taille ainsi que le type de construction de contrôle associée, ^ et en ce que l'étape de localisation des instructions HDL (lb) qui lors de la synthèse du circuit seront à l'origine d'éléments mémoires, comprend une phase de création d'un fichier de localisation des mémoires comprenant, pour chaque élément 2866435 26 mémoire: le nom de l'objet HDL correspondant, son type, sa dimension et ses coordonnées dans les fichiers de description HDL originaux. 6 - Procédé d'analyse et d'insertion automatique selon la revendication 5, caractérisé en ce que l'étape d'analyse ou d'indexation comprend une étape d'indexation des instances identiques du système et en ce que l'étape d'insertion automatique des instructions de SCAN est réalisée pour chaque instance lorsqu'elle apparaît la première fois au fils de l'insertion automatique des instructions HDL de SCAN pour l'ensemble des fichiers de description du système puis à chaque fois que ladite instance est rencontrée à nouveau il est vérifié que les instructions HDL de SCAN permettent de répondre aux impératifs locaux de SCAN si cela est le cas aucune modification n'est apportée aux fichiers de description de l'instance en revanche si cela n'est pas le cas le ou les fichiers de description de l'instance sont modifiés et il est revenu sur tous les lieux antérieurs d'occurrence de ladite instance et il est procédé à une modification de son environnement de manière à répondre aux impératifs locaux de SCAN avec la nouvelle forme de l'instance. 7 - Procédé d'analyse et d'insertion automatique selon l'une des revendications 1 à 5, caractérisé en ce qu'il comprend, en cas d'absence dans les fichiers de description HDL originaux d'information sur la dimension d'une variable à l'origine d'un élément mémoire, soit une étape de définition automatique de cette dimension sur la base d'une valeur par défaut prédéterminée, soit une étape de définition de cette dimension en interaction avec un utilisateur du procédé. 8 - Procédé d'analyse et d'insertion automatique selon l'une des revendications 1 à 7, caractérisé en ce qu'il comprend: É une étape de vérification, lors de l'insertion des instructions HDL de chaînage, de la compatibilité des éléments mémoires entre eux. É et, en cas d'incompatibilité : É soit une phase de transformation automatique du type et/ou de la dimension d'un ou des deux objets à l'origine du conflit, 2866435 27 É soit une phase de modification du type et/ou de la dimension d'un ou des deux objets à l'origine du conflit en interaction avec un utilisateur. 9 - Procédé d'analyse et d'insertion automatique selon l'une des revendications 1 à 8, caractérisé en ce que l'étape d'insertion d'instruction HDL de chaînage d'éléments mémoires comprend: ^ une phase d'insertion d'instructions HDL de chaînage dit local d'éléments mémoires au niveau d'ensemble d'instructions HDL correspondant à un objet HDL de manière à obtenir lors de la synthèse au moins une chaîne distincte d'éléments mémoires pour chaque objet HDL, ^ une phase d'insertion d'instruction HDL de chaînage, dit global, au niveau des fichiers de description HDL, de manière à obtenir, lors de la synthèse, au moins une chaîne d'éléments mémoire comprenant les chaînes d'éléments mémoire crées lors de la phase de chaînage local. - Procédé d'analyse et d'insertion automatique selon la revendication 9, caractérisé en que l'étape d'insertion automatique des instructions HDL pour le chaînage local comprend les phases suivantes: ^ insertion d'instructions HDL correspondant à des signaux de test utilisés comme port d'entrée-sortie, ^ insertion d'instructions HDL correspondant à des signaux intermédiaires de travail dans le cas d'éléments de mémoire entre plusieurs processus impliquant des ports primaires d'entrée/sortie, ^ insertion, au niveau de chaque processus, d'instructions HDL assurant l'obtention, lors de la synthèse du circuit, d'au moins une chaîne, dite de SCAN , reliant les éléments mémoires propres au processus, ^ insertion d'instructions HDL assurant une affectation concurrente des chaînes des entrées et sorties des chaînes de SCAN en dehors des processus. 2866435 28 11 - Procédé d'analyse et d'insertion automatique selon l'une des revendications 1 à 10, caractérisé en qu'afin de permettre une reconfiguration des chaînes de SCAN après synthèse l'étape d'insertion des instructions HDL de SCAN comprend: É une phase d'insertion d'instructions HDL qui lors de la synthèse généreront des commutateurs intercalaires entre certains au moins des éléments mémoire d'une chaîne de SCAN, É une phase d'insertions d'instructions HDL qui lors de la synthèse généreront un contrôleur des commutateurs intercalaires. 12 - Procédé d'analyse et d'insertion automatique selon l'une des revendications 1 à 11, caractérisé en ce que l'étape d'insertion automatique des instructions HDL comprend une étape d'insertion d'instructions HDL d'auto test intégré qui lors de la synthèse seront à l'origine d'au moins: - des moyens de génération de vecteurs de test tel qu'un générateur de vecteur de test (20), des moyens d'analyse de la réponse du circuit testé tel qu'un bloc de compression de résultat de test (21), - des moyens de contrôle du test tel qu'un contrôleur de test (22), une entrée (23) et une sortie (24) de test. 13 - Procédé d'analyse et d'insertion automatique selon la revendication 12, caractérisé en ce que les moyens de génération de vecteur de test comprennent un registre à décalage à contre réaction linéaire dont la séquence d'initialisation est programmable. 14 - Procédé d'analyse et d'insertion automatique selon les revendications 11 et 12 ou 13, caractérisé les moyens de génération de vecteurs de test et d'analyse des réponses se basent sur la structure de SCAN reconfigurable. - Dispositif de conception automatisée en langage de description au niveau transfert de registres, dit langage HDL d'un système complet ou d'une partie de système électronique digital intégré (5), dispositif comprenant au moins une unité de calcul, une unité de mémoire et une unité de stockage de 2866435 29 fichiers, caractérisé en ce que l'unité de stockage comprend des fichiers de description en langage HDL du système ou de la partie de système électronique intégré et en ce que les unités de calcul et de mémoire sont adaptées pour générer, en mettant en oeuvre le procédé selon l'une des revendications à 1 à 12 et à partir des fichiers de description HDL, de nouveaux fichiers de description HDL du système ou de la partie de système qui incorporent des instructions HDL, de manière que le système ou la partie de système électronique digital intégré obtenu à partir des nouveaux fichiers incorpore une partie au moins des circuits électroniques logiques nécessaires au test du fonctionnement des éléments mémoire. 16 - Système électronique digital intégré, caractérisé en ce qu'il résulte de la synthèse d'un ensemble de fichier de description en langage HDL obtenu par la mise en oeuvre du procédé selon l'une des revendications 1 à 12 et en ce qu'il comprend une partie au moins des circuits électroniques logiques nécessaires au test du fonctionnement des éléments mémoire, tels qu'une ou plusieurs chaînes de SCAN. 17 - Système électronique digital intégré selon la revendication 16, caractérisé en ce qu'il est adapté pour permettre une reconfiguration des chaînes de SCAN et en ce qu'il comprend au moins: É des commutateurs intercalaires (15, 16) placés entre certains au moins des éléments mémoire (11, 12) d'une chaîne de SCAN, É et un contrôleur des commutateurs intercalaires. 18 - Système électronique digital intégré selon la revendication 16 ou 17, caractérisé en ce qu'il comprend: - des moyens de génération de vecteurs de test tel qu'un générateur de vecteur de test (20), des moyens d'analyse de la réponse du circuit testé tel qu'un bloc de compression de résultat de test (21), - des moyens de contrôle du test tel qu'un contrôleur de test (22), - une entrée (23) et une sortie (24) de test. 19 - Système électronique digital intégré selon la revendication 18, caractérisé en ce que les moyens de génération de vecteur de test comprennent un registre à décalage à contre réaction linéaire dont la séquence d'initialisation est programmable. 20 - Système électronique digital intégré selon les revendications 17 et 18 ou 19, caractérisé en ce que les moyens de génération de vecteurs de test et d'analyse des réponses se basent sur la structure de SCAN reconfigurable.