FPGA实现VGA接口 您所在的位置:网站首页 compurerroom怎么读 FPGA实现VGA接口

FPGA实现VGA接口

2023-12-23 10:53| 来源: 网络整理| 查看: 265

实验描述:

使用altera芯片FPGA实现VGA接口图像显示,将图片保存在ROM/RAM中,实现静态图片的显示。 这里主要记录自己在调试过程中遇到的一些坑,希望可以让看到的人少走一点弯路,当然,也会附上我的全部代码,供大家参考。

本项目参考了其他博主的文章,再次感谢他们的帮助。 http://dengkanwen.com/70.html http://t.csdn.cn/7ykBT

过程描述

首先,附上全部各个模块的代码

//VGA彩条显示 //端口定义 module vga_colorbar_top( input wire sys_clk , input wire sys_rst, output wire vga_hs, // 输出到vga接口的行同步信号 output wire vga_vs, // 输出到vga接口的场同步信号 output wire [15:0] vga_rgb // 输出到vga接口的像素数据 ); //内部信号定义 wire clk_w ; wire locked_w; wire [15:0] pixel_data_w; wire [9:0] pixel_hpos_w; wire [9:0] pixel_vpos_w; //wire sys_rst_n; //assign sys_rst_n = sys_rst && locked_w; //例化pll PLL_48MHz_to_25MHz pll_25MHz( //.areset (sys_rst),//对复位信号取反 .inclk0 (sys_clk), .c0 (clk_w) //.locked (locked_w) ); //vga驱动模块 vga_driver u_vga_driver( //pll与系统时钟复位输入信号 .clk_25MHz (clk_w), .rst (sys_rst), //驱动模块输出信号 .vga_hs (vga_hs), .vga_vs (vga_vs), .vga_rgb (vga_rgb), //显示模块输入像素坐标数据信号 .pixel_hpos (pixel_hpos_w), .pixel_vpos (pixel_vpos_w), .pixel_data (pixel_data_w) ); //vga显示模块 vga_display u_vga_disp( .clk_25MHz (clk_w), .rst (sys_rst), .pixel_hpos (pixel_hpos_w), .pixel_vpos (pixel_vpos_w), .pixel_data (pixel_data_w) ); endmodule // VGA驱动模块,分辨率640*480@60 module vga_driver( input wire clk_25MHz, //根据不同分辨率的VGA设定的时钟频率 input wire rst, input wire [15:0] pixel_data, //RGB--565,即pixel_data[15:11]控制R、pixel_data[10:5]控制G、pixel_data[4:0]控制B output wire [ 9:0] pixel_hpos, //pixel_data的行坐标 output wire [ 9:0] pixel_vpos, //pixel_data的列坐标 output wire vga_hs, //行同步信号 output wire vga_vs, //列同步信号 output wire [15:0] vga_rgb //输出到VGA接口的颜色数据 ); //内部参量定义,vga时序参数 parameter H_SYNC = 10'd96; // 同步期 parameter H_BACK = 10'd48; // 显示后沿 parameter H_DISP = 10'd640; // 显示区域 parameter H_FRONT = 10'd16; // 显示前沿 parameter H_PRIOD = 10'd800; // 行周期总长度 parameter V_SYNC = 10'd2; // 同步期 parameter V_BACK = 10'd33; // 显示后沿 parameter V_DISP = 10'd480; // 显示区域 parameter V_FRONT = 10'd10; // 显示前沿 parameter V_PRIOD = 10'd525; // 列周期总长度 // 使能信号,用于区分有效数据 wire vga_en; // 请求信号,用于定位像素带你坐标 wire pixel_data_require; // VGA行场同步信号计数器 reg [9:0] cnt_h; reg [9:0] cnt_v; // VGA行场同步信号生成 assign vga_hs = (cnt_h = V_SYNC + V_BACK) && (cnt_v = PIC_HPOS) && (pixel_hpos = PIC_VPOS) && (pixel_vpos = 0 && pixel_hpos


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有