zoukankan      html  css  js  c++  java
  • 有限状态机模型

    第4种风格的Verilog HDL模型来表示同一个有限状态。在这个模型中,我们分别用沿触发的always语句和电平敏感的always语句把状态机的触发器部分和组合逻辑部分分成两部分来描述。

    注意:沿触发的always语句中采用并发(非阻塞)赋值的方式;电平敏感的always语句中采用阻塞赋值的方式;
    例4.4:有限状态机模型4。

    module  fsm (Clock, Reset, A,  F, G);           //模块声明
          input Clock, Reset, A;
          output F,G;
          reg [1:0] state, Nextstate;

          parameter                                      //状态声明
               Idle  = 2’b00,  Start = 2’b01, 
               Stop = 2’b10, Clear = 2’b11;

          always @(posedge Clock)
               if (!Reset) begin
                     state <= Idle;                   //默认状态
               end
               else
                     state <= Nextstate;             //状态转换

          always @( state or A ) begin
               F=0;
               G=0;
               if (state == Idle) begin             //处于Idel状态时,对A判断
                     if (A)
                          Nextstate  =  Start;        //Start状态
                     else
                          Nextstate  =  Idle;         //保持Idel状态
                     G=1;
               end
               else if (state == Start)             //处于Start状态时,对!A判断
                     if (!A)
                          Nextstate  =  Stop;         //Stop状态
                     else
                          Nextstate  =  Start;        //保持Start状态
               else if (state == Stop)               //处于Stop状态时,对A判断
                     if (A)
                          Nextstate  =  Clear;        //Clear状态
                     else
                          Nextstate  =  Stop;         //保持Stop状态
               else if (state == Clear) begin      //处于Clear状态时,对!A判断
                     if (!A)
                          Nextstate  =  Idle;         //Idel状态
                     else
                          Nextstate  =  Clear;        //保持Clear状态
                     F=1;
                     end
               else
                     Nextstate= Idle;                 //默认状态
          End
    endmodule

  • 相关阅读:
    解决asp.net Core Mvc网页汉字乱码问题
    DbInitializer.cs初始化过程中context.entityName.Add()遇到的类型不匹配错误
    EF Core » 关系
    EF Core » 影子属性
    如何增加Asp.Net Core生成的模板网站中用户信息表中的列(AspNetUsers)
    Working with Data » Getting started with ASP.NET Core and Entity Framework Core using Visual Studio »迁移
    centos下添加git
    Linux网络流量实时监控ifstat iftop命令详解
    常见CEPH操作命令
    CentOS 6.3下Samba服务器的安装与配置
  • 原文地址:https://www.cnblogs.com/agllero/p/4452415.html
Copyright © 2011-2022 走看看