How Does TDR API Work in an NI Digital Pattern Instrument?

Updated May 17, 2024

Reported In


  • PXI Digital Pattern Instrument
  • PXIe-6570
  • PXIe-6571

Issue Details

  • I have an NI Digital Pattern Instrument wired to my DUT. When I enable TDR, what behavior can I expect? 
  • If I enable TDR using the NI Digital API in my program, is it taken into account if I alter the time sets later in my program?


When a TDR offset is applied, there is a change in the NI Digital Pattern Instrument to drive signals early so that it arrives at the DUT at the appropriate time, to compensate for the flight time. In a similar way, for sampling, the instrument will sample late by the flight time to give the signal an opportunity to travel from the DUT back to the tester pin. 

When using TDR functions in the API (LabVIEW, C, .NET, Python, etc) to enable and configure your offset, you don't need to manually add the TDR offset to the following timing edges, or modifications. It is taken into account automatically. For example:
  • Once you apply the TDR offsets using the nidigitalApplyTDROffsets function, or the nidigitalTDR function with nidigitalApplyTDROffsets = TRUE, then the driver/firmware automatically applies these offsets on all subsequent operations. In other words, you don't need to manually add the TDR offset to your timing values. 
  • If your TDR offsets need to be changed later in your application, then you should call ApplyTDROffsets again to apply the new offsets.

Additional Information

More details about how TDR works can be found in the document Understanding How TDR Works with the Digital Pattern Instrument.