VHDL-彩灯控制电路的设计与实现.doc
《VHDL-彩灯控制电路的设计与实现.doc》由会员分享,可在线阅读,更多相关《VHDL-彩灯控制电路的设计与实现.doc(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateVHDL-彩灯控制电路的设计与实现第四次实验报告总结VHDL 彩灯控制电路的设计与实现一、 实验目的 1进一步了解时序电路设计方法2熟悉状态机的设计方法二、 实验所用仪器及元器件1、 计算机2、 直流稳压电源3、 数字系统与逻辑设计实验开发板三、 实验内容用VHDL语言设计并实现一个彩灯控制(8个发光二极管)电路,仿真并下载验证其功能。彩灯有两种工作模式,可以通过拨码
2、开关或者按键进行切换。(1) 单点移动模式:一个点在8个发光二极管上来回的亮(2) 幕布模式:从中间两个点,同时向两边一次点亮直至全亮,然后再向中间点灭,依次往复四、 设计思路与过程根据实验要求,需要实现在拨码开关或者按键的控制下实现两种状态机的转换。首先,确定输入输出变量:输入:拨码开关a:实现两种模式的转换;时钟clk::提供有效时钟沿; 输出:8维向量b:连接8个发光二极管。其次,确定电路工作状态因为在单点移动模式和幕布模式都要满足灯来回亮,共计工作状态23种:a=0时,实现单点移动模式,工作状态有s0s13共14种状态;a=1时,实现幕布模式,工作状态有s14s22共9种状态。再次,大
3、致确定VHDL编写思路确定好输入输出变量和电路状态后,考虑结构体中需要的进程需要完成以下两个功能分频和实现状态机,故我使用了4个进程。其功能分别如下:P0:分频,将实验板上提供的50MHz的时钟信号,即输入clk分为频率为1Hz的低频信号clk_out,以便观察现象;P1:为当前状态储存的下一状态;P2:当时钟有效沿到来时,当前状态转入下一状态;(P1、P2共同实现状态机的转换)P3:控制LED灯的输出,达到实验要求效果具体程序如下。五、 VHDL程序library ieee;use ieee.std_logic_1164.all;entity light isport ( clk: in s
4、td_logic; a: in std_logic; b:out std_logic_vector(7 downto 0);end light;architecture light_1 of light is type state_type is(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20,s21,s22); signal current_state,next_state: state_type; signal clk_out:std_logic; signal tmp: integer r
5、ange 0 to ;begin p0:process(clk) -分频器,把50MHz的时钟clk分为1Hz的时钟clk_out begin if clkevent and clk=1 then if tmp= then tmp=0; else tmp=tmp+1; end if; if tmp= then clk_out=1; else clk_out if(a=0) then next_state=s1; else next_state if(a=0) then next_state=s2; else next_state if(a=0) then next_state=s3; else
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 彩灯 控制电路 设计 实现
限制150内