图像增强 VGA HDMI 显示控制 Verilog Quartus
名称:图像增强 VGA HDMI 显示控制 Verilog Quartus
软件:Quartus
语言:Verilog
开发板/平台:DE10-Nano
功能介绍
本工程实现 FPGA 图像增强与 VGA/HDMI 显示控制,使用 Verilog 语言开发,开发环境为 Quartus。工程面向视频显示实验和图像处理入门应用,可完成基础视频时序产生、RGB 输出控制、图像处理模块调用以及 HDMI 显示链路配置。 设计中包含图像亮度处理、对比度处理、灰度处理和数据选择等功能模块,可用于观察不同图像处理逻辑对输出画面的影响。显示部分采用 640x480 有效显示区域时序,生成 hsync、vsync、dataEnable 和 RGBchannel 等关键信号,便于理解 FPGA 视频扫描、消隐区控制和像素有效区输出的关系。 工程还提供 DE10-Nano 相关 Quartus 工程、管脚约束、编译输出文件和演示资料,适合用于课程设计、FPGA 图像处理实验、VGA/HDMI 显示接口学习以及二次开发参考。运行环境
开发语言:Verilog 开发软件:Quartus 适配开发板:DE10-Nano 工程类型:FPGA 图像增强、VGA/HDMI 显示控制工程 主要工程文件:vgaHdmi.qpf、vgaHdmi.qsf、vgaHdmi.sdc 主要源码路径:quartus/src/TopModule.v、quartus/src/vgaHdmi.v、quartus/src/i2c、quartus/src/pll设计思路
设计以 FPGA 视频输出链路为核心,先由时钟与复位信号驱动 VGA/HDMI 显示时序,再通过水平计数、垂直计数产生行同步 hsync、场同步 vsync 和 dataEnable 有效显示区域信号。vgaHdmi 模块按照 640x480 显示区域组织像素扫描,并在消隐区、同步脉冲区和回扫区之间切换输出状态,从而形成标准的视频扫描节奏。 图像处理部分围绕亮度、对比度、灰度和数据选择等模块展开,适合学习 FPGA 中像素流处理的基本结构。整体思路是将图像数据或测试图案按像素节拍送入处理链路,再根据不同处理模块输出对应的 RGB 数据,最后通过 VGA/HDMI 控制模块完成显示输出。 HDMI 相关部分包含编码、并串转换和输出控制逻辑,I2C 配置模块用于 HDMI 芯片初始化配置。PLL 模块提供显示链路所需时钟,顶层模块负责把时钟、复位、按键/拨码开关、视频同步信号和 RGB 通道连接起来,形成可综合、可下载运行的完整 Quartus 工程。模块结构
主要模块包括: TopModule:工程顶层模块,完成时钟、复位、视频输出、I2C 配置和外设信号连接。 vgaHdmi:VGA/HDMI 视频时序与 RGB 测试输出模块,产生 hsync、vsync、dataEnable、vgaClock 和 RGBchannel。 I2C_Controller、I2C_WRITE_WDATA、I2C_HDMI_Config:HDMI 相关 I2C 配置模块,用于完成 HDMI 芯片初始化写入控制。 pll_25、pll_25_0002:PLL 时钟模块,为显示链路提供所需像素时钟。 image_brightness、image_contrast、image_gray、image_pro、data_choose:图像增强与数据选择模块,用于亮度、对比度、灰度及图像处理结果切换。 vga_ctrl、vga_pic、vga_disp、tb_vga_pic:VGA 显示控制、图像显示和测试相关模块。 hdmi_ctrl、encode、par_to_ser、ddio_out:HDMI 编码、控制、并串转换和输出相关模块。开发板验证
工程支持 DE10-Nano 开发板验证,已配置 Quartus 管脚约束与时钟约束,包含 vgaHdmi.qsf、vgaHdmi.sdc 以及 VGA/HDMI 相关引脚分配内容,可用于在 DE10-Nano 平台上进行编译、下载和显示测试。 验证内容围绕 FPGA 输出视频时序与 HDMI/VGA 显示链路展开,开关输入用于控制 RGB 三个颜色通道,便于在开发板上快速观察红、绿、蓝通道输出是否正常。工程中同时包含开发板实物运行图片,可作为下载前确认板级适配情况的参考。








演示视频
提供工程演示视频,可查看 DE10-Nano 平台上视频输出和颜色通道显示效果,适合下载前了解实际运行状态。仿真图/仿真说明/设计文档图片
设计文档内容包含工程文件、程序文件、程序编译、RTL 图和管脚分配说明,可辅助了解工程结构、编译流程与硬件引脚连接。工程中还包含 vgaHdmi_TB.v、仿真脚本和波形配置文件,可用于对 vgaHdmi 显示时序模块进行仿真参考。部分代码
以下展示顶层模块 vgaHdmi 的部分代码,完整源码请下载压缩包查看。
module vgaHdmi(
// **input**
input clock, clock50, reset,
input switchR, switchG, switchB,
// **output**
output reg hsync, vsync,
output reg dataEnable,
output reg vgaClock,
output [23:0] RGBchannel
);
reg [9:0]pixelH, pixelV; // estado interno de pixeles del modulo
initial begin
hsync = 1;
vsync = 1;
pixelH = 0;
pixelV = 0;
dataEnable = 0;
vgaClock = 0;
end
// Manejo de Pixeles y Sincronizacion
always @(posedge clock or posedge reset) begin
if(reset) begin
hsync <= 1;
vsync <= 1;
pixelH <= 0;
pixelV <= 0;
end
else begin
// Display Horizontal
if(pixelH==0 && pixelV!=524) begin
pixelH<=pixelH+1'b1;
pixelV<=pixelV+1'b1;
end
else if(pixelH==0 && pixelV==524) begin
pixelH <= pixelH + 1'b1;
pixelV <= 0; // pixel 525
end
else if(pixelH<=640) pixelH <= pixelH + 1'b1;
// Front Porch
else if(pixelH<=656) pixelH <= pixelH + 1'b1;
// Sync Pulse
else if(pixelH<=752) begin
pixelH <= pixelH + 1'b1;
hsync <= 0;
end
// Back Porch
else if(pixelH<799) begin
pixelH <= pixelH+1'b1;
hsync <= 1;
end
else pixelH<=0; // pixel 800
// Manejo Senal Vertical
// Sync Pulse
if(pixelV == 491 || pixelV == 492)
vsync <= 0;
else
vsync <= 1;
end
end
// dataEnable signal
always @(posedge clock or posedge reset) begin
if(reset) dataEnable<= 0;
else begin
if(pixelH >= 0 && pixelH <640 && pixelV >= 0 && pixelV < 480)
dataEnable <= 1;
else
dataEnable <= 0;
end
end
// VGA pixeClock signal
// Los clocks no deben manejar salidas directas, se debe usar un truco
initial vgaClock = 0;
always @(posedge clock50 or posedge reset) begin
if(reset) vgaClock <= 0;
else vgaClock <= ~vgaClock;
end
// **************************************************************
// Screen colors using de10nano switches for test
assign RGBchannel[23:16] = (switchR)? 8'd255 : 8'd0;
assign RGBchannel [15:8] = (switchG)? 8'd255 : 8'd0;
assign RGBchannel [7:0] = (switchB)? 8'd255 : 8'd0;
endmodule
代码文件(付费下载)
📥
付费后此处显示完整工程压缩包下载链接。
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 图像增强 VGA HDMI 显示控制 Verilog Quartus
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 图像增强 VGA HDMI 显示控制 Verilog Quartus