Source Pin State Replacement in Digital Pattern Editor

Updated Sep 27, 2023

Reported In


  • PXIe-6570
  • PXIe-6571


  • NI-Digital Pattern Driver and Digital Pattern Editor

Issue Details

I read the description of the NI-Digital Pattern Help and found that there is a new opcode source_d_replace from the 18.0 version.
How does this opcode work and how do I use it in the Digital Pattern Editor?



Source waveform data is always defined using 0’s and 1’s. Starting with NI-Digital 18.0, it’s possible to replace the 0 and/or 1 in your source waveform with a different value. 

As stated in the Help:
"This opcode enables you to use more pin states with source memory by replacing pin states 0 and 1 with pin states 0, 1, H, L, or X. You can add source_d_replace to any vector to change the interpretation of the source pin states from that vector forward."

To replace values in the source waveform, use the source_d_replace opcode and provide which pin state you want 0 to map to and which pin state you want 1 to map to. 
Valid pin states include X, L, H, 0, and 1.

This opcode can be combined with the source opcode to immediately begin sourcing with replacements. Use the opcode again to remap source pin states.


Additional Information

  • The most common use case for this is to drive an X value rather than a 1 when sourcing waveforms on open-drain busses like I2C.
  • When combined with active load enabled, replacing 1’s in the source waveform with X will cause the bus to behave as if it’s being pulled up by an external pull-up resistor.