今さら聞けない?! FPGAの基礎講座

いま注目を集める「FPGA」が気になるすべての人におくる連載です。デバイスの仕組みからアプリケーション、最新トレンドまで網羅。初めて知る方からヘビー・ユーザーまで幅広い方々のニーズにお応えします。

第1回:FPGAの基礎その1
"夢"のデバイスFPGA「回路を変更したい!それも簡単に!」

 回路設計者なら誰しもが抱く願いだろう。なにしろ回路はハードウェア(ハード=硬い)とも呼ばれるように,一度作ったら修正できないのが宿命。あとから不具合(バグ)が発見されたり,設計の終盤で仕様が変更され,修正作業で泣きを見たりした経験を持つ設計者は少なくないはずだ。そこに現れた救世主がFPGAである。フィールド(現場)で回路をプログラムできるデバイスの登場によって,回路変更は難しいという既成概念は過去のものとなった。当初は主に試作に使われていたFPGAだが,使い方によっては新たな機能を追加することもできるため,今では多くのデジタル製品を支えるまでに発展している。(記事を読む)

第2回:FPGAの基礎その2
FPGAの中をのぞいてみる!(前編)

 FPGA(field programmable gate array)の面白さは,回路を自由にプログラミングできる点にある。あたかも文字を書いては消せるホワイトボードのように,設計者は白地のキャンバスに思うままに回路を作り込むことができるのだ。つまり,ハードウエアは変更が難しいというそれまでの常識を覆してしまった。こうしたFPGAが,"夢のデバイス"として設計者から迎えられたのもうなずけよう。では,この画期的なデバイスの仕組みは,どのようになっているのだろうか。この連載の第2回目では,FPGAの中をのぞいてみることにする。(記事を読む)

第2回:FPGAの基礎その2
FPGAの中をのぞいてみる!(後編)

 いよいよFPGAの内部をのぞいてみよう。図3は,FPGAのチップ写真の例だ。機能的な構造としては,チップの周辺に並べられている I/Oエレメント,同じく周辺部(この写真では四隅の角)に搭載されているPLLブロック,およびそれらを除いた内側の部分の 3種類に大分割できる。(記事を読む)

第3回:FPGAの利点その1
守りの設計から攻めの設計へ(前編)

 ソフトウエアをプログラミングする感覚で回路を自由に構成することができるFPGA(Field Programmable Gate Array)は,固定化され変更できないというハードウエアのイメージを完全に覆してしまった。高いフレキシビリティを備えるFPGAは,通信機能や画像処理機能といった複雑なロジックを必要とするデジタル機器に,いまやなくてはならない存在になりつつある。連載の第3回目となる今回は,こうしたFPGAがもたらすメリットを二つの着眼点から説明する。前半ではシステムを設計(または製品を開発)するうえでのメリット。後半では,コストを削減するうえでのメリットについて述べる。(記事を読む)

第3回:FPGAの利点その1
守りの設計から攻めの設計へ(後編)

 この第3回の前編では,FPGAがもたらすシステム設計・製品開発者側のメリットについて話を進めてきた。後半ではコストの観点からFPGAによって得られるメリットを考えてみよう。(記事を読む)

第4回:FPGAの利点その2
「時は金なり」FPGAでゆとりを捻出?!(前編)

 年々忙しさを増す開発現場では,担当のエンジニアもマネージャも「時間がない」とぼやきながら,強いストレスにさらされているのが実状ではないだろうか。ことわざで「時は金なり」といわれるごとく,いまやエンジニアにとって時間は貴重なものだ。実は,FPGA(Field Programmable Gate Array)は,こうした現場の問題を解決する可能性を秘めている。連載の第4回目となる今回は,現場の視点から見たFPGAのメリットを取り上げる。(記事を読む)

第4回:FPGAの利点その2
開発期間の短縮で利益の最大化を図る(後編)

 FPGAには開発期間が短いという特長があることは前編でも述べたとおりだ。このメリットは開発期間が比較的長いASICとの比較でとくに顕著に現れる。しかし,すべての点においてFPGAがASICよりも優れているということを言いたいわけではない。たとえば製品の出荷数量が多い場合は,デバイスの単体コストはASICのほうが一般的には有利だ。また性能面をとことんまで追及しようとしたときは,回路の配置配線の自由度が高いASICのほうが最適化を図りやすいといえる(記事を読む)

第5回:FPGAの開発その1
FPGAの開発手順と開発ツール(前編)

 PGAは回路を書き換えることができて便利そうだが,FPGAの開発経験のない人にとっては何からどう始めていいのかわからない,というのが正直なところではないだろうか。 開発方法が難しいのではないか,新たに多くのことを覚えなければならないのではないか,長年の経験を積まなければ使いこなせないのではないか,という漠然とした不安を持つ人も少なくないだろう。しかし実際の開発は,開発を支援するツールの充実によって容易にスタートすることができるし,高性能で高集積・高機能なロジック設計を,ASICよりも簡単に成し遂げることができると言っても過言ではないのだ。そこで連載の第5回目となる今回は,FPGAの開発手順や開発ツールの概要を説明しよう。(記事を読む)

第5回:FPGAの開発その1
Quartus IIを使って開発フローを実践(後編)

 後編ではFPGAの開発環境について理解を深めていただくために,アルテラが提供しているQuartus IIを例にとって,実際の作業手順を簡単に説明しよう。Quartus IIは,分かりやすいGUIを採用しているうえに,作業の多くが自動化されている。このため,FPGA設計に慣れていないエンジニアにも使いやすい開発環境の一つである。(記事を読む)

第6回:FPGAの開発その2
「意外に知られていないFPGA開発ソフトウェアの最新事情」

 前回(第5回)でFPGA開発の基本的な流れを紹介したが、そこで疑問を持たれた方もおられるだろう。また過去にFPGAを使った経験から「しょせんFPGAの開発ツールなんて」と考えておられる方もいるかもしれない。そこで今回は「知っていそうで知らないかもしれないFPGA開発ツールの最新事情」を紹介しよう。(記事を読む)

第7回:FPGA採用の変遷

 FPGAの概要や開発手法については,ここまでの連載でご理解いただけたと思う。ここからは少し角度を変えて,FPGAが実製品でどのように活用されているのか,数回にわけて紹介してゆく。技術革新や低コスト化を追い風に,産業用機器から民生用機器に至る幅広い分野で採用されているFPGA。今回は FPGAの採用分野について,歴史的背景とともに紹介する。使用されている分野を知ることで,FPGAに対する理解をさらに深めることができるだろう。(記事を読む)

第8回:FPGAの応用その2
「いま,FPGAはどこに使われているのか?」(前編)画像処理

 FPGAは今やさまざまな機器に組み込まれ利用目的も多様化している。普及を始めた当初はいわゆる「雑論理」(グルーロジック)の収容が中心だったが,近年はシステムの心臓部とも言うべき重要な処理機能を集積するケースが増えてきた。なかでも画像処理と通信処理はFPGAの中心的な利用分野であり,どちらも現代のデジタル化社会に不可欠な機能だ。FPGA採用を牽引してきたとも言えるこれらの分野で,最新のFPGAは何をどこまで対応できるようになっているのか。前編では画像処理における具体的な使用例をみてみよう。(記事を読む)

第8回:FPGAの応用その2
「いま,FPGAはどこに使われているのか?」(後編)通信システムへの応用

 通信機能は今のIT社会において不可欠だ。有線のEthernetや無線LAN(WiFi)をはじめ,電話事業者やCATV事業者によるブロードバンドサービス,携帯電話のインフラを利用した移動体通信,さらには最近では電力線を使ったPLC(Power Line Communication)などが企業活動のみならず個人の生活をも支えるとともに,産業分野でも工場全体に張り巡らされたネットワークが高品質かつ高スループットな生産を実現している。(記事を読む)

第9回:エンベデッド・プロセッサによる FPGAの進化と可能性

 FPGAにプログラミングできるのはハードウェアロジックだけではない。プロセッサコアを内部に組み込むことでソフトウェアを動作させることもできる。いわゆるSoC(システム・オン・チップ)として高度な処理に効率よく対応できるのが、FPGAのもうひとつの姿なのである。連載の最終回となる今回は、プロセッサコアの統合から導かれるFPGAの可能性と、将来の進化について触れてみよう。(記事を読む)