Prise en charge de la rétro-ingénierie des PCB
En un coup d'œil
- Apprenez à importer des données ODB++, Gerber et NC Drill, puis à vérifier les types de couches, leur ordre physique et les jeux de perçages.
- Découvrez comment extraire la connectivité et utiliser une netlist IPC-D-356 pour rétablir les noms des nets et comparer les netlists.
- Découvrez les exigences relatives aux contours de carte fermés et aux plans divisés, ainsi que les options d’exportation des polygones.
Après avoir importé des données FAO dans un document FAO, vous remarquerez que l’option Export to PCB est grisée, quel que soit le mode actuel de l’éditeur FAO (CAM ou NC). Cette commande vous permet de reconstituer par rétro-ingénierie le routage d’un circuit imprimé directement à partir de fichiers FAO. Elle ne suit pas un processus classique d’exportation/importation, mais charge les données directement dans l’éditeur PCB.
Les sections suivantes détaillent les étapes nécessaires pour reconstituer une conception de circuit imprimé à partir des données FAO, depuis l’importation initiale dans un document FAO jusqu’à l’exportation des données de conception vers l’éditeur PCB, en passant par les préparatifs requis avant l’exportation.
Importer les données
La boîte de dialogue Preferences
Le processus commence par le chargement de fichiers ODB++, ou de fichiers Gerber et de perçage CN, dans un nouveau document FAO. Si vous disposez d’une netlist IPC, importez-la également lors de l’importation des données Gerber et de perçage CN. Lors de l’importation de données ODB++, n’importez un fichier IPC que si la netlist ne figure pas dans le répertoire ODB++. La netlist IPC vous permettra de redonner aux nets extraits leurs noms d’origine et de distinguer les vias traversants des pastilles libres non associées à des composants.
Les commandes du sous-menu File » Import recherchent toutes des fichiers portant certaines extensions dans un dossier donné. Lors de l’importation de fichiers de perçage, par exemple, les fichiers du répertoire spécifié seront filtrés pour ne conserver que ceux portant les extensions .DR*, .ROU, .RTE, *.NC* et *.TX* . Si vous recevez des fichiers de perçage portant d’autres extensions, vous pouvez compléter cette liste sur la page CAM Editor - Miscellaneous de la boîte de dialogue Preferences. Vous pouvez également y modifier les listes d’extensions par défaut associées aux fichiers Gerber, d’ouvertures, HPGL et de netlist.
La boîte de dialogue Preferences
La page CAM Editor - Import/Export de la boîte de dialogue Preferences vous permet de modifier les paramètres d’importation et d’exportation par défaut des fichiers Gerber. Par exemple, si vous recevez régulièrement des données FAO générées avec P-CAD, vous pouvez envisager de remplacer le format de précision des coordonnées 2:3 (valeur par défaut d’Altium Designer) par 4:4 (valeur par défaut de P-CAD). Sinon, vous pourrez toujours modifier ces paramètres par défaut à chaque importation d’un projet.
Attribution des types de couches
La boîte de dialogue Layer Table Detection Template
Chaque fichier Gerber et de perçage est affecté à une couche distincte. En outre, l’éditeur FAO examine leurs noms lors de l’importation et tente d’attribuer un type à chaque couche. Pour cela, il s’appuie sur les informations de la boîte de dialogue Layer Types Detection Template, accessible en sélectionnant Tables » Layer Type Detection dans le menu principal. Cette boîte de dialogue entièrement personnalisable contient des fragments de noms de fichiers (extensions, mots-clés ou les deux) permettant d’identifier les fichiers correspondant aux différents types de couches : signal, plan négatif, contour, perçage et couches temporaires (mécaniques).
L’éditeur PCB d’Altium Designer, par exemple, distingue les couches Gerber par leurs extensions, telles que .gtl pour la couche supérieure et .gbl pour la couche inférieure. D’autres outils de conception peuvent exporter un fichier .top pour la couche supérieure et un fichier .sol pour la couche inférieure (côté soudure). Certains de ces outils, comme P-CAD, permettent aux utilisateurs de définir eux-mêmes les noms des fichiers Gerber de sortie.
Après avoir importé un groupe de fichiers FAO, vous pouvez ouvrir la boîte de dialogue Layers Table et vérifier les types attribués automatiquement. Vous pouvez ouvrir la liste déroulante des types et modifier chaque attribution. Par exemple, vous remarquerez que tous les fichiers de perçage sont automatiquement définis sur le type Drill Top. À ce stade, vous pouvez choisir de distinguer les jeux de perçage supérieurs, inférieurs et internes. Ce n’est toutefois pas obligatoire.
La boîte de dialogue Layer Table
Si vous recevez régulièrement des fichiers Gerber ou de perçage auxquels le type de couche correct n’est pas attribué automatiquement, examinez leurs noms pour repérer les caractéristiques distinctives qui permettraient à CAM Editor de les identifier, puis ajoutez-les à la boîte de dialogue Layer Types Detection Template. Les données ODB++ ne nécessitent pas l’utilisation de la boîte de dialogue Layer Types Detection Template, car toutes les informations nécessaires pour identifier chaque couche sont stockées dans le fichier de matrice. Il est toutefois recommandé de vérifier les types de couches attribués une fois le chargement terminé.
Empilage des couches et jeux de perçage
La boîte de dialogue Create/Update Layers Order
Les couches auxquelles un type signal (supérieur, inférieur ou interne) ou plan a été attribué apparaissent désormais dans la boîte de dialogue Create/Update Layers Order, accessible en sélectionnant Tables » Layers Order dans le menu principal. Dans la plupart des cas, CAM Editor pourra déterminer l’empilage à partir des données FAO fournies, mais il arrive que seul l’ordre logique soit disponible (l’ordre dans lequel les couches ont été importées). Il est préférable de vérifier que les informations de la colonne Layer Physical Order sont correctes, le numéro un correspondant à la couche supérieure. Veillez à ne pas attribuer le même numéro d’ordre à plusieurs couches. Une fois un empilage valide défini, la colonne de l’ordre physique prévaudra sur la liste logique à la prochaine ouverture de cette boîte de dialogue, et les couches s’afficheront selon l’empilage proposé.
Ce même ordre physique sera repris dans la boîte de dialogue Create/Update Layers Sets, accessible en sélectionnant Tables » Layers Sets dans le menu principal, où vous associez les fichiers de perçage aux ensembles de couches. Prenons l’exemple d’une carte à 6 couches (quatre couches de signal et deux plans) comportant des vias borgnes et enterrés. La conception peut contenir quatre fichiers de perçage distincts :
- un pour la paire Top-Bottom (trous traversants)
- un pour la paire Top-InternalPlane1
- un pour la paire MidLayer1-MidLayer2
- un pour la paire Bottom-InternalPlane2.
Extraction de la netlist
Cette étape, accessible en sélectionnant Tools » Netlist » Extract dans le menu principal, dépend de l’exactitude des étapes précédentes. Vous ne pouvez pas l’effectuer tant qu’un type n’a pas été attribué à chaque couche de votre carte (les couches mécaniques doivent être définies sur Temporary). Après le lancement de la commande, les informations de netlist sont extraites et une liste de nets apparaît dans l’onglet Nets du panneau CAMtastic . Chaque net est répertorié avec sa longueur totale. Un clic sur une entrée de net dans le panneau sélectionne ce net et effectue un zoom dessus dans l’espace de conception.
L’éditeur FAO suit la connectivité d’une couche à l’autre en consultant les fichiers de perçage CN pour établir les connexions entre les couches. C’est pourquoi l’empilage des couches défini dans la boîte de dialogue Create/Update Layers Order et les paires de perçage sélectionnées dans la boîte de dialogue Create/Update Layers Sets sont des prérequis essentiels pour extraire une netlist exacte à partir des données FAO.
Si vous avez inclus un fichier de netlist IPC-D-356 avec vos fichiers Gerber et de perçage CN importés, vous pouvez restaurer les noms de nets d’origine (et significatifs) en sélectionnant Tools » Netlist » Rename Nets dans le menu principal. Après le lancement de la commande, les nets sont comparés et ceux extraits du document actif sont renommés à l’aide des noms de nets du fichier de netlist IPC. Les noms mis à jour apparaissent dans l’onglet Nets du panneau CAMtastic .
Bien que les informations de netlist IPC-D-356 ne soient pas indispensables à l’exportation, leur présence est souhaitable. Elles aident l’éditeur CAMtastic à distinguer les pastilles des vias et permettent ainsi de créer correctement des vias, plutôt que des pastilles, pour tous les vias borgnes ou enterrés de la conception. Mais surtout, une netlist IPC fournit une référence à laquelle comparer la netlist extraite en sélectionnant Tools » Netlist » Compare dans le menu principal. Après le lancement de la commande, la comparaison est effectuée et un rapport, Netlist-Compare.rpt, est généré et ouvert comme document actif dans la fenêtre principale de conception. Ce rapport répertorie tous les nets présents dans la netlist importée, mais absents de la netlist extraite.
Si la netlist IPC a été correctement importée, deux couches sont ajoutées à la liste des couches dans le panneau CAMtastic : <fabrication_testpoint_report_for_DesignName>.ipc_t et <fabrication_testpoint_report_for_DesignName>.ipc_b, correspondant aux informations de netlist des couches de signal supérieure et inférieure. (Une troisième couche, <fabrication_testpoint_report_for_DesignName>.ipc_in, apparaît si votre conception de PCB comporte des couches de signal internes. Sauf si vous avez des vias borgnes et/ou enterrés impliquant ces couches, cette troisième couche est vide et peut être conservée ou supprimée de la liste des couches).
Pour les netlists IPC générées depuis l’éditeur PCB, vous remarquerez que la fonction de comparaison de l’éditeur CAM détecte généralement une série de « nets manquants » sans nom. Cela s’explique par le fait que le format IPC de l’éditeur PCB inclut les nets à une seule broche. L’éditeur CAM, en revanche, ignore les pastilles dépourvues de connexion en cuivre lors du traitement de la netlist. Son contrôle des règles de conception (DRC) propose d’ailleurs une option permettant de supprimer les pastilles non fonctionnelles.
Contours et plans
Lorsque CAM Editor exporte un fichier PCB vers l’éditeur PCB, un contour de carte est automatiquement généré. Pour effectuer cette opération correctement, une polyligne fermée doit être présente sur une couche de type Border. Si aucune polyligne fermée n’est trouvée sur cette couche, ou si plusieurs couches ont été désignées comme contours dans la boîte de dialogue Layers Table, vous n’obtiendrez probablement pas la forme de carte souhaitée.
Toutes les divisions de vos plans internes doivent également être définies par des polylignes fermées. Pour déterminer si une polyligne est fermée, consultez ses propriétés (raccourci Q). Vous pouvez vérifier si la polyligne entière est mise en surbrillance et si elle est indiquée comme fermée dans l’onglet Info du panneau CAM. Si ce n’est pas le cas, vous pouvez convertir les éléments existants en polyligne fermée à l’aide de la commande Join du sous-menu Edit » Objects.
Les sections de plans divisés peuvent nécessiter un travail supplémentaire, car chaque section doit disposer de son propre contour fermé. Si les plans en îlots peuvent être joints comme décrit ci-dessus, les plans divisés dont le contour est partagé avec d’autres sections ou avec la polyligne de contour de la carte doivent être redessinés. Pour tracer votre propre polyligne fermée, faites un clic droit après avoir sélectionné son dernier sommet, puis choisissez Close.
Les plans imbriqués (îlots à l’intérieur de plans divisés) ne sont actuellement pas pris en charge.
Exportation des polygones
La page CAM Editor - Import/Export de la boîte de dialogue Preferences propose des options supplémentaires pour gérer l’exportation des polygones du document CAM vers le document PCB. Si les polygones sont rectangulaires, ils peuvent être créés sous forme de remplissages dans le document PCB. Pour les polygones non rectangulaires, vous pouvez créer des remplissages de polygones hachurés ou pleins dans l’éditeur PCB. Des boîtes de dialogue d’options sont accessibles pour ces deux types de remplissage, ce qui permet de mieux contrôler le traitement des polygones exportés côté PCB.
Lorsque vous activez l’option Create Hatched Polygons, CAM Editor utilise une taille de grille unique et une largeur de piste unique pour remplir tous les polygones de votre fichier. Si vos données CAM contiennent de très petits polygones, veillez à régler les options d’exportation à une échelle suffisamment fine.
La boîte de dialogue Polygon Options, accessible en cliquant sur le bouton Hatched Polygon Options associé, permet de modifier la taille de la grille, la largeur des pistes et la longueur minimale des primitives de vos polygones. Si vous souhaitez que vos polygones soient entièrement remplis avec une grande précision, toutes ces valeurs doivent rester dans une plage étroite, adaptée aux exigences les plus fines de votre carte. Sinon, vous risquez d’obtenir des espaces vides dans vos polygones, des motifs hachurés au lieu de remplissages complets, voire des polygones entièrement omis lors de l’exportation.
La boîte de dialogue Polygon Options
Ces valeurs s’appliquent toutefois à tous les polygones exportés. Des valeurs très faibles augmentent donc le volume du fichier exporté et les difficultés de gestion associées, notamment en matière de vitesse de rafraîchissement de l’affichage. Il est donc préférable d’utiliser les valeurs les plus élevées possible qui permettent encore d’obtenir la précision requise pour tous les polygones de votre carte.
Lorsque vous activez l’option Create Solid Polygons, chaque polygone est rempli avec une ou plusieurs régions de cuivre pleines. Le nombre de régions de cuivre utilisées dépend du nombre de zones distinctes créées à l’intérieur du polygone par les objets de net existants, tels que les pistes et les pastilles.
La boîte de dialogue Solid Polygon Options
La boîte de dialogue Solid Polygon Options, accessible en cliquant sur le bouton Solid Polygon Options associé, permet de définir le traitement des îlots de cuivre et des liaisons de cuivre étroites, ainsi que le comportement du remplissage au-dessus des objets appartenant au même net que le polygone :
-
Pour Over All Same Net Objects - choisissez cette option si vous souhaitez qu’un remplissage de polygone se connecte automatiquement à tous les objets appartenant au même net que lui
-
Pour Over Same Net Polygons Only - choisissez cette option (par défaut) si vous souhaitez que le remplissage de polygone se connecte automatiquement uniquement aux objets de remplissage de polygone situés à l’intérieur de son contour et associés au même net
-
Don't Pour Over Same Net Objects - choisissez cette option si vous ne souhaitez pas que le remplissage de polygone se connecte à d’autres objets de net. Si l’une des deux premières options est choisie et que le remplissage de polygone est affecté à No Net, il contourne tous les objets, quelle que soit leur affectation de net.
Exporter vers un PCB
Une fois qu’une netlist a été extraite de vos données CAM, la commande File » Export » Export to PCB devient disponible. L’exécution de cette commande, après avoir effectué toutes les étapes nécessaires, crée un document PCB contenant une conception de carte très proche de l’original.
Après le lancement de la commande, un nouveau document PCB est généré (<CAMDocumentName>.PcbDoc) et ouvert en tant que document actif dans l’espace de conception. Le transfert des informations entre le document CAM et le document PCB se déroule dans l’ordre suivant :
-
Le document PCB est créé avec un contour de carte basé sur les dimensions actuelles de la carte dans le document CAM.
-
Des objets de net sont créés dans le document PCB à partir des informations de net extraites du document CAM.
-
L’empilage des couches est généré à partir de l’ordre physique des couches défini dans le document CAM (boîte de dialogue Create/Update Layers Order, accessible via Tables » Layers Order).
-
Des nets sont affectés aux plans internes.
-
Des nets sont affectés aux plans divisés existants. Ceux-ci peuvent être
-
Les règles de conception d’isolement, de largeur et de style de connexion aux plans d’alimentation sont créées. Des connexions par freins thermiques sont créées pour chaque net de plan.
-
Les empilages de pastilles sont construits à partir des données CAM (en utilisant les pastilles des couches de signal et de plan dans leur ordre physique, puis le perçage, le masque de soudure, le masque de pâte à braser, etc.). Les empilages de pastilles sont chargés dans le PCB et le style requis est défini (empilage simple ou complet).
-
Les pistes du PCB sont créées.
-
Une vérification des règles de conception (DRC) est effectuée sur l’ensemble de la carte.
).