闰年补偿功能的数字日历论文学位论文Word文档下载推荐.docx
- 文档编号:21111119
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:20
- 大小:163.23KB
闰年补偿功能的数字日历论文学位论文Word文档下载推荐.docx
《闰年补偿功能的数字日历论文学位论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《闰年补偿功能的数字日历论文学位论文Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
3、对星期的计数显示从1到6再到日(日用8代替);
注意星期应和实际日历相吻合。
4、具备日历调整功能和节日提醒功能。
要求采用分层次描述方式,且用图形输入和文本输入混合方式建立描述文件。
二、设计要求:
1、设计思路清晰,给出整体设计框图;
2、用VHDL设计各单元电路,完成其功能仿真和编译并生成低层计数器;
3、在QuartusⅡ中完成顶层设计并编译通过;
4、在QuartusⅡ中完成设计下载并调试电路;
5、写出设计报告;
主要设计条件
1、提供EDA设计环境和EDA软件QuartusⅡ;
2、提供EDA实验箱和CPLD下载装置;
说明书格式
1、课程设计报告书封面;
2、任务书;
3、说明书目录;
4、设计总体思路;
5、单元电路设计;
6、总电路设计;
7、设计调试体会与总结;
8、附录;
9、参考文献。
注意:
每个人的课程设计报告说明书不得雷同!
课程设计报告说明书要求用16开纸打印!
进度安排
第一周:
星期一上午安排任务、讲课。
星期一下午~星期五查资料、设计
第二周:
星期一~星期二设计输入和设计仿真〈四楼EDA室〉
星期三低层编译和设计下载〈四楼EDA室〉
星期四调试电路、写总结报告;
星期五答辩
参考文献
《EDA技术实用教程》第四版潘松主编
《电子技术与EDA技术课程设计指导》郭照南主编中南大学出版社
《电子线路设计、实验、测试》谢自美主编 华中理工出版社
目录
一、设计总体思路
1.1设计内容……………………………………1
1.2设计要求……………………………………1
1.3设计思路……………………………………1
1.4设计框图……………………………………2
二、单元电路设计及仿真
2.1年计数器……………………………………2
2.2月计数器……………………………………4
2.3日计数器……………………………………6
2.4星期计数器…………………………………8
2.5提醒模块……………………………………9
2.6控制模块……………………………………10
2.7显示模块……………………………………11
三、总电路设计………………………………..13
四、设计调试总结与体会……………………..13
五、附录………………………………………..15
六、参考文献…………………………………..15
附:
课程设计评分表
1.1设计内容
用FPGA为核心器件,用VHDL为设计手段设计制作一个具有大小月份自动调节和闰年补偿功能的数字日历,具体设计要求如下:
1.2设计要求
1、设计思路清晰,给出整体设计框图;
用VHDL设计各单元电路,完成其功能仿真和编译并生成低层计数器;
2、在QuartusⅡ中完成顶层设计并编译通过;
3、在QuartusⅡ中完成设计下载并调试电路;
4、写出设计报告;
1.3设计思路
用FPGA为核心器件,用VHDL为设计手段设计制作一个具有大小月份自动调节和闰年补偿功能的数字日历,日历有年、月、日、星期以及特殊节日提醒的功能,根据要求,用了一个一百进制的计数器来进行年的计数,中间有一个辅助进程,闰年时让进位端输出为一;
设计了一个十二进制的计数器进行月的控制,其中用了case语句,来完成该年是不是闰年以及该月是大月或者小月的控制;
利用一个七进制计数器来进行星期的计时;
现在就完成了我们所需要的几个计数器。
设计了一个控制模块来控制是否进入下一年;
然后设计了一个特殊节日提醒提醒功能,输出端接了一个LED灯,灯亮时表示提醒;
最后设计动态扫描显示部分。
将这些计数器的组合,我们可以完成具有闰年补偿功能的万年历的设计,同时可以通过控制键对年、月、日进行调整。
1.4设计框图
二、单元电路设计及仿真
2.1年计数器的设计
对于年100进制的加法计数器的设计,有个位、十位的输出,用显示模块来显示,以及一个进位端,来驱动月模块二月的选择,其输入有清零端,使能端和时钟脉冲,当清零端为低电平0时此计数器被清零,而重新开始计数,当使能端为低电平时该计数器不工作处于暂停状态。
其程序如下:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
ENTITYnianIS
PORT
(clk,en:
INSTD_LOGIC;
cr:
co:
outSTD_LOGIC;
q1:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
y10:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDnian;
ARCHITECTUREaOFnianIS
SIGNALbcd1n:
STD_LOGIC_VECTOR(3DOWNTO0);
SIGNALvcd10n:
BEGIN
q1<
=bcd1n;
y10<
=vcd10n;
PROCESS(clk,cr)
BEGIN
IF(cr='
0'
)THEN
bcd1n<
="
0000"
;
vcd10n<
ELSIF(clk'
EVENTANDclk='
1'
)THEN
if(en='
)then
IF(bcd1n=9andvcd10n=9)THEN
ELSIF(bcd1n=9)THEN
=vcd10n+1;
ELSE
=bcd1n+1;
ENDIF;
ENDIF;
endif;
ENDPROCESS;
process(bcd1n,vcd10n)
begin
if((bcd1n=0andvcd10n=0)or(bcd1n=4andvcd10n=0)or(bcd1n=8andvcd10n=0)or(bcd1n=2andvcd10n=1)or(bcd1n=6andvcd10n=1)or(bcd1n=0andvcd10n=2)or(bcd1n=4andvcd10n=2)or(bcd1n=8andvcd10n=2)or(bcd1n=2andvcd10n=3)or(bcd1n=6andvcd10n=3)or(bcd1n=0andvcd10n=4)or(bcd1n=4andvcd10n=4)or(bcd1n=8andvcd10n=4)or(bcd1n=2andvcd10n=5)or(bcd1n=6andvcd10n=5)or(bcd1n=0andvcd10n=6)or(bcd1n=4andvcd10n=6)or(bcd1n=8andvcd10n=6)or(bcd1n=2andvcd10n=7)or(bcd1n=6andvcd10n=7)or(bcd1n=0andvcd10n=8)or(bcd1n=4andvcd10n=8)or(bcd1n=8andvcd10n=8)or(bcd1n=2andvcd10n=9)or(bcd1n=6andvcd10n=9))thenco<
='
elseco<
endprocess;
enda;
其仿真波形如下:
2.2月计数器
对于月十二进制的加法计数器的设计,有个位、十位的输出用显示模块来显示,a,b的输出,来控制日计数器是31或30或28或29天。
其输入有清零端,使能端,run控制端和时钟脉冲,当清零端为低电平0时此计数器被清零,当使能端为低电平时该计数器不工作处于暂停状态。
run为1并且计数器记为2时,ab就输出11,run为0并且计数器记为2时,ab就输出10,来控制日计数器二月的输出。
ENTITYyueIS
PORT(clk,run:
en:
a,b,co:
outSTD_LOGIC;
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDyue;
ARCHITECTUREaOFyueIS
SIGNALbcd1n:
SIGNALvcd10n:
SIGNALvcd10nbcd1n:
std_logic_vector(7downto0);
0001"
)then
IF(bcd1n=2andvcd10n=1)THEN
ELSE
IF(bcd1n=2andvcd10n=1)THENco<
ELSEco<
vcd10nbcd1n<
=vcd10n&
bcd1n;
casevcd10nbcd1nis
when"
00000001"
=>
a<
b<
00000010"
ifrun='
then
elsea<
00000011"
00000100"
00000101"
00000110"
00000111"
00001000"
00001001"
00010000"
00010001"
00010010"
whenothers=>
null;
ENDCASE;
仿真波形如下:
2.3日计数器
对于日计数器的设计,有个位、十位的输出用显示模块来显示,有一个进位端,来驱动月计算器,给月计数器时钟脉冲。
其输入有清零端,使能端,s1,s2控制端和时钟脉冲,当清零端为低电平0时此计数器被清零,当使能端为低电平时该计数器不工作处于暂停状态。
用了一个case语句,s1s2分别输出为00、01、10、11时,日计数器就分别计数31、30、28、29天。
程序如下:
ENTITYriIS
PORT(clk,s1,s2:
INSTD_LOGIC;
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
ENDri;
ARCHITECTUREaOFriIS
SIGNALs1s2:
STD_LOGIC_VECTOR(1DOWNTO0);
PROCESS(clk,cr,s1,s2)
IF(en='
IF(bcd1n=9)THEN
s1s2<
=s1&
s2;
CASEs1s2IS
WHEN"
00"
IFvcd10n=3ANDbcd1n=1THEN
bcd1n<
="
vcd10n<
co<
01"
IFvcd10n=3ANDbcd1n=0THEN
10"
IFvcd10n=2ANDbcd1n=8THEN
11"
IFvcd10n=2ANDbcd1n=9THEN
ENDcase;
ENDa;
2.4星期计数器
对于星期七进制计数器的设计,有一个输出端,用显示模块来显示。
其输入有清零端,使能端和时钟脉冲,当清零端为高电平1时此计数器被清零,当使能端为低电平时该计数器不工作处于暂停状态。
其中设计了当输出为6后让输出为8然后回到1重新计数。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYxingqiIS
PORT(CLK,RST,EN:
CQ:
OUTSTD_LOGIC_VECTOR(3DOWNTO0));
ENDxingqi;
ARCHITECTUREBEHAVOFxingqiIS
SIGNALCQI:
STD_LOGIC_VECTOR(3DOWNTO0);
PROCESS(CLK,RST,EN)
IF(RST='
)THEN
CQI<
ELSIF(CLK'
EVENTANDCLK='
)THEN
IF(EN='
=CQI+1;
IFCQI=6THEN
1000"
ELSIFCQI>
7THENCQI<
CQ<
=CQI;
ENDBEHAV;
2.5提醒模块
设计这个模块是要用来特别节日提醒的,其输入端有一个异步置1端,其它四个输入端,当输入0501时,输出端会为0,此时输出端接一个LED灯,那么灯就会闪一下,表示节日提醒。
entitytixingis
port(cr:
instd_logic;
ri1,ri2,yue1,yue2:
instd_logic_vector(3downto0);
outstd_logic);
endtixing;
architectureaoftixingis
process(cr,ri1,ri2,yue1,yue2)
co<
if
((yue2=0andyue1=1andri2=0andri1=1)or
(yue2=0andyue1=5andri2=0andri1=1)or
(yue2=0andyue1=6andri2=0andri1=1)or
(yue2=0andyue1=8andri2=0andri1=1)or
(yue2=1andyue1=0andri2=0andri1=1))
thenco<
2.6控制模块
设计控制这一部分是当月和日计数器分别输出12、31时,输出端输出为1,给年计数器一个时钟脉冲。
entitykongzhiis
port(
endkongzhi;
architectureaofkongzhiis
process(ri1,ri2,yue1,yue2)
if(yue2=1andyue1=2andri2=3andri1=1)
2.7显示模块
用来显示年、月、日、星期的。
ENTITYSCAN_LEDIS
PORT(CLK:
d0,d1,d2,d3,d4,d5,d6,d7:
inSTD_LOGIC_VECTOR(3DOWNTO0);
SG:
OUTSTD_LOGIC_VECTOR(6DOWNTO0);
BT:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
END;
ARCHITECTUREoneOFSCAN_LEDIS
SIGNALCNT8:
STD_LOGIC_VECTOR(2DOWNTO0);
SIGNALA:
P1:
PROCESS(CNT8)
CASECNT8IS
000"
=>
BT<
;
A<
=d0;
001"
=d1;
010"
=d2;
011"
=d3;
100"
=d4;
101"
00100000"
=d5;
110"
01000000"
=d6;
111"
10000000"
=d7;
WHENOTHERS=>
NULL;
ENDCASE;
ENDPROCESSP1;
P2:
PROCESS(CLK)
IFCLK'
EVENTANDCLK='
THENCNT8<
=CNT8+1;
ENDP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 闰年 补偿 功能 数字 日历 论文 学位