太原理工大学eda课程设计-数字秒表Word下载.docx
- 文档编号:13073774
- 上传时间:2022-10-04
- 格式:DOCX
- 页数:15
- 大小:409.45KB
太原理工大学eda课程设计-数字秒表Word下载.docx
《太原理工大学eda课程设计-数字秒表Word下载.docx》由会员分享,可在线阅读,更多相关《太原理工大学eda课程设计-数字秒表Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
3、设置一个启动信号和一个归零信号,以便秒表能随意停止及启动。
4、计时到60分钟后,蜂鸣器响10声(实验中用led灯闪烁代替)。
二、设计原理由频率信号输出端输出频率为100HZ的时钟信号,输入到0.0秒模块的时钟端clk,0.01秒模块为10进制的计数器,产生的进位信号count输入到下一级秒模块的时钟端,以此类推,直到分模块计数到59进60时,产生的进位信号不输出,计数清零。
将0.01秒、秒、分产生的计数通过置数/位选再通过显示模块实时显示。
根据秒表的计时要求,秒表结构由以下几部分组成:
1、4个十进制计数器,分别对应百分之一秒,十分之一秒,个秒和个分位。
2、2个六进制计数器,分别对应十秒和十分位。
3、分频器,产生100Hz的计时脉冲。
4、显示译码器,完成BCD码到7段码的译码。
5、显示控制模块,完成6个数码显示器的扫描显示控制。
6、蜂鸣信号产生模块。
用输入S控制产生“00”、“01”和“10”代表归零、启动信号、分别连接按键开关;
CLK_50M代表计数时钟信号,同实验板上50MHz时钟源连接;
蜂鸣器鸣响信号SPEAKER接蜂鸣器的输入;
7段码输出LED6.0接显示模块的段信号输入口。
三、设计仪器1、PC机一台。
2、CPLD/FPGA适配器板:
标准配置CycloneIVEEP4CE115F29C7接口板,下载接口是数字芯片的下载接口(DIGITALJTAG),主要用于CPLD/FPGA芯片的数据下载。
3、实验箱四、设计过程
(一)子模块设计1、十进制计数器本实验中使用四个十进制计数器分别对应百分之一秒,十分之一秒,个秒和个分位。
计数器从0000开始计数计数到1001时进位,自动清零并且通过count进位输出到下一个计数器的脉冲,从而触发下一个计数器工作。
源程序libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useieee.std_logic_unsigned.all;
useieee.std_logic_arith.all;
entitycount10isport(clr,start,clk:
instd_logic;
cout:
outstd_logic;
daout:
outstd_logic_vector(3downto0);
endcount10;
architectureBehavioralofcount10issignaltemp:
std_logic_vector(3downto0);
beginprocess(clk,clr)beginifclr=1thentemp=0000;
cout=1001thentemp=0000;
cout=1;
elsetemp=temp+1;
cout=0;
endif;
daout=temp;
endprocess;
endBehavioral;
生成模块2、六进制计数器实验中使用2个六进制计数器,分别对应十秒和十分位。
当对应秒位和分位十进制计数器计数到1001时触发六进制计数器从0000开始工作,直到0101,自动清零并且触发下一个计数器或者蜂鸣器。
entitycounter6isport(clr,start,clk:
outstd_logic);
endcounter6;
architectureBehavioralofcounter6issignaltemp:
elsif(clkeventandclk=1)thenifstart=1theniftemp=0101thentemp=0000;
形成器件3、分频器模块本实验需要100Hz的时钟,则需要对50MHZ进行500000次分频,所以计数器计数250000次产生触发脉冲。
entityDIVisport(clr,clk:
clk_100:
bufferstd_logic);
endDIV;
architectureBehavioralofDIVissignalcounter:
integerrange0to249999;
beginprocess(clr,clk)beginif(clk=1andclkevent)thenifclr=1thencounter=0;
elsifcounter=249999thencounter=0;
clk_100=notclk_100;
elsecounter=counter+1;
形成器件4、控制模块通过对按键按下次数的计数实现启动/暂停/清零功能,分别对应“00”、“01”和“10”。
ENTITYKEYISPORT(S:
INSTD_LOGIC;
CLR,START:
OUTSTD_LOGIC);
endKEY;
ARCHITECTUREBehavioralOFKEYISSIGNALQ1:
STD_LOGIC_VECTOR(1DOWNTO0):
=00;
BEGINPROCESS(S)ISBEGINIFSEVENTANDS=1THENIFQ1=10THENQ1=00;
ELSEQ1CLR=1;
STARTCLR=0;
STARTCLR=1;
START=0;
ENDCASE;
ENDPROCESS;
形成器件5、蜂鸣信号产生模块源程序libraryIEEE;
entityALARMisport(ci,clk:
Q:
endALARM;
architectureBehavioralofALARMisbeginprocess(CI,CLK)beginifCI=1thenforiin0to9loop-闪烁十次if(clk=1andclkevent)thenQ=1;
elseQledledledledledledledledledledled=NOT0000000;
endcase;
形成器件
(二)顶层模块设计实验总体电路图如图所示,由分频模块,0.01秒模块,秒模块,分模块,扫描模块,数码管模块和译码器模块组成。
其中clr为复位信号低电平有效,start为启停开关,高电平有效。
当50MHZ时钟信号clk经分频器clk后分频为一个100Hz脉冲。
100HZ脉冲作为0.01秒计数信号输入使0.01秒模块为以一百十进制计数,满一百后进位,进位信号作为秒信号时钟使秒模块以六十进制计数,满六十后进位,进位信号作为分信号时钟使分模块以六十进制计数。
0.01秒模块的个位和十位,秒模块的个位和十位,分模块的个位和十位分别输出作为扫描模块的输入信号。
扫描模块选择输出信号,经过译码器和七段数码管显示时间。
全局编译引脚锁定下载测试五、心得体会通过本次课程设计我对所学知识有了更加深刻的认识,对EDA和VHDL语言有了更加深入的理解,在课程设计过程中,我学会了自顶而上的模块化设计的方法,通过分别设计各个子模块的设计并封装成库,在进行顶层设计的时候使用原理图设计的方法完成整个的设计。
这次设计让我对EDA的使用和设计有了更深刻的认识和掌握,也对所学习的知识进行了有效的检验和实践,加深了对知识的掌握。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 太原 理工大学 eda 课程设计 数字 秒表