欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    VHDL语言与EDA课程设计数字频率计.doc

    • 资源ID:4146867       资源大小:209.50KB        全文页数:18页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VHDL语言与EDA课程设计数字频率计.doc

    湖南人文科技学院课程设计报告课程名称:VHDL语言与EDA课程设计设计题目: 数字频率计 系 别: 通信与控制工程系 专 业: 电子信息工程 班 级: 08级电信二班 学生姓名: 学 号: 起止日期: 11年6月13日 11年6月23日 指导教师: 教研室主任: 指导教师评语: 指导教师签名: 年 月 日成绩评定项 目权重成绩周杰卢欧1、设计过程中出勤、学习态度等方面0.22、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总 成 绩 教研室审核意见:教研室主任签字: 年 月 日教学系审核意见: 主任签字: 年 月 日摘 要数字频率计是直接用十进制数字来显示被测信号频率的一种测量装置,是计算机,通讯设备、音频设音频视频等科研生产领域不可缺少的测量仪器。本次课程设计设计以EDA工具作为开发手段,运用VHDL语言,将使整个系统大大简化,提高整体的性能和可靠性。EDA(Electronic Design Automation)即电子设计自动化。EDA技术指的是以计算机硬件和系统软件为基本工作平台,以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统设计的主要表达方式,自动完成集成电子系统设计的一门新技术。本设计用VHDL在CPLD器件上实现一种8 位十进制数字频率计测频系统,能够用十进制数码显示被测信号的频率,能够测量正弦波、方波和三角波等信号的频率,具有体积小、可靠性高、功耗低的特点,设计出的频率计能够准确的测出输入信号的频率,最后通过系统仿真,下载、验证和调试运行,实现了一个性能良好的8位数字频率计初步实现了设计目标。其基本原理是使用一个频率稳定性高的频率作为基准,对比测量其他信号的频率,即计算每秒钟内待测信号的脉冲个数。该数字频率计可以在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能,而且整个系统非常精简,具有高速、精确、可靠、抗干扰性强和现场可编程等优点,实用性极高。本文详细描述了数字频率计的设计流程及正确实现。关键词:数字频率计;EDA;VHDL;Quartus目 录设计要求11、方案论证与对比11.1方案对比11.2方案选择22.总体模块设计23.单元模块设计33.1 顶层模块设计33.2 测频控制模块43.3十进位计数模块53.4 测频锁存模块74.系统仿真85.硬件下载测试96.总结与致谢10参考文献11附录12数字频率计 设计要求1能够显示的频率为8位10进制;2测量的波形的电压最大值小于5V;3能测量正弦波、三角波、方波或其他周期性波形的频率;3用数码管显示测试的结果。 1、方案论证与对比1.1方案对比方案一:使用ATMEL公司的AT89C51实现一基于单片机的设计,用单片机定时器和计数器来实现对频率的测量,直接用十进制数字显示被测信号频率的一种测量装置。它以用测量频率的方法对TTL方波频率进行自动测量,使用该单片作为控制器件使被测频率信号通过信号处理电路,闸门时间与被测信号与非处理,产生信号脉冲,经过分频电路,然后送入单片机进行运算和处理,单片机将处理的数据通过显示器显示。其方案方案设计框图如图1所示: 整形电路计数器寄存器显示器同步检测自动换挡量程选择分频器时钟 图1 整体方案设计图方案二:基于EDA技术和VHDL语言为程序设计语言在器件上实现数字频率计测频系统,其基本原理是使用一个频率稳定性高的频率作为基准,对比测量其他信号的频率,即计算每秒钟内待测信号的脉冲个数。该数字频率计可以在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能,然后用8位十进制数码显示被测信号的频率,设计出的频率计能够准确的测出输入信号的频率,最后通过系统仿真,下载、验证和调试运行,实现了一个性能良好的8位数字频率计设计目标。其基本框图如图2所示: 译码驱动电路锁存器信号整形电路数码显示计数器 脉冲发生器测频控制信号发生器图2 数字频率计原理框图1.2方案选择单片机与EDA技术相比,EDA以计算机硬件和系统软件为基本工作平台,以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统设计的主要表达方式,自动完成集成电子系统设计的一门新技术1。其基本原理是使用一个频率稳定性高的频率作为基准,对比测量其他信号的频率,即计算每秒钟内待测信号的脉冲个数。该数字频率计可以在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能,而且整个系统非常精简,具有高速、精确、可靠、抗干扰性强和现场可编程等优点,实用性极高。本设计就是采用vhdl语言和EDA技术的设计流程来正确实现频率计的设计。VHDL语言具有很强大的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。VHDL支持各种模式的设计方法:自顶向下与自底向上或混合方法。用VHDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,所以选择方案二。2.总体模块设计频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率,通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。闸门时间也可以大于或小于一秒2。频率信号易于传输,抗干扰性强,可以获得较好的测量精度。因此,频率检测是电子测量领域最基本的测量之一。本文的数字频率计是按照计算每秒内待测信号的脉冲个数的基本原理来设计,此时取闸门时间为1秒。数字频率计的关键组成部分包括一个测频控制信号发生器、一个计数器和一个锁存器,另外包含信号整形电路、脉冲发生器、译码驱动电路和显示电路,其流程图如下面面的图3所示:设计说明书建立VHDL行为模型VHDL行为仿真VHDL-RTL级建模前端功能仿真逻辑综合测试向量生成功能仿真结构综合门级时序仿真硬件测试设计完成图3 设计流程的框图工作过程:系统正常工作时,脉冲信号发生器输入1Hz的标准信号,经过测频控制信号发生器的处理,2分频后即可产生一个脉宽为1秒的时钟信号,以此作为计数闸门信号。测量信号时,将被测信号通过信号整形电路,产生同频率的矩形波,输入计数器作为时钟。当计数闸门信号高电平有效时,计数器开始计数,并将计数结果送入锁存器中。设置锁存器的好处是显示的数据稳定,不会由于周期性的清零信号而不断闪烁。最后将锁存的数值由外部的七段译码器译码并在数码管上显示。3.单元模块设计3.1 顶层模块设计由于综合工具可以将高级别的模型转化生成为门级模型,所以整个设计过程基本是由计算机自动完成的。认为介入的方式主要是根据仿真的结果和优化的指标,控制逻辑综合的方式和指向3。 图4是频率计的顶层设计的原理图。其中模块control是测频时序控制模块,cnt10_8模块是是十位计数器模块,latch8是测频时序锁存模块,还有选定各个引脚,这些模块是由VHDL语言设计之后生成的,将这些模块连接起来,从而实现其顶层模块的功能,如图4所示。图4 顶层设计的原理图3.2 测频控制模块 1、此模块主要由时钟输入、计数器时钟使能、计数器清零、输出锁存构成。其具体的实现是由一个1秒的输入信号脉冲计数允许的信号,1秒计数结束后,计数值被锁入锁存器,计数器清0,为下一测频计数周期作好准备。2、具体程序如下。LIBRARY IEEE; 测频控制电路USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY control IS PORT (clk : IN STD_LOGIC; 定义逻辑电路的端口 cen : OUT STD_LOGIC; rst : OUT STD_LOGIC; load : OUT STD_LOGIC ); END control ;ARCHITECTURE behav OF control IS 语句说明 SIGNAL Div2CLK : STD_LOGIC;BEGIN 功能描述语句 PROCESS( clk ) BEGIN IF clk'EVENT AND clk = '1' THEN 在顺序语句IF条件下选择高电平 Div2CLK <= NOT Div2CLK; END IF; END PROCESS; PROCESS (clk, Div2CLK) BEGIN IF clk='0' AND Div2CLK='0' THEN rst<='1' ELSE rst <= '0' END IF; 确保CLK的变化是一次上升沿的跳变 END PROCESS; load <= NOT Div2CLK; cen <= Div2CLK;END behav;3.3十进位计数模块1、此模块先设计单个十进制计数模块,再设计八位十进制计数模块,将先设计好的单个十进制计数模块导入到八进制计数模块中,就可以完成八位十进制计数模块的设计,这样设计的好处是,减小了程序设计的复杂度,而且层次感强。2、主要涉及的程序见下面的两个程序。library ieee; 单个十进制计数模块use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity cnt10 is port (rst,fx,ena:in std_logic; cout: out std_logic; outy :out std_logic_vector(3 downto 0);end cnt10;architecture behv of cnt10 is 语句说明begin 功能描述语句 process (rst,ena,fx) variable cqi :std_logic_vector(3 downto 0);begin if rst='1' then cqi :=(others =>'0'); elsif fx'event and fx='1' then if ena ='1' then if cqi < 9 then cqi:=cqi+1;cout<='0' elsif cqi=9 then cqi :=(others =>'0'); cout<='1' end if; elsif ena='0' then cqi:=(others =>'0'); end if;end if; outy <=cqi;end process;end behv;library ieee; 八位十进制计数模块use ieee.std_logic_1164.all;entity cnt10_8 is port(fx,rst,ena:in std_logic; d:out std_logic_vector(31 downto 0);end entity;architecture one of cnt10_8 iscomponent cnt10 port (rst,fx,ena:in std_logic; 引脚功能模块 cout: out std_logic; outy :out std_logic_vector(3 downto 0);end component;signal e:std_logic_vector(7 downto 0);beginu1:cnt10 port map(fx=>fx,rst=>rst,ena=>ena,cout=>e(0),outy=>d(3 downto 0);u2:cnt10 port map(fx=>e(0),rst=>rst,ena=>ena,cout=>e(1),outy=>d(7 downto 4);u3:cnt10 port map(fx=>e(1),rst=>rst,ena=>ena,cout=>e(2),outy=>d(11 downto 8);u4:cnt10 port map(fx=>e(2),rst=>rst,ena=>ena,cout=>e(3),outy=>d(15 downto 12);u5:cnt10 port map(fx=>e(3),rst=>rst,ena=>ena,cout=>e(4),outy=>d(19 downto 16);u6:cnt10 port map(fx=>e(4),rst=>rst,ena=>ena,cout=>e(5),outy=>d(23 downto 20);u7:cnt10 port map(fx=>e(5),rst=>rst,ena=>ena,cout=>e(6),outy=>d(27 downto 24);u8:cnt10 port map(fx=>e(6),rst=>rst,ena=>ena,cout=>e(7),outy=>d(31 downto 28);end architecture one;3.4 测频锁存模块1、在频率计的设计当中设计了一个锁存器,设置锁存的器的好处就是数据显示稳定,不会由于周期性的清零而使信号不断的闪烁,这个模块的功能就是将计数器在规定时间的计数值锁存进锁存器中4。2、主要的设计程序如下。library ieee; 锁存器use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity latch8 isport(d:in std_logic_vector(31 downto 0); clk:in std_logic;q:out std_logic_vector(31 downto 0);end latch8;architecture one of latch8 isbeginprocess(clk,d)variable cqi:std_logic_vector(31 downto 0);beginif clk'event and clk='1' then q<=d;end if;end process;end one;4.系统仿真将程序下载Cyclone系列芯片中,同时在EDA试验箱上进行硬件验证。进行系统的仿真,直到仿真正确无误后,则可以再将设计编程下载。测控信号发生器CORNA的设计:频率测量的基本原理是计算每秒待测信号的 脉冲个数。这就要求CORNA的计数能使信号CORNA能产生一个一秒脉宽的周期信号。当CORNA为高电平时,允许计数;为底电平时停止计数,并保持所计脉冲数。在停止计数期间,首先需要一个锁存信号的上升沿将计数器在前一秒的计数值锁存进16位锁存器LOCK中,测频时序电路原理图、方框图和时序及功能仿真本文提出的数字频率计由于采用VHDL语言设计,用一片FPGA实现,因而体积小,功耗低,具有较好的应用前景。但由于结构还比较简单,有待进一步完善。数字频率计整个系统的仿真如图5所示:图5 数字频率计整个电路系统仿真图5.硬件下载测试仿真波形正确后,便可进行下载,选择GW48系列EDA试验开发系统,使用Cyclone系列芯片EP1C6Q240C8,先进行引脚锁定5,具体引脚锁定如图6所示,工作方式选择模式5,选择好硬件和模式后就可以下载到EDA实验箱。图6 数字频率计引脚锁定在面包板上按照管脚锁定插上八个七段数码管,并于实验板上相应的管脚相连接,实验板插电后,给输入端加入被测信号和使能控制信号,就可以进行硬件测试了。该数字秒表变化范围为1-99999999Hz。CLK为基准频率输入端。下载成功之后就可以进行测试和操作,把工作模式选择方式5,试验箱上面的数码管就会点亮,将基准信号选择1Hz ,再选择实验箱上面的方波频率,数码管上面显示的八位十进制数字就是实际测试的信号的频率。通过对上面一组已知频率的信号进行测试,结果表明该频率计能准确地测出输入信号的频率并正确表示,精确度为100%。与课程设计预先目的一致。6.总结与致谢通过两周的紧张工作,最后完成了我的设计任务基于VHDL语言的数字频率计的设计。通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性所在。本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。希望学校以后多安排一些类似的实践环节,让同学们学以致用。经过这的课程设计,使我学到了很多只有实际操作中的问题,虽然过程比较累,有时也遇到不少问题,但是经过周围同学与老师的帮助指导与帮助,最终顺利 的完成了此次课程设计。在此我谨向在课程设计过程中给予我很大帮助的老师、同学们致以最诚挚的谢意。特别感谢我们的姚毅老师和成继中老师,本课设能够顺利完成,离不开两位位老师的悉心指导和严格要求。最后,我要向在百忙之中抽时间对本文进行审阅的老师表示感谢,同时,也要感谢本设计小组的同学,不仅使我完成了实验,还从中学到了许多宝贵的知识,增长了我计算机方面的技能。参考文献1潘松,黄继业.EDA技术与VHDL(第2版)M.北京:清华大学出版社,2007. 2康华光.电子技术基础数字部分(第五版)M.高等教育出版社,2006.45-623全国大学生电子设计大赛竞赛组委会编.第五届全国大学生电子设计竞赛获奖作品选编M.北京理工大学出版社,2003.20-434 全国大学生电子设计大赛竞赛组委会编.全国大学生电子设计竞赛获奖作品选编(2003)M.北京:北京理工大学出版社,2005.23-455全国大学生电子设计竞赛湖北赛区组委会编 电子系统设计实践M.湖北:华中科技大学出版社,2005.17-36附录生成的顶层程序如下:LIBRARY ieee;USE ieee.std_logic_1164.all; LIBRARY work;ENTITY top IS port(clk : IN STD_LOGIC;fx : IN STD_LOGIC;out1 : OUT STD_LOGIC_VECTOR(31 downto 0);END top;ARCHITECTURE bdf_type OF top IS component cnt10_8PORT(fx : IN STD_LOGIC; rst : IN STD_LOGIC; ena : IN STD_LOGIC; d : OUT STD_LOGIC_VECTOR(31 downto 0);end component;component latch8PORT(clk : IN STD_LOGIC; d : IN STD_LOGIC_VECTOR(31 downto 0); q : OUT STD_LOGIC_VECTOR(31 downto 0);end component;component controlPORT(clk : IN STD_LOGIC; cen : OUT STD_LOGIC; rst : OUT STD_LOGIC; load : OUT STD_LOGIC);end component;signalSYNTHESIZED_WIRE_0 : STD_LOGIC;signalSYNTHESIZED_WIRE_1 : STD_LOGIC;signalSYNTHESIZED_WIRE_2 : STD_LOGIC;signalSYNTHESIZED_WIRE_3 : STD_LOGIC_VECTOR(31 downto 0);BEGIN b2v_inst : cnt10_8PORT MAP(fx => fx, rst => SYNTHESIZED_WIRE_0, ena => SYNTHESIZED_WIRE_1, d => SYNTHESIZED_WIRE_3);b2v_inst2 : latch8PORT MAP(clk => SYNTHESIZED_WIRE_2, d => SYNTHESIZED_WIRE_3, q => out1);b2v_inst3 : controlPORT MAP(clk => clk, cen => SYNTHESIZED_WIRE_1, rst => SYNTHESIZED_WIRE_0, load => SYNTHESIZED_WIRE_2);END;

    注意事项

    本文(VHDL语言与EDA课程设计数字频率计.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开