JP6968245B2 - 集積回路の設計システムおよび方法 - Google Patents

集積回路の設計システムおよび方法 Download PDF

Info

Publication number
JP6968245B2
JP6968245B2 JP2020158351A JP2020158351A JP6968245B2 JP 6968245 B2 JP6968245 B2 JP 6968245B2 JP 2020158351 A JP2020158351 A JP 2020158351A JP 2020158351 A JP2020158351 A JP 2020158351A JP 6968245 B2 JP6968245 B2 JP 6968245B2
Authority
JP
Japan
Prior art keywords
component
components
definition
defines
version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020158351A
Other languages
English (en)
Other versions
JP2021007025A (ja
Inventor
エヴァン・ジェフリー
ジュリアン・ショー・ケリー
ジョシュア・ユーソウフ・ムトゥス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2019534102A external-priority patent/JP6768961B2/ja
Application filed by Google LLC filed Critical Google LLC
Priority to JP2020158351A priority Critical patent/JP6968245B2/ja
Publication of JP2021007025A publication Critical patent/JP2021007025A/ja
Application granted granted Critical
Publication of JP6968245B2 publication Critical patent/JP6968245B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本開示は、特定のディスクリート回路素子をそれぞれ定義する編集可能な構成要素の定義を使用して集積回路の設計に関する。
システム、デバイス、およびソフトウェアの設計者はバージョン制御システムをしばしば利用する。バージョン制御システムは、文書、コードなどの設計情報への変更を、レビューおよび最終的な受理または却下のための改版の提案を促進する論理的かつ組織的なやり方で管理する。バージョン制御システムは変更の影響、これらの変更の編集、および訂正を容易に理解する能力を可能にする。設計される特定のシステムが複雑であればあるほど、複数の設計者がそのシステムに関わって作業する可能性が高くなる。したがって、バージョン制御システムが複数開発者のプロジェクトを管理することを助ける。
本明細書は、特定のディスクリート回路素子をそれぞれ定義する編集可能な構成要素の定義を使用して集積回路の設計に関する技術を説明する。
一般に、本明細書において説明される主題の一革新的な態様は、以下のアクションを含む方法において具現化され、当該アクションが、ユーザ入力によって、複数の構成要素の定義を生成するステップを含み、構成要素の定義が、電子回路で使用するためのディスクリート回路の構成要素を定義し、かつ構成要素メタデータを含み、構成要素メタデータが、構成要素の定義によって定義されるディスクリート回路の構成要素の構成要素の種類と、電子回路の1つまたは複数のレイヤにおける、ディスクリート回路の構成要素の物理的な実現のための物理的な寸法を定義するジオメトリックなパラメータ化データと、構成要素の定義によって記述されるディスクリート回路の構成要素のバージョンレベルとを記述し、で同一のディスクリート回路の構成要素についての構成要素の定義について少なくとも2つのバージョンレベルが、それらのそれぞれのジオメトリックなパラメータ化データによって定義される物理的な寸法が異なっており、当該アクションが、構成要素の定義ライブラリに構成要素の定義を記憶するステップを含む。本態様の他の実施形態は、方法のアクションを実施するように構成され、コンピュータ記憶デバイスにエンコードされる、対応するシステム、装置、およびコンピュータプログラムを含む。
本明細書において説明される主題の別の態様は、以下のシステムにおいて具現化され得、当該システムは、1つまたは複数のプロセッサを含むデータ処理装置と、データ処理装置とデータ通信するとともに、命令を記憶しているコンピュータ記憶媒体とを備え、当該命令が、設計モジュールを定義し、前記設計モジュールが、データ処理装置によって実行されると、データ処理装置に以下の動作を実行させ、当該動作が、ユーザ入力によって、複数の構成要素の定義を生成するステップを含み、各構成要素の定義は電子回路で使用するための構成要素を定義し、かつ構成要素メタデータを含み、構成要素メタデータが、構成要素の定義によって定義される構成要素の構成要素の種類と、電子回路の1つまたは複数のレイヤにおける、構成要素の物理的な実現のための物理的な寸法を定義するジオメトリックなパラメータ化データと、構成要素の定義によって記述される構成要素のバージョンレベルとを記述し、同一の構成要素について定義する構成要素について少なくとも2つのバージョンレベルが、それらのそれぞれのジオメトリックなパラメータ化データによって定義される物理的な寸法が異なっており、当該命令が、開発モジュールを定義し、開発モジュールが、データ処理装置によって実行されると、データ処理装置に以下の動作を実行させ、当該動作が、デバイス設計を生成するステップを含み、デバイス設計が、デバイスメタデータを含み、デバイスメタデータが、ユーザ入力によって、デバイスに含まれる構成要素のセットと、各構成要素についてその構成要素のバージョンレベルと、構成要素のそれぞれについての、デバイスに含まれる構成要素のセットの回路接続を記述するネットワークリストと、デバイス設計についてのバージョンレベルとを記述し、デバイス設計についての各バージョンレベルが、ネットワークリスト、構成要素のセット、および構成要素のバージョンレベルの一意な組み合わせを定義し、当該動作が、デバイスに含まれるデバイス設計から構成要素のセットおよび構成要素の回路接続に基づいて回路レイアウトを生成するステップを含み、回路レイアウトを生成するステップが、そのバージョンレベルについて回路レイアウトを物理的に検証するステップを含む。本態様の他の実施形態は、方法のアクションを実施するように構成され、コンピュータ記憶デバイスにエンコードされる、対応するシステム、装置、およびコンピュータプログラムを含む。
本明細書において説明される主題の別の態様は、以下のアクションを含む方法において具現化され得、当該アクションは、データ記憶に記憶されるデバイス設計にアクセスするステップを含み、デバイス設計が、デバイスメタデータを含み、デバイスメタデータが、デバイスに含まれる構成要素のセットと、各構成要素についてその構成要素のバージョンレベルとを記述し、それぞれの構成要素が、構成要素の定義によって定義され、それぞれの構成要素の定義が、電子回路で使用するための構成要素を定義し、かつ構成要素メタデータを含み、構成要素メタデータが、構成要素の定義によって定義される構成要素の構成要素の種類と、電子回路の1つまたは複数のレイヤにおける、構成要素の物理的な実現のための物理的な寸法を定義するジオメトリックなパラメータ化データと、構成要素の定義によって記述される構成要素のバージョンレベルとを記述し、同一の構成要素を定義する構成要素について少なくとも2つのバージョンレベルが、それらのそれぞれのジオメトリックなパラメータ化データによって定義される物理的な寸法が異なっており、デバイスメタデータが、構成要素のそれぞれについてのデバイスに含まれる構成要素のセットの回路接続を記述するネットワークリストと、デバイス設計についてのバージョンレベルとを記述し、各バージョンレベルが、ネットワークリスト、構成要素のセット、および構成要素のバージョンレベルの一意な組み合わせを定義し、当該アクションは、構成要素の物理的な実現のための新しい物理的な寸法を定義する新しいジオメトリックなパラメータ化データを生成するために、構成要素の物理的な実現のための物理的な寸法を定義するジオメトリックなパラメータ化データを変更することによって、選択された構成要素を、ユーザ入力によって、修正するステップと、変更されたジオメトリックなパラメータ化データに基づいて、構成要素についての新しいバージョンレベルを生成するステップと、新しい構成要素の定義として、修正された構成要素メタデータを生成するステップと、デバイス設計について新しいバージョンレベルを生成するステップと、新しいバージョンレベルについて回路レイアウトを物理的に検証するステップとを含む。本態様の他の実施形態は、方法のアクションを実施するように構成され、コンピュータ記憶デバイスにエンコードされる、対応するシステム、装置、およびコンピュータプログラムを含む。
本明細書において記載される主題の特定の実施形態は以下の利点の1つまたは複数を実現するように実装され得る。大型システム設計内のディスクリート回路の構成要素設計へのバージョン制御の拡張は、ディスクリート回路の構成要素を組み込むデバイス設計の迅速な評価および分析を可能にする。換言すると、全体的なデバイス設計は使用される個別の構成要素の文脈においてはそれ自身変わらないが、ディスクリート回路の構成要素の物理的なパラメータを変更することによるデバイス設計への影響は、バージョンレベルにしたがって追跡することができる。これは、そうでなければ編集可能な構成要素の定義がない状態でそれぞれの個別の構成要素について実装することが必要となる労働集約的な設計変更の必要なく、特定の構成要素の種類について個別の構成要素レベルで変更を組み込む、バージョンに基づいた回路レイアウトの生成を可能にする。以下に説明するシステムおよび方法は、成分としての構成要素に基づくバージョン制御を実装する技術的な課題に対処するものである。これはまた、非常に小型でそのジオメトリが設計上のファクタとなるメソスコピックなスケールのサイズ(例えば、数ミクロンまたはそれ以下のオーダーの限界的な寸法を有する)に関連付けられる回路素子を実装するデバイスについての設計処理を簡略化する。そのような回路素子の例としては、磁束量子ビット、磁束結合インダクタ、くし型キャパシタ、共平面導波路共振器などが挙げられる。
さらに、システムおよび方法は、文書の同期は自動的であり、特別に設計された構成要素について手動でファイルを取り替えることに頼らないため、デバイス設計についての協力を合理化する。
本明細書で説明される主題の1つまたは複数の実施形態の詳細が添付の図面および以下の発明を実施するための形態において記載される。主題の他の特徴、態様、および利点は、発明を実施するための形態、図面、および特許請求の範囲から明らかになるであろう。
集積回路の設計システムが実装される例示的な環境のブロック図である。 構成要素の定義によって定義される例示的な平面キャパシタを描写している。 構成要素の定義によって定義される例示的な平面キャパシタを描写している。 構成要素の定義、および構成要素の定義を使用してデバイス設計を生成する、例示的な処理の流れ図である。
異なる図面において同様の符号および記号は、同様の要素を指す。
バージョン制御は、構成システムの構成要素がよく理解されよく定義されている、十分確立されたシステムで役立つ。そのような構成システムの構成要素の例としては、先に定義した集積回路素子、例えばMOSFET、抵抗器などが挙げられる。しかしながら、構成システムの構成要素がそれぞれ新しい設計を必要とするいくつかの設計については、バージョン制御システムは、構成システムの構成要素を組み込むデバイスに適切なバージョン制御を容易にしない。これは、構成システムの構成要素のそれぞれ根底にある設計変更は、それ自身デバイスの全体的な設計に影響することがあり、構成システムの構成要素レベルでバージョン制御を実装するための容易に利用可能な能力はないからである。
集積回路の設計システムは集積回路の設計、特にディスクリート回路の構成要素をそれぞれ定義する編集可能な構成要素の定義を使用する集積回路の設計のためのバージョン制御を容易にする。システムは、設計者にユニットとしての回路素子(例えば、キャパシタ板面積、fluxmon量子ビットトレース幅など)のジオメトリを修正することを許可し、回路素子について修正されたジオメトリは、回路素子を成分としての要素として組み込むデバイス設計において影響される回路素子すべてに渡って適用される。
したがって、デバイス設計におけるノードおよび素子の接続を記述するネットリストに加えて、システムはまた個別の素子の寸法ジオメトリのパラメータ化を組み込む。素子についてのパラメータがあるバージョンについて変更されると、システムは回路レイアウトを接続だけではなくジオメトリについても調整し、得られるマスクはそのジオメトリックな変位に基づく設計への全体的な空間的影響を考慮したものとなる。
これらの特徴およびさらなる特徴を以下でより詳細に説明する。
図1は、集積回路の設計システム110が実装される例示的な環境100のブロック図である。ローカルエリアネットワーク(LAN)、広域エリアネットワーク(WAN)、インターネット、またはそれらの組み合わせなどのコンピュータネットワーク102は、ユーザデバイス106を集積回路の設計システム110に接続する。各ユーザデバイス106はネットワーク102を介してリソースを要求および受信することができる電子デバイスであり、ユーザに設計システム110によって提供される機能を使用させるために設計システム110をインターフェースするアプリケーションを実行してもよい。ユーザデバイス106の例としては、パーソナルコンピュータ、パッドコンピュータなどが挙げられる。
設計システム110の例示的な実装形態としては、設計モジュール112および開発モジュール114が挙げられる。しかしモジュール112および114は一つの例示的なシステムアーキテクチャであり、説明されるものと異なるやり方で、以下で説明される処理を分散する他のアーキテクチャを使用することもできる。
設計モジュール112はディスクリート回路の構成要素を記述する構成要素の定義を作成、管理、および改版を可能にするプログラム素子である。構成要素の定義は構成要素の定義ライブラリ120に記憶される。この説明で使用される場合、構成要素は構成要素の定義によって定義されるディスクリート回路の構成要素であり、デバイスにおいては設計素子ユニットとして利用され得る。例えば、fluxmon量子ビット、平面キャパシタ、および導波路はそれぞれ構成要素の定義によって定義されるディスクリート回路の構成要素である。構成要素および構成要素の定義は以下でさらに詳細に説明する。
開発モジュール114はデバイスを設計するために開発者のグループにツールのセットおよびユーザインターフェースを提供するプログラム素子である。開発モジュールはデバイス設計ライブラリ130にデバイス設計を記憶する。デバイス設計は、構成要素の定義ライブラリ120に記憶される構成要素の定義から選択されるディスクリート回路の構成要素のセットであり、ネットワークリストはデバイス設計によって記述されるデバイスに含まれるディスクリート回路の構成要素のセットの回路接続を記述している。
デバイス設計において使用されるディスクリート回路の構成要素の修正は、その構成要素の定義を修正することによってなされ得る。例えば、特定のディスクリート回路の構成要素はデバイス設計の多くのセクションおよび多くの他のデバイス設計において共通に使用される特別に形状付けられた配線であってもよい。構成要素への変更、例えば、固定、強化は、変更が自動的にすべての設計に伝搬されるように構成要素の定義に記憶され、これらの共有される構成要素から導出される設計の信頼性を向上する。
開発モジュール114は、特徴を自動生成およびすべての設計に共通する検証のためのソフトウェアツールも含む。そのような検証としては、デザインルールチェック(DRC)、layout versus schematic チェック(LVS)、電気的ルールチェック(ERC)、アンテナチェック、および他の適当な物理的チェックが挙げられる。
動作させる際、ユーザは設計モジュール112に入力を与え、構成要素の定義を生成または修正する。それぞれの構成要素の定義は、電子回路で使用するためのディスクリート回路の構成要素を定義する。一実装形態において、構成要素の定義は、それぞれが構成要素の種類、ジオメトリ、およびバージョンを記述する構成要素メタデータを含むファイルとして記憶されてもよい。
特に、構成要素の定義によって定義されるディスクリート回路の構成要素の構成要素の種類は、構成要素が何であるかを記述し、例えば、キャパシタの種類、ゲートの種類、導波路の種類などである。これによって設計者が設計モジュール112の使用により、構成要素の定義ライブラリ120内で構成要素の定義を種類によって分類および組織化することが可能となる。
構成要素の定義はディスクリート回路の構成要素の物理的な実現のための物理的な寸法を定義するジオメトリックなパラメータ化データも含む。物理的な寸法は単一の平面に限定され得、または2つもしくはそれ以上のレイヤを介して分散される電子回路のための複数のレイヤを含み得る。ジオメトリックなパラメータ化データの例を、図2Aおよび図2Bを参照してより詳細に説明する。
ディスクリート回路の構成要素のバージョンレベルは構成要素の定義の設計のバージョンレベルを記述する。同一の構成要素の定義に対するそれぞれ異なるバージョンレベルは、物理的な寸法が異なっている個別の構成要素を記述し得る。例えば、図1に描写されるように、構成要素の定義122および124の2つのセットが示されている。第1のセット122は特定の構成要素C1の4つの異なるバージョンを定義している。第1のバージョンV1はC1_V1でラベル付けされている上段の文書によって表現されている。同様に、第2のセット124は特定の構成要素C2の3つの異なるバージョンを定義している。
構成要素の種類、パラメータ化データ、およびバージョンレベルだけが上の例で記述されているが、他の属性が構成要素の定義に含まれてもよい。そのような属性の例としては、接続点、例えば、パッドレイアウト、物質の仕様、例えば、金属の種類、およびディスクリート回路の構成要素を設計する際に使用され得るあらゆる他の適当な属性が挙げられる。特定の構成要素の定義における、これらの属性のあらゆるものに対する変更は、構成要素の定義の新しいバージョンとなる結果となり得る。
ユーザはまた開発モジュール114に入力を与え、デバイス設計を定義することができる。一実装形態において、デバイス設計は、ディスクリート回路の構成要素のセット、それらの内部接続を記述するネットワークリスト、およびバージョンレベルを記述するデバイスメタデータをそれぞれ含むファイルとして記憶されてもよい。
ディスクリート回路の構成要素のセットは、構成要素の定義ライブラリ120に記憶される構成要素の定義から選択される回路の構成要素を列挙している。ディスクリート回路の構成要素のセットは、デバイス設計によって記述されるデバイスに含まれる構成要素である。デバイス設計はそれぞれの構成要素のバージョンレベルも含む。
ネットワークリストは、デバイスに含まれるディスクリート回路の構成要素のセットの回路接続を記述するリストである。ネットワークリストはデバイス設計の特定の内部接続およびノードを記述する。
デバイス設計についてのバージョンレベルはネットワークリスト、ディスクリート回路の構成要素のセット、およびディスクリート回路の構成要素のバージョンレベルの一意の組み合わせを定義する。例えば、図1に描写されるように、デバイス設計132および134の2つのセットが示されている。第1のセット132は特定の設計D1の4つの異なるバージョンを定義している。第1のバージョンV1はD1_V1でラベル付けされている上段の文書によって表現されている。同様に、第2のセット134 V1は特定の設計D2の3つの異なるバージョンを定義している。
構成要素の定義と同様、他の適当な設計属性もやはりデバイス設計に記憶されてもよい。
動作させる際、開発モジュール114はデバイス設計から、ディスクリート回路の構成要素のセットに基づく回路レイアウト、およびデバイスに含まれるディスクリート回路の構成要素の回路接続を生成することができる。上述のように、回路レイアウトを生成することは、バージョンレベルについて回路レイアウトを物理的に検証することを含む。回路レイアウトは、デバイス設計によって定義される集積回路の構成要素を構成する金属、酸化物、または半導体レイヤの対応するパターンを定義する。集積回路が検証されると仮定すると、得られるデータは工業規格フォーマット、例えばファウンドリ処理のためのGraphic Database System II (GDSII)で記憶され得る。ファウンドリはデータを処理してデバイス製造のためのフォトマスク(または他のファウンドリ処理素子)を生成する。
開発モジュール114の使用によって、ユーザは現在の最良の状態(マスタ)または、デバイス設計ライブラリ130からのデバイス設計の以前の状態のスナップショットをチェックアウトし、その設計を修正することができる。そのようにしながら、デバイス設計の新しいブランチ、またはバージョンが作成される。複数のユーザが同時に特定のバージョンに関して作業することができる。
デバイスで使用される回路構成要素の数、位置、および接続を修正することに応じて、デバイス設計は変化することができる。しかしながら、デバイス設計は特定の回路の構成要素の定義の修正に応じて変化することもある。例えば、ユーザは、ディスクリート回路の構成要素の物理的な寸法を定義するジオメトリックなパラメータ化データを変更することによって、デバイス設計におけるディスクリート回路の構成要素の構成要素の定義のうちの1つについての構成要素メタデータを修正することができる。これは、ディスクリート回路の構成要素についての新しい物理的な寸法および新しいバージョンレベルを定義する、新しいジオメトリックなパラメータ化データの生成をもたらすことになる。構成要素の定義の変更は、単一のデバイス設計に対してローカルに適用されるか、あるいは代替えとして変更によって影響されるディスクリート回路の構成要素を組み込むすべてのデバイス設計に全体的に適用され得る。それぞれの影響されるデバイス設計について、デバイス設計についての新しいバージョンレベルが生成され、開発モジュールは新しいバージョンレベルについての回路レイアウトを物理的に検証することができる。
構成要素の定義に対する改版を、図2Aおよび図2Bを参照して説明するが、それらは構成要素の定義によって定義される例示的な平面キャパシタ200および220を描写している。図2Aはプレート202および204によって定義される平面内のキャパシタを描写している。キャパシタは導電性のトレースおよび非導電性のトレースによって定義される。例示的なジオメトリックなパラメータ化データは以下の形態のものであってもよい。
def inplane_capacitor(width, length, offset, wiring_layer):
draw_box(
-width/2,
-length/2,
width/2,
length/2,
wiring_layer) //draws plate one
draw_box(
-width/2 + offset,
-length/2+ offset,
width/2 + offset,
length/2 + offset,
wiring layer_layer) //draws plate two
参照までに、原点は(original point)各平面電極202および204の左下部の頂点にあるものとして描写される。設計者はキャパシタ200についての定義を使用することができるため、またシミュレーションまたはプロトタイプ試験のいずれかに基づいて、キャパシタンスを向上するために電極202と204の間に導電性のパッドが必要かどうかを判断することができる。得られるジオメトリが図2Bに描写され、対応するジオメトリックなパラメータ化データは以下の形態のものであってもよい。
def inplane_capacitor(width, length, offset, pad_width, pad_length, wiring_layer):
draw_box(
-width/2,
-length/2,
width/2,
length/2,
wiring_layer) //draws plate 1
//draw plate two, with extra pad:
draw_box(
-width/2 + offset,
-length/2+ offset,
width/2 + offset,
length/2 + offset,
wiring_layer)
draw_box(
-pad_width/2,
length/2,
pad_width/2,
length/2 + pad_length,
wiring_layer)
したがって、単純にジオメトリックなパラメータ化データを修正することによって、ユーザは単一または複数のデバイス設計で使用することができる既存の構成要素の定義の新しいバージョンを生成することができる。
図3は構成要素の定義、および構成要素の定義を使用してデバイス設計を生成する、例示的な処理300の流れ図である。処理300は図1の設計システム100で使用し、1つまたは複数のコンピュータに実装することができる。
処理300は構成要素の定義を生成し、それぞれの構成要素の定義は電子回路で使用するための構成要素を定義し、構成要素の種類、ジオメトリックなパラメータ化、およびバージョン番号を記述する構成要素メタデータを含む(302)。それぞれの構成要素はディスクリート回路の構成要素である。電子回路の1つまたは複数のレイヤにおいて、ジオメトリックなパラメータ化データはディスクリート回路の構成要素の物理的な実現のための物理的な寸法を定義する。
処理300は構成要素のセット、それぞれの構成要素についてのバージョンレベル、ネットワークリスト、およびデバイス設計についてのバージョンレベルを記述するメタデータを含むデバイス設計を生成する(304)。ディスクリート回路の構成要素のセットは、構成要素の定義ライブラリ120に記憶される構成要素の定義から選択される。デバイス設計はそれぞれの構成要素についてのバージョンレベルを含む。ネットワークリストは、デバイスに含まれるディスクリート回路の構成要素のセットの回路接続を記述する。デバイス設計のバージョンレベルはネットワークリスト、ディスクリート回路の構成要素のセット、およびディスクリート回路の構成要素のバージョンレベルの一意の組み合わせを定義する。
処理300はデバイス設計から、構成要素のセットに基づく回路レイアウト、およびデバイスに含まれる構成要素の回路接続を生成する(306)。生成はデバイス設計の検証を含む。
処理300はデバイス設計の構成要素のうちの1つを選択する(308)。例えば、ユーザはデバイス設計で使用される構成要素のうちの1つを選択し、構成要素のジオメトリックな形状を変更することができる。
処理300は選択された構成要素の構成要素メタデータを修正し、新しい構成要素の定義を生成する(310)。例えば、図2に示すように、ユーザはジオメトリックなパラメータ化データを修正することにより、導電性のパッドを平面内のキャパシタの電極間に追加することができる。処理300はデバイス設計についての新しいバージョンレベルを生成し、新しいバージョンレベルについての回路レイアウトを物理的に検証することができる(312)。
本明細書において説明される主題の実施形態および動作は、本明細書において開示される構造およびその構造的な等価物を含む、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェア、あるいはそれらのうちの1つまたは複数の組み合わせにおいて実装することができる。本明細書において説明される主題の実施形態は1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のため、またはデータ処理装置の動作を制御するために、コンピュータ記憶媒体上にエンコードされたコンピュータプログラム命令の1つまたは複数のモジュール、として実装することができる。
コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスのメモリアレイもしくはデバイス、またはそれらのうちの1つもしくは複数の組み合わせであってもよいか、あるいはそれに含まれてもよい。さらには、コンピュータ記憶媒体が伝搬される信号ではない一方で、コンピュータ記憶媒体は人工的に生成された伝搬信号にエンコードされるコンピュータプログラム命令の送信元または送信先となり得る。コンピュータ記憶媒体はまた、1つまたは複数の別個の物理的な構成要素または媒体(例えば、複数のCD、ディスク、または他の記憶デバイス)であってもよく、またはそれに含まれてもよい。
本明細書で説明される動作は、データ処理装置により、1つまたは複数のコンピュータ可読記憶デバイスに記憶されるデータ、または他のソースから受信されるデータに対して実施される動作として実装され得る。
用語「データ処理装置」は、装置、デバイス、およびデータを処理するための機械のすべての種類を包含し、例としてプログラム可能プロセッサ、コンピュータ、システムオンチップ、または前述のうちの複数もしくは前述のものの組み合わせを含む。装置は特殊目的論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置はまた、ハードウェアに加えて、対象のコンピュータプログラムのための実行環境を作成するコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームのランタイム環境、仮想マシン、またはそれらのうちの1つもしくは複数の組み合わせを構成するコードを含んでもよい。装置および実行環境は、ウェブサービス、分散コンピューティング、およびグリッドコンピューティングインフラストラクチャなどの様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイラ型またはインタプリタ型言語、宣言型または手続き型言語を含むあらゆる形態のプログラム言語で記述することができ、スタンドアロンプログラムとして、またはモジュールとして、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境での使用に好適な他の単位を含むあらゆる形態として展開することができる。コンピュータプログラムは、ファイルシステム内のファイルに対応することができるが、必ずしもそうである必要はない。プログラムは、他のプログラムまたはデータを保有するファイルの一部(例えば、マークアップ言語文書に記憶された1つまたは複数のスクリプト)に、対象のプログラム専用の単一のファイルに、または複数のコーディネートされたファイル(例えば、1つもしくは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル)に記憶することができる。コンピュータプログラムは、一か所に置かれる、または複数の場所にまたがって分散される1つのコンピュータまたは複数のコンピュータ上で実行されるように展開され、通信ネットワークで相互接続することができる。
本明細書に記載される処理および論理フローは、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能なプロセッサによって実施し、入力データを演算して出力を生成することによってアクションを実施することができる。処理およびロジックの流れはまた、特殊目的論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実施され得、また装置も特殊目的論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)として実装されてもよい。
コンピュータプログラムの実行のために好適なプロセッサは、例として、汎用および特殊目的のマイクロプロセッサの両方、およびあらゆる種類のデジタルコンピュータの1つまたは複数のあらゆるプロセッサを含む。一般的に、プロセッサは読み取り専用メモリもしくはランダムアクセスメモリ、または両方から、命令およびデータを受信する。コンピュータの必須の要素は、命令にしたがってアクションを実施するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般的に、コンピュータはまたデータを記憶するために、例えば、磁気的、磁気光学的ディスク、または光学ディスクなど、1つもしくは複数の大容量記憶デバイスを含み、または1つもしくは複数の大容量記憶デバイスからデータを受信するため、または1つもしくは複数の大容量記憶デバイスにデータを送信するため、またはその両方のために、動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。
コンピュータプログラム命令およびデータを記憶するために好適なデバイスは、例として半導体メモリデバイス、例えばEPROM、EEPROMおよびフラッシュメモリデバイス、磁気ディスク、例えば内部ハードディスクまたは取り外し可能ディスク、磁気光学的ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、非揮発性のメモリ、媒体、およびメモリデバイスのすべての形態を含む。プロセッサおよびメモリは、特殊目的論理回路によって補うことができ、または特殊目的論理回路に組み込むことができる。
ユーザとの対話を提供するために、本明細書に記載の主題の実施形態は、ユーザに情報を表示するための、例えばCRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタなどのディスプレイデバイス、キーボード、および例えばマウスまたはトラックボールなどのポインティングデバイスを有するコンピュータ上に実装することができ、それによってユーザはコンピュータに入力を与えることができる。同様に他の種類のデバイスを、ユーザとの対話を提供するために使用することができる。例えば、ユーザに提供されるフィードバックはあらゆる形態の感覚的なフィードバック、例えば視覚的なフィードバック、聴覚的なフィードバック、または触覚的なフィードバックであってよく、ユーザからの入力は、音響、発話または触覚的な入力を含む、あらゆる形態で受信することができる。加えて、コンピュータは、例えばウェブブラウザから受信した要求に応答して、ユーザのユーザデバイスのウェブブラウザにウェブページを送信することによって、ユーザによって使用されるデバイスに文書を送信すること、およびそのデバイスから文書を受信することによって、ユーザと対話することができる。
本明細書において説明される主題の実施形態は、例えばデータサーバとしてバックエンド構成要素を含むコンピューティングシステム、またはミドルウェア構成要素、例えば、アプリケーションサーバを含むコンピューティングシステム、またはフロントエンド構成要素、例えば、グラフィカルユーザーインターフェース、もしくはそれを通じてユーザが本明細書において説明される主題の実装形態と対話することができるウェブブラウザを有するユーザコンピュータを含むコンピューティングシステム、または1つもしくは複数のそのようなバックエンド、ミドルウェア、もしくはフロントエンド構成要素のあらゆる組み合わせ、に実装することができる。システムの構成要素は、デジタルデータ通信のあらゆる形態または媒体、例えば通信ネットワークによって、内部接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)および広域エリアネットワーク(「WAN」)、インターネットワーク(例えば、インターネット)、およびピアツーピアネットワーク(例えば、アドホックピアツーピアネットワーク)が挙げられる。
コンピューティングシステムは、ユーザおよびサーバを含むことができる。ユーザおよびサーバは一般的に、互いに離れており、典型的には通信ネットワークを介して対話する。ユーザとサーバの関係は、それぞれのコンピュータ上で実行しており、互いのユーザ-サーバ関係を有しているコンピュータプログラムのおかげで成立する。いくつかの実施形態において、サーバはデータ(例えば、HTMLページ)をユーザデバイスに送信する(例えば、ユーザデバイスと対話しているユーザにデータを表示する目的のため、およびユーザデバイスと対話しているユーザからユーザ入力を受信する目的のため)。ユーザデバイスにおいて生成されたデータ(例えば、ユーザ対話の結果)は、サーバにおいてユーザデバイスから受信することができる。
本明細書は多くの具体的な実装形態の詳細を含む一方で、これらはあらゆる特徴の範囲または特許請求され得る範囲に対する限定と解釈されるべきではなく、特定の実施形態に特異的である特徴の説明と解釈されるべきである。別個の実施形態の文脈において本明細書で説明される特定の特徴は、単一の実施形態において組み合わせとして実装されてもよい。逆に、単一の実施形態の文脈において説明される様々な特徴はまた、別個にまたはあらゆる好適なサブ組み合わせで複数の実施形態に実装されてもよい。さらに、特徴はある組み合わせにおいて振る舞うとして上述され得、また初めにそのようなものとして特許請求されさえもするが、特許請求される組み合わせからの1つまたは複数の特徴は、いくつかの場合、その組み合わせから切り出され得、特許請求される組み合わせはサブ組み合わせまたはサブ組み合わせの変形を対象とすることができる。
同様に、動作は特定の順序で図面に描写されるが、これは所望の結果を達成するために、そのような動作が示される特定の順序もしくは順次に実施されること、またはすべての例示される動作が実施されること、を要求するものとして理解されるべきではない。ある状況においては、マルチタスクおよび並列処理が有利であり得る。さらに、上述の実施形態における様々なシステムの構成要素の分離は、すべての実施形態においてそのような分離を要求するものとして理解されるべきではなく、記載されるプログラム構成要素およびシステムは全体的に単一のソフトウェア製品に一体化すること、または複数のソフトウェア製品にパッケージングすることができることが理解されるべきである。
したがって、主題の特定の実施形態が説明されてきた。他の実施形態が以下の特許請求の範囲の範囲内にある。いくつかの場合、特許請求の範囲に列挙されるアクションを異なる順で実施することができるが、なお所望の結果を達成することができる。加えて、添付の図面において描写される処理は、所望の結果を達成するために、必ずしも示される特定の順序、または順次の順序を要求しない。いくつかの実装形態においては、マルチタスクおよび並列処理が有利であり得る。
102 ネットワーク
106 ユーザデバイス
110 集積回路の設計システム
112 設計モジュール
114 開発モジュール
120 構成要素の定義ライブラリ
122 構成要素の定義の第1のセット
124 構成要素の定義の第2のセット
130 デバイス設計ライブラリ
132 デバイス設計の第1のセット
134 デバイス設計の第2のセット
200 平面キャパシタ
202 プレート、平面電極
204 プレート、平面電極
220 平面キャパシタ

Claims (12)

  1. コンピュータで実行される方法であって、
    データストアに記憶されたデバイス設計をアクセスするステップであって、前記デバイス設計が、
    デバイスに含まれる構成要素のセット、および各構成要素についての前記構成要素のバージョンレベルであって、
    各構成要素が、構成要素の定義によって定義され、各構成要素の定義が、電子回路における使用のための前記構成要素を定義するとともに、前記構成要素の定義によって定義された前記構成要素の構成要素の種類を記述する構成要素メタデータ、電子回路の1つまたは複数のレイヤにおける前記構成要素の物理的な実現の物理的な寸法を定義するジオメトリックなパラメータ化データ、および前記構成要素の定義によって記述された前記構成要素のバージョンレベルを含み、同一の構成要素を定義する構成要素についての少なくとも2つのバージョンレベルが、それぞれのジオメトリックなパラメータ化データによって定義される前記物理的な寸法で異なる、
    デバイスに含まれる構成要素のセット、および各構成要素についての前記構成要素のバージョンレベル、
    前記構成要素の各々について、前記デバイスに含まれる前記構成要素のセットの回路接続を記述するネットワークリスト、および、
    前記デバイス設計についてのバージョンレベルであって、
    各バージョンレベルが、ネットワークリスト、構成要素のセット、および前記構成要素のバージョンレベルの一意の組み合わせを定義する、
    前記デバイス設計についてのバージョンレベルを記述する、
    デバイスメタデータを含む、ステップと、
    前記構成要素の前記物理的な実現の物理的な寸法を定義する前記ジオメトリックなパラメータ化データを変更して、前記構成要素の物理的な実現の新しい物理的な寸法を定義する新しいジオメトリックなパラメータ化データを生成すること、および前記変更されたジオメトリックなパラメータ化データに基づいて、前記構成要素ついての新しいバージョンレベルを生成することによって、選択された構成要素をユーザ入力によって修正するステップと、
    新しい構成要素の定義として、前記修正された構成要素メタデータを生成するステップと、
    前記デバイス設計についての新しいバージョンレベルを生成するとともに、前記新しいバージョンレベルについての回路レイアウトを物理的に検証するステップとを含む、
    方法。
  2. 前記パラメータ化データが、1つまたは複数のレイヤのそれぞれの各レイヤについて、構成要素の各回路素子についての素子ジオメトリを定義する、
    請求項1に記載の方法。
  3. 前記回路素子が、導電性のトレースと、トレース間の非導電性のギャップとを含む、
    請求項2に記載の方法。
  4. 前記パラメータ化データが、1つまたは複数のレイヤのそれぞれの各レイヤについて、構成要素の各回路素子における互いの素子ジオメトリの配置をさらに定義する、
    請求項2に記載の方法。
  5. 1つまたは複数のプロセッサを含むデータ処理装置と、
    前記データ処理装置とデータ通信を行いかつ以下の動作を定義する命令を記憶するコンピュータ可読記憶媒体とを備えた、
    システムであって、前記動作が、
    データストアに記憶されたデバイス設計にアクセスするステップであって、前記デバイス設計が、
    デバイスに含まれる構成要素のセット、および各構成要素についての前記構成要素のバージョンレベルであって、
    各構成要素が、構成要素の定義によって定義され、各構成要素の定義が、電子回路における使用のための前記構成要素を定義するとともに、前記構成要素の定義によって定義された前記構成要素の構成要素の種類を記述する構成要素メタデータ、電子回路の1つまたは複数のレイヤにおける前記構成要素の物理的な実現の物理的な寸法を定義するジオメトリックなパラメータ化データ、および前記構成要素の定義によって記述された前記構成要素のバージョンレベルを含み、同一の構成要素を定義する構成要素についての少なくとも2つのバージョンレベルが、それぞれのジオメトリックなパラメータ化データによって定義される前記物理的な寸法で異なる、
    デバイスに含まれる構成要素のセット、および各構成要素についての前記構成要素のバージョンレベル、
    前記構成要素の各々について、前記デバイスに含まれる前記構成要素のセットの回路接続を記述するネットワークリスト、および、
    前記デバイス設計についてのバージョンレベルであって、
    各バージョンレベルが、ネットワークリスト、構成要素のセット、および前記構成要素のバージョンレベルの一意の組み合わせを定義する、
    前記デバイス設計についてのバージョンレベルを記述する、
    デバイスメタデータを含む、ステップと、
    前記構成要素の前記物理的な実現の物理的な寸法を定義する前記ジオメトリックなパラメータ化データを変更して、前記構成要素の物理的な実現の新しい物理的な寸法を定義する新しいジオメトリックなパラメータ化データを生成すること、および前記変更されたジオメトリックなパラメータ化データに基づいて、前記構成要素ついての新しいバージョンレベルを生成することによって、選択された構成要素をユーザ入力によって修正するステップと、
    新しい構成要素の定義として、前記修正された構成要素メタデータを生成するステップと、
    前記デバイス設計についての新しいバージョンレベルを生成するとともに、前記新しいバージョンレベルについての回路レイアウトを物理的に検証するステップとを含む、
    システム。
  6. 前記パラメータ化データが、1つまたは複数のレイヤのそれぞれの各レイヤについて、構成要素の各回路素子についての素子ジオメトリを定義する、
    請求項5に記載のシステム。
  7. 前記回路素子が、導電性のトレースと、トレース間の非導電性のギャップとを含む、
    請求項6に記載のシステム。
  8. 前記パラメータ化データが、1つまたは複数のレイヤのそれぞれの各レイヤについて、構成要素の各回路素子における互いの素子ジオメトリの配置をさらに定義する、
    請求項6に記載のシステム。
  9. データ処理装置によって実行可能でありかつ前記データ処理装置に以下の動作を実行させるための命令を記憶するコンピュータ可読記憶媒体であって、前記動作が、
    データストアに記憶されたデバイス設計にアクセスするステップであって、前記デバイス設計が、
    デバイスに含まれる構成要素のセット、および各構成要素についての前記構成要素のバージョンレベルであって、
    各構成要素が、構成要素の定義によって定義され、各構成要素の定義が、電子回路における使用のための前記構成要素を定義するとともに、前記構成要素の定義によって定義された前記構成要素の構成要素の種類を記述する構成要素メタデータ、電子回路の1つまたは複数のレイヤにおける前記構成要素の物理的な実現の物理的な寸法を定義するジオメトリックなパラメータ化データ、および前記構成要素の定義によって記述された前記構成要素のバージョンレベルを含み、同一の構成要素を定義する構成要素についての少なくとも2つのバージョンレベルが、それぞれのジオメトリックなパラメータ化データによって定義される前記物理的な寸法で異なる、
    デバイスに含まれる構成要素のセット、および各構成要素についての前記構成要素のバージョンレベル、
    前記構成要素の各々について、前記デバイスに含まれる前記構成要素のセットの回路接続を記述するネットワークリスト、および、
    前記デバイス設計についてのバージョンレベルであって、
    各バージョンレベルが、ネットワークリスト、構成要素のセット、および前記構成要素のバージョンレベルの一意の組み合わせを定義する、
    前記デバイス設計についてのバージョンレベルを記述する、
    デバイスメタデータを含む、ステップと、
    前記構成要素の前記物理的な実現の物理的な寸法を定義する前記ジオメトリックなパラメータ化データを変更して、前記構成要素の物理的な実現の新しい物理的な寸法を定義する新しいジオメトリックなパラメータ化データを生成すること、および前記変更されたジオメトリックなパラメータ化データに基づいて、前記構成要素ついての新しいバージョンレベルを生成することによって、選択された構成要素をユーザ入力によって修正するステップと、
    新しい構成要素の定義として、前記修正された構成要素メタデータを生成するステップと、
    前記デバイス設計についての新しいバージョンレベルを生成するとともに、前記新しいバージョンレベルについての回路レイアウトを物理的に検証するステップとを含む、
    コンピュータ可読記憶媒体。
  10. 前記パラメータ化データが、1つまたは複数のレイヤのそれぞれの各レイヤについて、構成要素の各回路素子についての素子ジオメトリを定義する、
    請求項9に記載のコンピュータ可読記憶媒体。
  11. 前記回路素子が、導電性のトレースと、トレース間の非導電性のギャップとを含む、
    請求項10に記載のコンピュータ可読記憶媒体。
  12. 前記パラメータ化データが、1つまたは複数のレイヤのそれぞれの各レイヤについて、構成要素の各回路素子における互いの素子ジオメトリの配置をさらに定義する、
    請求項10に記載のコンピュータ可読記憶媒体。
JP2020158351A 2016-12-23 2020-09-23 集積回路の設計システムおよび方法 Active JP6968245B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020158351A JP6968245B2 (ja) 2016-12-23 2020-09-23 集積回路の設計システムおよび方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019534102A JP6768961B2 (ja) 2016-12-23 2016-12-23 集積回路の設計システムおよび方法
JP2020158351A JP6968245B2 (ja) 2016-12-23 2020-09-23 集積回路の設計システムおよび方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019534102A Division JP6768961B2 (ja) 2016-12-23 2016-12-23 集積回路の設計システムおよび方法

Publications (2)

Publication Number Publication Date
JP2021007025A JP2021007025A (ja) 2021-01-21
JP6968245B2 true JP6968245B2 (ja) 2021-11-17

Family

ID=74174545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020158351A Active JP6968245B2 (ja) 2016-12-23 2020-09-23 集積回路の設計システムおよび方法

Country Status (1)

Country Link
JP (1) JP6968245B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07262254A (ja) * 1994-03-18 1995-10-13 Fujitsu Ltd 半導体集積回路の設計支援装置
JP3770724B2 (ja) * 1998-02-09 2006-04-26 株式会社リコー 半導体集積回路装置のマスクパターン検証装置
JP2003036280A (ja) * 2001-07-23 2003-02-07 Hitachi Ltd 設計用データライブラリ、半導体集積回路の設計方法、及び半導体集積回路の製造方法
JP4087629B2 (ja) * 2002-03-26 2008-05-21 株式会社ルネサステクノロジ レイアウト設計方法及びデータライブラリの提供方法
JP2008217651A (ja) * 2007-03-07 2008-09-18 Fujitsu Ltd 設計支援装置、設計支援方法、およびプログラム
US9092586B1 (en) * 2014-05-30 2015-07-28 Cadence Design Systems, Inc. Version management mechanism for fluid guard ring PCells

Also Published As

Publication number Publication date
JP2021007025A (ja) 2021-01-21

Similar Documents

Publication Publication Date Title
US9916411B2 (en) Negative plane usage with a virtual hierarchical layer
Zheng et al. Multidisciplinary interface model for design of mechatronic systems
US8516399B2 (en) Collaborative environment for physical verification of microdevice designs
US20240126970A1 (en) Integrated circuit design system and method
CN105426567B (zh) 增量式布局分析
Arndt et al. The deal. II library, version 9.5
US9898567B2 (en) Automatic layout modification tool with non-uniform grids
US8539406B2 (en) Equivalence checking for retimed electronic circuit designs
Aquino et al. Conceptual modelling of interaction
US8677300B2 (en) Canonical signature generation for layout design data
US9262574B2 (en) Voltage-related analysis of layout design data
US11836425B2 (en) Engineering change orders with consideration of adversely affected constraints
JP6968245B2 (ja) 集積回路の設計システムおよび方法
US20130318487A1 (en) Programmable Circuit Characteristics Analysis
WO2023287795A1 (en) Artificial intelligence approach to solving industrial data transformation problems
US20130132917A1 (en) Pattern Matching Hints
US20230297482A1 (en) Managing artifact information relating to a physical system, for example improving traceability of re-baselined engineering-related information, method and system
US20240111922A1 (en) System and method for managing simulation artifacts
US11972192B2 (en) Superseding design rule check (DRC) rules in a DRC-correct interactive router
Okuda et al. Experimental development based on mapping rule between requirements analysis model and web framework specific design model
US20230252208A1 (en) Transforming a logical netlist into a hierarchical parasitic netlist
US10789409B2 (en) Parasitic extraction using topological shape descriptors
Durisic Measuring the evolution of meta-models, models and design requirements to facilitate architectural updates in large software systems
CN116187253A (zh) 使用图案匹配的布局与原理图比对(lvs)器件提取
Sun et al. Component oriented and automatic generation of FE models for parallel kinematics

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201021

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201021

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210908

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210927

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211026

R150 Certificate of patent or registration of utility model

Ref document number: 6968245

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150