1Introduction
Add Ground Vias automates the placement of ground and stitching vias in Siemens Xpedition. It is built for RF and high-speed designs, where ground vias need to follow signal traces, fence the edges of copper pours and route borders, and fill pads — all at spacings derived from the signal's wavelength.
Beyond placing vias, the tool calculates recommended via spacing from your operating frequency and the board's dielectric constant, lets you tag groups of vias with a named property so they can be re-selected or removed later, and can add solder mask clearance and plane obstructs along selected traces. Everything is done inside your open Xpedition design, in a single transaction so it can be undone as a unit.
This guide is written for a first-time user. It walks through every region of the window, explains what each control does, and finishes with step-by-step workflows for the most common tasks.
2Requirements and Setup
Before launching the tool, make sure the following are in place:
- An Xpedition PCB session is open with your board design loaded.
- A valid ExactCAD license has been applied using the ExactCAD Licensing tool. The window title bar shows the licensed user name and the license expiration date.
- The design contains the via padstacks and layer spans you intend to use. The tool reads these automatically from the design.
- The design has a
Configfolder beside the PCB file. This is required, and is where the tool stores its list of via property names.
The tool detects your design's measurement units automatically and displays them near the bottom of the window. Length fields accept values in thousandths of an inch, inches, millimeters, or microns, with a units selector beside each one.
3The Application Window
The window is organized into several working regions. Becoming familiar with this layout makes the rest of the guide easy to follow.
- Left column: the parameters that describe the via and the trace it follows — the nets, the via to place, its hole and pad sizes, the trace width, the trace-to-plane gap, and the resulting lengthwise and crosswise via spacing.
- Upper right — Spacing Calculator: enter a frequency and dielectric constant and the tool reports the wavelength and several fractions of it, the signal velocity, and a plain-language spacing recommendation.
- Center — action buttons: buttons that place stitching vias along traces, around route borders, and into pads, together with the layer-span, design-rule, and density options that govern them.
- Center group — Fill Planes, Shapes, Obstructs, and Polygons: options for ringing or flooding copper shapes with vias.
- Lower left — Add Trace Features: tools to add solder mask clearance and a plane obstruct outline along selected traces.
- Bottom strip: the via-property tools, the current units display, the window options, the save button, and the status line.
4Via and Trace Parameters
The controls down the left side describe the signal you are stitching and the via you want to place. Most of them fill in automatically as you pick a net and a via, but every one can be edited by hand.
| Control | Purpose & Behavior |
|---|---|
| Acquire or Select Net to Follow(net selector) | Identifies the signal net whose trace the vias will follow. The easiest way to set it is to select a trace in the Xpedition window — the tool reads the selected net, fills this field, and automatically enters that net's widest trace width into the trace-width field below. You can also pick a net directly from the list. |
| Differential Pair Nets(checkbox + second selector) | Turn this on when the trace you are following is one half of a differential pair. It enables the second net selector so the partner net is included, and the tool then treats the pair as a unit when stitching vias. |
| Select Net for Vias(net selector) | The net that will be assigned to every via the tool places — normally your ground net. If a net named GND exists in the design, it is chosen for you by default. |
| Select Via(via selector) | Chooses which via padstack to place. Selecting a via reads its drill and pad sizes from the design and fills in the hole-diameter and pad-diameter fields below. |
| Via Hole Diameter(value) | The drill diameter of the selected via. Filled automatically from the via, and used in the lengthwise spacing calculation. Editable. |
| Pad Diameter(value) | The pad diameter of the selected via. Filled automatically from the via, and used in the crosswise spacing calculation and as the default loop offset. Editable. |
| Trace Width(value) | The width of the signal trace. Filled automatically when you acquire a net (using the widest segment found on that net), and used in the crosswise spacing calculation. |
| Trace to Plane Gap(value) | The clearance between the signal trace and the surrounding plane copper. Used to compute how far to the side of the trace the vias should sit. |
| Lengthwise Via Separation (x)(value) | The spacing between vias along the trace. The tool calculates a recommended value — one fifth of the wavelength plus the via hole diameter — but you can override it. The label shows the active design units. |
| Crosswise Via Separation (y)(value) | The spacing between vias across the trace, from one side to the other. The recommended value is the trace width plus twice the trace-to-plane gap plus the via pad diameter, placing the vias as close to the gap as possible without the pads intruding into it. Editable. |
5The Spacing Calculator
The calculator in the upper-right of the window converts an operating frequency and a dielectric constant into a wavelength, and from there into the recommended via spacing. It updates as soon as you change any input.
5.1 Inputs
| Control | Purpose & Behavior |
|---|---|
| Frequency (MHz)(value) | The operating frequency of the signal, in megahertz. The default is 30000 MHz. |
| Dielectric Constant (Er)(value) | The relative permittivity of the board material surrounding the trace. The default is 3.5. |
5.2 Calculated Readouts
From those two inputs the tool reports the wavelength and several useful fractions of it, all expressed in your design's units:
| Readout | Meaning |
|---|---|
| Wavelength(read-only) | The full guided wavelength of the signal in the dielectric. |
| 1/4 Wavelength(read-only) | One quarter of the wavelength. |
| 1/5 Wavelength(read-only) | One fifth of the wavelength — the value used as the basis for the recommended along-trace via spacing. |
| 1/10 Wavelength(read-only) | One tenth of the wavelength. |
| 1/20 Wavelength(read-only) | One twentieth of the wavelength. |
| Velocity of Propagation(read-only) | The speed at which the signal travels through the dielectric, shown in design units per picosecond. |
The wavelength is found from the relationship λ = c / (f × √Er), where c is the speed of light and f is the frequency. The velocity of propagation is c / √Er. A higher dielectric constant shortens the wavelength and slows the signal, which is why both inputs matter.
5.3 Recommendations
The recommendations panel restates the result in plain language. It reports one fifth of the wavelength for your frequency and dielectric constant, then advises that the maximum via spacing along the trace should not exceed that amount plus the via diameter, and that the vias across the trace should sit as close to the gap as possible without the pads intruding into it. These two figures are exactly the lengthwise and crosswise separations shown on the left side of the window.
6Via Span, DRC, and Density
These options control which layers the vias connect, whether placement respects design rules, and how tightly the vias are packed. They apply to the via-placement actions described in the next sections.
| Control | Purpose & Behavior |
|---|---|
| Via Span(selector) | Chooses which layer pair the via spans, drawn from the spans already defined in the design (for example, top to bottom). Determines the start and end layers of every via the tool places. |
| Try All Spans(checkbox) | When filling pads, places vias for every defined span that touches the pad's layer, rather than only the single span selected above. Useful when a pad needs to be stitched across multiple layer ranges. |
| Max Density(checkbox) | Packs vias as tightly as the design rules and clearances allow by reducing the spacing to its minimum. Use it when you want the densest possible via field. |
| DRC on / DRC off(choice) | Selects whether via placement honors online design rule checking. With checking on, vias that would violate clearances are prevented; with it off, placement is faster but can create violations that you must clean up afterward. |
7Adding Stitching Vias
Three actions place stitching vias in the most common situations. Each one acts on what you have selected in Xpedition, using the via, span, and spacing settings described above.
7.1 Adding Vias Along a Trace
This is the core function of the tool. Select one or more traces in the Xpedition window, then use Add Stitching Vias to Trace. The tool walks each selected trace and places ground vias along both sides at the lengthwise and crosswise separations shown on the left. Nets that form a differential pair are recognized and stitched together as a unit, so the pair keeps a symmetric via fence.
7.2 Adding Vias on the Route Border
Add Stitching Vias to Route Border fences vias just inside the perimeter of the board's route border, offsetting them inward by a little more than the via pad diameter so the pads sit cleanly inside the boundary. This creates a continuous guard ring of ground vias around the routing area.
7.3 Adding Vias in Pads
Add Vias to Pad fills selected pads with a via array — useful for via-in-pad thermal and ground stitching. Select the pins or pads in Xpedition, choose the via and span, then run the action. The tool arrays vias inside each pad, honoring the span, the Try All Spans option, and the Max Density option. Round and rectangular pads are both handled.
8Filling Planes, Shapes, Obstructs, and Polygons
The center group fills copper shapes with vias — plane shapes, conductive pours, obstructs, polygons, user-layer shapes, and a selected route border. You choose whether to ring the shape with one or more loops of vias, flood its interior on a grid, or both, and then run the operation with the group's GO button. Set the Select Net for Vias field (Section 4) to the net you want these vias to carry before running.
8.1 Loops Around a Shape
| Control | Purpose & Behavior |
|---|---|
| Place Vias in a Loop around shape perimeter(checkbox) | Rings the shape's outer edge with a line of vias following its perimeter. |
| Inside Shape / Outside Shape(choice) | Sets which side of the boundary the loop sits on — just inside the shape edge, or just outside it. Available once the perimeter-loop option is on. |
| Multiple Loops(checkbox) | Places more than one concentric ring of vias instead of a single loop. |
| How many loops?(value) | The number of rings to place when multiple loops is on. |
| Nested Loops(checkbox) | Arranges the multiple rings as nested concentric loops. |
| Override Loop Offset (default is pad diameter)(checkbox) | By default each loop is offset from the edge (and from the next loop) by the via pad diameter. Turn this on to set a custom offset instead. |
| Loop Offset(value) | The custom distance used between the edge and the loop, and between loops, when the override above is on. |
8.2 Loops Around a Cutout
A shape may have an interior cutout (a cavity). The cutout options ring that inner boundary instead of the outer edge.
| Control | Purpose & Behavior |
|---|---|
| Place Vias in a Loop around shape cutout perimeter(checkbox) | Rings the perimeter of an interior cutout with vias. After you run the operation, the tool asks you to click inside the cutout you want to fence. |
| Fill Shape Cutout Interior with Vias(checkbox) | Floods the area of an interior cutout with a grid of vias rather than only ringing it. |
8.3 Flood-Filling Interiors
| Control | Purpose & Behavior |
|---|---|
| Fill Shape Interior with Vias(checkbox) | Floods the inside of the shape with a regular grid of vias. Enables the grid-spacing and grid-offset fields below. |
| Stagger Interior Vias(checkbox) | Offsets alternating rows so the vias form a staggered (brick-like) pattern instead of a square grid. |
| Via Grid Spacing (x / y)(values) | The horizontal and vertical spacing of the fill grid. |
| Via Grid Offset (x / y)(values) | Shifts the origin of the fill grid horizontally and vertically, letting you align the via field to features on the board. |
9Managing Via Properties
The tool can tag the vias it places with a named property. That tag lets you come back later and select, or delete, an entire group of vias at once — for example, every via that was placed to shield a particular set of RF traces. The list of property names is stored in a text file in the design's Config folder, so it persists between sessions. Three names are always available: SHIELDS, RF_TRACES, and DIFF_PAIR_TRACES.
| Control | Purpose & Behavior |
|---|---|
| Via Property(list) | Selects the property name that the other property actions act on. This is the “current” property. |
| New Property(button) | Prompts for a new property name and adds it to the list. Spaces are replaced with underscores and the name is stored in upper case. |
| Add Property to New Vias(checkbox) | When on, every via the tool creates from then on is tagged with the current property. |
| Add Property to Existing Vias(button) | Tags all of the currently selected vias with the current property. |
| Select Vias with Property(button) | Selects every via in the design that carries the current property, so you can inspect or act on them as a group. |
| Delete Vias with Property(button) | Collects every via carrying the current property and, after you confirm, deletes them. You are asked to confirm twice and shown how many vias will be removed. |
10Add Trace Features
The lower-left group adds two trace-related features that often accompany ground stitching on RF and high-speed nets.
| Control | Purpose & Behavior |
|---|---|
| Add Soldermask Clearance to Trace(button) | Select one or more surface traces, then run this to create solder mask openings over them. Where the trace passes between component pins, the tool keeps a solder mask web (dam) of the width set below, so adjacent openings do not merge. |
| Solder Mask Web for Pins(value) | The width of the solder mask dam left between adjacent pin openings when adding clearance. A decimal value is required. |
| Add Plane Obstruct to Trace(button + GO) | Select one or more traces, set the spacing below, then run to draw a plane obstruct outline around the selected traces. This keeps plane copper a fixed distance away from the trace. |
| Spacing and Units(value + units) | The gap to hold between the trace and the plane obstruct outline, with its own units selector. |
11Window Controls and Status
| Control | Purpose & Behavior |
|---|---|
| Current Design Units(display) | Shows the measurement units the design is using. The tool reads this from Xpedition. |
| On Top(checkbox) | Keeps the tool window in front of the Xpedition window so it stays visible while you work. On by default. |
| Save PCB(button) | Saves the current design. |
| EXIT(button) | Closes the tool. |
| Status line(display) | Reports the current operation and progress messages along the bottom of the window. A progress bar accompanies longer operations such as scanning or deleting large numbers of vias. |
12Typical Workflows
12.1 Stitch a Ground Via Fence Along an RF Trace
- In Xpedition, select the trace you want to fence.
- In the tool, confirm the net was acquired and the trace width filled in.
- Enter your operating frequency and dielectric constant in the Spacing Calculator.
- Confirm the via to place, its hole and pad sizes, and the layer span.
- Review the lengthwise and crosswise separations; adjust if needed.
- Run Add Stitching Vias to Trace.
12.2 Flood a Plane with Vias
- Set Select Net for Vias to the plane's net (usually ground).
- Choose the via and the layer span.
- Turn on Fill Shape Interior with Vias and set the grid spacing (and an offset if you need to align the grid).
- Optionally turn on Stagger Interior Vias for a staggered pattern.
- Press the group's GO button.
12.3 Ring a Pour and Remove It Later
- Choose or create a property in the Via Property list, and turn on Add Property to New Vias so the ring is tagged.
- Turn on Place Vias in a Loop around shape perimeter and choose Inside Shape or Outside Shape.
- Press GO to place the loop.
- To remove that ring later, select its property and use Select Vias with Property or Delete Vias with Property.
13Tips & Troubleshooting
- “There is no net selected”: select a trace in Xpedition before acquiring a net or adding stitching vias to a trace.
- “No Config directory found”: the design must have a
Configfolder beside the PCB file. The tool stores its via property list there and cannot start without it. - Vias not appearing where expected: check that the chosen layer span actually includes the layers you are working on, and remember that with design rule checking on, vias that would violate clearances are quietly suppressed.
- Spacing looks wrong: verify the units, frequency, dielectric constant, and the trace-to-plane gap. The recommended spacings are derived directly from these values.
- A large design is slow to open: when the design contains very large numbers of vias, the tool samples them while scanning for existing properties; the progress bar shows how far along it is.
- Solder mask clearance reports an inner-layer trace: the clearance feature works on surface traces only. Deselect inner-layer traces and try again.