您好,欢迎访问三七文档
目录一.摘要二.任务要求、三.基本原理四.实现方法五.基本过程六.分析与结论七.课程总结一、摘要根据《EDA技术及应用》中所学到的知识,使用MAX+PLUSⅡ软件,完成课程内容。通过对课程任务的完成,进一步熟悉对MAX+PLUSⅡ的使用;学习对具体器件的设计方法,设计思路的养成;更多的了解VHDL程序的基本结构与使用方法。二、任务要求秒表设计设计一个六十进制的秒表,每来一次脉冲降延,秒数加一,加到六十,回零。三、基本原理秒表的工作原理与数字时钟基本相同,设计一个计时范围是1~60的秒表。,每来一次脉冲降延,秒数加一,加到六十,回零。五、实现方法设计一个计时范围是1~60的秒表,设计时可以分解为一个十进制的计数器,和一个六进制计数器,再由两个计数器合成一个六十进制的器件。脉冲接十进制和六进制的时钟信号端,同时十进制的进位端接六进制的使能端。就可形成六十进制的计数器。有脉冲时,十进制计数器从零加到十,向六进制计数器进位,同时十进制清零。同理,,六进制计数器加到六时,,清零。形成六十进制计数器。优化:可以将两个计数器通过VHDL编程,将两个计数器生成一个元件。六、基本过程㈠.进入MAX+PLUSⅡ界面,首先创建文本编辑文件。进行六进制,十进制计数器的VHDL编程。保存文件,先进行编辑十进制,编辑完成之后,进行保存并编译。编译无错误之后,采用同样方法进行六进制计数器,六十进制计数器例化的VHDL程序编辑。㈡.保存完成之后为六进制、十进制、六十进制计数器创建一个元件图形符号。㈢.创建完成后,新建一个gdf文件进行图形编辑。在空白处双击,添加所创建的图形元件。对六十进制计数器添加输入端与输出端,进行接线,同时修改输入输出端口的名称。完成之后,进行保存。㈣.波形仿真。新建仿真波形文件。加入信号接点。编辑波形,得出波形图。㈤.导出延迟矩阵。延迟矩阵㈥.进行引脚设置。设置引脚。七、分析与结论仿真波形如图;六进制十进制六十进制由仿真波形可以看出,从零开始计数到五十九时再加一清零。管脚图形根据管脚图,运用ptotel软件进行原理图的编辑,进行封装,导出PCB图。延迟矩阵图形完成设计报告。八、课程总结经过这次的设计,让我对EDA技术有了新的体会。让我们接触到了更多的硬件描述语言VHDL的应用。通过对任务要求的分析,形成设计思路。再分布完成六十进制的秒表的设计。先进行六进制,十进制计数器的设计,最后进行整合成六十进制。最后通过波形仿真,得出设计结果的波形图。程序清单二输入与门LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYAND2_1ISPORT(A,B:INSTD_LOGIC;Y:OUTSTD_LOGIC);ENDAND2_1;ARCHITECTUREONEOFAND2_1ISBEGINY=AANDB;ENDONE;计数器libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitycnt6isport(reset:instd_logic;enable:instd_logic;clk:instd_logic;count:outstd_logic;q:outstd_logic_vector(3downto0));endcnt6;architecturealnofcnt6issignalq_temp:std_logic_vector(3downto0);beginprocess(clk)beginif(clk'eventandclk='0')thenif(reset='1')thenq_temp=(others='0');elsif(enable='1')thenif(q_temp=0101)thenq_temp=(others='0');elseq_temp=q_temp+1;endif;endif;endif;q=q_temp;endprocess;count=q_temp(0)andq_temp(3);endaln;包装LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;PACKAGEGGISCOMPONENTCNT10PORT(CLK,RESET,ENABLE:INSTD_LOGIC;Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUNT:OUTSTD_LOGIC);ENDCOMPONENT;COMPONENTCNT6PORT(CLK,RESET,ENABLE:INSTD_LOGIC;Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUNT:OUTSTD_LOGIC);ENDCOMPONENT;COMPONENTAND2_1PORT(A,B:INSTD_LOGIC;Y:OUTSTD_LOGIC);ENDCOMPONENT;ENDGG例化LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEWORK.GG.ALL;ENTITYCNT60ISPORT(CLK:INSTD_LOGIC;RESET:INSTD_LOGIC;ENABLE:INSTD_LOGIC;Q:OUTSTD_LOGIC_VECTOR(7DOWNTO0);COUNT:OUTSTD_LOGIC);ENDCNT60;ARCHITECTUREONEOFCNT60ISSIGNALA,B:STD_LOGIC;BEGINU1:CNT10PORTMAP(CLK,RESET,ENABLE,Q(3DOWNTO0),A);U2:CNT6PORTMAP(CLK,RESET,A,Q(7DOWNTO4),B);U3:AND2_1PORTMAP(A,B,COUNT);ENDONE;参考文献《EDA技术及应用》第二版;《数字电子技术》第二版。
本文标题:EDA电子钟
链接地址:https://www.777doc.com/doc-6881651 .html