您的位置 首页 模拟

怎么规划一个安稳牢靠的状态机

如何设计一个稳定可靠的状态机,随着大规模和超大规模FPGA/CPLD器件的诞生和发展,以HDL(硬件描述语言)为工具、FPGA/CPLD器件为载体的EDA技术的应用越来越广泛.从小型电子系统到大规模S

跟着大规模和超大规模FPGA/CPLD器材的诞生和开展,以HDL(硬件描绘言语)为东西、FPGA/CPLD器材为载体的EDA技能的运用越来越广泛.从小型电子体系到大规模SOC(Systemonachip)规划,现已无处不在.在FPGA/CPLD规划中,状况机是最典型、运用最广泛的时序电路模块,怎么规划一个安稳牢靠状况机是咱们有必要面临的问题.

  1、状况机的特色和常见问题

  规范状况机分为摩尔(Moore)状况机和米立(Mealy)状况机两类.Moore状况机的输出仅与当时状况值有关,且只在时钟边缘到来时才会有状况改动.Mealy状况机的输出不只与当时状况值有关,并且与当时输入值有关,这一特色使其操控和输出愈加灵敏,但一起也增加了规划杂乱程度.其原理如图1所示.

  

  依据图1所示,很简单了解状况机的结构.可是为什么要运用状况机而不运用一般时序电路呢?这是因为它具有一些一般时序电路无法比拟的长处.

  用VHDL描绘的状况机结构清楚,易读,易懂,易排错;

  相对其它时序电路而言,状况机愈加安稳,运转形式类似于CPU,易于完成次序操控等.

  用VHDL言语描绘状况机归于一种高层次建模,成果经常呈现一些出乎规划者意外的状况:

  在两个状况转化时,呈现过渡状况.

  在运转过程中,进入不合法状况.

  在一种器材上归纳出抱负成果,移植到另一器材上时,不能得到与之相符的成果.

  状况机可以安稳作业,但占用逻辑资源过多.

  在针对FPGA器材归纳时,这种状况呈现的或许性更大.咱们有必要稳重规划状况机,剖析状况机内涵结构,在Moore状况机中输出信号是当时状况值的译码,当状况存放器的状况值安稳时,输出也随之安稳了.经归纳器归纳后一般生成以触发器为中心的状况存放电路,其安稳性由此决议.假如CLOCK信号的上升沿抵达各触发器的时刻严厉共同的话,状况值也会严厉依照规划要求在规则的状况值之间转化.但是这仅仅一种抱负状况,实践CPLD/FPGA器材一般无法满意这种严苛的时序要求,特别是在布线后这些触发器相距较远时,CLOCK抵达各触发器的延时往往有一些差异.这种差异将直接导致状况机在状况转化时发生过渡状况,当这种延时进一步加大时,将有或许导致状况机进入不合法状况.这便是Moore状况机的失效机理.关于Mealy状况机而言,因为其任何时刻的输出与输入有关,这种状况就更常见了.

  2 状况机规划方案比较

  2.1 选用枚举数据类型界说状况值

  在规划中界说状况机的状况值为枚举数据类型,归纳器一般把它表明为二进制数的序列,归纳后生成以触发器为中心的状况存放电路,存放器用量会削减,其归纳功率和电路速度将会在必定程度上得到进步.

  例1 界说状况值为枚举类型的状况机VHDL程序.

  library ieee;

  use ieee.std_logic_1164 all;

  entity example is

  port(clk:in std_logic;

  mach_input:in std_logic;

  mach_outputs:out std_logic_vector(0 to 1));

  end example;

  architecture behave of example is

  type states is(st0,st1,st2,st3); –界说states为枚举类型

  signal current_state,next_state:states;

  begin

  state_change:process(clk) –状况改动进程

  begin

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/moni/327916.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部