Posts tagged with 'Design Review'

Compare Designs (Graphic-Board-Compare)

To compare graphically, you can either start "Compare Designs" via PCB-Investigator or you can start it as a Desktop-App, called "PCB-Investigator-Graphic-Board Compare".


Starting "Compare Designs" or "Graphic-Board-Design", it will result in the same dialog. After the tool has been started, it will look like this.

To compare two jobs, you have to add to new designs.

  1. You can add the recent jobs with the two buttons on the left side.
  2. To open other designs, browse to their direction with the right two buttons.

The two currently selected designs are mapped to colors.

After choosing the second design, the following dialog will open automatically.

(You can also open this dialog by clicking this button or using the "Compare" tab.)

  1. Now you can choose the step names of the two loaded jobs on the top of the dialog.
  2. On the right side of the dialog, you can switch on/off all layers. You can also switch on only single layers with the "All Signal Layer On" button. Below the buttons, you can activate the check box for just comparing the profiles of both designs instead of the whole design.
  3. On the left side, you can see all layers of the first design. If the second design has identical layer names, the right side will be filled automatically. If layers have a different name, you have to choose the layer by yourself. (Blue marked rectangle)
  4. After finishing to equate the layers, you can start the calculation by clicking the button at the right bottom corner.

The first opened dialog will change and will now look like the following picture (only if there are results).

To simplify the dialog, it can be splitted into four different views.

  1. The left top shows the whole PCB at the beginning. It will be used mainly to show the differences of the layers.
  2. The right top shows an abstraction of the real PCB on the left side. The small areas inside the abstraction show the differences between the two selected layers. These areas contain numbers representing the differences shown as tiles at the bottom (Nr.4).
  3. Every tab represents the two layers with the differences. Identical layers without negative results won´t be displayed.
  4. The tiles below in the red edged box show the magnified differences of the two layers of the design. The tiles are numbered and these numbers are corresponding to the rectangles of the abstracted design on the right top (Nr.2).

The following GIF´s show what the four areas can be used for.

View 1 + 2: 

View 3 + 1:

View 4 + 2 + 1:


Further details:

1. Using the "File" tab, you can create different reports of the comparison. The following report formats are available.

  • HTML Report
  • RTF Report
  • Report as Text file

The HTML Report may be the best report for visualization reasons. The report looks like this:

2. The "Options" tab allows the following opportunities.

1. The "Tolerance" option allows you to adjust the difference the PCB elements of the two layers may have. (Smaller values cause a higher computing time.)

2. The second option "Show PCB-Investigator" opens two instances of PCB-Investigator. Each instance uses one of the chosen designs. Position it side by side to compare it directly. Using the tiles of the main window, the two instances will also zoom in the chosen tile.

3. The option "Activate Layers" and "Deactivate Other Layers" are just influencing the second option "Show PCB-Investigator". Activating them will cause to have a difference in the seperated two PCB-Investigator instances.


Command Line Arguments (Avalable with Version 16 or beta V 15.1):

first and second arguments have to be pathes to the compare designs




Example call as batch file:
D:\tmp\PCB-Investigator-Beta\GraphicBoardCompare.exe D:\Data\compare\job1 D:\Data\compare\job2 -in_profile_only=true -check_all_layers=true -export_report_path=D:\tmp\compare.html


Instance Synchronization

Sync Actions

  1. Set the main functions that should be synchronized between the two chosen instances.
  2. De-/Activate the compare functionality for the main view and list views.
  3. De-/Activate the synchronization of actions.
  4. Select specific actions that should be synchronized between instances.


Image Compare - Specific Settings


  • Dim Background: Darkens everything that has not changed. Makes changed areas more visible.
  • Accuracy: 
    • Standard - Fine details are grouped together. Contours are cleared.
    • Fine - Fine details stay separated. Contours are more precise.
  • 2x Resoultion: The resolution of the images used for comparing is doubled. Makes the comparation more accurate, but also more resource demanding (uncheck this to speed up the synchronization process).


  • Hide Difference Shadow: Hides the grayscale background image (shows ghost imprint from the respective other design on changed areas).
  • Difference Area Thresold: Defines the size threshold at which changed areas are marked as changed. If the slider is positioned further to the right, the fewer areas are displayed as changed. As smaller areas are increasingly ignored, the slider is also useful for preventing false hits due to artifacts.


List Compare - Specific Settings

Diff Tool Settings

  • Use Internal Diff Tool: Use the embedded diff tool for comparing changes between two lists.
  • Use External Diff Tool: Use an external diff tool for comparing changes between two lists.
  • Ignore sorting and filters: When this setting is activated, the list data with sorting and filtering is passed unchanged to the selected Diff tool. If unchecked the list data is passed sorted by the most meaningful column and without any filters applied. Note(!): Checking this option can result in related rows not being matched correctly (depends on the diff tool and its settings).

External Diff Tool

  • Path to .exe: Path to the executable file of an external diff program. Used, if the option ‘Use External Diff Tool’ in the section above is checked.

Note(!): To provide the program with the list view data, two temporary csv files are created. The paths to these files are appended as arguments to the program call. Only programs which support csv files, which allow command line parameters and which do not require a special syntax to define the files to be compared (eg. like a prefix before the filepath), are supported.

  • Arguments (optional): Additional arguments that should be passed as command line parameters at the end of the program call.


Instance Snchronization - Illustration

If you want to use the synchronization functionality, the new instance of PCB-I must be opened with the button 'Open new instance'


To activate the synchronization functionality, you must click the 'Sync On/Off' button on all instances you want to synchronize.
A green label (with white text) appears in the upper left corner of the main viewport. It shows the process ID under which the PCB-I instances run. The window called MAIN is the root instance. When it is closed, all other windows are closed too and the process is terminated. All windows called CHILD can be safely closed without closing other windows. There is no influence on the synchronization functionality, whether the window is MAIN or CHILD.
Once the windows are synchronized, all functionality and actions set in the Sync/Compare Settings are synchronized between all instances.


To activate the synchronization functionality, you must click the 'Compare On/Off' button on two instances you want to compare.
This also activates the live synchronization for both windows, if it was not turned on before. If the compare is active, all differences between the two opened designs are marked with white lines. The algorithm groups areas with many small changes to a larger area. The exact compare behaviour can be fine-tuned in the Sync/Compare Settings.


If the synchronization is active and any list view is opened in both instances, differences are marked in different colors (List Compare). A round button in the bottom right corner of the list shows that the compare is active. List views of which the button is showing the same number are compared. List views with compare active are also synchronized (sorting, scrolling, filter). Rows with red coloured cells are available in both lists but differ from each other. Green coloured rows and gray coloured columns are only available in one list. To identify rows that belong together, the most meaningful column for each list is used.
By clicking on the round button, a menu can be opened. There you can switch the things that should be synced on and off individually. The blue button in the menu opens an external diff tool. It uses the diff tool set in the Sync/Compare Settings. You don't need to install a separate diff tool for this. By default, one integrated in the PCBI is opened.

Assign Testpoint Attribute

User Interface of the Assign Testpoint Attribute
Fig 5. - User Interface Assign Testpoint Attribute

You can find the Testpoint Assign Tool under Plugin >> Assign Testpoint Attribute.
This tool helps to find and mark testpoints in a layout which could be defined via multiple non standardized attributes. Marking them with this tool then helps to standardize this and prepare the layout for following tools (for example the DFT Preperation).
On the top left you can switch between using the current selection or a set rule to find the testpoints and assign the test_point value.
When choosing rules you can add another rule by checking the checkbox of the lowest row in the current listview and then fill out which attribute should be tested and what value needs to be set in said attribute.
All attributes are listed in a simple drop down menu. The Filter Value then has to represent the value of the attribute. Wildcards are allowed when searching for attribute values. The image shows for example all ways to search for "tp" in the "geometry" attribute:

  • The first rows searches for all geometry attributes that have exacly the value "tp".
  • The second row seraches for all geometry attributes that end with "tp"
  • The third row searches for all geometry attributes that start with "tp"
  • The fourth row searches for all geometry attributes that have "tp" anywhere in their value

Also it is possible to search for multiple values of the same attribute as shown in the last row. Simply seperate the values with a semicolon.
Boolean attributes do not need any value since their existance already means they are set.
To remove a rule simply select the whole row by clicking on the left most column of the row you want to delete (left of Use Rule) and press the "delete" key on your keyboard.

Checking a rule will select all found possible testpoints of the job (the checkboxes Assign Top and Assign Bottom change the selection depending on the check state of them)

On the top right side there is an information panel showing:

  •  The currently already set testpoints of the loaded job for the top layer and the bottom layer
  •  A button to open this help page
  •  A button to select all currently set testpoints of the loaded job

Export Rules exports the currently set rules to a xml file on selected location on the machine or in a cloud
Import Rules imports rules from a file either from the machine or from a cloud
Remove all Testpoint Attributes removes the "test_point" attribute from all pads of the job
Assign Testpoint Attribute adds the "test_point" attribute to either the currently selected pads or the pads found by the selected rule (handled by the radiobuttons "using Selction" and "using Rule")
Assign Top is a checkbox that when unchecked the "test_point" attribute will not be set for the pads on the top layer
Assign Bottom is a checkbox that when unchecked the "test_point" attribute will not be set for the pads on the bottom layer

To find possible testpoints the attribute histogram is a good way to start.

Compare Jobs Testpoints

(MODE: Testpoints) 

To compare testpoints on both designs, there are several settings you should consider. At the top, there is an option tab. The comparison will just check the position, the diameter and the net, any other attribute will be ignored.

After checking the important attributes, the comparison can be started. Click the "Compare Testpoints" button to start the process. 

You have many options to define the testpoints:

After pad attributes (1), there are different options to find component testpoints (2) and in the third block you can select existing DFT sessions (3) for testpoint definitions.

The results will be shown after the waiting dialog is shut down. Before checking the results, it is necessary to know in what state the result may be.

Possible result states are:

As you can see, this overview is also available in the dialog. It shows you the summary of all results. There is also a checkbox which can be used to list only results with a different state.

Result state definition:

  • Equal: If two testpoints are equal, there haven´t been found any differences.
  • Only in active job: If the state shows "Only in active job", the testpoint is completely missing in the "Compared Job" (Second Job).
  • Only in compared job: If the state shows "Only in compared job", the testpoint is completely missing in the "Active Job" (First Job).
  • Different: The state "Different" shows you all testpoints which are different regarding to the chosen attributes.

The results which will be shown may look like the following picture.

The different colors show the result status. Clicking one result entry will show you the details below. For example:

Clicking the "different!" state result, the detail view may look like this.

The red colored attributes show you the differences between testpoints of the designs. Black colored attributes are identical. The red and black color depends on the state of the result.