收藏 分享(赏)

八位十进制数字频率计设计.doc

上传人:春华秋实 文档编号:3291665 上传时间:2018-10-10 格式:DOC 页数:37 大小:2.05MB
下载 相关 举报
八位十进制数字频率计设计.doc_第1页
第1页 / 共37页
八位十进制数字频率计设计.doc_第2页
第2页 / 共37页
八位十进制数字频率计设计.doc_第3页
第3页 / 共37页
八位十进制数字频率计设计.doc_第4页
第4页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、.页眉.页脚JISHOU UNIVERSITY本 科 生 毕 业 设 计题 目: 8 位十进制数字频率计的设计作 者: 胡 泽学 号: 2008103029所属学院: 吉首大学张家界学院专业年级: 电子信息科学与技术 2008 级指导教师: 谭 明 涛 职 称: 讲 师完成时间: 2012 年 5 月 15 日吉首大学教务处制.页眉.页脚8 位十进制数字频率计的设计 胡 泽(吉首大学张家界学院,湖南 吉首 416000)摘 要数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波、方波或其它周期性变化的信号。数字频率计广泛应用于科研机构、学校、实验室、企业生产车间等场所。研究数字频率计

2、的设计和开发,有助于频率计功能的不断完善、性价比的提高和实用性的加强。本文介绍了一种自顶向下分层设计多功能数字频率计的设计方法。该频率计采用 VHDL 硬件描述语言编程,以 QuartusII 为开发环境,极大地减少了硬件资源的占用。数字频率计模块划分的设计具有相对独立性,可以对模块单独进行设计、调试和修改,缩短了设计周期。所设计的 VHDL 语言通过仿真能够较好的测出所给频率并且满足数字频率计的自动清零和自动测试的功能要求,具有理论与实践意义。关键词:VHDL ;数字频率计; EDA; QuartusII.页眉.页脚The Research About the Eight Decimal D

3、igital Frequency MeterHu Ze(College of Zhangjiajie ,Jishou University , Jishou ,Hunan 416000)Abstract Digital frequency meter instrument with digital display of measured signal frequency the measured signal is sine wave, square wave or other periodic vary signals. Digital frequency meter is widely u

4、sed in scientific research institutions, schools, laboratories, production workshop and other places. Study of digital frequency meter design and development, contribute to the frequency meter function ceaseless and perfect, cost-effective and improve the utility of strengthen.This paper introduces

5、a top-down hierarchical design method of multifunctional digital frequency meter. The frequency of the use of VHDL hardware description language programming, to QuartusII environment for the development, greatly reduces the occupation of hardware resources. Digital frequency meter module design divi

6、sion of the relative independence of the module, a separate design, debug and modify, shorten the design cycle. The design of VHDL language through the simulation can make measure to meet the digital frequency meter frequency and automatic reset and automatic test function requirements, has great th

7、eory and practice significance.Key words: VHDL; Digital frequency meter; EDA ; QuartusII.页眉.页脚目 录第一章 绪论 11.1 设计背景 .11.2 设计意义 .11.3 本文的主要工作 .2第二章 EDA 技术原理与概述 .32.1 可编程逻辑器件基本原理 .32.2 硬件描述语言 .42.3 集成开发软件 .5第三章 数字频率计的系统分析 103.1 8 位十进制数字频率计系统设计的原理 .103.1.1 数字频率计的基本原理 103.1.2 系统总体框架图 103.2 8 位十进制数字频率计设计任务

8、与要求 113.3 目标芯片 FLEX10K.11第四章 各功能模块基于 VHDL 的设计与仿真 .134.1 8 位十进制数字频率计的电路逻辑图 134.2 测频控制信号发生器的功能模块及仿真 .144.3 系统时钟分频的功能模块及仿真 154.4 32 位锁存器的功能模块及仿真 164.4.1 锁存器 164.4.2 锁存器的功能模块及仿真 174.5 数码管扫描的功能模块及仿真 .184.6 数码管译码显示的功能模块及仿真 .194.7 十进制计数器的功能模块及仿真 .214.7.1 计数器 214.7.2 十进制计数器的功能模块及仿真 214.8 8 位十进制数字频率计的仿真 23第五

9、章 结束语 30参考文献 31.页眉.页脚第一章 绪 论1.1 设计背景数字频率计 1是电子测量与仪表技术最基础的电子仪表类别之一,数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器,而且它是数字电压必不可少的部件。当今数字频率计不仅是作为电压表,计算机,天线电广播通讯设备,工艺过程自动化装置、多种仪表仪器与家庭电器等许多电子产品中的数据信息输出显示器反映到人们眼帘。集成数字频率计由于所用元件少、投资少、体积小、功耗低,且可靠性高、功能强、易于设计和研发,使得它具有技术上的实用性和应用的广泛性。不论从我们用的彩色电视机、电冰箱、DVD 还有我们现在家庭常用到的数字电压表数字

10、万用表等等都包含有频率计。现在频率计已是向数字智能方向发展,即可以很精确的读数也精巧易于控制。数字频率计已是现在频率计发展的方向,它不仅可以很方便的读数。而且还可以使频率的测量范围和测量准确度上都比较先进.而且频率计的使用已设计到很多的方面,数字卫星,数字通讯等高科技的领域都有应用,今天数字频率计的发展已经不仅仅是一个小电子产品的发展也是整个民族乃至整个国家的发展,所以频率计的发展是一个整体的趋势。而从民族产业上来说,我们在这种产业中还落后于西方发达国家,这将会关系到民族产业的兴衰。所以我们必须很重视当前的情况,学习发达国家的先进技术来发展本国的电子信息产业。1.2 设计意义我国的频率计其实不

11、是落后发达国家太多的,我国在这个领域的发展是极其迅速的,现在的技术实际已是多年来见证。我国现阶段电子产品的市场特点,电子数字化发展很快。在我国和发达国家的发展情况是趋于一致的,数字频率计已经应用于高科技等产品上面,可以不无夸张的说没有不包含有频率计的电子产品。我国的CD、VCD、DVD 和数字音响广播等新技术已开始大量进入市场。而在今天这些行业中都必须用到频率计。频率计已开始并正在向智能,精细方向的发展。国外的发展比我国要早,所以在这些行业中还领先于我们,我国还是缺少开发和研发的资金投入,很多的电子企业都不太乐意去花大量的时间,资金和精力去研究和开发,这也就使得我国在这方面的人力和资金都不充足

12、,也就无法于发达国家相比,不能够形成一个量产.页眉.页脚的效果。从而很多的企业没有竞争力,这也和我国其他的民族产业存在相同的情况,这也正是我国在高速发展后的今天很少有自己的民族品牌的原因,所以我国应该大力的支持自己的民族品牌,不仅仅是要在资金和人才的投入,还要有具体的实际行动并起到一定的保护作用。1.3 本文的主要工作本文的主要工作为:(1)首先分析了 8 位十进制数字频率计的基本原理。(2)对设计工具 Quartus II 进行了介绍,对设计中使用的 VHDL 语言 2-3进行介绍。(3)对数字频率计的各个模块功能的分析,进行了功能仿真测试,得出仿真波形图。本文的安排如下:第一章介绍数字频率

13、计的设计背景,设计意义,第二章介绍EDA 技术原理与概述,本论文是以 EDA 技术为基础编写的所以对 EDA 技术的要求比较高,对 VHDL 语言的编写以及 QuartusII 的运用都要比较熟练。介绍了可编程逻辑器件 FPGA 和硬件描述语言,第三章是对数字频率计的基本原理以及对设计的要求进行概述,对目标芯片的介绍等,第四章介绍各个功能模块的基本功能以及 VHDL 语言的分析,将各部分进行仿真并对其进行仿真分析,测出所给频率。对该设计的数字频率计的仿真进行理论值与实验值的验证,第五章是本文的结束语。.页眉.页脚第二章 EDA 技术原理与概述2.1 可 编 程 逻 辑 器 件 基 本 原 理F

14、PGA 4-5是 一 种 高 密 度 的 可 编 程 逻 辑 器 件 ,自 从 Xilinx 公 司 1985 年 推 出 第 一片 FPGA 以 来 ,FPGA 的 集 成 密 度 和 性 能 提 高 很 快 ,其 集 成 密 度 最 高 达 1000 万 门 /片 以 上 ,系 统 性 能 可 达 300MHz。 由 于 FPGA 器 件 集 成 度 高 ,方 便 易 用 ,开 发 和 上 市周 期 短 ,在 数 字 设 计 和 电 子 生 产 中 得 到 迅 速 普 及 和 应 用 。 FPGA 采 用 了 逻 辑 单 元 阵列 LCA( Logic Cell Array) 这 样 一

15、个 概 念 , 内 部 包 括 可 配 置 逻 辑 模 块CLB( Configurable Logic Block) 、 输 出 输 入 模 块 IOB( Input Output Block) 和 内部 连 线 ( Interconnect) 三 个 部 分 。 现 场 可 编 程 门 阵 列 ( FPGA) 是 可 编 程 器 件 。与 传 统 逻 辑 电 路 和 门 阵 列 ( 如 PAL, GAL 及 CPLD 器 件 ) 相 比 , FPGA 具 有 不 同的 结 构 , FPGA 利 用 小 型 查 找 表 ( 161RAM) 来 实 现 组 合 逻 辑 , 每 个 查 找 表

16、连 接到 一 个 D 触 发 器 的 输 入 端 , 触 发 器 再 来 驱 动 其 他 逻 辑 电 路 或 驱 动 I/O, 由 此 构 成了 既 可 实 现 组 合 逻 辑 功 能 又 可 实 现 时 序 逻 辑 功 能 的 基 本 逻 辑 单 元 模 块 , 这 些 模 块 间利 用 金 属 连 线 互 相 连 接 或 连 接 到 I/O 模 块 。 FPGA 的 逻 辑 是 通 过 向 内 部 静 态 存 储 单元 加 载 编 程 数 据 来 实 现 的 , 存 储 在 存 储 器 单 元 中 的 值 决 定 了 逻 辑 单 元 的 逻 辑 功 能 以及 各 模 块 之 间 或 模 块

17、 与 I/O 间 的 联 接 方 式 , 并 最 终 决 定 了 FPGA 所 能 实 现 的 功 能 ,FPGA 允 许 无 限 次 的 编 程 。FPGA 器 件 优 点 : 高 密 度 、 高 速 率 、 系 列 化 、 标 准 化 、 小 型 化 、 多 功 能 、 低 功耗 、 低 成 本 , 设 计 灵 活 方 便 , 可 无 限 次 反 复 编 程 , 并 可 现 场 模 拟 调 试 验 证 。.页眉.页脚图 2.1 FPGA 基本结构2.2 硬件描述语言目前最主要的硬件描述语言是 VHDL 和 Verilog HDL,Verilog HDL 和 HDL 都是用于逻辑设计的硬件描

18、述语言,并且都已成为 IEEE 标准。VHDL 发展的较早,语法严格,而 Verilog HDL 是在 C 语言的基础上发展起来的一种硬件描述语言,语法较自由。 VHDL 和 Verilog HDL 两者相比,VHDL 的书写规则比 Verilog 烦琐一些,但 verilog自由的语法也容易让少数初学者出错。Verilog HDL 和 VHDL 作为描述硬件电路设计的语言,其共同的特点在于:能形式化地抽象表示电路的行为和结构、支持逻辑设计中层次与范围的描述、可借用高级语言的精巧结构来简化电路行为的描述、具有电路仿真与验证机制以保证设计的正确性、支持电路描述由高层到低层的综合转换、硬件描述与实

19、现工艺无关。本设计是用的 VHDL 语言来实现数字频率计的设计的,本设计将重点介绍 VHDL 语言。VHDL 语言主要用于描述数字系统的结构,行为,功能和接口。VHDL 的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是 VHDL 系统设计的基本点。VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用,它自身必然具有很多其他硬件描述语言所不

20、具备的优点。VHDL 程序组成部分由实体、构造体、配置、包集合、库 5 个部分组成。各组成部分的作用是:(1)实体:用于描述所设计的系统的外部接口信号。(2)构造体:用于描述系统内部结构和行为。(3)配置:用于从库中选取不同单元(器件)来组成系统设计的不同版本。(4)包集合:存放各设计模块都能共享的数据类型,常数和子程序等。(5)库:可由系统工程师生成或由 ASIC 芯片商提供,以便在设计中共享。 VHDL 系统优势(1)与其他的硬件描述语言相比,VHDL 具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规

21、模电子系统的重要保证。(2) VHDL 丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计.页眉.页脚系统的功能可行性,随时可对设计进行仿真模拟。(3)VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。 (4)对于用 VHDL 完成的一个确定的设计,可以利用 EDA 工具进行逻辑综合和优化,并自动的把 VHDL 描述设计转变成门级网表。(5) VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独

22、立的设计。2.3 集成开发软件QuartusII6-7是 Altera 公司推出的新一代开发软件,适合于大规模逻辑电路设计,其设计流概括为设计输入 8、设计编译、设计仿真和设计下载过程。QuartusII 支持多种编辑输入法,包括图形编辑输入法,VHDL,VerilogHDL 和 AHDL 的文本编辑输入法,符号编辑输入法,以及内存编辑输入法。QuartusII 与 MATLAB 和 DSP Builder 结合可以进行基于 FPGA 的 DSP 系统开发,是 DSP 硬件系统 9实现的关键 EDA 工具,与SOPC Builder 结合,可实现 SOPC 系统开发。Quartus(R) II

23、 软件中的工程由所有设计文件和与设计有关的设置组成。可以使用 Quartus II Block Editor、Text Editor、MegaWizard(R) Plug-In Manager(Tools 菜单)和 EDA 设计输入工具 10建立包括 Altera(R) 宏功能模块、参数化模块库 (LPM) 函数和知识产权 (IP) 函数在内的设计。可以使用 Settings 对话框(Assignments 菜单)和 Assignment Editor 设定初始设计约束条件。如图 2.2 所示为设计输入流程图。.页眉.页脚图 2.2 设计输入流程图本设计将以 QuartusII 软件来进行各个

24、数据的操作,将仿真的图形数据来分析该课题。本设计所选择的 QuartusII 文本编辑输入法,在文本编辑窗口中完成 VHDL 设计文件的编辑,然后对设计文件进行编译、仿真操作。详细介绍 QuartusII 文本编辑输入法的使用方法:1.编辑设计文件(1) 新建一个文件夹。利用资源管理器,新建一个文件夹,如 e:SIN GNT。(2) 输入源程序。打开 QuartusII,执行 FileNew, 在 New 窗口中的“Device Design Files”中选择编译文件的语言类型,这里选 “VHDL Files”,然后在 VHDL 文本编译窗口中键入 VHDL 程序。如图 2.3 所示。(3)

25、 文件存盘。执行 File Save As,找到已设立的文件夹 e:SIN_GNT,存盘文件名应该与实体名一致。2.创建工程(1)建立新工程管理窗。执行 FileNew Project Wizard 命名,在图 2.4 对话框进行工程设置。(2)将设计文件加入工程中。(3)选择仿真器和综合器类型。(4)选择芯片。(5)结束设置。3.编译前设置 图 2.3 选择编辑文件的语言类型.页眉.页脚图 2.4 利用“New Project Wizard”创建工程(1) 选择目标芯片,执行 Assignmemtssettings 命令,在弹出的对话框中选Compiler Settings 项下的 Devi

26、ce 选目标芯片。(2)选择目标器件编程配置方式,由图 2.5 的按钮 Device Pin Options 进入选择窗,可选 Configuration 方式为 Active Serial。 (3)在下图所示的 Programming Files 窗口,Hexadecimal(Intel-Format)output File,即产生下载文件的同时,产生二进制十六进制配置文件 fraqtest.hexout,可用于单片机与EPROM 构成的 FPGA 配置电路系统如图 2.6 所示。4.编译及了解编译结果首先执行 ProcessingStart Compilation 命令,启动全程编译,如果

27、工程中的文件有错误,在下方的 Processing 处理栏中会显示出来。对于 Processing 栏显示出的语句格式错误,可双击此条文,即弹出 VHDL 文件,在闪动的光标处(或附近)可发现文件中的错误。再次进行编译直至排除所有错误。5.仿真(1)打开波形编辑器。选择菜单 FileNew 命令,在 New 窗口中选择 Other Files中的“Vector Waveform File”打开波形编辑器。(2)设置仿真时间区域。执行 EditEnd Time 项,在弹出窗口中的 Time 窗口中的设定仿真时间 50s。(3)存盘波形文件。选择 File 中的 Save as,将以名为 cnt4

28、b 的波形文件存入文件夹。(4)输入信号节点。(5)编辑输入波形。点击时钟名 CLK,使之变为蓝色,再点击左列的时钟设置键,在 Clock 窗口中设置 CLK 的周期为 3s,再对文件存盘。.页眉.页脚图 2.5 选择配置器件和配置方式(6)总线数据格式设置。如果点击输出信号 DOUT 左旁的“+” ,则将展开此总线中的所有信号;如果双击此“+”号左旁的信号标记,将弹出对该信号数据格式设置的Radix 栏有 4 种选择。(7)仿真器参数设置。执行 AssignmentSettings 命令,在 Settings 窗口执行CatgorySimulator Settings 命名,在此项下分别选中

29、 General 按钮,观察仿真总体设置情况;选中 Mode 按钮,以确定仿真模式为时序仿真 Timing;选中 Optiongs,确认选定“Simulation coverage reporting”;毛刺检测 Glitch detection 为 1ns 宽度。(8)启动仿真器,观察仿真结果。执行 ProcessingStart Simulation 命名,直到出现“Simulation was successful”。仿真波形文件 Simulation Report 通常会自动弹出,将仿真输出结果与文件数据比较。.页眉.页脚图 2.6 选定目标器件.页眉.页脚第三章 数字频率计的系统分析

30、3.1 8 位十进制数字频率计系统设计的原理3.1.1 数字频率计的基本原理数字频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为 1 秒。闸门时间也可以大于或小于一秒。闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的间隔就越长。闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。数字频率计的主要功能是测量周期信号的频率。频率是单位时间(1S)内信号发生周期变化的次数。如果我们能在给定的 1S 时间内对信号波形计数,并将计数结果显示出来,就能读取被测信号的频率。数字频率计首先必须获得相对稳定与准确的

31、时间,同时将被测信号转换成幅度与波形均能被数字电路识别的脉冲信号,然后通过计数器计算这一段时间间隔内的脉冲个数,将其换算后显示出来。这就是数字频率计的基本原理。3.1.2 系统总体框架图图 3.1 系统总体框架图总体框图设计思路:由 50MHz 系统时钟分频得到 0.5Hz 的基准时钟。在基准时钟的 1S 高电平期间计被测频率的脉冲个数,1S 高电平结束时计数结束,所记录.页眉.页脚的脉冲个数是被测信号的频率,为了在数码管上显示计数结果需要锁存器将所计的数锁存,因此,在基准时钟下降沿来的时候锁存器实现锁存功能。为了下次计数必须将本次计数的结果清零,所以在基准时钟低电平期间对计数器清零。被测频率

32、从计数器的是中端输入实现频率的测试。将锁存器锁存的数据输入扫描器,通过译码器将锁存的二进制数译成十进制然后显示到数码管上,最终被读出来。3.2 8 位十进制数字频率计设计任务及要求用测频法设计一个八位十进制的数字频率器,测频范围是 1HZ 到49999999HZ。(1)测量范围信号:方波、正弦波;幅度:0.5V 5V ;频率:1Hz4999999 HZ。(2)测量范围信号:脉冲波;幅度:0.5V5V;脉冲宽度100s.测量误差1%。(3)显示器:十进制数字显示,显示刷新时间 110 秒连续可调,对上述三种测量功能分别用不同颜色的发光二极管指示。 (4)具有自校功能,时标信号频率为 1Hz。 3

33、.3 目标芯片 FLEX10K 目标芯片 11选用 Altera 公司生产的 FPGA 产品 FLEX10K 系列 9中的 LC84-4,FLEX10K 是 ALTERA 公司研制的第一个嵌入式的 PLD 可编程逻辑器件系列。它具有高密度、低成本、低功率等特点,利用 FLEX10K 系列 CPLD 可编程逻辑器件的 EAB 可在系统中实现逻辑功能和存贮功能。FLEX10K 是 ALTERA 公司研制的第一个嵌入式的 PLD,它具有高密度、低成本、低功率等特点,是当今 ALTERA CPLD 中应用前景最好的器件系列之一。它采用了重复可构造的 CMOS SRAM 工艺,并把连续的快速通道互连与独

34、特的嵌入式阵列结构相结合,同时可结合众多可编程器件来完成普通门阵列的宏功能。每一个 FLEX10K 器件均包括一个嵌入式阵列和一个逻辑阵列,因而设计人员可轻松地开发集存贮器、数字信号处理器及特殊逻辑等强大功能于一身的芯片。 FPGA 采用可编程的查找表 LUT(Look Up Table)结构。LUT 是可编程的最小逻辑单元,大部分 FPGA 采用基于 SRAM 的查找表逻辑形式结构,用 SRAM 来构成逻辑函数发生器。FLEX 内部结构如图 3.2 所示。.页眉.页脚图 3.2 FLEX 内部芯片结构.页眉.页脚第四章 各功能模块基于 VHDL 的设计与仿真4.1 8 位十进制数字频率计的电

35、路逻辑图8 位十进制数字频率计的电路逻辑图,它由一个测频控制信号发生器TESTCTL、8 个有时钟使能的十进制计数器 CNT10、一个 32 位锁存器 REG32B 8组成。以下分别叙述频率计各逻辑模块的功能与设计方法。8 位十进制数字频率计的电路逻辑如图 4.18 所示。图 4.1 8 位十进制数字频率计的电路逻辑图4.2 测频控制信号发生器的功能模块及仿真(1)测频控制信号发生器的功能模块如图 4.2 所示。图 4.2 测频控制信号发生器的功能模块图(2)源程序如下:.页眉.页脚LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_L

36、OGIC_UNSIGNED.ALL;ENTITY TESTCTL IS PORT(CLK:IN STD_LOGIC; -1 Hz 测频控制时钟TSTEN:OUT STD_LOGIC; -计数器时钟使能CLR_CNT:OUT STD_LOGIC; -计数器清零LOAD:OUT STD_LOGIC); -输出锁存信号END ENTITY TESTCTL;ARCHITECTURE ART OF TESTCTL IS SIGNAL DIV2CLK :STD_LOGIC;BEGINPROCESS ( CLK ) ISBEGINIF CLKEVENT AND CLK= 1 THEN -1HZ 时钟二分频D

37、IV2CLKDAOUTDAOUTDAOUTDAOUTDAOUTDAOUTDAOUTDAOUTNULL; END CASE;END PROCESS; SELDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTNULL; END CASE;.页眉.页脚END PROCESS; END ARCHITECTURE behav;数码译码 14主要是用来完成各种码制之间的转换。例如可用来完成 BCD十进制数、十进制数BCD 之间数制的转换。从图 4.11 仿真图可知,当 LED 的输入为“0X7E”数码管就会显示为“0” ,当 L

38、ED 的输入为 “0X06”数码管就会显示为“1”。图 4.11 为数码管译码显示仿真图。图 4.11 数码管译码显示仿真图4.7 十进制计数器的功能模块及仿真4.7.1 计数器计数是一种最简单基本的运算,计数器 15就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有 RS 触发器、T 触发器、D 触发器及 JK 触发器等。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令

39、,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。计数器可以用来显示产品的工作状态,一般来说主要是用来表示产品已经完成了多少份的折页配页工作。它主要的指标在于计数器的位数,常见的有 3 位和 4 位的。很显然,3 位数的计数器最大可以显示到 999,4 位数的最大可以显示到 9999。4.7.2 十进制计数器的功能模块及仿真(1)十进制计数器的功能模块如图 4.12 所示。 .页眉.页脚图 4.12 十进制计数器的功能模块(2)源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY CNT10 ISPORT

40、 (CLK:IN STD_LOGIC; -计数时钟信号CLR:IN STD_LOGIC; -清零信号ENA:IN STD_LOGIC; -计数使能信号CQ:OUT INTEGER RANGE 0 TO 15; -4 位计数结果输出CARRY_OUT:OUT STD_LOGIC); -计数进位END ENTITY CNT10;ARCHITECTURE ART OF CNT10 IS SIGNAL CQI :INTEGER RANGE 0 TO 15;BEGINPROCESS(CLK,CLR,ENA)ISBEGINIF CLR= 1 THEN CQI= 0; -计数器异步清零ELSIF CLKEV

41、ENT AND CLK= 1 THEN IF ENA=1 THEN IF CQI9 THEN CQI=CQI+1;ELSE CQI=0;END IF; -等于 9,则计数器清零END IF;END IF;END PROCESS;PROCESS (CQI) ISBEGINIF CQI=9 THEN CARRY_OUT= 1; -进位输出ELSE CARRY_OUT= 0;END IF;END PROCESS;.页眉.页脚CQ=CQI;END ARCHITECTURE ART;该仿真的作用是实现十进制计数功能。从仿真图 4.13 中可以得出,当第一个CNT10 计数输出 CQ=9 时,下一秒时钟上

42、升沿到来时,将产生一个 CARRY_OUT信号作为下一个 CNT10 的时钟信号,同时 CQ 清零,依次递推到 8 个 CNT10。图 4.13 十进制计数器仿真图4.8 8 位十进制数字频率计的功能仿真及电路图LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY CNT10 ISPORT (CLK:IN STD_LOGIC; -计数时钟信号CLR:IN STD_LOGIC; -清零信号ENA:IN STD_LOGIC; -计数使能信号CQ:OUT INTEGER RANGE 0 TO 15; -4 位计数结果输出CARRY_OUT:OUT STD_

43、LOGIC); -计数进位END ENTITY CNT10;ARCHITECTURE ART OF CNT10 IS SIGNAL CQI :INTEGER RANGE 0 TO 15;BEGINPROCESS(CLK,CLR,ENA)ISBEGINIF CLR= 1 THEN CQI= 0; -计数器异步清零ELSIF CLKEVENT AND CLK= 1 THEN IF ENA=1 THEN IF CQI9 THEN CQI=CQI+1;ELSE CQI=0;END IF; -等于 9,则计数器清零END IF;.页眉.页脚END IF;END PROCESS;PROCESS (CQI)

44、 ISBEGINIF CQI=9 THEN CARRY_OUT= 1; -进位输出ELSE CARRY_OUT= 0;END IF;END PROCESS;CQ=CQI;END ARCHITECTURE ART;LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG32B IS PORT(LOAD:IN STD_LOGIC;DIN:IN STD_LOGIC_VECTOR(31 DOWNTO 0);DOUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END ENTITY REG32B;ARCHITECTURE ART O

45、F REG32B IS BEGINPROCESS ( LOAD, DIN ) ISBEGINIF LOAD EVENT AND LOAD= 1 THEN DOUT=DIN; -锁存输入数据END IF;END PROCESS;END ARCHITECTURE ART;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TESTCTL IS PORT(CLK:IN STD_LOGIC; -1 Hz 测频控制时钟TSTEN:OUT STD_LOGIC; -计数器时钟使能CLR_CNT:OU

46、T STD_LOGIC; -计数器清零LOAD:OUT STD_LOGIC); -输出锁存信号END ENTITY TESTCTL;ARCHITECTURE ART OF TESTCTL IS SIGNAL DIV2CLK :STD_LOGIC;.页眉.页脚BEGINPROCESS ( CLK ) ISBEGINIF CLKEVENT AND CLK= 1 THEN -1 HZ 时钟二分频DIV2CLK=NOT DIV2CLK;END IF ;END PROCESS;PROCESS ( CLK,DIV2CLK ) ISBEGIN IF CLK= 0 AND DIV2CLK = 0 THEN -

47、产生计数器清零信号CLR_CNT= 1;ELSE CLR_CNT= 0 ; END IF;END PROCESS;LOAD=NOT DIV2CLK; TSTEN=DIV2CLK;END ARCHITECTURE ART;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FREQ8 ISPORT(FSIN:IN STD_LOGIC;CLK:IN STD_LOGIC;DOUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END ENTITY FREQ8;ARCHITECTURE ART OF FREQ8 ISCOMPONENT

48、CNT10 IS -待调用的有时钟使能的十进制计数器端口定义PORT(CLK,CLR,ENA:IN STD_LOGIC;CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CARRY_OUT:OUT STD_LOGIC);END COMPONENT CNT10;COMPONENT REG32B IS -待调用的 32 位锁存器端口定义PORT(LOAD:IN STD_LOGIC;DIN:IN STD_LOGIC_VECTOR(31 DOWNTO 0);DOUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END COMPONENT REG32B;COMPONENT TESTCTL IS -待调用的测频控制信号发生器端口定义PORT(CLK:IN STD_LOGIC; TSTEN:OUT STD_LOGIC; CLR_CNT:OUT STD_LOGIC; LOAD:OUT STD_LOGIC);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报