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两个语句之间.每个模块实现特定的功能,模块可进行层次的嵌套,因此可以将大型的数字 ...
随机推荐
- C# GDI+ 实现橡皮筋技术
原文 C# GDI+ 实现橡皮筋技术 应该有很多人都在寻找这方面的资料,看看下面我做的,或许对你会有所帮助,但愿如此. 为了实现橡皮筋技术,我用了两种方法: 第一种是利用ControlPain ...
- promtheus 配置文件
全局配置 global 属于全局的默认配置,它主要包含 4 个属性, scrape_interval: 拉取 targets 的默认时间间隔. scrape_timeout: 拉取一个 target ...
- 手游为什么要热更新,C#为什么不能热更新,LUA为什么可以
热更新是什么?简单的说就是打补丁,只补需要部分,不用重个游戏包重打上传 热更新问题的本质是代码更新而不是资源更新,为什么呢? 大型手游都是将补丁资源放在专门的WEB服务器上,游戏启动时动态下载并放入到 ...
- Java并发之AQS详解(转)
一.概述 谈到并发,不得不谈ReentrantLock:而谈到ReentrantLock,不得不谈AbstractQueuedSynchronized(AQS)! 类如其名,抽象的队列式的同步器,AQ ...
- WPF——Sharder实现Logo走光动画
利用WPF的走光动画实现的走光动画. 资源 实例程序 示例代码 LogoEffect logoEffect = }; //要添加走光动画的物体 logo.Effect = logoEffect; D ...
- centos7 安装VMware Tools 遇到的一系列问题的解决方案
先部署源:http://www.cnblogs.com/jiu0821/p/8074463.html VMware Tools安装方法参考:http://www.cnblogs.com/jiu0821 ...
- 【祥哥带你玩HoloLens开发】了解如何实现远程主机为HoloLens实时渲染
今天有一个兄弟在群里讲到他们的项目模型比较大,单用HoloLens运行设备的性能无法满足需要,问道如何将渲染工作交给服务器来做,讲渲染结果传给HoloLens.正好刚刚看官方github的时候发现一个 ...
- 用map函数来完成Python并行任务的简单示例
众所周知,Python的并行处理能力很不理想.我认为如果不考虑线程和GIL的标准参数(它们大多是合法的),其原因不是因为技术不到位,而是我们的使用方法不恰当.大多数关于Python线程和多进程的教材虽 ...
- Openssl errstr命令
一.简介 errstr命令用于查询错误代码 二.语法 errstr [-stats] <errno> 选项 -stats:打印哈希表状态 errno:错误号 三.实例 1.查看错误信息 : ...
- 洛谷 P3092 [USACO13NOV]没有找零No Change
题目描述 Farmer John is at the market to purchase supplies for his farm. He has in his pocket K coins (1 ...