ブロック RAM でのパフォーマンスと消費電力のトレードオフ - 2023.2 日本語

Versal アダプティブ SoC ハードウェア、IP、およびプラットフォーム開発設計手法ガイド (UG1387)

Document ID
UG1387
Release Date
2023-11-15
Version
2023.2 日本語

特定の要件に対応するため、メモリ構造を分割する方法が複数あります。デザインの要件は、クロック周波数、消費電力、またはその両方の組み合わせです。

次の例では、要件を達成するために生成可能な異なる構造を示します。クロック周波数と消費電力のトレードオフのため、CASCADE_HEIGHT 属性を使用してブロック RAM のカスケードを制限できます。この属性の使用方法および引数は、 『Vivado Design Suite ユーザー ガイド: 合成』 (UG901) を参照してください。

次の図に、高クロック周波数 (タイミング) を達成するための 4Kx32 メモリ構造の例を示します。

図 1. 4Kx8 と CASCADE_HEIGHT=1 を使用した 4Kx32 の RTL 記述

このインプリメンテーションでは、各読み出しまたは書き込みですべてのブロック RAM が常にイネーブルになっているので、消費電力が増加します。

次の図に、低消費電力を達成するためにすべてのブロック RAM をカスケード接続した例を示します。

図 2. 1Kx32 と CASCADE_HEIGHT=4 を使用した 4Kx32 の RTL 記述

このインプリメンテーションでは、各ユニットから一度に選択されるブロック RAM は 1 つなので、ダイナミックな消費電力はほぼ半分になります。ブロック RAM には専用のカスケード MUX と配線構造があり、複数のブロック RAM プリミティブを必要とする幅が広くワード数の多いメモリを、電力効率の高い構造で作成できます。

次の図に、カスケード接続を制限し、クロック周波数をトレードオフせずに、消費電力とパフォーマンスの両方を向上する例を示します。

図 3. 2Kx16 と CASCADE_HEIGHT=2 を使用した 4Kx32 の RTL 記述

このインプリメンテーションでは、一度に 2 個のブロック RAM が選択されるので、ダイナミック消費電力は高クロック周波数構造よりも低くなりますが、低消費電力構造よりは高くなります。この構造の利点は、クリティカル パスに 4 個のブロック RAM が含まれている低消費電力構造と比較して、カスケード パスに使用されるブロック RAM は 2 つのみであり、ターゲット周波数が高くなることです。