该组件允许将 DVI/HDMI 输出添加到您的 FPGA 项目中。
IP 从外部 AXI-4 内存目标获取像素数据,并转换为适合从 FPGA 驱动 DVI 或 HDMI(DVI 模式)输出的 TMDS。
基于Mike Field 的TMDS 编码器代码。
特征
- HDMI/DVI TMDS 输出。
- RGB565 输入格式。
- 支持突发的 AXI-4 总线主控器。
- 4KB 像素数据预取 FIFO(映射到 Xilinx FPGA 中的 BlockRAM)。
- AXI-4 Lite 寄存器接口,具有可编程帧缓冲区获取地址、启用、中断控制。
- 帧中断输出开始。
- 可配置的显示分辨率(640×480、800×600、1280×720、1920×1080)。
- 适用于 Linux ‘simple-framebuffer’ 驱动程序。
接口
姓名 | 描述 |
---|---|
clk_i | 时钟输入 – 必须适合配置的 res/refresh 速率。 |
clk_x5_i | 时钟输入 x 5。 |
rst_i | 异步复位,高电平有效。 |
cfg_* | AXI-4 Lite 配置端口(如果 VIDEO_ENABLE=1,则可选)。 |
外港_* | 用于像素获取数据的 AXI4 主接口。 |
介绍 | 高电平有效中断输出(单周期选通)。 |
参数
姓名 | 默认 | 描述 |
---|---|---|
VIDEO_WIDTH | 800 | 显示分辨率 (H)。 |
视频高度 | 600 | 显示分辨率 (V)。 |
VIDEO_REFRESH | 72 | 显示刷新率。 |
VIDEO_ENABLE | 1 | 复位后像素获取启用(可通过 AXI-4L regif 更改)。 |
VIDEO_FB_RAM | 32’h3000000 | 帧缓冲区基地址(可通过 AXI-4L regif 更改)。 |
Linux 帧缓冲区
示例 Linux DTS 配置,帧缓冲区位于 @ 0x300_0000 和 800×600 显示分辨率;
framebuffer {
compatible = "simple-framebuffer";
reg = <0x3000000 (800 * 600 * 2)>;
width = <800>;
height = <600>;
stride = <(800 * 2)>;
format = "r5g6b5";
};
测试
在配备戴尔 U2515 显示器和各种分辨率的 LG 液晶电视的 Xilinx Artix 7 (Digilent Arty A7) 上进行了测试。与 Linux Kernel ‘simple-framebuffer’ 驱动程序一起使用。
没有回复内容