INPI-France/Brevets-Francais-2024-Chunked huggingface dataset:
-A la fin, si aucun module ne convient, le système Configurateur revient au hachage %HwfConnectivityMap pour choisir les blocs intermédiaires à placer entre les composants.
- Si aucun bloc adéquat n'est trouvé une erreur est signalée.
L'utilisateur peut influencer les choix du système Configurateur en spécifiant explicitement dans le fichier de configuration les blocs intermédiaires à connecter à un composant.
Le tableau "%HwfConnectivityMap" permet à la fois la Vérification de connectivité et la spécification de Blocs intermédiaires à insérer pour connecter deux Composants dont les ports ne sont pas directement connectables.
Pour que deux blocs puissent être connectés entre eux, il faut que %HwfConnectivityMap contienne des entrées qui décrivent les propriétés de cette connexion : - A chaque composant, on associe le composant auquel il peut être connecté.
- Une connexion directe est indiquée par la valeur "Direct".
- Pour les connexions nécessitant un Bloc intermédiaire, le nom de ce bloc est indiqué.
- Pour certains blocs, la connectivité peut être spécifiée différemment pour chaque port du bloc. Cela sert à lever l'ambiguïté sur les connexions d'un bloc. Une utilisation typique concerne l'insertion de deux blocs intermédiaires connectés tête-bêche entre deux composants explicites.
On souligne que la connectivité est exprimée ici de manière globale, sans spécifier les noms de signaux à connecter.
Les Composants décrits en langage de type HLL peuvent posséder plusieurs implémentations possibles des modules de type HDL A~Port, au niveau de chaque port i (voir Figure 3). La table de hachage "%HwifAlternateMap" spécifie le choix possible pour chaque module de type HDL d'un composant. Le système configurateur utilise cette information pour ne placer les blocs intermédiaires qu'en cas de stricte nécessité.
Le hachage %SysWrapMap définit, pour chaque implémentation d'un composant, son Bloc Système. Les entrées sont des noms de modules de type HDL associés avec le nom du bloc système et son implémentation de
type HDL. Ces informations sont utilisées par le système Configurateur pour instancier le bloc système adéquat à partir de spécifications contenues dans le hachage %SysConnectMap (cf. 3 de A2).
Le hachage %SysPinConst associe à chaque Bloc Système, les connexions de certains signaux de son interface aux noms des signaux (wires) correspondants au niveau système. Ces connexions sont indépendantes des configurations et ne sont pas régies par les expressions régulières applicables lors du câblage des autres signaux.
Typiquement, les signaux concernés sont des signaux d'horloge, de remise à zéro (reset), etc... Les noms référencés sont déclarés dans un code de type HDL, spécifique pour chaque modèle en projet (design), et fournis par l'utilisateur (sous forme d'une variable ou d'un fichier) avec les descriptions des composants et des règles de connexion spécifiques.
L'algorithme utilise un nombre généré de façon aléatoire comme point de départ du calcul de coordonnées, tous les points étant calculés en même temps et stockés dans une variable spéciale.
Attributs : NAME - le nom d'une variable où est stocké le jeu de coordonnées de points, NUMBER - nombre de points à distribuer, RADIUS - un rayon de la sphère.
NAME CDATA #REQUIRED NUMBER CDATA #REQUIRED RADIUS CDATA #REQUIRED >
Nom de balise (tag) : GET~COORDS Classe Java : Vis3D~ObjectsOnSphere. GET~COORDS Description : Cette balise permet de retrouver des coordonnées de points précédemment stockées par la balise .
Attributs : NAME - le nom d'une variable où est stocké le jeu de coordonnées de points, I- un nombre ordinal de coordonnées de points à retrouver TRANS - une composante de translation de coordonnées polaires de points, ALPHA - une composante d'angle horizontal de coordonnées polaires de points, PHI - une composante d'angle vertical de coordonnées polaires de points.
NAME CDATA #REQUIRED I CDATA #REQUIRED TRANS CDATA #REQUIRED ALPHA CDATA #REQUIRED PHI CDATA #REQUIRED > 2) Balises de manipulation de chaîne Nom de balise (tag) : STR~INDEX~OF Classe Java : Vis3D~String.STR~INDEX~OF Description : Cette balise retourne une valeur entière représentant une position d'un caractère dans une chaîne de caractères. La valeur-1 quand aucune occurrence du caractère n'est trouvée.
Attributs : NAME - le nom de la variable où la valeur retournée est stockée TEXT - une chaîne au sein de laquelle chercher CHAR - un caractère à chercher FROM - un index dans la chaîne, d'où démarre la recherche <!ATTRLIST STR~INDEX~OF ~~~~~~~~~~~~ NAME CDATA #REQUIRED
TEXT CDATA #REQUIRED CHAR CDATA #REQUIRED FROM CDATA #REQUIRED > Nom de balise (tag) : STR~NUMBER~OF~CHARS Classe Java : Vis3D~String.STR~NUMBER~OF~CHARS Description : Cette balise retourne une valeur entière représentant le nombre d'occurrence d'un caractère dans une chaîne de caractères.
Attributs : NAME - le nom de la variable où la valeur retournée est stockée TEXT - une chaîne au sein de laquelle chercher CHAR - un caractère à chercher ~~~~~ NAME CDATA #REQUIRED TEXT CDATA #REQUIRED CHAR CDATA #REQUIRED > Nom de balise (tag) : STR~SUBSTRING Classe Java : Vis3D~String.STR~SUBSTRING Description : Cette balise retourne une sous-chaîne d'une chaîne de caractères Attributs : NAME - le nom de la variable où la sous-chaîne est stockée TEXT - une chaîne au sein de laquelle chercher la sous-chaîne FROM - l'index (ou indice) de début de la sous-chaîne TO - l'index (ou indice) de fin de la sous-chaîne NAME CDATA #REQUIRED TEXT CDATA #REQUIRED
CHAR CDATA #REQUIRED TO CDATA #REQUIRED > Nom de balise (tag) : STR~SUBSTRING~NCHAR Classe Java : Vis3D~String.STR~SUBSTRING~NCHAR Description : Cette balise retourne une sous-chaîne d'une chaîne de caractères, la sous-chaîne commençant à partir d'un index zéro de la chaîne et de terminant avec la Nième occurrence d'un caractère dans la chaîne.
Attributs : NAME - le nom de la variable où la sous-chaîne est stockée TEXT - une chaîne au sein de laquelle chercher la sous-chaîne CHAR - un caractère à chercher N - le nombre maximal d'occurrence de caractère, après lequel la sous-chaîne doit être coupée NAME CDATA #REQUIRED TEXT CDATA #REQUIRED CHAR CDATA #REQUIRED N CDATA #REQUIRED > Nom de balise (tag) : STR~REVERSE Classe Java : Vis3D~String.STR~REVERSE Description : Cette balise permet d'inverser une chaîne Attributs : NAME - le nom de la variable où la chaîne inversée est stockée STRING - une chaîne à inverser NAME CDATA #REQUIRED
STRING CDATA #REQUIRED Nom de balise (tag) : STR LENGTH Classe Java : Vis3D~String.STR~LENGTH Description : Cette balise retourne une valeur entière représentant la longueur d'une chaîne.
Attributs : NAME - le nom de la variable où la valeur retournée est stockée TEXT - une chaîne NAME CDATA #REQUIRED TEXT CDATA #REQUIRED > Nom de balise (tag) : STR~GET~TOKEN Classe Java : Vis3D~String.STR~GET~TOKEN Description: Cette balise retourne une sous-chaîne d'une chaîne, de caractères, la sous-chaîne représentant le Nième jeton de la chaîne donnée, chaque jeton étant délimité par un caractère donné.
Attributs : NAME - le nom de la variable où la sous-chaîne est stockée TEXT - une chaîne au sein de laquelle chercher la sous-chaîne CHAR - un caractère de délimitation N - un nombre ordinal de jetons à retourner NAME CDATA #REQUIRED TEXT CDATA #REQUIRED CHAR CDATA #REQUIRED N CDATA #REQUIRED >
- 3) Balise d'implémentation de table de hachage Nom de balise (tag) : HASHTABLE~CREATE Classe Java : Vis3D Hashtable. HASHTABLE CREATE Description : Cette balise permet de créer une nouvelle table de hachage Attributs : NAME - nom de la table de hachage NAME CDATA #REQUIRED Nom de balise (tag) : HASHTABLE~DESTROY Classe Java : Vis3D~Hashtable.HASHTABLE~DESTROY Description : Cette balise permet de supprimer une table de hachage Attributs : NAME - nom de la table de hachage NAME CDATA #REQUIRED Nom de balise (tag) : HASHTABLE~GET Classe Java : Vis3D~Hashtable.HASHTABLE~GET Description : Cette balise permet de retourner une valeur à laquelle une clé donnée est mappée dans une table de hachage donnée.
Attributs : HTNAME - nom de la table de hachage
La présente invention concerne un dispositif de distribution de palettes.
Elle trouvera son application pour toute zone de stockage notamment dans l'industrie et la grande distribution où un grand nombre de palettes est utilisé pour le transfert, le transport et le stockage de matériaux.
Lorsque les palettes sont vides, elles sont généralement conditionnées en piles de palettes verticales.
Dans cette configuration, l'utilisateur doit prendre ou poser une palette par le dessus de la pile.
Cela est particulièrement gênant lorsque les piles de palettes ont une hauteur importante.
Généralement, on constate qu'une pile de quinze palettes représente une hauteur moyenne de 2 mètres.
Par conséquent, un empilage strictement manuel de palettes implique une manipulation difficile et peu pratique.
Pour remédier à cet inconvénient, on a proposé des installations de distribution de palettes tel que cela ressort du document FR-A-2.753.184.
Ce dernier document concerne un dispositif de distribution de palettes comprenant deux organes de levage disposés de part et d'autre d'un convoyeur pourvu d'éléments de préhension propres à saisir une palette d'une pile de palettes reposant sur le convoyeur et déplaçables en translation verticale par lesdits organes de levage.
Selon cette antériorité, les organes de levage sont entraînables en translation horizontale selon un axe de déplacement perpendiculaire à l'axe d'entraînement du convoyeur afin de permettre le rapprochement et l'écartement des éléments de préhension pour saisir ou libérer une palette.
Les deux éléments de préhension prévus selon ce dispositif sont mobiles suivant deux directions : une direction verticale et une direction horizontale de rapprochement ou d'éloignement.
Pour réaliser ces deux mobilités, deux systèmes d'entraînement distincts sont nécessaires.
Un inconvénient produit par ce type d'installation est qu'il nécessite des moyens d'entraînement distincts pour les deux mobilités des éléments de préhension ce qui implique un coût élevé et un encombrement important.
Par ailleurs, pour l'enchaînement des phases d'empilage et de distribution des palettes, une synchronisation des mouvements est nécessaire.
Pour y parvenir, les dispositifs de l'art antérieur nécessitent des éléments d'automatisme embarqués ce qui ajoute au coût de l'ensemble et amoindrit la fiabilité.
La présente invention permet de résoudre les inconvénients de l'état de la technique actuel.
que l'élément de liaison peut être une vis de réglage.
Il est de plus avantageux d'adapter la forme de l'ouverture d'entrée du dispositif de sciage à la périphérie externe de la lame de scie. Ainsi, quand le dispositif de sciage est incliné vers le bas, une partie de la poussière de sciage est 20 projetée directement de la lame de scie dans l'ouverture d'entrée de la poussière de sciage. Les caractéristiques qui viennent d'être décrites concernent un dispositif
collecteur de poussière de sciage. Il est de plus avantageux qu'une scie circulaire à onglet présente un dispositif collecteur de poussière de sciage doté de ces 25 caractéristiques.
D'autres détails, caractéristiques, objectifs et avantages de la présente invention vont être exposés en détail ci-après sous la forme d'un exemple préféré
de réalisation représenté par le dessin.
La Fig. 1 est une vue en perspective d'une scie circulaire à onglet équipée 30 d'un dispositif collecteur de poussière de sciage selon l'invention La Fig. 2 est une vue en perspective, partiellement en coupe, d'une partie d'une scie circulaire à onglet selon la Fig. 1, équipée d'un dispositif collecteur de poussière de sciage La Fig. 3 est une vue en coupe verticale de la scie représentée à la Fig. 1 La Fig. 4 est une vue en perspective d'une scie circulaire à onglet selon l'état de la technique La Fig. 5 est une vue en perspective d'une autre scie circulaire à onglet selon
Une scie circulaire à onglet (Fig. 1 à 3) comprend usuellement une plaque de
base 10, un réglage d'onglet 11, une coupelle rotative 20, un dispositif de sciage 5 12, un dispositif de maintien et un dispositif collecteur de poussière de sciage 25.
La coupelle rotative 20 peut tourner sur la plaque de base 10, et à cette coupelle est raccordé le réglage d'onglet 1i1 permettant d'effectuer les coupes en onglet. La coupelle rotative 20 présente un disque rotatif intérieur prolongé par une console 21 présentant une fente de plongée 23. Le disque rotatif est fixé en rotation sur la 10 plaque de base 10. La console 21 est moulée sur le disque rotatif qu'elle dépasse vers l'extérieur. La fente de plongée 23 s'étend dans la coupelle 20 du disque
rotatifjusque dans la console 21.
Le dispositif de maintien est monté basculant sur la coupelle rotative 20, tandis que le dispositif de sciage 12 est monté basculant sur le dispositif de 15 maintien, et une lame de scie 13 est montée en rotation dans le dispositif de sciage 12. Le dispositif collecteur de poussière de sciage 25 est fixé sur la coupelle rotative 20 et comprend un canal de poussière de sciage 29, une tubulure d'aspiration de poussière de sciage 28, un siège de liaison 22, un canal de 20 poussière de sciage 24, une tigede position 250 constituée par une tige filetée, un élément de liaison 251 en forme de vis de réglage et une fixation 252 présentant un
filetage interne.
Le siège de liaison 22 se trouve sur la coupelle rotative 20 à l'opposé de la console 21, de sorte qu'il peut être relié à un raccord d'aspiration 26. Le siège de 25 liaison 22 présente un trou de positionnement et un trou pour l'élément de liaison 251. Le trou de positionnement se trouve dans le siège de liaison 22 à l'opposé du raccord d'aspiration 26. Le trou pour l'élément de liaison 251 est vertical dans le siège de liaison 22 et se trouve dans le trou de positionnement. Un canal de poussière de sciage 24 est prévu dans la coupelle rotative 20 le long de la fente de 30 plongée 23, et il est relié, ou peut être relié, à une tubulure d'entrée de poussière de sciage 26'. Le raccord d'aspiration 26 comporte la tubulure d'entrée de poussière
de sciage 26' et peut être raccordé à un dispositif d'aspiration.
Le raccord d'aspiration 26 est raccordé de manière amovible au siège de liaison 22, et présente de plus un dispositif de positionnement 27, une face 35 supérieure, une face avant et une face arrière. Le raccord d'aspiration 26 est relié par la face avant au siège de liaison 22. La face arrière de ce raccord 26 est reliée à
Elle a pour ce faire l'avantage de ne nécessiter qu'un seul moyen d'entraînement pour réaliser les deux mouvements des éléments de préhension constitutifs d'une fourche.
De ce fait, la machine est moins complexe et son coût est fortement diminué tout comme sa consommation énergétique.
Un autre avantage de l'invention est de réaliser la commande des phases de fonctionnement à partir de déclenchements mécaniques d'une grande fiabilité et permettant, de façon préférentielle, de s'exempter de tout moyen d'automatisation supplémentaire.
D'autres buts et avantages apparaîtront au cours de la description qui suit d'un mode de réalisation préféré de l'invention qui n'est cependant pas limitatif.
La présente concerne un dispositif de distribution de palettes comportant une fourche de levage dotée de deux bras mobiles en translation verticale par des moyens d'entraînement, lesdits bras étant en outre aptes à opérer un mouvement relatif de rapprochement ou d'éloignement, caractérisé par le fait que les moyens d'entraînement en translation verticale sont couplés à un organe pivotant d'actionnement des bras pour l'opération de leur mouvement relatif de rapprochement ou d'éloignement.
Suivant des modes préférés de réalisation, le dispositif est tel que : - l'organe pivotant comporte une roue dentée engrénant avec deux crémaillères chacune solidaire d'un bras de la fourche.
- les moyens d'entraînement en translation verticale comportent une roue dentée de montée couplée à un arbre moteur et sur laquelle l'extrémité supérieure d'une chaîne est apte à s'enrouler en phase de montée des bras de fourche ; - l'organe pivotant comporte un pignon de montée sur lequel l'autre extrémité de ladite chaîne est apte à se dérouler en début de phase de montée des bras.
- les moyens d'entraînement en translation verticale comportent une roue dentée de descente couplée à un arbre moteur et sur laquelle l'extrémité supérieure d'une chaîne est apte à s'enrouler en phase de descente de la fourche ; - l'organe pivotant comporte un pignon de descente sur lequel l'autre extrémité de ladite chaîne est apte à se dérouler en fin de phase de descente des bras.
- les moyens d'entraînement en translation verticale comportent un pignon de renvoi coopérant avec la chaîne entre la roue dentée de descente et le pignon de descente et situé à une hauteur inférieure à celle du pignon de descente.
- il comporte des moyens d'arrêt de la translation verticale en descente de la fourche à un niveau de hauteur prédéterminé.
- les moyens d'arrêt comportent au moins un système d'arrêt avec : - une butée mobile entre une position escamotée et une position active ; - des moyens de débrayage aptes à escamoter la butée sous commande dans une position éloignée des bras de la fourche.
- les moyens de débrayage présentent : - une protubérance faisant saillie à l'extrémité arrière d'un bras de la fourche ; - une gâchette montée pivotante sous la pression de la protubérance, pour entraîner la butée vers sa position escamotée.
- la butée est montée sur des moyens élastiques pour la maintenir par défaut en position active.
- la face inférieure de la zone d'appui de la butée comporte un pan incliné pour l'escamotage systématique de la butée lors des mouvements de translation verticale en montée de la fourche.
- il comporte des moyens de désactivation des moyens d'arrêt.
- les moyens de désactivation des moyens d'arrêt sont constitués d'un bras commandable de maintien de la butée en position escamotée.
- dans la solution 2 (figure 4) par soudures étanches.
Dans le cas de la liaison entre la tête du brûleur (3) et le caisson de prémélange et de commande (5) en traversée de cuve (fig. 2), l'étanchéité de la liaison sera assurée par soudure ou par joint d'étanchéité.
Selon une variante non illustrée, concernant les figures 1 et 2, l'arrivée du prémélange air/combustible du brûleur d'allumage (7) peut s'effectuer au dessus de ou sur le même plan que l'arrivée du prémélange air/combustible du brûleur principal (8).
Par ailleurs la cuve (1) et le puits (4) étanche recevant la tête du brûleur (3) peuvent être fabriqués en diverses matières telles qu'acier au carbone, acier inoxydable, matériaux composites, cette liste n'étant pas limitative.
La forme de l'échangeur (2) ainsi que la position de l'évacuation des produits de combustion (9) représentés sur les figures 1 et 2 ne sont qu'indicatives. Ce projet ne limite pas la forme de l'échangeur (2) ni les positions d'évacuation des produits de combustion (9), cette dernière s'effectuant dans tous les cas au dessus du niveau du bain.
La liaison entre la tête du brûleur et le caisson de prémélange et de commande de l'équipement de chauffe peut s'effectuer soit par un (des) tube (s) rigide (s) soit par un (des) tube (s) flexible (s).
DISPOSITIF A ULTRASONS PERMETTANT DE CAPTER ET REPRODUIRE DES FORMES TRIDIMENSIONNELLES A PARTIR DE CIBLES POUR MESURER DES VOLUMES La présente invention concerne un dispositif conçu en forme de potence, destiné à la capture et à la reproduction de formes variées sur des matières inertes ou vivantes afin d'en réaliser au moins un affichage tridimensionnel virtuel à l'écran.
Ces équipements utilisent généralement des procédés laser qui nécessitent la mise en oeuvre de technologies coûteuses, ou des procédés photographiques qui sont imprécis quant aux caractéristiques dimensionnelles fournies.
La présente invention qui utilise des capteurs à ultrasons permet de remédier efficacement à ces inconvénients.
Cette technologie permet de capter des informations à partir de senseurs à ultrasons utilisés pour l'émission et la réception des signaux.
Disposant d'un rythme d'impulsions de plusieurs milliers par seconde, les capteurs émettent des signaux ultrasoniques codés et reçoivent les échos renvoyés par la cible.
Les informations reçues sont transmises à l'unité centrale de gestion sous forme analogique.
La capture des formes est réalisée à l'aide d'un nombre suffisant de capteurs montés et répartis sur un bras de sorte à permettre le relevé précis et complet de la forme du sujet.
Tous les capteurs étant reliés électriquement, ils sont dotés d'une sortie signal analogique et d'une sortie de synchronisation.
La forme du bras est déterminée de façon à se déplacer au plus près du sujet à numériser.
Selon leur position sur le bras, des capteurs sont reliés entre eux pour être synchronisés afin d'éviter que les signaux émis par eux soient perturbés par des capteurs du même groupe.
"genDest" => \&genDest, "SysConn" => { FBUS~p => \@std~glob~con, CMEM~p => \@std~glob~con, CIO p => \@std~glob~con, "CfgCpp" => [Bridge~Xactor, [ [' Src' , [FBUS~p, FBUS~type, Fbus~hwif], [FBUS]], ['Src', [CMEM~p, CMEM~type, Cmem~hwif], [CMEM] ], ['Src', [CIO~p, CIO~type, Cio~hwif], [CIO] ], ], ], #### ###### "CIO" => ###### { "MatchExpr" => "^(CIO) (?:~[0-1])\$" , "ExtrExpr" => "^CIO~([0-1])\$" , #### "DUT" => { "ReqModule" => { "cio" => "cio~model.v", "Connect" => { CIO => [\&subst~infix, ["(ZZ.*)' ""], ], "Port" => { CIO => [CIOD, cio, 0], "genDest" => \&genDest, "SysConn" => { CIOD => \@std~glob~con, "CfgCpp" => [Cio~Dut, [ ['Own' , ['Src', [CIOD, DUT,], [None] ],], ], ], #### "XACTOR" => { "ReqModule" => { "cio~p" => "cio~model.v",
"Connect" => { CIO => [\&subst~infix, ["(ZZ. *)", ""], ], }, "Port" => CIO => [CIOD, cio, 0], "genDest" => \&genDest, "SysConn" =>{ CIOD => \@std~glob~con, }, "CfgCpp" => [Cio~Dut, [ ['Own', ['Src', [CIOD, DUT,], [None] ],], ], ], }.
###### "CMEM" => ###### { "MatchExpr" => "^ (CMEM) (?:~[0-1])\$" , "ExtrExpr" = > "^CMEM~([0-1])\$" , #### "DUT" => { "ReqModule" => { "cmem" => "cmem~model.v", "Connect" => { CMEM => [\&subst~infix, ["(ZZ.*)", ""],], }, "Port" => { CMEM => [CMEMD, cmem, 0], }, "genDest" => \&genDest, "SysConn" => { CMEMD => \@std~glob~con, "CfgCpp" => [Cmem~Dut, [ ['Own', ['Src', [CMEMD, DUT,], [None] ],], ], ], #### "XACTOR" = > { "ReqModule" => { "cmem p" => "cmem~model.v",
"Connect" => { CMEM => [\&subst~infix, ["(ZZ.*)' ] "Port" => CMEM => [CMEMD, cmem, 0], "genDest" => \&genDest, "SysConn" => { CMEMD => \@std~glob~con, "CfgCpp" => [Cmem~dut, [ ['Own', ['Src', [CMEMD, DUT,], [None] ],], ], ], }, ) ; %PortProbeMap = 3 de Al ( 'cpu'=> "FBUS" => ["FBUS PROBE" , Fbus hwif ], }, ###### 1; ### makes péri happy
ANNEXE A2 - Règles Topologiques liées aux Blocs système et blocs intermédiaires #! /usr/triton/bin/perl ######################################################### ###################### # # Copyright (c) 2000 BULL - Worldwide Information Systems # All rights reserved # # Module name : patent~sys~config~defs.pm # Author Andrzej Wozniak # # Description . tables for driving configuration # génération aux part # # Rev Date . $Date: 2001-03-06 19 :11:20+01 # #################################### ###################### ######### $GlobSysInst = 'SysClock'; $GlobSysInstModule = 'Clock'; $GlobSysInstModuleSrc = 'patent~sys~glob.v'; # Factorisation de l'expression commune à l'ensemble des connexions aux Blocs Globaux @std~glob~con = (\&getGlobSysInst, "E", 1 de A2 [\&subst~infix, ["^(?:clk)\$", "sys~CLK~2X"], [" (? : reset) \" , "S5~RESET" ] , ["A (?:powergood) \$11, "SyS-POWER GOOD"], ],) ; ####### %HwfConnectivityMap = 2 de A2 ( "bridge" => { "cpu" => "Direct", "cmem" => "Direct", "cio" => "Direct", "fbus p" = > "fbus~xchg", "fbus~xchg" => { FBUS => 'Direct', }.