Support for Reverse Engineering of PCBs
Après avoir importé des données CAM dans un document CAM, vous remarquerez que l’option Export to PCB est grisée, quel que soit le mode actuel de l’éditeur CAM (CAM ou NC). Cette commande vous permet de rétroconcevoir une implantation de PCB directement à partir de fichiers CAM. Il ne s’agit pas d’un processus classique d’export/import, mais d’un chargement direct des données dans l’éditeur PCB.
Les sections suivantes détaillent les étapes à suivre pour rétroconcevoir un design de PCB à partir des données CAM, depuis l’importation initiale dans un document CAM, en passant par la préparation requise avant export, jusqu’à l’exportation finale des données de conception vers l’éditeur PCB.
Importation des données
La boîte de dialogue Preferences
Le point de départ de l’ensemble du processus consiste à charger des fichiers ODB++, ou des fichiers Gerber et NC Drill, dans un nouveau document CAM. Si vous disposez d’une netlist IPC, vous devez également l’importer lors de l’importation des données Gerber et NC Drill. Lors de l’importation d’ODB++, n’importez un fichier IPC que si la netlist ne se trouve pas dans le répertoire ODB++. La netlist IPC vous permettra de mettre à jour les nets extraits avec leurs noms d’origine et de différencier les vias traversants des pastilles libres hors composant.
Les commandes du sous-menu File » Import recherchent toutes des fichiers avec certaines extensions dans un dossier donné. Lors de l’importation de fichiers de perçage, par exemple, le répertoire spécifié filtrera tous les fichiers sauf ceux ayant les extensions .DR*, .ROU, .RTE, *.NC*, et *.TX* . Si vous recevez des fichiers de perçage avec des extensions différentes de celles-ci, vous pouvez étendre cette liste dans la page CAM Editor - Miscellaneous de la boîte de dialogue Preferences. À partir de là, vous pouvez également modifier toutes les listes d’extensions par défaut associées aux fichiers Gerber, Aperture, HPGL et 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 CAM générées avec P-CAD, vous pouvez envisager de modifier le format de précision des coordonnées de 2:3 (valeur par défaut d’Altium Designer) à 4:4 (valeur par défaut de P-CAD). Si vous ne le faites pas, vous aurez tout de même la possibilité de modifier ces paramètres par défaut à chaque importation d’un travail.
Affectations des types de couche
La boîte de dialogue Layer Table Detection Template
Les fichiers Gerber et Drill individuels sont tous affectés à des couches individuelles. En outre, l’éditeur CAM examine leurs noms lors de l’importation et tente d’attribuer à chacun un type de couche. Il le fait selon les informations de la boîte de dialogue Layer Types Detection Template, accessible en sélectionnant Tables » Layer Type Detection dans le menu principal. Il s’agit d’une boîte de dialogue entièrement personnalisable qui contient des fragments de noms de fichiers (extensions, mots-clés ou les deux) identifiant les fichiers individuels comme types de couche, tels que signal, plan négatif, contour, perçage et couches temporaires (mécaniques).
L’éditeur PCB d’Altium Designer, par exemple, différencie 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 (soudure). Certains de ces outils, comme P-CAD, permettent aux utilisateurs de spécifier eux-mêmes les noms de sortie Gerber.
Après avoir importé n’importe quel groupe de fichiers CAM, vous pouvez ouvrir la boîte de dialogue Layers Table et examiner les affectations de type effectuées automatiquement. Vous pouvez ouvrir la liste déroulante du type et modifier n’importe quelle affectation. Par exemple, vous remarquerez que tous les fichiers de perçage sont automatiquement définis sur le type Drill Top. Vous pouvez vouloir distinguer à ce stade les ensembles de perçage supérieurs, inférieurs et internes. Cela n’est toutefois pas obligatoire.
La boîte de dialogue Layer Table
Si vous recevez habituellement des fichiers Gerber ou de perçage qui ne sont pas automatiquement affectés correctement à un type de couche, vous devez examiner le nom du fichier pour y repérer toute caractéristique distinctive permettant à CAM Editor de les identifier, puis les ajouter à la boîte de dialogue Layer Types Detection Template. ODB++ n’a pas besoin d’utiliser la boîte de dialogue Layer Types Detection Template, car toutes les informations nécessaires à l’identification de chaque couche sont stockées dans le fichier matrix. Cependant, il est recommandé de vérifier les affectations de type de couche une fois le chargement terminé.
Empilage de carte et ensembles de perçage
La boîte de dialogue Create/Update Layers Order
Les couches affectées comme types signal (supérieure, inférieure ou interne) ou plans apparaîtront maintenant 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 CAM fournies, mais dans certains cas, seul l’ordre logique sera disponible (l’ordre dans lequel les couches ont été importées). Il est préférable de s’assurer 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 à différentes couches. Une fois un empilage valide spécifié, la colonne d’ordre physique prendra le pas sur la liste logique lors de la réouverture de cette boîte de dialogue, et vous verrez les couches listées selon l’empilage proposé.
Ce même ordre physique sera reflété 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 à des ensembles de couches. Prenons l’exemple d’une carte à 6 couches (quatre couches signal, deux plans) avec des vias borgnes et enterrés. Le design 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 netlist
Cette étape, accessible en sélectionnant Tools » Netlist » Extract dans le menu principal, dépend de la précision des étapes qui la précèdent. Vous ne pouvez pas l’exécuter du tout à moins d’avoir une affectation de type de couche pour chaque couche de votre carte (vous devez définir les couches mécaniques sur Temporary). Après le lancement de la commande, les informations de netlist seront extraites et une liste de nets apparaîtra dans l’onglet Nets du panneau CAMtastic . Chaque net est listé en fonction de sa longueur totale. Un clic sur une entrée de net dans le panneau entraînera la sélection du net et un zoom dans l’espace de conception.
L’éditeur CAM suivra la connectivité d’une couche à l’autre, en consultant les fichiers NC drill pour établir les connexions entre couches. Pour cette raison, l’empilage de 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 précise à partir des données CAM.
Si vous avez inclus un fichier de netlist IPC-D-356 avec vos fichiers Gerber et NC Drill 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 seront comparés et ceux extraits du document courant seront renommés à l’aide des noms de nets du fichier de netlist IPC. Les noms mis à jour apparaîtront dans l’onglet Nets du panneau CAMtastic .
Bien que les informations de netlist IPC-D-356 ne soient pas indispensables à l’exportation, elles sont souhaitables. Leur présence aidera l’éditeur CAMtastic à séparer les pastilles des vias et conduira ainsi à la création correcte de vias au lieu de pastilles pour tous les vias borgnes ou enterrés du design. Mais plus important encore, une netlist IPC vous fournit une référence avec laquelle la netlist extraite peut être comparée en sélectionnant Tools » Netlist » Compare dans le menu principal. Après le lancement de la commande, la comparaison sera effectuée et un rapport, Netlist-Compare.rpt, sera généré et ouvert comme document actif dans la fenêtre principale de conception. Le rapport répertorie chacun des nets trouvés dans la netlist importée mais absents de la netlist extraite.
Si la netlist IPC a été importée correctement, vous verrez deux couches 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, reflétant les informations de netlist pour les couches signal supérieure et inférieure. (Une troisième couche, <fabrication_testpoint_report_for_DesignName>.ipc_in, apparaîtra si votre design de PCB comporte des couches signal internes. À moins que vous n’ayez des vias borgnes et/ou enterrés impliquant ces couches, cette troisième couche sera vide et pourra être conservée ou supprimée de la liste des couches).
Pour les netlists IPC générées à partir de l’éditeur PCB, vous remarquerez que la fonction de comparaison de l’éditeur CAM trouve 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 des nets à une seule broche. L’éditeur CAM, en revanche, ignore les pastilles sans connexion cuivre en ce qui concerne la netlist. En fait, son DRC comporte une option permettant de supprimer les pastilles non fonctionnelles.
Contours et plans
Lorsque le CAM Editor exporte un fichier PCB vers le PCB Editor, un contour de carte est généré automatiquement. Pour que cela se fasse 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 bordures 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, interrogez-la (Q raccourci). Vous pouvez vérifier si la polyligne entière est mise en surbrillance et si elle est signalée comme polyligne fermée dans l’onglet Info du panneau CAM. Si ce n’est pas le cas, vous pouvez convertir ce que vous avez en polyligne fermée avec la commande Join dans le sous-menu Edit » Objects.
Les sections de plans divisés peuvent nécessiter un travail supplémentaire, car chaque division a besoin de sa propre enceinte en « bulle ». Bien que les plans en îlot puissent être joints comme décrit ci-dessus, les plans divisés qui partagent leurs contours avec d’autres divisions ou avec la polyligne de bordure doivent être redessinés. Pour dessiner votre propre polyligne fermée, cliquez avec le bouton 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 fournit des options supplémentaires pour gérer la manière dont les polygones du document CAM sont exportés vers le document PCB. Si les polygones sont de forme rectangulaire, ils peuvent être créés comme remplissages dans le document PCB. Pour les polygones non rectangulaires, vous pouvez créer des remplissages polygonaux hachurés ou pleins dans le PCB Editor. L’accès aux boîtes de dialogue d’options pour ces deux types de remplissage polygonal est fourni, offrant un meilleur contrôle sur la manière dont les polygones exportés seront traités côté PCB.
Lorsque vous activez l’option Create Hatched Polygons, le CAM Editor utilisera une seule taille de grille et une seule largeur de piste pour remplir tous les polygones de votre fichier. Si vos données CAM incluent de très petits polygones, vous devez vous assurer que les options d’exportation sont calibrées à ce niveau.
La boîte de dialogue Polygon Options, accessible en cliquant sur le bouton Hatched Polygon Options associé, vous permet de modifier la taille de grille, la largeur de piste et la longueur minimale des primitives pour vos polygones. Si vous souhaitez que vos polygones soient complètement remplis avec une grande précision, ces valeurs doivent toutes rester dans une plage serrée autour des plus petites exigences de votre carte. Sinon, vous risquez d’avoir des espaces vides dans vos polygones, des motifs hachurés au lieu de remplissages complets, voire des polygones entiers omis lors de l’exportation.
La boîte de dialogue Polygon Options
Ces valeurs, en revanche, s’appliqueront à tous les polygones exportés ; des valeurs très faibles augmenteront donc la taille du fichier exporté ainsi que les problèmes de gestion associés (comme la vitesse de redessin) qui s’y rapportent. Pour cette raison, il est préférable d’utiliser les valeurs les plus élevées possibles tout en conservant la précision requise pour tous les polygones de votre carte.
Lorsque vous activez l’option Create Solid Polygons, chaque polygone sera 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 individuelles 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é, vous permet de déterminer comment les îlots de cuivre et les nets de cuivre étroits sont traités, ainsi que le comportement du remplissage lorsqu’il est coulé sur des objets de net appartenant au même net que le remplissage cuivre :
-
Pour Over All Same Net Objects - choisissez cette option si vous souhaitez qu’un remplissage polygonal se connecte automatiquement à tous les objets du même net que le remplissage
-
Pour Over Same Net Polygons Only - choisissez cette option (par défaut) si vous souhaitez que le remplissage polygonal se connecte automatiquement uniquement aux objets de remplissage polygonal à l’intérieur de sa limite, associés au même net
-
Don't Pour Over Same Net Objects - choisissez cette option si vous ne souhaitez spécifiquement pas que le remplissage polygonal se connecte à d’autres objets de net. Si l’une des deux premières options est choisie et que le remplissage polygonal est affecté à No Net, il se coulera autour de tous les objets, quelles que soient leurs affectations de net.
Exporter vers PCB
Après 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, une fois toutes les étapes nécessaires effectuées, créera un document PCB contenant une conception de carte très proche de l’originale.
Après le lancement de la commande, un nouveau document PCB sera généré (<CAMDocumentName>.PcbDoc) et ouvert comme document actif dans l’espace de conception. La séquence réelle des événements lors du transfert d’informations entre le document CAM et le document PCB est la suivante :
-
Le document PCB est créé avec un contour de carte basé sur la taille actuelle de la carte dans le document CAM.
-
Les objets de net sont créés dans le document PCB, à l’aide des informations de net extraites du document CAM.
-
L’empilage des couches est généré sur la base de l’ordre des couches physiques défini dans le document CAM (boîte de dialogue Create/Update Layers Order, accessible via Tables » Layers Order).
-
Les nets sont affectés à tous les plans internes.
-
Les nets sont affectés à tous les plans divisés existants. Ceux-ci peuvent être
-
Les règles de conception Clearance, Width et Power Plane Connect Style sont créées. Des connexions en relief sont créées pour chaque net de plan.
-
Les padstacks sont construits à partir des données CAM (en utilisant les pastilles sur les couches signal/plan dans l’ordre physique, suivies du perçage, du masque, de la pâte, etc.). Les padstacks sont chargés dans le PCB et le style requis est défini (padstack simple ou complet).
-
Les pistes PCB sont créées.
-
Une vérification DRC est effectuée sur l’ensemble de la carte.
).