01signal.com

Xillybus快速入门指南

介绍

此页面是关于如何开始使用XillybusXillyUSB的简短摘要。这通常是一个快速而简单的过程,不需要很多指导。但是,不同的 FPGAs之间存在细微差异。

此处仅介绍最常见的用例和最新的 FPGAs 。当此页面中的信息明显缺失时,请参阅Xillybus的文档页面,其中包含更详细和具体的信息。

我不会在这里讨论Xillinux ,因为它的过程有点不同。

概述

开始使用 Xillybus分为三个步骤:

  1. 从 demo bundle生成 FPGA 的 bitstream 文件。
  2. 在计算机上安装 driver (这通常不是必需的)。
  3. 在显示 Xillybus 工作的计算机上执行简单测试(在 LinuxWindows的单独页面上进行了解释)。

稍后,您可能希望IP Core Factory处创建自定义 IP core 。这将允许您选择任意数量的 streams 。但在此之前,试用 demo bundle 将帮助您了解 Xillybus 的工作原理。

Xillybus 与 XillyUSB

如果您正在考虑使用 XillyUSB,请考虑选择 Xillybus for PCIe ,如果这是一个现实的选择: PCIe bus 比 USB更坚固。

仅当 FPGA 必须在计算机外部时才应选择XillyUSB (例如,当笔记本电脑用作 host时)。

下载 demo bundle 和软件

可从 Xillybus网站下载的所有内容均功能齐全。这包括IP Core Factory和 demo bundles的 IP cores 。无需请求 activation code 或任何类似的东西。但是,使用 IP core 的法律许可是有限的: 您只能将 IP core 用于评估。之后,可能需要购买许可证才能继续合法使用 IP core 。因此,请确保您了解这些条件

下载文件有两个单独的网页: 对于Xillybus 使用 PCIe ,对于XillyUSB 。转到相关网页,并下载以下项目:

所有这些文件都是 .zip 或 .tar.gz 格式。于是开始用一张 uncompression 把自己的内容存入盘中。

如果你的 board 不在 demo bundles的列表中,你就需要在这个 bundle上进行修改。选择基于相同 FPGA family 的 demo bundle ,并遵循 XilinxIntel FPGA文档中的指南。

AMD / Xilinx 和 Intel FPGA (Altera)的下一步有所不同。

为 AMD / Xilinx创建 bitstream

您需要在计算机上安装 Vivado 。该文档包含每个 FPGA的最低版本列表。但如果您已经安装了 Vivado,请尝试使用它。如果 Vivado的版本不合适,下面详述的过程将失败: 将出现错误提示需要更新版本。如果没有出现这样的错误,说明你的 Vivado 版本是OK的。

这些是创建 bitstream 文件的步骤:

Vivado 在 implementation期间生成了几个 warnings ,但应该没有 Critical Warnings 和 errors。

详细解释在本文档中: Getting started with the FPGA demo bundle for Xilinx 。请注意, Vivado 不适用于 Virtex-5、 Spartan-6 和 Virtex-6。如果您使用这些 FPGAs之一,请参阅此文档。

不要尝试在没有 Tcl script的情况下创建 FPGA project 。如果您尝试创建一个新的 project 并导入 source files,它可能无法正常工作。

为 Intel FPGA (Altera)创建 bitstream

您需要在计算机上安装 Quartus 。该文档包含每个 FPGA的最低版本列表。但如果您已经安装了 Quartus,请尝试使用它。如果 Quartus的版本不合适,下面详述的过程将失败: 将出现错误提示需要更新版本。如果没有出现这样的错误,说明你的 Quartus 版本是OK的。

这些是创建 bitstream 文件的步骤:

Quartus 在 implementation期间生成了几个 warnings ,但应该没有 Critical Warnings 和 errors。

详细解释在本文档中: Getting started with the FPGA demo bundle for Intel FPGA 。如果您的 FPGA 早于 series-V (例如 Cyclone IV),则过程会稍微长一些。有关详细信息,请参阅此文档。

为 Windows安装 driver

Xillybus的 driver for Windows 的标准安装方式: 启动装有 FPGA board 的计算机。在打开计算机之前, FPGA 必须加载包含 Xillybus 的 bitstream file 。

首先打开包含 driver 的 Zip archive 到本地磁盘。该文件可在 demo bundle的下载页面中找到。该文件的名称类似于 xillybus-windriver-1.2.0.0.zip。

在 Device Manager内部,应该有一个列在“Other Devices”下的 device 。这个 device的 icon 会提示 device 没有安装好(带感叹号)。右键单击此 icon 并选择“Update Driver Software…”。选择从计算机中选择一个文件(“Browse my computer for driver software”)。然后选择名称为“xillybus-windriver-1.2.0.0”(或类似名称)的 directory 。单击“Next”,然后单击“Install”。

driver正确安装后, Device Manager中会多出一个组,名称为“Xillybus”。在这个组里面,会有一个标题为“Xillybus driver for generic FPGA interface”的 device 。 device的 icon 不应指示错误(即 icon上没有感叹号)。

如果使用 XillyUSB , device 会出现在名为“Universal Serial Bus controllers”的组下, driver 在 xillyusb-windriver-1.1.2.0-win10.zip中。

Windows指南中的 screenshots 更详细地描述了此安装过程。

为 Windows安装好 driver 之后,接下来就是做一个简单的测试了。这在单独的页面上进行了解释。

为 Linux安装 driver (?)

Xillybus的 driver 包含在 desktop computers的许多 Linux distributions 中。因此,如果您使用的是 Fedora、 Ubuntu 或 Mint, Xillybus的 driver 可能已经安装在您的计算机上。

为了检查 driver 是否已经安装,在 shell prompt键入:

$ modinfo xillybus_core

如果响应是多行输出: driver 已经安装好了,不需要做任何事情。只有当答案是“modinfo: ERROR: Module xillybus_core not found”时才需要安装 driver 。

如果你想使用 XillyUSB,命令是

$ modinfo xillyusb

即使已经安装了 driver ,安装 Xillybus的 udev 文件也是个好主意。请参阅本页底部。也可以跳过这个,直接进行简单的测试

如果没有安装 driver ,有两种选择:

自 v3.12版本以来, Xillybus 的 driver 是 Linux kernel tree 的一部分。如果您的 kernel的版本是 v4.6 或更高版本,则没有理由升级 driver: 自该版本以来没有任何有意义的变化(仅编码风格发生变化)。 XillyUSB 的 driver 添加到 Linux v5.14。

有关开始使用 Linux 的更多信息,请参阅相关指南

kernel module的Compilation

Xillybus的 kernel module 的 compilation 要求执行 compilation的计算机上已经安装了三个东西:

Linux的相关指南建议如何检查是否安装了这些元素,如果未安装,如何安装它们。

driver 的 compilation 是这样完成的:

$ tar -xzf xillybus.tar.gz
$ cd xillybus/module/
$ make
make -C /lib/modules/4.15.0/build M=/home/01signal/xillybus/module modules
make[1]: Entering directory '/usr/src/linux-headers-4.15.0'
  CC [M]  /home/01signal/xillybus/module/xillybus_core.o
  CC [M]  /home/01signal/xillybus/module/xillybus_pcie.o
  Building modules, stage 2.
  MODPOST 2 modules
  CC      /home/01signal/xillybus/module/xillybus_core.mod.o
  LD [M]  /home/01signal/xillybus/module/xillybus_core.ko
  CC      /home/01signal/xillybus/module/xillybus_pcie.mod.o
  LD [M]  /home/01signal/xillybus/module/xillybus_pcie.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0'

为了安装 kernel modules,键入“make install”(这需要 root)。

driver 将在下次 kernel 启动时自动加载 bus上存在的 Xillybus device 。也可以使用 insmod 手动加载 driver 。

请注意,那些打算在 embedded Linux device 上使用 Xillybus 的人可能需要使用 cross compiler。在这种情况下也需要与 embedded kernel 相关的 kernel headers 。

如果您不想使用“make install”,可以手动执行相同的操作: 将 module 文件复制到包含 kernel modules的 directory 中。此 directory 的名称必须包含将与 Xillybus一起运行的 kernel 的版本名称。

例如,

# cp xillybus_core.ko /lib/modules/4.15.0/kernel/drivers/char/
# cp xillybus_pcie.ko /lib/modules/4.15.0/kernel/drivers/char/

在此之后,运行 depmod ,以便 kernel 能够识别新的 modules。例如:

# depmod -a 4.15.0-20

udev file (Linux)

建议安装 Xillybus的 udev file,即使已经安装了 driver 。这允许访问 Xillybus 而不是 root user。此文件是包含 driver (xillybus.tar.gz 或 xillyusb.tar.gz)的包的一部分。

udev file for Xillybus 的安装包含此命令(或类似命令)。作为 root user:

# cp 10-xillybus.rules /etc/udev/rules.d/

它在工作吗?

下一步是看看您是否做对了所有事情, Xillybus 是否可以在您的硬件上运行。 LinuxWindows分别显示了如何执行此操作。

此页面由英文自动翻译。 如果有不清楚的地方,请参考原始页面
Copyright © 2021-2024. All rights reserved. (6f913017)