Part Type Identification
- 1 Overview
- 2 Part Type Classification by Property
- 3 How To Customize
- 3.1 PART_TYPE_CONFIG_FILE Location
- 3.2 Part Type Configuration GUI
- 3.2.1 Launching the GUI
- 3.2.2 HTML Configuration Page
- 3.3 Property Mapping Configuration Tables
- 3.4 Assigning the Part Types
- 3.5 Related CSETS
- 3.5.1 NET_TRACE_COMPONENT_STOP
- 3.5.2 POLAR_CAP_PART_TYPES
- 3.5.3 POWER_RAIL_CAP_PART_TYPES
- 3.6 Helpful Hints
Overview
When processing the Parts In a Design, it is very useful to be able to assign a PART_TYPE based on properties extracted for each Part. NetBom provides the user with a flexible system to control the PART TYPES and how parts are assigned to a Part Type.
The list of Part Types that can be assigned is virtually unlimited. For instance, the user can classify parts as IC, POWER_MODULE, CAPACITOR, INDUCTOR, RESISTOR, CONNECTOR, FUSE, MOSFET, BIPOLAR, TRANSFORMER, FERRITE.
Proper PART_TYPE identification is very important in the Net Tracing algorithm, Power Rail Identification, and for many of the individual Design Audit Reports. The Net Tracing Algorithm uses several important CSETs that can be read more about in Net Tracing - Product Documentation.
NetBom provides a configurable PART_TYPE Identification system that uses pattern recognition to determine a known Part Type for the parts extracted from the input designs. Given that rules to identify part types can vary based on customer designs and need, this system has been expanded to allow for full customization.
The matching rules use groups of regular expressions that are executed in a controlled sequence to find the PART_TYPE.
The User is presented with a flexible GUI interface that allows them to add PART_TYPE rules. This GUI can be accessed through the Configure NetBom Settings → Configure Part Types dropdown options in NetBom. Clicking on one of the Edit buttons in the GUI that comes up will open the part type rule editor GUI.
For customers that want assistance with creating a part-type rule sets, this service is available.
Part Type Classification by Property
A set of Part Type Mapping Rules can be added for each of the following Part Properties. The user can create as many PART_TYPE classifications as they like.
PART_NUMBER-
Companies that use intelligent part-numbering schemes can take advantage of PART_NUMBER pattern matches to assign part types.
PART_NAME-
The Part Name is usually the name of the symbol used to add the part to a design. This is an easy rule to differentiate a POLARIZED capacitor from a NON-POLAR capacitor because they typically use different symbols.
REF_DES-
Reference Designators are a great fallback to map a part to a PART_TYPE… a REF_DES starting with U can be mapped to IC, and starting with C can be mapped to CAPACITOR, but is more difficult to assign a more specific Part Type based on the Reference Designator.
DESCRIPTION-
The Description Property if present is a valuable property to differentiate between specialized Part Types like IC, PowerModule, Oscillator, XTAL
Each of these sets is run in the sequence chosen by the user, with each set being sorted by rule length, and the rules executed in order of shortest to longest.
How To Customize
NetBom starts with a default set of Rules to Identify Part Types. The user can override these rules with a JSON
formatted configuration file typically named part_type_config.json.txt.
This file can be edited by a user familiar with the JSON format, but it's much safer to create and edit it using the PartType Configuration Gui provided by NetBom.
Access the part type editor by clicking on the Configure NetBom Settings button in the main NetBom window, selecting Configure Part Types from the drop-down options, and clicking on one of the Edit buttons in the CSet viewer window popup.
PART_TYPE_CONFIG_FILE Location
The location of the file is set by the PART_TYPE_CONFIG_FILE CSET. If this CSET specifies the full path to the config file, (and that file exists) the file at that location will be selected. If the CSET only contains the file name, NetBom will search for that file first in the local directory first and then in the SITE directory. This allows the user to have a Global set of rules in their SITE Directory but override it in their local design work directory for special cases.
Part Type Configuration GUI
Launching the GUI
The Part Type Configuration GUI is started using the Configure NetBom Settings in the Main window, and then selecting the Configure Part Types from the drop-down. Then, select one of the Edit buttons in the CSet editor that pops up.
This will launch your web browser with the Configuration GUI (and NetBom will wait for the user to either quit or send back the modified configuration Data
HTML Configuration Page
The part type editor has several sections that perform different functions.
The top red section contains the options for the user to finish editing, load existing settings, save existing settings to a file, or quit entirely without saving. The far left drop-down allows the user to choose which design (new/old/both) the current part type config will apply to (default is both).
The green section is the configuration priority. Each part type config group (part number, refdes, etc) has a priority, and this drop-down indicates the matching execution priority for each group. In the image above, NetBom will first try to determine the part type based on part number, and if it is unable to find a part type based on part number it will continue to the part name.
The blue section is a matching configuration. The far left box is the name of the part type - this is configurable by the user and can be anything but comes with a pre-filled section of basic part types. The middle box contains the RegEx matching rules for that particular part type. And the far right box is a button that will delete the row.
The final purple section allows the user to add additional part type rows to the bottom of the list.
Property Mapping Configuration Tables
The Browser Config Page provides a separate table for each of the properties used to map a selected Part to a PartType. For each Property, you can add or delete a row to map that property to a named PART TYPE.
In the picture above you can see the Full Table for the Part Number Property, followed by the Start of the Table for the Part Type property.
Each row in the table contains the Name of the Part Type and a list of comma separated pattern matches to map the property value to the Part Type. If no Pattern Matches are provided the selected property will not be used to map a part to this Part Type. The user can add or delete Part Type mapping rows in each of the tables.
The Order (or Priority) of the Property used to identify the part Type can be controlled by the Priority Pulldown… If the priority of a Mapping Property is changed, that Property’s Mapping Table will be moved accordingly so that the layout of the page shows the order of the sequence of properties that NetBom will be using to assign a Part Type.
Assigning the Part Types
For each part in the design, NetBom iterates through these tables in the configured sequence. It builds a list of every pattern match in the mapping table. The list of match patterns is sorted by the length (so that the most specific matches will be checked first) and the first match that matches the current part property is used to assign the Part Type for that part. If no match is found for the Property, then NetBom chooses the next property in the priority list and checks all the pattern map matches set for it until an actual match is found. If no matches are found the final PART_TYPE for that part is left blank.
Related CSETS
When defining different Part Types, it is important to remember that the NetBom Net Tracing and Power Rail Identification Functions rely on Part Types.
NET_TRACE_COMPONENT_STOP
This CSET is very important as it is used to identify starting and stopping points for the Net Traces. If you add a specialized Part Type like Memory, NPU, or Power Module for high pin count parts, you should add them to this CSET.
POLAR_CAP_PART_TYPES
This CSET is used to map the Names you used to identify Polarized Capacitors from your netlists to NetBom's view of Polarized Capacitors.
POWER_RAIL_CAP_PART_TYPES
This CSET is used to identify what PART_TYPES should be considered a CAPACITOR when NetBom is identifying Power Rails.
Helpful Hints
When configuring your Part Type Mapping Rules, It helps to run the Convert Operation (or Diff Netlists) on the design with the default Mapping Rules. The PartList Report can be used to see what Part Types need to be adjusted.