0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Vivado 2019.2中基于 VCK190 评估板创建工程

YCqV_FPGA_EETre 来源:FPGA开发圈 作者:FPGA开发圈 2020-06-24 08:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本篇博文将为您详解如下所述设计创建步骤:

在 Vivado 中构建基于 Versal 的 IP 集成器 (IP integrator) 设计

创建器件镜像

在 Vitis 中构建平台和系统工程

在 VCK190 评估板上运行和调试应用

Versal上的PS-GEM

千兆以太网 MAC (GEM) 可提供符合 IEEE 802.3-2016 标准的硬核 10/100/1000 Mbps 接口

在 PS 低功耗域 (LPD) 中有 2 个 GEM 控制器

每个控制器均独立运行,且各含 1 个管理数据输入/输出 (MDIO) 接口以供其外部 PHY 配合 RGMII 接口使用。

在Vivado 2019.2中基于 VCK190 评估板创建工程

GEM 包含下列组件:

1 个 MAC 用于控制传输、接收、地址检查和环回

配置寄存器,可提供控制和状态寄存器、统计数据寄存器和同步逻辑

1 个直接内存访问 (Direct Memory Access) 模块,用于控制 DMA 传输和 DMA 接收

1 个时间戳单元 (TSU),用于计算 IEEE 1588 定时器值,其中包含实时时钟

在无需 DMA 操作的系统应用中,可使用配置选项移除 DMA 模块,并且可使用外部 FIFO 接口将 GEM 集成到 SoC 环境中。

GEM 块包含以下信号接口:

连接到外部 PHY 的 GMII 和 RGMII

1 个用于外部 PHY 管理的 MDIO 接口

1 个 APB 从接口,用于访问 GEM 寄存器

1 个用于内存访问的 AXI4 DMA 主接口

无需 DMA 功能的应用内包含 1 个可选 FIFO 接口

1 个可选时间戳接口

在Vivado 2019.2中基于 VCK190 评估板创建工程

I/O 选项包括:

布线到 LPD MIO 管脚的 RGMII (v2.0),用于连接到外部 PHY

GMII 和 MII 布线到 PL,以便映射到 GT 或(可选)可借助 PL 逻辑来转换为其它协议

每个控制器内的诊断内部环回

注:Versal 中不支持内部 SERDES 接口 (SGMII)。在 MPSoC 器件中支持此类接口。

在 VCK190 器件上,GEM0 和 GEM1 均硬连线到板上的 2 个外部 RGMII PHY。

有 2 个 RJ45 端口,分别用于 GEM0 和 GEM1。如要测试 GEM1 RGMII 端口,请确保 GEM0 RGMII 端口同样通过电缆连接,因为此端口使用共享 MDIO 线(使用 GEM0 MDIO 作为主接口)。

请参阅以下 VCK190 截屏。在右上角有 2 个 RJ45 端口用于 Versal 以太网。

在 Vivado 中创建 IP integrator 设计

请下载随附的 Tcl 文件并遵循以下步骤进行操作。

1. 在 Vivado 2019.2 中基于 VCK190 评估板创建工程。

2. 创建块设计。

3. 找到 vck190_1g.tcl。以下是 IP integrator 画布中的原理图。

在Vivado 2019.2中基于 VCK190 评估板创建工程

4. 生成 HDL 封装文件。

5. 单击“运行实现 (Run Implementation)”和“生成器件镜像 (Generate Device Image)”。

6. 导出包含器件镜像的硬件设计。

在Vivado 2019.2中基于 VCK190 评估板创建工程

注:单独使用“运行块自动化设置功能 (run block automation)”时,CIP 与 NoC 之间部分连接缺失。随附的 Tcl 文件可用于确保 CIP 和 NoC 中配置设置正确。

在 Vitis 中构建并运行 LwIP 应用

我们已构建了 IP integrator 设计并已导出了含器件镜像的硬件设计。现在,我们将在 Vitis 中创建 lwIP 示例,并在 VCK190 评估板上运行。

1. 启动 Vitis。

2. 使用来自以上设计的 XSA 文件创建应用工程。

在Vivado 2019.2中基于 VCK190 评估板创建工程

3. 从 SDK 中选择“lwIP 响应服务器 (lwIP Echo Server)”。

在Vivado 2019.2中基于 VCK190 评估板创建工程

4. 在 SDK 中构建平台和系统工程。选中 lwIP 响应服务器应用时,会自动设置 lwIP 库的 BSP 设置。用户还可以选择仅创建并构建平台工程,但这样需手动设置 BSP 设置。

在Vivado 2019.2中基于 VCK190 评估板创建工程

5. 在 VCK190 开发板上运行 lwIP 示例。以下即 UART 控制台输出:

在Vivado 2019.2中基于 VCK190 评估板创建工程

6. 以下是 ping 测试输出:

在Vivado 2019.2中基于 VCK190 评估板创建工程

要切换到 GEM1 RJ45 以便进行测试,用户应使用 XPAR_XEMACPS_1_BASEADDR 修改 platform_config.h。

可在 BSP 的 xparameters.h 中找到以太网定义。请参阅以下示例

在Vivado 2019.2中基于 VCK190 评估板创建工程

在 platform_config.h 中,更改以下定义:

在Vivado 2019.2中基于 VCK190 评估板创建工程

将此定义更新为:

#define PLATFORM_EMAC_BASEADDRXPAR_XEMACPS_1_BASEADDR

现在,您可重新构建应用并重新运行测试。

LwIP性能

以下是 lwIP 响应服务器应用的 BSP 设置。

PARAMETER dhcp_does_arp_check = true

PARAMETER lwip_dhcp = true

PARAMETER pbuf_pool_size = 2048

对于 lwIP TCP/UDP 性能服务器,默认将设置下列参数。

PARAMETER mem_size = 524288

PARAMETER memp_n_pbuf = 1024

PARAMETER n_tx_descriptors = 512

PARAMETER pbuf_pool_size = 16384

这些 lwIP 参数对于性能调优至关重要。

用户应参阅 lwIP 文档中的“配置内存选项”、“配置封装缓存 (Pbuf) 内存选项”和“TEMAC 适配器选项”部分,以了解有关各参数的更多信息。

https://china.xilinx.com/support/documentation/user_guides/ug1137-zynq-ultrascale-mpsoc-swdev.pdf

这些参数可控制所分配和使用的内存量以及 Pbuf 和描述符数量。

如果系统受到限制,无法处理这些包,则 BD 和 Pbuf 将被快速用尽,且无法根据要求快速清空以供使用。由此导致性能受到影响。

但我们还应平衡可使用的内存量,以便在用于性能基准测试的评估板上将这些参数调整为适合 1Gbps 的最优值。您可以此为参考,根据自己的要求来对这些参数进行调优。
责任编辑:pj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    114

    文章

    17659

    浏览量

    190427
  • 以太网
    +关注

    关注

    41

    文章

    5929

    浏览量

    179648
  • 电缆
    +关注

    关注

    18

    文章

    3008

    浏览量

    57491
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    广州易显VGA卡编写工程快速入门教程

    、测试结果一、实验条件硬件:显示屏、电脑、储存卡、VGA、VGA插座、电源。2、软件:HMIMaker二、实验教程1、使用HMIMaker软件创建工程,选择后点
    的头像 发表于 12-04 16:12 639次阅读
    广州易显VGA卡编写<b class='flag-5'>工程</b>快速入门教程

    NucleiStudio基于一代蜂鸟E203的工程创建

    工程; 4.然后选择一代蜂鸟E203; 5.后续均选择默认,创建工程;——其中若是搭配直接的板卡,则需修改cfg文件,具体可查看cfg修改相关的分享;
    发表于 10-29 06:08

    Windows10上运行vivado使用tcl文件创建E203项目路径错误的问题

    先按照官方给的开源项目,e203_hbirdv2-masterfpgamcu200t目录下的Makefile内容手动创建vivado工程调用.tcl文件的过程
    发表于 10-28 07:19

    win10环境下使用vivado生成.bit与.mcs文件

    ,这里介绍一种可以直接在windows环境下使用vivado生成system.bit和system.mcs文件的方法。 1.windows环境安装vivado,准备好e203_hbirdv2
    发表于 10-27 08:25

    没有开发的情况,Vivado上进行蜂鸟E203的基础内核的drystone跑分

    由于开发可能不能第一时间拿到手,而这时候我们要开始相关的工作,所以我们需要找到一种方法没有开发下能够推进进度,本文主要介绍Vivado
    发表于 10-27 06:35

    使用NucleiStudio 2022.1创建工程时没有开发可选择

    import 选择刚刚下载的hbird-sdk压缩包,打开 这样就导入完成,可以NucleiStudio创建蜂鸟v2的工程模板了
    发表于 10-27 06:27

    没有开发的情况下,Vivado上进行蜂鸟E203的基础内核的drystone跑分

    由于开发可能不能第一时间拿到手,而这时候我们要开始相关的工作,所以我们需要找到一种方法没有开发下能够推进进度,本文主要介绍Vivado
    发表于 10-24 07:36

    rtthread studio 创建不了工程怎么解决?

    安装最新studio,路径默认或自选,重新安装都会创建工程不成功,报错如图 实际上首次安装rtt studio ,且电脑上并未有相关rttsudio创建的相关工程 所有安装路径、创建工程
    发表于 09-29 06:49

    N9H30开发使用studio创建工程失败怎么解决?

    1.0.2版本创建失败1.0.1创建工程可以。有没有知道的大佬我需要怎么弄。
    发表于 09-19 06:43

    关于STMCubeIDE创建工程BUG怎么解决?

    问题描述 当在STM32CubeIDE创建一个新的STM32项目时,"STM32Cube"单选按钮可能会变得无反应,阻止产品选择屏幕后的“下一步”按钮。这妨碍了
    发表于 08-08 06:59

    AMD Versal自适应SoC上使用QEMU+协同仿真示例

    Cortex A72 (QEMU) 上运行的固件进行仿真,该固件会访问当前 AMD Vivado Design Suite 仿真中正在进行仿真的 PL 的 IP。本文将使用 Versal VCK190
    的头像 发表于 08-06 17:21 1710次阅读
    <b class='flag-5'>在</b>AMD Versal自适应SoC上使用QEMU+协同仿真示例

    Vivado无法选中开发的常见原因及解决方法

    使用 AMD Vivado Design Suite 对开发(Evaluation Board)进行 FPGA 开发时,我们通常希望创建工程
    的头像 发表于 07-15 10:19 1421次阅读
    <b class='flag-5'>Vivado</b>无法选中开发<b class='flag-5'>板</b>的常见原因及解决方法

    如何在Unified IDE创建视觉库HLS组件

    Vivado IP 流程(Vitis Unified),在这篇 AMD Vitis HLS 系列 3 ,我们将介绍如何使用 Unified IDE 创建 HLS 组件。这里采用“自下而上”的流程,从 HLS
    的头像 发表于 07-02 10:55 1164次阅读
    如何在Unified IDE<b class='flag-5'>中</b><b class='flag-5'>创建</b>视觉库HLS组件

    一文详解Vivado时序约束

    Vivado的时序约束是保存在xdc文件,添加或创建设计的工程源文件后,需要创建xdc文件设置时序约束。时序约束文件可以直接
    的头像 发表于 03-24 09:44 4431次阅读
    一文详解<b class='flag-5'>Vivado</b>时序约束

    RT-Thread Studio导入bsp工程提升创建工程失败的原因?怎么解决?

    RT-Thread Studio 导入bsp工程提升创建工程失败
    发表于 02-19 06:35