您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > EDA技术与VHDL语言课程大作业设计
EDA技术与VHDL语言课程大作业设计题目:电子分频器姓名:李露班级:自动化10(2)学号:41003010208目录1.设计背景2.设计方案2.1计数器模块2.2任意偶数分频模块2.3任意奇数分频模块2.4设计思路3.数字分频器模块的VHDL源程序3.1任意偶数分频的VHDL源程序(dvf.VHD)3.2任意奇数分频的VHDL源程序(dvf.VHD)4.源程序总体描述5.波形仿真图6.总结7.参考文献1.设计背景EDA技术作为计算机硬件设计中的关键设计技术之一,是每一位将来希望从事涉及电子系统与集成电路设计研究领域工作的人所必须掌握的一门技术。时序逻辑电路作为其主要设计与研究的电路类型之一,在EDA中占据着重要的位置,而时钟信号在时序逻辑电路有占据着重要的位置,它决定了时序逻辑单元中的状态何时更新。时钟信号作为一种有固定周期并与运行状态无关的信号量,在边沿触发机制中,只有上升沿或下降沿才是有效信号,才能控制逻辑单元状态量的改变。为满足不同的时序电路要求,对时钟信号进行分频也显得格外重要基于EDA技术的数控分频器设计,采用的是用软件的方法设计硬件的EDA(电子设计自动化)技术。作为EDA技术重要组成部分的VHDL硬件描述语言是一种符合IEEE工业标准的建模语言。用它设计的数控分频器可作为一个模块,移植到很多数字电路系统中,且极易修改,只要修改程序中的某几条语句,就可使最大分频系数得到改变。整个设计过程简单、快捷。可从根本上减少硬件调试的时间,为总体设计完成争取宝贵的时间。2.设计方案2.1计数器模块通过计数器来记录clk的信号个数,分别有以上升沿计数和以下降沿计数。偶数计数器可采用以上升沿计数,即每当clk从0变为1时记一个数,下降沿计数是当clk从1变为0时记一个数2.2任意偶数分频模块定义一个计数器对输入时钟进行计数,在计数的前一半时间里,输出高电平,在计数的后一半时间里,输出低电平,这样输出的信号就是占空比为50%的偶数分频信号。例如,6分频,计数值为0~2输出高电平,计数值为3~5输出低电平。2.3任意奇数分频模块定义两个计数器,分别对输入时钟的上升沿和下降沿进行计数,然后把这两个计数值输入一个组合逻辑,用其控制输出时钟的电平。这是因为计数值为奇数,占空比为50%,前半个和后半个周期所包含的不是整数个clk的周期。例如,5分频,前半个周期包含2.5个clk周期,后半个周期包含2.5个clk周期。2.4设计思路原理图不同的分频比,数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有计时器溢出位与预置数加载输入信号相接即可。3.数字秒表计时模块的VHDL源程序3.1任意偶数分频的VHDL源程序(dvf.VHD)libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitydvfisport(clk_in:instd_logic;fout:outstd_logic);end;architectureoneofdvfissignalcnt:integerrange0to2000;signalclk_out:std_logic;beginprocess(clk_in)beginifclk_in'eventandclk_in='1'thenifcnt=2000thencnt=0;clk_out=notclk_out;elsecnt=cnt+1;endif;endif;endprocess;fout=clk_out;endone;3.2任意奇数分频的VHDL源程序(dvf.VHD)libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entitydivision5isport(clk:instd_logic;out1:outstd_logic);enddivision5;architectureBehavioralofdivision5issignalout2,out3:std_logic:='0';signaltemp1,temp2:integerrange0to10;beginprocess(clk)--输出占空比为50%的奇数5分频时钟beginifclk'eventandclk='1'thentemp1=temp1+1;iftemp1=2thenout2='1';elsiftemp1=4thenout2='0';temp1=0;endif;endif;endprocess;process(clk)--同样输出占空比为50%的奇5分频时钟beginifclk'eventandclk='0'thentemp2=temp2+1;iftemp2=2thenout3='1';elsiftemp2=4thenout3='0';temp2=0;endif;endif;endprocess;p3:process(out2,out3)beginout1=out2orout3;endprocessp3;--或运算,得到占空比为50%的奇数5分频时钟endprocess;endBehavioral;4.源程序总体描述对任意频率的偶数‘N’倍分频,通过定义一个模为N的计数器,输出至1,每当计数到N/2时对其进行反向。对clk进行奇数倍分频时定义两个计数器,分别对输入时钟的上升沿和下降沿进行计数(n-1)/2,然后把这两个计数值输入一个与或逻辑,用其控制输出时钟的电平。5.波形仿真图6.总结经过了这次课程设计,使我对VHDL语言有的更深刻的理解。通过数字分频器课程设计,使我加深了对VHDL语言设计程序的了解。学会了层次设计概念,将程序分为若干模块,分别完成各个模块,最后再将各个模块连接起来。通过这次课程设计,对VHDL的语言有了更深刻的认识,对课题设计的基本流程有了一定的认识,同时也是一次把原来所学的书本知识和实践相联系的过程。并通过实践,建立起了学习EDA的浓厚兴趣,基本掌握了这个软件的基本使用方法,并顺利的对程序进行编辑及仿真。为实现预期功能,能够对系统进行快速的调试,并能够对出现的功能故障进行分析,及时修改相关软硬件。对软件编程、排错调试。了解了关于EDA技术及VHDL语言的基本编程形式及原理图的绘制,为今后的学习打好基础。在此之后,我会继续学习关于VHDL语言的运用。我还意识到了我对这门课掌握还有一定的不足,还有许多的知识我不了解;有的是一知半解;有的即使原理懂了,但在应用方面却是丝毫不知。所以在今后的学习中,我会更加努力,不仅要学好理论知识,还要把它应用到实践中去,使两者很好的结合起来,互补互助。7.参考文献【1】江国强·EDA技术与应用·电子工业出版社·2007年3月第二版【2】张亦华、延名·数字电路EDA入门·北京邮电大学出版社【3】《基于EDA技术的计算机组成原理实验》方恺晴湖南大学出版社【4】《数字设计原理与实践》(原书第四版)思科系统公司斯坦福大学著林生金京林葛红王腾译林生审校机械工业出版社出版【5】《逻辑与数字系统设计学习指导及题解》李晶皎李景宏王爱侠清华大学出版社网址:(1)《注:晶振的百度词条》(2)《注:小数分频原理》
本文标题:EDA技术与VHDL语言课程大作业设计
链接地址:https://www.777doc.com/doc-6350859 .html