Revision Device Matching Algorithm

The device matching algorithm attempts to identify a one-to-one mapping between devices in the source project and devices in the revision project. This mapping allows for any changes in device reference designators to be readily handled. Device categorisations can be carried across from the source to the revision project and any references to old designators can be updated. Each generated match found is assigned a percentage confidence score, representing the likelihood that the match is correct. A match may be automatically applied if its score is sufficiently above the next best match, and reaches a certain threshold. This threshold can vary depending on the device type being matched. This automates a considerable amount of the work required in creating a project revision. Only categorised devices, some devices with connections and JTAG headers in the source project are matched to devices in the revision project.

Confidence Score Breakdown

The matching process and final confidence scores are roughly broken down into four sections. A score is produced for each section; these are combined to create the confidence score. Each section may have a different relative weighting depending on the type of devices being matched.

Device Reference Section

A score for this section is generated by comparing the reference designators of the two devices. An exact match gives the maximum score of 100%; if only the designator prefixes match a large partial contribution is given. For two-pin devices a prefix match is required before any comparisons are made, so only an exact match produces a non-zero score for this category. However the overall contribution from this category to the total confidence score is greatly reduced for two-pin devices.

BOM Information Section

A score for this section is generated by comparing data in any mutual BOM fields between two devices. This comparison is case insensitive and ignores any whitespace. Partial contributions are also given for cases where one entry starts or ends with the other, which can be useful for matching device part numbers. If the BOM information has a value field its contribution is weighted twice as much as any other BOM fields. If both have resistance or both have capacitance values then they are compared numerically. If the values are equal the maximum score for that field is given. If the values are within 50% then a partial contribution is given. If no extracted numerical value is present then the value field data is compared as any other field. If there is no BOM information then this section is not included in the final confidence score.

Pin Count Section

A score for this section is generated by comparing the pin counts between two devices. Only pins present in the netlist are considered. A maximum score for this section is given for an exact pin count match. A partial score is given for pin counts within 20%. For one and two-pin devices identical pin counts are required before any matches are considered so the pin count contribution is not included for these matches.

Net Topology Section

The net topology contribution is the most detailed part of the final confidence score and often provides the largest contribution. In particular matches for one and two-pin devices have a much larger contribution from this compared to other device matches due to the absence of a pin count contribution and the reduction in weighting of the device reference contribution. The score is generated by comparing the nets on like pins (same pin number) between two devices. A score is generated for each pair, with zero given for a pair where one device is missing a pin present on the other. These scores are combined to give the final contribution to the confidence score.

Each net pair is scored based upon the net names and the pins connected to those nets. Net names are compared for equality case-insensitively. If the name of either net is identified as an automatically generated name then the contribution from the net name comparison is reduced. If the nets names are not automatically generated and the nets are Power or Ground then a partial score is given if one net name contains the other. Power and Ground nets are often split up or combined when a design is revised.

The pins on one net are compared to the pins on the other net by pin number and device reference prefix. To achieve a maximum score for this both nets must have the same number of pins, which have the same pin numbers and are on devices with matching reference designator prefixes. For each pin comparison a partial contribution is given if a pin on a device with the same prefix but differing pin number is found. Partials are identified after all full matches and each pin on one device is only matched to one other pin on the other device.

If both nets are Power, Ground or Termination Reference then the contribution from the net name and pins is reduced and a further contribution is added based on whether the both nets are of the same type. The contribution from the pins on the net is reduced as power nets will often vary between revisions making the topology less useful for identifying them.

A special case is also considered where a two-pin device has its pins connected to one Power/Ground/Termination Reference net and one digital net. The relative contribution from the digital net is increased while the contribution from the other net is reduced.