今天做了一个关于VGA的显示实验,但是由于产生的25M时钟不正确所以一直没有图像产生。刚开始的程序如下

虽然仿真的时候出现了时序,但是在下载到硬件的时候不正确。
后来改成
结果就正确了。
另外之前关于分频时用边沿触发和用电平触发的结果是不一样的。
下面是VGA实验使用到了ADV7123在DE115平台进行的实验。640*480*25M水平同步信号和场同步信号可以 根据VGA的时序图进行计算。
顶层文件://THIS IS ABOUT VGA TEST 实验结果整个屏幕是红色
module VGA(CLK_50M,VGA_R,VGA_G,VGA_B,VGA_CLK,
VGA_SYNC_N,VGA_BLANK_N,VGA_VS,VGA_HS);
input CLK_50M;//THE INPUT TIME CLOCK
output [7:0]VGA_R;//OUTPUT RED PIX
output [7:0]VGA_B;//blue pix
output[7:0]VGA_G;//GREEN PIX 
output VGA_CLK;//ADC7123 TIME CLOCK
output VGA_SYNC_N; //同步信号
output VGA_BLANK_N;//消隐信号
output  VGA_HS;//水平同步
output  VGA_VS;//场同步
//wire CLK_25M;
 
//pll_25m U1(CLK_50M,CLK_25M);
reg count=0;
//reg CLK_25M;
/*always@(posedge CLK_50M)
begin
count<=count+1;
if(count) 
CLK_25M<=~CLK_25M;
end*/
wire CLK_25M;
always@(posedge CLK_50M)
begin
count<=count+1;
end
 
assign CLK_25M=count;
 
 
VGA_CONTRAL VGA_TEST(CLK_25M,VGA_R,VGA_G,VGA_B,VGA_CLK,
VGA_SYNC_N,VGA_BLANK_N,VGA_VS,VGA_HS);
 
endmodule
////////////////////////////////////
 
 
module VGA_CONTRAL(CLK_25M,VGA_R,VGA_G,VGA_B,VGA_CLK,
VGA_SYNC_N,VGA_BLANK_N,VGA_VS,VGA_HS);
input CLK_25M;//THE INPUT TIME CLOCK
output [7:0]VGA_R;//OUTPUT RED PIX
output [7:0]VGA_B;//blue pix
output[7:0]VGA_G;//GREEN PIX 
output VGA_CLK;//ADC7123 TIME CLOCK
output VGA_SYNC_N; //同步信号
output VGA_BLANK_N;//消隐信号
output reg VGA_HS;//水平同步
output reg VGA_VS;//场同步
//水平参数
parameter H_SYNC_CYC=95;
parameter H_SYNC_BACK=48;
parameter H_SYNC_ACT=635;
parameter H_SYNC_FRONT=15;
parameter H_SYNC_TOTAL=793;
//垂直参数
parameter V_SYNC_CYC=2;
parameter V_SYNC_BACK=33;
parameter V_SYNC_ACT=480;
parameter V_SYNC_FRONT=10;
parameter V_SYNC_TOTAL=525;
 
parameter H_START=H_SYNC_CYC+H_SYNC_BACK;
parameter V_START=V_SYNC_CYC+V_SYNC_BACK;
reg [9:0]HCOUNT=0;
reg [9:0]VCOUNT=0;
assign VGA_R=((HCOUNT>=H_START)&&(HCOUNT<=H_START+H_SYNC_ACT)&&
(VCOUNT>=V_START)&&(VCOUNT<V_START+V_SYNC_ACT)) ? 200:0;
 
assign VGA_G=((HCOUNT>=H_START)&&(HCOUNT<=H_START+H_SYNC_ACT)&&
(VCOUNT>=V_START)&&(VCOUNT<V_START+V_SYNC_ACT)) ? 0:0;
 
assign VGA_B=((HCOUNT>=H_START)&&(HCOUNT<=H_START+H_SYNC_ACT)&&
(VCOUNT>=V_START)&&(VCOUNT<V_START+V_SYNC_ACT)) ? 0:0;
 
assign VGA_CLK=CLK_25M;
assign VGA_SYNC_N=1'b0;
assign VGA_BLANK_N=VGA_HS&VGA_VS;
 
 
 
always@(posedge CLK_25M)
begin
if(HCOUNT<H_SYNC_TOTAL)
HCOUNT<=HCOUNT+1;
else
 begin
HCOUNT<=0;
if(VCOUNT<V_SYNC_TOTAL)
VCOUNT<=VCOUNT+1;
else
VCOUNT<=0;
if(VCOUNT<=V_SYNC_CYC)
VGA_VS<=0;
else
VGA_VS<=1;
end
if(HCOUNT<=H_SYNC_CYC)
VGA_HS<=0;
else
VGA_HS<=1;
end
 
endmodule

关于VGA显示实验的问题的更多相关文章

  1. 基于FPGA的VGA显示静态图片

    终于熬到暑假了,记过三四周的突击带考试,终于为我的大二画上了一个完整的句号,接下来终于可以静心去做自己想做的事情了,前一阵子报了一个线上培训班,学学Sobel边缘检测,之前一直在学习图像处理,但是因为 ...

  2. 基于FPGA的Uart接收图像数据至VGA显示

    系统框图 前面我们设计了基于FPGA的静态图片显示,接下来我们来做做基于FPGA的动态图片显示,本实验内容为:由PC端上位机软件通过串口发送一幅图像数据至FPGA,FPGA内部将图像数据存储,最后扫描 ...

  3. 基于FPGA的VGA显示实验设计

    基于FPGA的VGA显示实验设计 成果展示(优酷视频): 视频: 基于FPGA的VGA显示技术(手机控制) http://v.youku.com/v_show/id_XNjk4ODE3ODUy.htm ...

  4. VmodCAM图像采集 VGA显示

    先上图 总体框图 效果图 效果不是很好,因为暂时用的是zedboard自带的VGA,其只能RGB只有3*3*3的彩色度 VmodCAM原理图 VmodCAM的zedboard管脚约束见:http:// ...

  5. vga显示彩条

    vga显示驱动程序可分为扫描行列和行列同步两个部分 //注意:只有在有效区域内给vga赋值才会有颜色变化 assign vga_b = isready ? vga_s[:] :'d0; assign ...

  6. 纠错:基于FPGA串口发送彩色图片数据至VGA显示

    今天这篇文章是要修改之前的一个错误,前面我写过一篇基于FPGA的串口发送图片数据至VGA显示的文章,最后是显示成功了,但是显示的效果图,看起来确实灰度图,当时我默认我使用的MATLAB代码将图片数据转 ...

  7. 基于FPGA驱动VGA显示图片的小问题

    学习VGA显示图片的过程中,遇到了一个小问题,我在显示屏上开了一个60x60的框,放了一张图片进去显示,但是最终的结果如下图所示. 出现了一个竖黑边,看了看代码,分析了一下逻辑没问题,然而看这个显示那 ...

  8. FPGA驱动VGA显示静态图片

    一 .前言 本文设计思想采用明德扬至简设计法.VGA是最常见的视频显示接口,时序也较为简单.本文从利用显示屏通过VGA方式显示测试图案及静态图片着手带大家接触图像显示应用,算是为后续VGA显示摄像头采 ...

  9. verilog实现VGA显示方块屏幕保护

    verilog实现VGA显示方块屏幕保护 输入和输出 时钟信号 clk 复位信号 reset rgb三颜色输出 [2:0] r,g, [1:0] b 行信号输出 hs 列信号输出 vs 参数设定 设定 ...

随机推荐

  1. Intellij IDEA中启动多个微服务--开启Run Dashboard管理

    1.找到workspace.xml 2.添加配置 <option name="configurationTypes"> <set> <option v ...

  2. javascript 写一个ajax 自动拦截,并下载数据

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  3. MacBook使用HHKB键盘设置

    问题: macbook上使用hhkb的时候,很纠结档位4要不要开,开启4号DIP开关后,虽然会使HHKB键盘上减少一个“◇(Win键)”键,但是会在键盘左侧多出一个“FN”键.多出来的左“FN”键,不 ...

  4. access 数据库创建表SQL语法

    create table R_CAIFA_B13 ( ID AUTOINCREMENT PRIMARY KEY, XB varchar(255), C1 varchar(50), C2 varchar ...

  5. (十六)Activitivi5之内置用户组(角色)设计表以及IdentityService

    一.内置用户组(角色)设计表概念 用户和组(或者叫做角色),多对多关联,通过关联表实现 act_id_user 用户表: act_id_group 用户组表: act_id_membership 用户 ...

  6. regarding-hsts-in-netscaler

    regarding-hsts-in-netscaler 参考: Strict Transport Security (STS or HSTS) with Citrix NetScaler and Ac ...

  7. SAP Kyma(Extension Factory on SAP Cloud Platform)的架构简介

    SAP kyma主要分三大块组成: (1) Application connector simplify and securely connect external systems to Kyma a ...

  8. flask自有转换器:int、float、path。默认string

    flask自有转换器:int.float.path.默认string # 路由传递的参数默认当做string处理,这里指定int,尖括号中冒号后面的内容是动态的 # -*- coding: utf-8 ...

  9. 【shell】shell基础

    一.数据类型 1.shell变量 运行shell时,会同时存在三种变量: 1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量. 2) 环 ...

  10. js 小细节(持续更新)

    1.在对数据进行操作时,一定要考虑数据里面每一个value值是否存在 $.each(data, function(i, item){ if(item == null || item.firstFram ...