図 1. デバッグ GUI
- 1. デバッグ ツリー
- デザインに含まれるすべてのデバッグ要素が一覧で表示されます。統合メモリ インターフェイスの場合、4 つがすべて表示され、右側にそれぞれのステータスが表示されます。「DISABLED」と表示されているメモリ コントローラーは、現在の構成では使用されていません。いずれかの DDRMC を選択すると、すべてのウィンドウのデータが更新されます。
DDRMC_x は、デバイス上のメモリ コントローラーの物理的位置を示すラベルです。DDRMC_1 は、左端のプロセッサの下にあるメモリ コントローラーです。DDRMC_2 はその右隣のメモリ コントローラーです (以下同様)。
- 2. [Core Properties]
- このウィンドウには 3 つのビューがあります([General]、[Properties]、および [Configuration])。[General] ビューには、メモリ コントローラーの基本ステータスが表示されます。
[Properties] ビューには、メモリ コントローラーのすべての内部レジスタの一覧が表示されます (下図参照)。
図 2. [DDRMC Core Properties] ウィンドウ: [Properties] ビュー左上にあるルーペ アイコンをクリックすると、検索機能を利用できます。この機能は、数百もあるプロパティから目的の情報を絞り込む場合に役立ちます。
[Configuration] ビューには、データ幅、ランク数、バイト数、メモリ周波数など、メモリ コントローラーにプログラムした設定情報が表示されます (下図参照)。
図 3. [DDRMC Core Properties] ウィンドウ: [Configuration] ビュー - 3. メモリ コントローラー ステータス
- このウィンドウには、メモリ コントローラーの全体的なステータスが表示されます。キャリブレーションでエラーが発生した場合、問題の詳細およびエラーの発生位置 (バイト レーンやニブルなど) がここに表示されます。
- 4. キャリブレーション ステージ
- このウィンドウには、特定の構成に対してメモリ インターフェイスのブリングアップに必要なすべてのキャリブレーション ステートが表示されます。メモリ タイプ (DDR4 か LPDDR4 か)、またはメモリの動作周波数によって、ステージの内容が異なります。
キャリブレーション エラーが発生した場合、どのステージでエラーが発生したかが表示されます。
- 5. マージン データ
- このウィンドウには、キャリブレーションで得られたマージン データが表示されます (下図参照)。マージン データは、読み出しモードと書き込みモードの両方にあります。各モードには、シンプル パターンと複雑パターンがあります。これは、使用するデータ パターンの難易度を表します。複雑データ パターンの方がシンプル パターンよりもビット遷移が多く、より多くのノイズが発生するため、ウィンドウが小さくなります。また、DQS の立ち上がりエッジと立ち下がりエッジを選択するオプションもあります。 図 4. メモリ コントローラーの [Margin Analysis] ウィンドウ: [Table] ビュー
マージン データは、グラフ形式で表示することもできます (下図参照)。こうすると、各バイト レーンのウィンドウ マージンを簡単に比較できます。垂直方向の点線は、比較のための目安として最小ウィンドウ サイズを示します。正しい動作が得られる最小マージンを表すものではありません。
このグラフ表示は、不適切なレイアウトに起因する問題の特定に役立ちます。1 つのニブルまたはバイト レーンだけがほかのものよりも極端に小さい場合、そのレーンのレイアウトに配線ルール違反がないかどうかを確認することを推奨します。
図 5. メモリ コントローラーの [Margin Analysis] ウィンドウ: [Chart] ビュー