Not Enough Space in Source Memory of Digital Pattern Instrument Error

Updated Feb 19, 2025

Reported In

Hardware

  • PXI Digital Pattern Instrument

Driver

  • NI-Digital Pattern Driver

Issue Details

I have a test program that I am running on a large number of DUTs in TestStand.  After running correctly for many DUTs, I see the following error returned to TestStand from the niDigital Write Source Waveform (Site Unique U32).vi:  Error -1074118612, There is not enough available space in source memory.  

sourcewaveformerror.png

In my test program, we are using a multi-instrument session to synchronize multiple Digital Pattern Instruments and only ever overwriting our originally defined and loaded source waveforms with new data of the same length.  In this situation, the source memory should not fill up as it is only ever being overwritten.

Solution

This behavior was identified as a bug in the NI-Digital Pattern Driver's implementation of 'niDigital Write Source Waveform (Site Unique)'.  When making a site unique source waveform write in a multi-instrument session, the call is repeated for every instrument in the session.  If one of the instruments in the session contains a pin defined in the source waveform, but not for the specific site specified in the call, this instrument will incorrectly allocate source waveform memory space for the source waveform write.  Because this allocated memory does not actually contain a defined waveform, it is not overwritten in future calls and therefore fills up the device memory if called continuously.

Multiple workarounds for this issue have been identified:
  • Configure your pinmap to group all source waveform DUT pins for all sites to a single instrument in the multi-instrument session.
  • Periodically clear the device memory.
    • This can be done explicitly for open sessions by calling 'niDigital Unload All Patterns'.  After doing so, you will need to reload the patterns and source/capture waveforms you want to use later.
    • This can also be done implicitly by closing the device session or resetting the device.
  • Use one session per instrument instead of multi-instrument sessions.
    • Will need to use another method to synchronize pattern bursts among instruments.
      • see Related Link below

Additional Information

The bug described in this article affects NI-Digital Pattern Driver versions up to 2023 Q2.  It is fixed in 2023 Q3.