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

ID 683641
日付 7/08/2024
Public
ドキュメント目次

5.5.9.1. ソースコードの最適化

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

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

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

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