インテル® Quartus® Primeプロ・エディションのユーザーガイド: タイミング・アナライザー

ID 683243
日付 1/31/2023
Public
ドキュメント目次

1.2.10. 時間の借用

時間の借用により、パフォーマンスを向上させることができます。この場合、時間を借りるフリップフロップまたはラッチで終了するパスで、レジスター・パイプラインの次のパスから時間を「借りる」ことができるようにします。借りた時間は次のパスから差し引かれるため、累積タイミングは同じになります。このように、時間を借りることにより、デザインのよりクリティカルな部分にスラックを移すことができます。時間を借りない場合、タイミング・アナライザーは各パスを個別に解析し、通常は各転送に正確に 1 クロックサイクルを想定します。
図 34. 時間借用例

インテル® Stratix® 10 および インテル® Arria® 10 デバイスの一部のフリップフロップでは、時間の借用が可能です。時間借用に利用できる正確なウィンドウサイズは、ハードウェアの設定によって異なります。Fitter (Finalize) ステージでは、ハードウェアの制約と利用可能なホールドスラックに基づき、時間を借りる各フリップフロップに適切な借用ウィンドウが自動的にコンフィグレーションされます。1

図 35. さまざまなスラック条件と借用値での時間借り

インテル FPGA デバイスは通常、いくつかの借用ウィンドウサイズのみをサポートします。例えば、 インテル® Stratix® 10 デバイスは、小、中、大をサポートします。通常は、複数のフリップフロップのグループで同じ設定を共有します。実際に借りる値は、特定の借用ウィンドウ内で制限なく柔軟に変更可能です。タイミング・アナライザーによる借用量の計算は、動作条件、クロック、および信号の立ち上がりエッジと立ち下がりエッジごとに個別に行われます。より広い借用ウィンドウを選択すると、ホールドスラックが減少します。コンパイラーは、ホールドスラックで許容される場合にのみ、より広い設定を選択します。さらに、(最適な時間借用ソリューションに基づき) 特定のレジスターグループに対して狭いウィンドウで十分であるとコンパイラーが判断した場合、コンパイラーは、広いウィンドウに十分なホールドスラックがある場合でも、狭いウィンドウを使用します。

特定の借用ウィンドウサイズにおいて、借用ウィンドウの正確なサイズはレジスター入力 (d または sclr など)、着信信号のエッジ (立ち上がりまたは立ち下がり)、デバイスのスピードグレード、および動作条件によって異なります。

RTL を変更せずに、時間借用の自動実装を有効にすることができます。有効にすると、フィッターは自動的にウィンドウサイズをコンフィグレーションします。また、フィッターは、デザインのレジスターで利用可能な借用ウィンドウ内で最適な時間借用量を決定し、時間借用フリップフロップに配置します。

レベル・センシティブなラッチを含むデザインで適切なタイミング解析を行うには通常、時間の借用が必要です。ただし、フィッターによる自動時間借用最適化は、レベル・センシティブなラッチに適用されません。これは、ラッチでの時間借用 で詳しく説明しています。

1 パーシャル・リコンフィグレーション・デザインでは、追加制約が時間借用ウィンドウサイズに適用される場合があります。