|

従来の概念では、ハードウェアはソフトウェアのように容易に複製、流通が困難であり、また、ソフトウェアのようにインターネットを通じて世界中に即座に伝送することはできず、物理的輸送手段が必要となるため普及にも時間がかかる。同様の理由から回路のディバッグや新規格への対応、あるいは機能の追加なども非常に困難である。このため、ユーザは数年毎に新しいハードウェア(コンピュータ)に買い換えることで対応しているのが実情であった。しかし、もしこのコンピュータがソフトウェアと同様に、インターネットを通じて伝送することが可能であるとしたら、現在の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までの並列思考を基本とした従来からの階層設計が最適と考えている。具体的には、最上位階層では機能ブロックのみの接続構成が記述されており、各機能ブロックはVHDL、Verilog-HDLあるいは回路図やSFL、EDIFなど、どのような言語や形式で記述されていても、最上位階層を記述するエントリから呼び出すことができれば良いとするものである。

図−3 最上位機能ブロック
この最上位階層を記述するエントリ・ソフトウェアは容易に作成可能であり、既に市販されている製品の一部や、オープンソース・ソフトウェアを組み合わせても実現可能である。問題は、呼び出される各機能ブロックの設計が依然として困難であることである。
そこで、本プロジェクトでは、この機能ブロックをオープン・ソースとして多数開発し、IPライブラリとして提供することとした。これにより、本IPをベースにユーザが自由に改良を加え、用途に応じて修正することが可能となり、各機能ブロック毎に独立した自己発展(バザール開発)を目指す。また、オープンソースであることで、学生やアマチュア層がハードウェアを一から学ぶことも可能である。
なお、提供するIPは最高実装効率と、この教育的効果も考えて、HDLではなく全て回路図ベースで設計した。
表−2 周辺インターフェースIPの整備状況

当初、Ethernetコントローラとして、全てハードウェアで実現することを考慮し、MAC層よりも上位のプロトコルは独自プロトコルとすることを考えていた。しかし、実際に設計を進めていくと、既存のプロトコルが思っていた以上にハードウェア化し易く、また利便性も高まることから、既存のUDP/IPを実装することとした。UDP/IPはTCP/IPに比べ、再送要求などの処理が無いためデータの信頼性は低下するものの、処理が軽く、ストリーミングなどリアルタイム性の要求されるアプリケーションに向いている。実際、IP電話用のプロトコルであるSIP(Session Initiation Protocol)でも主にUDP/IPが用いられている。
今回開発したEthernetコントローラIP(UDP/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には、アプリケーションIPのTOP回路図のほか、各階層のモジュール回路が全て含まれており、EthernetコントローラIPや周辺インターフェースIPの回路図も含まれている。
4)
デモンストレーション環境の整備
今回開発・製造したFPGA基板を用いて、各種アプリケーションをデモンストレーションできる環境を整備した。アタッシュケース内にFPGA基板を3セット、キーボードやネットワーク環境とともにコンパクトに収納しており、そのままの状態で携行可能である。今後の普及促進活動に活用する。

図−4 整備したデモンストレーション環境
5) 本開発に伴う普及活動や対外発表
フリーハードウェアの実現へ向けて、本プロジェクトの認知度を上げるため、広報活動を積極的に行った。以下にその概要を示す。
【発表等】
・
EDSFair2006(Electronic
Design and Solution Fair 2006)
IP(Intellectual Property)Flea
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コントローラは、市販では数百万円で取引されているものであり、これをオープンソースとして無償提供することによる、バザール型開発形成とその先にあるフリーハードウェアの実現へ向けた効果はかなり大きなものと期待できる。
|