毕业论文--基于FPGA的可遥控智能彩灯控制器设计与实现.docx
- 文档编号:710312
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:32
- 大小:339.10KB
毕业论文--基于FPGA的可遥控智能彩灯控制器设计与实现.docx
《毕业论文--基于FPGA的可遥控智能彩灯控制器设计与实现.docx》由会员分享,可在线阅读,更多相关《毕业论文--基于FPGA的可遥控智能彩灯控制器设计与实现.docx(32页珍藏版)》请在冰点文库上搜索。
大连东软信息学院
本科毕业设计(论文)
论文题目:
基于FPGA的可遥控智能彩灯控制器设计与实现
系 所:
电子工程系
专 业:
电子信息工程(集成电路设计与系统方向)
学生姓名:
学生学号:
指导教师:
导师职称:
讲师
完成日期:
2014年4月28日
大连东软信息学院
DalianNeusoftUniversityofInformation
大连东软信息学院毕业设计(论文)
摘要
基于FPGA的可遥控智能彩灯控制器
设计与实现
摘 要
电子设计自动化(EDA,ElectronicDesignAutomation)技术的应用引起电子产品及系统开发的革命性变革,本系统实现以Verilog-HDL为基础的十六路彩灯控制系统。
当外面是白天的时候,灯全部熄灭;当黑夜降临,十六路发光二极管(LED,LightEmittingDiode)灯全亮,等待花色选择。
同时也可以选择彩灯花色变化的频率,十六路彩灯共有七种不同花色选择。
本次设计采用了自顶向下的设计方法,即从系统总体要求出发,自上至下地将设计任务分解为不同的功能模块,最后将各功能模块连接形成顶层模块,完成系统硬件的整体设计。
现场可编程门阵列(FPGA,FieldProgrammableGataArray)具有集成度高、通用性好、设计灵活、编程方便、可以实现芯片的动态重构等特点,因此可以快速地完成复杂的数字系统。
本文介绍了基于EDA技术的多路彩灯控制器的设计与分析。
在Quartus II环境下采用Verilog语言实现,论述了基于Verilog语言和FPGA芯片的数字系统设计思想和实现过程。
在具体实现上,设计模块包括:
时序控制分模块,显示控制模块,发射接收模块,光线感知模块四部分组成。
最后在ModelSim中完成了功能仿真。
本项目的实施,不仅要求学生数字系统设计流程的合理性,而且要求用电阻晶体管逻辑
(RTL,ResistorTransistorLogic)级Verilog描述数字电路以及EDA开发工具的熟练使用。
关键词:
Verilog,彩灯,控制,仿真
II
大连东软信息学院毕业设计(论文)
Abstract
DesignandIplementationofRemoteIntelligentLightsControllerBasedonFPGA
Abstract
ElectronicDesignAutomation(EDA,ElectronicDesignAutomation)technologyapplicationcausetherevolutionarychangeofElectronicproductsandsystemsdevelopment,thesystemimplementationbasedonVerilogHDL-tenalllightscontrolsystem.Whenthedayisoutside,lightsallout,whennightcame,tenallledlightsalllight,waitingfordesignandcolorchoice.Atthesametime,alsocanchoosedesignandcoloroflightschangefrequency,tenalllightsatotalofsevendifferentcolorstochoose.Thedesignhasadoptedthetop-downdesignmethod,namelyfromtheoverallsystemrequirements,fromtoptobottomofthedesigntaskdecompositionintothedifferentfunctionmodule,finallyeachfunctionmoduleisconnectedtoformthetopmodule,theoveralldesignofsystemhardware.
FieldProgrammablegateArray(FPGA,FieldProgrammableGataArray)withhighintegration,goodgenerality,flexibledesign,programming,convenient,canrealizethedynamicreconfigurationofchipsandothercharacteristics,soyoucanquicklycompletethecomplexdigitalsystem.
ThispaperintroducesthedesignandanalysisofmultiplelightscontrollerbasedontheEDAtechnique.IntheQuartusIIenvironmentusingVeriloglanguage,discussesthedigitalsystemdesignideaofVeriloglanguageandtheFPGAchipandtheimplementationprocessbasedon.Ontheconcreterealization,Designmodulesinclude:
Sequentialcontrolmodule,displaycontrolmodule,launchreceivingmodule,lightperceptionmodulefourparts.FinallycompletefunctionalsimulationinModelSim.Theimplementationofthisproject,notonlyrequeststhestudenttotherationalityofthedigitalsystemdesignprocess,andaskedtouseresistanceTransistorLogic(RTL,ResistorTransistorLogic)levelVerilogdigitalcircuitandskilleduseofEDAtools.
Keywords:
Verilog,Lantern,Control,Simulation
大连东软信息学院毕业设计(论文)
目录
目 录
IV
摘 要 I
ABSTRACT II
第1章 绪 论 1
1.1课题研究背景与意义 1
1.2课题研究内容与方法 2
第2章 关键技术介绍 3
2.1VERILOGHDL 3
2.2自上而下设计 4
2.3有限状态机 5
第3章 系统需求分析 8
3.1系统设计目标 8
3.2系统功能需求 8
3.3系统非功能需求 8
3.4系统开发环境 8
3.4.1硬件环境 8
3.4.2软件环境 9
3.5系统可行性分析 11
3.6外围电路分析 12
3.6.1控制电路 12
3.6.2显示电路 12
3.6.3系统流程图 12
第4章 系统设计 14
4.1系统设计指导原则 14
4.2.1数据通道模块设计 16
4.2.2控制单元模块设计 17
第5章 系统实现 19
5.1控制单元的部分实现 19
5.2数据通道中的部分实现 20
第6章 系统测试 21
6.1控制单元仿真 21
6.2数据通道仿真 21
6.3分频模块仿真 21
6.4显示模块仿真 22
6.5系统整体仿真 22
第7章 结 论 23
致 谢 25
大连东软信息学院毕业设计(论文)
第1章 绪 论
1.1课题研究背景与意义
科学技术的无限发展,人民生活水平的不断提高,都使得彩灯装饰在现代生活中
变为一种可增强人们的美感饰具,同时也可作为广告宣传,不仅增添节日的气氛,也为着人们的生活增添亮丽。
电子技术的持续发展,使应用系统向着小型化、快速化、大容量、重量轻等方向发展,EDA技术的多方面应用也引起了电子产品、系统开发的变革。
EDA代表了,当今电子设计技术的最新发展方向,其根本特征是设计人员,以计算机作为载体工具,按top-to-down的设计理念,对整个系统进行方案性的设计以及功能划分,使用硬件描述语言来完成系统行为级的设计,使用比较先进性的开发工具自动的完成逻辑的编译,化简,分割,综合,优化,布局布线,仿真和具有特定目标芯片的适配编译、编程下载,以这种理念来设计高层次数字逻辑电路。
作为现代的电子系统设计主导的技术,EDA技术具有两个明显特征:
即并行工程设计和自顶向下设计。
其基本的思想是从系统总体设计出发,分为行为描述、寄存器传输级描述、逻辑综合三个层次,将设计的内容逐步细化,最后完成整体的设计,这是一种全新设计思想和设计理念。
VerilogHDL硬件描述语言,是一种以文本形式,来描述数字系统硬件的结构和行为的语言,它可以表示逻辑电路图、逻辑表达式,还可以用来表示数字逻辑系统将完成的逻辑功能。
诞生于20世纪80年代中期,是由GatewayDesignAutomation(该公司于1989年被Cadence公司收购)公司开发的一种快速设计电路工具,目前已经成为
IEEE的一种工业性的标准硬件描述语言。
相比传统电路系统的设计方法,Verilog拥有多层次的描述系统硬件功能的能力,支持自顶向下设计的特点,因此设计者不必了解硬件结构。
直接从系统设计入手,在顶层进行系统设置,方框图的划分及结构设计,在方框图的一级用Verilog对电路行为加以描述,并作仿真和纠错工作;然后,在系统的一级作验证,最后在使用逻辑综合优化工具,以产生具体的门级的逻辑电路网表,再将网表下载到具体复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)器件中去,最终实现可编程的专用集成电路的设计。
用Verilog语言去完成数字逻辑电路和数字系统设计,是电子电路设计方法上一个突破性的变革。
与传统方法相比,Verilog描述电路行为具有很多种优点:
-22-
1、设计层次比较高,当用于较复杂的计算时,可以尽早的发现已经存在的问题,缩短设计的周期;
2、可以独立实现,修改方便,系统硬件的描述能力强;
3、可读性好,便于交流,适合文档保存;
4、Verilog语言标准、规范以及移植性强。
本设计所研究的基于FPGA的,可遥控智能彩灯控制器设计与实现,也是基于上述的背景,通过本次的设计加深了对FPGA技术原理的理解与应用;掌握了数字电路前端设计的基本流程:
模块划分、模块功能设计、模块功能仿真、综合和验证;同时,对彩灯控制器的设计方法进行探讨。
1.2课题研究内容与方法
本论文按照数字电路前端的设计流程,完成了基于FPGA的,可遥控智能彩灯控
制器设计与实现,主要工作有:
1、熟悉可遥控智能彩灯控制器的应用原理;
2、熟悉FPGA文件的创建与使用,熟悉使用QuartusII和modelSIM软件;
3、采用Verilog-HDL硬件描述语言完成将设计分成时序控制模块,显示控制模块,发射接收模块,光线感知模块设计与优化;
4、完成彩灯电路的模块划分、模块功能设计、模块功能仿真、综合和验证。
本文结构安排如下:
第一章:
介绍课题提出的背景及意义,以及本论文的主要工作和结构安排;第二章:
对毕业设计用到的关键技术进行详细的介绍;
第三章:
进行系统可行性分析;
第四章:
根据设计指导的思想和原则,对系统进行初步的设计和详细的设计;第五章:
完成系统实现,包括数据通道的实现和控制单元的实现;
第六章:
进行数据通道仿真,控制单元仿真,系统整体仿真;
第七章:
结论部分,总结本课题所取得成果以及本文的不足之处。
2.1VerilogHDL
第2章 关键技术介绍
Verilog-HDL,是一种硬件描述语言,用于从算法级、门级到开关级的,多种抽象设计层次的数字系统建模。
被建模的数字系统对象的复杂性,介于简单门与完整的电子数字系统夹层中。
数字系统可按层次的描述,在相同的描述中用以显式地进行时序建模。
Verilog-HDL语言有如下的述描述性能力:
设计的行为、数据流等特性,结构组成和涉及响应监控,可在设计验证方面的时延、波形产生的机制这些全部使用同一种建模语言。
除此以外,Verilog-HDL语言还提供编程语言的接口,通过这些接口在设计模拟和验证期间,从设计外部访问设计,包括了模拟的具体控制与运行。
Verilog-HDL语言中阻塞语句,顾名思义,即本条语句存在能够影响下一条语句的作用,在同一进程always中,一条阻塞赋值语句的执行,是立即影响下条语句的执行情况和结果。
如果该条语句没有执行完成,那么下条语句是不可能进入此时的执行状态的,因此,从字面层上理解,这条语句阻塞了下条语句的执行。
Verilog-HDL语言非阻塞语句,非阻塞语句对应用来说,更可以体现硬件电路的特点。
这正是非阻塞语句可以广泛的应用到时序逻辑电路的原因,阻塞语句是顺序执行的,而非阻塞语句是同时执行的。
那么,怎样在设计里面运用好阻塞语句和非阻塞语句呢?
总体上来讲,遵循大体原则:
阻塞语句应用在组合逻辑电路设计中,而非阻塞语句用在时序逻辑电路的设计里面。
HDL语言的建模,组主要的三种形式为:
结构化描述方式和数据流描述方式以及行为描述方式。
下面来,区分下三种形式间的差别:
1、结构化描述建模,通过电路结构的描述进行建模,也就是对器件进行调用
(HDL概念称为例化),应用线网对各器件之间链接的描述方式。
结构化描述方式,反映的是一个设计的层次结构。
2、数据流描述建模,是数据流的设计中以具体行为的描述来建模。
例如,连续赋值语句。
在连续赋值语句的描述中,某值赋值于某信号。
3、行为描述建模,是指以信号行为级的描述(非结构级描述)来建模。
在某方面,与数据流的建模比较相似,但一般情况下把initial块语句或者是吧always块语句的描述归给行为描述建模。
行为描述建模很多时候要通过一些行为级的运算符的帮助来完
成,比如,乘法运算符(*),除法运算符(/)等等。
Verilog-HDL语言不仅定义语法,而且对每个语法结构,都定义了清晰的模拟和仿真语义。
因此,用这种语言编写的模型,能使用Verilog仿真器进行验证。
Verilog-
HDL语言在C语言的基础上,继承了许多。
Verilog-HDL同时也提供可扩展的建模能力,其中有许多扩展的初始时期很难被理解。
但Verilog-HDL语言的核心却很容易被学习和使用,而这些对大多数建模的应用已经非常充足了。
当然,最终完整的硬件语言,完全可以对完整的电子芯片以及系统进行描述。
下面的是VerilogHDL硬件描述语言的主要能力:
1、最基础逻辑门,例如and,or和nand等都已经内嵌在语言中。
2、具有开关级的基础结构模型,例如pmos和nmos等也已被内置于语言中。
3、提供了显式语言的结构,同时可指定在设计中端口与端口之间的时延,涉及路径时延问题和设计中时序的检索。
4、设计可以以任意的形式出现,语言不对其规模以及程度加以限制。
5、Verilog-HDL不再是某些公司的专有的语言而是IEEE标准。
6、人和计算机等都可以阅读Verilog-HDL语言。
因此,它可作为设备和人之间交流的一种桥梁。
7、相同语言之间可于生成模拟激励,以指定测试验证的约束。
例如,输入信号的指定。
8、Verilog-HDL可以对模拟验证进行监管,包括监控和显示数据。
这部分数据也可以与所期望值进行比较,当出现不匹配情况,对进行打印并通知。
9、在系统行为级的描述,Verilog-HDL既可以在RTL级上描述其设计部分,而且也可在其体系结构级上对其描述,也可在算法级行为上描述其设计。
10、能够运用门与模块实例化语句,在结构级进行结构描述。
11、可以显式,对并发和定时进行建模。
12、提供强有力的,文件读写能力。
13.语言在特定情况下,是不确定性的,即在不同的模拟器上,模型可以产生不同的结果。
2.2自上而下设计
由最底层的元器件开始设计。
从基本子系统,去构建大系统的电路设计模式,是
本次设计最初进行电路设计的基本方法。
这种由底向上的设计方式,是电子线路初期最常用的方法,在电路还不太复杂、层次还比较简单的设计中,它是一种非常有效的
方法。
但是,随着电路结构越来越复杂,这种方法则会显示出较大的弊病。
这就是,纵使每个子系统的设计,分别满足各自的要求,但系统的整体性能指标,却往往得不到保障。
而由顶向下的分层设计技术,则能完整无缺的解决好了这个问题。
在由顶向下的设计方法中,设计师会首先,进行系统层的设计,针对系统整个的特性,给出系统级的描述,包括系统的功能要求、接口配置、层次划分、系统的电性能、系统的物理设计参数等等,根据这些描述,完成子系统级间的设计。
这些描述除实现子系统上的功能之外,还必须满足上级系统的要求,就这样从最上到下直至最底层。
最底层的子系统,实际上就是具体点路。
这种自上而下的层次化设计方法,就是当代EDA技术的电子系统的设计思想,在EDA设计中被称为top-to-down设计。
自顶向下的层次化设计技术,有两个关键的要素,即硬件描述语言,可以对电路的结构以及行为进行描述,建立电路、系统的描述模型;同时也支持,对这些模型进行功能上的仿真和时序验证。
另一个要素就是逻辑综合技术,这种技术能快速的、有效的将描述模型转化成具体地硬件门电路。
EDA自上而下设计方法,由于设计过程中,本身充分考虑到了整个系统的各个要求,在设计的每一层次都进行了,系统及子系统的仿真模拟,因此最后的电路的设计,必然能满足系统的整体特性,从而保证复杂大型电子系统的可靠性。
图2.1为自上而下的设计树示意图。
2.3有限状态机
图2.1自上而下的设计树示意图
数字系统设计当中有限状态机已经广泛的被使用着。
根据其状态机输出与输入的
关系,可将状态机分成两大类别:
即摩尔型状态机以及米莉型状态机。
有限状态机主要拥有三个组成部分,在组合逻辑的部分中有状态译码器,输出译码器,状态译码器,可以确定状态机所能转换到的下一状态,输出译码器,确定着状态机此时的输出,状态寄存器是时序逻辑的一部分,对状态机的内部动态进行储存。
状态机有很多条的标准,最重要的有以下几个方面,如下:
第一是要保证状态机要具有安全性,是指有限状态机(FSM,Finite StateMachine)进入不了死循环,尤其是状态机不会进入到预知到不到一种状态,当其受外部的一些干扰时使其进入没有设计的状态,也可以迅速的回到到可以工作的状态循环
中去。
这其中具有两层意思。
第一方面该FSM的综合处理结果不会出现无毛刺等情况,其二要求FSM要完备,当遇到非预制干扰进入没有设计的状态,也可以迅速回复到可工作状态。
第二是要保证状态机面积以及速度等等设计中所涉及的要求。
第三是要保
证状态机的设计要清楚明了以及易于维护。
特别指出的是,以上的各项标准,它们之间具有直接且相当密切的内在关联。
芯片的设计过程中,综合处理的结果进行评价的两个基础的标准:
面积、反应程度。
“面积”指的是逻辑资源所使用的量;而“反应程度”是指在芯片设计中可以稳定运行所达到的频率的最高值。
两者是相互对立,但又相互统一的矛盾共存体,要求设计既要面积小同时运行频率达到最高,这是不可能存在的事情。
科学设计的目标知道是:
当时需要求得到满足的同时,芯片所使用的面试最小的;或者,在规定了其面积的状况下,尽量满足时序余量达到更多。
除此之外,如果要求FSM安全,则很多的环境中要用到“fullcase”的编程式,也就是说在状态转移中所涉及到的变量,所有的向量组合情况都在FSM中做相应的处理,也就意味着将要多花更多的设计资源,有时也会影响
FSM的频率。
所以,上述的标准要综合考虑,根据设计的要求有所衡量。
状态机描述时的关键,是如何描述状态之间的转移,各个状态间的输出又是什么,让状态之间可以转的因素等。
有很多在描述时所应用的,最常见的三种方式有:
1、一段式:
将整个的状态机,写到一个always模块里面,在此模块中,既描述了状态转移,也对每个状态下的输入输出进行描述;
2、二段式:
用两个always模块对状态机的不同状态进行描述,其中一个always模块,采取同步时序对状态的转移进行描述;而在另外一个always模块中,使用组合逻辑对状态转移时的条件进行判断,说明状态机在状态转移时的规律及输出;
3、三段式:
在两个always模块的基础上,使用三个always模块。
一个always模块采用,同步时序对状态转移进行,一个always用组合逻辑,进行对状态转移条件的判别,说明转移规律,另一个always模块描各述状态间的输出(组合电路,时序电路都可以应用)。
就一般而言,推荐使用的FSM方式为后两种。
因为,FSM和其他的设计一样,尽可能地应用同步时序进行设计,可是设计的稳定性得到一定的提高。
在状
态机最终实现后,一般来说,在状态转移的部分所涉及的是同步时序电路,而对状态转移条件的判断上所以用的是组合逻辑电路。
就第二种描述形势来说,与第一种描述形式作比较,把同步时序逻辑电路和组合逻辑电路,有区别的放在不一样的always模块中进行实现,这样做不仅仅是更利于读取、解释以及维护,要特别说明的是,方便综合器对代码进行优化,用户可方便的添加不同的、合适的时序约束,同样更有助于对布局布线器的实现。
在第二种方式中,在当前状态下的输出要用组合逻辑实现。
但是,毛刺等问题很容易在组合逻辑中出现,而且不便于约束,更是有碍综合器、布局布线器高性能进行设计。
而在第三种与第二种相比,关键在于状态转移的规律上,上一的状态可根据此时的输入条件判对输出进行判断,从而可在不对时钟节拍进行更多的插入的前提下,实现寄存器输出。
第3章 系统需求分析
3.1系统设计目标
本设计以QuartusⅡ为系统开发环境,使用ModelSIM进行仿真,采用Verilog-
HDL语言,完成可遥控智能彩灯控制器电路的前端设计。
该电路可显示十六路彩灯的七种花色变化,其花色变化频率可调。
3.2系统功能需求
根据需求调研结果确定本系统主要包括以下功能模块。
根据系统设计要求可知,整个系统共有五个输入信号:
控制彩灯频率转换的信号为clk_div,系统复位信号rst_n,彩灯频率调节开关sel_clk,遥控信号control_in,以及光线感知端口共有十六路彩灯输出信号。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 基于 FPGA 遥控 智能 彩灯 控制器 设计 实现