基于FPGA的数字时钟verilog开发

目录

一、理论基础

二、案例背景

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1620954.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

51单片机数字时钟

我们学单片机&#xff0c;一般都会写数字时钟编程。它能帮助我们&#xff1a; a&#xff0e; 能够系统性地总结掌握的知识&#xff0c;将单元模块知识有机的结合在一起。 b&#xff0e; 能够充分协调好硬件与软件之间的相互结合&#xff0c;合理设计硬件电路。 c&#xff0…

多功能数字时钟(VHDL)

文章目录 一、课程设计内容二、实验方案分析与设计1.功能要求2.各个模块描述 三、具体实现过程描述1、小时计时2、分计时3、秒计时4、闹钟小时计时5、闹钟分计时6、闹钟比较模块7、控制器模块&#xff08;设置状态转换&#xff09;8、控制显示模块&#xff08;显示时间以及校时…

基于FPGA的简易数字时钟

基于FPGA的可显示数字时钟&#xff0c;设计思路为自底向上&#xff0c;包括三个子模块&#xff1a;时钟模块&#xff0c;进制转换模块&#xff0c;led显示模块。所用到的FPGA晶振频率为50Mhz&#xff0c;首先利用它得到1hz的时钟然后然后得到时钟模块&#xff0c;把时钟模块输出…

数字逻辑之数字时钟课程设计(含proteus仿真图及代码)

一、设计要求 1、设计一个能显示日期、小时、分钟、秒的数字电子钟&#xff0c;并具有整点报时的功能。  2、可手动校正时、分时间和日期值&#xff0c;时间以24小时为一个周期&#xff0c;有校时功能&#xff0c;可以分别对时及分进行单独校时&#xff0c;使其校正到标准时间…

数电实验:数字时钟设计 (经验分享,仅供参考)

实 验 目 的 一、独立完成一个数字小系统的设计 二、基于实验箱对设计进行验证 实验内容: 能够显示时、分、秒共6位数字&#xff1b; 考虑使用实验箱时钟&#xff08;频率包括1M、500K、 250K、100K、10K、1K等&#xff09;&#xff1b; 考虑使用实验箱数码管输出接口。 …

数据结构】二叉树篇|超清晰图解和详解:后序篇

博主简介&#xff1a;努力学习的22级计算机科学与技术本科生一枚&#x1f338;博主主页&#xff1a; 是瑶瑶子啦每日一言&#x1f33c;: 你不能要求一片海洋&#xff0c;没有风暴&#xff0c;那不是海洋&#xff0c;是泥塘——毕淑敏 目录 一、核心二、题目 一、核心 我们清楚…

Yandex SEO和Google SEO有啥区别?5000字说必须要了解的一些事儿

最近筋斗云SEO服务有做一些俄罗斯市场的SEO&#xff0c;而做俄罗斯的SEO相当于就是要做Yandex的SEO。对比Google的SEO优化&#xff0c;其实有比较多的区别&#xff0c;但总体算法、逻辑等等都大致相似。本文从Linus自己的研究和搜集的公开信息&#xff0c;对比一下Google和Yand…

阿里,百度,腾讯,360,新浪,网易,小米等开源项目

奇虎360 https://github.com/Qihoo360 1.MySQL中间层 Atlas Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上&#xff0c;修改了大量bug&#xff0c;添加了很多功能特性。目前该项…

大公司都有哪些开源项目~~~阿里,百度,腾讯,360,新浪,网易,小米等

红色字体是现阶段比较火的 ---------------------------------------------------------------------------------------------------------------- 奇虎360 https://github.com/Qihoo360 1.MySQL中间层 Atlas Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于M…

(读) 周鸿祎重新思考360(有感)

为什么80%的码农都做不了架构师&#xff1f;>>> 我们的红衣教主——周鸿祎&#xff08;yi&#xff09; 我只能从我的印象中和对他的了解中说出&#xff1a; 公司的人群 规模&#xff1a;800&#xff08;上市前&#xff09;-3/4000人&#xff08;目前&#xff09;目…

WIFI市场,除了免流量还能如何玩?

此前手机QQ公测QQWiFi功能&#xff0c;在最近发布的手机QQ5.3安卓版本中&#xff0c;正式全员开放QQwifi功能&#xff0c;用户可以通过简单几步接入运营商和商户的500多万WIFI热点&#xff0c;巨大的用户基础让本已热闹的WIFI市场又增变数。在此之前&#xff0c;微信、小米、阿…

java版-wifi无线网络搭建

这几天 360出了一款随身WIFI&#xff0c;非常小巧&#xff0c;使用也比较方便。插在USB的接口上就能自动创建一个无线网络环境。但是价格却要19.9元&#xff0c;相信大部分的孩子会觉得这么便宜呀。赶快入手。但是真的值这个价格吗&#xff1f;我可以说这个玩意毫无技术含量&am…

关于类的隐形生成函数

https://www.youtube.com/watch?ve8Cw17p_BiU&listPL5jc9xFGsL8FWtnZBeTqZBbniyw0uHyaH&index6 https://www.youtube.com/watch?vKMSYmY74AEs&listPLE28375D4AC946CC3&index4 如果只有copy asignment operator, 那么default construct will be generated as…

证券低延时环境设置并进行性能测试

BIOS设置BIOS参考信息 关闭 logical Process Virtualization Technology 在System Profiles Settings 中System Profile 选择Performance Workload Profile 选择HPC Profile OS中信息参考在/etc/default/grub文件中添加 intel_idle.max_cstate=0 processor.max_cstate=0 idle=p…

探索Java的ReentrantLock:实现并发锁的强大力量

前言&#xff1a; &#x1f44f;作者简介&#xff1a;我是笑霸final&#xff0c;一名热爱技术的在校学生。 &#x1f4dd;个人主页&#xff1a;个人主页1 || 笑霸final的主页2 &#x1f4d5;系列专栏&#xff1a;java系列 &#x1f4e7;如果文章知识点有错误的地方&#xff0c;…

苹果基带坏了怎么办_iPhone12 上市,苹果这次有哪些改变

苹果每年一度发布新品时间一般在9月份 但今年疫情使得发布延后&#xff0c;这里对iPhone12网上流传的配置做下总结 通讯方面: 这次毫无疑问的事iPhone12从之前的4G升级到了5G&#xff0c;使用高通X55基带&#xff0c;这次再也没用英特尔的基带了&#xff0c;英特尔基带手机信号…

iPhone12基带确认,果粉放心

在iPhone12发布的时候都没有提到iPhone12到底用的是什么基带&#xff0c;我之前在粉丝留言下方说了是高通基带&#xff0c;我当时说可能部分手机是因特尔部分是高通&#xff0c;今天有人在社交媒体发布了iPhone12的基带从中可以看出本次iPhone12采用的是高通的X55基带&#xff…

android备份基带,备份过SHSH,保留基带,直刷5.0.1系统完美详细教程

此教程仅适用于备份SHSH直刷任何高于现手机版本的任何系统&#xff0c;我的系统是4.3.3直刷到5.0.1.可能刷法不同&#xff0c;我的用电量貌似没有增加&#xff0c;依然比较省电,没有大家说的掉电突然增加的现象。而且&#xff0c;刷完5.0.1&#xff0c;我的3G开关也依然存在&am…

苹果或方案自立研制iPhone基带芯片

据业界人士称&#xff0c;苹果方案组成一支新的研制团队去开发基带处理器&#xff0c;那些基带处理器将被用于它方案在2015年发布的新款iPhone中。知情人士还说&#xff0c;苹果方案将基带芯片的订单交给三星电子和Globalfoundries。 尽管某些知情人士还说&#xff0c;苹果或许…

使用Easy Chm制作chm文档步骤

前言 软件发布后需要相应的文档说明&#xff0c;CHM是微软新一代的帮助文件格式&#xff0c;利用HTML作源文&#xff0c;把帮助内容以类似数据库的形式编译储存。因为使用方便&#xff0c;形式多样也常被采用作为电子书的格式&#xff1b; 制作类似的chm文档可以使用Easy Chm软…