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

Arria 10 FPGAについて発表するAlteraのBrad Vest氏

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などもサポートしている。

Arria 10 FPGAのフロアプラン。(出典:記事の中のArria 10の部分の図はAlteraのVest氏の発表スライドの抜粋である)

IOトランシーバは、最大96個搭載され、そのうち、最大16個は、28.1Gbit/sの最高速のものが使える。この製品では送信側のプリエンファシスや受信側のイコライザを改良して、28Gbpsの動作を可能にしている。

Arria 10のトランシーバの概要

Arria 10の大きな特長は、IEEE754規格に準拠する単精度の浮動小数点演算を行うDSPを搭載した点である。固定小数点演算を使う以前のDSPでは、数値のダイナミックレンジを気にする必要があったが、浮動小数点演算ならダイナミックレンジの大きな数値を扱うことができ、用途が広がった。浮動小数点演算を使うことにより、DSP部のチップ面積は12%増加するが、チップ全体の面積でみれば1%に満たない面積増であり、問題にならないという。また、従来の固定小数点演算との互換性も保っているので、以前の設計をそのまま使うこともできるようになっている。

商用のFPGAでは初めてIEEE754準拠の浮動小数点演算DSPを搭載した

Arria 10全体では1687個の浮動小数点演算器を搭載しており、合計の演算能力は1.5TFlopsを超える。

DSPをパイプライン接続することもでき、次の図の中の接続では8項の内積を計算する例を示している。同様にして、256項の内積も約25クロックで計算でき、256段のFIRフィルタも約750クロックで実現できるという。

Arria 10は1678個のDSPブロックを持ち、パイプライン接続すれば項数の多い内積も計算できる

ハードプロセサシステム(HPS)は、ARM A9デュアルコアと共用の512KBのL2キャッシュを持ち、最大1.5GHzクロックで動作する。また、セキュアブートなどもサポートしており、よりセキュリティレベルの高いシステムを実現できる。

ハードプロセサシステムは1.5GHzクロックのARM A9を2コア搭載

また、HPSは次の図に示すように、新たにDDR4をサポートするメモリコントローラを搭載た。Ethernet MACは3チャネルに拡張され、入力、出力、コントロールの3つのストリームを並列に処理できるようになった。そして、セキュアブートにも対応するという機能なども新設である。

HPSの周辺機能のまとめ

Arria 10では新たにSmartVoltage IDという機能がサポートされた。この機能は、製造時に、規格の速度で動作できる最小電源電圧をチップに書き込んでおき、通常動作時にはその電圧までコアの電源電圧を下げるというもので、製造されたトランジスタが高速側にバラついたチップでは、速度を落とすことなく、スタティック電力を最大35%下げられるとのことである。

SmartVoltage IDは、チップに書き込まれたSmartVoltage IDの値まで電源電圧を下げて、消費電力を低減する

また、Arria 10ではバックゲートバイアスで、ブロック単位で、ロジックを高速モードと低速だが電力も小さいモードに切り替えることができる。QUARTUS IIツールは、遅延時間に余裕がある部分には低電力モードのロジックを使って消費電力を減らす。これにより、コアのスタティック電力を最大20%減らせるという。

高速ロジックと低速,低電力ロジックを混在させて、遅延時間に余裕のある部分には低電力ロジックを割り当てて、消費電力を減らす

Arria 10はミッドレンジのFPGAであるが、1Mを超えるロジックエレメントを集積し、新たに1.5TFlopsを超える強力な浮動小数点演算DSPを装備し、IOトランシーバの高速化を行うなど、その進化は続いている。