1 引言
Xillybus 是一个基于 DMA 的端到端解决方案,用于 FPGA 与运行 Linux 或 Microsoft Windows 的主机之间的数据传输。它为 FPGA 逻辑 设计者和软件程序员都提供了简单直观的接口。
如上图所示,FPGA 上的应用逻辑只需与标准 FIFO(先进先出队列)进行交互。
例如,向图中的下方 FIFO 写入数据,将使 Xillybus IP 核感知到该 FIFO 的另一端有数据可供传输。随后,IP 核从 FIFO 读 取数据并将其发送至主机,使用户空间软件可以读取这些数据。数据传输机制对 FPGA 中的应用逻辑是透明的,后者仅与 FIFO 进行交 互。
在另一侧,Xillybus IP 核利用 PCI Express 传输层级别实现数据流,生成并接收 TLP 包。对于较低层级,它依赖于 AMD 官 方 PCIe 核,该核是开发工具的一部分,无需额外许可证(即使使用 WebPACK 版本也是如此)。
计算机上的应用程序与表现为命名管道(named pipes)的设备文件进行交互。Xillybus IP 核及驱动程序在 FPGA 中的 FIFO 与主机上对应的设备文件之间高效、直观地传输数据。
对于 XillyUSB,使用 MGT 收发器实现 USB 3.0 接口,该接口替代上述 PCIe 接口用于数据传输。
IP 核通过在线 Web 应用根据客户的规格即时构建。流(stream)的数量、方向及其他属性由客户定义,以实现带宽性能、同步性和设计 简单性之间的最佳平衡。
按照本指南所述,完成使用 demo bundle 的准备步骤后,建议您访问
https://xillybus.com/custom-ip-factory 构建并下载自定义 IP 核。
本指南解释如何将 FPGA 与 Xillybus IP 核快速搭建,该 IP 核可连接用户提供的数据源和数据接收端,用于真实应用场景测 试。IP 核包含在 demo bundle 中,可从网站下载。
尽管名为 demo bundle,但它并非演示套件,而是一个功能完备的入门设计,本身即可执行有用的任务。
对于有兴趣的读者,在 Xillybus Linux 主机应用程序编程指南 或 Xillybus Windows 主机应用程序编程指南 的附录 A 中可以找到关于 Xillybus 如何实现的简要说明。
