已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 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主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。VHDL是一种标准的硬件电路设计语言,目前已成为广大电路设计人员设计数字系统首选的开发工具。基于VHDL硬件电路语言的编程与实际应用技巧,VHDL硬件电路语言在微机、通信、编码、存储器以及电子电路等方面的具体设计应用,具有实际的指导意义。1 系统设计要求需设计一个十六路彩灯控制器,6种花型循环变化,有清零开关,并且可以选择快慢两种节拍。2 系统设计方案根据系统设计要求可知,整个系统共有三个输入信号:控制彩灯节奏快慢的基准时钟信号CLK_IN,系统清零信号CLR,彩灯节奏快慢选择开关CHOSE_KEY;共有16个输出信号LED15.0,分别用于控制十六路彩灯。据此,我们可将整个彩灯控制器CDKZQ分为两大部分:时序控制电路SXKZ和显示控制电路XSKZ,整个系统的组成原理图如图1所示。图1 彩灯控制器组成原理图3 主要VHDL源程序 3.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,CHOSE_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 TEMP=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 ENTITY 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; CONSTANT 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=ZZZZZZZZZZZZZZZZ; 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_LOGIC_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 COMPONENT 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及整个电路系统CDKZQ的仿真图分别如图2、图3和图4所示。图2 时序控制电路SXKZ仿真图图3 显示控制电路XSKZ仿真图图4 整个电路系统CDKZQ仿真图 4.2 系统的硬件验证系统通过仿真后,我们可根据自己所拥有的EDA实验开发系统进行编程下载和硬件验证。考虑到一般EDA实验开发系统提供的输出显示资源有限,我们可将输出适当调整后进行硬件验证。5 设计技巧分析 (1) 在时序控制电路SXKZ的设计中,利用计数器计数达到分频值时,对计数器进行清零,同时将输出信号反向,这就非常简洁地实现了对输入基准时钟信号的分频,并且分频信号的占空比为0.5。 (2) 在显示控制电路XSKZ的设计中,利用状态机非常简洁地实现了六种花型的循环变化,同时利用六个十六位常数的设计,可非常方便地设置和修改六种花型。 (3) 对于顶层程序的设计,因本系统模块较少,既可使用文本的程序设计方式,也可使用原理图的设计方式。但对于模块较多的系统,最好使用文本的程序设计方式。6 系统扩展思路 (1) 在彩灯的快慢节奏的控制上,若去掉快慢节奏控制开关,如何控制快慢节奏的交替变化
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 模板工程支撑架体基础处理方法选择原则制定方法选择原则
- iptables网络攻击防御课程设计
- 《新材料渔船建造行业白名单资质评审方法》
- 电脑制作设计
- 新员工入职自我介绍指南
- 弘扬大爱无疆的崇高精神
- 病理科肿瘤病理诊断规范培训指南
- 血液科溶血危象处理指南
- 翻转课堂教学设计管理学
- 红蓝拼接设计
- 大学校园文化节演出合同
- 2024年江苏省扬州市中考数学试卷(含答案)
- 微量物证鉴定规范
- 传统织锦的织造与工艺
- 2023年河北省初三英语中考真题听力部分(含答案与听力音频)
- 剧院和演艺场所行业概述与趋势分析
- 《B族维生素》课件
- 诈骗罪报案材料
- 吴延输油管道与西延高铁建设迁改项目环境影响评价表
- 炉水循环泵培训教材
- 新人教版中学九年级英语下册示范教案
评论
0/150
提交评论