




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于VHDL语言的十六路彩灯控制器设计 第 25 页 共 25 页1 引 言VHDL(Very Higll Speed Integrated Circuit Hardware Description Language)即超高速集成电路硬件描述语言。它是20世纪70年代和80年代初由美国国防部为其超高速集成电VHSIC计划提出的,支持硬件的设计、综合、验证和测试,主要用于描述数字系统的行为、结构、功能和接口1,也是一种应用较为广泛的HDL语言,能对范围广泛的各种复杂的网络(如电路系统、印刷电路板、芯片、逻辑门等)在不同的抽象级加以描述,而且在整个设计过程中可使用同一种语言。采用VHDL作为HD
2、L综合设计的优点有:标准语言,即设计者可在不同的环境(例如MAX PLUS II)下进行设计;仿真和综合均可采用同一种语言进行;VHDL中提供的大量的模块资源,简化了设计者的开发工作;由VHDL描述的源文件既是程序软件又可作为设计的文档。每当夜幕降临,街上的彩灯便发出形态各异、色彩斑斓的耀眼光芒,尤其是节假日,主要干道更是彩灯齐放,烘托出浓厚的节日气氛现代舞台上彩灯的闪烁越发引人注目,更容易使人陶醉在欢乐的海洋中彩灯装置多种多样2,本文在设计中采用EDA技术,应用目前广泛应用的VHDL硬件电路描述语言,实现十六路彩灯控制器的设计,利用MAXPLUS II集成开发环境进行综合、仿真,并下载到CP
3、LD可编程逻辑器件中,完成系统的控制作用。1.1课程设计背景随着电子技术的发展 , 应用系统向着小型化、 快速化、大容量、重量轻的方向发展 ,EDA (Electronic Design Automatic) 技术的应用引起电子产品及系统开发的革命性变革。VHDL 语言作为可编程逻辑器件的标准语言描述能力强, 覆盖面广,抽象能力强, 在实际应用中越来越广泛。在这个阶段,人们开始追求贯彻整个系统设计的自动化,可以从繁重的设计工作中彻底解脱出来,把精力集中在创造性的方案与概念构思上,从而可以提高设计效率,缩短产品的研制周期。整个过程通过 EDA 工具自动完成,大大减轻了设计人员的工作强度,提高了设
4、计质量,减少了出错的机会。VHDL 是美国国防部提出的一种经过标准化认证的硬件描述语言,使用 VHDL 语言进行硬件设计有如下特点:将一项工程设计(或称设计实体)分成外部(或称可视部分,即端口)和内部(或称不可视部分) ,即设计实体的内部功能和算法完成部分。本文介绍应用美国 ALTERA公司的 MAX PLUS 平台,使用 VHDL 硬件描述语言实现的十六路彩灯控制系统。1.2课程设计目的当前电子系统的设计正朝着速度快、容量大、体积小、质量轻、用电省的方向发展。推动该潮流发展的决定性因素之一就是使用了现代化的设计工具。EDA4是电子设计自动化(Electronic Design Automat
5、ion)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。EDA现已广泛用于机械、电子、通信、航空航天、化工、矿产、生物、医学和军事等众多领域的设计和制造。作为通信专业的学生,通过这次EDA方面的课程设计,可以提高我们对EDA领域及通信电路设计领域的认识,有利于培养我们在通信电路EDA方面的设计能力。一
6、人一题特别有利于锻炼我们独立分析问题和解决问题的能力。设计过程的复杂加老师的严格要求有益于培养我们严谨的工作作风。2 理论基础2.1 EDA技术及发展20世纪末,数字电子技术得到飞速发展,有力地推动了社会生产力的发展和社会信息化的提高。在其推动下,数字电子技术的应用已经渗透到人类生活的各个方面。从计算机到手机,从数字电话到数字电视,从家用电器到军用设备,从工业自动化到航天技术,都尽可能采用数字电子技术。 EDA技术就是依靠功能强大的电子计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完成
7、逻辑化简、编译、综合、优化、仿真,直至下载到可编程逻辑器件CPLD/FPGA或专用集成电路ASIC(Application Specific Integrated Circuit)芯片中,实现既定的电子电路设计功能.EDA的优点: 使得电子电路设计者的工作仅限于利用硬件描述语言和EDA软件平台来完成对系统硬件功能的实现;极大地提高了设计效率;减少设计周期;节省设计成本。EDA的发展历经三个阶段: CAD(Computer Aided Design)、CAE(Computer Aided Engineering)、EDA(Electronic Design Automation)CAD:计算机辅
8、助设计。EDA技术发展的早期阶段,主要借助计算机对所设计的电路进行一些模拟和预测,辅助进行集成电路版图编辑、印刷电路板PCB(Printed Circuit Board)布局布线等简单的版图绘制等工作。 CAE:计算机辅助工程设计。在CAD的工具逐步完善的基础上发展起来的,尤其是人们在设计方法学、设计工具集成化方面取得了长足的进步,利用计算机建立各种设计单元库,大大提高了工作效率。20世纪90年代以来,微电子工艺水平已经达到了65纳米级在一个芯片上已经可以集成上百万乃至数亿只晶体管,芯片速度达到了吉比特/秒量级,百万门以上的可编程逻辑器件陆续面世,对电子设计的工具提出了更高的要求,提供了广阔的
9、发展空间。EDA:电子设计自动化设计。前期将设计师的高层次设计由工具来完成,如可以将用户要求转换为设计技术规范,有效处理可用资源与理想设计目标之间的矛盾按具体的的硬件、软件和算法分解设计等。设计师可以在不太长的时间内使用EDA工具,通过一些简单标准化的设计过程,利用微电子厂家提供的设计库来完成数万门ASIC和集成系统的设计与验证。 EDA以系统级设计为核心,包括系统行为级描述与结构综合,系统仿真与测试验证,系统划分与指标分配,系统决策与文件生成等一整套的电子系统设计自动化工具。不仅具有电子系统设计的能力,而且能提供独立于工艺和厂家的系统级设计能力,具有高级抽象的设计构思手段。提供方框图、状态图
10、和流程图的编辑能力,具有适合层次描述和混合信号描述的硬件描述语言(如VHDL、AHDL或Verilog-HDL),同时含有各种工艺的标准元件库。EDA设计流程如图1.1所示:图1.1 EDA设计流程图用VHDL硬件描述语言的形式来进行数字系统的设计方便、灵活,利用EDA软件进行编译、优化、仿真极大地减少了电路设计时间和可能发生的错误,降低了开发的成本,这种设计方法已成为当今数字系统设计的潮流3。2.2VHDL 语言概述电子设计自动化(EDA)的关键技术之一是要求用形式化方法来描述数字系统的硬件电路。VHDL 硬件描述语言在电子设计自动化中扮演着重要的角色,他是EDA 技术研究的重点之一。硬件描
11、述语言是EDA 技术的重要组成部分,VHDL 是作为电子设计主流硬件描述语言,VHDL(Very High Speed Integrated Circuit Hardware Description Language)于1983 年由美国国防部发起创建,由IEEE进一步发展并在1987年作为IEEE标准10760发布。因此,VHDL成为硬件描述语言的业界标准之一。VHDL作为IEEE的工业标准硬件描述语言,得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设
12、计效率和可靠性,使用VHDL语言,可以就系统的总体要求出发,自上而下地将设计内容细化,最后完成系统硬件的整体设计。一个完整的VHDL程序包括以下几个基本组成部分:实体(Entity),结构体(Architecture),程序包(Package),库(Library)。其中,实体是一个VHDL程序的基本单元,由实体说明和结构体两部分组成,实体说明用于描述设计系统的外部接口信号;结构体用于描述系统的行为,系统数据的流程或系统组织结构形式。程序包存放各设计模块能共享的数据类型,常数,子程序等。库用于存放已编译的实体,机构体,程序包及配置。VHDL 语言的编译环境有不同的版本,我们应用的是Altera
13、 公司的Maxplus 软件,它的操作顺序如下:使用TEXTEDITOR 编写VHDL 程序使用COMPILER 编译VHDL 程序;使用WAVE2FORMEDITOR,SIMULAROT 仿真实验;使用TIMINGANALTZER 进行芯片的时序分析;用FLOORPLANEDITOR 锁定芯片管脚位置;使用PROGRAMMER 将编译好的VHDL 程序下载到芯片中。VHDL 进行工程设计的优点是显而易见的:(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统
14、的重要保证。(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。(6)用VHDL 语言编写的源程序便
15、于文档管理,用源代码描述来进行复杂控制逻辑的设计,既灵活方便,又便于设计结果的交流、保存和重用。在VHDL 语言中,状态机有两种:莫尔型和米勒型。莫尔型状态机的输出仅是状态向量的函数,输出信号只和状态机所处的状态有关。图2.1 如下:CLKOUTPUTSINPUTSRES组合逻辑1寄存器组合逻辑2图2.1 莫尔型状态机模型米勒型状态机的输出变化要领先一个时钟周期,它的输出既和当前状态有关,又和所有输入信号有关。换句话说,在米勒型状态机中一旦输入信号发生变化或者状态发生变化,输出新好多将随之发生变化。图2.2 如下:OUTPUTSCLKRESINPUTS组合逻辑1寄存器图2.2 米勒型状态机模型
16、由于本设计的状态变化与输入信号有关,所以采用米勒型状态机。较好的解决了五种状态(复位状态,测试状态,设置状态,烹调状态,完成状态)之间的转化。程序中,首先使控制器处于复位状态,此时把所有信号清零,再根据输入信号转换状态。综上所述,VHDL 语言的极强的行为描述能力和丰富的仿真语句及库函数,决定了它具有支持大规模设计的分析和已有设计的再利用功能5和功能6,用VHDL完成一个确定的设计,可以利用EDA 工具进行逻辑综合和优化,并自动把VHDL描述设计转变成门级网表。这种方式突破了门级设计的瓶颈,极大地减少了电路设计的时间和可能发生的错误,降低了开发成本。VHDL的设计流程如下:1设计规范的定义。明
17、确设计的目的,进行设计的总体规划。分析设计要求,以及自己要达到的设计目的和目标。2采用VHDL进行设计描述。这部分包括设计规划和程序的编写。设计规划主要包括设计方式的选择及是否进行模块划分。设计方式一般包括直接设计,自顶向下和自底向下设计。3VHDL程序仿真。对于某些人而言,仿真这一步似乎是可有可无的。但是对于一个可靠的设计而言,任何设计最好都进行仿真,以保证设计的可靠性。另外,对于作为一个独立的设计项目而言,仿真文件的提供足可以证明你设计的完整性。4综合、优化和布局布线。综合指的是将设计描述转化成底层电路的表示形式,其结果是一个网表或者是一组逻辑方程;优化,这个主要是为了提高程序的执行效率及
18、减少资源的利用;布局布线,指的是将逻辑关系转化成电路连接的方式。5仿真。这一步主要是为了确定你的设计在经过布局布线之后,是不是还满足你的设计要求。2.3 Max Plus II概述Max Plus II是美国Altera公司开发的软件,它具有操作系统的程序界面,采用全菜单操作和鼠标操作方式,是一个完全集成化,易学易用的可编程逻辑设计环境。它提供了功能强大,直观便捷和操作灵活的原理图输入设计功能,同时还配备了适用于各种需要的元件库,其中包含基本逻辑元件库(如与非门、反向器、触发器等),宏功能元件(包含了几乎所有74 系列的器件)以及功能强大、性能良好的类似于核的兆功能块库,但更为重要的是它提供了
19、使用方便,精度良好的时序仿真器,能够对系统中任一元件的功能进行精确的时序仿真,精度达0.1ns,非常准确。Max Plus II开发系统是一个完全集成化、易学易用的可编程逻辑器件设计和开发系统,它提供了一种真正与结构无关的可编程逻辑设计环境。它所提供的灵活性和高效性是无可比拟的,其丰富的图形界面,辅之以完整的、可即时访问的在线文档,使设计人员能够轻松、愉快地掌握和使用Max Plus II软件。Max Plus II支持灵活多样的输入方式:原理图输入、硬件描述语言输入、波形输入,以及层次设计输入。Max Plus II的设计输入、处理和校验功能全部集成在统一的开发环境下,这样可以加快动态调试进
20、程。它提供丰富的库单元供设计者使用,包括74系列的全部器件、多种特殊的逻辑宏功能(macro-function)和参数化功能模块(LPM: Library of Parameterized Modules),但更为重要的是Max Plus II还提供了原理图输入多层次设计功能,使得用户能设计更大规模的电路系统,以及使用方便、精度良好的时序仿真器。与传统的数字电路实验相比,Max Plus II提供灵活多样的层次化输入设计功能,具有显著的优势:1能进行任意层次的数字系统设计。传统的数字电路实验只能完成单一层次的设计,使设计者无法了解和实现多层次的硬件数字系统设计;2对系统中的任一层次或任一元件的
21、功能进行精确的时序仿真,精度达0.1ns,因此能发现对系统可能产生不良影响的竞争冒险现象;3通过时序仿真,能迅速定位电路系统的错误所在,并随时纠正;4能对设计方案进行随时更改,并储存设计过程中所有的电路和测试文件入档;5通过编译和下载,能在FPGA或CPLD上对设计项目随时进行硬件测试验证;6如果使用FPGA和配置编程方式,将不会有器件损坏和损耗问题;7符合现代电子设计技术规范。传统的数字电路实验利用手工连线的方法完成元件连接,容易对学习者产生误导,以为只要将元件间的引脚用引线按电路图连上即可,而不必顾及引线长短,粗细弯曲方式,可能产生的分布电感和电容效应,以及电磁兼容性等等十分重要的问题。M
22、ax Plus II还提供设计校验的仿真器,其中包括功能仿真和时序仿真。仿真器的灵活性很强电路设计完成后,需要验证电路设计的逻辑功能是否正确。这是一项简单的逻辑检查,可采用功能仿真,这对于初步的逻辑功能检测非常方便。功能检查完成后,可进行时序仿真。Max Plus II的时序分析程序可以计算点到点的器件延时,确定器件引脚上的建立时间和保持时间要求,还可计算最高时钟频率。用Max Plus II软件进行逻辑设计的步骤包括:1根据所选课题的任务和设计指标要求,确定总体设计方案,画出总体方案的系统框图;2进行底层单元电路分析及输入设计、编译、仿真;3利用已编译正确的底层单元电路模块,画出顶层电路的原
23、理图 ,进行编译调试和仿真测试;4撰写设计报告。Max Plus II的设计流程可以用如下图2.3所示:图形成VHDL编辑器编译网表提取数据库建立逻辑综合逻辑分割匹配延时网表提取编辑文件汇编编辑器图2.3 Max Plus II 设计流程从图2.3可清晰了解到Max Plus II提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。他包括设计输入编辑、编译网表提取、数据库建立、逻辑综合、逻辑分割、适配、延时网表提取、编辑文件汇编以及编程下载9个步骤。3 十六路彩灯控制器详细设计在21 世纪的今天,汽车已经逐渐为越来越多的人们所拥有,在家庭中的普及率不断提高,大大的
24、方便了我们的生活。汽车尾灯由六支只LED 灯组成,它是汽车电子电路系统的重要组成部分。.本文采用EDA 技术,利用Max Plus II 工作平台和VHDL 设计语言,设计了一个十六路彩灯控制器芯片,该芯片具有六种花型循环变化,有清零开关,并且可以选择快慢两种节拍的功能。3.1设计方案用 VHDL 进行设计,首先应该理解,VHDL 语言是一种全方位硬件描述语言,包括系统行为级,寄存器传输级和逻辑门级多个设计层次。应充分利用 VHDL“自顶向下”的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统是非常有用的,它使得我们可以从简单的单元入手,逐渐构成庞大而复杂的系统。应用VHDL进行自
25、顶向下的设计,是采用可完全独立于目标器件芯片物理结构的硬件描述语言。就是使用VHDL模型在所有综合级别上对硬件设计进行说明、建模和仿真测试。其设计流程如图3.1所示:1设计说明书6逻辑综合2建立VHDL行为模块型7测试向量生成3 VHDL行为仿真8功能仿真4 VHDL-RTL级建模5前端功能仿真设计完成11硬件测试9结构综合10门级时序仿真 图3.1 VHDL自顶向下设计流程基于可编程逻辑器件CPLD/FPGA 的芯片,使用硬件描述语言(VHDL)设计一个十六路彩灯控制器芯片,并进行计算机仿真和编程下载。要求该十六路彩灯控制器芯片能够实现如下功能:六种花型循环变化,有清零开关,并且可以选择快慢
26、两种节拍的功能。本文设计一个十六路彩灯控制器,六种花型循环变化,有清零开关,并且可以选择快慢两种节拍根据系统设计要求可知,整个系统共有三个输入信号:控制彩灯节奏快慢的基准时钟信号CLKIN,系统清零信号CLR,彩灯节奏快慢选择开关CHOSEKEY;共有16个输出信号LED150,分别用于控制十六路彩灯根据以上设计要求,我们可将整个彩灯控制器CDKZQ分为两大模块:时序控制电路SXKZ和显示控制电路XSKZ, 整个十六路彩灯控制系统设计的模块图如图3.2所示:图3.2 十六路彩灯控制器图该框图的实现功能如下:CHOSEKEY是彩灯节奏快慢选择开关,高电平有效,用于选择彩灯节奏的快慢。CLKIN是
27、控制彩灯节奏快慢的基准时钟信号,任意频率的脉冲,作为时钟信号使用。CLR是系统清零信号,高电平有效,用于恢复系统的原始状态。LED150是16个输出信号,高电平有效,分别用于显示不同控制情况下十六路彩灯显示状态。3.2设计原理系统的工作原理如下:时序控制电路SXKZ根据输入信号CLKIN,CLR,CHOSEKEY产生符合一定要求的、供显示控制电路XSKZ使用的控制时钟信号,而显示控制电路XSKZ则根据时序控制电路SXKZ输入的控制时钟信号,输出6中花型循环变化的、控制十六路彩灯工作的控制信号,这些控制信号加上驱动电路一起控制彩灯工作。3.3模块设计 (1)时序控制电路SXKZ模块 在设计时序控
28、制电路SXKZ模块时,可利用数器来产生所需的控制时钟信号CLK。具体过程是这样的,在CLKIN 作用下,计数器开始计数,当计数器过到分频值时,对计数器进行清零,同时使输出信号反相,从而实现对CLKIN的分频。 时序控制电路SXKZ模块的设计思路如下图3.3 所示:图3.3 时序控制电路SXKZ模块设计图其中 CHOSEKEY是彩灯节奏快慢选择开关,用于选择彩灯节奏的快慢。CLKIN是控制彩灯节奏快慢的基准时钟信号,任意频率的脉冲,作为时钟信号使用。CLR是系统清零信号,低电平有效,用于恢复系统的原始状态。CLK是输出信号,高电平有效。时序控制电路SXKZ 模块的VHDL程序主要代码如下: BE
29、GIN IF CLR='1' THEN /当CLR='1'时清零,否则正常工作CLLK<='0'TEMP:="000" ELSIF RISING_EDGE(CLK_IN) THEN IF CHOSE_KEY='1' THEN /当CHOSE_KEY='1'时产生基准时钟频率的1/4的时钟信号, IF TEMP="011" THEN TEMP:="000" CLLK<=NOT CLLK ; ELSE TEMP:=TEMP+'1'
30、END IF; / 当CHOSE_KEY='0'时基准时钟频率的1/8的时钟信号 ELSE IF TEMP="111" THEN TEMP:="000" CLLK<=NOT CLLK ; ELSETEMP:=TEMP+'1' END IF; END IF; END IF; END PROCESS;(2)显示控制电路XSKZ模块在设计显示控制电路XSKZ模块时,可利用常数来定义输出的6种花色,同时采用状态机来设计6种花色号的循环变化。显示控制电路XSKZ模块的设计思路如下图3.4所示:图3.4 显示控制电路XSKZ模块
31、块设计图其中,CLK是输入信号,高电平有效。CLR是系统清零信号,高电平有效,用于恢复系统的原始状态。LED15.0是输出信号,高电平有效。显示控制电路XSKZ模块的VHDL程序主要代码如下:BEGIN PROCESS(CLR,CLK) ISCONSTANT F1:STD_LOGIC_VECTOR(15 DOWNTO 0):="0001000100010001" /第一种花色CONSTANT F2:STD_LOGIC_VECTOR(15 DOWNTO 0):="1010101010101010" /第二种花色CONSTANT F3:STD_LOGIC_V
32、ECTOR(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" /第六种花色BEGIN IF CL
33、R='1' THEN CURRENT_STATE<=S0; ELSIF RISING_EDGE(CLK) THEN CASE CURRENT_STATE IS WHEN S0=> FLOWER<="ZZZZZZZZZZZZZZZZ"CURRENT_STATE<=S1; /当前状态是S0时,输出为"ZZZZZZZZZZZZZZZZ", 下一状态为S1 WHEN S1=> FLOWER<=F1; CURRENT_STATE<=S2; /当前状态是S1时,输出为F1, 下一状态为S2 WHEN S2=&
34、gt; FLOWER<=F2; CURRENT_STATE<=S3/当前状态是S2时,输出为F2, 下一状态为S3 WHEN S3=> FLOWER<=F3; CURRENT_STATE<=S4; /当前状态是S3时,输出为F3, 下一状态为S4 WHEN S4=> FLOWER<=F4; CURRENT_STATE<=S5; /当前状态是S4时,输出为F4, 下一状态为S5 WHEN S5=> FLOWER<=F5; CURRENT_STATE<=S6; /当前状态是S5时,输出为F5, 下一状态为S6 WHEN S6=>
35、; FLOWER<=F6; CURRENT_STATE<=S1; /当前状态是S6时,输出为F6, 下一状态为S1 END CASE; END IF; END PROCESS; LED<=FLOWER; END ARCHITECTURE ART; /结构体结束(3)十六路彩灯控制器系统CDKZQ十六路彩灯控制器系统CDKZQ设计思路如下图3.5所示: 图3.5 整个电路系统CDKZQ图其中 CHOSEKEY是彩灯节奏快慢选择开关,用于选择彩灯节奏的快慢。CLKIN是控制彩灯节奏快慢的基准时钟信号,任意频率的脉冲,作为时钟信号使用。CLR是系统清零信号,高电平有效,用于恢复系统
36、的原始状态。LED15.0是彩灯输出信号,高电平有效。整个电路系统CDKZQ的VHDL程序主要代码如下:ARCHITECTURE ART OF CDKZQ IS /结构体的开始 COMPONENT SXKZ IS PORT(CHOSE_KEY:IN STD_LOGIC; CLK_IN:IN STD_LOGIC; CLR:IN STD_LOGIC; CLK:OUT STD_LOGIC); END COMPONENT SXKZ; /SXKZ组件 COMPONENT XSKZ IS PORT(CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; LED:OUT STD_LOGIC_
37、VECTOR(15 DOWNTO 0); END COMPONENT XSKZ; /XSKZ组件 SIGNAL S1:STD_LOGIC; /信号S1为SXKZ的输出信号同时为XSKZ的输入信号 BEGIN U1:SXKZ PORT MAP(CHOSE_KEY,CLK_IN,CLR,S1); U2:XSKZ PORT MAP(S1,CLR,LED);END ARCHITECTURE ART; /结构体的结束4十六路彩灯控制器的仿真4.1 时序控制电路SXKZ仿真将程序使用Max Plus II进行运行并仿真,得到时序控制电路SXKZ仿真图像如4.1所示:图4. 1 时序控制电路SXKZ仿真图图
38、4.1中,CHOSEKEY是彩灯节奏快慢选择开关,用于选择彩灯节奏的快慢。CLKIN是控制彩灯节奏快慢的基准时钟信号,任意频率的脉冲,作为时钟信号使用。CLR是系统清零信号,高电平有效,用于恢复系统的原始状态。CLK是输出信号,高电平有效。4.2 显示控制电路XSKZ仿真 将程序使用Max Plus II进行运行并仿真,得到显示控制电路XSKZ仿真图像如4.2所示:图4.2显示控制电路XSKZ仿真图图4.2中,CLK是时钟信号,CLR是系统清零信号,高电平有效,用于恢复系统的原始状态。LED是十六路彩灯输出信号,高电平有效。如输出是4924(十六进制)即0100100100100100(二进制
39、)表示第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仿真图图4.5 当CLR不为全0或全1时整个电路系统CDKZQ仿真图在仿真图中,CHOSEKEY是彩灯节奏快慢选择开关,用于选择彩灯节奏的快慢。CLKIN是控制彩灯节奏快慢的基准时钟信号,任意频
40、率的脉冲,作为时钟信号使用。CLR是系统清零信号,高电平有效,用于恢复系统的原始状态。如图所示,当CLR为全0时,LED15.0在六种状态内循环;当CLR为全0时,LED15.0输出为0,处于S0状态;当CLR为0时,LED15.0在六种状态内循环,后CLR为1时,LED15.0输出为0,处于S0状态。LED是十六路彩灯输出信号,高电平有效。如输出是1111(十六进制)即0001000100010001(二进制)表示第1种花色有效。图中六种状态有规律的进行表明该整个电路系统CDKZQ模块运行正常。 5 小 结 经过三周的学习和工作,我终于完成了基于VHDL语言的十六路彩灯控制器的设计和实现及相
41、关论文。在整整三个星期的日子里,可以说是苦多于甜,不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。课程设计是我们运用所学知识,动手实践的一个很好的机会。它既可以帮助我们加深对所学知识的理解,又能提高我们运用知识,联系实际,动手实践的能力。而且在设计过程中可能用到我们没学过的知识,需要我们去查阅资料获取相关信息,这又提高了我们查找信息和学习新知识的能力。在实物的调试与检测过程中,又会遇到许多意想不到的问题,需要我们去分析原因和解决问题。在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。通
42、过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。致 谢经过两周的奋战我的课程设计终于完成了。在没有做课程设计以前觉得课程设计只是对这半年来所学知识的单纯总结,但是通过这次做课程设计发现自己的看法有点太片面。课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种
43、提高。在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识。在这次课程设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。最后,在此要感谢我们的指导老师陈老师和单老师对我们悉心的指导,感谢老师们给我们的帮助。参考文献1李国洪,沈明山可编程逻辑器件EDA技术与实践M北京:机械工业出版社, 2004:10-152王传新电子技术基础
44、实验分析、调试、综合设计M北京:高等教育出版社, 2005:26-303路而红电子设计自动化应用技术 M北京:高等教育出版社,2004:50-604王道宪VHDL电路设计技术M 北京:国防工业出版社,2004:5-95潘松,王国栋VHDL实用教程M 西安:电子科技大学出版社,2000:15-206王道宪,贺名臣,刘伟VHDL电路设计技术M北京:国防工业出版社,2004:1-5附录1:时序控制电路的VHDL源程序清单/SXKZ.VHD /命名SXKZ VHD文件LIBRARY IEEE; /库说明语句USE IEEE.STD_LOGIC_1164.ALL; /程序包说明语句USE IEEE.ST
45、D_LOGIC_UNSIGNED.ALL;ENTITY SXKZ IS PORT(CHOSE_KEY:IN STD_LOGIC; /输入信号CHOSE-KEY CLK_IN:IN STD_LOGIC; /输入信号CLK-IN CLR:IN STD_LOGIC; /输入信号CLR CLK:OUT STD_LOGIC); /输出信号CLKEND ENTITY SXKZ; /实体说明ARCHITECTURE ART OF SXKZ IS /结构体的开始 SIGNAL CLLK:STD_LOGIC; BEGIN PROCESS(CLK_IN,CLR,CHOSE_KEY) ISVARIABLE TEMP
46、:STD_LOGIC_VECTOR(2 DOWNTO 0); /定义输入电平为变量TEMP BEGIN IF CLR='1' THEN /当CLR='1'时清零,否则正常工作CLLK<='0'TEMP:="000" ELSIF RISING_EDGE(CLK_IN) THEN IF CHOSE_KEY='1' THEN / 当CHOSE_KEY='1'时产生基准时钟频率的1/4的时钟信号, IF TEMP="011" THEN TEMP:="000"
47、 CLLK<=NOT CLLK ; ELSE TEMP:=TEMP+'1' END IF; / 当CHOSE_KEY='0'时产生基准时钟频率的1/8的时钟信号 ELSE IF TEMP="111" THEN TEMP:="000" CLLK<=NOT CLLK ; ELSETEMP:=TEMP+'1' END IF; END IF; END IF; END PROCESS; CLK<=CLLK;END ARCHITECTURE ART; /结构体结束附录2:显示控制电路的VHDL源程序清
48、单/XSKZ.VHD / 命名XSKZ VHD文件LIBRARY IEEE; /库说明语句USE IEEE.STD_LOGIC_1164.ALL; 程序包说明语句ENTITY XSKZ IS PORT(CLK:IN STD_LOGIC; /输入信号CLK CLR:IN STD_LOGIC; /输入信号CLR LED:OUT STD_LOGIC_VECTOR(15 DOWNTO 0); /输出信号LED15.0END ENTITY XSKZ; /实体说明ARCHITECTURE ART OF XSKZ IS /结构体的开始 TYPE STATE IS(S0,S1,S2,S3,S4,S5,S6);
49、 SIGNAL CURRENT_STATE:STATE; SIGNAL FLOWER:STD_LOGIC_VECTOR(15 DOWNTO 0); /结构体部分说明 BEGIN PROCESS(CLR,CLK) ISCONSTANT F1:STD_LOGIC_VECTOR(15 DOWNTO 0):="0001000100010001" /第一种花色CONSTANT F2:STD_LOGIC_VECTOR(15 DOWNTO 0):="1010101010101010" /第二种花色CONSTANT F3:STD_LOGIC_VECTOR(15 DOWNTO 0):="0011001100110011" /第三种花色CONSTANT F4:STD_LOGIC_VECTOR(15 DOWNTO 0):="0100100100100100" /第四种花色CONSTANT F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 航空公司人事安全管理计划
- 工厂消防演习流程指导
- 初二物理在线学习平台建设计划
- 大班第二学期阅读推广计划
- 小学安全工作计划
- 地铁站外立面幕墙施工方案与措施
- 2025年幼儿园语言学习资源整合计划
- 部编版九年级语文下册教学改革计划
- 2025年五年级班主任科技创新计划
- 培训机构结业典礼流程
- 2024年建设工程监理人员技能竞赛理论考试题库(含答案)
- 外伤致肺癌骨转移患者腰椎压缩性骨折法医学鉴定
- 新译林版三年级上册英语Unit1作业单
- 2024年浙江省中考英语试题卷(含答案解析)
- DB62T 4872-2024 养老护理员培训基地建设规范
- 劳务派遣公司与学校签订协议范本(2024版)
- 2024年河北省中考数学试题(含答案解析)
- 《第8课 图表呈现》参考课件1
- 网上销售食品安全管理制度
- 2024年四川省成都市中考数学试题含答案
- DL∕T 612-2017 电力行业锅炉压力容器安全监督规程
评论
0/150
提交评论