EDA秒表设计实验报告.docx
- 文档编号:4410345
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:8
- 大小:219.32KB
EDA秒表设计实验报告.docx
《EDA秒表设计实验报告.docx》由会员分享,可在线阅读,更多相关《EDA秒表设计实验报告.docx(8页珍藏版)》请在冰豆网上搜索。
EDA秒表设计实验报告
EDA课程设计报告
——基于VHDL语言的秒表设计
课程名称:
EDA技术
院系:
地球物理及信息工程学院
专业班级:
电子信息工程08级2班
学生姓名:
学号:
指导老师:
完成时间:
2011年5月18日
秒表设计
一.设计要求
利用EDA实验箱,通过VHDL语言进行编程,设计一个简单的秒表,并用EDA实验箱进行实现,具体设计要求如下:
(1)有使能、暂停、继续、秒表计数功能;
(2)带有异步复位功能;
(3)显示分、秒信息,若需要,显示秒表信息。
二.设计的作用、目的
在本次设计中,可以简单的了解EDA技术的应用以及VHDL语言编写的方法。
通过设计一个秒表,可以掌握用VHDL设计多位加法计数器的方法,尤其是调整时钟使得每过一秒就改变一个数,达到设计的要求。
三.设计的具体实现
1.系统概述
本次系统设计主要分三个部分,一是通过VHDL语言设计一个八位的加法计数器,来实现秒表的计时功能;二是通过调整时钟使秒表计数为每秒改变一个数;三是加入一些控制按键,实现使能、暂停、继续等功能。
2.程序具体设计
秒表显示共有6位,两位显示分,两位显示秒,十分秒和百分秒各一位。
设计时使用一个计数器,随着时钟上升沿的到来循环计数,每计数一次,百分秒位加一,通过百分秒位满十进位来控制十分位的计数,十分位满十进位,依次类推,实现秒表计数。
为实现秒位的计时精确,百秒位必须以0.01秒的时间间隔计数,即时钟的频率是100Hz。
为此,本设计采用3MHz的时钟频率通过分频得到100Hz的时钟频率,再送给控制时钟以得到比较精确的CLK信号。
具体程序设计见附录。
引脚定义如下:
其中,时钟信号CLK为3MHz的时钟频率,分频后得到的时钟为CLK2,输出引脚CLK2和输入引脚CLK2在外部相连,实现将分频后的时钟送入。
3.调试
应用MAX+plusII软件编译调试实验控制程序,仿真运行结果如下:
(1)给时钟后,实现开始功能:
开始键按下(STA=‘1’)后,秒表计数开始。
(2)给时钟后,实现暂停功能:
从上图可以看出暂停键按下后(POS=‘1’),输出(CQ)保持不变,直到暂停键再次按下(POS=‘0’),输出才继续计数,从而实现了暂停的功能。
(3)给时钟后,实现复位功能:
从上图可以看出复位键按下后(RST=‘1’),输出(CQ)全部变为复位状态(0),直到复位键再次按下(RST=‘0’),输出才继续计数,从而实现了复位的功能。
(4)给时钟后,实现停止的功能:
从上图可以看出停止键按下后(STO=‘1’),输出(CQ)全部保持当前状态不变,直到停止键再次按下(STO=‘0’),输出才从全零状态继续计数,从而实现了停止的功能。
(5)综合功能的实现:
4.系统调试中出现的问题
在初次系统调试的过程中,由于实验箱上并没有时钟满足运行时是一秒计一个数,所以无法实现秒表的功能。
后来通过在程序中加入一个时钟分频的进程,利用实验箱上现有的时钟再得到一个新的时钟,实现了秒表的计时功能。
四.心得体会
通过本次EDA的实验,进一步了解了VHDL语言的特点,了解了硬件描述语言的编程思想、编程规范,在一定程度上提高了实际编程能力。
附录
运行程序如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYMIAOBIAOIS
PORT(CLK,CLK1,STA,POS,STO,RST:
INSTD_LOGIC;
CQ1,CQ2,CQ3,CQ4,CQ5,CQ6:
OUTSTD_LOGIC_VECTOR(7DOWNTO0);
CLK2:
OUTSTD_LOGIC
);
ENDMIAOBIAO;
ARCHITECTUREBEHAVOFMIAOBIAOIS
BEGIN
PROCESS(CLK)--由频率为3MHz的时钟产生频率为100Hz的时钟
VARIABLENUM:
INTEGERRANGE0TO15000;--定义计数器
VARIABLEQ:
STD_LOGIC;
BEGIN
IFCLK'EVENTANDCLK='1'THEN
IFNUM=15000THENNUM:
=0;Q:
=NOTQ;--计数器每计数15000,时钟改变电平--值
ELSENUM:
=NUM+1;
ENDIF;
ENDIF;
CLK2<=Q;
ENDPROCESS;
PROCESS(CLK1,STA,POS,STO,RST)
VARIABLECQI1:
STD_LOGIC_VECTOR(7DOWNTO0);
VARIABLECQI2:
STD_LOGIC_VECTOR(7DOWNTO0);
VARIABLECQI3:
STD_LOGIC_VECTOR(7DOWNTO0);
VARIABLECQI4:
STD_LOGIC_VECTOR(7DOWNTO0);
VARIABLECQI5:
STD_LOGIC_VECTOR(7DOWNTO0);
VARIABLECQI6:
STD_LOGIC_VECTOR(7DOWNTO0);
BEGIN
IFSTO='1'THENCQI1:
=(OTHERS=>'0');CQI2:
=(OTHERS=>'0');CQI3:
=(OTHERS=>'0');
CQI4:
=(OTHERS=>'0');CQI5:
=(OTHERS=>'0');CQI6:
=(OTHERS=>'0');
ELSIFCLK1'EVENTANDCLK1='1'THEN
IFSTA='1'THEN
IFRST='0'THEN
IFPOS='0'THEN
IFCQI1="00111011"THENCQI1:
=(OTHERS=>'0');--百分秒位满59进--位
IFCQI2="00111011"THENCQI2:
=(OTHERS=>'0');--十分秒位满59进--位
IFCQI3="00111011"THENCQI3:
=(OTHERS=>'0');--秒位满59进位
IFCQI4="00111011"THENCQI4:
=(OTHERS=>'0');--十秒位满六进位
IFCQI5="00111011"THENCQI5:
=(OTHERS=>'0');--分位满十进位
IFCQI6="00111011"THENCQI6:
=(OTHERS=>'0');--十分位满六进位
ELSECQI6:
=CQI6+1;
ENDIF;
ELSECQI5:
=CQI5+1;
ENDIF;
ELSECQI4:
=CQI4+1;
ENDIF;
ELSECQI3:
=CQI3+1;
ENDIF;
ELSECQI2:
=CQI2+1;
ENDIF;
ELSECQI1:
=CQI1+1;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
IFRST='1'THEN
CQI1:
=(OTHERS=>'0');CQI2:
=(OTHERS=>'0');
CQI3:
=(OTHERS=>'0');CQI4:
=(OTHERS=>'0');
CQI5:
=(OTHERS=>'0');CQI6:
=(OTHERS=>'0');
ENDIF;
CQ1<=CQI1;CQ2<=CQI2;CQ3<=CQI3;
CQ4<=CQI4;CQ5<=CQI5;CQ6<=CQI6;
ENDIF;
ENDPROCESS;
ENDBEHAV;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 秒表 设计 实验 报告