« 再帰判定 | Main | verilog_cv ver0.1 »

2007.08.06

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的プラットフォームが必要

|

« 再帰判定 | Main | verilog_cv ver0.1 »

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 at 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 at 10:48 PM

原山みやさん
こんにちは。LeonはVerilogだったら是非やってみたいんですが、VHDLなんですよね。
でも、間違いなくHardware 2.0ですよ!


okazakiさん
こんにちは。
勝手にいろいろと書いてすいません。
OpenSparcを動かすとまで行かなくても、パイプラインの所だけ抜き出すとか、そういうのでもおもしろいですよね。S1は初めて知りました。
また、AO diary期待しています。

Posted by: なつたん | 2007.08.07 at 06:41 PM

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/18154/16027255

Listed below are links to weblogs that reference Hardware2.0:

« 再帰判定 | Main | verilog_cv ver0.1 »