Accessing Unused Data Pins of the Parallel Port

Frozen Content

Communication over both Hard Devices and Soft Devices JTAG chains simultaneously is not supported. Where use of both channels has been defined – in the associated JTAG Board file – a channel needs to be initialized (prior to using it) and then finalized (after communications over the channel have ceased). This initialization and finalization is handled by Altium Designer using the Data Bus of the PC's parallel port.

Any pins of the Data Bus that are not assigned to JTAG communications may freely be accessed and used for other purposes. For example, you may want to make available an additional signal that indicates which channel is currently in use.

To provide access to unused pins of the Data Bus, the following additional parameters are definable in a JTAG Board file:

  • DataBackground – the value assigned to this parameter is used to initialize the current channel. This value is output on the Data Bus of the parallel port (D7..D0). Any pins of this bus assigned for JTAG must be set (High).
    In the predefined Xilinx.JTGBRD file, the value used for this parameter is F7h. This value sets all lines of the Data Bus High, with the exception of D3 (i.e. 11110111). Lines D0, D1, D2, D5 and D7 have been assigned for JTAG and are therefore set high accordingly. D3 is, as an example, being used as a status signal to show whether a channel is in use. At channel initialization it is set Low.
  • DataFinal, Mask_DataFinal – together, these two parameters are used to finalize use of the present channel. The value of each bit in DataFinal is written onto the data bus ONLY if the value of the corresponding bit in Mask_DataFinal is set. Again, any pins of this bus assigned for JTAG must be set (High).
    Continuing to look at the predefined Xilinx.JTGBRD file, the value 08h is defined for the DataFinal parameter and the value used for the mask (Mask_DataFinal parameter) is set to 08h also. With these values defined, use of the current communications channel will be finalized and the value xxxx1xxx written onto the data bus (D7..D0). D3, which in this example is being used to provide channel communications status, is taken High.


You are reporting an issue with the following selected text and/or image within the active document: