Choosing between the FIFO Interface Options

Understanding the available FIFO interface options can help you reduce the amount of code required to implement timeout and handshaking protocols for FIFOs. The FIFO interface options change the inputs and outputs available on certain FIFO methods. To select between the timeout and handshaking interfaces, right-click a FIFO Method Node that invokes a Read or Write method within a single-cycle Timed Loop and select Interface»Timeout or Interface»Handshaking from the shortcut menu.

The following table helps you determine which FIFO interface best suits your application.

Interface What Does It Do? When Is It Available for Use?
Timeout Specifies a time, in number of clock ticks, that the method waits to complete an operation before it returns a timeout. The timeout interface helps you handle unresponsive devices or sections of code by enabling the following inputs and outputs: Timeout and Timed Out?. This interface is the default interface available on all FIFOs that invoke the Read, Write, or Flush and Disable methods.
Handshaking Facilitates communication between upstream and downstream nodes in high throughput applications. The handshaking interface reduces the amount of logic needed to implement a handshaking protocol by enabling the following inputs and outputs on the FIFO Method Node: Input Valid, Ready for Output, Output Valid, and Ready for Input. This interface is available only within a single-cycle Timed Loop for FIFOs that invoke Read or Write methods. Additionally, some targets do not support the handshaking interface for peer-to-peer and DMA FIFOs. LabVIEW returns a compile time error for FIFOs that do not support the handshaking interface.