当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]在本教程中,我将展示如何创建并使用适用于 Zynq Ultrascale+ XCZU4EV 中 GTH 传输器的示例项目。

在本教程中,我将展示如何创建并使用适用于 Zynq Ultrascale+ XCZU4EV 中 GTH 传输器的示例项目。

我正在使用的板子是来自 MYIR 公司的 MYD-CZU4EV 型号,其内部搭载了 AMD XCZU4EV 处理器,并且配有可连接 SFP+ 线缆的 QSFP+ 机箱。

Vivado 包含了“超大规模 FPGA 传输器向导”,它能够生成一系列的 VHDL/Verilog 文件,这些文件可以根据多种需求进行定制。

使用该向导有以下两种方式:

1. 进行配置,并生成一个 xci 文件,以便使用所提供的模板进行实例化。

2. 对其进行配置,并创建一个示例项目以检查和修改所生成的 RTL 文件。

第二种方法更为灵活,更适合初次使用 GTH 转换器的用户。经验丰富的用户可以直接在他们的项目中使用 xci(尽管其余的代码可能源自示例项目!)

配置收发器

双击 IP 目录中的“收发器向导”,配置图形用户界面就会出现。

该图形用户界面(GUI)提供了众多来自“收发器配置预设”下拉菜单的预设选项。在本教程中,请选择“GTH-10BASE-R”预设:

请确保实际参考时钟与板上的时钟(156.25 MHz)相匹配,可通过选择可用的其中一个数值来实现。

切换到第二个选项卡“物理资源”,选择下方的两个通道,并且所选的参考时钟为“MGTREFCLK1”。这一点非常重要,因为在这个开发板中,MGTREFCLK0 未连接到任何时钟发生器。

注意一下自由运行时钟的频率(250 MHz),该频率将在后续环节中被使用。

可选的“功能”选项卡可以跳过,保持其原样即可。在“结构选项”选项卡中,我们只需选择包含系统内置的 IBERT 核心这一选项即可:

完成所有这些更改后,点击“确定”以关闭图形用户界面。

创建示例项目

该示例项目需要做一些调整:

1. 它需要一个自由运行的时钟,此处采用 250 MHz 的频率。由于 MYD 板本身没有向 PL 电路提供任何时钟信号,所以使用了 PS(电源供应器)。不过,它必须先启动,例如运行一个“hello world”应用程序。

2. 生成的块有一些需要连接的输入/输出端口。在这种情况下,这些端口会连接到一个 VIO(虚拟输入/输出)设备,以便用户能够直接与硬件管理器进行交互。

3. 每个 SFP+ 都有一个“发送使能”引脚,该引脚在此处还与 VIO 连接在一起。

创建 xci 文件后,右键点击该文件,然后选择“打开 IP 示例设计”

在创建的 Vivado 项目中,创建一个新的模块图,并在其上添加一个处理器系统 IP:

双击该 IP 区域,然后点击“预设” > “应用配置”:

浏览查找名为“myd_gth_ps_config.tcl”(已包含)的文件。点击“确定”以关闭图形用户界面。

将源文件“gtwizard_ultrascale_0_example_top”拖放到模块图中:

将所有收发器的接收和发送引脚以及参考时钟输入设为外部连接(使用 Ctrl + T 或右键点击 > 使为外部连接)

接下来,从 IP 目录中添加一个 VIO(虚拟 I/O),并为其配置 2 个输入和 4 个输出。

将 pl_clk1(即 pl_clk0 的反向)连接至 VIO 时钟引脚以及收发器的自由运行时钟输入端。

将收发器模块的两个输出端连接到 VIO 输入端。

将两个 VIO 输出端连接到收发器模块的输入端。

最后,将另外两个 VIO 输出设置为外部输出,并将它们分别命名为“Tx_Ena_LT”和“Tx_Ena_RT”:

现在在“源”面板中右键点击模块图,然后选择“创建硬件描述语言封装”

如果该包装文件并非自动成为顶层文件,请右键点击它并将其设为顶层文件:

设置约束条件

•点击“运行综合”,然后打开合成后的设计。如果“封装”视图未显示,请从右上角的下拉菜单中选择它。

•请注意,收发器的引脚已经固定好,无需再进行重新分配。需要定位的是那些额外的引脚。

•按照电路板的接线图,将 Tx_Ena_LT 置于 AF5 处,将 TxEna_RT 置于 H2 处:

•这些信号将使机箱内的左上角和右上角的 SFP+ 接口能够正常工作,以下是示意图(针对左上角部分):

•将引脚放置到位,将标准设置为“LVCMOS1V8”,并将外部终端设置为“无”:

•使用“CTRL+S”保存更改,并为即将创建的新约束文件输入一个名称(或者也可以将其添加到现有的文件中):

•最后要做的就是将约束文件“gtwizard_ultrascale_0_example_top.xdc”中的第 80 行注释掉。

•这是因为这个时钟来自 PS 系统,并且其设置已经完成。

•点击“生成比特流”。这将重新执行综合流程并进行实现操作。

•最后,点击“文件”菜单中的“导出”选项,以创建 XSA 文件,以便与 Vitis 一起使用。

创建 PS 软件

启动 Vitis 并创建工作区。使用之前生成的 XSA 文件创建一个平台项目。选择独立操作系统和 A53 核心,并生成启动组件。

创建一个应用程序项目,并使用“Hello World”模板。构建整个系统,并检查在“调试” > “SD 卡”下是否生成了“BOOT.BIN”文件:

启动板子并连接硬件管理器

•将 BOOT.BIN 文件复制到具有 FAT 格式的 SD 卡上,并将其插入到 MYD 板中。

•确认启动模式开关已设置为使用 SD 卡启动(板上标有“TF”)。

•将调试串口 USB 接口上的 USB 数据线连接到电脑上。

•将 JTAG 线缆的一端连接到 JTAG 接口,另一端连接到计算机上。

•在电脑上,启动一个终端应用程序,比如“TeraTerm”。

•给电路板通电后,端子应呈现如下图所示的状态:

•现在在 Vivado 开放硬件管理器中点击“打开目标”,选择“自动连接”。它应该能够识别出 IBERT、两个激活的 MGT 以及(未配置的)VIO:

•在每个“VIO”选项卡上,点击“+”按钮并添加所有信号。如果您愿意,还可以将所有输出更改为切换模式。

创建链接并使用 IBERT

点击“创建链接”,然后在图形用户界面中,对于发送端和接收端均选择“MGT_X0Y4”,接着在“新建链接”下方点击“+”号。

右键点击所创建的链接,然后选择“创建扫描”:

保持默认设置,然后点击“确定”:

你应该得到这样的眼图……

这可不行!原因在于传输通道尚未启用。在“VIO”选项卡中,将“Tx_Enable”均设置为“高”。注意查看“link_status_out”的状态,它应该变为“高”状态。

现在重新进行扫描:

现在我们得到了一个在 10.3 Gbps 下的清晰眼图。

通过减少水平和垂直方向上的增量,便能获得更高的分辨率:

还有更多......

SFP+ 模块具有 I2C 接口,用于识别和配置。MYD 板通过 I2C 多路复用器与四个 SFP+ 机箱相连。优化 SFP+ 模块设置以及通过 I2C 监控状态的内容将在另一篇文章中介绍。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

全面提升XCORE边缘AI处理器开发效率和优化开发者体验

关键字: 编辑器 边缘AI 处理器

另一个重要的学习要点是理解 Zynq 设备的系统级行为。由于该设计依赖于处理系统来提供时钟,因此必须对处理系统进行初始化,以便可编程逻辑能够正常运行。

关键字: LED FPGA AUP-ZU3

LAN878x与LAN888x PHY系列为汽车及工业系统提供安全可靠且可扩展的以太网连接

关键字: 以太网 收发器 车载网络

为回馈广大开发者长期以来的支持,米尔电子将在本次展会现场举办福利活动,限时免费赠送15套MYD-YM90G开发板。诚邀各位行业伙伴与技术爱好者前往展台了解详情并参与领取。

关键字: FPGA 开发板

此次合作将使全球工程师与创新者更便捷地获取摩尔斯微电子的Wi-Fi HaLow模块、评估套件、及开发平台

关键字: Wi-Fi 收发器 物联网

在FPGA设计流程中,布局布线阶段往往是决定设计成败的关键环节。特别是对于Xilinx UltraScale+这类高端器件,资源密度高、时钟网络复杂、时序要求严格,传统的实现策略往往难以满足高性能需求。Vivado De...

关键字: Xilinx UltraScale+ Smart Exploration FPGA

在边缘计算和实时视频分析领域,基于FPGA的异构计算平台凭借其高能效、低延迟特性,正成为AI目标检测应用的主流选择。Xilinx/AMD的DPU(深度学习处理单元)作为专用AI加速引擎,配合Vitis AI工具链,为...

关键字: 异构计算 FPGA

在FPGA产品化部署中,启动配置的可靠性与安全性是核心考量。随着FPGA容量和设计复杂度提升,传统单线SPI模式的加载速度成为系统启动的性能瓶颈,而比特流的安全防护更是保护知识产权(IP)的关键。本文将深入解析Xilin...

关键字: FPGA QSPI Flash

在FPGA设计的时序收敛阶段,建立时间违例是最常见也最棘手的问题之一。当数据到达时间晚于时钟有效边沿的捕获时间,就会发生建立时间违例,直接影响电路的最高工作频率。本文将从SDC(Synopsys Design Const...

关键字: 时序约束 SDC文件 FPGA

在工业自动化、汽车电子、智能家居等领域,数据的可靠、高效传输是系统稳定运行的关键。CAN(Controller Area Network,控制器局域网)总线作为一种串行通信协议,凭借其高抗干扰性、多主通信、错误检测与纠正...

关键字: 收发器 CAN控制器
关闭