好文档 - 专业文书写作范文服务资料分享网站

VHDL花样彩灯控制器的设计

天下 分享 时间: 加入收藏 我要投稿 点赞

《EDA技术》课程实验报告

学生姓名: 所在班级: 指导教师:

记分及评价:

项目满分 10分 得 分

电信1001

一、实验名称

实验8:花样彩灯控制器的设计 二、任务及要求

【基本部分】5分

1、在QuartusII平台上,采用文本输入设计方法,通过编写VHDL语言程序,设计一花样彩灯控制器,实现对实验箱8个LED发光二极管的显示控制,至少4种以上的花样。

2、实验箱上选择恰当的模式进行验证,目标芯片为ACEX1K系列EP1K30TC144-3。 【发挥部分】5分

实现不同的花样播放不同的背景音乐的功能。 三、实验程序 【基本部分】 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY CECAIDENG IS

PORT(CLK,RST:IN STD_LOGIC;

SEL:IN STD_LOGIC_VECTOR(2 DOWNTO 0); Y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END CECAIDENG;

ARCHITECTURE COLOR OF CECAIDENG IS

TYPE STATE_1 IS(S0,S1,S2,S3,S4,S5,S6,S7); SIGNAL STATE_2:STATE_1; BEGIN

PR_1:PROCESS(CLK,RST) BEGIN

IF RST='1'THEN STATE_2<=S0;

ELSIF(CLK'EVENT AND CLK='1')THEN CASE STATE_2 IS

WHEN S0=> STATE_2 <=S1; WHEN S1=> STATE_2 <=S2; WHEN S2=> STATE_2 <=S3;

WHEN S3=> STATE_2 <=S4; WHEN S4=> STATE_2 <=S5; WHEN S5=> STATE_2 <=S6; WHEN S6=> STATE_2 <=S7; WHEN S7=> STATE_2 <=S0; END CASE; END IF;

END PROCESS PR_1;

PR_2:PROCESS(SEL,STATE_2) BEGIN

IF SEL=\ CASE STATE_2 IS

WHEN S0=> Y <=\ WHEN S1=> Y <=\ WHEN S2=> Y <=\ WHEN S3=> Y <=\ WHEN S4=> Y <=\ WHEN S5=> Y <=\ WHEN S6=> Y <=\ WHEN S7=> Y <=\ END CASE;

ELSIF SEL=\ CASE STATE_2 IS

WHEN S0=> Y <=\ WHEN S1=> Y <=\ WHEN S2=> Y <=\ WHEN S3=> Y <=\ WHEN S4=> Y <=\ WHEN S5=> Y <=\ WHEN S6=> Y <=\ WHEN S7=> Y <=\END CASE;

ELSIF SEL=\CASE STATE_2 IS

WHEN S0=> Y <=\ WHEN S1=> Y <=\ WHEN S2=> Y <=\ WHEN S3=> Y <=\ WHEN S4=> Y <=\ WHEN S5=> Y <=\ WHEN S6=> Y <=\ WHEN S7=> Y <=\END CASE;

ELSIF SEL=\

CASE STATE_2 IS

WHEN S0=> Y <=\ WHEN S1=> Y <=\ WHEN S2=> Y <=\ WHEN S3=> Y <=\ WHEN S4=> Y <=\ WHEN S5=> Y <=\ WHEN S6=> Y <=\ WHEN S7=> Y <=\END CASE;

ELSIF SEL=\CASE STATE_2 IS

WHEN S0=> Y <=\ WHEN S1=> Y <=\ WHEN S2=> Y <=\ WHEN S3=> Y <=\ WHEN S4=> Y <=\ WHEN S5=> Y <=\ WHEN S6=> Y <=\ WHEN S7=> Y <=\END CASE;

ELSIF SEL=\CASE STATE_2 IS

WHEN S0=> Y <=\ WHEN S1=> Y <=\ WHEN S2=> Y <=\ WHEN S3=> Y <=\ WHEN S4=> Y <=\ WHEN S5=> Y <=\ WHEN S6=> Y <=\ WHEN S7=> Y <=\END CASE;

ELSIF SEL=\CASE STATE_2 IS

WHEN S0=> Y <=\ WHEN S1=> Y <=\ WHEN S2=> Y <=\ WHEN S3=> Y <=\ WHEN S4=> Y <=\ WHEN S5=> Y <=\ WHEN S6=> Y <=\ WHEN S7=> Y <=\END CASE;

ELSIF SEL=\

CASE STATE_2 IS

WHEN S0=> Y <=\ WHEN S1=> Y <=\ WHEN S2=> Y <=\ WHEN S3=> Y <=\ WHEN S4=> Y <=\ WHEN S5=> Y <=\ WHEN S6=> Y <=\ WHEN S7=> Y <=\END CASE; END IF;

END PROCESS PR_2; END COLOR; 设计思路:

这次实验是采用文本输入设计方法,通过编写VHDL语言程序,设计一花样彩灯控制器,实现对实验箱8个LED发光二极管的显示控制,因为要设计出不同的花样,所以要利用典型摩尔状态机来实现。程序中的信号“STATE_2”是将当前状态值转入进程“PR_2”来实现不同状态的转换,而“RST”是复位信号,当它为0时正常工作,为1时进行复位。此程序实现的是8种状态间的变化,所以选择信号“SEL”要用3位来控制,从“000-111”刚好8种状态。当输出信号“Y”为1时灯亮,为0时灯灭。 四、仿真及结果分析

波形分析:

上图中CLK,RST,SEL为输入信号,Y为输出信号。从图中可以看出当SEL信号为不同的状态时,Y就会按照设定的方式在变化。分析整个波形后,达到了设计的要求。 五、硬件验证

1、选择模式:5

2、引脚锁定情况表:

六、总结

本次实验通过运用计数器、分频器、选择器来实现花样彩灯。通过老师提供的大体思路和查资料编写VHDL语言实现花样彩灯控制器的设计,通过这次试验加深了对摩尔状态机的了解,感觉运用状态机在编程时逻辑更加清晰,能更好的编写一些较为复杂的程序。

VHDL花样彩灯控制器的设计

《EDA技术》课程实验报告学生姓名:所在班级:指导教师:记分及评价:项目满分10分得分电信1001一、实验名
推荐度:
点击下载文档文档为doc格式
3b6oh04oiv0a0pl1tz3o
领取福利

微信扫码领取福利

微信扫码分享