はじめに
インテル® Arria® 10 FPGA のメモリー・コントローラー は ハード・メモリー・コントローラー で 各I/O Bank に1つ実装されており、同一I/O Column に複数のメモリー・コントローラを実装可能です。一方キャリブレーションをおこなうモジュールは各I/O Column に1つなので、複数のメモリー・コントローラーを実装した場合は、キャリブレーションは同時に行われずに順番に行われます。
この記事では、そのキャリブレーションの仕組みを説明します。
インテル® Arria® 10 FPGA のメモリー・コントローラーはデバイスにどのような構成になっている?
インテル® Arria® 10 FPGA のデバイスは以下の図のように、2つのI/O Column があり、各I/O Bank に1つのハード・メモリー・コントローラが実装されています。
I/O Bank は I/O Column 上に複数あり、さらにキャリブレーションを行う Nios® ll が入った I/O AUX が
1つの I/O Column に一つ実装されています。
メモリー・コントローラーのキャリブレーションの仕組み
キャリブレーションを行う Nios® ll が入った I/O AUX は I/O Column に一つのため、I/O Columnに複数の メモリー・コントローラーが存在する場合は順番にキャリブレーションを行うことになります。
このため、複数の メモリー・コントローラーを実装したシステムの場合、全てのメモリー・コントローラーのキャリブレーションが終了するまで、時間を要する可能性がありますのでご注意下さい。
キャリブレーションが終了する時間
一つのメモリー・コントローラーにおけるキャリブレーションが終了する時間は、構成するメモリーにより変わります。
例えば「DDR3, x64 UDIMM, DQS x8, DM on」「1 rank, 933 MHz」の場合は、"102 ms"が平均的にかかるキャリブレーションの時間となっています。
詳しいキャリブレーションの時間は以下の資料を参照して下さい。
-
https://www.intel.com/content/www/us/en/programmable/documentation/hco1416493470528.html#mhi1461170950981
= > Table 58. Arria 10 EMIF IP Approximate Calibration Times
参考
-
https://www.intel.com/content/www/us/en/programmable/documentation/hco1416493470528.html#hco1416492636192
- Arria 10 EMIF Architecture: I/O Column
- Arria 10 EMIF Architecture: I/O AUX