目次
- 1. MAX1000のCONF_DONE LED
- 2. MAX10のCONF_DONE
- 3. 結論
MAX1000のコンフィグ完了LEDの動きが想像と違ってた。
コンフィグ完了で点灯するという暗黙的に思っていたけど、MAX1000はコンフィグ完了で消灯する。意図してなのか、基板回路の設計ミスか・・・。ま、どっちでもいいけど。
MAX1000のCONF_DONE LED
動作
コンフィグ状態 | LED状態 | CONF_DONE信号 |
---|---|---|
コンフィグ前 | 点灯 | L |
コンフィグ中 | 点灯 | L |
コンフィグ完了後 | 消灯 | H |
上の表のような動きです。
回路は↓のようになっていて、FPGAが電流を吸い込むとき(Lレベルのとき)にLEDが点灯します。(左のほうにFPGAがあります)
せっかくなので動作確認
ほんとに少しだけ確認してみました。
別件でCONF_DONEからコネクタへジャンパしている経路を利用して、CONF_DONEにつながる(一般のIO)ピンをFPGA内部でHとLにつないでみます。
以下がソース。
やったのはこれだけですが、 0のとき点灯、1のとき消灯で予想通りの動作です。
conf_done <= '0';
conf_done <= '1';
MAX10のCONF_DONE
データシートも確認しました。かなり要約しましたが、次のような順序でデバイスが起動してきます。
- CONF_DONEはコンフィグレーション(Configuration)が終わるとリリースされる
- コンフィグレーションの次にイニシャライズ(Initialize)
- イニシャライズ後、ユーザモードになる
- ユーザモードでは、ユーザが設計したデザインが動作する
Configurationピン
データシートのコンフィグピンのまとめ(下図)を見てもイニシャライズ完了がわかるピン(INIT_DONE)はなさそうです。
なので、CONF_DONEを監視することで起動完了を知るのがいいのかなと思います。
「表 24. MAX 10 デバイスのコンフィグレーション・ピンのまとめ」より
コンフィグレーション・ピン | 入力/出力 | コンフィグレーション手法 |
---|---|---|
CRC_ERROR | 出力のみ、オープンドレイン | オプショナル、JTAGおよび内部コンフィグレーション |
CONFIG_SEL | 入力のみ | 内部コンフィグレーション |
DEV_CLRn | 入力のみ | オプショナル、JTAGおよび内部コンフィグレーション |
DEV_OE | 入力のみ | オプショナル、JTAGおよび内部コンフィグレーション |
CONF_DONE | 双方向、オープンドレイン | JTAGおよび内部コンフィグレーション |
nCONFIG | 入力のみ | JTAGおよび内部コンフィグレーション |
nSTATUS | 双方向、オープンドレイン | JTAGおよび内部コンフィグレーション |
JTAGEN | 入力のみ | オプショナル、JTAG コンフィグレーション |
TCK | 入力のみ | JTAGコンフィグレーション |
TDO | 出力のみ | JTAGコンフィグレーション |
TMS | 入力のみ | JTAGコンフィグレーション |
TDI | 入力のみ | JTAGコンフィグレーション |
結論
- コンフィグ完了LEDは、コンフィグ完了時に消灯する
- INIT_DONEピンはないので、CONF_DONEピンを監視してデバイスの起動を確認する
コメントを残す