はじめに
インテル® FPGA のコンフィグレーション ROM としてインテル® FPGA シリアル・コンフィグレーション・デバイス(EPCS、EPCQ、EPCQ-L)シリーズが用意されていますが、これらは EOL となり、128Mbits 以下の容量は EPCQ-A、256Mbits 以上の容量は汎用の QSPI Flash を使用する必要があります。
インテル® FPGA シリアル・コンフィグレーション・デバイスにプログラムを行う場合は、インテル® Quartus® Prime 開発ソフトウェア(以後 Quartus® Prime)を使用することができます。
また、256Mbits 以上の汎用の QSPI Flash をプログラムする場合、Micron の場合は、v17.1 以上の Quartus® Prime で対応しています。
(quartus.ini ファイルに、pgm_allow_mt25q=on を追加する必要があります)
一方で、汎用のプログラミング・ライターを使用する場合は注意が必要です。
EPCS、EPCQ、EPCQ-L、EPCQ-A の場合は、主要なプログラミング・ベンダーは POF ファイルをサポートしていますが、汎用の QSPI ROM へプログラミングを行う場合は、POF ファイルはサポートされていないため、バイナリーファイル形式の RPD ファイルを作成する必要があります。
そして、FPGA のコンフィグレーションを正常に完了させるためには、Big Endian 形式の RPD ファイルを作成する必要があります。
ここでは、Big Endian 形式の RPD ファイルの作成方法について記載します。
Big Endian 形式の RPD ファイルの作成方法
Quartus® Prime の File メニューより、Convert Programming Files.. を選択します。
各設定項目は、下記の通りです。
- Programming file type : は、Programmer Object File (.pof) を選択
- Configuration device: は、汎用ROM(ここでは、MT25QL256) を選択
- Mode: は Active Serial x4 あるいは、Active Serial を選択
- File name: は任意のファイル名を入力
- Create config data RPD をチェック
- Input files to convert には、SOF ファイルを指定
Big Endian 形式の RPD ファイルを作成するには [Options/Boot info...] ボタンをクリックし、Big Endian をチェックします。
OK ボタンをクリックし、適用します。
これで、3rd Party のプログラマーを使用して、汎用の QSPI Flash にコンフィグレーションデータ(.RPD)を書き込むためのファイルを作成することができます。