検索
特集

組み込み設計を変えるFPGA(1/3 ページ)

FPGAを初めて利用する際には、従来からの設計手法を大幅に変更する必要がある。これは設計者にとっては大きな負担であり、また、それなりのリスクを伴う決断になる。にもかかわらず、FPGA技術は組み込みシステムの設計者にとって貴重な武器となりつつある。その理由は何なのか。

Share
Tweet
LINE
Hatena

高度に進化したFPGA

 昨今の景気の後退により、開発予算の削減という状況に直面している方も多いだろう。そうした中、組み込みシステムの設計者は、設計期間の短縮、製品の陳腐化の回避、製品の簡便なアップデートを目的とし、FPGA技術に目を向け始めている。再利用可能な論理デバイスと豊富なFPGA開発ツール、あるいはFPGAを実装したモジュールを活用することにより、設計や製造への影響を最小限に抑えつつ、要件の変更に応じて再構成が可能(リコンフィギュラブル)で高性能な組み込みシステムを構築することができるからである。

 従来、ボードの設計者は、システムで用いる部品の配線を容易化するためといった位置づけでFPGAを利用していた。しかし、集積度の高い最新のFPGA製品であれば、一般的な組み込みプロジェクトにおけるプロセッサ、メモリー、カスタムロジック、そして多くの周辺部品の代替として使用することが可能である。FPGAは、組み込みアーキテクチャを一新する可能性も秘めているのだ。ただし、FPGA技術の採用が適切かどうかを見定めるためには、設計者は、その性能、消費電力、コストの限界を分析しておく必要がある。

FPGAの基礎知識

 1970年代のPLA(Programmable Logic Array)から派生したFPGA技術は、現在では、成長著しい市場を支える存在となった。この市場をけん引しているのは、米Xilinx社と米Altera社である。両社以外にも、米Actel社、米Cypress Semiconductor社、米Lattice Semiconductor社などが、それぞれ特徴的な技術を取り入れた製品によって、この分野に参入している。

 ベンダーごとに詳細は異なるものの、FPGAの基本的なアーキテクチャは、ユーザーによって製造後に構成が可能(コンフィギュラブル)で、電気的にプログラマブルな相互接続を持つ論理ブロックのアレイから成る。初期のFPGAのゲート数は数千程度だったが、今日では百万ゲート単位にまで増大している。また、相互接続の柔軟性が高いため、特定の組み込みアプリケーションの要件に完全に合致したハードウエア機能をプログラミングによって構築することが可能である。最新のFPGAチップは、論理ブロックに加えて専用プロセッサを備えており、設計者は性能要件を満たすためにハードウエアとソフトウエアによるトレードオフの検討を行えるようになっている。

 組み込みアプリケーションでFPGA技術を利用した場合、ディスクリート部品を組み合わせた実装やカスタムロジックによる実装を採用する場合と比べて、いくつかの利点を得ることができる。多くの経験豊富な設計者は、FPGAを採用する主な理由として、開発期間の短縮、ノンリカリングコスト(Nonrecurring Cost:ほかのプロジェクトへの再利用が不可能なコスト)の低減、製造後の変更に対応可能であることなどを挙げる。また、FPGAを用いて並列コンピューティング構造をとることにより、専用プロセッサよりも高い性能を実現することができるケースもある。

 一方、FPGA技術の欠点としてよく指摘される問題の1つは、汎用プロセッサやカスタムASICと比べて消費電力が多いことである。また、複数のパストランジスタを用いること、接続経路に抵抗成分が生じることから、FPGAでは、従来型の設計による同等の回路よりも低速になるという欠点もある。さらに、開発時間の短縮効果などを考慮しなければ、一般に、従来型の設計による回路やカスタム回路よりも、FPGA技術を採用した場合のリカリングコスト(Recurring Cost:プロジェクトごとに毎回発生するコスト)は高い。

 FPGAベンダーが相互接続や論理ブロックのプログラミングに用いる手法は、複数存在する。例えば、アンチヒューズ方式では、絶縁状態にあるノードの両端に高い電圧を印加することで、低抵抗の接続を実現することができる。直列抵抗や寄生容量を小さく抑えられるといった利点があるが、アンチヒューズ方式のFPGAは1度しか書き込みができず、再構成が不可能であることが最大の欠点だ。

 一方、現在、最も一般的なプログラミング手法であるSRAM方式は、パストランジスタのオン/オフによってFPGAの回路構成を決めるというものである。SRAMセルは複数のトランジスタで構成され、全体としてトランジスタ数が増えることになるが、高速に再プログラムが行え、また通常のCMOS技術で製造できることもSRAM方式のメリットとなる。ただし、SRAM方式のFPGAでは、電源の投入時にメモリーの設定を行うために外付けのブートデバイスが必要となる。なお、SRAMを使用する代わりに、EPROM、EEPROM、フラッシュメモリーを使用する方式であれば、再プログラミングが可能で、なおかつ外付けのブートデバイスは不要になる。

 FPGAで構成する回路の記述(プログラミング)方法には、いくつかの手法が存在する。最も一般的なのは、VerilogやVHDLといったHDL(ハードウエア記述言語)を用いて機能/構成を記述するというものである。この場合、まずアーキテクチャや構造を定義し、続いて、ツールを用いて消費電力と構成の最適化を行うとともに、ハードウエアの分割、配置、相互接続配線を実施する。その上で、ターゲットとするFPGA製品に設計データをロードし、実際のハードウエア環境でのテストを行うという流れになる。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る