(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-17
(45)【発行日】2024-10-25
(54)【発明の名称】半導体の設計と製造のための材料からシステムまで統合されたシミュレーション及び検証
(51)【国際特許分類】
G06F 30/367 20200101AFI20241018BHJP
G06F 30/398 20200101ALI20241018BHJP
H01L 21/82 20060101ALI20241018BHJP
H01L 21/822 20060101ALI20241018BHJP
H01L 27/04 20060101ALI20241018BHJP
【FI】
G06F30/367
G06F30/398
H01L21/82 Z
H01L27/04 Z
(21)【出願番号】P 2022547092
(86)(22)【出願日】2020-12-16
(86)【国際出願番号】 US2020065220
(87)【国際公開番号】W WO2021158296
(87)【国際公開日】2021-08-12
【審査請求日】2022-12-14
(32)【優先日】2020-02-04
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390040660
【氏名又は名称】アプライド マテリアルズ インコーポレイテッド
【氏名又は名称原語表記】APPLIED MATERIALS,INCORPORATED
【住所又は居所原語表記】3050 Bowers Avenue Santa Clara CA 95054 U.S.A.
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】アイヤガリ, ブバネッシュワリ
(72)【発明者】
【氏名】サチド, アンガダ バンガロール
【審査官】松浦 功
(56)【参考文献】
【文献】特開平09-106420(JP,A)
【文献】特開平11-238655(JP,A)
【文献】米国特許出願公開第2017/0076028(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/30 -30/398
H01L 21/82
H01L 21/822
(57)【特許請求の範囲】
【請求項1】
ソフトウェアアルゴリズムへの半導体材料又はプロセスの変更の影響を評価する方法であって、
1つ以上のプロセッサが、
半導体製造プロセスのための材料又はプロセスの変更を受信することと、
前記材料又はプロセスの変更を特性のデータベースに変換することと、
前記特性のデータベースを使用して、プリミティブ回路構造
のモデルを生成することと、
前記モデルを用いたシミュレーションによって前記プリミティブ回路構造の電気的特性評価を行うことと、
前記電気的特性評価の出力をスクリプトに提供して、コンパクトモデルを生成することと、
前記コンパクトモデルを用いて、スタンダードセルのライトバージョンを生成することと、
前記スタンダードセルの前記ライトバージョンに基づいてデジタルシステムを生成することと、
前記デジタルシステム上でソフトウェアアルゴリズムの性能を評価して、前記半導体製造プロセスのための前記材料又はプロセスの変更の影響を決定することと、
を
実行する、方法。
【請求項2】
前記プリミティブ回路構造がトランジスタを含む、請求項1に記載の方法。
【請求項3】
前記プリミティブ回路構造の前記電気的特性評価を行うことが、前記トランジスタのための電流特性及び電圧特性を生成することを含む、請求項2に記載の方法。
【請求項4】
前記プリミティブ回路構造のTCADシミュレーションを行うことをさらに含む、請求項1に記載の方法。
【請求項5】
前記特性のデータベース及び前記TCADシミュレーションを使用して、前記プリミティブ回路構造の回路モデルを生成することと、
前記回路モデルの回路シミュレーションを行うことと、
をさらに含む、請求項4に記載の方法。
【請求項6】
前記回路モデルの前記回路シミュレーションの結果に基づいて、前記半導体製造プロセスのための前記材料又はプロセスの変更が許容可能であると判定することをさらに含む、請求項5に記載の方法。
【請求項7】
前記半導体製造プロセスのための複数の材料又はプロセス変更を受信することと、
前記複数の材料又はプロセス変更を、前記特性のデータベースに変換することと、
前記複数の材料又はプロセス変更のそれぞれについて、前記特性のデータベースを使用して追加のプリミティブ回路構造を生成することと、
前記追加のプリミティブ回路構造をシミュレートすることと、
前記プリミティブ回路構造をシミュレートした結果に基づいて、前記複数の材料又はプロセス変更における、許容可能な材料又はプロセス変更を特定することと、
をさらに含む、請求項1に記載の方法。
【請求項8】
システムであって、
1つ以上のプロセッサと、
命令を含む1つ以上のメモリデバイスであって、前記命令が、1つ以上のプロセッサによって実行されたときに、前記1つ以上のプロセッサに、以下の工程、即ち、
半導体製造プロセスのための材料又はプロセスの変更を受信することと、
前記材料又はプロセスの変更を特性のデータベースに変換することと、
前記特性のデータベースを使用して、プリミティブ回路構造
のモデルを生成することと、
前記モデルを用いたシミュレーションによって前記プリミティブ回路構造の電気的特性評価を行うことと、
前記電気的特性評価の出力をスクリプトに提供して、コンパクトモデルを生成することと、
前記コンパクトモデルを用いて、スタンダードセルのライトバージョンを生成することと、
前記スタンダードセルの前記ライトバージョンに基づいてデジタルシステムを生成することと、
前記デジタルシステム上でソフトウェアアルゴリズムの性能を評価して、前記半導体製造プロセスのための前記材料又はプロセスの変更の影響を決定することと、を行わせる、1つ以上のメモリデバイスと、
を備えた、システム。
【請求項9】
前記プリミティブ回路構造は、メモリ膜スタックを含む、請求項8に記載のシステム。
【請求項10】
前記スタンダードセルの前記ライトバージョンが、メモリアレイを含む、請求項9に記載のシステム。
【請求項11】
前記コンパクトモデルが、リング発振器を含む、請求項8に記載のシステム。
【請求項12】
前記工程が、
前記リング発振器
を含むコンパクトモデルを用いたシミュレーションによって、PPAC特性を決定することと、
前記スタンダードセルの前記ライトバージョンを生成する前に、前記リング発振器の前記性能が許容可能であると判定することと、
をさらに含む、請求項11に記載のシステム。
【請求項13】
前記スタンダードセルの前記ライトバージョンでは、前記デジタルシステムに必要ではない特徴が省かれる、請求項8に記載のシステム。
【請求項14】
前記ソフトウェアアルゴリズムが、AI/MLアルゴリズムを含む、請求項8に記載のシステム。
【請求項15】
命令を含む非一過性コンピュータ可読媒体であって、前記命令が、1つ以上のプロセッサによって実行されたときに、前記1つ以上のプロセッサに、以下の工程、即ち、
半導体製造プロセスのための材料又はプロセスの変更を受信することと、
前記材料又はプロセスの変更を特性のデータベースに変換することと、
前記特性のデータベースを使用して、プリミティブ回路構造
のモデルを生成することと、
前記モデルを用いたシミュレーションによって前記プリミティブ回路構造の電気的特性評価を行うことと、
前記電気的特性評価の出力をスクリプトに提供して、コンパクトモデルを生成することと、
前記コンパクトモデルを用いて、スタンダードセルのライトバージョンを生成することと、
前記スタンダードセルの前記ライトバージョンに基づいてデジタルシステムを生成することと、
前記デジタルシステム上でソフトウェアアルゴリズムの性能を評価して、前記半導体製造プロセスのための前記材料又はプロセスの変更の影響を決定することと、を行わせる、非一過性コンピュータ可読媒体。
【請求項16】
前記工程が、
前記スタンダードセルの前記ライトバージョンを使用して、プロセスデザインキット(PDK:Process Design Kit)のライトバージョンを生成することをさらに含む、請求項15に記載の非一過性コンピュータ可読媒体。
【請求項17】
前記PDKにおけるセルが、前記特性のデータベースから抽出された抽象化された値を使用する、請求項
16に記載の非一過性コンピュータ可読媒体。
【請求項18】
前記PDKの前記ライトバージョンは、前記半導体製造プロセスのための前記材料又はプロセスの変更から影響を受けるセルのみを含みうる、請求項
16に記載の非一過性コンピュータ可読媒体。
【請求項19】
前記デジタルシステムがプロセッサを含む、請求項15に記載の非一過性コンピュータ可読媒体。
【請求項20】
前記工程が、前記デジタルシステムを生成する前に少なくとも2つの短ループ最適化試験を行って、前記プリミティブ回路構造と、前記スタンダードセルの前記ライトバージョンと、のPPAC特性を試験することをさらに含む、請求項15に記載の非一過性コンピュータ可読媒体。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2020年2月4日に出願された米国特許出願第16/781,980号の優先権の利益を主張し、その内容は、あらゆる目的のためにその全体が参照により本明細書に組み込まれる。
【技術分野】
【0002】
本出願は、概して、集積回路の設計及び製造プロセスの様々な段階を一緒につなぐための、ソフトウェアツール及びハードウェアツールのためのプロセスについて記載する。具体的には、本開示は、材料又はプロセスの変更の影響を、デジタルシステム上でのソフトウェアアルゴリズムの実行に伝えるためのツールについて記載する。
【背景技術】
【0003】
過去数十年にわたる回路アーキテクチャは、増大し続ける作業負荷の要求を満たすためにスケーリング技術を使用してきた。スケーリングでは、従来、集積回路素子のフィーチャ(feature)のサイズが(例えば、10nmから、7nm、5nm等へと)縮小される。しかしながら、物理学の限界に達するにつれて、シリコン構造の物理的制限が、近年にスケーリング技術から得られうる利益のペースを劇的に遅らせてきた。さらに、最近の人工知能及び機械学習(AI/ML:artificial intelligence and machine learning)アルゴリズムの出現に伴い、処理されるデータ量、及び異なる作業負荷タイプの多様性が、スケーリング技術によって得ることが可能な利益を上回り始めている。ハードウェアの計算要件が指数関数的に増大しており、このペースを維持するためには、新しい回路製造の進歩が必要となりうる。従って、従来の回路スケーリングを通して実現される性能の利益が減少していることと相まった、AI/ML技術からの処理要求の増大によって、性能を改善するための代替的な技術が必要となりうる。
【発明の概要】
【0004】
幾つかの実施形態において、半導体の設計及び製造のための、材料からシステムまで完全に統合されたシミュレーション、設計、及び検証の方法は、ソフトウェアアルゴリズムへの半導体材料又はプロセスの変更の影響を評価することを含みうる。本方法は、材料又はプロセスの変更を特性のデータベースに変換することと、特性のデータベースを使用して、プリミティブ回路構造を生成することと、プリミティブ回路構造の電気的特性評価を行うことと、電気的特性評価の出力をスクリプトに提供して、コンパクトモデルを生成することと、スタンダードセルのライトバージョンを生成することと、スタンダードセルのライトバージョンに基づいてデジタルシステムを生成することと、デジタルシステム上でソフトウェアアルゴリズムの性能を評価して、半導体製造プロセスのための材料又はプロセスの変更の影響を決定することと、
を含みうる。
【0005】
幾つかの実施形態において、システムは、1つ以上のプロセッサと、1つ以上のメモリデバイスと、を備えうる。1つ以上のメモリデバイスは命令を含むことができ、命令は、1つ以上のプロセッサによって実行されたときに、1つ以上のプロセッサに、以下の工程、即ち、半導体製造プロセスのための材料又はプロセスの変更を受信することと、材料又はプロセスの変更を特性のデータベースに変換することと、特性のデータベースを使用して、プリミティブ回路構造を生成することと、プリミティブ回路構造の電気的特性評価を行うことと、電気的特性評価の出力をスクリプトに提供して、コンパクトモデルを生成することと、スタンダードセルのライトバージョンを生成することと、スタンダードセルのライトバージョンに基づいてデジタルシステムを生成することと、デジタルシステム上でソフトウェアアルゴリズムの性能を評価して、半導体製造プロセスのための材料又はプロセスの変更の影響を決定することと、を含む。
【0006】
幾つかの実施形態において、非一過性コンピュータ可読媒体が命令を含むことができ、命令は、1つ以上のプロセッサによって実行されたときに、1つ以上のプロセッサに、以下の工程、即ち、半導体製造プロセスのための材料又はプロセスの変更を受信することと、材料又はプロセスの変更を特性のデータベースに変換することと、特性のデータベースを使用して、プリミティブ回路構造を生成することと、プリミティブ回路構造の電気的特性評価を行うことと、電気的特性評価の出力をスクリプトに提供して、コンパクトモデルを生成することと、スタンダードセルのライトバージョンを生成することと、スタンダードセルのライトバージョンに基づいてデジタルシステムを生成することと、デジタルシステム上でソフトウェアアルゴリズムの性能を評価して、半導体製造プロセスのための材料又はプロセスの変更の影響を決定することと、を含む。
【0007】
任意の実施形態において、以下の特徴はいずれも、任意の組み合わせにおいて、限定されることなく実現されうる。プリミティブ回路構造が、トランジスタを含みうる。プリミティブ回路構造の電気的特性評価を行うことが、トランジスタのための電流特性及び電圧特性を生成することを含みうる。方法/工程はまた、
プリミティブ回路構造のTCADシミュレーションを行うこと、特性のデータベース及びTCADシミュレーションを使用して、プリミティブ回路構造の回路モデルを生成すること、回路モデルの回路シミュレーションを行うこと、及び/又は、回路モデルの回路シミュレーションの結果に基づいて、半導体製造プロセスのための材料又はプロセスの変更が許容可能であると判定することを含みうる。方法/工程はまた、半導体製造プロセスのための複数の材料又はプロセス変更を受信することと、複数の材料又はプロセス変更を、特性のデータベースに変換することと、複数の材料又はプロセス変更のそれぞれについて、特性のデータベースを使用して追加のプリミティブ回路構造を生成することと、追加のプリミティブ回路構造をシミュレートすることと、プリミティブ回路構造をシミュレートした結果に基づいて、複数の材料又はプロセス変更における、許容可能な材料又はプロセス変更を特定することと、を含みうる。プリミティブ回路構造がメモリ膜スタックを含みうる。スタンダードセルのライトバージョンがメモリアレイを含みうる。コンパクトモデルがリング発振器を含みうる。方法/工程はまた、リング発振器の性能を試験して、PPAC特性を決定することと、スタンダードセルのライトバージョンを生成する前に、リング発振器の性能が許容可能であると判定することと、を含みうる。スタンダードセルのライトバージョンでは、デジタルシステムに必要ではない特徴が省かれうる。ソフトウェアアルゴリズムが、AI/MLアルゴリズムを含みうる。方法/工程はまた、スタンダードセルのライトバージョンを使用して、プロセスデザインキット(PDK:Process Design Kit)のライトバージョンを生成することを含みうる。PDKにおけるセルは、特性のデータベースから抽出された抽象化された値を使用しうる。PDKのライトバージョンは、半導体製造プロセスのための材料又はプロセスの変更から影響を受けるセルのみを含みうる。デジタルシステムが、プロセッサでありうる。方法/工程はまた、デジタルシステムを生成する前に、少なくとも2つの短ループ最適化試験を行って、プリミティブ回路構造と、スタンダードセルのライトバージョンと、のPPAC特性を試験することを含みうる。
【0008】
様々な実施形態の性質及び利点は、本明細書及び図面の残りの部分を参照することによりさらに理解することができ、類似する参照番号が、類似した構成要素を示すために幾つかの図面を通して使用される。場合によっては、複数の類似した構成要素を指し示すために、枝番が参照番号と関連付けられている。明細書なしで、参照符号が参照されたときには、
【図面の簡単な説明】
【0009】
【
図1】幾つかの実施形態に係る、材料又はプロセスに対する変更が、電子回路システム全体にどのように影響を与えるのかを評価するために実行しうる様々な工程の処理フローを示す。
【
図2】幾つかの実施形態に係る、材料又はプロセスに対する変更がシステム全体にどのように影響を与えるのかを評価するために、単一のワークフローで実行しうる工程の統合された処理フローを示す。
【
図3】幾つかの実施形態に係る、追加した段階において短ループの下位評価が設けられた、材料/プロセスの変更のためのシステム全体の評価を行うための方法のフロー図を示す。
【
図4】幾つかの実施形態に係る、先に
図3で記載した統合された試験ワークフローを使用した短ループ最適化の一例を示す。
【
図5】幾つかの実施形態に係る、技術特徴を設計ルールに変換し、次いでライトPDKライブラリに変換するための第2の短ループ最適化の一例を示す。
【
図6】様々な実施形態が実現されうる例示的なコンピュータシステムを示す。
【発明を実施するための形態】
【0010】
過去数十年にわたる回路アーキテクチャは、増大し続ける作業負荷の要求を満たすためにスケーリング技術を使用してきた。スケーリングでは、従来、集積回路素子の特徴サイズが(例えば、10nmから、7nm、5nm等へと)縮小される。しかしながら、シリコン構造の物理的制限が、近年にスケーリング技術から得られうる利益のペースを劇的に遅らせてきた。さらに、最近の人工知能及び機械学習(AI/ML:artificial intelligence and machine learning)アルゴリズムの出現に伴い、処理されるデータ量、及び異なる作業負荷タイプの多様性が、スケーリング技術によって得ることが可能な利益を上回り始めている。ハードウェアの計算要件が指数関数的に増大しており、このペースを維持するために、新しい回路製造の進歩が必要となりうる。従って、従来の回路スケーリングを通して実現される性能の利益が減少していることと相まった、AI/ML技術からの処理要求の増大によって、性能を改善するための代替的な技術が必要となりうる。性能を改善するためのこのような代替的な技術の1つは、装置製造業者による材料/プロセスの革新である。
【0011】
材料の革新には、例えば、半導体デバイスの様々な物理的観点に対する任意の変更が含まれ、例えば、ソース/ドレインコンタクトのサイズ、トランジスタ間の絶縁の種類、ゲート酸化物材料、仕事関数金属、ソース/ドレイン領域におけるドーピング、コンタクト材料、コンタクト材料におけるライナ、及び/又は、半導体デバイスの任意の他のパラメータが含まれる。異なるソフトウェアアルゴリズムを有する大型プロセッサ及び/又はシステムオンチップ(SoC:System-on-Chip)に対する上記のタイプの変更の影響は、半導体設計サイクルの初期段階には明らかではないこともある。例えば、材料工学革新のPPAC(Power-Performance-Area-Cost、電力と性能とシリコン面積とコスト)の改善は小さいように見えるが、SoCレベルでは劇的に増大する可能性があり、その逆もまた然りである。
【0012】
材料革新によって将来的に見込みのある利益を得られるにもかかわらず、既存のツール、プロセス、及びシステムに伴う困難及び固有の制限によって、複数年にわたる広範な設計検証プロセスを設けずに材料革新を実際に実現することが困難になっている。回路ベースの複雑なシステムの設計、試験、実装、及び製造に固有の複雑さにより、設計プロセスは従来、半導体エコシステムの異なるエンティティの間で分けられてきた。例えば、半導体レベルでの材料又はプロセスの変更が、装置製造業者によって導入されるであろう。その後、材料の変更は、半導体製造プラント又はファウンドリで、コンパクトモデルを用いて簡素なデバイス構造において実現されるであろう。プロセスデザインキット(PDK:Process design kit)、スタンダードセル(Standard Cell)ライブラリ、及びPDKのための埋め込みメモリが、EDA(electronic design automation)ソフトウェアを提供する集積回路設計エンティティによって開発された。PDKにおけるスタンダードセル/メモリは、「ファブレス(fabless)」デバイス設計エンティティ又は垂直統合型デバイス製造業者(IDM:integrated device manufacturer)によって、ブロックレベルの設計、SoC全体、及びシステムレベルのデバイスを生成するために、使用された。最後に、ソフトウェア設計者が、製造されたICデバイスを使用して、複雑なソフトウェア設計及びアルゴリズムを実行するであろう。IC設計及び製造パイプラインのこれらの様々な段階のそれぞれが、様々なエンティティによって実行され、様々なエンティティのそれぞれが、プロセスのうち自身の部分を実行するために、異なるソフトウェア/ハードウェアツールを使用した。
【0013】
現在では、このプロセスの異なる段階の間に接続性がほとんど存在しない。例えば、ファウンドリによって設計された簡素なデバイス及び/又はコンパクトモデルは、対応する簡素な回路デバイスが自身の技術的要件を満たすと判定するために、それら自身の内部ベンチマークに対して試験される。簡素なデバイス及び/又はコンパクトモデルは、その後、集積回路(IC)設計エンティティに渡され、集積回路(IC)設計エンティティは、コンパクトモデルを使用して、EDAソフトウェアのためにPDK全体、スタンダードセル、及びメモリセルを設計するであろう。IC設計エンティティもやはり、スタンダードセルを、それ自体の内部技術要件に対して試験する。最後に、スタンダードセルを使用して、ICシステム全体が設計されるであろう。ICシステム全体もやはり、それ自体のソフトウェアベンチマークに対して試験されるであろう。様々なエンティティのそれぞれとソフトウェア/ハードウェアツールとの間に接続性が無いため、装置のベンダによって行われたプロセス又は材料の変更の完全な成り行きを知ることは、当該変更が半導体エコシステムを介して完全なAI/MLシステムに伝わったときは、不可能であった。
【0014】
IC設計及び製造プロセスの様々な部分の間の接続性の欠如は、ビジネス要件というよりむしろ、技術的問題の結果であることに注意されたい。既存のソフトウェア/ハードウェアツールは、単一のコンピュータシステムによって実現可能な単一のワークフローに、これらの様々なプロセスを統合することをサポートしていない。本明細書に記載される実施形態は、既存のIC設計及び製造プロセスの様々な段階の間にリンクソフトウェアツールを設けることによって、この問題及び他の技術的問題を解決するのに役立つ。本明細書に記載される実施形態はまた、既存の設計ツールのフローを、スタンダードセル及びメモリアレイの完全なライブラリの設計を必要とせずに材料又はプロセスに対する小さな変更を迅速に実現し試験することができるように、変更する。最後に、本明細書に記載される実施形態は、プロセスの各段階(材料からシステム全体まで)を単一のソフトウェアワークフローに集約することによって、材料/プロセスの変更を評価するのに要する時間を劇的に削減する。これらの実施形態によってもたらされる利点のこの組み合わせによって、装置製造業者において材料/プロセスの変更を評価するために以前では複数年にわたったプロセスが、最大で、数日又は数週間にまで短縮される。
【0015】
図1は、幾つかの実施形態に係る、材料又はプロセスに対する変更が、電子回路システム全体にどのように影響を与えるのかを評価するために実行しうる様々な工程の処理フローを示している。プロセスに関与する第1のエンティティは、半導体ウエハ上に電子回路を製造するための装置を設計する半導体装置製造業者(「装置製造業者」)102を含みうる。装置製造業者102の一例には、アプライドマテリアルズ(登録商標)社が含まれうる。一般に、装置製造業者102は、装置製造業者がどうように半導体装置を製造するのかを変更するために、材料/プロセスの変更を行いうる。この変更は、半導体デバイスの様々な物理的観点に対する、例えば、ソース/ドレインコンタクトのサイズ、トランジスタ間の絶縁の種類、ゲート酸化物材料、仕事関数金属、ソース/ドレイン領域におけるドーピング、コンタクト材料、コンタクト材料におけるライナ、及び/又は半導体デバイスの任意の他のパラメータ等に対する如何なる変更も含みうる。
図1の処理フローでは、装置製造業者102は、材料/プロセスの変更110を設けることが可能であったが、他のエンティティ及びソフトウェア/ハードウェアツールは、以下に説明する自身の対応する動作を実行するまで、当該材料/プロセスの変更110の下流での影響が典型的に分からないであろうことに注意されたい。装置製造業者102は、材料/プロセスの変更を試験することができたが、それは、個々の特徴又は小さなデバイスの非常に小さなスケールレベルでの変更の結果を検証できただけであった。装置製造業者102は、特にAI/MLソフトウェアを実行するチップシステムのために、システムレベルで材料/プロセスの変更110の結果を評価するためのソフトウェア/ハードウェアツールを有していなかった。
【0016】
次に、装置製造業者102から装置を購入するデバイス製造業者104(すなわち、ファウンドリ)が、半導体システム全体を設計するために半導体製造装置上で使用される簡素なデバイス構造112を設計するであろう。この簡素なデバイス構造112は、トランジスタ、ダイオード、キャパシタ、及び他の半導体デバイスのための回路設計及びレイアウトを含みうる。次いで、デバイス製造業者104が、これらの個々のデバイスの電気的特性を試験するであろう。例えば、装置製造業者102は、一般に、個々の半導体デバイスについて、ビアの抵抗、トランジスタのオン電流、及び、他の比較的小規模の測定値といった、特徴パラメータを試験する。一般に、上記の試験は、ハードウェアの試験と、半導体の作製及び半導体デバイス動作を自動化してモデル化するTCAD(Technology Computer-Aided Design、テクノロジコンピュータ支援設計)ソフトウェアの試験と、の両方を含みうるであろう。TCADツールは、半導体レイアウトの基礎物理に基づいて、処理ステップと、電気デバイスの挙動と、の両方をモデル化することが可能である。デバイス製造業者102はまた、半導体デバイスを使用するより大きな回路を設計する際に使用するために、簡素なデバイス構造の挙動を捉えた半導体デバイスのコンパクトモデル116(SPICEトランジスタモデル等)を作成することができる。
【0017】
コンパクトモデル116が生成された後で、コンパクトモデル116は、スタンダードセルのための回路を構築するために使用されうる。本ステップは、デバイス製造業者104及び/又は集積回路設計エンティティ106によって実行されうる。これら2つのエンティティは、一緒に作業することができ、又は、
図1のIC設計エンティティ106に割り当てられたステップの異なる部分を個々に処理することができる。例えば、個々のトランジスタのコンパクトモデルを一体化したときには、回路性能のさらなる観点が、これらのトランジスタ間の接続に基づき影響を受ける可能性がある。静電容量及び誘電体は、コンパクトモデルトランジスタの間に、それらが一体化されてより大きなマルチトランジスタ回路となる間に、形成される。このレベルでは、スタンダード回路118は、EDAソフトウェアで設計して、トランジスタレベルというより回路レベルで試験することが可能である。例えば、スタンダード回路118は、電力消費、周波数、及び/又は他のシンプルな電気的特性に対してベンチマークテストされうる。先に記載したように、材料/プロセスの変更110は、スタンダード回路118の動作に影響を及ぼしうるが、この影響は、EDAソフトウェアのシミュレーション中及び使用中、SPICEシミュレーション中などに、材料/プロセスの変更110がIC設計エンティティ106まで下って伝わるまで、発見されないであろう。
【0018】
プロセスの最も時間が掛かる観点の1つは、完全なPDKライブラリ及びスタンダードセル/メモリを生成することであった。PDKライブラリは、シンボル、デバイスパラメータ、パラメトリックセル、設計ルール、LVS(layout versus schematic)ルール、電気的ルール、レイヤ等を含みうる。材料/プロセスの変更110が、装置製造業者102によって行われたときには、スタンダード回路素子及びセルを含むPDKライブラリ120が、一般に、装置製造業者104及び/又はIC設計エンティティ106によって再設計される。これは、時間の掛かるプロセスである。というのは、PDKは、EDAソフトウェアで作成された設計がデバイス製造業者104によって所定の歩留まりで作製されうることを保証するからである。
【0019】
最後に、システム設計エンティティ108が、PDKを使用して、大規模回路システムを設計して実行することが可能である。システム設計エンティティ108は、作製エンティティでの作製のための、回路ベースのシステムを設計するファブレス設計ショップを含みうる。さらに、IDM(Integrated Device Manufacturer)が、集積回路製品を設計し製造し販売する半導体企業を含みうる。様々な設計ツールが、これらシステム設計エンティティ108のいずれかによって、プロセッサ、メモリブロック、積和演算器(MAC:multiply-accumulator)、デジタル信号プロセッサ(DSP)、及び他の設計ブロックを含むブロックレベル設計122を設計するために使用されうる。これらの設計ブロックは、性能、電力、面積、及び/又はコスト要件(PPAC)が満たされているかどうかを判定するために試験されうる。システム設計エンティティ108はまた、複数の設計ブロックを単一のオンチップシステムに統合する完全なSoC設計124を設計してよい。完全なSoC設計104もまた、PPAC要件を満たしているか試験されうる。場合によっては、完全なSoC設計124はまた、作製されたチップ上でソフトウェアアルゴリズム124が実行されている間に、試験することもできる。ソフトウェアアルゴリズム126の速度及び効率は、その後、材料/プロセスの変更110が有効であったかどうかに関して最終的な判定を行うために使用されうる。
【0020】
先に
図1で示したプロセスは、材料/プロセスの変更110を完全に評価するために数年を要することがあるため、本明細書に記載の実施形態では、装置製造業者102が、材料/プロセスの変更110がSoC124全体及び/又はアルゴリズム126に及ぼす影響を数年ではなく数日又は数週間のうちに評価できるように、単一ワークフローシステムについて説明する。幾つかの既存のソフトウェアツールが使用されうるが、追加のスクリプトが、これらのツールを一緒に結びつけるよう設計されており、新しいプロセスでは、この評価を行うために設計する必要があるPDK構成要素及びスタンダードセルの数が削減される。
【0021】
図2は、幾つかの実施形態に係る、材料又はプロセスに対する変更がシステム全体にどのように影響を与えるのかを評価するために、単一のワークフローで実施しうる工程の統合された処理フロー200を示している。この処理フロー200は、先に
図1に示した処理フロー100と類似している。しかしながら、処理フロー200は、単一のエンティティにより実行される単一のワークフローによって実行される。様々な位置、様々なコンピュータシステムにおいて、様々なエンティティによって操作される様々なソフトウェアツールの間で設計を受け渡す代わりに、これらの実施形態は、上記工程のそれぞれを単一のワークフローの一部分として実行し、これにより、プロセス全体を、単一のエンティティ及び/又は単一のコンピュータシステムによって実行することが可能である。このことによって、材料/プロセスの変更110についての、材料からシステムまでの完全な評価を行うのに要する時間が、数年から数週間又は数日に短縮される。
【0022】
処理フロー200はまた、本方法に新しいプロセスを追加する追加のブロック230、232、234も含み、当該ブロック230、232、234によって、様々なツール/プロセスが、装置製造業者102によって実施される単一のワークフローの一部分として機能することが可能となる。材料/プロセスの変更110が実現された後で、ブロック230内の新しいプロセスが実施されうる。最初に、本方法は、材料/プロセスの変更110を読み取って変換して(202)、プロセスライブラリ204及び/又は材料ライブラリ206を含むデータベースを生成することができる。例えば、幾つかの実施形態は、材料/プロセスの情報をテーブルに格納することができる。システムは、このテーブルを読み取って変換することができ(202)、さらに、現在の設計の実行中に作られているスプレッドシート又はテーブルから、プロセスの変更を抽出することができる。読み取り及び変換プロセス202は、プロセスに関連する変更から生じた特性及び材料に関連する変更から生じた特性といった、全ての関連する特性を抽出することによって、材料を特徴付けることが可能である。プロセス情報は、特定の技術ノード、特定のデバイス、トランジスタの種類、トランジスタのパラメータ、材料の厚さ、フイーチャ(feature)の長さ、及び/又はチャネル等に関連する情報を含みうる。材料情報は、デバイスで使用される材料、ライナの種類/材料、材料抵抗率、材料特性、及び/又は他の特性を含みうる。上記情報は、プロセスライブラリ204及び/又は材料ライブラリ206に格納されうる。プロセスライブラリ204及び/又は材料ライブラリ206は、プロセスの開始に際して事前に構築することができ、残りのプロセスの間ずっと使用することができる。プロセスライブラリ204及び/又は材料ライブラリ206は、データベースに格納することができ、このデータベースは、プロセスの後続のステップでの使用のためにルックアップ関数として機能する。
【0023】
データベース内の情報は、モデルを構築するために使用される欠落しているパラメータを埋めるために、後にプロセスの様々な段階によって参照されうる。簡素なデバイス構造112を構築するときには、システムは、欠けているパラメータを含む予め構築され以前に定義された幾つかの構造を使用することが可能である。プロセスは、この場合、プロセスライブラリ204を含むデータベースを照会することができ、材料ライブラリ206が、ルックアップテーブルとして機能して、関連するパラメータを抽出することができ、この関連するパラメータはその後、簡素なデバイス構造に伝えることが可能である。簡素なデバイス構造は、ライン、ビア、簡素なトランジスタ等を含みことができ、これらは、先に記載の簡素なデバイス構造を構築するために使用される。この簡素なデバイス構造は、「プリミティブな(primitive)」デバイス構造、又はプリミティブ回路構造とも称されうる。幾つかの実施形態は論理デバイスを使用するが、他の実施形態がメモリデバイスを使用しうることに注意されたい。メモリの実施形態の場合、簡素なデバイス構造は、メモリ膜スタックを含みうる。
【0024】
簡素なデバイスが構築された後で、電気的特性114が抽出されうる。以下に
図4に関連して記載するように、TCADモデル及び/又はSPICEモデルを、データベースから抽出された特性から生成することができ、これらのモデルは、簡素なデバイス構造のための電気的特性114を生成するようシミュレートされうる。この段階では、材料/プロセスの変更110が電気的特性114にどのように影響を与えたのかに関して第1の評価を行うことが可能である。影響が負の影響であった場合には、代わりに、異なる材料/プロセスの変更を使用することができ、プロセスが、この異なる材料/プロセスの変更を使用してやり直されうる。
【0025】
第2の新しい処理ブロック232は、簡素なデバイス構造を、スタンダードセル回路118を構築するために使用可能なコンパクトモデルに変換するための新しいプロセスを含みうる。例えば、特定の材料から作られた特定の種類の7nmトランジスタが指定された場合には、上記パラメータが、デバイスモデルに挿入すべき関連するパラメータを調べるための、データベースへの入力として提供されうる。加えて、電気的特性114が、コンパクトモデルを生成するために、このプロセスに供給されうる。提供される値は、近似的なコンパクトモデル抽出でありうる。したがって、読み取り及び変換プロセス208は、データベース内の材料ライブラリ206及び/又は電気的特性114から情報を抽出して、その情報を、対応するデバイス種のコンパクトモデルを構築するために必要な値に変換することができる。このことは、データベースからの特性をコンパクトモデルのために必要な近似値に変換することを含みうる。変換プロセスは、コンパクトモデルを生成するために使用される特定のツールごとに様々に設計されてよく、データベース内のデータ及び電気的特性114を、特定のツールによって読み取り可能な値及びフォーマットに変換することを含みうる。このポイントにおいて、コンパクトモデルが、スタンダードセル回路118を構築する際に使用するために、自動的に抽出されうる(210)。先に記載したように、スタンダードセル回路118は、NANDゲート、インバータ、及び/又は任意の他の簡素な回路構成を含みうる。
【0026】
自動化されたプロセスにおけるこの段階では、システムは、スタンダードセル回路118を構築して、スタンダードセル回路118の性能を評価することが可能である。このポイントまでのプロセス全体を自動化することができ、これにより、材料/プロセスの変更110が、スタンダードセル回路118までずっと伝わる。次いで、スタンダードセル回路118を処理して、当該セル118のPPAC特性を測定し、プロセス/材料の変更110がスタンダードセル118の動作特性にプラス又はマイナスの影響を与えているかどうかを判定することが可能である。例えば、リング発振器の発振周波数及び電力使用が、材料/プロセスの変更110が上記動作特性にプラス又はマイナスの影響を与えているかどうかを判定するために、このポイントで試験されうる。プラスの影響である場合には、残りのプロセス、処理プロセスを継続することができ、プロセスがマイナスである場合には、プロセスを止めることができ、異なる材料/プロセスの変更110が使用されうる。メモリデバイスを使用する実施形態の場合、リング発振器又は他の論理デバイスの代わりに、メモリアレイが構築されて測定されうる。
【0027】
スタンダードセルが試験された後で、PDKライブラリの「ライト(lite)」バージョンが生成されうる。PDKライブラリを生成するための以前に受け入れられたプロセスは、非常に手作業で時間が掛かった。本明細書に記載の実施形態は、自動化されたプロセスを使用し、ここで、所与の技術のための抽象された値が、材料/プロセスの変更110から影響を受けるPDKライブラリの要素のみの「ライト(lite)」バージョンを生成するために使用されうる。例えば、「抽象化された(abstracted)」値は、設計ルールのセット(例えば、先端-先端(tip-to-tip)ルール、エンクロージャルール等)として抽象化されるプロセス条件又は一連の処理ステップ(例えば、リソグラフィ、エッチング、堆積等)を考慮することによって、導出されうる。これらの抽象化され圧縮された値は、シミュレーションにおいて精度の低下が無いやり方で使用されうる。これらの値は、抽象化され、圧縮され、及び/又は各後続の段階へと伝えられうる。抽象化され圧縮された値は、様々な実行段階に従って変化する。例えば、材料レベルにおける材料/プロセスの変更は、抵抗率対厚さを表すために抽象化されうる。小さな構造又はトランジスタのレベルにおいて、これらの値は、I/V特性及びC/V特性として抽象化されうる。次に、スタンダードセルのレベルでは、抽象化された値は、関数、電力、駆動強度、ファンアウト等といったセル特性を生成するために使用されうる。最後に、PDK-ライト(lite)ライブラリが生成されると、上記抽象化された値は、ライン間の間隔、先端-先端(tip-to-tip)間隔等の関連する設計ルールを生成することができる。各段階において、上記抽象化された値は、それらが生成されモデル及びシミュレーションに挿入されると、材料/プロセスデータベースに格納されうる。スタンダードセル及びPDK特性は、スタンダードセル-ライト(lite)及びPDK-ライト(lite)の定義において捉えることができ、及び/又は、材料/プロセスデータベースにおいて取得することができる。
【0028】
例えば、PDKライブラリを生成するための以前のプロセスは、7nmから5nmに移動する等、異なる技術ノードから移動するファウンドリを含んでいた。ファウンドリは、その関連する全オーバーヘッドを含む、7nmの以前のバージョンのPDKで開始するであろう。7nmのバージョンのPDKは、10nmの以前のPDKライブラリの上に階層化されていた可能性があり、これにより、PDKライブラリの各追加的な反復によって、既存のライブラリに追加のレイヤ及び/又は設計ルールが追加されることにも注意されたい。7nmのPDKから、ファウンドリは、物理実験から手動で結果を得て、セルライブラリ内の特定のパラメータを圧縮するであろう。ファウンドリは、その後、EDAベンダと通信して、新しいPDKライブラリを新しい技術と統合するであろう。数か月後に、EDAソフトウェアが、ファブレスの設計者及びIDMに利用可能となり、ソフトウェアアルゴリズムが実際に設計されて、技術ハードウェア上に実装されるであろう。
【0029】
これらの実施形態は、装置製造業者での試験のために、このプロセス全体を簡素化している。したがって、この試験を実施するために、完全なPDKライブラリは必要ではない。その代わりに、材料/プロセスの変更110の影響を試験するために、PDKライトセル212の小さなセットが設計されうる。材料/プロセスの変更110によって、比較的少数の変更しか行われていないため、対応する比較的少数の変更を、既存のPDKライブラリに対して行う必要がある。膨らんだPDKライブラリの上に構築する代わりに、ソフトウェアは、材料/プロセスの変更110から生じるであろう変更を、既存のセルに対してマッピングすることが可能である。その後、材料/プロセスの変更110から影響を受ける特定のパラメータに関連する少数の変更のみを含むPDKセルの簡略化されたバージョンが使用されうる。幾つかの実施形態は、最終結果シミュレーションにおいて精度を下げることなく、所与の装置のための抽象化された値を使用しうる。
【0030】
同じプロセスが、PDK-ライトセルからスタンダードセルライブラリを生成するために使用されうる。スタンダードセルのライブラリを設計する、数か月にわたる手動のプロセスの代わりに、関連するスタンダードセルの「ライト(lite)」バージョンが生成されうる。やはり、プロセスライブラリ204及び/又は材料ライブラリ206からの抽象化された値が、スタンダードセルのライトバージョンを生成するために使用されうる。例えば、材料ライブラリは、様々な穀類の誘電率及び抵抗率といった、材料特性に関連する値を含みうる。プロセスライブラリは、堆積の厚さ及びアニール温度といった、プロセス条件を含みうる。材料ライブラリ/プロセスライブラリからの上記値は、スタンダードセルレベルにおいて、遅延、電力、立ち上がり及び立ち下がり時間、及び/又は他のセル特性として抽象化されうる。この新しいスタンダードセルは、ブロックレベル設計122及びフルチップSoC設計124に代入することが可能であり、PPAC検証が、材料/プロセスの変更110がシステムレベルの設計にどのように影響を与えるのかを判定するために実施されうる。さらに、幾つかの実施形態はまた、ソフトウェア動作に対する材料/プロセスの変更110の影響を決定するために、AI/MLアルゴリズムといった様々なアルゴリズム126を試験することもできる。スタンダードセルのライトバージョン及び/又はPDKライブラリのライトバージョンは、この初期段階の探索に必要な特徴に限定されうる。例えば、ライトライブラリは、材料/プロセスの変更から影響を受けるセルであって、システム/SoC設計において必要なセルのみを含むよう生成されうる。上記セルは、以前のPDKライブラリからのセルの完全なセットの上に階層化されるのではなく、むしろ、必要な特性のみを含む簡素なセルとして生成されうる。システムレベルまでシミュレートされた材料/プロセスの革新、及びアルゴリズム検証が、精度が著しく下がることなく可能となることが強調される。抽象化された値を用いて、コンパクトモデル、ライトスタンダードセル、及びライトPDKライブラリを生成すると、システムレベルで非常に正確な結果が生成されることが分かっている。
【0031】
図2に示される特定のステップは、様々な実施形態に係る半導体製造プロセスにおける材料/プロセスの変更を評価する特定の方法を提供すると理解されたい。ステップの他のシーケンスも、代替的な実施形態に従って実行されてよい。例えば、代替的な実施形態は、上述のステップを異なる順序で実施してよい。さらに、
図2に示される個々のステップは、複数の下位ステップを含んでよく、この複数の下位ステップは、個々のステップに応じて様々なシーケンスで実行されうる。さらに、特定の用途に従って、追加のステップが追加又は削除されうる。当業者は、多くの変形例、修正例、及び代替例が分かるであろう。
【0032】
図3は、幾つかの実施形態に係る、追加した段階において短ループの下位評価が設けられた、材料/プロセスの変更のための完全なシステム評価を行うための方法のフローチャート300を示している。本方法には、単一のプロセスにおける製造及び回路設計のパイプラインの各段階で、材料/プロセスの変更を試験する幾つかの短ループ検証が含まれる。このことによって、本方法は、変更によって、プリミティブな/簡素なデバイス、PDKライブラリ、スタンダードセル、回路、及び/又はシステムが例えばPPAC要件に関して不十分な性能を示すようになったかどうかを、各有意なチェックポイントにおいて判定することが可能となる。各短ループ検証では、システムは、現在の材料/プロセスの変更が許容可能であるか、又は新たな変更を反復するべきであるかを判定することが可能である。
【0033】
本方法は、最初に、任意の材料/プロセスの変更を、上述のように材料/プロセスのデータベース302に格納される値に変換することができる。本方法の残りのステップは、材料/プロセスデータベース302から取り出して、評価プロセスを通して必要に応じて上記値を取得することができる。このデータベースは、小さな試験構造を構築するために使用される材料及びプロセスの特性を含みうる。本方法は、その後、小さな試験構造304の性能メトリクス(指標値、metrics)を計算することができる。このポイントでは、材料/プロセスデータベース302に格納された材料/プロセスの変更が、許容可能な閾値に従って小さな試験構造を実行させているかどうかを判定するために、第1の評価が行われうる。例えば、本方法は、小さな試験構造の、電圧、電流、静電容量等の特性を試験することができる。試験構造は、トランジスタ、リング発振器、NANDゲート、及び/又は他の簡素な回路を含みうる。プロセスは、その後、追加の材料/プロセスの変更又は追加の試験構造デバイスを通じて繰り返すことができ、かつ、それぞれに対して同様の評価プロセスを実施することができる。この短いループの最適化によって、提案された材料/プロセスの変更が許容可能であるかどうかに関して、プロセスの早期に決定を行うことが可能となる。また、新しい材料を、代替品として迅速に連続して試験することも可能となる。
【0034】
先に記載したように、小さな試験構造の評価に合格した材料/プロセスの変更については、ライト(lite)スタンダードセルライブラリ又はライト埋め込みメモリ構造が、材料/プロセスデータベース302から自動的に生成されうる。完全なシステム試験プロセスを継続するために、本方法は、合成、間取図の作成、バックエンド、クロックツリー合成、回路のタイミング等のための必要な構成要素のうちのいずれかを生成することを含みうる(310)。これらは、アナログ回路、デジタル回路、及び混合信号回路といったカスタム回路を生成するために使用されうる(312)。メモリ素子のために、メモリアレイが、マクロセルの設計と併せて生成されうる(314)。最後に、これらの構成要素のいずれか又は全てを、フルチップ集積設計で組み立てることができ、かつ、当該設計がPPAC要件を満たすかどうかに関して評価を行うことが可能である(316)。この段階では、より大きなシステムに対する材料/プロセスの変更の影響が許容範囲内に収まるかどうかに関して、他の短ループ最適化の決定が行われうる。上記影響が許容範囲内に収まらない場合には、異なる材料/プロセスの変更を繰り返すという決定320が行われうる。複数の設計が、新しい材料/プロセスの変更を使用して各設計が検証されてしまうまで、試験されうる(318)。データベース324は、PPAC要件に合格したシステムの結果及び/又は設計を格納することが可能である。複数の材料/プロセスの変更を評価することができ、候補の又は許容可能な材料/プロセスの変更のセットが、将来の評価を継続するために保存されうる。
【0035】
最後に、第3の最適化ループが、デジタルシステム上にソフトウェアアルゴリズムを実現することによって、実行されうる。様々なソフトウェアアルゴリズムを、データベース326から取得して、試験されるシステム328の設計にマッピングすることが可能である。システムレベルのトラフィックを、アルゴリズム330を試験するために生成することが可能であり、システムは、回路の精度及び性能を計算することが可能である(332)。アルゴリズムの性能は、やはり、PPAC要件を含む複数のメトリクスと比較して検証されうる。この最終的な最適化ループは、アルゴリズムの性能が十分ではない場合には、複数のアルゴリズム(336)、複数のシステム設計(338)、及び/又は、複数の材料/プロセスの変更(340)を通して繰り返すことが可能である。本ステップはまた、複数の設計からの結果を比較して、提案された材料/プロセスの変更のセットから最適な材料/プロセスの変更を決定することもできる。
【0036】
図3に示された特定のステップが、様々な実施形態に係る半導体製造プロセスにおける材料/プロセスの変更を評価する特定の方法を提供すると理解されたい。他のシーケンスによるステップも、代替的な実施形態に従って実行することができる。例えば、代替的な実施形態は、上述のステップを異なる順序で実施することができる。さらに、
図3に示された個々のステップは、複数の下位ステップを含んでよく、この複数の下位ステップは、個々のステップに応じて様々なシーケンスで実行されうる。さらに、特定の用途に従って、追加のステップが追加又は削除されうる。当業者は、多くの変形例、修正例、及び代替例が分かるであろう。
【0037】
図4は、幾つかの実施形態に係る、先に
図3に記載の統合された試験ワークフローを使用した短ループ最適化の一例を示している。本例では、短ループ最適化サイクルが、トランジスタといった回路上での小規模回路試験に至るまで達成されうる。最初に、TCADモデル402を生成することができ、このTCADモデル402は、プリミティブなデバイス/構造を一緒に接続することから生じる抵抗及び静電容量の全てを含む。例えば、ソース、ドレイン、ゲート電極、酸化物等は、それらが接続されてトランジスタ回路を形成している間、寄生容量を生成しうる。TCADモデル402は、シリコンのレイアウトにおいて、この静電容量を捉える。このモデルは、N、N+1、N+2等のそれぞれに適用可能なルール、技術の反復(例えば、7nm、5nm、3nm等)を使用して、TCADに組み込まれうる。
【0038】
TCADモデル402は、その後、SPICEモデルを生成するために使用されうる。先に記載したコンパクトモデルをSPICEシミュレーションの一部として使用して、回路(例えば、トランジスタ)の性能をシミュレートし、回路の電流、電圧、タイミング、及び他の電気的特性を生成することができる。このポイントにおいて、TCADとSPICEの両方におけるシミュレーションは、材料/プロセスの変更が回路の性能に対して許容可能な形で影響を与えているかどうかを判定するための第1のチェックポイントとして機能しうる。幾つかの実施形態において、TCADからのシミュレーションデータを基準して使用することができ、SPICEシミュレーションデータを、TCADシミュレーションデータと比較することができる。SPICEシミュレーションデータが、閾値量の範囲内でTCADシミュレーションデータに近い場合には、SPICEシミュレーションを、回路を試験するために後に使用することが可能である。例えば、試験データ406が、評価のために、モデル402、404のいずれかから生成されうる。
【0039】
TCADモデル402が、トランジスタを形成するために使用されうる様々なレベルの材料堆積を示していることに注意されたい。これは、金属1層(M1)、ビア1層(V1)、コンタクト層(CT)等を含みうる。TCADモデル402は、回路のレイアウトによって生成されうる抵抗及び静電容量の全てを捉える。このことによって、装置製造業者が、回路の配置に対して変更を加えることが可能となる。例えば、
図4では、最適化グラフ408に示されるように、少なくとも5つの異なる試験データセットが生成されている。第1の実験は、トランジスタの従来の設計を使用しており、後続の実験のそれぞれ(例えば、実験1、実験2等)では、TCADモデル402及び/又はSPICEモデル404を生成するために使用された1つ以上の材料/プロセスの変更を実現した。最後の実験(実験3+)は、回路のCT層が寄与する遅延における最大の改善を示している。様々な種類の材料/プロセスの変更を使用して複数の試験を実施することによって、この短ループ最適化サイクルは、小規模回路の性能のための最良の変更を明らかにすることができる。このことはまた、プロセスにおいて後にシステムレベルの性能に対して最大の影響を与える可能性が高い材料/プロセスの変更を、早い段階で明らかにすることもできる。
【0040】
図5は、幾つかの実施形態に係る、技術特徴を設計ルールに変換し、次いでライトPDKライブラリに変換するための第2の短ループ最適化の一例を示している。様々な技術が、様々なやり方で実現される設計ルールに影響を与える。本例では、2つの異なる設計ルールが、システムによって、評価のために提案されうる。「技術A」の設計ルール502aが、「技術B」の設計ルール502bと比較されうる。比較のために、「技術B」の設計ルール502bは、先に記載したこのプロセスの初期のステップで提案された材料設計、プロセスの最適化、及び統合の改善により、よりタイトなバックエンド(配線工程)(BEOL:back end of line)設計ルールを提供する。
【0041】
設計ルール及び相互接続モデルに対する影響は、設計ルール502a、502bのそれぞれの対応するPDK504において捉えられうる。上記の設計ルール502a、502bのそれぞれのために、EDAソフトウェアで回路素子のそれぞれを生成するためのコンパクトモデル、設計ルール、及び相互接続モデルを含むPDK-ライト(lite)を生成することができる。次に、システムは、スタンダードライトセル(standard-lite cell)508のセットを自動的に生成することができる。様々なスタンダードセルが、試験されている様々な技術のそれぞれのために生成されうる。上述のように、設計ルールの変更を使用して、既存のスタンダードセルに対して小さな変更を加えてスタンダードライトセル508を生成することができる。
【0042】
次に、スタンダードセル508を使用する回路を生成することができ、異なる技術のそれぞれのためのバックエンド506が生成されうる。本例では、技術Bの相互接続がはるかに密であり、
図5のバックエンド506について示されるヒートマップが、技術Aと技術Bとの間の相対密度を示している。このことによって、技術Bの回路を、半導体回路内のはるかに小さな設置面積に実現することが可能となる。次に、PPAメトリクス(指標値)510を比較し、どの技術がより効果的であるかを比較によって決定することができる。
図5に示されるように、PPAメトリクス510は、技術Bが、回路の性能メトリクス又は電力メトリクスに著しいマイナスの影響を与えることなく、回路面積の20%の削減をもたらせることを示している。エラー結果512も、2つの技術の間で比較することできる。本例では、技術Bは、技術Aよりもデザインルールチェック(DRC:design rule check)エラーが少ない結果になっている。この場合も、この短ループ最適化は、或る特定の技術における材料/プロセスの変更の影響を、当該材料/プロセスの変更が設計プロセスを介して先に伝えられ、システムが実際に配置され、配線され、実現される間に、迅速に評価することができる。
【0043】
図6は、様々な実施形態が実現されうる例示的なコンピュータシステム600を示している。システム600は、先に記載したコンピュータシステムのいずれかを実現するために使用されうる。図に示すように、コンピュータシステム600は、バスサブシステム602を介して幾つかの周辺サブシステムと通信する処理ユニット604を含む。上記周辺サブシステムは、処理加速ユニット606と、I/Oサブシステム608と、ストレージサブシステム618と、通信サブシステム624と、を含みうる。ストレージサブシステム618は、有形のコンピュータ可読ストレージ媒体622と、システムメモリ610と、を含む。
【0044】
バスサブシステム602は、コンピュータシステム600の様々な構成要素及びサブシステムに、意図されるように互いに通信させるための仕組みを提供する。バスサブシステム602は、単一のバスとして概略的に示されているが、バスサブシステムの代替実施形態は、複数のバスを利用することができる。バスサブシステム602は、メモリバス又はメモリコントローラ、周辺バス、及び、様々なバスアーキテクチャのいずれかを使用するローカルバスを含む、幾つかの種類のバス構造のうちのいずれかでありうる。例えば、このようなアーキテクチャは、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、拡張ISA(EISA:Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、及びPCI(Peripheral Component Interconnect)バスを含むことができ、これらは、IEEE P1386.1規格に製造されたメザニンバスとして実装することが可能である。
【0045】
処理ユニット604は、1つ以上の集積回路(例えば、従来のマイクロプロセッサ又はマイクロコントローラ)として実現されうるが、コンピュータシステム600の動作を制御する。1つ以上のプロセッサが、処理ユニット604に含まれうる。これらのプロセッサは、シングルコア又はマルチコアのプロセッサを含みうる。特定の実施形態において、処理ユニット604は、1つ以上の独立した処理ユニット632及び/又は634として実現することができ、各処理ユニットに、シングルコア又はマルチコアプロセッサが含まれる。他の実施形態において、処理ユニット604はまた、2つのデュアルコアプロセッサを1つのチップに組み込むことにより形成されるクワッドコア処理ユニットとしても実現されうる。
【0046】
様々な実施形態において、処理ユニット604は、プログラムコードに応じて様々なプログラムを実行することができ、同時に実行される複数のプログラム又はプロセスを維持することが可能である。任意の所与の時間に、実行されるプログラムコードの一部又は全てが、プロセッサ604及び/又はストレージサブシステム618内に常駐することができる。適切なプログラミングを通じて、プロセッサ604は、先に記載した様々な機能を提供することが可能である。コンピュータシステム600は、追加として、処理加速ユニット606を含むことができ、処理加速ユニット606は、デジタル信号プロセッサ(DSP:digital signal processor)、及び/又は特殊用途プロセッサ等を含みうる。
【0047】
入出力サブシステム608は、ユーザインタフェース入力デバイスと、ユーザインタフェース出力デバイスと、を含みうる。ユーザインタフェース入力デバイスは、キーボード、マウス又はトラックボールといったポインティングデバイス、ディスプレイに組み込まれたタッチパッド又はタッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド、音声コマンド認識システムを含むオーディオ入力デバイス、マイクロフォン、及び、他の種類の入力デバイスを含みうる。ユーザインタフェース入力デバイスは例えば、マイクロソフト社のキネクト(Kinect)(登録商標)運動センサといった、運動感知デバイス及び/又はジェスチャ認識デバイスを含むことができ、この運動感知デバイス及び/又はジェスチャ認識デバイスによって、ユーザは、ジェスチャ及び発話されたコマンドを使用する自然のユーザインタフェースを介して、マイクロソフト社のエックスボックス(Xbox)(登録商標)360ゲームコントローラといった、入力デバイスを制御しそれと相互作用することを可能となる。ユーザインタフェース入力デバイスはまた、グーグルグラス(Google Glass)(登録商標)まばたき検出器といった、アイジェスチャ認識デバイスも含むことができ、このアイジェスチャ認識デバイスは、ユーザからの眼球運動(例えば、写真撮影中及び/又はメニュー選択中の「まばたき」等)を検出して、そのアイジェスチャを入力デバイス(例えば、Google Glass(登録商標))への入力として変換する。さらに、ユーザインタフェース入力デバイスは、ユーザが音声コマンドを介して音声認識システム(例えば、シリ(Siri)(登録商標)ナビゲータ)と対話することを可能にする音声認識感知デバイスを含みうる。
【0048】
ユーザインタフェース入力デバイスはまた、限定はしないが、3次元(3D)マウス、ジョイスティック又はポインティングスティック、ゲームパッド及びグラフィックタブレット、並びに、スピーカ、デジタルカメラ、デジタルカムコーダ、携帯型メディアプレーヤ、ウェブカメラ、画像スキャナ、指紋スキャナ、バーコードリーダ、3Dスキャナ、3Dプリンタ、レーザ測距離器、及び視線追跡デバイスといったオーディオデバイス/視覚デバイスを含みうる。加えて、ユーザインタフェース入力デバイスは、例えば、コンピュータ断層撮影装置、磁気共鳴撮像装置、位置放射断層撮影装置、医用超音波検査デバイスといった、医用撮像入力デバイスを含みうる。ユーザインタフェース入力デバイスはまた、例えば、MIDIキーボード、デジタル楽器等といった、オーディオ入力デバイスを含みうる。
【0049】
ユーザインタフェース出力デバイスは、ディスプレイサブシステム、インジケータライト、又は、オーディオ出力デバイス等といった非視覚的ディスプレイを含みうる。ディスプレイサブシステムは、陰極線管(CRT:cathode ray tube)、液晶ディスプレイ(LCD:liquid crystal display)又はプラズマディスプレイを使用するもの等のフラットパネルデバイス、投影デバイス、タッチスクリーン等でありうる。一般に、「出力デバイス(output device)」という用語の使用では、コンピュータシステム600からユーザ又は他のコンピュータへと情報を出力するための全ての想定される種類のデバイス及び仕組みを含むことが意図されている。例えば、ユーザインタフェース出力デバイスは、限定はしないが、モニタ、プリンタ、スピーカ、ヘッドフォン、自動車ナビゲーションシステム、プロッタ、音声出力デバイス、及びモデムといった、テキスト、グラフィックス、及びオーディオ/映像情報を視覚的に伝える様々なディスプレイデバイスを含みうる。
【0050】
コンピュータシステム600は、ストレージサブシステム618を含むことができ、ストレージサブシステム618は、現在システムメモリ610内に位置するとして示されたソフトウェア要素を含む。システムメモリ610は、処理ユニット604にロード可能であり処理ユニット604で実行可能なプログラム命令、及び、当該プログラムの実行中に生成されるデータを格納することができる。
【0051】
コンピュータシステム600の構成及び種類に従って、システムメモリ610は、揮発性であってよく(例えば、RAM(random access memory))、及び/又は不揮発性であってよい(例えば、ROM(read-only memory)、フラッシュメモリ等)。RAMは、典型的に、即座にアクセス可能であり及び/又は処理ユニット604によって現在操作され実行されているデータ及び/又はプログラムモジュールを含む。幾つかの実現において、システムメモリ610は、SRAM(static random access memory)又はDRAM(dynamic random access memory)といった、複数の異なる種類のメモリを含みうる。幾つかの実現において、起動中などにコンピュータシステム600内の要素間で情報を転送するのに役立つ基本ルーチンを含む基本入出力システム(BIOS:basic input/output system)が、典型的にROMに格納されうる。限定ではなく例として、システムメモリ610はまた、クライアントアプリケーション、ウェブブラウザ、中間層アプリケーション、RDBMS(relational database management system)等を含みうるアプリケーションプログラム612と、プログラムデータ614と、オペレーティングシステム616と、を含みうる。例として、オペレーティングシステム616は、様々なバージョンのMicrosoft社のWindows(登録商標)、Apple社のMacintosh(登録商標)、及び/又はLinuxオペレーティングシステム、様々な市販のUNIX(登録商標)又はUNIXのようなオペレーティングシステム(様々なGNU/Linuxオペレーティングシステム、Google Chrome(登録商標)等を含むが、これらに限定されない)、及び/又は、iOS、Windows(登録商標)Phone、Android(登録商標)OS、BlackBerry(登録商標)10 OS、及びPalm(登録商標)OSといった、モバイルオペレーティングシステムを含みうる。
【0052】
ストレージサブシステム618はまた、幾つかの実施形態の機能を提供する基本的なプログラミング及びデータ構造を格納するための、有形のコンピュータ可読ストレージ媒体を提供しうる。プロセッサによって実行されたときに、先に記載の機能を提供するソフトウェア(プログラム、コードモジュール、命令)が、ストレージサブシステム618に格納されうる。上記ソフトウェアモジュール又は命令は、処理ユニット604によって実行されうる。ストレージサブシステム618はまた、様々な実施形態に従って使用されるデータを格納するためのリポジトリを提供しうる。
【0053】
ストレージサブシステム600はまた、コンピュータ可読ストレージ媒体リーダ620も含むことができ、このコンピュータ可読ストレージ媒体リーダ620は、コンピュータ可読ストレージ媒体622にさらに接続されうる。システムメモリ610と一緒に、任意選択的に、システムメモリ610と組み合わされて、コンピュータ可読ストレージ媒体622は、遠隔の、ローカルの、固定された、及び/又は取り外し可能なストレージデバイスと、コンピュータ可読な情報を一時的及び/又はより永続的に含み、格納し、送信し、及び検索するためのストレージ媒体と、を包括的に表しうる。
【0054】
コード又はコードの一部を含むコンピュータ可読ストレージ媒体622はまた、当該技術分野において周知の又は使用される任意の適切な媒体を含むことができ、当該任意の適切な媒体は、例えば、限定されないが、情報の格納及び/又は送信のための任意の方法又は技術で実現された揮発性及び不揮発性の、取り外し可能な及び取り外し不可能な媒体といった、ストレージ媒体及び通信媒体を含む。これは、有形のコンピュータ可読ストレージ媒体を含むことができ、この有形のコンピュータ可読ストレージ媒体は、例えば、RAM、ROM、電子消去可能プログラマブルROM(EEPROM:electronically erasable programmable ROM)、フラッシュメモリ若しくは他のメモリ技術、CD-ROM、DVD(digital versatile disk)、又は、他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージデバイス若しくは他の磁気ストレージデバイス、又は、他の有形のコンピュータ可読媒体を含む。これはまた、非有形のコンピュータ可読媒体も含むことができ、この非有形のコンピュータ可読媒体は、例えば、データ信号、データ送信信号、又は、所望の情報を送信するために使用可能でありコンピュータシステム600がアクセスしうる任意の他の媒体を含む。
【0055】
例として、コンピュータ可読ストレージ媒体622は、取り外し不可能な不揮発性の磁気媒体から読み取り又はそこに書き込むハードディスクドライブと、取り外し可能な不揮発性の磁気ディスクから読み取り又はそこに書き込む磁気ディスクドライブと、CD ROM、DVD、及びBlu-Ray(登録商標)ディスクといった、取り外し可能な不揮発性の光ディスクから読み取り又はそこに書き込む光ディスクドライブと、を含みうる。コンピュータ可読ストレージ媒体622は、Zip(登録商標)ドライブ、フラッシュメモリカード、USB(universal serial bus)フラッシュドライブ、SD(secure digital)カード、DVDディスク、デジタルビデオテープ等を含みうるが、これらに限定されない。コンピュータ可読ストレージ媒体622はまた、不揮発性メモリに基づくSSD(solid-state drive)、例えば、SSDに基づくフラッシュメモリ、エンタプライズフラッシュドライブ、ソリッドステートROM等と、揮発性メモリに基づくSSD、例えば、ソリッドステートRAM、ダイナミックRAM、スタティックRAM、DRAMベースのSSD、磁気抵抗RAM(MRAM:magnetoresistive RAM)SSDと、DRAMベースのSSDとフラッシュメモリベースのSSDとの組み合わせを使用するハイブリッドSSDと、を含みうる。ディスクドライブ、及びその関連するコンピュータ可読媒体は、コンピュータシステム600のためのコンピュータ可読命令、データ構造、プログラムモジュール、及び他のデータの不揮発性ストレージを提供しうる。
【0056】
通信サブシステム624は、他のコンピュータシステム及びネットワークへのインタフェースを提供する。通信サブシステム624は、コンピュータシステム600と他のシステムとの間でデータを送受信するためのインタフェースとして機能する。例えば、通信サブシステム624は、コンピュータシステム600がインターネットを介して1つ以上の装置に接続することを可能としうる。幾つかの実施形態において、通信サブシステム624は、(例えば、携帯電話技術、3G、4G、若しくはEDGE(enhanced data rates for global evolution)といった高度なデータネットワーク技術、WiFi(IEEE802.11 family standards)、又は他の移動通信技術、あるいは、これらの任意の組合せを使用して)無線音声及び/又はデータネットワークにアクセスするための無線周波数(RF:radio frequency)トランシーバの構成要素、全地球測位システム(GPS:global positioning system)受信機、及び/又は他の構成要素を含みうる。幾つかの実施形態において、通信サブシステム624は、無線インタフェースに加えて又はその代わりに、有線のネットワーク接続(例えば、イーサネット)を提供することが可能である。
【0057】
幾つかの実施形態において、通信サブシステム624はまた、コンピュータシステム600を使用しうる1人以上のユーザの代わりに、構造化された及び/又は構造化されていないデータフィード626、イベントストリーム628、イベント更新630等の形態による入力通信を受信することもできる。
【0058】
例として、通信サブシステム624は、ソーシャルネットワーク及び/又は他の通信サービスのユーザから、データフィード626を、例えば、Twitter(登録商標)のフィード、Facebook(登録商標)の更新、RSS(Rich Site Summary)フィードといったウェブフィード、及び/又は、1つ以上の第三者情報源からのリアルタイム更新等を、リアルタイムで受信するよう構成されうる。
【0059】
さらに、通信サブシステム624はまた、リアルタイムイベント及び/又はイベント更新630のイベントストリーム628を含みうる連続的なデータストリームの形態による、明示的な終わりの無い連続的又は無制限の性質のデータを受信するよう構成されうる。連続的なデータを生成するアプリケーションの例には、例えば、センサデータアプリケーション、金融チッカ、ネットワークパフォーマンス測定ツール(例えば、ネットワーク監視及びトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車トラフィック監視等が含まれうる。
【0060】
通信サブシステム624はまた、構造化された及び/又は構造化されていないデータフィード626、イベントストリーム628、イベント更新630等を、コンピュータシステム600に接続された1つ以上のストリーミングデータソースコンピュータと通信しうる1つ以上のデータベースに出力するよう構成することもできる。
【0061】
コンピュータシステム600は、ハンドヘルドの携帯機器(例えば、iPhone(登録商標)携帯電話、iPad(登録商標)コンピュータタブレット、PDA)、ウェアラブルデバイス(例えば、Google Glass(登録商標)ヘッドマウントディスプレイ)、PC、ワークステーション、メインフレーム、キオスク、サーバラック、又は任意の他のデータ処理システムを含む様々な種類のうちの1つでありうる。
【0062】
コンピュータ及びネットワークは、絶えず変化する性質のものであるため、図示されたコンピュータシステム600の説明は、単に特定の例として意図されている。図に示されるシステムよりも多い又は少ない構成要素を有する多くの他の構成が可能である。例えば、カスタマイズされたハードウェアも使用することが可能であろうし、及び/又は、特定の要素が、ハードウェア、ファームウェア、ソフトウェア(アプレットを含む)、又はその組み合わせで実現されうる。さらに、ネットワーク入力/出力デバイスといった他の計算デバイスへの接続が使用されうる。本明細書で提供される開示及び教示に基づいて、当業者は、様々な実施形態を実現するための他のやり方及び/又は方法が分かるであろう。
【0063】
先の説明では、説明を目的として、様々な実施形態の完全な理解を促すために数多くの特定の詳細事項を記載した。しかしながら、当業者には、これらの具体的な詳細事項の一部が無くとも実施形態が実施されうることが明らかとなろう。他の例において、良く知られた構造及び装置が、ブロック図の形式で示される。
【0064】
先の記載では、例示的な実施形態のみが提供されており、本開示の範囲、適用可能性、又は構成を限定することは意図されていない。むしろ、例示的な実施形態についての先の記載は、例示的な実施形態を実現するための可能な説明を当業者に提供する。添付の特許請求の範囲に記載される様々な実施形態の思想及び範囲から逸脱することなく、構成要素の機能及び構成に対して様々な変更が加えられると理解されたい。
【0065】
実施形態の完全な理解をもたらすため、先の記載では具体的な詳細事項が提供されている。しかしながら、当業者には、これらの具体的な詳細事項が無くとも実施形態が実施されうることが分かるであろう。例えば、回路、システム、ネットワーク、プロセス、及び他の構成要素は、不必要な詳細事項で実施形態を不明瞭にしないために、ブロック図の形態の構成要素として示されていることがある。他の例では、よく知られている回路、プロセス、アルゴリズム、構造、及び技術が、実施形態を不明瞭にすることを避けるために、不必要な詳細なしに示されていることがある。
【0066】
また、個々の実施形態が、フローチャート、フロー図、データフロー図、構造図、又はブロック図として示されるプロセスとして説明されている場合があることに注意されたい。フローチャートでは、工程を逐次的プロセスとして説明している場合があるが、工程の多くは、並行して又は同時に実行することが可能である。加えて、工程の順序を新たに並べ替えることができる。プロセスは、その工程が完了したときに終了するが、図に含まれない追加のステップを有しうるであろう。プロセスは、方法、関数、手続き、サブルーチン、サブプログラム等に対応しうる。プロセスが関数に対応するときには、その終了は、呼び出し元の関数又はmain関数へのその関数の戻り値に相当しうる。
【0067】
「コンピュータ可読媒体(computer-readable medium)」という用語は、限定はしないが、携帯用の又は固定されたストレージデバイス、光ストレージデバイス、無線チャネル、並びに、命令及び/又はデータを格納、収容、又は運ぶことができる様々な他の媒体を含む。コードセグメント又はマシン実行可能な命令は、手続き、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、又は、命令、データ構造、若しくはプログラム文の任意の組み合わせを表しうる。コードセグメントは、情報、データ、引数、パラメータ、又はメモリ内容を渡すこと及び/又は受け取ることによって、他のコードセグメント又はハードウェア回路に結合されうる。情報、引数、パラメータ、データ等は、メモリの共有、メッセージの受け渡し、トークンの受け渡し、ネットワーク送信等を含む任意の適切な手段を介して渡され、転送され、又は送信されうる。
【0068】
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、又はこれらの任意の組合せによって実現されうる。ソフトウェア、ファームウェア、ミドルウェア又はマイクロコードで実現されるときには、必要なタスクを実行するためのプログラムコード又はコードセグメントは、機械可読媒体に格納されうる。プロセッサが、必要なタスクを実行することができる。
【0069】
先の明細書では、様々な実施形態の態様が、その特定の実施形態を参照しながら記載されているが、当業者は、全ての実施形態がこれに限定されるわけではないことが分かるであろう。上述の実施形態の様々な特徴及び態様が、個別に又は一緒に使用されうる。さらに、実施形態は、本明細書のより広い思想及び範囲から逸脱することなく、本明細書に記載されるものを超える任意の数の環境及び用途において利用されうる。これに対応して、本明細書及び図面は、限定を意味するのではなく、例示を意味すると見做される。
【0070】
さらに、説明を目的として、本方法は特定の順序で記載された。代替的な実施形態において、本方法が、記載された順序とは異なる順序で実行されうると理解されたい。先に記載の方法がまた、ハードウェア構成要素によって実行できること、あるいは、汎用若しくは専用プロセッサといった機械又は命令によってプログラムされた論理回路に、本方法を実行させるために使用することができる機械実行可能な命令のシーケンスで具現化できることを理解されたい。上記の機械実行可能な命令は、1つ以上の機械可読媒体に格納することができ、この1つ以上の機械可読媒体は、CD-ROM又は他の種類の光ディスク、フロッピーディスケット、ROM、RAM、EPROM、EEPROM、磁気カード若しくは光カード、フラッシュメモリ、又は、電子命令を格納するのに適した他の種類の機械可読媒体を含む。代替的に、本方法は、ハードウェアとソフトウェアとの組み合わせによって実行されうる。