Verilog HDL VGA Driver for Xilinx Nexys 4 适用于Nexys4的VGA驱动
/*
* Function: VGA Timing Generator
* Author: Liutianchen
* Date: 2016-12-5
* Version: 6.0
* Environment: Verilog HDL with Vivado 2016.3
*/ `timescale 1ns / 1ps /*
PARAMETER:
0: Sync
1: Sync + Back porch
2: Sync + Back porch + Display Area
3: Sync + Back porch + Display Area + Front Porch
*/ module vga_time_gen(
input clk,
input rst,
input ena,
output VGA_HS,
output VGA_VS,
output reg Ready,
output [:] HCounter,
output [:] VCounter); reg [:] cntH=,cntV=; reg [:] Hpara [:];
reg [:] Vpara [:]; initial begin
///Parameter Announcement /// 1280 x 1024@60hz 108MHz
Hpara[]=;
Hpara[]=+;
Hpara[]=++;
Hpara[]=+++; Vpara[]=;
Vpara[]=+;
Vpara[]=++;
Vpara[]=+++; ////800x600@60hz 40MHz
// Hpara[0]=128;
// Hpara[1]=128+88;
// Hpara[2]=128+88+800;
// Hpara[3]=128+88+800+40;
//
// Vpara[0]=4;
// Vpara[1]=4+23;
// Vpara[2]=4+23+600;
// Vpara[3]=4+23+600+1; ////1024x768@85hz 94.6MHz
// Hpara[0]=96;
// Hpara[1]=96+208;
// Hpara[2]=96+208+1024;
// Hpara[3]=96+208+1024+48;
//
// Vpara[0]=3;
// Vpara[1]=3+36;
// Vpara[2]=3+36+768;
// Vpara[3]=3+36+768+1;
end ///////////////Horizontal Scanning/////////////////// always@(posedge clk or posedge rst) begin
if(rst)
cntH<=;
else if(cntH==Hpara[])
cntH<=;
else
cntH<=cntH+;
end ///////////////Vertical Scanning///////////////////// always@(posedge clk or posedge rst) begin
if(rst)
cntV<=;
else if(cntV==Vpara[])
cntV<=;
else if(cntH==Hpara[])
cntV<=cntV+;
end ///////////////Displaying Area Ready?/////////////// always@(posedge clk or posedge rst) begin
if(rst)
Ready<=;
else if(cntH>Hpara[] && cntH<Hpara[] &&
cntV>Vpara[] && cntV<Vpara[])
Ready<=;
else
Ready<=;
end ///////////////////Output Sync Signal/////////////// assign VGA_HS=cntH<=Hpara[]?(ena?:):;
assign VGA_VS=cntV<=Vpara[]?(ena?:):; ///////////////////Ouput Position//////////////////// assign HCounter=cntH-Hpara[];
assign VCounter=cntV-Vpara[]; endmodule
VGA端口时序发生器,适用于Xilinx公司Nexys4开发板。
Nexys4开发板支持4096色RGB显示输出。
请使用时钟IP核发生VGA显示需要的时钟频率。频率对应的时序参数表可从Tiny VGA网站查阅。
转载请注明出处。
原文地址:http://www.cnblogs.com/liutianchen/p/6292721.html
如果你还没选课那请选张志峰别问为什么。。。
Verilog HDL VGA Driver for Xilinx Nexys 4 适用于Nexys4的VGA驱动的更多相关文章
- 基于Verilog HDL 的数字时钟设计
基于Verilog HDL的数字时钟设计 一.实验内容: 利用FPGA实现数字时钟设计,附带秒表功能及时间设置功能.时间设置由开关S1和S2控制,分别是增和减.开关S3是模式选择:0是正常时钟 ...
- 浅谈Verilog HDL代码编写风格
消失了好久,没有写文章,也没有做笔记,因为最近再赶一个比赛,时间很紧,昨天周六终于结束了,所以趁着周末这会儿有时间,写点东西,记录下来.首先我学习FPGA才一年多,我知道自己没有资格谈论一些比较深层次 ...
- 如何高效的编写Verilog HDL——进阶版
博主之前写过一篇文章来谈论如何高效的编写Verlog HDL——菜鸟版,在其中主要强调了使用Notepad++来编写Verilog HDL语言的便捷性,为什么说是菜鸟版呢,因为对于新手来说,在还没有熟 ...
- Sublime Text 2 和 Verilog HDL
Sublime Text 2 和 Verilog HDL Date Fri 04 July 2014 Tags Sublime Text / Vivado Sublime Text 代码编辑器之于程 ...
- 基于Verilog HDL整数乘法器设计与仿真验证
基于Verilog HDL整数乘法器设计与仿真验证 1.预备知识 整数分为短整数,中整数,长整数,本文只涉及到短整数.短整数:占用一个字节空间,8位,其中最高位为符号位(最高位为1表示为负数,最高位为 ...
- 关于初次使用Verilog HDL语言需要懂的基本语法
关于初次使用Verilog HDL语言需要懂的基本语法 1.常量 数字表达式全面的描述方式为:<位宽><进制><数字> 8’b10101100,表示位宽为8的二进制 ...
- FPGA Verilog HDL 系列实例--------步进电机驱动控制
[连载] FPGA Verilog HDL 系列实例 Verilog HDL 之 步进电机驱动控制 步进电机的用途还是非常广泛的,目前打印机,绘图仪,机器人等等设备都以步进电机为动力核心.那么,下面我 ...
- Verilog HDL基础语法讲解之模块代码基本结构
Verilog HDL基础语法讲解之模块代码基本结构 本章主要讲解Verilog基础语法的内容,文章以一个最简单的例子"二选一多路器"来引入一个最简单的Verilog设计文件的 ...
- Verilog HDL模块的结构
一个设计是由一个个模块(module)构成的.一个模块的设计如下: 1.模块内容是嵌在module 和endmodule两个语句之间.每个模块实现特定的功能,模块可进行层次的嵌套,因此可以将大型的数字 ...
随机推荐
- vue之vue-router跳转
vue之vue-router跳转 一.配置 在初始化使用vue-cli的时候会有vue-router的安装选择,选择安装即可. 二.嵌套路由 一般情况下,登录和项目页面属于同级,所以App.vue 只 ...
- Linux大牛分享的7道经典面试题和秒收 offer 的技巧
笔者其实没有想到去面试,只是在智联上更新了一下简历,就陆陆续续接到很多猎头的邮件和电话,闲话少说,下面就分享给大家Linuxer的面试经历: 首先,猎头或者公司人资会把公司的介绍及岗位要求发到你邮箱( ...
- 简单的mysql热备
最近一直担心数据出问题,还好领导给了一台备用机,装好mysql后搜了下mysq热备相关的帖子,看似好繁琐,自己大概配置了一下擦发现起始很简单! 下边就是步骤了! 1.修改主从mysql配置文件,在my ...
- TortoiseSVN文件夹及文件图标不显示解决方法(兼容Window xp、window7)
最近遇到TortoiseSVN图标(如上图:增加文件图标.文件同步完成图标等)不显示问题,网上找到的解决方法试了很多都无法真正解决,最后总结了一下,找到了终极解决方案,当然此方案也有弊端,接下来我们就 ...
- iOS学习之第二个View使用UITabBarViewController
前面有一篇博文iOS学习之Tab Bar的使用和视图切换 这是在AppDelegate里使用Tabbar,这样的程序打开就是TabbarView了,有时候我们需要给程序做一些帮助页面,或者登录页面,之 ...
- php-yii-form标签
yii 标签用法(模板) (2013-08-14 17:28:19) 转载▼ 标签: it 分类: yii yii模板中的label标签 <?php echo $form->labelEx ...
- C# Common Keyword II
[C# Common Keyword II] 1.as 运算符用于在兼容的引用类型之间执行某些类型的转换. class csrefKeywordsOperators { class Base { pu ...
- 微软人工智能公开课 https://mva.microsoft.com/colleges/microsoftai#!jobf=Developer
https://mva.microsoft.com/colleges/microsoftai#!jobf=Developer
- Git,GitHub以及GitLab的区别
Git - 版本控制工具 Github - 一个网站,提供给用户空间创建git仓储,保存用户的一些数据文档或者代码等 GitLab - 基于Git的项目管理软件 Git分布式版本控制系统 Git是一款 ...
- 750. Number Of Corner Rectangles四周是点的矩形个数
[抄题]: Given a grid where each entry is only 0 or 1, find the number of corner rectangles. A corner r ...