USB论坛
直播中

杨万富

8年用户 1620经验值
擅长:526774
私信 关注
[问答]

AN65974示例如何链接fifo_slave_block 和 video_out的IP块?

您好,我正在研究 AN65974 pdf 用于视频数据传输,但无法正确应用。 我有用于生成 1280x720x30fps 测试图像的 ip 核心块,并且我可以在显示器上看到,所以我确信 hdmi 代码。 我下载了 AN65974 示例,但我不知道如何链接 fifo_slave_block 和 video_out 的 IP 块。 如何描述 XDC 文件的 fmc 连接

回帖(1)

李鸿洋

2025-5-12 07:31:43

在AN65974示例中连接fifo_slave_blockvideo_out IP块并配置FMC的XDC约束,需遵循以下步骤:




1. IP核接口分析



  • fifo_slave_block:

    通常包含AXI Stream接口(TDATA, TVALID, TREADY)或自定义FIFO接口(data_out, rd_en, empty)。

  • video_out:

    需要像素数据输入(如pixel_data)、同步信号(hsync, vsync)和像素时钟(pixel_clk)。




2. 在Vivado Block Design中连接IP


步骤:




  1. 添加IP到Block Design

    fifo_slave_blockvideo_out IP核拖入画布。




  2. 连接数据路径  



    • fifo_slave_block的数据输出(doutTDATA)连接到video_out的像素数据输入(pixel_data)。

    • 若使用AXI Stream,连接TVALIDTREADY以确保流控制。




  3. 同步信号和时钟  



    • video_out生成的hsync/vsync连接到显示控制器(如HDMI TX IP)。

    • 确保fifo_slave_block的读时钟(rd_clk)与video_out的像素时钟(pixel_clk)同步。若跨时钟域,需启用异步FIFO选项。




  4. 控制信号  



    • 连接fifo_slave_blockempty信号到video_out的状态输入,防止读取空FIFO。

    • video_out的像素使能信号(pixel_enable)驱动FIFO的rd_en






3. XDC约束配置(FMC引脚分配)


关键步骤:




  1. 确定FMC引脚映射

    参考硬件手册(如FMC HPC引脚表),找到HDMI相关的差分对信号(如CLK, D0, D1, D2)对应的FPGA引脚号。




  2. 编写XDC约束  


    # 示例:HDMI差分时钟约束
    set_property PACKAGE_PIN FMC_HPC_LA01_P [get_ports hdmi_clk_p]
    set_property IOSTANDARD LVDS_25 [get_ports hdmi_clk_p]
    set_property DIFF_TERM TRUE [get_ports {hdmi_clk_p hdmi_clk_n}]

    # 数据通道(以D0为例)
    set_property PACKAGE_PIN FMC_HPC_LA02_P [get_ports hdmi_d0_p]
    set_property IOSTANDARD LVDS_25 [get_ports hdmi_d0_p]



  3. 同步信号约束  


    # Hsync/Vsync
    set_property PACKAGE_PIN FMC_HPC_LA03_N [get_ports hsync]
    set_property IOSTANDARD LVCMOS18 [get_ports hsync]





4. 调试与验证




  1. 生成比特流

    完成连接和约束后,生成比特流并下载到FPGA。




  2. ILA调试

    插入ILA核监控fifo_slave_blockdoutvideo_outpixel_data,确保数据连续且无溢出。




  3. 物理检查

    确认显示器接收到1280x720@30fps图像,检查是否有撕裂或时序错误。






常见问题



  • FIFO下溢:增加FIFO深度或优化数据输入速率。

  • 引脚分配错误:核对硬件手册,确保差分对正确配对(如_P_N)。

  • 时钟不同步:使用Clock Wizard生成匹配的时钟域。


通过以上步骤,应能正确集成AN65974示例中的FIFO和视频输出模块。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分