当前位置:首页 >> >>

基于VHDL语言的有限状态机设计方法


计算机技术与应用进展 .04 -0 2

基于V D 语言的有限状态机设计方法’ HL
朱维勇 傅桂生       
合肥工业大学电气与自 动化学院 200 309 摘   要 在数字逻辑电 路设计中, 有限状态机是数字逻挥电 路的重要组成部分,在工业控制领域 应用广泛, 很多复杂的逻辑控制问 题都可以用有限状态机来描述。文章介绍两类有限状态机的结构

原理和设计特点, 利用V D 语言中的 HL 结构描述语句 和从顶向下 ( p on  设计对有限状态 t- w ) od 的 机
进行结构化和层次化描述, 通过典型的实例说明利用E A工具实 D 现逻辑电路的设计方法有效性。 关健词 V D    H L有限状态机 逻辑电路设计

1 引



V D 语言作为一种标准的硬件描述语言,支持从系统级到门级电路的所有层次描述,既支持自      HL 底

向 (oo - ) 上 btmu 的设计也 p 支持从顶向 ( p on 的设计,同时也支持结构、行为和数据流三种形 下 t-w ) od
式的混合描述。 在使用 V D H L语言进行逻辑电路设计时, 不需要考虑特定电路制造工艺的影响, 其设计 覆盖所有的逻辑电路形式。 其语法结构以 严谨著称, 适合于复杂逻辑电路的设计。 设计者可以利用 V D HL 描述设计的电路,然后利用 E A工具进行综合和仿真,形成目 D 标文件,最后将系统实现在 P D芯片或 L

专用集成电路上, 这样最大程度地缩短了设计和开发时间,降低了成本, 提高了系统的可靠性汇- 。 13 本 -1
文以有限状态机的设计和应用来说明V D 语言在逻辑电路硬件设计中的应用。 HL

2 有限 状态机 (ne e h e  F i St a i ) it t M cn a
有限状态机 F i te  h e 是由状态寄存器和组合逻辑电      (itS tM ci ) ne  a n a 路构成的, 能够根据控制信号按照 预先设定的状态进行状态间转移, 是协调相关信号动作、 完成特定操作的控制中心, 属于一种同步时序 逻辑电路。 状态机分为M o 型和 M a 型。 M o 型状态机中, or e el 在 or y e 状态机的输出 信号只是当前状态的 函数,与输入信号无关。 or型状态机的内部结构图如图1 Mo e 所示。 而在M a 型状态机中, el y 状态机的 输出信号是当前状态和输入信号的函数, a 型状态机的内 Mey l 部结构图 如图2 所示。[5 41 , 常用的状态机由      三个部分组成。即当前状态寄存器 ( ue St Crn te r t  ,简称 C 、下一状态组合逻辑 a S) ( t  ,简称 N ) NxS t e te a S 和输出 组合逻辑 (  uLg ,简称O ) Ot t c u oi p L  o 当前状态寄存器的      任务是保存当 前状态Crn st 当 ue te 前状态的实现是 r t  。 a 在状态时钟信号C 发生有 P 效变化时,通过对状态寄存器进行赋值,其输入信号是 N S组合逻辑电路的输出 信号 ( ette,其 N x st sa e  ) 输出将作为输出组合逻辑和N 组合逻辑电路的输入。 d S R 是异步复位端, 低电平有效。 N      S组合逻辑电路的作用是根据状态机的输入信号 A 和当前状态 C rn  t u ette确定下一个状态 r 一a s N x st的取值。 et e t a 输出组合逻辑电      路的任务是确定状态机的对外输出 信号Y 在 M o 型状态机中, 。 or e 输出组合逻辑电
作者简历:朱维勇,男,16 年生,硕士学位,讲师,现从事电子技术和计算机应用等学科的教学与研究工作.    93

荃于VD 语言的有限状态机设计方法 HL

巨口目皿曰....口口目目口口.......里里旦旦旦旦旦口旦口口.巨 鱼 鱼 里 鱼 里 圈 皿恤 里 曰一 国 口 鱼 鱼 鱼 鱼 皿 鱼口

.. . ̄

... -

73 0

路的 输入信号 态机的当 状态, 此, P 有效 化时 信号 化。 是状 前 因 在C 发生 变 输出 变 而在M a 型 机 ey 状态 l
中,输出组合逻辑电路的输入信号是状态机的当前状态和状态机的输入信号 A 。因此,当 C P发生有效 变化时和输入信号改变时输出信号都可能改变。

图1  oe  Mor状态机的内部结构

图2 el状态机的内  M a y 部结构

用VD      H L描述状态机常用的方法有:三个 P O E S语句描述和两个 P O E S语句描述。三个 RCS R CS P O E S语句描述的方法是把 N R CS S组合逻辑电路、C S当前状态寄存器和 O L输出组合逻辑电路各用一

个PO ES 句 述, 样 的 序 构 分明 便于 读, 用 较 杂电 设 用 个 R C S 语 描 这 编出 程 结 层次 , 阅 适 于 复 路的 计。 两
P O ES R C S 语句描述的方法是把 N 组合逻辑电路和输出组合逻辑电路在一个 P O E S S R C S 语句中描述, 用 另一个 P O E S R C S 语句描述当前状态寄存器。 在V D      H L中, 可以 用枚举型数据类型定义一个状态变量数据类型, 状态变量的元素用符号表示。 例

如语句 T P SAE  I ( , , , ) YE  T- S  S S S ;用来定义 SAE  是一个新的数据类型,名称是 T M  S 12 3 O TT- M
"T T M 。定义数据类型的元素是 S, , , 。 SA E  " O I 2 3 其状态编码由 S  S S 具体的 V D H L综合工具确定。也可以 直接对状态变量进行编码, 状态机的编码方式很多, 如格雷码, n- t oe o码等, h 每种编码方式均有各 自的 特点, 如格雷码译码时不会产生毛刺, 但电路结构复杂; n- t 尽管编码电路较大, oe o码, h 但是需要的状
态译码电路较少。

3  o 型状态机的描述         Mor e
用V D     描述状态转换图如图3 HL 所示的状态机, 该状态 机属于 Mor型,状态机有四种状态,分别是 S , , , o e O S S l 2 S 。有一个状态输入信号 A和一个状态输出信号 Y 3 o 用V D     描述 M O E型 HL O R 状态机时, 需要区分组合逻辑 电 路部分和时序逻辑电路部分。用一个 P O E S R C S 语句描述 N 组合逻辑电路和输出组合逻辑电路, S 用另一个 P O E S R CS 语句描述当前状态寄存器, 属于时序逻辑电路。 P O E S 用 R CS 语句描述时序逻辑电路要用到 I C ' E T  D  F  E N A C PV N P=1 1 . TE H N语句,并且要把时钟信号引入敏感信号列表中。因为 M O E型状态机的输出只与当前的状态有关,所以在描述 OR 图3  o 型状态机状态转换图  Mor e 组合逻辑电路的进程中用 C S- E 语句判别有限状态 A EWH N F LEE D语 - 机的四个状态, 把输出 信号变量的赋值语句放在 I-L EE D语句之后,而不能放在 I E S-N F S-N E
句之 中。

4  a 型状态机的应用  Mey l
自      动售饮料机中的饮料的价格是每盒 2 元,每次只允许投入一枚硬币,硬币分为五角和一元两种 如果投入 1 角硬币后再投一枚 5 元5 角硬币,则给出 1 盒饮料;如果投入 1 5 元 角硬币后再投一枚 1

74 0
旦 旦 旦 旦 里口目曰. 目 组 巨 旦 旦 旦 旦 巨 目 旦 旦旦 互 目互 组 口 旦 旦 旦 巨 旦 巨 恤 困 组 组 组 旦 旦 目 旦 旦 巨 . . 口 理 口 旦旦 旦 旦 旦旦 旦 巨. . 翻 口 口口 目 目 旦 旦 .. 口 目 组 旦

计算机技术与应用进展 ? 0 2 4 0

硬币,则给出 1 盒饮料的同时找回5 角钱。 这是一个属于M a 型状态机问      el y 题。 状态机的状态转换图 如图4 所示, 投币 信号是输入逻辑变量, 用 A和 B表示,A 1 = 表示投入一枚 1 元硬币,B 1 = 表示投入一枚 5 角硬币。输出信号用 Y和 Z表示, Y1 = 表示售出一盒饮料,Z 1 = 表示找回 5 角钱。
共定义了 4个当前状态,4个状态 的含义是: S: O 投币时,售货机内没有硬币; S: l 投币时,售货机内已有 5 角; S : 币时,售货机 内已有 1 2投 元; S : 币时,售货机 内已有 1 5 3投 元 角。 自动售货机的 V D H L描述如下:
L B AR IE ; I R Y  E E

0/ 0 0
AB/ _ YZ

U E  ES D L GC 16.L ; S IE . _  I_ 4 L E T O 1 A U E  ES D L GC A IHA L S IE . _  I_  T .L ; E T O R
US IE .T L GI U I NE AL ; E  ES D O C NSG D. L E
E I Y  OOR I NT T M EI  S

PR(        O T

C ,  I S D L G C 一C O K PR :  T _  I; d N  O LC

AB:  T e  I; -  I u            - , I S D L GC N  s O        pt n S nl ia g S nl ia g
)            ;
E ND  AL I ME Y  ; ARC T C UR C F E YI  HI E T E  O M AL I S

0/ 00 0/ 00

YZ : U S D L GC  t t            . u u , O T  e  I . p T sO O

T P SA E  I (0S, S)            IS, ; Y E  T - S  ,  2 3 T M  S      D c r - te  e  le - a Tp e a St y
SG A S t            E M; IN L  e :T T e  t a SA s
Curn Sae re t  t t

0/ 00

图 4  a  Mel v型状态机状态转

SG A N x te :T T e             A E M; IN L  t a e St S s
一Ne t  t              x S ae t
BE N GI

R G : R C S (dC )      O E S  ,  E IP R P
BE N        GI

I R =' T N              F  d  0 HE ' 

C r nSa < S ;                ur tt e  O e t = 
E SE  'VE              L I CPE NTAND  CP=' T N 1 HE ' 

C r nSa < N xSa ;                ur tt e  ett e e t =  t
E            ND  ; I F

E P O E S        S R GI ND  C R E ;

C M2 P O E S  BC r n te O : R C S (, ur t a ) A , eSt
BE N        GI

CAS C r nSae               E  r ttt I ue S WHE S =                  -T T S N O  > -S A E  O

I A=OA D  '' H N  -N U A O =                      O F ( ' N B 0 T E   - P T =, '  = )  I B
N xSa < S ;  r 0    ='                          ette  0 Y  ;  Z  0 t =    -' < ;

E S I ( OA D  '' H N - P T = , 1                      O = L EF  A=' N B 1 T E       ' = )  -N U A B I
N xS t< 1 Y< 0    =' ett e =S ;  =' a     ;  Z< 0 ;

E S I ( I N =O) H N - P T =, O                   A I = L EF  ' DB '' E         A='A T -N U I B
N xS t < S ;  < O  Z  0 ett e  2 Y  ' a =    -';  < ; ='
E S     L                        L E NUL ; E                        ND  ; I F WHE S >                    -S A E I N I= - T T S 

I A='A D  ''T E F ( 0 N B 0)  N '  - H

N xSa < S ; =' Z  O                          ette  lY  O t =  < ;  < ' =';

N xS t< S ; =0 Z< ’ et a =  Y  ' te  2 < ;  二0 ; E S I ( 'A D  '' H N                      L EF  1 N B 0) E A=  '  = T
N xSa < S ; =’ Z  0 ett e  3 Y  。 t =  < 气 < , =';
E S  N L ;                        L E  U L

E S I ( OA D  '  H N                    L EF  'N B ' E A=' 1T ) 

基于VD 语言的有限状态机设计方法 HL
E ND  ; I F WHE ¥ = N 2  >

I( ' A D  ' )  N  - 2 FA=0 N B 0 T E   - '  = ' H S
Nett e  S ;                            xSa < 2 t = 

Y  0 Z  ' < ' < 0 ='; = ; E S I ( 0A D  '  H N                      L EF  '  B I T E A二’ N - ' ) 
Nett e  S ; xSa < 3 t = 

Y  0 Z  0 < ;  =' =' < ; E S I ( I N B ''T E                      L EF  '  -0)  N A=' A D  H
N xS t < S ; ett e  O a = 

Y< 1Z< ' =' ; =0 ;
E S   NU L                        L E  L ;
E                        ND  ; I F

WH N  =   I E S > RA=0A D   ,T E   -3 3 ' N B ')  N  - '  =O H S N x te  S;                          et a < 3 S t = 

Y李 ’; 口 2李 ’; ’ 0 一 输出信号由输入信号和当前状态决定
Nettt < S ; xSae  O = 

E S I ( 0A D  '  H N                      L EF  '  B 1 T E A=' N = ' )  Y  1 < '; < ;  =0 ='  Z  '
E S I ( 1A D  ''T E                      L EF  A=' N B 0)  N '  = H
Nettt < S ; xSae  O = 

Y  1 Z  '; < ' - I _'  ;  '
E S   NUL ;                          L E  L

E                        ND  ; I F

E D  S ;            N C E A      C S C E D  O E S  M2 N P R O ;
E ND  C;

5 结





从以上的设计过程可以看出,      在使用 V D H L语言进行逻辑电路设计时, 不需要考虑所设计电路的内 部结构和逻辑关系,也不要考虑内部电路制造工艺的影响,其设计覆盖所有的数字逻辑电路形式, 对设

计的描述具有相对独立性, 适合于复杂逻辑电 路的设计。 H L 用V D 描述M o 型状态机和Mey or e a 型状态 l 机很好地解决了状态机电路的复杂控制问 题,提高设计的自由 度和灵活性。再用 PD器件和E A工具 L D
实现设计电路的综合和仿真,整个设计节约电路设计成本,缩短设计周期,提高电路的整体性能。

参 考 文 献
[l] [2] [3]

潘松, 黄继业. A技术实用教程[工 E D M 北京: 科学出 版社, 02 1 1 . 20,0 2 1- 0 侯伯亨, V D 顾新 H L硬件描述语言与数字逻辑电路设计[ . M] 西安:西安电子科技大学出版社;
19,7- 1. 9 9132 6

卢杰,赖毅.H L V D 与数字电路设计[ . M] 北京: 科学出版社, 010-5. 20. 726 2 架铭, 高明伦. 工业控制芯片中状态机的描述方法洽 肥: 第三届全球智能与自 动化大会,00 06. 20. -7 4 IE ds n o ao sna cm i eIE S na H rwrD s ii Lnug Bs o E E  i at tn  dr o mt . E  dr a a e r tn  gae  e n eg u m i t d  a e E t d  d e  cp o a a a d 
I6] [7]
V ig a w rD sr tn  g aeIE , 6 58 e l .H r ae  cii L nug. E 19. -0 ro d e po a E 9 6

李国 , 勇.子 丽朱维 电 技术实 验指导书 中 科技大 版社 2 03 1 . .国 学出 ,0 :5 5 0 1- 4
阎石. 数字电子技术基础「 北京:高等教育出 M工 版社,1 8 1 30 9 , 5 0. 92 -

76 0

计算机技术与应用进展 " 0 24 0

Fn e tm ci ds n to o te  io ii s e  hn ei me d  h bs f tt a a e  g h n  a s  V D l gae H L  ug a n
Z u  iog h We n y
H f U i rt o Tcnl yH f 200 e i v sy  eho g, e 30 1 e n e i f  o e i 

A s at  t it l i cci eg,  it te  h e h m o a cm oet    rc n  d il cl u ds nt f i stm ci it ipr t  pnno bt  I h ga o a i t i h ne  a n s  e  g r e  a e  t o n f t d il cl u,  g  h flo i utacno et s e .  t  o pct l i h it l i cci u n it id  n si ot l  ni l A  o cm la d  c e  a o a i t s n  e f  rl  r x v y l f  i e o g g r i e  d e o g cn o qetn c  l  e r e wt t f i stm ci . h pprt sut e  c l ot l sos  a b ds i d h  it te  h eI ts e h t c r pi ie r u i a l e cb i h ne  n e  a a n n  a ,  r u r p s i e  n
o to  d o f i s t m ci s  t atm t ds n to a peet .  tpdw ad f  kns  it te  hn ad  u a d  i m hd  rsn d T e  -o n  w i f  e  n a a e n h e o e e g e r e  e h o n t m dl m t d ad e V D cd g hi e a ule.  p vd t  ds n t d h ou r h s  o r  L  i t n us  ti dIi r e t t ei m h e  a e o n t H h on e q r i c e  z t  o h h s  a e  g e o ivli w i m ks  oE A  l  azt l i l u t og t t i l ac. s dy  c ae u f  t tr le  o c ccih uh  y c i t e a t h h  i s e  D o o  i h g a i t  o e e  r r h p a nn e  s K v rs  H L its tm h e o i l u Z u i n    od V D ; n e  e ci ; g ac ci h We og. ew  f i t a n  l c i t  a r y


相关文章:
基于VHDL语言的有限状态机设计方法.pdf
基于VHDL语言的有限状态机设计方法 - 计算机技术与应用进展 .04-02 基
基于VHDL的有限状态机设计_图文.pdf
基于VHDL的有限状态机设计 - 第 卷第 期 !?# 北 京 工 业 大 学 !? # 学 报 ! ? 年 月 基于 的有限状 态机 设计 宋泽明 , ...
一种应用VHDL语言设计有限状态机控制器的方法.pdf
一种应用VHDL语言设计有限状态机控制器的方法 - 第2期 2003 年 4 月
有限状态机的VHDL设计.pdf
有限状态机VHDL设计 - 第 24 卷第 2 期 No.2 Vol.24 文
有限状态机的VHDL设计方法研究_论文.pdf
有限状态机VHDL设计方法研究 - 有限状态机及其设计技术是实用数字系统设计中的重要组成部分,是实现高效率、高可靠性逻辑控制的重要途径。VHDL是一种面向设计、多...
基于VHDL的有限状态机设计_图文.pdf
基于VHDL的有限状态机设计 - 维普资讯 http://www.cqvip.c
基于VHDL的Mealy状态机设计.doc
基于VHDL的Mealy状态机设计 - 基于 VHDL 的 Mealy 状态机设计 物理与电子信息科学系 姓名: 姓名:孙家芳 指导教师: 指导教师:胡湘娟 电子信息科学与技术专业 学号...
基于VHDL语言有限状态机的电子密码锁设计_论文.pdf
基于VHDL语言有限状态机的电子密码锁设计 - 201 3年第 1O期 ( 总第
基于VHDL的MTM总线主模块有限状态机设计.pdf
基于VHDL的MTM总线主模块有限状态机设计 - 第 20 卷 第9期 电子设计
基于VHDL的两种交通信号控制器的设计与比较_图文.pdf
文中提出了基于 VHDL 语言的两种交通信号控制器的设计与比较,分别采用有限状态机和计数器两种设计方法,给出了控制 器的部分 VHDL 代码,利用 QuartusII 进行全程...
VHDL语言 第九章 有限状态机_图文.ppt
VHDL语言 第九章 有限状态机 - 第九章 有限状态机 9.1 概述 有限状态机主要功能是用来实现一个数字电路设计中的控制部分, 它与CPU的功能相似。状态机优于CPU的...
基于VHDL语言的按键消抖电路设计及仿真_图文.pdf
基于VHDL语言的按键消抖电路设计及仿真侯继红(广州科技贸易职业学院广东广州511442) 摘要:为了解决FPGA/CPLD系统的按键抖动问题,用VHDL语言有限状态机方法,在SD状态...
8 VHDL语言状态机_图文.ppt
8 VHDL语言状态机 - 第八章 有限状态机FSM的设计 哈尔滨工业大学(威海) 信息工程学院电子工程系 第八章 有限状态机FSM的设计 1.状态机概念 2.一般状态机 3....
基于FPGA的LCD12864液晶汉字显示设计 及VHDL语言的应用.ppt
基于FPGA的LCD12864液晶汉字显示设计VHDL语言的应用_计算机硬件及网络_IT/计算机...? 1.3.2一般状态机的VHDL设计 ? 用VHDL设计有限状态机方法有多种,但最一般...
基于EDA的VHDL语言设计的交通灯.doc
基于EDA的VHDL语言设计的交通灯_计算机软件及应用_IT/计算机_专业资料。用有限状态机设计一个交通灯控制器,设计要求:A路和B路,每路都有红、黄、绿三种灯,持续时...
有限状态机的VHDL设计.pdf
有限状态机VHDL设计 - 第 24 卷第 2 期 Vol.24 No.2 文
基于VHDL的六层电梯控制器的标准设计_图文.doc
本设计采用 VHDL,源程序 Altera 公司的 Quartus II 软件仿真。运用有限状态机设计方法,设计了两个进程相互配合,状态机进程作为主要进程,信号灯控制进程作为 辅助...
基于VHDL有限状态机的交通信号灯控制系统设计_论文.pdf
基于VHDL有限状态机的交通信号灯控制系统设计 - 交叉路口交通灯控制的现状,对交通顺畅十分重要.以可编程逻辑器件(CPLD)为核心,应用VDHL语言有限状态机的方法设计...
基于VHDL的两种交通信号控制器的设计与比较.pdf
基于VHDL的两种交通信号控制器的设计与比较 - 文中提出了基于VHDL语言的两种交通信号控制器的设计与比较,分别采用有限状态机和计数器两种设计方法,给出了控制器的...
课程设计--基于VHDL的三层电梯控制器的设计.doc
摘要本设计运用有限状态机的方法,在结构体最前端首先定义了十个状态;然后 在...本次三层电梯控制器的设计采用 VHDL 语言,源程序经 MAX+plus II 软件仿真,...
更多相关标签: