1、草鱼 基于 FPGA 的数字秒表设计 草鱼 摘要 : p ork该设计是用于体育比赛的数字秒表 ,基于 FPGA 在 Quartus 草鱼 II 草鱼 9.0sp2 软件下应用 VHDL语言编写程序 ,采用 ALTRA公司 CycloneII系列的 EP2C8Q208芯片进行了计算机仿真 , 鲤鱼 并给出了相应的仿真结果 。 草鱼 本设计有效的克服了传统的数字秒表的缺点采用EDA 技术采取自上而下的设计思路 。 草鱼 绘制出了具体的逻辑电路 , 鲤鱼 最后又通过硬件上对其进行调试和验证 。 草鱼 该电路能够实现很好的计时功能 ,计时精度高 , 鲤鱼 最长计时时间可达一个小时 。 草鱼 草鱼 草
2、鱼 草鱼 草鱼 草鱼 关键字 : pork数字秒表 ; porkEDA; porkFPGA; porkVHDL; porkQuartus 草鱼 II草鱼 The 草鱼design 草鱼 of 草鱼digital 草鱼 stop 草鱼watch 草鱼based 草鱼 on 草鱼FPGA 草鱼 Abstract: porkThis 草鱼 design 草鱼 is 草鱼 a 草鱼 digital 草鱼 stop 草鱼 watch 草鱼 which 草鱼 is 草鱼 used 草鱼 for 草鱼 athletic 草鱼 contests 草鱼 and 草鱼 is 草鱼 based 草鱼 on 草鱼 F
3、PGA 草鱼 using 草鱼 VHDL 草鱼 language 草鱼 to 草鱼 write 草鱼 program 草鱼 in 草鱼 Quartus 草鱼 II 草鱼software,adopting 草鱼 EP2C8Q208 草鱼 chip 草鱼 of 草鱼 CycloneII 草鱼 series 草鱼 of 草鱼 ALTRA 草鱼 company 草鱼 for 草鱼computer 草鱼 simulation 草鱼 and 草鱼 at 草鱼 the 草鱼 same 草鱼 time 草鱼 showing 草鱼 the 草鱼 corresponding 草鱼 simulation 草鱼res
4、ult. 草鱼 This 草鱼 design 草鱼 effectively 草鱼 overcomes 草鱼 the 草鱼 traditional 草鱼 digital 草鱼 stop 草鱼 watch 草鱼weaknesses 草鱼 and 草鱼 takes 草鱼 a 草鱼 top-down 草鱼 approach 草鱼 to 草鱼 design. 草鱼 Draw 草鱼 out 草鱼 a 草鱼 particular 草鱼 logic 草鱼circuits, 草鱼 and 草鱼 finally 草鱼 pass 草鱼 the 草鱼 circuits 草鱼 to 草鱼 the 草鱼 hardware
5、 草鱼 to 草鱼 debug 草鱼 and 草鱼 verify 草鱼 it.This 草鱼circuit 草鱼 is 草鱼 able 草鱼 to 草鱼 carry 草鱼 out 草鱼 excellent 草鱼 timing 草鱼 function,has 草鱼 high 草鱼 timing 草鱼 precision,and 草鱼the 草鱼 longest 草鱼 timing 草鱼 time 草鱼 could 草鱼 reach 草鱼 an 草鱼 hour.草鱼 Key 草鱼 Words: 草鱼Digital 草鱼 stop 草鱼 watch; porkEDA; porkFPGA; porkV
6、HDL; porkMAX 草鱼 Plus 草鱼 引言 草 鱼草鱼 数字秒表是日常生活中比较常见的电子产品 , 鲤鱼 其设计也是 EDA 技术中最基本的设计实验之一 1。 草鱼 当今社会是数字化的社会 ,是数字集成电路广泛应用的社会 。 草鱼 数字集成电路本身在不断进行更新换代 ,随着微电子技术的发展 ,设计与制造集成电路的任务已不完全由半导体厂商来独立承担 。 草鱼 系统设计师更愿意自己设计专业集成电路 (ASIC)芯 片 ,而且希望设计周期尽可能短 ,最好在实验室里就能设计出合适的 ASIC 芯片并且立即投入实际应用之中 , 鲤鱼 因而出现了现场可编程器件 2( FPLD) 。 草鱼 现场可
7、编程门阵列( FPGA)即属其中应用最广泛的一种 。 草鱼 超高速硬件描述语言 VHDL, 鲤鱼 是对数字系统进行抽象的行为与功能描述到具体的内部线路结构描述 , 鲤鱼 利用 EDA 工具可以在电子设计的各个阶段 、 pork各个层次进行计算机模拟验证 , 鲤鱼 保证设计过程的正确性 , 鲤鱼 可大大降低设1 计成本 , 鲤鱼 缩短设计周期 3。 草鱼 本文介绍的数字秒表 , 鲤鱼 利用基于 VHDL 的 EDA 设计 工具 , 鲤鱼采用大规模可编程逻辑器件 FPGA, 鲤鱼 通过设计芯片来实现系统功能 。 草鱼 给出了顶层电路图 ,和各模块的设计 .增加了消除抖动的控制方法 ,消除了开关按键
8、的机械抖动 .通过编辑 、 pork编译和器件编程 , 草鱼 并将编程器文件下载到 SE-5 型 EDA 实验开发板上 4,经实际电路测试验证 ,达到了预期的设计要求 ,显示结果准确无误 。 草鱼草鱼 草鱼概述 草鱼 在科技高度发展的今天 , 鲤鱼 集成电路和计算机应用得到了高速发展 。 草鱼 尤其是计算机应用的发展 。 草鱼 它在人们日常生活已逐渐崭露头角 。 草鱼 大多数电子产品多是由计算机电路组 成 ,鲤鱼 如 : pork手机 、 porkmp3 等 。 草鱼 而且将来的不久他们的身影将会更频繁的出现在我们身边 。 草鱼 各种家用电器多会实现微电脑技术 。 草鱼 电脑各部分在工作时多是
9、一时间为基准的 。 草鱼 本文就是基于计算机电路的时钟脉冲信号 、 pork状态控制等原理设计出的数字秒表 1。 草鱼 秒表在很多领域充当一个重要的角色 。 草鱼 在各种比赛中对秒表的精确度要求很高 , 鲤鱼 尤其是一些科学实验 。 草鱼 他们对时间精确度达到了几纳秒级别 。 草鱼草鱼 1.1 设计要求 草鱼 (1) 草鱼 能对 0 秒 59 分 59.99 秒范围进行计时 , 鲤鱼 显示最长时间是 59 分 59 秒 ; pork草鱼 (2) 草鱼 计时精度达到 10ms; pork草鱼 (3) 草鱼 设计复位开关和启停开关 , 鲤鱼 复位开关可以在任何情况下使用 , 鲤鱼 使用以后计时器清
10、零 , 鲤鱼 并做好下一次计时的准备 。 草鱼 草鱼 1.2 数字秒表设计的目的 草鱼 本次设计的目的就是在掌握 EDA 实验开发系统的初步使用基础上 , 鲤鱼 了解 EDA 技术 , 鲤鱼对计算机系统中时钟控制系统进一步了解 , 鲤鱼 掌握状态机工作原理 , 鲤鱼 同时了解计算机时钟脉冲是怎么产生和工作的 。 草鱼 在 掌握所学的计算机组成与结构课程理论知识时 。 草鱼 通过对 数字秒表的 设计 , 鲤鱼 进行理论 与实际的结合 , 鲤鱼 提高与计算机有关设计能力 , 鲤鱼 提高分析 、pork解决计算机技术实际问题的能力 。 草鱼 通过课程设计深入理解计算机结构与控制实现的技术 , 鲤鱼
11、达到课程设计的目标 。 草鱼 草鱼 1.3 草鱼EDA 技术 草鱼 EDA 是指以计算机为工作平台 , 鲤鱼 融合了应用电子技术 、 pork计算机技术 、 pork智能化技术的最新成果而开发出的电子 CAD 通用软件包 , 鲤鱼 它根据硬件描述语言 HDL 完成的设计文件 ,鲤鱼 自动完成逻辑编译 、 pork化简 、 pork分割 、 pork综合 、 pork优化 、 pork布局布线及仿真 , 鲤鱼 直至完成对于特定目 标芯片的适配编译 、 pork逻辑映射和编程下载等工作 5。 草鱼 目前 EDA 主要辅助进行三个方2 面的设计工作 : porkIC 设计 、 pork电子电路设计和
12、 PCB 设计 。 草鱼 没有 EDA 技术的支持 , 鲤鱼 想要完成超大规模集成电路的设计制造是不可想象的 ; pork反过来 , 鲤鱼 生产制造技术的不断进步又必将对 EDA 技术提出新的要求 6。 草鱼 草鱼 1.4 硬件描述语言 VHDL草鱼 1.4.1 草鱼 VHDL 的简介 草鱼 VHDL 语言是一种用于电路设计的高级语言 。 草鱼 它在 80年代的后期出现 。 草鱼 最初是由美国国防部开发出来供美军用来提高设 计的可靠性和缩减开发周期的一种使用范围较小的设计语言 草鱼 。 草鱼 但是 , 鲤鱼 由于它在一定程度上满足了当时的设计需求 , 鲤鱼 于是他在 1987年成为 A 草鱼
13、I/IEEE 的标准( IEEE 草鱼 STD 草鱼 1076-1987) 。 草鱼 1993 年更进一步修订 , 鲤鱼 变得更加完备 , 鲤鱼 成为 A 草鱼 I/IEEE 的 A 草鱼 I/IEEE 草鱼 STD 草鱼 1076-1993 标准 。 草鱼 目前 , 鲤鱼 大多数的 CAD 厂商出品的 EDA 软件都兼容了这种标准 。 草鱼 自 IEEE 公布了 VHDL 的标准版本 , 鲤鱼 IEEE-1076(简称 87 版 )之后 , 鲤鱼 各 EDA 公司相继推出了自己的 VHDL 设计环境 , 鲤鱼 或宣布自己的设计工具可以和 VHDL 接口 。 草鱼 此后 VHDL 在电子设计领
14、域得到了广泛的接受 , 鲤鱼 并逐步取代了原有的非标准的硬件描述语言 。 草鱼 1993 年 , 鲤鱼 IEEE 对 VHDL 进行了修订 , 鲤鱼 从更高的抽象层次和系统描述能力上扩展 VHDL的内容 , 鲤鱼 公布了新版本的 VHDL, 鲤鱼 即 IEEE标准的 1076-1993版本 , 鲤鱼 (简称 93 版) 。 草鱼 现在 , 鲤鱼 VHDL 和 Verilog 作为 IEEE 的工业标准硬件描述语言 ,鲤鱼 又得到众多 EDA 公司的支持 , 鲤鱼 在电子工程领域 , 鲤鱼 已成为事 实上的通用硬件描述语言 。草鱼 有专家认为 , 鲤鱼 在新的世纪中 , 鲤鱼 VHDL 于 Ve
15、rilog 语言将承担起大部分的数字系统设计任务 。 草鱼 草鱼 1.4.2 草鱼 VHDL 语言的特点 草鱼 VHDL 的程序结构特点是将一项工程设计 , 鲤鱼 关于用 VHDL 和原理图输入进行 CPLD/FPGA设计的粗略比较 : pork在设计中 , 鲤鱼 如果采用原理图输入的设计方式是比较直观的 。 草鱼 你要设计的是什么 , 鲤鱼 你就直接从库中调出来用就行了 。 草鱼 这样比较符合人们的习惯 。 草鱼 在对一个设计实体定义了外部界面后 , 鲤鱼 一旦其内部开发完成后 , 鲤鱼 其他的设计就可 以直接调用这个实体 。 草鱼 这种将设计实体分成内外部分的概念是 VHDL 系统设计的基
16、本点 。 草鱼 应用 VHDL进行工程设计的优点是多方面的 4。 草鱼 草鱼 (1) 草鱼 与其他的硬件描述语言相比 , 鲤鱼 VHDL 具有更强的行为描述能力 , 鲤鱼 从而决定了他成为系统设计领域最佳的硬件描述语言 。 草鱼 强大的行为描述能力是避开具体的器件结构 ,鲤鱼 从逻辑行为上描述和设计大规模电子系统的重要保证 。 草鱼 草鱼 (2) 草鱼 VHDL 丰富的仿真语句和库函数 , 鲤鱼 使得在任何大系统的设计早期就能查验设计系3 统的功能可行性 , 鲤鱼 随时可对设计进行仿真模拟 。 草鱼 草鱼 (3) 草鱼 VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已
17、有设计的再利用功能 。 草鱼 符合市场需求的大规模系统高效 , 鲤鱼 高速的完成必须有多人甚至多个代发组共同并行工作才能实现 。 草鱼草鱼 (4) 草鱼 对于用 VHDL 完成的一个确定的设计 , 鲤鱼 可以利用 EDA 工具进行逻辑综合和优化 , 鲤鱼并自动的把 VHDL 描述设计转变成门级网表 。 草鱼 草鱼 (5) 草鱼 VHDL 对设计的描述具有相对独立性 , 鲤鱼 设计者可以不懂硬件的结构 , 鲤鱼 也不必管理最终设计实现的目标器件是什么 , 鲤鱼 而进行独立的设计 。 草鱼 草鱼 1.4.3 草鱼 草鱼 VHDL 的设计流程 草鱼 它主要包括以下几个步骤 : p ork草鱼 (1)
18、 草鱼 文本编辑 : pork草鱼 用任何文本编辑器都可以进行 , 鲤鱼 也可以用专用的 HDL 编辑环境 。 草鱼 通常 VHDL 文件保存为 .vhd 文件 , 鲤鱼 Verilog 文件保存为 .v文件 草鱼 (2) 草鱼 功能仿真 : pork草鱼 将文件调入 HDL 仿真软件进行功能仿真 , 鲤鱼 检查逻辑功能是否正确(也叫前仿真 , 鲤鱼 对简单的设计可以跳过这一步 , 鲤鱼 只在布线完成以后 , 鲤鱼 进行时序仿真) 草鱼 (3) 草鱼 逻辑综合 : pork草鱼 将源文件调入逻辑 综合软件进行综合 , 鲤鱼 即把语言综合成最简的布尔表达式 。 草鱼 逻辑综合软件会生成 .edf
19、 或 .edif 草鱼 的 EDA 工业标准文件 。 草鱼草鱼 (4) 草鱼 布局布线 : pork草鱼 将 .edf 文件调入 PLD 厂家提供的软件中进行布线 , 鲤鱼 即把设计好的逻辑安放 PLD/FPGA内 。 草鱼草鱼 (5) 草鱼 时序仿真 : pork草鱼 需要利用在布局布线中获得的精确参数 , 鲤鱼 用仿真软件验证电路的时序 。 草鱼(也叫后仿真) 草鱼 通常以上过程可以都在 PLD/FPGA 厂家提供的开发工具 。 草鱼草鱼 (6) 草鱼 器件编程 草鱼 2.系统的设计流程 草 鱼 2.1 草鱼设计规划 草鱼 草鱼 草鱼 草鱼 草鱼 本系统设计采用自顶向下的设计方案 , 鲤鱼
20、 系统的整体组装设计原理图如图 1所示 ,鲤鱼 它主要由控制模块 、 pork时基分频模块 , 鲤鱼 计时模块和显示模块四部分组成 。 草鱼 各模块分别完4 成计时过程的控制功能 、 p ork计时功能与显示功能 。 草鱼 草鱼 草鱼 图 1 草鱼 系统组成图 草鱼 草鱼 图 草鱼 2 草鱼 草鱼 系统 设计 框 图 草鱼 如图 2所示 , 鲤鱼 计时控制器的作用是控制计时 。 草鱼 计时控制器的输入信号是启动 , 鲤鱼 暂停和清零 。 草鱼 为符合惯例 , 鲤鱼 将启动和暂停功能设置在同一个按键上 , 鲤鱼 按一次是启动 , 鲤鱼 按第二次是暂停 , 鲤鱼 按第三次是继续 。 草鱼 所以计时
21、控制器共有 2 个开关输入信号 , 鲤鱼 即启动 /暂停和清零信号 。 草鱼 草鱼 计时电路的输入信号为 4o96HZ时钟 、 pork计数允许 , 鲤鱼 保持和清零信号 , 鲤鱼 输出为 IOMS、 pork10OMS、p orkS 和 MIN 的计时数据 。 草鱼草鱼 时基分频器是一个 41 分频器 , 鲤鱼 产生 10MS 周期的脉冲用于计时电路时钟信号 。 草鱼草鱼 显示电路为动态扫描电路 。 草鱼 用以显示十分位 、 porkMIN、 pork10S、 porkS、 porklOOMS 和 1OMS 信号 。 草鱼草鱼 2.2 草鱼系统的原理图及各模块的程序 草鱼 草鱼 图 3 草鱼
22、 系统的整体组装设计原理图 草鱼 草鱼 草鱼 草鱼 草鱼 设计由控制模块 、 pork时基分频模块 , 鲤鱼 计时模块和显示模块四部分组成 。 草鱼 各模块实现秒表不同的功能 7 草鱼 。 草鱼 图 3就是整个系统原理图 。 草鱼 草鱼 2.2.1 控制模块 草鱼 计时模块的作用是针对计时过程进行控制 。 草鱼 计时控制模块可用俩个按钮来完成秒表的启动 、 p ork停止和复位 。 草鱼 部分源程序如下 : pork草鱼 library 草鱼ieee;p ork草鱼 use 草鱼ieee.std_logic_1164.all;p ork草鱼 use 草鱼ieee.std_logic_unsig
23、ned.all;p ork草鱼 entity 草鱼control 草鱼is草鱼 port 草鱼( 草鱼clk 草鱼, 草鱼start: 草鱼in 草鱼std_logic;p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼startstop,clks 草鱼:out 草鱼 草鱼std_logic);p ork草鱼 end 草鱼control;p ork草鱼 architecture 草鱼aa 草鱼of 草鱼control 草鱼is草鱼 5 signal 草鱼sstart,asstart: 草鱼std_logic;p ork草鱼 signal 草鱼 coun
24、t 草鱼 : 草鱼 std_logic_vector(3 草鱼 downto 草鱼 0);pork 草鱼 声明结构体所用的内部信号及数据类型 草鱼 begin草鱼 clk_label:草鱼 PROCESS 草鱼(clk) 进程(敏感表) 草鱼 BEGIN草鱼 IF 草鱼clkevent 草鱼and 草鱼clk=1 草鱼THEN 表示时钟的上升沿 草鱼 草鱼 草鱼 草鱼 草鱼if 草鱼count=“1001“ 草鱼then 草鱼count=“0000“;p ork 草鱼else 草鱼count=count+1;p ork 草鱼end 草鱼if;p ork草鱼 草鱼 草鱼 草鱼 草鱼sstart=
25、start;p ork 同步置数 草鱼 END 草鱼IF;p or k草鱼 END 草鱼PROCESS 草鱼clk_label;p or k草鱼 clkss_label:草鱼 PROCESS 草鱼(sstart)草鱼 BEGIN草鱼 IF 草鱼sstartevent 草鱼and 草鱼sstart=1 草鱼THEN草鱼 草鱼 草鱼 草鱼 草鱼asstart=not 草鱼asstart;p ork草鱼 END 草鱼IF;p or k 产生 10ms 周期的脉冲 , 鲤鱼 用于计时电路时钟信号 草鱼 END 草鱼PROCESS 草鱼clkss_label;p ork草鱼 startstop=asst
26、art;p ork草鱼 clks=count(3);p ork草鱼 end 草鱼aa;p or k草鱼 2.2.2 时基分频模块 草鱼 时基分频模块的作用把输入时钟信号变为分频输出信号 。 草鱼 源程序 : pork草鱼 LIBRARY 草鱼IEEE;p ork草鱼 USE 草鱼IEEE.STD_LOGIC_1164.ALL;p ork草鱼 USE 草鱼IEEE.STD_LOGIC_UNSIGNED.ALL;p ork草鱼 ENTITY 草鱼CB10 草鱼IS草鱼 草鱼 草鱼PORT( 草鱼CLK: 草鱼IN 草鱼STD_LOGIC;p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草
27、鱼CO 草鱼: 草鱼OUT 草鱼STD_LOGIC);p ork草鱼 6 END 草鱼CB10;p ork草鱼 ARCHITECTURE 草鱼ART 草鱼OF 草鱼CB10 草鱼IS草鱼 草鱼 草鱼SIGNAL 草鱼COUNT:STD_LOGIC_VECTOR 草鱼(3 草鱼DOWNTO 草鱼0);p ork草鱼 草鱼 草鱼BEGIN 草鱼 PROCESS(CLK)草鱼 BEGIN草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼IF 草鱼RISING_EDGE(CLK)THEN 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼IF 草鱼COUNT=“1001“THEN 草鱼 草鱼 草鱼 草鱼
28、 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼COUNT=“0000“;p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼CO=1;p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼ELSE草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼COUNT=COUNT+1;p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼CO=0;p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼END 草鱼IF;p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼END 草鱼IF;p ork草
29、鱼 草鱼 草鱼END 草鱼PROCESS;p ork草鱼 END 草鱼ART;p ork草鱼 2.2.3 草鱼 时模块 草鱼 计时模块执行计时功能 , 鲤鱼 计时方法和计算机一样是对标准时钟脉冲计数 9。 草鱼 他是由四个十进制计数器和俩个六进制计数器构成 , 鲤鱼 其中毫秒位 、 pork十毫秒位 、 pork秒位和分位采用十进制计数器 , 鲤鱼 十秒位和十分位采用六进制计数器 10。 草鱼 源程序 : pork草鱼 草鱼 十进制计数器 草鱼 LIBRARY 草鱼IEEE;p ork草鱼 USE 草鱼IEEE.STD_LOGIC_1164.ALL;p ork草鱼 USE 草鱼IEEE.STD
30、_LOGIC_UNSIGNED.ALL;p ork草鱼 ENTITY 草鱼CDU10 草鱼IS草鱼 草鱼 草鱼PORT( 草鱼CLK:IN 草鱼STD_LOGIC;p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼CLR,EN:IN 草鱼STD_LOGIC;p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼CN 草鱼:OUT 草鱼STD_LOGIC;p ork草鱼 草鱼 草 鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼COUNT10:OUT 草鱼STD_LOGIC_VECTOR(3 草鱼DOWNTO 草鱼0);p ork草鱼 7 END 草鱼CDU10;p ork草鱼
31、草鱼 草鱼 END 草鱼IF;p or k草鱼 END 草鱼IF;p or k草鱼 END 草鱼PROCESS;p ork草鱼 END 草鱼ART;p ork草鱼 草鱼 六进制计数器 草鱼 LIBRARY 草鱼IEEE;p ork草鱼 USE 草鱼IEEE.STD_LOGIC_1164.ALL;p ork草鱼 USE 草鱼IEEE.STD_LOGIC_UNSIGNED.ALL;p ork草鱼 ENTITY 草鱼CDU6 草鱼IS草鱼 草鱼 草 鱼草鱼 草鱼 草鱼 END 草鱼IF;p or k草鱼 END 草鱼IF;p or k草鱼 END 草鱼PROCESS;p ork草鱼 END 草鱼AR
32、T;p ork草鱼 草鱼 计数器 草鱼 LIBRARY 草鱼IEEE;p ork草鱼 USE 草鱼IEEE.STD_LOGIC_1164.ALL;p ork草鱼 USE 草鱼IEEE.STD_LOGIC_UNSIGNED.ALL;p ork草鱼 ENTITY 草鱼COUNT 草鱼IS草鱼 草鱼 草鱼 草鱼 草鱼 END 草鱼ART;p ork草鱼 2.2.4 显示模块 草鱼 计时显示电路的作用是将计时值在 LED 数码管上显示出来 。 草鱼 计时电路产生的值经过BCD 七段译码后 , 鲤鱼 驱动 LED 数码管 。 草鱼 计时显示电路的实现方案采用扫描显示 8。 草鱼 部分源程序 : p or
33、k草鱼 8 草鱼 数据选择器 草鱼 LIBRARY 草鱼IEEE;p ork草鱼 USE 草鱼IEEE.STD_LOGIC_1164.ALL;p ork草鱼 USE 草鱼IEEE.STD_LOGIC_UNSIGNED.ALL;p ork草鱼 ENTITY 草鱼MULX 草鱼IS草鱼 草鱼 草鱼PORT( 草鱼CLK,CLR,EN:IN 草鱼STD_LOGIC;p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼S_1MS:IN 草鱼STD_LOGIC_VECTOR(3 草鱼DOWNTO 草鱼0);p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼S_10MS:IN 草鱼S
34、TD_LOGIC_VECTOR(3 草鱼DOWNTO 草鱼0);p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 S_100MS:IN 草鱼STD_LOGIC_VECTOR(3 草鱼DOWNTO 草鱼0);p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼S_1S:IN 草鱼STD_LOGIC_VECTOR(3 草鱼DOWNTO 草鱼0);p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼S_10S:IN 草鱼STD_LOGIC_VECTOR(3 草鱼DOWNTO 草鱼0);p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼M_1MIN:IN
35、草鱼STD_LOGIC_VECTOR(3 草鱼DOWNTO 草鱼0);p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼M_10MIN:IN 草鱼STD_LOGIC_VECTOR(3 草鱼DOWNTO 草鱼0);p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼HOUR:IN 草鱼STD_LOGIC_VECTOR(3 草鱼DOWNTO 草鱼0);p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼OUTBCD:OUT 草鱼STD_LOGIC_VECTOR(3 草鱼DOWNTO 草鱼0);p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼SEG:OU
36、T 草鱼STD_LOGIC_VECTOR(7 草鱼DOWNTO 草鱼0);p ork草鱼 草鱼 END 草鱼MULX;p ork草鱼 ARCHITECTURE 草鱼ART 草鱼OF 草鱼MULX 草鱼IS草鱼 SIGNAL 草鱼COUNT:STD_LOGIC_VECTOR(3 草鱼DOWNTO 草鱼0);p ork草鱼 草鱼 草鱼 END 草鱼CASE;p ork草鱼 END 草鱼IF;p or k草鱼 END 草鱼PROCESS;p ork草鱼 END 草鱼ART;p ork草鱼 草鱼 BCD 七段译码器 草鱼 LIBRARY 草鱼IEEE;p ork草鱼 USE 草鱼IEEE.STD_LO
37、GIC_1164.ALL;p ork草鱼 USE 草鱼IEEE.STD_LOGIC_UNSIGNED.ALL;p ork草鱼 9 ENTITY 草鱼BCD7 草鱼IS草鱼 草鱼 草鱼PORT( 草 鱼草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼BCD:IN 草鱼STD_LOGIC_VECTOR(3 草鱼DOWNTO 草鱼0);p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼LED:OUT 草鱼STD_LOGIC_VECTOR(6 草鱼DOWNTO 草鱼0);p ork草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草 鱼草鱼 END 草鱼BCD7;p ork草鱼 ARCH
38、ITECTURE 草鱼ART 草鱼OF 草鱼BCD7 草鱼IS草鱼 BEGIN草鱼 LED=“1111110“WHEN 草鱼BCD 草鱼=“0000“ 草鱼ELSE草鱼 “0110000“WHEN 草鱼BCD 草鱼=“0001“ 草鱼ELSE草鱼 “1101101“WHEN 草鱼BCD 草鱼=“0010“ 草鱼ELSE草鱼 “1111001“WHEN 草鱼BCD 草鱼=“0011“ 草鱼ELSE草鱼 “0110011“WHEN 草鱼BCD 草鱼=“0100“ 草鱼ELSE草鱼 “1011011“WHEN 草鱼BCD 草鱼=“0101“ 草鱼ELSE草鱼 “1011111“WHEN 草鱼BCD
39、草鱼=“0110“ 草鱼ELSE草鱼 “1110000“WHEN 草鱼BCD 草鱼=“0111“ 草鱼ELSE草鱼 “1111111“WHEN 草鱼BCD 草鱼=“1000“ 草鱼ELSE草鱼 “1111011“WHEN 草鱼BCD 草鱼=“1001“ 草鱼ELSE草鱼 “0000000“;p ork草鱼 END 草鱼ART;p ork草鱼 3.系统仿真 草鱼 (1) 草鱼 时基分频模块的仿真(如图 4 示) 草鱼 草鱼 图 4 草鱼 基分频模块的仿真 草鱼 分析 : p orkCLK 为时钟信号的输入 草鱼 , 鲤鱼 CO 为分频输出信号 。 草鱼草鱼 (2) 草鱼 控制模块的仿真(如 图 5示) 草鱼 图 5制模块的仿真 草鱼 分析 : p orkCLK、 porkCLR 和 SP为输入信号 , 鲤鱼 EN 为输出信号 。 草鱼草鱼