

集積回路設計、半導体設計、チップ設計、またはIC設計は、電子工学の一分野であり、集積回路(IC)の設計に必要な特定の論理回路設計技術を包含する。ICは、フォトリソグラフィーによってモノリシック半導体基板上に電気ネットワークとして組み込まれた小型電子部品で構成されている。
IC設計は、デジタルIC設計とアナログIC設計という大まかなカテゴリに分類できます。デジタルIC設計は、マイクロプロセッサ、FPGA、メモリ(RAM、ROM、フラッシュ)、デジタルASICなどのコンポーネントを製造するためのものです。デジタル設計は、論理的な正しさ、回路密度の最大化、クロック信号とタイミング信号が効率的にルーティングされるように回路を配置することに重点を置いています。アナログIC設計には、パワーIC設計とRF IC設計という専門分野もあります。アナログIC設計は、オペアンプ、リニアレギュレータ、位相同期ループ、発振器、アクティブフィルタの設計に使用されます。アナログ設計は、ゲイン、マッチング、電力損失、抵抗など、半導体デバイスの物理的特性により重点を置いています。アナログ信号の増幅とフィルタリングの忠実度は通常重要であり、その結果、アナログICはデジタル設計よりも面積の大きいアクティブデバイスを使用し、通常は回路密度が低くなります。[ 1 ]
現代のICは非常に複雑です。 2026年時点での平均的なデスクトップコンピュータのチップは200億個以上のトランジスタを搭載しています。製造できるものとできないもののルールも非常に複雑です。2015年の一般的なICプロセスには500以上のルールがあります。さらに、製造プロセス自体が完全に予測可能ではないため、設計者はその統計的性質を考慮する必要があります。現代のIC設計の複雑さと、設計を迅速に作成するという市場の圧力により、電子設計自動化(EDA)ツールとして知られるツールがIC設計プロセスで広く使用されるようになりました。一部のプロセッサの設計は、完全にテストすることが難しいほど複雑になり、これが大規模なクラウドプロバイダーで問題を引き起こしています。[ 2 ]要するに、EDAソフトウェアを使用してICを設計することは、ICが実行する命令を設計、テスト、検証することから成ります。
集積回路(IC)の設計には、トランジスタ、抵抗器、コンデンサなどの電子部品の作成と、これらの部品を半導体(通常はシリコン)上に相互接続することが含まれます。基板であるシリコンは導電性があり、多くの場合、個々の部品の活性領域を形成するため、基板上に形成された個々の部品を分離する方法が必要です。一般的な方法としては、 pn接合分離と誘電体分離の2つがあります。ICは、個別の部品に比べて非常に小さなデバイスで構成されているため、トランジスタの消費電力、相互接続抵抗、相互接続、コンタクト、ビアの電流密度に注意を払う必要があります。個別の部品では、このような問題はそれほど重要ではありません。金属配線におけるエレクトロマイグレーションや、小さな部品へのESD損傷も懸念事項です。最後に、特定の回路サブブロックの物理的なレイアウトは、所望の動作速度を実現するため、ICのノイズの多い部分とノイズの少ない部分を分離するため、IC全体の発熱の影響をバランスさせるため、またはIC外部の回路への接続を容易にするために、通常非常に重要です。

一般的なIC設計サイクルは、いくつかのステップから構成されます。
集束イオンビームは、チップ開発中にチップ内に新しい接続を確立するために使用されることがある。[ 3 ] [ 4 ]
大まかに言えば、デジタルICの設計は3つの部分に分けられます。
なお、第2段階であるRTL設計は、チップが正しく動作するための重要な役割を担います。第3段階である物理設計は、(正しく設計されていれば)機能には全く影響を与えませんが、チップの動作速度とコストを決定します。
標準セルは通常、単一の論理ゲート、ダイオード、フリップフロップなどの単純な論理コンポーネント、または複数の入力を持つ論理ゲートを表します。[ 5 ]標準セルを使用することで、チップの設計を論理レベルと物理レベルに分割できます。ファブレス企業は通常、チップの論理設計のみに取り組み、チップを製造するファウンドリの設計ルールに従って、セルの接続方法とチップの機能を決定します。一方、チップの物理設計、つまりセル自体は通常ファウンドリによって行われ、トランジスタデバイスの物理特性と、それらが論理ゲートを形成するためにどのように接続されるかが含まれます。標準セルを使用すると、市場の需要に対応するためにチップをより迅速に設計および変更できますが、その代償として、チップ内のトランジスタ密度が低下し、ダイサイズが大きくなります。[ 5 ]
ファウンドリは、設計目的でファブレス企業に標準セルのライブラリを提供し、ファウンドリの設備を使用して設計を製造できるようにします。プロセス設計キット(PDK) はファウンドリから提供される場合があり、標準セルライブラリ、セルの仕様、ファブレス企業の設計をファウンドリが指定した設計ルールに照らして検証し、ファウンドリのセルを使用してシミュレーションするためのツールが含まれる場合があります。PDK は、機密保持契約に基づいて提供される場合があります。マクロ/マクロセル/マクロブロック、[ 6 ]マクロセルアレイおよびIP ブロックは、標準セルよりも機能が大きく、同様に使用されます。ソフトマクロとハードマクロがあります。標準セルは通常、標準セル行の後に配置されます。
集積回路(IC)の開発プロセスは、製品要件の定義から始まり、アーキテクチャ定義、実装、立ち上げ、そして最終的な生産へと進みます。集積回路開発プロセスの各段階については、以下に説明します。ここでは各段階を簡潔に説明していますが、実際には反復作業が行われ、これらのステップが複数回繰り返される場合があります。
アーキテクチャを定義する前に、まず製品の基本的な目標を明確にする必要があります。要件は通常、市場機会、顧客ニーズ、実現可能性などを考慮したクロスファンクショナルチームによって策定されます。このフェーズを経て、製品要件定義書が作成されます。
アーキテクチャは、製品の基本的な構造、目標、原則を定義します。それは、製品の高レベルの概念と本質的な価値提案を定義します。アーキテクチャチームは、多くの変数を考慮し、多くのグループと連携します。アーキテクチャを作成する人々は、一般的に、アーキテクチャが作成される分野のシステムに関する豊富な経験を持っています。アーキテクチャフェーズの成果物は、アーキテクチャ仕様書です。
マイクロアーキテクチャは、ハードウェアにさらに近づく段階です。マイクロアーキテクチャはアーキテクチャを実装し、その実装を実現するための具体的なメカニズムと構造を定義します。マイクロアーキテクチャ段階の成果物は、アーキテクチャを実装するために使用される方法を記述したマイクロアーキテクチャ仕様書です。
実装フェーズでは、マイクロアーキテクチャ仕様を起点として設計自体が作成されます。これには、低レベルの定義と分割、コードの記述、回路図の入力、検証が含まれます。このフェーズは、設計がテープアウト段階に達した時点で終了します。
設計が作成され、テープアウトと製造が完了すると、実際のハードウェア、つまり「最初のシリコン」が届き、ラボに持ち込まれて起動処理が行われます。起動処理とは、ラボで設計に電源を供給し、テストと特性評価を行うプロセスです。デバイスの電源投入を確認するような非常に単純なテストから、さまざまな方法で部品に負荷をかけるような複雑なテストまで、数多くのテストが実施されます。起動処理の結果として、特性評価データ(部品が仕様どおりに動作するかどうか)とエラー(予期しない動作)が文書化されます。
製品化とは、設計をエンジニアリング段階から量産製造へと移行させる作業のことです。立ち上げ段階でラボにおいて製品仕様を満たした設計であっても、量産化を目指す際には、製品エンジニアは多くの課題に直面します。ICは、許容可能な歩留まりで生産量まで増産する必要があります。製品化段階の目標は、許容可能なコストで量産を実現することです。
設計が成熟し、量産体制に入った後は、その維持管理が不可欠です。生産量に大きな影響が出ないよう、プロセスを継続的に監視し、問題が発生した場合は迅速に対処する必要があります。維持管理の目標は、製品のライフサイクルが終了するまで、生産量を維持し、コストを継続的に削減することです。
チップ設計の初期プロセスは、システムレベル設計とマイクロアーキテクチャ計画から始まります。IC設計会社では、経営陣や多くの場合分析担当者が、業界セグメントに適合する新しいチップの設計を開始するための設計チームへの提案書を作成します。この段階では、上位レベルの設計者が集まり、チップの機能的な動作方法を決定します。このステップでは、ICの機能と設計が決定されます。IC設計者は、プロジェクト全体の機能要件、検証テストベンチ、テスト方法をマッピングし、予備設計を、C++やMATLABなどの言語とエミュレーションツールを使用して単純なモデルでシミュレートできるシステムレベル仕様に変換します。純粋な新規設計の場合、システム設計段階では、命令セットと操作が計画され、ほとんどのチップでは、既存の命令セットが新しい機能のために変更されます。この段階での設計には、MP3形式でエンコードする、IEEE浮動小数点演算を実装するなどの記述が含まれることがよくあります。設計プロセスの後の段階では、これらの一見無害な記述が、それぞれ数百ページに及ぶテキスト文書に展開されます。
システム設計が合意されると、RTL設計者は、Verilog、SystemVerilog、VHDLなどのハードウェア記述言語で機能モデルを実装します。加算器、シフター、ステートマシンなどのデジタル設計コンポーネントや、パイプライン処理、スーパースカラ実行、分岐予測などのコンピュータアーキテクチャの概念を使用して、RTL設計者は機能記述を、チップ上で連携して動作するコンポーネントのハードウェアモデルに分解します。システム設計で記述された単純なステートメントは、簡単に数千行のRTLコードに変換されるため、ユーザーが想定するすべてのケースでRTLが正しく動作することを検証するのは非常に困難です。
機能バグの数を減らすために、別のハードウェア検証グループが RTL を受け取り、テストベンチとシステムを設計して、RTL が実際にさまざまな条件下で同じ手順を実行していることを確認します。これは機能検証の領域に分類されます。多くの手法が使用されていますが、どれも完璧ではありませんが、すべて有用です。広範な論理シミュレーション、形式手法、ハードウェアエミュレーション、lintのようなコードチェック、コードカバレッジなどです。エミュレータによって行われるような検証は、FPGA または特殊なプロセッサで実行できます。[ 7 ] [ 8 ]エミュレーションはシミュレーションに取って代わりました。シミュレーションは当初、チップ内の論理ゲートをシミュレートすることによって行われていましたが、後に、チップ内の RTL が代わりにシミュレートされるようになりました。[ 9 ]アナログチップ設計を作成する際には、シミュレーションがまだ使用されています。[ 10 ]プロトタイピングプラットフォームは、FPGA を使用して開発中のチップ設計のプロトタイプでソフトウェアを実行するために使用されますが、反復や変更が遅く、完成した設計で現れるハードウェア信号を視覚化するために使用することはできません。[ 11 ]
ここでのわずかなエラーがチップ全体を使い物にならなくしたり、さらに悪い事態を引き起こしたりする可能性があります。有名なPentium FDIVバグは、非常にまれなケースで除算の結果が最大で61ppmの誤差を生じさせました。チップが数ヶ月生産されるまで誰もそれに気づきませんでした。しかし、Intelはバグを修正できるまで販売されたすべてのチップを無償で交換することを余儀なくされ、その費用は4億7500万ドル(米国)に上りました。[ 12 ]

RTLは、チップが実際に動作する際の動作モデルにすぎません。材料、物理、電気工学といった、チップが現実世界でどのように動作するかという物理的な側面とは一切関係がありません。そのため、IC設計プロセスの次のステップである物理設計段階では、RTLを、チップ上に実装されるコンデンサ、抵抗器、論理ゲート、トランジスタなどのすべての電子デバイスの実際の幾何学的表現にマッピングする必要があります。
物理設計の主な手順を以下に示します。実際には、単純な手順で進むわけではなく、すべての目標を同時に達成するためには、かなりの反復作業が必要となります。これは、設計の完了という、それ自体が難しい問題です。
マイクロプロセッサとソフトウェアベースの設計ツールが登場する以前は、アナログICは手計算とプロセスキット部品を使用して設計されていました。これらのICは、例えばオペアンプのような低複雑度回路で、通常はトランジスタが10個以下で接続も少数でした。製造可能なICを実現するには、試行錯誤を繰り返すプロセスと、デバイスサイズの「過剰設計」が必要となることがよくありました。実績のある設計を再利用することで、これまでの知識に基づいて、より複雑なICを構築することが可能になりました。1970年代に安価なコンピュータ処理が可能になると、手計算では実現不可能なほど高精度な回路設計シミュレーションを行うためのコンピュータプログラムが作成されました。IC専用に設計された最初の回路シミュレータは、1973年にリリースされたSPICE(Simulation Program with Integrated Circuits Emphasis)と呼ばれていました。その後継ソフトは現在もアナログ設計市場を席巻しています。これらのコンピュータ化された回路シミュレーションツールは、手計算では実現できないほど複雑なIC設計を可能にし、アナログASICの設計を実用的なものにしました。
アナログ設計では多くの機能的制約を考慮する必要があるため、自動化されたルーティングや合成を含む高度に自動化されたデジタル設計とは対照的に、手動設計は今日でも広く行われています。[ 14 ]その結果、アナログ回路の最新の設計フローは、トップダウンとボトムアップという 2 つの異なる設計スタイルによって特徴付けられます。[ 15 ]トップダウン設計スタイルは、従来のデジタルフローと同様に最適化ベースのツールを使用します。ボトムアップ手順は、専門家の決定を模倣し、手順記述に事前に考え出され記録されたソリューションの結果で「専門家の知識」を再利用します。[ 15 ]例としては、PCellsなどのセルジェネレータがあります。
アナログIC設計において最も重要な課題の一つは、半導体チップ上に構築される個々のデバイスのばらつきです。ボードレベルの回路設計では、設計者はテスト済みで値に応じて選別されたデバイスを選択できますが、IC上のデバイス値は設計者の制御下にない方法で大きく変動する可能性があります。例えば、同一に描画されたIC抵抗器でも±20%のばらつきがあり、集積型BJTのβ(ゲイン)は20から100まで変動する可能性があります。最新のCMOSプロセスでは、垂直PNPトランジスタのβは1を下回ることもあります。さらに設計上の課題として、デバイス特性は処理された半導体ウェハごとに異なることがよくあります。ドーピング勾配により、デバイス特性は個々のIC間でも大きく変動する可能性があります。このばらつきの根本的な原因は、多くの半導体デバイスがプロセスにおける制御不能なランダムな変動に非常に敏感であることです。拡散時間のわずかな変化、不均一なドーピングレベルなどが、デバイス特性に大きな影響を与える可能性があります。
デバイスのばらつきの影響を軽減するために使用される設計手法には、次のようなものがあります。[ 16 ]
電子設計自動化ツールを販売する最大手企業3社は、Synopsys、Cadence、Mentor Graphics(現Siemens EDA)である。[ 17 ]