当前位置:首页 >> 信息与通信 >>

有限状态机的VHDL设计


第 24 卷第 2 期 No.2 Vol.24
文章编号 1008-0562(2005)02-0246-04

辽宁工程技术大学学报 Journal of Liaoning Technical University

2005 年 4 月 Apr. 2005

有限状态机的 VHDL 设计

摘 要
介绍了用 VHDL 的有限状态机设计方法

进 1,2



勇2
状态分配 状态编码 输出和激励函数 也

1.上海大学 机电工程与自动化学院, 上海 200072; 2.山东科技大学 信息科学与工程学院 山东 泰安 271019 该设计不需要进行复杂的状态化简

不需要画原理图

通过 EDA 工具就可以完成所有的工作

同时以一个波形发生器的实例设计, 说明了设计的特点和优越性, 通过仿真

波形验证了设计的正确性

实现了基于 VHDL 的有限状态机现代数字系统设计 Moore 状态机 VHDL 设计 现代数系统设计

关键词

有限状态机

Mealy 状态机

中图分类号

TP 311.11

文献标识码

A

VHDL design of finite state machines
HAN Jin1,2, CHENG Yong1 (1. College of Mechanical &Electronic Engineering and Automation, Shanghai University,Shanghai 200072,China ;2.College of Info & Engineering, Shandong University of Science & Technology, Taian 271019,China) Abstract The design method of FSM based on VHDL is introduced, which doesn’t need state implication, state distribution, state coding, output and impulse function, and doesn’t need diagram drawing. All tasks can be carried out by EDA. The feature and the advantage of this design method are proved with an example of wave generator design and the validity of this design is testified by simulation. The modern digital system design of FSM is realized based on VHDL. Key words FSM mealy moore VHDL modern digital system designing

0




计数器 移位寄存器都算是它的特殊功能类型中的 一种 状态机根据输出与输入的关系可分为 Mealy 型和 Moore 两类[4] 1.1 Mealy 型 Moore 型状态机

现代数字系统的设计方法一般都采用 TOP TO DOWN(自顶向下)的设计方法 即从整个系统 的整体要求出发 自上而下地逐步将系统设计内容 细化即把整个系统分割为若干功能模块 最后完成 整个系统的设计[1,2] 对于大多数字系统都可以划分 为控制单元和受控单元两部分 受控部分通常是设 计者所熟悉的功能模块 设计较为容易 主要任务 是控制部分的设计 控制模块的设计通常选择有限 状态机 FSM 或 CPU 来实现 对于使用 CPU 来 讲 执行的速度及具体编码风格有关 使用有限状 态机实现时 执行的速度主要受计算机新状态所需 时间的限制 实践证明在执行耗费时间和执行时间 的确定性方面 状态机要优于 CPU[3]

盛顿 Mealy 型状态机的框图如图 1 Moore 型 状态机的框图如图 2 由图可知 Mealy 型的输出是 输入和现态的函数 而 Moore 型的输出是严格的现 clk 态函数[5]
output 寄 组合逻辑 器 存

input

1

[3]

有限状态机
状态机是一种描述或处理数字控制系统的方 也可以说是一个广义的时序电路 触发器
2004-09-23 国家自然科学基金资助项目(50374044) 韩 进 1968女 山东 章丘人 博士研究生

current state

reset

图1

mealy 型状态机框图 Fig.1 mealy FSM

收稿日期 基金项目 作者简介

副教授

本文编校

杨瑞华

万   方数据

第2期
elk input 寄 组合逻辑 存 器 current state reset



进等

有限状态机的 VHDL 设计

247

output 组合逻辑

其中 A B 为双相波 且 A 超前 B 相位 90 度 A B 频率为 CP 时钟频率的 4 分频 占空比为 1 2 C 的频率为 CP 的 2 分频 占空比为 1 2 D 是一个 CP 时钟的脉冲波形 2.2 设计方案

图 2 moore 型状态机框图 Fig.2 moore FSM

1.2

状态机的 VHDL 设计方法

状态机的传统设计方法十分繁杂 而利用 VHDL 语言设计状态机 不需要进行繁琐的状态化简 状 态分配 状态编码 不需要求输出和激励函数 也 不需要画原理图 所有这些工作都可以通过 EDA 工具[6] 如 MUX+PLUS 完成 应用 VHDL 设 计状态机的流程如图 3
根据系统要求 建立状态转移图

根据设计要求将整个功能划分为 4 个子模块 Mode A Mode B Mode C Mode D,分别是 A B C D 波形的产生模块 分别采用 MOORE 型状态 机的 VHDL 设计 最顶层设计采用图形输入法设 计 (设计采用 EDA 工具为 MUX+PLUS ) Mode A 模块的设计 根据题义 Mode A 的 Moore 型状态转移图如 图 5 (S0 为初态) 2.2.1

S0 1

S1 1

根据状态转移图编 写 VHDL 设计程序 S3 0 S2 0

利用 EDA 工具 进行仿真 验证

Fig.3

图 3 状态机的 VHDL 设计流程图 flow chart for VHDL design method of FSM

图 5 Mode A 状态转移图 Fig.5 state diagram for mode A

下面以波形发生器的设计为例 说明状态机的 VHDL 设计方法

其源程序清单为 library use entity ieee; modeA_example is ieee.std_logic_1164.all;

2
2.1

波形发生器的设计
问题提出 设计能产生如图 4 信号的波形发生器

port (clk,reset:in std_logic; output:out std_logic); end modeA_example; architecture a of modeA_example is type signal begin reg:process(reset,clk) begin if reset='1'then state<=s0; elsif clk'event and clk='1' then state_type is (s0,s1,s2,s3); state:state_type;

CP

A

B

C

D

Fig.4

图 4 波形发生器时序图 timing diagram of a wave generator

万   方数据

248 case state is when s0=>state<=s1; when s1=>state<=s2; when s2=>state<=s3; when s3=>state<=s0; end case; end if; end process; com: process(state) begin case state is when s0=>output<='1'; when s1=>output<='1'; when s2=>output<='0'; when s3=>output<='0'; end case; end process; end a; 2.2.2

辽宁工程技术大学学报 (S0 为初态
S0 0

第 25 卷 程序清单略)
S1 1 S2 0

图 8 mode D 状态转移图 Fig.8 state diagram for mode D

2.2.5 整体模块设计 MUX+PLUS 支持图形输入和文本输入 所以 在上面 4 个子模块的基础上采用图形输入法可方便 的实现整体模块的功能 在 MUX+PLUS 的图形 文件*.gdf 如图 9
MODEA_EXAMPLE clk INPUT INPUT clk reset MODEB_EXAMPLE clk reset MODEC_EXAMPLE clk reset MODED_EXAMPLE clk reset output OUTPUT output OUTPUT C output OUTPUT B output OUTPUT A

Mode B 模块的设计 Mode B 模块的 Moore 状态转移图如图 6 (S0 为初态 程序清单略)
S0 0 S1 1

图 9 整体模块逻辑符号 Fig.9 whole mode logic symbol

2.2.6

S3 0

S2 1

波形仿真 波形仿真在 MUX+PLUS 的波形编辑器实 现 时延矩阵如图 10, 仿真波形如图 11
A 11.9/12.4 /ns B 11.9/12.4 /ns C 9.9 /ns D 11.9/12.4 /ns

图 6 mode B 状态转移图 Fig.6 state diagram for mode B

S O U R C E

clk reset

2.2.3 Mode C 模块的设计 Mode C 模块的 Moore 状态转移图如图 7 为初态 程序清单略)

(S0

图 10 Fig.10
S0 1 S1 0

时延矩阵 delay matrix

图 7 mode C 状态转移图 Fig.7 state diagram for mode C

2.2.4 Mode D 模块的设计 Mode D 模块的 Moore 状态转移图如图 8 所示

仿真波形说明 1 因为状态机的输出信号 来自组合逻辑电路 因此有产生 毛刺 的可能 但在同步时序电路中 毛刺 不会产生严重的影 响 因为 毛刺 仅发生在时钟有效边沿变化后 的极短时间内 只要在下一时钟有效边沿到来之 前 毛刺 能消失既可[7] 2 波形存在惯性时延, 时, 延大小如图 10

万   方数据

第2期



进等

有限状态机的 VHDL 设计

249

图 11 波形仿真图 Fig.11 simulate wave

3


[3]



[3] 林明权.VHDL 数字控制系统设计师范例[M].北京: 电子工业出版 社,2003. [4] John F. Wakerly. DIGITAL DESIGN Principles & Practices[M]. 北京. 高等教育出版社,2001. [5] 单长虹. 用 VHDL 设计有限状态机的方法[J]. 电子技术应用, 2001, (7):11-13. [6] 卢 毅, 赖 杰. VHDL 与数字电路设计[M].北京: 科学出版社,

综上所述 VHDL 的结构非常适合编写状态 采用 VHDL 语言设计状态机 可大大降低 机 设计的难度和时间 且具有易于建立 理解和维 护的特点 特别是针对大型或复杂状态转移和输 出的状态机的设计 将更加显示出其优势[5] 参考文献
[1] 黄正谨, 徐 坚, 张小丽,等. CPLD 系统设计技术入门与应用[M].

2001. [7] Dougas L Perry. 电 子 设 计 硬 件 描 述 语 言 [M]. 北 京 : 学 苑 出 版 社,1994.

北京: 电子工业出版社, 2002. [2] 韩 进.VHDL 在数字集成电路设计中的应用[J].山东科技大学学

报,2003,(4):74-77.

万   方数据


相关文章:
第二部分 状态机的VHDL设计.ppt
第二部分 状态机的VHDL设计_电子/电路_工程科技_专业资料。有限状态机的VHDL设计 状态机(STATE MACHINE)可以说是一个 广义时序电路,触发器 , 计数器 , 移位...
VHDL状态机的设计.doc
VHDL状态机的设计 - 状态机电路设计 状态机(STATE MACHINE)可以说是一个广义时序电路,触发器, 计数器,移位寄存器都算是它的特殊功能的一种.在电子设计自动化 ...
6VHDL状态机设计.pdf
6VHDL状态机设计_计算机软件及应用_IT/计算机_专业资料。CPLD主要内容 6 VHDL 状态机设计 ? 基本概念 ? 状态转移图 ? 状态机编码 ? 一般有限状态机的设计 ? ...
第八讲 状态机的VHDL设计_图文.ppt
第八讲 状态机的VHDL设计 - 第八讲 状态机的VHDL设计 教学课时:3学时 教学内容: 1、状态机概述 2、状态机的结构(1学时) 3、 状态机的VHDL设计方法举例(1...
Moore型和Mealy型有限状态机的VHDL设计.pdf
科技信息 计算机与网络 Moore型和Mealy型青限状态棚帕VHDL设计山东艺术学院万莉莉[摘要]从精出时序上看,Moore型状态机属于异步输出状态机,Mealy型状态机属于同步输出...
有限状态机的VHDL设计及优化.pdf
有限状态机的VHDL设计及优化 - 第 28 卷第 1 期 2004 年 1 月
第10章 VHDL有限状态机设计.ppt
状态机的一般结构 10.1 VHDL状态机的一般形式 10.1.2 状态机的一般结构 10.1 VHDL状态机的一般形式 10.1.3 状态机设计初始约束与表述 (1)打开“状态机...
状态机及其VHDL设计.doc
状态机及其VHDL设计 - 同步状态机的原理、结构和设计同步状态机的原理、结构和设计... 第7章 状态机及其 VHDL 设计 内容提要: 内容提要:有限状态机(Finite State ...
第7章 VHDL有限状态机设计N_图文.ppt
第7章 VHDL有限状态机设计N - EDA技术实用教程 第7章 VHDL有限状态机设计 内容提要 ?有限状态机及其设计技术,时使用数字系统设计中的重要 组成部分,是实现高效、...
第10章 VHDL有限状态机设计_图文.ppt
第10章 VHDL有限状态机设计 - 《EDA技术实用教程VHDL潘松(第五版)》课件(共14章)... 第10章 VHDL有限状态机设计 10.1 VHDL状态机的一般形式 10.1.1 状态机...
EDA 第7章 VHDL有限状态机设计_图文.ppt
EDA 第7章 VHDL有限状态机设计 - EDA技术实用教程 第7章 VHDL有限状态机设计 1 有限状态机的基本概念 某学生在学校的学习生活可以简单地概括为宿舍、 教室、...
有限状态机的VHDL设计.pdf
有限状态机的VHDL设计 - 第 24 卷第 2 期 Vol.24 No.2 文
VHDL状态机_图文.ppt
VHDL状态机 - VHDL状态机 1 2 3 4 5 6 Moore型有限状态机的结构图 7 8 Mealy型有限状态机的结构图 9 10 11 ...
基于VHDL的有限状态机设计_图文.pdf
基于VHDL的有限状态机设计 - 第 卷第 期 !?# 北 京 工 业 大 学 !? # 学 报 ! ? 年 月 基于 的有限状 态机 设计 宋泽明 , ...
第八章有限状态机的VHDL设计_图文.ppt
第八章有限状态机的VHDL设计 - 第八章 有限状态机的VHDL设计 有限状态机的VHDL设计 主要内容 ? 有限状态机的基本概念 ? 一般有限状态机的设计 ? 摩尔状态机...
ch7-有限状态机设计_图文.ppt
ch7-有限状态机设计 - 第7章 有限状态机设计 7.1: 7.1:一般有限状态机的设计 7.2: 7.2:Moore型有限状态机的设计有限状态机的设计 7.3: 7.3:...
基于VHDL的有限状态机设计_图文.pdf
基于VHDL的有限状态机设计 - 维普资讯 http://www.cqvip.c
(潘松第五版)第10章 VHDL有限状态机设计_图文.pdf
(潘松第五版)第10章 VHDL有限状态机设计_工学_高等教育_教育专区。第10章 VHDL有限状态机设计 10.1 VHDL状态机的一般形式 10.1.1 状态机的特点与优势 (1)...
第5章 基本逻辑电路的VHDL设计_图文.ppt
电路设计, 主要有触发器、移位寄存器、计数器等时序逻辑电 路设计技术;状态机基本概念、状态机设计流程、 一般有限状态机的VHDL设计、Moore型有限状态机 设计、Mealy...
VHDL状态机.doc
VHDL状态机 - 单进程设计方法 library ieee; use ieee
更多相关标签: