文档详情

EDA课程设计报告_多路彩灯控制电路设计论文.doc

发布:2018-08-15约2.9万字共58页下载文档
文本预览下载声明
EDA课程设计报告 ——多路彩灯控制电路设计 多路彩灯控制电路设计报告 题 目:多路彩灯控制电路 设计要求:⑴要有6种花型变化。 ⑵多种花型可以自动变化,循环往复。 ⑶彩灯变化的快慢节拍可以选择。 ⑷具有清零开关。 设计方案: 根据系统设计要求,设计一个具有6种花型循环变化的彩灯控制器。整个系统共有三个输入信号:控制彩灯节奏快慢的基准时钟信号CLK_IN,系统清零信号CLR,彩灯节奏快慢选择开关CHOSE_KEY;共有16个输出信号LED[15..0],分别用于控制十六路彩灯。 据此,系统设计采用自顶向下的设计方法,我们可将整个彩灯控制器CDKZQ分为两大部分:时序控制电路SXKZ和显示控制电路XSKZ。 模块划分:时序控制电路(SXKZ) 显示控制电路(XSKZ) 端口介绍: CLK_IN—控制彩灯节奏快慢的基准时钟信号 CLR—系统清零信号 CHOSE_KEY—彩灯节奏快慢选择开关 LED[15..0]—16个输出信号 设计过程: ⒈时序控制模块(SXKZ) ① 新建一个VHD格式的文本编辑文件,保存—默认—命名 ②编写源程序,如下: 时序控制模块源程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SXKZ IS PORT( CHOSE_KEY : IN STD_LOGIC; CLK_ZN : IN STD_LOGIC; CLR : IN STD_LOGIC; CLK : OUT STD_LOGIC); END SXKZ; ARCHITECTURE ART OF SXKZ IS SIGNAL CK : STD_LOGIC; BEGIN PROCESS (CLK_ZN, CLR,CHOSE_KEY) VARIABLE TEMP : STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN IF CLR=1 THEN CK=0; TEMP:=000; ELSIF (CLK_ZNEVENT AND CLK_ZN=1) THEN IF (CHOSE_KEY=1)THEN IF TEMP=011 THEN TEMP:=000; CK=NOT CK; ELSE TEMP:=TEMP+1; END IF; ELSE IF TEMP=111 THEN TEMP:=000; CK=NOT CK; ELSE TEMP:=TEMP+1; END IF; END IF; END IF; END PROCESS; CLK=CK; END ART; ③检查错误,如图: ④器件配置。选用FLEX10K下的EPF10K10LC84-3 ⑤系统综合。如图: ⑥管脚定义。注意:端口只能放在I/O端口和I/O数据端,时钟信号放在CLK,如图: ⑦生成符号文件。如图: ⑧仿真。新建一个波形编辑文件,格式为SCF,先保存—默认—命名, 结束时间:10ms 时钟周期:50ns 如图: 分析仿真结果: 根据源程序 当CLR为1时,TEMP=000,CLK=0 清零。 当CLR=0且时钟信号CLK_IN来到时, ⒈CHOSE_KEY为1时, 如果TEMP=011(即为3),则TEMP=000(即为0)且CLK反转。 如果TEMP不为011,则TEMP+1 ⒉CHOSE_KEY为0时 如果TEMP=111(即为7),则TEMP=000(即为0)且CLK反转。 如果TEMP不为111,则TEMP+1 ⒉显示控制模块(XSKZ) ① 新建一个VHD格式的文本编辑文件,保存—默认—命名 ②编写源程序,如下: 显示控制模块源程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY XSKZ IS PORT( CLK : IN STD_LOGIC; CLR : IN STD_LOGIC; LED : OUT STD_LOGIC_VECTOR(15 downto 0)); END entity XSKZ; ARCHITECTURE ART
显示全部
相似文档