EDA实验五数字秒表的设计实验报告王炜20150414.doc_第1页
EDA实验五数字秒表的设计实验报告王炜20150414.doc_第2页
EDA实验五数字秒表的设计实验报告王炜20150414.doc_第3页
EDA实验五数字秒表的设计实验报告王炜20150414.doc_第4页
EDA实验五数字秒表的设计实验报告王炜20150414.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电气与信息工程学院电子设计自动化实验报告实验五 数字秒表的设计指导老师:谭会生老师学生姓名:王炜班级:电子信息1202学号:12401720207实验时间:2015-04-28实验五 数字秒表的设计1.实验目的(1) 熟悉QUARTUS2 软件的基本使用方法。(2) 熟悉EDA实验开发系统的基本使用方法。(3) 学习VHDL基本逻辑电路的综合设计应用。2.实验内容设计并调试好一个计时范围为0.01s1h的数字秒表,并用EDA实验开发系统(事先应选定拟用的实验芯片的型号)进行硬件验证。3.实验要求(1)画出系统的原理框图,说明系统中各主要组成部分的功能。(2)编写各个VHDL源程序。(3)根据系统的功能,选好测试用例,画出测试输入信号波形或编好测试程序。(4)根据选用的EDA实验开发装置编好用于硬件验证的管脚锁定表格或文件。(5)记录系统仿真、逻辑综合及硬件验证结果。(6)记录实验过程中出现的问题及解决办法。4.实验设计1)系统原理框图系统设计思路:首先获得一个比较精确的计时基准信号,这里是周期为1/100s的计时脉冲。其次,除了对每一个计数器需设置清零信号输入外,还需为六个计数器设置时钟使能信号,即计时允许信号,以便作为秒表的计时起、停控制开关。因此数字秒表可由一个分频器、四个十进制计数器(1/100s、1/10、1s、1min)以及两个六进制计数器(10s、10min)组成,如图5-1所示。6个计数器中的每一个计数器的4位输出,通过外设的BCD译码器输出显示。图5-1中,6个4位二进制计数器输出的最小显示值分别为:DOUT3.0-1/100s、DOUT3.0-1/100s、DOUT7.4-1/10s、DOUT11.8-1/1s、DOUT15.12-10s、DOUT19.16-1min、DOUT23.20-10min等。图5-1 2) VHDL程序电路均采用VHDL文本输入,有关VHDL程序如下:3MHz100Hz分频器的VHDL源程序:-CLKGEN.VHD LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CLKGEN ISPORT(CLK:IN STD_LOGIC; NEWCLK:OUT STD_LOGIC);END ENTITY CLKGEN;ARCHITECTURE ART OF CLKGEN ISSIGNAL CNT:INTEGER RANGE 0 TO 10#29#;BEGINPROCESS(CLK)ISBEGINIF CLKEVENT AND CLK=1THENIF CNT=10#29# THEN CNT=0;ELSE CNT=CNT+1;END IF;END IF;END PROCESS;PROCESS(CNT)ISBEGINIF CNT=10#29# THEN NEWCLK=1;ELSE NEWCLK=0;END IF;END PROCESS;END ARCHITECTURE ART;六进制计数器的VHDL源程序:-CNT6.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT6 ISPORT(CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; ENA:IN STD_LOGIC; CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CO:OUT STD_LOGIC);END ENTITY CNT6;ARCHITECTURE ART OF CNT6 ISSIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK,CLR,ENA)ISBEGINIF CLR=1THEN CQI=0000; ELSIF CLKEVENT AND CLK=1THENIF ENA=1 THENIF CQI=0101 THENCQI=0000;ELSECQI=CQI+1;END IF;END IF;END IF;END PROCESS;PROCESS(CLK,CQI)ISBEGINIF CLKEVENT AND CLK=1THENIF CQI0101 THENCO=0;ELSECO=1;END IF;END IF;END PROCESS;CQ=CQI;END ARCHITECTURE ART;十进制计数器的VHDL源程序:-CNT10.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT(CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; ENA:IN STD_LOGIC; CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CO:OUT STD_LOGIC);END ENTITY CNT10;ARCHITECTURE ART OF CNT10 ISSIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK,CLR,ENA)ISBEGINIF CLR=1THEN CQI=0000; ELSIF CLKEVENT AND CLK=1THENIF ENA=1 THENIF CQI=1001 THENCQI=0000;ELSECQI=CQI+1;END IF;END IF;END IF;END PROCESS;PROCESS(CLK,CQI)ISBEGINIF CLKEVENT AND CLK=1THENIF CQI1001 THENCO=0;ELSECO=1;END IF;END IF;END PROCESS;CQCLK,NEWCLK=S0);U1:CNT10 PORT MAP(S0,CLR,ENA,DOUT(3 DOWNTO 0),S1);U2:CNT10 PORT MAP(S1,CLR,ENA,DOUT(7 DOWNTO 4),S2);U3:CNT10 PORT MAP(S2,CLR,ENA,DOUT(11 DOWNTO 8),S3);U4:CNT6 PORT MAP(S3,CLR,ENA,DOUT(15 DOWNTO 12),S4);U5:CNT10 PORT MAP(S4,CLR,ENA,DOUT(19 DOWNTO 16),S5);U6:CNT6 PORT MAP(S5,CLR,ENA,DOUT(23 DOWNTO 20);END ARCHITECTURE ART;3)仿真波形设置在程序的调试和仿真中,由于程序中有关参数的原因,要观察有关输出的变化,需要运行较长的时间,或在一个给定时间内,可能看不到有关输出的变化。这时我们可以采取调整参数的方法进行仿真,待仿真证明程序正确后再复原到原程序。调整参数的具体方法是:先将需要修改的内容用“-”注释掉并添加新的内容,而调试好后复原的方法就是将修改后的内容注释掉,而将原内容去掉注释。比如本设计中的分频电路程序,分频常熟为30 000,其输出需要计数30 000次才发生一次变化,因此在我们设定的时间间隔内,根本看不到输出的变化,也无法判断该程序的正确与错误。这时我们若将分频常数修改为30,就很容易观察有仿真结果。如图5-2和5-3分别为软件对CLKGEN和TIMES进行时序仿真的结果。图5-2 CLKGEN的时序仿真结果(分频常数修改为30)图5-3 TIMES的时序仿真结果5. 实验结果及总结1) 系统仿真情况时序仿真结果如图5-4所示。从系统仿真结果可以看出,当使能计数信号处于高电平有效时,开始计数,且在清零信号有效时,计数也清零,从零开始计数,仿真结果符合预计要求。2) 逻辑综合结果使用Quartus II 8.0进行逻辑综合后,TIMES综合后的RTL视图如图5-4所示。图5-4 TIMES综合后的RTL视图3) 实验附加动态扫描添加两个组件CTRLS和DISPLAY用于实现动态扫描。组件CTRLS和DISPLAY的VHDL源程序如下:-CTRLS.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CTRLS ISPORT(CLK:IN STD_LOGIC; SEL: OUT STD_LOGIC_VECTOR(2 DOWNTO 0);END ENTITY CTRLS ;ARCHITECTURE ART OF CTRLS ISSIGNAL CNT:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINPROCESS(CLK) IS BEGIN IF CLKEVENT AND CLK=1 THENIF CNT=111THENCNT=000;ELSECNT=CNT+1;END IF; END IF;END PROCESS; SELCOMCOMCOMCOMCOMCOMCOMCOMCOMDATADATADATADATADATADATADATASEGSEGSEGSEGSEGSEGSEGSEGSEGSEGSEGCLK,NEWCLK=S0);U1:CNT10 PORT MAP(S0,CLR,ENA,SDATAIN(3 DOWNTO 0),S1);U2:CNT10 PORT MAP(S1,CLR,ENA,SDATAIN(7 DOWNTO 4),S2);U3:CNT10 PORT MAP(S2,CLR,ENA,SDATAIN(11 DOWNTO 8),S3);U4:CNT6 PORT MAP(S3,CLR,ENA,SDATAIN(15 DOWNTO 12),S4);U5:CNT10 PORT MAP(S4,CLR,ENA,SDATAIN(19 DOWNTO 16),S5);U6:CNT6 PORT MAP(S5,CLR,ENA,SDATAIN(23 DOWNTO 20);U7:CTRLS PORT MAP(CLK2,SSEL);U8:DISPLAY PORT MAP(SSEL,SDATAIN,COM,SEG);END ARCHITECTURE ART;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论