[FPGA]基于FPGA的数字跑表

基于FPGA的数字跑表的设计与实现
一、设计要求
用FPGA设计并实现一个数字跑表,范围为0~59分59.99秒。可以实现数字跑表进行启动、停止计时和显示读数三个操作,可以在数码管上显示读数。
二、设计任务
2.1基本部分
(1)了解FPGA开发板,了解数字跑表的功能。
(2)VHDL语言编程实现数字跑表系统的功能模块,数字跑表进行启动、停止、显示读数操作,并具有计时清零功能;
(3)程序编译正确,在Modelsim中仿真正确;
(4)采用FPGA开发板作为开发平台,能够下载验证。
2.2提高部分
能够采用原理图设计法设计。
三、设计原理
图3.1系统框图
在这里插入图片描述
如图,如果要实现计时范围为0~59分59.99秒的数字跑表并在数码管上显示读数,那么需要设计时钟电路、分频电路、计数器电路、译码显示1电路。将DE1-SOC开发套件中提供的50MHZ时钟进行分频至100HZ后送入100进制计数器,计数器计满100后发出进位信号送入计秒模块的60进制计数器,计数器满60后发出进位信号送入计分模块的60进制计数器,每个计数器分别连接不同的数码管显示电路,实时显示计时效果。因此使用原理图输入设计法,使用QuartusII软件编写元件代码和绘制原理图,而后进行综合仿真。
四、设计方案
4.1 硬件设计
本设计需要用到一个稳定的50MHZ的时钟,一个500000分频的分频器,一个100进制计数器,两个60进制计数器,两个拨码开关,六个7段数码管。综上所述,DE1-SOC开发套件提供的FPGA芯片可满足对分频器和计数器的设计需求,丰富的外部设备可满足对数码管和拨码开关的需求。
图4.1 DE1-SOC开发板实物图

4.2 软件设计
一百进制计数器采用两个十进制计数器级联的方式实现,六十进制计数器采用十进制和六进制计数器级联的方式实现。在这里插入图片描述
4.2.1 分频器

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CLOCK IS
PORT(CLK:IN STD_LOGIC;CLKOUT:OUT STD_LOGIC);
END CLOCK;
ARCHITECTURE RTL OF CLOCK IS
SIGNAL CLK_1_REG: STD_LOGIC := '1';
BEGIN
CLKOUT<=CLK_1_REG;
PROCESS(CLK)
VARIABLE COUNT :INTEGER RANGE 0 TO 500000;
BEGINIF(CLK'EVENT AND CLK='1')THENIF COUNT = 500000 THENCOUNT:=0;CLK_1_REG<=NOT CLK_1_REG;ELSECOUNT:=COUNT+1;END IF;END IF;END PROCESS;END RTL;

4.2.2 数码管显示电路

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY HEX IS
PORT(	HEXIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0);HEXOUT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END HEX;  
ARCHITECTURE RTL OF HEX IS
BEGIN
PROCESS(HEXIN)
BEGINCASE HEXIN ISWHEN "0000" => HEXOUT <="1000000";WHEN "0001" => HEXOUT <="1111001";WHEN "0010" => HEXOUT <="0100100";WHEN "0011" => HEXOUT <="0110000";WHEN "0100" => HEXOUT <="0011001";WHEN "0101" => HEXOUT <="0010010";WHEN "0110" => HEXOUT <="0000010";WHEN "0111" => HEXOUT <="1011000";WHEN "1000" => HEXOUT <="0000000";WHEN "1001" => HEXOUT <="0010000";WHEN "1010" => HEXOUT <="0001000";WHEN "1011" => HEXOUT <="0000011";WHEN "1100" => HEXOUT <="1000110";WHEN "1101" => HEXOUT <="0100001";WHEN "1110" => HEXOUT <="0000110";WHEN OTHERS => HEXOUT <="1000000";END CASE;END PROCESS;
END RTL;

4.2.3 十进制计数器

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY COUNTER10 ISPORT(CLK,CLR,EN: IN STD_LOGIC;DOUT : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);COUT : OUT STD_LOGIC);
END COUNTER10;
ARCHITECTURE RTL OF COUNTER10 IS
BEGINPROCESS(CLK,CLR,EN)VARIABLE Q : STD_LOGIC_VECTOR (3 DOWNTO 0);BEGINIF CLR = '1' THEN Q := (OTHERS => '0');ELSIF CLK'EVENT AND CLK = '1' THENIF EN = '1' THEN IF Q < 9 THEN Q := Q + 1;ELSE Q := (OTHERS => '0');END IF;END IF;END IF;IF Q = "0000" THEN COUT <= '1';ELSE COUT <= '0'; END IF;DOUT <= Q;	END PROCESS;
END RTL;

4.2.4 六进制计数器

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY COUNTER6 IS
PORT(CLK,CLR,EN: IN STD_LOGIC;DOUT : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);CO : OUT STD_LOGIC);
END COUNTER6;
ARCHITECTURE RTL OF COUNTER6 IS
BEGIN
PROCESS(CLK,CLR,EN)
VARIABLE Q : STD_LOGIC_VECTOR (3 DOWNTO 0);
BEGIN
IF(CLR='1')THENQ:="0000";CO<='0';
ELSIF(CLK'EVENT AND CLK = '1') THENIF(EN='1')THENIF(Q <5)THENQ := Q + 1;ELSEQ := (OTHERS => '0');END IF;END IF;
END IF;
IF Q = "0000" THEN CO <= '1';
ELSECO <= '0'; 
END IF;
DOUT <= Q;
END PROCESS;
END RTL;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
QQ:1187060103

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

求方程解问题

测试你是否和LTC水平一样高 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 14886 Accepted Submission(s): 4890 Problem Description大家提到LTC都佩服的不行&#xff0c;不过&#xff0c;如果竞赛只有这一个…

人工智能:AI 芯片快速起航

来源&#xff1a;平安证券摘要&#xff1a;当前&#xff0c;在算力、算法和大数据三驾马车的支撑下&#xff0c;全球人工智能进入第三次爆发期。然而&#xff0c;作为引爆点的深度学习算法&#xff0c;对现有的算力尤其是芯片提出了更为苛刻的要求。在AI场景中&#xff0c;传统…

第4章 分治策略 monge阵列

/* fi表示第i行的最左最小元素的列小标&#xff0c;则有f0<f1<f2<...<fn-1取数组的偶数行&#xff0c;组成新的子数组&#xff0c;递归求解最左最小元素的列下表&#xff0c;利用偶数项限定奇数项的范围&#xff0c;再求奇数项 */ #include<iostream> #incl…

坐标系编程

世界坐标系(平移)->惯性坐标系&#xff08;旋转&#xff09;->物体坐标系 世界坐标系与惯性坐标系的坐标轴平行 惯性坐标系与物体坐标系的原点重合 转载于:https://www.cnblogs.com/xrj3000/p/4693954.html

未来今日研究所:2019技术趋势报告

来源&#xff1a;资本实验家摘要&#xff1a;近期&#xff0c;著名研究机构未来今日研究所&#xff08;Future Today Institute&#xff09;发布了《2019技术趋势报告》。该报告涉及人工智能、网络安全、隐私与数据、交通、先进机器人、电子竞技、营销与广告、能源、气候与地理…

excel导入数据到sqlserver

一&#xff0c;ADO.net的方式 1、读取excel数据到dataset public static System.Data.DataSet ExcelSqlConnection(string filepath, string tableName){string strCon "ProviderMicrosoft.Jet.OLEDB.4.0;Data Source" filepath ";Extended PropertiesExcel …

7大车企电动策略,平台化到底是解药还是毒药?

来源&#xff1a;车云电动化&#xff0c;已经成为当下汽车行业绕不开的话题&#xff0c;虽然几个国际主流汽车面对电动时代的态度都不一样&#xff08;各自的情况不同&#xff09;&#xff0c;但不得不说&#xff0c;它们都在积极筹备着这一产业转型带来的冲击。电动化平台&…

java中判空

一、概述 java中判等似乎很简单&#xff0c;用来判断对象引用&#xff08;内存地址&#xff09;是否相同&#xff0c;equals用来判断值是否相同。你可以试用String对象轻松区分这一点。 那么在null判等&#xff08;也就是判空操作&#xff09;时呢&#xff1f; 可以通过如下代码…

浙大神经中心李晓明教授团队在《自然-神经科学》发文发现恐惧情绪的新环路...

左起&#xff1a;余小丹&#xff0c;沈晨杰&#xff0c;付佳毓&#xff0c;王浩&#xff0c;李晓明&#xff0c;李春悦&#xff0c;郑迪来源 : 浙江大学神经科学研究所北京时间4月29日23时&#xff0c;浙江大学医学院李晓明教授课题组在《自然-神经科学》&#xff08;Nature Ne…

MTK+Android编译

1. 修改recovery代码 比如mediatek\custom\itek82_wet_kk\recovery\inc\cust_keys.h ./mk r k ./mk recoveryimage 更新recovery.img2.修改factory代码 factory mode related program and resources are built-in to system.img ./mk mm mediate/factory ./mk snod这会生成生成…

人工智能的社会、伦理与未来

来源&#xff1a;澎湃新闻人工智能的创新与社会应用方兴未艾&#xff0c;智能社会已见端倪。为了推动人工智能的社会、伦理与未来研究&#xff0c;构筑国内相关研究的网络与平台&#xff0c;中国社科院科学技术和社会研究中心、国家社科基金重大项目“智能革命与人类深度科技化…

Debug Assertion Failed _CrtlsValidHeapPointer(block) realloc堆引发的错误

应用场景 二级指针的应用中堆的处理 问题描述&#xff1a; realloc后出现堆错误 #include"algorithm.h"//数组插入元素 int insert(int **pp ,int &n,int tmp, int pos) {if (0 < pos&&pos < n){int *po *pp;//保存 旧一级指针int *pnNULL;//…

POJ 3928 amp; HDU 2492 Ping pong(树阵评价倒数)

主题链接&#xff1a; PKU:http://poj.org/problem?id3928 HDU:http://acm.hdu.edu.cn/showproblem.php?pid2492 Description N(3<N<20000) ping pong players live along a west-east street(consider the street as a line segment). Each player has a unique skill…

观点 | 李飞飞最新访谈:我每天都在对AI的担忧中醒来

来源&#xff1a;AI科技评论是的&#xff0c;最近这些年&#xff0c;无人机可以说是爆发式发展。以前&#xff0c;它仅用于神秘的军事用途。如今&#xff0c;却在我们的日常生活中见怪不怪。人工智能对人类会产生什么影响&#xff0c;一直是值得讨论的话题&#xff0c;它会更好…

数字图像处理 图像变换

数字图像基础参考资料一、人眼视觉特性二、图像基本知识1.图像类别2.图像输入3.图像输出三、图像处理1.图像类型转化2.图像变换点变换代数运算几何运算参考资料 一、人眼视觉特性 韦伯率:50%概率感觉到亮度变化时的 ΔII\frac{\Delta I}{I}IΔI​为韦伯率。 韦伯-费希纳定律&a…

超乎想象!关于5G无人机的最强科普!

来源&#xff1a;鲜枣课堂/xzclasscom说到无人机&#xff0c;大家一定都非常熟悉。是的&#xff0c;最近这些年&#xff0c;无人机可以说是爆发式发展。以前&#xff0c;它仅用于神秘的军事用途。如今&#xff0c;却在我们的日常生活中见怪不怪。我们身边出现了越来越多的无人机…

linux处置服务Iptables

一&#xff1a;Iptables防火墙服务 iptables分为两个部分&#xff1a;一个部分在内核中实现&#xff0c;一个为用户接口命令iptables,用户通过该命令来改动防火墙的功能。所以&#xff0c;iptables要使用对应的功能。必需要在内核中加入对应的模块。modprobe加入模块 1&#xf…

相关与卷积、各种误差

相关和卷积相关自相关性质卷积公式物理意义性质相关 自相关 自相关函数就是信号x(t)x(t)x(t)和它的时移信号 x(tτ)x(t\tau )x(tτ) 的乘积平均值。它是时移变量 τ\tauτ 的函数。 “自相关”这种数据处理方法&#xff0c;可以发现隐藏在杂乱信号中的有用信息。这个能力是…

报表reprot

if (contextMenuStrip1.Items[i].Text.Trim() "打印"){//1.在报表上绘制数据列&#xff0c;print.列名称&#xff08;如果是直接在数据源中连接数据库去拖数据列&#xff0c;不能共用&#xff09;//2注册的dt,print 表名.调用找到时根据表名//数据区域的类型DataBan…

5G全产业链最新解读

来源&#xff1a;中创产业研究院摘要&#xff1a;自5G概念的提出&#xff0c;各国相关技术的研发以及产业布局也在如火如荼进行之中。与此同时我国5G在标准研发上正逐渐成为全球领跑者&#xff0c;有望在2019年实现5G技术的试商用&#xff0c;在2020年实现正式商用。本文将围绕…