/* * 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 +…
基于Verilog HDL的数字时钟设计 一.实验内容:     利用FPGA实现数字时钟设计,附带秒表功能及时间设置功能.时间设置由开关S1和S2控制,分别是增和减.开关S3是模式选择:0是正常时钟显示:1是进入调分模式:2是进入调时模式:3是进入秒表模式,当进入秒表模式时,S1具有启动和停止功能,S2具有复位归零功能.只有四位数码管,所以没有做万年历,下一步会在这个基础上加入定时闹钟. 二.实验板 自个制作的实验板,用的是Altera CycloneIII EP3C40Q240C8N.上面的…
消失了好久,没有写文章,也没有做笔记,因为最近再赶一个比赛,时间很紧,昨天周六终于结束了,所以趁着周末这会儿有时间,写点东西,记录下来.首先我学习FPGA才一年多,我知道自己没有资格谈论一些比较深层次的问题,对于这个行业来说可能我才是一直脚踩在门外面.所以这篇文章是写给一些刚开始学习FPGA.Verilog HDL的同学,我看过一些大神写的代码,然后尽量模仿大神写法,经过好几个大神的影响和自己的习惯摸索,最终算是总结出了一套自己的代码书写风格,当然我的代码风格还是一直在进化中.现在将自己的一些经…
博主之前写过一篇文章来谈论如何高效的编写Verlog HDL——菜鸟版,在其中主要强调了使用Notepad++来编写Verilog HDL语言的便捷性,为什么说是菜鸟版呢,因为对于新手来说,在还没有熟悉软件和硬件描述语言的时候,使用Notepad++不需要学习成本,几分钟就能用好,利用其中一些功能,便能相对快捷高效的编写代码.很多人习惯了使用Notepad++,包括我在内.但是当我遇见了它——Vim.相对来说Vim就需要一段时间去适应学习,而且还要合理运用才能发挥出它的最大效率. Vim其实一款…
Sublime Text 2 和 Verilog HDL Date  Fri 04 July 2014 Tags Sublime Text / Vivado Sublime Text 代码编辑器之于程序员,就如同剑之于战士.程序员关于代码编辑器的争论从来就没有停止过,每个程序员都有自己熟悉的编辑器,他们热爱自己的 “武器”,甚至可以形成 “宗教”,比如 Vim 和 Emac 的战争. 如今,这个无休止的争论中要加入一个新成员了,她就是 Sublime Text .其实她也不是 “新” 成员了,早…
基于Verilog HDL整数乘法器设计与仿真验证 1.预备知识 整数分为短整数,中整数,长整数,本文只涉及到短整数.短整数:占用一个字节空间,8位,其中最高位为符号位(最高位为1表示为负数,最高位为0表示为正数),取值范围为-127~127. 负数的表示方法为正值的求反又加1.例如: 8’b0000_0100; //表示值:4,正值求反为:8’b1111_1011:再加1表示为:8’b1111_1100,这样便得到了-4的表示方法为:8’b1111_1100. 同理,负值变成正值的方法为:负值…
关于初次使用Verilog HDL语言需要懂的基本语法 1.常量 数字表达式全面的描述方式为:<位宽><进制><数字> 8’b10101100,表示位宽为8的二进制数. 2.参数 Parameter 参数名=表达式: 3.变量 reg型:通过赋值语句来改变寄存器存储值,相当于改变触发器存储的值.reg型数据常用来表示“always”模块内的指定信号,常代表触发器.通常,在设计的过程中与always模块结合使用,通过使用行为描述语句来表达逻辑关系. 注意:在“always…
[连载] FPGA Verilog HDL 系列实例 Verilog HDL 之 步进电机驱动控制 步进电机的用途还是非常广泛的,目前打印机,绘图仪,机器人等等设备都以步进电机为动力核心.那么,下面我们就了解下什么是步进电机,它是怎么控制的. 一.步进电机相关知识简介 1.步进电机概述 步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机.单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动.多相步进电动机有多相方波脉冲驱动,用途很广…
Verilog HDL基础语法讲解之模块代码基本结构   本章主要讲解Verilog基础语法的内容,文章以一个最简单的例子"二选一多路器"来引入一个最简单的Verilog设计文件的基本结构. 以下为本章中例子中的代码: 01    /*======================================= 02    *    file neme : mux2.v 03    *    author    :    小梅哥 04    *    Verison    :    …
一个设计是由一个个模块(module)构成的.一个模块的设计如下: 1.模块内容是嵌在module 和endmodule两个语句之间.每个模块实现特定的功能,模块可进行层次的嵌套,因此可以将大型的数字电路设计分割成大小不一的小模块来实现特定的功能,最 后通过由顶层模块调用子模块来实现整体功能,这就是Top-Down的设计思想,如 3.3.1的例[3]. 2.模块包括接口描述部分和逻辑功能描述部分.这可以把模块与器件相类比. 模块的端口定义部分: 如上例: module addr (a, b, c…