(57)【要約】  高レベル論理記述は、非プリミティブベースの標準セルライブラリに基づいて作成される。論理記述は、非プリミティブベース標準セルライブラリへの参照を含むネットリストに合成される。ネットリスト内の各標準セルにつての論理関数が決定され、プリミティブ論理セルのセットにマッピングされて、各参照標準セルのプリミティブ構築バージョンを作成する。プリミティブ論理セルのセットがベースアレイ内での集積用に定義される。各参照標準セルのプリミティブ構築バージョンがプリミティブベースセルライブラリ内に含められる。プリミティブベースセルライブラリを用いて、ベースアレイ内での集積用の論理設計に対してのネットリストを配置し配線する。次いで、ベースアレイ内で論理設計が集積される。
2008547135.tif 000002
【特許請求の範囲】
【請求項１】
論理設計をベースアレイ上に並置される集積回路に変換するための方法であって、
（ａ）標準セルライブラリを用いて前記論理設計に対してのネットリストを生成する段階と、
（ｂ）前記ネットリスト内で標準セルについての論理関数を識別する段階と、
（ｃ）前記標準セルの論理関数を複製するのに必要な１つ又はそれ以上のプリミティブ論理セルを識別する段階と、
（ｄ）前記識別した１つ又はそれ以上のプリミティブ論理セルを用いて、前記ベースアレイ上に並置される前記標準セルのプリミティブベースバージョンを構築する段階と、
を含む方法。
【請求項２】
前記ネットリスト内の各固有の標準セルに対して前記動作（ｂ）、（ｃ）、及び（ｄ）を実施する段階を更に含む、
論理設計をベースアレイ上に並置される集積回路に変換するための請求項１に記載の方法。
【請求項３】
前記ネットリスト内の各固有の標準セルに対して前記動作（ｄ）で構築された前記標準セルのプリミティブベースバージョンを含むようにプリミティブベースセルライブラリを作成する段階を更に含む、
論理設計をベースアレイ上に並置される集積回路に変換するための請求項２に記載の方法。
【請求項４】
前記プリミティブベースセルライブラリ内の前記標準セルのプリミティブベースバージョンを配置して配線し、前記ベースアレイ上に並置される前記集積回路を定義する段階を更に含む、
論理設計をベースアレイ上に並置される集積回路に変換するための請求項３に記載の方法。
【請求項５】
前記動作（ｄ）は、
前記標準セルのプリミティブベースバージョンの電気的性能を解析して、前記標準セルの電気的性能の複製を検証する段階と、
前記標準セルのプリミティブベースバージョンのセルレベルレイアウトを実施して、前記ベースアレイ上で前記標準セルのプリミティブベースバージョンによって占有される区域を決定する段階と、
を含む、
論理設計をベースアレイ上に並置される集積回路に変換するための請求項１に記載の方法。
【請求項６】
前記プリミティブ論理セルは、前記ベースアレイのデバイス特性に基づいて定義される、
ことを特徴とする、論理設計をベースアレイ上に並置される集積回路に変換するための請求項１に記載の方法。
【請求項７】
前記プリミティブ論理セルがプリミティブライブラリ内に保持され、該プリミティブライブラリは、前記標準セルのプリミティブベースバージョンを構築する際に用いるために各プリミティブ論理セルの変形を含む、
ことを特徴とする、論理設計をベースアレイ上に並置される集積回路に変換するための請求項１に記載の方法。
【請求項８】
前記動作（ｄ）が、
前記標準セルのプリミティブベースバージョンの電気的性能を解析して、ユーザ指定の電気的性能要件に対する準拠を検証する段階を含む、
ことを特徴とする、論理設計をベースアレイ上に並置される集積回路に変換するための請求項１に記載の方法。
【請求項９】
論理設計をベースアレイ上に並置される集積回路に変換するための方法であって、
標準セルライブラリの標準セル及び前記論理設計によって定義される接続関係を利用して、前記論理設計のネットリストを生成する段階と、
前記ネットリスト内で用いられる前記標準セルの各々の論理関数を識別し、該論理関数が、前記ネットリスト内で用いられる標準セルの各々のプリミティブ構築バージョンを作成するのに必要なプリミティブ論理セルを識別するために検査される段階と、
前記ネットリスト内で用いられる前記標準セルの各々のプリミティブ構築バージョンを含むプリミティブベースセルライブラリを作成する段階と、
前記プリミティブベースセルライブラリを用いて前記ベースアレイ上への集積のために前記論理設計を定義する段階と、
を含む方法。
【請求項１０】
前記プリミティブ論理セルがプリミティブライブラリ内に保持され、各プリミティブ論理セルが前記ベースアレイのデバイス特性に基づいて定義される、
ことを特徴とする、論理設計をベースアレイ上に並置される集積回路に変換するための請求項９に記載の方法。
【請求項１１】
前記識別したプリミティブ論理セルを用いることによって前記ネットリスト内で用いられる前記標準セルの各々のプリミティブ構築バージョンを作成する段階を更に含み、
前記作成段階が、前記標準セルの各々のプリミティブ構築バージョンの電気的性能を解析して、前記標準セルライブラリのそれぞれの標準セルの電気的性能の複製を検証する段階と、前記標準セルの各々のプリミティブ構築バージョンのセルレベルレイアウトを実施する段階とを含む、
ことを特徴とする、論理設計をベースアレイ上に並置される集積回路に変換するための請求項９に記載の方法。
【請求項１２】
前記識別したプリミティブ論理セルを用いることによって前記ネットリスト内で用いられる前記標準セルの各々のプリミティブ構築バージョンを作成する段階を更に含み、
前記作成段階が、前記標準セルの各々のプリミティブ構築バージョンの電気的性能を解析して、ユーザ指定の電気的性能要件に対する準拠を検証する段階と、前記標準セルの各々のプリミティブ構築バージョンのセルレベルレイアウトを実施する段階とを含む、
ことを特徴とする、論理設計をベースアレイ上に並置される集積回路に変換するための請求項９に記載の方法。
【請求項１３】
ネットリストによって定義される論理をベースアレイ上に集積するのに用いることができる標準セルのプリミティブ構築バージョンを作成するための方法であって、該方法が、
前記ネットリスト内で標準セルを識別する段階と、
前記識別した標準セルの論理関数を決定する段階と、
前記識別した標準セルの決定された論理関数を、前記ベースアレイのデバイス特性に基づいて定義されるプリミティブ論理セルのセットにマッピングして、前記識別した標準セルのプリミティブ構築バージョンを作成する段階と、
セルライブラリ内に前記識別した標準セルのプリミティブ構築バージョンを含める段階と、
を含む方法。
【請求項１４】
前記識別した標準セルのプリミティブ構築バージョンの電気的性能を解析する段階と、
必要に応じて前記識別した標準セルのプリミティブ構築バージョンを修正し、前記識別した標準セルのプリミティブ構築バージョンの電気的性能と、前記識別した標準セルの電気的性能との間の等価性を得るようにする段階と、
前記識別した標準セルのプリミティブ構築バージョンのセルレベルレイアウトを作成する段階と、
を更に含む、
ネットリストによって定義される論理をベースアレイ上に集積するのに用いることができる標準セルのプリミティブ構築バージョンを作成するための請求項１３に記載の方法。
【請求項１５】
前記識別した標準セルのプリミティブ構築バージョンの電気的性能を解析する段階と、
必要に応じて前記識別した標準セルのプリミティブ構築バージョンを修正し、ユーザ指定の電気的性能要件に準拠するようにする段階と、
前記識別した標準セルのプリミティブ構築バージョンのセルレベルレイアウトを作成する段階と、
を更に含む、
ネットリストによって定義される論理をベースアレイ上に集積するのに用いることができる標準セルのプリミティブ構築バージョンを作成するための請求項１３に記載の方法。
【請求項１６】
前記ネットリストが、標準セルライブラリで利用可能な標準セルに基づいて作成されるシステムの合成高レベル論理記述を表す、
ことを特徴とする、
ネットリストによって定義される論理をベースアレイ上に集積するのに用いることができる標準セルのプリミティブ構築バージョンを作成するための請求項１３に記載の方法。
【請求項１７】
前記プリミティブ論理セルのセットが、標準セルライブラリ内の各標準セルのプリミティブ構築バージョンを作成するのに必要な最小数のプリミティブ論理セルを含むように定義される、
ことを特徴とする、
ネットリストによって定義される論理をベースアレイ上に集積するのに用いることができる標準セルのプリミティブ構築バージョンを作成するための請求項１３に記載の方法。
【請求項１８】
前記ベースアレイが複数のサブアレイを含み、各サブアレイはそのデバイス特性によって区別され、前記プリミティブ論理セルのセットは各プリミティブ論理セルの複数のバージョンを含み、各プリミティブ論理セルの各バージョンがそれぞれのサブアレイに対応する、
ことを特徴とする、
ネットリストによって定義される論理をベースアレイ上に集積するのに用いることができる標準セルのプリミティブ構築バージョンを作成するための請求項１３に記載の方法。
【請求項１９】
標準セルライブラリをプリミティブベースセルライブラリに変換するための方法であって、
（ａ）前記標準セルライブラリ内の標準セルについての論理関数を識別する段階と、
（ｂ）前記標準セルの論理関数を複製するのに必要な１つ又はそれ以上のプリミティブ論理セルを識別する段階と、
（ｃ）前記識別した１つ又はそれ以上のプリミティブ論理セルを用いて、ベースアレイ上に集積することが可能な前記標準セルのプリミティブベースバージョンを構築する段階と、
を含む方法。
【請求項２０】
前記標準セルライブラリ内の各標準セルに対して動作（ａ）、（ｂ）、及び（ｃ）を実施する段階を更に含む、
標準セルライブラリをプリミティブベースセルライブラリに変換するための請求項１９に記載の方法。
【請求項２１】
前記標準セルライブラリ内の各標準セルに対して構築した前記標準セルのプリミティブベースバージョンを含むようにプリミティブベースセルライブラリを作成する段階を更に含む、
標準セルライブラリをプリミティブベースセルライブラリに変換するための請求項２０に記載の方法。
【請求項２２】
前記動作（ｃ）が、
前記標準セルのプリミティブベースバージョンの電気的性能を解析して、前記標準セルライブラリにおいて報告される前記標準セルの電気的性能の複製を検証する段階と、
前記標準セルのプリミティブベースバージョンのセルレベルレイアウトを実施して、前記ベースアレイ上に集積するときに前記標準セルのプリミティブベースバージョンにより占有される区域を決定する段階と、
を含む、
標準セルライブラリをプリミティブベースセルライブラリに変換するための請求項１９に記載の方法。
【請求項２３】
前記動作（ｃ）が、
前記標準セルのプリミティブベースバージョンの電気的性能を解析して、ユーザ指定の電気的性能要件に対する準拠を検証する段階と、
前記標準セルのプリミティブベースバージョンのセルレベルレイアウトを実施して、前記ベースアレイ上に集積するときに前記標準セルのプリミティブベースバージョンにより占有される区域を決定する段階と、
を含む、
標準セルライブラリをプリミティブベースセルライブラリに変換するための請求項１９に記載の方法。
【請求項２４】
前記１つ又はそれ以上のプリミティブ論理セルがプリミティブ論理セルのセット内で識別され、前記プリミティブ論理セルのセットが、前記標準セルライブラリ内の各標準セルのプリミティブベースバージョンを構築するのに必要な最小数のプリミティブ論理セルを含むように定義される、
ことを特徴とする、
標準セルライブラリをプリミティブベースセルライブラリに変換するための請求項１９に記載の方法。
【請求項２５】
ユーザ定義セルを作成するための方法であって、
ベースアレイ上での集積のために定義されるプリミティブ論理セルからユーザ定義セルを構築する段階と、
前記ユーザ定義セルの電気的性能を解析する段階と、
前記ユーザ定義セルのセルレベルレイアウトを作成し、前記ベースアレイ上に集積するときに前記ユーザ定義セルが占有すべき区域を決定する段階と、
前記構築したユーザ定義セルの記述、前記ユーザ定義セルの解析した電気的性能、及び前記ユーザ定義セルのセルレベルレイアウトをプリミティブベースセルライブラリ内に格納する段階と、
を含む、
方法。
【請求項２６】
ユーザ指定の電気的性能要件に対する前記ユーザ定義セルの解析した電気的性能の準拠を検証する段階と、
前記ユーザ指定の電気的性能要件に準拠する必要性に応じて前記ユーザ定義セルを修正する段階と、
を更に含む、
ユーザ定義セルを作成するための請求項２５に記載の方法。
【請求項２７】
標準セルとはみなされず、且つベースアレイ上に集積することが可能な論理セルのプリミティブ構築バージョンを作成するための方法であって、該方法が、
前記論理セルの論理関数を決定する段階と、
前記論理セルの決定した論理関数を、前記ベースアレイのデバイス特性に基づいて定義されるプリミティブ論理セルのセットにマッピングして、前記論理セルのプリミティブ構築バージョンを作成する段階と、
セルライブラリ内に前記論理セルのプリミティブ構築バージョンを含める段階と、
を含む方法。
【請求項２８】
前記論理セルのプリミティブ構築バージョンの電気的性能を解析する段階と、
前記論理セルについての電気的性能目標に準拠する必要性に応じて前記論理セルのプリミティブ構築バージョンを修正する段階と、
前記論理セルのプリミティブ構築バージョンのセルレベルレイアウトを作成する段階と、
を更に含む、
標準セルとはみなされず、且つベースアレイ上に集積することが可能な論理セルのプリミティブ構築バージョンを作成するための請求項２７に記載の方法。
【請求項２９】
前記ベースアレイが複数のサブアレイを含み、各サブアレイがそのデバイス特性によって区別され、前記プリミティブ論理セルのセットは各プリミティブ論理セルの複数のバージョンを含み、各プリミティブ論理セルの各バージョンがそれぞれのサブアレイに対応する、
ことを特徴とする、
標準セルとはみなされず、且つベースアレイ上に集積することが可能な論理セルのプリミティブ構築バージョンを作成するための請求項２７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリミティブ構築標準セルを作成するための方法に関する。
【背景技術】
【０００２】
今日、最新の電子設計自動化（ＥＤＡ）ツールは、システム設計者が作成した論理記述からネットリストを合成する。ＥＤＡツールすなわち合成ツールは、区域、速度、又は電力に関する制約条件等のシステム設計者の制約条件に基づいて論理記述の最適な構造を決定するための入力としてセルライブラリを用いる。セルライブラリは通常、標準セルライブラリと呼ばれる。
【０００３】
標準セルライブラリは、ライブラリ内の各セルに対して論理及び物理モデルのセットを含む。セルの論理モデルは、合成ツールに対してセルの論理関数を記述する。セルの物理モデルは、セルの性能データ、区域情報、ポリゴン表現、並びに配置及び配線ツールすなわち設計を物理的に構築するのに用いるツールが使用する情報を含む。標準セルライブラリは、複雑な論理記述を合成するために多数のセルを含むことができる。最新の標準セルライブラリは、駆動強度変形を含む、５００から１０００個のセルを含む。駆動強度変形は、同じ論理関数を有するが、区域、電力、及び性能などの異なる物理特性を有するセルである。一般的に標準セルライブラリの作成は非常に資源集約的であり、ここで資源は人的資源及びコンピュータ資源を含む。標準セルライブラリ内の各セルの性能特性評価及びポリゴンレイアウトは通常、最も資源集約的な動作の代表的なものであり、性能特性評価はコンピュータ資源集約的で、ポリゴンレイアウトは人的資源集約的である。
【０００４】
合成法の効果は、標準セルライブラリの豊富さ、及び所期のシステム設計に対して標準セルライブラリが如何に良好に適合しているかに依存する。通常、標準セルは、いずれかの論理セルをいずれか他の論理セルの隣に配置することができるように構築される。したがって、一般要件は、セル高さ、境界又はエッジ特性、並びにデバイスサイズ制限についての仕様を含むルールセットに従って各標準セルを構築することである。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
論理記述からネットリストへの合成は、現在の標準セルライブラリを用いて実行することができるが、現在の合成手法には幾つかの欠点を伴う。例えば、標準セルライブラリの作成者は、多くのシステム設計の異なる仕様を満たすことが要求される可能性がある。異なるシステム設計仕様を満たすためには、標準セルライブラリの内容を決定する際に、標準セルライブラリの作成者が妥協を要求されることが多い。かかる妥協の必要性を軽減するための１つの手法は、標準セルライブラリ作成者が複数の標準セルライブラリをサポートすることであり、この複数の標準セルライブラリの各々は、特定のシステム設計仕様を対象とする。しかしながら、複数の標準セルライブラリのサポートは、極めて資源集約的である。例えば、各標準セルライブラリの供給は、その中に含まれる各セルの性能特性評価及びポリゴンレイアウトを含む。更に、最新の半導体プロセスでは通常、製作されたままのセルの物理的態様が標準セルライブラリで元来定義されたものから変更される複数のリリースが行われる。製作されたままのセルの物理的態様のかかる変更は、セルの性能特性評価データ及び／又はセルのポリゴンレイアウトに影響を与える可能性がある。したがって、製作されたままのセルの物理的態様が変化した場合、標準セルライブラリ作成者は一般に、適切なセルの物理的態様の変更を組み込んだ標準セルライブラリモデルを供給し直すことが必要となる。
【課題を解決するための手段】
【０００６】
一実施形態では、論理設計をベースアレイ上に並置される集積回路に変換するための方法が開示される。本方法では、ネットリストが標準セルライブラリを用いて論理設計に対して生成される。次いで、ネットリスト内で標準セルについての論理関数を識別する動作が実施される。別の動作では、標準セルの論理関数を複製するのに必要な１つ又はそれ以上のプリミティブ論理セルが識別される。本方法は更に、前に識別された１つ又はそれ以上のプリミティブ論理セルを用いて標準セルのプリミティブベースバージョンを構築するための動作を含む。標準セルのプリミティブベースバージョンは、ベースアレイ上に並置されることになる。
【０００７】
別の実施形態では、論理設計をベースアレイ上に並置される集積回路に変換するための別の方法が開示される。本方法は、標準セルライブラリの標準セル及び論理設計によって定義される接続関係を用いて、論理設計に対してのネットリストを生成する段階を含む。本方法はまた、ネットリスト内で用いる標準セルの各々の論理関数を識別する段階を含む。ネットリスト内で用いる標準セルの各々の論理関数を検査して、ネットリスト内で用いる標準セルの各々のプリミティブ構築バージョンを作成するのに必要なプリミティブ論理セルを識別する。本方法は更に、ネットリスト内で用いる標準セルの各々のプリミティブ構築バージョンを含むプリミティブベースセルライブラリを作成する段階を含む。次いで、プリミティブベースセルライブラリを用いて、ベースアレイ上への集積のために論理設計を定義する。
【０００８】
別の実施形態では、ネットリストによって定義する論理をベースアレイ上に集積するのに用いることができる標準セルのプリミティブ構築バージョンを作成するための方法が開示される。本方法では、ネットリスト内で特定の標準セルが識別される。次いで、特定の標準セルの論理関数が決定される。次に、特定の標準セルの論理関数がプリミティブ論理セルのセットにマッピングされ、特定の標準セルのプリミティブ構築バージョンを作成する。ベースアレイのデバイス特性に基づいてプリミティブ論理セルのセットが定義される。したがって、特定の標準セルのプリミティブ構築バージョンは、ベースアレイ上に集積することができる。作成されると、特定の標準セルのプリミティブ構築バージョンがプリミティブベースセルライブラリ内に含められる。
【０００９】
別の実施形態では、標準セルライブラリをプリミティブベースセルライブラリに変換するための方法が開示される。本方法は、標準セルライブラリの標準セルに対して論理関数を識別するための最初の動作を含む。２番目の動作では、１つ又はそれ以上のプリミティブ論理セルは、標準セルの論理関数を複製するのに必要なものとして識別される。３番目の動作では、２番目の動作で識別した１つ又はそれ以上のプリミティブ論理セルを用いて、標準セルのプリミティブベースバージョンが構築される。標準セルのプリミティブベースバージョンは、ベースアレイ上に集積することが可能である。
【００１０】
別の実施形態では、ユーザ定義セルを作成するための方法が開示される。本方法は、プリミティブ論理セルからユーザ定義セルを構築する段階を含み、ベースアレイ上への集積のためにプリミティブ論理セルが定義される。また本方法は、ユーザ定義セルの電気的性能を解析する段階を含む。更に、ユーザ定義セルのセルレベルレイアウトが作成され、ベースアレイ上に集積するときにユーザ定義セルにより占有される区域を決定する。本方法は更に、構築したユーザ定義セルの記述、ユーザ定義セルの解析した電気的性能、及びユーザ定義セルのセルレベルレイアウトをプリミティブベースセルライブラリ内に格納する段階を含む。
【００１１】
本発明の他の態様及び利点は、本発明を例証として示す添付図面を参照しながら以下の詳細な説明により明らかになるであろう。
【発明を実施するための最良の形態】
【００１２】
以下の説明では、本発明を完全に理解するために多くの特定の詳細事項が記載される。しかしながら、これらの特定の詳細事項の一部又は全てを用いることなく本発明を実施することができることは当業者には明らかであろう。場合によっては、本発明を不必要に曖昧にしないように、公知のプロセス動作は詳細には説明されていない。
【００１３】
図１は、論理設計をプロセッサチップ上で製造される集積回路に変換するための設計−製造フローを示す図である。設計−製造フローは動作１０１で始まり、ここでシステム設計者がシステムの高レベル論理記述を作成する。システムの高レベル論理記述は、レジスタ転送言語（ＲＴＬ）を用いてシステム設計者が生成することが多い。ＲＴＬは、プロセッサチップ内での論理による命令の実行をサポートするのに必要なデータ及び制御要件を記述するのに用いることができる言語をシステム設計者に提供する。ＲＴＬでのシステムの高レベル記述は、システムを実装するのに必要な対応する回路及び相互接続の導出を可能にする。
【００１４】
システム設計者は、標準セルへの参照を用いてシステムの高レベル論理記述を作成することが多く、各標準セルは回路構成要素を表す。一般に、各標準セル記述は、セルのレイアウト／図面、マスク可能ポリゴンへのセルのトランジスタ回路図のマッピング、セルのタイミングデータ、セルの区域情報、セルのライブラリ交換フォーマット（ＬＥＦ）、及び合成エンジンによる使用のためのセルの論理モデルを含む。標準セルは、システム設計者が参照することができるライブラリ内に格納され、合成エンジンによるアクセスが可能である。
【００１５】
完成時には、高レベル論理記述は、参照した標準セルを最適に用いて、これらを論理記述の低レベルインスタンスにマッピングする方法を決定する合成エンジン１０３に提供される。したがって、合成エンジン１０３は、標準セルライブラリ１０５を合成プロセスに対する入力として用いる。合成プロセスは、論理記述を定義する標準セルの接続関係を記述するネットリスト１０７を生成する。ネットリスト１０７は、どの標準セルを用いるか、及び如何に標準セルを接続するかを定義する。ネットリスト１０７が生成されると、動作１０９において、ネットリスト１０７に対して論理チェックを実施する。本質的に論理チェックは、ネットリスト１０７が表す論理が、動作１０１において作成した高レベル論理記述により指定される機能を提供することを確認する。
【００１６】
論理チェックに続き、ネットリスト１０７で識別される標準セルを配置して配線する動作１１１が実施される。ネットリスト１０７で識別された標準セルの物理寸法及び接続関係に基づいて、配置及び配線ツールは、相互接続距離が最短になると同時に様々な標準セル間で要求される接続関係を可能にするように、シリコン上に標準セルを配置する方法を決定する。シリコン上に標準セルが配置されると、様々な標準セル間で要求される全ての接続が配線される。
【００１７】
動作１１１で標準セルを配置して配線した後、回路の物理的検証を行う動作１１３が実施される。一般に物理的検証は、タイミング検証、設計ルールチェック（ＤＲＣ）、レイアウト対回路図（ＬＶＳ）解析、及び電気的ルールチェック（ＥＲＣ）を含む。物理的検証が満足な結果で完了すると、動作１１５で回路設計がテープアウトされる。テープアウト動作１１５では、回路記述が製作の製造業者すなわち製造工場への伝達に向けて準備される。動作１１７では、製造業者は、テープアウトした回路の製作で用いるマスクを作成する。次いで、動作１１９で回路／チップが製造される。
【００１８】
最新の集積回路製造すなわち半導体製造は、シリコンウェーハ（「ウェーハ」）上に特定のパターンで材料の層を堆積する段階を含むことは、当業者であれば理解されるであろう。堆積プロセス中、材料は、ウェーハ上の精密な場所に成膜され、除去され、及び／又は注入される。一般に、ウェーハ上の精密な場所への材料の成膜、除去、及び注入を可能にするために、フォトリソグラフィと呼ばれるプロセスが用いられる。フォトリソグラフィプロセスでは、ウェーハ上にフォトレジスト材料が最初に成膜される。次いで、フォトレジスト材料をレチクルによってフィルタリングされた光に露光する。一般にレチクルは、例示的な特徴部の幾何学的形状を表すマスクによって覆われたガラスプレートであり、該マスクは、光がガラスプレートを通過するのを遮蔽する。
【００１９】
レチクルの通過後、光はマスクで定義されるパターンの形態でフォトレジスト材料の表面に接触する。光によって露光したフォトレジスト材料の化学組成が変化する。ポジ型フォトレジスト材料では、露光することにより、露光されたフォトレジスト材料が現像溶液に不溶性になる。逆にネガ型フォトレジスト材料では、露光することによって、露光されたフォトレジスト材料が現像溶液に可溶性になる。露光後、フォトレジスト材料の可溶性部分が除去され、パターン化されたフォトレジスト層が残る。次いで、パターン化されたフォトレジスト層によって覆われていないウェーハ領域内の材料の除去、成膜、又は注入のいずれかを行うようウェーハを処理する。ウェーハ処理後、パターン化されたフォトレジスト層をウェーハから剥離する。このようにして、フォトリソグラフィプロセスで用いるマスクは、ウェーハ上に層状に定められる材料のパターンを定義し、標準セルのネットリストが表す望ましい回路を作成する。
【００２０】
半導体製造が上述のものよりも更に多くの他のプロセスを含むことは、当業者であれば理解されるであろう。しかしながら、本発明を不必要に曖昧にするのを避けるために、本明細書では特定の半導体製造プロセスに関する更なる詳細は説明しない。したがって、本発明は、特定の半導体製造プロセス又は技術によって限定されるものではないことを理解されたい。
【００２１】
従来では、配置及び配線動作１１１中、標準セルは不規則なグリッド上に配置することができる。しかしながら最新のフォトリソグラフィプロセスは、標準セルの不規則なグリッド化に関して問題がある。例えば、９０ナノメートルのサイズを有する標準セル特徴部がパターン化されているが、光の波長が１９３ナノメートルである場合には、標準セルを不規則なグリッド上に任意のパターンで配置されるときに、標準セル特徴部を解像するのは困難である。この結果、最新の集積回路の小さな特徴部サイズは、不規則なグリッド上への標準セルの配置と組み合わされ、フォトリソグラフィプロセス中に標準セル特徴部の変形を生じさせることが多い。この変形を補償するために、フォトリソグラフィプロセスは通常、レチクル改良技術（ＲＥＴ）及び光近接補正（ＯＰＣ）等の補正技術を利用する。しかしながら、ＲＥＴ及びＯＰＣの使用の結果、システム設計者の入力なしにマスクすなわち標準セル特徴部の修正が得られる。図１の設計−製造フローは、再評価のためシステム設計者に対しＲＥＴ及びＯＰＣ修正の効率的なフィードバックを提供するものではない。したがって、システム設計者が目的とし、且つ合成ネットリストに基づいて予めチェックした論理設計は、システム設計者が監督することなく製造工場で修正が行われることが多い。加えて、ＲＥＴ及びＯＰＣ修正がフィードバック機構を通じてシステム設計者に提供することができる場合、ＲＥＴ及びＯＰＣ修正を反映するための標準セル定義の更新は、コンピュータ資源及び人的資源消費の点で極めて高価なものになる。
【００２２】
各標準セルを幾つかの異なる手法で定義し、異なる性能特性をもたらすことができる点を理解されたい。例えば、標準セルの１つのバージョンを低リーク用に最適化することができ、標準セルの別のバージョンを高速用に最適化することができる。したがって、単一の標準セル設計は、一般に、全ての設計空間にとって適切なものではない。様々な標準セルの複数のバージョンが、特定の性能特性、例えばリーク、速度、電力消費に各々関連するそれぞれの複数の標準セルライブラリにコンパイルされ、これらの性能特性は逆の関係を共有することが多い。各標準セルライブラリはまた、中に含まれる各標準セルの複数の変形を含むことができる。例えば、所与の標準セルの変形は、特定の閾値電圧（ＶT）又は特定の供給電圧（Ｖdd）に対応させることができる。複数の標準セルライブラリの各々が６００個の異なる標準セルを含むことができる点を更に理解されたい。したがって、全ての可能な標準セルの変形を特性評価し保持することは不可能ではないにしても極めて資源集約的となる可能性がある。更に、標準セルの特性評価及び保持は、設計−製造フローの最終過程の製造性ついての標準セル特徴部の修正により更に複雑になる可能性があり、製造性について修正した標準セルは、回路の適正な機能を確保するために特性の再評価が必要な新しい標準セル変形を示す。
【００２３】
本発明は、高レベル論理記述を集積回路に変換するための新しい方法を提供する。本発明の方法は、従来標準セルライブラリの特性評価及び保持に対して必要とされた多大な資源消費の有意な低減を可能にする。本発明の方法はまた、設計−製造フローの最終過程における製造性をサポートするための標準セル特徴部の製造工場の修正に関連する問題を解消する。
【００２４】
一実施形態では、本発明の方法は、高レベル論理記述の生成したネットリスト表現の要件を満たすために、随時ベースでプリミティブ論理セルのセットから標準セルがコンパイルされる設計−製造フローを表す。下記により詳細に検討するように、本発明の方法は、従来の標準セルライブラリに関連する全ての可能な標準セル変形を特性評価し保持するのに必要な過度の資源消費が回避される。加えて、本発明の方法により提供されるプリミティブ論理セルのセットからの標準セルのコンパイルは、ベースアレイチップ上で集積回路を最終定義することに基づいて予測される。プリミティブセルは、ベースアレイチップの既知のデバイス特性に基づいて定義されるので、ベースアレイ上に集積される標準セルの性能は、集積回路の物理的検証中に確実に予想することができる。更には、設計の前に、ベースアレイチップの製造性が証明されるので、トランジスタレベルでのＲＥＴ及びＯＰＣ駆動マスク変更に起因する製造性についての標準セル特徴部の修正が完全に回避される。
【００２５】
図２は、本発明の一実施形態による論理設計を製造集積回路に変換するための設計−製造フローを示す図である。図２のフローは、集積回路として実装すべきシステムの高レベル論理記述を作成する動作２０１で始まる。動作２０１は、図１に関して前に説明した動作１０１と本質的に等しい。したがって、本システムの高レベル論理記述は、システムを実装するのに必要な対応する回路及び相互接続の導出を可能にするのに十分である。更に、システムの高レベル論理記述は、標準セルライブラリ２０５内で利用可能な標準セルへの参照を用いて定義される。
【００２６】
高レベル論理記述は、参照した標準セルを最適に用いて、これらを論理記述の低レベルインスタンスにマッピングする方法を決定する合成エンジン２０３に提供される。合成エンジン２０３は、図１に関して説明された合成エンジン１０３と本質的に等しい方式で機能する。したがって、合成エンジン２０３は、合成プロセスに対する入力として標準セルライブラリ２０５を用いて、論理記述を定義する標準セルの接続関係を記述するネットリスト２０７を生成する。図１のネットリスト１０７と同様に、ネットリスト２０７は、どの標準セルを用いるか、及び如何に標準セルを接続するかを定義する。ネットリスト２０７が生成されると、ネットリスト２０７により示される論理が、動作２０１で作成した高レベル論理記述により指定される機能を提供することを確認する動作２０９を実施する。
【００２７】
動作２０９の論理チェックまでは、図２の設計−製造フローは、図１の設計−製造フローと同様である点を理解されたい。しかしながら、動作２０９の後では、図２の設計−製造フローは、図１の設計−製造フローかとはかなり異なっている。より具体的には、図２の動作２０９に続いて、標準セルのコンパイル動作２１１を実施する。標準セルのコンパイル動作２１１は、ネットリスト２０７の解析、ネットリスト２０７においてどの標準セルを用いるかに関する決定、及びネットリスト２０７で参照される各標準セルの定義を含むプリミティブベースの標準セルライブラリの作成を含む。標準セルコンパイル動作２１１の間、ネットリスト２０７で参照される標準セルのみがプリミティブ論理セルのセットから作成されることを理解されたい。
【００２８】
プリミティブ論理セルのセットは、各参照標準セルを作成するのに必要な各基本論理構成要素についてのセル定義を含む。一実施形態では、プリミティブ論理セルのセットは、ＮＡＮＤゲート、ＮＯＲゲート、通過ゲート、ラッチ素子、ＰＭＯＳスタック、ＮＭＯＳスタック、インバータ、及びトライステートインバータを含む。更に、集積回路が並置された対象ベースアレイの仕様に基づいてプリミティブ論理セルのセットが定義される。対象ベースアレイが、複数の性能仕様、例えば速度上昇に向けて最適化されたトランジスタのグリッド、及びリーク低下に向けて最適化されたトランジスタのグリッドをサポートする場合には、別個のプリミティブ論理セルが定義される、複数の性能仕様の各々に対して利用可能となる。したがって、各プリミティブ論理セルの性能特性は、各プリミティブベース標準セルの作成時に既知となる。したがって、対象ベースアレイ上に集積される各プリミティブベース標準セルの予測性能は、標準セルコンパイル動作２１１の一部として正確に予測することができる。
【００２９】
標準セルコンパイル動作２１１で作成されたプリミティブベース標準セルは、プリミティブベースの標準セルライブラリにコンパイルされる。プリミティブベースの標準セルライブラリは、ネットリスト２０７で参照される各標準セルの定義を含む。プリミティブベースの標準セルライブラリ及びネットリスト２０７を用いて、ネットリスト２０７で識別される標準セルを配置し配線する動作２１３が実施される。プリミティブベース標準セルは、最終的にプリミティブベース標準セルが集積されることになる対象ベースアレイの仕様に基づいて配置され配線される点を理解されたい。
【００３０】
配置及び配線動作２１３の後に、回路の物理的検証を行う動作２１５が実施される。動作１１３の物理的検証と同様に、動作２１５の物理的検証は一般に、タイミング検証、設計ルールチェック（ＤＲＣ）、レイアウト対回路図（ＬＶＳ）解析、及び電気的ルールチェック（ＥＲＣ）を含む。物理的検証が満足できる結果で完了すると、動作２１７で回路設計が対象ベースアレイ上に集積される。
【００３１】
トランジスタの標準グリッドを有するベースアレイチップを使用することによって、ベースアレイチップ製造プロセス中に特徴部がパターン化されるように予測可能なパターン及び変形特性が提供される。これらの予測可能なパターン及び変形特性によって、より正確なＲＥＴ及びＯＰＣが可能となり、その結果、更に確実に機能するトランジスタが製作されることになる。より確実な性能特性に加えて、本発明の設計−製造方法においてベースアレイを使用することにより、システム設計者にトランジスタレベルのＲＥＴ／ＯＰＣマスク修正フィードバックを提供しなければならない問題が回避される。更に、本発明においてベースアレイを用いる場合には、設計−製造フローの仮想部分からベースアレイにプリミティブベース標準セルが直接マッピングされる。したがって、プリミティブベース標準セルの仮想表現を用いて、配置及び配線動作２１３が実施されると、本質的にベースアレイチップ上のいずれにおいてもプリミティブベース標準セルを集積することができる。
【００３２】
一実施形態では、従来のベースアレイチップを用いて動作２１７を実施することができる。しかしながら、従来のベースアレイチップの使用は、インスタンス化されている特定の論理システムに応じて、利用可能なベースアレイ構成の最適な使用を必ずしももたらさない場合がある。例えば、従来のベースアレイは、論理システムを集積する必要のある固定数のデバイス（すなわちトランジスタ）及び固定数のデバイスサイズを含む場合がある。したがって、別の実施形態では、動作２１７は、最適化したベースアレイチップを用いて実施することができる。
【００３３】
最適化したベースアレイチップは、サブアレイの最適配列を含むように製造することができ、各サブアレイは、動作２１７でベースアレイチップ上に集積すべき論理システム内の所期機能用に最適な大きさにされたデバイス（すなわちトランジスタ）を含む。したがって、最適化されたベースアレイチップを用いる実施形態では、異なる性能特性を有するトランジスタを共通のベースアレイチップ内で利用可能にし、論理システムを定義するのに必要とされるプリミティブベースセルの集積を可能にすることができる。プリミティブベースセルライブラリを作成するのに用いるプリミティブ論理セルのセットは、製造中に最適化されたベースアレイチップ内で定義することができる利用可能なデバイス特性に対応する点を理解されたい。一実施形態では、配置及び配線動作２１３に続いて最適化されたベースアレイチップが実際に製造され、論理システムの集積のために適切なサブアレイ配列が提供されるのを確実にする。しかしながら別の実施形態では、同様の論理システムに対して行った以前の設計−製造プロセスから収集した経験に基づく設計プロセスの前に、最適化したベースアレイチップを製造することができる。
【００３４】
標準セルコンパイル動作２１１で用いるプリミティブ論理セルのセットは、全体の標準セルライブラリを構築するのに必要なプリミティブ論理セルの最適セットを表す。更に、現在の標準セルライブラリ内の標準セルのインベントリを完全に記述するのに比較的少数のプリミティブ論理セルしか必要とされない点を理解されたい。したがって、プリミティブ論理セルのセットは、最少の資源で完全に特性評価して保持することができる。新しい世代のベースアレイが作成されると、プリミティブ論理セルのセットは、新しいベースアレイの仕様に基づいて容易に更新することができる。次いで、標準セルコンパイル動作２１１を迅速に再度実施し、更新したプリミティブ論理セルに基づいて標準セルを新しいベースアレイにマッピングすることができる。更に、標準セルコンパイル動作２１１によって、新しい標準セル設計の挿入時に従来の標準セルライブラリを特性評価し保持するのにこれまで必要とされた多大な資源に関係なく、システム設計者がカスタム化された標準セルを作成することが可能になる。
【００３５】
図２の設計−製造フローによって、システム設計者は、既知の標準セルライブラリ組成に基づいて高レベル論理記述を作成することが可能となる。標準セルコンパイル動作２１１は、「．ｌｉｂ」及び「．ｌｅｆ」ファイルを構築するので、従来の設計−製造フロー内での動作に慣れたシステム設計者に対して平易な方式で実装することができる。したがって、これまでの設計−製造フローにおける従来の標準セルライブラリの使用に満足しているシステム設計者を再訓練する必要もなく、図２の設計−製造フローを実施することができる。
【００３６】
図３Ａ及び３Ｂは、本発明の一実施形態による図２の標準セルコンパイル動作２１１のフローチャートを示す図である。標準セルコンパイル動作２１１は、ａ）標準セルライブラリ２０５、ｂ）ネットリスト２０７、ｃ）技術ファイル３００、ｄ）プリミティブライブラリ３０２、及びｅ）ユーザ定義によるセル定義３０４を含む、幾つかの入力を利用する。
【００３７】
上記で説明したように、標準セルライブラリ２０５は、標準セル及び対応する変形の集合を表す。標準セルライブラリ２０５内の各標準セルは、セルのレイアウト／図面、マスク可能ポリゴンへのセルのトランジスタ回路図のマッピング、セルのタイミングデータ、セルの区域情報、セルのライブラリ交換フォーマット（ＬＥＦ）ファイル、及び合成エンジンが使用するためのセル論理モデルによって定義される。同様に上記で説明したように、ネットリスト２０７は、システムの論理記述においてどの標準セルを用いるか、及びこれらの標準セルを如何に接続するかを定義する。
【００３８】
技術ファイル３００は、システムの論理記述が集積されることになるベースアレイチップの仕様を提供する。例えば、技術ファイル３００は、幾つかの利用可能デバイス、並びにサイズ、速度、リーク、電力消費量、その他といったデバイスのそれぞれの特性を識別することができる。プリミティブライブラリ３０２は、各利用可能プリミティブ論理セルの定義を含む。各プリミティブ論理セルの定義は、セルのレイアウト／図面、セルのタイミングデータ、セルの区域情報、セルのライブラリ交換フォーマット（ＬＥＦ）、及びセルの論理モデルを含む。一実施形態では、プリミティブライブラリ３０２は、１４個のプリミティブ論理セルを含み、この１４個のプリミティブ論理セルの各々は、３つの異なる閾値電圧及び３つの異なる供給電圧に対応する６つの変形で表される。この実施形態における１４個のプリミティブ論理セルは、１）２入力ＮＡＮＤゲート、２）３入力ＮＡＮＤゲート、３）２入力ＮＯＲゲート、４）３入力ＮＯＲゲート、５）通過ゲート、６）ラッチ素子、７）単層ＰＭＯＳスタック、８）２層ＰＭＯＳスタック、９）３層ＰＭＯＳスタック、１０）単層ＮＭＯＳスタック、１１）２層ＮＭＯＳスタック、１２）３層ＮＭＯＳスタック、１３）インバータ、及び１４）トライステートインバータを含む。しかしながら、本発明は、上記に説明した１４個のプリミティブ論理セル及び６つの変形を含むプリミティブライブラリに限定されないことを理解されたい。他の実施形態では、プリミティブ論理セルの異なるセット及びその変形は、プリミティブライブラリ３０２に含めることができる。
【００３９】
ユーザ定義によるセル定義３０４は、プリミティブライブラリ３０２のプリミティブ論理セルのセットによって定義されるいずれかの考え得るユーザ定義セルを表す。各ユーザ定義セルは、プリミティブ論理セル、タイミング目標、及び区域目標のネットリストによって定義される。一実施形態では、プリミティブライブラリ３０２に基づいてユーザが効率的にユーザ定義セルを作成することを可能にするために、グラフィカルユーザインターフェース（ＧＵＩ）が設けられる。一実施形態では、ユーザ定義セルを作成するＧＵＩによって、ユーザは、標準セルライブラリ２０５内のいずれかの標準セルを対応プリミティブ構築セルに変換し、ユーザ定義セルを作成する開始点として用いることが可能になる。ユーザ定義セルが標準セルの修正を表す際には、ＧＵＩのこの特徴は特に有用なものとすることができる。
【００４０】
一実施形態では、標準セルコンパイル動作２１１は、開始点から終了点まで順次方式でネットリスト２０７を通して通過することによって実施される。ネットリスト２０７において各新しい標準セルに遭遇すると、標準セルは標準セルのプリミティブ構築バージョンにコンパイルされることになる。したがって、図３Ａに関して、標準セルコンパイル動作２１１は動作３０１で始まり、ネットリスト２０７において次の標準セルを選択する。動作３０１では、ネットリスト２０７を入力としてアクセスする。次いで、動作３３５は、選択した標準セルのプリミティブ構築バージョンがプリミティブ構築セルデータベース３１１内に既に存在するかどうかを判定するよう実施される。選択した標準セルのプリミティブ構築バージョンが既に存在する場合には、本方法は動作３０１に戻り、ネットリスト２０７内の次の標準セルを選択する。しかしながら、選択した標準セルのプリミティブ構築バージョンが存在しない場合には、本方法は動作３０３に進み、ここで選択した標準セルについての論理関数が決定される。動作３０３では、標準セルライブラリ２０５が入力としてアクセスされ、選択した標準セルの論理関数を識別する。
【００４１】
動作３０３に続いて、動作３０５が実施され、選択した標準セルに対して決定された論理関数をプリミティブライブラリ３０２内に含まれるプリミティブ論理セルのセットにマッピングする。動作３０５のマッピングは、選択した標準セルの論理関数を複製するのに必要な１つ又はそれ以上のプリミティブ論理セルを識別する段階を含む。動作３０５のマッピングは更に、識別した１つ又はそれ以上プリミティブ論理セルを用いて標準セルのプリミティブベースバージョンを構築する段階を含む。したがって、選択した標準セルをプリミティブ論理セルのセットにマッピングした結果、選択した標準セルのプリミティブ構築バージョンが作成されることになる。動作３０５では、技術ファイル３００及びプリミティブライブラリ３０２は、入力としてアクセスされる。技術ファイル３００は、利用可能プリミティブ論理セルによって示されるベースアレイチップのデバイス特性に関する情報を提供し、選択した標準セルからプリミティブ論理セルのセットへの最も近い利用可能なマッピングを可能にする。プリミティブライブラリ３０２は、各利用可能なプリミティブ論理セルの定義を提供する。
【００４２】
図４Ａ〜４Ｃは、動作３０５で実施されるマッピングの実施例を示している。図４Ａは、遅延フリップフロップを定義する標準セルについての論理モデルを示している。図４Ａの遅延フリップフロップを定義する論理は、当業者には容易に理解されるであろう。図４Ｂは、プリミティブライブラリ３０２に含まれるプリミティブ論理セルの例示的な部分リストを示す図である。前述のように、プリミティブ論理セルの各種類（例えばインバータ、ＮＡＮＤ、ＮＯＲ）は、プリミティブライブラリ３０２内に含まれる複数の変形を有することができる。図４Ｃは、マッピング動作３０５から生じる、図４Ａの遅延フリップフロップのプリミティブ構築バージョンを示す図である。図４Ｃにおける遅延フリップフロップのプリミティブ構築バージョンは、ネットリスト型フォーマットで表されている。しかしながら、遅延フリップフロップのプリミティブ構築バージョンは、後続の動作において用いられる配置及び配線ツールが認識する本質的にあらゆるフォーマットで定義することができる点を理解されたい。
【００４３】
マッピング動作３０５に続いて、動作３０７が実施され、動作３０５で作成した標準セルのプリミティブ構築バージョンの性能を解析する。標準セルのプリミティブ構築バージョンの性能は、タイミング、リーク、電力消費量、その他といった電気的パラメータに関して解析される。一実施形態では、標準セルのプリミティブ構築バージョンの性能が標準セルライブラリ２０５で報告される標準セルの目標性能仕様に対して比較され、標準セルのプリミティブ構築バージョンの性能が許容可能であることが保証される。別の実施形態では、標準セルのプリミティブ構築バージョンの性能を解析してユーザ指定の電気的性能要件に対する準拠を検証し、ここでユーザ指定の電気的性能要件は、標準セルの目標性能仕様とは異なっていてもよい。標準セルのプリミティブ構築バージョンが目標性能仕様／要件を満たさない場合には、必要な目標性能を提供することになる異なるプリミティブ変形を用いて、標準セルの新しいプリミティブ構築バージョンを作成することができる。標準セルのプリミティブ構築バージョンが目標性能仕様／要件を満たすと、標準セルのプリミティブ構築バージョンがプリミティブ構築セルデータベース３１１のセット内のそれぞれのデータベース中に記録される。
【００４４】
更に、必要な目標性能を提供するように標準セルのプリミティブ構築バージョンが決定されると、動作３０９が実施され、標準セルのプリミティブ構築バージョンのセルレベルレイアウトを作成する。セルレベルレイアウトは、対象ベースアレイ内で標準セルのプリミティブ構築バージョンによって占有される区域を定義する。セルレベルレイアウトは、対応するプリミティブ構築セルデータベース３１１中に記録される。セルレベルレイアウトは、対象ベースアレイに関連するセルレベルレイアウトルールの知識を有するツールにより実施される点を理解されたい。したがって、セルレベルレイアウトツールは、ベースアレイ内に集積することができるセルレベルレイアウトを作成する能力がある。
【００４５】
動作３０９に続いて、動作３１３が実施され、ネットリスト２０７内に次の標準セルが存在するかどうかを判定する。次の標準セルがネットリスト２０７内に存在する場合には、本方法は動作３０１に戻り、ネットリスト２０７内の次の標準セルを選択する。しかしながら、次の標準セルがネットリスト２０７内に存在しない場合には、本方法は動作３１５に進む。動作３１５では、ユーザ定義によるセル定義入力３０４が検査され、いずれかのユーザ定義による標準セル定義が存在するかどうかを判定する。ユーザ定義によるセル定義が存在する場合には、本方法は、図３Ｂのフローチャートへの入り口点に対応する接続点「Ａ」３１９に進む。しかしながら、ユーザ定義によるセル定義が存在しない場合には、本方法は動作３１７に進み、ここで最後のプリミティブベースセルライブラリが作成される。最後のプリミティブベースセルライブラリの作成は、本質的に、プリミティブ構築セルデータベース３１１内に定義される各参照標準セルのプリミティブ構築バージョンの単一プリミティブベースセルライブラリファイルへのバインドを表す。一実施形態では、システム設計者に良く知られた標準的名称に一致させるために、動作３１７で作成されるプリミティブベースセルライブラリファイルを「ｃｅｌｌｓ．ｌｉｂ」と定める。
【００４６】
図３Ｂは、図３Ａのフローチャートで表す標準セルコンパイル動作２１１の続きである。ユーザ定義によるセル定義が存在する場合には、本方法は、接続点「Ａ」３１９で図３Ｂに入る。接続点「Ａ」３１９から、本方法は動作３２１に進み、ここでユーザ定義によるセル定義３０４内から次のユーザ定義セルが選択される。ユーザ定義によるセル定義は、プリミティブライブラリ３０２内で利用可能なプリミティブ論理セルを用いて作成される点を理解されたい。
【００４７】
動作３２１に続いて、動作３２３が実施され、ユーザ定義セルの性能を解析する。動作３０７において実施された性能解析と同様に、ユーザ定義セルの性能は、タイミング、リーク、電力消費量、その他といった電気的パラメータに関して解析される。ユーザ定義セルの性能がユーザ定義によるセル定義３０４内で報告される性能目標に対して比較され、ユーザ定義セルの性能が許容可能であることを保証する。ユーザ定義セルが関連性能目標を満たさない場合には、性能目標を満たす異なるプリミティブ変形を用いて、新しい／修正ユーザ定義セルを作成することができる。ユーザ定義セル性能解析が性能目標に対して準拠していることを示した場合には、プリミティブ構築ユーザ定義セルデータベース３２７のセット内におけるそれぞれのデータベース中にユーザ定義セルが記録される。
【００４８】
動作３２３でのユーザ定義セルの性能解析により、標準セルライブラリ２０５の内容を超えて拡張する必要があるシステム設計者に有意な能力が提供されることを理解されたい。更に、本発明の方法によれば、システム設計者は、ユーザ定義セルを標準セルライブラリ２０５に組み込むことを要求されない。したがって、ユーザは、従来の標準セルライブラリを再度特性評価して保持するのに必要な多大な資源に関して懸念することなく、カスタム論理セルを定義することができる。
【００４９】
動作３２３に続いて、動作３２５が実施され、ユーザ定義セルのセルレベルレイアウトを作成する。セルレベルレイアウトは、対象ベースアレイ内でユーザ定義セルにより占有される区域を定義する。セルレベルレイアウトは、対応するプリミティブ構築ユーザ定義セルデータベース３２７中に記録される。セルレベルレイアウトは、対象ベースアレイに関連するセルレベルレイアウトルールの知識を有するツールにより実施される点を理解されたい。したがって、セルレベルレイアウトツールは、ベースアレイ内に集積することができるセルレベルレイアウトを作成する能力がある。
【００５０】
動作３２５に続いて、動作３２９が実施され、次のユーザ定義セルが存在するかどうかを判定する。次のユーザ定義セルが存在する場合には、本方法は動作３２１に戻り、次のユーザ定義セルを選択する。しかしながら次のユーザ定義セルが存在しない場合には、本方法は動作３３１に進み、ここで最後のプリミティブベースセルライブラリが作成される。最後のプリミティブベースセルライブラリの作成は、本質的に、全てのプリミティブ構築セルデータベース３１１及び全てのプリミティブ構築ユーザ定義セルデータベース３２７の単一ライブラリファイルへのコンパイルを表す。プリミティブ構築セルデータベース３１１は、図３Ａと３Ｂとの間に定義される接続点「Ｂ」３３３を通じて動作３３１にアクセス可能である。一実施形態では、システム設計者に良く知られた標準的名称に一致させるために、動作３３１で作成されるプリミティブベースセルライブラリを「ｃｅｌｌｓ．ｌｉｂ」と定める。
【００５１】
図２の設計−製造フローの状況の中で実施される標準セルコンパイル動作２１１を図３Ａ〜３Ｂに関して上記で説明してきた。しかしながら、図２の設計−製造フローの状況以外で標準セルコンパイルを実施することもできる点を理解されたい。例えば、設計−製造フロー外で標準セルライブラリ内の各セルのプリミティブ構築バージョンを作成することができる。次いで、システム設計者は、対象ベースアレイ上に集積されるシステムの高レベル論理記述を作成するときに、単純にプリミティブベースの標準セルライブラリを用いることができる。
【００５２】
図５は、本発明の一実施形態による、設計−製造フロー以外で標準セルライブラリをプリミティブベースセルライブラリにコンパイルするための方法のフローチャートを示す図である。本方法は、標準セルライブラリ２０５内で次の標準セルを選択する動作５０１から始まる。次いで、動作５０３で、選択した標準セルのプリミティブ構築バージョンが既に存在するか否かについて判定される。存在する場合には、本方法は動作５０１に戻る。存在しない場合には、本方法は動作５０５に進み、ここで選択した標準セルの論理関数が決定される。次いで、動作５０７で、選択した標準セルの論理関数がプリミティブライブラリ３０２内のプリミティブ論理セルのセットにマッピングされ、選択した標準セルのプリミティブ構築バージョンを作成する。
【００５３】
本方法は動作５０９に進み、ここで標準セルのプリミティブ構築バージョンの電気的性能が解析される。標準セルのプリミティブ構築バージョンの性能が標準セルライブラリ２０５に報告される標準セルの目標性能仕様と比較され、標準セルのプリミティブ構築バージョンの性能が許容可能であることを保証する。標準セルのプリミティブ構築バージョンが標準セルの目標性能仕様を満たさない場合には、標準セルライブラリ２０５内に報告される目標性能を提供することになる異なるプリミティブ変形を用いて、標準セルの新しいプリミティブ構築バージョンを作成することができる。標準セルのプリミティブ構築バージョンが目標性能要件を満たすと、プリミティブ構築セルデータベース５１１内のそれぞれのデータベース中に標準セルのプリミティブ構築バージョンが記録される。
【００５４】
本方法は、標準セルのプリミティブ構築バージョンのセルレベルレイアウトを作成するための動作５１３に進む。セルレベルレイアウトは、対象ベースアレイ内で標準セルのプリミティブ構築バージョンにより占有される区域を定義する。セルレベルレイアウトは、対応するプリミティブ構築セルデータベース５１１内に記録される。セルレベルレイアウトは、対象ベースアレイに関連するレイアウトルールを考慮に入れて実施されることを理解されたい。動作５１３に続いて、動作５１５が実施され、標準セルライブラリ内に次の標準セルが存在するかどうかを判定する。存在する場合には、本方法は動作５０１に戻る。存在しない場合には、本方法は動作５１７に進み、ここで最後のプリミティブベースセルライブラリが作成される。
【００５５】
最後のプリミティブベースセルライブラリの作成は、本質的に、全てのプリミティブ構築セルデータベース５１１の単一ライブラリファイルへのコンパイルを表す。一実施形態では、システム設計者に良く知られた標準的名称に一致させるために、動作５１７で作成されるプリミティブベースセルライブラリファイルを「ｃｅｌｌｓ．ｌｉｂ」と定める。動作５０１、５０３、５０５、５０７、５０９、５１３、５１５、及び５１７の各々は、ネットリスト２０７内に示される標準セルのみではなく、標準セルライブラリ２０５内に示される標準セルの各々が処理されることを除いては、図３Ａに関して上記で説明された動作３０１、３３５、３０３、３０５、３０７、３０９、３１３、及び３１７とそれぞれ本質的に等しいことを理解されたい。
【００５６】
設計−製造フローの一部として実施される標準セルコンパイル動作２１１（図３Ａ〜３Ｂ）の状況において、プリミティブ構築ユーザ定義セルの作成を上記で説明してきた。しかしながら、プリミティブ構築ユーザ定義セルの作成は、設計−製造フローの状況外でも同様に実施することができる点を理解されたい。図６は、本発明の一実施形態による設計−製造フロー以外でプリミティブ構築ユーザ定義セルを作成するための方法のフローチャートを示す図である。本方法は、動作６０１で始まり、ここではユーザ定義によるセル定義３０４内から次のユーザ定義セルを選択する。上記で説明したように、プリミティブライブラリ３０２内で利用可能なプリミティブ論理セルを用いて、ユーザ定義によるセル定義が作成される。
【００５７】
本方法は、動作６０１から動作６０３に進み、ここでユーザ定義セルの性能解析が行われる。ユーザ定義セルは、タイミング、リーク、電力消費量、その他といった電気的パラメータに関して解析される。ユーザ定義セルの性能がユーザ定義によるセル定義３０４内で報告される性能目標に対して比較され、ユーザ定義セルの性能が許容可能であることを保証する。ユーザ定義セルが関連性能目標を満たさない場合には、性能目標を満たす異なるプリミティブ変形を用いて、新しい／修正ユーザ定義セルを作成することができる。ユーザ定義セル解析が性能目標に対して準拠していることを示すと、ユーザ定義セルは、プリミティブ構築ユーザ定義セルデータベース６０７のセット内のそれぞれのデータベース中に記録される。
【００５８】
動作６０３に続いて、動作６０５が実施され、ユーザ定義セルのセルレベルレイアウトを作成する。セルレベルレイアウトは、対象ベースアレイ内でユーザ定義セルにより占有される区域を定義する。セルレベルレイアウトは、対応するプリミティブ構築ユーザ定義セルデータベース６０７内に記録される。セルレベルレイアウトは、対象ベースアレイに関連するレイアウトルールを考慮に入れて実施される点を理解されたい。本方法は、動作６０９に進み、次のユーザ定義セルが存在するかどうかを判定する。次のユーザ定義セルが存在する場合には、本方法は動作６０１に戻る。存在しない場合には、本方法は動作６１１に進み、ここで全てのプリミティブ構築セルデータベース６０７が単一ライブラリファイルにコンパイルされる。一実施形態では、システム設計者に良く知られた標準的名称に一致させるために、動作６１１で作成されるプリミティブベースセルライブラリを「ｃｅｌｌｓ．ｌｉｂ」と定める。動作６０１、６０３、６０５、６０９、及び６１１の各々は、標準セルコンパイル動作２１１以外でユーザ定義セルが処理されることを除いては、図３Ｂに関して上記で説明した動作３２１、３２３、３２５、３２９、及び３３１とそれぞれ本質的に等しいことを理解されたい。
【００５９】
上記で説明されたプリミティブ構築標準セル及びユーザ定義セルを作成するための方法に加えて、本発明はまた、必ずしも標準セルとはみなされない論理セルのプリミティブ構築バージョンを作成するための方法も提供する。例えば、この方法は、メモリアレイの周辺セルの論理変形を作成するのに用いることができる。したがって、メモリアレイの周辺セルのこれらの論理変形を用いて、基本メモリアレイの周囲の広範なメモリ機能を作成することができる。プリミティブ構築バージョンを作成することができるメモリアレイの周辺セルの実施例は、ＦＩＦＯセル、レジスタセル、シフターセル、出力調整セル、テストセル、及び当業者には公知の多くの他のものを含む。
【００６０】
図７は、本発明の一実施形態による必ずしも標準セルとはみなされない論理セルのプリミティブ構築バージョンを作成するための方法のフローチャートを示す図である。本方法は動作７０１で始まり、ここでは、論理セル定義７０４のセット内から論理セルが選択される。一実施形態では、各論理セル定義は、電子回路すなわち回路、論理セルの記述、論理セルについてのタイミング目標、及び論理セルについての区域目標を含む。本方法は動作７０３に進み、ここで、選択した論理セルについての論理関数が決定される。動作７０３では、論理セル定義７０４が入力としてアクセスされ、選択した論理セルの論理関数を識別する。
【００６１】
動作７０３に続き、動作７０５が実施され、選択した論理セルについて決定された論理関数を、プリミティブライブラリ３０２内に含まれるプリミティブ論理セルのセットにマッピングする。動作７０５のマッピングは、選択した論理セルの論理関数を複製するのに必要な１つ又はそれ以上のプリミティブ論理セルを識別する段階を含む。動作７０５のマッピングは更に、識別した１つ又はそれ以上のプリミティブ論理セルを用いて論理セルのプリミティブベースバージョンを構築する段階を含む。したがって、選択した論理セルをプリミティブ論理セルのセットにマッピングした結果、選択した論理セルのプリミティブ構築バージョンが作成されることになる。動作７０５では、技術ファイル３００及びプリミティブライブラリ３０２が入力としてアクセスされる。上述のように、技術ファイル３００は、利用可能なプリミティブ論理セルで示されるベースアレイチップのデバイス特性に関する情報を提供し、選択した論理セルからプリミティブ論理セルのセットへの最も近い利用可能なマッピングを可能にする。同様に上記で説明したように、プリミティブライブラリ３０２は、各利用可能なプリミティブ論理セルの定義を提供する。
【００６２】
本方法は動作７０７に進み、動作７０５で作成された論理セルのプリミティブ構築バージョンの性能を解析する。論理セルのプリミティブ構築バージョンの性能は、タイミング、リーク、電力消費量、その他といった電気的パラメータに関して解析される。一実施形態では、論理セルのプリミティブ構築バージョンの性能が解析され、論理セル定義７０４内に記載される電気的性能目標への準拠を検証する。論理セルのプリミティブ構築バージョンが電気的性能目標に準拠しない場合には、電気的性能目標への準拠を可能にする異なるプリミティブ変形を用いて、論理セルの新しいプリミティブ構築バージョンを作成することができる。論理セルのプリミティブ構築バージョンが電気的性能目標に準拠していると、プリミティブ構築セルデータベース７１１のセット内でそれぞれのデータベース中に論理セルのプリミティブ構築バージョンが記録される。
【００６３】
更に、論理セルのプリミティブ構築バージョンが電気的性能目標に準拠するように決定されると、動作７０９が実施され、論理セルのプリミティブ構築バージョンのセルレベルレイアウトを作成する。セルレベルレイアウトは、対象ベースアレイ内で論理セルのプリミティブ構築バージョンにより占有される区域を定義する。セルレベルレイアウトは、対応するプリミティブ構築セルデータベース７１１内に記録される。セルレベルレイアウトは、対象ベースアレイに関連するセルレベルレイアウトルールの知識を有するツールにより実施されることを理解されたい。したがって、セルレベルレイアウトツールは、ベースアレイ内に集積することができるセルレベルレイアウトを作成する能力がある。
【００６４】
動作７０９に続いて、動作７１３が実施され、別の論理セルのプリミティブ構築バージョンを作成する必要があるかどうかを判定する。作成する必要がある場合には、本方法は動作７０１に戻る。作成する必要が無い場合には、本方法は、プリミティブベースセルライブラリを作成するための動作７１５に進む。プリミティブベースセルライブラリの作成は、本質的に、プリミティブ構築セルデータベース７１１内に定義される各論理セルのプリミティブ構築バージョンの単一プリミティブベースセルライブラリファイルへのバインドを表す。一実施形態では、システム設計者に良く知られた標準的名称に一致させるために、動作７１５で作成されるプリミティブベースセルライブラリファイルの名称を「ｃｅｌｌｓ．ｌｉｂ」と定める。
【００６５】
一実施形態では、図７の方法は、スタンドアローン方式で実施することができる点を理解されたい。更に別の実施形態では、図７の方法は、図３Ａ〜３Ｂの方法と共に実施することができる。図３Ａ〜３Ｂで作成されるプリミティブベースセルライブラリもまた、必ずしも標準セルとはみなされない論理セルのプリミティブ構築バージョンを含むことができるようにする。
【００６６】
本明細書で説明される本発明は、コンピュータ読み取り可能媒体上のコンピュータ読み取り可能コードとして具現化することができる。コンピュータ読み取り可能媒体は、後でコンピュータシステムによって読み出すことができるデータを格納可能ないずれかのデータストレージデバイスである。コンピュータ読み取り可能媒体の実施例は、ハードドライブ、ネットワーク接続ストレージ（ＮＡＳ）、読み取り専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、及び他の光学及び非光学式データストレージデバイスを含む。コンピュータ読み取り可能媒体はまた、コンピュータ読み取り可能コードが分散方式で格納及び実行されるように、コンピュータシステムに結合されたネットワークを介して分散させることができる。更に、コンピュータ読み取り可能媒体上のコンピュータ読み取り可能コードとして実装されるグラフィカルユーザインターフェース（ＧＵＩ）を装備して、本発明のあらゆる実施形態を実施するためのユーザインターフェースを提供することができる。
【００６７】
本発明を幾つかの実施形態に関して説明してきたが、上記明細書を読み且つ図面を検討すると、当業者であれば本発明の様々な代替物、追加物、置換物、及び均等物を実現できる点は理解されるであろう。したがって、本発明は、本発明の精神及び範囲内にある全てのかかる代替物、追加物、置換物、及び均等物を含むことが意図される。
【図面の簡単な説明】
【００６８】
【図１】論理設計をプロセッサチップ上の製造集積回路に変換する設計−製造フローを示す図である。
【図２】本発明の一実施形態による、論理設計を製造集積回路に変換する設計−製造フローを示す図である。
【図３Ａ】本発明の一実施形態による、図２の標準セルコンパイル動作のフローチャートを示す図である。
【図３Ｂ】本発明の一実施形態による、図２の標準セルコンパイル動作のフローチャートを示す図である。
【図４Ａ】遅延フリップフロップを定義する標準セルについての論理モデルを示す図である。
【図４Ｂ】プリミティブライブラリ内に含まれるプリミティブ論理セルの例示的部分リストを示す図である。
【図４Ｃ】マッピング動作から結果として得られる図４Ａの遅延フリップフロップのプリミティブ構築バージョンを示す図である。
【図５】本発明の一実施形態による設計−製造フロー以外で標準セルライブラリをプリミティブベースの標準セルライブラリにコンパイルするための方法のフローチャートを示す図である。
【図６】本発明の一実施形態による設計−製造フロー以外外でプリミティブ構築ユーザ定義セルを作成するための方法のフローチャートを示す図である。
【図７】本発明の一実施形態による、必ずしも標準セルとはみなされない論理セルのプリミティブ構築バージョンを作成するための方法のフローチャートを示す図である。
【図１】
2008547135.tif 000003
【図２】
2008547135.tif 000004
【図３Ａ】
2008547135.tif 000005
【図３Ｂ】
2008547135.tif 000006
【図４Ａ】
2008547135.tif 000007
【図４Ｂ】
2008547135.tif 000008
【図４Ｃ】
2008547135.tif 000009
【図５】
2008547135.tif 000010
【図６】
2008547135.tif 000011
【図７】
2008547135.tif 000012
【国際調査報告】
2008547135.tif 000013