こんにちは。梅おにぎり です。
最近コンフィグレーションに関する質問を頂くことがよくあります。

先日は「アルテラのコンフィグレーション ROM にはどんなものがありますか?」 との質問を受けました。
アルテラが提供しているコンフィグレーション ROM には EPCS®EPCQ® の2種類があります。

今回はこの2種類の違いと使用時の注意点について勉強していきます。

違いは何?

EPCS と EPCQ の大きな違いは2点あります。
1 つ目はメモリ容量です。下図に示す通り EPCQ の方が全体的に大容量となっています。

2 つ目はデータ転送の bit 幅です。 EPCS は Serial なのでデータ幅は 1 bit、EPCQ は Quad なのでデータ幅は 4 bit (1 bit も可能)となっています。
そのためメモリ容量が同じでデータ転送クロックが同じ周波数の場合、EPCQ で 4 bit のデータ幅で転送した方がコンフィグレーション時間は短縮できます。

EPCQ は 4 bit でのデータ転送だけでなく 1 bit でデータ転送することも可能となっています。また EPCS と EPCQ はピンコンパチとなっています。

図をよく見ると EPCS と EPCQ でピンの名前が少し違っているのがわかります。
DATA (EPCS) は DATA1 (EPCQ)、ASDI (EPCS) は DATA0 (EPCQ) となっています。
ピンの名前は違いますが問題はありませんので安心してお使いください。

実際に EPCQ を使ってみよう!

研修時の製作実習では EPCS を使って AS モードでコンフィグレーションをしていました。
この EPCS を EPCQ にしてコンフィグレーションできるかを実際に試してみましょう。

因みに製作実習の基板には Cyclone® IV が搭載されています。条件は製作実習の時と同じになるよう Quartus® II 13.0 を使用しました。
作業は簡単。デバイスを置き換えて EPCQ にデータを書き込むだけ。書き込みが完了したら基板の電源を一度落としてから再度電源を投入、、、、、、、、

あれ? コンフィグレーションが完了しないぞ! EPCS に書き込んだ際には正常動作していたデザインで動かない...
EPCQ に書き込む pof ファイルも通常通り生成したのになぁ。
焦る梅おにぎり。

そこで先輩に聞いてみました。

私: 「EPCQ を使って AS モードでのコンフィグレーションが出来ないんですよ」

先輩: 「プログラミング・ファイルを生成するときに “Disable EPCS ID check” をオンにした?」

私: 「なんですか?それ?」


AS モードで EPCQ を使用する際には “Disable EPCS ID check” をオンにする必要があるようです。
アルテラの Knowledge Data Base にもこれに関する記載がありました。

Convert Programing Files → Advanced から “Disable EPCS ID check” をオンにします。

“Disable EPCS ID check” をオンにして pof ファイルを生成後、書き込みを行うと正常に動作しました。
これにて動作確認完了!

まとめ

EPCS と EPCQ はピンコンパチなので置き換え可能。実際に AS モードで EPCQ を使用する際には “Disable EPCS ID check” をオンにすることも忘れずに。