FR 2595474 A1 19870911 FR 8602985 A 19860304 i La présente invention est relative aux dis- positifs de contrôle du fonctionnement de circuits et se rapporte plus particulièrement à un dispositif de contrôle et de vérification du fonctionnement de blocs internes à un circuit intégré. Dans une architecture de circuit intégré or- ganisée par blocs, chacune des parties du circuit con- sidéré a ses propres signaux de contrôle et d'état. Ces signaux de contrôle et d'état sont nom- breux dés que la fonction des blocs devient complexe, - surtout si l'on veut ajouter des signaux permettant d accélérer le test du circuit. Il n'est alors plus possible de transmettre tous ces signaux indépendamment à une unité centrale de traitement sans avoir une multitude d'interconne- xions entre blocs. L'invention vise donc à créer un dispositif qui permette d'assurer le contrôle et la vérification du fonctionnement de blocs internes à un circuit in- tégré sans qu il soit nécessaire de modifier la structure interne du circuit intégré dont font partie les blocs a contrôler. Elle a donc pour objet un dispositif de con- trôle et de vérification du fonctionnement de blocs internes à un circuit intégré, caractérisé en ce qu'il est composé d'un ensemble de registres à décalage et de circuits logiques associé à chaque bloc à contrôler du circuit, ledit ensemble de registres comprenant au moins un registre de contrôle, un registre d'état et un registre de masque, le registre d'état étant con- necté à des sorties du bloc à contrôler tandis que les registres de contrôle et de masque et les circuits lo- giques sont connectés à une unité centrale de traite- ment du circuit intégré dont font partie les blocs, l'unité centrale de traitement étant en outre connec- tée auxdits blocs par une ligne commune d'interrup- tion. L'invention sera mieux comprise à l'aide de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés, sur lesquels: - la Fig.1 est un schéma synoptique d'un circuit intégré formé de plusieurs blocs auquel est applicable le dispositif de contrôle et de vérifica- tion suivant l'invention; - la Fig.2 est un schéma simplifié d'un dis- positif de contrôle et de vérification destiné à être associé à un bloc du circuit de la Fig;l; - la Fig.3 est un schéma synoptique d'un circuit intégré à deux blocs auquel est associé un dispositif de contrôle et de vérification suivant l'invention; - la Fig.4 est un schéma plus détaillé du dispositif de contrôle et de vérification de la Fig.2; - la Fig.5 est un diagramme en fonction du temps montrant les chronogrammes de chargement du re- gistre de contrôle d'un dispositif de contrôle et de vérification suivant l'invention; - la Fig.6 est un diagramme montrant un exemple de transfert de données entre l'unité centrale de traitement du circuit à contrôler et ledit disposi- tif de contrôle; - la Fig.7 est un schéma montrant un exemple de vérification du fonctionnement d'un sous-ensemble d'un bloc de circuit intégré; - la Fig.8 est un schéma d'un circuit de vérification du fonctionnement d'une logique à l'aide du dispositif de l'invention; - la Fig.9 est un schéma synoptique d'un circuit intégré auquel est associé un dispositif de contrôle et de vérification suivant l'invention; et - la Fig.10 est un diagramme montrant la : :: * '::: ::::: : :: :: : l S :: : f ::: : : ' 1 0 _ : 0 f:::: :: : i :: r : 0 20 : :: - ': 0 0 25 :: :: D : :; : *: :: : A ::: : i -: D :: forme des signaux en certains points du circuit de la Fig.8. Le circuit intégré représenté à la Fi.1 est un système de visualisation de données sur un écran vidéo du type décrit dans la demande de brevet fran- çais n 84 10 377 déposée le 29 3uin 1984 au nom de la Demanderesse. Ce système comporte les unités suivantes: - une unité centrale de traitement 1 appelée ci-après CPU qui est destinée à gérer toutes les opé- rations du système grâce à un programme qui est conte- nu dans sa propre mémoire; - un processeur d'affichage vidéo 2 appelé ciaprès VDP communiquant avec le CPU 1 par un bus 3 et une ligne de commande 4, la circulation de l'infor- mation sur le bus étant assurée en multiplexage tempo- rel pour des adresses et des données conformément au processus qui est décrit notamment dans la demande de brevet n 83 03 142, déposée le 25 Février 1983 au nom de la Demanderesse; - une mémoire générale dynamiques 5 appelée DRAM qui peut communiquer avec les autres organes du système par l'intermédiaire d'un bus 6 à temps parta- gé, ce dernier étant relié notamment au CPU 1 par l'intermédiaire d'une interface 7; - une unité d'affichage 8 qui peut être un poste de télévision classique ou bien un moniteur éga- lement classique, cet organe étant destiné à l'affi- chage des informations visuelles élaborées dans le système; - une unité externe ou Didon 9 à l'aide de laquelle le système suivant l'invention peut communi- quer avec une source d'information externe qui peut être par exemple un émetteur de télétexte relié au système par exemple par un canal de télévision radio- diffusé ou par une ligne téléphonique ou autre. Le processeur d'affichage vidéo comprend un processeur d'adresses 10, un processeur de points 11 destiné à opérer le traitement des points ou "pixels" de l'écran de l'unité 8 et un processeur d'affichage 12, ces organes communiquant tous entre eux par l'in- termédiaire du bus à temps partagé 6 et d'un bus 13 sur lequel peuvent circuler uniquement des données. Les bus 6 et 13 sont raccordés à la mémoire DRAM 5 par l'intermédiaire d'une interface 14 permet- tant de multiplexer les données et les adresses desti- nées à la DRAM 5. Il est également prévu un dispositif de com- mande 15 d'accès dynamique à la mémoire DRAM 5, un circuit de base de temps BT associé au processeur d'affichage et communiquant notamment avec le circuit DMA 15, le moniteur de télévision 8 et le processeur d'affichage lui-même. Le circuit de la Fig.1 a une structure orga- nisée par blocs de sorte que chacune des parties prin- cipales du système à savoir: - l'interface CPU 7 - le proceseur d'adresses 10 - le processeur de points 11 - le processeur d'affichage 12 a ses propres signaux de contrôle et d'état. Le contrôle provoque une situation de fonc- tionnement et l'état donne un résultat. Suivant l'invention, chacun des blocs 7, 10, 11, 12 précités comporte une sortie d'interruption 7e, e,11e,12e, connectée à une ligne commune INT elle-même reliée d'une part à l'unité centrale de traitement CPU 1 et d'autre part au dispositif de con- trôle et de vérification associé à chacun des blocs précités et représenté i la Fig.2. Ce dispositif est constitué par un ensemble de registres et de circuits logiques qui sera dé- crit plus en détail par la suite en référence à la Fig.4. La programmation du contenu des registres de l'ensemble 20 est assurée par l'unité centrale de traitement 1 par l'intermédiaire du bus 6 a temps par- tagé auquel il est connecté. L'ensemble 20 comporte des entrées 20A d'é- tat du bloc auquel il est associé et des sorties de contrôle 20b. L'ensemble comporte enfin une sortie d'in- terruption 20ú reliée à la ligne ZINT commune à tous les blocs dont on veut contrôler le fonctionnement. La ligne E INT est utilisée par le CPU 1 pour la transmission de signaux de supplémentation utiles à l'application considérée ou bien pour véri- fier l'évolution d'un signal interne d'un circuit pendant le déroulement d'un test de celui-ci. L'utilisation d'un dispositif de contrôle du type représenté à la Fig.2 permet: - de réduire le nombre d'interconnexions entre blocs; - d'accéder par une ou plusieurs broches du circuit à des signaux internes à un bloc, le choix d'un signal s'effectuant par programmation du contenu d'un des registres du dispositif de contrôle; - de diminuer le temps de test du circuit; - de programmer un signal utile à une appli- cation, ce qui permet de réduire le nombre des compo- sants extérieurs au circuit. On va maintenant examiner à titre d'exemple en référence à la Fig.3 l'implantation du dispositif suivant l'invention dans le bloc processeur d'adres- ses 10 du circuit de la Fig.1. Bien entendu. le même système peut être utilisé pour les autres blocs du circuit avec des signaux d'état et de contrôle différents. Chaque bloc fonctionne indépendamment des autres. Seule la ligne EINT peut être commune à tous les blocs. La Fig.3 est un schéma partiel détaillé du circuit de la Fig.1. On y trouve l'interface 7 asso- ciée au CPU 1 et le processeur d'adresses 10 également relié au CPU 1. Un seul dispositif de contrôle et d'état as- socié au processeur d'adresses 10 est représenté. Il est connecté par ses entrées d'état 20, aux sorties d'une pile de registres 25 et à une unité arithmétique et logique ALU 27 qui font partie du pro- cesseur d'adresses 10. Il est en outre relié au bus 6 à temps par- tagé et à la ligne commune ZINT connectée à l'unité centrale de traitement CPU 1. La ligne ú INT est en outre connectée à un ensemble 18a, 18b, de registres de l'interface 7. Le reste du circuit de la Fig.3 est décrit dans la demande de brevet français n' 84 10 377. On va toutefois reprendre la description de ce circuit pour mieux faire comprendre l'invention qui lui est appliquée. L'interface 7 est destinée à relier le CPU 1 au VDP 2 pour un accès indirect ou à la DRAM 5 pour un accès direct. Elle est capable d'interpréter chaque champ d'adresse en conséquence. L'interface comporte un décodeur 16 relié au bus 3,comportant seize sorties parmi lesquelles quatre sorties, c'est à dire celles correspondant aux deux bits les moins significatifs du champ d'adresses a seize bits sont utilisées pour la validation de quatre registres particuliers de l'interface à savoir: - un registre de transfert d'adresse 17 va- lidé par le signal ENCPUA; - un registre de transfert de données 18 va- lidé par le signal ENCPUD; - un registre d'état (STATUS) 18a validé par le signal ENST; - un registre de commande 18b validé par le signal ENCT. Ces quatre registres sont commandés en écri- ture ou en lecture par le signal R/W (en écriture R/W=O) qui est appliqué a leurs entrées de commande correspondantes. Par conséquent, lorsqu'il s'agit d'un accès direct du CPU 1, le décodeur 16 génère les signaux de transfert d'adresse ALCPU et ENCPUA.En écriture, (R/W = 0) le champ de données consécutif est tranféré a son tour dans le registre 18 tandis qu'en lecture (R/W =1) le contenu de ce registre est transféré en fin de cy- cle sur le bus 3 pour que le CPU 1 puisse accéder a la donnée correspondante lue dans la DRAM 5. Le décodeur 16 comporte également une sortie REQCPUF qui permet de demander dans la DMA 15, un cycle d'accès a la DRAM5. Cette sortie est donc raccordée au circuit DMA15 pour que celui-ci alloue un cycle mémoire (sl- gnaux RAS et CAS) au CPU 1. Le cycle permet alors le transfert par le bus 6 entre le CPU 1 et la DRAM 5. Lorsque le champ d'adresses présente une valeur située entre deux limites choisies, ce champ est interprété comme une instruction. Ces instructions peuvent être réparties en deux groupes appelés respectivement "groupe d'ins- tructions de premier plan (appellation anglaise FOREGROUND INSTRUCTIONS" et" groupe d'instructions de second plan " (appellation anglaise BACKGROUND INS- TRUCTIONS).Pour faciliter la description on utilisera pour le premier groupe l'abréviation FG et pour le second groupe l'abréviation BG. Parmi les adresses interprétées, quatre adresses sont destinées a désigner sélectivement les quatre registres 17,18,18a,18b de l'interface 7. Pour cela, les deux derniers bits du champ d'adresses peuvent être utilisés selon la table de vérité suivante: RCTL WCTL 00 Registre 18b RST WST 01 Registre 18a RCD WCD 10 Registre 18 RCA WCA 11 Registre 17 {R désigne un signal de lecture et W. un signal d'écriture). Les autres instructions résultant d'une adresse interprétée qui sont donc au nombre de 256-4 = 252 avec les huit bits les moins significatifs du champ d'adresses sont destinées à l'exécution des cycles FG par l'intermédiaire d'un registre FG 21 quifait partie de l'interface 7 et qui est relié entre certaines sorties du décodeur 16 et le processeur d'adresses 10 et plus précisément aux entrées d'adresses d'une mémoire per- manente CMOS 22 faisant partie de ce processeur. Un registre 23 de l'interface appelé regis- tre BG est destiné à être chargé avec.les instructions BG lorsqu'il est désigné par un champ d'adresse dont l'interprétation appelle un ou plusieurs cycles BG. La désignation de ce registre se fait sur les trois bits les moins significatifs du champ d'adresses et plus précisément lorsque ces bits ont la valeur 111. Lorsque le registre BG-23 est sélectionné, le champ de données consécutif contient une instruc- tion sur seize bits qui place le VDP dans une confi- guration permettant l'exécution d'un grand nombre de cycles de mémoire sous la commande du circuit DMA 15, ces cycles étant traités successivement a moins que les instructions FG viennent interrompre le processus. Dans ce casle circuit DMA alloue un ou plusieurs cy- cles FG qui sont exécutés, puis les cycles BG sont re- pris là o ils avaient été interrompus, le processus d'interruption en fonction de la priorité à accéder à la mémoire étant décrit dans la demande 83 03 143 pré- citée. Le processeur d'adresses comporte,outre la mémoire CROM 22,deux piles de registres 24 et 25 res- pectivement appelés NRAM et PRAM qui peuvent être chargées et lues sur 16 bits à travers un registre.de transfert 26 relié au bus 6 à temps partagé. Chaque pile est reliée à une unité arithmétique et logique ou ALU 27, elle-même connectée également directement au bus 6 par l'intermédiaire du registre de transfert 26 et de deux bus sur 16 bits 28 et 29, N et P. Le pro- cesseur d'adresses est utilisé principalement pour fournir et calculer toutes les adresses générées par le VDP pour accéder à la mémoire 5. La mémoire 22, lorsqu'elle est adressée par une partie de l'instruction contenue soit dans le re- gistre 21 FG, soit dans le registre 23 BG, permet de sélectionner une micro-instruction qui y est mémori- sée afin de valider un ou plusieurs registres des piles 24 et 25, une fonction arithmétique ou logique dans le ALU 27 et le transfert par le registre 26. Les opérations de l'ALU 27 sont commandées par cinq bits des micro-instructions qui peuvent sélectionner la retenue (C! = 0,1 ou 2) et l'opération d'addition ou de soustraction sur le bus P ou N 28.29 ou entre ces deux bus. La mémoire de commande CROM 22 contient également les signaux nécessaires a la commande des autres organes du VDP 2 pour effectuer le transfert des données et des adresses entre les différents bus et les registres. Les micro-instructions adressées dansla CROM 22 sont chaque fois validées en temps partagé par le circuit DMA 15 sur la ligne 30 pour permettre l'établissement de l'ordre de priorité relative à l'accès à la mémoire. Dans le cas repré- senté ici, six priorités sont ainsi établies dans l'ordre d'énumération 1. CPU - FG 2. Voie externe (Didon 9) 3. Gestion de l'affichage (processeur de points 11) 4. Affichage (processeur d'affichage 16) 5. Rafraichissement de la mémoire 5 6. CPU 8G. Il résulte donc de ce qui précède que les cycles FG de premier plan sont utilisés par le CPU 1 pour accéder directement à la mémoire ou bien pour accéder aux registres internes du VDP 2 et ce pour n'échanger avec la mémoire qu'un seul mot de 16 bits à la fois. Par contre, un cycle BG de second plan est exécuté avec la priorité la plus faible, c'est à dire lorsque le VDP 2 n'a pas d'autres cycles à éxécuter il pour les autres utilisateurs. Le cycle BG peut être déclenché soit par le CPU par l'intermédiaire d'un cycle FG soit par le VDP 2. Lorsque c'est le CPU qui déclenche un tel cycle ou groupe de cycles, il peut s'agir par exemple du déplacement d'un groupe de mots dans la mémoire 5, cette opération étant alors exécu- tée sans que le CPU n'ait de nouveau à intervenir après le cycle FG qui les a déclenché, de sorte qu'il peut continuer a travailler en FG durant l'exécution des cycles BG, le tout étant géré par le circuit DMA selon la priorité établie (dans ce cas précis, il y aurait interruption puis reprise de l'exécution des cycles 8G). L'avantage considérable de cet ordonnance- ment des opérations est que les différents utilisa- teurs peuvent travailler et communiquer a leur propre rythme, sans être gênés par les autre utilisateurs, le DMA permettant d'appliquer dans tous les cas la prio- rité appropriée. L'interface 14 de la DRAM 5 comprend deux registres de transfert (31 et 32) non représentés commandés par des signaux fournis par les micro-ins- tructions de la mémoire CROM 22 et par les signaux RAS et CAS issus du circuit DMA 15. afin de transférer les champs d'adresse et de donnée du bus 6 vers la DRAM ou inversement. Cependant. des données peuvent également être transférées directement dans la mémoire 5 a par- tir du bus 13 à des adresses transférées à travers le bus 6 et l'un de ces registres. en provenance du pro- cesseur d'adresse 10. Le dispositif de contrôle suivant l'inven- tion est représenté plus en détail à la Fig.4. Il comporte un registre de contrôle 35 des- tiné à générer des signaux destinés à la logique in- terne du bloc à contrôler, un registre d'état 36 qui regroupe les signaux reflétant l'état interne du bloc. un registre de masque 37 qui permet de sélectionner un ou plusieurs signaux devant apparaitre sur la ligne INT issue du bloc correspondant, un comparateur 38 qui associe à chaque signal d'état un bit de masque et qui genère un signal INT lorsqu'il y a concordance entre masque et état, et une logique de commande 39 qui géné- re les signaux de transfert entre le bus a temps par- tage 6 et les registres. Le chargement des registres de contrôle et de masque 35 et 37 va maintenant être décrit en réfé- rence a la Fig.3. Que ce soit pour le test des signaux inter- nes du bloc a contrôler ou pour l'initialisation de signaux internes pour une application,les registres de contrôle 35 et le masque 37 doivent être chargés par le CPU 1 décrivant l'application ou le test. Le procédé de chargement de tels registres a déjà été décrit notamment dans la demande de brevet français N' 84 10 377 précitée. La Fig.5 représente les chronogrammes de chargement du registre de contrôle. Le CPU 1 engendre les signaux AL, EN et R/W qui déclenchent l'opération. Le bus du CPU transmet le code d'instruc- tions qui est interprété par le décodeur 16 de l'in- terface 7. Celui-ci génère un signal de demande d'accès Req.CPUF. L'adresse correspondant au code de l'ins- truction est chargée dans le registre CPU ADDR 17 et la donnée, dans le registre CPU DATA 18. Lorsque le signal CPUF est généré par le DMA ,la logique de commande 39 du circuit de la Fig.4 interprète le code de l'instruction et le signal d'é- criture R/W = 0 pour générer le signal TS>CT qui transfère la donnée du bus 6 a partage de temps dans le registre de contrôle 35. Il est à noter que durant l'exécution du cycle CPUF, le code et la donnée multiplexés sur le bus 6 a partage de temps sont issus respectivement des registres CPU ADDR 17 et CPU DATA 18 chargés aupara- vant par le cycle CPU. Le même processus se déroule pour le charge- ment du registre de masques 37. Le code d'instructions étant différent, c'est le signal TS>CM qui est généré par le circuit de commande 39. * En lecture, par un processus inverse,le con- tenu d'un des registres de contrôle, de masque ou d'é- tat 35,37 ou 36 est transféré sur le bus CPU par l'in- termédiaire du bus 6 à partage de temps et du registre CPU DATA 18. Le signal R/W = 1 sélectionne la lecture. Le code de l'instruction interprété par la logique de commande 39 (Fig.4) génère l'un des signaux CT>TS, CM>TS ou ST>TS qui transfère le contenu du registre correspondant dans le champ de données du bus 6. La génération du signal INT est assurée de la manière suivante. En supposant que le bloc du processeur d a- dresses 10 a seize signaux d'état ST0 à ST15,le regis- tre de masque 37 (Fig.4) contient 16 bits CMO à CM15. Les signaux ST et CM de même indice combinés dans une porte ET 40 du comparateur 38 engendrent des signaux respectifs EQO à EQ15. Le signal INT résulte d'une opération logique OU effectuée sur les signaux EQO a EQ15 par une porte OU à seize entrées 41. Si tous les bits CMO à CM15 sont au niveau zéro, la sortie INT est au niveau zéro. Si un bit de masque CMn est à UN, la forme n du signal ST correspondant est recopiée sur la sortie n INT. Si plusieurs bits de masque CM sont au ni- veau logique UN, la sortie INT de la porte 41 est un signal correspondant à la somme de tous les bits d'&é- tat sélectionnés par le registre de masque 37. La ligne INT de chaque bloc est reliée par un circuit OU cable (porte 41) à la ligne 2LINT qui génère de la même manière un signal correspondant à la somme de tous les blocs. Le signal E INT est utilisé par une applica- tion de la façon suivante. On suppose que pour une application,on ait besoin d'un signal d'égalité entre une adresse et un pointeur pour arrêter une séquence de transfert de données entre le CPU 1 et la mémoire associée au cir- cuit. Le CPU 1 doit transférer des données dans la mémoire 5 (Fig.1) par exemple de l'adresse 1000 à l'adresse 1080,sans se préoccuper des tests de nombre d'accès ou des tests d'adresse de fin de processus. Le signal S INT appliqué a une borne d'en- trée du CPU 1 va interrompre le processus. Durant la phase d'initialisation,le CPU 1 programme le contenu des registres PE1, PM1, de la pile 25 (Fig.3 et 4),la première valeur étant l'a- dresse de la fin de parcours PE1 = 1080 et la deuxième valeur étant l'adresse de la première écriture PM1 = 1000. Le registre de masque 37 est programmé pour sélectionner les signaux EQP1 issus du comparateur du contenu des registres PE1 et PM1 du processeur d'a-- dresse 10 et CPUF issu du bloc DMA 15. Les autres bits de masque étant a zéro tous les signaux excepté EQ13 et EQ0 sont forcés à zéro et n'ont aucune action sur le signal INT. Durant le transfert de données, le CPU sé- lectionne le pointeur PM1 comme adresse d'accès à la mémoire et à chaque cycle CPUF, le pointeur PM1 est incrémenté. De l'adresse 1000 à l'adresse 107F, le si- gnal EQP1 est au niveau haut car il n'y a pas égalité entre PE1 et PM1. Le signal EQO reste au niveau UN, INT et INT restent a UN. Le CPU continue ses accès. En fin de cycle représenté en A sur le gra- phique à la Fig.6,1e calcul d'adresse PHi1 = 107F + 1 fait basculer EQP1 au niveau "" puisque PE1 = PM1 = 1080. Durant le cycle B, les signaux CPUF et EQP1 étant tous les deux au niveau bas, toutes les entrées de la porte OU 41 sont au niveau bas et le signal INT est au niveau bas. Le CPU 1 reçoit un signal Z INT = 0 sur sa borne d'interruption et arrête le transfert de don- nées. La borne G INT du CPU 1 peut également être utilisée pour un test. Les registres de contrôle 35, de masque 37 et d'état 36 peuvent être utilisés pour tester des sous-ensembles logiques d'un bloc dans le but de diminuter le temps de test du circuit intégré. La Fig.8 donne un exemple des moyens et du procédé pour vérifier le fonctionnement d'une logique de gestion de tampon circulaire. Sur la Fig.8, on a représenté une portion de la pile de registres 24 du processeur d'adresses 10 à laquelle est connectée une bascule RS 45 formée de deux portes NON-ET 46,47 a trois entrées. Une première entrée de la porte 46 est connectée à une sortie EQN1 de la pile de registres 24, une seconde entrée est re- liée à la sortie CTO du registre de contrôle 35 (Fig. 4) et une troisième entrée est reliée a la sortie de la porte 47. Une première entrée de la porte 47 est con- nectee à la sortie de la porte 46 qui constitue une entrée d'état ST1 du registre d'état 36. Une seconde entrée de la porte 47 est connectée à la sortie CT1 du registre de contrôle 35 et une troisième entrée est connectée à la sortie EQN3 de la pile de registres 24. Les sorties FQN1 et EQN3 de la pile sont éga- lement reliées aux entrées ST4, ST3 du registre d'état 36. La sortie de la bascule RS 45 est connectée à une bascule 48 dont une autre entrée est reliée à EQN3 et dont deux sorties délivrent des signaux ST2 et CT2. Le tampon circulaire est défini par deux adresses BAT, adresse de début et BATF. adresse de fin de la pile de registre 25. Il fait partie de la mémoi-_ re 5 (Fig.1). Durant l'utilisation, deux pointeurs PMT et PMEX (Fig.7) sont utilisés pour accéder à cette zo- ne. PMEX est utilisé pour écrire des données dans le tampon à chaque cycle DMA EXT voie externe. PMT est utilisé par le CPU pour lire les données dans le tampon. En utilisation normale, durant la phase d'initialisation, l'adresse de début de tampon BAT est transféré dans les deux pointeurs PMT et PMEX. Durant chaque cycle EXT,le pointeur PMEX est incrémenté jusqu'à ce qu'il soit égal à BATE. Lorsque PMEX = BATE (EQN3 = O), PMEX est re- chargé avec BATE et la bascule RS 45 (Fig.8) change d'état ST1 = O. La recirculation des pointeurs PMT est iden- tique. EON1 = O positionne ST1 = 1 En utilisation normale, la voie EXT charge des données dans la mémoire, le pointeur PMEX évolue entre les deux bornes du tampon. De son côté, le CPU 1 accède aux données par le pointeur PMT tant qu'il n'y a pas égalité entre PMT et PMEX (EQN2 = O). S'il y a égalité, cela veut dire que PMT a rattrané PMEX et que le CPU doit s'arrêter. Dans un fonctionnement anormal du bloc, si PMEX évolue en moyenne plus rapidement que PMT,on retrouve l'égalité EQN2 = O, le pointeur PMEX ayant un tour d'avance (ST1 = O). Il y a débordement de la capacité du tampon qui est indiqué par la bascule 48. Le signal EQN2 charge l'état de la bascule RS 45 dans la bascule 48. ST2 = 0. Cette sortie ne peut être repositionnée à "1" que par le signal CT2. Pour accélérer le test de ce système de gestion de tampon circulaire, des bits CTO, CT1 et CT2 du registre de contrôle 35 sont utilisés pour prépo- sitionner un état de la bascule RS 45 et la bascule 48 (Fig.8) tandis que les signaux ST1, ST2, ST3 et ST4 sont sélectionnés sur la broche Z INT un à un par les bits de masque correspondants. Par exemple, pour tester les comparateurs EQN1, EQN2 ou EON3, les registres correspondants sont chargés a des valeurs égales par le CPU 1 ou un tes- teur qui vérifie sur la broche SINT si le résultat est correct. Le fonctionnement de la bascule RS 45 peut être vérifié comme suit. Des valeurs différentes sont chargées dans les pointeurs. CTO est positionné a " 0" et CT1, a "1". Le testeur vérifie ST1 = 1 sur la broche, E INT validée par le bit de masque CMI1 = 1 issu du registre de masque 37. Les autres états des signaux du système de gestion peuvent être vérifiés en utilisant des confi- gurations des signaux de contrôle différents. On a vu dans ce qui précède la manière de programmer la broche Z INT pour générer un signal qui est la combinaison d'un ou plusieurs signaux internes, le signal EINT étant utilisé par le CPU 1 comme si- gnal d'interruption. Le même système peut être utilisé pour acti- ver des sous-blocs internes en vue d'accélérer le test d'un circuit. Le système de contrôle et l'état peut être utilisé pour vérifier avec un oscilloscope ou un tes- teur, le comportement dynamique d'un signal interne en utilisant comme référence de temps des signaux dispo- nibles sur les broches du circuit par exemple les si- gnaux RAS et CAS et l'oscillateur du DMA 15 (Fig.9). Par exemple, on peut vérifier le temps de calcul de l'additionneur et plus précisément le signal de retenue d'adresse colonne AINT du DMA 15. A cet effet, on connecte la borne AINT du DMA 15 à la borne ST14 du registre d'état 36 du dispo- sitif de contrôle et d'état. 1 9 Le testeur programme le contenu du registre de masque 37 avec CM14 = 1 ce qui valide le signal AINT sur la ligner INT. Pour activer AINT, le testeur sélectionne une commande qui incrémente un pointeur, par exemple PM1 a une valeur A à chaque cycle. Le registre A contenant une valeur telle que AINT change a chaque cycle CPUF. Le temps d'attente Ta peut être très facile- ment vérifié sur la broche X INT en prenant comme ré- férence, l'oscillateur du DMA 15, RAS ou CAS qui sont disponibles sur les broches du circuit. (Fig.10). Le choix de signaux critiques reliés au re- gistre d'état 36 permet ainsi de vérifier une multitu- de de signaux internes sans utiliser un procédé clas- sique qui nécessite un grand nombre de connexions sur des broches du circuit ou un test sous pointe qui-ne peut s'effectuer que dans des laboratoires spéciali- sés. REVENDICATIONS 1. Dispositif de contrôle et de vérification du fonctionnement de blocs internes à un circuit intégré, caractérisé en ce qu'il est composé d'un ensemble de registres a décalage et de circuits logiques associé à chaque bloc à contrôler du circuit, ledit ensemble de registres comprenant au moins un registre de contrôle (35), un registre d'état (36) et un registre de masque (37), le registre d'état (36) étant connecté à des sorties (STO à ST15) du bloc à contrôler tandis que les registres de contrôle et de masque (35.37) et les circuits logiques (38,39) sont connectés à une unité centrale de traitement (1) du circuit intégré dont font partie les blocs, l'unité centrale de traitement (1) étant en outre connectée auxdits blocs (7,10) par une ligne commune d'inter- ruption (LINT). 2. Dispositif suivant la revendication 1, caractérisé en ce que lesdits circuits logiques com- prennent un comparateur (38) des signaux d'état (STO à ST15) issus du bloc à contrôler et des signaux de mas- que (CMO à CM15) délivrés par le registre de masque (37) et correspondant aux signaux issus du bloc qu'il y lieu de contrôler en vue de former un signal d'in- terruption INT. ledit comparateur (38) étant connecté par ladite ligne d'interruption (t INT) à l'unité centrale logique (39) de commande du dispositif con- necté à un bus de données (6) du circuit. 3. Dispositif suivant la revendication 2, caractérisé en ce que ledit comparateur (38) est cons- titué d'autant de portes ET (40) que le bloc (7,10) à contrôler comporte de sorties, une entrée de chaque porte étant destinée à recevoir un signal d'état (STO à ST15) dudit bloc et une autre entrée de celle-ci étant connectée à une sortie du registre de masque (CMO à CM15) de même rang. 4. Dispositif suivantl'une quelconque des revendications 1 à 3, caractérisé en ce qu'il compor- te en outre des moyens (45,48) associés à au moins un sous-bloc interne à un bloc (24) à contrôler, desti- nés à activer et tester le sous-bloc interne corres- pondant. 5. Dispositif suivant l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il consti- tue également un dispositif pour vérifier le temps de propagation électrique d'un signal interne à un bloc à contrôler.