简介
本页是自定义 IP 核(custom IP core)的快速入门指南。关于自定义 IP 核的更详细信息,可参见 Guide to defining a custom Xillybus IP core。
开始使用 Xillybus 的正确方式在另一页面中有说明。尤其是,FPGA 的初始工程是一个演示包(demo bundle),可以从 Xillybus 网站下载。
在后续阶段,你可能希望修改 IP 核。例如,可能想添加几条适合你应用的数据流。这正是 IP Core Factory 的用途:它是一款网页应用,让你能按照自己的需求创建自定义 IP 核。使用该工具完成 IP 核配置后,IP 核包(IP core bundle)会以 zip 文件的形式下载下来。
IP 核各参数的含义在 Guide to defining a custom Xillybus IP core 中有详细说明。
请注意,适用于 Linux 或 Microsoft Windows 的同一个驱动可以与所有自定义 IP 核配合使用。驱动在初始化时会直接从 IP 核本身获取关于 IP 核的信息。因此,在初次安装驱动之后,无需在计算机上安装任何新东西。
还需要注意的是,要使用 IP Core Factory 生成的 zip 压缩包,必须有一个配套的演示包。这也是为什么建议从演示包入手的原因之一,具体可参见另一页面的说明。
将自定义 IP 核集成到演示包中
从 IP Core Factory 下载自定义 IP 核后,需要对演示包进行修改,把新 IP 核加进去。这一步只需要下面几个简单操作。
类似的说明也写在 README.TXT 中,它是 IP Core Factory 的 zip 压缩包的一部分。README 文件还包含以下有用信息:
- Core ID(核标识符)是一个五位数,是 IP 核的唯一标识符。在索取报价时应一并提供 Core ID。
- 其中会列出 IP 核的设备文件,并显示每个设备文件的技术细节。这些信息准确反映了 IP 核的真实特性。
要把自定义 IP 核集成到演示包中,请按下面几步操作:
- 将演示包中的 xillybus.v 和 xillybus_core.v(或 xillybus_xl_core.v / xillybus_xxl_core.v)替换为 IP 核包中的同名文件。
- 替换 IP 核本身。该文件位于演示包的 core/ 子目录中,要替换的文件名类似于 xillybus_core.ngc、xillybus_core.edf、xillybus_core.qxp 或 xillybus_core.vqm。
- 编辑 xillydemo.v(或 xillydemo.vhd),把你希望实现的应用程序与自定义 IP 核集成到一起。关于写法,可以查看 IP 核包中的 “instantiation templates”(例化模板)目录。其中名为 template.v(或 template.vhd)的文件包含了你应当遵循的例化模板(instantiation template)。
请注意,在这个例化模板中没有 FIFO。尽管如此,仍然建议在与 Xillybus 的 IP 核交互时使用 FIFO,正如有关数据采集(data acquisition)的页面所建议的那样。
通用指南
以下这些通用性建议可以在你处理自定义 IP 核时节省不少时间:
- 阅读 Guide to defining a custom Xillybus IP core。
- 在 IP Core Factory 中使用 “Autoset internals”(自动设置内部参数)选项。关闭此选项的功能是给有经验的 Xillybus 用户准备的。对于其他用户,网页工具自动做出的选择通常会更好。
- 不过,还是应该阅读 README 文件,以了解这个网页工具为你做了哪些决定。
- 尤其需要注意的是,每个 DMA 缓冲区的大小与它将要传输的数据之间没有必要存在某种对应关系。如果你正打算这样做,这些关于数据采集的说明或许能帮到你。
- 在 IP Core Factory 中,从下拉菜单中选择最符合你应用的 “Use” 选项。这个选项除了其他方面以外,还决定了设备文件是同步数据流(synchronous stream)还是异步数据流(asynchronous stream)。这两个概念在另一页面有简要说明,更详细的说明见文档。