【レポート】Hot Chips 26 - 進化を続けるFPGA
●性能/電力/コストのバランスを重視したミッドレンジFPGA「Arria 10」FPGAの発表はHot Chipsの恒例となった感があり、今回のHot Chips 26でもAlteraとXilinxが先端のFPGAを発表した。微細化に伴い、実現できるロジックの規模が増大し、SRAM、プロセサコア、DSPなどの部品の搭載、そして、各種の高速IOやメモリコントローラのサポートと、その有用性は急速に進歩している。
今回、Alteraは、TSMCの20nm SoCプロセスを使う「Arria 10」FPGAを発表し、Xilinxも同じく20nmプロセスを使う「UltraSCALEアーキテクチャ」のFPGAを発表した。
○AlteraのArria 10 FPGA
Hot Chips 26で発表されたArria 10 FPGAはハイエンドではなく、性能/電力/コストのバランスを重視したミッドレンジのFPGAである。この製品はTSMCの20nmのSoCプロセスを使っており、微細化で性能アップとチップサイズの縮小が得られているが、それ以外にも多くの改良が含まれている。
Arria 10のレイアウトは、上辺の中央より少し左の部分になるプロセサ部分を別とすると、縦方向のストライプ状に各種のリソースの領域が分けられている。一番面積が広いのがCore Logicの部分で、全体で1.15M個のLE(Logic Element)と1.7M個のFFを含んでいる。そして、メモリ領域には合計64MbitのSRAM、DSP領域には1.5TFlopsの浮動小数点演算DSP、プロセサ領域にはデュアルコアのARM A9プロセサが搭載されている。
IOは28Gbit/sのSERDESを搭載し、合計では1.7Tbit/sを超えるバンド幅を持ち、メモリインタフェースは最大2.667GbpsのDDR4メモリをサポートする。さらに、PCI Expressや10Gbit Ethernetなどもサポートしている。
IOトランシーバは、最大96個搭載され、そのうち、最大16個は、28.1Gbit/sの最高速のものが使える。この製品では送信側のプリエンファシスや受信側のイコライザを改良して、28Gbpsの動作を可能にしている。
Arria 10の大きな特長は、IEEE754規格に準拠する単精度の浮動小数点演算を行うDSPを搭載した点である。固定小数点演算を使う以前のDSPでは、数値のダイナミックレンジを気にする必要があったが、浮動小数点演算ならダイナミックレンジの大きな数値を扱うことができ、用途が広がった。浮動小数点演算を使うことにより、DSP部のチップ面積は12%増加するが、チップ全体の面積でみれば1%に満たない面積増であり、問題にならないという。また、従来の固定小数点演算との互換性も保っているので、以前の設計をそのまま使うこともできるようになっている。
Arria 10全体では1687個の浮動小数点演算器を搭載しており、合計の演算能力は1.5TFlopsを超える。
DSPをパイプライン接続することもでき、次の図の中の接続では8項の内積を計算する例を示している。同様にして、256項の内積も約25クロックで計算でき、256段のFIRフィルタも約750クロックで実現できるという。
ハードプロセサシステム(HPS)は、ARM A9デュアルコアと共用の512KBのL2キャッシュを持ち、最大1.5GHzクロックで動作する。また、セキュアブートなどもサポートしており、よりセキュリティレベルの高いシステムを実現できる。
また、HPSは次の図に示すように、新たにDDR4をサポートするメモリコントローラを搭載た。Ethernet MACは3チャネルに拡張され、入力、出力、コントロールの3つのストリームを並列に処理できるようになった。そして、セキュアブートにも対応するという機能なども新設である。
Arria 10では新たにSmartVoltage IDという機能がサポートされた。この機能は、製造時に、規格の速度で動作できる最小電源電圧をチップに書き込んでおき、通常動作時にはその電圧までコアの電源電圧を下げるというもので、製造されたトランジスタが高速側にバラついたチップでは、速度を落とすことなく、スタティック電力を最大35%下げられるとのことである。
また、Arria 10ではバックゲートバイアスで、ブロック単位で、ロジックを高速モードと低速だが電力も小さいモードに切り替えることができる。QUARTUS IIツールは、遅延時間に余裕がある部分には低電力モードのロジックを使って消費電力を減らす。これにより、コアのスタティック電力を最大20%減らせるという。
Arria 10はミッドレンジのFPGAであるが、1Mを超えるロジックエレメントを集積し、新たに1.5TFlopsを超える強力な浮動小数点演算DSPを装備し、IOトランシーバの高速化を行うなど、その進化は続いている。
●最大32.75Gb/で動作するIOを搭載した20nm世代のUltraSCALEアーキテクチャ○XilinxのUltraSCALEアーキテクチャFPGA
Hot Chips 26において、XilinxはUltraSCALEアーキテクチャと呼ぶ20nm世代のFPGAの技術についての発表を行った。
必要なバンド幅は増大し続けているので、Xilinxも、より高速のIOの開発を続けており、20nm世代のUltraSCALE FPGAでは、最大32.75Gb/で動作するIOを搭載している。また、最大120個と、高速で動作するIOの数を増やすことにも力を入れている。
そして、処理性能を向上させるためにはクロックの向上が必要になるが、クロック周波数を上げると相対的にクロックスキューが増えてしまいタイミングマージンが減ってしまうという問題がある。また、半導体の微細化で配線も細くなり、その結果、抵抗が増えてクロックの遅延やスキューが増えてしまうという問題が出てくる。
次の図の左側の絵のように、従来はチップの中心にクロックソースを置き、縦方向に32個のクロックバッファを置いてクロックを分配していたが、UltraSCALEアーキテクチャでは192〜720個のクロックバッファを分散して配置し、どの位置にでもクロックソースを置くことができるようにした。そしてクロックドメインを細分化することでスキューを減少させている。
微細化で集積度が向上すると、配線もそれだけ多く必要になる。また、微細化で配線が細くなり抵抗が増えて遅延時間が長くなるという問題がある。これに対しては、ロジックブロックの密度の改善や、配置や配線の改善を行っているが、それだけでは不足で、配線層の追加を行っている。
特に、抵抗が大きくなる長い配線に対しては、厚み、幅ともに大きな上層の配線層を割り当ててR、Cを減らしている。
次の図は、LUTの使用率を横軸にとり、縦方向のマスの色で配線の困難さを表現している。黒は配線不能、緑は配線の混雑がない、その他は、色が明るくなるにつれて配線が容易になっていくといいう表現である。
図の左側の従来のFPGAではLUTの使用率が65%を超えると、黒の配線不能の領域が出てくるのに対して、配線層を増やした右側のUltraSCALEアーキテクチャでは、使用率が高くなると、配線が難しい領域が出てくるものの、混雑がひどくて配線不能というところまでは至っていない。この結果、タイミングクロージャまでの時間が短縮でき、最高動作周波数も1グレード向上できるという。
Xilinxは、1チップでは作れない巨大なFPGAは、複数のスライスをインタポーザで接続する2.5D実装で実現している。UltraSCALEアーキテクチャでも、同様な2.5D実装を使うが、スライス間に約2万本の配線領域を確保し、500MHz以上の動作を可能にするという。また、クロック分配もスライス間をつなぎ、スキューなどを抑えて単一チップに近い使い勝手を提供する。
消費電力は45nm/40nmプロセスのSpartan-6/Virtes-6から、28nmプロセスを使う7シリーズで最大で半減したが、20nm/16nmプロセスを使うUltraSCALEでは、さらに25%〜45%の電力低減を目指している。スタティック電力の低減は、半導体プロセスの改善やチップの選別が中心となるが、その他の部分のアクティブな電力の低減には、これまでに説明した各種の技術が貢献している。
これまでに説明したことをまとめると、UltraSCALE FPGAでは、
・最大120個のトランシーバを搭載し、最高速度も33Gb/sに引き上げて、IOバンド幅を改善・配線層の追加などで、配線を容易にし、性能を改善・クロック分配の柔軟性と性能を改善・第2世代の2.5D実装で最大4.4Mロジックセルの巨大FPGAを実現
が新技術の目玉である。
今回のHot Chips 26においてAltera、Xilinxの両社が発表したFPGAは20nmプロセスの採用と回路技術によって、高密度、高性能化を行い、配線抵抗の増大や素子バラつきの増大などの微細化の問題を各種の技術でカバーしており、FPGAで実現できる機能の地平線を拡大している。まだまだ、FPGAの進化は続きそうである。
(Hisa Ando)