Our revisions, variants and multi-sourcing features all allow you to use different variations on your root XJDeveloper project, but when is it best to use each one?
1. Use a Revision when:
- Your PCB layout changes — updated netlist, different JTAG chains, or pin mappings.
- You have an original project from which you can reuse some of the setup
- You want to save time creating the new project by bringing across shared setup between the initial project and the new revision
Example: A new version of the PCB has been created with 5 new schematic pages, a renumbering of devices and substantial layout changes. You’ll make a revision of the project to reflect the new design.
2. Use a Variant when:
- You have multiple builds based on the same PCB design but using different bill of materials (BOM)
- Some devices may be fitted or not fitted depending on the product type.
- You want all variants stored within one project and to select which variant to run tests against at runtime
Example: A base product and an industrial version use the same PCB, but the industrial version includes an additional temperature sensor. Use variants to include or exclude the sensor and its associated tests.
3. Use Multi-Sourcing when:
- You have functionally equivalent devices that can be used interchangeably in production.
- A single device file must support different possible configuration values for each test device (e.g., different manufacturer or device IDs, or different IIC addresses).
- You want the test code to dynamically try all possible sources and proceed with whichever matches the actual device.
Example: Your BOM allows either Manufacturer A or B’s SPI flash. They behave the same functionally but have different manufacturer IDs. Use multi-sourcing so the test project can dynamically detect and work with either.
Variants and Multi-Sourcing can work together: In the root project, define all possible sources for a device. Then in each variant, enable only the valid sources.
Revisions are isolated: You copy the current project state and evolve it separately.
For more information about the revisions, variants and multi-sourcing features, check out our previous blog posts listed below, or alternatively refer to the XJTAG help for XJDeveloper.
Variants: part 1, part 2, part 3, part 4, part 5
Revisions: part 1, part 2, part 3
Multi-sourcing: part 1
Leave A Comment