毕业论文——基于MUX结构的温度计码解码器的设计.doc

上传人:滴答 文档编号:1272274 上传时间:2019-01-25 格式:DOC 页数:59 大小:7.96MB
下载 相关 举报
毕业论文——基于MUX结构的温度计码解码器的设计.doc_第1页
第1页 / 共59页
毕业论文——基于MUX结构的温度计码解码器的设计.doc_第2页
第2页 / 共59页
毕业论文——基于MUX结构的温度计码解码器的设计.doc_第3页
第3页 / 共59页
毕业论文——基于MUX结构的温度计码解码器的设计.doc_第4页
第4页 / 共59页
毕业论文——基于MUX结构的温度计码解码器的设计.doc_第5页
第5页 / 共59页
点击查看更多>>
资源描述

1、盐城工学院本科生毕业设计 毕业设计说明书 基于 MUX结构的温度计码解码器设计 专业 电气工程及其自动化 学生姓名 班级 学号 指导教师 完成日期 盐城工学院本科生毕业设计 基于 MUX 结构的温度计码解码器的设计 摘 要 : 在 21 世纪,高新技术产业得到了巨大的发展,高精度的时间间隔测量技术成为多个学科研究的重要依据,为航空航天领域,原子物理领域的研究发展做出了巨大贡献。通过了解延时链的工作原理和温度计码的由来,设计基于MUX 结构的时间数字转换器,可快速找 出 温度计码转换 1-0( 0-1)跳变处的位置,并将它转换成二进制码 ,计算出延迟时间。 运用 HDL语言、 Modelsim

2、和 Quartus II设计实现了基于 MUX 结构的温度计码解码器,对于出现一个 bubble 和两个bubble 时的亚稳态误差,可以设计一个编译器对输入的温度计码进行预处理,使得出现 bubble 时也能得到正确的输出结果。使用该设计方案,只需要较少的逻辑资源就可以实现 MUX 结构的时间数字转换器高精度的测量要求,并且程序开发时间短,易于维护升级,成本低,运行效率高,系统稳定,实用性强等优点。这就满足了课题 设计要求,解码高效,并可以克服 bubble 出现时的亚稳态误差。 关键词: FPGA; MUX 结构; 温度计码解码器; 盐城工学院本科生毕业设计 The design of T

3、hermometer code decoder based on MUX structure Abstract:In the 21st century, high-tech industry has been tremendous growth, high-precision time measurement technology has become an important basis for multi-disciplinary research space for research and development in aerospace, atomic physics has mad

4、e tremendous contributions. Work for the delay through the chain and the origin of the thermometer code, based on time-digital converter MUX structure, can quickly find the thermometer code converter 1-0 (0-1) transition at the position, and convert it to binary code calculates the delay time. Using

5、 HDL language, Modelsim and Quartus II design and implementation of the thermometer code decoder based MUX structure, for the emergence of a bubble and the bubble when the two metastable error, you can design a compiler to preprocess the input thermometer code, so can get the correct output results

6、appear bubble.I also took into account the emergence of a bubble and simulation distortion when the two bubble, and design a compiler to preprocess the input thermometer code, so that can get the correct output results appear bubble. Use this design requires less logic resources can implement time d

7、igital converter MUX structure high precision measurement requirements and program development time is short, easy to maintain and upgrade, low cost, high efficiency, system stability, practicality and other advantages. This satisfies the requirements of the subject design, decoding and efficient, a

8、nd can overcome the bubble error. Key Words: FPGA; MUX structure; thermometer code decoder; 基于 MUX 结构的温度计码解码器设计 目 录 1. 概 述 . 1 1.1 背景意义 . 1 1.2 研究现状 . 1 1.3 HDL 语言与 EDA 软件 . 1 1.4 论文结构 . 2 2.系统总体设计 . 3 2.1 延时链测量原理及温度计码的由来 . 3 2.2 亚稳态 . 3 2.3 MUX 解码器算法 . 4 3.设计实现 . 6 3.1 8 位温度计码解码器的实现 . 6 3.2 16 位温度计

9、码解码器的实现 . 10 3.3 32 位温度计码解码器的实现 . 14 3.4 64 位温度计码解码器的实现 . 19 3.5 引脚资源表 . 21 3.6 阻止亚稳态传播 . 21 4.系统仿真 . 22 4.1 8 位温度计码解码器的仿真 . 22 4.2 16 位 MUX 结构的温度计码解码器的仿真 . 23 4.3 32 位 MUX 结构的温度计码解码器的仿真 . 23 4.4 64 位 MUX 结构的温度计码解码器的仿真 . 24 4.5 有一个 bubble 的仿真 . 25 4.5.1 8 位有一个 bubble 的仿真 . 25 4.5.2 16 位有一个 bubble 的仿

10、真 . 26 4.5.3 32 位有一个 bubble 的仿真 . 26 4.5.4 64 位有一个 bubble 的仿真 . 26 4.6 有两个 bubble 的仿真 . 27 4.6.1 8 位有两个 bubble 的仿真 . 27 4.6.2 16 位有两个 bubble 的仿真 . 27 4.6.3 32 位有两个 bubble 的仿真 . 28 4.6.4 64 位有两个 bubble 的仿真 . 28 4.7 MUX 结构温度计码对 bubble 的解决方案 . 28 5.结束语 . 30 参考文献 . 31 致 谢 . 33 附 录 . 34 附 录 1 . 34 附 录 2

11、. 53 盐城工学院本科生毕业设计 1 基于 MUX 结构的温度计 码解码器设计 1.概 述 1.1 背景意义 由于这种高精度的时间间隔测量技术在激光测距,原子物理研究领域,军事领域,航天航空领域,都具有广阔的应用前景和重要的现实意义,因此被美国视为评估国防力量的重要标志之一。 美国,日本,欧洲等国家均对时间间隔测量技术做出了大量的研究,他们在利用集成电路即 VLSI( Very Large Scale Integrated)领域的优势,发展了大量成熟的精确测量技术,用 IC 方式实现了 TDC( Time-to-Digital Converter),美国的 PTTI(Precision Ti

12、me and Time Interval)年会每年对该专题进行讨论,美国国家科学院把它作为评估国家国防力量的重要标准之一,并把它列为国家须大力发展的科学技术之一。法国的 Dassault 公司的时间计时器的精度已经达到1ps。 1.2 研究现状 现代意义上的时间间隔测量始于真空管时代,几十年来其测量方法经过不断发展,从最早的时间间隔扩展发,到现在的插值法、延迟线法,可以说是种类繁多。 我国在高精度测量上起步较晚,对时间间隔测量技术的研究也比较少,与欧美国家有较大差距。但随着我国经济的高速发展,对于高精度 测量的技术需求也日渐高涨,近些年来已经有大量学者参与到高精度测量的相关研究,并取得了一些成

13、果 1.3 HDL 语言与 EDA 软件 本 设 计中 ,我 们使 用 VHDL 语 言进 行设 计。 VHDL 的 英文 全 名是 Very-High-Speed Integrated Circuit Hardware Description Language,诞生于 1982 年。 1987 年底, VHDL 被 IEEE 和美国国防部确认为标准硬件描述语言。 一个基本的 VHDL 语言程序由四个部分组成:库声明( library),包声明( use),实体( entity)和结构体( architecture)。 库声明高速编译器使用的是哪个库,包声明告诉编译器使用库中的哪个包。比如“

14、library ieee ;”说明使用的库是 IEEE 库 , “ use ieee.std_logic_1164.all;”表明使用的是 IEEE 库中的 std_logic_1164 包。 实体以“ entity”开始到“ end entity;”结束,此处通过“ port”说明设计的端口的数据类型以及输入输出情况。如“ A :in std_logic;”表示端口 A 是输入端口, std_logic 类型 。对于半加器而言,有两个 1 位的输入端口 A和 B,两个 1位的输出端口 S和 CO。 基于 MUX 结构的温度计码解码器设计 2 结构体以“ architecture”开始到“ e

15、nd rtl;”结束。结构体主要使用各种并行语句描述设计的内部实现。 VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用,它自身必然具有很多其他硬件描述语言所不具备的优点。 本次设计中,我们使用 Modelsim 和 Quartus II 进行语言的编译和仿真。Modelsim 是一个语言仿真平台,提供完备的语言仿真环境,也是设计 RTL 和门级电路的首选,并能支持相对应的仿真。我们在 Quartus II 中,可以使用 Verilog和 HDL 等硬件语言写出源代码,并进行仿真和编译,实现自己需要的各种逻辑功能。 1.4 论文结构 本文第一部分主要介绍课题的背景意义,研究现状,完成这个

16、设计所用的设计语言及其使用的编程仿真软件。 第二部分讲解了延时链测量的原理及其温度计码的由来,异步电路面临的亚稳态问题和 MUX 结构的温度计码解码器的逻辑实现推理。 第三部分主要描述温度计码的设计实现,通过它的 RTL视图, Technology Map和资源表来进一步了解 MUX 结构的温度计码解码器。 第四部分是系统仿真, 通过仿真软件来检验程序的正确与否,能不能完成设计指标。 盐城工学院本科生毕业设计 3 2.系统总体设计 2.1 延时链测量原理及温度计码的由来 图 2-1 延时链原理图 如图 2-1所示,有 n个延时单元,每个延时单元的外边都有一个寄存器,而每一个寄存器的时钟是接在一

17、起的,时钟的上升沿会对延时链进行锁存,把每一个延时单元的输出锁存到寄存器里,如果外部进来一个信号,这个信号进来之后,它肯定要在时间链里进行传输,进来信号的上升沿和时钟之间有段时间,外部信号上升沿到来之前,延时链输出都是 0,当时钟上升沿来了之后,会对状态进行锁存 ,锁存出来的数据就是温度计码。 输入信号上升沿和时钟上升沿之间的时间间隔,到了延时链里面就是 0的长度。 0的长度越长,代表延时越大。 2.2 亚稳态 在 FPGA 系统中,如果数据传输中不满足触发器的 Tsu 和 Th 不满足,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间( recovery time)不满足,就可能产生亚

18、稳态,此时触发器输出端 Q 在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里 Q 端在 0 和 1之间处于振荡状态,而不是等于数据输入端 D 的值。这段时间称为决断时间( resolution time)。经过resolution time 之后 Q端将稳定到 0或 1上,但是稳定到 0或者 1,是随机的,与输入没有必然的关系。 在异步电路中,亚稳态是避免不了的,亚稳态主要发生在异步信号检测、跨时钟域信号传输以及复位电路等常用设计中。 由于产生亚稳态后,寄存器 Q 端输出在稳定下来之前可能是毛刺、振荡、固定的某一电压值。在信号传输中产生亚稳态就会导致与其相连其他数字部件将其作出不

19、同的判断,有的判断到“ 1”有的判断到“ 0”,有的也进入了亚稳态,数字部件就会逻辑混乱。在复位电路中产生亚稳态可能会导致复位失败。怎么降低亚稳态发生的概率成了 FPGA 设计需要重视的一个注意事项。 在一个三级缓存模型中,大部分资料都说的是第一级寄存器产生亚稳态后,第二级寄存器稳定输出概率为 90%,第三极寄存器稳定输出的概率为 99%。 因此我选用 3 个 D 触发器来寄存输入端的信号,进行 3级缓存避免亚稳态的基于 MUX 结构的温度计码解码器设计 4 发生。 2.3 MUX 解码器算法 首先我们先看看 8位的温度计码解码器的工作原理,如下图所示: 图 2-2 8 位 MUX 结构温度计

20、码结构图 当我们使用 7 位输入端,输入“ 0000001”时,因为第 4 位为 0 所以选择低三位输入, 第一级的输出为“ 0001”,第二级的输入就变为“ 001”,第二位是“ 0”,选择低一位输出,则输出为“ 1”,所得的三位二进制代码为“ 001”,即温度计码中只有一个“ 1”。 下图我们使用最简单的二选一的数据选择器构建的 16 位输入的 MUX 结构温度计码解码器 图 2-3 16 位 MUX 结构温度计码结构图 盐城工学院本科生毕业设计 5 当我们输入 16 位温度计码时,第八位控制端决定第一级的 7个二选一数据选择器,是选用高 7位还是低 7位,如果输入“ 0000000000

21、00001”时,第八位为 0,第一级的二选一数字选择器选用低 7位的输入数据,则第 二级的二选一数据选择器的输入端口数据为“ 0000001”,因为第 4 位的输入位 0,输出低 3 位的数据为“ 001”,同样的将数据输出给第 3级的二选一数据选择器,输出为“ 1”。 那我们可以得到输出端 b3, b2, b1, b0 分别为“ 0”“ 0”“ 0”“ 1”。转换为二进制则为 1。这就是基于 MUX 结构的温度计码解码器基本原理。 因此我们可以推断出 MUX 结构的温度计码编码器的公式如下( 1)( 2)所示。 MUX 结构的缺点是高位的 bg扇出数较多,这个问题在 fpga 中实现温度计码

22、编码器显得尤为突出。 1, . . .1,01,21 mntcbg ii ( 1) 其中, nntctc mm , 211 nni ?11111:1 bbgntc ii ( 2) 1:12:12:1 11111 iiiii ntcnntc 下面我们以 8 位的温度计码解码器为例,在第一个公式里的 bg为直接送出来的那位二进制码,例如 8 位温度计码的第 4 位,对应着 bg2,之所以是 2,是因为 8位温度计码对应着 3 位的二进制码( bg2,bg1,bg0)。“ ”是取反符号,当 n是 8位时,对第一级的第 4 位进行取反并赋值给 bg2。公式( 2)中 1 b1 是 Verlog 语言,

23、当 bg1等于 1,取高三位,否则取低三位。这样一级一级的带入公式,推导出来。 基于 MUX 结构的温度计码解码器设计 6 3.设计实现 下面我使 用 VHDL 语言来实现基于 MUX 结构的温度计码解码器设计,对于二选一数据选择器我们可以使用并行语句实现如: -条件信号赋值语句 mux21c1: y Y Y = B; end case; 3.1 8 位温度计码解码器的实现 如图 3-1,在 8 位 MUX 结构温度计码解码器的 RTL 视图中,我先定义了 3个D触发器,当 reset 置 0,将 3个 D触发器 data_8_reg,data_8_reg1,data_8_reg2归 0,如果

24、当时钟上升沿来时,将 7位输入写入 D 触发器 data_8_reg 中 ,将 D触发器 data_8_reg 里的数据写入 D触发器 data_8_reg1 中 ,再将 D 触发器data_8_reg1 中的数据写入 D触发器 data_8_reg2 中。这样经过 3级缓存利用时钟信号,先对 3 个 D 触发器清零再对输入的数据进行三级缓存,阻止亚稳态传播。 如果 D 触发器 data_8_reg2 的第 4位为 1 ,那么将 D触发器 data_8_reg2的高 3位赋值给 data_4,否则就将 D触发器 data_8_reg2的低 3位赋值给 data_4。这样 7位输入的信号在经过选择之后,赋值给 data_4。同样的,如果 data_4 的第二位为 1,则将 data_4 的高一位赋值给 data_2,否则将低一位赋值给 data_2。最后将 data_8_reg2(3),data_4(1),data_2 输出给 b,得到 3 位二进制码,即完

展开阅读全文
相关资源
相关搜索

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

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。