インテルのみ表示可能 — GUID: mwh1409959975278
Ixiasoft
1.1. Precision RTL Synthesisのサポートについて
1.2. デザインフロー
1.3. インテル デバイスファミリーのサポート
1.4. Precision Synthesis生成ファイル
1.5. Precision Synthesisソフトウェアでのプロジェクトの作成およびコンパイル
1.6. Precision Synthesisデザインのマッピング
1.7. デザイン合成と結果の評価
1.8. インテルFPGA IPコアおよびアーキテクチャーに特有の機能のガイドライン
1.9. Mentor GraphicsPrecision*Synthesisサポート改訂履歴
1.8.1. IP Catalogによって生成されたVerilog HDLファイルを使用したIPコアのインスタンス化
1.8.2. IP Catalogによって生成されたVHDLファイルを使用したIPコアのインスタンス化
1.8.3. IP Catalogとパラメーター・エディターを使用した知的財産のインスタンス化
1.8.4. 生成されたVerilog HDLファイルを使用したブラックボックスIPファンクションのインスタンス化
1.8.5. 生成されたVHDLファイルを使用したブラックボックスIPファンクションのインスタンス化
1.8.6. HDLコードからのインテルFPGA IPコアの推測
2.10.1.1. IP Catalogによって生成されたVerilog HDLファイルを使用したインテル FPGA IPコアのインスタンス化
2.10.1.2. IP Catalogによって生成されたVHDLファイルを使用したインテル FPGA IPコアのインスタンス化
2.10.1.3. インスタンス化されたインテル FPGA IPコアに対するSynplifyのデフォルト動作の変更
2.10.1.4. IP Catalogとパラメーター・エディターを使用した知的財産のインスタンス化
2.10.1.5. 生成されたVerilog HDLファイルを使用したブラックボックス・コアのインスタンス化
2.10.1.6. 生成されたVerilogファイルを使用したブラックボックスIPコアのインスタンス化
2.10.1.7. ブラックボックスを作成するためのその他のSynplifyソフトウェアの属性
インテルのみ表示可能 — GUID: mwh1409959975278
Ixiasoft
2.9.4. FSM Compiler
FSM Compilerがオンの場合、コンパイラーはデザイン内のステートマシンを自動検出し、次にステートマシンを抽出して最適化します。FSM Compilerはステートマシンを分析し、ステート数に基づいて、 sequential、gray、またはone-hot エンコードを実装します。コンパイラーは、未使用ステートの分析、到達不能ステートの最適化、および遷移ロジックの最小化も実行します。実装は、HDLコードのコーディング・スタイルには関係なく、ステート数に基づいて行われます。
FSM Compilerがオフの場合、コンパイラーはロジックをステートマシンとして最適化しません。ステートマシンは、HDLコードとして実装されます。したがって、ステートマシンのコーディング・スタイルが’sequential の場合、実装もsequentialです。
syn_state_machineコンパイラー・ディレクティブを使用して、ステートマシンの抽出および最適化を行うか否かを指定します。 FSM Compilerのデフォルトのエンコーディングを無効にするには、syn_encodingディレクティブを使用します。
値 | 説明 |
---|---|
Sequential | 可能な限り、フリップフロップが少ないステートマシンを生成します。バイナリとも呼ばれるSequentialステートマシンは、タイミングが主要な問題ではない場合に、面積が重視されるデザインに有効です。 |
Gray | 遷移ごとに1つのフリップフロップだけが変化するステートマシンを生成します。Grayでエンコードされるステートマシンはグリッジが発生しない傾向があります。 |
One-hot | 各ステートに1つのフリップフロップを含むステートマシンを生成します。One-hotステートマシンは、一般に、最高の性能と最短のclock-to-output遅延を提供します。ただし、One-hot実装は、通常Sequential実装よりも大きくなります。 |
Safe | 無効なステートに達した場合に、ステートマシンをリセットステートに強制する、追加のコントロール・ロジックを生成します。値Safeは、他の3つの値のいずれかと併用すると、ステートマシンは要求されたエンコーディング方式で実装され、リセットロジックも生成されます。 |
Syn_encodingディレクティブを適用するためのVHDLコード例
SIGNAL current_state : STD_LOGIC_VECTOR (7 DOWNTO 0);
ATTRIBUTE syn_encoding : STRING;
ATTRIBUTE syn_encoding OF current_state : SIGNAL IS "sequential";
デフォルトでは、ステートマシンのロジックは速度と面積に合わせて最適化されますが、これはクリティカル・システムにとっては望ましくない場合もあります。値safeは、無効なステートに達した場合に、ステートマシンをリセットステートに強制する、追加のコントロール・ロジックを生成します。