4.5. インテル® FPGA PTC - RAMページ
インテル® FPGA PTCによる各論理RAMモジュールの実装は、指定されている論理幅と深さに基づき、最小数の物理RAMブロックで、可能な限り電力効率の良い方法で行われます。

RAMブロックのモードを選択する際は、 Quartus® PrimeのコンパイラーによってRAMがどのように実装されるかを把握している必要があります。例えば、ROMが2つのポートで実装される場合は、ROMではなくトゥルー・デュアルポート・メモリーとみなされます。シングルポートおよびROMの実装では、1つのポートのみを使用します。シンプル・デュアルポートとトゥルー・デュアルポートの実装では、ポートAとポートBの両方を使用します。
- インテル® FPGA PTCでは、上記のように、RAMページと Power Summary テーブルでMLABの消費電力を報告します。
- Power Summary テーブルでは、 Agilex™ FPGAポートフォリオ・デバイスのMLAB消費電力は3つのカテゴリー (RAM、Logic、Miscellaneous) に分かれています。Miscellaneousには、他のFPGA回路で消費される動的消費電力 (W) が含まれます。これにより、 Quartus® PrimeのPower Analyzerで提供されるレポートとの整合性を保っています。
- RAM ページの一部のフィールドは、すべてのデバイスファミリーで利用できるわけではありません。
列の見出し | 詳細 | |
---|---|---|
Entity Name | この行のRAMのエンティティー名を入力します。これはオプションの値です。 |
|
Full Hierarchy Name | このエントリーに関連する階層パスを指定します。これはオプションのエントリーです。階層レベルを入力する際は、パイプ文字 (|) で階層レベルを表します。 | |
RAM Type | 実装されるRAMタイプを選択します。 RAMのタイプは、 Quartus® Prime Compilation Reportの Type 列で特定することができます。Compilation Reportで、 を選択します。 |
|
# of Instances | モジュール内の、同じメモリータイプとモードを使用し、同じポート・パラメーターをもつ論理RAMインスタンスの数を入力します。
注: このフィールドは、パーセント (10%など) での入力が可能です。これを使用して、インスタンスの数を計算します。「%」文字により、リソース数を整数として適切に計算し、適用するようにPTCに指示します。
各ポートのパラメーターは次のとおりです。
RAMブロックの数は、 Quartus® Prime Compilation Reportの MLAB cells 列または M20K blocks 列のいずれかで確認することができます。Compilation Reportで、 を選択します。
注: このフィールドに入力される値は、論理メモリーブロックの数を表します。指定されているメモリー深度とデータ幅によっては、1つの論理ブロックの実装に複数の物理メモリーブロックが必要になる場合があります。Power and Thermal Calculatorは、指定されているメモリー深度とデータ幅に基づき物理メモリーブロックの数を計算します。その際は、最小数の物理ブロックが使用されるようにし、最も電力効率の良い物理コンフィグレーションを想定します。
|
|
Vertical Network | M20KのRAMタイプの場合、このフィールドは、RAMが垂直ネットワークで使用されているかを指定します。次のオプションを選択することができます。
この列は、 Agilex™ 7 Mシリーズデバイスでのみ利用可能です。 |
|
Starting eSRAM ID / Vertical Network Column | 熱モデリングの配置情報を指定します。このフィールドは、RAM Type が eSRAM に設定されて # RAM Blocks が 1 に設定されている場合、または、RAMタイプがM20Kに設定されて垂直ネットワークが有効になっている場合にのみ適用されます。この列は、 Agilex™ FPGAポートフォリオ・デバイスファミリーでのみ利用可能です。 | |
Data Width | RAMブロックのデータ幅を入力します。この値は、RAMのタイプに基づき制限されます。RAMブロックの幅は、 Quartus® Prime Compilation Reportの Port A Width 列または Port B Width 列で確認することができます。Compilation Reportで、 を選択します。 ポートAとポートBの幅が異なるRAMブロックの場合は、大きいほうの幅を使用します。 |
|
RAM Depth | RAMブロックの深さをワード数で入力します。 RAMブロックの深さは、 Quartus® Prime Compilation Reportの Port A Depth 列または Port B Depth 列で確認することができます。Compilation Reportで、 を選択します。 |
|
RAM Mode | MLABおよびeSRAMのRAMタイプの場合、このフィールドに可能な値は1つしかありません (Simple Dual Port)。M20KのRAMタイプの場合は、次のモードから選択します。
このモードは、 Quartus® PrimeのコンパイラーがRAMを実装する方法に基づいています。メモリーモジュールがどのように実装されるかが不明な場合は、 Quartus® Prime開発ソフトウェアでテストケースを必要なコンフィグレーションでコンパイルすることができます。RAMのモードは、 Quartus® Prime Compilation Reportの Mode 列で確認することができます。Compilation Reportで、 を選択します。 シングルポートRAMには、読み出しおよび書き込みコントロール信号を備える1つのポートがあります。シンプル・デュアルポートRAMには、1つの読み出しポートと1つの書き込みポートがあります。トゥルー・デュアルポートRAMには2つのポートがあり、それぞれ、読み出しおよび書き込みコントロール信号を備えます。ROMは読み出し専用のシングルポートRAMです。シンプル・クアッドポートRAMには、合計4つのポート (2つの読み出しポートと2つの書き込みポート) があります。
注: MLABを使用してシンプル・デュアルポート・メモリー以上の実装を行うことはできますが、さまざまなモードの違いは他の入力フィールドを介して間接的に考慮されます。例えば、ポートの1つが未使用の場合は、そのクロック周波数を0に設定する必要があります。同様に、MLABがROMモードで使用されている場合は、Port A - Write Enable % を0に設定する必要があります。また、MLABの出力に追加レジスターを使用する場合は、それらのレジスターを Logic ページで指定する必要があります。
|
|
Port A - Clock Freq (MHz) | RAMブロックのポートAのクロック周波数を入力します (MHz)。この値は、RAMタイプとデバイスファミリーの最大周波数仕様によって制限されます。 |
|
Port A - Clock Enable % | RAMのデータおよびアドレス入力におけるアクティビティーに関係なく、ポートAのクロックイネーブルがアクティブな時間の平均割合です。この値は、0%から100%の間の値にする必要があります。RAMの電力は、クロックイベントが発生した際に主に消費されます。読み出しまたは書き込み動作が行われていない際にクロックイネーブル信号を使用してポートを無効にすると、大幅な消費電力の削減につながります。 |
|
Port A - Read Enable % | RAMブロックのポートAが読み出しモードになっている時間の割合を入力します。このフィールドは、トゥルー・デュアルポートRAMにのみ適用されます。 この値は、0%から100%の間の値にする必要があります。 |
|
Port A - Write Enable % | RAMブロックのポートAが書き込みモードになっている時間の平均割合を入力します。このフィールドは、デュアルポート、トゥルー・デュアルポート、およびクアッドポートのRAMにのみ適用されます。 この値は、0%から100%の間の値にする必要があります。 |
|
Port B - Clock Freq (MHz) | RAMブロックのポートBのクロック周波数を入力します (MHz)。 |
|
Port B - Clock Enable % | RAMのデータおよびアドレス入力におけるアクティビティーに関係なく、ポートBの入力クロックイネーブルがアクティブな時間の平均割合を入力します。イネーブルの割合は、0%から100%の範囲です。 RAMの電力は、クロックイベントが発生した際に主に消費されます。読み出しまたは書き込み動作が行われていない際にクロックイネーブル信号を使用してポートを無効にすると、大幅な消費電力の削減につながります。 |
|
Port B - Read Enable % | RAMブロックのポートBが読み出しモードになっている時間の割合を入力します。このフィールドは、デュアルポート、トゥルー・デュアルポート、およびクアッドポートのRAMとROMにのみ適用されます。 この値は、0%から100%の間の値にする必要があります。 |
|
Port B - Write Enable % | RAMブロックのポートBが書き込みモードになっている時間の割合を入力します。このフィールドは、トゥルー・デュアルポート・モードでのみ使用することができます。 この値は、0%から100%の間の値にする必要があります。 |
|
Port C - Write Enable % | RAMブロックがこのポートに書き込みを行っている時間の割合を入力します。Simple Quad-Port Modeでは、すべての部分のクロックとクロックイネーブルが共有され、ポートAと同じになります。 この値は、0%から100%の間の値にする必要があります。 |
|
Port D - Read Enable % | RAMブロックがこのポートで読み出しを行っている時間の割合を入力します。Simple Quad-Port Modeでは、すべての部分のクロックとクロックイネーブルが共有され、ポートAと同じになります。 この値は、0%から100%の間の値にする必要があります。 |
|
Vertical Network Port – Read From External Memory Enable % | データが外部メモリーからM20Kブロックに読み出される時間の割合を入力します。この値は、0%から100%の間の値にする必要があります。 この列は、 Agilex™ 7 Mシリーズデバイスでのみ利用することができます。 |
|
Vertical Network Port – Clock Enable % | データおよびアドレス入力におけるアクティビティーに関係なく、垂直ネットワーク・ポートのクロックイネーブルがアクティブな時間の平均割合を入力します。この値は、0%から100%の間の値にする必要があります。 この列は、 Agilex™ 7 Mシリーズデバイスでのみ利用することができます。 |
|
Toggle % | ブロックの出力信号で値が変化するクロックサイクルの割合です。この値にクロック周波数とイネーブルの割合を掛け、1秒あたりの遷移数を特定します。この値は、配線の消費電力にのみ影響します。 50%は、ランダムに変化する信号に対応します。半分の時間は信号で同じ値が保持されており、遷移しません。この値は、RAMブロックの最大の有意なトグルレートであると考えられます。 |
|
Power (W) | Routing Power (W) | 算出された配線による消費電力を示します (W)。 配線による消費電力は、配置と配線に依存します。これは、デザインの複雑さに相関します。示される値は、100を超える実際のデザインで観察された動作に基づく配線の消費電力の概算を表しています。 Quartus® PrimeのPower Analyzerを使用して、デザインで使用される実際の配線に基づく正確な解析を行います。 |
Block Power (W) | RAMの内部トグルに起因する消費電力を示します (W)。 Quartus® PrimeのPower Analyzerを使用して、デザインの実際のRAMモードに基づく正確な解析を行います。 |
|
Total Power (W) | インテル® FPGA PTCに入力された情報に基づき、推定消費電力を示します (W)。総消費電力は、配線の消費電力とブロックの消費電力の合計に等しくなります。 |
|
User Comments | 任意のコメントを入力します。この入力はオプションです。 |