流水灯VHDL参考模板_第1页
流水灯VHDL参考模板_第2页
流水灯VHDL参考模板_第3页
流水灯VHDL参考模板_第4页
流水灯VHDL参考模板_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、基于VHDL流水灯的设计电子信息科学与技术 刘敏 何磊 成江波一、 设计内容流水灯是一串按一定的规律像流水一样连续闪亮,流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。流水灯控制可用多种方法实现,但对现代可编程控制器而言,基于EDA技术的流水灯设计也是很普遍的。要求采用可编程逻辑器件实现一个流水灯控制电路,12个LED灯能连续发出4种不同的流水显示形式。彩灯控制器的第1种花样为彩灯按顺时针方向逐次点亮;第2种花样为彩灯按逆时针方向逐次点亮,然后全灭全亮;第3种花样为彩灯两边同时亮1、2、3、4、5、6个逐次向中间移动再散开;第4种花样为彩灯连续交叉闪烁。多个花样自动

2、变换,循环往复。二、 设计方案彩灯是由FPGA板上的LED灯代替,有以下4种闪烁效果1. 彩灯按顺时针方向逐次点亮。2. 彩灯按逆时针方向逐次点亮,然后全灭全亮。3. 彩灯两边同时亮1、2、3、4、5、6个逐次向中间移动再散开。4. 彩灯连续交叉闪烁。本控制电路采用VHDL语言设计。运用自顶而下的设计思想,按功能逐层分割实现层次化设计。根据多路彩灯控制器的设计原理,分别对应彩灯的四种变化模式、利用VHDL语言实现该功能.三、 系统框图脉冲信号顺序脉冲译码逻辑电路流水灯闪烁1 / 7四、 流水灯设计程序library IEEE;use IEEE.STD_LOGIC_1164.all;use IE

3、EE.STD_LOGIC_unsigned.all;entity led1 is port( sysclk: in std_logic; dout: out std_logic_vector(11 downto 0) );end led1;architecture jgt of led1 issignal cnt : std_logic_vector ( 7 downto 0);-variable count:integer RANGE 0 TO 7;signal count : std_logic_vector(5 DOWNTO 0); beginprocess(sysclk)begin i

4、f ( sysclk'event and sysclk = '1') thencnt <= cnt + 1;if (cnt = "11110111") thencnt <= "00000000" ;count <=count+1; end if ; end if;end process;process (count)begincase count iswhen "000000" =>dout <= "111111111110"when "000001&

5、quot; =>dout <= "111111111101"when "000010" =>dout <= "111111111011"when "000011" =>dout <= "111111110111"when "000100" =>dout <= "111111101111"when "000101" =>dout <= "111111011111&quo

6、t;when "000110" =>dout <= "111110111111"when "000111" =>dout <= "111101111111"when "001000" =>dout <= "111011111111"when "001001" =>dout <= "110111111111"when "001010" =>dout <= &q

7、uot;101111111111"when "001011" =>dout <= "011111111111"when "001100" =>dout <= "101111111111"when "001101" =>dout <= "110111111111"when "001110" =>dout <= "111011111111"when "001111"

8、; =>dout <= "111101111111"when "010000" =>dout <= "111110111111"when "010001" =>dout <= "111111011111"when "010010" =>dout <= "111111101111"when "010011" =>dout <= "111111110111"wh

9、en "010100" =>dout <= "111111111011"when "010101" =>dout <= "111111111101"when "010110" =>dout <= "111111111110"when "010111" =>dout <= "111111111111"when "011000" =>dout <= "

10、000000000000"when "011001" =>dout <= "011111111110"when "011010" =>dout <= "101111111101"when "011011" =>dout <= "110111111011"when "011100" =>dout <= "111011110111"when "011101" =&

11、gt;dout <= "111101101111"when "011110" =>dout <= "111110011111"when "011111" =>dout <= "111101101111"when "100000" =>dout <= "111011110111"when "100001" =>dout <= "110111111011"when &

12、quot;100010" =>dout <= "101111111101"when "100011" =>dout <= "011111111110"when "100100" =>dout <= "001111111100"when "100101" =>dout <= "110011110011"when "100110" =>dout <= "1111

13、00001111"when "100111" =>dout <= "110011110011"when "101000" =>dout <= "001111111100"when "101001" =>dout <= "000111111000"when "101010" =>dout <= "111000000111"when "101011" =>d

14、out <= "000111111000"when "101100" =>dout <= "000011110000"when "101101" =>dout <= "111100001111"when "101110" =>dout <= "000001100000"when "101111" =>dout <= "000000111111" when &quo

15、t;110000" =>dout <= "010101010101" when "110001" =>dout <= "101010101010" when "110010" =>dout <= "010101010101" when "110011" =>dout <= "101010101010" when "110100" =>dout <= "010

16、101010101" when "110101" =>dout <= "101010101010" when "110110" =>dout <= "010101010101" when "110111" =>dout <= "101010101010" when "111000" =>dout <= "010101010101" when "111001"

17、=>dout <= "101010101010" when "111010" =>dout <= "010101010101" when "111011" =>dout <= "101010101010" when "111100" =>dout <= "010101010101" when "111101" =>dout <= "101010101010"

18、 when "111110" =>dout <= "010101010101" when "111111" =>dout <= "101010101010" when others=>null;end case;end process;end jgt;五、 系统仿真与调试1.仿真波形图通过QuartusII软件,我们进行了仿真,其仿真波形如下图:图一:仿真波形图由设计要求可知,本设计要求采用可编程逻辑器件实现一个流水灯控制电路,12个LED灯能连续发出4种不同的流水显示形式。彩灯控制器

19、的第1种花样为彩灯按顺时针方向逐次点亮;第2种花样为彩灯按逆时针方向逐次点亮,然后全灭全亮;第3种花样为彩灯两边同时亮1、2、3、4、5、6个逐次向中间移动再散开;第4种花样为彩灯连续交叉闪烁。多个花样自动变换,循环往复。从仿真的波形可以看出,实现了相应的功能。2.电路原理图在QuartusII软件中利用硬件描述语言描述电路后,用RTL Viewers生成的对应的电路图如下所示:图二:用RTL Viewers生成的电路图六、设计总结通过本次设计明白了VHDL语言的实用性,同时对QuartusII有了进一步的了解。虽然在设计过程种遇到了许多麻烦,比如语言编写的错误,思路想法的偏离.但通过问同学,老师,以及上网了解后最终还是纠正了这些错误。不过通过不断的检查和咨询,最终还是编写成功了。也通过本次彩灯设计让我知道了日常生活种各种

温馨提示

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

评论

0/150

提交评论