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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

EDA设计 数字钟.docx

1、EDA设计 数字钟摘要利用MAX+PLUS软件,设计一个能进行时、分、秒计时的24制多功能数字钟,使其具有定时与闹钟功能,且能在设定的时间发出闹铃音,能非常方便地对时、分、秒进行手动调节以校准时间,每逢整点,产生报时音效,并在实验板上成功下载,验证后满足要求。关键词:EDA ; MAX+PLUS2 ; 数字钟 ;0 引 言随着科学技术的发展,现代电子设计技术已进入一个全新的阶段,传统的电子设计方法、工具和器件在更大的程度上被EDA所取代。在EDA技术中,最为瞩目的是以现代电子技术为特征的逻辑设计仿真测试技术,该技术的出现,使电子系统设计发生了质的变化,设计速度快、体积小、重量轻、功耗小的集成电

2、路已成为趋势。本文利用EDA技术,选用ALTERA公司的CPLD器件EPF10K10LC84-4和软件MAX+PLUS2,设计了一个多功能数字钟,提高了系统的整体性能和可靠性,并通过编译、仿真、下载,经验证后已满足要求。1 多功能数字钟设计任务1.1 数字钟设计要求(1)、设计一个能显示1/10秒、秒、分、时的12小时数字钟。(2)、熟练掌握各种计数器的使用。(3)、能用计数器构成十进制、六十进制、十二进制等所需进制的计数器。(4)、能用低位的进位输出构成高位的计数脉冲。1.2 设计思路此设计可分为主控电路、计数器模块和扫描显示三大模块。1.2.1 主控电路模块主控电路状态用表格显示,如下表所

3、列: 模式选择秒、时、分、计数器脉冲输出状态备注ResetReset1A BTurnLD-hLD-mLD-alert0XX XXX000系统复位1X0 0XCLK000系统计时1X0 10Change=分计数器加1010手动校时1X0 11Change=时计数器加1100111 00Change=分计数器加1011设置闹钟111 01Change=时计数器加110110X XXX000关闭闹钟1.2.2 计数器模块 计数器模块中,分钟和秒用带进位位的60进制功能模块,小时用不带进位位的24进制功能模块(如果考虑到日期的问题,在24进制模块加进位输出即可实现)。计数器模块均用Verilog HD

4、L语言编写,实现计数逻辑功能。1.2.3 扫描显示模块扫描显示模块利用Verilog HDL语言编写实现,把三个计数器输出的时、分、秒从左至右依次显示在留个数码管上。具体见设计部分。1.3 数字钟硬件系统示意图2 多功能数字钟的设计实现2.1 主控电路设计将主控电路分为输入逻辑控制和输出逻辑控制两部分。2.1.1 输入逻辑控制 用原理图输入法,通过使用各种门电路,按照数字钟主控电路状态表中的逻辑关系,设计并实现具有表格中各种特殊功能的主控电路,设计原理图如下:2.1.2 输出逻辑控制(1)闹铃比较电路通过8个2输入同或门、一个8输入与门构成逻辑关系,实现比较功能,电路原理图如下:若生成简洁的符

5、号体,使用更方便,且电路图更清晰明了。经编译、仿真、下载,满足要求,然后通过Create Default Symbol,生成符号体,如下左图: (2)整点报时比较电路通过门电路来实现,原理图如下:生成符号体如上右图:(3)数码管输出比较电路系统计时和闹铃设置状态均需使用扫描显示电路,该功能由两组扫描显示电路来实现。因此,需要通过2个2输入与门和1个2输入或门电路对两组扫描显示电路进行控制,完整实现扫描显示功能,生成的符号体如下:2.2 计数器部分EDA工具的重要特征之一是支持多种输入方式,如原理图输入方式、状态机输入方式、HDL高级语言输入方式等等。MAX+PLUS软件平台对以上输入方式都能很

6、好地支持。此部分的设计即通过Verilog HDL输入方式来实现。2.2.1 24进制计数器用Verilog HDL实现时,代码如下:module hour(qh,ql,clk,reset);output3:0qh;output3:0ql;reg 3:0qh;reg 3:0ql;input clk,reset;always (posedge clk or negedge reset)beginif(!reset)qh,ql=0;else beginif(qh,ql=8h23)qh,ql=0;else beginif(ql=9)begin ql=0;qh=qh+1;endelseql=ql+1;

7、endendendendmodule输入完毕,经编译、仿真、下载,满足要求。然后通过Create Default Symbol,生成符号体如下:2.2.2 带进位位的60进制计数器 用Verilog HDL实现时,代码如下: module minute(qh,ql,rco,clk,reset);output3:0qh;output3:0qloutput rco;reg 3:0qh;reg 3:0ql;reg rco;input clk,reset;always (posedge clk or negedge reset)begin if(reset)qh,ql=0; else begin if

8、(qh,ql=8h59) begin qh,ql=0;rco=1; end else begin if(ql=9) begin ql=0; qh=qh+1; end else begin ql=ql+1;rco=0;end end endendendmodule输入完毕,经编译、仿真、下载,满足要求。然后通过Create Default Symbol,生成符号体如下:同理,秒计时模块生成符号体如下: 2.2.3 不带进位位的60进制计数器 用于闹钟的计数器,不需要进位位,另创建符号体如下:2.3 扫描显示模块用Verilog HDL实现时,代码如下:module sel(in1,in2,in3

9、,in4,in5,in6,in7,in8,clk,ms1,ms2,ms3,ms4 ,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g);input clk;input3:0in1,in2,in3,in4,in5,in6,in7,in8;output ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g;reg ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g;reg 3:0 temp,flag;always(posedge clk)beginms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8=

10、8b00000000;flag=flag+1;case(flag)0:begin temp=in1;ms1=1;end1:begin temp=in2;ms2=1;end2:begin temp=in3;ms3=1;end3:begin temp=in4;ms4=1;end4:begin temp=in5;ms5=1;end5:begin temp=in6;ms6=1;end6:begin temp=in7;ms7=1;end7:begin temp=in8;ms8=1;endendcasecase(temp)4d0:a,b,c,d,e,f,g=7b1111110;4d1:a,b,c,d,e,

11、f,g=7b0110000;4d2:a,b,c,d,e,f,g=7b1101101;4d3:a,b,c,d,e,f,g=7b1111001;4d4:a,b,c,d,e,f,g=7b0110011;4d5:a,b,c,d,e,f,g=7b1011011;4d6:a,b,c,d,e,f,g=7b1011111;4d7:a,b,c,d,e,f,g=7b1110000;4d8:a,b,c,d,e,f,g=7b1111111;4d9:a,b,c,d,e,f,g=7b1111011;4hA:a,b,c,d,e,f,g=7b1110111;4hB:a,b,c,d,e,f,g=7b0011111;4hC:a,

12、b,c,d,e,f,g=7b1001110;4hD:a,b,c,d,e,f,g=7b0111101;4hE:a,b,c,d,e,f,g=7b1001111;4hF:a,b,c,d,e,f,g=7b1000111;default:a,b,c,d,e,f,g=7b1111110;endcaseendendmodule输入完毕,经编译、仿真、下载,满足要求。然后通过Create Default Symbol,生成符号体如下:至此,三大模块设计工作基本完成,只需将各模块之间按连线规则严格进行连接,必要时添加相应的门电路,定义好相应的I/O管脚和信号线后,即可进行逻辑实现与综合。多功能数字钟系统.gdf

13、文件如下图:3 结论EDA提供了良好的逻辑综合与优化功能,它能够将设计人员设计的逻辑级电路图自动地转换为门级电路,并生成相应的网表文件、时序分析文件和各种报表,若设计没有错误,最终可生成可以编程下载的.SOF文件。本文给出的数字时钟基于MAX+plus设计,经过软件仿真并下载到硬件(电子EDA实验开发系统)实现,完成了基本的数字钟功能设计,表明本设计是合理可行的。通过多功能数字钟的设计可知EDA技术及其工具在数字电路系统,包括模拟电路系统中正发挥着越来越重要的作用,有传统的电子设计方法无法比拟的优点。本次EDA试验为期三天,整个过程紧凑,在仅有的三天时间里,我迅速的掌握了EDA与数字系统设计课

14、程要求的内容,理解并能简单应用Verilog HDL语言。在数字钟设计过程中,繁琐的主控电路,是整个设计的关键,耗费了我大量的时间和精力。从许多次的尝试和失败中,我发现在数字电路中逻辑上能够实现的设计,实际应用中却未必正确。最初设计时,我使用了一个自己利用门电路设计的2输入比较器,经编译、检验无错后,下载到实验板验证时,却无法完全实现数字钟逻辑功能,导致我的设计进度慢了下来。又因为课程之间时间冲突,经刘春老师允许,我得以另外抽时间前往EDA实验室完成剩余课程设计任务。经过后来的各种尝试,我终于发现问题恰恰在那个2输入比较器上,当我改用其他逻辑门电路实现它的逻辑功能后,经编译、仿真、下载,验证正

15、确,我的设计才完全成功。在此,衷心感谢刘春老师和胡存刚老师的指导,使我顺利完成了EDA与数字系统课程设计任务。通过这门课程的学习,我真正懂得了一个道理:不要轻易放弃,失败是成功之母!参考文献:1 李国丽,朱维勇,栾铭.EDA与数字系统设计M .北京:机械工业出版社,2004.1.2 阎石.数字电子技术基础M .北京:高等教育出版社,1998.12. 3金孟树基于EDA技术的现代数字系统设计J温州职业技术学院学报,2002(3)4周红,刘光蓉,张红武利用MAX+plus进行数字逻辑课程设计J武汉工业学院学报,2004(4) 5董守田,张志杰,欧阳斌林基于JK2技术的数字系统的设计J .东北农业大学学报.2003,34(3).

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1