-2

1 食あたりの fsm の Verilog プログラムを作成する必要があります。書き方のテクニックはたくさんあります。1 をお見せします。それが機能するかどうかも知りたいです (他の手法について言及する必要はありません。それが機能するかどうかと、その理由を述べてください!) ここに:

module MealyFsm(out,in,clk,rst);
  output out;
  input in,clk,rst;

  reg [1:0] q;

  always @(posedge clk or negedge rst) begin
    if (~rst) 
      q<=2'b00;
    else
      begin
        q[0]<=~q[0] &  q[1] &  x | ~q[0] &    x | q[1] &  x;
        q[1]<= q[1] & ~q[0] & ~x | ~q[1] & q[0] | q[0] & ~x;
      end
  end

  assign y = ~x & q[0] & ~q[1];

endmodule

PS。私はこのテクニックにのみ興味があります。間違っている場合は、修正するために何が間違っているか教えてください

4

1 に答える 1

0

ウィキペディアより

計算理論では、ミーリー マシンは有限状態マシンであり、その出力値は現在の状態と現在の入力の両方によって決定されます。

ininput がコードのようにタイプミスされていると仮定するとx、モジュールは定義を満たしていますか?

状態がありますq。そしていくつかの出力y。入力in or xは出力に直接影響します。したがって、これは Mealy Machine の定義を満たしています。

注: ロジックを理解するのが難しく、状態の機能とフローを理解するのが困難です。FSM を記述するには、はるかに優れた方法があり、そのほとんどは 1 つのモジュールで実行されます。

于 2013-02-06T17:05:30.447 に答える