The Class Generation tab of the Project Options dialog
Summary
This tab of the Project Options dialog enables you to configure and control class generation. Classes are a logical collection of a particular type of design object. For example, a group of related components could be grouped into their own Component Class, which could then be used as the basis for creating a targeted rule. This tab provides controls to determine which classes are automatically generated and which user-defined classes are generated when the source schematic documents are synchronized with the PCB design document.
Access
This tab is one of multiple available when configuring the options for a project and is accessed from within the Project Options dialog. To access the Project Options dialog:
From the PCB or schematic editor, click Project » Project Options.
Right-click on the project name on the Projects panel then click Project Options from the context menu.
Options/Controls
Automatically Generated Classes
Generate Net Classes for Buses - check this option to automatically generate a net class for each bus in the design. The members of a class will be the individual constituent nets of the bus (from which that class was generated).
A generated net class will be named using the name of the bus.
Generate Net Classes for Components - check this option to automatically generate a net class for each component in the design. The members of a class will be the associated nets to which the pins of the component (from which that class was generated) are connected.
A generated net class will be named using the designator of the component in the format <ComponentDesignator>_Nets.
Generate Separate Net Classes for Bus Sections - check this option to automatically generate a separate net class for each bus section. A bus section is created by specifying a bus which is actually a section of a larger bus, for example, D[15..8], from the bus D[15..0].
Generate Net Classes for Named Signal Harnesses - enable this option to automatically generate a net class for each named signal harness in the design. The members of a class will be the nets associated with the signals gathered by the named signal harness (from which the class was generated).
A named signal harness is one that has a net label attached to it. A generated net class will be named using the name of the net label attached to the signal harness.
Sheet-Level Class Generation Grid - this region allows you to control the automatic generation of component and/or net classes at the individual schematic sheet level. All source schematic sheets for the project are listed with the following information presented for each:
Sheet Name - the name of the schematic document.
Full Path - the absolute path to the folder in which the document resides.
Component Classes - check this option to have a component class generated for the sheet.
Net Classes Scope - use this field to determine whether to have a net class generated for the sheet and, if so, the scope of generation. The field's drop-down provides the following choices:
None - do not generate a net class for this sheet.
Local Nets Only - generate a net class for this sheet but only containing member nets that are local to the sheet.
All Nets - generate a net class for this sheet that contains all member nets associated with the sheet (local and those that go elsewhere).
Structure Classes Generate Structure - check this option to have a structure class generated for the sheet.
A Structure Class is a special type of class that can hold, as its members, any type of class (net class, component class, etc.). By automatically generating a Structure Class from each schematic sheet in the project – containing components and/or nets – when transferring the design to the PCB, the structure of the project can be faithfully represented on the PCB side. Structure Classes not only allow for the reproduction of the schematic document structure within the PCB domain, for advanced navigation, but can also be used in logical queries, for example when scoping design rules, or filtering.
Enable/disable component class generation or set the scope for net class generation as a whole using commands available from the right-click context menu for a column. Multiple sheet entries can be selected using standard multi-select techniques (Ctrl+click, Shift+click, click&drag).
For components and/or nets on the top sheet, the respective component and/or net class will be named using the schematic document name. For components and/or nets on child sheets, the respective component and/or net classes will be named using the sheet symbol designators.
The text at the bottom of this region dynamically changes based on the choices made and provides a summary of which classes will be automatically generated.
User-Defined Classes
Generate Component Classes - check this option to generate user-defined component classes when the design is transferred to the PCB. Component classes are manually defined on the schematic by adding a ClassName parameter to targeted components and setting its value to the desired class name.
Generate Rooms for Component Class - check this option to generate rooms based on the user-defined component classes. These components need to have the component parameter with 'ClassName' as its parameter name.
Generate Net Classes - check this option to generate user-defined net classes when the design is transferred to the PCB. Net classes are manually defined on the schematic through the use of the Net Class directive. To make a net a member of a Net Class, attach a Net Class directive to the relevant wire or bus (or a blanket) and set the value of its ClassName parameter to the desired class name.
Set To Installation Defaults - click to set all options to installation defaults.
Notes
To generate classes (automatic and/or user-defined) when transferring the design to the PCB, you must ensure that the respective Comparator settings have been set to Find Differences on the Comparator tab of the Project Options dialog, as follows:
Net Classes - set the Extra Net Classes comparison type (in the Differences Associated with Nets category) to Find Differences.
Component Classes - set the Extra Component Classes comparison type (in the Differences Associated with Components category) to Find Differences.
In addition, on the ECO Generation tab of the Project Options dialog, you must ensure that the respective ECO settings have been set to Generate Change Orders.
Net Classes - set the Add Net Classes modification type (in the Modifications Associated with Nets category) to Generate Change Orders.
Component Classes - set the Add Component Classes modification type (in the Modifications Associated with Components category) to Generate Change Orders.