基于VHDL语言的十六路彩灯控制器设计解读_第1页
基于VHDL语言的十六路彩灯控制器设计解读_第2页
基于VHDL语言的十六路彩灯控制器设计解读_第3页
基于VHDL语言的十六路彩灯控制器设计解读_第4页
基于VHDL语言的十六路彩灯控制器设计解读_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于 VHDL 语言的十六路彩灯控制器设计第 1 页 共 25 页1 引言VHDL(Very Higll Speed Integrated Circuit Hardware Description Language)即超高速 集成电路硬件描述语言。它是 20 世纪 70 年代和 80 年代初由美国国防部为其超高速集 成电 VHSIC 计划提出的,支持硬件的设计、综合、验证和测试,主要用于描述数字系 统的行为、结构、功能和接口 1,也是一种应用较为广泛的 HDL 语言,能对范围广泛 的各种复杂的网络(如电路系统、印刷电路板、芯片、逻辑门等)在不同的抽象级加以 描述,而且在整个设计过程中可使用同一

2、种语言。采用 VHDL 作为 HDL 综合设计的优 点有:标准语言,即设计者可在不同的环境(例如 MAX PLUS II )下进行设计;仿真和 综合均可采用同一种语言进行; VHDL 中提供的大量的模块资源,简化了设计者的开发 工作;由 VHDL 描述的源文件既是程序软件又可作为设计的文档。每当夜幕降临, 街上的彩灯便发出形态各异、 色彩斑斓的耀眼光芒, 尤其是节假日, 主要干道更是彩灯齐放, 烘托出浓厚的节日气氛 现代舞台上彩灯的闪烁越发引人注目, 更容易使人陶醉在欢乐的海洋中彩灯装置多种多样 2,本文在设计中采用 EDA 技术, 应用目前广泛应用的 VHDL 硬件电路描述语言,实现十六路彩

3、灯控制器的设计,利用 MAXPLUS II 集成开发环境进行综合、仿真,并下载到 CPLD 可编程逻辑器件中,完成 系统的控制作用。1.1 课程设计背景随着电子技术的发展 , 应用系统向着小型化、 快速化、大容量、重量轻的方向发 展 , EDA (Electronic Design Automatic) 技术的应用引起电子产品及系统开发的革命性 变革。VHDL 语言作为可编程逻辑器件的标准语言描述能力强 , 覆盖面广,抽象能力强 , 在实际应用中越来越广泛。在这个阶段,人们开始追求贯彻整个系统设计的自动化,可 以从繁重的设计工作中彻底解脱出来,把精力集中在创造性的方案与概念构思上,从而 可以提

4、高设计效率,缩短产品的研制周期。整个过程通过 EDA 工具自动完成,大大减 轻了设计人员的工作强度, 提高了设计质量, 减少了出错的机会。 VHDL 是美国国防部 提出的一种经过标准化认证的硬件描述语言,使用 VHDL 语言进行硬件设计有如下特 点:将一项工程设计(或称设计实体)分成外部(或称可视部分,即端口)和内部(或 称不可视部分) ,即设计实体的内部功能和算法完成部分。 本文介绍应用美国 ALTERA 公司的 MAX PLUS 平台,使用 VHDL 硬件描述语言实现的十六路彩灯控制系基于 VHDL 语言的十六路彩灯控制器设计 第 2 页 共 25 页 统。1.2 课程设计目的当前电子系统

5、的设计正朝着速度快、 容量大、体积小、 质量轻、用电省的方向发展。 推动该潮流发展的决定性因素之一就是使用了现代化的设计工具。 EDA4 是电子设计自 动化( Electronic Design Automation)的缩写,在 20 世纪 60 年代中期从计算机辅助设计 (CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程 (CAE) 的概念发展而来的。利用 EDA 工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量 工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出 IC 版图 或 PCB 版图的整个过程的计算机上自动处理完成。 ED

6、A 现已广泛用于机械、电子、通 信、航空航天、化工、矿产、生物、医学和军事等众多领域的设计和制造。作为通信专业的学生, 通过这次 EDA 方面的课程设计, 可以提高我们对 EDA 领域 及通信电路设计领域的认识,有利于培养我们在通信电路 EDA 方面的设计能力。一人 一题特别有利于锻炼我们独立分析问题和解决问题的能力。 设计过程的复杂加老师的严 格要求有益于培养我们严谨的工作作风。第 3 页 共 25 页基于 VHDL 语言的十六路彩灯控制器设计理论基础2.1 EDA 技术及发展20 世纪末,数字电子技术得到飞速发展, 有力地推动了社会生产力的发展和社会信 息化的提高。在其推动下,数字电子技术

7、的应用已经渗透到人类生活的各个方面。从计 算机到手机,从数字电话到数字电视,从家用电器到军用设备,从工业自动化到航天技 术,都尽可能采用数字电子技术。EDA 技术就是依靠功能强大的电子计算机,在 EDA 工具软件平台上,对以硬件描 述语言 HDL (Hardware Description Language)为系统逻辑描述手段完成的设计文件, 自动地完成逻辑化简、 编译、综合、优化、仿真,直至下载到可编程逻辑器件 CPLD/FPGA 或专用集成电路 ASIC(Application Specific Integrated Circuit )芯片中,实现既定的电子 电路设计功能 .EDA 的优点

8、 : 使得电子电路设计者的工作仅限于利用硬件描述语言和 EDA 软件平台来完成对系统硬件功能的实现;极大地提高了设计效率;减少设计周期; 节省设计成本。EDA 的发展历经三个阶段: CAD( Computer Aided Design)、CAE( Computer Aided Engineering)、EDA(Electronic Design Automation)CAD :计算机辅助设计。 EDA 技术发展的早期阶段,主要借助计算机对所设计的 电路进行一些模拟和预测, 辅助进行集成电路版图编辑、 印刷电路板 PCB(Printed Circuit Board)布局布线等简单的版图绘制等工作

9、。CAE :计算机辅助工程设计。在 CAD 的工具逐步完善的基础上发展起来的,尤其 是人们在设计方法学、设计工具集成化方面取得了长足的进步,利用计算机建立各种设 计单元库,大大提高了工作效率。 20 世纪 90年代以来,微电子工艺水平已经达到了 65 纳米级在一个芯片上已经可以集成上百万乃至数亿只晶体管,芯片速度达到了吉比特 / 秒量级,百万门以上的可编程逻辑器件陆续面世, 对电子设计的工具提出了更高的要求, 提供了广阔的发展空间。EDA :电子设计自动化设计。前期将设计师的高层次设计由工具来完成,如可以将 用户要求转换为设计技术规范, 有效处理可用资源与理想设计目标之间的矛盾按具体的 的硬件

10、、软件和算法分解设计等。设计师可以在不太长的时间内使用 EDA 工具,通过 一些简单标准化的设计过程,利用微电子厂家提供的设计库来完成数万门 ASIC 和集成基于 VHDL 语言的十六路彩灯控制器设计 第 4 页 共 25 页 系统的设计与验证。EDA 以系统级设计为核心,包括系统行为级描述与结构综合,系统仿真与测试验 证,系统划分与指标分配,系统决策与文件生成等一整套的电子系统设计自动化工具。 不仅具有电子系统设计的能力,而且能提供独立于工艺和厂家的系统级设计能力,具有 高级抽象的设计构思手段。提供方框图、状态图和流程图的编辑能力,具有适合层次描 述和混合信号描述的硬件描述语言 (如 VHD

11、L 、AHDL 或 Verilog-HDL) ,同时含有各种 工艺的标准元件库。EDA 设计流程如图 1.1 所示:图 1.1 EDA 设计流程图用 VHDL 硬件描述语言的形式来进行数字系统的设计方便、灵活,利用 EDA 软件 进行编译、优化、仿真极大地减少了电路设计时间和可能发生的错误,降低了开发的成 本,这种设计方法已成为当今数字系统设计的潮流 3。2.2 VHDL 语言概述电子设计自动化 ( EDA)的关键技术之一是要求用形式化方法来描述数字系统的硬 件电路。 VHDL 硬件描述语言在电子设计自动化中扮演着重要的角色,他是 EDA 技术 研究的重点之一。硬件描述语言是 EDA 技术的重

12、要组成部分, VHDL 是作为电子设计主流硬件描述 语言,VHDL (Very High Speed Integrated Circuit Hardware Description Languag)e于 1983 年由美国国防部发起创建,由IEEE进一步发展并在 1987年作为 IEEE标准 10760发布。 因此, VHDL 成为硬件描述语言的业界标准之一。 VHDL 作为 IEEE 的工业标准硬件描基于 VHDL 语言的十六路彩灯控制器设计 第 5 页 共 25 页 述语言,得到众多 EDA 公司的支持,在电子工程领域,已成为事实上的通用硬件描述 语言。 VHDL 语言具有很强的电路描述和

13、建模能力,能从多个层次对数字系统进行建模 和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性,使用 VHDL 语言, 可以就系统的总体要求出发,自上而下地将设计内容细化,最后完成系统硬件的整体设 计。一个完整的 VHDL 程序包括以下几个基本组成部分:实体(Entity ),结构体(Architecture),程序包( Package),库( Library)。其中,实体是一个 VHDL 程序的基 本单元,由实体说明和结构体两部分组成, 实体说明用于描述设计系统的外部接口信号; 结构体用于描述系统的行为,系统数据的流程或系统组织结构形式。程序包存放各设计 模块能共享的数据类型,常数,子

14、程序等。库用于存放已编译的实体,机构体,程序包 及配置。VHDL 语言的编译环境有不同的版本, 我们应用的是 Altera 公司的 Maxplus 软件, 它的操作顺序如下: 使用 TEXTEDITOR 编写 VHDL 程序使用 COMPILER 编译 VHDL 程序;使用 WAVE2FORMEDITOR ,SIMULAROT 仿真实验; 使用 TIMINGANALTZER 进行 芯 片的 时 序分 析; 用 FLOORPLANEDITOR 锁 定 芯 片 管 脚位 置 ;使 用 PROGRAMMER 将编译好的 VHDL 程序下载到芯片中。VHDL 进行工程设计的优点是显而易见的:( 1)与

15、其他的硬件描述语言相比, VHDL 具有更强的行为描述能力,从而决定了 他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结 构,从逻辑行为上描述和设计大规模电子系统的重要保证。( 2) VHDL 丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设 计系统的功能可行性,随时可对设计进行仿真模拟。( 3) VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解 和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚 至多个代发组共同并行工作才能实现。( 4)对于用 VHDL 完成的一个确定的设计,可以利用 EDA 工具进行逻辑

16、综合和 优化,并自动的把 VHDL 描述设计转变成门级网表。( 5) VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必 管理最终设计实现的目标器件是什么,而进行独立的设计。( 6)用 VHDL 语言编写的源程序便于文档管理,用源代码描述来进行复杂控制逻 辑的设计,既灵活方便,又便于设计结果的交流、保存和重用。在 VHDL 语言中,状态机有两种:莫尔型和米勒型。基于 VHDL 语言的十六路彩灯控制器设计 第 6 页 共 25 页莫尔型状态机的输出仅是状态向量的函数,输出信号只和状态机所处的状态有关。图 2.1 如下:图 2.1 莫尔型状态机模型米勒型状态机的输出变化要领先一

17、个时钟周期,它的输出既和当前状态有关,又和 所有输入信号有关。换句话说,在米勒型状态机中一旦输入信号发生变化或者状态发生 变化,输出新好多将随之发生变化。图 2.2 如下:OUTPUTSCLKINPUTS组合逻辑 1RES图 2.2 米勒型状态机模型 由于本设计的状态变化与输入信号有关,所以采用米勒型状态机。较好的解决了五 种状态(复位状态,测试状态,设置状态,烹调状态,完成状态)之间的转化。程序中, 首先使控制器处于复位状态,此时把所有信号清零,再根据输入信号转换状态。综上所述, VHDL 语言的极强的行为描述能力和丰富的仿真语句及库函数, 决定了 它具有支持大规模设计的分析和已有设计的再利

18、用功能 5和功能 6,用 VHDL 完成一个 确定的设计,可以利用 EDA 工具进行逻辑综合和优化,并自动把 VHDL 描述设计转变 成门级网表。这种方式突破了门级设计的瓶颈,极大地减少了电路设计的时间和可能发 生的错误,降低了开发成本。VHDL 的设计流程如下:1设计规范的定义。明确设计的目的,进行设计的总体规划。分析设计要求,以第 7 页 共 25 页基于 VHDL 语言的十六路彩灯控制器设计 及自己要达到的设计目的和目标。2采用 VHDL 进行设计描述。这部分包括设计规划和程序的编写。设计规划主要 包括设计方式的选择及是否进行模块划分。设计方式一般包括直接设计,自顶向下和自 底向下设计。

19、3VHDL 程序仿真。对于某些人而言,仿真这一步似乎是可有可无的。但是对于 一个可靠的设计而言,任何设计最好都进行仿真,以保证设计的可靠性。另外,对于作 为一个独立的设计项目而言,仿真文件的提供足可以证明你设计的完整性。4综合、优化和布局布线。综合指的是将设计描述转化成底层电路的表示形式, 其结果是一个网表或者是一组逻辑方程;优化,这个主要是为了提高程序的执行效率及 减少资源的利用;布局布线,指的是将逻辑关系转化成电路连接的方式。5仿真。这一步主要是为了确定你的设计在经过布局布线之后,是不是还满足你 的设计要求。2.3 Max Plus II 概述Max Plus II 是美国 Altera

20、公司开发的软件,它具有操作系统的程序界面,采用全菜 单操作和鼠标操作方式,是一个完全集成化,易学易用的可编程逻辑设计环境。它提供 了功能强大,直观便捷和操作灵活的原理图输入设计功能,同时还配备了适用于各种需 要的元件库,其中包含基本逻辑元件库(如与非门、反向器、触发器等) ,宏功能元件 (包含了几乎所有 74 系列的器件)以及功能强大、 性能良好的类似于核的兆功能块库, 但更为重要的是它提供了使用方便,精度良好的时序仿真器,能够对系统中任一元件的 功能进行精确的时序仿真,精度达 0.1ns,非常准确。Max Plus II 开发系统是一个完全集成化、 易学易用的可编程逻辑器件设计和开发系 统,

21、它提供了一种真正与结构无关的可编程逻辑设计环境。它所提供的灵活性和高效性 是无可比拟的,其丰富的图形界面,辅之以完整的、可即时访问的在线文档,使设计人 员能够轻松、愉快地掌握和使用 Max Plus II 软件。Max Plus II 支持灵活多样的输入方式: 原理图输入、硬件描述语言输入、波形输入,以及层次设计输入。Max Plus II 的设计输入、处理和校验功能全部集成在统一的开发环境下,这样可以 加快动态调试进程。它提供丰富的库单元供设计者使用,包括 74 系列的全部器件、多 种特殊的逻辑宏功能 (macro-function)和参数化功能模块 ( LPM: Library of Pa

22、rameterized Modules),但更为重要的是 Max Plus II 还提供了原理图输入多层次设计功能, 使得用户 能设计更大规模的电路系统,以及使用方便、精度良好的时序仿真器。与传统的数字电基于 VHDL 语言的十六路彩灯控制器设计 第 8 页 共 25 页 路实验相比, Max Plus II 提供灵活多样的层次化输入设计功能,具有显著的优势: 1能进行任意层次的数字系统设计。传统的数字电路实验只能完成单一层次的设 计,使设计者无法了解和实现多层次的硬件数字系统设计;2对系统中的任一层次或任一元件的功能进行精确的时序仿真,精度达0.1ns,因此能发现对系统可能产生不良影响的竞争

23、冒险现象;3通过时序仿真,能迅速定位电路系统的错误所在,并随时纠正; 4能对设计方案进行随时更改,并储存设计过程中所有的电路和测试文件入档; 5通过编译和下载,能在 FPGA或 CPLD 上对设计项目随时进行硬件测试验证; 6如果使用 FPGA 和配置编程方式,将不会有器件损坏和损耗问题; 7符合现代电子设计技术规范。传统的数字电路实验利用手工连线的方法完成元 件连接,容易对学习者产生误导,以为只要将元件间的引脚用引线按电路图连上即可, 而不必顾及引线长短,粗细弯曲方式,可能产生的分布电感和电容效应,以及电磁兼容 性等等十分重要的问题。Max Plus II 还提供设计校验的仿真器,其中包括功

24、能仿真和时序仿真。仿真器的灵 活性很强电路设计完成后,需要验证电路设计的逻辑功能是否正确。这是一项简单的逻 辑检查,可采用功能仿真,这对于初步的逻辑功能检测非常方便。功能检查完成后,可 进行时序仿真。 Max Plus II 的时序分析程序可以计算点到点的器件延时,确定器件引脚 上的建立时间和保持时间要求,还可计算最高时钟频率。用 Max Plus II 软件进行逻辑设计的步骤包括: 1根据所选课题的任务和设计指标要求,确定总体设计方案,画出总体方案的系 统框图;2进行底层单元电路分析及输入设计、编译、仿真;3利用已编译正确的底层单元电路模块,画出顶层电路的原理图,进行编译调试和仿真测试;4撰

25、写设计报告Max Plus II 的设计流程可以用如下图 2.3 所示:基于 VHDL 语言的十六路彩灯控制器设计 第 9 页 共 25 页图 2.3 Max Plus II 设计流程从图 2.3可清晰了解到 Max Plus II 提供了一种与结构无关的设计环境, 使设计者能 方便地进行设计输入、快速处理和器件编程。他包括设计输入编辑、编译网表提取、数 据库建立、逻辑综合、逻辑分割、适配、延时网表提取、编辑文件汇编以及编程下载 9 个步骤。基于 VHDL 语言的十六路彩灯控制器设计第 10 页 共 25 页十六路彩灯控制器详细设计在 21 世纪的今天,汽车已经逐渐为越来越多的人们所拥有,在家

26、庭中的普及率不 断提高,大大的方便了我们的生活。汽车尾灯由六支只 LED 灯组成,它是汽车电子电 路系统的重要组成部分。 .本文采用 EDA 技术,利用 Max Plus II 工作平台和 VHDL 设 计语言,设计了一个十六路彩灯控制器芯片,该芯片具有六种花型循环变化,有清零开 关,并且可以选择快慢两种节拍的功能。3.1 设计方案用 VHDL 进行设计,首先应该理解, VHDL 语言是一种全方位硬件描述语言,包 括系统行为级, 寄存器传输级和逻辑门级多个设计层次。 应充分利用 VHDL“ 自顶向下 ” 的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统是非常有用的, 它使得我们可

27、以从简单的单元入手, 逐渐构成庞大而复杂的系统。 应用 VHDL 进行自顶 向下的设计,是采用可完全独立于目标器件芯片物理结构的硬件描述语言。就是使用 VHDL 模型在所有综合级别上对硬件设计进行说明、 建模和仿真测试。其设计流程如图 3.1 所示:图 3.1 VHDL 自顶向下设计流程基于可编程逻辑器件 CPLD/FPGA 的芯片,使用硬件描述语言( VHDL )设计一个基于 VHDL 语言的十六路彩灯控制器设计 第 11 页 共 25 页十六路彩灯控制器芯片,并进行计算机仿真和编程下载。要求该十六路彩灯控制器芯片 能够实现如下功能:六种花型循环变化,有清零开关,并且可以选择快慢两种节拍的功

28、本文设计一个十六路彩灯控制器,六种花型循环变化,有清零开关,并且可以选择 快慢两种节拍根据系统设计要求可知,整个系统共有三个输入信号:控制彩灯节奏快 慢的 基准 时钟 信 号 CLK IN , 系统 清 零 信 号 CLR , 彩 灯节 奏 快 慢选 择 开 关 CHOSEKEY ;共有 16 个输出信号 LED150,分别用于控制十六路彩灯根据以 上设计要求, 我们可将整个彩灯控制器 CDKZQ 分为两大模块: 时序控制电路 SXKZ 和 显示控制电路 XSKZ, 整个十六路彩灯控制系统设计的模块图如图 3.2 所示:图 3.2 十六路彩灯控制器图该框图的实现功能如下:CHOSEKEY 是彩

29、灯节奏快慢选择开关, 高电平有效, 用于选择彩灯节奏的快慢。CLK IN 是控制彩灯节奏快慢的基准时钟信号,任意频率的脉冲,作为时钟信号 使用。CLR 是系统清零信号,高电平有效,用于恢复系统的原始状态。LED15 0是 16个输出信号,高电平有效,分别用于显示不同控制情况下十六路 彩灯显示状态。3.2 设计原理系统的工作原理如下:时序控制电路 SXKZ 根据输入信号 CLK IN ,CLR, CHOSEKEY 产生符合一定要求的、供显示控制电路 XSKZ 使用的控制时钟信号,而 显示控制电路 XSKZ 则根据时序控制电路 SXKZ 输入的控制时钟信号, 输出 6中花型循 环变化的、控制十六路

30、彩灯工作的控制信号,这些控制信号加上驱动电路一起控制彩灯 工作。3.3 模块设计(1)时序控制电路 SXKZ 模块在设计时序控制电路 SXKZ 模块时,可利用数器来产生所需的控制时钟信号 CLK基于 VHDL 语言的十六路彩灯控制器设计 第 12 页 共 25 页 具体过程是这样的,在 CLK IN 作用下,计数器开始计数,当计数器过到分频值时, 对计数器进行清零,同时使输出信号反相,从而实现对 CLK IN 的分频。时序控制电路 SXKZ 模块的设计思路如下图 3.3 所示:图 3.3 时序控制电路 SXKZ 模块设计图其中 CHOSE KEY 是彩灯节奏快慢选择开关,用于选择彩灯节奏的快慢

31、。CLK IN 是控制彩灯节奏快慢的基准时钟信号,任意频率的脉冲,作为时钟信号使用。CLR 是系统清零信号,低电平有效,用于恢复系统的原始状态。 CLK 是输出信号,高 电平有效。时序控制电路 SXKZ 模块的 VHDL 程序主要代码如下:BEGINIF CLR=1 THEN /当 CLR=1时清零,否则正常工作 CLLK=0;TEMP:=000;ELSIF RISING_EDGE(CLK_IN) THENIF CHOSE_KEY=1 THEN /当 CHOSE_KEY=1 时产生基准时钟频率的 1/4 的时钟信号,IF TEMP=011 THENTEMP:=000;CLLK=NOT CLLK

32、 ;ELSETEMP:=TEMP+1;END IF; / 当 CHOSE_KEY=0时基准时钟频率的 1/8 的时钟信号 ELSEIF TEMP=111 THENTEMP:=000;CLLK=NOT CLLK ;ELSETEMP:=TEMP+1;END IF;END IF;END IF;END PROCESS;基于 VHDL 语言的十六路彩灯控制器设计 第 13 页 共 25 页 ( 2)显示控制电路 XSKZ 模块在设计显示控制电路 XSKZ 模块时,可利用常数来定义输出的 6 种花色,同时采用 状态机来设计 6 种花色号的循环变化。显示控制电路 XSKZ 模块的设计思路如下图 3.4 所示

33、:图 3.4 显示控制电路 XSKZ 模块块设计图其中, CLK 是输入信号,高电平有效。 CLR 是系统清零信号,高电平有效,用于 恢复系统的原始状态。 LED15.0 是输出信号,高电平有效。显示控制电路 XSKZ 模块的 VHDL 程序主要代码如下:BEGINPROCESS(CLR,CLK) ISCONSTANT F1:STD_LOGIC_VECTOR(15 DOWNTO 0):=0001000100010001;/第一种花色CONSTANT F2:STD_LOGIC_VECTOR(15 DOWNTO 0):=1010101010101010;/第二种花色CONSTANT F3:STD_

34、LOGIC_VECTOR(15 DOWNTO 0):=0011001100110011;/第三种花色CONSTANT F4:STD_LOGIC_VECTOR(15 DOWNTO 0):=0100100100100100;/第四种花色CONSTANT F5:STD_LOGIC_VECTOR(15 DOWNTO 0):=1001010010100101;/第五种花色CONSTANT F6:STD_LOGIC_VECTOR(15 DOWNTO 0):=1101101101100110;/第六种花色BEGINIF CLR=1 THENCURRENT_STATEFLOWER=ZZZZZZZZZZZZZZ

35、ZZ;CURRENT_STATEFLOWER=F1;基于 VHDL 语言的十六路彩灯控制器设计 第 14 页 共 25 页 CURRENT_STATEFLOWER=F2;CURRENT_STATEFLOWER=F3;CURRENT_STATEFLOWER=F4;CURRENT_STATEFLOWER=F5;CURRENT_STATEFLOWER=F6;CURRENT_STATE=S1; /当前状态是 S6 时,输出为 F6, 下一状态为 S1END CASE;END IF;END PROCESS;LED=FLOWER;END ARCHITECTURE ART;/结构体结束( 3)十六路彩灯控制

36、器系统 CDKZQ十六路彩灯控制器系统 CDKZQ 设计思路如下图 3.5 所示:图 3.5 整个电路系统 CDKZQ 图其中 CHOSE KEY 是彩灯节奏快慢选择开关,用于选择彩灯节奏的快慢。CLK IN 是控制彩灯节奏快慢的基准时钟信号,任意频率的脉冲,作为时钟信号使用。 CLR 是系统清零信号,高电平有效,用于恢复系统的原始状态。 LED15.0 是彩灯输出 信号,高电平有效。整个电路系统 CDKZQ 的 VHDL 程序主要代码如下:ARCHITECTURE ART OF CDKZQ IS / 结构体的开始COMPONENT SXKZ ISPORT(CHOSE_KEY:IN STD_L

37、OGIC;基于 VHDL 语言的十六路彩灯控制器设计 第 15 页 共 25 页 CLK_IN:IN STD_LOGIC;CLR:IN STD_LOGIC; CLK:OUT STD_LOGIC);END COMPONENT SXKZ;/SXKZ 组件COMPONENT XSKZ ISPORT(CLK:IN STD_LOGIC; CLR:IN STD_LOGIC;LED:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END COMPONENT XSKZ;/XSKZ 组件SIGNAL S1:STD_LOGIC;/信号 S1为 SXKZ 的输出信号同时为 XSKZ 的输入信号B

38、EGINU1:SXKZ PORT MAP(CHOSE_KEY ,CLK_IN,CLR,S1); U2:XSKZ PORT MAP(S1,CLR,LED);END ARCHITECTURE ART;/结构体的结束第 16 页 共 25 页基于 VHDL 语言的十六路彩灯控制器设计十六路彩灯控制器的仿真4.1 时序控制电路 SXKZ 仿真将程序使用 Max Plus II 进行运行并仿真,得到时序控制电路 SXKZ 仿真图像如 4.1 所示:图 4. 1 时序控制电路 SXKZ 仿真图图 4.1 中, CHOSEKEY 是彩灯节奏快慢选择开关,用于选择彩灯节奏的快慢。CLK IN 是控制彩灯节奏快

39、慢的基准时钟信号,任意频率的脉冲,作为时钟信号使用。CLR 是系统清零信号,高电平有效,用于恢复系统的原始状态。 CLK 是输出信号,高 电平有效。4.2 显示控制电路 XSKZ 仿真将程序使用 Max Plus II 进行运行并仿真,得到显示控制电路 XSKZ 仿真图像如 4.2 所示:图 4.2 显示控制电路 XSKZ 仿真图图 4.2 中, CLK 是时钟信号, CLR 是系统清零信号,高电平有效,用于恢复系统的基于 VHDL 语言的十六路彩灯控制器设计 第 17 页 共 25 页 原始状态。 LED 是十六路彩灯输出信号,高电平有效。如输出是4924(十六进制)即01001001001

40、00100(二进制)表示第 4 种花色有效。图中六种状态循环表明显示控制电 路 XSKZ 模块运行正常。4.3 整个电路系统 CDKZQ 仿真将程序使用 Max Plus II 进行运行并仿真,并自行设置 CLR 的值,当 CLR 为全 0时、 CLR 为全 1 时、CLR 不为全 0或全 1时,得到整个电路系统 CDKZQ 仿真图像如 4.3、 4.4、 4.5 所示:图 4.3 当 CLR 为全 1 时整个电路系统 CDKZQ 仿真图图 4.4 当 CLR 为全 0 时整个电路系统 CDKZQ 仿真图基于 VHDL 语言的十六路彩灯控制器设计第 18 页 共 25 页图 4.5 当 CLR

41、 不为全 0 或全 1 时整个电路系统 CDKZQ 仿真图在仿真图中, CHOSE KEY 是彩灯节奏快慢选择开关, 用于选择彩灯节奏的快慢。 CLK IN 是控制彩灯节奏快慢的基准时钟信号,任意频率的脉冲,作为时钟信号使用。 CLR 是系统清零信号,高电平有效,用于恢复系统的原始状态。如图所示,当 CLR 为 全0时,LED15.0在六种状态内循环;当 CLR为全0时,LED15.0输出为 0,处于S0 状态;当 CLR为0时,LED15.0在六种状态内循环,后 CLR为 1时,LED15.0输出 为0,处于 S0状态。 LED 是十六路彩灯输出信号,高电平有效。如输出是 1111(十六进

42、制)即 0001000100010001(二进制)表示第 1 种花色有效。图中六种状态有规律的进行 表明该整个电路系统 CDKZQ 模块运行正常。基于 VHDL 语言的十六路彩灯控制器设计第 19 页 共 25 页5 小结经过三周的学习和工作, 我终于完成了基于 VHDL 语言的十六路彩灯控制器的设计 和实现及相关论文。在整整三个星期的日子里,可以说是苦多于甜,不仅可以巩固以前 所学过的知识,而且学到了很多在书本上所没有学到过的知识。课程设计是我们运用所学知识,动手实践的一个很好的机会。它既可以帮助我们加 深对所学知识的理解,又能提高我们运用知识,联系实际,动手实践的能力。而且在设 计过程中可

43、能用到我们没学过的知识,需要我们去查阅资料获取相关信息,这又提高了 我们查找信息和学习新知识的能力。在实物的调试与检测过程中,又会遇到许多意想不 到的问题,需要我们去分析原因和解决问题。 在设计过程中, 我通过查阅大量有关资料, 与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少 艰辛,但收获同样巨大。通过这次课程设计使我懂得了理论与实际相结合是很重要的, 只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出 结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计 的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难

44、免会遇到过各种各样 的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够 深刻,掌握得不够牢固。基于 VHDL 语言的十六路彩灯控制器设计致谢第 20 页 共 25 页经过两周的奋战我的课程设计终于完成了。 在没有做课程设计以前觉得课程设计只 是对这半年来所学知识的单纯总结, 但是通过这次做课程设计发现自己的看法有点太片 面。课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅 学到了不少知识,而且锻

45、炼了自己的能力,使自己对以后的路有了更加清楚的认识。在这次课程设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不 懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮 助我的同学。最后 ,在此要感谢我们的指导老师陈老师和单老师对我们悉心的指导, 感谢 老师们给我们的帮助。基于 VHDL 语言的十六路彩灯控制器设计 第 21 页 共 25 页参考文献李国洪,沈明山可编程逻辑器件 EDA 技术与实践 M 北京:机械工业出版社, 2004: 10-15王传新电子技术基础实验分析、 调试、综合设计 M 北京:高等教育出版社, 2005: 26-30路而红电子设计自动

46、化应用技术 M 北京:高等教育出版社, 2004:50-60王道宪 VHDL 电路设计技术 M 北京:国防工业出版社, 2004:5-9潘松,王国栋 VHDL 实用教程 M 西安:电子科技大学出版社, 2000: 15-20王道宪,贺名臣,刘伟 VHDL 电路设计技术 M 北京:国防工业出版社, 2004: 1-5第 22 页 共 25 页基于 VHDL 语言的十六路彩灯控制器设计附录 1:时序控制电路的 VHDL 源程序清单/ 命名 SXKZ VHD 文件/库说明语句/程序包说明语句/输入信号 CHOSE-KEY / 输入信号 CLK-IN / 输入信号 CLR /输出信号 CLK /实体说

47、明 /结构体的开始/SXKZ.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SXKZ ISPORT(CHOSE_KEY:IN STD_LOGIC; CLK_IN:IN STD_LOGIC; CLR:IN STD_LOGIC; CLK:OUT STD_LOGIC);END ENTITY SXKZ;ARCHITECTURE ART OF SXKZ ISSIGNAL CLLK:STD_LOGIC;BEGINPROCESS(CLK_IN,CLR,CHOSE_KEY) ISVARIAB

48、LE TEMP:STD_LOGIC_VECTOR(2 DOWNTO 0);/定义输入电平为变量 TEMP BEGINIF CLR=1 THEN /当 CLR=1时清零,否则正常工作 CLLK=0;TEMP:=000; ELSIF RISING_EDGE(CLK_IN) THENIF CHOSE_KEY=1 THEN / 当 CHOSE_KEY=1时产生基准时钟频率的 1/4 的 时钟信号,IF TEMP=011 THENTEMP:=000;CLLK=NOT CLLK ; ELSETEMP:=TEMP+1;END IF; / 当 CHOSE_KEY=0时产生基准时钟频率的 1/8 的时钟信号 E

49、LSEIF TEMP=111 THENTEMP:=000;CLLK=NOT CLLK ;ELSETEMP:=TEMP+1;END IF;END IF;END IF;END PROCESS;CLK=CLLK;END ARCHITECTURE ART;/结构体结束第 23 页 共 25 页/结构体部分说明基于 VHDL 语言的十六路彩灯控制器设计附录 2:显示控制电路的 VHDL 源程序清单/ 命名 XSKZ VHD 文件/库说明语句程序包说明语句/ 输入信号 CLK /输入信号 CLR/XSKZ.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY XSKZ ISLED:OUT STD_LOGIC_VECTOR(15 DOWNTO 0); /输出信号 LED15.0 /实体说明 /结构体的开始PORT(CLK:IN STD_LOGIC; CLR:IN STD_LOGIC;END ENTITY XSKZ;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论