評価ボード調達進捗状況 エピソード2 サイクロンの台頭
いやいや、びっくりしました。ずっと「だいとう」と読んでたんだけど変換できず、「たいとう」なことにはじめて気づいた^^;
ツール代をけちりたい、という動機から、Cyclone3でも合成トライしてみました。QuartusII WebEditionをインストールし、某ムックで使い方覚えて、ファミリーはCyclone3、デバイスは自動選択、というモードで
EP3C80 LE 40,294 / 81,264 (50%) Fmax 14.35MHz
ログの見方がいまいちよくわからんがたぶんこうだと思う。EP3C60でも入るよなきっと。
まあSpartan3とほぼ同レベル、並ですね。Stratixは試してないが、たぶんSt2≒V4, St3≒V5, なのでは(まったくの憶測)。
ご感想いかがですか、謎電さん。
ちなみに、XC3SD3400Aはやはりあふれました。
Cyclone系ボードを探すと、EP3C120のボードで$1,495 / 20.3万円というのがあり。ただ難点は、I/FがシリアルがなくUSBとEtherのみな点。USBでもEtherでもコントローラがけっこう大変そうな気がするのだが、うーんまあ最悪しょうがないか、と覚悟を決め。
問題のボード入手。私は勤め先新宿なんですが、アルテラKKがアイランドタワー、代理店その1がモノリスとご近所。これならいざとなったら押しかけて、「ボード出しやがれ!出すまでここを動かねえぞ!」などと居座れば出すだろ、などとほとんどヤ○ザなことを考えつつ、代理店その1にTEL。そしたら、「個人のお客様は、弊社では扱ってませんが、取引先の商社がありますのでそちらをご紹介します」とのこと。
なーんでえ、案外話わかんじゃねぇかよ、えぇ?
最初っからそう言ってくれりゃあいいんだよ。
ただ、上記の3C120Nのボードは、最近リリースされたばかりなので納期3か月とのこと。
なああんちゃん、この納期だけどさ、俺ぁちょいと急いでんだよ。
何とかしてくんねぇか、あ?
…いや、やめときますか。堅気の衆に迷惑かけちゃいけねぇ、と先代も言ってたし。
というわけで、納期がちょっとあれですが、まあ何とか入手はできそうです。ただ、USB or Etherで動かせるメドをつけねばならんので、目下そこを検討中。ここをクリアできれば、3C120Nにほぼ決定です。これだとご予算20.3万ですべて揃う。
♪ ごお~ ごお~ れっつごお~
かがやくまーしーんー~ ♪
で、PCとのI/Fの話。正直、まだ今のところ見極めついてません。いろいろ情報収集している段階。
まずコントローラを一から作るなんてやってられなので、IPを探す必要があります。Megacore IP storeとかいうのがあって、USB等だいたい何でも揃ってはいるのですが、これはかなりのお値段しそう。いくらかまでは調べてないですが。で、だめもとでネットで探すと…なんと、フリーのがありました。 www.opencores.org。これもけっこう何でも揃ってる。業界の人には常識なのかもしれませんが、これは正直感動しました。IPのFSF、みたいなもん。フリーなんで品質どうよ?というのは少しありますが、ソースあるならデバッグもできるし。
Etherのコントローラはだいぶでかくなるようなので、USBを本線で検討。OpencoresのUSBは、説明読むと「FIFOベースで、MCUは不要」と書いてある。要確認ですが、ほんとならだいぶ楽になる(というか、今からNios覚えて、なんてなるとちょっと来年の大会は無理そう)ので、いちおうこれに期待してるところ。決める前にソース読まないとあれですが。
USBデバイスとなると、PC側のソフトやドライバ等も考えねばならないのですが…ここまではまだ手がまわっていない。
3か月ってえと、来年3月末か… 5月の大会はやっぱ苦しいかも…まあ、6月でも7月でも、動いたらdojoででも指せばいいや。
しかしあれですね、FPGAだと動かすだけではるかに大変ですね。ソフトでも最初に開発するときは、エンジンの方は楽しいでしょうが、いざ大会に出ようとするとシリアルだとかTCP/IPだとかのプログラムを組む必要が出ますよね。あれで大抵の人は「えーやだ何それー超うざーい何でアタシがそんなことしなきゃなんないのー」と思っただろうと思うのですが(え、思わなかった?私だけ?)、FPGAの場合その百倍くらいです。12月から「将棋的に強くする」作業がぜんぜんできてないのですが。まあ、当面の目標は、この際速さ強さはおいといて、「実FPGAで将棋が動くことを示す」にトーンダウンしつつあるのですが、それすら難しい。
« 評価ボード調達進捗状況 | トップページ | プロジェクトは踊る ~ ホストPCとの接続 »
「将棋プロセサ」カテゴリの記事
- ボンクラーズの開発過程について書いた記事が掲載されました(2019.03.07)
- 「浅い評価値を深い評価値に近づける学習法」誕生の背景(2016.10.06)
- 塚田九段の対ボンクラーズ練習棋譜を公開します(2013.09.07)
- Puella α ソース公開(2013.08.28)
- クラスタ並列の解説記事を公開します(2013.08.22)
今拝見しました。40kLEsですか、結構喰ってますね。私の予想ではもっと少ないと思ってました。それとfmaxが14[MHz]台というのはちょっと納得しにくいところがあります。多分、局面評価値を求めるロジックがクリティカルパスになっているるのだろうと推測しますが、演算部分を「可能な限りメモリを用いた表引き+ツリー加算」に置き換え高速化してあったとしてもその結果なら、かなり厳しいですね。私が考えていたアーキテクチャとは本質的に異なり(1サイクルで全ての処理を行おうという手法ではない)、多分ASICデザイン的発想だと(恐らくその方が処理が速いので)そうなるのではないかと思うところです。
で、ちょっと前言を訂正しますが3C120は120kLE級なので、単純計算だと頑張っても3コアしか載りません。余談ですが、QuartusIIのサブスクリプション(商品)版なら、細かなフロアプランニングが可能で、付属のDesign Space Explorer(最適化ツールの一つ)を駆使すれば、そこから2割は速くなると思いますが、それでも(そのままでは)fmax=17[MHz]程度が限界でしょう。
その他「ソースの書き方次第で等価のロジックでも性能が大きく変化しますよ」とか書き出すともんのすごく長くなりそうなので、後日また思うところがあればコメントさせていただきます。
投稿: プレッシャ~高橋 | 2007年12月23日 (日) 05時02分
コメントありがとうございます。
今はほんとに「とりあえず一発作ってみた」というレベルなので、チューニングも何もできていません。そもそもRTLを書き出す時点で、LUTやRAMのディレイもさっぱり見当ついてない状態だったので、アーキもどうするのがいいのか全く考えようがなかった。なので、まずは「1サイクルで全部やる」方針に決め打ちで作ってみました。これがベストなのかどうかは全く自信なし。
1回作ってある程度データ取れたので、これから、どこがクリティカルパスか、どこでゲート喰ってるか、サイクル分割どうするか、ということを考えていきたい…のですが、今は実ボードで動かすためにリソース取られていてまったくそちらに手がまわらないのが現状です^^;
投稿: 伊藤 | 2007年12月23日 (日) 12時24分