前のセクションでは、不必要に悪い前提条件を使用して URAA を計算しましたが、ここではより良い条件で見積もりを実行し、最終的な URAA 値を小さくする方法について説明します。次に、URAA とクロックばらつきの関係を表したグラフを参考までに示します。
同時に有効/無効にされる RAM ブロックを解析して、より小さい URAA 値を見つける方法
同時に有効/無効にできる RAM の最大ブロックを定義できると、より小さい URAA 値を計算で求めることができます。この計算には、前のセクションで示した式を使用します。RAM 周波数の合計は、同時に有効/無効にする RAM の最大ブロックを使用して計算します。同時とは、両方が 45ns 以内に有効にされる場合と定義されます。このウィンドウ内に切り替えが発生しない RAM インスタンスは除外できます。この情報はシミュレーションから得ることができ、スタティック タイミング解析では得ることができません。
たとえば、デザインで使用する BRAM36 サイト数が 500 (平均周波数 200MHz) で、URAM サイト数が 300 (平均周波数 400MHz) の場合、RAA は次式で求めます。
説明:
実際のデザインでは、250 個の BRAM36 サイトと 100 個の URAM サイトしか同時に有効にはならないことがわかっているとします。この場合、RAA の計算値を次のように小さくできます。
説明:
上記の例で、250 個の BRAM36 サイトのグループと 100 個の URAM サイトのグループを一緒には有効にできない場合、それぞれを個別に計算して大きい方の URAA 値を使用する必要があります。
説明:
説明:
クロックのばらつきをデフォルトから軽減した場合の例については、 『Versal アダプティブ SoC ハードウェア、IP、およびプラットフォーム開発設計手法ガイド』 (UG1387) の「ジッター用の RAM アクティビティの指定」を参照してください。このセクションには、不必要に悪い条件で見積もったデフォルトの 480 に対し、USER_RAM_AVERAGE_ACTIVITY を 160 に設定することにより、クロックのばらつきがどれだけ減少したかが示してあります。
RAM を有効/無効にできるレートを制限して、より小さい URAA 値を見つける方法
RAM を有効/無効にする最大レートが 22MHz 以下であることを実証できる場合、URAA の値を 1.5 で割ることができます。
レートが 22MHz の場合、個々の RAM を有効/無効にする間隔は 45ns となります。たとえば、300MHz で URAA を計算し、22MHz の規則を適用した場合、URAA は 200MHz (300MHz/1.5) として入力できます。この係数は、このセクションで説明したすべての計算結果に対して適用されます。