当前位置:文档之家› EDA课程设计:八路彩灯控制器

EDA课程设计:八路彩灯控制器

EDA课程设计设计题目:基于VHDL的8路彩灯控制器设计一、课程设计的目的1.熟悉QuartusⅡ软件的使用方法,使用VHDL 文本输入设计法进行任务设计。

2.增强自己实际动手能力,独立解决问题的能力。

3.通过课程设计对所学的知识进行更新及巩固.二、课程设计的基本要求本次课程设计是设计一个8路彩灯控制器,能够控制8路彩灯按照两种节拍,三种花型循环变化。

设计完成后,通过仿真验证与设计要求进行对比,检验设计是否正确。

三、课程设计的内容编写硬件描述语言VHDL程序,设计一个两种节拍、三种花型循环变化的8路彩灯控制器,两种节拍分别为和。

三种花型分别是:(1)8路彩灯分成两半,从左至右顺次渐渐点亮,全亮后则全灭。

(2)从中间到两边对称地渐渐点亮,全亮后仍由中间向两边逐次熄灭。

(3)8路彩灯从左至右按次序依次点亮,全亮后逆次序依次熄灭。

四、实验环境PC机一台;软件QuartusⅡ五、课程设计具体步骤及仿真结果1、系统总体设计框架结构分频模块:把时钟脉冲二分频,得到另一个时钟脉冲,让这两种时钟脉冲来交替控制花型的速度。

二选一模块:选择两种频率中的一个控制彩灯的花型。

8路彩灯的三种花型控制模块:整个系统的枢纽,显示彩灯亮的情况。

2、系统硬件单元电路设计1.分频模块设计实验程序:library ieee;use fenpin2 isport( clk:in std_logic;clkk:out std_logic);end fenpin2;architecture behav of fenpin2 isbeginprocess(clk)variable clkk1:std_logic:='0';beginif clk'event and clk='1' then clkk1:= not clkk1; end if;clkk<=clkk1;end process;end behav;RTL电路图:波形图:2.二选一模块设计实验程序:library ieee;use mux21 isport(a,b,s:in std_logic;y:out std_logic);end mux21;architecture behave of mux21 is beginprocess(a,b,s)beginif s='0' then y<=a;else y<=b;end if;end process;end behave;RTL电路图:波形图:路彩灯的三种花型控制模块设计程序: l ibrary ieee;use color8 isport(clk,rst :in std_logic;q:out std_logic_vector(7 downto 0)); end;architecture a of color8 issignal s:std_logic_vector(4 downto 0); beginprocess(s,clk)beginif rst='1' then s<="00000";elsif clk'event and clk= '1' thenif s="11111" thens<="00000";else s<=s+1;end if;case s iswhen "00000"=>q<="00000000";when "00001"=>q<="";when "00010"=>q<="";when "00011"=>q<="";when "00100"=>q<="";when "00101"=>q<="00000000";when "00110"=>q<="00011000";when "00111"=>q<="00111100";when "01000"=>q<="01111110";when "01001"=>q<="";when "01010"=>q<="";when "01011"=>q<="";when "01100"=>q<="";when "01101"=>q<="00000000";when "01110"=>q<="";when "01111"=>q<="";when "10000"=>q<="";when "10001"=>q<="";when "10010"=>q<="";when "10011"=>q<="";when "10100"=>q<="";when "10101"=>q<="";when "10110"=>q<="";when "10111"=>q<="";when "11000"=>q<="";when "11001"=>q<="";when "11010"=>q<="";when "11011"=>q<="";when "11100"=>q<="";when "11101"=>q<="00000000"; when others=>null;end case;end if;end process; end;RTL电路图:波形图:4.综合程序library ieee;use fenpin2 isport( clk:in std_logic; clkk:out std_logic); end fenpin2;architecture behav of fenpin2 isbeginprocess(clk)variable clkk1:std_logic:='0';beginif clk'event and clk='1' then clkk1:= not clkk1; end if;clkk<=clkk1;end process;end behav;library ieee;use mux21 isport(a,b,s:in std_logic;y:out std_logic);end mux21;architecture behave of mux21 isbeginprocess(a,b,s)beginif s='0' then y<=a;else y<=b;end if;end process;end behave;library ieee;use color8 isport(clk,rst :in std_logic;q:out std_logic_vector(7 downto 0));end;architecture a of color8 issignal s:std_logic_vector(4 downto 0);beginprocess(s,clk)beginif rst='1' then s<="00000";elsif clk'event and clk= '1' then if s="11111" thens<="00000";else s<=s+1;end if;case s iswhen "00000"=>q<="00000000"; when "00001"=>q<="";when "00010"=>q<="";when "00011"=>q<="";when "00100"=>q<="";when "00101"=>q<="00000000"; when "00110"=>q<="00011000"; when "00111"=>q<="00111100"; when "01000"=>q<="01111110"; when "01001"=>q<="";when "01010"=>q<="";when "01011"=>q<="";when "01100"=>q<="";when "01101"=>q<="00000000"; when "01110"=>q<="";when "01111"=>q<="";when "10000"=>q<="";when "10001"=>q<="";when "10010"=>q<="";when "10011"=>q<="";when "10100"=>q<="";when "10101"=>q<="";when "10110"=>q<="";when "10111"=>q<="";when "11000"=>q<="";when "11001"=>q<="";when "11010"=>q<="";when "11011"=>q<="";when "11100"=>q<="";when "11101"=>q<="00000000";when others=>null;end case;end if;end process; end;library ieee;use balucaideng isport (clk,s,rst:in std_logic;q:out std_logic_vector(7 downto 0)); end;architecture one of balucaideng issignal h0,h1:std_logic;component fenpin2port( clk:in std_logic;clkk:out std_logic);end component;component mux21port(a,b,s:in std_logic;y:out std_logic);end component;component color8port(clk,rst :in std_logic;q:out std_logic_vector(7 downto 0));end component;beginu1: fenpin2 port map(clk=>clk,clkk=>h0);u2: mux21 port map(a=>h0,b=>clk,s=>s;y=>h1);u3: color8 port map(clk=>h1,rst=>rst,q=>q);end;波形图:六、实验总结。

相关主题