A variety of objects are available for use in designing a PCB. Most objects placed in a PCB document will define copper areas or voids. This applies to both electrical objects, such as tracks and pads, and non-electrical objects, such as text and dimensioning. It is, therefore, important to keep in mind the width of the lines used to define each object and the layer on which the object is placed.
There are two types of objects in the PCB editor – primitive objects and group objects:
- Primitive objects are the fundamental elements of design and include tracks, pads, vias, fills, arcs, and text objects. They are called 'primitive' due to their raw or most basic nature.
- Anything that is made up of primitives and identified as a design object is a group object. Examples of group objects include components, dimensions, and polygon pours. A group object can be manipulated as a single object within the design space. For example, it can be placed, selected, copied, changed, moved, and deleted.
Object Placement and Editing Commonality
In Altium Designer, the process of placing an object is roughly the same regardless of the object being placed. At its simplest level, the process is as follows:
- Select the object to be placed from one of the toolbars or the Place menu.
- Use the mouse to define the location of the placed object in the PCB editor design space and its size (where applicable).
- Right-click (or press Esc) to terminate the command and exit placement mode.
Editing Prior to Placement
The default properties for an object can be changed at any time on the PCB Editor – Defaults page of the Preferences dialog. These properties will be applied when placing subsequent objects.
Use the Primitives column to access properties for objects and edit default values as required.
Editing During Placement
A number of attributes are available for editing at the time an object is first placed. To access these attributes, press the Tab key while in placement mode to open the associated Properties panel. Pressing the Tab key pauses placement in order for you to make any required edits for the object.
Example properties dialog for a Pad object.
After edits have been made, click the design space pause button overlay ( ) to resume placement.
Editing After Placement
Once an object has been placed, there are a number of ways in which it can be edited. These are described below.
The Associated Properties Panel or Dialog
This method of editing uses the associated Properties panel mode and dialog to modify the properties of a placed object.
After placement, the associated dialog can be accessed by:
- Double-clicking on the placed object.
- Placing the cursor over the object, right-clicking then choosing Properties from the context menu.
After placement, the associated mode of the Properties panel can be accessed in one of the following ways:
- If the Properties panel is already active, select the object.
- After selecting the object, select the Properties panel from the Panels button at the bottom right of the design space or select View » Panels » Properties from the main menus.
PCB Object Selection Commands
Besides the standard object selection/deselection commands, the PCB editor includes a number of special commands facilitating object selection/deselection operations. These commands are accessed from the Edit » Select and Edit » DeSelect sub-menus of the main menus. The selection commands can also be accessed from the button menu in the Active Bar.
Select overlapped - use to single select the next design object in a set of co-located (overlapping) objects without utilizing a selection pop-up window. Selection obeys the following fixed order priority, cycled through successive use of the command:
Additionally, while using the Shift key to add additional objects to a current selection, you can use Shift+Tab to cycle through selection of the overlapping objects without losing your original selection.
Select next (shortcut: Tab) - with an initial object selected in the design, this command is used to extend the selection to include the next higher-level object (or objects) based on logical hierarchy. The following cyclic logical selection 'flows' are supported:
- Track Segment ---> All Connected (Contiguous) Track on the Same Layer ---> All Connected Copper ---> All Electrical Objects in the Associated Net
- Connected Pad ---> All Connected (Contiguous) Track on the Same Layer ---> All Connected Copper ---> All Electrical Objects in the Associated Net
- Unconnected Pad ---> All Electrical Objects in the Associated Net
- Via ---> All Connected (Contiguous) Track on Layers Associated with Via ---> All Connected Copper ---> All Electrical Objects in the Associated Net
- Copper (Region/Polygon Pour/Fill) ---> All Connected Copper ---> All Electrical Objects in the Associated Net
- Free Pad/Via ---> All Connected (Contiguous) Track on the Same Layer as Pad, or on Layers Associated with Via ---> All Connected Copper ---> All Electrical Objects in the Associated Net.
- Component ---> Via Fanouts, Escapes, Interconnect
In addition, the feature caters for selection extension across multiple objects, selected across different nets in the design.
Example selection across multiple nets, extending from the initially selected track segments, up the higher-order logical hierarchy.
This command is particularly useful when selecting routed nets. Learn more about Strategies for Selecting the Routing.
- Board - use to select all objects that reside within the boundary of the defined board shape.
Net - use to select all electrical objects associated with a particular net.
After launching the command, you can click an electrical object or connection to select all electrical objects in the associated net, or, if you know the name of the net you want to select, click on an area of the design away from any objects; the Net Name dialog will open. From there, you can enter the desired net name; that net will become selected when you close the dialog. If you are unsure of the net name, type ? then click OK to open the Nets Loaded dialog, which lists all currently loaded nets for the design.
- Connected Copper - use to select all electrical objects that are connected to the same piece of copper.
- Physical Connection - use to select all physically routed track between pad objects. Click on a track, pad or via; all contiguous track up to another pad will become selected, including any vias (the pads themselves will not be included in the selection).
- Physical Connection Single Layer - use to select all physically routed track between pad objects on a single layer. Click on a track or via; all contiguous track on the same layer and up to another pad will become selected (the pads and vias themselves will not be included in the selection).
Component Connections - use to select all routed connections emanating from the pads of a chosen component (including tracks and vias) up to the next encountered pad in each case. The pads themselves will not be included in the selection.
The command can also be accessed by right-clicking over a placed component then choosing the Component Actions » Select Component Connections command from the context menu.
Component Nets - use to select all nets (and member net objects therein) attached to a chosen component in the current document.
The command can also be accessed by right-clicking over a placed component then choosing the Component Actions » Select Component Nets command from the context menu.
Room Connections - use to select all pad-to-pad routed connections that lie completely within the boundaries of the chosen room on the current document.
The command can also be accessed by right-clicking over a placed room then choosing the Room Actions » Select Room Connections command from the context menu.
All on Layer - use to select/deselect all objects on the current layer.
- Free Objects - use to select all free primitive objects within the design. Component objects, coordinate objects, dimension objects, length tuning objects, OLE objects, and polygon pour objects are all group objects, and will therefore not be affected by this command.
- All Locked - use to select all design objects that have their Locked property enabled.
- Off Grid Pads - use to select all pads that are not placed on the current snap grid.
This method of editing allows you to select a placed object directly in the design space and change its size, shape, or location graphically. Modification of shape and/or size (where applicable) is performed through the use of editing 'handles' that appear once the object is selected.
Example editing handles for a selected Fill object.
Click anywhere on an object away from editing handles (where they exist) to drag the object to reposition it. Depending on the type of object, it may be rotated and/or flipped while dragging.
- Press Spacebar to rotate the object counterclockwise or Shift+Spacebar for clockwise rotation. Rotation is in accordance with the value for the Rotation Step defined on the PCB Editor – General page of the Preferences dialog.
- Press the L key to flip the object to the other side of the board (where applicable).
- Press the X or Y keys to flip the object along the X-axis or Y-axis where applicable.
- Press the Alt key to constrain the direction of movement to the horizontal or vertical axis depending on the initial direction of movement.
- Nudge the object by small amounts (according to the current snap grid value) by pressing the arrow keys while holding down the Ctrl key. Nudge by larger amounts (10 x snap grid value) pressing the arrow keys while holding down the Ctrl+Shift keys.
Object position can be changed using commands of the Edit » Move sub-menu of the main menus or the movement sub-menu in the Active Bar.
- Move - this command is used to move any object in the current document. Any nets associated to an object will remain connected and the connection lines will follow the object when it is moved (displayed or not in accordance with the connect mode in force). Any routed track connected to the object will not be moved.
Drag - this command is used to move any object in the current document. If the object has connected tracks and/or arcs (for example, a component, pad or via), these will remain connected as the object is moved.
Component - this command enables you to move components in the current document. After launching the command, click the component in the design that you want to move and move it to the required position then click. Alternatively, click within the design space away from any objects to open the Choose Component dialog. Use this dialog to locate the component you want to move (either by jumping to the component or having the component brought to the cursor) and then reposition in the same way as described above. Note that this feature will work only if the target component is not locked.
The command can also be accessed by right-clicking over a component in the design space then choosing the Component Actions » Move Component command from the context menu.
Move Selection - this command enables you to manually reposition selected objects on the current document. Any nets associated to an object in the selection will remain connected and the connection lines follow the object when it is moved (displayed or not in accordance with the connect mode in force). Any routed track connected to the object will not be moved.
Move Selection by X, Y - this command is used to offset the current selection of objects by a precise amount in X and/or Y directions. After launching the command, the Get X/Y Offsets dialog will open. Use this dialog to specify delta X and/or delta Y increment values by which to move the selection.
The Get X/Y Offsets dialog
- X Offset - use this field to specify the distance by which the selection should be moved along the horizontal axis. Positive and negative values can be specifed depending on the direction of movement required. Use the button to the right of this field to quickly toggle the entered value between positive or negative.
- Y Offset - use this field to specify the distance by which the selection should be moved along the vertical axis. Positive and negative values can be specifed depending on the direction of movement required. Use the button to the right of this field to quickly toggle the entered value between positive or negative.
- Toggle X/Y Offsets - click this button to quickly swap the offset values. The X Offset value will be used as the Y Offset value and vice versa.
- Reset X/Y Offsets - click this button to quickly reset both offset values to zero.
- Define X/Y Offsets Interactively - click this button to have the offsets calculated interactively. You will be taken to the workspace and prompted, in turn, to choose a start and end point. Click at the desired locations; the dX and dY values will be entered into the X Offset and Y Offset fields, respectively.
Rotate Selection - this command is used to rotate selected objects in the design space counterclockwise or clockwise and by a specified angle of rotation. After launching the command, the Rotation Angle (Degrees) dialog will open. Enter the required angle of rotation from 0.001° to 360.00° (resolution 0.001°). Enter a positive value for counterclockwise rotation or a negative value for clockwise rotation. Click OK to close the dialog then position the cursor and click to define the reference point for rotation. The selected objects will be rotated about the reference point by the entered angle.
The Rotation Angle dialog
Flip Selection - flip the selected object(s) to the corresponding layer on the opposite side of the board. For example, objects on the Top Layer will be flipped to the Bottom Layer; objects on the Top Overlay will be flipped to the Bottom Overlay, etc.
Objects can also be moved by changing their alignment. To align objects with other objects, right-click on a selected object, then select Align. Alternatively, use the Edit » Align sub-menu of the main menus or the alignment sub-menu in the Active Bar. The alignment sub-menu contains a number of options for distributing selected objects.
The Align command is used to access the Align Objects dialog, which provides controls for quickly aligning the set of currently selected design objects as required. Use the dialog to set options for both the Vertical and/or Horizontal alignment of the selected objects, as required, then click OK to effect alignment.
The Align Objects dialog
- Horizontal - choose from one of the following options to determine the horizontal alignment of the selected objects:
- No Change - leave the horizontal alignment of the objects unchanged.
- Left - align objects so the outer edge of their left-most primitives has the same X location. The object with the left-most primitive is used as the reference.
- Center - move objects horizontally so their centers are aligned. After clicking OK, you are prompted to click to choose the reference object.
- Right - align objects so the outer edge of their right-most primitives has the same X location. The object with the right-most primitive is used as the reference.
- Space equally - objects are equally spaced in the horizontal direction, between the left-most and right-most objects (which do not move).
- Vertical - choose from one of the following options to determine the vertical alignment of the selected objects:
- No Change - leave the vertical alignment of the selected objects unchanged.
- Top - align objects so the outer edge of their upper-most primitives has the same Y location. The object with the upper-most primitive is used as the reference.
- Center - move objects vertically so their centers are aligned. After clicking OK, you are prompted to click to choose the reference object.
- Bottom - align objects so the outer edge of their lower-most primitives has the same Y location. The object with the lower-most primitive is used as the reference.
- Space equally - objects are equally spaced apart in the vertical direction, between the upper-most and lower-most objects (which do not move).
The Position Component Text command is used to run the Component Text Position dialog from where you can change the position of the designator and/or comment text for one or more selected components in the current document.
The Component Text Position dialog
The dialog is essentially divided into two regions - the Designator and Comment text. For both designator and comment, a graphical representation of a component is used as an aid to show where the text will appear based on the position selected. The following nine positional styles are available for the text, all of which are classed as 'automatic positions', meaning the text remains in the chosen position as the component is moved and rotated:
To leave text in its current position with no modification, leave the No Change option enabled.
The Align Left / Align Right / Align Top / Align Bottom command enables you to align selected design objects by their left/right/top/bottom edges, respectively. After launching the command, the left/right/top/bottom edge of the left/right/top/bottom-most object is used as a reference, and all other objects in the selection will be moved left/right/top/bottom, so that their left edges are aligned with this reference.
The Align Left (maintain spacing) / Align Right (maintain spacing) / Align Top (maintain spacing) / Align Bottom (maintain spacing) command enables you to align selected design objects by their left/right/top/bottom edges while maintaining adequate spacing in observance with applicable design rules. After launching the command, the left/right/top/bottom edge of the left/right/top/bottom-most object is used as a reference, and all other objects in the selection will be moved left/right/top/bottom, so that their left edges are aligned with this reference. An object will be moved left/right/top/bottom as close to the reference object as the applicable clearance rule allows:
The Align Horizontal Centers / Align Vertical Centers command enables you to place selected objects in a single column/row, aligned by their horizontal/vertical centers. After launching the command, the cursor will change to a cross-hair and you will be prompted to select one of the objects in the selection; click on it. This becomes the reference object. All other objects in the selection will be moved in relation to this reference object, aligned by their horizontal/vertical centers.
The Distribute Horizontally / Distribute Vertically command allows you to make the horizontal/vertical spacing of a selection of objects equal. After launching the command, the left-most and right-most / top-most and bottom-most objects in the selection will remain fixed in their positions with all other objects spaced equally between them. The vertical/horizontal position of the objects is not changed.
The Increase Horizontal Spacing / Increase Vertical Spacing command allows you to increase the horizontal/vertical spacing of a selection of objects. After launching the command, the left-most/bottom-most object will remain fixed while the other objects in the selection will be moved right/up. Movement is such that the horizontal/vertical distance between the reference points of consecutive objects is increased by the amount specified in the Step X / Step Y field for the default Global Board Snap Grid.
The Decrease Horizontal Spacing / Decrease Vertical Spacing command allows you to decrease the horizontal/vertical spacing of a selection of objects. After launching the command, the left-most/bottom-most object will remain fixed while the other objects in the selection will be moved left/down. Movement is such that the horizontal/vertical distance between the reference points of consecutive objects is decreased by the amount specified in the Step X / Step Y field for the default Global Board Snap Grid.
The Align To Grid command is used to move selected components to the nearest point on the applicable and modified snap grid. After launching the command, the reference points for each of the selected components will be moved to the nearest point on the applicable snap grid.
The Move All Components Origin To Grid command is used to move the reference point of all components onto the current Snap Grid. After launching the command, all components in the design space whose pads are on-grid will be moved so that their reference points are aligned to the current snap grid. By default, a report - Move Component(s) Origin To Grid - <PCBDocumentName>.html - will automatically be generated and opened as the active document detailing which components have and have not been moved.
Via the PCB List Panel
Panel Page: PCB List
The PCB List panel allows you to display design objects in tabular format, enabling quick inspection and modification of object attributes. When used in conjunction with the PCB Filter panel, it enables you to display just those objects falling under the scope of the active filter – allowing the targeting and editing of multiple design objects with greater accuracy and efficiency.
Selecting the Active Layer
The active layer is the layer you will be placing objects on. The active layer can be selected from currently visible layers by clicking the tab for this layer at the bottom of the design space or using the Active Layer drop-down in the Layers region of the Layers & Colors tab of the View Configuration panel.
You can also use the following shortcuts to quickly select the active layer:
Using Cut/Copy and Paste
In the PCB editor, you can cut/copy and paste objects within or between PCB documents, e.g., component(s) from a PCB can be copied into another PCB document. You can cut/copy objects to the Windows clipboard and paste them into other documents.
When using 2D Layout Mode, select the object(s) you want to cut/copy, click Edit » Cut (Ctrl+X) / Edit » Copy (Ctrl+C) from the main menus or choose the Cut/Copy command from the right-click menu. The cursor will change to a crosshair and you will be prompted to select a reference point. This is a coordinate relative to the selected object(s) and is used to accurately position the selection when using the paste command.
To copy the currently selected design object(s) to the clipboard in textual format, the Edit » Copy As Text command from the main menus can be used. This information can then be pasted into any text field or external text document. The details copied to the clipboard include:
- The type of object it is.
- The designator and comment (for a component object).
- The object's location in the design space.
- The layer upon which the object resides (or start and stop layers for a via).
An example of a component copied as text to the clipboard is:
Component Y1-25MHz (100.6mm,1.5mm) on Top Layer
An example of a track and via copied as text to the clipboard is:
Track (20mm,6mm)(80mm,6mm) Top Layer
Via (45mm,6mm) Top Layer to Bottom Layer
To place the last content cut/copied to the clipboard, into the active document, choose the Edit » Paste command from the main menus or right-click within the design space and choose the Paste command from the context menu (shortcut: Ctrl+V). The latest clipboard content will appear floating on the cursor. The cursor position relative to the content is determined by the reference point designated when Cut or Copy was used to add the selection to the clipboard.
To place the text that has been copied from a supported OLE application into any open PCB document, the Edit » Paste Text command from the main menus can be used. The text is converted to, and pasted as, PCB string objects rather than a single OLE object. The supported file types include universal formats such as
XLS format spreadsheets and
RTF word documents.
To control what happens to certain object attributes when they are pasted back into the design space, the Edit » Paste Special command from the main menus can be used. After launching the command, the Paste Special dialog will open.
The Paste Special dialog
- Paste on current layer - enable this option to paste objects onto the current layer.
- Keep net name - enable this option to keep the original net names for the objects.
- Duplicate designator - enable this option to paste a component with the same designator without auto-incrementing.
- Add to component class - enable this option to have the pasted component added to the same component class as the source component.
- Paste - click to paste the object with all specified attributes.
- Paste Array - click to open the Setup Paste Array dialog in which you can set up options for array paste.
Depending on the specific content being pasted, the following attributes can be controlled:
Setup the options as required then click the Paste button to start the paste operation.
Clicking the Paste Array button in the Paste Special dialog will open the Setup Paste Array dialog, which allows you to paste multiple copies of the clipboard objects into the current document.
The Setup Paste Array dialog
- Item Count - the number of repeat placements to be performed. For example, typing 4 will place 4 copies of the current clipboard contents.
- Text Increment - enter the automatic increment for the display text (e.g., component or pad designator). Both alpha and numeric increments other than 1 are supported. For example, by setting the designator of a pad prior to copying it to the clipboard and setting the Text Increment field, the following types of pad designator sequences can be placed:
- Numeric (1, 3, 5)
- Alphabetic (A, B, C)
- Combination of alpha and numeric (A1, A2, or 1A, 1B, or A1, B1 or 1A, 2A, etc)
- Circular- enable this option to paste a circular array, using the current Circular Array settings.
- Linear - enable this option to paste the array in a straight line, using the current Linear Array settings.
- Rotate Item to Match - if enabled, array items will be rotated by the same angular amount as their Spacing.
- Spacing (degrees) - the angular space between two adjacent pasted items.
- X-Spacing - enter the desired X space between two adjacent items.
- Y- Spacing - enter the desired Y space between two adjacent items.
Enter the appropriate values in this dialog then click OK to place the array.
- If placing a linear array, you will be prompted to select the starting point for the array. Position the cursor then click or press Enter to place the array.
- If placing a circular array, you will be prompted to select the center point for the array, followed by the starting point for the array. Position the cursor in each case then click or press Enter to place the array. The objects will be placed in counterclockwise fashion around the nominated center point.
When an object is being pasted on a copper layer and it overlaps a set of objects of different types when pasted, a net of the highest priority object will be assigned to the pasted object. The priorities are as follows (1 is the highest priority):
- Polygon Pour
A net of the highest priority object is assigned to a pasted object. Here is shown an object (track) pasted over a set of objects of different types with different nets assigned. Since the pad is the object of highest priority in this set, its net (
Pad_Net) will be assigned to the pasted object. Hover the cursor over the image to see the result.
When an object is being pasted on a copper layer, and it overlaps a set of objects of the same type when pasted, a net of the object that is under the cursor when clicking to paste the object will be assigned.
A net of the object under the cursor is assigned to a pasted object. Here is shown an object (track) pasted over a set of objects of the same type (pads). Since pad 2 is the object that is under the cursor when clicking to paste the object, the net of this pad (
Pad2_Net) will be assigned to the pasted object. Hover the cursor over the image to see the result.
When a set of physically connected objects is being pasted on a copper layer, and objects of different types in this set overlap existing objects with different nets, a net of the highest priority object in this set will be assigned to all pasted objects. The above priorities are applied in this case.
The net assigned to the highest priority object is assigned to the set of physically connected objects. Here is shown a set of connected objects (from left to right: Fill, Region, Track, Arc, Via, Polygon Pour) pasted over objects (vias) with different nets assigned. Since the fill is the object of highest priority in this pasted set, the net assigned to it (
Via1_Net) will be assigned to each object in this set. Hover the cursor over the image to see the result.
Locking Design Objects
Design objects can be locked from being moved or being edited on the PCB document by enabling their Locked attributes. For instance, if the position or size of specific objects is critical, lock them. Locking can be done in the Properties panel by clicking on the padlock icon () for the desired object(s) as shown in the following examples.
Examples of the Lock icon in the Properties panel in Component mode and Pad mode.
To toggle the state of the Locked property for a placed object that has the Locked property, you can also right-click over the object in the design space and choose the <ObjectType> Locked command from the context menu. When the object is already locked, the command entry on the menu will display a tick icon to the left.
If you attempt to move or rotate a design object that has its Locked property enabled, a dialog appears asking for confirmation to proceed with the edit.
Component Primitive Locking
If a PCB component has its primitives locked (the Primitives option in the Component mode of the Properties panel is in its state), all or the most properties of these primitives cannot be modified using graphical (e.g., using drag-and-drop) and non-graphical (e.g., using the Properties or List panel) editing methods. This will help to prevent occasional changes of component primitives that can result in incorrect assembly and fabrication outputs.
By way of an example, the Pad mode of the Properties panel is shown in the image below for a pad that is a constituent part of a PCB component that has its primitives locked. Note that all properties of the pad (except for Net and Testpoint properties) are dimmed and not available for editing. Note also that the icon is shown at the far right of the pad's Component field, which denotes that the parent component has its primitives locked, and pad properties cannot be modified.
The Pad mode of the Properties panel (on the left) for a pad of a PCB component that has its primitives locked (on the right).
The PCB Editor includes a powerful feature called re-entrant editing. This allows a second operation to be executed using keyboard shortcuts without the current operation being terminated. Re-entrant editing allows you to work more flexibly and intuitively. For example, consider starting to place a track and then realizing that another track segment must be deleted. There is no need to drop out of Interactive Routing mode. Press the E, D shortcut keys, delete the required track segment then press the Esc key to return to interactively routing the design.
Setting the PCB Cursor Appearance
By default, the PCB cursor is set as a small green 90 degree cross. This can be configured using the Cursor Type and Cursor Color settings, on the PCB Editor – General page of the Preferences dialog. For example, a large 90 degree cross that extends to the edges of the design window (Large 90 option) can be useful when placing and aligning design objects. Alternatively, a cross at 45 degrees (Small 45 option) might be useful if the 90 degree options are hard to see against grid lines.
True Type Font Support
The PCB Editor offers the ability to use Stroke-based or TrueType fonts for text-related objects in a design (text strings/frames, dimensions, drill tables, and/or layer stack tables). Choice of font is made from within the associated Properties panel. Three Stroke-based font options are available - Default, Sans Serif, and Serif. The Default style is a simple vector font that supports pen plotting and vector photoplotting. The Sans Serif and Serif fonts are more complex and will slow down vector output generation, such as Gerber. The Stroke-based fonts are built into the software and cannot be changed. All three fonts have the full IBM extended ASCII character set that supports English and other European languages. When using TrueType fonts, TrueType and OpenType (a superset of TrueType) fonts found in the
\Windows\Fonts folder are available for use. The feature also offers full Unicode support.
The PCB Editor – TrueType Fonts page of the Preferences dialog provides the Embed TrueType fonts inside PCB documents option for embedding TrueType fonts when saving a design and the Substitution font option for applying the chosen font substitution when loading a design.
For copper objects on a PCB (track, via, polygon, etc.), the following information is presented in the Net Information region of the Properties panel when the object is selected:
- the parent Net, Diff Pair and/or xSignal and associated class in each case. Note that the Diff Pair and xSignal entries are shown only if the object is a part of a differential pair or xSignal, respectively.
- Delay – the delay of the selected object(s) and the delay of the routed segments of the entire net. Include the Propagation Delay values of pads and vias, if they have been defined for the pads and vias.
Length – the total length sum of the selected object(s) and the total Signal Length. The Signal Length is the accurate calculation of the total node-to-node distance. Placed objects are analyzed to: resolve stacked or overlapping objects and wandering paths within pads; and via lengths are included. The Pin Package Length is also included if it has been defined for the pad(s). If the net is not completely routed, the Manhattan (X + Y) length of the connection line is also included. For more information regarding Signal Length and its applications, see the information about the PCB - Nets panel.
Max Current - the maximum current that the selected Track, Arc or Via object(s) can carry, determined from the IPC-2221A formula (Section 6.2):
I = k * ΔT0.44 * A0.725
I = current [amps]
A = cross-sectional area [sq mils] (trace width * layer stack copper thickness, or Abarrel, as shown below)
ΔT = allowable temperature rise above ambient [°C]
k = constant, such that:
k = 0.048 for outer layers
k = 0.024 for inner layers
Resistance - the sum of the resistance of the selected Track, Arc and Via objects, determined from the derived formula:
R = (ρ * L / A)
R = resistance [Ω]
ρ = resistivity of copper [Ω*mm2/m]
L = trace length [m] (or Via Length, as described below)
A = cross-sectional area = T * W [mm2] (or Abarrel, as shown below)
T = trace thickness (from layerstack) [mm]
W = Trace width [mm]
- Ambient temperature = 22 °C
- Allowable temperature rise = 20 °C
- Thruhole copper wall thickness = 0.018mm
- Resistivity of copper = 0.017 Ω*mm2/m
The Net Information region of the Properties panel. Shown here is an example for a selected track.
Click a link in the Net Information region to open the associated net/differential pair/xSignal in the PCB panel.
Assigning Nets to Objects
The PCB editor provides a number of ways to assign nets to primitive objects:
- When one or more objects are selected, use the drop-down of the Nets field in the Properties panel. All nets for the active board design will be listed in the drop-down list. Select No Net to specify that the track is not connected to any net. Alternatively, you can click on the Assign Net icon () to choose an object in the design space - the net of that object will be assigned to selected objects.
- Right-click over one or more selected objects, then choose Net Actions » Assign Net. After launching the command, a crosshair appears. Hover the cross-hair to the net to which you want to assign the object(s), then click to select that net.
- To resynchronize the net name of the routing primitives to the net name on the pads to which they connect, select the Design » Netlist » Update Free Primitives From Component Pads command from the main menus. After launching the command, a confirmation dialog opens asking whether you want to update free primitive nets with the component-pad nets. After clicking Yes and starting from each pad, the connected copper is selected and the net name of each primitive is set to match that of the pad. This operation does not affect the internal PCB netlist.
To examine and confirm that the objects that are physically connected, have the correct net assigned to belong in that physical net (a physical net means connected copper in this instance), you can use the Configure Physical Nets dialog accessed by choosing the Design » Netlist » Configure Physical Nets command from the main menus. The software analyzes the design, checking that all pads and the objects that physically connect them together (tracks, arcs, fills, etc.,) have the same net name assigned. When all net objects are correct, the net is shown in green. If any objects are detected as touching but have a different net assigned, they are flagged in red. A common example of when this can occur is if a component footprint has extra copper objects within the footprint. When this footprint is loaded during synchronization, the pads have the assigned net name applied to each pad but not the extra copper. The dialog is interactive; click on a net or primitive to cross probe to that object. Right-click or click the Menu button to access the available commands. The Action region of the dialog provides controls for specifying the action needed to be taken to resolve issues with the connected copper. By default, actions will be set automatically but can be adjusted as required. Once the actions are set, click the Execute button to update the net assignments.
The Configure Physical Nets dialog (displaying Only Show Errors option enable (back) and Only Show Errors option disabled (front)).
- Electrically Connected Copper - this region lists distinct groupings of copper primitives that are electrically connected as detected in the wiring of the design. For each grouping, the following information is presented:
- Primitive - at the top-level, this entry reflects how many primitives are in the connected copper. Primitives can be displayed in a flat listing or grouped by type of primitive. The latter is configured by enabling the Show Primitive Groups option of the Menu button options. If this is done, the primitives will be split into the following groupings:
- Connected Component Primitives - lists all component pad primitives as its children. These can be further grouped by parent component by enabling the Menu button option Show Components.
- Connected Free Primitives - lists all non-component copper primitives as its children, further grouped by primitive type (Fills, Polygons, Tracks, Vias).
- Original Net Names - this field reflects the net name currently assigned to the primitive, i.e., the net to which the primitive currently connects. The entry will be one of the defined nets for the board. However, if a primitive is not connected to a net, it will have the entry <Unassigned>.
- Status - this field provides a top-level status entry for the grouping, which can be one of four states:
- Blank - net assignment for the connected copper grouping is all correct and no update is required. The top-level entry for the grouping is colored green.
- 1. Update Required - Unassigned Nets - in this state, none of the primitives in the grouping have been assigned to a net. The top-level entry for the grouping is colored yellow.
- 2. Update Required - Some Unassigned Nets - in this state, some of the primitives have been assigned to the same net, but others have not been assigned at all. The top-level entry for the grouping is colored orange.
- 3. Ambiguous - Multiple Net Names - in this state, there are primitives in the grouping that have been assigned to different nets. There may also be primitives not yet assigned. The top-level entry for the grouping is colored red.
- Action - this region provides controls for specifying the action needed to be taken to resolve issues with the connected copper along with the result of executing the configured changes. For each grouping, the following is presented:
- Proposed Action - this field is used to determine what action, if any, is to be taken. At the highest level for a grouping, this entry can be set to Update Net To, or Don't Update Net To. When updating, choose the new target net in the New Net Name field. Based on these two settings, the software calculates the actions that are to be performed at the child primitive level, arriving at one of the following proposals:
- No Action Required - the primitive is already assigned/connected to the target net.
- Update - include the primitive in the update so that it is assigned/connected to the new target net.
- Don't Update - do not include the primitive in the update. It will remain connected to its current net.
- New Net Name - use this field to set a new target net to which the primitives should be connected. The field's drop-down lists all nets detected among the primitives in the connected copper grouping. If you need to use a different net, right-click on the field and use the Change Copper Net To Board Net command from the context menu. This opens the Choose Net dialog which lists all nets currently defined for the board. Choose the net you require then click OK. That net will be entered into the field.
- Done - this field reflects the success () or failure () of the update action once the Execute button is pressed and the changes applied.
- Execute - once you are satisfied with the actions assigned to the netlist, click this button to update the net assignments.
- Menu - click to access the following menu of commands that relate to the main list in general or to the currently selected primitive(s). The commands are identical to those available on the right-click menu for the main list region.
- Update/Don't Update/No Action - use to quickly toggle the proposed action for the selected primitive(s). At a higher, parent level in the primitive hierarchy, use it to toggle the proposed action for all descendent children.
- Select All - use to quickly select all connected copper groupings (the highest level entries in the list).
- Select All With Same Status - with a top-level connected copper grouping entry selected, use this command to quickly select all other top level groupings with the same status.
- Clear All Selected - use to deselect all entries in the list.
- Expand All In Connected Copper - use to quickly expand all child groupings within the currently focused connected copper grouping.
- Expand All - use to quickly expand all groupings for all connected copper groupings in the list.
- Expand Children - use to quickly expand all descendent child groups below the currently selected grouping.
- Collapse All In Connected Copper - use to quickly collapse all child groupings within the currently focused connected copper grouping.
- Collapse All - use to quickly collapse all groupings for all connected copper groupings in the list.
- Collapse Children - use to quickly collapse all descendent child groups below the currently selected grouping.
- Only Show Errors - enable to only show errors in the dialog. The list will only present connected copper groupings whose Status is level 1, 2, or 3. Disable to also show connected copper that is correctly assigned.
- Show Components - enable to have component pad primitives grouped by their parent components.
- Show Primitive Groups - enable to have primitives grouped by their primitive type.
- Animate Action Execution - enable to have the dialog scroll through the list as the execution proceeds, giving you an animated real-time progress of the execution of net changes. Disabling this option means execution of changes will be performed without such animation.
Warn On Netlist Change - enable to be warned when changes will affect the netlist for the board. The Netlist Change dialog will open, alerting you to how many primitives will have their nets changed and that this will affect the netlist. You can either click to Continue or click Filter Affected to more closely inspect the proposed changes.
The Netlist Change dialog
- Show Component Pads - enable to show connected component primitives in the list.
- Show Non Component Pads - enable to show connected free primitives in the list.
- Show Changes That Affect Netlist - enable to only present a list of the proposed actions (changes) that will affect the netlist for the board.
- Change Copper Net To - one or more menu entries of this type appear when there are not many nets currently assigned to primitives within the focused connected copper grouping. Use such an entry to quickly choose the target net for the New Net Name field.
- Change Copper Net To Net - this menu entry appears when there are too many nets currently assigned to primitives within a connected copper grouping to display as individual menu entries. Using this command gives access to the Choose Net dialog, listing all nets currently assigned to primitives within the grouping. Choose the net you require then click OK; that net will be entered into the New Net Name field for the focused connected copper grouping.
- Change Copper Net To Board Net - use this command if you need to use a different net to those currently assigned to primitives of the focused connected copper grouping. This opens the Choose Net dialog, listing all nets currently defined for the board. Choose the net you require then click OK; that net will be entered into the New Net Name field.
- Show All Primitives - click this button to quickly reveal all primitives. This button becomes available if the Show Component Pads and/or Show Non Component Pads options are disabled on the menu.
You can also clear all nets from the current design document, essentially flushing the internal PCB netlist. This may be desirable if you have changed net information in the source schematic documents and you want to fully resynchronize your PCB with the source schematic netlist information. To do this, choose the Design » Netlist » Clear All Nets command from the main menus. After launching the command, a confirmation dialog will open alerting you to the fact that this operation will clear all net information from the PCB. After clicking Yes, all net information will be removed. Any routed track will remain routed but will have a No Net assignment. Any unrouted logical connections will be removed.
To create a netlist file based on the connectivity created by the routing in the current design, choose the Design » Netlist » Create Netlist From Connected Copper command from the main menus. After clicking Yes in the confirmation dialog that opens, a netlist (Generated <PCBDocumentName>.Net, added to the Projects panel as a free document under the Source Documents sub-folder) is created in the same folder as the PCB design document and automatically opened as the active document. Each net in the netlist gets its name from one of the pads to which the routed copper connects.