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

  • 相关阅读:
    汇编语言--栈
    汇编语言--debug
    汇编语言--指令
    汇编语言--寄存器
    汇编语言--基本概念(来自王爽老师课程)
    python--IO模块(系统整理)(持续更新)
    python--python在传递参数时实际做了什么?(持续更)
    python--函数之python执行def和import时做了什么
    sql--常用命令(学习笔记,持续更新)
    sql-什么是sql脚本
  • 原文地址:https://www.cnblogs.com/agllero/p/4452415.html
Copyright © 2011-2022 走看看