基于FPGA的多功能电子时钟方案设计书报告.docx

上传人:小飞机 文档编号:4957750 上传时间:2023-05-26 格式:DOCX 页数:34 大小:543.50KB
返回 下载 相关 举报
基于FPGA的多功能电子时钟方案设计书报告.docx_第1页
第1页 / 共34页
基于FPGA的多功能电子时钟方案设计书报告.docx_第2页
第2页 / 共34页
基于FPGA的多功能电子时钟方案设计书报告.docx_第3页
第3页 / 共34页
基于FPGA的多功能电子时钟方案设计书报告.docx_第4页
第4页 / 共34页
基于FPGA的多功能电子时钟方案设计书报告.docx_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《基于FPGA的多功能电子时钟方案设计书报告.docx》由会员分享,可在线阅读,更多相关《基于FPGA的多功能电子时钟方案设计书报告.docx(34页珍藏版)》请在三一办公上搜索。

1、基于 FPGA 的多功能时钟的设计学院:电控学院 班级:微电子 1001 班 姓名: xxx 学号: xxxxxxxxxx 日期: 2014 年 3 月 21 日第一章绪论现代社会的标志之一就是信息产品的广泛使用,而且是产品的性能越来越 强,复杂程度越来越高,更新步伐越来越快。支撑信息电子产品高速发展的基 础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。前者以微 细加工技术为代表,而后者的代表就是电子设计自动化( electronic design automatic, EDA )技术。本设计采用的VHD是一种全方位的硬件描述语言,具有极强的描述能力, 能支持系统行为级、寄存器传输

2、级和逻辑门级这三个不同层次的设计;支持结 构、数据流、行为三种描述形式的混合描述,覆盖面广,抽象能力强,因此在 实际应用中越来越广泛。ASIC是专用的系统集成电路,是一种带有逻辑处理的 加速处理器;而FPG是特殊的ASIC芯片,与其它的ASIC芯片相比,它具有设计 开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定 以及可实时在线检测等优点。在控制系统中,键盘是常用的人机交换接口,当所设置的功能键或数字键 按下的时候,系统应该完成该键所对应的功能。因此,按键信息输入是与软件 结构密切相关的过程。根据键盘结构的不同,采用不同的编码方法,但无论有 无编码以及采用什么样的编码,最后

3、都要转换成为相应的键值,以实现按键功 能程序的转移。 1钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表 原先的报时功能。诸如定时自动报警、定时启闭电路、定时开关烘箱、通断动 力设备,甚至各种定时电气的自动启用等,所有这些都是以钟表数字化为基础 的。因此研究数字钟以及扩大其应用有着非常现实的意义。1.1 选题背景本节将从FPGA嵌入式应用开发技术与数字钟技术发展的客观实际出发,通 过对该技术发展状况的了解及课题本身的需要,指出研究基于FPGA勺芯片系统与设计数字钟的设计与实现的必要性。1.1.1 课题相关技术的发展当今电子产品正向功能多元化 , 体积最小化 , 功耗最低化的方向

4、发展。它与 传统的电子产品在设计上的显着区别是大量使用大规模可编程逻辑器件,使产 品的性能提高,体积缩小,功耗降低,同时广泛运用现代计算机技术,提高产 品的自动化程度和竞争力,缩短研发周期。 EDA技术正是为了适应现代电子技 术的要求,吸收众多学科最新科技成果而形成的一门新技术。美国ALTER/公司的可编程逻辑器件采用全新的结构和先进的技术,加上Quartus 开发环境,使得其更具有高性能,开发周期短等特点,十分方便进行 电子产品的开发和设计。 2EDA技术以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻 辑描述主要表达方式,以计算机和大规模可编程逻辑器件的开发软件及实验开 发系统为设

5、计工具,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑映射、编程下载等工作,最终形成集成电子 系统或专用集成芯片的一门新技术。本设计是利用VHDL硬件描述语言结合可编程逻辑器件进行的,并通过数码 管静态显示走时结果。数字钟可以由各种技术实现,如单片机等。利用可编程 逻辑器件具有其它方式没有的特点,它具有易学、方便、新颖、有趣、直观, 设计与实验成功率高、理论与实践结合紧密、积小、量大、 /O 口丰富、编程和 加密等特点,并且它还具有开放的界面、丰富的设计库、模块化的工具以及 LPM定制等优良性能,应用非常方便。因此,本设计采用可编程逻辑器件实 现。1.1.2

6、课题研究的必要性 现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发 展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正 在不断地改变着我们的生活,改变着我们的世界。在这快速发展的年代,时间 对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇 到重要的事情而忘记了时间,这将会带来很大的损失,因此我们需要一个定时 系统来提醒这些忙碌的人。数字化的钟表给人们带来了极大的方便。近些年, 随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟 已不能满足人们的需求,多功能数字钟不管在性能还是在样式上都发生了质的 变化,有电子闹钟、数字闹钟

7、等等。1.2 课题研究的内容本设计主要研究基于FPGA的数字钟,要求时间以24小时为一个周期,显 示时、分。具有校时以及整点报时功能,可以对时、分进行单独校对,使其校 正到标准时间。校对时间由1X5矩形键盘进行控制,为了保证计时的稳定及准 确须由晶体振荡器提供时间基准信号。第二章 FPGA 简介2.1 FPGA 概述FPG是现场可编程门阵列(Field Programmable Gate Array )的简称,与 之相应的CPL是复杂可编程逻辑器件(Complex Programmable Logic Device ) 的简称,两者的功能基本相同,只是实现原理略有不同,有时可以忽略这两者 的区

8、别,统称为可编程逻辑器件或CPLD/PGFA CPLD/PGF几乎能完成任何数字 器件的功能,上至高性能CPU下至简单的74电路。它如同一张白纸或是一堆积 木,工程师可以通过传统的原理图输入或硬件描述语言自由的设计一个数字系 统。通过软件仿真可以事先验证设计的正确性,在 PC完成以后,利用 CPLD/FPG的在线修改功能,随时修改设计而不必改动硬件电路。使用 CPLD/FPG开发数字电路,可以大大缩短设计时间,减少 PC面积,提高系统的 可靠性。这些优点使得CPLD/FPG技术在20世纪90年代以后得到飞速的发展,同 时也大大推动了 ED软件和硬件描述语言HDL勺进步。32.2 FPGA 基本

9、结构FPG具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列,并由 可编程的互连资源连接这些逻辑功能块来实现不同的设计。FPG一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM!成。这 3种可编程电路是:可编程逻辑模块( CLB-Configurable Logic Block )、输入 / 输出模块( IOB-I/O Block )和互连资源( IRInterconnect Resource)。可编程逻辑模块CLB是实现逻辑功能的基本单元,它们通常规则的 排列成一个阵列,散布于整个芯片;可编程输入 /输出模块(I0B)主要完成芯 片上的逻辑与外部封装脚的接口,它通常排列在芯片

10、的四周;可编程互连资源 包括各种长度的连接线段和一些可编程连接开关,它们将各个CLB间或CLBIOB之间以及IOB之间连接起来,构成特定功能的电路。41. CLB是 FPG的主要组成部分。图2.1是CLBS本结构框图,它主要由逻辑函 数发生器、触发器、数据选择器等电路组成。CLE中 3个逻辑函数发生器分别是G F和H,相应的输出是G、F和H。G有4个输入变量G1、G2 G3和G4; F也 有4个输入变量F1、F2、F3和F4。这两个函数发生器是完全独立的,均可以实现 4输入变量的任意组合逻辑函数。逻辑函数发生器H有 3个输入信号;前两个是函数发生器的输出G和F,而另一个输入信号是来自信号变换电

11、路的输出 H1。 这个函数发生器能实现 3输入变量的各种组合函数。这 3个函数发生器结合起 来,可实现多达 9变量的逻辑函数。CLE中有许多不同规格的数据选择器(四选一、二选一等),通过对CLE内部数据选择器的编程,逻辑函数发生器 G F和H的输出可以连接到CLB俞出端X或 丫,并用来选择触发器的激励输入信号、时钟有效边沿、时钟使能信号以及输出 信号。这些数据选择器的地址控制信号均由编程信息提供,从而实现所需的电 路结构。CLE中的逻辑函数发生器F和 G匀为查找表结构,其工作原理类似于 ROM F和 G勺输入等效于R0的地址码,通过查找ROMP的地址表可以得到相应的组合逻辑函数输出。另外,逻辑

12、函数发生器 F和G还可以作为器件内高速RAM小的可读写 存储器使用,它由信号变换电路控制。2. 输入/输出模块IOB。IOB提供了器件引脚和内部逻辑阵列之间的连接。它 主要由输入触发器、输入缓冲器和输出触发 / 锁存器、输出缓冲器组成。每个IOBS制一个引脚,它们可被配置为输入、输出或双向I/O功能。当IOB 控制的引脚被定义为输入时,通过该引脚的输入信号先送入输入缓冲器。缓冲 器的输出分成两路:一路可以直接送到 MUX另一路延时几个纳秒(或者没有延 时)后送到输入通路触发器,再送到数据选择器。通过编程给数据选择器不同 的控制信息,确定送至CLB车列的I1和I2是来自输入缓冲器,还是来自触发器

13、。当IOB控制的引脚被定义为输出时,CLB车列的输出信号OU也可以有两条传 输途径:一条是直接经MU送至输出缓冲器,另一条是先存入输出通路 触发 器,再送至输出缓冲器。IOB输出端配有两只MO管,它们的栅极均可编程,使 MO管导通或截止,分 别经上拉电阻接通VCC地线或者不接通,用以改善输出波形和负载能力。3. 可编程互连资源IR。可编程互连资源IR可以将FPG内部的CL餉CLB 间、CLBIOB之间连接起来,构成各种具有复杂功能的系统。IR主要由许多金 属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。2.3 FPGA 系统设计流程一般说来,一个比较大的完整的工程应该采

14、用层次化的描述方法:分为几 个较大的模块,定义好各功能模块之间的接口,然后各个模块再细分去具体实 现,这就是自顶向下的设计方法。目前这种高层次的设计方法已被广泛采用。 高层次设计只是定义系统的行为特征,可以不涉及实现工艺,因此还可以在厂 家综合库的支持下,利用综合优化工具将高层次描述转换为针对某种工艺优化 的网络表,使工艺转化变得轻而易举。CPLD/FPG系统设计的工作流程如图2.2所示。流程说明:1. 工程师按照“自顶向下”的设计方法进行系统划分。2. 输入VHD代码,这是设计中最为普遍的输入方式。此外,还可以采用图 形输入方式,这种输入方式具有直观、容易理解的优点。3. 将以上的设计输入编

15、译成标准的 VHD文件。4. 进行代码级的功能仿真,主要是检验系统功能设计的正确性。这一步骤 适用于大型设计,因为对于大型设计来说,在综合前对源代码仿真,就可以大 大减少设计重复的次数和时间。一般情况下,这一仿真步骤可略去。5. 利用综合器对VHD源代码进行综合优化处理,生成门级描述的网络表文件,这是将高层次描述转化为硬件电路的关键步骤。综合优化是针对ASIC芯片 供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库的支持 下才能完成。6. 利用产生的网络表文件进行适配前的时序仿真,仿真过程不涉及具体器 件的硬件特性,是较为粗略的。一般的设计,也可略去这一步骤。7. 利用适配器将综合

16、后的网络表文件针对某一具体的目标器件进行逻辑映 射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。8. 在适配完成后,产生多项设计结果:a.适配报告,包括芯片内部资源利 用情况,设计的布尔方程描述情况等;b.适配后的仿真模型;c.器件编程文 件。根据适配后的仿真模型,可以进行适配后时序仿真,因为已经得到器件的 实际硬件特性(如时延特性),所以仿真结果能比较精确的预期未来芯片的实 际性能。如果仿真结果达不到设计要求,就修改 VHD源代码或选择不同速度和 品质的器件,直至满足设计要求。最后将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片图2.2 CPLD/FPGA系统设计流程2.

17、4 FPGA 开发编程原理 硬件设计需要根据各种性能指标、成本、开发周期等因素,确定最佳的实 现方案,画出系统框图,选择芯片,设计 PC并最终形成样机。CPLD/FPG软件设计可分为两大块:编程语言和编程工具。编程语言主要有 VHD和Verilog两种硬件描述语言;编程工具主要是两大厂家 Altera和Xilinx的 集成综合ED敞件Quartusll以及第三方工具。具体的设计输入方式有以下几 种:1. HDL语言方式。HD既可以描述底层设计,也可以描述顶层的设计,但它 不容易做到较高的工作速度和芯片利用率。用这种方式描述的工程最后所能达 到的性能与设计人员的水平、经验以及综合软件有很大的关系

18、。2. 图形方式。可以分为电路原理图描述,状态机描述和波形描述3种形式。电路原理图方式描述比较直观和高效,对综合软件的要求不高。一般大都使用 成熟的IP核和中小规模集成电路所搭成的现成电路,整体放到一片可编程逻辑 器件的内部去,其硬件工作速度和芯片利用率很高,但是当工程很大时,该方 法就显得有些繁琐;状态机描述主要用来设计基于状态机思想的时序电路。在 图形的方式下定义好各个工作状态,然后在各个状态上输入转换条件以及相应 的输入输出,最后生成HD语言描述,送去综合软件综合到可编程逻辑器件的内 部。由于状态机到HD语言有一种标准的对应描述方式,所以这种输入方式最后 所能达到的工作速度和芯片利用率主

19、要取决于综合软件;波形描述方式是基于 真值表的一种图形输入方式,直接描述输入与输出的波形关系 。2.5 QuartusII 设计平台2.5.1 软件开发环境及基本流程本设计所用软件主要是 QuartusII ,在此对它做一些介绍。QuartusII是Altera提供的FPGA/CPL开发集成环境,Altera是世界上最 大的可编程逻辑器件供应商之一。 QuartusII 提供了一种与结构无关的设计环 境,使设计者能方便地进行设计输入、快速处理和器件编程。Altera 公司的 QuartusII 开发工具人机界面友好、易于使用、性能优良, 并自带编译、仿真功能。QuartusII软件完全支持VH

20、DI设计流程,其内部嵌有 VHDL逻辑综合器。QuartusII也可以利用第三方的综合工具,如 FPGA Compiler II ,并能直接调用这些工具。同样, QuartusII 具备仿真功能,同时 也支持第三方的仿真工具。此外,QuartusII与MATLAB口 DSP Builder结合,可以进行基于FPGA勺DSP系统开发,是DSP硬件系统实现的关键EDA技术。QuartusII 包括模块化的编译器。编译器包括的功能模块有分析 /综合器、 适配器、装配器、时序分析器、设计辅助模块、 EDA网表文件生成器、编辑数 据接口等。可以通过选择 Start Compilation 来运行所有的编

21、译器模块,也可 以通过选择 Start 单独运行各个模块。在 Compiler Tool 窗口中,可以打开该 模块的设置文件或报告文件,或者打开其它相关窗口。图2.3上排所示的是Quartusll编译设计主控界面,它显示了 Quartusll 自动设计的各主要处理环节和设计流程,包括设计输入编辑、设计分析与综 合、适配、编程文件汇编、时序参数提取以及编程下载几个步骤。图2.3下排的流程框图是与上面的Quartusll设计流程相对照的标准的EDA开发流程。图形或HDL编辑图2.3 Quartusll 设计流程在设计输入之后,Quartusll的编译器将给出设计输入的错误报告。 Quartusll

22、拥有性能良好的设计错误定位器,用于确定文本或图形设计中的错 误。在进行编译后,可对设计进行时序仿真。在仿真前,需要利用波形编辑器 编辑一个波形激励文件。编译和仿真检测无误后,便可将下载信息通过 Quartusll提供的编程器下载入目标器件中了。冋Quartusll图形用户界面的基本设计流程如下:1. 使用New Project Wizard ( File菜单)建立新工程并指定目标器件或器 件系列。2. 使用 Text Editor(文本编辑器)建立 Verilog HDL、VHDL或 Altera 硬件描述语言(AHDL设计。可以使用Block Editor(原理图编辑器)建立流程图或原理图。

23、流程图中可以包含代表其它设计文件的符号;还可以使用 MegaWizard Plug-In Manager生成宏功能模块和IP内核的自定义变量,在设 计中将它们实例化。3. (可选)使用 Assignment Editor 、Settings 对话框(Assignments 菜单)、Floorplan Editor或LogicLock功能指定初始设计的约束条件。4. (可选)使用SOPC Builder或DSP Builder建立系统级设计。5. (可选)使用Software Builder 为Excalibur 器件处理器或 Nios嵌入 式处理器建立软件和编程文件。6. 使用 Analysi

24、s & Synthesis对设计进行综合。7. (可选)使用仿真器对设计执行功能仿真。8. 使用 Fitter 对设计执行布局布线。在对源代码进行少量更改之后,还可 以使用增量布局布线。9. 使用 Timing Analyzer 对设计进行时序分析。10. 使用仿真器对设计进行时序仿真。11. (可选)使用物理综合、时序底层布局图、 LogicLock 功能、 Settings 对话框和 Assignment Editor 进行设计优化,实现时序关闭。12. 使用 Assembler 为设计建立编程文件。13. 使用编程文件、 Programmer 和 Altera 硬件编程器对器件进行编程;

25、或 将编程文件转换为其它文件格式以供嵌入式处理器等其它系统使用。14. (可选)使用 SignalTap II Logic Analyzer、SignalProbe 功能或Chip Editor 对设计进行调试。15. (可选)使用 Chip Editor 、 Resource Property Editor 和 Change Man ager进行工程更改管理。2.5.2 具体设计流程1. 建立工作库文件夹和编辑设计文件首先建立工作库目录,以便存储工程工程设计文件。任何一项设计都是一项工程( Project ),都必须首先为此工程建立一个放 置与此工程相关的所有设计文件的文件夹。此文件夹将被E

26、DA软件默认为工作库。一般来说,不同的设计工程最好放在不同的文件夹中,而同一工程的所有 文件都必须放在同一文件夹中。2. 创建工程使用 New Project Wizard 可以为工程指定工作目录、分配工程名称以及指 定最高层设计实体的名称,还可以指定要在工程中使用的设计文件、其它源文 件、用户库和EDA工具,以及目标器件系列和具体器件等。3. 编译前设置在对工程进行编译处理前,必须做好必要的设置。步骤如下:a. 选择FPGAB标芯片b. 选择配置器件的工作方式c. 选择配置器件和编程方式d. 选择输出设置e. 选择目标器件闲置引脚的状态4. 全程编译QuartusII 编译器是由一系列处理模

27、块构成的,这些模块负责对设计工程 的检错、逻辑综合、结构综合、输出结果的编辑配置,以及时序分析。在这一 过程中,将设计工程适配到FPG/目标器中,同时产生多种用途的输出文件。编 译器首先检查出工程设计文件中可能的错误信息,供设计者排除。然后产生一 个结构化的以网表文件表达的电路原理图文件。如果编译成功,可以见到工程管理窗口左上角显示了工程(例如工程 div )的层次结构和其中结构模块耗用的逻辑宏单元数;在此栏下是编译处理流 程,包括数据网表建立、逻辑综合、适配、配置文件装配和时序分析等;最下 栏是编译处理信息;中栏式编译报告工程选择菜单,单击其中各项可以详细了 解编译与分析结果。5. 时序仿真

28、工程编译通过后,必须建立 VWF文件对其功能和时序性质进行仿真测试, 以了解设计结果是否满足原设计要求。 7第三章数字钟总体设计方案3.1 数字钟的构成数字钟实际上是一个对标准频率(1HZ进行计数的计数电路。由于计数的 起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时 电路,同时标准的1HZ时间信号必须做到准确稳定,通常使用石英晶体振荡器 电路构成数字钟。3.2 数字钟的工作原理 振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,然后经过分频 器输出标准秒脉冲。秒计数器满 60后向分计数器进位,分计数器满 60后向小时 计数器进位,小时计数器按照“ 24翻1”规律计数。计

29、数满后各计数器清零,重 新计数。计数器的输出分别经译码器送数码管显示。计时出现误差时,可以用 校时电路校时、校分。控制信号由1 X 5矩形键盘输入。时基电路可以由石英晶 体振荡电路构成,假设晶振频率1MHz经过6次十分频就可以得到秒脉冲信号。 译码显示电路由八段译码器完成。3.3 数字钟硬件电路设计1. 系统芯片的选取本系统拟采用Altera公司Cyclone系列的EP2C3T144芯片。选用该款芯片 的原因是: Altera 公司的 Quartus II 开发环境非常友好、直观,为整个系统的开发提 供了极大的方便; 该FPGA片内逻辑资源、10端口数和RAM容量都足够用,并且价格相对 来说比

30、较便宜,速度快,可以满足要求,且有很大的升级空间。EP2C3T14是 Altera 公司生产的 Cyclone I 代、基于 1.5V (内核),3.3V (I/O),0.13um 和 SRAM勺 FPGA 容量为 2910 个 LE,拥有 13 个 M4KRA( 4K 位+奇偶校验)块;除此之外,还集成了许多复杂的功能,提供了全功能的锁相 环(PLL),用于板级的时钟网络管理和专用I/O 口,这些接口用于连接业界标 准的外部存储器器件,具有成本低和使用方便的特点,具有以下特性: 新的可编程架构通过设计实现低成本; 嵌入式存储资源支持各种存储器应用和数字信号处理器(DSP); 采用新的串行置器

31、件如EPCS的低成本配置方案; 支持 LVTTL LVCMOSSSTL-2 以及 SSTL-3 I/O 标准; 支持66MHZ 32位PCI标准; 支持低速( 311Mbps) LVDS I/O; 支持串行总线和网络接口及各种通信协议; 使用PLL管理片内和片外系统时序; 支持外部存储器,包括 DDR SDRAM133MHZ,FCRA以及SDR SDRA;M 支持多种IP,包括Altera公司的MegaCore以及其合伙组织的IP,支 持最新推出的 Nios II 嵌入式处理器,具有超凡的性能、低成本和最完整的一 套软件开发工具。 7EP2C3T144C8I脚图如图3.1所示1CSW:03IW

32、4-J JV5Gft? iICCT:C8f:CTJLTD LDTOEU莖1.2itHL!AM84DCU1L5eli3LB2卯I Olt 11a:02121:O22*T JV 23:02435邛TOT7x r;Q3-36呵3V3030TKl】5却:02112GND33淀口詁J5w妙炖0 lOacsa I0LVmL5p IOTA口处输 185 3TO10 IDTOOTQJOIDCND10 vcamawcsjm-I-dsIT? -ZOS3 r _cyc -E畫乎3 一:匕/.一二二ULK1F書2 9- 3-.MF二$II二;|:. 三二二-. ;1-I二二i-I $一二 匚-.l二;- _r - L

33、. 二17-二 E二- .二-II 331sc5crW3Aa_O$丫5:.一OO2宜EP2C5T144C8N - r1s 1 -,ZZ- 一-11-1 klE - s go EAlWIVE二亠HHn 左 ONic ;335毗101003101010也旳1031010却dK5CLEfi.C3JTIOIOM5ELCrawWONT 阳 IO MDVCOD3 IO 10 IO10-二-壬J- n 1 : 廖A?:m;0d_ 二mTT: :】oa o倔;?:: *芒=和二去 斗二 一5TTST池村:一 一K I IX訂:i 芋1理 -坯13疋沪算口 1E-J :_:TJX:Z 只 nHATX 1;: 一

34、 盟I工】 为io话= 飞亍厂 卫性空飞41-QiW图 3.1 EP2C3T144C8 弓 I脚图2.显示电路设计显示电路所选用4个数码管以动态显示扫描方式完成时 路原理图如图3.2所示。chscs thtHsu=11000 THENCNT=00000。DCLK=NOT DCLK 。ELSE CNT=CNT+1。END IF。END IF。END PROCESS。CLK_50=DCLK 。END BEHAVIOR 。5.2 秒模块程序LIBRARY IEEE 。USE IEEE.STD_LOGIC_1164.ALL 。USE IEEE.STD_LOGIC_UNSIGNED.ALL 。ENTIT

35、Y CNT60_S ISPORT(CLK_1HZ CLOCK_S_EN ADD,MINUS:IN STD_LOGIC 。:IN STD_LOGIC 。:IN STD_LOGIC 。S_LINK_M:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) 。S_OUT_H,S_OUT_L :OUT STD_LOGIC_VECTOR(3 DOWNTO 0) )。END ENTITY CNT60_S 。ARCHITECTURE BEHAVIOR OF CNT60_S ISSIGNAL S_H,S_L:STD_LOGIC_VECTOR(3 DOWNTO 0) 。BEGINPROCESS(CL

36、K_1HZ,CLOCK_S_EN,ADD,MINUS)BEGINIF RISING_EDGE(CLK_1HZ) THENIF CLOCK_S_EN=1 THENIF ADD=0 THENIF (S_H=0101 AND S_L=1001) THEN S_H=0000。S_L=0000 。ELSIF (S_H/=0101 AND S_L=1001) THEN S_H=S_H+1。S_L=0000 。ELSES_H=S_H。S_L=S_L+1。END IF 。ELSIF MINUS=0 THENIF (S_H=0000 AND S_L=0000) THEN S_H=0101。S_L=1001 。E

37、LSIF (S_H/=0000 AND S_L=0000) THENS_H=S_H-1。S_L=1001 。ELSES_H=S_H。S_L=S_L-1。END IF 。END IF 。ELSIF (S_H=0101 AND S_L=1000) THENS_LINK_M=0001 。S_H=0101。S_L=1001 。ELSIF (S_H=0101 AND S_L=1001) THENS_H=0000。S_L=0000 。S_LINK_M=0000 。ELSIF (S_H/=0101 AND S_L=1001) THENS_H=S_H+1。S_L=0000。S_LINK_M=0000 。ELS

38、ES_H=S_H。S_L=S_L+1。S_LINK_M=0000 。END IFEND IFEND PROCESS。S_OUT_H=S_H。S_OUT_L=S_L。END BEHAVIOR。Er4材护I口 Irr BeOpf95敦叫A罠图5.1秒模块仿真波形5.3分模块程序LIBRARY IEEE。USE IEEE.STD_LOGIC_1164.ALL。USE IEEE.STD_LOGIC_UNSIGNED.ALL。ENTITY CNT60_M ISPORT(CLK_1HZ:IN STD_LOGIC。CLOCK_M_EN:IN STD_LOGIC。ADD,MINUS:IN STD_LOGIC。

39、S_LINK_M:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。M_LINK_H:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。M_OUT_H,M_OUT_L :OUT STD_LOGIC_VECTOR(3 DOWNTO 0) )。END ENTITY CNT60_M 。ARCHITECTURE BEHAVIOR OF CNT60_M ISSIGNAL M_H,M_L:STD_LOGIC_VECTOR(3 DOWNTO 0) 。 BEGINPROCESS(CLK_1HZ,CLOCK_M_EN,S_LINK_M,ADD,MINUS)BEGINIF RISIN

40、G_EDGE(CLK_1HZ) THENIF CLOCK_M_EN=1 THENIF ADD=0 THENIF (M_H=0101 AND M_L=1001) THENM_H=0000 。M_L=0000 。ELSIF (M_H/=0101 AND M_L=1001) THEN M_H=M_H+1 。M_L=0000 。ELSEM_H=M_H 。 M_L=M_L+1 。END IF 。ELSIF MINUS=0 THENIF (M_H=0000 AND M_L=0000) THENM_H=0101 。M_L=1001 。ELSIF (M_H/=0000 AND M_L=0000) THENM_H=M_H-1 。M_L=1001 。ELSEM_H=M_H 。M_L=M_L-1 。END IF 。END IF 。ELSIF S_LINK_M=0001 THENIF (M_H=0101 AND M_L=1000) THENM_H=0101 。M_L=1001 。M_LINK_H=0001 。ELSIF (M_H=0101 AND M_L=1001) THENM_H=0000 。M_L=0000 。M_LINK_H=0000 。ELSIF (M_H/=0101 AND M_L=1001) THENM_H

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号