1、摘要 I 摘 草鱼 要 草鱼 本设计为一个多功能 数字 时 钟 , 鲤鱼 可以进行 时、分、秒 24小时 循环计 时 与 显示 , 鲤鱼 并能 通过按键 实现时间 修改 、整点报时 、闹铃 提醒功能 。 草鱼 草鱼 设计采用 EDA技术 , 鲤鱼 以硬件描述语言 VHDL为系统逻辑描述手段进行设计 , 鲤鱼 在 ise 工具软件环境下 , 鲤鱼 采用自顶向下的设计方法 , 鲤鱼 由各个基本模块共同构建了一个基于 FPGA 的数字钟 。 草鱼 草鱼 系统主要有由 分频 模块、 计时模块、 控制 调整 模块、 扫描显示 模块、报时模块 等 组成 。 草鱼 用较少按键 实现 了各项预期功能 , 鲤鱼
2、 能方便完成 各个状态之间 的 转换 。 草鱼 草鱼 草鱼 关键 词 草鱼 : 草鱼 数字钟 , 鲤鱼 VHDL , 鲤鱼 FPGA, 鲤鱼 闹铃 草鱼 ABSTRACT II Abstract 草鱼 The 草鱼 design 草鱼 for 草鱼 a 草鱼 multi-functional 草鱼 digital 草鱼 clock, 草鱼 with 草鱼 hours, 草鱼 minutes 草鱼 and 草鱼 seconds 草鱼 count 草鱼 display 草鱼 to 草鱼 a 草鱼 24-hour 草鱼 cycle 草鱼 count; 草鱼 have 草鱼 proof 草鱼 func
3、tions 草鱼 and 草鱼 the 草鱼 whole 草鱼point 草鱼 time 草鱼 keeping 草鱼 function. 草鱼草鱼 The 草鱼 use 草鱼 of 草鱼 EDA 草鱼 design 草鱼 technology, 草鱼 hardware-description 草鱼 language 草鱼 VHDL 草鱼description 草鱼 logic 草鱼 means 草鱼 for 草鱼 the 草鱼 system 草鱼 design 草鱼 documents, 草鱼 in 草鱼 ise 草鱼 tools 草鱼environment, 草鱼 a 草鱼 top-down
4、 草鱼 design, 草鱼 by 草鱼 the 草鱼 various 草鱼 modules 草鱼 together 草鱼 build 草鱼 a 草鱼FPGA-based 草鱼 digital 草鱼 clock.草鱼 The 草鱼 main 草鱼 system 草鱼 is 草鱼 made 草鱼 up 草鱼 of 草鱼 the 草鱼 frequency 草鱼 division 草鱼 module, 草鱼 control 草鱼 and 草鱼adjust 草鱼 module, 草鱼 time 草鱼 module, 草鱼 scan 草鱼 and 草鱼 display 草鱼 decoding 草鱼 mo
5、dule, 草鱼 broadcast 草鱼module. 草鱼 This 草鱼 design 草鱼 completes 草鱼 all 草鱼 the 草鱼 function 草鱼 with 草鱼 few 草鱼 key, 草鱼 and 草鱼 the 草鱼 transform 草鱼 among 草鱼 all 草鱼 the 草鱼 state 草鱼 is 草鱼 very 草鱼 convenience.草鱼 草鱼 Keywords: 草鱼digital 草鱼 clock, 草鱼 VHDL, 草鱼 FPGA, 草鱼 alarm目 录 III 目录 草鱼 第一章 引言 1 草鱼 1.1 选题背景 1 草鱼 1
6、.2 课题价值与意义 1 草鱼 1.3 课题的国内外研究现状 1 草鱼 1.4 课题的难点、重点 2 草鱼 第二章 FPGA 简介 3 草鱼 2.1 FPGA 概述 3 草鱼 2.2 FPGA 基本结构 3 草鱼 2.3 FPGA 系统设计流程 7 草鱼 2.4 FPGA 开发编程原理 9 草鱼 第三章 EDA 技术简介 10 草鱼 3.1 EDA 技术概述 10 草鱼 3.2 可编程逻辑器件 12 草鱼 3.3 硬件描述语言 HDL 13 草鱼 3.4 基于 EDA 技术的数字系统设计方法 16 草鱼 3.4.1 自低向上的设计方法 16 草鱼 3.4.2 自顶向下的设计方法 17 草鱼 第
7、四章 数字钟总体设计方案 18 草鱼 4.1 多功能数字时钟系统分析与设计 18 草鱼 4.2 数字时钟工作原理 18 草鱼 4.3 FPGA 芯片与开发软件选择 33 草鱼 4.3.1 FPGA 草鱼 芯片选择策略 33 草鱼 4.3.2 开发软件选择 33 草鱼 4.4 开发平台介绍 34 草鱼 第五章 单元电路设计 36 草鱼 5.1 分 频模块设计 36 草鱼 5.2 计时模块设计 36 草鱼 5.3 按键消抖模块设计 37 草鱼 5.4 按键控制系统设计 39 草鱼 5.5 时间调整模块设计 42 草鱼 5.6 扫描显示与译码模块设计 45 草鱼 目录 IV 5.7 闹铃与整点报时设
8、计 48 草鱼 第六章 软件仿真与开发板实现 49 草鱼 6.1 仿真方法 49 草鱼 6.2 系统 HDL 描述波形仿真 50 草鱼 6.2.1 分频模块波形仿真 50 草鱼 6.2.2 计时模块波形仿真 50 草鱼 6.2.3 控制系统波形仿真 50 草鱼 6.2.4 时间调整模块波形仿真 51 草鱼 6.2.5 闹铃与整点报时模块波形仿真 51 草鱼 6.2.6 系统总电路仿真 52 草鱼 6.3 开发板实现 52 草鱼 6.3.1 开发板实现步骤 52 草鱼 6.3.2 开发板实现结果与过程中的问题 52 草鱼 第七章 结论与展望 54 草鱼 7.1 结论与收获 54 草鱼 7.2 展
9、望 54 草鱼 参考文献 55 草鱼 致谢 55 草鱼 附 草鱼 录 56 草鱼 外文资料原文 64 草鱼 外文资料译文 68 草鱼 第一章 引言 1 第一章 引言 草鱼 1.1 选题背景 草鱼 现代电子产品正在以前所未有 的革新速度 , 鲤鱼 向着功能多样化、体积最小化、功耗最低化的方向发展 。 草鱼 大规模可编程逻辑器件的使用与现代计算机技术的广泛应用是其 与传统电子产品最大的区别 。 草鱼 另外 , 鲤鱼 现代电子产品设计 依靠各种现代技术 提高了产品性能、缩小了产品体 积、降低了产品消耗、并缩短了研发周期 。 草鱼 在这个背景下 , 鲤鱼 EDA 技术吸收了多学科最新成果从而形成一门新
10、技术 , 鲤鱼 并 在各个领域有 了 十分重要的应用 1。 草鱼 草鱼 随着数字集成技术与电子设计自动化技术的迅速发展 , 鲤鱼 数字技术已经应用到科研、生产、与人们日常生活的各个领域 。 草鱼 数字系统设计的理论与方法也在相应的变 化与 发展 。 草鱼 草鱼 1.2 课题价值与意义 草鱼 现在是一个知识爆炸的新时代 。 草鱼 新产品、新技术层出不穷 , 鲤鱼 电子技术的发展更是日新月异 。 草鱼 可以毫不夸张的说 , 鲤鱼 电子技术的应用无处不在 , 鲤鱼 电子技术正在 不断地改变我们的生活 , 鲤鱼 改变着我们的世界 。 草鱼 在这快速发展的 现在 , 鲤鱼 随着生活节奏的加快 , 鲤鱼
11、时间对人们来说 越来越宝贵 , 鲤鱼 人们对各种应用器材的要求也越来越高 , 鲤鱼 而数字时钟作为日常生活中特别在准确计数方面的应用很广泛 , 鲤鱼 所以精确且方便使用的数字时钟就被越来越多的人所选择 。 草鱼 以往的模拟时钟与机械时钟过于复杂且精度上有很大的瓶颈 , 鲤鱼 数字时钟简单而精确 , 鲤鱼 较好的满足各种需求 , 鲤鱼 能够充分发挥 VHDL语言与可编程器件灵活、高效、集成度高的特点 , 鲤鱼 所以已成为各种应用中的首选 , 鲤鱼 多功能数字时钟的设计与实 现具有重要的实际意义 2。 草鱼 草鱼 1.3 课题的国内外研究现状 草鱼 近些年 , 鲤鱼 随着科技的发展和社会的进步 ,
12、 鲤鱼 人们对数字钟的要求也越来越高 , 鲤鱼 传统的时钟已不能满足人们的需求 。 草鱼 多功能数字钟不管在性能还是在样式上都发生了质的变化 , 鲤鱼 有电子闹钟、数字闹钟等等 。 草鱼 目前虽然各种时钟层出不穷 , 鲤鱼 但这些时钟不是过于复杂就是精度很低 , 鲤鱼 在这方面有很大的发展潜力 , 鲤鱼 数字时钟可以有效弥补这些缺陷 , 鲤鱼 但仍然需要很好的设计思想 。 草鱼 一方面对计时 用的标准时钟信号有极强的精度要求 , 鲤鱼 即需要一个很精确的晶振来完电子科技大 学学士学位论文 2 成; 另一方面 , 鲤鱼 在 时间设置 、 闹铃提醒 时 , 鲤鱼 能够与预定的载入时间、响铃时刻完全
13、相符则是对数字电路时序上的一个很大的要求 , 鲤鱼 这就需要对电路结构进行有效的调整 , 鲤鱼 通过提前执行功能等方法将延时 弥补 1。 草鱼 草鱼 另外 , 鲤鱼 数字钟的应用极为广泛 , 鲤鱼 多功能数字钟的出现也成为 必须 , 鲤鱼 除了基本的计数功能 , 鲤鱼 很多数字钟还具有闹铃、整点报时、年月日提醒、跑表等功能 。 草鱼 有效的将 这些功能协调工作是对系统的一个很重要的要求 。 草鱼 更为至关重要的是人机交互接口便于用户操作 。 草鱼 草鱼 1.4 课题的难点、重点 草鱼 由于功 能较多 , 鲤鱼 人机交互接口的简易化非常重要 , 鲤鱼 各项功能代表不同的状态 , 鲤鱼 在不同状态
14、切换时的操作 也务必简单化 。 草鱼 另外 , 鲤鱼 在闹铃、 时间 设置 时各模块之间会有不同的响应行为 , 鲤鱼 它们之间的协调工作也至关重要 , 鲤鱼 这些都将成为设计中的难点 。 草鱼 课题的重点除了正常计数外便是闹铃或时间 调整了 , 鲤鱼 这是设计最基本的要求也是最主要的要求 , 鲤鱼 其他功能基本是 围绕 这两个功能服务的 。 草鱼 草鱼 第二章 FPGA 简介 3 第二章 FPGA 简介 草鱼 2.1 FPGA 概述 草鱼 FPGA 是现场可编程门阵列( Field 草鱼 Programmable 草鱼 Gate 草鱼 Array)的简称 , 鲤鱼 与之相应的 CPLD 是复杂
15、可编程逻辑器件( Complex 草鱼Programmable 草鱼 Logic 草鱼 Device)的简称 , 鲤鱼 两者的功能基本相同 , 鲤鱼只是实现原理略有不同 , 鲤鱼 所以有时可以忽略这两者的区别 , 鲤鱼 统称为可编程逻辑器件或 CPLD/FPGA。 草鱼 CPLD/FPGA几乎能完成任何数字器件的功能 , 鲤鱼 上至高性能 CPU, 鲤鱼 下至简单的 74 电路 。 草鱼 它如同一张白纸或是一堆积木 , 鲤鱼 工程师可以通过传统的原理图输入或硬件描述语言自由的设计一个数字系统 。 草鱼 通过软件仿真可以 事先验证设计的正确性 , 鲤鱼 在 PCB 完成以后 , 鲤鱼 利用 CP
16、LD/FPGA 的在线修改功能 , 鲤鱼 随时修改设计而不必改动硬件电路 。 草鱼 使用 CPLA/FPGA 开发数字电路 , 鲤鱼 可以大大缩短设计时间 , 鲤鱼 减少 PCB 面积 , 鲤鱼 提高系统的可靠性 。 草鱼 这些优点使得 CPLA/FPGA 技术在 20 世纪 90 年代以后得到飞速的发展 , 鲤鱼 同时也大大推动了 EDA 软件和硬件描述语言 HDL 的进步 1。 草鱼 草鱼 2.2 FPGA 基本结构 草鱼 FPGA 具有掩膜可编程门阵列的通用结构 , 鲤鱼 它由逻辑功能块排成阵列 , 鲤鱼 并由可编程的互连资源连接这些逻 辑功能块来实现不同的设计 。 草鱼 草鱼 FPGA
17、 一般由 3 种可编程电路和一个用于存放编程数据的静态存储器 SRAM 组成 。 草鱼 这 3 种可编程电路是:可编程逻辑模块( CLB-Configurable 草鱼 Logic 草鱼 Block)、输入 /输出模块( IOB-I/O 草鱼 Block)和互连资源( IR Interconnect 草鱼 Resource) 。 草鱼 可编程逻辑模块 CLB 是实现逻辑功能的基本单元 , 鲤鱼 它们通常规则的排列成一个阵列 , 鲤鱼 散布于整个芯片;可编程输入 /输出模块( IOB)主要完成芯片上的逻辑与外部封装脚的接口 , 鲤鱼 它通常排列在芯片的四周;可编程互连资源包括各种长度的连接线段和
18、一些可编程连接开关 , 鲤鱼 它们将各个 CLB之间或 CLB、 IOB之间以及 IOB之间连接起来 , 鲤鱼 构成特定功能的电路 。 草鱼 草鱼 1. CLB 是 FPGA 的主要组成部分 。 草鱼 图 2-1 是 CLB 基本结构框图 , 鲤鱼它主要由逻辑函数发生器、触发器、数据选择器等电路组成 。 草鱼电子科技大 学学士学位论文 4 CLB 中 3 个逻辑函数发生器分别是 G、 F 和 H, 鲤鱼 相应的输出是 G 草鱼、 F 和 H 。 草鱼 G有 4个输入变量 G1、 G2、 G3和 G4; F也有 4个输入变量 F1、 F2、 F3 和 F4。 草鱼 这两个函数发生 器是完全独立的
19、 , 鲤鱼 均可以实现 4输入变量的任意组合逻辑函数 。 草鱼 逻辑函数发生器 H有 3个输入信号;前两个是函数发生器的输出 G 和 F , 鲤鱼 而另一个输入信号是来自信号变换电路的输出 H1。 草鱼 这个函数发生器能实现 3第二章 FPGA 简介 5 输入变量的各种组合函数 。 草鱼 这 3 个函数发生器结合起来 , 鲤鱼 可实现多达 9 变量的逻辑函数 。 草鱼 草鱼 CLB 中有许多不同规格的数据选择器 , 鲤鱼 通过对 CLB 内部数据选择器的编程 , 鲤鱼 逻辑函数发生器 G、 F和 H的输出可以连接到 CLB输出端 X 或 Y, 鲤鱼 并用来选择触发器的激励输入信号、时钟有效边沿
20、、时钟使能信号以及输 出信号 。 草鱼 这些数据选择器的地址控制信号均CLB CLB CLB CLB CLBCLB B CLB CLB CLB CLB CLB CLB CLB CLBCLB B CLB CLB CLB 可编程开关矩 输入输出模块 互连资源 电子科技大 学学士学位论文 6 由编程信息提供 , 鲤鱼 从而实现所需的电路结构 。 草鱼 草鱼 图 2-1 草鱼 CLB 基本结构 草鱼 2.输入 /输出模块 IOB。 草鱼 IOB 提供了器件引脚和内部逻辑阵列之间的连接 。 草鱼 它主要由输入触发器、输入缓冲器和输出触发 /锁存器、输出缓冲器组成 。 草鱼 草鱼 3.可编程互连资源 IR。 草鱼 可编程互连资源 IR可以将 FPGA内部的 CLB和 CLB之间、 CLB和 IOB之间连接起来 , 鲤鱼 构成各种具有复杂功能的