当前位置:首页 >> 电子/电路 >>

状态机VHDL讲解


VHDL 的结构非常适合编写状态机, 而且编写方式不唯一, 电路的集成也会随着编写的方式 而改变。状态机的设计主要用到 case when 和 if else 两种语句。Case when 用来指定并行的 行为,而 if then else 用来设计优先度的编码逻辑。 分析状态机有如下特点: 1. 对于状态的描述一般先声明一个枚举数据类型,语句如下: Type state_type is(idle,tap1,tap2,tap3,tap4); 2. 对于存储当前状态的对象一般用是一个信号,即: Signal state: state_type; 3. 对于状态机的下一个状态的判断一般是通过对时钟上升沿判断的 if then else 语句内嵌 case when 语句 4. 对于状态机的输出则可以用一个条件或者选择信号声明语句, 或者再用一个 case 语句来 实现信号输出。 状态机分为三大类型: 1. Moore 状态机:次态=f(现状),输出=f(现状),即输出信号是直接由状态寄存器译码得到 2. Mealy 状态机:次态=f(现状,输入),输出=f(现状,输入),即以现时的输入信号结合即 将变成次态的现状编码成信号输出。 3. 混合型状态机 我们用一个序列信号发生器的实例来做练习。 (状态机将在以后的很多实例中加以运用,请 掌握其编写方法) 序列信号就是一些串行的周期性信号, 这些信号在每个循环周期内 1 和 0 数码按一定的规则 顺序排列。下面所讲解的序列发生器能够按规定输出 8 位’0’,’1’序列。 代码如下:

逐行解释: 10:清零复位信号,高电平复位清零。 12:序列信号输出。因为是 8 位的端口,但序列信号是串行的,所以相当于有 8 路的序列信 号,任取一位端口就是一个序列信号输出。 17:用 type 声明一种枚举类型。共 8 中状态,每个状态都对应唯一的一种输出,至于在什 么状态输出什么信号则由程序决定。 18:定义一个 state 类型信号量,其初始的状态为 s0。 19-26:用 constant 定义一些常量,这些常量将作为在不同状态时的输出信号。 32-34:清零复位时执行的动作。33,输出为 value0,34,状态为 s0。 35-65 : 用 case 语 句 实 现 状 态 的 变 换 。 在 上 升 沿 的 驱 动 下 , 状 态 从 s0->s1->s2->s3->s4->s5->s6->s7->s0 循环。61-63,若状态机跑飞,及时将状态置为为 s0,这 样状态机就能恢复正常了。

其状态机转换图:

仿真波形图:

可任取 seq_sig 的一位作为序列信号的输出,如若选择 seq_sig[7]作为序列信号输出,则为 “01000111” ,若选择 seq_sig[6 作为序列信号输出,则为“01000011” 。 还可参考串口的发送模块 uart_t,串口的接收模块 uart_r 和 spi 中的相关操作。


相关文章:
VHDL状态机111000
VHDL状态机111000_工学_高等教育_教育专区。图像识别算法与系统设计题目:VHDL 第一次作业给定任一二值图像,从中 串行检测序列 111000 姓名:刘振宇 学号:1502121227 ...
VHDLFPGA状态机
VHDL 与数字系统设计》课程设计报告 ( 2014 -- 2015 年度第 1 学期) 名题院班学 称: VHDL 与数字系统设计 目: 系: 级: 号: 简单状态机 电气与电子...
第五章 VHDL 状态机
VHDL 状态机 6 教学目的、要求(教学目标) :通过本部分的学习,了解状态机的基础知识,对状态编码及非法状态处理方式有个总体 的认识,为 Quartus II 中状态机的...
基于VHDL的Mealy状态机设计
基于VHDL的Mealy状态机设计 - 基于 VHDL 的 Mealy 状态机设计 物理与电子信息科学系 姓名: 姓名:孙家芳 指导教师: 指导教师:胡湘娟 电子信息科学与技术专业 学号...
基于VHDL语言状态机编写流水灯
基于VHDL语言状态机编写流水灯_电子/电路_工程科技_专业资料。基于VHDL语言利用状态机编写流水灯 程序采用元件例化方式编写基于VHDL 语言状态机编写流水灯采用元件例化...
状态机及其VHDL设计
状态机及其VHDL设计 - 第7章 状态机及其 VHDL 设计 内容提要: 内容提要:有限状态机(Finite State Machine,简称 FSM)是一类很重要的时序电路, 是许多数字...
交通信号灯VHDL状态机
交通信号灯VHDL状态机_计算机软件及应用_IT/计算机_专业资料。library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity jiaotong...
基于VHDL状态机设计的智能交通控制灯
基于VHDL状态机设计的智能交通控制灯 - 基于 VHDL 状态机设计的智能交通控制灯 来源:国外电子元器件 作者:徐春娇 1 设计方案 十字路口设计两组交通灯分别控制东西...
基于VHDL状态机的交通灯控制器设计
基于VHDL状态机的交通灯控制器设计 - 基于 VHDL 状态机的交通灯控制器设计 0 引言 交通灯是城市交通监管系统的重要组成部分, 对于保证机动车辆的安全运行, 维持...
10进制加减计数器状态机的VHDL设计
10进制加减计数器状态机VHDL设计 - 本次设计选用的功能状态为: A. 复位功能 B. 十进制加法计数 C. 十进制减法计数 D. 数码管闪动 E. 8个led灯闪动 F....
更多相关标签: