多路彩灯控制器的设计_第1页
多路彩灯控制器的设计_第2页
多路彩灯控制器的设计_第3页
多路彩灯控制器的设计_第4页
多路彩灯控制器的设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

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

评论

0/150

提交评论