收藏 分销(赏)

EDA专业课程设计数字秒表.doc

上传人:快乐****生活 文档编号:2798229 上传时间:2024-06-06 格式:DOC 页数:15 大小:671.04KB
下载 相关 举报
EDA专业课程设计数字秒表.doc_第1页
第1页 / 共15页
EDA专业课程设计数字秒表.doc_第2页
第2页 / 共15页
EDA专业课程设计数字秒表.doc_第3页
第3页 / 共15页
EDA专业课程设计数字秒表.doc_第4页
第4页 / 共15页
EDA专业课程设计数字秒表.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、课 程 设 计题 目 数字秒表设计 院 系 信息工程学院 班级 姓名 指导老师 目录第一章 :系统设计要求.3第二章 :试验目标.3第三章 :试验原理.3第四章 :系统设计方案.3第五章 :关键VHDL源程序.4 1) 十进制计数器VHDL源程序.42) 六进制计数器VHDL源程序.5 3)蜂鸣器VHDL源程序.5 4)译码器VHDL源程序.65)控制选择器VHDL源程序.76)元原件例化VHDL源程序.8第六章:系统仿真.10第七章:系统扩展思绪.11第八章:设计心得总结.11数字秒表设计一、 系统设计要求 1.秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有

2、6个计数器和之相对应,6个计数器输出全全部为BCD码输出,这么便于和显示译码器连接。当计时达60分钟后,蜂鸣器鸣响10声。 2.整个秒表还需有一个开启信号和一个归零信号,方便秒表能随意停止及开启。 3.秒表逻辑结构较简单,它关键由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。在整个秒表中最关键是怎样取得一个正确100HZ计时脉冲。二、 试验目标经过此次课设,加深对EDA技术设计了解,学会用Quartus工具软件设计基础电路,熟练掌握VHDL语言,为以后工作使用打下坚实基础。三、 试验原理秒表因为其计时正确,分辨率高(0.01秒),在多种竞技场所得到了广泛应用。秒表工作原理和数字时

3、基础相同,唯一不一样是秒表计时时钟信号,因为其分辨率为0.01秒,所以整个秒表工作时钟是在100Hz时钟信号下完成。当秒表计时小于1个小时时,显示格式是mm-ss-xx(mm表示分钟:059;ss表示秒:059;xx表示百分之一秒:099),当秒表计时大于或等于一个小时时,显示和多功效时钟是一样,就是hh-mm-ss(hh表示小时:099),因为秒表功效和钟表有所不一样,所以秒表hh表示范围不是023,而是099,这也是和多功效时钟不一样地方。在设计秒表时候,时钟选择为100Hz。变量选择:因为xx(0.01秒)和hh(小时)表示范围全部是099,所以用两个4位二进制码(BCD码)表示;而ss

4、(秒钟)和mm(分钟)表示范围是059,所以用一个3位二进制码和一个4位二进制码(BCD)码表示。显示时候要注意问题就是小时判定,假如小时是00,则显示格式为mm-ss-xx,假如小时不为00,则显示hh-mm-ss。四、 系统设计方案秒表逻辑结构较简单,它关键由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。四个10进制计数器:用来分别对百分之一秒、十分之一秒、秒和分进行计数;两个6进制计数器:用来分别对十秒和十分进行计数;分频器:用来产生100HZ计时脉冲;显示译码器:完成对显示控制。 依据电路持点,用层次设计概念将此设计任务分成若干模块,要求每一模块功效和各模块之间接口。按适

5、配划分后管脚定位,同相关功效块硬件电路接口连线。用VHDL语言描述全部底层模块。清零信号为异步清零。当最高位记到6时 停止计数 显示译码器全部显示零,并发出十声警报声。按下复位按钮后继续计数。数字秒表拟由单片CPLD/FPGA来实现,经分析设计要求,确定整个系统由10个模块组成,原理图以下:五、 关键VHDL源程序1. 十进制计数器VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count10 isport (clk,start,clr : in std_logic;c

6、out : out std_logic;daout : out std_logic_vector(3 downto 0);end count10;architecture one of count10 issignal q0 : std_logic_vector(3 downto 0);signal q1 : std_logic;beginprocess(clk,clr)beginif clr=1 then q0=0000;elsif ( clkevent and clk=1) thenif start=1 then if q0=1001 then q0=0000;q1=1; else q0=

7、q0+1;q1=0; end if;end if;end if;end process;daout= q0;cout=q1;end one;2. 六进制计数器VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count6 isport (clk,start,clr : in std_logic;cout : out std_logic;daout : out std_logic_vector(3 downto 0);end count6;architecture two

8、of count10 issignal q0 : std_logic_vector(3 downto 0);signal q1 : std_logic;beginprocess(clk,clr)beginif clr=1 then q0=0000;elsif ( clkevent and clk=1) thenif start=1 then if q0=0101 then q0=0000;q1=1; else q0=q0+1;q1=0; end if;end if;end if;end process;daout= q0;cout=q1;end two;3. 蜂鸣器VHDL源程序library

9、 ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity alarm isport(clk,I:in std_logic; q:out std_logic );end alarm;architecture ar of alarm issignal n:integer range 0 to 20;signal q0:std_logic;beginprocess(clk)begin if clkevent and clk=1thenif i=0 then q0=0;n=0;elsif n=19 and i=1

10、thenq0=not q0;n=n+1;else q0=0;end if;end if;end process;qledledledledledledledledledledled=0000000; end case; end process; end a;5. 控制选择器VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity seltime isport(clr,clk: in bit; dain0,dain1,dain2,dain3,dain4,dain5: in std_

11、logic_vector(3 downto 0); sel: out std_logic_vector(2 downto 0); daout: out std_logic_vector(3 downto 0);end seltime;architecture a of seltime is signal temp:integer range 0 to 5;begin process(clk) begin if (clr=1) then daout=0000; sel=000; temp=0; elsif (clk=1and clkevent) then if temp=5 then temp=

12、0; else tempsel=000;daoutsel=001;daoutsel=010;daoutsel=011;daoutsel=100;daoutsel=101;daout=dain5; end case; end if; end process;end a;6. 分频器VHDL源程序library ieee;use ieee.std_logic_1164.all;entity div isport(clr,clk: in std_logic; q: buffer std_logic);end div;architecture a of div is signal count:inte

13、ger range 0 to 99999; beginprocess(clr,clk)beginif (clkevent and clk=1) thenif clr=1 thencount=0;elsif count=99999 thencount=0;q= not q;elsecount=count+1;end if;end if;end process;end a;7. 元原件例化VHDL源程序library ieee;use ieee.std_logic_1164.all;entity mb_top isport ( stop,start,clk:in std_logic; a,b,c,

14、d,e,f,g,speaker:out std_logic; sel:out std_logic_vector(2 downto 0);end mb_top;architecture a of mb_top iscomponent divport(clr,clk: in std_logic; q: buffer std_logic);end component;component count10port( clr,start,clk:in std_logic; cout:out std_logic; daout:buffer std_logic_vector(3 downto 0);end c

15、omponent;component count6 port( clr,start,clk:in std_logic; cout:out std_logic; daout:buffer std_logic_vector(3 downto 0);end component;component seltimeport( clr,clk:in std_logic; dain1:in std_logic_vector(3 downto 0); dain2:in std_logic_vector(3 downto 0); dain3:in std_logic_vector(3 downto 0); da

16、in4:in std_logic_vector(3 downto 0); dain5:in std_logic_vector(3 downto 0); dain6:in std_logic_vector(3 downto 0); sel:out std_logic_vector(2 downto 0); daout:out std_logic_vector(3 downto 0);end component;component deledport( num:in std_logic_vector(3 downto 0); led:out std_logic_vector(6 downto 0)

17、;end component;component alarmport( clk,i:in std_logic; q:out std_logic);end component;signal div_q,b_cout,s_cout,m_cout,sm_cout,f_cout,sf_cout:std_logic;signal b_daout,s_daout,m_daout,sm_daout,f_daout,sf_daout,seltime_daout:std_logic_vector(3 downto 0);signal ledout:std_logic_vector(6 downto 0);beg

18、ina=ledout(0);b=ledout(1);c=ledout(2);d=ledout(3);e=ledout(4);f=ledout(5);g=ledout(6);u1:div port map(stop,clk,div_q);u2:count10 port map(stop,start,div_q,b_cout,b_daout);u3:count10 port map(stop,start,b_cout,s_cout,s_daout);u4:count10 port map(stop,start,s_cout,m_cout,m_daout);u5:count6 port map(st

19、op,start,m_cout,sm_cout,sm_daout);u6:count10 port map(stop,start,sm_cout,f_cout,f_daout);u7:count6 port map(stop,start,f_cout,sf_cout,sf_daout);u8:seltime port map(stop,div_q,b_daout,s_daout,m_daout,sm_daout,f_daout,sf_daout,sel,seltime_daout);u9:deled port map(seltime_daout,ledout);u10:alarm port m

20、ap(div_q,sf_cout,speaker);end a;六、 系统仿真1. 十进制2. 六进制3. 蜂鸣器4. 译码器5. 控制选择器七、 系统扩展思绪依据试验内容能够合适添加部分有实际作用和可行性功效,如能够统计并显示多个数据。依据扩展内容设计对应电路和模块来完成扩展内容。比如统计和显示多个数据,能够用多个秒表进行计数,在秒表电路后面能够添加一个选择电路,利用选择电路选择需要输出那个秒表数值。八、 设计心得及体会经过此次课程设计,让我对EDA这门技术有了更深体会,并愈加好学会了使用Quartus软件进行硬件设计。在编写程序过程中,碰到了很多问题,使我发觉自己以前学习上存在不足。经过和

21、同学探讨和请教老师,最终把问题全部处理了,并加深了对数字时钟原理和设计思绪了解。同时我也掌握了做课程设计通常步骤,为以后电子设计这块积累了一定经验,为以后从事相关工作有部分帮助。最终处理了问题,攥写成汇报。经过对设计对实现和对汇报对撰写,深深体会到了VHDL语言和EDA技术部分技巧和设计思想,在完成设计过程中,应该含有很清楚地思绪,才能够使电路更完美和简便,要敢想敢做不过不应该有投机取巧心理。在完成每一步时候全部有意想不到收获也有可能造成错误,所以在设计对过程中要集中精神。在写汇报过程中,愈加凸显了细心二字。不可自认为完美,必需根据格式要求来撰写自己汇报,所以必需做到足够正确。利用EDA工具,

22、电子设计师能够从概念、算法、协议等开始设计电子系统,大量工作能够经过计算机完成,并能够将电子产品从电路设计、性能分析到设计版图整个过程计算机上自动处理完成。在进行设计时并不束缚设计者想象力,这使得自学、扩展也能够很轻易实现。在设计中充足认识到EDA课程对硬件设计关键性,若把本门课程学好、学精,对硬件设计将有很大对帮助。以后若有机会我将会利用更多时间来学习EDA技术、愈加深入学习EDA技术。EDA技术以其独有优点和应用范围有着很好发展前景,是近几年电子工业发展趋向,中国EDA行业发展十分快速,有着很大潜力。所以我们学好这门课程是十分必需,我们不应该仅仅拘泥于一门课程学习,要结合各学科连接点,把我们知识串联起来。为我们未来做好知识贮备。以上就我相关这次课程设计想法,在以后,我会用更多时间去了解EDA。而且提升自己知识水平。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服