FR 3089322 A1 20200605 FR 1872038 A 20181129 Description Titre de l'invention : Gestion des restrictions d'accès au sein d'un système sur puce [0001] Des modes de mise en oeuvre et de réalisation de l'invention concernent le routage de transactions entre des équipements maîtres et des équipements esclaves au sein d'un système sur puce (SOC : System On Chip) par exemple un microcontrôleur, et plus particulièrement la gestion des restrictions d'accès à certains équipements esclaves. [0002] Afin de contribuer à garantir la fiabilité d'un système sur puce, il peut être requis de restreindre l'accès d'un ou de plusieurs équipements maîtres à des ressources (équipements esclaves) spécifiques. Une telle caractéristique est couramment désignée par l'homme du métier sous le vocable anglosaxon de « isolation ». [0003] La gestion de ces restrictions d'accès est habituellement complexe à mettre en oeuvre, en particulier lorsque cette gestion est dynamique. [0004] Il existe donc un besoin de rendre une telle gestion simple à mettre en oeuvre et à im- plémenter, tout particulièrement dans le cas où cette gestion est dynamique, par exemple lorsqu'elle dépend de l'application envisagée pour le système sur puce. [0005] Selon un aspect, il est proposé un système sur puce, comprenant un ensemble d'équipements maîtres, par exemple un ou plusieurs processeurs, un contrôleur d'accès direct en mémoire (DMA : Direct Memory Access)... [0006] Certains équipements maîtres possèdent chacun une interface de programmation. Un équipement maître possédant une interface de programmation est appelé dans la suite du texte « premier équipement maître ». [0007] L'ensemble d'équipements maîtres peut aussi éventuellement comporter un ou plusieurs équipements maîtres dépourvus d'interface de programmation. Un équipement maître dépourvu d'interface de programmation, par exemple un processeur, est appelé dans la suite du texte « deuxième équipement maître », pour le distinguer d'un premier équipement maître. [0008] Lc système sur puce comprend par ailleurs plusieurs équipements esclaves. Sont considérés comme des équipements esclaves, lesdites interfaces de programmation ainsi que des interfaces esclaves d'équipements spécifiques tels que par exemple des mémoires ou des périphériques ou plus généralement des ressources. Les interfaces esclaves sont différentes des interfaces de programmation. [0009] Le système sur puce comporte par ailleurs un circuit d'interconnexion (connu par l'homme du métier sous la dénomination anglosaxonne « interconnect ») couplé entre l'ensemble des équipements maîtres et les équipements esclaves. [0010] Chaque équipement maître est configuré pour trtuismettre des trtuisactions (par 2 exemple des transactions d'écriture ou de lecture) à l'un au moins des équipements esclaves. [0011] Chaque transaction émise par un premier équipement maître est affectée d'un attribut capable de prendre au moins deux valeurs d'attribut correspondant à au moins deux états souhaités pour ce premier équipement maître. [0012] Quant audit au moins un deuxième équipement maître, dépourvu d'interface de pro- grammation, il est aussi connecté au circuit d'interconnexion, et est configure pour conférer à l'attribut de ses transactions une valeur fixe prise parmi lesdites au moins deux valeurs d'attribut et correspondant pour ce deuxième équipement maître à un des états souhaités. [0013] Cette valeur fixe d'attribut est par exemple codée en dur dans le deuxième équipement maître ce qui lui confère de facto un état fixe. [0014] Chaque équipement esclave est par ailleurs associé à un identifiant (par exemple un mot de un ou plusieurs bits) capable de prendre au moins deux valeurs correspondant respectivement à au moins deux propriétés souhaitées pour l'équipement esclave. Une première propriété souhaitée pour un équipement esclave peut être par exemple le fait qu'il ne puisse être accédé que par un ou plusieurs équipements maîtres autorisés pris parmi l'ensemble des équipements maîtres et une deuxième propriété souhaitée pour cet équipement esclave peut être le fait qu'il puisse être accédé par n'importe quel équipement maître de l'ensemble des équipements maîtres. [0015] En d'autres termes, un équipement esclave ayant la première propriété est alors dit « isolé » tandis qu'il est dit « non isolé » s'il possède la deuxième propriété. [0016] Dans un tel cas, les deux propriétés sont complémentaires l'une de l'autre, c'est-à-dire qu'un équipement esclave ne peut ni avoir les deux propriétés en même temps, ni n'en posséder aucune. Les deux valeurs de l'identifiant correspondant à ces deux propriétés sont alors par exemple simplement les deux valeurs logiques d'un bit. [0017] Quant à un équipement maître de l'ensemble des équipements maîtres, que ce soit un premier ou un deuxième équipement maître, un premier état souhaité pour cet équipement maître est le fait qu'il soit autorisé à accéder à n'importe quel équipement esclave, et un deuxième état souhaité pour cet équipement maître est le fait qu'il ne soit pas autorisé à accéder à un ou plusieurs équipements esclaves sélectionnés parmi l'ensemble des équipements esclaves. [0018] En d'autres termes, un équipement maître ayant le premier état peut accéder à tout équipement esclave, par exemple que ce dernier soit « isolé » ou non, tandis qu'un équipement maître ayant le deuxième état ne peut pas par exemple accéder aux équipements esclaves « isolés ». [0019] Par ailleurs chaque premier équipement maître hérite automatiquement de la propriété de son interface de programmation (qui est considérée, comme indiqué ci- 3 avant, comme étant un équipement esclave) et est configure pour conférer à l'attribut de ses transactions l'une des valeurs de l'attribut en fonction de la valeur de l'identifiant de son interface de programmation. [0020] Le système sur puce comporte par ailleurs des moyens de filtrage configurés pour, en présence d'une transaction destinée à un équipement esclave, comparer la valeur de l'attribut correspondante avec la valeur esclave de l'identifiant esclave de cet équipement esclave et rejeter ou non la transaction en fonction du résultat de la comparaison. [0021] Le fait que chaque premier équipement maître hérite automatiquement de la propriété de son interface de programmation et qu'il confère à l'attribut de ses transactions l'une des valeurs de l'attribut en fonction de la valeur de l'identifiant de son interface de programmation, simplifie grandement la gestion des restrictions d'accès ainsi que l'implémentation matérielle. [0022] Ainsi, si l'interface de programmation d'un premier équipement maître est considérée comme « isolée », alors ce premier équipement maître est automatiquement isolé c'est-à-dire qu'il pourra avoir accès non seulement aux équipements esclaves isolés mais aussi à ceux qui ne sont pas isolés. [0023] Si par contre l'interface de programmation d'un premier équipement maître est considérée comme « non isolée », alors ce premier équipement maître est automatiquement non isolé c'est-à-dire qu'il ne pourra pas avoir accès aux équipements esclaves isolés. [0024] Il n'est donc pas nécessaire en particulier de prévoir un signal externe dédié à rendre isolé ou non le premier équipement maître. [0025] En conséquence, le premier équipement maître définit la valeur de l'attribut de ses transactions en fonction de la valeur de l'identifiant de son interface de programmation, ce qui évite là encore l'utilisation d'un signal externe spécifique pour définir la valeur d'attribut. [0026] Alors que les valeurs des identifiants des équipements esclaves peuvent être figées dans des registres du système sur puce, il est particulièrement avantageux, dans certaines applications, de pouvoir programmer ces valeurs pour certains au moins des équipements esclaves. [0027] Comme indiqué ci-avant les équipements esclaves comportent lesdites interfaces de programmation et des interfaces esclaves d'équipements spécifiques, par exemple des mémoires, périphériques ou plus généralement des ressources. [0028] Et selon un mode de réalisation, la valeur de l'identifiant de l'une au moins des in- terfaces esclaves ainsi que la valeur de l'identifiant de l'une au moins des interfaces de programmation sont avantageusement programmables. [0029] Par ailleurs, le système comporte en outre des moyens de programmation configurés pour programmer lesdites valeurs d'identifiants programmables via ledit circuit d'interconnexion. [0030] A titre d'exemple non limitatif, les moyens de programmation peuvent comporter au moins un premier registre programmable associé à ladite une au moins des interfaces de programmation et destiné à contenir la valeur de l'identifiant associé à cette interface de programmation, au moins un deuxième registre programmable associé audit au moins un des équipements spécifiques et destiné à contenir la valeur de l'identifiant associé à cet équipement spécifique, un bloc de programmation, par exemple une machine d'état matérielle ou bien le plus souvent des instructions d'un code d'initialisation, configure pour programmer ledit au moins un premier registre programmable et ledit au moins un deuxième registre programmable via le circuit d'interconnexion, et un lien de connexion, par exemple un ou plusieurs « fils » en fonction de la taille de l'identifiant, entre ledit au moins un premier registre programmable et ladite une au moins des interfaces de programmation. [0031] Cette connexion « filaire » est particulièrement simple à réaliser, ce qui rend fa- cilement simple à réaliser la gestion dynamique des restrictions d'accès. [0032] Tl est par ailleurs particulièrement avantageux que ce lien de connexion s'étende aussi jusque dans le premier équipement maître associé à ladite au moins une des interfaces de programmation. [0033] Ainsi, la logique de contrôle de l'interface de programmation de ce premier équipement maître peut lire directement le contenu du premier registre programmable de façon à connaître la valeur de l'identifiant associée à cette interface de programmation et déterminer ainsi si elle a par exemple un caractère isolé ou non de façon à rejeter par exemple des transactions qui viendraient d'un équipement maître qui ne pourrait pas avoir accès aux équipements esclaves isolés. [0034] De même, le premier équipement maître reçoit directement la valeur de l'identifiant associé à son interface de programmation et peut par conséquent attribuer de facto une valeur d'attribut qui correspond à un tel identifiant. [0035] En d'autres termes, si l'interface de programmation est isolée, ce premier équipement maître héritera automatiquement du fait d'avoir par exemple accès à tout équipement esclave, isolé ou non. [0036] Le ou l'un des deuxièmes équipements maîtres, par exemple un microprocesseur, peut effectuer la programmation du ou des registres programmables. En d'autres termes, le ou l'un des deuxièmes équipements maîtres peut incorporer le bloc de programmation. [0037] Les moyens de programmation sont par exemple configurés pour effectuer leur pro- grammation lors d'une phase d' initial isation du système. [0038] Selon un mode de réalisation, le circuit d'interconnexion comporte une matrice d'interconnexion connectée à l'ensemble d'équipements maîtres et au moins un étage comportant au moins un démultiplexcur possédant une entrée connectée à une sortie de la matrice d'interconnexion et plusieurs sorties connectées auxdites interfaces esclaves. [0039] Les moyens de filtrage comportent alors une logique de filtrage située dans ledit étage, connectée audit au moins un deuxième registre programmable et configurée pour comparer la valeur de l'attribut d'une transaction destinée à l'une des interfaces esclaves avec la valeur de l'identifiant de cette interface esclave. [0040] Comme indiqué ci-avant, une première propriété souhaitée pour un équipement esclave est le fait qu'il ne puisse être accédé que par un ou plusieurs équipements maîtres autorisés pris parmi l'ensemble des équipements maîtres et une deuxième propriété souhaitée pour cet équipement esclave est le fait qu'il puisse être accédé par n'importe quel équipement maître de l'ensemble des équipements maîtres. [0041] De même, un premier état souhaité pour un équipement maître de l'ensemble des équipements maîtres est le fait qu'il soit autorisé à accéder à n'importe quel équipement esclave, et un deuxième état souhaité pour un équipement maître de l'ensemble des équipements maitres est le fait qu'il ne soit pas autorisé à accéder à un ou plusieurs équipements esclaves sélectionnés parmi l'ensemble des équipements esclaves. [0042] Ainsi, par exemple, lorsque l'identifiant d'une interface de programmation a une première valeur correspondant à la première propriété, l'attribut d'une transaction émanant du premier équipement maître associé à cette interface de programmation a une première valeur d'attribut correspondant au premier état. [0043] Et, par exemple, lorsque l'identifiant d'une interface de programmation a une deuxième valeur correspondant à la deuxième propriété, l'attribut d'une transaction émanant du premier équipement maître associé à cette interface de programmation a une deuxième valeur d'attribut correspondant au deuxième état. [0044] Ainsi, par exemple, une transaction affectée d'un attribut ayant la première valeur d'attribut peut être destinée à n'importe quel équipement esclave, et une transaction affectée d'un attribut ayant la deuxième valeur d'attribut et destinée à un équipement esclave dont l'identifiant a la première valeur, sera rejetée. [0045] D'autres avantages et caractéristiques de l'invention apparaîtront à l'examen de la description détaillée de modes de réalisation et de mise en oeuvre, nullement limitative, et des dessins annexés sur lesquels : [0046] [fig.1] illustre schématiquement un mode de réalisation d'un système sur puce selon l'invention. 6 [0047] [fig.2] illustre schématiquement une partie du système sur puce de la figure 1, [0048] [fig.3] illustre schématiquement une partie du système sur puce de la figure 1, [0049] [fig.4] illustre schématiquement une partie du système sur puce de la figure 1, [0050] [fig.5] illustre schématiquement un mode de mise en oeuvre de l'invention, [0051] [fig.6] illustre schématiquement un mode de mise en oeuvre de l'invention, [0052] [fig.7] illustre schématiquement un mode de mise en oeuvre de l'invention, [0053] [fig.8] illustre schématiquement un mode de mise en oeuvre de l'invention, [0054] [fig.9] illustre schématiquement un mode de mise en oeuvre de l'invention, et [0055] [fig.10] illustre un lien internet. [0056] Sur la figure 1, la référence SYS désigne un système sur puce, par exemple un micro- contrôleur, comportant ici plusieurs premiers équipements maîtres Ml, M2, M3 possédant chacun une interface de programmation SM1, SM2, SM3. Chaque interface de programmation est destinée à recevoir des transactions destinées au premier équipement maître correspondant, en vue par exemple de le programmer. [0057] Le système sur puce SYS comporte également un ou plusieurs deuxièmes équipements maîtres, ici un seul deuxième équipement maître M40, dépourvu d'interface de programmation. Ce deuxième équipement maître est par exemple un microprocesseur. [0058] Le système sur puce SYS comporte également plusieurs équipements esclaves in- corporant lesdites interfaces de programmation. [0059] Plus précisément, les équipements esclaves incluent les interfaces de programmation SMI, SM2 et SM3 et également des interfaces esclaves Sl, S2, S3 d'équipements spécifiques, ces interfaces esclaves étant différentes des interfaces de programmation. [0060] Ces équipements spécifiques sont d'une façon générale des ressources, par exemple des mémoires. [0061] Chaque équipement maître, que ce soit un premier équipement maître ou un deuxième équipement maître, est configuré pour transmettre des transactions à l'un au moins des équipements esclaves. En pratique, l'équipement maître transmet une transaction par l'intermédiaire d'une interface maître non représentée ici à des fins de 7 simplification. [0062] Ces transactions peuvent être des transactions de lecture, d'écriture, de pro- grammation, etc. [0063] Chaque transaction TRi émanant d'un équipement maître Mi est affectée d'un attribut ATTi. [0064] Cet attribut est capable de prendre, dans cet exemple de mise en oeuvre, deux valeurs d'attribut correspondant à deux états souhaités pour l'équipement maître. [0065] De même, chaque équipement esclave, que ce soit une interface de programmation ou une interface esclave, est associé à un identifiant capable de prendre au moins deux valeurs correspondant respectivement à au moins deux propriétés souhaitées pour l'équipement esclave. [0066] Dans cet exemple de réalisation et de mise en oeuvre, une première propriété souhaitée pour un équipement esclave est le fait qu'il ne puisse être accédé que par un ou plusieurs équipements maîtres autorisés pris parmi l'ensemble des équipements maîtres. [0067] En d'autres termes, un tel équipement esclave est dit alors « isolé » et il ne peut être accédé que par un ou plusieurs éléments maîtres autorisés. Dans ce cas, l'identifiant associé à cet équipement esclave aura par exemple la valeur logique 1. [0068] Une deuxième propriété souhaitée pour un équipement esclave est le fait qu'il puisse être accédé par n'importe quel équipement maître de l'ensemble des équipements maîtres. [0069] En d'autres termes, avec cette deuxième propriété, l'équipement esclave n'est pas « isolé ». Son identifiant a par exemple alors la valeur logique « 0 ». [0070] En ce qui concerne un équipement maître, un premier état souhaité pour cet équipement maître peut être le fait qu'il soit autorisé à accéder à n'importe quel équipement esclave c'est-à-dire un équipement esclave (interface de programmation ou ressource) isolé ou non. [0071] Dans ce cas, l'attribut des transactions émanant de cet équipement maître peut prendre par exemple la valeur logique « 1 ». [0072] Un deuxième état souhaité pour un équipement maître peut être le fait qu'il ne soit pas autorisé à accéder à un ou plusieurs équipements esclaves sélectionnés parmi l'ensemble des équipements esclaves. [0073] En d'autres termes, cet équipement maître ne sera par exemple pas autorisé à accéder à ou aux équipements esclaves « isolés ». Dans ce cas, l'attribut associé aux transactions émanant d'un tel équipement maître dans ce deuxième état prendra par exemple la valeur logique « 0 ». [0074] Par ailleurs, l'état de chaque premier équipement maître est hérité automatiquement de la propriété de son interface de programmation. 8 [0075] En d'autres termes, dans cet exemple, si l'interface de programmation d'un premier équipement maître a la propriété « isolé », alors le premier équipement maître est dans son premier état l'autorisant à accéder à n'importe quel équipement esclave, que cet équipement esclave soit isolé ou non. [0076] Si l'interface de programmation de cc premier équipement maître a la propriété « non isolé » alors cc premier équipement maître est automatiquement dans son deuxième état ne l'autorisant pas à accéder aux équipements esclaves (interface de programmation ou interface esclave) isolés. [0077] Et, le premier équipement maître est alors configuré pour conférer à l'attribut de ces transactions l'une des valeurs d'attribut en fonction de la valeur de l'identifiant de son interface de programmation. [0078] En ce qui concerne un deuxième équipement maître, la valeur d'attribut de ces tran- sactions est fixée, par exemple codée en dur, en fonction de l'état que l'utilisateur souhaite donner à ce deuxième équipement maître. [0079] Ainsi dans cet exemple, le deuxième équipement maître M40 est dans le premier état l'autorisant à accéder à n'importe quel équipement esclave, que cet équipement esclave soit isolé ou non. [0080] Dans le cas où le système comporte un autre deuxième équipement maître, celui-ci pourrait être par exemple dans le deuxième état ne l'autorisant pas à accéder aux équipements esclaves isolés. [0081] Par ailleurs, comme on le verra plus en détail ci-après, dans cet exemple, les valeurs de certains identifiants sont codées en dur dans le système tandis que d'autres sont programmables en fonction par exemple de l'application à laquelle est destiné le système sur puce et/ou de la nature des différentes ressources. [0082] Le système sur puce comporte également des moyens de filtrage configurés pour, en présence d'une transaction destinée à un équipement esclave, comparer la valeur d'attribut correspondante avec la valeur de l'identifiant de cet équipement esclave et rejeter ou non la transaction en fonction du résultat de la comparaison. [0083] Comme on le verra plus en détails ci-après, ces moyens de filtrage comportent dif- férentes logiques de filtrage. [0084] Le système sur puce SYS comporte également un circuit d'interconnexion 1 couplé entre les équipements maîtres Mi et les équipements esclaves SMi, Si. [0085] Le circuit d'interconnexion 1 comporte une matrice d'interconnexion 10 possédant plusieurs entrées EM1, EM2, EM3, EM40 connectées aux équipements maîtres MI, M2, M3, M40 par l'intermédiaire de bus BSS1, BSS2, BSS3 et BSS40 et plusieurs sorties. [0086] Une première sortie BS1 est connectée par l'intermédiaire d'un bus BSS7 à l'entrée E100 d'un premier étage de démultiplexage 100 possédant ici trois sorties SIO0A, 9 S100B, S100C respectivement connectées aux trois interfaces esclaves Sl, 52 et 53. [0087] Une autre sortie BS3 est reliée à un autre étage de démultiplexage 101 possédant ici également trois sorties respectivement reliées aux trois interfaces de programmation SM1, SM2, SM3 par trois bus BSS4, BSS5 et BSS6. [0088] Un bus BSS8 relie la sortie BS3 de la matrice d'interconnexion à l'étage de démul- tiplexage 101. [0089] Enfin, dans cet exemple, une autre sortie BS2 de la matrice d'interconnexion est connectée à un banc de registres RGPS1, RGPS3, RGPSMI par l'intermédiaire d'un bus BSS9. [0090] Comme on le verra plus en détails ci-après, cette sortie BS2 n'est accessible que par des transactions émanant du deuxième équipement maître M40. [0091] La structure d'une telle matrice d'interconnexion, qui est en général une matrice d'interconnexion multicouches, ainsi que le protocole permettant l'échange et le routage des transactions à l'intérieur de la matrice d'interconnexion sont bien connus de l'homme du métier. [0092] Celui-ci pourra par exemple se référer notamment : à l'article de Venkateswara Rao et autres intitulé « A Prame work on AMBA bus hased Communication Architecture to improve the Real Time Computing Performance in MPSoC », International Journal of Computer Applications (0975-8887), Volume 91 - IV' 5, Avril 2014, ou à une présentation générale de ces matrices d'interconnexion effectuée en 2015 par A. Gerstlauer et disponible à l'adresse internet mentionnée sur la figure 10. [0093] Par ailleurs, à titre indicatif mais non limitatif, on peut utiliser par exemple la matrice d'interconnexion commercialisée par la société ARM sous la référence NIC-400 (version R0p3 ). [0094] Les différents bus peuvent quant à eux être de toute structure classique, et par exemple des bus AHB utilisant un protocole décrit par exemple dans le document AMBA 3 AHB-Lite Protocol V1.0 Specification, de la société ARM (2001, 2006). [0095] Le registre RGPSI est destiné à contenir la valeur de l'identifiant de l'interface esclave Si. [0096] Le registre RGPS3 est destiné à contenir l'identifiant de l'interface esclave S3 tandis que le registre RGPSMI est destiné à contenir l'identifiant de l'interface de programmation SM1. [0097] Ces valeurs sont ici programmables par l'intermédiaire du bus BSS9 par des moyens de programmation comportant un bloc de programmation MCPM, incorporé ici dans le deuxième équipement maître M40 (processeur), et le banc de registres RGPSI, RGPS3, RGPSMI. [0098] Ce bloc de programmation MCPM est ici un code programme d'initialisation, destiné à être exécuté pendant une phase d'initial isation pour notamment programmer les contenus du banc de registres RGPS1, RGPS3, RGPSM1. [0099] C'est la raison pour laquelle la sortie BS2 de la matrice d'interconnexion 10 n'est ac- cessible que par le deuxième équipement maître M40 pour recevoir les transactions de programmation. [0100] Par ailleurs, une connexion CX, par exemple un fil conducteur, clic le registre RGPSMI à l'interface de programmation SMI. [0101] On suppose également dans cet exemple que les valeurs des identifiants de l'interface esclave 52 ainsi que des interfaces de programmation SM2 et 5M3 sont figées et codées en dur dans des registres. [0102] On se réfère plus particulièrement maintenant aux figures 2 à 4 pour illustrer plus en détail mais toujours schématiquement, la structure interne de l'interface de programmation SMI, du premier équipement maître Ml ainsi que les étages de démultiplexage 100 et 101. [0103] L'interface SMI comporte une logique de filtrage LGS1 couplée à la connexion CX. [0104] Cette logique de filtrage LGS1 est configurée pour effectuer la comparaison entre la valeur de l'identifiant de l'interface SM1 qui est lue dans le registre RGPSMI par l'intermédiaire de la connexion CX, avec l'attribut d'une transaction arrivant sur le bus BSS4. Et, en fonction de cette comparaison, la transaction pourra être rejetée ou autorisée. [0105] La connexion CX se prolonge jusque dans le premier équipement maître MI et plus précisément jusqu'à une logique LGM1. Cette logique LGM1 est configurée pour déterminer la valeur de l'attribut ATTI associé à chaque transaction TRI délivrée par le premier équipement maître MI, en fonction de la valeur de l'identifiant de l'interface de programmation SM1. [0106] Ainsi, l'état du premier équipement maître est hérité automatiquement de la propriété de son interface de programmation. [0107] Plus précisément, si par exemple l'interface de programmation est une interface dite isolée, alors le premier équipement maître sera un équipement autorisé à accéder à tout équipement esclave, que cet équipement esclave soit isolé ou non. [0108] Si par contre l'interface SM1 est une interface non isolée, alors le premier équipement maître MI sera automatiquement dans un état ne lui permettant pas d'accéder à des équipements esclaves isolés. [0109] L'étage de démultiplexage 100 comporte également une logique de filtrage LGCD couplée à un registre RGDS2 stockant dans cet exemple l'identifiant de l'interface esclave S2. [0110] Comme indiqué ci-avant, ce registre RGDS2 n'est pas programmable. [0111] La logique de filtrage LGCD est donc configurée pour comparer l'attribut d'une 11 transition destiné à l'interface esclave S2 avec l'identifiant de cette interface esclave 52, stocké dans le registre RGDS2. [0112] L'étage de démultiplexage 100 comporte une autre logique de filtrage LGCM couplée aux registres RGP51 et RGPS3. [0113] Cette logique de filtrage LGCM va être destinée à comparer la valeur de l'attribut d'une transaction destinée à l'interface esclave Si avec la valeur de l'identifiant contenu dans le registre RGP51. [0114] De même, en présence d'une transaction destinée à l'interface esclave 53, la logique de filtrage LGCM va comparer l'attribut de cette transaction avec la valeur de l'identifiant contenu dans le registre RGPS3. [0115] En fonction du résultat de ces comparaisons, la ou les transitions pourront être rejetées. [0116] Dans cet exemple de réalisation, l'étage de démultiplexage 101 comporte les deux registres RGDSM2 et RGDSM3 stockant respectivement les valeurs figées des identifiants des interfaces de programmation 5M2 et SM3 ainsi que les logiques de filtrage associées LGS2 et L053. [0117] D'une façon analogue à ce qui a été décrit ci-avant, la logique de filtrage LG52 va comparer l'attribut d'une transaction destinée à l'interface de programmation SM2 avec la valeur de l'identifiant contenu dans le registre RGDSM2 pour rejeter ou non cette transaction. [0118] La logique de filtrage LGS3 va quant à elle comparer l'attribut d'une transaction destinée à l'interface de programmation SM3 avec la valeur de l'identifiant contenu dans le registre RGDSM3 pour décider du rejet éventuel de cette transaction. [0119] Les moyens de filtrage incorporent les différentes logiques de filtrage LGSI, LGCD, LGCM, LGS2 et LGS3. [0120] On se réfère maintenant plus particulièrement aux figures 5 à 9 pour illustrer schéma- tiquement un exemple de mise en oeuvre d'un procédé de gestion des accès des transactions aux différents équipements esclaves. [0121] Comme indiqué précédemment, et comme illustré sur la figure 5, dans cet exemple, les identifiants IDS2, IDSM2 et IDSM3 respectivement associés aux équipements esclaves S2, SM2 et SM3 sont figés au cours d'une étape de codage en dur 50 lors de la réalisation du système sur puce et sont respectivement stockés dans les registres RGDS2, RGDSM2 et RGDSM3. [0122] Dans l'exemple considéré, les équipements esclaves S2 et SM2 sont considérés comme « non isolés » ayant par conséquent un identifiant égal à « 0 ». [0123] Le premier équipement maître M3 est considéré comme pouvant avoir accès à tout équipement esclave, que celui-ci soit isolé ou non isolé. [0124] En conséquence, l'identifiant de l'interface de programmation SM3 est égal à 1. 12 [0125] Par ailleurs, puisque le premier équipement maître M3 peut avoir accès à n'importe quel équipement esclave, la logique incorporée dans cet équipement M3 est configuréc et codée en dur de façon à conférer à l'attribut ATT3 associé aux transactions émanant de ce premier équipement maître M3, la valeur 1. [0126] Le deuxième équipement maître M40 a également accès à tout esclave, que celui-ci soit isolé ou non isolé. L'attribut ATT40 associé aux transactions émanant de ce deuxième équipement maître M40, a la valeur 1 codée en dur. [0127] Les valeurs des identifiants IDS1, TDS3 ct IDSM1, respectivement associés aux équipements esclaves Si, S3 et SM1, sont quant à elles programmables. [0128] Cette programmation, s'effectue avantageusement dans la phase d'initialisation 60 lors de l'exécution du programme d'initialisation. Cette programmation est effectuée par l'exécution du code d' initialisation (bloc de programmation) MCPM contenu dans le deuxième équipement maître M40. [0129] Et, dans cet exemple, on suppose que l'interface esclave S1 est choisie non isolée tandis que l'interface esclave S3 est choisie isolée. [0130] Par ailleurs, on choisit de rendre également isolée l'interface de programmation SM1 associée au premier équipement maître M1 qui, de ce fait, pourra avoir accès à n'importe quel équipement esclave, qu'il soit isolé ou non isolé. [0131] Dans ces conditions, le bloc de programmation MCPM confère aux identifiants lDS3 et IDSM1 la valeur 1 qui va être stockée dans les registres RGPS3 et RGPSMI. [0132] Le bloc de programmation confère à l'identifiant IDSI, qui va être stocké dans le registre RGPS1, la valeur « 0 ». [0133] Enfin, la logique LGMI présente dans le premier équipement maître MI va être configurée pour conférer à l'attribut ATT1 associé à chaque transaction TRI émanant de ce premier équipement maître MI, la valeur 1. [0134] D'une façon générale, comme illustré sur la figure 7, en présence d'une transaction TRI et de son attribut ATTi, les différentes logiques de filtrage vont effectuer une comparaison 70 entre la valeur de l'attribut ATTi et la valeur de l'identifiant IDSi de l'interface esclave auquel est destinée cette transaction. [0135] En fonction du résultat de la comparaison, l'accès à l'interface esclave Si pourra être autorisé (étape 71) ou refusé (étape 72). [0136] Plus précisément, dans ce mode de mise en oeuvre, comme illustré sur la figure 8, une transaction TRi associée à un attribut ATTi égal à 1 pourra être délivrée à tout équipement esclave SMj ou Sj (étape 80). [0137] Par contre, comme illustré sur la figure 9, une transaction TRi affectée d'un attribut ATTi égal à 0 et destinée à un équipement esclave SMj ou Sj pourra être délivrée seulement en fonction du résultat de la comparaison entre cet attribut ATTi et l'identifiant IDSMj ou IDSj de l'équipement esclave considéré. 13 [0138] Plus précisément, on vérifie dans l'étape 90 si l'identifiant IDSMj ou IDSj vaut 1. [0139] Si tel est le cas, il y a alors rejet de la transaction TRi (étape 92) car dans cc cas, cette transaction est destinée à un équipement esclave isolé et provient d'un équipement maître qui n'est pas autorisé à accéder aux équipements esclaves isolés. [0140] Par contre, si l'identifiant IDSMj ou IDSj est égal à 0, alors l'accès de la transaction est autorisé (étape 91). [0141] L'invention n'est pas limitée aux modes de réalisation qui viennent d'être décrits niais en embrasse toutes les variantes. [0142] Ainsi, il serait possible d'augmenter le nombre de registres programmables de façon à par exemple rendre programmable les valeurs de tous les identifiants de tous les équipements esclaves, moycnnent bien entendu une augmentation du nombre de connexions « filaires » CX. [0143] Par ailleurs, il serait également envisageable, en ce qui concerne les valeurs pro- grammables de la ou des interfaces de programmation SMi, de remplacer la connexion filaire CX par une commande via l'étage de démultiplexage 101 et des signaux non utilisés et disponibles des bus BSS8 et B554-BSS6. 14 [Revendication I] [Revendication 2] [Revendication 3]