ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:307.53KB ,
资源ID:14835148      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14835148.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA设计.docx)为本站会员(b****5)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

EDA设计.docx

1、EDA设计EDA 课 程 设 计 报 告课程名称 电子电路设计任课教师设计题目 数字时钟设计姓 名 学 号 日 期 一、 总述1) 课程设计的性质、目的和任务2) 课程设计基本要求3) 课程设计指导教材二、 题目分析1) 设计要求2) 总体方框图3) 技术指标及功能要求三、 选择方案四、编写应用程序并仿真1)秒计数器2)分钟计数器3)小时计数器4)整点报时报警模块5)七段译码五、硬件测试及说明六、结论七、总结一、总述(1)课程设计的性质、目的和任务创新精神和实践能力二者之中,实践能力是基础和根本。这是由于创新基于实践、源于实践,实践出真知,实践检验真理。实践活动是创新的源泉,也是人才成长的必由

2、之路。通过课程设计的锻炼,要求学生掌握电路的一般设计方法,具备初步的独立设计能力,提高综合运用所学的理论知识独立分析和解决问题的能力,培养学生的创新精神。(2)课程设计基本要求掌握现代大规模集成数字逻辑电路的应用设计方法,进一步掌握电子仪器的正确使用方法,以及掌握利用计算机进行电子设计自动化(EDA)的基本方法。(3)课程设计指导教材基础电子电路设计与实践国防工业出版社二、题目分析(1)设计要求:1)构造一个24小时制的数字钟。要求能显示时、分、秒。2)要求时、分、秒能各自独立的进行调整。3)能利用喇叭作整点报时。从59分50秒时开始报时,每隔一秒报时一秒,到达00分00秒时,整点报时。整点报

3、时声的频率应与其它的报时声频有明显区别。(2)总体方框图(3)技术指标及功能要求1)时钟计数:完成时、分、秒的正确计时并且显示所计的数字;对秒、分60进制BCD码计数,即从0到59循环计数,时钟24进制BCD码计数,即从0到23循环计数,并且在数码管上显示数值。2)时间设置:手动调节分钟、小时,可以对所设计的时钟任意调时间,秒、分计数器都有进位信号,通过调节进位信号实现对数字钟的调分和调时功能,即当setmin为高电平时,秒钟信号作为进位信号使分计数器计数,其计数加快实现调分功能。小时的调时原理与其相同。3)可以将高频时钟分频得到约2KHz和1KHz的音频,作为数字钟的报时频率。当电子钟显示X

4、X:59:50时,数字钟开始报时“DO,持续一秒,而且每隔一秒报一下,直至显示XX:00:00时报“DI,持续一秒后停止。最后输出至喇叭。应调用元件库中的逻辑门建一个控制报时的模块。4)建一个七段译码的模块因在系统可编程器件实验箱上的数码管没有经过译码,故要用AHDL语言写一个七段译码的模块,且应考虑数码管为共阳极。数码管上的点(D2、D4、D6)应置Vcc。三、选择方案1、方案选择及设计规划根据总体方框图及各部分分配的功能可知,本系统可以由四个子模块(即秒计数器、分钟计数器、小时计数器、整点报时)和一个顶层文件构成。采用自顶向下的设计方法,子模块利用VHDL语言设计,顶层文件用原理图的设计方

5、法。2、系统顶层图的设计系统顶层设计图如上所示,由图知:1)对外端口引脚名称:输入:clk,reset,setmin,sethour;输出:D66.0 ,D56.0,D46.0,D36.0,D26.0,D16.0,speaker;2)底层文件名称: 秒计时器(second)是由一个60进制的计数器构成的,具有清0、置数和计数功能。其中reset为清0信号,当reset为0时,秒计时器清0;clk为系统时钟信号;setmin是分钟的设置信号;enmin为秒计时器的进位信号,作为下一级的输入信号;SEC0是秒计数值的个位,SEC1是秒计数值的十位。分计时器(minute)是由一个60进制的计数器构

6、成的,具有清0、置数和计数功能。其中reset为清0信号,当reset为0时,分计时器清0;clk为系统时钟信号;clk1为设置时钟信号;sethour时设置信号;enhour为分计时器的进位信号,作为下一级的输入信号。MIN0是分计数值的个位,MIN1是分计数值的十位。 时计时器(hour)是由一个24进制的计数器构成的,具有清0、置数和计数功能。其中reset为清0信号,当reset为0时,时计时器清0;clk为时计数时钟信号;H0为时计数值的个位,H1为时计数值的十位。报时模块(alarm)的功能是整点报时,当电子钟显示XX:59:50时,给予蜂鸣器1KHZ脉冲,数字钟开始报时“DO,持

7、续一秒,而且每隔一秒报一下,直至显示XX:00:00时给予蜂鸣器2KHZ脉冲,数字钟报“DI,持续一秒后停止。3) 实验连线:reset、setmin、hour连接拨动开关;计数时钟信号clk接4KHZ时钟信号;speak与扬声器驱动speaker相连;D66.0 ,D56.0,D46.0,D36.0,D26.0,D16.0分别与七段LED数码管相连。结构框图如下:四、编写应用程序并仿真1、秒计数器(文件名:second.vhd)1)VHDL语言描述程序LIBRARY IEEE;use IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.AL

8、L;ENTITY second ISPORT( clk,reset,setmin:IN STD_LOGIC; enmin:OUT STD_LOGIC; sec0,sec1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END second;ARCHITECTURE mian_arc OF second ISbeginprocess(clk,reset,setmin)variable count0,count1:std_logic_vector(3 downto 0);begin IF(reset=0)THEN count1:=0000; count0:=0000; elsi

9、f (clkevent and clk=1)then if (count1=0101 and count0=1000)then enmin=1; count0:=1001; elsif (count01001)then count0:=count0+1; else count0:=0000; if (count10101)then count1:=count1+1; else count1:=0000; enmin=0; end if; end if; end if; sec1=count1; sec0=count0; end process; end mian_arc;2)秒计数器的仿真波形

10、图3)波形分析由仿真波形图知秒计数模块功能是利用60进制计数器完成00到59的循环计数功能,当秒计数至59时,再来一个时钟脉冲则产生进位输出,即enmin=1;reset作为复位信号低电平有效,即高电平时正常循环计数,低电平清零。4)生成模块样式2、分钟计数器(文件名:minute.vhd)1)VHDL语言描述程序LIBRARY IEEE;use IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY minute ISPORT( clk,reset,sethour:IN STD_LOGIC; enhour:OUT STD_

11、LOGIC; min0,min1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END minute;ARCHITECTURE mian_arc OF minute ISbeginprocess(clk,reset,sethour)variable count0,count1:std_logic_vector(3 downto 0);begin IF(reset=0)THEN count1:=0000; count0:=0000; elsif (clkevent and clk=1)then if (count1=0101 and count0=1000)then enho

12、ur=1; count0:=1001; elsif (count01001)then count0:=count0+1; else count0:=0000; if (count10101)then count1:=count1+1; else count1:=0000; enhour=0; end if; end if; end if; min1=count1; min0=count0; end process; end mian_arc;2)分钟计数器的仿真波形图3)波形分析由波形图可知该模块实现了分钟计数的功能,利用60进制计数器完成00到59的循环计数功能,当秒计数至59时,再来一个时

13、钟脉冲则产生进位输出,即enhour=1;reset作为复位信号低电平有效,即高电平时正常循环计数,低电平清零。4)生成模块样式 3、小时计数器(文件名:hour.vhd)1)VHDL语言描述程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity hour isport(reset,clk:in std_logic;h1,h0:out std_logic_vector(3 downto 0);end hour;architecture hour_arc of hour isbeginpr

14、ocess(clk,reset)variable cnt1,cnt0:std_logic_vector(3 downto 0); begin if clkevent and clk=1thenIF(reset=0)THEN if cnt1=0010 and cnt0=0011thencnt0:=0000;cnt1:=0000;elsif cnt01001thencnt0:=cnt0+1;elsecnt0:=0000;cnt1:=cnt1+1;end if;end if;end if;h1=cnt1;h0=cnt0;end process;end hour_arc;2)小时计数器的仿真波形图3)

15、波形分析小时计数模块利用24进制计数器,通过分钟的进位信号的输入可实现从00到23的循环计数。4)生成模块样式4、整点报时报警模块(文件名:alert.vhd) 1)VHDL语言描述程序library ieee;use ieee.std_logic_1164.all;entity alert isport(m1,m0,s1,s0:in std_logic_vector(3 downto 0);clk:in std_logic;qlk,qlk2:out std_logic);end alert;architecture sst_arc of alert isbeginprocess(clk)be

16、ginif clkevent and clk=1 thenif m1=0101 and m0=1001 and s1=0101 thenif s0=0000 or s0=0001 or s0=0010 or s0=0011 or s0=0100or s0=0101or s0=0110or s0=0111or s0=1000or s0=1001 thenqlk=1;elseqlk=0;end if;end if;if m1=0000 and m0=0000 and s1=0000 and s0=0000 thenqlk2=1;elseqlk2D1D1D1D1=0000000;end case;e

17、nd process;end disp_arc;五、全系统联调五、硬件测试及说明1、数字时钟系统采用模式7进行硬件测试2、引脚锁定情况信号名引脚号按键及显示clkPIN2内部时钟信号D10PIN18数码管D1D11PIN15D12PIN16D13PIN17D14PIN20D15PIN21D16PIN22D20PIN8数码管D2D21PIN81D22PIN4D23PIN6D24PIN10D25PIN9D26PIN11D30PIN73数码管D3D31PIN70D32PIN75D33PIN76D34PIN80D35PIN77D36PIN79D40PIN63数码管D4D41PIN61D42PIN65D

18、43PIN64D44PIN69D45PIN67D46PIN68D50PIN52数码管D5D51PIN50D52PIN54D53PIN55D54PIN57D55PIN56D56PIN58D60PIN41数码管D6D61PIN40D62PIN44D63PIN45D64PIN48D65PIN46D66PIN49sethourPIN34键K2setminPIN35键K3speakerPIN25蜂鸣器SPEAKERresetPIN33键K13、硬件测试过程与结果分析1)硬件测试:实验硬件系统EPM7128SLC84-15键K1控制reset,键K2控制sethour,键K3控制setminute数码管D

19、1,D2用作小时显示,D1高位是小时的十位,D2低位是小时的个位;数码管D3、D4用作分钟显示,D3高位是分钟的十位,D4低位是分钟的个位; 数码管D5,D6用作秒钟显示,D5高位是秒钟的十位,D6低位是秒钟的个位;测试过程 reset低电平清零复位,按键K1使灯亮则时钟开始从00-00-00计时,秒钟计时到59时向分钟进1,分钟计时到59时向小时进1;键K2用做调小时每来一个脉冲调一次调节范围00-23;键K3用做调分钟每来一个脉冲调一次调节范围0059;当电子钟显示XX:59:50时,给予蜂鸣器1KHZ脉冲,数字钟开始报时“DO,持续一秒,而且每隔一秒报一下,直至显示XX:00:00时给予

20、蜂鸣器2KHZ脉冲,数字钟报“DI,持续一秒后停止。2)结果分析:由测试过程及结果可知所设计的数字时钟系统完成了预定的实验设计要求。六、结论 1、实验总结 由上可知,该数字钟系统实现了计时、时间重置、整点报时的功能。在给数字钟重置时间后,数字钟便开始从所置的时间计时,计数到59秒时,秒计时器回到00秒,并且给分钟加1;当分钟计数到59分时,分计时器回到00分钟,小时显示加1,与此同时报时装置输出高电平,并且持续1分钟。当小时计数到23小时时,当分钟及秒钟都达到59时,下一脉冲来时时钟回到00小时。当分钟到达59分,分计时器回到00时。通过这次设计实验,使得我对层次化结构化设计有了更深的了解。在

21、设计中将设计任务分成了几个子模块,完成各子模块的设计功能,然后再将各模块合起来联试,加深了层次化设计概念。通过实验加深了对软件的元件管理的含义的理解,学会将不同目录下的设计题目融合在同一个文件夹中进行总体集成。通过仿真和硬件测试,让我认识到调试和硬件测试手段的多样化,对于同一功能的电路可以采用多种模式进行硬件测试,但要选择一个最佳方案,从而进行信号引脚的锁定并与相应功能块的硬件电路接口相连。2、实验设计不足及改进1)整点报时模块可以在此模块中用存储器存储一段音乐,在整点报时时音乐提示。2)可以利用宏模块的设计方法存储一个时间设计一个闹钟模块。3)在实验设计中关于顶层文件的vhdl语言描述还有一

22、些欠缺,因此在设计时采用了原理图输入的设计方法。4)总线设置太多,妨碍了软件的运行,致使最后硬件演示时出现情况。七、课程总结这次课程设计主要分为理论学习和实验实践两个部分。通过对其理论知识的学习,我对硬件描述语言有了初步的认识,学会利用硬件描述语言完成相应功能系统的设计。在VHDL的语言学习上,类比于C语言的学习,通过对以往例子的学习,加深了自己对这门语言的认识,在实验中,通过自己的实际操作,找出问题,改正错误,提出改进之法,大胆创新,使自己的能力在实践中成长起来。经过这几天的设计,我基本了解了EDA设计过程。从简单的实例开始,了解EDA设计的大概流程 。经过实践设计之后,我对于VHDL语言的理解更加深刻了,本来有些不理解的理论知识,都能通过实践得到一定解答。在实践的过程中,有时遇到难题的时候,我们上网或去图书馆查找资料,或者向老师和同学们讨论,在这个过程中我学习到了一些我们在课堂上学不到的知识。通过这次课程设计使我更加深刻的懂得了理论与实际相结合的重要性!只有理论知识无法实现相关的设计和实际操作,当把所学的理论知识与实践相结合起来,从理论中得出结论,这样才能把所学的理论知识更加巩固至掌握住,才能提高自己的实际动手能力和独立思考能力。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2