EDA论文FPGA循环彩灯的设计_林小兵_电子08_2号.docx

上传人:小飞机 文档编号:2036229 上传时间:2023-01-02 格式:DOCX 页数:8 大小:134.88KB
返回 下载 相关 举报
EDA论文FPGA循环彩灯的设计_林小兵_电子08_2号.docx_第1页
第1页 / 共8页
EDA论文FPGA循环彩灯的设计_林小兵_电子08_2号.docx_第2页
第2页 / 共8页
EDA论文FPGA循环彩灯的设计_林小兵_电子08_2号.docx_第3页
第3页 / 共8页
EDA论文FPGA循环彩灯的设计_林小兵_电子08_2号.docx_第4页
第4页 / 共8页
EDA论文FPGA循环彩灯的设计_林小兵_电子08_2号.docx_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《EDA论文FPGA循环彩灯的设计_林小兵_电子08_2号.docx》由会员分享,可在线阅读,更多相关《EDA论文FPGA循环彩灯的设计_林小兵_电子08_2号.docx(8页珍藏版)》请在三一办公上搜索。

1、EDA 论文基于VHDL的多路循环彩灯控制器的设计延安大学信息学院电子08林小兵1070208014002基于VHDL的多路循环彩灯控制器的设计林小兵(延安大学信息学院 716000)摘要: 本文应用EDA技术设计了一个多路彩灯控制器,6种花型循环变化,有清零开关,并且可以选择快慢两种节拍。给出彩灯控制器组成原理图、主要VHDL源程序及仿真波形图.关键字:EDA 循环彩灯 VHDLThe multiple circulation lights design based on the VHDL Abstract: This article applied EDA technology which

2、 designed a circulation road lights controller and 6 kinds of design cycle changes,and a reset switch, with two choose beats. Had given composition principle diagram, lights controller main source program and simulation VHDL wave figures.Key words : EDA circulation lights VHDL0引言VHDL主要用于描述数字系统的结构,行为

3、,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。VHDL是一种标准的硬件电路设计语言,目前已成为广大电路设计人员设计数字系统首选的开发工具。基于VHDL硬件电路语言的编程与实际应用技巧,VHDL

4、硬件电路语言在微机、通信、编码、存储器以及电子电路等方面的具体设计应用,具有实际的指导意义。1 系统设计要求需设计一个十六路彩灯控制器,6种花型循环变化,有清零开关,并且可以选择快慢两种节拍。2 系统设计方案根据系统设计要求可知,整个系统共有三个输入信号:控制彩灯节奏快慢的基准时钟信号CLK_IN,系统清零信号CLR,彩灯节奏快慢选择开关CHOSE_KEY;共有16个输出信号LED15.0,分别用于控制十六路彩灯。据此,我们可将整个彩灯控制器CDKZQ分为两大部分:时序控制电路SXKZ和显示控制电路XSKZ,整个系统的组成原理图如图1所示。图1 彩灯控制器组成原理图3 主要VHDL源程序 3.

5、1 时序控制电路的VHDL源程序 -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_IN:IN STD_LOGIC; CLR:IN STD_LOGIC; CLK:OUT STD_LOGIC); END ENTITY SXKZ; ARCHITECTURE ART OF SXKZ IS SIGNAL CLLK:STD_LOGIC; BEGIN PROCESS(CLK_IN,CLR,C

6、HOSE_KEY) IS VARIABLE TEMP:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN IF CLR=1 THEN -当CLR=1时清零,否则正常工作 CLLK=0;TEMP:=000; ELSIF RISING_EDGE(CLK_IN) THEN IF CHOSE_KEY=1 THEN IF TEMP=011 THEN TEMP:=000; CLLK=NOT CLLK ; ELSE TEMP:=TEMP+1; END IF; - 当CHOSE_KEY=1时产生基准时钟频率的1/4的时钟信号,否则产生基准时钟 -频率的1/8的时钟信号 ELSE IF TE

7、MP=111 THEN TEMP:=000; CLLK=NOT CLLK ; ELSE TEMP:=TEMP+1; END IF; END IF; END IF; END PROCESS; CLK=CLLK; END ARCHITECTURE ART; 3.2 显示控制电路的VHDL源程序 -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 EN

8、TITY XSKZ; ARCHITECTURE ART OF XSKZ IS TYPE STATE IS(S0,S1,S2,S2,S4,S5,S6); SIGNAL CURRENT_STATE:STATE; SIGNAL FLOWER:STD_LOGIC_VECTOR(15 DOWNTO 0); BEGIN PROCESS(CLR,CLK) IS CONSTANT F1:STD_LOGIC_VECTOR(15 DOWNTO 0):=0001000100010001; CONSTANT F2:STD_LOGIC_VECTOR(15 DOWNTO 0):=1010101010101010; CON

9、STANT F2:STD_LOGIC_VECTOR(15 DOWNTO 0):=0011001100110011; CONSTANT F4:STD_LOGIC_VECTOR(15 DOWNTO 0):=0100100100100100; CONSTANT F5:STD_LOGIC_VECTOR(15 DOWNTO 0):=1001010010100101; CONSTANT F6:STD_LOGIC_VECTOR(15 DOWNTO 0):=1101101101100110; -六种花型的定义 BEGIN IF CLR=1 THEN CURRENT_STATE FLOWER=ZZZZZZZZZ

10、ZZZZZZZ; CURRENT_STATE FLOWER=F1; CURRENT_STATE FLOWER=F2; CURRENT_STATE FLOWER=F2; CURRENT_STATE FLOWER=F4; CURRENT_STATE FLOWER=F5; CURRENT_STATE FLOWER=F6; CURRENT_STATE=S1; END CASE; END IF; END PROCESS; LED=FLOWER; END ARCHITECTURE ART;3.3 整个电路系统的VHDL源程序 -CDKZQ.VHD LIBRARY IEEE; USE IEEE.STD_LO

11、GIC_1164.ALL; ENTITY CDKZQ IS PORT(CLK_IN:IN STD_LOGIC; CLR:IN STD_LOGIC; CHOSE_KEY:IN STD_LOGIC; LED:OUT STD_LOGIC_VECTOR(15 DOWNTO 0); END ENTITY CDKZQ; ARCHITECTURE ART OF CDKZQ IS COMPONENT SXKZ IS PORT(CHOSE_KEY:IN STD_LOGIC; CLK_IN:IN STD_LOGIC; CLR:IN STD_LOGIC; CLK:OUT STD_LOGIC); END COMPON

12、ENT SXKZ; COMPONENT XSKZ IS PORT(CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; LED:OUT STD_LOGIC_VECTOR(15 DOWNTO 0); END COMPONENT XSKZ; SIGNAL S1:STD_LOGIC; BEGIN U1:SXKZ PORT MAP(CHOSE_KEY,CLK_IN,CLR,S1); U2:XSKZ PORT MAP(S1,CLR,LED); END ARCHITECTURE ART;4 系统仿真/硬件验证 4.1 系统的有关仿真 时序控制电路SXKZ、显示控制电路XSKZ及整个电路系

13、统CDKZQ的仿真图分别如图2、图3和图4所示。图2 时序控制电路SXKZ仿真图图3 显示控制电路XSKZ仿真图图4 整个电路系统CDKZQ仿真图 4.2 系统的硬件验证系统通过仿真后,我们可根据自己所拥有的EDA实验开发系统进行编程下载和硬件验证。考虑到一般EDA实验开发系统提供的输出显示资源有限,我们可将输出适当调整后进行硬件验证。5 设计技巧分析 (1) 在时序控制电路SXKZ的设计中,利用计数器计数达到分频值时,对计数器进行清零,同时将输出信号反向,这就非常简洁地实现了对输入基准时钟信号的分频,并且分频信号的占空比为0.5。 (2) 在显示控制电路XSKZ的设计中,利用状态机非常简洁地

14、实现了六种花型的循环变化,同时利用六个十六位常数的设计,可非常方便地设置和修改六种花型。 (3) 对于顶层程序的设计,因本系统模块较少,既可使用文本的程序设计方式,也可使用原理图的设计方式。但对于模块较多的系统,最好使用文本的程序设计方式。6 系统扩展思路 (1) 在彩灯的快慢节奏的控制上,若去掉快慢节奏控制开关,如何控制快慢节奏的交替变化。 (2) 设计外围电路:系统用方波信号源、直流工作电源、彩灯控制的驱动电路。 (3) 若为课程设计,除要求设计调试程序、外围电路外,还可要求设计、制作整个系统,包括PCB的制作。设计小结:本次设计的程序已经在硬件系统上得到了验证,实验表明。此设计方法能够满足6种不同花样彩灯的变化要求,并且该方法便于扩展不同变化模式的彩灯花样,各个不同花样的相互转变是手动切换实现的。其次它也锻炼了我们的实际动手设计能力,收获较大!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号