VHDL数字秒表设计说明

上传人:xmg****18 文档编号:118801071 上传时间:2019-12-25 格式:DOC 页数:12 大小:535.50KB
返回 下载 相关 举报
VHDL数字秒表设计说明_第1页
第1页 / 共12页
VHDL数字秒表设计说明_第2页
第2页 / 共12页
VHDL数字秒表设计说明_第3页
第3页 / 共12页
VHDL数字秒表设计说明_第4页
第4页 / 共12页
VHDL数字秒表设计说明_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《VHDL数字秒表设计说明》由会员分享,可在线阅读,更多相关《VHDL数字秒表设计说明(12页珍藏版)》请在金锄头文库上搜索。

1、word格式 课程设计(综合实验)报告( 2014- 2015 年度第 1 学期)名 称:VHDL语言与数字系统设计 题 目: 电子秒表 院 系: 班 级: 学 号: 学生姓名: 指导教师: 陈晓梅 设计周数: 2周 成 绩: 日期:2015年1月23日目录一、课程设计(综合实验)的目的与要求1二、设计(实验)正文2三、课程设计(综合实验)总结或结论5四、参考文献6附录(设计流程图、程序、表格、数据等)7. .word格式一、课程设计(综合实验)的目的与要求1 目的 1.1学习使用VHDL语言,以及EDA芯片的下载仿真。1.2掌握较为复杂的逻辑设计和调试。1.3学习用原理图+VHDL语言设计逻

2、辑电路。1.4掌握Quartues软件的使用方法。2 实验要求2.1设计一块电子秒表,能够精确反映计时时间。2.2秒表计时的最大范围为1小时,精度为0.01秒,秒表可得到计时时间的分、秒、0.1秒等量度。2.3当复位清零有效时,秒表清零并做好计时准备。2.4设置秒表的启动/停止开关二、设计(实验)正文1 设计过程1. 1十进制计数器十进制计数器就是输入一个时钟脉冲计一个数,技术当前值通过4位输出端口输出。当计数到九且再来一个脉冲时计数输出清零,且进位端给出高电平。再来脉冲继续计数,进位端清零。计数只有在使能端为1时有效,否则保持。部分源程序及说明:BEGIN -当clk,clr,ena信号发生

3、变化时,启动计数功能IF clr=1 THEN -复位清零信号有效tmp=0000;-任何时刻都将计数器清零ELSIF clkEVENT AND clk=1 THEN-时钟上升沿IF ena=1 THEN-允许计数IF tmp=1001 THEN-计数器满tmp=0000;ELSEtmp=tmp+1;-计数器加1eND IF;END IF;END IF;END PROCESS;PROCESS(tmp)-当计数器发生变化时,启动输出功能BEGINIF tmp=0000THEN-计数器状态为0时co=1;-进位输出信号有效ELSEco=0;-否则,为0END IF;END PROCESS;q=tm

4、p;-输出计数器的值END rtl;1. 2六进制计数器六进制计数器就是输入一个时钟脉冲计一个数,技术当前值通过4位输出端口输出。当计数到六且再来一个脉冲时计数输出清零,且进位端给出高电平。再来脉冲继续计数,进位端清零。计数只有在使能端为1时有效,否则保持。部分源程序及说明:PROCESS(clk,clr,ena)BEGIN IF clr=1 THENtmp=0000;ELSIF clkEVENT AND clk=1 THENIF ena=1 THENIF tmp=0101 THEN-计数器到6,计数器满tmp=0000;ELSEtmp=tmp+1;END IF;END IF;END IF;E

5、ND PROCESS;1. 3顶层模块设计将十进制计数模块与六进制模块通过例化,级联在一起,得到电子秒表例化程序说明:BEGIN-原件例化语句,通过计数器的级联实现数字秒表U1:cnt10 PORT MAP (clk0,clr0,en,dataout(3 downto 0),co1);U2:cnt10 PORT MAP (co1,clr0,en,dataout(7 downto 4),co2);U3:cnt10 PORT MAP (co2,clr0,en,dataout(11 downto 8),co3);U4:cnt6 PORT MAP (co3,clr0,en,dataout(15 dow

6、nto 12),co4);U5:cnt10 PORT MAP (co4,clr0,en,dataout(19 downto 16),co5);U6:cnt6 PORT MAP (co5,clr0,en,dataout(23 downto 20);END rtl;2. 仿真结果2.1十进制计数器仿真结果2.2六进制计数器仿真结果2.3顶层模块仿真结果2.4启动/停止与清零功能说明:在8.0ns到9.5ns时,清零信号为高电平1有效,清零功能触发,秒表清零,在15ns到18ns时,使能信号为低电平0,此时不再继续计数,即暂停功能触发。三、课程设计(综合实验)总结或结论1. 结论: 这次课程设计是要

7、求用 EDA技术中的Quartus6.0作为开发工具 ,设计一个简单的电子秒表,秒表的时钟信号源可由时钟脉冲得到。整个设计分为3个主要模块,十进制计数模块、六进制计数模块和顶层模块。该数字式秒表具有清零功能 ,能够在计时过程中随时停止计时 ,恢复到初始状态。且该秒表还有启动/停止功能。实验证明该秒表工作正常 ,基本上已达到了预期的设计要求。 2. 体会及感想、收获: 开始做设计时总是会犯一些错误,参考书上的例题,问老师和同学,慢慢的对编程熟悉了一些。在不停的改错不停的编译下得到了正确的程序。在设计中要求我们要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,比如一个分号,或

8、者一个冒号,再或者赋值时的形式,而对错误的检查要求我要有足够的耐心。通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。现在,又掌握了一个新的技能,虽然还不熟练,但后来会好起来的,我相信。四、参考文献1 刘欲晓 方强 黄宛宁. EDA技术与VHDL电路开发应用实践 电子工业出版社 2009年4月第一版.2付永庆 VHDL语言及其应用 高等教育出版社 2005年5月第一版3潘松 黄继业 EDA技术与VHDL 清华大学出版社 2013年4月第四版附录(设计流程图、程序、表格、数据等)1设计过程 11 十进制计数器LIBRARY IEEE;USE IEEE.

9、STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt10 ISPORT(clk:IN STD_LOGIC;clr:IN STD_LOGIC;ena:IN STD_LOGIC;q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);co:OUT STD_LOGIC);END cnt10;ARCHITECTURE rtl OF cnt10 ISSIGNAL tmp :STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(clk,clr,ena)BEGIN IF clr=1 THEN

10、tmp=0000;ELSIF clkEVENT AND clk=1 THENIF ena=1 THENIF tmp=1001 THENtmp=0000;ELSEtmp=tmp+1;eND IF;END IF;END IF;END PROCESS;PROCESS(tmp)BEGINIF tmp=0000THENco=1;ELSEco=0;END IF;END PROCESS;q=tmp;END rtl;12 六进制计数器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt6 ISPO

11、RT(clk:IN STD_LOGIC;clr:IN STD_LOGIC;ena:IN STD_LOGIC;q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);co:OUT STD_LOGIC);END cnt6;ARCHITECTURE rtl OF cnt6 ISSIGNAL tmp :STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(clk,clr,ena)BEGIN IF clr=1 THENtmp=0000;ELSIF clkEVENT AND clk=1 THENIF ena=1 THENIF tmp=0101 THENtmp

12、=0000;ELSEtmp=tmp+1;END IF;END IF;END IF;END PROCESS;PROCESS(tmp)BEGINIF tmp=0000THENco=1;ELSEco=0;END IF;END PROCESS;q=tmp;END rtl;13 顶层模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY stopwatch ISPORT(clk0:IN STD_LOGIC;clr0:IN STD_LOGIC;en:IN STD_LOGIC;dataout1 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);d

13、ataout2 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);dataout3 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);dataout4 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);co:OUT STD_LOGIC);END stopwatch;ARCHITECTURE rtl OF stopwatch ISCOMPONENT cnt6 ISPORT(clk:IN STD_LOGIC;clr:IN STD_LOGIC;ena:IN STD_LOGIC;q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);co:OUT STD_LOGIC);END component cnt6;COMPONENT cn

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号