FC2カウンター FPGAの部屋 FPGAの将来
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

FPGAの将来

以前はFPGAで最先端の物を作れると信じていた。最近はFPGAは最先端のものを作れなくなってきたんじゃないだろうかという気がしてならない。
たとえば、PCI-ExpressはIntelのX38チップセットではGen.2になっていて、実効伝送帯域1ペアあたり4GT/secだ。これをX8にして、64ビットバス幅に直すと、64ビット500MHzのSDR信号に変換される。果たしてこれでVirtex-5とはいえ、動作できるだろうか?
やはりせめて128ビット250MHzにする必要がある?
Gen.3だと、64B66Bあたりを使うのだろうから、8GT/secほぼ出るようだし、そうするとX8で64ビット1GHzのSDR信号に変換される。こっちは256ビット250MHzか?
Virtex5でも、最初からクリティカルパスの低減を考えていかなければ、250MHz動作は難しいのだろうか?(実際にやったことがないので良くわからない)
もっとレーンを少なくすれば、大丈夫だと思う。しかし、世の中の進歩にFPGAというアーキテクチャがついていけなくなりつつあるような気がする。
誤解の無いように言っておくとFPGAがだめだというわけではなく、いろんなことができる、とても便利なICなんだけど、最先端ではなくなるんじゃないかなと思う。もっと速くするためににはアーキテクチャの変更が必要なんじゃないだろうか?今でも、PCI-ExpressエンドポイントやEther MACがハードコアでついているが、それはFPGAの論理素子を使ったソフトコアでは難しいからだろうと思う。
この辺のことをET2007に行った時に、Xilinxのブースで聞いてみようと思う。

#なんかこんなこと書くと反発が来るかな?
  1. 2007年10月26日 06:14 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:11

コメント

基本的には同じ事を思っています。

小さいFPGAから、大きなFPGAまで含めて、もっと違う活躍の場があるのかなとも思います。

  1. 2007/10/26(金) 08:03:17 |
  2. URL |
  3. なつたん #-
  4. [ 編集 ]

同じく

FPGAは何でもできる利点がある反面、構造としてはかなり無駄が多いはずですから。

今後は多様化が求められてくるのでしょう。
HighエンドではI/OやCPU、DSPなどハードコアでガチガチに固めたり(その反面、自由度は減る)、
Lowエンドではそれほど大きくなく、早くなくてもいいから電源1つで動作して、5Vトレラントなものもほしいし、
あと、ロジックが大きなものになるとパッケージもピン数が増加していくというのも場合によっては困る(なぜ1000ピンもいるのよ?とか)。

でも、バリエーションを増やすとやっぱり高くなるんだろうな。

ただやっぱり、超高速や超低消費電力なんていわれるとやはり厳しいでしょうね。

もちろん、今後も活躍の場は大いにあるとおもいますけど。
  1. 2007/10/26(金) 11:34:51 |
  2. URL |
  3. アイン #xRS1q4qQ
  4. [ 編集 ]

なつたんさん、アインさん、賛同ありがとうございます。

アインさん、本当にロジックとピン数のバランスは用途によって違いますね。うちでは、何でVirtex4は中ぐらいのロジックで1517ピンないの?です。

昔々、ラッピングでMC68010のボードを作ったりしていました。そのときは10MHz程度でしたが、標準TTL+ASSP+プロセッサのラッピング配線の限界を感じて、ハードをやめて、ソフトに走りました。
その後、FPGAを知り、これでいろいろ作れると喜び、作るようになりました。プリント基板になりましたが。。。
また、限界が近づいてきたようです。これからは最先端は大手のものかもしれませんね?
FPGAも、最先端を狙うには、論理素子が無駄になりますが、粒度をあげていく必要があるかもしれません。Virtex5が6入力LUTになったように、もっと大胆な改革が必要かもしれません。たとえばデータパス用の素子、配線をあらかじめFPGA内に作っておくとか?
  1. 2007/10/26(金) 11:57:26 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

 marseeさん、お邪魔します。
>最近はFPGAは最先端のものを作れなくなってきたんじゃないだろうか
 昔からそうですよ。結局、ASICの最後のマスク・パーターンを電気的
スイッチに変えたような構造ですから、その分、当然ASICより遅くなり
ます。ASICは当然フル・カスタムより遅く、大体、フル・カスタム>ASIC
>FPGAの順で、各2~3倍は遅くなります。PCI33MHzの時代にも、中々
FPGAではフルに実現できない時代が3年ぐらいはありました。
  1. 2007/10/27(土) 11:41:18 |
  2. URL |
  3. くり #BVEqsAzE
  4. [ 編集 ]

くりさん、こんにちは。
確かに、昔からASICには、まったく及ばないとは思います。
確かにASICより2~3倍遅くなるでしょうが、PCI-Xバスの時代はPCI-Xバスのバンド幅が少ないので、フルスペックでもFPGAで実現することはできました。
PCI-Expressになったら、もうそれは無理じゃないのかな?ということです。
つまり、うちでは、もうFPGAでは、新しいボードは作れそうもないということです。
  1. 2007/10/27(土) 12:49:08 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

まあ、特定の目的に特化した回路の汎用品と、汎用的に使えるように
した回路を用いた特化品との勝負は、性能なら当然前者、柔軟性な
ら当然後者、ってことですよ。Gen2とかGen3とか、それこそIntelあた
りが、必死になってやってることですからねー。同時期に、個人がFPGA
でフル・スペックなんて、当然無理ですよ。特にPCI-Expressは差動シ
リアルで、使う周波数も極端、変換方法も極端を狙ってますから、この
辺をFPGAに取り込もうとすると、専用コアになるのも致し方ないかと。
DDRあたりも、I/O周りに(まともな)専用レジスタを付けるまでは、
FPGAでは対処不能でしたから。(まともでない専用レジスタが付いて
いた時代が、Alteraには確かにありました^^)
 DDRが対応していったように、この辺も徐々に対応していくと考えら
れますし、「すべてを自作!」ていうのも、規模も大きく、やることも
高度になった現状では、次第に難しくなると思います。あまり悲観的に
なる必要もないと思いますが。
  1. 2007/10/27(土) 14:26:27 |
  2. URL |
  3. くり #BVEqsAzE
  4. [ 編集 ]

くりさん、こんにちは。
問題にしているのは、PCI-Expressが専用回路になるのは良いのですが、それを処理する回路をFPGAに組めなくなってしまうだろうということです。
今、お仕事で研究用のFPGAの開発とかをやっていますが、次の世代は、汎用品に性能で負けそうと言うことです。
  1. 2007/10/27(土) 15:30:43 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

>それを処理する回路をFPGAに組めなくなってしまうだろうということ
>です。
 うーん、いや、考えても見て下さい。転送速度4GByte/secとか
8GByte/secの世界ですよ。PCI-Expressは単に伝送するだけですが、
それだけの転送速度を要求する処理系って・・・、それだけの処理
能力を有する回路ってことですよねー。で、それだけの処理能力を
有する汎用品って・・・、そう々目的の処理にピッタリのものって
ないですよねー。 で、色々な汎用品を組み合わせたりすると、イン
ターフェイスが問題になって、グルー・ロジックが必要になり、結果
として速度が落ちてー^^;)。
 結局は、目的や考え方やタイミングの問題で、研究用の回路の実現
という目的でしたら、柔軟性、迅速性およびコストの面で、FPGAに勝る
ものは存在しないと思いますが、性能面でも負けないって言うのは
欲張りすぎで、同じ回路を誰かがHard Copy化すれば、あっという間に
負けちゃう訳です。
 何れにしても、4GByte/secとか8GByte/secの世界は、汎用品でも
FPGAでも、難しいことに変わりはありませんよ。
  1. 2007/10/27(土) 16:55:50 |
  2. URL |
  3. くり #BVEqsAzE
  4. [ 編集 ]

それはそのとおりだと思います。くりさんのおっしゃることは、まったくもってそのとおりだと思います。
ですが、できればFPGAに4GByte/secとか8GByte/secの世界も扱えるようになってほしいと思っています。特定用途向けになってしまうでしょうが。。。
  1. 2007/10/27(土) 23:05:17 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

 なるほど。中々、興味深い御研究ですね。でも、次々計画が5~10倍となると、
やっぱり4~8GByte/sec台のスループットですかー。中々厳しいですね。もはや
このクラスになると、御論文にあるような外付けのLVDS等でパラレルにFPGAに
接続というのは、実装上不可能になって来るでしょうねー。必要駆動クロック
が高くなりすぎるとか、配線数が多くなりすぎるでしょうから。パラレルでは
不利で、結局、FPGAに直接差動シリアルで入れるなどの方法に。さらにスイッ
チャーも、CPUを使って経路制御・・・というのは、速度およびレイテンシーの
問題から難しくなると思われます。FPGAで直接経路制御・・・。
 まあ、問題は外部との接続ですねー。FPGAの内部的には、そんなに突拍子も
ない話でもないかも知れません。
  1. 2007/10/30(火) 01:01:10 |
  2. URL |
  3. くり #BVEqsAzE
  4. [ 編集 ]

くりさん、こんにちは。
前のコメントは消しました。
次のは、作るとしたらという話でして、かなりのお金がかかってしまうし、無理じゃないかという話になっています。今回も、PCI-Express、Rocket IOで行きたかったんですが、基板にもお金がかかり、FPGAの問題もあって断念しました。
やはり、測定器だけでも1千万近くするみたいですし、なかなか小所帯では難しいかなと思います。
私はあまりクラスタの研究にはタッチしていませんが、通信部分をホストPCがやるのではなく、ネットワークにあるプロセッサにオフロードするのにCPUを使っているようです。FPGAで経路制御をアクセラレートすることもできますしね。いまでもパケットのヘッダ部分はFPGAで抽出しています。
そいうわけで、次は厳しいかなとブログの文を書いてしまいました。やはり、ホストPCとのバンド幅がPCIの時代よりも大幅に増えて、FPGAでフルに活用するのが難しくなってきていることは間違いないですね。
  1. 2007/10/30(火) 05:11:53 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/634-bb0c956c
この記事にトラックバックする(FC2ブログユーザー)