日経テクノロジーonline SPECIAL

大規模FPGAの効率的な開発環境を追求階層設計を前提にして先進機能を積極導入

ザイリンクスは、FPGAの進化を先回りする形で開発環境の強化を進めている。同社が提供する「ISE®Design Suite」では、大規模化に備えて「デザイン・プリザベーション」や「パーシャル・リコンフィギュ レーション」など先進的な機能にいち早く対応。構成するツール群を連携させながら効率的に開発できる環境も採り入れた。さらに再利用しやすいIPの整備にも積極的に取り組んでいる。

図A●「PlanAhead」の画面
[画像のクリックで拡大表示]

ISE Design Suiteは、FPGAの開発に必要な複数のソフトウエア・ツールを統合したものだ。このツール群は、改訂を重ねながら、着々と進化している。最新版は「ISE Design Suite 13」である。特に最近の改訂では、開発効率や使いやすさの向上に主眼をおいた機能の強化に力を入れている。例えば、ISE Design Suitに最近組み込まれたツール「PlanAhead™」は、GUI(Graphical User Interface)を使ってISE Design Suiteに統合された複数のツールをユーザーが効率よく使いこなすための支援機能がふんだんに盛り込まれている(図A)。「FPGAが大規模化したことで、従来の開発環境のままでは開発効率が低下する恐れがあります。そこでザイリンクスでは生産性向上に向けた様々な技術を開発しているところです。その成果を、いち早く製品に採り入れています」(同社 橘幸彦氏)。

階層設計に向けた機能を拡充

ISE Design Suiteでは、大規模FPGAの開発に欠かせないチーム設計への対応も着々と進めている。具体的には複数の設計者で開発することを前提に、階層設計に向けた様々な機能を採り入れている。その一つがデザイン・プリザベーションである。階層設計の手法に基づいて複数のブロックに分割して設計を進める際に、論理合成および配置配線の処理を最小限に抑える技術だ。設計が確定したブロックは、そのままにして設計変更を施したブロックだけ論理合成と配置配線を施すことができる。「特にタイミング・クロージャのプロセスで威力を発揮します」(同社本田和孝氏)。

動作中のFPGAに実装されている回路の一部をリアルタイムで変更できるパーシャル リコンフィギュレーションを組み込む機能も強化している。パーシャル リコンフィギュレーションは、FPGAの大規模化にともなう設計の複雑化を抑えるとともに、システムの小型化、低消費電力化、低コスト化にも貢献する機能だ。「パーシャル リコンフィギュレーションの機能自体は従来から提供していましたが、FPGAに組み込むには高度なノウハウが必要でした。最近のISE Design Suitでは、こうした処理を自動化し、パーシャル リコンフィギュレーションを効率よく利用できるようにしました」(橘氏)。

このほかに同社は、効率的な開発環境を追求する取り組みの一環としてIPを再利用しやすい環境の整備にも取り組んでいる。「AMBA®AXI4 準拠のインターフェイスを備えたIPのラインアップの拡充を進めています。様々なインターフェイスを備えたIPが流通していますが、これを統一することでIPが再利用しやすくなるでしょう」(本田氏)。

2011年2月に発表した米AutoESL Design Technologies, Inc.の買収も、開発環境の効率化に向けた取り組みの一つだ。同社は高位合成ツールの大手である。「大規模なFPGAの設計を効率化するうえで、抽象度の高い設計を可能にする高位合成ツールの役割は重要です」(本田氏)。

FPGAの進化を見据えながら着々と開発環境の強化を進めているザイリンクス。FPGAの特性を生かした戦略的な製品開発を目論む機器メーカーにとって強力な味方といえよう。



記事トップ >>

図1●階層化設計の概念
[画像のクリックで拡大表示]
図2●微細化とともに増え続けるFPGAのロジックセル数
[画像のクリックで拡大表示]

「FPGA(Field Programmable Gate Array)の開発における階層設計(Hierarchical Design)とは、回路を機能ごとに複数のブロックに分割し、ブロックごとに設計。それらを最後に統合することで一つのFPGAを設計する手法である(図1)。必要に応じて分割した回路ブロックをさらに分割することで、階層が深くなる。実は、いまやFPGAの開発において階層設計が必須になっている。半導体製造技術の微細化が進むとともに、FPGAの大規模化が加速しているからだ(図2)。

130nm~90nmのプロセス技術を使っていた2000年代前半には、FPGA一つ当たりのロジックセル数は、多くても10万個~20万個だった。ところが2010年に大手FPGAベンダーの米Xilinx社が発表した28nmプロセスを使った新製品「Virtex®-7ファミリ」には、200万個ものロジックセルを備えた品種が含まれている。この製品は、Siインターポーザの上にFPGAスライスを4枚並べて一つのパッケージに実装する同社独自の技術「スタックドシリコンインターコネクトテクノロジ」で実現したものだ。

FPGAの大規模化が急速に進んでいる背景には、ASICやASSPに代わってロジックLSIにおける微細化のトレンドをFPGAがリードするようになってきたことがある。微細化を進めて、チップ面積を小さくすれば、一つのウェハーでより多くのチップを製造できるので製造コストを削減できる。しかも、微細化によって高速化と低消費電力化も進められる。つまり、微細化でリードすることで、市場における製品の競争力を高めることができるわけだ。

ところが、ASICやASSPの場合、微細化によって1チップに集積できる回路規模が増えるにつれて、回路が複雑化。これによってマスクの製造コストが急速に上昇してしまった。しかも、微細化を進めても、従来のように性能向上や低消費電力化が進まないという問題も表面化してきた。この一方で、比較的回路がシンプルなFPGAは、依然として微細化による回路の大規模化を進めることができた。高速化や低消費電力化といった微細化の恩恵も継続して受けられた。そのうえ回路規模を増やすことで、ユーザーに新たな付加価値もたらすこともできた。

大規模化で開発ツールの役割が重要に

ただし、FPGAの場合は開発環境で問題が浮上してきた。その一つが、FPGA開発にともなうデータの処理時間の増加だ。そのまま何も手を打たなければ開発効率が下がってしまう恐れがある。具体的には、ハードウェア記述言語(HDL)で表したRTL(Register Transfer Level)記述をロジックセルの接続関係を示すゲート・レベル・ネットリストに変換する「論理合成」や、ゲート・レベル・ネットリストを基にゲートや接続情報を論理ブロックや入出力端子に割り当てる「配置配線」といったプロセスで、こうした問題が深刻になる。さらに回路の大規模化にともなって設計が複雑化すると、一人の設計者だけでFPGAを開発することが難しくなるという問題もある。これらの問題を解決する有力な手法が階層設計である。

すでに大規模なFPGAを展開している大手FPGAベンダーは、階層設計への対応を前提に、開発環境の機能強化に乗り出している。

お問い合わせ