多路彩灯控制器的设计.doc

上传人:文库蛋蛋多 文档编号:2881841 上传时间:2023-03-01 格式:DOC 页数:14 大小:228.50KB
返回 下载 相关 举报
多路彩灯控制器的设计.doc_第1页
第1页 / 共14页
多路彩灯控制器的设计.doc_第2页
第2页 / 共14页
多路彩灯控制器的设计.doc_第3页
第3页 / 共14页
多路彩灯控制器的设计.doc_第4页
第4页 / 共14页
多路彩灯控制器的设计.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《多路彩灯控制器的设计.doc》由会员分享,可在线阅读,更多相关《多路彩灯控制器的设计.doc(14页珍藏版)》请在三一办公上搜索。

1、课程设计EDA技术与VHDL语言课程设计报告题 目: 班 级: 姓 名: 学 号: 指导教师: 成 绩: 电子与信息工程学院信息与通信工程系多路彩灯控制器摘 要:现代电子设计技术的核心已日趋转向基于计算机的电子设计自动化技术,即EDA技术。EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL为逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术式的设计者的工作仅限于利用软件的方式,即利用硬件语言和EDA软件来完成对系统硬件功能的实现,这是电子设计的一个巨大进步。关 键 词: 电

2、子设计自动化(EDA);VHDL; 彩灯控制器;目录1 解决方案11.1 方案11.2 说明12 模块设计及其功能描述12.1模块功能描述12.2时序控制模块22.3 显示控制模块43 多路彩灯控制器的实现73.1整体功能描述73.2设计原理74 总 结101 解决方案1.1 方案我用VHDL语言设计了一个十六路彩灯控制器,六种花型循环变化,有异步清零开关,并且可以选择快慢两种节拍。本控制电路采用VHDL语言设计。运用自顶而下的设计思想,按功能逐层分割实现层次化设计。根据多路彩灯控制器的设计原理,将整个控制器分为两个部分,分别为时序控制模块和显示控制模块。时序控制模块实现的功能是产生1/4和1

3、/8的时钟信号。显示控制模块中实现的六种花型分别为:101010101010101011001100110011001110001110001110111100001111000011111000001111101111110000001111整个电路仅有时序控制和显示控制两个模块。1.2 说明我们可以从两方面入手。先写时序控制模块,再写显示控制模块。最后用例化语句。把他们结合在一起。实现元器件的组合。2 模块设计及其功能描述2.1模块功能描述时序控制模块的功能是产生输入脉冲的1/4分频脉冲信号和1/8分频脉冲信号,以此控制十六路彩灯的快慢节奏变化。时序模块有3个输入1个输出。CHOOSE是控

4、制彩灯变换快慢的。CHOOSE=1时,输出1/4/分频脉冲信号。CHOOSE=0时,输出1/8分频脉冲信号。CLK_IN是输入的脉冲信号。RESET是置位信号。高电平有效。CLKOUT是输出信号。显示控制模块的功能是使电路产生六种花型并且循环显示,以此实现本次课程设计要求实现的多路彩灯控制器的花型循环显示功能。显示模块有2输入1个输出。CLK是时钟输入信号。RESET是置位信号,高电平有效。Q是输出信号,输出6种彩灯变化。2.2时序控制模块1.时序控制模块文本输入和截图:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UN

5、SIGNED.ALL;ENTITY fenpin ISPORT(CHOOSE:IN STD_LOGIC;CLK:IN STD_LOGIC;RESET:IN STD_LOGIC;CLKOUT:OUT STD_LOGIC);END fenpin;ARCHITECTURE BEHAV OF fenpin ISSIGNAL CLLK:STD_LOGIC;BEGINPROCESS(CLK,RESET,CHOOSE)ISVARIABLE COUNT:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINIF RESET=1 THEN CLLK=0;COUNT:=000;ELSIF RISIN

6、G_EDGE(CLK)THENIF CHOOSE=1 THENIF COUNT=011THEN COUNT:=000;CLLK=NOT CLLK;ELSECOUNT:=COUNT+1;END IF;ELSEIF COUNT=111THEN COUNT:=000;CLLK=NOT CLLK;ELSECOUNT:=COUNT+1;END IF;END IF;END IF;END PROCESS;CLKOUT=CLLK;END ARCHITECTURE BEHAV;2.时序控制模块波形仿真截图:2.3 显示控制模块1.时序控制模块文本输入和截图:LIBRARY IEEE;USE IEEE.STD_L

7、OGIC_1164.ALL;ENTITY machine ISPORT(CLK:IN STD_LOGIC;RESET:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END machine;ARCHITECTURE BEHAV OF machine ISTYPE STATE IS(S0,S1,S2,S3,S4,S5,S6);SIGNAL CURRENT_STATE:STATE;SIGNAL QQ:STD_LOGIC_VECTOR(15 DOWNTO 0);BEGINPROCESS(RESET,CLK)ISCONSTANT F1:STD_LOGI

8、C_VECTOR(15 DOWNTO 0):=1010101010101010;CONSTANT F2:STD_LOGIC_VECTOR(15 DOWNTO 0):=1100110011001100;CONSTANT F3:STD_LOGIC_VECTOR(15 DOWNTO 0):=1110001110001110;CONSTANT F4:STD_LOGIC_VECTOR(15 DOWNTO 0):=1111000011110000;CONSTANT F5:STD_LOGIC_VECTOR(15 DOWNTO 0):=1111100000111110;CONSTANT F6:STD_LOGI

9、C_VECTOR(15 DOWNTO 0):=1111110000001111;BEGINIF RESET=1 THENCURRENT_STATEQQ=0000000000000000;CURRENT_STATEQQ=F1;CURRENT_STATEQQ=F2;CURRENT_STATEQQ=F3;CURRENT_STATEQQ=F4;CURRENT_STATEQQ=F5;CURRENT_STATEQQ=F6;CURRENT_STATE=S1;END CASE;END IF;END PROCESS;QC,CLK=CLK,RESET=RESET,CLKOUT=S1);U2:machine POR

10、T MAP(CLK=S1,RESET=RESET,Q=Q);end one;2. 整体模块RTL电路图截图:3.整体控制模块波形仿真截图:4 总 结此次EDA课程设计时间比较紧张。同学们因为刚入手所以都不怎么会用Quartus II 4.0这个软件。通过我们不停的上网找资料,我终于大致了解了如何将整个系统根据不同的功能化分成模块,再分别进行设计,逐个攻破,最后再将其整合。用VHDL进行设计,首先应该理解,VHDL语言是一种全方位硬件描述语言,包括系统行为级,寄存器传输级和逻辑门级多个设计层次。应充分利用VHDL“自顶向下”的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统是非常有用

11、的,它使得我们可以从简单的单元入手,逐渐构成庞大而复杂的系统。通过使用EDA编程既方便有快捷的实现了程序本次设计的程序已经在硬件系统上得到了验证 ,实验表明 ,此设计方法能够满足多种不同花样彩灯的变化要求 ,并且该方法便于扩展不同变化模式的彩灯花样。但是试验中也出现了一些不熟练的操作问题和一些复杂程序的不能完全理解都需要我在平时多学习,进一步的完善自己。在实习中经常会遇到一些自己可能暂时无法想明白的问题,请教同学或老师是很好的做法,节省时间也会从别人上上学到更多。在设计时和同学相互交流各自的想法也是很重要的,不同的人对问题的看法总有差异,我们可以从交流中获得不同的思路,其他人的设计一定有比你出色的地方,很好的借鉴,并在大家的商讨中选择最优方案最终一定会得到最好的设计方法。电子技术课程设计是配合电子技术基础课程与实验教学的一个非常重要的教学环节。它不但能巩固我们已所学的电子技术的理论知识,而且能提高我们的电子电路的设计水平,还能加强我们综合分析问题和解决问题的能力,进一步培养我们的实验技能和动手能力,启发我们的创新意识几创新思维。参考文献1 潘松 黄继业.EDA技术与VHDL.清华大学出版社,2009.92 边计年.用VHDL设计电子线路.清华大学出版社,2000

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号