目录

一、理论基础

二、案例背景

1.问题描述

2.思路流程

三、verilog核心仿真

四、仿真结论分析

五、参考文献


一、理论基础

整个程序分为以下三大部分:

·时钟控制部分,分为调整分,秒功能,秒清零功能;

·暂停功能,时钟计数停止功能;

·4位数码管显示功能;

系统按键为,分快速调整按钮,复位,秒清零按钮,系统暂停按钮(工作和暂停两个功能供用)

所以需要四个按钮。

二、案例背景

1.问题描述

整个系统的基本框图如下所示:

2.思路流程

·按键消抖主要是通过延迟的功能来实现的,在实际下板子的时候往往需要延迟很长一段时间,所以我们的代码为您提供两个版本的代码,一个版本为仿真版本,不加消抖,一个版本为硬件版本,具有消抖功能。

·仿真版本主要考虑系统的功能,所以我们直接对时钟进行系统控制;而硬件版本,我们为了得到1秒对应的时钟,需要对系统时钟进行分频。

三、verilog核心仿真

top程序如下:

module time_module(i_clk,     //系统时钟//这里假设按键的初始状态为0,按下后为1                  i_rst,     //系统复位i_min_fast,//调整分i_sec_fast,//调整秒i_stop_run,//暂停或者继续工作o_min,     //显示分o_sec      //显示秒);
input      i_clk;
input      i_rst;
input      i_min_fast;
input      i_sec_fast;
input      i_stop_run;                output[7:0]o_min;
output[7:0]o_sec;reg[7:0]o_min = 8'd0;
reg[7:0]o_sec = 8'd0;always @(posedge i_clk or posedge i_rst)
beginif(i_rst)begino_min <= 8'd0;//59o_sec <= 8'd0;//59end
else beginif(i_stop_run == 0)//不按下时为0,时钟正常工作begin//正常计时间if(o_sec[3:0] == 4'd9)begino_sec[3:0] <= 4'd0;if(o_sec[7:4] == 4'd5)begino_sec[7:4] <= 4'd0;//分计数if(o_min[3:0] == 4'd9)begino_min[3:0] <= 4'd0;if(o_min[7:4] == 4'd5)begino_min[7:4] <= 4'd0;endelse begin       o_min[7:4] <= o_min[7:4] + 4'd1;endendelse begino_min[3:0] <= o_min[3:0] + 4'd1;end                               endelse begin       o_sec[7:4] <= o_sec[7:4] + 4'd1;endendelse begino_sec[3:0] <= o_sec[3:0] + 4'd1;end   //调整时间    if(i_min_fast == 1'b1)beginif(o_min[3:0] == 4'd9)begino_min[3:0] <= 4'd0;if(o_min[7:4] == 4'd5)begino_min[7:4] <= 4'd0;endelse begin       o_min[7:4] <= o_min[7:4] + 4'd1;endendelse begino_min[3:0] <= o_min[3:0] + 4'd1;end endif(i_sec_fast == 1'b1)begino_sec <= 8'd0;endendelse begin//按下时为1,时钟停止o_min <= o_min;o_sec <= o_sec;          end     end
endendmodule

四、仿真结论分析

仿真结果如下所示:

正常运行:

如上图可以看到,当秒计数到59的事后哦,变0,然后分的数字加1;

调整:

分调整:

分调整按钮按下,分马上开始快速计数,和现实中的电子表一个原理。

秒调整:

秒调整按钮按下,秒变0。

暂停:

当按下暂停的时候,停止走动。

复位:

通过复位后,系统变为0;A02-36

基于FPGA的数字时钟verilog开发相关推荐

  1. 基于FPGA的数字时钟设计

    基于FPGA的数字时钟设计 芯片与开发板 技术指标 1.具有正常的日时分秒技术显示功能,用七个数码管分别显示日,时,分,秒. 2.有按键校日,校时,校分,校秒. 3.利用led模拟整点报时功能. 4. ...

  2. 基于FPGA的数字时钟(使用vivado)

    基于FPGA的数字时钟(使用vivado) 使用两个四位数码管,可以实现时钟分钟秒钟显示,高两位设置不显示. 换了一个新开发板,nexys4ddr,资料不多,最多使用的就是一本英文Reference ...

  3. 基于FPGA的数字时钟的设计课设(HUAT)

    目录 前言 一.数字时钟课设目标 二.部分代码 1.clock.v代码的编写 2.完整代码 3.仿真代码 总结 前言 学校黄老师的FPGA的设计课设,最后的课设为数字时钟,实现分时的计数功能,带有整点 ...

  4. 基于FPGA的呼叫设备verilog开发

    欢迎订阅<FPGA学习入门100例教程>.<MATLAB学习入门100例教程> 目录 一.理论基础 二.核心程序 三.测试结果 一.理论基础 随着集成电路技术的发展,电子设计自 ...

  5. m基于FPGA的数字下变频verilog设计

    目录 1.算法描述 2.仿真效果预览 3.verilog核心程序 4.完整FPGA 1.算法描述 整个数字下变频的基本结构如下所示 NCO使用CORDIC算法,CIC采用h结构的CIC滤波器,HBF采 ...

  6. 基于FPGA的数字时钟显示(万年历lcd1602)

    一.  lcd1602a的驱动和配置 (1)  lcd1602a的管脚分配图,在程序中,我们需要对相应的管脚进行操作,才能使其正确显示 (2) 由于我使用的板子EP4CE6上的晶振是50MHZ,而lc ...

  7. 基于FPGA的数字钟(四)——时钟控制模块

    一.需求分析 时钟控制模块,需要生成秒,分,时三路信号,需要有外部信号能对其进行控制. 按照正常时钟逻辑: 秒满60归零: 分在秒满60时进1,分满60归零: 时在分满60时进1,时满24归零. 外部 ...

  8. 基于FPGA的数字钟——(三)时钟显示模块(数码管)

    基于FPGA的数字钟--(三)数码管显示模块 一.硬件原理 本设计中使用 6 个共阳数码管,可以显示 6 个数字(包含小数点) .电路用 PNP管来反向驱动并且控制列扫描信号来选择哪个数码管.而且所有 ...

  9. [FPGA]基于FPGA的数字跑表

    基于FPGA的数字跑表的设计与实现 一.设计要求 用FPGA设计并实现一个数字跑表,范围为0~59分59.99秒.可以实现数字跑表进行启动.停止计时和显示读数三个操作,可以在数码管上显示读数. 二.设 ...

  10. 基于FPGA的数字视频信号处理器设计(中)

    今天给大侠带来基于FPGA的数字视频信号处理器设计,由于篇幅较长,分三篇.今天带来第二篇,中篇,视频信号概述和视频信号处理的框架.话不多说,上货. 之前也有图像处理相关方面的文章,这里超链接几篇,给各 ...

最新文章

  1. Vim对中文编码的支持[转]
  2. 世界首条柔性人造触觉神经诞生,有望应用于义肢感触等领域
  3. 高性能云计算展望(中)
  4. html头文件设置常用之meta设置缓存
  5. SVN服务器与客户端的配置
  6. NullInjectorError:No provider for MyNewService
  7. 2004-4-3+ asp.net编程环境的配置
  8. 扩散(信息学奥赛一本通-T1437)
  9. 微信自动抢红包软件被判赔475万
  10. sql学习练习题_学习SQL:练习SQL查询
  11. main()在C和C ++中应该返回什么?
  12. oracle rac的特征
  13. heidisql导入sql文件
  14. 简单的猜字游戏Java版
  15. html 链接到 appstore,如何在微信浏览器内打开App Store链接
  16. nginx root 和alise
  17. 博士申请 | 华东师范大学张凯教授课题组招收图神经网络方向博士生
  18. 基于加权对立和贪婪搜索多模态工程问题的黑猩猩优化算法(Matlab代码实现)
  19. apu运行linux,AMD发布带全新APU的新LINUX版本驱动
  20. Unity3D粒子系统实现落叶效果

热门文章

  1. 目前全网最详细的树莓派 Pico入门指南!
  2. 树莓派是什么?能干什么?和单片机有什么区别?
  3. springBoot Vue 项目实战
  4. golang单线程对比map与bigCache小对象存取性能差别
  5. 格力不需要“第二个董明珠”
  6. 利用US-100超声波传感器测距的核心代码
  7. 语音识别 自然语言处理
  8. 【洋桃电子】STM32入门100步-02
  9. SpringBoot四种读取properties文件的方式
  10. R语言生存分析之COX比例风险模型构建及亚组森林图绘制示例