Вы находитесь на странице: 1из 5

CAM Editor Reverse Engineering PCBs

Summary
Article
AR0121 (v1.3) March 26, 2008
This article looks at reverse-engineering a PCB layout directly from CAM files loaded
into Altium Designers CAM Editor (CAMtastic).


After importing CAM data into a CAM document, you will notice that the Export to PCB option is grayed-out, regardless of the
current CAM Editor mode (CAM or NC). This command allows you to reverse-engineer a PCB layout directly from CAM files.
This does not follow a regular export-import process, but rather loads data directly into Altium Designers PCB Editor.
The following sections detail steps to be taken to reverse engineer a PCB design from the CAM data from initial import into a
CAM document, through the required pre-export preparation and ultimately on to export of the design data to the PCB Editor.
Import Data
The starting point for the whole process is the loading of
ODB++, or Gerber and NC Drill files, into a new CAM
document. If you have an IPC netlist, you should import
this as well when importing Gerber and NC Drill data.
When importing ODB++, only import an IPC file if the
netlist is not in the ODB++directory. The IPC netlist will
allow you to update the extracted nets with their original
names, and differentiate between through-hole vias and
free (non-component) pads.
The File Import submenu commands all search for
files with certain extensions within a given folder. When
importing drill files, for instance, the specified directory
will filter out all files except those with . DR*, . ROU, . RTE,
. NC* and . TX* extensions. If you receive drill files with
different extensions than these, you may extend this list
on the CAM Editor Miscellaneous page of the
Preferences dialog (DXP Preferences). From here you
can alter any of the default extension lists associated
with Gerber, Aperture, HPGL and Netlist files as well.
The CAM Editor Import/Export page of the
Preferences dialog lets you change the default import
and export settings for Gerber files. For example, if you
regularly receive CAM data generated using P-CAD, you
might consider changing the coordinate precision format
from 2:3 (Altium Designer defaults) to 4:4 (P-CAD
defaults). If you dont you will still have the opportunity to
change these settings from their default state each time
you import a job.
AR0121 (v1.3) March 26, 2008 1
CAM Editor Reverse Engineering PCBs
Layer Type Assignments
Individual Gerber and Drill files are all assigned to individual layers. In
addition, the CAM Editor looks at their names upon import, and tries to
assign each one a layer type. It does this according to the information in
the Layer Types Detection Template dialog (Tables Layer Type
Detection). This is a fully-customizable dialog that contains fragments
of file names (extensions, keywords or both) that identify individual files
as layer types, such as signal, negative plane, border, drill, and
temporary layers (mechanical).
Altium Designers PCB Editor, for example, differentiates between
Gerber layers by their extensions, such as . gt l for the top layer and
. gbl for the bottom. Other design programs might export a . t op file for
a top layer, and a . sol file for the bottom (solder) layer. Some of these
programs, such as P-CAD, allow users to specify the Gerber output
names themselves.
After importing any group of CAM files, you should open the Layers
Table dialog and review the type assignments that have taken place
automatically.
y
entify them,
tice to check the layer type assignments after the loading process ends.
You may open the drop-down list for the type and modify any assignment.
For example, you will notice that all drill files are automatically set to type
Dr i l l Top. You might want to distinguish between top, bottom and
internal drill sets at this point. This is not required, however. Later on well
discuss pairing layers to accommodate boards containing blind and/or
buried vias.
If you customarily receive Gerber or drill files that are not automatically
assigned to a layer type correctly, you should look over the file name for an
distinguishing characteristics whereby the CAM Editor might id
and add them to the Layer Types Detection Template dialog.
ODB++does not need to use the Layer Types Detection Template dialog because all the information needed to identify each
layer is stored in the matrix file. However, it is good prac
Board Stackup and Drill Sets
Layers that have been assigned as signal types (top, bottom or internal) or planes will now appear in the Create/Update Layers
Order dialog (Tables Layers Order). In most cases, the CAM Editor will be able to determine the stackup from the provided
CAM data, but in some cases all that will be provided is the logical order (the
order in which the layers were imported). It is your responsibility to make
sure that the information in the Layer Physical Order column is correct,
number one being the top layer. Be careful not to assign the same order
number to different layers. Once you have specified a valid stackup, the
physical order column will take precedence over the logical list when this
dialog is reopened and you will see the layers listed in their proposed
stackup.
with
This same physical
order will be reflected in the Create/Update Layers Sets dialog (Tables
Layers Sets), where you match drill files to layer sets. Consider a 6-layer
board (four-signal, two-plane) with both blind and buried vias. The design
might contain four separate drill files:
one for the Top-Bottom pair (thru-holes)
one for the Top-InternalPlane1 pair
one for the MidLayer1-MidLayer2 pair
one for the Bottom-InternalPlane2 pair.
Remember that you are determining a drill set, not just outermost pairs. For blind/buried drill layers, all layers that are drilled
need to be in the layers set. For through hole drill layers, the start and end layers should suffice.
2 AR0121 (v1.3) March 26, 2008
CAM Editor Reverse Engineering PCBs
Netlist Extract
This step (Tools Netlist Extract) relies on the accuracy of the steps preceding it. You cant do it at all unless youve got a
layer type assignment for every layer in your board (you should set mechanical layers to Tempor ar y).
The CAM Editor will trace connectivity from one layer to another, consulting the NC drill files to make layer to layer connections.
For this reason, the layer stackup you defined in the Create/Update Layers Order dialog, and the drill pairs you selected in the
Create/Update Layers Sets dialog, are critical precursors to extracting an accurate netlist from the CAM data.
If you have included an IPC netlist file with your imported Gerber and NC Drill files, you may restore the original net names
(Tools Netlist Rename Nets) and differentiate between through-hole vias and free pads in your new PCB file. But much
more importantly, an IPC netlist gives you a reference with which the extracted netlist can be compared (Tools Netlist
Compare).
For IPC netlists generated from Altium Designers PCB Editor, you will notice that the CAM Editors compare function will usually
find a series of missing nets without names. This is because the PCB Editors IPC format includes single-pin nets the CAM
Editor, on the other hand, disregards pads without any copper connections as far as the netlist is concerned. In fact, its DRC
has an option to remove non-functional pads.
Borders and Planes
When the CAM Editor exports a PCB to Altium Designers PCB Editor, a board outline will automatically be generated. To do
this intelligently, it requires a closed polyline to be present upon a Border-type layer. If no closed polylines can be found on this
layer, or if multiple layers have been designated as borders in the Layers Table dialog, you will probably not get the board
shape you desire.
Any splits on your internal planes must also be defined by closed polylines. To determine whether a polyline is closed, query it
(Q key then click on the line). Check to see if the whole polyline becomes highlighted and if it is reported as a closed polyline on
the Info tab of the CAM panel. If not, then you can convert what you have into a closed polyline with the Join command (in the
Edit Objects submenu).
Split plane sections may require some additional work, since each split needs its own bubble enclosure, much like Protel PCB
designs prior to Altium Designer. So while island planes may be joined as described above, split planes that share their outlines
with other splits or with the border polyline must be redrawn. To draw your own closed polyline, right-click after selecting its final
vertex, and choose Close.
Nested planes (islands within split planes) are not currently supported.
Exporting Polygons
The CAMt Editor Import/Export page of the Preferences dialog provides additional options to handle how polygons in the
CAM document are exported to the PCB document. If the polygons are rectangular in shape, they can be created as fills on the
PCB document. For non-rectangular polygons, you can create polygon
pours on the PCB either Hatched or Solid. Access to options dialogs for
these two polygon pour types are provided, giving greater control over how
the exported polygons will be handled on the PCB side.
When enabling the option to Create Hatched Polygons, the CAM Editor
will use a single grid size and a single track width to fill all of the polygons in your file. Should your CAM data include very small
polygons, then you should make sure that the export options are calibrated down to that level.
The Polygon Options dialog (accessed by clicking the associated Hatched Polygon Options
button), allows you to modify the grid size, track width and minimum primitive length for your
polygons. If you want your polygons to be completely filled with high accuracy, then these values
should all be kept within a tight range around the smallest requirements on your board. Otherwise,
you might risk blank spaces within your polygons, hatching patters instead of complete fills, or even
entire polygons left out upon export.
These values, on the other hand, will apply to all exported polygons, so very small values will
increase the bulk and related management issues (such as redraw speed) pertaining to the exported file. Accordingly, you
should always use the largest values possible that will still yield the required accuracy for all of the polygons on your board.
When enabling the option to Create Solid Polygons, each polygon will be filled with one or more solid copper regions. The
number of copper regions used depends on the number of individual areas created inside the polygon by existing net objects,
such as tracks and pads.
AR0121 (v1.3) March 26, 2008 3
CAM Editor Reverse Engineering PCBs
The Solid Polygon Options dialog (accessed by clicking the associated Solid
Polygon Options button), allows you to determine how copper islands and
narrow copper nets are handled, and also pour behavior when poured over net
objects belonging to the same net as the copper pour:
Pour Over All Same Net Objects - choose this option if you want a polygon
pour to automatically connect to all objects on the same net as the pour
Pour Over Same Net Polygons Only - choose this option (default) if you want
the polygon pour to automatically connect to only polygon pour objects inside
its boundary, and which are associated to the same net
Don't Pour Over Same Net Objects - choose this option if you specifically do not wish the polygon pour to connect to any
other net objects - either belonging to the same or different parent net as itself.
If either of the first two options are chosen and the polygon pour is assigned to No Net , it will pour around all objects regardless
of their net assignments.
Export to PCB
After a netlist has been extracted from your CAM data, the File Export Export to PCB command becomes enabled,
provided you have a license for your Altium Designer software that enables access to, and use of, the PCB Editor. Executing
this command after all necessary steps have been taken will create a PCB document containing a board design that appears
very much like the original.
To truly rebuild a board will still take some additional effort, such as replacing component primitives with footprints (you might do
this by copying and pasting groups of primitives into a PCB library, then replace the originals with the new footprints). Altium
Designers PCB Editor will not create drill-pairs automatically from the Layer Sets information in the CAM document; you will
have to redefine them manually in the Layer Stack Manager dialog.
4 AR0121 (v1.3) March 26, 2008
CAM Editor Reverse Engineering PCBs
Revision History

Date Version No. Revision
18-Dec-2003 1.0 New product release
01-J ul-2005 1.1 Updated for Altium Designer SP4
4-Mar-2008 1.2 Converted to A4
26-Mar-2008 1.3 Filename changed.
Software, hardware, documentation and related materials:
Copyright 2008 Altium Limited.
All rights reserved. You are permitted to print this document provided that (1) the use of such is for personal use only and will not be copied or
posted on any network computer or broadcast in any media, and (2) no modifications of the document is made. Unauthorized duplication, in
whole or part, of this document by any means, mechanical or electronic, including translation into another language, except for brief excerpts in
published reviews, is prohibited without the express written permission of Altium Limited. Unauthorized duplication of this work may also be
prohibited by local statute. Violators may be subject to both criminal and civil penalties, including fines and/or imprisonment. Altium, Altium
Designer, CAMtastic, Design Explorer, DXP, LiveDesign, NanoBoard, NanoTalk, CircuitStudio, Nexar, nVisage, P-CAD, Protel, Situs,
TASKING, and Topological Autorouting and their respective logos are trademarks or registered trademarks of Altium Limited or its subsidiaries.
All other registered or unregistered trademarks referenced herein are the property of their respective owners and no trademark rights to the
same are claimed.
AR0121 (v1.3) March 26, 2008 5

Вам также может понравиться