/*
* 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驱动的更多相关文章

  1. 基于Verilog HDL 的数字时钟设计

    基于Verilog HDL的数字时钟设计 一.实验内容:     利用FPGA实现数字时钟设计,附带秒表功能及时间设置功能.时间设置由开关S1和S2控制,分别是增和减.开关S3是模式选择:0是正常时钟 ...

  2. 浅谈Verilog HDL代码编写风格

    消失了好久,没有写文章,也没有做笔记,因为最近再赶一个比赛,时间很紧,昨天周六终于结束了,所以趁着周末这会儿有时间,写点东西,记录下来.首先我学习FPGA才一年多,我知道自己没有资格谈论一些比较深层次 ...

  3. 如何高效的编写Verilog HDL——进阶版

    博主之前写过一篇文章来谈论如何高效的编写Verlog HDL——菜鸟版,在其中主要强调了使用Notepad++来编写Verilog HDL语言的便捷性,为什么说是菜鸟版呢,因为对于新手来说,在还没有熟 ...

  4. Sublime Text 2 和 Verilog HDL

    Sublime Text 2 和 Verilog HDL Date  Fri 04 July 2014 Tags Sublime Text / Vivado Sublime Text 代码编辑器之于程 ...

  5. 基于Verilog HDL整数乘法器设计与仿真验证

    基于Verilog HDL整数乘法器设计与仿真验证 1.预备知识 整数分为短整数,中整数,长整数,本文只涉及到短整数.短整数:占用一个字节空间,8位,其中最高位为符号位(最高位为1表示为负数,最高位为 ...

  6. 关于初次使用Verilog HDL语言需要懂的基本语法

    关于初次使用Verilog HDL语言需要懂的基本语法 1.常量 数字表达式全面的描述方式为:<位宽><进制><数字> 8’b10101100,表示位宽为8的二进制 ...

  7. FPGA Verilog HDL 系列实例--------步进电机驱动控制

    [连载] FPGA Verilog HDL 系列实例 Verilog HDL 之 步进电机驱动控制 步进电机的用途还是非常广泛的,目前打印机,绘图仪,机器人等等设备都以步进电机为动力核心.那么,下面我 ...

  8. Verilog HDL基础语法讲解之模块代码基本结构

    Verilog HDL基础语法讲解之模块代码基本结构   本章主要讲解Verilog基础语法的内容,文章以一个最简单的例子"二选一多路器"来引入一个最简单的Verilog设计文件的 ...

  9. Verilog HDL模块的结构

    一个设计是由一个个模块(module)构成的.一个模块的设计如下: 1.模块内容是嵌在module 和endmodule两个语句之间.每个模块实现特定的功能,模块可进行层次的嵌套,因此可以将大型的数字 ...

随机推荐

  1. Warning: require(): open_basedir restriction in effect. File(/www/wwwroot/../thinkphp/start.php) is not within the allowed path(s):

    Warning: require(): open_basedir restriction in effect. File(/www/wwwroot//../thinkphp/start.php) is ...

  2. linux下mysql的root密码忘记----解决方案

    1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库.           因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的     状态下 ...

  3. delphi IOS 通知 TNotification

    delphi  IOS 通知 TNotification http://blogs.embarcadero.com/ao/2013/05/01/39450 TNotification http://d ...

  4. Tomcat ( 单机多 Tomcat 并存 )

    简介: Tomcat 扩展( 一台服务器运行多个 tomcat ) 一.安装 JDK .Tomcat shell > rpm -ivh jdk-8u25-linux-x64.rpm # 安装 j ...

  5. Android的SearchView详解

    转自https://www.jianshu.com/p/7c1e78e91506 一.简述 SearchView是v7包中的一个兼容性控件,它可以单独使用,也可以配合menu+toolbar一起使用. ...

  6. Spark internal - 多样化的运行模式(上)

    Spark的运行模式多种多样,在单机上既可以以本地模式运行,也可以以伪分布式模式运行.而当以分布式的方式运行在Cluster集群中时,底层的资源调度可以使用Mesos 或者是Hadoop Yarn , ...

  7. Nginx 相关介绍(Nginx是什么?能干嘛?个人觉得写得比较好的文章,转载过来)

    Nginx的产生 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器.基于REST架构风格,以统一资源描述符(Unifor ...

  8. SpringBoot30 整合Mybatis-Plus、整合Redis、利用Ehcache实现二级缓存、利用SpringCache和Redis作为缓存

    1 环境说明 JDK: 1.8 MAVEN: 3. SpringBoot: 2.0.4 2 SpringBoot集成Mybatis-Plus 2.1 创建SpringBoot 利用IDEA创建Spri ...

  9. CentOS 6.4一键自动化安装ISO镜像光盘

    下载CentOS-6.4-x86_64-minimal.iso 1 http://mirrors.163.com/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-mi ...

  10. Metadata Service 最高频的应用 - 每天5分钟玩转 OpenStack(164)

    实现 instance 定制化,cloud-init(或 cloudbase-init)只是故事的一半,metadata service 则是故事的的另一半.两者的分工是:metadata servi ...