Hardware2.0
AO Dairyさんを見て(続き)
Hardware2.0について思うこと。
ソフトウェアの場合、同じ物をみんなが作ろうとしていて、淘汰されていった歴史がある。FreeBSDのportsを眺めていると、ここでしかみたことないコンパイラとかいっぱいある。ハードウェアの場合はまだそこまで行っていない。量から質への変換がまだまだ起きそうにない。だから、まずは何でも良いから情報を出す事が大事。
次にプラットフォームの話
ソフトウェアの場合、共通のプラットフォームという物がある。昔ならC言語/UNIX、今ならPC/AT互換機、Windows、Linuxだ。とりあえずこのプラットフォームなら、自分以外のユーザーが何人もいるだろうってのがある。MACとかPC98とかにしても、FPGAのボード持っている人よりは、間違いなくユーザー数は多い。普通に考えてみんなで同じFPGAボード使えば良い、ってのがあるんだけどいくつか問題点がある。まだまだ個人でFPGAボード買う人ってのは少ないということ、それと「みんなで同じボード使っていたら、Hardware毎にHackする楽しみが無くなってしまう」ということ。みんなが、それぞれ俺様ハードウェアを持っていて、それをいろいろいじくるのが僕の思うHardware2.0の世界。
#ipaqとかLinux zaurusのHackは、ちょうど良い妥協点だと思う。
再び、ソフトウェアの世界に戻ると、ソフトウェアの世界だって最初は互換性無かったはずなんだ。プロセッサだって違うし、メモリの量だって全然違うプロセッサで、互換性を保っている。これって、ソフトウェアの人たちが努力してきた結果なんだ。C言語もそうだし、Posixの標準化もそう。プラットフォーム互換を優先するあまり、バッドノウハウを作り出す可能性あるけど、それでも「互換性」というのはソフトウェアの品質を語る上で一つの大きなファクターだった。だからHardwareの世界でも、これの枠組みで書いておけば、どんなFPGAでもどんなハードウェアでもそこそこ動きますよ、みたいなフレームワークが必要だと思う。(EDAベンダーの押しつけではない、Openさも必要)
正直opencores.orgを見ていても、すぐ使ってみたい!っていうコアがそれほど無かったりする。プロセッサか、通信物くらい。使って見たいと思わない理由の一つが、自分がやりたいプラットフォームに組み込むのが大変そうだから。なんでも良いんだけど、CPU+バス+ペリフェラルの構成を、標準として配布できたらそこの障壁が下がる。CPUは当然GCC以下toolchainが整備されていて、バスはAHB2.0くらいで良いと思う。このプラットフォームは、各ボード毎にカスタマイズされていて、簡単じゃないかもしれないけど、一から起こすよりは楽に立ち上がる。イメージ的にNetBSDをブートさせるくらいの難易度。その上で試したい or 開発したいIP coreがあればそのバスに繋げて評価する。そういう流れができたら、もうちょっといろんなノウハウがたまって行く気がする。
opencores.orgを見ていると、OpenRISCというのは間違いないくその選択肢の一つだ。
まとめ:
1.とりあえず情報は出してみる。
2.Hardware2.0的プラットフォームが必要
The comments to this entry are closed.
Comments
Gaisler Researchという会社は、SPARC v8の互換コアであるLEON3のコードをVHDLで公開しています。
http://www.gaisler.com/cms/index.php?option=com_content&task=view&id=156&Itemid=104
内部バスとしては、AHB、各種IP(PCI、Net、IDE/ATA、SVGA Video Frame Buffer等)もAHB I/Fになっています。
これって、Hardware 2.0ですよね!
それにVirtex2での実装規模も明記しています。
もちろん、S/Wもあります。eCos, Linux, Cross Compiler, Simulatorも!!
商用でも利用可能のバーションもあります。。。
Posted by: 原山みや | 2007.08.06 08:57 PM
AO diary の okazaki です.ここ数日,コメントを書いていただき,ありがとうございます.
やはり,プラットフォームの問題はオープンソースハードウェアでの障害ですよね.SystemC のような高級言語とその処理系,合成系が解なのでしょうか.
SPARC といえば,LEON もそうですが,やはり Sun 純正の OpenSPARC も見逃せませんね.
http://www.opensparc.net/
Sun の OpenSPARC 活動により,派生の S1 が登場したことも,重要な一歩だと思います.
http://www.srisc.com/
Posted by: okazaki | 2007.08.06 10:48 PM
原山みやさん
こんにちは。LeonはVerilogだったら是非やってみたいんですが、VHDLなんですよね。
でも、間違いなくHardware 2.0ですよ!
okazakiさん
こんにちは。
勝手にいろいろと書いてすいません。
OpenSparcを動かすとまで行かなくても、パイプラインの所だけ抜き出すとか、そういうのでもおもしろいですよね。S1は初めて知りました。
また、AO diary期待しています。
Posted by: なつたん | 2007.08.07 06:41 PM