EDA课程设计.docx
- 文档编号:26441163
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:10
- 大小:94.82KB
EDA课程设计.docx
《EDA课程设计.docx》由会员分享,可在线阅读,更多相关《EDA课程设计.docx(10页珍藏版)》请在冰豆网上搜索。
EDA课程设计
课程设计说明书
课程:
EDA技术基础
题目:
数字钟的设计
闹钟与整点报时模块
学生姓名:
XXX
学号201265110204
班级
:
1203班
专业:
电子信息与科学
指导教师:
XXX
2014年12月20日
长沙理工大学课程设计任务书
物理与电子科学学院电子信息与科学专业1203班姓名王玲
课程名称EDA技术基础
题目数字钟的设计
同组设计者:
(1)24小时计时显示(时分秒);
(2)具有时间设置功能(时,分);
(3)具有整点提示功能;
(4)实现闹钟功能(定时,闹响);
发挥部分:
(1)实现年月日星期功能,可与时分秒交替显示
(2)按我校现行作息时间表输出打铃信号
工作计划
(1)时间
本课程设计安排2周时间:
2014.12.22~2015.1.2
(2)进度安排
第1周周一周二:
查阅资料,拿出整体设计方案,划分模块;
第1周周三至周五:
各模块的设计、调试、验证。
第2周周三前完成项目整体调试和测试。
第2周周三周四文档写作整理
第2周周五:
答辩讨论
长沙理工大学课程设计成绩评定表
课程设计题目:
电子钟的设计(闹钟与整点报时模块)
评分项目
要求
分值
得分
学习态度
学习态度认真,遵守纪律。
10
设计方案
调研充分,方案设计合理。
20
工作量
完成了任务书规定的工作量。
实际设计、调试效果好。
40
设计报告
完全符合撰写规范要求,结构严谨,逻辑性强,层次清晰,表述准确,文字流畅。
20
答辩
准备充分,概念清楚,能准确流利地回答各种问题。
10
总分
备注:
成绩:
指导教师:
年月日
1数字钟设计闹钟模块基本任务要求4
2设计思想4
3简述闹钟模块的输入与输出5
4分进程描述6
5仿真结果与分析7
6简述数字钟的设计总成果10
7总结11
参考文献13
代码附件13
基本任务要求:
运用QuartusⅡ13.1软件平台,用VHDL语言描述并设计的闹钟模块满足可调闹钟时间,当时钟时间到达闹钟时间后会响闹铃,(由于实验室权限问题会以FPGA开发板上12个LED灯交替发光来表现);整点报时过程表现为整点的前十秒内响铃,(以FPGA开发板上一个LED灯交替发光来实现)。
设计思想:
闹钟模块要以分频模块、计数器模块和译码显示模块为基础,将闹钟模块分为三个进程,一个进程用来实现调闹钟,一个进程来实现闹响闹钟(即实现LED灯交替发光),另一个进程来是实现整点报时。
(上面截图为数字钟整体编译后的RTL电路的闹钟模块)
简述闹钟模块图的输入与输出:
上图中的输入粗黑实线为计数器模块输出的小时、分钟的高低位和秒钟的高位(都用四位的二进制表示);输出的粗黑实线为定的闹钟时间(包括小时和分钟),将送到译码显示模块显示闹钟时间,闹钟时间与时钟都在FPGA上的数码管显示,用二选一实现交替显示。
clk和clk1都是经过分频器分出的不同频率的信号分别用于整点报时的闪灯脉冲与闹钟调时、闹响的闪灯脉冲。
AlarmEn和alarmADJ分别为控制闹钟闹响和控制闹钟调时的输入脉冲;ADJ1和ADJ2就分别为控制闹钟调小时与分钟的的输入脉冲(可与校时钟的开关共用)。
sound13为整点报时的LED灯的输入信号,其余的为闹钟闹响时的LED灯的输入信号。
分进程描述:
1.调闹钟进程:
先列出调闹钟进程的部分VHDL语言描述:
if(alarmADJ='0')then
ifclk1'eventandclk1='1'then
ifADJ1='0'then
if(hour_unitcount<9)then
hour_unitcount:
=hour_unitcount+1;
elsehour_unitcount:
="0000";
hour_decadecount:
=hour_decadecount+1;
endif;
if(hour_decadecount=2andhour_unitcount=4)then
hour_decadecount:
="0000";hour_unitcount:
="0000";
endif;
ENDIF;
分析:
alarmADJ为低电平且ADJ1也为低电平时,随着clk1的脉冲信号来计数,小时为24进制数,可从上面的语句中看出计数的周期为24;根据调闹钟小时的部分代码可类似的分析出调闹钟分钟的基本逻辑。
2.整点报时进程:
process(clk,mh,ml,sh)
variablecount1:
std_logic_vector(3downto0);
begin
if(ml="1001"andmh="0101"andsh="0101")then
ifclk'eventandclk='1'then
if(count1<1)thencount1:
=count1+1;sound13<='1';
elsesound13<='0';count1:
="0000";
endif;
endif;
elsesound13<='0';count1:
="0000";
endif;
endprocess;
分析:
定义count1为变量来计clk脉冲的上升沿个数,sound13为LED的输入信号,mh、ml和sh分别是分钟的高位、分钟的低位和秒钟的高位,当时间的分钟与秒钟到达59:
50时开始以每秒闪一次LED灯来表现整点报时,整点报时闪灯10s。
3.闹钟响铃进程:
先列出调闹钟进程的部分VHDL语言描述:
if(AlarmEn='0')then
if(hourl=hour2andhourh=hour1andml=min2andmh=min1)then
ifclk1'eventandclk1='1'then
if(count<1)thencount:
=count+1;
sound1<='1';sound3<='1';sound5<='1';sound7<='1';sound9<='1';sound11<='1;sound2<='0';sound4<='0';sound6<='0';sound8<='0';sound10<='0';sound12<='0';
else
sound1<='0';sound3<='0';sound5<='0';sound7<='0';sound9<='0';sound11<='0';
sound2<='1';sound4<='1';sound6<='1';sound8<='1';sound10<='1';sound12<='1';
count:
="0000";
endif;
endif;
分析:
可参照整点报时进程来分析,相比整点报时进程,LED闪灯的个数增加了,且clk1的脉冲频率大于clk(即表现为LED的闪灯频率比整点报时的闪灯频率快);闹响的时间为一分钟,接到FPGA开发板上后可手动关掉闹钟。
仿真结果与分析:
(以下仿真均为波形功能仿真)
1.调闹钟进程的波形仿真结果截图
分析:
(1)仿真环境设置:
仿真设置的结束时间为
;输入的clk和clk1脉冲的周期分别为10ns和5ns;alarmADJ为低电平输入;ADJ1和ADJ2为高低电平交替输入;其他的输入可以不考虑。
(2)仿真内容:
当alarmADJ为低电平时,调节ADJ1和ADJ2分别可以对ADJhourh、ADJhourl和ADJmh、ADJml进行调节,从上图中可看出当ADJ1为低电平时,ADJhourh和ADJhourl会自动随clk1脉冲来调节到相应的小时,当ADJ2为低电平时,ADJmh和ADJml会自动随clk1脉冲来调节到相应的分钟。
从仿真结果看出最后调出的闹钟时间为00:
48。
经过整个数字钟的仿真可以知道ADJ1和ADJ2没有相关(即调节小时与调节分钟的按键互不受影响)。
小时的24进制可从上图中看出,分钟的60进制已经经过了仿真测试。
2.整点报时进程的波形仿真结果截图
分析:
(1)仿真环境设置:
仿真设置的结束时间为
;在上一个进程仿真环境中加入了小时高低位、分钟高低位和秒钟高位,即输入了几个不同的时间。
(2)仿真内容:
从仿真结果中看出当输入的分钟与秒钟时间到达59:
50时,sound13将随着clk的脉冲信号产生高低电平交替输出(在FPDA开发板上表现为LED闪灯)。
3.闹钟响铃进程的波形仿真结果截图
分析:
(1)仿真环境设置:
仿真设置的结束时间为
;在整点报时进程的仿真环境设置中加入00:
48的输入时间,为了验证当时钟时间到达闹钟时间后的sound(1~12)的输出变化。
(3)仿真内容:
从仿真结果可看出当调好闹钟时间为00:
48后,当时钟时间走到00:
48时,sound(1~12)将随着clk1的脉冲信号产生高低电平交替输出(在FPDA开发板上表现为LED闪灯)。
也可看出sound(1~12)中的基数与偶数灯是交替闪烁的。
4.结合其他模块后,在FPGA开发板上的仿真分析如下:
开关SW17上拉后数码管显示时钟时间,下拉后显示闹钟时间;当SW17下拉显示闹钟时间后,通过按键KEY2和KEY1分别调闹钟的小时和分钟,按键按下时会自动计数,当达到预想的数值后松开按键,这时就已经订好闹钟了;开关SW16下拉后为闹钟开启模式,SW16上拉后为闹钟关闭模式,即当时钟时间到达闹钟时间后,有12个LED灯交替闪烁,会连续闪烁一分钟,中途可通过开关自动关闭闹钟(即停止闪烁)。
简述数字钟的设计总成果:
整个数字钟设计分为五个模块,分别为分频模块、校时模块、计数器模块、译码器显示模块和闹钟与整点报时模块;拓展并完成了按学校作息时间打铃(打铃用LED闪灯来表现)。
电路板固定的晶振信号为50MHz,通过分频模块以分频分出分别为
倍频、
倍频和
倍频的三个信号;
倍频的信号输入给秒计时器和整点报时进程,
倍频的信号输入给校时模块和调闹钟进程,
倍频输入给打铃模块,分频模块为数字钟的基础模块。
通过较时模块与计数器模块后的时钟信号分别为小时的高低位、分钟的高低位和秒钟的高低位(都是有四位的二进制数表示),秒的低位直接由译码器显示模块输出到数码管显示;小时的高低位、分钟的高低位和秒钟的高位还要接到闹钟与整点报时模块,然后再通过译码器显示模块输出到数码管显示,时钟显示与闹钟显示通过二选一来实现。
拓展的打铃模块也需要小时的高低位、分钟的高低位和秒钟的高位的输入,来实现到达打铃时间后LED灯会闪烁10s。
(其中闹钟与整点报时模块【调闹钟进程与整点报时进程】和打铃模块用到的LED灯均没有联系)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计