eda技术与vhdl语言课程大作业设计剖析

上传人:今*** 文档编号:105981515 上传时间:2019-10-14 格式:DOC 页数:11 大小:496KB
返回 下载 相关 举报
eda技术与vhdl语言课程大作业设计剖析_第1页
第1页 / 共11页
eda技术与vhdl语言课程大作业设计剖析_第2页
第2页 / 共11页
eda技术与vhdl语言课程大作业设计剖析_第3页
第3页 / 共11页
eda技术与vhdl语言课程大作业设计剖析_第4页
第4页 / 共11页
eda技术与vhdl语言课程大作业设计剖析_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《eda技术与vhdl语言课程大作业设计剖析》由会员分享,可在线阅读,更多相关《eda技术与vhdl语言课程大作业设计剖析(11页珍藏版)》请在金锄头文库上搜索。

1、D技术与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技术作为计算机硬件设计中的关键设计技术之一,是每一位将来希望从事涉及电子系统与集成电路设计研究领域工作的人所必须掌握的一门技术。时序逻辑电路作

2、为其主要 设计与研究的电路类型之一,在EDA中占据着重要的位置,而时钟信号在时序逻辑电路有占据着重要的位置,它决定了时序逻辑单元中的状态何时更新。时钟信号作为一种有固定周期并与运行状态无关的信号量,在边沿触发机制中,只有上升沿或下降沿才是有效信号,才能控制逻辑单元状态量的改变。为满足不同的时序电路要求,对时钟信号进行分频也显得格外重要基于EDA技术的数控分频器设计,采用的是用软件的方法设计硬件的EDA (电子设计自动化)技术。作为EDA技术重要组成部分的VHDL硬件描述语言是一种符合IEEE工业标准的建模语言。用它设计的数控分频器可作为一个模 块,移植到很多数字电路系统中,且极易修改,只要修改

3、程序中的某几条语句,就可使最大分频系数得到改变。整个设计过程简单、快捷。可从根本上减少硬件调试 的时间,为总体设计完成争取宝贵的时间。2. 设计方案2.1 计数器模块通过计数器来记录clk的信号个数,分别有以上升沿计数和以下降沿计数。偶数计数器可采用以上升沿计数,即每当clk从0变为1时记一个数,下降沿计数是当clk从1变为0时记一个数2.2 任意偶数分频模块 定义一个计数器对输入时钟进行计数,在计数的前一半时间里,输出高电平,在计数的后一半时间里,输出低电平,这样输出的信号就是占空比为50%的偶数分频信号。例如,6分频,计数值为02输出高电平,计数值为35输出低电平。2.3 任意奇数分频模块

4、定义两个计数器,分别对输入时钟的上升沿和下降沿进行计数,然后把这两个计数值输入一个组合逻辑,用其控制输出时钟的电平。这是因为计数值为奇数,占空比为50%,前半个和后半个周期所包含的不是整数个clk的周期。例如,5分频,前半个周期包含2.5个clk周期,后半个周期包含2.5个clk周期。2.4设计思路原理图不同的分频比,数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有计时器溢出位与预置数加载输入信号相接即可。3. 数字秒表计时模块的VHDL源程序3.1 任意偶数分频的VHDL源程序(dvf.VHD)librar

5、y ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dvf is port(clk_in:in std_logic; fout:out std_logic);end;architecture one of dvf is signal cnt: integer range 0 to 2000; signal clk_out:std_logic;beginprocess(clk_in) begin if clk_inevent and clk_in = 1 then if cnt=2000 then c

6、nt =0; clk_out =not clk_out; else cnt=cnt+1; end if; end if;end process;fout=clk_out;end one;3.2 任意奇数分频的VHDL源程序(dvf.VHD)library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity division5 is port (clk : in std_logic; out1: out std_logic); end di

7、vision5; architecture Behavioral of division5 is signal out2, out3 : std_logic := 0; signal temp1,temp2 : integer range 0 to 10; begin process(clk) -输出占空比为50%的奇数5分频时钟 begin if clkevent and clk = 1 then temp1=temp1+1; if temp1=2 then out2=1; elsif temp1=4 then out2=0; temp1=0; end if; end if; end pro

8、cess;process(clk) -同样输出占空比为50%的奇5分频时钟 begin if clkevent and clk = 0 then temp2=temp2+1; if temp2=2 then out3=1; elsif temp2=4 then out3=0; temp2=0; end if; end if; end process;p3:process(out2,out3) begin out1=out2 or out3; end process p3; -或运算,得到占空比为50%的奇数5分频时钟 end process; end Behavioral;4. 源程序总体描述

9、对任意频率的偶数N倍分频,通过定义一个模为N的计数器,输出至1,每当计数到N/2时对其进行反向。对clk进行奇数倍分频时定义两个计数器,分别对输入时钟的上升沿和下降沿进行计数 ( n-1)/2,然后把这两个计数值输入一个与或逻辑,用其控制输出时钟的电平。5. 波形仿真图6. 总结经过了这次课程设计,使我对VHDL语言有的更深刻的理解。通过数字分频器课程设计,使我加深了对VHDL语言设计程序的了解。学会了层次设计概念,将程序分为若干模块,分别完成各个模块,最后再将各个模块连接起来。通过这次课程设计,对VHDL的语言有了更深刻的认识,对课题设计的基本流程有了一定的认识,同时也是一次把原来所学的书本

10、知识和实践相联系的过程。并通过实践,建立起了学习EDA的浓厚兴趣,基本掌握了这个软件的基本使用方法,并顺利的对程序进行编辑及仿真。为实现预期功能,能够对系统进行快速的调试,并能够对出现的功能故障进行分析,及时修改相关软硬件。对软件编程、排错调试。了解了关于EDA技术及VHDL语言的基本编程形式及原理图的绘制,为今后的学习打好基础。在此之后,我会继续学习关于VHDL语言的运用。我还意识到了我对这门课掌握还有一定的不足,还有许多的知识我不了解;有的是一知半解;有的即使原理懂了,但在应用方面却是丝毫不知。所以在今后的学习中,我会更加努力,不仅要学好理论知识,还要把它应用到实践中去,使两者很好的结合起来,互补互助。7. 参考文献【1】 江国强EDA技术与应用电子工业出版社2007年3月第二版【2】张亦华、延名数字电路EDA入门北京邮电大学出版社 【3】基于EDA技术的计算机组成原理实验 方恺晴 湖南大学出版社【4】 数字设计原理与实践(原书第四版) 思科系统公司 斯坦福大学 著 林生 金京林 葛红 王腾 译 林生 审校 机械工业出版社出版【5】逻辑与数字系统设计学习指导及题解 李晶皎 李景宏 王爱侠 清华大学出版社网址:(1)http:/ 注:晶振的百度词条(2)http:/ 注:小数分频原理

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号