Brevet FR3003054A1 — publié le 20140912

DOMAINE DE L'INVENTION L'invention se rapporte au domaine des systèmes sur puce souvent désigné par le terme anglais system on chip ou son abréviation SoC. L'invention concerne plus particulièrement les systèmes sur puce dans 5 lesquels les interconnexions entre modules sont réalisées par des bus informatiques internes et des moyens de contrôle de routage associés. ART ANTERIEUR Un système sur puce (Soc), est un système complet embarqué sur une 10 puce pouvant comprendre un ou plusieurs processeurs, de la mémoire, des périphériques d'interface et/ou d'autres composants nécessaires à la réalisation d'une fonction complexe. Un Soc peut également désigner un système mixte comprenant des éléments numériques, des éléments analogiques, et des convertisseurs analogiques/numériques. 15 Les SoC de type FPGA présentent généralement une architecture hiérarchisée : des modules « maîtres » effectuent des requêtes d'accès en lecture ou écriture à des modules dits « esclaves ». Par exemple, des maîtres typiques sont les processeurs ou les contrôleurs d'accès direct à la mémoire (DMA) ; des esclaves typiques sont les mémoires de stockage ou 20 les périphériques réseau. Les interconnexions entre des maîtres et des esclaves sont typiquement prises en charge par des bus informatiques internes compatibles avec un ou plusieurs protocoles de communication. Par exemple, le protocole AMBA (« Advanced Microcontroller Bus 25 Architecture ») est un standard de communication aujourd'hui largement utilisé notamment sur les SoC multiprocesseurs. Ce protocole se décline en plusieurs versions et variantes, dont par exemple AHB (« Advanced Highperformance Bus ») et AXI (« Advanced eXtensible Interface ») qui sont plus particulièrement dédiées aux transferts de données haut-débit par 30 salves (« bursts »). La figure 1 représente un bus informatique B assurant des interconnexions entre k modules maîtres Mi, i e R,k]] et n modules esclaves Sj, j Ce bus comprend k ports esclaves PSi, E R, k]] sur chacun desquels est connecté un module maître, et n ports maîtres PMj, j E R,n]], sur chacun desquels est connecté un module esclave. Ainsi, le bus est vu comme un esclave par chaque module maître, et vu comme un maître par chaque module esclave. Sur chaque liaison entre un port du bus et un module, des données peuvent être transmises selon un protocole de communication spécifique. Le bus B comprend des moyens de routage internes, par exemple un ou plusieurs étages de commutateurs (« switches ») représentés sur la figure 1 par des flèches en pointillés. Ces moyens assurent le routage de communications entre un maître et un esclave, comme par exemple les requêtes d'accès en lecture ou écriture émise par un maître à destination d'un esclave. Le bus B illustré sur la figure 1 réalise toutes les interconnexions possibles entre un des k maîtres et un des n esclaves, soit k *n interconnexions. Ainsi, l'esclave 51 peut par exemple recevoir des requêtes émises par plusieurs maîtres, et être en accès partagé entre ceux-ci. Le bus B autorise par ailleurs l'accès de maîtres de façon parallèle s'ils accèdent à des esclaves distincts au moyen de switches internes distincts. La plupart des bus informatiques permettent de réaliser un grand nombre d'interconnexions physique entre des ports esclaves et des ports maîtres, sinon toutes celles techniquement possibles comme dans le cas du bus B. Cependant, la plupart des Soc incluant des bus informatiques vendus dans le commerce ne permettent pas d'exercer un contrôle fin des interconnexions physiques entre les maîtres et les esclaves. Or, dans certaines architectures, on veut pouvoir interdire les communications sur certaines interconnexions de manière permanente ou temporaire pour des raisons de sécurité et/ou d'efficacité. C'est le cas par exemple des systèmes sur puce de niveau de criticité A selon le standard RTCA DO-254, sur lesquels des connexions physiquement permises peuvent avoir des conséquences catastrophiques, comme par exemple, des systèmes sur puce dédiés au contrôle des commandes d'un aéronef. A titre d'exemple, le connecteur NIC-301 pour architecture ARM est une boîte noire qui n'offre pas la possibilité d'interdire certaines interconnexions entre ses ports esclaves et ses ports maîtres. Par ailleurs, des bus informatiques peuvent être sujets à des défaillances générant des aiguillages erronés pouvant alors causer des ralentissements dans les accès à un esclave voire leur blocage complet. Ces défaillances peuvent par exemple être causés par des éléments de type transistors, sensibles à des effets transitoires (Single Event Upset en anglais). Ces attentes peuvent notamment s'avérer gênantes dans le cas ou des accès de haute priorité doivent être réalisés très rapidement. C'est le cas par exemple des systèmes sur puce de niveau de criticité A selon le standard RTCA DO-254, sur lesquels des pannes ou même des lenteurs de transaction peuvent avoir des conséquences catastrophiques, comme par exemple, des systèmes sur puce dédiés au contrôle des commandes d'un aéronef. PRESENTATION DE L'INVENTION L'invention vise à exercer un contrôle des communications entre des modules maîtres et des modules esclaves d'un système sur puce qui 20 transitent par un bus informatique de sorte d'empêcher des communications non autorisées. Pour ce faire, l'invention concerne notamment un procédé de filtrage d'accès dans un système sur puce comprenant au moins un module maître, au moins un module esclave et un bus, le bus comprenant au moins un port 25 esclave, au moins un port maître et des moyens d'interconnexion entre au moins un des port esclave et au moins un des port maître, le procédé étant caractérisé en ce qu'il comprend les étapes suivantes mises en oeuvre lorsqu'une requête d'accès est routée depuis un module maître connecté à un port esclave vers un module esclave connecté à un port maître: 30 une interception d'une information de source avant que le module esclave ne reçoive la requête, - une recherche de l'information de source dans au moins une liste de contrôle d'accès au module esclave, un blocage de la requête de sorte que le module esclave ignore l'accès demandé, si l'information de source n'est pas trouvée dans l'au moins une 5 liste de contrôle d'accès. Un avantage de l'invention est qu'elle permet un contrôle fin des interconnexions sur n'importe quel bus informatique AMBA vendu dans le commerce, ou tout autre bus adapté pour réaliser des interconnexions entre des modules maîtres et des modules esclaves. L'adaptation d'un bus 10 informatique pour les besoins d'interconnexion spécifiques d'un système sur puce n'est donc pas nécessaire, et réduit ainsi les coûts de conception et de fabrication du système sur puce. DESCRIPTION DES FIGURES 15 D'autres caractéristiques, buts et avantages de l'invention ressortiront de la description qui suit, qui est purement illustrative et non limitative, et qui doit être lue en regard des dessins annexés sur lesquels : La figure 1 représente schématiquement un système sur puce connu. La figure 2 représente une séquence de signaux du protocole AXI 20 émis au cours d'une lecture. La figure 3 représente une séquence de signaux du protocole AXI émis au cours d'une écriture. La figure 4 représente un diagramme d'étapes du procédé de filtrage selon l'invention. 25 La figure 5 représente schématiquement un système sur puce protégé grâce à un dispositif de filtrage selon l'invention. Sur l'ensemble des figures, les éléments similaires portent des références identiques. 30 DESCRIPTION DETAILLEE DE L'INVENTION Le protocole AXI définit une interface unique pour décrire les communications entre un module maître et un module esclave, un module maître et le port esclave d'un bus, ou le port maître d'un bus et un module esclave. Cette interface se compose de cinq canaux : deux canaux dédiés à la lecture (un canal de contrôle et un canal de données) et trois à l'écriture (un 5 canal de contrôle, un canal de données et un canal de réponse). Les canaux émettent chacun un ensemble de signaux de manière unidirectionnelle. Par exemple, le canal de contrôle de lecture émet des signaux de requête depuis le maître vers l'esclave, tandis que le canal de données de lecture retourne alors des signaux porteurs de données depuis 10 l'esclave vers le maître. Pour réaliser un transfert de données les signaux doivent être positionnés selon une séquence ordonnée. La figure 2 illustre par exemple une séquence de positionnement de signaux pour la lecture d'une salve de données. 15 EXEMPLE DE TRANSACTION EN LECTURE La figure 2 illustre par exemple une séquence de positionnement de signaux pour une lecture par salves selon le protocole AXI, réalisée en quatre transferts de données. Les fonctions des signaux utilisés sont 20 récapitulées dans le tableau ci-dessous : Signal Source Description ACLK Source d'horloge Horloge de référence. ARADDR Maître Adresse de lecture. ARVALID Maître Positionné à 1 pendant la transmission par le maître d'une adresse de lecture valide, sinon à 0. ARREADY Esclave Indique si l'esclave est prêt (1) ou non (0) pour accepter une adresse de lecture et des signaux de contrôle associés. RREADY Maître Indique si le maître est prêt (1) ou non (0) pour recevoir des données de lectures. RDATA Esclave Données de lectures. RVAL I D Esclave Indique si les données de lecture attendues sont prêtes pour le transfert (1) ou non (0) RLAST Esclave Indique le dernier transfert de données en lecture. En référence à la figure 2, une transaction en lecture selon le protocole AXI comprend les étapes suivantes. Le signal ACLK est synchronisé sur l'horloge d'un maître. Le maître émet le signal ARADDR contenant une adresse de lecture A de l'esclave à laquelle il souhaite accéder en lecture. Parallèlement, le maître positionne à un le signal ARVALID pour signifier à l'esclave destinataire la validité de l'adresse A. L'esclave confirme la disponibilité de l'adresse A en positionnant le signal 10 ARREADY. Le maître positionne ensuite le signal RREADY à un pour signifier à l'esclave qu'il est prêt à lire des données. Les données de lecture sont ensuite transmises par l'esclave sur le signal RDATA. La figure 2 illustre une lecture de quatre transferts D(A0), D(A1), 15 D(A2) et D(A3). Pendant chaque transfert, le signal RVALID est positionné à un par l'esclave pour signifier au maître la validité des données. Pour indiquer au maître qu'un transfert est le dernier, le signal RLAST est positionné à un au début du dernier transfert D(A3). La lecture illustrée en figure 2 est réalisée en treize coups d'horloge (entre 20 les coups d'horloge TO et T13). EXEMPLE DE TRANSACTION EN ECRITURE La figure 3 présente un exemple une séquence de positionnement de signaux pour une écriture selon le protocole AXI également réalisée en 25 quatre transferts de données. Les fonctions de ces signaux sont récapitulées dans le tableau ci-dessous : Signal Source Description ACLK Source d'horloge Horloge de référence. AWADDR Maître Adresse d'écriture. AVVVALI D Maître Positionné à 1 pendant la transmission par le maître d'une adresse d'écriture valide, sinon à O. AWREADY Esclave Indique si l'esclave est prêt (1) ou non (0) pour accepter une adresse d'écriture et des signaux de contrôle associés. WREADY Esclave Indique si l'esclave est prêt (1) ou non (0) pour recevoir des données d'écriture. WDATA Maître Données d'écriture. VVVAL I D Maître Indique si les données d'écriture sont prêtes pour le transfert (1) ou non (0) à l'esclave. BRESP Esclave Résultat de l'écriture (2 bits) : OKAY, EXOKAY, SLVERR, ou DECERR. BVALID Esclave Positionné à 1 pendant la transmission par le l'esclave d'un résultat d'écriture valide, sinon à O. WLAST Maître Indique le dernier transfert de données en écriture. BREADY Maître Positionné à 1 pour signifier que le maître est prêt à recevoir un résultat d'écriture, sinon à O. En référence à la figure 3, une transaction en lecture selon le protocole AXI comprend les étapes suivantes. Le signal ACLK est synchronisé sur une horloge source. Un maître émet le signal AWADDR contenant une adresse d'écriture A de l'esclave à laquelle il souhaite accéder. Parallèlement, le maître positionne à un le signal AVVVALID pour signifier à l'esclave destinataire la validité de l'adresse A. L'esclave confirme la disponibilité de l'adresse A en positionnant le signal AWREADY à un. L'esclave positionne ensuite le signal WREADY à un pour signifier au maître qu'il est prêt à recevoir des données à écrire. Les données d'écriture sont ensuite transmises par le maître sur le signal WDATA. La figure 3 illustre une salve de quatre transferts D(A0), D(A1), D(A2) et D(A3). Au début du premier transfert, le signal BREADY est positionné à un par le maître pour indiquer qu'il est prêt à recevoir un résultat d'écriture qui sera transmis à la fin de la séquence. Pendant chaque transfert, le signal VVVALID est positionné à un par le maître pour signifier à l'esclave la validité des données à écrire. Pour indiquer à l'esclave qu'un transfert D(A3) est le dernier, le signal WLAST est positionné à un au début du dernier transfert. Pour confirmer l'écriture au maître, l'esclave positionne ensuite le signal BRESP à la valeur OKAY. Ce positionnement est accompagné d'un positionnement du signal BVALID à un pendant la durée de transmission de la valeur OKAY. Le maître repositionne enfin le signal BREADY à zéro une fois cette valeur reçue. L'écriture illustrée en figure 3 est réalisée en dix coups d'horloge (entre les coups d'horloge TO et T10). D'autres protocoles de la famille AMBA (AHB, AHB-Lite) suivent le même principe général avec des signaux différents. Chaque interface entre un bus conforme au standard AMBA et un module esclave ou maître peut implémenter un des protocoles de la famille AMBA. En référence à la figure 5, soit un système sur puce comprenant au moins un module maître Ml, ..., Mi, ..., Mk, au moins un module esclave Si, ..., 25 Sj, ..., Sn et un bus B. Le bus B comprend des moyens d'interconnexion pour faire communiquer au moins un module esclave Sj avec au moins un module M1, ..., Mi, ..., Mk. La route de communication entre un module maître Mi et un module esclave 30 Sj comprend au moins deux liens de communication: un premier lien de communication entre le module maître Mi et un port esclave PSi du bus B, et un deuxième lien de communication entre un port maître PMj du bus B et le module esclave Sj. Les signaux émis par le module maître secondaire Mi transitent par le port esclave PSi, puis sont routés par le bus B vers le port maître PMj puis sont transmis au module esclave Sj connecté à ce port maître PMj. Les signaux émis par le module esclave Sj à destination du maître secondaire Mi suivent la même route en sens inverse. Le procédé de filtrage selon l'invention va maintenant être décrit en référence au diagramme de la figure 4. Dans le système décrit précédemment et illustré en figure 5, une requête 10 est demandée par un module maître Mi et routée vers un module esclave Sj. Une première étape « CATCH » consiste à intercepter en un point du système une information de source INFO avant que le module esclave Sj ne reçoive la requête. 15 Par information de source INFO, on entend une information transportée par un ou plusieurs signaux du protocole de communication utilisé, définissant de manière unique au moins une portion de route parcourue entre le module maître source et le point d'interception. Dans une deuxième étape « SEARCH », l'information de source INFO est 20 recherchée dans au moins une liste de contrôle d'accès Lj au module esclave Sj. Cette liste Lj préalablement enregistrée contient des informations de sources autorisées par le système à réaliser des accès au module esclave Sj. Dans une troisième étape de test « FOUND », on vérifie si l'information est 25 trouvée dans cette liste Lj: Si l'information de source INFO n'est pas trouvée (« N »), on considère que le module maître Mi n'est pas autorisé à accéder à l'esclave Sj. La requête est alors bloquée « BLOCK » de manière à ce que le module esclave Sj ne puisse acquitter la requête. 30 Sinon (« Y »), la requête est transmise au module esclave Sj. L'étape d'interception « CATCH » est de préférence réalisée le plus près possible du module esclave Sj de manière à obtenir une information de source définissant une portion de route la plus longue possible, de préférence sur la liaison entre le port maître PMj du bus B par lequel la requête a transité et le module esclave Sj. L'information de source INFO peut comprendre un identifiant unique IDPSi de port préalablement assigné au port esclave PSi par lequel la requête a transité. Dans ce cas, l'information de source INFO permet de déterminer le routage réalisé par le bus depuis un port esclave vers un port maître. On peut donc alors détecter des erreurs de routage causée par au moins un des bus traversés, et des erreurs causées par un module maître demandant un accès indu à un module esclave. L'information de source INFO peut par ailleurs comprendre un identifiant IDMi qui identifie le module maître Mi ayant émis la requête. Ceci permet 15 d'identifier de manière certaine la source de la requête. Le protocole AXI peut être utilisé sur le lien de communication entre le port maître PMj et le module esclave Sj. L'identifiant du module maître peut alors être détecté par interception des signaux suivants émis par le module maître vers le module esclave: 20 - le signal AWID sur le canal de contrôle, dans le cas d'une requête en écriture ; - le signal WID sur le canal de données, dans le cas d'une requête en écriture ; le signal ARID sur le canal de contrôle, dans le cas d'une requête en 25 lecture. Un maître peut être amené à émettre différents types de requêtes à un même esclave : par exemple, un processeur peut émettre plusieurs requêtes en lecture à un périphérique de mémoire, chaque requête étant gérée dans un processus spécifique. 30 Par conséquent, une amélioration du procédé peut consister à joindre à associer l'identifiant IDMi à un contexte d'émission de la requête émise par un module maître Mi. Cette amélioration permet de réaliser une discrimination supplémentaire parmi les requêtes venant d'un même module maître. Ce contexte peut typiquement être un identifiant unique de processus. Dans un mode de réalisation, une information de source INFO correspond à la concaténation de l'identifiant unique IDPSi du port esclave Psi et de l'identifiant IDMi caractéristique d'un type de requête émise par le module maître Mi. Cette structure permet un traitement simultané de ces deux identifiants dans les étapes d'interception « CATCH » et de recherche « SEARCH », et donc de raccourcir la durée de traitement du procédé. On peut par ailleurs réaliser l'étape de recherche « SEARCH » dans deux listes d'accès distinctes LWj et LRj, la liste LRj contenant des informations de sources autorisées à réaliser des requêtes de lecture sur le module esclave Sj et la liste LWj contenant des informations de sources autorisées à réaliser des requêtes en écriture sur le module esclave Sj. Cette optimisation permet notamment de diminuer la durée de l'étape de recherche. L'étape de blocage « BLOCK» peut être réalisée en modifiant à la volée le positionnement d'au moins un des signaux reçus du port maître PMj du dernier bus traversé et de transmettre ces signaux repositionnés au module esclave Sj de sorte que celui-ci ignore la requête initialement émise par le module maître Mi. Bien entendu, si la requête est trouvée dans la liste correspondante, tous les signaux reçus du port maître sont transmis au module esclave sans modification. Les signaux repositionnés dépendent du protocole de communication choisi 25 entre le bus B et le module esclave Sj. Dans le cas du protocole AXI, on peut repositionner à zéro le signal AVVVALID si la requête est une requête en écriture. Cette valeur de zéro permet de faire croire au module esclave Sj qu'aucune adresse n'est disponible sur le canal de contrôle en écriture, et ainsi d'ignorer la requête. 30 De la même manière, on peut repositionner à zéro le signal ARVALID si la requête est une requête en écriture. Cette valeur permet de faire croire au module esclave Sj qu'aucune adresse n'est disponible sur le canal de contrôle en lecture, et ainsi d'ignorer la requête. Le même principe de repositionnement est applicable à d'autres protocoles : Dans le cas du protocole AHB ou le protocole AHB-lite, on peut positionner à zéro le signal HSEL. Dans le cas du protocole APB, on peut positionner à zéro le signal PSEL. De manière préférée, le procédé comporte une étape supplémentaire d'envoi « ERR » d'un message d'exception EX vers un contrôleur d'interruption (non représenté) du système sur puce, après l'étape de blocage « BLOCK ». Ce contrôleur peut par exemple être intégré au maître Si ayant été à l'origine de la requête bloquée, de sorte que celui-ci puisse traiter le blocage de la manière la plus adéquate. L'invention concerne par ailleurs un filtre Fj, j E ft1,nd mettant en oeuvre le procédé décrit précédemment. Ce filtre peut, au choix, être intégré à un bus, faire partie d'un module esclave, ou bien être se présenter sous la forme d'un module autonome placé sur la liaison entre un port maître d'un bus et un module esclave, comme illustré en figure 4. Le filtre comprend des moyens de stockage pour le stockage d'au moins une liste de contrôle d'accès Lj, j E ft1,n, par exemple une ou plusieurs mémoires, par exemple de type flash, RAM tripliquée ou EEPROM. La taille de stockage de ces moyens est proportionnelle de la longueur d'encodage d'une information de source, et du nombre d'information de sources autorisées. Les informations de source autorisées contenues dans les listes stockées peuvent être écrites une seule fois avant la mise en service du système sur puce, ou être reconfigurées dynamiquement. Le filtre comprend par ailleurs des moyens de traitement pour réaliser les 30 différentes étapes du procédé de filtrage décrit. L'invention concerne également un ensemble illustré en figure 4 comprenant au moins un module maître Mi, iE R,k]], au moins un module esclave Sj, J E R,n]], un bus B conforme au standard AMBA assurant une interconnexion entre au moins un des modules maîtres et au moins un des modules esclaves, et au moins un filtre Sj, J E R,n]] tel que décrit précédemment. Les moyens de stockage de chaque filtre Sj permettent de stocker les deux listes LRj et LWj déjà décrites. Avantageusement, cet ensemble comporte autant de filtres positionnés que des modules esclaves, chaque filtre étant inséré entre le bus B et chaque module esclave, comme illustré en figure 4. Un tel ensemble est donc entièrement protégé contre toute requête non autorisée vers un module esclave quelconque. L'invention concerne enfin un système sur puce comprenant au moins un 15 ensemble tel que décrit précédemment. REVENDICATIONS1. Procédé de filtrage d'accès dans un système sur puce comprenant au moins un module maître (M1, ..., Mi, ..., Mk), au moins un module esclave (51, Sj, ...,Sn) et un bus (B), le bus (B) comprenant au moins un port esclave (PSi, PSi, PSn), au moins un port maître (PSi, PSj, ...,PSn) et des moyens d'interconnexion entre au moins un des port esclave et au moins un des port maître, le procédé étant caractérisé en ce qu'il comprend les étapes suivantes mises en oeuvre lorsqu'une requête d'accès est routée depuis un module maître (Mi) connecté à un port esclave (PSi) vers un module esclave (Sj) connecté à un port maître (PMj): une interception (CATCH) d'une information de source (INFO) avant que le module esclave (Sj) ne reçoive la requête, une recherche (SEARCH) de l'information de source (INFO) dans au moins une liste (Lj) de contrôle d'accès au module esclave (Sj), un blocage (BLOCK) de la requête de sorte que le module esclave (Sj) ignore l'accès demandé, si l'information de source n'est pas trouvée dans l'au moins une liste (Lj) de contrôle d'accès. 2. Procédé de filtrage d'accès selon la revendication 1, dans lequel l'étape d'interception (CATCH) est réalisée sur le lien entre le port maître (PMj) et le module esclave (Sj). 3. Procédé de filtrage d'accès selon l'une des revendications 1 ou 2, dans lequel l'information de source (INFO) comprend un identifiant unique (IDPSi) du port esclave (PSi) par lequel transite la requête.30 4. Procédé de filtrage d'accès selon l'une des revendications 1 à 3, dans lequel l'information de source (INFO) comprend un identifiant (IDMi) du module maître (Mi) ayant émis la requête. 5. Procédé de filtrage d'accès selon la revendication 3 prise en combinaison avec la revendication 4, dans lequel l'information de source est la concaténation de l'identifiant (IDMi) du module maître (Mi) et de l'identifiant unique (IDPSi) du port esclave (PSi). 6. Procédé de filtrage d'accès selon l'une des revendications 4 à 5, dans lequel l'identifiant (IDMi) du module maître (Mi) est associé à un contexte d'émission de la requête par le module maître (Mi). 7. Procédé de filtrage d'accès selon l'une des revendications 1 à 6, dans lequel l'étape de recherche est réalisée dans deux listes de contrôle d'accès au module esclave (Sj), l'une (LRj) contenant des informations de sources autorisées en lecture et l'autre (LWj) contenant des informations de sources autorisées en écriture. 8. Procédé de filtrage d'accès selon l'une des revendications 1 à 7, dans lequel le protocole de communication entre le port maître (PMj) et le module esclave (Sj) est le protocole AXI et dans lequel l'étape de blocage comprend un positionnement à zéro d'un signal transmis au module esclave, le signal étant AVVVALID si la requête est une requête en écriture, ou ARVALID si la requête est une requête en lecture. 9. Procédé de filtrage d'accès selon l'une des revendications 1 à 7, dans lequel le protocole de communication entre le port maître (PMj) et le module esclave (Sj) est le protocole AHB ou AHB-lite et dans lequel l'étape de blocage comprend le positionnement à zéro d'un signal HSEL transmis au module esclave (Sj). 10. Procédé de filtrage d'accès selon l'une des revendications 1 à 7, dans lequel le protocole de communication entre le port maître (PMj) et le module esclave (Sj) est le protocole APB et dans lequel l'étape de blocage comprend le positionnement à zéro d'un signal PSEL transmis au module esclave (Sj). 11. Procédé de filtrage d'accès selon l'une des revendications 1 à 10, comprenant une étape supplémentaire d'envoi (ERR) d'un message d'exception (EX) vers un contrôleur d'interruption après un blocage de la requête. 12. Dispositif (F1, Fj, Fn) de contrôle d'accès à un module esclave par l'intermédiaire d'un bus conforme au standard AMBA, comprenant des moyens de stockage et des moyens de traitement de données pour la mise en oeuvre du procédé de filtrage selon l'une des revendications 1 à11. 13. Ensemble comprenant au moins un module maître (M1, ..., Mi, ..., Mk), au moins un module esclave (Si, Sj, ..., Sn), un bus (B) assurant une interconnexion entre au moins un des modules maîtres et au moins un des modules esclaves, et au moins un dispositif de contrôle d'accès (F1, Fj, Fn) selon la revendication 12 connecté à un port maître (PM1, PMj, PMn) du bus (B) et à un des modules esclaves (Si, Sj, ..., Sn). 14. Système sur puce comprenant au moins un ensemble selon la revendication 13.