




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I 武汉理工大学课程设计 基于基于 Verilog HDL 的简易电子钟设计的简易电子钟设计 摘 要 Verilog 是广泛应用的硬件描述语言 可以用在硬件设计流程的建模 综 合和模拟等多个阶段 随着硬件设计规模的不断扩大 应用硬件描述语言进行 描述的 CPLD 结构 成为设计专用集成电路和其他集成电路的主流 通过应用 Verilog HDL 对简易电子钟的设计 达到对 Verilog HDL 的理解 同时对 CPLD 器件进行简要了解 本文着眼于使用 EDA 开发工具实现简易电子钟的设计 随着微电子技术 计算机技术的不断发展和完善 EDA 技术已日趋成熟逐渐成为现代电子技术的 II 核心 EDA 技术就是以计算机为工具 设计者在 EDA 软件平台上 用硬件描述 语言 Verilog HDL 完成设计文件 然后由计算机自动地完成逻辑编译 化简 分割 综合 优化 布局 布线和仿真 直至对于特定目标芯片的适配编译 逻辑映射和编程下载等工作 EDA 技术的出现 极大地提高了电路设计的效率 和可操作性 减轻了设计者的劳动强度 EDA 技术广泛应用于机械 电子 通 信 航空航天 化工 矿产 生物 医学 军事等各个领域 对 Altera 公司 Flex 10K 系列的 EPF10K 10 简要介绍 Altera 公司软件 Max plus 简要介绍 和应用 Verilog HDL 对电子钟进行设计 关键词 电子钟 现代电子技术 EDA 技术 专用集成电路 III Abstract Is widely used Verilog hardware description language can be used in hardware design process modeling synthesis and simulation phases With the constant expansion of the hardware design hardware description language to describe the application of the CPLD architecture a design of ASICs and other ICs mainstream Through the application of Verilog HDL design of simple electronic clock to the understanding of Verilog HDL while a brief understanding of the CPLD device This article focuses on the use of EDA tools to achieve the design of simple electronic clock As microelectronic technology computer technology continues to evolve and improve EDA technology has matured gradually become the heart of modern electronic technology EDA technology is to the computer as a tool designer in EDA software platform with complete hardware description language Verilog HDL design files and automatically by a computer to complete the logic compiler simplification segmentation integration optimization placement routing and simulation up adapter chip for the specific target compilation mapping and programming logic to download and so on EDA technologies circuit design greatly improves the efficiency and operability reducing the labor intensity of the designer EDA technology is widely used in machinery electronics communications aerospace chemical mineral biological medical military and other fields On Altera s Flex 10K series EPF10K 10 brief Altera Corporation Software Max plus Brief introduction and application of Verilog HDL design of the electronic clock Keywords modern electronic technology EDA technology specific integrated circuit IV 目 录 摘摘 要要 II ABSTRACT III 引引 言言 1 一 绪论一 绪论 2 1 开发背景和目的 2 2 方案论证 2 3 设计内容和主要工作 3 二 电子钟开发环境及硬件基础二 电子钟开发环境及硬件基础 5 1 VERILOG HDL 硬件描述语言简介 5 2 EPF10K 10 相关说明 7 三 电子钟的三 电子钟的 7 大模块设计及仿真芯片生成大模块设计及仿真芯片生成 9 1 计时功能模块 9 2 闹铃设置功能模块 9 3 校时功能模块 10 4 秒表功能模块 11 5 整点报时功能模块 12 6 闹铃屏蔽及响铃功能模块 13 7 秒表提示铃声功能模块 13 四 电子钟的设计及仿真四 电子钟的设计及仿真 14 1 功能描述 14 2 源程序 基于 VERILOG HDL 语言 14 3 模块仿真 20 4 译码显示模块 21 五 论文总结五 论文总结 23 致致 谢谢 24 参考文献参考文献 25 1 引 言 随着电子技术的发展 现场可编程门阵列 FPGA 和复杂可编程逻辑器件 CPLD 的出现 使得电子系统的设计者利用与器件相应的电子 CAD 软件 在实验 室里就可以设计自己的专用集成电路 ASIC 器件 这种可编程 ASIC 不仅使设计 的产品达到小型化 集成化和高可靠性 而且器件具有用户可编程特性 大大 缩短了设计周期 减少了设计费用 降低了设计风险 目前数字系统的设计可 以直接面向用户需求 根据系统的行为和功能要求 自上至下地逐层完成相应 的描述 综合 优化 仿真与验证 直到生成器件 实现电子设计自动化 其 中电子设计自动化 EDA 的关键技术之一就是可以用硬件描述语言 HDL 来 描述硬件电路 VHDL 是用来描述从抽象到具体级别硬件的工业标准语言 它是 由美国国防部在 80 年代开发的 HDL 现在已成为 IEEE 承认的标准硬件描述语言 VHDL 支持硬件的设计 验证 综合和测试 以及硬件设计数据的交换 维护 修改和硬件的实现 具有描述能力强 生命周期长 支持大规模设计的分解和 已有设计的再利用等优点 利用 VHDL 这些优点和先进的 EDA 工具 根据具体的 实际要求 我们可以自己来设计串口异步通信电路 2 一 绪论 1 开发背景和目的 二十一世纪是信息化高速发展的世纪 产业的信息化离不开硬件芯片的支 持 芯片技术的进步是推动全球信息化的动力 因此在二十一世纪掌握芯片技 术是十分有必要的 20 世纪 90 年代 国际上电子和计算机技术较先进的国家 一直在积极探 索新的电子电路设计方法 并在设计方法 工具等方面进行了彻底的变革 取 得了巨大成功 在电子技术设计领域 可编程逻辑器件 如 CPLD FPGA 的应 用 已得到广泛的普及 这些器件为数字系统的设计带来了极大的灵活性 这 些器件可以通过软件编程而对其硬件结构和工作方式进行重构 从而使得硬件 的设计可以如同软件设计那样方便快捷 这一切极大地改变了传统的数字系统 设计方法 设计过程和设计观念 促进了 EDA 技术的迅速发展 EDA 技术就是以计算机为工具 设计者在 EDA 软件平台上 用硬件描述语 言 VHDL 完成设计文件 然后由计算机自动地完成逻辑编译 化简 分割 综合 优化 布局 布线和仿真 直至对于特定目标芯片的适配编译 逻辑映射和编 程下载等工作 EDA 技术的出现 极大地提高了电路设计的效率和可操作性 减轻了设计者的劳动强度 利用 EDA 工具 电子设计师可以从概念 算法 协 议等开始设计电子系统 大量工作可以通过计算机完成 并可以将电子产品从 电路设计 性能分析到设计出 IC 版图或 PCB 版图的整个过程的计算机上自动处 理完成 Verilog HDL 是一种硬件描述语言 HDL Hardware Discription Language 是一种以文本形式来描述数字系统硬件的结构和行为的语言 用它 可以表示逻辑电路图 逻辑表达式 还可以表示数字逻辑系统所完成的逻辑功 能 以硬件描述语言 Verilog 所完成的电路设计 可以经过简单的综合与布局 快速的烧录至 FPGA 上进行测试 是现代 IC 设计验证的技术主流 3 2 方案论证 方案一采用数字逻辑电路制作 用 IC 拼凑焊接实现 这种电路很直观 简单方便 但应用数字逻辑电路制作的话 使用的器件较多 连接复杂 体积 大 功耗大 电路中焊点和线路较多会 使成品的稳定度和精度大大降低 方案 二采用现场可编程逻辑器件 FPGA 制作 利用 EDA 软件中的 Verilog HDL 硬 件描述语言编程进行控制 然后烧制实现 采用 FPGA 来设计的原理图由控制输 入电路 FPGA 显示电路和扬声器电路组成 控制输入电路主要是为用户设计 的 起到一个输入控制的作用 FPGA 是现场可编程逻辑器件 也是本设计方案的 核心内容 它是实现电子钟运作的主要控制模块 由设计者把编好的 Verilog HDL 程序烧制到现场可编程逻辑器件 FPGA 中 然后通过控制输入电路时间把信 号输入到 FPGA 产生不同的频率驱动扬声器 同时也把发出的时间信号通过显示 器输出 方案三单片机现在已经达到很成熟的阶段了 它的应用也十分广泛 采 用单片机来实现电子钟 对于电子钟的设计 三个方案均可以实现 但是第一个方案中采用的是数字逻 辑电路来制作 该电路硬件所需的器材多 体积庞大 比较复杂 而且精度和稳定 度都不是很高 第二个方案采用的是现场可编程逻辑器件来实现 它的优点是所 有电路集成在一块芯片上 此方案所需的外围电路简单 这样它的体积就减少了 同时还提高了系统的稳定度 还可以用 MAX PLUS II 软件进行仿真和调试等 设计人员可以充分利用 Verilog HDL 硬件描述语言方便的编程 提高开发效率 缩短研发周期 降低研发成本 而且易于进行功能的扩展 实现方法灵活 调 试方便 修改容易 方案三也有它的优点 但同时也存在缺点 它对设计者的要求 比较高 设计者对软硬件必须十分熟悉 和方案二来比它的实验仿真没有方案二 简单直观 调试也有一定的难度 在外界环境相同的条件下 方案三设计出来的产 品精度和稳定度要比方案二稍微差一些 因此 电子钟的设计我们选择方案二来 实现 3 设计内容和主要工作 1 基本功能 4 具有 秒 分 时 计时功能 小时按 24 小时制计时 具有校时功能 能对 分 和 小时 进行调整 具有闹钟功能 在设定的时间发出闹玲音 其中闹铃设置为 00 00 时无 效 具有整点报时功能 每逢整点按照秒的时序产生四短一长的报时音 5 二 电子钟开发环境及硬件基础 1 Verilog HDL 硬件描述语言简介 Verilog HDL 就是在用途最广泛的 C 语言的基础上发展起来的一种硬件描 述语言 它是由 GDA Gateway Design Automation 公司的 PhilMoorby 在 1983 年末首创的 最初只设计了一个仿真与验证工具 之后又陆续开发了相关的故 障模拟与时序分析工具 1985 年 Moorby 推出它的第三个商用仿真器 Verilog XL 获得了巨大的成功 从而使得 Verilog HDL 迅速得到推广应用 1989 年 CADENCE 公司收购了 GDA 公司 使得 VerilogHDL 成为了该公司的独家专利 1990 年 CADENCE 公司公开发表了 Verilog HDL 并成立 LVI 组织以促进 Verilog HDL 成为 IEEE 标准 即 IEEE Standard 1364 1995 模块是 Verilog 的基本描述单位 用于描述某个设计的功能或结构及其与 其他模块通信的外部端口 一个设计的结构可使用开关级原语 门级原语和用 户定义的原语方式描述 设计的数据流行为使用连续赋值语句进行描述 时序 行为使用过程结构描述 一个模块可以在另一个模块中使用 说明部分用于定义不同的项 例如模块描述中使用的寄存器和参数 语句 定义设计的功能和结构 说明部分和语句可以散布在模块中的任何地方 但是 变量 寄存器 线网和参数等的说明部分必须在使用前出现 为了使模块描述 清晰和具有良好的可读性 最好将所有的说明部分放在语句前 本书中的所有 实例都遵守这一规范 在模块中 可用下述方式描述一个设计 1 数据流方式 2 行为方式 3 结构方式 4 上述描述方式的混合 Verilog HDL 模型中的所有时延都根据时间单位定义 使用编译指令将时间单位与物理时间相关联 这样的编译器指令需在模块 描述前定义 如果没有编译器指令 Verilog HDL 模拟器会指定一个缺省时间 6 单位 IEEE Verilog HDL 标准中没有规定缺省时间单位 用数据流描述方式对 一个设计建模的最基本的机制就是使用连续赋值语句 在连续赋值语句中 某 个值被指派给线网变量 请注意连续赋值语句是如何对电路的数据流行为建模的 这种建模方式是 隐式而非显式的建模方式 此外 连续赋值语句是并发执行的 也就是说各语句 的执行顺序与其在描述中出现的顺序无关 设计的行为功能使用下述过程语句结构描述 1 initial 语句 此语句只执行一次 2 always 语句 此语句总是循环执行 或者说此语句重复执行 只有寄存器类型数据能够在这两种语句中被赋值 寄存器类型数据在被赋 新值前保持原有值不变 所有的初始化语句和 always 语句在 0 时刻并发执行 在顺序过程中出现的语句是过程赋值模块化的实例 模块化过程赋值在下一条 语句执行前完成执行 过程赋值可以有一个可选的时延 时延可以细分为两种类型 1 语句间时延 这是时延语句执行的时延 2 语句内时延 这是右边表达式数值计算与左边表达式赋值间的时延 在 Verilog HDL 中可使用如下方式描述结构 1 内置门原语 在门级 2 开关级原语 在晶体管级 3 用户定义的原语 在门级 4 模块实例 创建层次结构 通过使用线网来相互连接 Verilog HDL 的设计流程 1 文本编辑 用任何文本编辑器都可以进行 也可以用专用的 HDL 编 辑环境 通常 Verilog HDL 文件保存为 v 文件 2 功能仿真 将文件调入 HDL 仿真软件进行功能仿真 检查逻辑功能 是否正确 也叫前仿真 对简单的设计可以跳过这一步 只有在布线完成之后 才进行时序仿真 3 逻辑综合 将源文件调入逻辑综合软件进行综合 即把语言综合成最 简的布尔表达式 逻辑综合软件会生成 edf EDIF 的 EDA 工业标准文件 7 4 布局布线 将 edf 文件调入 PLD 厂家提供的软件中进行布线 即 把设计好的逻辑安放到 CPLD FPGA 内 5 时序仿真 需要利用在布局布线中获得的精确参数 用仿真软件验证 电路的时序 也叫后仿真 2 EPF10K 10 相关说明 EPF10K 10 隶属于 Altera 公司生产的 FLEX 10K 系列产品 此系列集成度 从几万门到几十万门 是业界第一个在 PLD 中嵌入存储器块的器件 具有许多 特点 高密度 10000 到 250000 典型门 功能强大的 I O 引脚 每一个引脚都 是独立的三态门结构 具有可编程的速率控制 嵌入式阵列块 EAB 每个 EAB 提供 2K 比特位 可用来作存储器使用或者用来实现一般的逻辑功能 逻辑 单元采用查找表 LUT 结构 采用快速通道 Fast Track 互连 速度快并可 预测延时 具有实现快速加法器和计数器的专用进位链和实现高速 多输入逻 辑函数的专用级连链 其中 EPF10K 10 相关电路说明如下 EPF10K10 板 内含 预定型 10K10 主体电路和自定义实验区二个部分 预定型 10K10 主体电路特点 如下 采用 ALTERA 公司 10K10 PLCC84 脚器件 使用有源晶振 4MHZ 增强线路板 抗干扰性能 采用三种不同的配置方式 对 ALTERA 公司的 10K10 芯片进行配置 通过 EDA 软件使用本板提供的 JTAG 接口下载到 10K10 器件中对其进行加载配置 通过 EDA 软件使用本板提供的 PS MODE 接口下载到 10K10 器件中对其进行加载 配置 为了确保系统板掉电又重新上电后能使 10K10 正常运行 本系统板提供 ALTERA 公司 EPC1441 或 EPC1P8 二种器件对 10K10 作上电后自动加载配置 本 EDA 板提供电源接线端子 5V GND 数字地 12V 或自定义 12V 或自 定义 SGND 模拟地及电源测试引线口 5V 12V 12V 均给出信号信息 LED 指示灯 本 EDA 板提供 JTAG PS MODE 代码下载信号信息 LED 指示灯 自定义实验区特点如下 本 EDA 板提供三个试验区 其中数字电路实验区 A B 二个 模拟电路实验区 C 一个 为了提高 EDA 系统板抗干扰性能 模拟地 和数字地采用分开设计 而且增加了实验区电路的可塑性 数字电路实验区配 有 5V GND 数字地 用户电路实验自由连接点 模拟电路实验区配有 5V SGND 模拟地 12V 12V 用户电路实验 自由连接点 用户实验区电路自由连接点 8 共为 1908 个点 其中数字电路实验区用户自由连接点为 2x49 行 x12 列 6 行 x8 列 1272 个点 模拟电路实验区用户自由连接点为 49 行 x12 列 6 行 x8 列 636 个点 提供 10K10 可用的全部 I O 脚引线插座 方便与用户实验区任意连接 实验区连线方式通常使用三种方式 元器件直接焊接方式 一次性使用 实 验区可焊接可插接排针孔 以便实验电路任意搭接 增强使用的灵活性 多次性 实验区可选配安装通用实验面包板 无须做 b 项操作 面包板可安装三块 EDA 板上跳线连接说明 JP8 控制 EPC1441 EPC1P8 5V 电压的提供 JTAG MODE JP JTAG 下载方式支持由本跳线组确定 4 个全 短接 则允许 JTAG 方式下 载 断开则屏蔽 JTAG 方式下载 PS MODE JP PS 下载方式支持由本跳线组确 定 5 个全 短接 则允许 PS 方式下载 断开 则屏蔽 PS 方式下载 JP10 MSEL0 信号受控脚跳左 则 MSEL0 为 0 跳右则 MSEL0 为 1 JP11 MSEL1 信号受控脚 跳左 则 MSEL1 为 0 跳右则 MSEL1 为 1 PWR5V 5V 跳线开关跳左 5V 为 ON 接通 跳右 5V 为 OFF 关闭 PIN1 OSC ALTERA10K10 PIN1 脚的时钟信号输 入端 跳左 CLOCK 信号频率 由 U5 晶振确定 跳右 CLOCK 信号频率由上层独 立型适配器的时钟晶振确定 PIN43 OSC ALTERA10K10 PIN43 脚的时钟信号输 入端跳左 CLOCK 信号频率由 U5 晶振确定 跳右 CLOCK 信号频率由上层独立 型适配器的时钟晶振确定 J1A 控制数字实验 A 区的 5V DC 电源电压 J2A 控制数字实验 A 区的电源电压数字信号地 GND J1B 控制数字实验 B 区 的电源电压数字信号地 GND J1C 控制模拟实验 C 区的 12V J2C 控制模拟 实验 C 区的 12V J3C 控制模拟实验 C 区的电源电压模拟信号地 SGND 5 EDA 板上电源端子接口 LED 指示灯说明 JPWR 电源电压接线端子 从上往下顺序 定义为 5V GND 12V 12V SGND PWRT 电源电压测试接线端子 从上往下顺 序定义 同 JPWR 5V GND 12V 12V SGND JTAG MODE ALTERA10K10 JTAG 方 式下载接口 PS MODE ALTERA10K10 PS 方式下载接口 10K10 IN1 ALTERA10K10 外扩展 I O 引线接口 1 10K10 IN2 ALTERA10K10 外扩展 I O 引线接口 2 JP2 JP3 JP4 JP5 JP6 向上可选配 GEXIN 各种独立型 适配器 LED 指示灯 D2 D3 D4 TCK LED PS LED 分别为 5V 12V 12V JTAG PS 信号指示灯 9 三 电子钟的 7 大模块设计及仿真芯片生成 本章根据模块功能共分为七个模块 分别为计时模块 闹铃设置模块 校时模块 秒表功能模块 整点报时模块 闹铃屏蔽及响铃功能模块 秒表提 示铃声功能模块 1 计时功能模块 模块功能为正常计时 即每秒钟读一次数 秒表加 1 秒计时满 60 进 1 给 分计时 分计时满 60 进 1 给小时计时 小时计时满 24 清零 从功能上讲分别 为模 60 计数器 模 60 计数器和模 24 计数器 图 3 1 计时模块芯片图 图 3 2 计时模块仿真波形图 2 闹铃设置功能模块 模块功能为设置闹铃的分钟和小时 设置的时候由 turn 控制调整分钟及调 10 整小时之间的切换 每按一次 change 所调整的计数器加 1 分钟计数器满 60 清零 小时计数器满 24 清零 图 3 3 闹铃模块芯片图 图 3 4 闹铃仿真波形图 3 校时功能模块 模块功能为修正分钟和小时时间以及秒钟的精确调整清零 由 turn 控制调 整分钟和调整小时之间的切换 每按一下 change 所调整的计数器加 1 分钟计 数器满 60 清零 小时计数器满 24 清零 秒种的精确调整清零具体为在正常计 时的情况下 长时间按住 turn 即可使秒钟清零 进行精确调时 11 图 3 5 校时模块芯片图 图 3 6 校时仿真波形图 4 秒表功能模块 模块功能为进行手动计时 按一下 count 为计时 再按一次 count 为停止 计时 保存计数数值 依此类推 按一次 clr 为计数清零 停止计数 计数器 共有三个 分别为百分秒的模 100 计数器 秒钟的模 60 计数器和分钟的模 60 计数器 12 图 3 7 秒表模块芯片图 图 3 8 秒表仿真波形图 5 整点报时功能模块 模块功能为当计时模块中分钟显示为 59 秒种为 55 时开始 每秒都发出一 次短音 1 4 秒 当秒种和分钟同时显示为 0 时 发出一声长音 3 4 秒 clk1000 为扬声器驱动频率 图 3 9 报时模块芯片图 13 图 3 10 报时模块仿真波形图 6 闹铃屏蔽及响铃功能模块 功能为当计时模块中的分钟和小时都等于闹铃设置的分钟和小时的时候 从计时模块中的秒种为 0 时开始响铃 响铃时间 20 秒 但是可以通过一直按住 change 来屏蔽闹铃声音 7 秒表提示铃声功能模块 从秒表的分钟位和秒钟位均为 59 且百分秒位为 76 开始 到分钟位秒钟 位和百分秒位全部为零同时有分钟位产生的进位这一时刻 之间的 1 4 秒时间 发出一声提示音 提示秒表已经计时 1 个小时 开始下一个小时的计时 请予 以记录 由于这两个模块有太多的输入 所以不进行模块符号和波形仿真 小节 首先由 4HZ 的输入时钟产生一个 1HZ 的时钟基准信号 用 MODE 信号 应用 CASE 语句控制系统在 MODE 2 时产生小时调整信号 COUNT1 或分钟调整信号 COUNTa 通过是否按下 TURN 决定 用于随后的手动校时 在 MODE 1 时就产生 用于闹钟功能的小时调整信号 COUNT2 或分钟调整信号 COUNTb 也通过是否按 下 TURN 决定 现在调整的状态由 LED MIN 和 LED HOUR 两个发光二极管显示 这些 COUNT 信号由 CHANGE 键提供 14 再通过 LOOP 索引判断是否快速按下 CHANGE 键 若是 产生 NUM1 信号用于连续 快速 1 此功能应用于手动校时和闹钟定时中 然后加入计时 校时中的分钟计数时钟 CT1 定时状态下调整分钟的时钟 CT2 计时 校时中的小时计数时钟 CTa 定时状态下调整小时的时钟 CTb 再设计这 些时钟下的进程 秒计数进程通过按住 TURN 且 MODE 不变一段时间来清零 当 指示秒数的计数器十六进制数 SEC1 的前四位为 1001 9 的时候 后四位 1 进一位 前四位清零 不然继续计数来实现 分计数进程当值 MIN1 59 时 清零同时小时的时钟 H CLK 1 当指示分钟数的计数器十六进制数 MIN1 的前四 位为 D 9 的时候 后四位 1 进一位 前四位清零 不然继续计数 小时计数 进程当值 HOUR1 23 时清零 当指示小时数的计数器十六进制数 HOUR1 的前四位 为 D 9 的时候 后四位 1 进一位 前四位清零 不然继续计数 闹铃功能的小时与分钟调节也同上理设置 再通过赋值语句显示各个状态下的时分秒 15 四 电子钟的设计及仿真 1 功能描述 计时功能 包括时 分 秒的计时 分别类似于模 24 模 60 模 60 计数器 闹钟功能 在设定的时间发出闹玲音 其中闹铃设置为 00 00 时无效 校时功能 能方便的对小时 分钟和秒进行手动调整以校准时间 整点报时 每逢整点按照秒的时序产生四短一长的报时音 秒表功能 在每次计数满一小时的时候 发出一声提示音 2 源程序 基于 Verilog HDL 语言 module clock CLK CLK 1K MODE CHANGE TURN ALERT HOU MIN SEC LD AL LD H LD M input CLK CLK 1K MODE CHANGE TURN output 7 0 HOU MIN SEC output ALERT LD AL LD H LD M reg 7 0 HOU MIN SEC THOU TMIN TSEC AHOU AMIN reg 1 0 m fm sound reg LD H LD M reg CLK 1Hz CLK 2Hz mclk hclk reg alert1 alert2 ear reg count1 count2 lcount1 lcount2 wire ct1 ct2 lct1 lct2 m clk h clk always posedge CLK begin CLK 2Hz CLK 2Hz if sound 3 16 begin sound 0 ear 1 end ear 信号用于产生或屏蔽声音 else begin sound sound 1 ear 0 end end always posedge CLK 2Hz CLK 1Hz CLK 1Hz 产生 1Hz 的时基信号 always posedge MODE MODE 信号控制 3 钟功能的转换 begin if m 2 m 0 m 0 计时功能 else m m 1 m 1 闹钟功能 end m 2 手动校时 always TURN fm fm 校时时选择调整分钟还是小时 always begin case m 2 begin if fm begin count1 CHANGE LD H LD M 2 b01 end else begin count2 CHANGE LD H LD M 2 b10 end 17 count1 count2 0 end 1 begin if fm begin lcount1 CHANGE LD H LD M 2 b01 end else begin lcount2 CHANGE LD H LD M 2 b10 end lcount1 lcount2 0 end default count1 count2 lcount1 lcount2 LD H LD M 0 endcase end always posedge CLK 1Hz 秒计时和秒调整 if TSEC 8 h59 TURN if TURN end else begin if TSEC 3 0 9 begin TSEC 3 0 0 18 TSEC 7 4 TSEC 7 4 1 end else TSEC 3 0 TSEC 3 0 1 mclk 0 end assign m clk mclk count1 assign h clk hclk count2 assign ct1 CLK m clk ct1 用于计时 校时中的分钟计数 assign ct2 CLK h clk ct2 用于计时 校时中的小时计数 assign lct1 CLK lcount1 lct1 用于定时状态下调整分钟信号 assign lct2 CLK lcount2 lct2 用于定时状态下调整小时信号 always posedge ct1 分计时和分调整 begin if TMIN 8 h59 begin TMIN 0 hclk 1 end else begin if TMIN 3 0 9 begin TMIN 3 0 0 TMIN 7 4 TMIN 7 4 1 end else TMIN 3 0 TMIN 3 0 1 hclk 0 end end always posedge ct2 小时计时和小时调整 19 if THOU 8 h23 THOU 0 else begin if THOU 3 0 9 begin THOU 3 0 0 THOU 7 4 THOU 7 4 1 end else THOU 3 0 THOU 3 0 1 end always posedge lct1 闹钟定时中分钟调整 if AMIN 8 h59 AMIN 0 else if AMIN 3 0 9 begin AMIN 3 0 0 AMIN 7 4 AMIN 7 4 1 end else AMIN 3 0 AMIN 3 0 1 always posedge lct2 闹钟定时中小时调整 if AHOU 8 h23 AHOU 0 else begin if AHOU 3 0 9 begin AHOU 3 0 0 AHOU 7 4 AHOU 7 4 1 end else AHOU 3 0 AHOU 3 0 1 end 20 always 闹钟功能 产生闹铃信号 if THOU AHOU 设定闹铃声的长短 这里设为 30 秒 else alert1 0 else alert1 0 always case m 0 begin HOU THOU 计时状态下时 分 秒显示 MIN TMIN SEC TSEC end 1 begin HOU AHOU 定时状态下时 分 秒显示 MIN AMIN SEC 8 hzz end 2 begin HOU THOU 校时状态下时 分 秒显示 MIN TMIN SEC8 h54 TMIN TSEC if TSEC 8 h54 alert2 ear 产生短音 21 else alert2 ear 产生长音 else alert2 0 end assign ALERT alert1 CLK 1K 闹铃音和整点报时信号输出 endmodule 3 模块仿真 图 4 1 模块芯片生成图 22 图 4 2 整体图仿真波形图 图 4 3 局部仿真波图 4 译码显示模块 3 8 译码器的原理框图及真值表如图及表所示 3 个输入 a 2 0 可能出现 8 种组合情况 000 001 010 011 100 101 110 111 这样就可控制 8 个输出 y 7 0 相应的某 1 位输出为 0 23 a 0 3 8 译码器译码器 a 1 a 2 y 7 0 输输 入入 输输 出出 a 2 0 y 7 0 000 11111110 001 11111101 010 11111011 011 11110111 输输 入入 输输 出出 a 2 0 y 7 0 100 11101111 101 11011111 110 10111111 111 01111111 表 4 1 译码器真值表 图 4 4 译码器的原理框图 七段显示译码器的原理框图及真值表如图及表所示 4 个输入 d 3 0 可能 出现 16 种组合情况 它的 7 个输出 y 6 0 分别控制共阴 LED 数码管的 a b c d e f g 七段的亮 灭 从而显出对应的 16 个字符 a b g c d e fd 3 0 y 6 0 七段显示七段显示 译码器译码器 图 4 5 七段显示译码器的原理框图 表 4 2 8421BCD 七段显示译码器真值表 输输 入入 输输 出出 d 3 0 y 6 0 a b c d e f g H 0 1 1 1 1 1 1 0 H 1 0 1 1 0 0 0 0 H 2 1 1 0 1 1 0 1 H 3 1 1 1 1 0 0 1 输输 入入 输输 出出 d 3 0 y 6 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度航空零部件进口合同书
- 2025年度智能家居公寓房产代理合作协议
- 2025版桥梁清包工合同工程监理与质量监督合同
- 2025地产公司房地产项目风险评估与风险管理合同
- 2025版农业信息化农资采购服务合同
- 2025版公关活动策划试用员工劳务合同范本
- 2025版人民防空工程租赁合同范本及应急保障协议
- 2025年全新空调租赁与能源管理服务合同下载
- 2025版石膏板企业战略合作伙伴销售与研发合同
- 2025版农产品电商代理销售合同书
- 用友U8全产品功能介绍
- 医院突发公共卫生事件应急预案
- 建筑工程安全生产责任书
- GMAT数学概念单词
- 三基考试题库3
- 化工安全与环保PPT
- 流体力学的课件
- 《城市管理综合执法问题研究国内外文献综述》4800字
- 新录用公务员取消录用审批表
- 消控中心值班检查记录表
- 电梯周期日常维护保养项目表
评论
0/150
提交评论