Sample: PipeTest

The PipeTest sample is helpful in testing and verifying bulk transfers. The sample allows you to do the following:

  • Perform bandwidth tests at full rate with various block and length settings
  • Perform bandwidth tests using block throttling to restrict data flow
  • Perform pattern tests with optional verification and error injection
  • Perform pipe transfer stress tests

Usage Information

Usage: PipeTest bitfile [serial S] [repeat N] [pattern lfsr|sequential|walking1|walking0|hammer|neighbor|fixed F] [throttlein T] [throttleout T] [check] [inject] [blocksize B] [segmentsize S] [stress] [bench] [read N] [write N] serial S - Optionally specify serial S of device to test. bitfile - Configuration file to download, alternatively specify \"nobit\" to skconfiguration. repeat N - Repeats the requested tests for N seconds (\"inf\" to run forever). pattern - Set pattern to one of the supported patterns. lfsr - [Default] Selects LFSR psuedorandom pattern generator. sequential - Selects Counter pattern generator. walking1 - Selects Walking 1's pattern generator. (USB 3.0 only) walking0 - Selects Walking 0's pattern generator. (USB 3.0 only) hammer - Selects Hammer pattern generator. (USB 3.0 only) neighbor - Selects Neighbor pattern generator. (USB 3.0 only) fixed F - Selects a fixed pattern defined by hex input F. (USB 3.0 only) throttlein - Specifies a 32-bit hex throttle vector (writes). throttleout - Specifies a 32-bit hex throttle vector (reads). check - Turns on validity checks. inject - Injects an error during data generation. blocksize B - Sets the block size to B (for BTPipes). segmentsize S - Sets the segment size to S. stress - Performs a transfer stress test (validity checks on). bench - Runs a preset benchmark script and prints results. read N - Performs a read of N bytes and optionally checks for validity. write N - Performs a write of N bytes and optionally checks for validity.