EDA课程设计八路彩灯控制器.docx
- 文档编号:25503909
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:12
- 大小:143.83KB
EDA课程设计八路彩灯控制器.docx
《EDA课程设计八路彩灯控制器.docx》由会员分享,可在线阅读,更多相关《EDA课程设计八路彩灯控制器.docx(12页珍藏版)》请在冰豆网上搜索。
EDA课程设计八路彩灯控制器
EDA课程设计
设计题目:
基于VHDL的8路彩灯控制器设计
一、课程设计的目的
1.熟悉QuartusⅡ软件的使用方法,使用VHDL文本输入设计法进行任务设计。
2.增强自己实际动手能力,独立解决问题的能力。
3.通过课程设计对所学的知识进行更新及巩固.
二、课程设计的基本要求
本次课程设计是设计一个8路彩灯控制器,能够控制8路彩灯按照两种节拍,三种花型循环变化。
设计完成后,通过仿真验证与设计要求进行对比,检验设计是否正确。
三、课程设计的内容
编写硬件描述语言VHDL程序,设计一个两种节拍、三种花型循环变化的8路彩灯控制器,两种节拍分别为和。
三种花型分别是:
(1)8路彩灯分成两半,从左至右顺次渐渐点亮,全亮后则全灭。
(2)从中间到两边对称地渐渐点亮,全亮后仍由中间向两边逐次熄灭。
(3)8路彩灯从左至右按次序依次点亮,全亮后逆次序依次熄灭。
四、实验环境
PC机一台;软件QuartusⅡ
五、课程设计具体步骤及仿真结果
1、系统总体设计框架结构
分频模块:
把时钟脉冲二分频,得到另一个时钟脉冲,让这两种时钟脉冲来交替控制花型的速度。
二选一模块:
选择两种频率中的一个控制彩灯的花型。
8路彩灯的三种花型控制模块:
整个系统的枢纽,显示彩灯亮的情况。
2、系统硬件单元电路设计
1.分频模块设计
实验程序:
libraryieee;
usefenpin2is
port(clk:
instd_logic;
clkk:
outstd_logic);
endfenpin2;
architecturebehavoffenpin2is
begin
process(clk)
variableclkk1:
std_logic:
='0';
begin
ifclk'eventandclk='1'thenclkk1:
=notclkk1;
endif;
clkk<=clkk1;
endprocess;
endbehav;
RTL电路图:
波形图:
2.二选一模块设计
实验程序:
libraryieee;
usemux21is
port(a,b,s:
instd_logic;
y:
outstd_logic);
endmux21;
architecturebehaveofmux21is
begin
process(a,b,s)
begin
ifs='0'theny<=a;
elsey<=b;
endif;
endprocess;
endbehave;
RTL电路图:
波形图:
路彩灯的三种花型控制模块设计
程序:
libraryieee;
usecolor8is
port(clk,rst:
instd_logic;
q:
outstd_logic_vector(7downto0));
end;
architectureaofcolor8is
signals:
std_logic_vector(4downto0);
begin
process(s,clk)
begin
ifrst='1'thens<="00000";
elsifclk'eventandclk='1'then
ifs="11111"then
s<="00000";
elses<=s+1;
endif;
casesis
when"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";
whenothers=>null;
endcase;
endif;
endprocess;end;
RTL电路图:
波形图:
4.综合程序
libraryieee;
usefenpin2is
port(clk:
instd_logic;
clkk:
outstd_logic);
endfenpin2;
architecturebehavoffenpin2is
begin
process(clk)
variableclkk1:
std_logic:
='0';
begin
ifclk'eventandclk='1'thenclkk1:
=notclkk1;
endif;
clkk<=clkk1;
endprocess;
endbehav;
libraryieee;
usemux21is
port(a,b,s:
instd_logic;
y:
outstd_logic);
endmux21;
architecturebehaveofmux21is
begin
process(a,b,s)
begin
ifs='0'theny<=a;
elsey<=b;
endif;
endprocess;
endbehave;
libraryieee;
usecolor8is
port(clk,rst:
instd_logic;
q:
outstd_logic_vector(7downto0));
end;
architectureaofcolor8is
signals:
std_logic_vector(4downto0);
begin
process(s,clk)
begin
ifrst='1'thens<="00000";
elsifclk'eventandclk='1'then
ifs="11111"then
s<="00000";
elses<=s+1;
endif;
casesis
when"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";
whenothers=>null;
endcase;
endif;
endprocess;end;
libraryieee;
usebalucaidengis
port(clk,s,rst:
instd_logic;
q:
outstd_logic_vector(7downto0));
end;
architectureoneofbalucaidengis
signalh0,h1:
std_logic;
componentfenpin2
port(clk:
instd_logic;
clkk:
outstd_logic);
endcomponent;
componentmux21
port(a,b,s:
instd_logic;
y:
outstd_logic);
endcomponent;
componentcolor8
port(clk,rst:
instd_logic;
q:
outstd_logic_vector(7downto0));
endcomponent;
begin
u1:
fenpin2portmap(clk=>clk,clkk=>h0);
u2:
mux21portmap(a=>h0,b=>clk,s=>s;y=>h1);
u3:
color8portmap(clk=>h1,rst=>rst,q=>q);
end;
波形图:
六、实验总结精心搜集整理,只为你的需要
精心搜集整理,只为你的需要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计 八路 彩灯 控制器