您现在正在浏览:首页 > 职教文章 > 职教论文 > 有限状态机的建模与优化设计

有限状态机的建模与优化设计

日期: 2012/1/14 浏览: 1 来源: 学海网收集整理 作者: 佚名

 X  收稿日期 :2007 - 01 - 26

基金项目 :重庆市自然科学基金资助项目 (渝科发技字[2004]55) .

作者简介 :陈勇 (1980 - ) ,男 ,重庆人 ,硕士研究生 ,主要从事 DAB 接收机核心芯片设计和 SOC 研究.

【电子与自动化】

有限状态机的建模与优化设计 X

陈  勇

(重庆邮电大学 微电子工程重点实验室 ,重庆  400065)

摘要 :通常的 Verilog HDL 编码风格生成的电路速度慢、面积大、毛刺干扰严重. 基于此特点提出一

种优秀、高效的 Verilog HDL 描述方式来进行有限状态机设计 ,介绍了有限状态机的建模原则 ,并

通过一个可综合的实例 ,验证了该方法设计的有限状态机在面积和功耗上的优势.

关  键  词 :有限状态机 ;Verilog HDL ;仿真 ;综合 ;优化设计

中图分类号 :TN402     文献标识码 :A 文章编号 :1671 - 0924(2007) 05 - 0055 - 04

Modeling and Optimized Design of Finite State Machine

CHEN Yong

( Key Lab of Microelectronics Engineering , Chongqing University of Posts and Telecommunications , Chongqing 400065 ,China)

Abstract : The circuits generated from the common Verilog HDL coding style are slow in speed , big in

area , and serious in burr interference. Based on these characteristics , this paper presents an excellent and

efficient manner described in Verilog HDL in the design of finite state machine. In addition , it introduces

the modeling of finite state machines , and verifies with a synthesizable example the advantages of the design

method of finite state machine in the area and power consumption. This method has a certain guiding sig2

nificance in the design of very large scale integrated circuits.

Key words : Finite State Machine ; Verilog HDL ; simulation ; synthesis ; optimized design

0  引言

  数字集成电路已经从电子管、晶体管、中小规

模集成电路、超大规模集成电路逐步发展到今天

的专用集成电路 (ASIC) ,数字逻辑器件也从简单

的逻辑门发展到了复杂的 SOC(System On Chip 片

上系统) ,数字系统的设计方法也随之不断演进 ,

硬件 描 述 语 言 ( HDL , Hardware Description Lan2

guage) 便由此产生. Verilog HDL 是在 1983 年由

GDA( GateWay Design Automation) 公司的 Phil Moorby

首创的. 基于 Verilog HDL 的优越性 ,IEEE 于 1995

年制定了 Verilog HDL 的 IEEE 标准 ,即 Verilog HDL

1364 - 1995[1] . Verilog HDL 作为硬件描述语言的一

种 ,用于数字电子系统设计. 它允许设计者用它来

进行各种级别的逻辑设计 ,进行数字逻辑系统的

仿真验证、时序分析、逻辑综合.

在数字集成电路系统中 ,大部分是时序电路 ,

第 21 卷  第 5 期

Vol. 21  No. 5

重 庆 工 学 院 学 报(自然科学版)

Journal of Chongqing Institute of Technology(Natural Science Edition)

2007 年 5 月

May 2007

时序电路可以用符号化的有限状态机 (Finite-State-

Machine ,简称 FSM) 来模拟. 把一个时序逻辑抽象

成一个同步有限状态机是设计可综合风格的 Ver2

ilog HDL 模块的关键 ,基于不同的有限状态机的

Verilog 编码风格 ,经综合后得到电路的物理实现

在速度、面积、时延特性、功耗上有很大的差别 ,因

此 ,对 FSM 的建模与优化设计的研究有着重要意

义. 在实际设计经验中 ,提出的是一种新的、优秀

的有限状态机 Verilog 建模方法 ,使得完成的电路

在满足时序设计要求的前提下 ,占用最小的芯片

面积 ,无论是在速度还是功耗上都有所突破.

1  有限状态机建模

1. 1  有限状态机的模型

根据状态机的输出是否与输入条件相关 ,可

将状态机分为两大类 :摩尔 (Moore) 型状态机和米

勒(Mealy) 型状态机[2] :

1) 摩尔状态机的输出仅仅依赖于当前状态 ,

而与输入条件无关 ;

2) 米勒型状态机的输出不仅依赖于当前状

态 ,而且取决于该状态的输入条件 ,如图 1 所示.

图 1  米勒状态机结构图

  在逻辑设计中 ,状态机的基本描述方式有 3

种 ,分别是状态转移图、状态转移列表、HDL 语言

描述. 状态转移图是通过图形化的方式描述状态

机各个状态之间的转换关系. 状态转移列表是用

列表的方式描述状态机 ,是数字逻辑电路常用的

设计方法之一 ,经常被用于对状态化简. HDL 语言

描述状态机是使用硬件描述语言 Verilog HDL 或者

VHDL 设计高速、稳定的状态机.

1. 2  有限状态机建模原则

一个设计所消耗芯片的逻辑资源数用“面积”

来衡量 ,而设计在芯片上稳定运行所能够达到的

最高频率用“速度”来评价. 因此在 FPGA 和 ASIC

的设计中 ,必须兼顾面积和速度 2 个指标. 在满足

设计时序要求(包含对设计最高频率的要求) 的前

提下 ,占用最小的芯片面积 ,或者在所规定的面积

下 ,使设计的时序余量更大 ,频率更高. 因此 ,基于

Verilog HDL 的有限状态机建模 ,应该主要考虑以

下几点 :

1) 采用优秀的一位独热码 (one-hot) [3]编码方

案 ,译码简单且节省和简化了组合逻辑电路 ,综合

后电路速度快 ;

2) FSM 的综合实现结果避免了组合逻辑电路

产生的毛刺等异常扰动 ;

3) 状态机所有状态必须完备 ,不会进入死循

环和不确定的状态. 进入异常状态能恢复到正常

状态 ;

4) 采用双边沿触发器的设计 ,完全利用了时

钟的上、下边沿 ,从而达到节省功耗的目的 ,并满

足速度和面积的设计要求.

2  有限状态机的优化设计

  一个典型的有限状态机共有 4 个状态 : S0 ,

S1 , S2 , S3 ;输入时钟信号为 clk ,高电平异步复位

信号为 rst ,输入信号为 money ,输出信号为 drink ,

状态转移图如图 2 所示 ,状态转移表如图 3 所示.

图 2  状态转移图

图 3  状态转移表

  其部分 Verilog HDL 程序如下 :

/ / Design the drink vending machine coin acceptor

65 重 庆 工 学 院 学 报

using a FSM approach

module vend( money , clk , rst , drink) ;

/ / Input output port declarations

input  [1∶0]  money ;

input clk ,rst ;

output drink ;

reg drink ;

/ / internal FSM state declarations

reg  [1∶0] state ;

/ / state encodings

parameter s0 = 2’b00 ; s1 = 2’b01 ; s2 = 2’b10 ;

s3 = 2’b11 ;

/ / 1st always block , sequential state transition

always @ (posedge clk or posedge rst)

if (rst) begin drink < = 1’b0 ;end

elsestate < = s0 ;

/ / 2nd always block , combinational condition

judgment

always @ (rst or state or money)

 case (state)

s0 : begin

 if (money = = 2’b10)

  begindrink < = 1’b0 ;state < = s2 ;end

 else if (money = = 2’b01)

  begindrink < = 1’b0 ;state < = s1 ;end

 else

  begindrink < = 1’b0 ;state < = s0 ;end

 end

??

/ / 3rd always block , the sequential FSM output

always @ (posedge clk or posedge rst)

 if (rst)   drink < = 1’b0 ;

 else drink < = 1’b1 ;

endcase

end   endmodule

从代码上看 ,采用独热码编码方式 ,状态译码

简单 ;采用双边沿触发 ,降低了冗余度 ,这种由 3

个 always 语句的建模方式多了一段寄存器 FSM 输

出. 一般来说 ,使用寄存器输出可以改善输出的时

序条件 ,还能避免组合电路的毛刺 ,所以是更为推

荐的描述方式. 在该结构中 ,从输入到寄存器状态

输出的路径上 ,要经过 2 部分组合逻辑 (状态转移

条件组合逻辑和输出组合逻辑) ,从时序上 ,这 2

部分组合逻辑完全可以看为一体. 解决普通建模

组合逻辑输出产生毛刺的方法是 ,在 FSM 后级电

路额外插入寄存器 ,调整时序 ,完成功能. 在建模

描述 FSM 的状态机输出时 ,只需指定 case 敏感表

为次态寄存器 ,然后直接在每个次态的 case 分支

中描述该状态的输出即可 ,对于复杂一些的 FSM ,

这种建模的优势就会十分显著.

为验证其 Verilog HDL 代码的正确性 , 使用

Modelsim SE6. 1C 对代码进行时序和逻辑仿真.

Mentor Graphics ModelSim SE 是业界最优秀的 HDL

语言仿真器 ,具有快速的仿真性能和最先进的调

试能力 ,它采用直接优化的编译技术 ,是作 FPGA/

ASIC 设计的 RTL 级和门级电路仿真的首选. 经

Modelsim 仿真后 ,结果如图 4 所示 ,可知时序逻辑

是正确的.

采用 Synplicity 公司的 Synplify Pro8. 1 综合工

具对该源程序针对 ALTERA STRATIX EP1S10F7802

C6 器件进行优化、综合 ,图 5 为综合后生成的 RTL

级网表.

图 4  使用 Modelsim SE的时序仿真图

75陈  勇 :有限状态机的建模与优化设计

图 5  RTL 级网表

  可以看出 ,综合后使用的 I/ O 口、逻辑单元数

量很少 ,由于占用很小的面积从而功耗非常小 ,下

载到 ALTERA STRATIX EP1S10F780C6 FPGA 中验

证了其功能的正确性.

3  结束语

  有限状态机不仅是一种时序电路设计工具 ,

而且还是一种思想方法. 本文中通过一个实例的

仿真、综合 ,提出的是一种先进、高效的有限状态

机 Verilog HDL 建模方法 ,消除了由于组合逻辑输

出带来的毛刺 ,这种 FSM 安全稳定 ,综合后电路速

度快且其面积也更小 ,这将有助于芯片功耗的降

低. 对于 FPGA 和 ASIC 的设计都有重要的参考价

值.

参考文献 :

[1 ]  ANSI/ IEEE 1364 - 1995 , IEEE Standard Hardware De2

scription Language Based on the Verilog Hardware De2

scription Language[S].

[2]  夏宇闻. Verilog 数字系统设计教程[M]. 北京 :北京航

空航天大学出版社 ,2003.

[3]  Bhasker J . Verilog HDL Synthesis a Practical Primer[M].

孙海平 ,译. 北京 :清华大学出版社 ,2004.

[4]  左长贵 ,朱祥贤. 可编程外围芯片 PSD513 与单片机

MC68332 的接口[J ]. 重庆工学院学报 ,2002(2) :64 -

68.

(责任编辑  陈  松)

(上接第 20 页)

参考文献 :

[1]  沈耀良. 固定化微生物技术及其在废水处理中的应

用[J ]. 污染防治技术 ,1995 ,8(1) :12 - 14.

[2]  范福洲 ,康勇 ,孔琦 ,等. 废水处理用生物膜载体研究

进展[J ]. 化工进展 ,2005 ,12(24) :1331 - 1335.

[3]  Masatoshi ,Mat sumura. Tet suya Yamamoto[J ]. Wat Res ,

1997 ,31(5) :1027 - 1034.

[4]  Dalmacija B ,Karlovic E ,Tamas Z,et al. Purification of high

- salinity wastewater by activated sludge process[J ]. Wat

Res ,1996 ,30(2) :295 - 298.

[5]  Morper M R. Vpgrading of activated sludge system fornitro2

gen removal by application of the LIN POR-CN process[J ].

Wat Res ,1996 ,30(1) :242 - 245.

[6]  Fang H P ,Yeong C L ,BOOK KM ,et al. Removal of COD

and nitrogen in wastewater using sequencing batch reactor

with fibrous packing[J ]. Wat Sci Technol ,1993 ,28(7) :

125 - 131.

[7]  Zhao Q L , Wang B I. Evaluation on a pilot - scale at2

tached - growth ponds system treating dimestic wastewater

[J ]. Wat Res ,1996 ,30(1) :242 - 245.

[8]  Liu Y. Adhesio kinetics of nitrifying bacteria on various

thermoplastic supports[J ]. Colloids and Surfaces B :Bioint2

erfaces ,1995 ,5 :213 - 219.

[9]  刘杰 ,何振坤 ,王绍堂. 炭纤维生物膜的形成机制Ι:

炭纤维表面特性对微生物固着的影响[J ]. 新型炭材

料 ,2001 ,17(3) :20 - 24.

[10] 何振坤 ,刘杰 ,王绍堂. 炭纤维生物膜的形成机制 Ⅱ:

炭纤维表面特性对微生物活性与增殖的影响[J ]. 新

型炭材料 ,2003 ,18(1) :43 - 47.

(责任编辑  陈  松)

85 重 庆 工 学 院 学 报


有限状态机的建模与优化设计.pdf

返回顶部