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

  • 相关阅读:
    20145331 《信息安全系统设计基础》第11周学习总结
    20145331魏澍琛《信息安全系统设计基础》第10周学习总结
    20145331 《信息安全系统设计基础》实验四 外设驱动设计
    20145331 《信息安全系统设计基础》实验二 固件设计
    20145330 《网络对抗》逆向及BOF基础实践
    20145330 《信息安全系统设计基础》课程总结
    20145330 《信息安全系统设计基础》第14周学习总结
    20145330 《信息安全系统设计基础》第13周学习总结
    20145330 《信息安全系统设计基础》第12周学习总结
    20145216 20145330 《信息安全系统设计基础》 实验五 简单嵌入式WEB 服务器实验
  • 原文地址:https://www.cnblogs.com/agllero/p/4452415.html
Copyright © 2011-2022 走看看