基于VHDL的多路彩燈控制论文.docVIP

  • 1
  • 0
  • 约3.41千字
  • 约 6页
  • 2016-11-27 发布于重庆
  • 举报
基于VHDL的多路彩燈控制论文

PAGE \* MERGEFORMAT 2 开 放 实 验 报 告 题 目: 基于VHDL的多路彩灯控制系统 班 级: 学 号: 姓 名: 指导教师: 时 间: 2010年6月30日 基于VHDL的多路彩灯控制系统 一、设计目的 熟悉VHDL的设计方法,掌握VHDL的设计思想,了解VHDL向芯片的下载和测试,建立完整系统设计的概念。 二、设计要求 八路彩灯控制系统设定有四种花样变化,这四种花样可以进行自动切换,且每种花样可以选择不同的频率,可以清零和暂停。 四种花样分别为: 全亮,全灭,给、一个点亮。 从左到右一次点亮。 从左到右依次熄灭。 从两边向中间再向两边依次点亮。 三、设计原理 用VHDL进行设计,首先应该理解,VHDL语言是一种全方位硬件描述语言,包括系统行为级,寄存器传输级和逻辑门级多个设计层次。应充分利用VHDL“自顶向下”的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统是非常有用的,它使得我们可以从简单的单元入手,逐渐构成庞大而复杂的系统。 在电路中以1代表灯亮,以0代表灯灭,由0、1按不同的规律组合代表不同的灯光图案,同时使其选择不同的频率,从而实现多种图案多种频率的花样功能显示。在该电路中只需简单的修改程序就可以灵活地调整彩灯图案和变化方式。 四、设计方案 首先应进行系统模块的划分,规定每一模块的功能以及各个模块之问的接口。设计方案为:一个四分频输出分频器,一个彩灯花样模式选择器,一个清零控制器,一个暂停控制器。 子模块及其功能: ? 本次设计分为四个子模块,即八路彩灯花样控制器、四频率输出分频器,暂停控制器和清零控制器,其子模块及其功能如下: 四频率输出分频器:在本次设计中,我们只设计了四种花样,我们要求这四种花样以不同的频率显示,而只有一个输入的时钟信号,所以我们对所输入的时钟信号进行2分频、4分频、8分频、16分频,得到四种频率信号。 清零控制器,当清零生效时,将每个灯输入低电平。 暂停控制器:通过控制时钟信号来控制电路是否工作,当工作时输入时钟信号,当暂停时输入高电瓶。 八路彩灯花样控制器:通过花样控制器来选择每种模式下要亮的灯的规律,花样可任意设置。 五、设计程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity caideng is port(clk: in std_logic;时钟 s: in std_logic_vector(1 downto 0);速度 clr: in std_logic;清零 低电平有效 t:in std_logic;暂停 低电平有效 f:in std_logic_vector(1 downto 0);模式 q0,q1,q2,q3,q4,q5,q6,q7:out std_logic);输出 end caideng; architecture rtl of caideng is signal clk1:std_logic;1hz始时钟 signal clk2:std_logic;模式频率 signal clk3:std_logic; signal cnt:std_logic_vector(2 downto 0); signal q:std_logic_vector(7 downto 0); begin process(t) 暂停 begin if t=0 then clk3=1; else clk3=clk; end if; end process; process(clk3)1hz分频 variable count:integer range 0 to 4; begin if clk3event and clk3=1 then if count=4 then clk1=not clk1; count:=0; else count:=count+1; end if; end if; end process; process(clk1,s)模式分频 variable count1:std_logic_vector(2 downto 0); begin if clk1event and clk1=1 then count1:=count1+1; end if; case s is when00=clk2=count1(2); when01

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档