APP下载

基于状态机的8路彩灯VHDL设计

2011-02-19樊辉娜

制造业自动化 2011年2期
关键词:状态机花型彩灯

樊辉娜

FAN Hui-na

(江西机电职业技术学院 电气工程系,南昌 330013)

0 引言

EDA简介

EDA(即电子设计自动化)技术是以微电子加工技术为基础,以计算机为工作平台,以FPGA/CPLD器件为载体,将应用电子技术、计算机技术、智能化技术溶为一体以实现IC设计、电子线路设计及PCB设计。可以想象没有EDA技术,要想完成超大规模的集成电路设计是不可能的。

状态机的概念

当前以VHDL语言为工具、逻辑器件为载体的系统设计越来越广泛。在设计中,状态机是最典型、应用最广泛的电路模块,其在运行速度的高效、执行时间的确定性和高可靠性方面都显现出强大的优势。状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作,完成特定操作的控制中心。状态机可以分为Moore型和Mealy型两种基本类型。设计时采用哪种方式的状态机要根据设计的具体情况决定,输出只由当前状态值决定则选用Moore型,输入信号和状态值共同决定输出则选用Mealy状态机。

层次原理图设计方法

自顶而下(TOPTODOWN)的层次化设计方法在现代EDA设计中有着明显的优势,越来越受到设计者的欢迎。对于一个复杂的设计系统,运用层次化设计方法,使设计课题进一步细化,分块设计,条理清晰。另外,在调试时可采用逆向调试方式,即从模块调试向总体调试方向开展调试工作,使设计中出现的问题在模块级就能发现,及时处理,这样就会使一个复杂的设计变得容易调试,缩短了设计时间。

1 基于状态机的8路彩灯VHDL设计

在我们的生活中,电子彩灯已成为我们装点生活常用的电器,电子彩灯控制电路的设计要求也越来越高。要求我们设计的彩灯花样品种更多,控制更加方便,灵活性高,可靠性高。采用传统数字电路设计的彩灯控制器电路复杂、设计周期长、精度不高。基于FPGA的电子彩灯设计,设计灵活,功能完善。

1)设计要求:设计一个8路彩灯,具体要求有:

(1)要求电路能循环显示六种不同的花型(可定 为 0000000、0000001、0000010、0000100、0001000、0010000)。

(2)具有对彩灯显示调速的功能,设计一个按钮,输入高电平时变化快,输入低电平时变化慢。

(3)具有手动输入功能,通过一个切换按钮,可以实现手动输入变化花型。

2)设计思路:

采用层次设计法,顶层采用原理图设计,底层采用VHDL设计。以下是它的方框图。底层分为三个子电路模块,分别是循环彩灯控制(COLOR8a)子电路模块、)二选一数选器(my_ mux21b)、调速(my_clk4)子电路模块。

图1 8路彩灯的总体框图

(1)循环彩灯控制(COLOR8a)子电路模块是8路彩灯电路的核心部分。它主控着8路彩灯的花型种类。循环彩灯控制(COLOR8a)子电路模块主要采用状态机来实现,用状态机来设计灵活性很强。按设计要求要实现六种花型0000000、0000001、0000010、0000100、0001000、0010000,用S0、S1、S2、S3、S4、S5、S6来表示7种循环的状态。我们可以做状态图如图2所示。

图2 彩灯循环状态图

用状态机设计语句type states来实现,参考程序如下。循环彩灯控制模块程序:

在QUARTERII软件上进行波形仿真,如图3所示:

图3 彩灯循环模块仿真图

(2)调速(my_clk4)子电路模块。按照设计要求,彩灯循环速度可调。采用分频电路来实现,我们设定时钟CLK为1S,采用分频电路实现4分频电路,输出0.25S时钟,实现两种花型循环速度可调。(程序略)在QUARTERII软件上进行波形仿真,如图4所示:

图4 四分频模块仿真图

(3)二选一数选器(my_mux21b),用于实现对两种时钟的选择,和分频电路一起实现调速。(程序略)其仿真电路图如图5所示。

图5 二选一电路模块仿真图

(4)二选一数器实现手动输入花型的控制

(5)对四子模块VHDL设计电路进行打包分别生成元件(SYMBOL),如下图6所示。

图6 电子电路元件符号

(6)用原理图法实现顶层文件的设计。如图7所示。

2 设计拓展

采用模块化设计方法,每个模块功能明确,也便于实现对设计要求的更改。比如我们可以通过更改循环彩灯控制(COLOR8a)模块来改变8路采灯的花型,我们可以设定循环状态为S0、S1、S2、S3、S4、S5、S6、S7……S20二十种状态来实现二十种花型变化。比如我们可以修改分频电路的程序来改变输出频率,以实现不同的花型变化速度等。

图7 8路彩灯顶层设计电路图

3 结束语

使用VHDL语言进行8路彩灯电路设计,思路简单,功能明了,灵活性强。在主控电路中采用状态机设计,电路控制灵活,功能便于实现,思路简捷便于修改。采用自顶向下的层次设计法,而且顶采用原理图法设计设计层次清楚易读,便于程序的修改。

使用QUARTARⅡ设计电路不仅可以进行逻辑仿真,还可以进行时序仿真,使用FPGA不仅省去了电路制作的麻烦,还可以反复进行硬件的实验,非常方便地修改设计,且设计的电路的保密性强。总之,采用EDA技术使得复杂的电子系统的设计变的简单易行,提高了设计的效率。

[1]范秋华,赵艳秋,何香玲.基于VHDL的彩灯控制[J].现代电子技术.2004(2).

[2]胡刚毅,张文彬.基于VHDL多路彩灯控制器的设计.湖南工业职业技术学院学报.2008(1).

[3]卢庆林.数字电子技术基础实验与综合训练[M].高等教育出版社.2004.

[4]焦素敏.EDA实用技术[M].北京:清华大学出版社.2005:7-15

[5]潘松、黄继业.EDA技术与VHDL语言[M].北京:清华大学出版社.2005:7-15.

[6]潘松、黄继业.EDA技术实用教程[M].北京:科学出版社.2005.

猜你喜欢

状态机花型彩灯
压延工艺及装备对光伏玻璃透过率的影响
彩灯
元宵佳节点彩灯
哥特式浪漫
基于有限状态机的交会对接飞行任务规划方法
基于Spring StateMachine的有限状态机应用研究
基于交互式分割的蕾丝花型检索算法
基于WinCE圆纬机花型数据处理系统设计
基于反熔丝FPGA的有限状态机加固设计
有多少盏彩灯