2022年电子日历VHDL程序设计报告 .pdf
《2022年电子日历VHDL程序设计报告 .pdf》由会员分享,可在线阅读,更多相关《2022年电子日历VHDL程序设计报告 .pdf(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、电 子 设 计 自 动 化 实 训 说 明 书题目:电子日历 VHDL程序设计报告系部: 信息与控制工程学院专业: 电子信息工程班级:学生姓名 :学号:指导教师 :杜 德2010 年 12 月 6 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 23 页 - - - - - - - - - 电子设计实训说明书目录1 实训目的 . 1 1.1 硬件实训目的:. 1 1.2 软件实训目的:. 1 2 实训意义 . 2 3 实训内容 . 4 3.1硬件实训内容: . 4 3.
2、2软件实训内容: . 4 3.2.1 功能说明: . 4 3.2.2 软件设计详细内容:. 4 4 实训中疑难解答 . 17 5 实训心得 . 18 参考文献 . 20名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 23 页 - - - - - - - - - 电子设计实训说明书1 1 实训目的1.1 硬件实训目的:1. 熟悉 EDA实验箱的基本工作原理。2. 熟悉并掌握 EDA实验箱各个模式的功能。3. 提高学生的动手能力。1.2 软件实训目的:1熟悉并掌握 Max+p
3、lus2 软件的使用。2熟练的使用原理图输入设计方法,VHDL语言编写程序,进一步了解和掌握各个程序语言,提高编程的熟练程度。3掌握年、月、日、时、分、秒程序的原理, 进而理解万年历的设计原理。4拓宽学生知识面, 增强工程意识, 培养学生的分析和解决实际问题的能力。5提高学生的动手能历。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 23 页 - - - - - - - - - 电子设计自动化实训说明书2 2 实训意义该数字时钟实现了调时、年、月、日、时、分、秒的显示功能
4、,无需接译码器,可直接接八段共阴极数码管,总体结构如下图所示:第一部分第二部分第三部分D8 (l5 ) D7(l2) D6 D5 (l4) D4(l1) D3 D2(l3 ) D1 8 个 LED数码管为了显示清楚只用了6 个数码管,分为 3 个部分。采用的是 EDA试验箱上的模式 7。软件 Max+plus2方面:在显示程序中, k3 控制分屏。当 k3=1时, 3 部分数码管显示年、月、日;当 k3=0时,3 部分数码管显示时、分、秒。万年历正常工作时,D1D8都不亮。调时时,秒的变化不需控制,故需调时有年、月、日、时、分5 个量。数码管每部分右边灯亮时,即l5 亮、l4 亮、l3 亮分别
5、控制的是年、月、日的变化;每部分左边亮时,即 l2 亮、l1 亮分别控制的是时、分的变化。若控制其中一个量变化时,其余 4 个量均不变,也不向高位进位。调时、显示、年、月、日、时、分、秒的 VHDL 语言分别生成各自的模块 (Symbol),在顶层文件 wannianli中调用这些底层模块 CNT60模块, CNT24模块,tian模块,yue 模块, nian 模块, tiaoshi模块, xianshi模块,然后链接各个模块,构成所需要的电子日历的原理图。硬件 EDA 试验箱方面:电子日历电路图根据要求采用的是EDA试验箱上的模式7。对万年历电路图上的引脚在电脑软件 Max+plus2进行
6、绑定,然后编译,在进行下载,下载到硬件EDA 试验箱上。在 EDA 试验箱上就可以观察到上述变化。引脚绑定如图所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 23 页 - - - - - - - - - 电子设计自动化实训说明书3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 23 页 - - - - - - - - - 电子设计自动化实训说
7、明书4 3 实训内容3.1 硬件实训内容:在电脑上通过软件Max+plus2对万年历电路图的引脚进行绑定,编译,然后与 EDA 试验箱连接,把 wannianli .sof 文件配置通过 JTAG 口载入 FPGA 中,选择实验电路模式 No.7 进行硬件测试。通过学习,理论上学习了EDA试验箱的原理,对试验箱内部的组件,以及组件之间的链接有了一定的了解,为以后的实训打下了良好的基础。3.2 软件实训内容:3.2.1 功能说明:(1)显示准确的北京时间(年、月、日、时、分、秒,年号只显示最后两位)(2)随时可以调校时间即可以控制年、月、日、时、分的变化,可以跳到指定的时间。3.2.2 软件设计
8、详细内容:(1). 秒、分:秒和分都是从0 计数到 59,可以用六十进制表示。 CNT60程序如下:library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity CNT60 is port(CLK :in std_logic; cq1,cq2:out std_logic_vector(3 downto 0); cout:out std_logic); end entity; architecture one of CNT60 is 名师资料总结 - - -精品资料欢迎下载 - - - - -
9、 - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 23 页 - - - - - - - - - 电子设计自动化实训说明书5 signal q1,q2:std_logic_vector(3 downto 0); begin process(CLK) begin if CLKevent and CLK=1 then 检测时钟上升沿q2=q2+1; q2 开始计数if q2=9 then q1=q1+1; q2=0000; end if; if q2=9 and q1=5 then q1=0000;q2=0000; cout=1; q2=
10、9,q1=5时,q1,q2 清零并输出进位信号else cout=0; end if; end if; end process; cq1=q1; cq2=q2; end; CNT60 波形仿真如图:CNT60 模块如图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 23 页 - - - - - - - - - 电子设计自动化实训说明书6 (2). 时:时是从 0 计数到 23,可以用二十四进制表示。CNT24 程序如下:library ieee; use ieee.st
11、d_logic_1164.all; use ieee.std_logic_unsigned.all; entity CNT24 is port(CLK :in std_logic; cq1,cq2:out std_logic_vector(3 downto 0); cout:out std_logic); end entity; architecture one of CNT24 is signal q1,q2:std_logic_vector(3 downto 0); begin process(CLK) begin if CLKevent and CLK=1 then 检测时钟上升沿q2=
12、q2+1; q2 开始计数if q2=9 then q1=q1+1; q2=0000; end if; q2=9时,q1开始计数且 q2 清零if q2=3 and q1=2 then q1=0000; q2=0000; cout=1; q2=3,q1=2 时,q1,q2 清零并输出进位信号else cout=0; end if; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 23 页 - - - - - - - - - 电子设计自动化实训说明书7 end if; en
13、d process; cq1=q1; cq2=q2; end; CNT24 波形仿真如图:CNT24 模块如图:(3). 天:一个月可能有31 天或者 30 天;当该年为闰年,二月有29 天,否则二月有 28天。library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity tian is port(clk:in std_logic; pan:in std_logic_vector(1 downto 0); T1,T2:out std_logic_vector(3 downto 0); cou
14、t:out std_logic); end tian; architecture one of tian is 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 23 页 - - - - - - - - - 电子设计自动化实训说明书8 signal q1,q2:std_logic_vector(3 downto 0); signal ab:std_logic_vector(1 downto 0); begin process(clk,pan) begin if clkeve
15、nt and clk=1 检测时钟上升沿then q1=q1+1; q1 开始计数if q1=9 then q1=0000; q2 if q2=3 and q1=1 then q2=0000 ;q1=0001;cout=1; else cout if q2=3 and q1=0 then q2=0000 ;q1=0001;cout=1; else cout if q2=2 and q1=8 then q2=0000 ;q1=0001;cout=1; else cout if q2=2 and q1=9 then q2=0000 ;q1=0001;cout=1; else coutnull; e
16、nd case; end if; end process; T1=q1;T2=q2; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 23 页 - - - - - - - - - 电子设计自动化实训说明书9 end;tian程序波形仿真如图:tian模块如图:(4) 月:一,三,五,七,八,十,十二月有31;四,六,九,十一月有30 天;当该年为闰年,二月有29 天,否则二月有 28 天。library ieee; use ieee.std_logic_1164.all
17、; use ieee.std_logic_unsigned.all; entity yue is port(clk,run:in std_logic; cout:out std_logic; pan:out std_logic_vector(1 downto 0); Y1,Y2:out std_logic_vector(3 downto 0); end yue; architecture behav of yue is signal q1,q2:std_logic_vector(3 downto 0); signal q3:std_logic_vector(7 downto 0); begin
18、 process(clk,run) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 23 页 - - - - - - - - - 电子设计自动化实训说明书10 begin if clkevent and clk=1 then 检测时钟上升沿q1=q1+1; q1 开始计数if q1=9 then q1=0000; q2=q2+1; end if; q1=9时,q2 开始计数且 q1 清零if q1=2 and q2=1 then q1=0001;q2=0000;cout
19、=1; else cout=0; q1=2,q2=1时,q2 清零, q1 从 1 开始计数并输出进位信号end if; q3panif run=1 then pan=11;else panpanpanpanpanpanpanpanpanpanpannull; end case; end if; Y1=q1;Y2=q2; end process; end behav; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 23 页 - - - - - - - - - 电子设计
20、自动化实训说明书11 yue 程序波形仿真如图:yue模块如图:(5).年:由于年号只显示最后两位, 故为 099,是 100 进制。但每四年为一闰年。故 nian 程序是二者结合。library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity nian is port(clk :in std_logic; q1,q2:out std_logic_vector(3 downto 0); run:out std_logic); end entity; architecture one of ni
21、an is signal cq1,cq2:std_logic_vector(3 downto 0); signal q3:std_logic_vector(3 downto 0); begin PRO1:process(clk) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 23 页 - - - - - - - - - 电子设计自动化实训说明书12 begin if clkevent and clk=1 then 检测时钟上升沿cq1=cq1+1; cq1 开始计数i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年电子日历VHDL程序设计报告 2022 电子 日历 VHDL 程序设计 报告
限制150内