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 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 an important CSET called
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 pick the PART_TYPE.
The User is presented with a flexible GUI interface which allows them to add PART_TYPE rules.
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 the usually the name of the symbol used to add the part in a design. This is an easy rule to differentiate a POLARIZED capacitor vs a NON-POLAR cap 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, starting with C can be mapped to CAPACITOR, but is more difficult to assign a more specific Part Type based on the refDes
DESCRIPTION-
The Description Property if present is a valuable property to differentiate between specialized partTypes 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.
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 Customize Rules/Setting Button on the Main Gui, and then selecting the Part Type Rules Button from the Menu 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
A quick video is probably the best way to describe the operation of this interface.
Top Buttons
Apply to Old/New Design Pulldown
Send Configuration To NetBom
Load From File
Save To File
Quit and Close
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 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 of (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.
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.
Demo Video
A quick video is probably the best way to describe the operation of this interface.
Add Comment