こんにちは。

マクニカでインテル® FPGA 製品の技術サポートをしている インテル・F・ハナコ です。

 

MAX® 10 には、コンフィグレーション・ピン(nCONFIG、nSTARUS、CONF_DONE)をユーザー・モード中に

ユーザー I/O ピンとして使用できるオプションがあります。
Quartus® Prime において、以下のオプションにより適応させます。

 

Enable nCONFIG, nSTATUS, and CONF_DONE pins = Off

 

このオプションは、Assignments メニュー > Device > Device and Pin Options の General カテゴリ内にあります。

ユーザー I/O ピンとして使用するときの注意点

nCONFIG、nSTARUS、CONF_DONE ピンをユーザー I/O ピンとして使用したとしても、これらのピンはコンフィグレーション中(イニシャライズを含む)はコンフィグレーション・ピン扱いであるため、下記いずれかの対応が必須です。

 

★ 外部 I/O ドライバーをトライステートにし、外部ウィークプルアップ抵抗を駆動する。(※)
  ※ 外部ウィークプルアップ抵抗を削除する場合には、インテルは、デバイスがユーザー・モードに入った後で削除することを推奨しています。

 

または

★ 外部 I/O ドライバーを使用して、ピンを外部ウィークプルアップ抵抗と同じ状態に駆動する。

 

また、
★ コンフィグレーション・ピンをユーザー I/O ピンとして使用する場合、

  nCONFIG ピンのみ シングル・エンドの入力ピン(※)として使用しなければならない。
  ※ 出力ピンまたは双方向ピンとしてアサインした場合は、コンパイルでエラーになります。

 

 

もしも、Enable nCONFIG, nSTATUS, and CONF_DONE pins = Off に設定しながらも nCONFIG、nSTATUS、CONF_DONE ピンをすべてユーザー I/O として使用しない場合には、レギュラー・ユーザー I/O の未使用ピン処理と同様に Reserved Pin オプションにて属性の割り当てを行ってください。

その際、nCONFIG ピンは入力属性(As input ~)でなければなりません。

nSTATUS および CONF_DONE ピンはいずれの属性でも構いません。

その際は、ボード上の処理はその設定内容に応じて適切に行ってください。

 

[関連情報] Quartus Prime はじめてガイド - ピン・アサインの方法 

 

 

なお、Enable nCONFIG, nSTATUS, and CONF_DONE pins = Off にすると、ユーザー・モード中これらのピンは GPIO となるため、nCONFIG = Low にして FPGA ファブリック側のコンフィグレーション・データをリセットすることや、再び High にして再コンフィグレーションを実施することができなくなりますので、ご注意ください。

ハナコのつぶやき

以上のことから、私個人の意見ですが、コンフィグレーション・ピンはやっぱり専用ピンとして使うことをお勧めします。

 

 

 

ユーザー・モード時に コンフィグレーション・ピンをユーザー I/O ピンとして使用する場合には、これらを守ってください。

 

 

 

おすすめ記事/資料はこちら

MAX 10 で JTAG ピンをユーザー I/O として使用するときの注意点

おすすめ FAQ はこちら

MAX 10 デバイスの nCONFIG をユーザ I/O ピンとして使用することはできますか?