インテル® Quartus® Primeプロ・エディションのユーザーガイド: デザイン最適化

ID 683641
日付 9/30/2019
Public
ドキュメント目次

5.6.5.1. ソース・コードの最適化

多くの場合、デザインのソース・コードの最適化はデザインの性能に非常に大きな影響を与えます。実際、ソース・コードを最適化することが一般的にはデザイン結果の品質を向上させるための最も効果的な方法であり、LogicLockやロケーション・アサインメントを使用するよりも良い選択といえます。

コーディング中にロジックを実装するために必要なロジックレベルの数に注意してください。 レジスター間のロジックのレベルが多すぎると、クリティカル・パスでタイミングが失われる可能性があります。 パイプライン処理またはより効率的なコーディング手法を使用するようにデザインを再構築してみてください。 また、ソースコードでファンアウトの大きい信号を制限してみてください。 可能であれば、制御信号を複製してパイプライン処理します。 合成中のマージを避けるために、重複するレジスターが保存された属性によって保護されていることを確認してください。

デザインのクリティカル・パスにメモリやDSP機能が存在する場合、推測されずに専用ロジック内に配置されているメモリーや機能を説明するコード・ブロックがデザインに含まれているかどうかを確認してください。 場合によっては、これらの機能がターゲット・デバイスの高性能な専用メモリーもしくはリソースに配置されるようにソース・コードを変更することも可能です。 RAM/DSPブロックを使用するのであれば、オプションの入力レジスターと出力レジスターをイネーブルします。

ステートマシンがステート・マシン・ロジックとして認識され、合成ツールで適切に最適化されていることを確認してください。 認識されるステートマシンは、一般に合成ツールがそれらを汎用ロジックとして扱う場合よりも最適化されています。 インテル® Quartus® Primeソフトウェアでは、Compilation ReportのAnalysis & Synthesisの下にあるState Machineレポートを確認できます。 このレポートには、コンパイル中に認識された各ステートマシンの状態エンコードなど、詳細が記載されています。 ステートマシンが認識されない場合は、認識できるようにソースコードを変更する必要があります。