# システムLSI
システムLSI (英: system LSI) とは、一般的にマイクロコントローラを含んで組み込みシステム製品の主要な電子回路を1チップ程度に集積した半導体素子であり、SoCによる具体的な部品という性格もある。狭義にはカスタムLSIだけを指すが、広義にはカスタムLSIに汎用のCPUやDSPを加えたLSIを含める。
特に民生分野の大量生産品で、情報家電などの複雑なシステムにおいて、LSIの小型化、高性能化およびコスト削減のためにシステムLSIを開発して使用している。デジタル回路を中心に構成されており、入出力部にアナログ回路を持つものも多い。なお、以下の説明内では、電子回路技術としては純然たるアナログ領域で動作しているクロック回路やインターフェース回路も組込側での分類を優先してデジタル回路の説明として扱っており、アナログ回路は組込側でビデオ信号や音声信号のようなアナログ信号を扱う回路のみに限定している。

## 分類

### 内部回路による分類
システムLSIは内部に以下の回路の1つ、または複数が含まれ、それらの種類で分類できる。
つまり、以下の電子回路を含んで特定の用途に向けた専用の電子部品がシステムLSIである。
- カスタムLSI
  - セミカスタムLSI
    - ゲートアレイ（英: gate array）
    - エンベデット・セルアレイ（英: embedded cell array）
    - スタンダード・セルアレイ（英: standard cell array）

  - フルカスタムLSI
  - PLD、FPGA（英: field programmable logic device）
- CPU、MPU
- DSP

ゲートアレイ
ゲートアレイは、メタル配線前のベーシック・セル配列の状態である「マスター・スライス」までが固定で提供され、ユーザーはこの上に重ねるメタル配線層を指定して製造される。修正は比較的簡単であり、短納期で設計も簡単であるが、ベーシック・セル以外の回路は得られず配線長も長くなる。マスター・スライスまでのマスクは汎用なので安くなる。チップサイズはいくつかの規定内から選ぶので、ムダが生じやすい。
エンベデット・セルアレイ
エンベデット・セルアレイは、ゲートアレイの下地の中に望むマクロを埋め込むことができる。ゲートアレイと埋め込むマクロを決めれば製造を開始してからメタル配線層の設計ができるため、ゲートアレイと同程度の短納期で高機能なLSIが作れるが、ゲートアレイ部分では性能は限定される。チップサイズはいくつかの規定内から選ぶので、ムダが生じやすい。
スタンダード・セルアレイ
スタンダード・セルアレイは、あらかじめ碁盤目状に配置されたベーシック・セルは用いずに、基本的なマクロセルを自由に選べて配置できるスタンダード・セルと埋め込むマクロを最適に配置することで設計される。位置と配線の最適化と共に最適のセルやマクロを使えるために高い性能が得られる。スタンダード・セルやマクロを使用して設計時間の短縮を図っているが、製造の開始は全ての設計が完了してからとなるために、納期は長く修正も難しくなる。
エンベデット・セルアレイやスタンダード・セルアレイでは、チップサイズが自由に選べるので、埋め込むマクロの割合を増やせればベーシック・セルによる性能の制約は緩和されるために、ライブラリ化に向く。マスクは専用なのでコスト高となる。
PLD, FPGA
セルアレイ類ではいずれもマスクによって製造時から回路の配線が決められるが、PLDやFPGAと呼ばれるセミカスタムLSIの一群では、完成された半導体パッケージをユーザーの手元で配線をプログラムすることができるため、納期の点では最も短くなり、修正も多くが再書き込み可能であるなど迅速に行える。半導体製造者は1セットのマスクから作られた単一製品を販売するだけで済むので品種も少なくて済み、ある程度の販売量が見込めて納期管理のような顧客対応が不要となる。ユーザーも少量ならば比較的廉価で容易に購入できるようになり、製品情報や設計情報が外部に知られることも無くなるが、ゲートアレイと同様のベーシック・セルによる配列と性能の制約に加えて記憶素子による配線という性能低下もあり、超高性能製品は期待できない。記憶素子と配線の構成の違いから、PLA、CLB、ALMの3方式がある。
PLA方式
PLA方式では、単純な論理ゲート間を縦横の多数の配線で結び、それらの交点ごとにある記憶素子の「H」、「L」によって接続／非接続を決定している。比較的規模の小さなPLDに向いている。
CLB方式
CLB方式では、CLB（英: configurable logic block）と呼ばれるフリップ・フロップとLUT、少しの単純な論理ゲートからなる機能単位が縦横に走る配線の間に碁盤目状に配置される。LUT（Look Up Table）では、記憶素子によって真理値表を記憶させ、入力に対する出力動作を規定する。
ALM方式
ALM（英: adaptive logic module）方式では、LAB（英: logic array block）と呼ばれるCLBにキャリー端子が加えられた機能単位がいくつかの集団にされて、縦横に走る配線の間に碁盤目状に配置される。キャリー端子が加えられることで、回路の大規模化が容易になる。
記憶素子には、Flash、SRAM、フューズが使われる。Flashとはフラッシュメモリのことであり、不揮発性なのでこのままで記憶内容が保持できる。SRAM は揮発性なのでこのままで記憶内容が保持できないため、外部にPROMやフラッシュメモリを外付けして起動時に毎回読み込む必要があり、2009年現在ではこの方式は少なくなっている。フューズは厳密には記憶素子ではなく電気的に配線を焼き切ったもので、原理上、再書き込みは行えない。PLDやFPGA用の記憶素子にはフラッシュメモリの採用が多くなっている。CLB方式とALM方式では、縦横に走る配線の交点やCLB、LABの配線との入出力接続は、記憶素子の"Hi"、"Low"によって接続／非接続を決定している。
PLD類はマスクから作るだけのコストに見合った販売数量が期待出来ない特殊用途向きの製品や量産前の試作で使用されることが多い。

### 設計分担による分類
システムLSIは回路構成とは別に、以下に示す設計分担の違いによっても分類できる。
- ASSP（英: application specific standard product）
- ASCP（英: application specific custom product）
- ASIC（英: application specific integrated circuit）
- COT（英: customer owned tool）

これらはシステムLSIの設計時の分担範囲の違いであり、システムLSIの組み込み先となる最終製品を製造するユーザーがどこまで半導体の設計に関与するか、またはほとんど関与せずに半導体製造者に任せてしまうのかという、その関与の度合いによる違いを表している。
ASSPは、半導体製造者がシステムLSIの仕様からすべてを設計する。このためカスタムLSIではなく、汎用LSIとなる。
ASCPは、ユーザーが仕様からRTL記述までを行い、半導体製造者が論理検証以降を設計する。
ASICは、ユーザーが仕様から論理検証までを行い、半導体製造者がレイアウト以降を設計する。
COTは、ユーザーが各種の設計ツールを自前で所有して、マスクパターンまでを行う。半導体製造者はユーザーが設計を行えるようにパラメータを提供し、マスクパターンに基づいて半導体を製造する。

## 利点
- 量産による低コスト化[注 3]
- 性能向上
  - 高速
  - 低消費電力
  - ノイズ耐性が高い
  - 高信頼性[1]


## 用途
2009年現在では用途は多岐に渡り、人とのインターフェースを必要とする多くの電子機器に使用されている。液晶画面を持つ機器では使用されていることが外部からも比較的容易に予見できるが、最適な充電制御のために充電式バッテリーの1個ずつに内蔵されたものや、RFタグのように専用装置でしかインターフェースできないものが登場しており、こういったものは外見からは存在が予想できないものもある。大量生産されれば設計コストは希薄化されて、部品点数削減、小型化、省電力、信頼性向上、多機能化、部品コスト削減などが期待できるため、民生用電気製品に広く使用されている。

### 代表的な用途
- 携帯機器
  - 携帯電話
  - 携帯音楽プレーヤー
  - 携帯情報端末
- 映像機器
  - デジタルテレビ、薄型テレビ
  - DVDレコーダー、HDDレコーダー
  - デジタルカメラ類
- ゲーム機
- 自動車
  - エンジン制御
  - カーナビ
  - カーオーディオ


## 開発方法

### ビルディング・ブロックとマクロ
規模の大きな半導体素子となるため、全てを最初から設計していては開発に時間とコストが掛かりすぎるため、既に設計した回路部分を機能ごとにブロック化して使い回すことが行われる。こういったブロックをいくつか組み合わせば、求める回路設計の大部分が済むものもあり、こういったビルディング・ブロックによる設計手法での機能ごとにブロック化されたものは「マクロ」と呼ばれる。
社内の設計部門に「マクロ」を持っておけば、1度設計した機能は次の設計時にそのまま再使用することで期間短縮と費用の低減が図れ、こういった動作検証済みのマクロという設計資産をいくつも規格化して「ライブラリ」として保有しておけば、以降の設計は独自回路部分の設計とマクロ同士を結びつけるだけで回路設計が済むようになる。
再使用を前提にすればベーシックセルのような無駄だが短時間での設計が行える手法ではなく、ゲートやトランジスタのレベルから配置を最適化した設計手法が採れるために、結果として性能も向上する。高機能インターフェース回路や画像処理専用回路のような汎用的に求められる機能のマクロでは、自社製品用のマクロを他社に有償で使用権を販売したり、そういった有償での使用権販売だけを目的にマクロの開発を行う会社も存在し、このような使用権が販売されるマクロはIP（Intellectual Property、設計資産）と呼ばれる。
マクロには「ソフトマクロ」「ファームマクロ」「ハードマクロ」が存在する。
ソフトマクロ
ソフトマクロはRTLやHDLといった形式で記述され、上記3種の中では最も設計自由度の高く詳細な記述がなされている反面、フロアプランやレイアウトは利用者側で行わねばならず、設計に時間と手間がかかり、性能も予測しにくい。
ファームマクロ
ファームマクロはRTLやネットリストといった形式で記述され、上記3種の中では中間的な自由度となっている。レイアウトは利用者側で行わねばならないが、フロアプランまでは行われており、機能の変更は行いにくい。
ハードマクロ
ハードマクロはRTLやネットリスト、レイアウトデータ、Delaylibといった形式で記述され、上記3種の中では最も自由度が少ない。レイアウトとタイミング設計までが完了しており、利用者は配置するだけである。設計時間と手間は最短最小で済んで性能もあらかじめ明らかであるが機能の変更は行えず、使用プロセスも限定される。
IPとして他社に使用権を販売する場合には、ファームマクロIPやハードマクロIPにすることでソフトマクロのようにRTLによる低位で論理構造まで見える情報は外部に出さないようにされる傾向がある。

### 多様なマクロ
スタンダード・セル
スタンダード・セル（ファンクション・ブロック）はNANDやインバータなどを組み合わせて作られるフリップ・フロップなどのハードマクロである。同じ論理構造でも使用プロセス技術や電圧、速度といった異なる要求や用途に応じて数種類のスタンダード・セル・ライブラリが用意される。特に高性能半導体でリーク電流の増大が消費電力の半分前後を占めるようになってからは、高速動作が可能だがリーク電流の大きなトランジスタ構造のものと、動作速度は遅くともリーク電流を抑えたトランジスタ構造のものが用意されて、それぞれの用途別のシステムLSIに使用されたり、1つのシステムLSI中に両者を混合使用して不要なブロックへの電源供給を停止したりして高速動作と低消費電力を両立する工夫が行えるまでになっている。
スタンダード・セルは矩形で構成され、「セル高さ」と呼ばれるセルの幅をライブラリで統一することで、ダイ上で並べ易くして占有面積の効率を高めている。セル高さは電源線と接地線という平行する2本の駆動用電源に挟まれた幅であり、それらの7分の1から12分の1程度の幅で配線トラックが平行して走る。
高機能なマクロとして以下のものが挙げられる。
- クロック用マクロ：PLL（Phase-Locked Loop）、DLL（Delay-Locked Loop）、SMD（Synchronous Mirror Delay）
- 高速インターフェース用マクロ：IEEE 1394、USB 2.0、PCI Express、SATA、Infini Band、Gigabit Ethernet、Fiber channel
- インターフェース用マクロ：LVTTL/CMOS変換、SSTL、LDDS
- メモリ・インターフェース：DDR、DDR2、DDR3、Rambus
- メモリ・マクロ：SRAM、DP-SRAM（Dualport-SRAM）、ROM、CAM（Contents Addressable Momory、連想メモリ）、eDRAM、フラッシュメモリ、FeRAM
- アナログ・デジタル変換：ADC、DAC
- CPU/MPU/DSP
- アナログ・アンプ


## 集積化の過程
従来、単体の半導体部品や抵抗などがICやLSIへと集積されたように、回路基板上に個別に載せていたコントローラやインターフェース用回路のIC、メモリICなども次第にシステムLSIに統合されるようにっている。SoCでは、（概念として）全てが1チップ化される。