5 应用定制 Xillybus IP 核

通过一个 Web 应用程序,用户可以直接在 Xillybus 网站上配置并下载定制 Xillybus IP 核,选择流的数量及其属性。生成的 定制 IP 核通常会在几分钟后从该站点下载。

要生成并下载定制 IP 核,请访问 Xillybus 网站上的 IP Core Factory。该过程相当直观,如有需要,自定义 Xillybus IP 核指南提供了补充信息。

重要 的:
可寻址流(seekable streams,带有“address/data”接口)在 Block Design 流程中是不可见的,因为 AXI Stream 连接无法 支持地址线。在 IP 核中包含此类流基本无害,但会稍微浪费 FPGA 逻辑资源,并可能引起混淆,因为它们会出现在主机端,但不会出现在区 块设计中。

定义好定制 IP 核后,生成并下载其套件(bundle)。

定制 IP 核套件中 README 文件的说明针对的是 Verilog / VHDL 设计流程,应予以忽略。而应按照以下步骤操作:

  • 为定制 IP 核的文件创建一个新目录。在使用该定制 IP 核期间,此目录的绝对路径必须保持不变,因此建议将其放置在不会 被意外删除的位置。

    将下载的定制 IP 核套件解压到此目录中。

  • 在 Vivado 中打开区块设计(block design)。

  • 将区块设计的视图保存为 PDF 文件以供参考:在区块设计区域中的某处右键单击,然后选择“Save as pdf file...”。

  • 在工具菜单(主菜单栏)下选择“Run Tcl Script...”。导航到定制 IP 核套件解压到的目录,进入 xillybus_block 子目录。选择 insertcore.tcl。

  • 该脚本将使用定制 IP 核替换现有的 Xillybus IP 核,并尝试重新连接与应用无关的连线。由于自动重新组织,框图中的对象 也可能移动。

  • 将应用逻辑的 AXI Stream 接口连接到更新后的 Xillybus IP 核。

  • 与运行脚本之前创建的 PDF 文件进行比较,并根据需要进行更正。

    所有与应用逻辑相关的连接都不会被重新连接,其他连接也可能丢失。

  • 验证 Xillybus IP 核模块下方和上方的标题(captions)是否与新 IP 核的名称匹配。

请注意,脚本通过名称查找模块、端口和接口。因此,如果用户更改了这些名称,它可能会部分(且静默地)无法恢复连 接。

至此,项目的实现(implementation)可以像以前一样进行。Xillybus 的主机驱动程序(Linux 和 Windows 同样)也可以与 定制 IP 核配合使用,因为它会自动检测新 IP 核的配置。

因此,在更换定制 IP 核后,无需在主机上安装任何内容。

作为参考,insertcore.tcl 脚本的执行步骤如下:

  • 将定制 IP 核的目录添加到 Vivado IP 目录(IP Catalog)的 IP 核仓库列表中,并强制重新扫描仓库,以便发现并添加新的定 制 IP 核。

  • 从区块设计中移除之前的 Xillybus IP(如果存在)。

  • 将定制 IP 核添加到设计中,并在必要时升级其版本。

  • 尝试重新连接到上层层级的连线以及连接到 stream_clk_gen 模块的连线:通过查找名称列表,并将所有具有这些名称的端 口互连(如果存在)。

  • 仅限 Zynq:将 Xillybus IP 核的总线地址设置为其默认值(从 0x50000000 开始的 4 kB 段)。

  • 重置项目的综合运行,以便下次实现反映所做的更改。