後藤弘茂のWeekly海外ニュース
2015年のモバイルSoCやGPUを進化させるファウンダリのFinFETプロセス
(2014/10/14 06:00)
FinFETが高性能チップにも利点をもたらす
ファウンダリ各社の16/14nm 3DトランジスタFinFETプロセスは、20nmプロセスに対してパフォーマンスロジックチップのサイズが縮小する。これは、FinFETプロセスで、スタンダードセルが大きく変わるからだ。特に高性能チップ用のセルライブラリは、セルのサイズが小さくなり、より小さいサイズで高性能を達成できるようになる。また、FinFETプロセスでは、密度優先のセルライブラリでも、従来のハイパフォーマンスライブラリに近い性能を出せるようになる。結果として、チップの小型高性能化が進むことになる。
言い換えると、性能の高いモバイルSoCやGPUが、20nmよりも、低いコストで製造できるようになる。ただし、従来の28nmプロセスと比較すると、20nm以下のプロセスでは、露光技術がダブルパターニングとなるため、ファブでの加工コストが大幅に上昇する。そのため、16/14nmのFinFETも高コストには違いないが、ロジックセルのスケーリングのおかげで緩和されることになる。モバイルSoCやGPUは来年(2015年)からFinFETへの移行が始まるが、そうした利点を持つ。
具体的には、プレーナプロセスでは高性能のスタンダードセルは12トラック(12T)のセル高だったのが、FinFETプロセスでは10.5(10.5T)トラックに減る。高密度のスタンダードセルは9トラック(9T)で同じだが、性能が向上する。先週のARM Techconでは、FinFETの性能を従来の12トラックセルではなく、9トラックセルで示した。
スタンダードセルは、現在のロジックチップ設計の基本的なスタイルだ。IntelやAMD、IBMなどの高性能CPUは、今でもカスタム設計を多用している。しかし、それ以外の世界ではCPUであってもセルベースの設計が主流だ。また、高性能CPUでさえ、エリアの大半ではセルライブラリを使っており、カスタム設計と組み合わせている。
例えば、Intelは90nmのPentium 4(Prescott:プレスコット)からスタンダードセルを大々的に取り入れた。Prescottは、IntelのCPUでは初めて50%程度のロジック回路にスタンダードセルを使ったCPUとなった。これは、「Intel Technical Journal」のVolume 08、Issue 01の「Library Architecture Challenges for Cell-Based Design」で詳しく説明されている。高性能CPUでも、10年ほど前からはスタンダードセルが欠かせない要素となっている。
スタンダードセルの構造
スタンダードセルは、ANDやOR、NAND、NORといった基本的な論理素子から、より複雑なものやより高性能な素子まで全てを組み合わせ利用可能なライブラリとして揃える。言ってみれば、ロジックチップ設計のレゴブロックのようなものだ。論理素子をブロックのように組み合わせることで、CPUやGPUを組み立てることができる。
スタンダードセルの重要なポイントは、各セルの高さを揃えていること。高さを揃えるのは、一定の幅の電力レールの間にセルを挟み込むことができるようにするためだ。スタンダードセルでは、VddとGNDの間に高さを揃えたセルを並べることで、無駄なくセルを敷き詰めることができる。
セルの高さに規則性がないと、セルの効率的な配置は非常に難しくなる。また、セルの高さが複数の場合も組み合わせは難しい。スタンダードセルでは、各セルのセル高を揃えることは重要な意味を持っている。似たような方式は、かつてロジックチップ設計の主流だったゲートアレイも採っていた(ゲートアレイは高さが揃った均質なパターンセルに配線だけを行なう)。スタンダードセルでは、セルの横幅だけさまざまなバリエーションを許す。それによって、単純なプリミティブから複雑なセルまで幅広い種類のセルを設計可能にする。
セル高がセルの性格を決める
ここで重要になるのは、セルの高さ(ハイト)だ。一般に、セルハイトは、上に重なるローカル配線層の配線トラック数で表される。通常はM3の配線トラック数だ。チップのローカル配線は、下から2番目のM2と3番目のM3が直交して走る。セルハイトのトラック数は、ロジックセルを横断するように走る配線層で数える。12本のメタルトラックが可能なセルなら、12トラックセルとなる。ここで「メタル」と言っているのは、金属そのものではなく、伝導性のある材料の「インターコネクト(配線)」のことだ。つまり、配線を何本走らせることができるかを示している。
実際のメタル配線は、このトラックに沿って配置される。実際に配線が全てのトラックに走っているわけではなく、配線できるトラックという意味だ。M3がセル高に対して水平の配線層なら、トラックに沿った形でM3配線が生成され、下層とのコンタクトも配置される。
セル高は、セルライブラリの性能レンジと密接に絡む。セル高が高いと、高性能な素子を作りやすい。一因は、トランジスタのゲート幅を広くすることで電流駆動強度(drive strength)を高めることが容易になるためだ。その一方で、セル高の高いライブラリを使うとダイサイズが大きくなり、消費電力も大きくなる傾向がある。その逆にセル高が低いライブラリでは、ダイエリアと消費電力は小さくなるが、動作周波数を上げにくくなる。
そのため、高性能CPUはセル高の高いライブラリを使い、省電力のチップはセル高の低いライブラリを使うのが一般的だ。ARMなどがファウンダリと協力してライブラリを用意する。高性能のCPUしか作ったことがない昔のIBMのようなFabだと、12トラックセルしかないといったことになり、省電力のチップを作ろうとすると、ライブラリから全て設計しなければならなくなる。
FinFETのフィンピッチが制約するセル高
これまでスタンダードセルのセル高は通常は整数だった。最近のプロセスだとパフォーマンスライブラリが12トラック(12T)、高密度が9または10トラック(9Tまたは10T)、超高密度が7または8トラック(7Tまたは8T)あたりが一般的だ。ところが、FinFETプロセスになると、「.5」がついた非整数トラックが現れる。ARM Techconでは、TSMCとSamsung/GLOBALFOUNDRIESのどちらのFinFETプロセスに対しても、ライブラリは高性能が10.5トラック、高密度が9トラック、超高密度が7.5トラックとなることが明らかにされた。
FinFET世代のスタンダードセルが非整数高(Non-Integer Track Heights)になることは、1年ほど前から言われ始めていた。これは、メタルトラックの側から見ると非常に不思議だ。メタルトラックがきれいに切れないので、非常に面倒に見える。実際、設計上では、トラックをハーフピッチで切って半端なトラックを作っていると推測される。下のARMのスライドの図の中央がその例だ。
では、FinFETでは、なぜ10.5や7.5といった切りの悪い数字なのか。それは、10.5や7.5がFinFETで“切りの良い数字”だからだ。これは、FinFETのフィンの間隔であるフィンピッチを考えるとすぐに分かる。
ファウンダリのFinFETプロセス16/14nmは、いずれもM1~M3までの配線層は、配線の間のピッチであるメタルピッチが64nm、FinFETのフィンピッチが48nmだ。FinFET時代のセル高は、メタルピッチだけでなく、フィンピッチにも制約される。そして、フィンピッチで計算すると、10.5、9、7.5は、いずれも割り切れる切りの良い数字となる。
具体的には配線が64nmピッチで10.5トラックなら48nmピッチのフィンが丁度14ライン収まる。9トラックはフィンが12、7.5トラックはフィンが10だ。これが、10トラックや7トラックだと中途半端なフィン数になってしまう。0.5トラック刻みになったのは、セルの中に配置するフィンを考えた上でのことだとわかる。
アクティブフィンの数が重要なファクタ
実際には、セルの中にこれだけのフィンを配置できても、配線の関係から、アクティブにできるフィン数、つまりトランジスタに使うことができるフィンの数は限られる。FinFETの場合は、1トランジスタが1フィンとは決まっていない。1つのトランジスタで複数のフィンを使うマルチチャネル化によって1トランジスタあたりの電流駆動能力を高める。
CPUのような高性能製品では、駆動強度の強いトランジスタが必要となるため、マルチチャネル化が必須となる。SRAMでさえ、高性能ではマルチチャネルにする。フィン自体は最初に切っておくので、複数のフィンにコンタクトを生成してマルチチャネルトランジスタを作る。使わないフィンはダミーフィンとなる。
セル高をフィンピッチに合わせなければならないのは、FinFETでは、マルチチャネル化によって、トランジスタ幅がフィン数という粒度を持つためだ。量子的(離散的)にゲート幅が増えるため「Width Quantization(幅量子化)」と呼ばれる。
従来のプレーナトランジスタでは、トランジスタのゲート幅は自由に設定できたため、フィンピッチのような制約はなかった。それに対してFinFETでは、フィンピッチで離散的にトランジスタの幅が決まる。しかし、フィン自体の電流駆動強度が強いため、高性能のトランジスタでは、従来のプレーナ型と比べてトランジスタの幅を狭くできる。結果として、パフォーマンススタンダードセルのセル高も低くしやすくなる。
しかし、フィンという粒度を持つ制約から、トラックピッチとフィンピッチの比率によって、スタンダードセルに配置できるアクティブフィン数が決まる。アクティブフィン数が、セルの性能を決定する。下はARMが作成した64nmメタルピッチの場合のセル高と各フィンピッチのアクティブフィン数の比率だ。実際のファウンダリプロセスは48nmフィンピッチなので最下層の列となる。この図でも10.5トラックが示唆されている。
現在のFinFETプロセスでは、おそらく、10.5トラックなら14フィンのうちアクティブにできるフィンは10フィン程度、9トラックは12フィンのうち8フィン、7.5トラックは10フィンのうち6フィンだと見られる。この推測通りなら、各セル高の実質フィン数は、10フィン、8フィン、6フィンできれいに偶数で並ぶことになる。
エリアスケーリングの根拠
プレーナFETの時代は、高性能セルは12トラック高だった。FinFET世代では10.5トラックとなり、大幅に高さが低くなる。その結果、ロジックセルの面積が縮小する。
ファウンダリ各社のプロセスは、14/16nmプロセスでも、メタル層は20nmと同じ64nmメタルピッチだ。20nmのバックエンドのプロセスに、フロントエンドがプレーナFETとFinFETの2種類のトランジスタバージョンがある。そのため、Intelはファウンダリプロセスでは20nmから16/14nmでエリアスケーリングが効かないと攻撃している。それに対してファウンダリは、エリアスケーリングがあるとしているが、その根拠の1つは、こうしたライブラリ設計などにあると見られる。もっとも、Intelも同様にライブラリセルを小型化することができるはずだ。
いずれにせよ、スタンダードセルが変わることで、FinFETでは高性能のチップも恩恵を受ける。FinFETでは低電圧時の動作特性が優れているため、低電力チップは性能がアップするが、同様に高性能チップもダイの縮小という利点を得ることが分かる