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

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

3天内不再提示

ZU+MPSOC HDMI设计移植案例分享​

fdvcxhtg 来源:fdvcxhtg 作者:fdvcxhtg 2022-08-02 09:16 次阅读

ZU+MPSOC器件在汽车电子工业控制机器视觉智能安防、智慧城市等行业中已经有着广泛的应用,三年前在做一个ZCU106开发板的TRD(Target Reference Design)向用户自研板卡移植HDMI设计时,遇到了一些问题,我翻出之前的笔记整理成文,与大家分享。

当时使用的Vivado版本为2018.3,因此通篇描述都是基于Vivado 2018.3的操作。

首先,ZCU106开发板的TRD参考设计在Wiki上都是以tcl脚本形式提供的,需要我们执行脚本创建工程,我选用的参考设计源文件为rdf0428-zcu106-vcu-trd-2018-3\pl\scripts\vcu_audio_proj.tcl,选用这个设计的原因是这个设计包含HDMI TX、HDMI RX、Audio,可以完整地检验客户的HDMI硬件设计是否正确。创建工程的步骤如下:

1. 打开Vivado 2018.3 GUI或者打开Vivado 2018.3 tcl command prompt,在tcl命令行的部分输入命令打开vcu_audio_proj.tcl文件的存放目录文件夹;

pYYBAGGYH9qAEU6pAAHI13tr948827.png

ZCU106 TRD文件目录

2. source vcu_audio_proj.tcl,创建工程,此时vcu_audio_proj.tcl会调用vcu_audio_bd.tcl;

3. 然后我们在打印信息中可以看到如下错误,原因是vcu_audio_proj.tcl中的路径定义问题;

poYBAGGYH9uATUQtAABJI_r4MZM439.png

TRD tcl脚本执行错误信息

pYYBAGGYH9yAZhyNAABEvOxqdkg623.png

路径定义命令

4. 解决办法为把vcu_audio_proj.tcl和vcu_audio_bd.tcl拷贝到向上一级目录,让vcu_audio_proj.tcl中的路径定义生效即可;拷贝后的路径如下:

poYBAGGYH96AcaIiAADPBDOq8fo297.png

拷贝脚本后目录

5. 使用Vivado 2018.3 GUI或者Vivado 2018.3 tcl command prompt打开新的vcu_audio_proj.tcl路径位置,source vcu_audio_proj.tcl创建工程;

6. 此时建议备份ZCU106的TRD工程,下一步有用;

接下来我们把设计移植到用户自己设计的硬件板卡,我的操作步骤如下:

1. 在工程设置中把Project Device从ZCU106修改为客户的PN,我的设计中使用的是XCZU4EV-1FBVB900I;然后Vivado会提示需要Upgrade IP;

poYBAGGYH9-ASWOdAAC5zslcRFw476.png

upgrade IP

2. 点击Report IP Status,upgrade所有IP;

3. Upgrade IP之后会出现连线报错,是因为Vivado upgrade IP的时候VCU block里面的时钟没有upgrade正确,请参考ZCU106 TRD工程把VCU里面的clk_wiz_0配置为差分输入、不要reset端口、两路输出时钟、clk_out2连接好,并且连接在block design中丢失的信号连接;

pYYBAGGYH-GAAjySAACy-tFiUcw120.png

信号连接丢失

poYBAGGYH-KAXRHTAACe5hoZseU204.png

需要修改的block design信号连接

pYYBAGGYH-SAaNGzAACEnsjRCNY964.png

需要修改的clk_wiz输入时钟配置

pYYBAGGYH-WAY4TFAAB-rv6l3gw346.png

需要修改的clk_wiz输出时钟配置

poYBAGGYH-aAMJSmAABLcAe-AuA566.png

需要修改的reset端口

4. 然后我们去执行Block Design的Validate,可以通过,但是在综合之前产生block design的输出文件时会遇到frame_buffer的错误如下,这个错误是因为工程路径超过了260个字符,需要把工程拷贝到某个盘符的根目录下;

pYYBAGGYH-eAIRy9AAEO0LSJQAM416.png

frame buffer错误信息

5. 这时候整个设计可以综合完,我们需要根据用户的硬件原理图设计修改管脚位置约束、电平标准约束等信息;如果所有约束都修改完后编译遇到GTH的参考时钟无法布线成功,是因为block design中vid_phy_controller中参考时钟的位置和用户在硬件上的管脚、器件自身的位置关系等不一致;

[DRC RTSTAT-1] Unrouted nets: 3 net(s) are unrouted. The problembus(es) and/or net(s) are vcu_audio_i/gt_refclk_buf/ibufds_gt/U0/IBUF_OUT[0],vcu_audio_i/vid_phy_controller/inst/gt_usrclk_source_inst/gtrefclk0_in[0], and vcu_audio_i/vid_phy_controller/inst/gt_usrclk_source_inst/gtrefclk1_in[0].

以ZU4EV-FBVB900封装为例,结合用户的原理图设计、ZU+ MPSOC EV系列的GTH位置关系,决定了block design中的连线和vid_phy_controller中的配置:

在用户的原理图中,TX_REFCLK_P/N和HDMI_RX_CLK_P/N和HDMI的数据线都是放在GTH BANK225,TX_REFCLK_P/N接BANK225的REFCLK1,HDMI_RX_CLK_P/N接BANK225的REFCLK0,因此在vid_phy_controller的配置中我们要选择GT Starting Channel Location中要选择X0Y8,TX Ref Clock Selection选择GTREFCLK1,RX Ref Clock Selection选择GTREFCLK0;

在用户的原理图中,DRU_CLK_P/N从GTH BANK224的MGTREFCLK1进入,根据ZU4EV-FBVB900封装的GTH位置关系,BANK224处于BANK225的North位置,所以在vid_phy_controller的配置中NI-DRU Ref Clock Selection选择GTNORTHREFCLK1;

poYBAGGYH-iAA31pAADgJAZ51tk534.png

block design中的信号连接关系

pYYBAGGYH-qAOCTYAAB3NeQusyY242.png

video_phy_controller中的配置信息

poYBAGGYH-uASb51AAC9x_Oy1PI992.png

ZU+MPSOC EV GTH Location

poYBAGGYH-yATJFNAALhbTzNx40928.png

用户原理图设计

6. 但是在MAP阶段会遇到如下错误,原因是这个设计使用的LUT超出了ZU4EV芯片的总量;可以使用 set_param drc.disableLUTOverUtilError 1命令让设计向下编译,如果不用audio部分,也可以删除掉block design里面的audio部分;删除audio部分之后这个设计在ZU4EV是可以放下的;

poYBAGGYH-6AP4OyAACJixsnGB4583.png

MAP错误信息

7. 若上一步使用删除block design中的audio部分,block design中还有有一些信号线连接丢失,需要自己手动连接;

pYYBAGGYH--AbaQjAABSbXKLZd0327.png

删除audio模块后手动连线

pYYBAGGYH_CABtATAADXbIn0e9Q216.png

删除audio模块后手动连线

8. 此时编译又遇到了URAM占用量超过ZU4EV器件总量的报错,原因是TRD设计中VCU的默认配置为encoder和decoder都是4Kx60fps分辨率,且encoder buffer全部使用URAM实现,ZU4EV没有这么多的URAM,可以修改URAM的资源实现方式来编译通过;也可以减小分辨率以减少URAM占用;

poYBAGGYH_GAeS_pAADE7pliups916.png

VCU配置信息

最后,强调一下HDMI的时钟结构,请参考Xilinx官方文档PG235、PG236。

poYBAGGYH_OASPhkAAEnVAD-AmE670.png

HDMI时钟结构图

审核编辑:汤梓红

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

    关注

    32

    文章

    1487

    浏览量

    149721
  • 移植
    +关注

    关注

    1

    文章

    367

    浏览量

    27854
  • Vivado
    +关注

    关注

    18

    文章

    789

    浏览量

    65092
收藏 人收藏

    评论

    相关推荐

    ZU+系列MPSoC的外围接口详细分析

    本篇主要介绍ZU+系列MPSoC的外围接口,针对每个接口进行概述性介绍,后续会针对个别接口进行详细介绍原理图设计和PCB设计。 ZU+系列MPSoC的外围接口主要包括两部分:PL部分和
    的头像 发表于 12-26 10:04 4393次阅读
    <b class='flag-5'>ZU</b>+系列<b class='flag-5'>MPSoC</b>的外围接口详细分析

    MPSoC可扩展集成电源参考设计包括BOM及框图

    描述TIDA-01480 参考设计是一种可扩展的电源设计,旨在为 Xilinx Zynq UltraScale+ (ZU+) 系列 MPSoC 器件供电。此设计接收来自标准直流电源的电力,并通过明确
    发表于 10-25 16:06

    请问Zynq Ultrascale + MPSOC本身是否存在问题?

    你好我们正在考虑在我们的新设计中使用Zynq Ultrascale + MPSOC。我们想在我们的电路板设计中加入HDMI接口。 Zynq Ultrascale + MPSOC在PS中有一个
    发表于 10-14 09:17

    Altera FPGA_CPLD设计 (基础篇 + 高级篇)扫描版

    The_Zynq_Book_ebook_chinese.pdf:中文版ZYNQ学习资料http://www.zynqbook.com/download-book-chinese.phpMPSoC_ebook_web_v1.0.pdf:英文版ZU+MPSoC学习资料https://www.zynq-
    发表于 04-18 19:53

    ZU7EV板卡设计资料第526篇:基于ZU7EV的FMC 通用PCIe卡

    温度工作。 二、主要功能 1. 板卡核心芯片使用ZU11EG-2FFVC1156I MPSOC处理器,PL端一路DDR4 64bit,PS端一路DDR4 64bit,支持EMMC、QSPI Flash
    发表于 03-16 10:40

    如何将RTT移植到Vitis2019.2工程中呢

    我尝试将RTT移植到Vitis2019.2工程中,硬件平台为Zynq Ultrascale+ MPSoC ZU3EG 的自制板子。我已经移植了RTT源码/bsp/zynqmp-r5-a
    发表于 09-15 14:11

    基于ZU+系列MPSoC芯片的USB3.0/2.0接口硬件设计

    ZU+系列MPSoC要实现USB3.0/2.0的全部功能,需要同时使用MIO和GTR。因为GTR接口中的USB接口只支持USB3.0,对USB2.0的支持需要通过MIO接口外接USB PHY实现。
    发表于 03-16 09:26 6023次阅读
    基于<b class='flag-5'>ZU</b>+系列<b class='flag-5'>MPSoC</b>芯片的USB3.0/2.0接口硬件设计

    开源硬件-TIDA-01480.16-适用于 Xilinx Zynq® UltraScale+™ ZU2CG−ZU5EV MPSoC 的集成电源 PCB layout 设计

    TIDA-01480 参考设计是一种可扩展的电源设计,旨在为 Xilinx Zynq UltraScale+ (ZU+) 系列 MPSoC 器件供电。此设计接收来自标准直流电源的电力,并通过明确
    发表于 08-09 17:40 95次下载
    开源硬件-TIDA-01480.16-适用于 Xilinx Zynq® UltraScale+™ <b class='flag-5'>ZU</b>2CG−<b class='flag-5'>ZU</b>5EV <b class='flag-5'>MPSoC</b> 的集成电源 PCB layout 设计

    开源硬件-TIDA-01480.05-适用于 Xilinx Zynq® UltraScale+™ ZU2CG−ZU5EV MPSoC 的集成电源 PCB layout 设计

    TIDA-01480 参考设计是一种可扩展的电源设计,旨在为 Xilinx Zynq UltraScale+ (ZU+) 系列 MPSoC 器件供电。此设计接收来自标准直流电源的电力,并通过明确
    发表于 08-26 08:00 0次下载
    开源硬件-TIDA-01480.05-适用于 Xilinx Zynq® UltraScale+™ <b class='flag-5'>ZU</b>2CG−<b class='flag-5'>ZU</b>5EV <b class='flag-5'>MPSoC</b> 的集成电源 PCB layout 设计

    开源硬件-TIDA-01480.04-适用于 Xilinx Zynq® UltraScale+™ ZU2CG−ZU5EV MPSoC 的集成电源 PCB layout 设计

    TIDA-01480 参考设计是一种可扩展的电源设计,旨在为 Xilinx Zynq UltraScale+ (ZU+) 系列 MPSoC 器件供电。此设计接收来自标准直流电源的电力,并通过明确
    发表于 09-03 08:00 0次下载
    开源硬件-TIDA-01480.04-适用于 Xilinx Zynq® UltraScale+™ <b class='flag-5'>ZU</b>2CG−<b class='flag-5'>ZU</b>5EV <b class='flag-5'>MPSoC</b> 的集成电源 PCB layout 设计

    开源硬件-TIDA-01480.02-适用于 Xilinx Zynq® UltraScale+™ ZU2CG−ZU5EV MPSoC 的集成电源 PCB layout 设计

    TIDA-01480 参考设计是一种可扩展的电源设计,旨在为 Xilinx Zynq UltraScale+ (ZU+) 系列 MPSoC 器件供电。此设计接收来自标准直流电源的电力,并通过明确
    发表于 09-09 08:00 14次下载
    开源硬件-TIDA-01480.02-适用于 Xilinx Zynq® UltraScale+™ <b class='flag-5'>ZU</b>2CG−<b class='flag-5'>ZU</b>5EV <b class='flag-5'>MPSoC</b> 的集成电源 PCB layout 设计

    开源硬件-TIDA-01480.07-适用于 Xilinx Zynq® UltraScale+™ ZU2CG−ZU5EV MPSoC 的集成电源 PCB layout 设计

    TIDA-01480 参考设计是一种可扩展的电源设计,旨在为 Xilinx Zynq UltraScale+ (ZU+) 系列 MPSoC 器件供电。此设计接收来自标准直流电源的电力,并通过明确
    发表于 09-09 08:00 0次下载
    开源硬件-TIDA-01480.07-适用于 Xilinx Zynq® UltraScale+™ <b class='flag-5'>ZU</b>2CG−<b class='flag-5'>ZU</b>5EV <b class='flag-5'>MPSoC</b> 的集成电源 PCB layout 设计

    Zynq UltraScale ZU19EG MPSOC评估板

    ZU19EG 是一款紧凑型 SoC 原型开发板,采用 Zynq® UltraScale+™ MPSoC 器件,可提供 64 位处理器可扩展性,同时将实时控制与软和硬引擎相结合,用于 SoC 原型
    发表于 09-26 11:28 4次下载

    armbian、 hdmi、 zynq、 mpsoc、 rk3399的一一解释

    armbian、 hdmi、 zynq、 mpsoc、 rk3399
    的头像 发表于 10-13 18:11 1048次阅读

    Zynq UltraScale ZU19EG MPSOC

    ZU19EG平台采用了ZynqUltraScale+ZU19EG-FFVB1517MPSoC芯片的所有功能,确保选择外设的灵活性。该原型开发板包含用于可编程逻辑(PL)的8GBDDR4内存和用于
    发表于 09-29 10:16 3次下载