今天做了一个关于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. C# 整型数和浮点型数的进制转换

    1.十进制转二进制 /// <summary> /// 十进制转二进制 /// </summary> public class Convert10To2 { /// <s ...

  2. .netcore 输出 json 的变量命名格式

    从mvc  迁移到的 .netcore mvc 的时候 ,发现很多js 报错,查了一下  居然是变量的大小改变了,这个需要到 starup.cs 设置 //设置返回 json 格式 首字母问题 按原格 ...

  3. flex 布局方式

    开始啦 1. flex-direction 有关主轴的对齐方式 column 自上到下 row 自左到右 -->默认值 row-reverse 自右到左 column-reverse 自下到上 ...

  4. Invariant Violation: requireNativeComponent: "RNCWKWebView" was not found in the UIManager.

    react-native  0.60以上版本安装第三方库的时候会autolink  出现这个问题是 我安装 react-native-webview 之后运行 ios出现的,这是因为ios 没有自动安 ...

  5. CentOS 7安装Hadoop集群

    准备三台虚拟机,ip分别为192.168.220.10(master).192.168.220.11(slave1).192.168.220.12(slave2) 准备好jdk-6u45-linux- ...

  6. HTML5 canvas 在线涂鸦

    插件地址 http://bencentra.github.io/jq-signature/ 采用技术 jq-signature.min.js Developed using jQuery 2.1.4. ...

  7. 【2017-11-26】Linq表连接查询

    class Program { static void Main(string[] args) { //Linq创建的数据库上下文对象db DataClasses2DataContext db = n ...

  8. 1.Storm概述简介

    主要目标: 1. 离线计算是什么? 2. 流式计算是什么? 3. 流式计算与离线计算的区别? 4. Storm是什么? 5. Storm与Hadoop的区别? 6. Storm的应用场景及行业案例 7 ...

  9. 面对runc逃逸漏洞,华为云容器为您保驾护航

    背景信息 基于runc运行时的容器存在安全漏洞,攻击者可以通过恶意容器镜像等方式获取宿主机root执行权限.漏洞CVE-2019-5736的详细信息,请参见 https://cve.mitre.org ...

  10. PAT Basic 1069 微博转发抽奖 (20 分)

    小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行给出三个正整数 M(≤ 1000). ...