Définir, délimiter et gérer les règles de conception des PCB
Altium Essentials: PCB Design Rules Creation
This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.
L’éditeur PCB utilise le concept de règles de conception pour définir les exigences d’une conception. Les exigences de conception sont appliquées selon une approche élégante de type target these objects and apply those requirements - . Les règles de conception forment collectivement un « ensemble d’instructions » que l’éditeur PCB doit suivre. Elles couvrent tous les aspects de la conception – largeurs de routage, espacements, styles de connexion aux plans, styles de vias de routage, etc. – et nombre d’entre elles peuvent être surveillées en temps réel par le Design Rule Checker (DRC) en ligne ; vous pouvez également exécuter à tout moment un test par lots pour générer un rapport DRC. Les règles sont définies indépendamment des objets.
Les règles de conception ciblent des objets spécifiques et sont appliquées de manière hiérarchique ; par exemple, il peut y avoir une règle d’espacement pour l’ensemble de la carte, puis une règle d’espacement pour une classe de nets, puis encore une autre pour l’un des pads de cette classe. En utilisant la priorité des règles et leur portée, l’éditeur PCB peut déterminer quelle règle s’applique à chaque objet de la conception.
Une règle cible les objets à l’aide d’un langage de requête piloté par mots-clés, qui peut aller d’identifiants larges, tels que NetClass ou All, jusqu’à une requête très précisément définie qui cible exactement une exigence de conception complexe et propre à une situation donnée.
Avec un ensemble bien défini de règles de conception, vous pouvez mener à bien des conceptions de cartes présentant des exigences de conception variées et souvent strictes. De plus, comme l’éditeur PCB est piloté par des règles, prendre le temps de configurer les règles au début de la conception vous permettra de vous consacrer efficacement au travail de conception, en ayant l’assurance que le système de règles œuvre activement pour garantir le succès.
Principes fondamentaux du système de règles PCB
Le système de règles intégré à l’éditeur PCB du logiciel possède plusieurs caractéristiques fondamentales qui le distinguent de la plupart des autres systèmes de règles de conception employés dans d’autres environnements d’édition PCB :
-
Rules are separate from the objects – une règle n’est pas ajoutée comme attribut d’un objet ; elle est plutôt ajoutée à la liste globale des règles, puis sa portée est définie pour s’appliquer à cet objet. Cela permet d’appliquer des règles à plusieurs objets et de les modifier ou de les appliquer à d’autres objets, ce qui serait autrement fastidieux s’il fallait changer les attributs de règle au niveau de chaque objet individuellement.
-
Rules are targeted (scoped) by writing a query – au lieu d’utiliser un ensemble fixe de portées de règles prédéfinies, un système de requêtes flexible est utilisé pour définir les objets auxquels une règle s’applique. Cela donne un contrôle précis sur la cible de chacune des règles de conception.
-
Rules for any design situation – plusieurs règles du même type peuvent être définies et ciblées vers différents ensembles d’objets, ce qui permet un contrôle complet de la définition des contraintes de la carte. Par exemple, différentes règles de largeur peuvent être définies pour router des nets avec des largeurs différentes sur différentes couches.
-
Each rule has a priority – tout objet de conception peut être ciblé par plusieurs règles du même type, afin de couvrir les situations générales et plus spécifiques. Pour résoudre tout conflit entre règles, la priorité des règles est utilisée. Le système parcourt simplement les règles de la priorité la plus élevée à la plus faible et sélectionne la première dont la ou les expressions de portée correspondent au(x) objet(s) vérifié(s).
-
There are two types of rules – règles unaires (règles qui définissent le comportement requis d’un objet) et règles binaires (règles qui définissent l’interaction entre deux objets).
Les règles de conception dans Altium Designer sont définies et gérées depuis la boîte de dialogue PCB Rules and Constraints Editor comme décrit sur cette page. Comme approche alternative pour gérer les règles de contraintes de conception, l’éditeur de contraintes basé sur document Constraints Editor (onglet de document [Constraints]) peut être utilisé.
Définir et gérer les règles de conception
La boîte de dialogue PCB Rules and Constraints Editor est accessible en choisissant la commande Design » Rules dans les menus principaux.
La boîte de dialogue PCB Rules and Constraints Editor comporte deux sections :
-
L’arborescence à gauche répertorie les différentes catégories de règles. Développez une catégorie pour afficher les types de règles individuels disponibles. Développez un type de règle pour afficher toutes les règles de ce type actuellement définies.
Consultez la page PCB Design Rule Types et ses sous-pages pour plus d’informations sur les types de règles disponibles et leurs contraintes.
-
La partie droite de la boîte de dialogue présente des informations en fonction de l’élément actuellement sélectionné dans l’arborescence : soit un résumé des règles définies du type ou de la catégorie de règle sélectionnée, soit toutes les règles définies pour l’ensemble du système, soit, si une règle spécifique est sélectionnée, les contraintes de cette règle.
-
Cliquez sur le dossier racine pour accéder, dans la zone principale d’édition de la boîte de dialogue, à une liste récapitulative de toutes les règles spécifiques qui ont été définies pour tous les types de règles de conception dans toutes les catégories.
-
Cliquez sur un dossier de catégorie pour accéder à une liste récapitulative de toutes les règles spécifiques qui ont été définies pour tous les types de règles associés à cette catégorie.
-
Cliquez sur un dossier de type de règle pour accéder à une liste récapitulative de toutes les règles spécifiques qui ont été définies pour ce type.
Dans une liste récapitulative, chaque règle est indiquée selon les éléments suivants :
-
Name - le nom de la règle.
-
Priority - la priorité actuelle de la règle.
-
Enabled - si la règle est actuellement activée ou désactivée (cliquez pour basculer cet état). Une règle désactivée apparaîtra grisée dans une liste récapitulative.
-
Type - le type de règle.
-
Category - la catégorie de règle à laquelle elle appartient.
-
Scope - la portée de la règle (c.-à-d. à quel(s) objet(s) elle s’applique).
-
Attributes - les attributs de contrainte qui ont été définis pour la règle.
Cliquez sur l’entrée d’une règle spécifique dans le volet de l’arborescence des dossiers (ou double-cliquez sur son entrée dans une liste récapitulative) pour accéder aux contrôles de gestion de sa définition :
-
Name - le nom actuel de la règle. Celui-ci peut être modifié selon les besoins.
-
Comment - ce champ affiche tout commentaire ajouté à la règle, par exemple une description explicite de l’usage de la règle.
-
Unique ID - l’identifiant unique de la règle. Chaque règle est elle-même un objet de conception, et donc une donnée tangible. L’utilisation d’un ID garantit son unicité. Là où l’ID unique devient particulièrement important, c’est pour une règle créée dans le domaine schématique. Lors de l’ajout de paramètres de règle de conception aux objets d’un schéma, un ID unique est attribué à chaque paramètre de règle. Les mêmes ID sont attribués aux règles de conception correspondantes créées dans le PCB. Grâce à cet ID unique, les contraintes d’une règle peuvent être modifiées soit côté schéma, soit côté PCB, puis les modifications propagées lors de la synchronisation.
-
Test Queries - cliquez pour ouvrir la boîte de dialogue Test Queries Result dialog, qui affiche le nombre d’objets affectés par la règle en tenant compte des spécialisations de règle que vous avez définies. Cela vous permet de voir s’il existe des objets répondant à la requête et de vérifier également que l’ensemble des objets affectés par les filtres et les règles correspond bien à ce que vous souhaitez.
-
Rule Scoping Controls - cette zone fournit des contrôles permettant de déterminer la portée de la règle en termes d’objets auxquels elle s’applique ou entre lesquels elle s’applique.
-
Constraints - cette zone de la boîte de dialogue présente les contraintes applicables au type de règle en cours de modification. Utilisez les différents contrôles pour configurer ces contraintes selon les besoins. Appuyez sur F1 au-dessus de la zone des contraintes pour accéder à une page relative à ce type de règle dans la section PCB Design Rule Types de la documentation.
-

La boîte de dialogue PCB Rules and Constraints Editor – le centre de commande pour la gestion des règles de conception.
Passer en revue les règles de conception
La nouvelle carte créée par défaut par le logiciel inclura des règles qui ne sont pas nécessaires dans chaque conception, et de nombreuses autres règles de conception devront être ajustées pour correspondre aux exigences de votre conception. Pour cette raison, il est très important de passer en revue les règles de conception. Cela peut être fait dans le PCB Rules and Constraints Editor. Sélectionnez Design Rules en haut de l’arborescence à gauche, puis parcourez la colonne Attributes pour voir toutes les règles et repérer rapidement celles dont les valeurs doivent être ajustées.
Lorsque vous créez une nouvelle carte, elle inclut des règles de conception par défaut qui peuvent ne pas être nécessaires pour votre conception. Les règles redondantes peuvent être désactivées en cliquant sur l’entrée Design Rules ou sur une entrée de catégorie spécifique dans le PCB Rules and Constraints Editor, puis en désactivant les règles (décochez les cases dans la colonne Enabled).
La carte par défaut utilise également des unités impériales. Si votre carte utilise le système métrique, de nombreuses valeurs de règles, comme l’expansion du masque de soudure, passeront de valeurs arrondies comme 4mil à 0,102mm, ou la valeur par défaut du Minimum Solder Mask Sliver passera de 10mil à 0,254mm. Bien que ce chiffre le moins significatif, par exemple 0,002mm, soit négligeable pour la génération des sorties, vous pouvez modifier ces paramètres dans les règles de conception si cela vous dérange.

Lors de l’examen des règles de conception, notez que l’ordre des colonnes peut être modifié si nécessaire.
Règles de conception par défaut
Lorsqu’un nouveau document PCB est créé, il inclut un certain nombre de règles par défaut, qui doivent exister pour le bon fonctionnement du système de vérification des règles de conception. Si une règle par défaut est supprimée, elle est automatiquement recréée lorsque le PCB Rules and Constraints Editor est fermé. S’il existe des règles de conception que vous ne souhaitez pas utiliser, la bonne façon de les gérer est de les désactiver.
Pour désactiver une règle, basculez l’option Enable correspondante pour cette règle dans l’une des listes récapitulatives à droite de la boîte de dialogue PCB Rules and Constraints Editor. Une règle désactivée apparaît « grisée ». En savoir plus sur la désactivation des règles de conception.
Utilisez l’option Enable pour désactiver une règle dont vous n’avez pas besoin. Une règle désactivée apparaît « grisée ».
Création d’une nouvelle règle
Pour ajouter une nouvelle règle de conception depuis la boîte de dialogue PCB Rules and Constraints Editor, accédez au type de règle requis et sélectionnez-le dans l’arborescence de gauche, puis cliquez sur le bouton New Rule sous la liste récapitulative des règles, ou faites un clic droit sur le type de règle requis puis sélectionnez New Rule dans le menu contextuel.
La nouvelle règle sera ajoutée à l’arborescence des dossiers et apparaîtra également dans la liste récapitulative de ce type de règle. Le nom de la règle apparaîtra en gras pour indiquer qu’elle est nouvelle et qu’elle n’a pas encore été « appliquée ».

Exemple de création d’une nouvelle règle de conception PCB.
Pour accéder aux attributs de portée et de contrainte de la règle, cliquez soit sur l’entrée de la règle dans le panneau d’arborescence des dossiers, soit double-cliquez sur son entrée dans une liste récapitulative. La fenêtre principale d’édition de la boîte de dialogue changera pour donner accès aux commandes permettant de définir les attributs de portée et de contrainte de cette règle.

Accès aux commandes détaillées de la règle, y compris la portée et les contraintes.
Pour définir complètement la nouvelle règle :
- Donnez à la règle un nom explicite pour qu’elle soit identifiable.
- Définissez la portée de la règle en sélectionnant les options de portée dans le(s) menu(s) déroulant(s), ou en saisissant une requête (ou des requêtes pour une règle binaire).
- Définissez les contraintes de la règle.
- Définissez la priorité de la règle.
Utilisation de l’assistant de règles pour créer une nouvelle règle
Une nouvelle règle peut également être créée à l’aide du Design Rule Wizard. L’accès se fait directement à l’aide de la commande Design » Rule Wizard ou en cliquant sur le bouton Rule Wizard au bas de la boîte de dialogue PCB Rules and Constraints Editor.
Utilisez les pages du Wizard pour créer une nouvelle règle de conception. Les étapes sont les suivantes :
- Choisir le type de règle requis et lui donner un nom explicite (et un commentaire si nécessaire).
- Définir la portée de la règle. Vous aurez la possibilité d’affiner davantage la portée grâce à une version du Query Builder intégrée à l’assistant.
- Définir la priorité de la règle.

Utilisez le Design Rule Wizard pour simplifier la création de règles.
Duplication d’une règle existante
Pour créer rapidement une copie identique d’une règle existante, utilisez la fonction de duplication. Cette fonction est accessible de deux manières :
-
Utilisez l’arborescence de gauche pour accéder à la règle existante souhaitée, faites un clic droit puis choisissez Duplicate Rule dans le menu contextuel.
-
Accédez au type de règle spécifique dans l’arborescence de gauche, sélectionnez la règle à dupliquer dans la liste récapitulative à droite, puis cliquez sur le bouton Duplicate Rule sous la liste.

Simplifiez la création de règles similaires grâce à la fonction de duplication de règle.
La règle dupliquée portera le même nom que l’originale, avec l’ajout d’un suffixe (par ex., _1) pour la distinguer. Sa définition (portée, contraintes, etc.) sera identique à celle de l’originale. En termes de priorité, elle recevra la priorité immédiatement inférieure à celle de la règle d’origine. Ainsi, par exemple, si la règle d’origine a la priorité 1, le doublon recevra la priorité 2.
Création d’une règle depuis le panneau PCB Filter
Puisqu’une règle de conception a une portée définie pour s’appliquer à un ensemble cible d’objets de conception, il peut être plus simple (et plus rapide) d’identifier d’abord ces objets, puis de créer une règle de conception qui les cible. Le panneau PCB Filter offre la possibilité de créer une règle de conception dont la portée utilise l’expression de requête actuellement définie dans le panneau. Ainsi, au lieu d’essayer de visualiser les cibles de votre expression de requête might, utilisez le panneau PCB Filter pour tester et ajuster une expression de requête jusqu’à ce que seuls les objets requis soient filtrés. En créant ensuite une règle qui utilise cette expression de requête, vous êtes assuré de cibler le bon ensemble d’objets.
Pour ajouter une nouvelle règle de conception :
- Cliquez sur le bouton Create Rule. La boîte de dialogue Choose Design Rule Type apparaîtra. Cette boîte de dialogue répertorie chacune des catégories de règles et chacun des types de règles disponibles dans le document PCB.
- Choisissez le type de règle à créer puis cliquez sur OK (ou double-cliquez directement sur l’entrée).
- La boîte de dialogue PCB Rules and Constraints Editor apparaîtra. Une règle du type choisi est créée et la fenêtre principale d’édition de la règle s’affiche, prête à définir les contraintes spécifiques de la règle. L’option de portée pour la règle est définie sur Custom Query, et l’expression de requête du panneau PCB Filter est saisie en conséquence dans la zone de requête.
- Apportez les modifications nécessaires au nom et aux contraintes de la règle. Modifiez également sa priorité si nécessaire (elle recevra par défaut la priorité la plus élevée).

Créez une nouvelle règle de conception directement depuis le panneau PCB Filter – l’expression de requête du filtre est utilisée comme portée de la règle.
Réutilisation d’anciennes expressions de requête
Au fil du temps, un certain nombre d’expressions de requête utiles seront créées au cours du placement/routage de différentes cartes. En règle générale, vous voudrez appliquer et réappliquer les mêmes requêtes, non seulement dans la même conception mais aussi d’une conception à l’autre. Pour permettre cela, le panneau PCB Filter prend en charge les notions de requêtes HistoricalhistoriqueFavorite et HistoricalfavorisFavorite.
Lorsqu’une requête est saisie et appliquée depuis le panneau, elle est ajoutée à une « liste d’historique » des requêtes. En outre, cette requête peut être ajoutée à une « liste de favoris » des requêtes en cliquant sur le bouton Add To Favorites. Utilisez les boutons History et Favorites du panneau pour accéder aux onglets correspondants du même nom dans la boîte de dialogue Expression Manager dialog afin de voir ces listes.

Accédez à l’historique des expressions de requête appliquées et constituez une liste d’expressions favorites à réutiliser encore et encore.
Pour utiliser une expression de l’une ou l’autre liste, double-cliquez sur son entrée ou sélectionnez son entrée puis cliquez sur le bouton Apply Expression. La boîte de dialogue Expression Manager se fermera et l’expression sera chargée dans la zone Filter du panneau PCB Filter.
Cette fonctionnalité simplifie (et accélère) la création de règles avec le périmètre requis – récupérez une expression de requête historique ou favorite, vérifiez qu’elle cible toujours l’ensemble d’objets requis (appliquez le filtre), puis créez une règle qui utilise cette expression dans son périmètre, comme détaillé dans la section précédente.
Définir le périmètre d’une règle de conception
L’éditeur PCB d’Altium Designer est un environnement piloté par les règles. Les exigences de conception sont appliquées au moyen d’un ensemble bien défini de règles de conception qui définissent collectivement les contraintes de la carte. Les règles de conception ciblent des objets spécifiques dans une conception. Pour que le système de règles PCB sache à quels objets une règle donnée s’applique, il doit connaître le périmètre de cette règle, c’est-à-dire l’étendue de son application. Le ScopingpérimétrageScoping, ou ciblage de la règle, s’effectue dans la boîte de dialogue PCB Rules and Constraints Editor.
Les règles de conception par défaut, ou une nouvelle règle ajoutée, auront le périmètre par défaut All, ce qui signifie qu’elles s’appliqueront à all objects sur la carte. À l’aide de la liste déroulante, un périmètre de règle simple peut être configuré rapidement.

Définissez le périmètre d’une règle de conception afin de définir son application aux objets de conception.
Plutôt que d’être limitée à une liste prédéfinie d’options de ciblage possibles, chaque règle de conception peut être définie plus précisément en écrivant ce que l’on appelle une Query.
Pour saisir une requête, réglez la première liste déroulante Where The Object Matches sur Custom Query. Elle affichera la requête actuellement utilisée par le moteur de règles pour cette règle sur la base des paramètres actuels des listes déroulantes.
Une requête est essentiellement une instruction au logiciel qui définit l’ensemble des objets de conception à cibler. Les requêtes sont écrites à l’aide de mots-clés de requête. De la même manière qu’une requête peut être écrite dans un panneau Filter pour trouver un ensemble spécifique d’objets, une requête peut également être écrite pour définir les objets ciblés par chaque règle. Un exemple pourrait être :
InNet('VBAT') And OnLayer('Bottom Layer')
Si cette requête était utilisée comme périmètre pour une règle de Width rule, lorsque vous routiez le net VBAT et basculiez sur la couche inférieure, la largeur de piste serait automatiquement modifiée pour correspondre à la largeur spécifiée dans les contraintes de cette règle. De plus, lors de l’exécution d’une vérification des règles de conception, tout routage du net VBAT sur la couche inférieure devrait avoir la largeur spécifiée, sous peine d’être signalé comme une violation.

Le périmétrage des règles repose sur le système de requêtes. Utilisez l’option Custom Query pour voir la requête actuelle et la modifier au besoin à l’aide des mots-clés de requête.
Options de périmétrage
Des options de périmétrage simples sont fournies pour vous permettre de générer rapidement des requêtes de périmètre. Sélectionnez l’une des options dans le premier champ de liste déroulante et, si nécessaire, utilisez la ou les listes déroulantes suivantes pour sélectionner la cible appropriée, telle qu’un net, une couche, une empreinte, un boîtier, etc. Les options de périmétrage présentées sont adaptées au type de règle.

Créez rapidement une requête à l’aide des options de périmétrage simples.
Voici des exemples d’options de périmétrage simples :
-
All - génère une requête de périmètre qui cible tous les objets de conception.
-
Net - génère une requête de périmètre qui cible tous les objets d’un net spécifique. Une liste déroulante supplémentaire apparaît, à partir de laquelle vous pouvez sélectionner le net souhaité parmi une liste de choix disponibles, y compris No Net.
-
Net Class - génère une requête de périmètre qui cible tous les objets d’une classe de nets spécifique. Une liste déroulante supplémentaire apparaît, à partir de laquelle vous pouvez sélectionner la classe de nets souhaitée parmi une liste de choix disponibles, y compris All Nets.
-
Layer - génère une requête de périmètre qui cible tous les objets d’une couche spécifique. Une liste déroulante supplémentaire apparaît, à partir de laquelle vous pouvez sélectionner la couche souhaitée parmi une liste de choix disponibles.
-
Net and Layer - génère une requête de périmètre qui cible tous les objets d’un net spécifique et sur une couche spécifique. Deux listes déroulantes supplémentaires apparaissent, à partir desquelles vous pouvez sélectionner le net et la couche souhaités.
L’option Custom Query vous permet d’écrire votre propre requête, peut-être plus complexe mais aussi plus spécifique. Vous pouvez saisir votre propre requête spécifique pour le périmètre de la règle directement dans la zone de requête à droite. Sinon, deux fonctionnalités sont disponibles pour aider à la création d’expressions de requête logiques. Il s’agit du Query Builder et du Query Helper. Celles-ci peuvent être utiles lorsque vous n’êtes pas certain de la syntaxe d’une requête ou des mots-clés disponibles.

Utilisez l’option Custom Query pour élaborer une expression de requête plus complexe.
Définir le périmètre d’une règle avec le Query Builder
Lorsque l’option Custom Query est sélectionnée, cliquez sur le bouton
pour ouvrir la boîte de dialogue Building Query from Board dialog, qui vous permet de créer une requête pour cibler des objets spécifiques dans le document de conception par la simple construction d’une chaîne d’instructions conditionnelles.
La section de gauche de la boîte de dialogue sert à spécifier la ou les condition(s) requise(s) pour cibler l’ensemble des objets nécessaires. Chaque condition se compose d’un Condition Type et d’un Condition Value. Les listes déroulantes correspondantes sont remplies avec des entrées pertinentes pour définir une portée pour le type de règle actuel et des valeurs pour le type de condition choisi, respectivement.
Au fur et à mesure qu’une condition est définie, un aperçu de la requête actuellement construite s’affiche dans la section de droite de la boîte de dialogue. Les conditions peuvent être combinées avec des opérateurs AND et/ou OR, et une priorité peut également être intégrée (au moyen de parenthèses/retraits) afin d’affiner l’ensemble cible d’objets. Lorsque l’expression de la requête a été définie comme souhaité, un clic sur OK charge l’expression dans la région de requête de la boîte de dialogue PCB Rules and Constraints Editor.

Utilisez le Query Builder pour construire une expression de requête logique à l’aide d’une série d’instructions conditionnelles.
Définir la portée d’une règle avec le Query Helper
Lorsque l’option Custom Query est sélectionnée, cliquez sur le bouton
pour accéder à la boîte de dialogue Query Helper. Le moteur de requête sous-jacent analyse la conception PCB et répertorie tous les objets disponibles, ainsi que des mots-clés génériques à utiliser dans les requêtes.
Le fonctionnement du Query Helper est assez intuitif, encore plus si vous le divisez en trois zones distinctes comme illustré dans l’image ci-dessous :

Exemple de requête complexe définie à l’aide du Query Helper.
Ces zones sont les suivantes :
- Query Region – utilisez cette région de la boîte de dialogue pour composer une expression de requête. L’expression actuellement en vigueur pour la portée de la règle sera disponible dans cette région, par défaut, lorsque la boîte de dialogue est ouverte. Vous pouvez saisir directement dans la région ; une « liste de suggestions » contextuelle de mots-clés ou d’objets possibles apparaîtra pour vous aider.
- Operators – cette région de la boîte de dialogue fournit un ensemble d’opérateurs mathématiques et logiques à utiliser lors de la construction d’une expression. Cliquez sur un bouton pour ajouter cet opérateur à l’emplacement actuel du curseur dans l’expression de requête de la région Query ci-dessus.
- Categories, Keywords and Objects – cette région de la boîte de dialogue donne accès aux fonctions PCB disponibles, aux listes d’objets PCB et aux fonctions système, qui peuvent être utilisées pour créer l’expression de requête. Cliquer sur une sous-catégorie dans chacune de ces trois zones affichera une liste des mots-clés ou objets correspondants dans la région de droite. Repérez le mot-clé ou l’objet à utiliser dans la chaîne de requête puis double-cliquez sur son entrée ; celle-ci sera insérée à l’emplacement actuel du curseur dans l’expression de requête de la région Query ci-dessus.
Utilisez le bouton
(en bas à gauche de la boîte de dialogue) pour vérifier qu’une expression est syntaxiquement correcte. Lorsque l’expression de la requête a été définie comme souhaité, un clic sur OK charge l’expression dans la région de requête de la boîte de dialogue PCB Rules and Constraints Editor.
Priorité des opérateurs dans les expressions de requête
Avant de quitter cette section, il est utile d’examiner l’ordre de priorité appliqué aux opérateurs utilisés dans les expressions de requête logiques. Après tout, sans cette connaissance, une expression risque de ne pas cibler les objets requis.
Les parenthèses ont la priorité la plus élevée dans l’ordre de priorité défini pour les différents opérateurs, lequel détermine comment les requêtes sont interprétées par le logiciel (lorsque l’utilisateur n’a pas fourni de parenthèses). La séquence de cet ordre, de la plus élevée à la plus faible, est la suivante :
- Parenthèses
- Not
- ^, *, /, Div, Mod, And
- +, -, Or, Xor
- =, <>, <, >, <=, >=
- &&, ||
Priorisation des règles
Pour simplifier le processus de définition et de gestion des règles, l’idée consiste à définir des règles générales couvrant des exigences larges, puis à les remplacer par des règles spécifiques dans des situations particulières. Pour que cela soit possible, vous devez pouvoir prioriser les règles afin d’indiquer laquelle utiliser lorsqu’un objet est ciblé par plusieurs règles du même type.
Par exemple, pour spécifier la largeur de routage la plus couramment utilisée sur la carte, définissez une règle unique qui s’applique à chaque net de la carte. Cette règle peut ensuite être remplacée pour un net spécifique (ou une classe de nets, d’ailleurs) en ajoutant une autre règle du même type, mais avec une priorité plus élevée.
Un autre exemple pourrait concerner les exigences de masque de soudure. Ici, vous définiriez une règle de masque qui cible chaque pastille et chaque via de la carte, laquelle pourrait ensuite être remplacée pour les pastilles d’un type d’empreinte spécifique. Cette règle spécifique à l’empreinte pourrait ensuite être remplacée pour une pastille particulière de cette empreinte si nécessaire.
Un aspect important de la gestion des règles consiste à s’assurer que toutes les priorités sont correctement définies. Lorsqu’une nouvelle règle est créée, elle prend par défaut la priorité la plus élevée. Utilisez le bouton Priorities en bas de la boîte de dialogue PCB Rules and Constraints Editor pour configurer les priorités dans la boîte de dialogue Edit Rule Priorities.

Modifiez les priorités des règles dans la boîte de dialogue Edit Rule Priorities.
Au départ, la boîte de dialogue répertorie toutes les instances de règles pour le type de règle actuellement sélectionné dans la boîte de dialogue PCB Rules and Constraints Editor. Utilisez le champ Rule Type pour changer le type de règle et lister les règles spécifiques définies pour ce type. Les règles définies sont répertoriées dans l’ordre de priorité actuel – de 1 (priorité la plus élevée) vers le bas. Sélectionnez une entrée de règle et utilisez les boutons Increase Priority et Decrease Priority pour la déplacer respectivement vers le haut ou vers le bas dans l’ordre de priorité.
Modification des règles existantes
Les règles peuvent bien entendu être modifiées à tout moment. En effet, parvenir à l’ensemble final de règles opérationnelles implique souvent quelques ajustements clés ici et là. En général, cela concerne la définition de la portée afin de s’assurer que les objets de conception cibles sont bien « pris en compte » par la ou les règles concernées, comme requis. Sélectionnez une règle existante dans la boîte de dialogue PCB Rules and Constraints Editor et apportez les modifications nécessaires à sa portée et à ses attributs de contrainte.
Les modifications apportées aux définitions de règles existantes sont mises en évidence à la fois dans le panneau d’arborescence des dossiers et dans les listes récapitulatives applicables. Ces entrées se distinguent par le nom de la règle affiché en gras et par un astérisque visible à droite du nom. L’astérisque est utilisé pour indiquer qu’il s’agit d’une règle existante qui a été modifiée, et non d’une règle nouvellement créée (qui est affichée en gras sans astérisque).

Exemple d’une règle existante qui a été modifiée. Un astérisque est utilisé pour signaler la modification, en plus du nom de la règle affiché en gras.
Signalement des règles invalides
Si le système détecte qu’une règle est invalide – par exemple, en raison d’un problème dans son expression de requête de portée ou d’une valeur de contrainte non autorisée – elle sera signalée comme invalide. Une telle règle sera mise en évidence en rouge dans la boîte de dialogue PCB Rules and Constraints Editor, à la fois dans l’arborescence des règles à gauche et dans toute vue récapitulative (catégorie de règle ou type de règle) où la règle apparaît. De plus, le texte du type de règle et de la catégorie de règle est également affiché en rouge dans l’arborescence des règles à gauche. Ainsi, si vous avez réduit une zone de l’arborescence des règles contenant une règle invalide, vous en serez quand même alerté à un niveau supérieur de la hiérarchie. Un message d’avertissement apparaîtra également si vous tentez de fermer la boîte de dialogue.
Une portée de règle comportant une erreur de syntaxe peut considérablement ralentir l’analyse DRC en ligne et par lot ; veillez donc à corriger toutes les portées de règle qui ne sont pas syntaxiquement correctes.

Exemple de signalement par le système d’une règle de conception invalide, ici une expression de requête de portée erronée.
Désactivation des règles
Dans l’environnement piloté par des règles de l’éditeur PCB du logiciel, il n’est pas rare de constituer un ensemble de règles assez impressionnant et complet permettant de contraindre efficacement vos cartes. Pour une raison ou une autre au fil du processus, vous pouvez souhaiter désactiver certaines règles ; peut-être ne s’appliquent-elles pas à la carte concernée ou doivent-elles être désactivées temporairement afin d’alléger la charge du vérificateur de règles de conception (et ainsi en améliorer les performances !). La désactivation est un bon moyen de conserver ces règles au cas où elles seraient à nouveau nécessaires à l’avenir.
Pour désactiver une règle, basculez l’option Enable correspondante pour cette règle dans l’une des listes récapitulatives appropriées situées sur le côté droit de la boîte de dialogue PCB Rules and Constraints Editor. Une règle désactivée apparaîtra également en grisé.

Exemple de règles désactivées, apparaissant en police grise dans une liste récapitulative.
Suppression de règles
Pour supprimer une seule règle de conception depuis la boîte de dialogue PCB Rules and Constraints Editor :
- Utilisez l’arborescence à gauche pour accéder à la règle existante voulue, cliquez avec le bouton droit puis choisissez Delete Rule dans le menu contextuel.
- Accédez au type de règle spécifique dans l’arborescence à gauche, puis sélectionnez la règle à supprimer dans la liste récapitulative à droite. Cliquez ensuite sur le bouton Delete Rule(s) sous la liste.
Le nom de la règle apparaîtra en gras avec un barré afin de l’identifier comme une suppression qui n’a pas encore été « appliquée ».

Suppression d’une règle unique.
De nombreux types de règles disposent de règles par défaut créées lors de la création d’un nouveau document PCB. De manière similaire, si toutes les règles spécifiques de l’un de ces types de règles sont supprimées, la règle par défaut sera automatiquement rajoutée lors du prochain accès à la boîte de dialogue PCB Rules and Constraints Editor. Sinon, les règles par défaut peuvent être recréées en cliquant sur le bouton Create Default Rules en bas de la boîte de dialogue.
Exportation et importation de règles
Les règles de conception peuvent être exportées depuis, et importées dans, la boîte de dialogue PCB Rules and Constraints Editor. Cela vous permet d’enregistrer et de charger vos définitions de règles favorites entre différentes conceptions.
-
To export – cliquez avec le bouton droit n’importe où dans l’arborescence à gauche de la boîte de dialogue et sélectionnez Export Rules. La boîte de dialogue Choose Design Rule Type dialog s’ouvre, dans laquelle vous pouvez choisir la ou les règles de conception à exporter. Dans la boîte de dialogue Export Rules to File qui s’ouvre, vous pouvez nommer le fichier .rul et choisir son emplacement. Les règles exportées sont stockées dans un fichier de règles PCB (
*.rul). -
To import – cliquez avec le bouton droit n’importe où dans l’arborescence à gauche de la boîte de dialogue et sélectionnez Import Rules. La boîte de dialogue Choose Design Rule Type dialog s’ouvre, dans laquelle vous pouvez choisir la ou les règles de conception à importer. Dans la boîte de dialogue Import File qui s’ouvre, recherchez le fichier .rul à importer.
Rapports sur les règles de conception
Un rapport des règles de conception actuellement définies peut être généré depuis la boîte de dialogue PCB Rules and Constraints Editor. Le rapport peut couvrir toutes les catégories de règles, une catégorie de règles spécifique ou un type de règle spécifique, selon l’entrée sélectionnée dans l’arborescence des dossiers. Un rapport peut être généré en :
- Accédant à la liste récapitulative voulue, en cliquant avec le bouton droit puis en choisissant la commande Report dans le menu contextuel, ou en cliquant sur le bouton Report sous la liste.
- Cliquant avec le bouton droit sur l’entrée correspondante dans l’arborescence des dossiers, puis en choisissant la commande Report dans le menu contextuel.
La boîte de dialogue Report Preview s’ouvrira avec le rapport approprié déjà chargé. Utilisez cette boîte de dialogue pour examiner le rapport à l’aide de différents contrôles de page/zoom avant de finalement l’exporter vers un fichier ou de l’imprimer.

Générer un rapport de règles PCB.
Options and Controls of the Report Preview Dialog
- Preview Window - la région principale de cette boîte de dialogue présente l’aperçu du rapport généré. Le rapport peut être manipulé à l’aide des différents contrôles situés sous la fenêtre et dans le menu contextuel accessible par clic droit.
- Page x of x - le premier x est la page actuellement affichée ; le second x est le nombre total de pages du rapport.
- All - cliquez sur ce bouton pour dimensionner la page afin qu’elle tienne dans la zone d’aperçu disponible. Lorsque vous redimensionnez la boîte de dialogue (et donc la fenêtre d’aperçu), la page se redimensionne pour rester entièrement visible.
- Width - cliquez sur ce bouton pour dimensionner la page afin qu’elle tienne dans les limites horizontales de la fenêtre d’aperçu disponible. Lorsque vous redimensionnez la boîte de dialogue (et donc la fenêtre d’aperçu), la page se redimensionne pour rester entièrement visible sur toute sa largeur.
- 100% - cliquez sur ce bouton pour définir la page à sa taille réelle (100 %).
- % - utilisez ce champ pour effectuer un zoom avant ou arrière. La taille réelle est de 100 %. Entrez une valeur plus petite pour afficher le rapport à une échelle réduite. Entrez une valeur plus grande pour afficher le rapport à une échelle agrandie.
- Page Navigation Controls - cet ensemble de commandes offre un autre moyen de naviguer dans les pages du rapport. Les commandes vous permettent d’accéder respectivement à la première, à la précédente, à la suivante et à la dernière page du document. Vous pouvez également saisir directement le numéro de page dans la zone de texte et appuyer sur Enter.
-
Export - cliquez sur ce bouton pour accéder à la boîte de dialogue Export Report From Project dans laquelle vous pouvez enregistrer le rapport avec un emplacement, un nom et un format d’exportation spécifiques. Les formats suivants sont pris en charge :
- Feuille de calcul Microsoft Excel (*.xls)
- Adobe PDF (*.pdf)
- Format RTF (Rich Text Format) (*.rtf)
- Page Web (*.htm, *.html)
- Couche Web (CSS) (*.htm, *.html)
- Fichier image JPEG (*.jpg)
- Fichier bitmap Windows (*.bmp)
- Fichier image TIFF (*.tif)
- Print - cliquez sur ce bouton pour imprimer le rapport. La boîte de dialogue standard Print apparaîtra, dans laquelle vous pourrez spécifier la plage de pages et le nombre de copies.
- Open Report - cliquez sur ce bouton pour ouvrir un rapport généré dans l’application que vous avez spécifiée dans Export. Ce bouton n’est disponible qu’après avoir cliqué sur le bouton Export .
Commandes accessibles par clic droit
Certaines des commandes ci-dessus sont également disponibles dans le menu contextuel, accessible par un clic droit n’importe où dans la boîte de dialogue :
-
Print - utilisez ce bouton pour imprimer le rapport. La boîte de dialogue standard Print apparaîtra, dans laquelle vous pourrez spécifier la plage de pages et le nombre de copies.
-
Export - cliquez sur ce bouton pour accéder à la boîte de dialogue Export Report From Project dans laquelle vous pouvez enregistrer le rapport avec un emplacement, un nom et un format d’exportation spécifiques. Les formats suivants sont pris en charge :
-
Feuille de calcul Microsoft Excel (*.xls)
-
Adobe PDF (*.pdf)
-
Format RTF (Rich Text Format) (*.rtf)
-
Page Web (*.htm, *.html)
-
Couche Web (CSS) (*.htm, *.html)
-
Fichier image JPEG (*.jpg)
-
Fichier bitmap Windows (*.bmp)
-
Fichier image TIFF (*.tif)
-
-
Copy - utilisez ce bouton pour copier la page active dans le Presse-papiers Windows, d’où elle pourra être collée dans une application externe selon les besoins.
-
Page Width - cliquez sur ce bouton pour dimensionner la page afin qu’elle tienne dans les limites horizontales de la fenêtre d’aperçu disponible. Lorsque vous redimensionnez la boîte de dialogue (et donc la fenêtre d’aperçu), la page est redimensionnée pour rester entièrement visible sur toute sa largeur.
-
Whole Page - utilisez cette commande pour dimensionner la page afin qu’elle tienne dans la fenêtre d’aperçu disponible.
-
Zoom In - utilisez cette commande pour effectuer un zoom avant progressif sur le rapport.
-
Zoom Out - utilisez cette commande pour effectuer un zoom arrière progressif sur le rapport.
Définition des règles dans le schéma
Les contraintes de conception (règles) peuvent être définies avant le routage PCB en ajoutant des directives Parameter Set au(x) document(s) source du schéma avec la ou les règles configurées. La portée de la règle de conception PCB correspondante, créée lorsque la conception est transférée vers le document PCB, est déterminée par la nature de l’objet auquel le paramètre est affecté. Le tableau suivant résume les options de portée de règle PCB prises en charge pour les paramètres de schéma.
| Ajouter une règle à... | Depuis... | Pour une portée de règle PCB de... |
|---|---|---|
| Fil | le panneau Properties (lors de la consultation des propriétés de l’objet de jeu de paramètres sélectionné), après avoir placé un objet Parameter Set sur le fil à l’aide de la commande Place » Directives » Parameter Set. | Net |
| Bus | le panneau Properties (lors de la consultation des propriétés de l’objet de jeu de paramètres sélectionné), après avoir placé un objet Parameter Set sur le bus à l’aide de la commande Place » Directives » Parameter Set. | Classe de nets |
| Harness | le panneau Properties (lors de la consultation des propriétés de l’objet de jeu de paramètres sélectionné), après avoir placé un objet Parameter Set sur le harness à l’aide de la commande Place » Directives » Parameter Set. | Classe de nets |
| Blanket | le panneau Properties (lors de la consultation des propriétés de l’objet de jeu de paramètres sélectionné), après avoir placé un objet Parameter Set sur le bord du blanket à l’aide de la commande Place » Directives » Parameter Set. Incluez une classe avec le nom requis pour créer une classe de nets pour tous les nets couverts par le blanket, qui sera ensuite utilisée pour la portée de la règle. | Classe de nets |
Dans chaque cas, la méthode d’ajout d’un paramètre basé sur une règle est la même :
-
Ajouter un paramètre en tant que règle.
-
Sélectionner le type de règle à utiliser.
-
Configurer les contraintes pour le type de règle choisi.
Vérification de l’application des règles
Selon la conception de la carte, un nombre assez important de règles de conception peut devoir être défini avec des portées allant du très simple au très complexe. Il est judicieux de vérifier que les règles définies ciblent bien les objets prévus. Une attention portée à l’étape de définition des règles peut faire gagner du temps et éviter des efforts inutiles à rechercher des violations causées par une portée de règle incorrecte.
Il existe essentiellement deux méthodes pour vérifier les portées des règles : soit en sélectionnant des objets de conception et en examinant les règles qui leur sont actuellement appliquées, soit en prenant une règle (à différents endroits du logiciel) et en observant quels objets relèvent de sa portée.
Du point de vue d’un objet
Pour tout objet placé dans la conception en cours, vous pouvez rapidement accéder aux informations concernant les règles de conception unaires qui s’appliquent à cet objet. Placez le curseur sur l’objet, cliquez avec le bouton droit, puis sélectionnez Applicable Unary Rules. Toutes les règles de conception définies pouvant s’appliquer à l’objet sélectionné sont analysées et listées dans la boîte de dialogue Applicable Unary Rules.

Règles de conception applicables à un objet de conception d’exemple unique – règles unaires.
Chaque règle listée dans la boîte de dialogue comportera soit une coche , soit une croix à côté d’elle. Une coche indique la règle ayant la priorité la plus élevée parmi toutes les règles applicables du même type; c’est cette règle qui est actuellement appliquée. Les règles de priorité inférieure du même type sont listées avec une croix à côté d’elles, indiquant qu’elles sont applicables mais que, n’étant pas la règle de priorité la plus élevée, elles ne sont pas actuellement appliquées.
De façon similaire, vous pouvez également accéder aux informations concernant les règles de conception binaires qui s’appliquent entre deux objets placés dans une conception. Placez le curseur sur n’importe quel objet, cliquez avec le bouton droit, puis sélectionnez Applicable Binary Rules. Suivez les instructions pour sélectionner deux objets dans la conception. La boîte de dialogue Applicable Binary Rules s’ouvrira alors et affichera toutes les règles de conception binaires qui s’appliquent entre ces objets.

Règles de conception applicables entre deux objets de conception d’exemple – règles binaires.
Du point de vue d’une règle
Vérification via le panneau PCB Rules And Violations
Vous pouvez également voir rapidement à quels objets une règle particulière s’applique depuis le panneau PCB Rules And Violations. Le panneau liste toutes les règles actuellement définies pour la conception. Toutes les règles peuvent être affichées, ou vous pouvez naviguer spécifiquement par type de règle, à condition qu’au moins une règle d’un type donné ait été définie pour la conception active. Lorsque vous cliquez sur une règle spécifique dans la zone Rules du panneau, un filtrage sera appliqué en utilisant la règle comme portée du filtre. Seuls les objets de conception relevant de la portée de la règle seront filtrés. En utilisant la fonctionnalité de mise en évidence Mask (ou Dim), vous pouvez rapidement voir les objets résultants ciblés par la règle.

Exemple d’utilisation du panneau PCB Rules And Violations pour vérifier à quels objets une règle sélectionnée s’applique.
L’utilisation du panneau PCB Rules And Violations pour examiner à quels objets une règle s’applique est particulièrement utile lors de la création d’une requête pour la ou les portées d’une règle, car une règle peut être modifiée directement depuis le panneau et, par conséquent, la requête peut être « ajustée » jusqu’à ce que les objets souhaités soient inclus dans la ou les portées.
Pour modifier la ou les portée(s) d’une règle ainsi que ses contraintes, soit double-cliquez sur l’entrée de la règle dans le panneau , soit faites un clic droit et choisissez Properties dans le menu contextuel. La boîte de dialogue Edit PCB Rule correspondante s’affiche ; vous pouvez y effectuer les modifications.

Les règles peuvent être modifiées directement depuis le panneau PCB Rules And Violations, ce qui vous permet d’affiner davantage la portée des règles et/ou les contraintes à la volée.
Vérification via la boîte de dialogue PCB Rules and Constraints Editor
La boîte de dialogue PCB Rules and Constraints Editor inclut une fonctionnalité de test de requête, qui vous permet de voir rapidement à quels objets une règle donnée s’applique. Cliquez sur le bouton
en haut à droite de la boîte de dialogue de la règle que vous souhaitez tester. La boîte de dialogue Test Queries Result apparaît. La boîte de dialogue affiche les éléments suivants :
-
Expression result – le nombre d’objets relevant du champ de l’expression.
-
Objects applicable to rule – le nombre d’objets applicables en fonction de l’expression et du type de la règle actuelle.
-
Expression and rule priority (pour une règle unaire uniquement) – le nombre d’objets applicables en fonction de l’expression, du type, et de la priorité de la règle actuelle (c’est-à-dire que, lorsqu’il existe une règle de priorité supérieure, les objets relevant de cette règle ne sont pas pris en compte dans cette valeur).
-
Rules with highest priorities (pour une règle unaire uniquement) – s’il existe des règles de priorité supérieure, leur liste sera présentée dans la boîte de dialogue, avec le nombre d’objets qui leur sont applicables (c’est-à-dire leurs valeurs Expression and rule priority).
En cliquant sur un lien à droite, vous pouvez rapidement filtrer pour voir les objets applicables dans chaque cas directement dans l’espace de conception. Utilisez la liste déroulante Mask pour sélectionner Normal, Mask, ou Dim selon la façon dont vous souhaitez mettre en évidence les objets concernés dans le document PCB. Si Zoom est coché, le document PCB effectuera également un zoom sur les composants concernés.

Visualisez rapidement les objets capturés par l’expression de portée d’une règle à l’aide de la fonctionnalité Test Queries.
