はじめに
EMIF Tool Kit の機能に Driver Margining と言う機能があります。本記事ではこの機能と使い方に関して紹介します。
Driver Margining 機能 とは?
EMIF Tool Kit の Driver Margining とは
ユーザモード時の Read/Write のマージンを観測する機能
となります。
Calibration でも Read/Write のマージンを観測しますが、Driver Marginingは
ユーザーモード時の Read/Write のマージンを観測します。
以下の資料に概要が記載されています。
External Memory Interfaces Intel® Arria® 10 FPGA IP User Guide
-
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug-20115.pdf
= > 13.10. Driver Margining for Intel Arria 10 EMIF IP
Example Design を例にした場合、使う上でポイントとなるのは、上記資料のように
・ In-System Sources/Probes を Enable にする
qsfに以下の設定を追加:
set_global_assignment -name VERILOG_MACRO "ALTERA_EMIF_ENABLE_ISSP=1"
・Reset_n/Pass/Fail/PNFを In-System Sources/Probes で接続する
となります。
Driver Margining の機能を実行する具体的な手順
具体的な手順は以下となります。
- IP生成時に、Example Design を作成する
- In-System Sources/Probes を Enableにする (qsf に上記設定を追加)
- コンパイル => FPGA に書き込み
- EMIF Toolkit を開き、以下の①~⑤の順番で実行
5. 上記⑤の "Driver Margining" を押すと下記画面が出ますので、それぞれの項目で下記の信号を選択
(インテル® Quartus® Prime 開発ソフトウェア のバージョンやエディションの違いで若干見え方が違う可能性があります)
6. Driver Margining が終了すると、レポートウインドウに Margin Report が表示されますので
各レポートから波形等を確認して、マージンがあるか確認出来ます。
参考
これらの手順はユーザーガイドの以下の章にも記載がありますので参照ください。
External Memory Interfaces Intel® Arria® 10 FPGA IP User Guide
-
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug-20115.pdf
= > 13.10.1. Determining Margin