lcytms 发表于 2017-7-20 10:01:41

带流水线输出的 Mealy 状态机

下一个状态 = F(当前状态,输入信号);
输出信号 = G(当前状态,输入信号);

fpga_feixiang 发表于 2017-7-20 12:11:58

Verilog HDL 夏宇闻--数字系统设计的核心知识

lcytms 发表于 2017-7-21 09:23:26

本帖最后由 lcytms 于 2017-7-21 09:24 编辑

简单的状态机设计举例

        状态转移图表示
        RTL级可综合的 Verilog 模块表示

lcytms 发表于 2017-7-21 09:26:03

有限状态机的图形表示

图形表示:状态、转移、条件和逻辑开关

小舍YZ 发表于 2017-7-21 09:34:23

      组合逻辑:输出只是输入逻辑电平的函数(有延时),与电路的原始状态无关。

      时序逻辑:输出不只是输入的逻辑电平的函数,还与电路所处的状态有关。
                        同步时序逻辑是在同一时钟跳变节拍的前提下,如输入条件满足,则进入下一状态,否则仍留在原来的状态的状态机。
赞,,,,,,,,,,,,,,,谢谢分享。。。。。。。。。。。。。。。。。:lol

lcytms 发表于 2017-7-21 09:35:22

有限状态机的Verilog描述

        定义模块名和输入输出端口;
        定义输入、输出变量或寄存器;
        定义时钟和复位信号;
        定义状态变量和状态寄存器;
        用时钟沿触发的always块表示状态转移过程;
        在复位信号有效时给状态寄存器赋初始值;
        描述状态的转换过程:符合条件,从一个状态到另外一个状态,否则留在原状态;
        验证状态转移的正确性,必须完整和全面。

fpga_feixiang 发表于 2017-7-21 13:23:17

谢谢楼主分享

lcytms 发表于 2017-7-24 09:27:05

表示方法之一

modulefsm (Clock, Reset, A,K2, K1);
input Clock, Reset, A; //定义时钟、复位和输入信号
output K2, K1; //定义输出控制信号的端口
reg K2, K1;    //定义输出控制信号的寄存器
reg state ;  //定义状态寄存器

parameter   Idle= 2’b00,Start = 2’b01,
            Stop = 2’b10,   Clear = 2’b11;
//定义状态变量参数值
   always @(posedge Clock)
   if (!Reset)
       begin    //定义复位后的初始状态和输出值
          state <= Idle;K2<=0; K1<=0;
       end

lcytms 发表于 2017-7-24 09:28:34

表示方法之一(续)

else
case (state)
   Idle:begin
            if (A)begin
                         state <= Start;
                           K1<=0;
                  end
            else       state <= Idle;
         end
   Start: begin
             if (!A)   state <= Stop;
               else    state <= Start;
          end

lcytms 发表于 2017-7-24 09:30:16

表示方法之一(续)

   Stop:begin   //符合条件进入新状态,否则留在原状态
            if (A)begin
                      state <= Clear;
                        K2<= 1;
                  end
            else   state <= Stop;
         end
   Clear: begin
            if (!A)begin
                        state <= Idle;
                            K2<=0;K1<=1;
                     end
            else   state <= Clear;
          end
   endcase
endmodule
 
页: 1 2 3 4 [5] 6 7 8 9 10 11
查看完整版本: Verilog HDL 夏宇闻--数字系统设计的核心知识