General Settings

Scan Mode

The type of Scan Mode to use in the project is set here.

Classic Scans
One single TCK frequency is used by all JTAG chains and PIO.
Optimised Scans
Each JTAG chain runs independently and TCK frequency is defined per subchain. PIO and external hardware are not limited by the TCK frequency of any chain.

New projects use Optimised Scans by default.

Projects created prior to XJTAG v4.0 open with Classic Scans mode selected.

Automatic Configuration

The Automatic Configuration checkbox defines whether or not the system will automatically set up Dynamic Chains for the project.

When Automatic Configuration is checked, it will:

  • Create one Subchain per TAP group containing all JTAG devices in its chain.

    • All external hardware will be enabled.
    • The subchain will run at the default frequency.
    • The subchain is given the same name as defined for its TAP group on the JTAG Chain screen.
  • Create one external hardware only subchain that contains all external hardware if there is any external hardware defined in the project.

  • Create one Profile containing all the subchains created above. The default Test Reset order is the external hardware only subchain followed by each TAP group in numerical order ([TDI], [TDI2], [TDI3], etc).
    On the Test Reset Sequences tab, sequences can be given a supported subchain. Therefore, subchains may have multiple compatible reset sequences available to them. The automatically generated profile will select sequences for each subchain as follows:

    • If zero sequences are available, then a built-in reset sequence is used.
    • If one sequence is available, then that sequence is used.
    • If more than one sequence is available, then the profile must be updated to specify which sequence should be applied.

N.B. Updating the reset sequence defined in a profile may affect whether that profile is still considered to be automatically generated.

For as long as automatic configuration remains enabled, the above subchains and profile are re-evaluated every time there is a change made to the JTAG chains, JTAG devices, external hardware or pin mapping in the project.

A subchain will not be automatically created if, apart from its name and TCK frequency, it would be the same as an existing subchain.

The profile will not be automatically created if one already exists using the same set of subchains.

The subchains and profile generated by Automatic Configuration are editable. If they are modified they will no longer be tracked as being automatically generated.

Disabling Automatic Configuration will present a dialog asking the user whether to keep or discard any current subchains or profile marked as being automatically generated.

New projects have Automatic Configuration enabled by default.

Update Intervals

Update to update

Sets the minimum interval in nanoseconds between each scan update or change in output. This applies to pins driven by JTAG, PIO and synchronised external hardware. The range of values is between 0 nanoseconds and 100000000 nanoseconds (100 milliseconds). The effective value can be updated at runtime using the SET_UPDATE_TO_UPDATE_INTERVAL function. Later calls to RESET_UPDATE_TO_UPDATE_INTERVAL will revert to the initial behaviour as defined by the project setting.

The update to update interval does not define any limit on the time between the update (change in output) of one scan and the capture (values being read) of the next. The update to capture interval controls the minimum time for that.

It does not modify the TCK frequency of any JTAG chain. Rather it will only delay the JTAG transition to update if it would otherwise be faster than the interval.

The available options differ depending on the Scan Mode selected:

  • If Classic Scans are selected, then the default option is to track the circuit frequency, which applies an interval that reflects the project TCK frequency. Any calls to SETFREQ will affect the minimum update interval, however using SETFREQ to change the speeds of PIO or External Hardware is discouraged from XJTAG v4.0 onwards. Calling SET_UPDATE_TO_UPDATE_INTERVAL will override this setting and apply a fixed minimum interval that will not change with the project TCK frequency; later calls to RESET_UPDATE_TO_UPDATE_INTERVAL will reset the interval back to tracking the project TCK frequency. If Override is selected, then instead of tracking the circuit frequency, the given constant minimum interval will be applied. Calling SET_UPDATE_UPDATE_INTERVAL will change this fixed minimum interval, and later calls to RESET_UPDATE_TO_UPDATE_INTERVAL will reset the minimum interval back to the minimum interval defined here in the project. If the speed of PIO needs limiting, then the Override option should be selected with the required interval.
  • If Optimised Scans were selected, then a constant minimum interval is applied regardless of any subchain frequencies. The default value for this is 10000 nanoseconds (10 microseconds). Calls to SET_UPDATE_TO_UPDATE_INTERVAL will change the minimum interval at runtime, and RESET_UPDATE_TO_UPDATE_INTERVAL resets the minimum interval back to the project setting. In Optimised Scans mode, setting this interval is the only way of limiting the speed of PIO writes.
Update to capture

Sets the minimum interval in nanoseconds between an output changing and the next read performed. This applies to pins driven by JTAG, PIO and synchronised external hardware. The range of values is between 0 nanoseconds and 100000000 nanoseconds (100 milliseconds). The effective value can be updated at runtime using the SET_UPDATE_TO_CAPTURE_INTERVAL function. Later calls to RESET_UPDATE_TO_CAPTURE_INTERVAL will reset the minimum interval back to the project setting.

It implicitly limits the minimum update to update interval to being at least as long as the update to capture interval.