微細化によって新たな問題や懸念が増えることもあるでしょう。回路規模が大きくなるということは、多くの機能を設計・検証することですから、設計・検証をいかに効率良く、短時間に正確に行うことができるかが新たな課題になるでしょう。
また、FPGAデバイスの集積度が大きくなったとはいえ、大きな回路規模になればFPGAデバイスの単価を引き上げることになりますし、回路規模の増加に応じて消費電力も増加することになります。そして、大規模なFPGAを実装したシステムを稼働する際の、FPGAのコンフィギュレーションの方法や時間も懸念事項に追加されるのではないでしょうか。
このような課題を克服しながら最先端プロセスのFPGAを利用し、その優位性を享受するためには、設計手法などについても新しい考え方を導入する必要がありそうです。
まず「大規模な回路設計と検証を効率良く行う」ために、“インクリメンタルコンパイル”という手法が解決策の1つとして挙げられます。これは、回路変更を行った箇所を含む特定のブロックの範囲のみを再コンパイルするというものです。この手法自体は、大規模なASIC設計では当たり前になっているものだと思いますが、FPGAではなかなかユーザーが増えていないというのが実情のように思います。その最たる理由は、インクリメンタルコンパイルの手法を使うことを意識した、事前のブロック分割を行うことが面倒だと思っているからだと考えられます。確かに、意識的なブロック分割をまったく行わない設計と比べれば、追加して行わなければならないステップが増えるのは事実です。しかしながら、そのために少し時間を使うだけで、後々の一部の部分的な設計変更・検証の繰り返しで使用する時間を大幅に短縮できるのであれば、設計手法として標準的に導入する方が得策に思えます。
このインクリメンタルコンパイルの手法をベースにして「チームベース設計」という考え方・開発手法も取り込むことができます。ブロック分割をトップダウンに行って、それぞれのブロック設計をチーム内のメンバーで分担し、チップ全体の設計にまとめ上げるというやり方です。導入するためのコストが気になるところだと思いますが、アルテラ社の場合であればFPGA/CPLDの開発ソフトウェアツールを購入すれば「LogicLock」という機能によって、インクリメンタルコンパイルとチームベース設計を導入できます。障害となるのは、設計者の皆さんの導入のための学習時間かもしれません。FPGAベンダーが提供しているトレーニングのカリキュラムに含まれていれば、それを受講することが効率の良い習得方法だと思います(図3)(図4)
インクリメンタルコンパイルやチームベース設計手法は、数年前からサポートしているものですが、ここでアルテラ社の28nm FPGAに併せて提供される新しい機能・手法を紹介しましょう。
まず1つ目は、「パーシャルリコンフィギュレーション」です。パーシャルリコンフィギュレーションは、FPGA内の他の部分を動作させたまま特定の部分のみを再構成可能にする機能です。これにより、システムを中断させることなく機能を更新、または調整することが可能なため、立ち上げ時間が重要視されるシステムには特に有効な機能です。
また、同時に動作している必要がある機能のみを実装し、必要でない機能と必要になる機能を入れ替えて使用することが可能になるため、高集積化の必要性を低減し、コストと消費電力を劇的に削減できます。さらに、コンフィギュレーションファイルサイズも小さくでき、高速なリコンフィギュレーションが可能です(図5)。
このパーシャルリコンフィギュレーションを活用するためには、インクリメンタルコンパイルでも使用するLogicLockツールの使用が必須となります。つまり、LogicLockツールを習得し、ここで紹介した設計手法を導入することで、28nm FPGAの利点を最大限に引き出すことができるのです。
そして、2つ目の新しい機能が「PCI Express経由のFPGAコンフィギュレーション」です。アルテラ社の機能としては「Configuration via Protocol」と呼ぶもので、文字通り、外部のさまざまなストレージデバイスに格納したコンフィギュレーションデータをPCI Expressを介して、FPGAにアップロードします。FPGA側にPCI Expressのコントローラ回路がハードウェア的に実装されているからこそ実現できる機能で、電源投入後にFPGA上のPCI ExpressハードIPブロックとI/Oを先行してコンフィギュレーションし、100ms以内にPCI Expressリンクを確立します。これでコンフィギュレーションデータ用のストレージ選びが柔軟になり、また超高速コンフィギュレーションが可能になります。
今回は、最先端28nm FPGAについて、ニュース記事などではあまり取り上げられていなさそうな内容も含めて紹介してみました。いかがでしたでしょうか。
FPGAは最先端の半導体プロセス技術をいち早く適用しています。しかし、最先端プロセスの使用だけで技術的課題・市場ニーズに対応できるわけではありません。実装レベルや開発ソフトウェアのレベルなど、さまざまな領域において、新しい技術や手法を取り入れているのです。(次回に続く)
Copyright © ITmedia, Inc. All Rights Reserved.