VHDL彩灯控制课程设计(最终版)对外_第1页
VHDL彩灯控制课程设计(最终版)对外_第2页
VHDL彩灯控制课程设计(最终版)对外_第3页
VHDL彩灯控制课程设计(最终版)对外_第4页
VHDL彩灯控制课程设计(最终版)对外_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计EDA与VHDL语言课程设计报告班 级: 电信XX-1 姓 名: XXX 学 号: XXXXXXXX 指导教师: XX 成 绩: 电子与信息工程学院信息与通信工程系摘 要此设计是以现场可编程逻辑器件(FPGA)为设计载体,以硬件描述语言(VHDL)为主,以原理图输入设计为辅的表达方式,以Quartus II开发软件和EDA实验箱为设计工具,阐述了九路彩灯控制器的工作原理和软硬件的实现方法。它以按键控制彩灯工作模式,并对所设计的控制器进行了功能仿真和编程下载进行硬件验证,而且顺利实现设计目标。关键词:VHDL;FPGA;彩灯 ;仿真;编程13目 录摘 要II引 言11 设计任务及要求21

2、.1 课程设计的目的21.2 设计任务及要求22. 系统设计方案32.1 系统整体设计33 各个分模块设计与控制43.1时序模块43.1.1时序模块功能43.1.2 时序模块程序43.1.3 时序模块波形仿真53.2 显示模块53.2.1 显示模块功能53.2.2显示模块程序63.2.3 显示模块仿真图63.3系统顶层设计73.3.1顶层程序设计73.3.2 系统顶层波形仿真74.总结与心得8参 考 文 献9附录110附录211附录313引 言随着科技的发展 , 在现代生活中, 彩灯作为一种景观应用越来越多的应用到节目庆典、剧场灯光,橱窗装饰中。EDA技术的应用引

3、起电子产品及系统开发的革命性变革 , 以VHDL为基础的多路彩灯控制系统,同时减少了设计芯片的数量、缩小了体积、降低了功耗、提高了设计的灵活性、可靠性和可扩展性。在电子电路设计领域中,电子设计自动化(EDA)工具已成为主要的设计手段,而VHDL语言则是EDA的关键技术之一,它采用自顶向下的设计方法,即从系统总体要求出发,自上至下地将设计任务分解为不同的功能模块,最后将各功能模块连接形成顶层模块,完成系统硬件的整体设计。本文介绍了基于EDA技的多路彩灯控制器的设计与分析。在Quartus II环境下采用VHDL语言实现,论述 了基于VHDL语言和FPGA芯片的数字系

4、统设计思想和实现过程。多路彩灯控制器通过对应的开关按钮,能够控制多个彩灯的输出状态,组合多种变幻的灯光闪烁。1 设计任务及要求1.1 课程设计的目的本次设计的主要目的是为了巩固所学的专业技术知识,培养学生综合运用所学知识与生产实践经验,分析和解决工程技术问题的能力,培养初步的独立设计能力;通过课程设计实践,了解并掌握一般的综合设计过程,训练并提高学生在理论计算、结构设计、工程绘图、查阅设计资料、运用标准与规范和应用计算机等方面的能力,更好地将理论与实践相结合,提高综合运用所学理论知识独立分析和解决问题的能力。再设计完成后,还要将设计的电路进行安装、调试,加强我们的动手能力。在此过程中培养从事设

5、计工作的整体观念。通过课程设计学习掌握适用EDA软件Quartus II,电路描述,综合,模拟仿真过程,同时掌握EDA的VHDL语言。1.2 设计任务及要求设计一个多路彩灯控制器,能够在6种不同的彩灯花型之间进行循环变化,并可设置花型变化的节奏,且可进行复位。要求给出系统总体组成框图,设计思路,完成以上模块的VHDL实现及功能仿真,顶层文件及整体仿真。2. 系统设计方案2.1 系统整体设计整个系统有三个输入信号,分别为由系统晶振产生的时钟信号CLK脉冲,控制快慢的信号SPEED,复位清零信号CLR,输出信号是9路彩灯输出状态。系统整体设计框图如图2-1:图2-1 系统整体设计框图3 各个分模块

6、设计与控制3.1时序模块3.1.1时序模块功能该模块主要功能:通过CLK、CLR、SPEED三个输入端口和CLK1输出端口,实现分频电路的可控调节,从而控制彩灯的各个花型的变换速度快慢。框图入3-1所示图3-1 时序模块框图 CLK为输入时钟信号,电路在时钟上升沿变化;CLR为复位清零信号,高电平有效,一旦有效时,电路无条件的回到初始状态;SPEED为频率快慢选择信号,低电平节奏快,高电平节奏慢;CLK1为输出信号,CLR有效时输出为零,否则随SPEED信号的变化而改变。设定时序控制电路所产生的控制时钟信号的快慢两种节奏分别为输入时钟信号频率的1/2和1/8,因而输出时钟控制信号可以通过对输入

7、时钟的计数来获得。当SPEED为低电平时,输出每经过一个时钟周期进行翻转,实现二分频的快节奏;当SPEED为高电平时,输出每经过四个时钟周期进行翻转,实现八分频的慢节奏。3.1.2 时序模块程序参见附录1。3.1.3 时序模块波形仿真时序模块波形仿真结果如图3-2示图3-2时序模块仿真图由波形图中可以看出当高电平时, CLK1出为低电平复位。当SPEED为高电平时,CLK1出为CLK进行八分频后的时钟;当SPEED为低电平时,CLK1出为CLK进行二分频后的时钟。3.2 显示模块3.2.1 显示模块功能显示控制电路的模块框图如3-3,入信号CLK和CLR的定义与时序控制电路一样,输出信号LED

8、9.0 能够循环输出9路彩灯6种不同状态的花型。对状态的所对应的彩灯输出花型定义如表3-1,彩灯状态的状态循环图如图3-4所示。图3-3 显示模块框图表 3- 1 状态对应表状态名状态S0000000000S1001001001S2010010010S3011011011S4100100100S5101101101S6110110110图3-4 彩灯状态示例3.2.2显示模块程序参见附录23.2.3 显示模块仿真图显示模块波形仿真图3-5,通过分析仿真图可知当CLR为高电平时,LED的状态为S0,彩灯全灭。否则状态从S1到S6循环。图3-5 显示模块仿真图3.3系统顶层设计3.3.1顶层程序设

9、计参见附录3.3.3.2 系统顶层波形仿真通过分析顶层仿真图3-6可知,当CLR为高电平时,LED输出为零。当SPEED为高电平时,彩灯LED花型变化缓慢;当SPEED为低电平时,彩灯LED花型变化快。图3-6 系统顶层仿真图4.总结与心得通过本次课程设计实现了彩灯的全部功能,此次设计充分利用VHDH“自顶向下”的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统是非常有用的。它使的我们可以从简单的单元入手,逐渐构成庞大而复杂的系统。通过使用EDA编程既方便又快捷的实现了程序。本次设计的程序已经在硬件系统上得到了验证,实验表明,此设计方法能够满足多种不同花样彩灯的变化要求。并且该方法

10、便于扩展不同变化模式的彩灯花样。通过近一周时间课程设计,不仅检验了我以往所学习的理论知识,而且还丰富了课外知识学到了许多在课上没有学过的东西,并且也体会到了自己做设计时的能力不足,以及综合运用知识的能力的不足,体会了学以致用、与实践相结合的乐趣,也发现了团队合作的重要性,而且通过查阅资料上网搜索学习到了许多搜索资料方面的技能,也对今后的资料搜索和论文编写打下了良好的基础。参 考 文 献1 潘松,黄继业等.EDA与VHDL(第三版).清华大学出版社,20092 李洋.EDA技术实用教程.机械工业出版社,2011.3 曹昕燕, 周凤臣.EDA技术实验与课程设计 主编清华大学出版社,2008附录1L

11、IBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY timecontrol IS PORT(SPEED:IN STD_LOGIC; CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; CLK1:OUT STD_LOGIC);END timecontrol; ARCHITECTURE ART OF timecontrol ISSIGNAL CK:STD_LOGIC; BEGIN PROCESS(CLK,CLR,SPEED) ISVARIABLE TEMP:STD_LOGI

12、C_VECTOR(2 DOWNTO 0); BEGIN IF CLR='1' THEN CK<='0' TEMP:="000" ELSIF (CLK'EVENT AND CLK='1') THEN IF SPEED='1' THEN IF TEMP= "011" THEN TEMP:="000" CK<=NOT CK; ELSE TEMP:=TEMP+1; END IF; else CK<=NOT CK; END IF; END IF; END

13、PROCESS; CLK1<=CK; END ART;附录2LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY displayled IS PORT(CLK1:IN STD_LOGIC; CLR:IN STD_LOGIC; LED:OUT STD_LOGIC_VECTOR(8 DOWNTO 0);END ENTITY displayled;ARCHITECTURE behav OF displayled IS TYPE STATE IS(S0,S1,S2,S3,S4,S5,S6); SIGNAL CURRENT_STATE:STATE; SIG

14、NAL LIGHT:STD_LOGIC_VECTOR(8 DOWNTO 0); BEGIN PROCESS(CLR,CLK1) ISCONSTANT L1:STD_LOGIC_VECTOR(8 DOWNTO 0):="001001001"CONSTANT L2:STD_LOGIC_VECTOR(8 DOWNTO 0):="010010010"CONSTANT L3:STD_LOGIC_VECTOR(8 DOWNTO 0):="011011011"CONSTANT L4:STD_LOGIC_VECTOR(8 DOWNTO 0):=&qu

15、ot;100100100"CONSTANT L5:STD_LOGIC_VECTOR(8 DOWNTO 0):="101101101"CONSTANT L6:STD_LOGIC_VECTOR(8 DOWNTO 0):="110110110" BEGIN IF CLR='1' THEN CURRENT_STATE<=S0; ELSIF (CLK1'EVENT AND CLK1='1') THEN CASE CURRENT_STATE ISWHEN S0 => LIGHT<="000

16、000000" CURRENT_STATE<=S1;WHEN S1 => LIGHT<=L1; CURRENT_STATE<=S2;WHEN S2 => LIGHT<=L2; CURRENT_STATE<=S3;WHEN S3 => LIGHT<=L3; CURRENT_STATE<=S4;WHEN S4 => LIGHT<=L4; CURRENT_STATE<=S5;WHEN S5 => LIGHT<=L5; CURRENT_STATE<=S6;WHEN S6 => LIGHT&l

17、t;=L6; CURRENT_STATE<=S1; END CASE; END IF;END PROCESS; LED<=LIGHT;END ARCHITECTURE behav;附录3LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY whole ISPORT(CLK,CLR,SPEED:IN STD_LOGIC; LED:OUT STD_LOGIC_VECTOR(8 DOWNTO 0);END ENTITY whole;ARCHITECTURE three OF whole ISCOMPONENT timecontrolPORT(CLR,CLK,SPEED:IN STD_LOGIC; CLK1:OUT STD_LOGIC);END CO

温馨提示

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

评论

0/150

提交评论