tft每日頭條

 > 生活

 > adm複用器有哪些

adm複用器有哪些

生活 更新时间:2024-07-22 21:17:27

ZU MPSOC器件在汽車電子、工業控制、機器視覺、智能安防、智慧城市等行業中已經有着廣泛的應用,三年前在做一個ZCU106開發闆的TRD(Target Reference Design)向用戶自研闆卡移植HDMI設計時,遇到了一些問題,我翻出之前的筆記整理成文,與大家分享。

本文轉載自ingdan FPGA公衆号,作者楊智勇。

當時使用的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硬件設計是否正确。創建工程的步驟如下:

打開Vivado 2018.3 GUI或者打開Vivado 2018.3 tcl command prompt,在tcl命令行的部分輸入命令打開vcu_audio_proj.tcl文件的存放目錄文件夾;

adm複用器有哪些(幹貨案例ZU)1

ZCU106 TRD文件目錄

source vcu_audio_proj.tcl,創建工程,此時vcu_audio_proj.tcl會調用vcu_audio_bd.tcl;

然後我們在打印信息中可以看到如下錯誤,原因是vcu_audio_proj.tcl中的路徑定義問題;

adm複用器有哪些(幹貨案例ZU)2

TRD tcl腳本執行錯誤信息

adm複用器有哪些(幹貨案例ZU)3

路徑定義命令

解決辦法為把vcu_audio_proj.tcl和vcu_audio_bd.tcl拷貝到向上一級目錄,讓vcu_audio_proj.tcl中的路徑定義生效即可;拷貝後的路徑如下:

adm複用器有哪些(幹貨案例ZU)4

拷貝腳本後目錄

使用Vivado 2018.3 GUI或者Vivado 2018.3 tcl command prompt打開新的vcu_audio_proj.tcl路徑位置,source vcu_audio_proj.tcl創建工程;

此時建議備份ZCU106的TRD工程,下一步有用;

接下來我們把設計移植到用戶自己設計的硬件闆卡,我的操作步驟如下:

在工程設置中把Project Device從ZCU106修改為客戶的PN,我的設計中使用的是XCZU4EV-1FBVB900I;然後Vivado會提示需要Upgrade IP;

adm複用器有哪些(幹貨案例ZU)5

upgrade IP

點擊Report IP Status,upgrade所有IP;

Upgrade IP之後會出現連線報錯,是因為Vivado upgrade IP的時候VCU block裡面的時鐘沒有upgrade正确,請參考ZCU106 TRD工程把VCU裡面的clk_wiz_0配置為差分輸入、不要reset端口、兩路輸出時鐘、clk_out2連接好,并且連接在block design中丢失的信号連接;

adm複用器有哪些(幹貨案例ZU)6

信号連接丢失

adm複用器有哪些(幹貨案例ZU)7

需要修改的block design信号連接

adm複用器有哪些(幹貨案例ZU)8

需要修改的clk_wiz輸入時鐘配置

adm複用器有哪些(幹貨案例ZU)9

需要修改的clk_wiz輸出時鐘配置

adm複用器有哪些(幹貨案例ZU)10

需要修改的reset端口

然後我們去執行Block Design的Validate,可以通過,但是在綜合之前産生block design的輸出文件時會遇到frame_buffer的錯誤如下,這個錯誤是因為工程路徑超過了260個字符,需要把工程拷貝到某個盤符的根目錄下;

adm複用器有哪些(幹貨案例ZU)11

frame buffer錯誤信息

這時候整個設計可以綜合完,我們需要根據用戶的硬件原理圖設計修改管腳位置約束、電平标準約束等信息;如果所有約束都修改完後編譯遇到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;

adm複用器有哪些(幹貨案例ZU)12

block design中的信号連接關系

adm複用器有哪些(幹貨案例ZU)13

video_phy_controller中的配置信息

adm複用器有哪些(幹貨案例ZU)14

ZU MPSOC EV GTH Location

adm複用器有哪些(幹貨案例ZU)15

用戶原理圖設計

但是在MAP階段會遇到如下錯誤,原因是這個設計使用的LUT超出了ZU4EV芯片的總量;可以使用 set_param drc.disableLUTOverUtilError 1命令讓設計向下編譯,如果不用audio部分,也可以删除掉block design裡面的audio部分;删除audio部分之後這個設計在ZU4EV是可以放下的;

adm複用器有哪些(幹貨案例ZU)16

MAP錯誤信息

若上一步使用删除block design中的audio部分,block design中還有有一些信号線連接丢失,需要自己手動連接;

adm複用器有哪些(幹貨案例ZU)17

删除audio模塊後手動連線

adm複用器有哪些(幹貨案例ZU)18

删除audio模塊後手動連線

此時編譯又遇到了URAM占用量超過ZU4EV器件總量的報錯,原因是TRD設計中VCU的默認配置為encoder和decoder都是4Kx60fps分辨率,且encoder buffer全部使用URAM實現,ZU4EV沒有這麼多的URAM,可以修改URAM的資源實現方式來編譯通過;也可以減小分辨率以減少URAM占用;

adm複用器有哪些(幹貨案例ZU)19

VCU配置信息

最後,強調一下HDMI的時鐘結構,請參考Xilinx官方文檔PG235、PG236。

adm複用器有哪些(幹貨案例ZU)20

HDMI時鐘結構圖

- END -

adm複用器有哪些(幹貨案例ZU)21

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved