1 Introduction
This guide goes through the steps for installing the driver for the purpose of running Xillybus / XillyUSB on a Windows host. How to try out the basic functionality of the IP core is also shown.
This guide assumes that a bitstream which is based upon Xillybus’ demo bundle has already been loaded into the FPGA, and that the FPGA has been recognized as a peripheral by the host (through PCI Express or USB 3.x).
The steps for reaching this stage are outlined in one of these documents (depending on the chosen FPGA):
The host driver generates device files which behave like named pipes: These device files are opened, read from and written to just like any file. However, these files behave in a similar way to pipes between processes. This behavior is also similar to TCP/IP streams. To the program running on the host, the difference is that the other side of the stream is not another process (on the same computer or on a different computer on the network) but instead, the other side is a FIFO inside the FPGA. Just like a TCP/IP stream, the Xillybus stream is designed to work efficiently with high-rate data transfers, but the stream also performs well when small amounts of data are transmitted occasionally.
One single driver on the host is used with all Xillybus IP cores that communicate with the host through PCIe. A different driver is used with XillyUSB.
There is no need to change the driver when a different IP core is used in the FPGA: The streams and their attributes are automatically detected by the driver as the driver is loaded into the host’s operating system. The device files are created accordingly, with file names of the format \\.\xillybus_something. Likewise, the driver for XillyUSB creates device files with the format \\.\xillyusb_00_something. In these file names, the 00 part is the index of the device. This part is replaced with 01, 02 etc. when more than one XillyUSB device is connected to the computer at the same time.
More in-depth information on topics related to the host can be found in Xillybus host application programming guide for Windows.
