The Import Class To Class Spacings CSV Data dialog is used to read a set of class to class spacings from a CSV format file created using the custom format.

The data in the CSV file represents a spreadsheet with net class names along the top row and down the left most column, and the rest of the cells representing the spacing values required between the net classes.

For non-customised CSV files, you also have the Export CSV button to export your rules in Pulsonix defined format, and the Import CSV button to import the new or amended rules back into your design.

Shortcuts

Menu: Setup

Default Keys: T

Command: Technology

Locating this option

Available from: Setup menu > Technology option > Spacing Rules > Match Pair Level pane > Import Custom CSV button

How To Import The CSV File

On selection, you are presented with a standard Open dialog for you to choose the CSV file to import. Select the required file and press the Open button, the following dialog will be displayed:

This dialog allows different layouts of the spacing data to be imported.

Add new net classes

If new net classes need to be added because they exist in the import file but not in the design, checking this option will allow this. With this box not selected, new net classes are not added and any class to class spacings using them will also not be added.

Keep existing class to class spacings

If the design already has class to class spacings, you can choose whether to remove them all and add just the spacings from this import file, or to keep the existing ones by selecting the Keep existing class to class spacings check box. Uncheck this option to remove them all. If keeping existing spacings the following check box becomes enabled for you to use to decide what to do if the import file contains class to class spacings that already exist in the design.

Update to new spacing values - If during the import, the option detects an existing class to class spacing but the value is different, then you can choose to keep the existing value or update it with the new value. Unchecking this box will mean only new class to class spacings will be imported.

Class to class spacing table

You can tell the program how to treat the imported data. It is assumed that the spacings table is a grid with net class names in the top row and down the left most column. This spacings table can appear anywhere in the CSV spreadsheet and so you will have to supply its position. The first option tells the importer which rows and columns contain the net class names. For this, you define the Row name and Column name.

Net Class names Row Column - Enter values like 1 for Row and A for Column names. If for example, you had a title at the top of the page on row 1, the net class name may then appear on Row 2, you would then enter Row 2 instead. You can use either numbers, where 1 is the first, or letters, where A is the first and AA and AB are 27th and 28th etc.

Contains default spacings for each net class Row Column - Some spacing tables contain a special row below the net class names row, or a column to the right of the net class names column, or both, containing default spacing values for each net class. These values do not form part of the class to class spacing values grid, and so the importer needs to know about them so it can skip them, or read the default values from them, to reach the main spacing values grid. Check the row and/or column boxes if you have these values in your table.

If either box is checked the following check box becomes enabled to use to decide what to do with these default net class spacing values.

Add defaults as net class spacings - Check the box if you want to add these default values for each net class they are defined for to the design spacing rules at the Net Class rule level. Leave the box unchecked to ignore them. Cells that do not contain a number will be ignored.

Specific table specification

The basic spacing table supported will contain values in each cell to be used for all spacings between the net classes defined by its row and column. Usually there will only be values defined for one diagonal half of the grid to avoid duplicating the data, but a full grid of values can also be read.

In order to import a variety of spacing table formats, a section is included in this dialog with check boxes for you to choose any of the specialised table considerations we have been made aware of.

Each net class contains two extra columns for pad spacings - Some spacing tables we have seen from a specific customer contain two extra columns after each net class containing special spacing values to match their manufacturing requirements, the maximum of which is used for the Pad to Pad and Pad to Copper spacing value. Check this box if this matches your spacing table. If checked, the import report will show this special pad spacing in brackets after the main class to class spacing value.

Units for spacing values

Select the units used in the CSV file from the drop-down list. You can specify different units to those in your design and used during import. If different in the CSV file, Pulsonix will convert the imported data into your design units during the import. Only spacing values that are numbers will be imported, blank fields and fields containing text will be ignored.

Change the Decimal point character if your CSV file uses a different character for its spacing values. For example, some files use a “comma” as the decimal point.

Field separation character

Use this to set the field separation character that your CSV file uses. As the CSV name suggests, this is usually a “comma” but can be any single character. You can make it to use the “tab” character instead by checking the “Use Tab” box. Make sure this is not the same character as the decimal point character.

Apply imported class to class spacings to

You must also specify which electrical layers the imported class to class rules apply to, this could be by side (Top, Bottom or all Inner or Outer electrical layers), or a layer name - which can be a wildcard that may match several layer names. Set Side to Any and leave Name blank to apply the new spacings to all layers.

Lastly you can choose to add an area name as a condition, again using wildcard characters to specify the group of areas the spacing set is to used within. The areas must be set up correctly to be used for this, see Using Spacings By Area for more details. Note: using the wildcard ”*” will apply the spacing rules within any DRC area that is named.

Importing the data

Select the options you require to match the CSV file and press OK to attempt to import the spacings, or press Report to show a report of what spacings it will add. When imported any new class to class spacings will be added at the top of the list, and will be selected. You can then press the Bottom button to move all of the new spacings to the bottom of the list if required.

The Import CSV Report

The import Report button can be used before an import to inform you of what will be imported, but also a report will be created after import to tell you what has been imported. You can also run it a third time to verify the original file against the current Spacing contents, to see if anything has changed since you last imported the file. This way you can use this feature to import the net classes and original class to class spacing values when starting a schematic or PCB design, and then use the Report button towards the end of the design to show which class to class spacing sets now contain different values from the original spacings spreadsheet.

Sample Report

	Import Class To Class Spacings
	------------------------------
	Report Written : 21/01/2024 12:02:14 PM
	Design Path    : Design66.pcb
	Design Title   : 
	Created        : 17/01/2024 11:49:35 AM
	Last Saved     : 
	Editing Time   : 12 min
	Import File    : C:\data\net spacing matrix.csv
	Units          : mm

	Import Summary
	--------------
	Importing spacings on Any Layer Side.

	Net classes found in import file row    : 12.
	Net classes found in import file column : 12.
	New net classes to be added : 9.

	Default net class spacings found in import file row    : 9.
	Default net class spacings found in import file column : 9.
	Existing net class spacings already with correct value : 0.
	Net class spacings that will have value changed        : 9.

	Class to class spacings in import file  : 63.
	New class to class spacings to be added : 63.
	Existing class to class spacings already with correct value   : 0.
	Existing class to class spacings that will have value changed : 0.

	The following net classes will be added:
	----------------------------------------
	LCD safe
	LCD zener barrier
	pump
	segregated -11V supply
	segregated -7V supply
	segregated 3V switched
	sounder
	unsafe power
	vibrator

	The following existing net class spacings will be changed:
	----------------------------------------------------------
	"LCD safe" : 1.5
	"LCD zener barrier" : 1.5
	"pump" : 1.5
	"segregated -7V supply" : 2.0
	"segregated -11V supply" : 2.0
	"segregated 3V switched" : 2.0
	"sounder" : 1.5
	"unsafe power" : 1.5
	"vibrator" : 1.5

	The following new class to class spacings will be added:
	--------------------------------------------------------
	"LCD safe" to "Ground" : 1.5
	"LCD zener barrier" to "Ground" : 1.5
	"LCD zener barrier" to "LCD safe" : 1.5
	"Power" to "LCD safe" : 1.5
	"Power" to "LCD zener barrier" : 1.5
	"pump" to "Ground" : 1.5
	"pump" to "LCD safe" : 1.5
	"pump" to "LCD zener barrier" : 1.5
	"pump" to "Power" : 1.5
	"segregated -7V supply" to "Ground" : 2.0
	"segregated -7V supply" to "LCD safe" : 2.0

	Etc. (full list of 63 line items truncated)

	"vibrator" to "segregated -7V supply" : 2.0
	"vibrator" to "segregated -11V supply" : 2.0
	"vibrator" to "segregated 3V switched" : 2.0
	"vibrator" to "Signal" : 1.5
	"vibrator" to "sounder" : 1.5
	"vibrator" to "unsafe power" : 1.5
	

Design Rule Check | Net Classes | Spacings Rules | Export CSV | Import CSV