您好,欢迎访问三七文档
《EDA技术与应用》课程设计报告报告题目:数字秒表设计作者所在系部:电子工程系作者所在专业:电子信息工程作者所在班级:作者姓名:指导教师姓名:完成时间:2017-6-10内容摘要在科技高度发展的今天,集成电路和计算机应用得到了高速发展。尤其是计算机应用的发展。它在人们日常生活已逐渐崭露头角。大多数电子产品多是由计算机电路组成,如:手机、mp3等。而且将来的不久他们的身影将会更频繁的出现在我们身边。各种家用电器多会实现微电脑技术。电脑各部分在工作时多是一时间为基准的。本报告就是基于计算机电路的时钟脉冲信号、状态控制等原理,运用EDA技术及VHDL语言设计出的数字秒表。秒表在很多领域充当一个重要的角色。在各种比赛中对秒表的精确度要求很高,尤其是一些科学实验,他们对时间精确度达到了几纳秒级别。利用VHDL语言设计基于计算机电路中时钟脉冲原理的数字秒表。该数字秒表能对0秒~59分59.99秒范围进行计时,显示最长时间是59分59秒,超过该时间能够进行报警。计时精度达到10ms。设计了复位开关和启停开关。复位开关可以在任何情况下使用,使用以后计时器清零,并做好下一次计时的准备。关键词:EDA技术、VHDL语言、分频器、计数器、数码管、蜂鸣器目录一概述…………………………………………………………………1二方案设计与论证………………………………………………………………1三单元电路设计…………………………………………………………………2⒊1分频器的设计……………………………………………………………2⒊2计时控制模块的设计……………………………………………………3⒊3计时模块的设计…………………………………………………………4⒊⒊1十进制计数器的设计……………………………………………4⒊⒊2六进制计数器的设计……………………………………………5⒊⒊3计数器的设计……………………………………………………6⒊4显示模块的设计…………………………………………………………8⒊⒋1选择器的设计……………………………………………………8⒊⒋2七段译码器的设计………………………………………………9⒊5报警模块设计…………………………………………………………10⒊6顶层文件的设计………………………………………………………11四器件编程与下载………………………………………………………………11五性能测试与分析………………………………………………………………12⒌1分频器模块的仿真……………………………………………………12⒌2计时控制模块的仿真……………………………………………………12⒌3计时模块的仿真…………………………………………………………13⒌⒊1十进制计数器的仿真………………………………………………13⒌⒊2六进制计数器的仿真………………………………………………13⒌⒊3计数器的仿真………………………………………………………13⒌4显示模块的仿真…………………………………………………………15⒌⒋1扫描模块的仿真…………………………………………………15⒌⒋2七段译码器的仿真………………………………………………15⒌5报警模块的仿真…………………………………………………………15⒌6顶层文件的仿真…………………………………………………………16⒌7设计调试…………………………………………………………………16六实验设备………………………………………………………………………16七心得体会………………………………………………………………………16八参考文献………………………………………………………………………16课程设计任务书课题名称数字秒表设计完成时间2017.6.10指导教师职称学生姓名班级总体设计要求和技术要点一、总体设计要求:设计一个数字秒表,共有6位输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分;秒表的最大计数容量为60分钟,当计时达60分钟后,蜂鸣器报警;秒表还需有一个启动信号和一个归零信号,以便秒表能随意启停及归零。二、技术要点:1.秒表的逻辑结构主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。2.最关键的是精确的100Hz计时脉冲如何获得,可由高频时钟信号经分频得到;3.设计时钟扫描模块seltime和显示译码器电路,产生驱动6位八段数码管的位选信号和决定数码管字形的段选信号,将各计数器的计数输出信号在6位八段共阴数码管的。工作内容及时间进度安排2016-2017学年第二学期第14周:周一、周二:设计项目的输入、编译、仿真;周三、周四:器件编程下载与硬件验证;周五:成果验收与总结;周六、周日:撰写课程设计总结报告。课程设计成果1.进行系统结构分析,编写顶层文件和各底层模块程序并仿真;2.对可编程逻辑器件编程下载并进行实际调试,能够实现设计要求的各项功能;3.撰写课程设计报告。一、概述EDA是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术的最新成果而开发出的电子CAD通用软件包,它根据硬件描述语言VHDL完成的设计文件,自动完成逻辑编译、化简、分割、综合、优化、布局布线及仿真,直至完成对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。随着科技发展,在现代生活中,计数器应用越来越广泛。EDA技术的应用引起电子产品即系统开发的革命性变革,在MAX+PLUS2环境下采用VHDL语言实现,论述了基于VHDL语言在FPGA芯片的数字设计思想与实现过程。本设计是以VHDL语言为基础的数字秒表。在数字秒表的程序中应用了四个10进制计数器和两个6进制计数器,以及报警器、选择器和显示译码器等。电子设计自动化技术EDA的发展给电子系统的设计带来了革命性变化,EDA软件设计工具,硬件描述语言,可编程逻辑器件(PLD)使得EDA技术的应用走向普及。VHDL语言是EDA的关键技术之一,它采用自顶向下的设计方法,完成系统的整体设计。二、方案设计与论证本系统设计采用自顶向下的设计方案,系统的整体组装设计原理图如图1-1所示,它主要由控制模块、分频模块,计时模块、显示模块和报警模块五部分组成。各模块分别完成计时过程的控制功能、计时功能与显示功能。数字秒表计时控制电路控制状态机计时电路显示电路分频电路计数器六十进制计数器扫描电路七段译码器十进制计数器图1-1系统组成框图报警电路三、单元电路设计⒊1分频器的设计:由于本设计中需要用到精确的100Hz计时脉冲,因此分频器的设计显得尤为重要。考虑到实验箱上输出频率的限制及所产生及时脉冲的精度要求,采用由5MHz的时钟脉冲经过分频器产生100Hz的计时脉冲。分频器的设计程序(divclk.vhd)如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYdivclkISPORT(CLK:INSTD_LOGIC;CO:OUTSTD_LOGIC);ENDdivclk;ARCHITECTUREbehaveOFdivclkISSIGNALCOUNT:INTEGERRANGE0TO49999;BEGINPROCESS(CLK)BEGINIFRISING_EDGE(CLK)THENIFCOUNT=49999THENCOUNT=0;CO='1';ELSECOUNT=COUNT+1;CO='0';ENDIF;ENDIF;ENDPROCESS;ENDbehave;⒊2计时控制模块的设计:计时控制模块的作用是将按键信号转变为计时器的控制信号。计时控制模块可用两个按钮来完成秒表的启动、停止和复位,即启动/暂停键和清零键,由它们产生计数允许/保持和清零信号。此电路设计采用状态机描述。根据启动/暂停键的作用,建立状态转换关系,画出状态转换图如图1—2所示。K为启动/暂停键输入信号,K=0时表示按下,K=1时表示松开。计时控制的设计程序(key.vdh)如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYkeyISPORT(CLR,CLK,k:INSTD_LOGIC;EN:OUTSTD_LOGIC);ENDkey;ARCHITECTUREBEHAVEOFkeyISCONSTANTS0:STD_LOGIC_VECTOR(1DOWNTO0):=00;CONSTANTS1:STD_LOGIC_VECTOR(1DOWNTO0):=01;CONSTANTS2:STD_LOGIC_VECTOR(1DOWNTO0):=11;TYPESTATESIS(S0,S1,S2);SIGNALCURRENT_STATE,NEXT_STATE:STATES;BEGINCOM:PROCESS(k,CURRENT_STATE)BEGINCASECURRENT_STATEISWHENS0=EN='0';IFk='1'THENNEXT_STATE=S0;ELSENEXT_STATE=S1;ENDIF;暂停S0计数S2启动S1K=1K=0K=1K=0K=0K=1图1—2计数状态的转换图WHENS1=EN='1';IFk='1'THENNEXT_STATE=S2;ELSENEXT_STATE=S1;ENDIF;WHENS2=EN='1';IFk='1'THENNEXT_STATE=S2;ELSENEXT_STATE=S0;ENDIF;ENDCASE;ENDPROCESS;SYNCH:PROCESS(clk)BEGINIFCLR='1'THENCURRENT_STATE=S0;ELSIFCLK'EVENTANDCLK='1'THENCURRENT_STATE=NEXT_STATE;ENDIF;ENDPROCESS;ENDBEHAVE;⒊3计时模块的设计:计时模块执行计时功能,计时方法和计算机一样是对标准时钟脉冲计数。计时模块是由四个十进制计数器和两个六进制计数器构成的。其中毫秒位、十毫秒位、秒位和分位采用十进制计数器,十秒位和十分位采用六进制计数器。⒊⒊1十进制计数器的设计程序(count_10.vhd)如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYcount_10ISPORT(CLK:INSTD_LOGIC;CLR,en:INSTD_LOGIC;CO:OUTSTD_LOGIC;COUNT10:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDcount_10;ARCHITECTUREbehaveOFcount_10ISSIGNALSCOUNT10:STD_LOGIC_VECTOR(3DOWNTO0);BEGINCOUNT10=SCOUNT10;PROCESS(CLK,CLR,en)BEGINIF(CLR='1')THENSCOUNT10=0000;CO='0';ELSIFRISING_EDGE(CLK)THENIF(en='1')THENIFSCOUNT10=1001THENCO='1';SCOUNT10=0000;ELSECO='0';SCOUNT10=SCOUNT10+'1';ENDIF;ENDIF;ENDIF;ENDPROCESS;ENDbehave;⒊⒊2六进制计数器的设计程序(count_6.vhd)如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYcount_6ISPORT(CLK,CLR,EN:INSTD_LOGIC;CO:OUTSTD_LOGIC;COUNT6:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDcount_6;ARCHITECTUREbehaveOFcount_6ISSIGNALSCOUNT6:S
本文标题:EDA数字秒表设计
链接地址:https://www.777doc.com/doc-1741607 .html