Swapping Pins, Pairs and Parts in a Design

La possibilité d’échanger les broches de composants dans une conception peut faire une énorme différence dans la complexité du défi de placement/routage et peut aider à réduire le nombre de couches (et donc le coût) du PCB. Malheureusement, l’ingénieur Layout ne dispose pas toujours de toutes les informations nécessaires pour configurer intelligemment les paramètres d’échange de broches, car il ne peut pas toujours supposer connaître l’intention complète du concepteur. Idéalement, la personne qui a saisi la conception devrait également participer à la configuration des données d’échange de broches afin de garantir que l’intention de conception et les contraintes sont correctement capturées.

Fonctionnant en harmonie avec les capacités de routage interactif et de fanout BGA d’Altium Designer, le système d’échange de broches, de paires différentielles et de sous-parties offre tous les avantages des systèmes traditionnels d’échange de broches, tout en tirant parti de la compréhension approfondie qu’a Altium Designer des affectations de nets dans la conception. Lors d’une opération d’échange de broches, Altium Designer analyse le net affecté à la broche choisie et réaffecte dynamiquement le net sur la broche ainsi que sur tout cuivre connecté.

Ce niveau de fonctionnalité signifie que des nets partiellement routés et des fanouts multicouches pré-routés provenant de composants BGA complexes peuvent être échangés. Les paires différentielles peuvent également être échangées, en tirant parti de la connaissance des paires de broches différentielles sur les FPGA.

Au niveau PCB, le système comprend un puissant optimiseur automatique qui utilise ces informations pour réaffecter dynamiquement les nets afin d’améliorer la routabilité. Par exemple, le système peut effectuer une reconnexion sur plusieurs composants ayant fait l’objet d’un fanout sur plusieurs couches. Il les affectera en fonction de la correspondance des couches de fanout, de la plus courte distance de routage de Manhattan et du nombre minimal de croisements sur chaque couche.

L’ajout de l’échange de nets partiellement routés, associé à l’optimiseur automatique, vous donne la possibilité d’adopter une stratégie de routage hiérarchique et itérative : d’abord le fanout des composants, puis le routage jusqu’au bord d’une zone donnée, pour finalement connecter ces sections entre elles. À tout moment, l’échangeur automatique peut être relancé pour réoptimiser le résultat, sur la base des informations mises à jour fournies par les nets partiellement routés.

Il existe trois catégories d’échange :

  • Échange de broches
  • Échange de paires différentielles
  • Échange de sous-parties.

Configuration des groupes d’échange

Pour chaque catégorie d’échange, les swap groups déterminent ce qui peut et ne peut pas être échangé au sein d’un composant. Dans le cas de l’échange de broches, les broches d’un composant qui partagent un même pin group peuvent être échangées entre elles. De même, pour l’échange de paires et l’échange de sous-parties, ce sont les valeurs pair group et part group qui déterminent respectivement si une paire différentielle ou une sous-partie peut être échangée. Les groupes d’échange d’un composant sont configurés dans la boîte de dialogue Configure Pin Swapping, illustrée dans l’image ci-dessous. Elle est accessible des façons suivantes :

  • Dans un document PCB, cliquez avec le bouton droit sur le composant puis sélectionnez Component Actions » Configure Pin/Part Swapping.
  • Dans un document schématique, cliquez avec le bouton droit sur le composant puis sélectionnez Part Actions » Configure Pin Swapping.
  • Dans un document schématique, cliquez sur le bouton Configure Component en bas de la boîte de dialogue Configure Swapping Information In Components dialog (Tools » Configure Pin Swapping).
  • Dans un document PCB, cliquez sur le bouton Configure Component en bas de la boîte de dialogue Configure Swapping Information In Components (Tools » Pin/Part Swapping » Configure).
  • Double-cliquez sur l’un des composants dans la boîte de dialogue Configure Swapping Information In Components.

Groupes de broches

Une broche de composant peut être échangée avec une autre broche de ce composant lorsqu’elle appartient au même pin group (a la même valeur pin group). Le pin group est un attribut de chaque broche du composant et sa valeur peut être n’importe quelle chaîne alphanumérique. Les pin groups de l’ensemble du composant sont définis dans la boîte de dialogue Configure Pin Swapping dialog.

Schématique contenant un composant double porte NOR positive à 5 entrées. Chacune des broches d’entrée de l’une ou l’autre des sous-parties est logiquement équivalente, ce qui constitue une situation idéale pour l’échange de broches.Schématique contenant un composant double porte NOR positive à 5 entrées. Chacune des broches d’entrée de l’une ou l’autre des sous-parties est logiquement équivalente, ce qui constitue une situation idéale pour l’échange de broches.

Considérez le schématique illustré dans l’image ci-dessus, qui contient les deux portes NOR à 5 entrées du composant SNJ54S260. Chacun des nets, INA0 à INA4, peut être échangé avec les autres en raison de la nature de la porte NOR. De même, chacun des nets INB0 à INB4 peut être échangé, mais un net INAx ne peut pas être échangé avec un net INBx.

Les contraintes d’échange pour la porte NOR sont définies dans la boîte de dialogue Configure Pin Swapping. Attribuer le groupe d’échange 1 aux nets INAx et le groupe d’échange 2 aux nets INBx garantit que l’échange ne sera effectué par le système que d’une manière cohérente avec la logique du composant. Laisser vide la valeur Pin Group d’une broche indique que cette broche n’est pas disponible pour l’échange.

Groupes de sous-parties et ID de séquence

Il est courant qu’un composant soit constitué de plusieurs sous-parties fonctionnellement équivalentes. L’échange de parties permet d’échanger les nets de telles sous-parties équivalentes. Reprenons le composant illustré dans l’image ci-dessus. Les deux portes NOR offrent une fonctionnalité identique et les nets (INA0, INA1, INA2, INA3, INA4, OUTA) peuvent être échangés avec les nets (INB0, INB1, INB2, INB3, INB4, OUTB).

L’échange de parties pour un composant se configure à l’aide des attributs part group et sequence ID. Il s’agit dans les deux cas d’attributs texte, accessibles dans l’onglet Part Swapping de la boîte de dialogue Configure Pin Swapping dialog, comme illustré ci-dessous. L’image ci-dessous affiche également les paramètres part group et sequence ID correspondant au composant montré dans l’image ci-dessus. Le part group indique quelles sous-parties peuvent être échangées entre elles. Les deux sous-parties peuvent être échangées et, par conséquent, dans l’image ci-dessous, leurs part groups ont la même valeur, 1.

L’attribut sequence ID détermine l’équivalence des broches entre les sous-parties échangeables. Dans l’exemple de la porte NOR, il est important que les broches d’entrée ne soient pas interverties avec les broches de sortie lorsqu’un échange de partie a lieu. L’image ci-dessous montre que les sequence ID sont définis de sorte que OUTA s’échange avec OUTB, INA0 avec INB0, INA1 avec INB1, et ainsi de suite.

Configuration des groupes d’échange de parties dans la boîte de dialogue Configure Pin Swapping pour un composant à double porte NOR à 5 entrées.Configuration des groupes d’échange de parties dans la boîte de dialogue Configure Pin Swapping pour un composant à double porte NOR à 5 entrées.

Notez que l’échange de parties n’est disponible que pour les composants conçus comme sous-parties, car il repose sur l’échange de tous les nets entre deux sous-parties.

Groupes de paires

L’échange des paires différentielles est régi par la valeur du pair group pour une paire différentielle. L’attribut pair group est accessible dans l’onglet Differential Pair Swapping de la boîte de dialogue Configure Pin Swapping dialog. Trois modes peuvent être définis dans l’onglet Differential Pair Swapping en utilisant la liste déroulante située dans le coin inférieur gauche.

  • Show All Pins – le système affichera toutes les broches du composant.

  • Show Pairs From Directives – le système utilisera les directives de paire différentielle placées sur le schéma pour renseigner les paires différentielles dans le tableau.

    Lorsque l’option Show All Pins est sélectionnée dans la boîte de dialogue, toutes les broches appartenant aux paires différentielles pouvant être échangées doivent être affectées au même groupe de paires.

Configuration des groupes d’échange de paires dans la boîte de dialogue Configure Pin Swapping.Configuration des groupes d’échange de paires dans la boîte de dialogue Configure Pin Swapping.

Contrôle de la manière dont les échanges sont effectués sur le schéma

Dans l’éditeur PCB, les échanges de broches, de paires et de parties sont effectués en échangeant les nets sur les pastilles du composant et le cuivre correspondant. Lorsque les modifications sont fusionnées dans les schémas, un échange de broches peut être géré de deux façons : soit en échangeant les broches sur le symbole du composant, soit en échangeant les étiquettes de net sur les fils raccordés aux broches. Chaque approche présente des avantages et des inconvénients.

L’échange des broches fonctionnera toujours sur le schéma, mais cela peut signifier que cette occurrence du symbole du composant n’est plus identique à sa définition dans la bibliothèque. Dans ce cas, le symbole ne peut plus être mis à jour depuis la bibliothèque, et cela signifie également que d’autres occurrences du même composant dans cette conception auront une disposition de broches différente. Cette approche est donc idéale pour des composants simples, tels que des réseaux de résistances.

Effectuer l’échange sur le schéma en échangeant les étiquettes de net n’est possible que si la connectivité est établie via les étiquettes de net et si les broches ne sont pas câblées en dur ensemble. L’avantage de cette approche est que le symbole du composant ne change pas et peut être mis à jour depuis la bibliothèque à une date ultérieure. Cette approche est le meilleur choix pour un composant complexe, tel qu’un FPGA, où le déplacement physique de deux broches sur le symbole pourrait entraîner une représentation incorrecte d’un symbole basé sur une banque d’E/S.

Vous pouvez déterminer comment les échanges sont effectués en choisissant les options Adding / Removing Net-Labels ou Changing Schematic Pins dans la section Allow Pin Swapping Using these Methods de la boîte de dialogue Project Options - Options, comme illustré ci-dessous.

Ces options de projet régissent la manière dont les échanges de broches sont mis à jour dans les documents schématiques. Ces options de projet régissent la manière dont les échanges de broches sont mis à jour dans les documents schématiques.

Activation de l’échange de broches, de paires et de parties sur le PCB

La possibilité d’échanger des broches dans une conception PCB est contrôlée par l’option Pin Swapping. Cette option devient disponible chaque fois que vous effectuez un routage interactif. Pour vérifier et basculer cette option, sélectionnez la commande Route » Interactive Routing, puis appuyez sur la touche Tab pour mettre le routage en pause et accéder au panneau Properties, où vous pouvez changer l’état de l’option Pin Swapping ().

Au niveau du composant, les options d’échange pour un composant PCB donné se configurent dans le panneau Properties panel, qui présente les propriétés de ce composant lorsqu’il est sélectionné dans l’espace de conception. Les options se trouvent dans la section Swapping Options de l’onglet General .

Les options d’échange pour les composants PCB peuvent également être définies via la boîte de dialogue Configure Swapping Information in Components , qui répertorie tous les composants utilisés dans la conception (ou la bibliothèque) avec leurs paramètres d’échange actuels. Lorsqu’elle est ouverte depuis l’éditeur PCB, la boîte de dialogue inclut une colonne supplémentaire permettant d’activer/de désactiver l’échange pour chaque composant sur la carte, appelée Enable in PCB.

La boîte de dialogue Configure Swapping Information in Components est accessible depuis l’éditeur de schéma, l’éditeur de bibliothèque schématique et l’éditeur PCB, comme suit :

  • Schematic Editor/Schematic Library Editor - en choisissant la commande Tools » Configure Pin Swapping dans les menus principaux.
  • PCB Editor - en choisissant la commande Tools » Pin/Part Swapping » Configure dans les menus principaux.

Les attributs swap group nécessaires pour configurer l’échange de broches, de paires et de parties au sein d’un composant sont stockés dans les composants schématiques. Cependant, ces informations sont utilisées dans l’éditeur PCB, et chaque composant PCB dispose d’une option permettant d’autoriser l’échange de ses broches. Il peut donc être plus simple d’utiliser la boîte de dialogue depuis l’éditeur PCB.

Utilisez la boîte de dialogue Configure Swapping Information in Components pour définir rapidement les échanges entre composants. La boîte de dialogue comprend un puissant menu contextuel accessible par clic droit, ce qui permet de copier très facilement les paramètres d’un composant à un autre, ou d’activer/de désactiver plusieurs composants en un seul clic.

La boîte de dialogue Configure Swapping Information In Components .La boîte de dialogue Configure Swapping Information In Components .

Un double-clic sur un composant dans la boîte de dialogue Configure Swapping Information in Components ouvrira la boîte de dialogue Configure Pin Swapping dialog pour ce composant, où vous pourrez définir avec davantage de contrôle les paramètres de groupe d’échange pour les broches, les paires différentielles et les sous-parties.

Exécution des échanges de broches, de paires et de parties

Échange interactif de broches, de paires et de parties

L’échange interactif permet d’échanger les broches, les paires différentielles ou les sous-parties une à une dans l’éditeur PCB. Les commandes d’échange interactif se trouvent dans le sous-menu Tools » Pin/Part Swapping (commandes Interactive Pin/Net Swapping, Interactive Differential-Pair Swapping et  Interactive Part Swapping ). Une fois la commande sélectionnée dans le menu, tout ce qui se trouve dans l’espace de conception PCB est masqué (estompé), à l’exception des entités pouvant être échangées. Gardez un œil sur le Status Bar, qui vous indiquera l’action suivante à effectuer. Les étapes nécessaires pour effectuer un échange sont affichées sur la ligne d’état :

  1. La première étape consiste à sélectionner l’une des broches mises en évidence, qui deviendra la source de l’échange de broches. Dans le cas d’un échange de paires ou de parties, la paire différentielle ou la sous-partie à laquelle appartient la broche sera ensuite échangée.

  2. La deuxième étape consiste à sélectionner la broche cible pour l’échange. Pour un échange de paires ou de parties, cette broche sera représentative d’une paire différentielle ou d’une sous-partie.

    Il existe deux conditions qui empêchent la mise en surbrillance d’une broche permutable : il existe déjà une connexion routée vers cette broche (vérifiez les connexions au plan d’alimentation ou au polygone), et/ou l’option Pin Swapping n’est pas activée (disponible dans le mode Routage interactif du panneau Préférences). 

Les étapes de permutation interactive de composant pour le composant porte NOR double à 5 entrées sont illustrées dans les deux images ci-dessous. Deux sous-parties peuvent être permutées, ce qui signifie que chacune de leurs cinq broches peut être sélectionnée, comme montré dans l’image ci-dessus. La broche 8 est sélectionnée, correspondant à la sous-partie U2B. Le système met alors en surbrillance les broches de la sous-partie U2A qui peuvent être permutées.

Première image, étape 1 - sélectionnez une broche à permuter, les broches disponibles seront mises en surbrillance. Deuxième image, étape 2 - sélectionnez une broche cible.  Première image, étape 1 - sélectionnez une broche à permuter, les broches disponibles seront mises en surbrillance. Deuxième image, étape 2 - sélectionnez une broche cible.

  • Il n’est pas nécessaire de définir des valeurs de séquence de partie pour les broches de paires différentielles ; la définition de la paire différentielle précise quelle est la broche positive de la paire et quelle est la broche négative.

  • Les informations de permutation apparaîtront également dans le panneau Messages .

Optimiseur automatique de broches/réseaux

L’optimiseur automatique de broches/réseaux est un outil en deux étapes. Sélectionnez Tools » Pin/Part Swapping » Automatic Pin/Net Optimizer dans le menu de l’éditeur PCB pour effectuer une optimisation automatique.

L’optimiseur automatique de broches/réseaux exécute d’abord un optimiseur rapide à passage unique qui tente de minimiser les croisements et les longueurs de connexion, mais peut en réalité les augmenter. Une fois cette étape terminée, il vous sera demandé si vous souhaitez exécuter l’optimiseur itératif. L’optimiseur itératif effectuera plusieurs passes afin de tenter de réduire le nombre de croisements et les longueurs de connexion.

Renvoyer les modifications vers le schéma

Lorsque vous configurez le swap groups dans la boîte de dialogue Configurer la permutation de broches, les modifications que vous apportez sont immédiatement appliquées aux composants du schéma, quel que soit l’éditeur actif au moment du lancement de la commande. Cependant, les modifications de conception résultant d’une permutation de broche, de paire différentielle ou de sous-partie dans l’éditeur PCB sont propagées vers le schéma à l’aide du processus standard Design Update.

Transférer les modifications du PCB vers le schéma

Les permutations de broches, de paires et de parties sont renvoyées vers le schéma de la même manière que les autres modifications de conception sont transférées - en sélectionnant Design » Update dans les menus. Selon la configuration des options Allow Pin-Swapping dans Project Options - Options dialog, les permutations de broches seront effectuées comme suit :

  • Modifier les noms des broches - cette modification déplacera les broches sur le symbole. Les broches ne sont pas réellement déplacées sur le symbole, mais il sera visuellement apparent que les deux broches ont changé de place ou ont été permutées.
  • Déplacer les broches vers des réseaux différents - cette modification permutera les étiquettes de réseau sur les fils connectés.
  • Modifier l’ID de sous-partie - cette modification changera l’index de sous-partie lorsqu’une permutation de partie est effectuée.

 

La première image montre une permutation de broches résolue dans le schéma par permutation des broches. La seconde image montre la permutation résolue par déplacement des étiquettes de réseau.

Si le schéma ne se met pas à jour pour afficher les broches ou parties permutées, appuyez sur la touche End pour actualiser l’affichage.

Tirer parti du nouveau système de permutation de broches/parties avec les conceptions FPGA

Outre les avantages évidents qu’apporte la permutation intelligente des broches, des paires et des parties, la possibilité de permuter des sous-réseaux partiellement routés apporte une nouvelle dimension à la permutation, idéale pour travailler avec des FPGA de grande capacité. La réaffectation dynamique des réseaux vous permet d’utiliser un processus de conception en plusieurs étapes avec des affectations broches/réseaux progressivement affinées

Affectation initiale des E/S

À cette étape, les affectations de réseaux des broches des FPGA et des autres composants sont définies de la manière la plus simple au niveau du schéma. En général, cela signifie simplement ajouter des étiquettes de réseau aux broches du FPGA dans l’ordre numérique du bus. La fonctionnalité Smart Paste de l’éditeur de schémas est idéale pour cela.

Optimisation initiale des connexions

La conception peut être transférée vers le routage PCB, où il y aura de nombreux croisements de connexions en raison de l’affectation aléatoire au niveau du schéma. L’exécution de la commande Tools » Pin/Part Swapping » Automatic Net/Pin Optimizer , qui utilise les informations de broches et de réseaux pour réaffecter dynamiquement les réseaux et améliorer la routabilité, permettra de réduire rapidement et fortement le nombre de croisements. Par exemple, le système peut reconnecter plusieurs composants BGA ayant fait l’objet d’un escape routing sur plusieurs couches d’un document PCB. Le résultat n’a pas encore besoin d’être idéal, car il sert principalement à rendre les connexions plus faciles à gérer visuellement au niveau du PCB.

Après le lancement de la commande, l’optimiseur automatique de broches/réseaux est exécuté. Il s’agit d’un outil en deux étapes qui commence par exécuter un optimiseur rapide à passage unique tentant de minimiser les croisements et les longueurs de connexion, mais pouvant en réalité les augmenter. Une fois cette étape terminée, il vous sera demandé si vous souhaitez exécuter l’optimiseur itératif. L’optimiseur itératif effectuera plusieurs passes afin de tenter de réduire le nombre de croisements et les longueurs de connexion. Les résultats de l’optimisation sont affichés une fois l’exécution de l’optimiseur terminée.

Escape routing

Le fanout et l’escape routing peuvent désormais être effectués sur de grands composants sur le PCB (cliquez avec le bouton droit sur le composant pour exécuter sélectivement le fanout/l’escape routing). Cela peut dégrader les affectations précédemment optimisées, mais cela n’a pas d’importance à ce stade.

Optimisation des connexions après escape routing

Exécutez à nouveau l’optimiseur automatique. Cette fois, il tirera parti des sections pré-routées du fanout/de l’escape routing.

Routage manuel

Vous pouvez maintenant traiter les extrémités des routes d’escape comme des « cibles » vers lesquelles router. Ignorez les lignes de connexion réelles, car vous pouvez router depuis les autres extrémités des réseaux vers la route d’E/S échappée la plus proche (spatialement et par couche) sur le PCB, plutôt que vers celle qui se trouve sur le même réseau. Les connexions ne s’aligneront pas. À la place, vous obtiendrez une série de petits écarts entre l’escape routing provenant des broches d’E/S du FPGA, ainsi que votre routage provenant d’autres parties du PCB. L’image ci-dessous montre un exemple simple de cela.

 

Optimisation finale

Exécutez à nouveau l’optimiseur automatique et il affectera les sous-réseaux routés à la broche d’E/S échappée la plus proche possible. Il vous restera alors un ensemble de connexions très courtes à terminer. L’optimiseur automatique dispose de routines spéciales pour produire un bon résultat dans ce cas. Celles-ci peuvent désormais être routées de manière interactive ou automatique.

Permutations manuelles de broches

Utilisez l’outil de permutation interactive pour effectuer toute permutation de broche spécifique dont vous avez besoin.

Propager les modifications vers le schéma

Lorsque vous êtes prêt à propager ces affectations de broches vers le schéma, il est conseillé de désactiver les modifications de broches sur les symboles du schéma. En effet, les FPGA sont souvent présentés comme des composants multiparties, chaque banque de broches constituant une partie distincte du schéma. Déplacer des broches d’une partie à une autre rendrait alors ces symboles logiquement incorrects, car le symbole de banque inclurait des broches qui n’appartiennent pas à cette banque. Dans cette situation, effectuer les permutations de broches en modifiant les étiquettes de réseau est la bonne approche.

Répéter aussi souvent que nécessaire

Ce processus peut être exécuté autant de fois que nécessaire, et à tout moment pendant le processus de conception.

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Feature Availability

The features available to you depend on which Altium solution you have – Altium Develop, an edition of Altium Agile (Agile Teams or Agile Enterprise), or Altium Designer (on active term).

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Legacy Documentation

Altium Designer documentation is no longer versioned. If you need to access documentation for older versions of Altium Designer, visit the Legacy Documentation section of the Other Installers page.

Contenu