Controlled Depth Drilling (Back Drilling) in Altium Designer
Controlled Depth Drilling (CDD), also known as back drilling, is a technique used to remove the unused portion, or stub, of copper barrel from a thru-hole in a printed circuit board. When a high-speed signal travels between PCB layers through a copper barrel, it can be distorted. If the signal layer usage results in a stub being present, and the stub is long, then that distortion can become significant.
These stubs can be removed by re-drilling those holes after the fabrication is complete, with a slightly larger drill. The holes are back drilled to a controlled depth, close to, but not touching, the last layer used by the via. Allowing for fabrication and material variations, a good fabricator can back drill holes to leave a 7mil stub, ideally the remaining stub will be less than 10mil.
Most commonly used for vias, and also for press-fit backplane connectors, back drilling provides a cost-effective solution to help manage the signal quality for high-speed signal paths. It offers lower cost than the sequential lamination technique used for blind and buried vias.
Back drilling is achieved by:
- Defining a Maximum Via Stub Length (Back drilling) design rule which defines the nets of interest, and also the maximum allowable stub length. Note that this stub length is not a drill setting, it is the value the software uses to check for remaining stubs during a batch DRC.
- The depth that the hole is back drilled to is defined by configuring a drill pair, that specifies the start and stop layers for back drills from that side of the board.
- The diameter of the drill used for back drilling is defined by
Via/Pad hole size + 2 x Oversize
setting in the applicable Maximum Via Stub Length (Back drilling) design rule.
Targeting the Holes to be Back Drilled
You instruct the software that there are holes to be back drilled by adding a Maximum Via Stub Length (Back drilling) design rule. The scope of the design rule defines which vias or pads are to be drilled. Typically you only back drill selective nets, such as the high-speed nets, in which case the scope could be something like InNet('Clock')
, or InNetClass('HighSpeedNets')
.
For example, if the scope is InNetClass('IO')
, then all vias and pads in those nets can potentially be back drilled. The holes that are actually back drilled will depend on which layers those signals are routed on, and which back drill pairs have been defined - if a hole has no connections on the layers within the back drill layer range, then that hole will be back drilled.
To further limit the back drilling operation, tighten the rule scope. For example, if you only want to back drill the vias and not the thru-hole pads, then you could change the rule scope to InNetClass('IO') and IsVia
.
Defining the Back Drill Properties
When you back drill a thru-hole barrel, an oversized drill bit is used to remove the unwanted copper.
All layer-to-layer drill actions are defined by adding a start layer-stop layer drill definition in the Drill-Pair Manager.
For a layer pair that you want back drilled, you also enable the Back drill pair checkbox in the Drill-Pair Properties dialog for that layer pair. This instructs the software that holes between the specified layers are candidates to be drilled a second time, oversized by the amount specified in the applicable Maximum Via Stub Length (Back drilling) design rule.
Drill Depth
The back drilling depth is a calculated value, not a number you enter into a dialog. You define the start and stop layers, the software calculates the drill depth required to back drill through all layers between the start and stop layers, including the start layer thickness, but not the stop layer thickness (back drilling stops at that layer). The start-stop layers are defined by adding a drill definition in the Drill-Pair Manager dialog.
The hole is drilled up to, but not touching, the stop layer specified in the drill pair. The depth of the drill action is defined by:
Depth = Sum of all layer thicknesses from start layer to stop layer - stop layer thickness
The layer thicknesses are the values entered into the Layer Stack Manager. The back drill start-stop layers are defined by adding a Back drill pair in the Drill-Pair Manager, click the Drill Pairs button in the Layer Stack Manager to open it. The image below shows the layer thickness values used to calculate the back drill depth of a top side back drill, and a bottom side back drill.
Drill Size
The drill diameter calculated from:
Back Drill Size = Via/Pad hole size + 2 x Design Rule Backdrill Oversize
Rather than entering a specific drill size for back drilling, you define how much larger the back drill is over the original via or pad hole size. The oversize is specified as a radial amount in the design rule, along with any tolerance requirements for the back drilled holes, as shown below.
Onscreen Display of Back Drilled holes
The display of holes that are back drilled includes an additional, two-color ring, with the following properties:
- The inner circle is the original via (brown) or pad (green/blue) hole size.
- The two-color ring denotes the start layer color and the stop layer color of the back drill.
- The width of the colored arc is the BackDrill OverSize amount defined in the design rule. The outer diameter of the circle defined by the 2 colored arcs is the actual back drill hole size, which will be listed as a drill size in the Hole Size Editor mode of the PCB panel.
- The display of the colored ring is dependent on which layer is currently active in the PCB editor. For example, the first image below is with the top layer active and the second image is with the bottom layer active. If the active layer is not back drilled, (for example if the active layer was Mid Layer 2 or Mid layer 3 in the via shown below), then the back drill would not be displayed at all, you would simply see the via hole in brown surrounded by the multi-layer land area.
Checking Back Drilling in the Hole Size Editor
Back drills can also be located and viewed via the Hole Size Editor, set the mode in the PCB panel.
In the image below, the 18mil sized back drill has been clicked on in the panel. The display zooms to those back drilled holes, highlighting them with the start and stop layers. Note that there are 7 back drilled vias shown in the panel, but only 5 are shown in the workspace. That is because the second and third vias are back drilled from both the top side and the bottom side, and since the top layer is the active layer, those vias are currently shown as a top side back drill.
Checking for Stubs
The Maximum Via Stub Length (Back drilling) design rule is used for both locating potential back drill sites, and also for testing for remaining stubs.
During a design rule check, all applicable vias and pads are tested for stubs of a length greater than the Max Stub Length configured in the design rule. Note that all pads and vias targeted by Maximum Via Stub Length (Back drilling) design rules are tested, not just those that are back drilled or those that have not been back drilled.
The rule is checking the length of any remaining stub. In the image below, even though the via has been back drilled, the remaining stub is greater than the 7mil allowed by the applicable design rule, so a rule violation is flagged.
Generating the Outputs
Generating output for back drilling is transparent, if additional drill-type output files are needed, these are automatically generated.
Back drilling is very similar to using blind vias - these also require a start-stop layer pair to be defined in the Layer Stack Manager, which specifies the drilling requirements between this pair. The difference is that blind vias are plated, whereas back drilled vias or pads are an unplated drill event. Unplated holes are essentially a post-fabrication process, the drilling occurs after the etching, lamination, drilling, and through hole plating.
Back Drill Report
To generate a summary report of all back drill events in the design, right-click in the Unique Holes region of the Hole Size Editor and select Backdrill Report from the context menu.
The Report Preview dialog will open, click the Export button to select the file type, the location the file is to be written to, and to enter the file name. The Save as type options include XLS and PDF.
Drill Symbols, the Drill Table and the Drill Drawing
Drill symbols are automatically assigned, and can be reconfigured in the Drill Symbols dialog. The symbols are displayed on the Drill Drawing layer in the PCB workspace, if the Show Drill Symbols option is enabled in the Drill Symbols dialog. The dialog can be accessed by right-clicking in the Unique Holes region of the panel, or on the Drill Drawing layer tab, as shown below.
Because back drilling involves drilling at the same location with different sized drill bits, drill symbols will appear stacked at these locations. Use the layer-pair selector to control which layer pair is currently being displayed, as shown in the images below.
A placed drill table can be configured to show all drill layer pairs, or it can be configured to show a specific layer pair. The image below is from a design with back drilling from both the top and bottom sides of the board, so three tables have been placed. Note the Drill Layer Pair column, it indicates the function of each table.
NC Drill
For each drill pair defined in the Drill-Pair Manager dialog, NC drill output will produce a unique drill file, which can be either text or binary (enable the options as required). Note that is also produces a separate file for each hole-shape type (round, rectangular or slotted).
The drill report file (<ProjectName>.DRR) includes a summary of the: drill tool assignments; their sizes; and the role and name of each of the various drill files generated.
The NC Drill Setup dialog includes the option Generate separate NC Drill files for plated & non-plated holes. The NC drill output files always includes all drill events, if this option is enabled the plated and the non-plated drill events are instead output into separate files. They are identified by an additional string in their filename, in the format <DesignName>-Plated, or <DesignName>-NonPlated.
Back drill events are always output into their own files, each identified by a unique file extension. For example, these could be named <DesignName>-BackDrill.TX3 for the top-side back drill events and <DesignName>-BackDrill.TX4 for the bottom-side back drill events.
Gerber X2
Rather than a just being a standard for outputting fabrication data for a set of PCB layers (which requires the addition of NC drill files for bare-board fabrication), Gerber X2 outputs all of the data needed to input the design into the fabricator's CAM process. Gerber X2 is configured in the Gerber X2 Setup dialog.
This includes:
- Gerber file function: top copper layer, top solder mask, etc.
- Part: single PCB, panel etc.
- Object function: SMD pad, via pad etc
- Drill tolerances
- Locations of impedance-controlled tracks
- Filled vias
If there are back drilled holes in the design, the X2 output will automatically include additional drill files, with a filename like:
<DesignName>_Backdrills_Drill_1_3.gbr
These back drill files includes Gerber X2 format instructions, such as:
%TF.FileFunction,NonPlated,1,3,Blind,Drill*%
This line instructs the CAM software to treat the contents of this file as non-plated blind drill events, between signal layers 1 and 3.
Drill sizes are defined using apertures, whose definition is preceeded by an instruction that declares them as drill-sizes.
%TA.AperFunction,BackDrill*%
ODB++
For ODB++ output, there will be an additional drill folder created for each back drill layer pair defined. These will have names such as \drill1, \drill2. These folders include the standard ODB drill files.
IPC-2581
Support for IPC-2581 will be added in a future update.
Draftsman
Draftsman is an ideal tool for creating high-quality documentation for your design. If there are back drill type layer-pairs defined in the design, the Layer Stack Legend will display these, making it easy to quickly establish their presence.
You can also configure the drill table to show each back drill layer-pair, making it easy to quickly identify the drill sizes and hole count required for back drilling.