2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

tweet

  • tweets

« 2008年8月 | トップページ | 2008年10月 »

2008年9月

ロード・トゥ・ペタスケール・ポンダリング

ASIC化を検討中です。あの情報処理記事に触発されまして。まさに「鶴の一声」ですか <失礼な言い方をするなよ

将棋ハードウェアのASIC化により高速化&超並列化を実現し、ペタオーダの局面を探索することで名人を越えよう、というペタスケール・ポンダリング・プロジェクト。先日議会の承認を受け、正式に国家プロジェクトとして始動致しました。いや我がA級人民民主共和国での話ですが。

前々回のマルチコアの記事では、いろいろと可能性は検討しつつも結局「金ないからあれもこれもできねー。再来年に3コア並列くらいがせいぜい」という、ある意味夢のないオチになってしまってました。今回はその反省(?)を元に、お金はとりあえず誰かが出してくれるとの前提で、とにかく今ある技術でどこまでできるのか、を検討してみます。もちろんコストいくらくらいかかりそうか、は考えますけど。

誰しも多かれ少なかれ、仕事の場面と個人の立場とで金銭感覚の「モード」が変わるでしょう。私も、自腹となると「90万?論外」などと一刀両断するくせに、会社では「商談規模5千万円か  ちっ、しょぼいな」なんてことを平気で口走ってたりします。今回は会社モードで行ってみませう。

おそらく大抵の人は、ASIC作るといっても何をどうするのかさっぱり見当つかないと思います。実は私は会社の仕事がこの辺絡んでまして、かなりわかる立場にあります。もちろん仕事絡みだと書けないことも多いんですが、まあ差し障りのない範囲でできるだけ書いてみましょう。なお「ASIC(Application Specific IC)」とは、個別の目的のために専用に起こすLSIのことで、「カスタムLSI」とほぼ同義です。

なお、LSI単体だけあってもしょうがないので、ボードも一緒に作ることになります。CSAの大会に来た方や中継ブログ見た方はわかると思いますが、Aリーグが使ってたような感じのボードを作ってLSIを載せることになります。PC自作とかしたことある方なら、PCIカードみたいなのをイメージしてもらってもよいかも。

つまり、作業工程としては大きく分けると
 ・LSI設計
 ・LSI製造
 ・ボード設計
 ・ボード製造(LSI搭載含む)
の4つになります。

[ボード設計・製造]

私はボードに関してはあまり詳しくないのですが、専門の業者さんがいまして、特別難しいものでなければ、論理的な仕様(接続関係)とLSIのパッケージ情報(ピン位置等)を出せば設計から製造まで行ってくれるはずです。「ボード 試作」とかでググると、いくつか業者さんの名前が出てきます。周波数がすごく高いとか、配線多くて多層基板必要とかでなければ、費用も期間もLSIと比較して小さい比率で済むはず、と思ってます。データ持ってないので具体的な数字挙げられませんが、ボードがボトルネックにはならない、という前提で以下進めます。

[LSI設計]

ユーザ、つまりASICを発注する立場からすると、自分でやるのはLSI設計の全部または一部です。LSI設計も細かく見るといろいろ分かれます:論理設計、物理設計(P&R)、電源、クロック、I/O、DFT(試験用回路)、くらいでしょうか。

全部自前でやればコストは自分達の人件費だけで済みますが、そのぶん手間と期間が増えます。ある部分をデザインハウスと呼ばれる業者さんに委託することもできます。もちろん費用はかかりますが、時間とお金のトレードオフになります。

私は以前 LSI 設計チームの一員でした。チップの中のあるモジュールを受け持って、その部分の論理設計、SIML、物理設計をやっていましたので、この辺はまあわかるつもりです。チップ全体に関わる部分(電源、クロック、DFT等)は専門の部署がやっていて、自分で作ったことはないです。とは言ってもそこといろいろやりとりはしていたので、知識としてはある程度は知っていますが。

チップインテグレーションの部分は、各半導体メーカ(ファブといいます)ごとに設計の「フレームワーク」が決められてるはずで、デザインハウスはだいたいそれに沿って設計すればたいていのASICはできるようになっています。このフレームワークの部分の情報を全部開示してもらえるなら、まあ設計委託せずとも何とか自前でできるでしょうか(推測)。ただ、分厚いマニュアルを全部読むことになり、ツールも覚えなければならないので、お金があるなら頼みたいところではあります。時間がもったいない。

設計委託の費用は、テクノロジノード(後述)や作業内容、チップの内容等によって大きく変わります。業者によって見積り数倍違ったりしますが、だいたい100万~2000万くらいでしょうか。0.18umなら300万まではしないと思いますが。65nmとかだと1000万越えるかも。将棋の場合はチップの設計的難易度は低い(周波数低い、アナログなし)ので、価格も安めだろうとは思います。

なお、イーサのインタフェースのようによくある回路の場合は、できあいの設計を買ってくるケースもあります。「IPマクロ」と言います。この辺も書き出すときりないので詳しくは書きませんが、まあ100Mのイーサくらいでしたら500万まではしないと思います。opencoresのマクロとかを使えばただですけど。

[LSI製造]

LSI製造は逆立ちしても自前ではできませんので、ファブに委託することになります。
LSIを作るにあたってまず考えるのが「どのテクノロジノードを使うか」です。テクノロジノードとは、よく90nmとか65nmとかいうあれです。「プロセス世代」ともいいます。この数字はFETのゲートの幅を表します。つまり、数字が小さいほどトランジスタのサイズが小さい。

テクノロジノードはほとんどのファブで一律に変わっていくもので、A社が80nm、B社が70nm、とかいうふうにはなりません。理由は…そういえば考えたことなかったですが、なんでなんでしょうね。製造装置やマスクを同じとこから買ってるからかな?

大昔は除いて10年くらい前から言うと、テクノロジノードは 0.35um, 0.25um, 0.18um, 0.13um, 90nm, 65nm, 45(40)nm, と推移してきました。おおざっぱに言うと0.35umが96年、45nmが08年、各世代2年間隔です。ときどき0.15umとかいう半端なのが出てきますが、これは「シュリンクバージョン」といって0.18umの改良版です。今の最先端は45(or 40)nmを一部のメーカが量産開始したところです。次世代は32nmと言われてますが、これはまだ(2008年9月現在)どこも量産してません。

さてLSIの試作製造ですが、フルマスク方式と試作サービス利用と2つに大きく分かれます。基本であるフルマスク方式から説明しましょう。

LSIの製造工程は、
 マスク(レチクル)作成
 ウェハー加工
 パッケージ
の3つに分かれます。マスクというのは、たとえるとLSIの「鋳型」で、これは最初に1回作るだけです。その後ウェハーを加工するたびに同じマスクを繰り返し使います。

製造の費用ですが、これは実は私はかなり細かく知っているのですが、仕事がからむため細かくは書けません^^; 知らないことは当然書けない、知ってることは差し障りがあるのでやっぱり書けない、というわけでどっちみち書けないんです。がそれでは話が進まないので、「誤差数十%あります」という前提で、えいやで大体このくらい、という数字を出してみましょう。

0.18um マスク一式 1,000万円
ウェハー 1枚 10万円

 65nm マスク一式 1億円
ウェハー 1枚 100万円

繰り返しますが、誤差数割、です。オーダとしてはこのくらい、のつもりでご理解ください。意図的にきりのいい数字に丸めてますので。

なおパッケージの価格は、これらに比べるとわずかなものですので、ここでは考慮していません。

ウェハー1枚からチップ何個取れるか?ですが、基本的にはウェハー面積÷チップ面積、で計算できます。多少ムダな部分は出ますが、概算ならこれで十分。ウェハーは、0.18umは直径8インチ(20cm)、65nmは12インチ(30cm)です。たとえば0.18umでチップサイズ5mm角としますか。ウェハー面積 10x10xπ ÷ チップ面積 (0.5x0.5) で、1000チップ強取れる、とわかります。

以上から、ASIC将棋のように試作目的で、所要が最大でもせいぜい数千のオーダーならば、フルマスク方式では費用の大半がマスク代になることがわかります。

[試作サービス]

そこで試作サービスの登場です。試作サービスとは簡単に言うと、複数の試作プロジェクトでマスクを共有することで、マスク代を折半して試作コストを削減する、というものです。詳しい解説はたとえば
LSI試作サービスの解説記事
にあります。

マスクはウェハー上の最大20mm角くらいのエリアに対応するもので、この20mm角のパターンを繰り返し、移動しながらウェハーに焼き付けていきます。5mm角のチップなら、20mm角のマスクに16個乗りますので、16個のプロジェクトで同じマスクを共有できるわけです。当然、ウェハー1枚から取れるチップ個数は1/16になりますが、試作ではこれは多くの場合問題になりません。

LSI試作サービスを行う組織があります。日本だとVDEC、米国だとMOSISというのがあります。

VDEC

MOSIS

MOSISは企業からも受け付けるようですが、VDECは大学・研究機関が対象です。またVDECはMOSISと連携していて、MOSISのサービスも使えるようです。

VDECのページの中を見ると、試作料金の情報もあります。ロームの0.18umで、5mm角で75万円。これなら、設計サービスとかもろもろ入れても総額500万までしないんじゃないでしょうか。このくらいなら大学のプロジェクトでも可能な気がしますが、どうでしょう。VDECでは0.18umが使える「最先端」のプロセスのようですね。毎月試作してるし。製造に4か月かかるのがちょっと長い気がしますが、まあしかたないか。

MOSISの方は、webから見積りができます。やってみたところ、0.18um 4mm角で$44K。
65nm 3mm角で$150Kでした。これはおそらく一般向け価格で、アカデミックだともっと安くなるのかもしれません。

  * * *

…というとこで、ASIC試作でどんな作業があり、コスト大体どのくらいか、というのがイメージつかめたかと思いますが、いかがでしょうか。次回は、じゃあ将棋ハードをASICにしたら性能どう変わるのか、というあたりを検討していきたいと思います。

新型兵器投入

5月末ころから、StratixIIIのボードを探しておりました。Alteraの開発キットのほか、ネットで探して見つけたTerasicのボード DE3-150 も検討、というとこまでは以前書いたとおり。でTerasic代理店の立野電脳(株)さんというとこと、ボードのspecを聞いたりとかいろいろやりとりしてたんですが。

7月はじめ、立野さんから思いがけなく「何でしたら DE3-150 無料でお貸ししますから使ってみませんか」という申し出を受けまして。最初「え"!?」という感じだったんですが、話を聞いてみると、現状FPGAというのは利用分野も利用者も限られている。コンピュータ将棋のような新分野にFPGAを応用する例はなかなかない。またFPGAの取引先はほとんどが企業(それも大企業が多い)で、個人でFPGAを買うのは、お試しで小さい評価ボードを買ってくくらいで、ある程度の規模のチップで本格的なアプリを開発する例は今までなかった、とのこと。で、(Aリーグのような)新しい試みには協力したい、それでFPGA利用のすそ野が広がってくれるとよい、ということだそうです。

自分のやってることが斬新と評価されるのは、まあ正直うれしいです。ただFPGA利用の現状の話を聞くと、うーんちょっと寂しいですね。というか私から見ると、いろんな可能性のあるところなのに「もったいない」とまず思ってしまいますが。まあ個人でやるような物好きはそういないだろうというのは薄々わかりますが^^; 大学とかベンチャー企業とかでもっとやっててもいいと思うんですけどね。まあそれはともかく、StratixIIIを借りれるというのは私にとっては願ってもないことなので、ありがたく使わせていただくことにしました。

この DE3-150 というボードですが、搭載FPGAはEP3SL150。その他詳細はこちら:

       http://www.dsp-tdi.com/EXT_Sales/Terasic/DE3.pdf

7/20に宅急便でボード送ってもらいました。ただツールのライセンス上の問題でなかなか動かず、立上げに1か月半かかってしまいました。素直にお金出して QuartusII Subscription Edition を買ってればたぶんトラブルなかったと思うんですが、いろいろと裏道を模索していたため時間かかってしまいました。まあとにかく、9/6 無事ツールは立ち上がりました。

今回入れたのはQuartusII v8 Subscription Edition。今まではv7.2sp1 Web Ed.でした。回路は6月以来いじってませんで、トップレベルをわずかにいじっただけでほぼそのまま。これでコンパイルしたところ、4時間弱で終了。Analysis&Synthesisに3時間、Fitter(P&R)に50分、という感じでした。以前はこの2つがともに3時間ずつ。Synthesisの方はたぶん同じ処理なんでしょう。Fitterは約4倍で、並列化がWeb Ed.になかったとしてもCore2Duoなので説明つかないですが、思うに前はCycloneIIIだったので、StratixIIIの方が配線リソースが多く、そのぶんFitterの処理が楽なのかな、などと推測してます。あ CycIII + v8 で試してみればわかるのか。あとStratix IV もv8でできるので、これも試してみたい。なんつってTODOリストばかり増えていき、ぜんぜん消化できてませんが。

DE3-150 ですが、使い勝手としてはAlteraのボードと大差ないです。TerasicのSystem Builderとかいうツールがついてきて、これにしたがってトップレベルを若干合わせるという作業はありますが、まあマニュアル見ながらやれば大した手間ではありません。ピンアサインについては、クロックのように決まりきったピンに対してはSystem Builderが面倒みてくれてこちらはアサインする必要がないので、その点はAlteraより楽。他は、回路のコンパイルやsofアップロードの作業はまったく同じ。

私はFPGA上のロジックのみで周辺デバイスはまったく使ってませんので、性能的にはこのDE3-150もAlteraのEP3SL150のボードもまったく同じです。ただ、ボードに載ってる周辺デバイスはAltera製とけっこう違うようです。USBやらネットワークやらが、これはあっちはないけどこっちにはある、あれはその逆、とか。ボード選ぶとしたらそのくらいですかね。あとは値段と、ツールのライセンス関連でしょうか。Alteraの方はDevelopment Kit Editionがついてくるので、ツール持ってない人にはやはり魅力でしょう。ツール持ってる企業や大学の人にはあまり関係ないでしょうが。私はちなみに立野さんからツールも借りたので、ここ気にしてません^^;

品質はまだ使い倒してないのでなんとも言えません。サポートは、1回System Builder関連でTerasicのサポートに問い合わせてみましたが、なんというか「中小企業的な」感じ?きちんとしたシステムが整っているとはお世辞にも言えませんが、中小ならではの柔軟さで対応してくれそうな感じでした。まあAlteraもある意味サポートは中小的なところがありますが。(意外と抜けてるとこがある。でもサポート担当個人はけっこうがんばって対応してくれる)

sof作ってみて、周波数は今のとこ25MHz。12.5Mnpsですね。30MHzくらいなら動きそうです。25/15 ~= 1.7倍 なら R+80くらい?と予想されるんですが…

で9/6夜からfloodgate投入しました。sofはじめてできていきなりの実戦投入でしたが、問題なく一発で動いております。

ただ、レーティングが下がっている^^; なんで?verilogは6月末からまったくいじってないので、単純に速くなっただけ、なんですが。速くなった割に強くならない、というのはあるかもしれませんが、弱くなることはちょっと考えられないのですが。で考えるにたぶん、対戦相手が限られてるから、でしょうか。floodgateの相手は、ほとんど勝つ相手か、ほとんど負ける相手ばかりで、勝ったり負けたりするのは今回だとかろうじてmisakiくらい。(sspにもよく負けてるが。)misakiは最近強くなったようなので、対misakiで負けが込んだぶんR下がったのかな、と思っております。また、6月ころにはマイムーブにも1勝4敗くらいでは勝たせてもらってたんですが、最近まったく勝てなくなりました。マイムーブも強くなってるんでしょうね。まったりゆうちゃんは、お互い時々しか参戦せず、かつ時期がずれてたのか、SHUQIの方とはどうやら今回はじめてだったようですね。いちおう4勝1敗なので相性はよいようですが。ところでSHUQIって何なんでしょう。"QI"というあたりは、中国系?シューチー?それとも何かの頭文字か。

1.7倍高速化はソフトではなかなかできないと思うんですが、それでも相対的に弱くなるってことは、多少の高速化よりパラメタ調整の方が強さには効く、ってことなんでしょうかね。だとするとまずそちらをやるべきなのかも。
#…でも高速化の方がおもしろいんだよな(ぼそ)

« 2008年8月 | トップページ | 2008年10月 »