インテル® Quartus® Primeプロ・エディションのユーザーガイド: デザイン上の推奨事項

ID 683082
日付 4/13/2020
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

1.6.4.2. Verilog HDLステートマシン

Verilog HDLステートマシンの適切な認識と推論を保証するために、次の追加のVerilog HDLガイドラインを遵守してください。

特定のコーディングの推奨事項については、合成ツールのドキュメントを参照してください。合成ツールは、ステートマシンを認識し、推測されない場合、ツールは、通常の論理ゲート及びレジスターとしてステートマシンを実装し、ステートマシンは、 インテル® Quartus® Prime Compilation ReportのAnalysis & Synthesisセクションでステートマシンとして表示されません。この場合、 インテル® Quartus® Prime合成では、ステートマシンに固有の最適化は実行されません。

  • SystemVerilog標準を使用している場合、列挙型を使用して状態マシンを記述します。
  • Verilog-1995およびVerilog-2001のパラメーターデータ型でステートマシンの状態を表し、パラメーターを使用して状態の割り当てを行います。このパラメーターの実装により、ステートマシンが読みやすくなり、コーディング中のエラーのリスクが軽減されます。
  • next_state <= 0など、状態変数に整数値を直接使用しないでください。ただし、整数を使用しても インテル® Quartus® Primeソフトウェアでの推論は妨げられません。
  • 状態遷移ロジックが次の例のような算術を使用する場合、 インテル® Quartus® Primeソフトウェアは状態マシンを推測しません。
    case (state)
    	0: begin
    		if (ena) next_state <= state + 2;
    		else next_state <= state + 1;
    		end
    	1: begin
    	...
    endcase
  • 状態変数が出力の場合、 インテル® Quartus® Primeソフトウェアは状態マシンを推測しません。
  • インテル® Quartus® Primeソフトウェアは、署名された変数の状態マシンを推測しません。