デバイスのフィーチャサイズの縮小率が鈍化 現在のファウンダリのスケーリングは、プロセス自体のスケーリングと「Design-Technology Co-Optimization(DTCO)」によって実現されている。 さまざまなDTCO技術を加えることで、ロジックセルやSRAMセルのサイズを小さくしていく。結果として、伝統的なスケーリングと同等かそれに近い率でトランジスタ密度を高めるアプローチだ。 以前のように単純にプロセスを微細化するだけでは、単純にトランジスタの密度が上がらなくなったが、工夫を加えることで同等のスケーリングを実現している。 かつては、スケーリング則は単純明快だった。プロセスのベースとなるデバイスのフィーチャサイズが縮小し、ノードの数字が縮小し、トランジスタ密度が上がった。フィーチャサイズというのは、CPP(Contacted Poly Pitch)またはゲートピッチ(Gate Pitch)、つまりゲートの間隔と、もっともせまいメタル(配線)の間隔であるミニマムメタルピッチ(MMP : Minimum Metal Pitch)だった(半導体では配線のことをメタルと呼ぶ)。 各社のロジックプロセスは、ほぼゲートピッチ×メタルピッチの比率に沿ってノードの数字がつけられていた。つまり、プロセスのノードの数字が70%に縮小するなら、ゲートピッチ(ゲート間隔)とメタルピッチ(配線間隔)はそれぞれ70%台に縮小し、ゲートピッチとメタルピッチによるデバイス面積は約50%に縮小した。 たとえば、TSMCの40nmプロセスはゲートピッチが160nm、メタルピッチが120nm。それが28nmプロセスになると、ゲートピッチが118nm(73%)、メタルピッチが90nm(75%)になり、ゲートピッチとメタルピッチのによるデバイス面積は55%に縮小した。プロセスの世代が1世代進み、ノードの数字が70%小さくなると、デバイスサイズは50%程度になり、トランジスタの密度は2倍になった。 ところが、20nmプロセスから先は、この法則が崩れてしまった。デバイスのフィーチャサイズの縮小は鈍化し、これまでのようなきれいなスケールダウンが成立しなくなった。 たとえば、TSMCの10nmプロセスではゲートピッチが66nm、メタルピッチが44nm(42nmというデータ解析もある)だった。それに対してTSMCの7nmプロセスではゲートピッチは57nm(学会発表では54nm)で縮小率は86%、メタルピッチは40nmで縮小率は90%、ゲートピッチ×メタルピッチでは78.5%の縮小にしかならない。従来のスケーリング則と比べるとずっと緩く、デバイスの縮小率が低い。 AMDの例では、GLOBALFOUNDRIESの14nmからTSMCの7nmプロセスに、10nm世代をスキップして移っている。2世代分の縮小だ。GLOBALFOUNDRIESの14nmはSamsungからのライセンスを受けたプロセスでゲートピッチは78nmまたは84nm、メタルピッチは64nm。 それに対してTSMCの7nmプロセスはゲートピッチが57nm(学会発表では54nm)、メタルピッチは40nm。ゲートピッチとメタルピッチの乗数で比較すると、GLOBALFOUNDRIESの14nmに対してTSMCの7nmは約40%となる。つまり、2.5倍のトランジスタ密度という計算になる。ちなみに、TSMCの16nmと7nmの比較では、約37%、2.7倍の密度の計算となる。

ロジックチップの設計のカギとなるスタンダードセル デバイス自体のスケーリングだけを見ると、現在のCMOSプロセススケーリングは、ノードの数字より緩いものになっているように見える。1世代プロセスノードが微細化しても、トランジスタ密度は2倍にはならず、1.x倍にしかならない計算となる。2世代ノードの微細化では4倍ではなく、2.x倍の計算となる。 しかし、ここにセルエリアという別なファクタが絡むと話が違ってくる。 プロセッサなどを設計する場合、通常は、ロジック回路はロジックセル、メモリ部分はSRAMセルを使う。ロジックセルには回路ブロックごとに再利用可能なマクロセルをあらかじめ設計しておくスタンダードセルを使うのが一般的だ(CPUの場合は部分的にカスタムセルを組み合わせたりする)。 スタンダードセルは、半導体ファウンダリ、EDAツールベンダー、IPベンダーなどから提供されているが、プロセッサベンダー自体が起こす場合もある(Cell B.E.では専用のスタンダードセルを起こした)。もちろん、自社で製造するIntelの場合は、自社でスタンダードセルも起こしている。 スタンダードセルは、レゴブロックのような部品ライブラリで、各種のセルを組み合わせることで、CPUやGPUを組み立てることができる。スタンダードセルの重要なポイントは、各セルの高さ「セルハイト(セル高)」をそろえていること。高さをそろえたセルを並べることで、無駄なくセルを敷き詰められる。 セルハイトは、ローカル配線層、つまり上で説明した最少メタルピッチのメタル(配線)トラック数で表される。スタンダードセルが、9本のメタルトラックを配置できるセルの高さなら、9トラック(9T)セルと呼ばれる。セルハイトによって、セルライブラリのパフォーマンスレンジや消費電力、回路密度が決まる。 セルハイトが高いと、高性能な回路を作りやすい。一因は、トランジスタのゲート幅を広くすることで電流駆動強度(drive strength)を高めることが容易になるためだ。FinFETの場合は、セルハイトが高いと、トランジスタ当たりのフィンの数を増やすことで駆動能力を高めることができる。しかし、セルハイトの高いライブラリを使うとダイサイズが大きくなり、消費電力も大きくなる傾向がある。 その逆にセルハイトが低いライブラリでは、ダイエリアと消費電力は小さくなるが、動作周波数を上げにくくなる。そのため、クリティカルパスを抱える高性能CPUコア部分にはセルハイトの高いライブラリを使い、性能要求の低いユニットにはセルハイトの低いライブラリを使うのが一般的だ。 たとえば、28nm～20nmまでのプレーナプロセスでは、一般的に12トラックのセルがCPUコアなどの高性能ユニットに、9トラックのセルがGPUコアなどの性能と密度が重要なユニットに、7トラックのセルが高密度で低消費電力が要求されるユニットに使われていた。