基于QUARTUS的EDA课程设计数字频率计的仿真_第1页
基于QUARTUS的EDA课程设计数字频率计的仿真_第2页
基于QUARTUS的EDA课程设计数字频率计的仿真_第3页
基于QUARTUS的EDA课程设计数字频率计的仿真_第4页
基于QUARTUS的EDA课程设计数字频率计的仿真_第5页
已阅读5页,还剩12页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、成绩评定表学生姓名班级学号专业课程设计题目评语组长签字:成绩日期201年月日课程设计任务书专业班级学号学院学生姓名课程设计题目实践教学要求与任务一、内容及要求:利用所学的EDA设计方法设计数字频率计,熟练使用使用QUARTUSII应用软件,进一步学习使用VHDL语言、原理图等EDA设计方法进行综合题目的方法。1调试底层模块,并时序仿真。2 .设计顶层模块,并时序仿真。3 .撰写课程设计报告,设计报告要求及格式见附件。二、功能要求:设计一个思维十进制的数字频率计。要求具有以下功能;(1) 测量范围:1HZ10HZ。(2) 测量误差w1/(3) 响应时间w15s。(4) 显示时间不小于1s。(5)

2、 具有记忆显示的功能。即在测量过程中不刷新数据。等数据过程结束后才显示测量结果。给出待测信号的频率值。并保存到下一次测量结束。包括时基产生与测评时序控制电路模块。以及待测信号脉冲计数电路模块和锁存与译码显示控制电路。工作计划与进度安排:课程设计时间为10天(2周)1、调研、查资料1天。2、总体方案设计2天。3、代码设计与调试5天。4、撰写报告1天。5、验收1天。指导教师:专业负责人:学院教学副院长:201年月日201年月日201年月日目录1.设计要求22、设计目的23 .总体设计思路及解决方案23.1 相关知识23.3 、设计思路及解决方案44 .分层次方案设计及代码描述54.1 .底层程序源

3、码54.2 顶层程序源码105 .各模块的时序仿真结果126 .设计心得15数字频率计课程设计1.设计要求设计一个四位十进制的数字频率计。要求具有以下功能:(1)测量范围:1HZ10HZ(2)测量误差w1/(3)响应时间w15s。(4)显示时间不小于1s。(5)具有记忆显示的功能。即在测量过程中不刷新数据。等数据过程结束后才显示测量结果。给出待测信号的频率值。并保存到下一次测量结束。(6)包括时基产生与测评时序控制电路模块。以及待测信号脉冲计数电路模块和锁存与译码显示控制电路。2、设计目的通过综合性课程设计题目的完成过程,运用所学EDA»识,解决生活中遇到的实际问题,达到活学活用,所

4、学为所用的目的,进一步理解EDA勺学习目的,提高实际应用水平。本次设计的数字频率计具有精度高、使用方便、测量迅速、便于实现测量过程自动化等优点,是频率测量的重要手段之一。数字频率计主要包括时基产生与测评时序控制电路模块、待测信号脉冲计数电路、译码显示与锁存控制电路模块。3 .总体设计思路及解决方案3.1 相关知识QuartusII是Altera公司的综合性PLD开发软件,支持原理图、VHDLVerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Qua

5、rtusII可以在XRLinux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三放EDAX具。此外,QuartusII通过和DSPBuilder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC开发

6、,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。MaxplusII作为Altera的上一代PLD®计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对MaxplusII的更新支持,QuartusII与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在QuartusII中包含了许多诸如SignalTapII、ChipEditor和RTLViewer的设计辅助工具,集成了SOPG口HardCopy设计流程,并且继承了MaxplusII友好的图形界面及简便的使用方法。AlteraQuartusII作为一种可编程逻辑的设计环境

7、,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。Altera的QuartusII可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence.ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDAft应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。3.2 设计思路及原理图数字频率计是一种用十进制数字显示被测信号频率的数字测量仪器.它的基本功

8、能是测量方波信号及其他各种单位时间内变化的物理量。本数字频率计采用自顶向下的设计思想,通过闸门提供白1s闸门时间对被测言号进向数及测出的被测言号的频率,测出的频率再通过译码器译码后输出给显示器显示。根据系统设计的要求,数字频率计的电路原理框图如下:elk3.3 、设计思路及解决方案设计方案自顶向下设计,底层模块分时基产生与测评时序控制电路模块、待测信号脉冲计数电路模块、译码显示与锁存控制电路模块。(1)时基产生与测评时序控制电路模块:设计频率记得关键是设计一个测频率控制信号发生器(即时基产生与测评时序控制电路模块),产生测量频率控制时序。控制时钟信号clk取为1Hz,二分频后即可产生一个脉宽为

9、1s的时钟control-en,以此作为计数闸门信号。当control-en为高电平时,允许计数;当control-en的下降沿时,应产生一个锁存信号,将计数值保存起来;锁存数据后,在下一个control-en上升沿到来之前对计数器清零,为下次计数做准备。(2)待测信号脉冲计数电路模块待测信号脉冲计数电路模块就是计数器,计数器以待测信号作为时钟,在清零信号clr到来时,异步清零;使能信号en为高电平时允许计数,为低电平时禁止计数。(3)锁存与译码显示控制电路模块锁存器在control-en下降沿到来时,将计数器的计数值锁存,这样就不会因为周期性的清零信号而不断闪烁了。译码显示电路将计数器测得的

10、BCM数字转换为七段晶体管(09),显小出十进制的数字结果。4 .分层次方案设计及代码描述4.1 .底层程序源码1、时基产生与测频时序控制电路模块的VHDa程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycontrolisport(clk:instd_logic;-定义输入rst,ena:outstd_logic);-定义输出endcontrol;architecturebehvofcontrolisbeginprocess(clk)-clk为敏感信号variablecqi:std_lo

11、gic_vector(2downto0);beginifclk'eventandclk='1'then-时钟上升沿ifcqi<1thencqi:=cqi+1;ena<='1'rst<='0'elsifcqi=1thencqi:=(others=>'0');ena<='0'rst<='1'endif;endif;endprocess;-进程结束LED显示endbehv;2、待测信号脉冲计数电路模块的VHDa程序(1) 10进制计数器:libraryieee;

12、useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycnt10isport(rst,fx,ena:instd_logic;-rst,fx,ena为输入端口cout:outstd_logic;outy:outstd_logic_vector(3downto0);endcnt10;architecturebehvofcnt10isbeginprocess(rst,ena,fx)-rst,fx,ena为敏感信号variablecqi:std_logic_vector(3downto0);beginifrst='1&#

13、39;thencqi:=(others=>'0');-执行清零elsiffx'eventandfx='1'then-fx上升沿ifena='1'then-如果使能信号为1ifcqi<9thencqi:=cqi+1;cout<='0'elsifcqi=9thencqi:=(others=>'0');cout<='1'endif;elsifena='0'thencqi:=(others=>'0');-使能信号为0endif;en

14、dif;outy<=cqi;进程结束endprocess;endbehv;(2) 4位10进计数器:libraryieee;useieee.std_logic_1164.all;entitycnt10_4isport(fx,rst,ena:instd_logic;-定义输入d:outstd_logic_vector(15downto0);-定义输出endentity;architectureoneofcnt10_4iscomponentcnt10port(rst,fx,ena:instd_logic;cout:outstd_logic;outy:outstd_logic_vector(3

15、downto0);endcomponent;signale:std_logic_vector(3downto0);begin-元件例化u1:cnt10portmap(fx=>fx,rst=>rst,ena=>ena,cout=>e(0),outy=>d(3downto0);u2:cnt10portmap(fx=>e(0),rst=>rst,ena=>ena,cout=>e(1),outy=>d(7downto4);u3:cnt10portmap(fx=>e(1),rst=>rst,ena=>ena,cout=>

16、e(2),outy=>d(11downto8);u4:cnt10portmap(fx=>e(2),rst=>rst,ena=>ena,cout=>e(3),outy=>d(15downto12);endarchitectureone;(3)锁存器的VHDLg程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitylatch4isport(d:instd_logic_vector(15downto0);-d,ena,clk为锁存器输入ena,clk:instd_

17、logic;q:outstd_logic_vector(15downto0);-q为锁存器输出endlatch4;architectureoneoflatch4isbeginprocess(clk,ena,d)-ck,d,ena为敏感信号variablecqi:std_logic_vector(15downto0);beginifena='0'thencqi:=cqi;elsifclk'eventandclk='1'thencqi:=d;endif;q<=cqi;endprocess;-进程结束endone;(4)译码显示电路的VHDL®

18、程序libraryieee;useieee.std_logic_1164.all;entityled_controllerisport(d:instd_logic_vector(3downto0);a:outstd_logic_vector(6downto0);endled_controller;architectureartofled_controllerisbeginprocess(d)variables:std_logic_vector(3downto0);begins:=d(3)&d(2)&d(1)&d(0);casesiswhen"0000"

19、;=>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<="001111

20、1”;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"=

21、>a<="1001011”;when"1110"=>a<="0001111”;when"1111"=>a<="0000000”;endcase;endprocess;end;libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitylatch4isport(d:instd_logic_vector(15downto0);-d,ena,clk为锁存器输入ena,clk:instd_logic;q:o

22、utstd_logic_vector(15downto0);-q为锁存器输出endlatch4;architectureoneoflatch4isbeginprocess(clk,ena,d)-ck,d,ena为敏感信号variablecqi:std_logic_vector(15downto0);beginifena='0'thencqi:=cqi;elsifclk'eventandclk='1'thencqi:=d;endif;q<=cqi;endprocess;-进程结束endone;4.2顶层程序源码总体例化语句:libraryieee;u

23、seieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycntfisport(rset,clk:instd_logic;fx:instd_logic;ledout:outstd_logic_vector(27downto0);endentity;architectureoneofcntfiscomponentcontrol-时基产生与测评时序控制部分port(clk:instd_logic;rst,ena:outstd_logic);endcomponent;componentcnt10_4-4位十进制计数器部分port(f

24、x,rst,ena:instd_logic;d:outstd_logic_vector(15downto0);endcomponent;componentlatch4-锁存器部分port(d:instd_logic_vector(15downto0);ena,clk:instd_logic;q:outstd_logic_vector(15downto0);endcomponent;componentled_controller-BCD码输入转LED显示部分port(d:instd_logic_vector(3downto0);a:outstd_logic_vector(6downto0);en

25、dcomponent;signalx,z:std_logic;signalg,h:std_logic_vector(15downto0);signalleds:std_logic_vector(27downto0);元件例化beginu1:controlportmap(clk=>clk,ena=>x,rst=>z);u2:cnt10_4portmap(fx=>fx,rst=>z,ena=>x,d=>g);u3:latch4portmap(clk=>clk,ena=>x,d=>g,q=>h);u4:led_controllerpo

26、rtmap(d(3downto0)=>h(3downto0),a(6downto0)=>leds(6downto0);u5:led_controllerportmap(d(3downto0)=>h(7downto4),a(6downto0)=>leds(13downto7);u6:led_controllerportmap(d(3downto0)=>h(11downto8),a(6downto0)=>leds(20downto14);u7:led_controllerportmap(d(3downto0)=>h(15downto12),a(6downt

27、o0)=>leds(27downto21);ledout<=leds;end;-结束5 .各模块的时序仿真结果SimulationWaveformsEiniil-b.tion.rTioda:Taning图5.1时基产生与测频时序控制电路模块的仿真结果SimillationWaveformsSaiaulb-tten.nod«:TtiTiingAzM日wbsiTi面日Bar1495nsJjJPointer:49.31m密Intervat49."Start:End一.J_JL.-1Y-nXL3JLOJA0aaa口A0:£.711Z1*OQ由3530oiaty

28、.3-.2-.0VJ-Ufea1.图5.210进制计数器的仿真结果SimullatidnWaveformsSannlLtten.nc>d.«:TimingMacteiTinriBBar14.75kk小|Pointer:3289msIntervat32.89msStart:1End)pc1,可之£,2.A&4一1£4ffi?'Ts氐湖工6.711efi.ffi3Eg溺ETMane14.7E14.75gsdA000XLoHiW_OJEO36rA15jAikiL4Ai-d13*1karisjAI11111111111111-i1li1III1I1111111I111«1111hii05rifliAi3gkaLoA3?卜k1t>3,峋AI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论