XF reads both ODB++ database and .brd files, allowing users to import printed circuit board (PCB) geometry from circuit layout design tools, such as Cadence's Allegro PCB Design package. XF enables the customized construction of three-dimensional PCB representations and facilitates the data exchange between many applications in the PCB industry.
Check XF Application Preferences
The location of Cadence's extracta executable is required in order to open Allegro .brd files so users must install Cadence's Allegro PCB Designer package on the machine running XF prior to setting the application preferences. XF cannot find and configure the executable automatically, so the location must be set manually by selecting Edit ❯ Application Preferences and working under the External Tools tab to specify the executable's directory under Cadence Extracta.
Importing an ODB++ database does not require any changes to XF's application preferences.
PCB Import Window
Users can import a PCB file by selecting File ❯ Import ❯ PCB ❯ and choosing either ODB++ or Allegro .brd. Selecting a file and clicking Open will open the PCB import window, where tabs and columns provide the available import options. One or more selections made on the left side of the window are displayed on the right side of the window for visualization purposes.
Some settings appear in the import window regardless of which file format is imported. The database ID enables XF to identify solid geometry as either an ODB++ database or .brd file to use for the merging function, and it appears as the assembly name in the project tree.
The Refresh and merge existing parts option should be checked when users wish to update an existing PCB assembly with a new version of the file. With the option selected, XF imports the new file and combines it with the existing PCB assembly while maintaining material assignments, grid definitions, and other modifications set by the user. This option is grayed out if no existing database files are found in the XF project.
The preview pane on the right side of the window displays the selections made on the left, and includes two tools for adjusting the view. The Zoom to Extents tool adjusts the view to include the space to which the import extends.
The Pan and Zoom tool allows users to move the view closer or farther using the mouse wheel, or click and drag to move the import in any direction without rotating.
When checked, the Render Selection on Top option places selected layers and nets before deselected items for increased visibility of deeply nested entities.
At the bottom of the window, the Import button imports settings that were previously exported and saved as an .xml file.
The Export button writes the tab settings to an .xml file. Users can import this file at a later time and avoid having to reselect the subsets.
The Layers tab lists the PCB layers contained in the imported file. Users can select the layers to import, modify their properties, and reorder them by clicking on a layer's associated row number and dragging it to the desired order location.
The following table summarizes the layers tab columns displayed for each file type during import.
|Import||Layer Type||Material||Thickness||Layer Thickness||Substrate Thickness||Conductivity||Permittivity||Loss Tangent|
Users who do not want to select individual layers for import can click the buttons in the upper-right corner of the tab:
- Import All: includes all layers in the import.
- Import None: excludes all layers from the import.
The Import column lists the contents of the file in ascending order beginning with the top layer. Users decide which layers to import into XF by checking the box associated with each desired layer.
When importing an ODB++ file, layers with the assigned types signal, power, ground, drill, or mixed are checked by default, but can be deselected by clicking the associated checkbox.
The Layer Type column categorizes the layers according to specifications associated with the imported file type. Both .brd files and ODB++ databases require that each layer be assigned a type.
A .brd file designates five different types:
- Plane: indicates a conducting ground plane.
- Conductors: indicates signal traces.
- Dielectric: indicates substrate layers.
- Surface: determines the z-dimension of components.
- Misc.: indicates file data not considered part of the board stack-up, such as soldermask layers, paste layers, engineering drawings, and text.
An ODB++ database has numerous designations, among which are signal, power, ground, drill, and mixed.
In the Material column, each layer is associated with the material it was assigned in the imported .brd file. Upon import, XF changes any .brd material names that match existing names but conflict with XF's material properties. This column is unavailable with ODB++ imports because these files have no material information attached to their layers.
The Thickness column displays the thickness of each layer contained in a .brd file. This total value provides the thickness of either a conductor or dielectric because they appear in separate rows, making it unnecessary to display each type's thickness in a different column. Users can edit the thickness values, if desired.
ODB++ imports combine conductors and dielectrics associated with the same layer into one row, but provide separate information for each type using different columns. The Layer Thickness column displays the thickness value for the metal parts contained in the layer. The Substrate Thickness column provides the dielectric thickness value.
Conversely, .brd imports separate conductors and dielectrics into different rows and have three columns that provide information for both types. Each column's value is editable for both types, but is only applied when the column's parameter and the row's type are used together.
The Conductivity column uses the conductivity parameter for conductors, and it is the only column used for both conductor and plane type layers. The permittivity and loss tangent columns remain active but their values are not applied.
The Permittivity column uses the parameter for dielectrics, and is used in combination with the loss tangent column for dielectric type layers. The conductivity column remains active but its value but its value is not applied.
The Loss Tangent column uses the parameter for dielectrics, and is used in combination with the loss tangent column for dielectric type layers. The conductivity column remains active but its value but its value is not applied.
Below the tab's columns, the Add Z Fixed Points option determines whether or not manual fixed points are added to the grid per layer in order to resolve the geometry adequately in the mesh. By default, the checked option activates the Per Metal Layer and Per Substrate Layer fields so that users can enter the desired value for each. Both fields are inactive when the option is unchecked.
The Total board Thickness displays the sum of the imported file's metal and substrate layers.
The Nets tab lists the PCB nets contained in the .brd or ODB++ file's imported layers. Users must select the desired nets, as well as their associated layers, in order to successfully import and then modify net properties. Users who do not want to select individual nets can use the Import All and Import None buttons to include or exclude all nets, respectively.
Imported .brd and ODB++ files do not separate nets by default, so the import window includes a Separate column. Users can check the box associated with each net for which they would like to import separate parts for each layer. Users who do not want to select each net individually can use the Separate All and Separate None buttons at the bottom of the tab to include or exclude all nets, respectively.
When selected, the Boolean Nets option at the bottom of the tab combines nets and removes lines inside geometry for a cleaner appearance. It increases the import time, but the resulting geometry is less complex and easier to work with.
The Components tab lists only the two-pin components contained in the .brd or ODB++ file's imported layers. Identifiable simple resistors, inductors, and capacitors are selected for import by default, but users can change these selections by either checking or unchecking the circuit components as desired. Users who do not want to select each component individually can use the Import All and Import None buttons at the top of the tab to include or exclude all nets, respectively.
Users should note that each listed circuit component also has an associated circuit component definition. A definition will not necessarily be imported with the correct values, but users can enter the values as needed once the import is complete.
The Crop tab provides three options for importing subregions rather than the entire board:
- No Crop: default option that imports the entire board.
- Crop Geometry Outside Substrate: removes text, markup, and features in the PCB import file that exist outside the bounds of the substrate.
- Crop to Area: allows users to specify one or more subregions to import.
Selecting Crop to Area enables the Set, Finish, and Reset buttons. The Set button provides two modes for defining polygon-shaped subregions, and applies the following options:
- Freehand line mode is the default behavior. Left-click the mouse to draw the polygon, right-click to close the current polygon and begin drawing another one, or use the following hotkey options:
- v: draws vertical lines (y-axis aligned).
- h: draws horizontal lines (x-axis aligned).
- o: draws lines orthogonal to the previous line once at least one line segment has been drawn.
- r: switches to rectangle mode, which is only available if a polygon has not been started.
- Ctrl+ click: deletes a polygon.
- Rectangle mode is the secondary method. Left-click once to start the rectangle and again to finish it, or use the following hotkey options:
- Ctrl+ click: deletes a polygon.
- f: returns to freehand mode.
Either clicking Finish or pressing Esc closes out the options for defining polygons, and clicking Reset deletes all polygons.
- Zoom the view during specification using the mouse wheel.
- Pan by holding the Shift key while clicking the mouse.
- Under the Nets tab, choose nets to be rendered before defining polygons for better visibility while drawing.
The Wrap tab includes options for creating flexible PCB geometry while importing either a .brd file or ODB++ database. Both formats provide a flat representation of the PCB that can be wrapped onto a target that must be created as a sheet, not a solid, before beginning the import process.
When checked, the Wrap option at the top of the tab enables the following settings:
- Locator: defines the target orientation through a drop-down menu of existing locators. A locator must be created before beginning the PCB import process, and have an anchor that is attached to a face.
- X and Y coordinates: defines the PCB source orientation using the entered values.
- Choose locator position: graphically defines the PCB source orientation.
The Log tab displays output from either Cadence extracta or the ODB++ database. This is where any errors while creating a 2-D shape will be reported.