IPA


開発成果一覧へ

 



2005年度下期 未踏ソフトウェア創造事業  採択案件評価書


 




1.担当PM

   北野 宏明 (ソニーコンピュータサイエンス研究所 取締役副所長 )




2.採択者氏名

開発代表者

 相部 範之 (筑波大学大学院 システム情報工学研究科 産学官連携研究員 )

共同開発者

 なし




3.プロジェクト管理組織


  有限会社シーカネット




4.委託金支払額


  2,038,000




5.テーマ名


  フリーハードウェア実現のためのプラットフォーム




6.関連Webサイト


  http://www.susubox.org/




7.テーマ概要


 提案する「フリーハードウェア」とは,オープンソース・ソフトウェアの特徴をハードウェアであるコンピュータにまで拡張するものである.従来の概念ではハードウェアはソフトウェアのように容易に複製,流通が困難であるため,ユーザに無料で提供することは実質不可能である.またソフトウェアのようにインターネットを通じて世界中に即座に伝送することはできず,物理的輸送手段が必要となるため普及にも時間がかかる.同様の理由から回路のディバッグや新規格への対応,或いは機能の追加なども非常に困難である.このため現状ではユーザは数年毎に新しいハードウェア(コンピュータ)に買い換えることで対応している.しかし,もしこのコンピュータがソフトウェアと同様に,インターネットを通じて伝送することが可能であったとしたら,現在のIT産業は根底から覆るだろう.「フリーハードウェア」はFPGAを用いることでこれを可能にする.具体的には,これまでハードウェアであったコンピュータをFPGA上にロードするコンフィギュレーション・データとして,ソフトウェア化することで実現する.

 今回申請する開発期間中では,この「フリーハードウェア」を実現するためのプラットフォームとして,FPGAプラットフォーム基板とネットワーク・インターフェースIP,及びこれらを用いたアプリケーションを開発する.




8.採択理由


 フリーハードウエアとしてFPGAのコードを、基本ハードウエアとともに公開し、FPGAのオープンソース化を推進しようと言う提案である。これにより、FPGAハッキング文化を創り上げようという、どこまでもマニアックな提案であるが、独自の試みとして評価できる。技術力は確かであり、ハードコアな提案として高く評価できる。




9.開発目標


 今日、コンピュータ上で動作するソフトウェアでは、OSからプログラミング言語環境、アプリケーション・ソフトウェアに至るまでオープンソース・ソフトウェアが注目されている。このオープンソース・ソフトウェアの最大の特長は、ソースコードが公開されていることで、誰でもプログラムの改良を行うことができ、「ソフトウェアが他者の手により自己発展していく」ことにある。これにより、OSのように複雑で大規模なソフトウェアのみならず、用途が特殊で需要が少ない等、商用化が困難なアプリケーション・ソフトウェアの実現も可能としている。

 本プロジェクトでは、このオープンソース・ソフトウェアの特長をハードウェアであるコンピュータにまで拡張する「フリーハードウェア」の実現を目指す。

 従来、ハードウェアはソフトウェアのように容易に複製、流通が困難であった。これをフリーハードウェアでは、FPGAを用いることで解決する。具体的には、これまでハードウェアであったコンピュータをFPGA上にロードするコンフィギュレーション・データとしてソフトウェア化することで実現する。

 




10.進捗概要


 フリーハードウェアの実現にあたっては、大きく二つの課題が挙げられる。まず市販の開発プラットフォーム(FPGAの搭載された基板)が高価である点、そしてもう一つは周辺インターフェースの開発が必要であるなど、開発ターゲット以外のオーバーヘッドがあまりに大きい点である。

 本プロジェクトでは、まずFPGAプラットフォーム基板を開発してオープンソース化する。次に、コンピュータや組み込み機器開発に必要となる周辺インターフェースIPを開発し、オープンソース化する。実際には、EthernetコントローラIPと当該IPを用いた各種アプリケーションを開発し、デモンストレーションを通して、フリーハードウェアの有用性を体感できるものとした。

 

1) FPGAプラットフォーム基板の開発

 FPGAが搭載された開発プラットフォームは高価であり、アマチュア層が気軽に手を出せない一因となっている。そこで、FPGAプラットフォーム基板を開発してオープンソース化するとともに、さらに安価に製造できるよう展示会出展や執筆活動などプロモーション活動に努めた。

 実際に基板の製造を行い、別途開発したIPの動作試験並びにアプリケーションのデモンストレーションにも活用している。

 

2) 周辺インターフェースIPの開発

 フリーハードウェアの実現にあたっては、コンピュータや組み込み機器開発に必要となる周辺インターフェースIPの整備が重要である。そこで、各機能ブロックを開発し、IPライブラリとして提供することとした。

 PS/2キーボード・コントローラIPLCDコントローラIPについては、既に開発済みであり、本プロジェクトではEthernetコントローラIP並びにこれらと繋ぐコマンド・マネージャを開発・整備した。

 

3) アプリケーションIPの開発

 フリーハードウェアを用いたアプリケーションの一例として各種アプリケーションIPを開発し、実際にデモンストレーションを通して、フリーハードウェアの有用性を体感できるものとした。

 実施計画段階では、アプリケーションIPとしてIP電話IPを開発する予定であった。しかしながら、今回は、サンプルコードとしてより汎用性が高く応用し易い、簡易IPパケット・モニタ、IPチャット装置、IPリモートコントローラを開発することと変更した。後者を選択したことで、より視覚的なデモンストレーションが可能となった。

 今後は、より実用性が高いアプリケーションIPを開発・整備するとともに、普及促進のための活動にも注力する。

 

4) その他

 開発者は、これまでFPGAに関連した技術資料を初心者でも馴染みやすい形で書籍化し、「FPGA技術」として自主制作してきたが、今回、そのVolume 3を発行し、配布を開始した。

 また、各種イベントに出展し、プレゼンテーション、デモンストレーションを行うなど、普及促進へ向けた基盤作りに努めた。

 




11.成果


従来の概念では、ハードウェアはソフトウェアのように容易に複製、流通が困難であり、また、ソフトウェアのようにインターネットを通じて世界中に即座に伝送することはできず、物理的輸送手段が必要となるため普及にも時間がかかる。同様の理由から回路のディバッグや新規格への対応、あるいは機能の追加なども非常に困難である。このため、ユーザは数年毎に新しいハードウェア(コンピュータ)に買い換えることで対応しているのが実情であった。しかし、もしこのコンピュータがソフトウェアと同様に、インターネットを通じて伝送することが可能であるとしたら、現在のIT 産業は根底から覆るだろう。

「フリーハードウェア」では、FPGA を用いることでこれを可能にする。

具体的には、これまでハードウェアであったコンピュータをFPGA 上にロードするコンフィギュレーション・データとして、ソフトウェア化することで実現する。

フリーハードウェアの基本概念を図−1に示す。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


図−1 フリーハードウェアの基本概念

 

 

表−1 オープンソース・ソフトウェアとフリーハードウェアの対比

1) FPGAプラットフォーム基板の開発

 

まず、プラットフォームとなるFPGA 基板(SUSUBOARD Ver.1)を開発した。設計は基板の回路図から、PCBレイアウト、ガーバデータ作成まで行い、現在、修正版BSDライセンスにて公開する準備を進めている。また、実際に基板の製造も行い、後に示すIP の開発や各種アプリケーションのデモンストレーションに活用することとした。

当該FPGA基板の技術資料については添付資料1を、回路図については添付資料2をそれぞれ参照のこと。

 

 

 

図−2 実際に製造したFPGAプラットフォーム基盤

 

 

今回開発したFPGA基板は、10/100BASE-TX EthernetインターフェースをはじめPS/2ポート、キャラクタLCDインターフェース、RS-232Cポートなど種々のインターフェースを備えている。フリーハードウェアの実現にはさまざまなアプリケーションを実装可能な、汎用的なFPGA基盤が必要であると考え、このような構成とした。

 

しかし、実際に開発してみると基板の製造費やFPGA以外の部品に予想以上に費用がかかり、一つの目的であるFPGA基板の低コスト化は困難であることがわかった。基板製造費用、アクリルパネル加工費用、部品費用、ケーブルや電源などの付属品を合わせた費用だけで1セットあたり約2万円、部品実装を業者で行うとした場合、マニュアル印刷費用やパッケージング費用なども含めると1セットあたり3万5千円〜4万円程度となる。このため、数千台程度の規模で量産したとしても2万円以下に抑えることは難しい。

 

2) 周辺インターフェースIPの開発

 

開発者は、FPGAの設計手法は、HDLまでの並列思考を基本とした従来からの階層設計が最適と考えている。具体的には、最上位階層では機能ブロックのみの接続構成が記述されており、各機能ブロックはVHDLVerilog-HDLあるいは回路図やSFLEDIFなど、どのような言語や形式で記述されていても、最上位階層を記述するエントリから呼び出すことができれば良いとするものである。

 

図−3 最上位機能ブロック

 

 

 

 

この最上位階層を記述するエントリ・ソフトウェアは容易に作成可能であり、既に市販されている製品の一部や、オープンソース・ソフトウェアを組み合わせても実現可能である。問題は、呼び出される各機能ブロックの設計が依然として困難であることである。

そこで、本プロジェクトでは、この機能ブロックをオープン・ソースとして多数開発し、IPライブラリとして提供することとした。これにより、本IPをベースにユーザが自由に改良を加え、用途に応じて修正することが可能となり、各機能ブロック毎に独立した自己発展(バザール開発)を目指す。また、オープンソースであることで、学生やアマチュア層がハードウェアを一から学ぶことも可能である。

なお、提供するIPは最高実装効率と、この教育的効果も考えて、HDLではなく全て回路図ベースで設計した。

 

 

表−2 周辺インターフェースIPの整備状況

 

当初、Ethernetコントローラとして、全てハードウェアで実現することを考慮し、MAC層よりも上位のプロトコルは独自プロトコルとすることを考えていた。しかし、実際に設計を進めていくと、既存のプロトコルが思っていた以上にハードウェア化し易く、また利便性も高まることから、既存のUDP/IPを実装することとした。UDP/IPTCP/IPに比べ、再送要求などの処理が無いためデータの信頼性は低下するものの、処理が軽く、ストリーミングなどリアルタイム性の要求されるアプリケーションに向いている。実際、IP電話用のプロトコルであるSIPSession Initiation Protocol)でも主にUDP/IPが用いられている。

今回開発したEthernetコントローラIPUDP/IP-IP)を用いることで、ハードウェア開発者は自分の回路に容易にネットワーク制御の機能を実現することが可能となる。

周辺インターフェースIPに関する技術資料については添付資料3を参照のこと。

 

3) アプリケーションIPの開発

 

実施計画段階では、EthernetコントローラIPを用いたアプリケーションとしてIP電話IPを開発する予定であった。しかしながら、今回は、EthernetコントローラIPの使われ方を想定した上で、よりユーザアプリケーションに近いサンプルとなるように、文字コードの相互通信を行うIPチャット装置を開発した。さらにIPパケット中のIPアドレスを取得してLCDに表示するサンプル回路(簡易IPパケット・モニタ)、UDPを用いたサンプル回路であるリモート・スイッチIPなども作成した。

これらのIPは当初、開発したFPGA基板SUSUBOARD Ver.1向けのサンプルコードのみを提供する予定であったが、利便性を高めるため、現在市販されているFPGA基板の中から表−3に示す2種類のボードを選択し、これらの基板向けサンプルコードも作成した。

したがって、表−3に示すFPGA基板があれば、すぐに前述の3種のアプリケーション(サンプルコード)の実行が可能となっており、実際にデモンストレーションを通してフリーハードウェアの有用性を体感できる。また、フリーハードウェアの開発プロジェクトに参加することも容易となる。

 

 

表−3 開発対象としたFPGA基板

 

開発したアプリケーションIPに関する回路図については添付資料4を参照のこと。なお、添付資料4には、アプリケーションIPTOP回路図のほか、各階層のモジュール回路が全て含まれており、EthernetコントローラIPや周辺インターフェースIPの回路図も含まれている。

 

4)       デモンストレーション環境の整備

 

今回開発・製造したFPGA基板を用いて、各種アプリケーションをデモンストレーションできる環境を整備した。アタッシュケース内にFPGA基板を3セット、キーボードやネットワーク環境とともにコンパクトに収納しており、そのままの状態で携行可能である。今後の普及促進活動に活用する。

 

 

 

図−4 整備したデモンストレーション環境

 

 

5) 本開発に伴う普及活動や対外発表

 

フリーハードウェアの実現へ向けて、本プロジェクトの認知度を上げるため、広報活動を積極的に行った。以下にその概要を示す。

 

【発表等】

    EDSFair2006Electronic Design and Solution Fair 2006
IP
Intellectual PropertyFlea Market 2006/1/26
SUSUBOX
の紹介(プレゼンテーション)

    Open Source Conference 2006 Tokyo/Spring 2006/3/17-18
SUSUBOX
の紹介(デモンストレーション)

    コミックマーケット69 2005/12/29-30
東京国際展示場(東京ビッグサイト)
FPGA技術 Volume 2」の販売

    コミックマーケット70 2006/8/11-13
東京国際展示場(東京ビッグサイト)
FPGA技術 Volume 3」の販売

 

【執筆等】

    すすたわり(相部 範之):
FPGA
技術 Volume 3、大陽出版、2006/8/13

6) 開発成果の特徴、波及効果

本テーマは、未踏ソフトウェア創造事業に採択される以前より進めてきたもので、先に挙げた周辺インターフェースを開発してきた。しかし、今回主な開発対象とした、Ethernetコントローラのような比較的大きなものについては、なかなか開発する機会がなかった。また、従来のレガシーインターフェースばかり開発していても、それらを組み合わせて実用的なアプリケーションを構築することは難しく、開発者の目指すフリーハードウェアコミュニティの構築には到底及ばなかったであろう。

今回、本プロジェクトが採択され、開発の機会を得たことで、現在特に用途の広いネットワークインターフェースの一つである、Ethernetコントローラを開発するとともに、これまで開発してきたPS/2キーボード・デコーダやキャラクタLCDドライバなどと組み合わせたアプリケーションを開発することができた。単にIPライブラリの充実を図るばかりでなく、実際に動作するサンプルを用意したことで、最終的な目標の一つである、次世代ハードウェア開発者の育成において特に効果が期待できる。

オープンソース・ソフトウェア開発のモデルとされる、いわゆるバザール型開発が成立する条件として、主に以下が考えられる。

 

@    開発に携わりたくなる魅力があること

A    ベースとなるソフトウェアがある程度の水準を超えていること

B    開発環境が容易に構築できること

C    未完成であること

 

このうち@は他のA〜Cを満たすことで生まれるところもあるが、人の五感に訴える魅力も必要である。今回開発したアプリケーションの一つである、IPチャット装置は、五感に直接訴えるものではないが、人と人を繋ぐコミュニケーション・ツールの一つであり、装置としての魅力は高いものと考えている。またAに関して、本テーマはまだベースを構築している段階であるが、その水準とは、客観的に見て利用されていること、例えば商用製品に採用されることなどが一つの目安と考えられる。その点において、今回開発したEthernetコントローラは、市販では数百万円で取引されているものであり、これをオープンソースとして無償提供することによる、バザール型開発形成とその先にあるフリーハードウェアの実現へ向けた効果はかなり大きなものと期待できる。

 




12.プロジェクト評価


 予想通り、純正ハードウエア・ハッカーとしての持ち味を発揮し、普及などに強力なプラットフォームを開発し、いろいろなインフラを整備した。実際に、JETROの研修でも使われるなど、社会的な期待も大きくなっている。ただし、ハードウエアのデモは、地味であり、この点をどう克服するかは、依然として課題である。今後より大きな枠組みで普及展開が期待される。

 




13.今後の課題


今回開発したFPGA基板SUSUBOARD Ver.1は、1セットあたり35千円〜4万円程度であり、数千台規模で量産した場合でも2万円以下に抑えることは難しい。これは、本基板の高機能性を考えれば、市販のものと比較して1/21/3と低価格であるものの、学生やアマチュア層向けとしては依然高価である。したがって、ある程度機能を限定した上で、1万円前後に抑えるといった低価格化が今後の課題である。

今回の開発で、FPGA基板、サンプルアプリケーション並びにフリーハードウェアの有用性を体感できるデモンストレーション環境が整備できた。しかしながら、フリーハードウェアコミュニティの構築に向けて、より多くのユーザに関心を持ってもらう必要がある。このため、今後は、IPライブラリの充実を図るとともに、より実用的なアプリケーションIPの開発・整備を進め、普及促進のための活動にも注力する。

今回開発したSUSUBOARD Ver.1は、今年10月に予定されている独立行政法人日本貿易振興機構(JETRO)のタイ組み込みIT人材育成事業(ESTATE)の教材として採用されることが決まっており、開発者も講師として参加予定である。これを機に、ドキュメントの整備を進め、より広くフリーハードウェアの宣伝・普及に努める所存である。

 



  ページトップへ   

 

 




  Copyright(c) Information-technology Promotion Agency, Japan. All rights reserved 2004