第4章

汎用評価ボードの製作―― FPGA周辺回路の設計法と注意点
井倉将実

ここでは，付属FPGA 基板を使うにあたって最低限必要な知識として汎用評価ボードを設計しました．このボードについをまとめる．特に回路設計において注意しなければならない点ては，読者頒布サービスを行います（p.77のコラム「汎用評や活用ノウハウを紹介する．また具体的な設計事例として，付価ボードの読者頒布について」を参照）．

属 FPGA 基板を汎用的に使いやすくする評価ボードを製作す
る．ADPCM 方式の音声再生回路を動作させる．

（編集部）

筆者は，Cycloneを出荷開始と同時に入手し，特性試験

Cyclone 活用の基礎知識●I/O インターフェースや機能評価を行ってきました．そして回路を設計するにあ最近のFPGAの多くは，I/Oピンをいくつかのグループたって，いくつか注意が必要だと感じた点がありました．に分割した構成になっています．Cycloneファミリもこの例えば，電源電圧が1.5V系になったことやPLL用電源が追構成を持ち，I/Oを四つのバンクに分割しています．

加されたこと，I/Oバンクという概念が出てきたことなど

各I/Oバンクには，VCCIO というI/Oバンク専用の電源電です．FPGAをこれまで使っていなかった人はもちろん，圧ピンが用意されています．このピンに対して3.3Vや2.5V

FLEX10KEファミリやACEX 1Kファミリを主に活用してなどのI/Oインターフェース用の電源電圧を供給します．

いた人にとっても，新しい機能の多いデバイスといえます．

これにより，一つのFPGAで複数のI/O規格とインターフ

そこで本稿では，本誌に付属するFPGA基板の使いかたェースできるようになりました． VCCIO ピンを未接続状態にを，筆者が思いつくままに解説します．また，回路設計例することは禁止されています．必ず何らかの電圧を印加する必要があります．
付属FPGA基板では，すべてのI/Oバンクに対してあらI/Oバンク2

すべてのバンクでサポートされているI/O■3.3V LVTTL/LVCMOS■2.5V LVTTL/LVCMOS■1.8V LVTTL/LVCMOS■1.5V LVCMOS■LVDS■SSTL-2 Class¿およびClassÀ
■SSTL-3 Class¿およびClassÀ

3.3V PCI
インターフェースをサポート
I/Oバンク3

I/Oバンク1

3.3V PCI
インターフェースをサポート

かじめ3.3V電源が供給されています．すなわち，3.3Vの
LVTTLまたはLVCMOSを使用することができます．
複数のI/Oバンクを持つことで，LVTTLやLVCMOS，SSTLなどのさまざまなI/Oインターフェースを利用することができますが，ここで注意が必要です． I/Oバンクによっては使用できないインターフェースがあるのです．
まず，付属FPGA基板に実装されているEP1C3では，PCIインターフェースは初めからサポートされていません．

I/Oバンク4

また，より上位のデバイスを利用したからといって，すべてのバンクで自由にPCIインターフェースを使えるという〔図1〕I/O バンクと使用できるインターフェース
EP1C3はPCIインターフェースをサポートしていない．より上位のデバイス
でも，PCIインターフェースに対応するのはバンク1とバンク3だけである．

72

Design Wave Magazine 2003 October

わけではありません．
図1は，Cyclone（EP1C3より上位のもの）のI/Oバンク

付属FPGA基板を使った回路設計チュートリアル

コラム トラブル・シューティング1 ―― PLL使用時のエラー
1
EP1C3の内蔵PLLは1個だけです．またPLLを使うことができるグローバル・クロック・ピンが決まっています．
もしグローバル・クロック・ピンの指定をまちがえてしまうと，配置配線において次のようなエラーが発生します．

Error:Cant place fast or enhanced PLL xxx:xxxx

begause I/O pin YYYY （port type INCLK of the PLL ）us assined to a location whch is not connected toport type INCLK of any PLL on the deviceと使用できるインターフェースを表したものです．バンク

てい倍を行ったクロックを得る機能です．1/2や1/4の分周1とバンク3はすべてのI/Oインターフェースを利用するこ

クロックはカウンタを用いることで生成できましたが，デとができますが，バンク2とバンク4はPCI規格のI/Oイン

ューティ比が1：1の1/3クロックや3倍，6倍，9倍などのターフェースを利用することができません．したがって，2のべき乗では得られないクロックを作り出すことができ

PCIインターフェースにCycloneを採用する場合は，バンるので，非常に便利です．

ク1とバンク3を使用する必要があります．

PLLを利用するためには，FPGA開発ツールのQuartus

このような点は，FPGA内部の論理設計で対応できるこⅡのMegaWizardで「ALTPLL」というモジュールを選択とではありません．設計の初期段階で，十分に考慮する必します（図 2）．一つのクロック入力から，最大 2 系統の要があります．また，Cycloneに限らずほかのFPGAファ

FPGA内部駆動クロックと1系統の外部I/O出力専用クロミリにもある制約なので，データシートのI/Oバンクに関ックが生成できます．そして，PLL特有の機能であるクロする注意項目は必ず参照してください．

ック・フィードバックは内部専用クロック，I/O出力専用クロック，または「同期化をしない」というモードの三つの●クロックとPLLうちの一つを選ぶことができます．

付属FPGA基板には，クロック発振器が実装されていません．Cycloneは，2本のクロック専用ピン（グローバル・●内蔵メモリ・ブロッククロック）を持ちます．これは，FPGAの内部にあるクロ付属FPGA基板に搭載されているEP1C3は，4,608ビッ

ック専用配線（グローバル・クロック・ネットワーク）に接トのSRAMを13個，合計で59,904ビットのメモリを内蔵し続されています．

ます．

1本は，内蔵PLLのクロックとして使うこともできます．

FLEX10Kなどにも内蔵メモリはありました．しかしシ

付属 FPGA 基板の場合，拡張ヘッダ CN2 の A01 ピンで，FPGAの10番ピン（I/Oバンク1）になります．
もう1本は，PLLのクロックとしては使えません．内部クロック専用配線のみに接続されています．付属FPGA基板の場合，拡張ヘッダCN3のA01ピンで，FPGAの66番ピン（I/Oバンク3）になります．このため，付属FPGA基板でPLLを使う場合には，拡張ヘッダCN2のA01ピンで，FPGAの10番ピンにクロックを供給しなければなりません（上掲のコラム「トラブル・シューティング1」を参照）．ただし，Cycloneファミリの上位デバイスは2個のPLLを内蔵しています．この場合，上記の制約はありません．
PLL機能というのは，簡単に言えば外部から供給されたクロックに同期して内部発振回路を制御し，任意の分周/〔図2〕PLL の使いかた
Quartus ⅡのMegaWizardの画面．ALTPLLを選択する．

Design Wave Magazine 2003 October

734