EDA综合课程设计方案数字秒表.docx
- 文档编号:12148512
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:15
- 大小:76.89KB
EDA综合课程设计方案数字秒表.docx
《EDA综合课程设计方案数字秒表.docx》由会员分享,可在线阅读,更多相关《EDA综合课程设计方案数字秒表.docx(15页珍藏版)》请在冰豆网上搜索。
EDA综合课程设计方案数字秒表
北华航天工业学院
《EDA技术综合设计》
课程设计报告
报告题目:
数字秒表
作者所在系部:
电子工程系
作者所在专业:
电子信息工程
作者所在班级:
B10211
作者姓名:
指导教师姓名:
完成时间:
2012.12.13
内容摘要
近几年EDA技术发展十分迅速,在未来的三至五年EDA技术会像单片机一样成为社会的主流。
应用VHDL语言设计数字系统,很多设计工作可以在计算机上完成,从而缩短了数字系统的开发时间。
我们尝试利用VHDL为开发工具设计数字秒表。
秒表的逻辑结构较简单,它主要由十进制分频器、计数器、六进制计数器、数据选择器、和显示译码器等组成。
在整个秒表中最关键的是如何获得一个精确的100HZ计时脉冲,除此之外,整个秒表还需有一个启动信号和一个清零信号,以便秒表能随意停止及启动。
秒表有共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便与同显示译码器连接。
关键词:
VHDL,数字秒表,QuartusII,时序仿真图。
目录
一、实验目的…………………………………………………………………………1
二、硬件要求…………………………………………………………………………1
三、方案论证……………………………………………………………………1
四、模块说明…………………………………………………………………………1
分频器………………………………………………………………………………1
六进制计数器………………………………………………………………………2
十进制计数器………………………………………………………………………3
控制选择器…………………………………………………………………………4
译码器………………………………………………………………………………5
蜂鸣器模块…………………………………………………………………………6
五、整体连接图………………………………………………………………………7
六、实验步骤…………………………………………………………………………8
七、实验结果…………………………………………………………………………8
八、实验总结………………………………………………………………………8
九、参考文献…………………………………………………………………………8
三课程设计任务书
课题名称
秒表接口设计
完成时间
2012.12.13
指导教师
职称
副教授
学生姓名
班级
B10211
总体设计要求和技术要点
总体设计要求:
通过本课程的学习使学生掌握可编程器件、EDA开发系统软件、硬件描述语言和电子线路设计与技能训练等各方面知识;提高工程实践能力;学会应用EDA技术解决一些简单的电子设计问题。
技术要点:
1.秒表有共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便与同显示译码器的连接。
2.开关设置秒表报警器,每10秒钟,蜂鸣器鸣响1声,发光二极管闪烁。
当计时达60分钟后,蜂鸣器鸣响10声。
工作内容及时间进度安排
工作内容:
在软件上编辑、编译程序,并仿真到达实验要求。
进度安排。
课下编写程序,并要求程序能通过编译仿真;
第十五周在实验箱上下载调试程序;
验收。
课程设计成果
1.与设计内容对应的软件程序
2.课程设计报告书
3.成果使用说明书
4.设计工作量要求
一、实验目的
学习使用VHDL语言设计题目,掌握VHDL语言的编程方法以及EDA芯片的下载仿真。
二、硬件要求
(1)主芯片EPF10K10LC84-4。
(2)蜂鸣器。
(3)8位八段扫描共阴极数码显示管。
(4)二个按键开关(清零,开始/暂停)。
三、方案论证
四、模块说明
秒表的设计共化分为6个模块:
分频器(cfp),六计数器(count6),十计数器(count10),六选一选择器,译码器。
下面具体分析各个模块的原理、内容和功能。
1.分频器(cfp)
能够实现对10MHZ的clk时钟信号进行分频,从而得到0.01秒的计数脉冲信号即100hz的脉冲信号。
图1为分频器的仿真波形图。
libraryieee。
useieee.std_logic_1164.all。
entitycfpis
port(clk:
instd_logic。
q0:
bufferstd_logic)。
endcfp。
architectureaofcfpis
signalcounter:
integerrange0to49999。
begin
process(clk)
begin
if(clk='1'andclk'event)then
ifcounter=49999thencounter<=0。
q0<=notq0。
elsecounter<=counter+1。
endif。
endif。
endprocess。
enda。
图1.分频器的仿真波形
2.六计数器(COUNT601)
能够实现6进制循环计数,功能是秒到分和分到时的进制计数。
图2为六计数器的仿真波形图
libraryieee。
useieee.std_logic_1164.all。
useieee.std_logic_unsigned.all。
entitycount6is
port(clk,clr,start:
instd_logic。
daout:
outstd_logic_vector(3downto0)。
cout:
bufferstd_logic)。
endcount6。
architecturebehaveofcount6is
signaltemp:
std_logic_vector(3downto0)。
begin
process(clk,clr)
begin
ifclr='1'thentemp<="0000"。
cout<='0'。
elsifclk'eventandclk='1'then
ifstart='1'then
iftemp="0101"thentemp<="0000"。
cout<='1'。
elsetemp<=temp+1。
cout<='0'。
endif。
elsifstart='0'thentemp<=temp。
cout<=cout。
endif。
endif。
endprocess。
daout<=temp。
endbehave。
图2.六进制计数器的仿真波形
3.十进制计数器(COUNT24)
能够实现10进制循环计数,实现0.01秒到0.1秒、0.1秒到1秒、1秒到10秒、一分到10分的进制计数,图3为十计数器的仿真波形图。
libraryieee。
useieee.std_logic_1164.all。
useieee.std_logic_unsigned.all。
entitycount6is
port(clk,clr,start:
instd_logic。
daout:
outstd_logic_vector(3downto0)。
cout:
bufferstd_logic)。
endcount6。
architecturebehaveofcount6is
signaltemp:
std_logic_vector(3downto0)。
begin
process(clk,clr)
begin
ifclr='1'thentemp<="0000"。
cout<='0'。
elsifclk'eventandclk='1'then
ifstart='1'then
iftemp="0101"thentemp<="0000"。
cout<='1'。
elsetemp<=temp+1。
cout<='0'。
endif。
elsifstart='0'thentemp<=temp。
cout<=cout。
endif。
endif。
endprocess。
daout<=temp。
endbehave。
图3.十进制计数器的仿真波形
4.控制选择器
能够实现六路计数的循环选通即数码管将显示的数被循环选通,每一路对应一个数码管。
其中的sel为位选输出。
图4为其仿真波形。
libraryieee。
useieee.std_logic_1164.all。
useieee.std_logic_unsigned.all。
entitykonhzhiis
port(clr,clk:
inbit。
dain0,dain1,dain2,dain3,dain4,dain5:
instd_logic_vector(3downto0)。
sel:
outstd_logic_vector(2downto0)。
daout:
outstd_logic_vector(3downto0))。
endkonhzhi。
architectureaofkonhzhiis
signaltemp:
integerrange0to5。
begin
process(clk)
begin
if(clr='1')then
daout<="0000"。
sel<="000"。
temp<=0。
elsif(clk='1'andclk'event)then
iftemp=5thentemp<=0。
elsetemp<=temp+1。
endif。
casetempis
when0=>sel<="000"。
daout<=dain0。
when1=>sel<="001"。
daout<=dain1。
when2=>sel<="010"。
daout<=dain2。
when3=>sel<="011"。
daout<=dain3。
when4=>sel<="100"。
daout<=dain4。
when5=>sel<="101"。
daout<=dain5。
endcase。
endif。
endprocess。
enda。
图4.控制选择器仿真波形
5
5.译码器
能够实现将每路信号计数输出转换为数码管的段码。
图5为其仿真波形。
libraryieee。
useieee.std_logic_1164.all。
entityymis
port(num:
instd_logic_vector(3downto0)。
led:
outstd_logic_vector(6downto0))。
endym。
architectureaofymis
begin
process(num)
begin
casenumis
when"0000"=>led<="0111111"。
when"0001"=>led<="0000110"。
when"0010"=>led<="1011011"。
when"0011"=>led<="1001111"。
when"0100"=>led<="1100110"。
when"0101"=>led<="1101101"。
when"0110"=>led<="1111101"。
when"0111"=>led<="0100111"。
when"1000"=>led<="1111111"。
when"1001"=>led<="1101111"。
whenothers=>led<="0000000"。
endcase。
endprocess。
enda。
图5.译码器的仿真波形
6.蜂鸣器控制模块
能够实现蜂鸣器的十声报警和十秒报警。
libraryieee。
useieee.std_logic_1164.all。
useieee.std_logic_unsigned.all。
entityfengmingis
port(clk,I:
instd_logic。
q:
outstd_logic
)。
endfengming。
architecturearoffengmingis
signaln:
integerrange0to20。
signalq0:
std_logic。
begin
process(clk)
begin
ifclk'eventandclk='1'then
ifI='0'thenq0<='0'。
n<=0。
elseifn<=19thenq0<=not(q0)。
n<=n+1。
elseq0<='0'。
n<=0。
endif。
endif。
endif。
endprocess。
q<=q0。
endar。
五、数字秒表的整体连接图
最将上述的模块综合到一起就可以实现功能。
综合可以用一个元件例化,也可以用原理图连接。
为了简单我就直接连图了。
图6.综合连接示意图
六、实验步骤
(1)安装QuartusⅡ软件,为本项设计建立文件夹。
(2)输入设计工程的各个模块,存盘检查,编译并仿真至无误。
(3)调用底层文件的各个模块,连接整体原理图,进行存盘检查,编译仿真至无误。
(4)将PC机与实验箱进行连接选择器件并锁定引脚,然后进行编译下载。
(5)按照锁定好的引脚进行连线,进行硬件测试,验证仿真和测试结果。
七、实验结果
通过硬件测试,得到如下测试结果:
(1)秒表能够正确的计时,数码管能够正确显示时钟数字。
(2)每十秒钟蜂鸣器响一声和led灯闪一下,1小时后蜂鸣器响十声。
八、总结
通过这次课设,对VHDL语言的使用有了进一步的加强,对所用到的软件有了更加深刻的了解,这对我们以后的学习和工作有很大的帮助。
本实验综合性较高,让我们学习到了怎么去下载程序,也懂得了时钟源的产生和时钟源的分频原理,懂得LED灯的循环显示原理,使得我们的知识更加丰富与实用。
课设期间也发现了自己的很多不足,但是通过自己动手动脑,既增加了知识,有给了专业知识的提升。
九、参考文献
[1]李国洪、胡辉、沈明山.EDA技术与实验.机械工业出版社,2009
[2]阎石.数字电子技术基础(第五版).高等教育出版社,2006
指导教师评语及设计成绩
评语
课程设计成绩:
指导教师:
日期:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 综合 课程设计 方案 数字 秒表