Preparing Validation Reports in Altium Designer

Created: December 30, 2022 | Updated: December 30, 2022
Applies to Altium Designer versions: 23 and 24

Parent page: Preparing Manufacturing Data with Output Jobs

The software includes a number of validation checks, which can be included as an output, during output generation. Each produces an HTML report file.

Validation outputs can be added to the active Output Job file from the menu of the [Add New Validation Output] control in the Validation Outputs region of the file or from the Edit » Add Validation Outputs sub-menus of the main menus.

Note that the setup for these validation reports is held in the OutputJob. When you configure a validation check elsewhere in the software the settings are held with that file - for example, the settings for project error checking are stored in the project file, PCB DRC settings are stored in the PCB file.
Using validation reports defined in an assigned Output Job file provides the ability to validate your designs as an integral part of its board design release process. These validation checks will be performed on every release and the release will fail if any validation checks are not passed successfully. This gives you additional peace of mind that costly errors do not creep in to your released designs due to last minute changes. Validation is run at the Validate Design stage of the process flow within the PCB Release view. In Design Mode, the validation checks are performed directly on your project, before outputs are generated. In Release Mode, the release flow first builds a self-contained snapshot from your project that includes all project documents and external dependencies, and the validation checks are performed on this snapshot. This provides additional security that the snapshot has correctly captured all the required dependencies for your project.

Validating Component Status

Workspace Components offer the designer a formal collection of high-quality, high-integrity, design building blocks. Revision-controlled and lifecycle-managed, a company can authorize the component library that can be formally used by their designers, in each new design project embarked upon within that company. However, while components may be authorized for design reuse, there also needs to be automated checking at the release validation stage, to verify that they are indeed in the right state to be used.

Altium Designer, in conjunction with your connected Workspace, provides an elegant solution to this, in the form of Component State Checking. A validation-based outputter is available for addition to an Output Job file – Components states. This can be configured to check for components that are in restricted states. As part of configuration, you determine the action to be taken for each currently defined state, of each currently defined Lifecycle Definition in the Workspace – no action, a warning, or generate an error. The latter will prevent release of the design. In addition, running the check will generate a handy HTML-based report, allowing you to see at-a-glance which design components are not in valid states.

When connected to an Altium 365 Workspace, note that configuration and use of lifecycle definitions are not supported with the Altium Designer Standard Subscription. As such, the ability to configure a Component State Checking validation outputter will not be available.
Issues with using design items in restricted states can also be detected much earlier in the design cycle, during project validation. This concerns an Item Revision's applicability based on its current state, and whether it is allowed to be used in designs while in that state. This is controlled through use of a dedicated attribute at the individual state level. A project violation can be configured to detect and flag any Workspace items being used in a design, whose revisions are in non-applicable states – catching and averting issues prior to release. For more detail, see the Controlling Item Revision Visibility and Applicability section of the Defining Lifecycle Definitions for a Workspace page.
With Altium Designer Enterprise Subscription and when enforcing the working environments of your designers through the use of Environment Configurations, you can ensure the use of the Output Job file in which component state checking has been defined. To do so, make sure the Output Job file permitted for use through the applicable environment configuration is marked as required – by enabling its Req'd attribute. If an OutJob defined as part of an environment configuration is marked as required, then release will not be possible until that OutJob is present and enabled for inclusion in the relevant data set being generated as part of project release. For more information, see Managing Environment Configurations.

Add an output generator of this type from the Validation Outputs section of the OutJob file. Configuration is performed in the Server objects State validation dialog.

To access this configuration dialog, either double-click on the entry for the outputter, right-click on its entry and choose Configure from the context menu, or select its entry and use the Alt+Enter keyboard shortcut.

Add and configure a component state check as part of your overall validation regimen during board design release.
Add and configure a component state check as part of your overall validation regimen during board design release.

  • Settings – the grid presents all lifecycle definitions defined for the target Workspace.

    • Lifecycle Definition – use the collapse/open control for each Lifecycle Definition to close/open the details for each listed definition.
    • Component State – lists the current component state. This field is not editable.
    • Description – lists the description of the current Component State. This field is not editable.
    • Check Action – click in the field to access a drop-down from where you can select the desired action. Choices include:

      • None
      • Warning
      • Error

        Revisions of components used in the design that are in a restricted state (i.e. Check Action has been set to Error) will prevent the release of the design project.
      The generated HTML report file will list all warnings and errors.
      A release will be validated when there are no components with a Check Action status of Error.
  • Update from server – use to refresh the dialog with the latest lifecycle definition information directly from the Workspace.

The dialog presents all lifecycle definitions defined for the Workspace to which you are actively connected. For each definition, each uniquely defined state is listed, along with its description. For each state associated with a lifecycle definition you employ for components in your designs, simply specify the checking action to be taken. Click within a state's Check Action field and select the required action from the associated drop-down menu. Available checking options are None, Warning, and Error.

Click the button to refresh the dialog with the latest lifecycle definition information, directly from the Workspace.

Revisions of Component Items used in the design that are in a restricted state (one whose Check Action has been set to Error) will prevent the release of the board from happening. The generated report file will list all warnings and errors.

Example board release failing at the validation stage while checking component states. Hover over the image to see the generated report. Here, the design is found to contain four components that are in a restricted lifecycle state, and the release process is terminated in failure.
Example board release failing at the validation stage while checking component states. Hover over the image to see the generated report. Here, the design is found to contain four components that are in a restricted lifecycle state, and the release process is terminated in failure.

If you are using Workspace output job templates, ensure the component state check is added to the relevant source Output Job file and configured BEFORE releasing that OutJob to the Workspace. Once released, the revision of the OutJob file – specifically the configuration of an output generator – can not be changed. You would need to make changes and re-release into the next planned revision of the target Item. For more information, see Preparing Manufacturing Data with Output Jobs.

Preparing an Environment Configuration Compliance Check Report

The Environment Configuration Compliance Check provides a means to conclusively test and enforce the use of company-authorized data elements in a design – i.e. if you are not using data items permitted through the environment configuration available for use by your assigned role, the release will fail. This prevents a 'loose cannon' approach to design and ensures adherence to and compliance with the working design environments determined centrally at the enterprise level.

Refer to the Environment Configuration Management page (Altium 365 Workspace, Enterprise Server Workspace) to learn more.

The required report is configured in the Environment Configuration Compliance Setup dialog.

The Environment configuration compliance setup dialog
The Environment configuration compliance setup dialog

  • Each released schematic document must use one of the following managed template - check this option to add a managed template(s). This determines which managed schematic templates can be used by source schematic documents in the design. 
    • Add - click to open the Choose Item dialog to select the desired template.
    • Remove - click to remove the selected template(s) from the list.
  • All outputs must be defined by some of the following managed outjob files - check this option to add a managed outjob file(s). This determines which managed output job items can be used to generate outputs from the design. 
    • Add - click to open the Choose Item dialog to select the desired file(s).
    • Remove - click to remove the selected file(s) from the list.
  • At release time, the following managed preferences must be used - check this option to select the managed preferences that must be used upon release. Use  to select the desired preferences.
  • All parts should come from a server - check this option to ensure that all parts in the design come from a server. If this option is checked and one or more parts are not from a server, the validation will fail.

Preparing a Differences Report

The Differences Report output generator produces a report that details differences between the project's source schematic and PCB documents.

The required report is configured in the Differences Setup dialog.

The Differences Setup dialog
The Differences Setup dialog

  • Comparison Type Description/Mode - this is a list of all differences that are available to be checked and reported. Click the entry in the Mode column to choose from the following comparison types:
    • Ignore Differences
    • Find Differences
  • Set To Project Default - click to revert to the default settings.

Preparing an Electrical Rules Check Report

The Electrical Rules Check output generator produces a report that details violations of drafting and electrical checks for the project's source schematic documents.

The required report is configured in the Electrical Rules Check Setup dialog.

The Electrical Rules Check Setup dialog
The Electrical Rules Check Setup dialog

The chosen settings can be stricter or more lenient than the settings defined in the Project Options for your project. You can reset the settings of your Electrical Rules Check to the same as your Project Options by clicking the Set To Project Default button.

Columns Tab

  • Validation - use the drop-down to define the maximum tolerated error level when using the ERC output generator as part of validation during the board design release process. The validation stage of the release process flow (in either Design or Release modes) uses the checking defined in the Output Job only and not the project-level ERC checking. In this way, you can define an even more restrictive/rigid set of checks to be passed, in turn ensuring even higher integrity of the design data. Options include: .      
  • Suppressed Errors - enable this option to report any suppressed errors.
  • Show Columns - choose which columns are to be displayed in ERC report. Options include Class, Document, and Message. As selections are made, the Preview region is updated to show column settings.
  • Preview - shows the current errors detected for the design, based on validation using the error checking defined on the tabs within the dialog. Change a checking level and the design is re-validated (recompiled) dynamically, and the preview region is updated. Use the options in the Show Columns region to toggle display of the corresponding columns within the preview area.

Error Reporting Tab

This tab enables you to define the reporting levels for each of the possible violations that can exist on source schematic documents when compiling the project. When the project is compiled, these violation settings will be used in conjunction with the Connection Matrix tab to test the source documents for violations. Any violations that are found that have a report level of No ReportWarningError, or Fatal Error will be displayed as violation messages in the Messages panel. In addition, if compiler errors and warnings are enabled for display on the schematic (enabled on the Schematic - Compiler Preferences page of the Preferences dialog), an offending object will display a colored squiggle beneath it.

Violations Grid

This region presents all possible violations that can exist on the source documents of the project. Violations themselves are gathered into the following categories:

Each specific violation type is presented with the following fields:

  • Violation Type Description - a short description of the type of violation.
  • Report Mode - use this field to specify the severity level associated with violating the check. Use the drop-down to choose from the following reporting levels:

Right-Click Menu

The following commands are available from the right-click menu:

  • All Off - set the Report Mode for all violation types to No Report.
  • All Warning - set the Report Mode for all violation types to Warning.
  • All Error - set the Report Mode for all violation types to Error.
  • All Fatal - set the Report Mode for all violation types to Fatal Error.
  • Default - set the Report Mode for all violation types back to their default settings.
Multiple violation types can be selected using standard multi-select techniques (Ctrl+click, Shift+click).

Notes

  • Use the Connection Matrix tab to specify reporting levels associated with electrical violations concerning pins, ports and sheet entries specifically.
  • There may be points in the design that you know will be flagged as electrical violations that you do not want to be flagged. To suppress these, place a No ERC schematic design directive object at those points.
  • Generally, it is better to first compile the design and examine the warnings with the default settings. For those warnings that are not an issue for the current design, the reporting level can be changed.

Connection Matrix Tab

This tab displays a matrix that provides a mechanism to establish connectivity rules between component pins and net identifiers, such as Ports and Sheet Entries. It defines the logical or electrical conditions that are to be reported as warnings or errors. For example, an output pin connected to another output pin would normally be regarded as an error condition, but two connected passive pins would not.

When the project is compiled, these violation settings will be used in conjunction with the defined settings on the Error Reporting tab to test the source documents for violations. Any violations that are found and have a report level of No Report, Warning, Error, or Fatal Error will be displayed as violation messages in the Messages panel. In addition, if compiler errors and warnings are enabled for display on the schematic (enabled on the Schematic - Compiler page of the Preferences dialog), an offending object will display a colored squiggle beneath it.

Matrix

The matrix presents all possible wiring connection checks, between combinations of pins, ports, and sheet entries, as well as testing for unconnected entities. The matrix is read in an across/down fashion and the color of the matrix element at the row-column intersection specifies how the compiler will respond when testing for that particular condition.

To change the reporting mode for a violation check in the matrix, simply click on the colored square where the row and column of two entities intersect. Each time you click, the mode will move to the next report level. The following levels are supported:

As you hover over a square, text is displayed below the matrix to describe the violation and the reporting mode.

Right-Click Menu

The following commands are available from the right-click menu:

  • All Off - set all entries in the matrix to No Report.
  • All Warning - set all entries in the matrix to Warning.
  • All Error - set all entries in the matrix to Error.
  • All Fatal - set all entries in the matrix to Fatal Error.
  • Default - set all entries in the matrix back to their default settings.

Notes

  • Use the Error Reporting tab to specify reporting levels associated with further electrical and drafting violations.
  • There may be points in the design that you know will be flagged as electrical violations that you do not want to be flagged. To suppress these, place a No ERC schematic design directive object at those points.

Additional Control

  • Set To Project Default - click to return all settings to the same as your Project Options.
Found an issue with this document? Highlight the area, then use Ctrl+Enter to report it.

Contact Us

Contact our corporate or local offices directly.

We're sorry to hear the article wasn't helpful to you.
Could you take a moment to tell us why?
200 characters remaining
You are reporting an issue with the following selected text
and/or image within the active document: