首页 基于VHDL的数字频率计的的设计论文

基于VHDL的数字频率计的的设计论文

举报
开通vip

基于VHDL的数字频率计的的设计论文基于VHDL的数字频率计的设计 目 录 第一章 概述 1 1.1 设计概述 1 1.2设计内容 1 1.3 设计原理 1 1.4 设计功能 2 第二章 技术与开发工具 3 2.1 VHDL简介 3 2.1.1简介 3 2.1.2 VHDL程序组成部分 4 2.1.3 VHDL系统优势 4 2.2 MAX+PLUSⅡ 5 2.2.1 软件简介 5 2.2.2 软件组成 6 2.2.3设计流程 7 第三章 系统分析 8 3.1数字频率计的设计任务及要求 8 3.2 模块的划分 8 3.3设计分析 9 第四章 各功能模...

基于VHDL的数字频率计的的设计论文
基于VHDL的数字频率计的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 目 录 第一章 概述 1 1.1 设计概述 1 1.2设计内容 1 1.3 设计原理 1 1.4 设计功能 2 第二章 技术与开发工具 3 2.1 VHDL简介 3 2.1.1简介 3 2.1.2 VHDL程序组成部分 4 2.1.3 VHDL系统优势 4 2.2 MAX+PLUSⅡ 5 2.2.1 软件简介 5 2.2.2 软件组成 6 2.2.3设计流程 7 第三章 系统分析 8 3.1数字频率计的设计任务及要求 8 3.2 模块的划分 8 3.3设计分析 9 第四章 各功能模块基于VHDL的设计 10 4.1 时基产生与测频时序控制电路模块的VHDL源程序 10 4.2 待测信号脉冲计数电路模块的VHDL源程序 11 4.2.1 十进制加法计数器的VHDL源程序 11 4.2.2待测信号脉冲计数器的VHDL源程序 12 4.3 锁存与译码显示控制电路模块的VHDL源程序 13 4.3.1 译码显示电路的VHDL源程序 13 4.3.2 锁存与译码显示控制模块的VHDL源程序 14 4.4 顶层电路的VHDL源程序 16 第五章 数字频率计波形仿真 18 5.1 时基产生与测频时序控制电路模块的仿真 18 5.2 待测信号脉冲计数电路模块的仿真 18 5.2.1 十进制加法计数器的仿真 18 5.2.2待测信号脉冲计数器的仿真 19 5.3 锁存与译码显示控制电路模块的仿真 19 5.3.1 译码显示电路的仿真 19 5.3.2 锁存与译码显示控制模块的仿真 20 5.4 数字频率计系统的仿真 20 结论 22 参考文献 23 摘要 本文介绍了一种自顶向下分层设计多功能数字频率计的设计方法。该频率计采用VHDL硬件描述语言编程以MAX+PLUSⅡ为开发环境,极大地减少了硬件资源的占用。数字频率计模块划分的设计具有相对独立性,可以对模块单独进行设计、调试和修改,缩短了设计周期。该数字频率计的测量范围为lHz~1MHz,响应时间小于等于15秒;其测试结果由4只七段数码管稳定显示,测量误差小于等于1% 。仿真波形与分析结果表明,所设计的电路通过硬件仿真能够满足数字频率计的功能要求,具有理论与实践意义,实现了电子电路自动化的过程。数字频率计模块划分的设计具有相对独立性,可以对模块单独进行设计、调试和修改,缩短了设计周期。 关键词:VHDL 数字频率计 EDA MAX+PLUSⅡ 基于VHDL的数字频率计的设计 第一章 概述 1.1 设计概述 所谓频率,就是周期信号在单位时间(1s)里变化的次数。 本数字频率计的设计思路是: (1) 根据频率计的测频原理,可以选择合适的时基信号对输入被测信号脉冲进行计数,实现测频的目的。 (2) 根据数字频率计的基本原理,本文设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 的基本思想是分为三个模块来实现其功能,即时基产生与测频时序控制电路模块、待测信号脉冲计数电路模块和锁存与译码显示控制电路模块,并且分别用VHDL对其进行编程,实现计数电路、锁存电路、显示电路等。 1.2 设计内容 分析数字频率计的功能,完成功能模块的划分,分别用VHDL语言完成底层模块的设计和以原理图的方法完成顶层模块的设计,分别对各个模块以及顶层模块进行仿真分析,最后在硬件开发平台上进行测试。 1.3 设计原理 我们都知道,频率信号易于传输,抗干扰性强,可以获得较好的测量精度。因此,频率检测是电子测量领域最基本的测量之一。频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,即闸门时间为1s。闸门时间可以根据需要取值,大于或小于1S都可以。闸门时间越长,得到的频率值就越准确,但闸门时间越长,则每测一次频率的间隔就越长。闸门时间越短,测得的频率值刷新就越快,但测得的频率精度就受影响。一般取1s作为闸门时间。 数字频率计的关键组成部分包括测频控制信号发生器、计数器、锁存器、译码驱动电路和显示电路,其原理框图如图1. 1所示。 计数器 锁存器 译码驱动电路 数码管显示 测频控制信号发生器 图 1.1 原理框图 待测信号 1.4 设计功能 四位十进制数字频率计用四组七段译码显示的数字频率计,其频率测量范围为1Hz~10kHz。采用记忆显示的方法,即在测量过程中不刷新数据,等数据过程结束后才显示测量结果,给出待测信号的频率值,并保存到下一次测量结束,显示时间不少于1秒。 第二章 技术与开发工具 2.1 VHDL简介 2.1.1 简介 VHDL主要用于描述数字系统的结构,行为,功能和接口。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。VHDL 语言能够成为 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 化的硬件描述语言并获得广泛应用 , 它自身必然具有很多其他硬件描述语言所不具备的优点。归纳起来,VHDL 语言主要具有以下优点: (1) VHDL 语言功能强大,设计方式多样   VHDL 语言具有强大的语言结构, 只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。同时,它还具有多层次的电路设计描述功能。此外,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现,这是其他硬件描述语言所不能比拟的。VHDL 语言设计方法灵活多样 , 既支持自顶向下的设计方式, 也支持自底向上的设计方法; 既支持模块化设计方法, 也支持层次化设计方法。 (2) VHDL语言具有强大的硬件描述能力   VHDL语言具有多层次的电路设计描述功能,既可描述系统级电路 , 也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHDL语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL语言的强大描述能力还体现在它具有丰富的数据类型。VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。 (3) VHDL语言具有很强的移植能力   VHDL语言很强的移植能力主要体现在: 对于同一个硬件电路的 VHDL 语言描述,它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。 (4) VHDL语言的设计描述与器件无关   采用VHDL语言描述硬件电路时,设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化,而不需要考虑其他的问题。当硬件电路的设计描述完成以后,VHDL 语言允许采用多种不同的器件结构来实现。 (5) VHDL语言程序易于共享和复用   VHDL语言采用基于库(library)的设计方法。在设计过程中,设计人员可以建立各种可再次利用的模块,一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计,而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块,将这些模块存放在库中,就可以在以后的设计中进行复用。 2.1.2 VHDL程序组成部分 全部的VHDL程序由实体(Entity)、构造体(Architecture)、配置(Configuration)、包集合(Package)、库(Library)5个部分组成。各组成部分的作用是: (1) 实体 用于描述所设计的系统的外部接口信号。 (2) 构造体 用于描述系统内部的结构和行为。 (3) 配置 用于从库中选取不同单元(器件)来组成系统设计的不同版本。 (4) 包集合 存放各设计模块都能共享的数据类型、常数和子程序等。 (5) 库 存放已经编译了的实体、构造体、包集合和配置。库可由系统工程师生成或由ASIC芯片商提供,以便在设计中共享。 2.1.3 VHDL系统优势 (1) 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。 (2) VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。 (3) VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。 (4) 对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。 (5) VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。 2.2 MAX+PLUSⅡ 2.2.1 软件简介 MAX+PLUSⅡ(Multiple Array and Programming Logic User System)开发工具是Altera公司推出的一种EDA工具,具有灵活高效、使用便捷和易学易用等特点。Altera公司在推出各种CPLD的同时,也在不断地升级相应的开发工具软件,已从早起的第一代A+PLUS、第二代MAX+PLUS发展到第三代MAX+PLUSⅡ和第四代Quartus。使用MAX+PLUSⅡ软件,设计者无需精通器件内部的复杂结构,只需用业已熟悉的设计输入工具,如硬件描述语言、原理图等进行输入即可,MAX+PLUSⅡ就会自动将设计转换成目标文件下载到器件中去。MAX+PLUSⅡ开发系统具有以下特点 (1) 多平台。MAX+PLUSⅡ软件可以在基于PC机的操作系统如Windows95、Windows98、Windows2000、Windows NT下运行,也可以在Sun SPAC station等工作站上运行。 (2) 开放的界面。MAX+PLUSⅡ提供了与其他设计输入、综合和校验工具的接口,借口符合EDIF 200/300、LPM、VHDL、Verilog-HDL等标准。目前MAX+PLUSⅡ所支持的主流第三方EDA工具主要有Synopsys、Viewlogic、Mentor、Graphics、Cadence、OrCAD、Xilinx等公司提供的工具。 (3) 模块组合式工具软件。MAX+PLUSⅡ具有一个完整的可编程逻辑设计环境,包括设计输入、设计处理、设计校验和下载编程4个模块,设计者可以按设计流程选择工作模块。 (4) 与结构无关。MAX+PLUSⅡ开发系统的核心——Compiler(编译器)能够自动完成逻辑综合和优化,它支持Altera的Classic、MAX7000、FLEX8000和FLEX10K等可编程器件系列,提供一个与结构无关的PLD开发环境。 (5) 支持硬件描述语言。MAX+PLUSⅡ支持各种HDL设计输入语言,包括VHDL、Verilog-HDL和Altera的硬件描述语言AHDL。 (6) 丰富的设计库。MAX+PLUSⅡ提供丰富的库单元供设计者调用,其中包括一些基本的逻辑单元,74系列的器件和多种特定功能的宏功能模块以及参数化的兆功能模块。调用库单元进行设计,可以大大减轻设计人员的工作量,缩短设计周期。 2.2.2 软件组成 MAX+PLUSⅡ软件采用模块化结构,包括设计输入、项目处理、项目校验和器件编程4个部分,所有这些部分都集成在一个可视化的操作环境下。 (1) 设计输入 MAX+PLUSⅡ的设计输入方法有多种,主要包括文本设计输入、原理图输入、波形设计输入等多种方式。另外,还可以利用第三方EDA工具生成的网表文件输入,该软件可接受的网表有EDIF 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 、VHDL格式及Verilog格式。MAX+PLUSⅡ是一种层次设计工具,可根据实际情况灵活地使用最适合每一层次的设计方法。 (2) 项目处理 设计处理的任务就是对项目进行编译(Compile),编译实际就是将设计者编写的设计改为可以用于生产的“语言”。编译器通过读入设计文件并产生用于编程、仿真和定时分析的输出文件来完成编译工作。MAX+PLUSⅡ提供的编译软件,只需简单的操作,如参数选择、指定功能等,就可进行网表转换、逻辑分割和布线布局。 (3) 项目校验 MAX+PLUSⅡ提供的设计校验过程包括仿真和定时分析,项目编译后,为确保设计无误,要再用专用软件进行仿真。如果发现了错误,则应对设计输入进行部分修改直至无误。 (4) 器件编程 MAX+PLUSⅡ通过编程器(Device Programmer)将编译器生成的编程文件编程或配置到Altera CPLD器件中,然后加入实际激励信号进行测试,检查是否达到了设计要求?Altera公司器件的编程方法有许多种,可通过编程器、JTAG在系统编程及Altera在线配置等方式进行。 在设计过程中,如果出现错误,则需要重新回到设计输入阶段,改正错误或调整电路后重复上述过程。 2.2.3 设计流程 使用MAX+PLUSⅡ进行可编程逻辑器件开发主要包括4个阶段:设计输入、编译处理、验证(包括功能仿真、时序仿真、和定时分析)和器件编程,流程如图2. 1所示: 设计要求 设计输入 编译处理 验证 器件编程 器件测试 系统产品 设计修改 图 2.1 设计流程图 第三章 系统分析 3.1数字频率计的设计任务及要求 设计一个四位十进制的数字频率计,要求具有以下功能: (1) 测量范围:1Hz~10kHz。 (2) 测量误差1%。 (3) 响应时间15s。 (4) 显示时间不少于1s。 (5) 具有记忆显示的功能,即在测量的过程中不刷新数据,等数据过程结束后才显示测量结果,给出待测信号的频率值,并保存到下一次测量结束。 3.2 模块的划分 根据系统设计要求,系统设计采用自顶向下的设计方法,系统的组成框图如图3. 1所示,包括时基产生与测频时序控制电路模块,以及待测信号脉冲计数电路模块和锁存与译码显示控制电路模块。 时基产生与测频时序控制电路 待测信号 脉冲计 数电路 锁存与译码显示电路 EN CLR LOCK q[0:15 ] z1 [0:6] z2[0:6] z3[0:6] z4[0:6] 待测信号 F_IN 标准时钟 CLK 图 3.1 数字频率计的组成框图 (1) 时基产生与测频时序控制电路模块 时基产生与测频时序控制电路的主要产生计数允许信号EN、清零信号CLR和锁存信号LOCK。 (2) 待测信号脉冲计数电路模块 待测信号脉冲计数电路是对待测脉冲信号的频率进行测量,它可由4个十进制加法计数器组成,其中EN为计数选通控制信号,CLR为计数器清零信号。在计数器清零信号CLR清零后,当计数选通控制信号EN有效时,开始对待测信号进行计数。如果计数选通控制信号EN的宽度为1s,那么计数结果就为待测信号的频率;如果计数选通信号EN的宽度为100ms,那么待测信号的频率等于计数结果10。 (3) 锁存与译码显示控制电路模块 锁存与译码显示控制电路用于实现记忆显示,在测量过程中不刷新新的数据,直到测量过程结束后,锁存显示测量结果,并且保存到下一次测量结束。 锁存与译码显示电路的功能是对四位BCD码进行锁存,并转换为对应的4组七段码,用于驱动数码管。 3.3设计分析 采用VHDL语言设计一个复杂的电路系统,运用自顶向下的设计思想,将系统按功能逐层分割的层次化设计方法进行设计。在顶层对内部各功能块的连接关系和对外的接口关系进行了描述,而功能块的逻辑功能和具体实现形式则由下一层模块来描述。各功能模块采用VHDL语言来描述。 第四章 各功能模块基于VHDL的设计 4.1 时基产生与测频时序控制电路模块的VHDL源程序 程序ctrl.vhd LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CTRL IS PORT(CLK: IN STD_LOGIC; -系统时钟 LOCK: OUT STD_LOGIC; -锁存信号 EN: OUT STD_LOGIC; -计数允许信号 CLR: OUT STD_LOGIC); -清零信号 END; ARCHITECTURE ART OF CTRL IS SIGNAL Q: STD_LOGIC_VECTOR(3 DOWNTO 0); -定义变量 BEGIN PROCESS(CLK) BEGIN IF(CLK'EVENT AND CLK='1')THEN -检测时钟上升沿 IF Q="1111"THEN Q<="0000"; -计数大于15,清零 ELSE Q<=Q+'1'; -允许计数 END IF; END IF; EN<=NOT Q(3); LOCK<=Q(3) AND NOT(Q(2)) AND Q(1); CLR<=Q(3) AND Q(2) AND NOT(Q(1)); END PROCESS; END ART; 程序主要讲述了由时钟信号产生计数允许信号、清零信号和锁存信号,而且限定了响应时间为不超过15s。 4.2 待测信号脉冲计数电路模块的VHDL源程序 4.2.1 十进制加法计数器的VHDL源程序 程序cb10.vhd LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CB10 IS PORT(CLK,EN,CLR: IN STD_LOGIC; COUNT10: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); -计数输 信号 END CB10; ARCHITECTURE ART OF CB10 IS -结构体 BEGIN PROCESS(CLK,CLR,EN) BEGIN IF CLR='1' THEN COUNT10<="0000"; -计数器清零 ELSIF RISING_EDGE(CLK) THEN -检测时钟上升沿 IF(EN='1') THEN -检测是否允许计数 IF COUNT10="1001" THEN COUNT10<="0000"; -计数值满9清零 ELSE COUNT10<=COUNT10+'1'; -允许计数 END IF; END IF; END IF; END PROCESS; END ART; 程序主要讲述了十进制加法计数器的使用,在符合了一定的标准以后十进制的使用,在计数器满9后清零。 4.2.2待测信号脉冲计数器的VHDL源程序 程序count.vhd LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY COUNT IS PORT(CLK: IN STD_LOGIC; -待测时钟信号 EN: IN STD_LOGIC; -计数选通控制信号 CLR: IN STD_LOGIC; -计数器清零信号 QA,QB,QC,QD: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); -结果输出信号 END; ARCHITECTURE ART OF COUNT IS COMPONENT CB10 -元件CB10引用说明语句 PORT(CLK,EN,CLR: IN STD_LOGIC; COUNT10: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); -计数输出信号 END COMPONENT; SIGNAL CLK2: STD_LOGIC; SIGNAL CLK3: STD_LOGIC; SIGNAL CLK4: STD_LOGIC; BEGIN CLK2<=NOT QA(3); CLK3<=NOT QB(3); CLK4<=NOT QC(3); U1:CB10 PORT MAP(CLK,EN,CLR,QA); -元件引用例示 U2:CB10 PORT MAP(CLK2,EN,CLR,QB); -元件引用例示 U3:CB10 PORT MAP(CLK3,EN,CLR,QC); -元件引用例示 U4:CB10 PORT MAP(CLK4,EN,CLR,QD); -元件引用例示 END ART; 4.3 锁存与译码显示控制电路模块的VHDL源程序 4.3.1 译码显示电路的VHDL源程序 程序bcd7.vhd LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY BCD7 IS PORT(BCD: IN STD_LOGIC_VECTOR(3 DOWNTO 0); -BCD输入信号 LED: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); -七段译码输出信号 END; ARCHITECTURE ART OF BCD7 IS BEGIN LED<="0111111" WHEN BCD="0000" ELSE -对照七段字形显示译码器真值表 "0000110" WHEN BCD="0001" ELSE "1011011" WHEN BCD="0010" ELSE "1001111" WHEN BCD="0011" ELSE "1100110" WHEN BCD="0100" ELSE "1101101" WHEN BCD="0101" ELSE "1111101" WHEN BCD="0110" ELSE "0000111" WHEN BCD="0111" ELSE "1111111" WHEN BCD="1000" ELSE "1101111" WHEN BCD="1001" ELSE "0000000"; END ART; 程序主要讲述了七段译码器的显示问题,对应的给出了信号输入过程中七段译码器的各种显示。 4.3.2 锁存与译码显示控制模块的VHDL源程序 程序lock.vhd LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY LOCK IS PORT(LOCK: IN STD_LOGIC; QA,QB,QC,QD: IN STD_LOGIC_VECTOR(3 DOWNTO 0); LEDA,LEDB,LEDC,LEDD: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));-频率 计数输出 END; ARCHITECTURE ART OF LOCK IS SIGNAL QAL,QBL,QCL,QDL: STD_LOGIC_VECTOR(3 DOWNTO 0); COMPONENT BCD7 -元件BCD7引用说明语句 PORT(BCD: IN STD_LOGIC_VECTOR(3 DOWNTO 0); LED: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END COMPONENT; BEGIN PROCESS(LOCK) BEGIN IF(LOCK'EVENT AND LOCK='1')THEN -检测时钟上升沿 QAL<=QA; QBL<=QB; QCL<=QC; QDL<=QD; END IF; END PROCESS; U0: BCD7 PORT MAP(QAL,LEDA); -元件引用例示 U1: BCD7 PORT MAP(QBL,LEDB); -元件引用例示 U2: BCD7 PORT MAP(QCL,LEDC); -元件引用例示 U3: BCD7 PORT MAP(QDL,LEDD); -元件引用例示 END ART; 程序主要讲述了调用七段译码器的显示,将输入的信号经过译码之后在七段译码器上进行显示。 4.4 顶层电路的VHDL源程序 程序pinlvji.vhd LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY PINLVJI IS PORT(F_IN,CLK: IN STD_LOGIC; ENT,LOCKT,CLRT: BUFFER STD_LOGIC; Z1,Z2,Z3,Z4: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END PINLVJI; ARCHITECTURE ART OF PINLVJI IS SIGNAL ENS,LOCKS,CLRS: STD_LOGIC; SIGNAL QAS,QBS,QCS,QDS: STD_LOGIC_VECTOR(3 DOWNTO 0); COMPONENT CTRL -元件CTRL引用说明语句 PORT(CLK: IN STD_LOGIC; EN,LOCK,CLR: OUT STD_LOGIC); END COMPONENT; COMPONENT COUNT -元件COUNT引用说明语句 PORT(CLK,EN,CLR: IN STD_LOGIC; QA,QB,QC,QD: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END COMPONENT; COMPONENT LOCK -元件LOCK引用说明语句 PORT(LOCK: IN STD_LOGIC; QA,QB,QC,QD: IN STD_LOGIC_VECTOR(3 DOWNTO 0); LEDA,LEDB,LEDC,LEDD: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END COMPONENT; BEGIN ENT<=ENS; LOCKT<=LOCKS; CLRT<=CLRS; U1:CTRL PORT MAP(CLK,ENS,LOCKS,CLRS); -元件引用例示 U2:COUNT PORT MAP(F_IN,ENS,CLRS,QAS,QBS,QCS,QDS); -元件引用例示 U3:LOCK PORT MAP(LOCKS,QAS,QBS,QCS,QDS,Z1,Z2,Z3,Z4); -元件引用例示 END ART; 第五章 数字频率计波形仿真 5.1 时基产生与测频时序控制电路模块的仿真 图5.1 时基产生与测频时序控制模块的仿真图 图5. 2 时基产生与测频时序控制电路模块的仿真图的详细 图5.1显示的是时基产生与测频时序控制电路模块的仿真图,很鲜明的给出了时钟信号与计数允许信号、清零信号和锁存信号的关系,而图5. 2更加详细的给出了计数允许信号、清零信号和锁存信号与变量Q之间所存在的相对应的关系。 5.2 待测信号脉冲计数电路模块的仿真 5.2.1 十进制加法计数器的仿真 图5.3 十进制加法计数器的仿真图 图5.3显示的是十进制加法计数器的仿真图,它详细的给出了计数输出信号与计数允许信号和清零信号之间的关系,能清楚的理解当CLR为0时,输出为0;在EN为1选通有效后,则开始计数。 5.2.2待测信号脉冲计数器的仿真 图5.4 测信号脉冲计数器的仿真 图5.4显示的是测信号脉冲计数器的仿真图,以图文的形式更直接的表现了信号脉冲的计数值,简介明了。 5.3 锁存与译码显示控制电路模块的仿真 5.3.1 译码显示电路的仿真 图5.5 译码显示电路的仿真图 图5.5显示的是译码显示电路的仿真图,它直接用图形诠释了程序中语句的意思,让人一目了然,更简单的了解了模块的作用。 5.3.2 锁存与译码显示控制模块的仿真 图5.6 锁存与译码显示控制电路的仿真图 图5.6显示的是锁存与译码显示控制电路的仿真图,给人第一感觉很繁琐,但是联系程序再看图就可以很轻松的清楚程序中之前还存在的疑惑也将图从而理解透彻。 5.4 数字频率计系统的仿真 图5.7 数字频率计系统的仿真 图5.7显示的是数字频率计系统的仿真图,它系统的体现了所设计的频率计的作用。 结论 本设计采用EDA技术,利用测频法的原理和VHDL语言,采用自顶向下的设计方法,实现了1Hz~10kHz测量范围的四位十进制的数字频率计,并在MAX+PLUSⅡ软件平台下对设计项目进行的了编译和时序仿真。实验结果表明,该系统能够满足本次设计的要求,并且具有测量误差小,可靠性高的优点。本文的设计工作能作为电子测量与仪表技术的基础,为计算机、通讯设备、音频视频等科研生产领域提供较好的参考。 EDA课程设计就要结束了,这次课程设计历时近一个星期,通过这一个星期的学习,发现了自己的很多不足,发现了很多知识上的漏洞。同时也看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。这次课程设计让我学到了很多,不仅是巩固了先前学的EDA技术的理论知识,而且也培养了我的动手能力,更令我的创造性思维得到拓展。在课程设计中一个人的力量是远远不够的,真正的完成任务需要共同的智慧与劳动,团结协作是我们成功的一项非常重要的保证。在这个过程中,我也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。 还有一点是我们做任何事情都无法缺少的,那就是细心认真。此次设计我们就深深地体会到了,由于编程的时候没有做到足够的细心,导致一串代码弄混了。但是密密麻麻的英文字母混在一起,我始终没有发现。最终在调试的时候,就出现了问题。只知道出现了问题,就是不知道到问题的根源在哪里,好长时间都没有找出问题的所在。这也让我真正的明白了,科学的严谨性,它不允许出半点差错,否则后果会是比较麻烦的。做其他事情也一样,都需要我们付出足够的认真去对待,才能顺利的完成。 对我而言,知识上的收获重要,精神上的丰收更加可喜。让我知道了学无止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。挫折是一份财富,经历是一份拥有。这次课程设计必将成为我人生旅途上一个非常美好的回忆! 参考文献: [1] 曹昕燕 周凤臣 聂春燕 编著.《EDA技术试验与课程设计》.[M].北京:清华大学出版社 ,2006.5 [2] 徐志军 王金明 尹廷辉 徐光辉 苏勇 编著.《EDA技术与VHDL设计》. [M].北京:电子工业出版社,2009.1 [3] 刘欲晓 方强 黄宛宁 等编著.《EDA技术与VHDL电路开发应用实践》.[M].北京:电子工业出版社,2009.4 [4] 朱正伟 主编.《EDA技术及应用》[M].北京:清华大学出版社,2005.10 [5] 潘松 黄继业 编著.《EDA技术与VHDL(第2版)》[M]. 北京:清华大学出版社,2007.1 [6] 赵明富 刘文进 主编.《EDA技术基础》[M].北京:北京大学出版社,2007.6 [7] 柳春锋 主编.《电子设计自动化(EDA)教程》[M]. 北京:北京理工大学出版社,2005.8 [8] 潘松 黄继业 编著.《EDA技术实用教程》[M].北京:科学出版社,2005 [9] 赵明富 主编.《EDA技术与实践》[M].北京:清华大学出版社,2005.11 [10] 邹彦 等编著.《EDA技术与数字系统设计》[M].北京:电子工业出版社,2007.4
本文档为【基于VHDL的数字频率计的的设计论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥17.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
北溟愚鱼
暂无简介~
格式:doc
大小:145KB
软件:Word
页数:27
分类:工学
上传时间:2018-09-23
浏览量:16