サイト内検索

このコンテンツのポイント!

  • Altera社の Quad-Serial コンフィギュレーション・デバイス(EPCQ デバイス)がサポートする ×1 モードで、EPCS デバイスしかサポートしていない FPGA が正常にコンフィギュレーションされるか?を検証
  • EPCS デバイスと EPCQ デバイスの比較やプログラミング・ファイルの生成方法を解説

1. はじめに


 FPGA は電源投入後、外部記憶メモリより回路情報を転送する "コンフィギュレーション" と呼ばれている動作が行われます。

 アルテラでは、以前よりシリアル・コンフィギュレーション・デバイス(以降、EPCS デバイス)をリリースしており、EPCS デバイスを使用したアクティブ・シリアル(以降、AS)モードにより、もっとも簡単な回路構成でコンフィギュレーションさせることが可能です。しかし、最近の FPGA ではデバイス規模の増加に伴い、EPCS デバイスでは容量不足となるケースやコンフィギュレーション時間の増加により、装置の起動時間が遅くなるなどシステム的に問題となるケース場合があります。

 アルテラでは、上記のような問題に対応できる新しいコンフィギュレーション・デバイスである Quad-Serial コンフィギュレーション・デバイス(以降、EPCQ デバイス)をリリースしました。

  EPCQ デバイスの特徴としては、

  • AS コンフィギュレーションにおいて、×4/×1 をサポート
  • 低コスト、少ないピン数の不揮発性メモリ
  • 2.7-3.6V の動作電圧をサポート
  • 100,000 回以上の消去または再書き込みが可能
  • ライト・プロテクション機能をサポート

などがあります。

 詳細については、下記データシートや弊社の関連サイトをご覧ください。

■ Quad-Serial Configuration (EPCQ) データシート
  https://www.altera.com/en_US/pdfs/literature/hb/cfg/cfg_cf52012.pdf

■ EPCQ(Quad-Serial コンフィギュレーション・デバイス)
 http://www.elsena.co.jp/elspear/altera/device/configuration/epcq/

 この特徴の中に、"AS コンフィギュレーション ×1 に対応" とあります。EPCQ デバイスがリリースされた後に登場された FPGA(Stratix® V デバイス、Arria® V デバイス、Cyclone® V デバイスなど)であれば動作することに問題はありませんが、それ以前にリリースされた FPGA に関しては ×1 で動作するかに不安があるかと思います。

  本記事では、EPCS デバイスが実装された基板を用いてコンフィギュレーション・デバイスを EPCS デバイスから EPCQ デバイスへ換装し、EPCQ ×1 で動作検証を行っていきます。また、その時の注意点も併せて紹介していきます。

 本資料を参考にしていただく事で、EPCQ デバイスを使用する上での不安が解消されれば幸いです。


2. EPCQ デバイスの特徴

2-1. EPCS デバイスと EPCQ デバイスのラインナップ

Article header 1  4
EPCS デバイスと EPCQ デバイスのラインナップ


  EPCS16 の 8ピン SOIC までは EPCQ16 の 8ピン SOIC が対応し、EPCS64 以上の容量には同じ容量の EPCQ デバイスが同じパッケージで用意されております。また、EPCS デバイスにはライナップされていない 32Mbit 品や最大 512Mbit までがラインナップされていますので、今まで以上に選択肢が増えています。

2-2. ピンの説明

Article header 1  5
EPCS デバイスと EPCQ デバイス ×1 のピン配置


 16ピンの SOIC のシンボル内に EPCS デバイスでは (1) と記載されたピンがあり、EPCQ デバイスでは黄枠で示されたピンがあります。それぞれのピン説明は同じコメント "You can leave these pins floating or you can connect them to to Vcc or GND" が記載されているため、ピン処理は同じ方法で問題ありません。

 EPCS デバイスと EPCQ デバイス ×1 では、DATA が DATA1に、ASDI が DATA0 とピン名が変わっていますので、FPGA との接続時にはご注意ください。

2-3. Quartus II 開発ソフトウェアのサポート


 EPCQ デバイスを ×1 で使用する場合は、Quartus® II 開発ソフトウェアの設定で ×1 仕様の設定を行い、プログラミング・ファイルを生成します。

 EPCQ デバイスの型式により、Quartus II 開発ソフトウェアがサポートしているバージョンが異なりますので、プログラミング・ファイルの生成時にはご注意ください。

Article header 2  3
EPCQ デバイスとサポートする Quartus II 開発ソフトウェアのバージョン

2-4. その他


 EPCS デバイスと EPCQ デバイスの内部レジスタ・マップやアクセス・タイミング等の詳細な情報を確認される場合は、デバイス毎に準備されているデータシートをご参照ください。

  EPCS : https://www.altera.com/en_US/pdfs/literature/hb/cfg/cyc_c51014.pdf
  EPCQ : https://www.altera.com/en_US/pdfs/literature/hb/cfg/cfg_cf52012.pdf

 本ページに掲載した情報は、下記の資料より抽出した内容となります。

  EPCS 情報 : Jan 2012 Serial Configuration (EPCS) Devices Datasheet
  EPCQ 情報 : 2014.01.10  Quad-Serial Configuration (EPCQ) Devices Datasheet

 資料の更新に伴い、掲載内容と変更される可能性がありますので、必ず上記 URL にある最新のデータシートをご参照ください。

3. Cyclone III デバイスへのコンフィギュレーション検証


 Cyclone III デバイスの検証には、株式会社アルティマ製評価検証用ボード Sapphire を使用しました。外観はこのような形状の白い基板になります。

Article header 8  2
Saphire ボードの外観図


 本ボードには、EPCS64 の SOIC 16ピンが実装(図8 青枠部分)されております。今回は EPCQ256 の同パッケージに換装して検証を行います。実装されている FPGA は EP3C25F324C8NES です。

Article header 9  2
FPGA (Cyclone III デバイス) の外観図

3-1. コンフィギュレーション・デバイスの換装


 実装されている EPCS64 を取り外し、EPCQ256 を実装します。

Article header 10  1
コンフィギュレーション・デバイスの交換推移


 EPCQ256 は新品かつ未プログラミングなのでコンフィギュレーションできないはずですが、念の為電源投入してコンフィギュレーションができない事を確認しました。

3-2. プログラミング・ファイルの生成


 プログラミング・ファイルの変換の際に使用したのは、Quartus II 開発ソフトウェア v13.0SP1 です。変換元となる SOF ファイルは、Quartus II 開発ソフトウェア v7.2 で生成されたものを使用しました。

 プログラミング・ファイルとして、以下の仕様のファイルを生成します。

  • POF ファイル / JIC ファイル
  • Compression(非圧縮 / 圧縮)のチェック有 / 無
  • Disable EPCS ID Check のチェック有 / 無


 SOF ファイルを POF ファイルや JIC ファイルに変換する場合、Quartus II 開発ソフトウェアの "Convert Programming Files" 機能を使用します。設定箇所については、下記をご参照ください。

Article header 4  1
Convert Programming Files の設定箇所


 Convert Programming Files 機能の使い方については、『Quartus II はじめてガイド - Convert Programming File の使い方』をご参照ください。

3-3. EPCQ デバイスへのプログラミング


 EPCQ デバイスへのプログラミングには、Quartus II 開発ソフトウェア v13.0SP1 の Programmer を使用しました。

 本ボードには、JTAG ヘッダとコンフィギュレーション・デバイスへ直接プログラム可能な 10pin ヘッダが実装されています。今回は、2種類の方法でプログラミングを行いました。

  1. コンフィギュレーション・デバイスへ POF ファイルをプログラミング。 その際は、コンフィギュレーション・デバイスへ直接プログラムが可能な 10pin ヘッダを使用。
  2. コンフィギュレーション・デバイスへ JIC ファイルをプログラミング。 その際は、JTAG ヘッダを使用して FPGA 経由でプログラミング。

3-4. 検証結果


 上記 5-2 で生成したそれぞれの仕様のプログラミング・ファイルをプログラムして、動作確認した結果を示します。

Article header 5  2
検証結果

3-5. まとめ


 今回は EPCQ256 の AS ×1 で、Cyclone III デバイスがコンフィギュレーションできるのか? の検証を紹介しました。

 結果としては、EPCS デバイスの SOIC 16ピン用に配線された基板において、Convert Programming Files 機能と "Disable EPCS ID check" の有効化設定を行って生成されたプログラミング・ファイルを用いることで、EPCQ256 デバイスと Cyclone III デバイスの組み合わせでコンフィギュレーションが可能であることが確認できました。