多路彩灯控制器的设计

上传人:公**** 文档编号:429711376 上传时间:2023-02-21 格式:DOC 页数:14 大小:243.10KB
返回 下载 相关 举报
多路彩灯控制器的设计_第1页
第1页 / 共14页
多路彩灯控制器的设计_第2页
第2页 / 共14页
多路彩灯控制器的设计_第3页
第3页 / 共14页
多路彩灯控制器的设计_第4页
第4页 / 共14页
多路彩灯控制器的设计_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《多路彩灯控制器的设计》由会员分享,可在线阅读,更多相关《多路彩灯控制器的设计(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“自顶向下”的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统是非常有用的,它使得我们可以从简单的单元入手,逐渐构成庞大而复杂的系统。通过使用EDA编程既方便有快捷的实现了程序本次设计的程序已经在硬件系统上得到了验证 ,实验表明 ,此设计方法能够满足多种不同花样彩灯的变化要求 ,并且该方法便于扩展不同变化模式的彩灯花样。但是

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号