基于QUARTUS的EDA专业课程设计数字频率计的仿真.doc
《基于QUARTUS的EDA专业课程设计数字频率计的仿真.doc》由会员分享,可在线阅读,更多相关《基于QUARTUS的EDA专业课程设计数字频率计的仿真.doc(19页珍藏版)》请在咨信网上搜索。
成 绩 评 定 表 学生姓名 班级学号 专 业 课程设计题目 评 语 组长签字: 成绩 日期 2月日 课程设计任务书 学 院 专 业 学生姓名 班级学号 课程设计题目 实践教学规定与任务: 一、内容及规定: 运用所学EDA设计办法设计数字频率计,纯熟使用使用QUARTUSII应用软件,进一步学习使用VHDL语言、原理图等EDA设计办法进行综合题目办法。 1调试底层模块,并时序仿真。 2.设计顶层模块,并时序仿真。 3.撰写课程设计报告,设计报告规定及格式见附件。 二、功能规定: 设计一种思维十进制数字频率计。规定具备如下功能; (1) 测量范畴:1HZ~10HZ。 (2) 测量误差≤1/ (3) 响应时间≤15s。 (4) 显示时间不不大于1s。 (5) 具备记忆显示功能。即在测量过程中不刷新数据。等数据过程结束后才显示测量成果。给出待测信号频率值。并保存到下一次测量结束。 涉及时基产生与测评时序控制电路模块。以及待测信号脉冲计数电路模块和锁存与译码显示控制电路。 工作筹划与进度安排: 课程设计时间为10天(2周) 1、调研、查资料1天。 2、总体方案设计2天。 3、代码设计与调试5天。 4、撰写报告1天。 5、验收1天。 指引教师: 2月日 专业负责人: 2月日 学院教学副院长: 2月日 目录 1.设计规定 2 2、设计目 2 3.总体设计思路及解决方案 2 3.1有关知识 2 3.3、设计思路及解决方案 4 4.分层次方案设计及代码描述 5 4.1.底层程序源码 5 4.2顶层程序源码 10 5.各模块时序仿真成果 12 6.设计心得 15 数字频率计课程设计 1.设计规定 设计一种四位十进制数字频率计。规定具备如下功能: (1)测量范畴:1HZ~10HZ。 (2) 测量误差≤1/ (3)响应时间≤15s。 (4)显示时间不不大于1s。 (5)具备记忆显示功能。即在测量过程中不刷新数据。等数据过 程结束后才显示测量成果。给出待测信号频率值。并保存到 下一次测量结束。 (6)涉及时基产生与测评时序控制电路模块。以及待测信号脉冲计 数电路模块和锁存与译码显示控制电路。 2、设计目 通过综合性课程设计题目完毕过程,运用所学EDA知识,解决生活中遇到实际问题,达到活学活用,所学为所用目,进一步理解EDA学习目,提高实际应用水平。 本次设计数字频率计具备精度高、使用以便、测量迅速、便于实现测量过程自动化等长处,是频率测量重要手段之一。数字频率计重要涉及时基产生与测评时序控制电路模块、待测信号脉冲计数电路、译码显示与锁存控制电路模块。 3.总体设计思路及解决方案 3.1有关知识 Quartus II 是Altera公司综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等各种设计输入形式,内嵌自有综合器以及仿真器,可以完毕从设计输入到硬件配备完整PLD设计流程。 Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完毕设计流程外,提供了完善顾客图形界面设计方式。具备运营速度快,界面统一,功能集中,易学易用等特点。 Quartus II支持AlteraIP核,包括了LPM/MegaFunction宏功能模块库,使顾客可以充分运用成熟模块,简化了设计复杂性、加快了设计速度。对第三方EDA工具良好支持也使顾客可以在设计流程各个阶段使用熟悉第三放EDA工具。 此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以以便地实现各种DSP应用系统;支持Altera片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性开发平台。 Maxplus II 作为Altera上一代PLD设计软件,由于其出众易用性而得到了广泛应用。当前Altera已经停止了对Maxplus II 更新支持,Quartus II 与之相比不但仅是支持器件类型丰富和图形界面变化。Altera在Quartus II 中包括了许多诸如SignalTap II、Chip Editor和RTL Viewer设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II 和谐图形界面及简便用法。 Altera Quartus II 作为一种可编程逻辑设计环境,由于其强大设计能力和直观易用接口,越来越受到数字系统设计者欢迎。 AlteraQuartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一种工作组环境下设计规定,其中涉及支持基于Internet协作设计。Quartus平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供应商开发工具相兼容。改进了软件LogicLock模块设计功能,增添了FastFit编译选项,推动了网络编辑性能,并且提高了调试能力。 3.2 设计思路及原理图 数字频率计是一种用十进制数字显示被测信号频率数字测量仪器.它基本功能是测量方波信号及其她各种单位时间内变化物理量。本数字频率计采用自顶向下设计思想,通过闸门提供1s闸门时间对被测信号进行计数及测出被测信号频率,测出频率再通过译码器译码后输出给显示屏显示。依照系统设计规定,数字频率计电路原理框图如下: 图3.1 数字频率计电路原理框图 3.3、设计思路及解决方案 设计方案自顶向下设计,底层模块分时基产生与测评时序控制电路模块、待测信号脉冲计数电路模块、译码显示与锁存控制电路模块。 (1)时基产生与测评时序控制电路模块: 设计频率记得核心是设计一种测频率控制信号发生器(即时基产生与测评时序控制电路模块),产生测量频率 控制时序。控制时钟信号clk取为1Hz,二分频后即可产生一种脉宽为1s时钟control-en ,以此作为计数闸门信号。当control-en为高电平时,容许计数;当control-en下降沿时,应产生一种锁存信号,将计数值保存起来;锁存数据后,在下一种control-en上升沿到来之前对计数器清零,为下次计数做准备。 (2)待测信号脉冲计数电路模块 待测信号脉冲计数电路模块就是计数器,计数器以待测信号作为时钟,在清零信号clr到来时,异步清零;使能信号en为高电平时容许计数,为低电平时禁止计数。 (3)锁存与译码显示控制电路模块 锁存器在control-en下降沿到来时,将计数器计数值锁存,这样就不会由于周期性清零信号而不断闪烁了。 译码显示电路将计数器测得BCD码数字转换为七段晶体管LED显示(0——9),显示出十进制数字成果。 4.分层次方案设计及代码描述 4.1.底层程序源码 1、时基产生与测频时序控制电路模块VHDL源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity control is port (clk:in std_logic; --定义输入 rst,ena:out std_logic); --定义输出 end control; architecture behv of control is begin process (clk) --clk为敏感信号 variable cqi :std_logic_vector(2 downto 0); begin if clk'event and clk='1' then --时钟上升沿 if cqi <1 then cqi:=cqi+1;ena<='1';rst<='0'; elsif cqi=1 then cqi :=(others =>'0'); ena<='0';rst<='1'; end if; end if; end process; --进程结束 end behv; 2、待测信号脉冲计数电路模块VHDL源程序 (1)10进制计数器: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt10 is port (rst,fx,ena:in std_logic; --rst,fx,ena为输入端口 cout:out std_logic; outy :out std_logic_vector(3 downto 0)); end cnt10; architecture behv of cnt10 is begin process (rst,ena,fx) --rst,fx,ena为敏感信号 variable cqi :std_logic_vector(3 downto 0); begin if rst='1' then cqi :=(others =>'0'); --执行清零 elsif fx'event and fx='1' then --fx上升沿 if ena ='1' then --如果使能信号为1 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'); --使能信号为0 end if; end if; outy <=cqi; end process; --进程结束 end behv; (2)4位10进计数器: library ieee; use ieee.std_logic_1164.all; entity cnt10_4 is port(fx,rst,ena:in std_logic; --定义输入 d:out std_logic_vector(15 downto 0)); --定义输出 end entity; architecture one of cnt10_4 is component 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(3 downto 0); begin --元件例化 u1: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)); end architecture one; (3)锁存器VHDL源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity latch4 is port(d:in std_logic_vector(15 downto 0);--d,ena,clk为锁存器输入 ena,clk:in std_logic; q:out std_logic_vector(15 downto 0)); --q为锁存器输出 end latch4; architecture one of latch4 is begin process(clk,ena,d) --ck,d,,ena为敏感信号 variable cqi:std_logic_vector(15 downto 0); begin if ena='0' then cqi:=cqi; elsif clk'event and clk='1' then cqi:=d; end if; q<=cqi; end process; --进程结束 end one; (4)译码显示电路VHDL源程序 library ieee ; use ieee.std_logic_1164.all; entity led_controller is port (d:in std_logic_vector(3 downto 0); a:out std_logic_vector( 6 downto 0)); end led_controller; architecture art of led_controller is begin process(d) variable s:std_logic_vector ( 3 downto 0); begin s:=d(3)&d(2)&d(1)&d(0); case s is when "0000"=>a<="1111110"; when "0001"=>a<="0110000"; when "0010"=>a<="1101101"; when "0011"=>a<="1111001"; when "0100"=>a<="0110011"; when "0101"=>a<="1011011"; when "0110"=>a<="0011111"; when "0111"=>a<="1110000"; when "1000"=>a<="1111111"; when "1001"=>a<="1110011"; when "1010"=>a<="0001101"; when "1011"=>a<="0011001"; when "1100"=>a<="0100011"; when "1101"=>a<="1001011"; when "1110"=>a<="0001111"; when "1111"=>a<="0000000"; end case; end process; end ; library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity latch4 is port(d:in std_logic_vector(15 downto 0);--d,ena,clk为锁存器输入 ena,clk:in std_logic; q:out std_logic_vector(15 downto 0)); --q为锁存器输出 end latch4; architecture one of latch4 is begin process(clk,ena,d) --ck,d,,ena为敏感信号 variable cqi:std_logic_vector(15 downto 0); begin if ena='0' then cqi:=cqi; elsif clk'event and clk='1' then cqi:=d; end if; q<=cqi; end process; --进程结束 end one; 4.2顶层程序源码 总体例化语句: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cntf is port(rset,clk:in std_logic; fx:in std_logic; ledout:out std_logic_vector(27 downto 0)); end entity; architecture one of cntf is component control --时基产生与测评时序控制某些 port (clk:in std_logic; rst,ena:out std_logic); end component; component cnt10_4 --4位十进制计数器某些 port(fx,rst,ena:in std_logic; d:out std_logic_vector(15 downto 0)); end component; component latch4 --锁存器某些 port(d:in std_logic_vector(15 downto 0); ena,clk:in std_logic; q:out std_logic_vector(15 downto 0)); end component; component led_controller --BCD码输入转LED显示某些 port(d:in std_logic_vector(3 downto 0); a:out std_logic_vector(6 downto 0)); end component; signal x,z:std_logic; signal g,h:std_logic_vector(15 downto 0); signal leds:std_logic_vector(27 downto 0); begin --元件例化 u1:control port map(clk=>clk,ena=>x,rst=>z); u2:cnt10_4 port map(fx=>fx,rst=>z,ena=>x,d=>g); u3:latch4 port map(clk=>clk,ena=>x,d=>g,q=>h); u4:led_controller port map(d(3 downto 0)=>h(3 downto 0),a(6 downto 0)=>leds(6 downto 0)); u5:led_controller port map(d(3 downto 0)=>h(7 downto 4),a(6 downto 0)=>leds(13 downto 7)); u6:led_controller port map(d(3 downto 0)=>h(11 downto 8),a(6 downto 0)=>leds(20 downto 14)); u7:led_controller port map(d(3 downto 0)=>h(15 downto 12),a(6 downto 0)=>leds(27 downto 21)); ledout<=leds; end; --结束 5.各模块时序仿真成果 图5.1时基产生与测频时序控制电路模块仿真成果 图5.2 10进制计数器仿真成果 图5.3 4位10进计数器仿真成果 图5.4 锁存器仿真成果 图5.5 译码显示电路仿真成果 图5.6 总体例化仿真成果 6.设计心得 本课设给出了运用VHDL设计数字频率计办法。比较与用芯片搭电路进行硬件实现来说是一种新尝试,通过仿真调试到下载实验,成果都能清晰明了地显示出来,相称快捷和以便,不同模块之间互相独立,底层模块修改不会影响其她模块工作,采用这种设计办法设计构造清晰,层次清晰,便于对设计进行修改。随着EDA技术发展,CPLD/FAGA芯片广泛应用,VHDL极大地显示了硬件描述语言魅力。数字电路系统设计变得像软件设计同样灵活,复杂电路可以通过VHDL编程器电路合成方式,容易并且迅速达到规定规格。 通过本次课程设计,使我对课本上基本知识理解更加透彻了。虽然,在设计中遇到过困难以及失败,但通过教师和同窗们协助让我顺利通过了这次课程设计验收。虽然时间短了些,却激发了我对EDA方面兴趣及兴趣。我相信在不久将来会有更大进步。 7.参照文献 [1]马建国,孟宪元.电子设计自动化技术基本[M].北京:清华大学出版社,. [2]王小平,曹立明.遗传算法[M].西安:西安交通大学出版社,. [3]吴建新.基于量程自动转换频率计设计[J].电子元器件应用,. [4]赵曙光.可编程逻辑器件原理、开发与应用.西安:西安电子科技大学出版社,.- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 QUARTUS EDA 专业课程 设计 数字频率计 仿真
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文