EDA日历设计Word文档下载推荐.docx
- 文档编号:16421068
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:19
- 大小:261.08KB
EDA日历设计Word文档下载推荐.docx
《EDA日历设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《EDA日历设计Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
2、任务书;
3、说明书目录;
4、设计总体思路;
5、单元电路设计;
6、总电路设计;
7、设计调试体会与总结;
8、附录;
9、参考文献。
注意:
每个人的课程设计报告说明书不得雷同!
课程设计报告说明书要求用16开纸打印!
进度安排
第一周:
星期一上午安排任务、讲课。
星期一下午~星期五查资料、设计
第二周:
星期一~星期二设计输入和设计仿真〈四楼EDA室〉
星期三低层编译和设计下载〈四楼EDA室〉
星期四调试电路、写总结报告;
星期五答辩。
参考文献
《EDA技术实用教程》第四版潘松主编
《电子技术与EDA技术课程设计指导》郭照南主编中南大学出版社
《电子线路设计、实验、测试》谢自美主编 华中理工出版社。
目录
一、设计总体思路
1.1课程设计内容-------------------------------------------------1
1.2课程设计要求-------------------------------------------------1
1.3设计总体思路-------------------------------------------------2
1.4设计框图-------------------------------------------------------3
二、单元模块设计
2.1天模块----------------------------------------------------------4
2.2月模块----------------------------------------------------------5
2.3年模块.---------------------------------------------------------7
2.4星期模块-------------------------------------------------------8
2.5提醒模块-------------------------------------------------------9
2.6控制模块------------------------------------------------------10
2.7显示模块------------------------------------------------------11
三、总电路设计--------------------------------------------------13
四、电路调试----------------------------------------------------14
五、设计调试体会与总结--------------------------------------16
六、附录-----------------------------------------------------------17
七、参考文献-----------------------------------------------------18
附:
课程设计评分表
1.1课程设计内容
1.2课程设计要求
1、设计思路清晰,给出整体设计框图;
2、用VHDL设计各单元电路,完成其功能仿真和编译并生成低层模块;
3、在QuartusⅡ中完成顶层设计并编译通过;
4、在QuartusⅡ中完成设计下载并调试电路;
5、写出设计报告;
1.3设计总体思路
用QuartusⅡ生成各模块,依次调试其功能,然后连接出总体线路图然后设置为顶层文件。
完成该万年历时,需要用一个可以选择计数器,在这里面可以完成对28、29、30、31天的计数功能,接下来需要一个十二进制计数器来进行月份的计数,然后就是利用一个一百进制的计数器来进行年数的计数,最后是利用一个七进制计数器来进行星期的计时。
然后对于特殊的节日要建一个提醒模块,通过LED灯显示提醒,对于每个月是大月还是小月和是否是闰年,用一个控制模块来实现,数码管的显示直接用数码驱动模块实现。
通过各模块的有机组成而实现具有大小月份自动调节和闰年补偿功能的数字万年历。
1.4设计框图
2.1天模块(代码如下)
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitytianis
port(clk,s1,s2:
instd_logic;
d1,d2:
outstd_logic_vector(3downto0);
cout:
outstd_logic);
endtian;
architectureoneoftianis
signalq11,q22:
std_logic_vector(3downto0);
signals1s2:
std_logic_vector(1downto0);
begin
process(clk,s1,s2)
begin
ifclk'
eventandclk='
1'
then
q11<
=q11+1;
ifq11=9thenq11<
=(others=>
'
0'
);
q22<
=q22+1;
endif;
s1s2<
=s1&
s2;
cases1s2is
when"
00"
=>
ifq22=3andq11=1
thenq22<
="
0000"
;
q11<
0001"
cout<
='
elsecout<
01"
ifq22=3andq11=0
10"
ifq22=2andq11=8
11"
ifq22=2andq11=9
whenothers=>
null;
endcase;
endif;
endprocess;
d1<
=q11;
d2<
=q22;
end;
2.2月模块
程序:
entityyueis
port(clk,run:
m1,m2:
a,b,cout:
endyue;
architectureoneofyueis
signalq1:
std_logic_vector(3downto0):
signalq2:
signalq2q1:
std_logic_vector(7downto0);
process(clk)
begin
ifclk'
q1<
=q1+1;
ifq1=9thenq1<
q2<
=q2+1;
ifq2=1andq1=2then
q1<
q2q1<
=q2&
q1;
caseq2q1is
when"
00000001"
a<
b<
00000010"
ifrun='
then
a<
elsea<
00000011"
00000100"
00000101"
00000110"
00000111"
00001000"
00001001"
00010000"
00010001"
00010010"
endcase;
m1<
=q1;
m2<
=q2;
2.3年模块
entitynianis
port(clk:
y1,y2:
run:
endnian;
architectureoneofnianis
signalq1,q2:
signalq3:
signalrun1:
std_logic:
ifq2=9andq1=9then
q3<
=q3+1;
ifq3=3thenq3<
run1<
elserun1<
y1<
y2<
run<
=run1;
2.4星期模块
entityxingqiis
q1:
outstd_logic_vector(3downto0));
endxingqi;
architectureoneofxingqiis
signalq11:
ifq11=6then
q11<
1000"
elsifq11>
7then
q1<
2.5提醒模块
entityalarmis
port(clk:
T1,T2,yue1,yue2:
instd_logic_vector(3downto0);
alarm:
endalarm;
architectureoneofalarmis
std_logic_vector(15downto0);
process(T1,T2,yue1,yue2)
q11<
=yue2&
yue1&
T2&
T1;
caseq11is
when"
0000100000000001"
alarm<
=clk;
0000010100000001"
0000101000000001"
whenothers=>
endcase;
endone;
2.6控制模块
entitytiaoshiis
port(k1,k2:
m1,m2,m3,m4:
n1,n2,n3,n4:
endentity;
architectureoneoftiaoshiis
signalq:
process(k1)
begin
ifk1'
eventandk1='
thenq<
=q+1;
ifq=4thenq<
endif;
caseqis
when"
n1<
=m1;
n2<
=m2;
n3<
=m3;
n4<
=m4;
=k2;
0010"
0011"
0100"
--when"
0101"
whenothers=>
NULL;
endcase;
endprocess;
2.7显示模块
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYledIS
PORT(CLK:
INSTD_LOGIC;
d0,d1,d2,d3,d4,d5,d6,d7:
inSTD_LOGIC_VECTOR(3DOWNTO0);
SG:
OUTSTD_LOGIC_VECTOR(6DOWNTO0);
BT:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
END;
ARCHITECTUREoneOFledIS
SIGNALCNT8:
STD_LOGIC_VECTOR(2DOWNTO0);
SIGNALA:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
P1:
PROCESS(CNT8)
BEGIN
CASECNT8IS
WHEN"
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;
ENDIF;
ENDPROCESSP2;
P3:
PROCESS(A)
CASEAIS
SG<
0111111"
0000110"
1011011"
1001111"
1100110"
1101101"
0110"
1111101"
0111"
0000111"
1111111"
1001"
1101111"
1010"
1110111"
1011"
1111100"
1100"
0111001"
1101"
1011110"
1110"
1111001"
1111"
1110001"
ENDPROCESSP3;
END;
3、总电路设计图
四、电路调试
天模块调试结果:
月模块调试结果:
年模块调试结果:
提醒模块调试结果:
当不是特殊的日子时;
星期模块调试:
五、设计调试体会与总结
1、刚开始对Quartus软件的应用不是很熟悉,通过阅读相关的书籍,提高了对Quartus软件的应用。
比如文件名必须是英文的,不然编译总是有错误,还有对每一个分模块编译,和仿真的时候,都得将其设为顶层文件,不然编译的总是上一个模块的内容,最后把总的设计原理图设为顶层文件及项目名。
2.写程序代码的时候,特别要注意细节,一个小的标点符号错了,就导致整个程序错误。
这无疑培养了我们科学严谨的学习态度。
3.锁定管脚的时候,有些号码开发箱上面没有,所以必须的注意,最好是选择接线最好的位置。
4接线调试的时候,特别要注意时钟给的大小,如数码显示管的时钟信号要中等,给的太快,肉眼跟不上显示管闪动,只能看到依次点亮,所以要给合适的时钟信号,输入的时钟要给慢一点,让实验结果清晰可见。
5.通过这次为期两周的EDA课程设计,使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论。
才能够完美的掌握知识。
这次设计也让我明白了现代电子的发展,对自己将来的就业有了一定的了解。
这次的EDA课程设计,虽然刚开始一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 日历 设计