《基于FPGA的多路彩灯控制器的设计》由会员分享,可在线阅读,更多相关《基于FPGA的多路彩灯控制器的设计(21页珍藏版)》请在金锄头文库上搜索。
1、- - 1 - -湖南文理芙蓉学院课程设计报告课程名称: 自动化系统课程设计 专业班级: 自动化 1101 班 学号(7 位)学生姓名: 陈 鹏 指导教师: 彭 琛 完成时间: 2014 年 11 月 25 日 报告成绩: 湖南文理学院制评阅意见:评阅教师 日期 - - 2 - -基于 FPGA 多路彩灯控制器的设计一、引言21 世纪,电子技术迅猛发展,高薪技术日新月异。传统的设计方法正逐步退出历史的舞台,取而代之的是基于 EDA 技术的芯片设计技术,它正在成为电子系统设计的主流。大规模可编程器件现场可编程门阵列 FPGA 和复杂可编程逻辑器件 CPLD 是当今应用最广泛的两类可编程专用集成电
2、路。近年来,EDA 技术高速发展使现代电子产品向着功能多样化,体积最小化,功耗最低化的方向发展。它与传统电子产品在设计上的显著优势就是:第一大量使用大规模可编程逻辑器件,以提高产品性能,缩小产品体积,降低功耗。第二是广泛运用现代化计算机技术,以提高电子设计自动化程度,缩短开发周期,提高产品的竞争力。所以掌握这方面的应用极其重要,本题目就是基于 FPGA 这一技术完成实现的。众所周知,彩灯、流水灯、装饰灯等在日常生活和商业都有极其广泛的应用。具有很高的商业价值和研究价值。而对于越来越变化多端要求极高的灯饰行业,相对传统的单片机来说,FPGA 的性价比越来越高,功能强大,能轻松的完成对彩灯的控制。
3、随着科技的发展 , 在现代生活中, 彩灯作为一种景观应用越来越多。而在电子电路设计领域中,电子设计自动化(EDA)工具已成为主要的设计手段,VHDL语言则是 EDA 的关键技术之一,它采用自顶向下的设计方法,即从系统总体要求出发,自上至下地将设计任务分解为不同的功能模块,最后将各功能模块连接形成顶层模块,完成系统硬件的整体设计。本文介绍了基于 EDA 技的多路彩灯控制器的设计与分析。在 MAX+PLUSII 环境下采用 VHDL 语言实现,论述了基于 VHDL 语言和 FPGA 芯片的数字系统设计思想和实现过程。电子设计自动化技术 EDA 的发展给电子系统的设计带来了革命性的变化,EDA 软件
4、设计工具,硬件描述语言,可编程逻辑器件使得 EDA 技术的应用走向普及。FPGA 是新型的可编程逻辑器件,采用 FPGA 进行产品开发可以灵活地进行模块配置,大大缩短了产品开发周期,也有利于产品向小型化,集成化的方向发展。- - 3 - -二、任务要求设计一个多路彩灯控制器,能循环变化花型 ,可清零,可选择花型。彩灯控制器有 16 路发光二极管构成,当控制器开关打开时,能够在 6 种不同花型之间进行循环变化。要求控制器具备复位清零功能,一旦复位信号失效,不论控制器花型变化处于何种状态,都会无条件即刻清零,回到初始化状态。三、设计作用与目的根据系统设计要求可知,整个系统共有三个输入信号:控制彩灯
5、节奏快慢的基准时钟信号 CLK_IN,系统清零信号 CLR,彩灯节奏快慢选择开关CHOSE_KEY;共有 16 个输出信号 LED15.0,分别用于控制十六路彩灯。据此,我们可将整个彩灯控制器 CDKZQ 分为三大部分:时序控制电路 SXKZ和显示控制电路 XSKZ。本题目还用原理图来完成顶层文件,对于比较简单的,子模块较少的题目,建议顶层模块使用原理图,会比较直观。而对于比较复杂的,子模块较多的题目,使用文本元件例化,会更简洁清晰。如用原理图完成顶层文件连线如图所示。本题目是采用文本元件例化来完成的。彩灯控制器的组成原理图四、所用设备及软件4.1 FPGA 的发展历程FPGA(FieldPr
6、ogrammable Gate Array) ,即现场可编程门阵列,它是在 PAL、GAL、CPLD 等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,- - 4 - -又克服了原有可编程器件门电路数有限的缺点。以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的 FPGA
7、 里面,这些可编辑的元件里也包含记忆元件例如触发器(Flipflop)或者其他更加完整的记忆块。系统设计师可以根据需要通过可编辑的连接把 FPGA 内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品 FPGA 的逻辑块和连接可以按照设计者而改变,所以 FPGA 可以完成所需要的逻辑功能。FPGA 一般来说比 ASIC(专用集成电路)的速度要慢,无法完成复杂的设计,但是功耗较低。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通
8、的FPGA 上完成的,然后将设计转移到一个类似于 ASIC 的芯片上。另外一种方法是用 CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)。4.2 Quartus II4.2.1 简介Quartus II 是 Altera 公司的综合性 PLD/FPGA 开发软件,支持原理图、VHDL、VerilogHDL 以及 AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整 PLD 设计流程。Quartus II 可以在 XP、Linux 以
9、及 Unix 上使用,除了可以使用 Tcl 脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。Quartus II 支持 Altera 的 IP 核,包含了 LPM/MegaFunction 宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方 EDA 工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方 EDA 工具。- - 5 - -此外,Quartus II 通过和 DSP Builder 工具与 Matlab/Simulink 相结合,可以方便地实现各种 DSP 应用系统;支持 Alt
10、era 的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Maxplus II 作为 Altera 的上一代 PLD 设计软件,由于其出色的易用性而得到了广泛的应用。目前 Altera 已经停止了对 Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在 Quartus II 中包含了许多诸如 SignalTap II、 Chip Editor 和 RTL Viewer的设计辅助工具,集成了 SOPC 和 HardCopy 设计流程,并且继承了 Maxplus II
11、友好的图形界面及简便的使用方法。Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。4.2.2 功能Quartus II 提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:可利用原理图、结构框图、VerilogHDL、AHDL 和 VHDL 完成电路描述,并将其保存为设计实体文件;芯片(电路)平面布局连线编辑;LogicLock 增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;定时
12、/时序分析与关键路径延时分析;可使用 SignalTap II 逻辑分析工具进行嵌入式的逻辑分析;支持软件源文件的添加和创建,并将它们链接起来生成编程文件;使用组合编译方式可一次完成整体设计流程;自动定位编译错误;高效的期间编程与验证工具;可读入标准的 EDIF 网表文件、VHDL 网表文件和 Verilog 网表文件;能生成第三方 EDA 软件使用的 VHDL 网表文件和 Verilog 网表文件。- - 6 - -4.2.3 简介Altera 的 Quartus II 可编程逻辑软件属于第四代 PLD 开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于 Internet 的协
13、作设计。Quartus 平台与 Cadence、ExemplarLogic、 MentorGraphics、Synopsys 和Synplicity 等 EDA 供应商的开发工具相兼容。改进了软件的 LogicLock 模块设计功能,增添 了 FastFit 编译选项,推进了网络编辑性能,而且提升了调试能力。支持 MAX7000/MAX3000 等乘积项器件Quartus II 设计套装的其他特性包括:1 DSP Builder 12.0 新的数字信号处理(DSP)支持通过系统控制台,与MATLAB 的 DDR 存储器进行通信,并具有新的浮点功能,提高了设计效能,以及DSP 效率。 经过改进的
14、视频和图像处理(VIP)套装以及视频接口 IP通过具有边缘自适应算法的 Scaler II MegaCore 功能以及新的 Avalon-Streaming (Avalon-ST)视频监视和跟踪系统 IP 内核,简化了视频处理应用的开发。 增强收发器设计和验证更新了 Arria V FPGA 的收发器工具包支持,进一步提高收发器数据速率(对于 Stratix V FPGA,高达 14.1 Gbps)。五、系统设计方案5.1、系统总体设计图 5.1 系统总图5.2、系统软件设计- - 7 - -5.2.1,时序控制器:SXKZ 部分library ieee;use ieee.std_logic_
15、1164.all;use ieee.std_logic_unsigned.all; -库函数声明entity sxkz is -实体声明port(chose_key:in std_logic; -速度控制按钮clk_in:in std_logic; -输入时钟信号clr:in std_logic; -复位信号clk:out std_logic -改变后的时钟信号);end entity;architecture art of sxkz is -结构体声明signal cllk:std_logic;beginprocess(clk_in,clr,chose_key)is -进程variable temp:std_logic_vector(0 to 2); -定义一个变量beginif clr=1 then cllkflower -状态指向下一个状态flowerflowerflowerflowerflowerflowerflowerflowerflower0);elsif clkin(0)event and clkin(0)=1 thencase present iswhen s0=if q1=000000thenq10);q10);- - 18