(57)【要約】【課題】各セルを効率よく自動レイアウトすることにより、レイアウト設計における工数を低減し、レイアウト設計期間を大幅に短縮する。【解決手段】回路図エディタで各々のプリミティブセル１に座標データ、配置順序、およびミラー情報からなる下位レイアウト情報を入力する。下位レイアウト情報、およびインスタンス名はレイアウトエディタツールに取り込まれ、該下位レイアウト情報に基づいてプリミティブセル１を自動配列して回路セル２を形成する。その後、回路図エディタツールにより、回路セル２に対して、座標データ、セル列番号、配置順序、ミラー情報、および回転情報からなる上位レイアウト情報を入力する。上位レイアウト情報、およびインスタンス名は自動的にレイアウトエディタツールに取り込まれ、該上位レイアウト情報に基づいて回路セル２を自動配置して間接周辺ブロック３を形成する。【選択図】      図２
2005025499.tif 000002
【特許請求の範囲】
【請求項１】
プリミティブセルに付加された第１のレイアウト情報を取り込み、前記第１のレイアウト情報に基づいて、前記プリミティブセルを回路セル用フレームに自動レイアウトして回路セルを形成することを特徴とする半導体装置の設計方法。
【請求項２】
請求項１記載の半導体装置の設計方法において、
前記第１のレイアウト情報は、座標データ、配置順序、およびミラー情報からなることを特徴とする半導体装置の設計方法。
【請求項３】
請求項１または２記載の半導体装置の設計方法において、
前記プリミティブセルを自動レイアウトした際に、前記プリミティブセルが前記回路セル用フレーム内にすべてレイアウトされているか否かをチェックすることを特徴とする半導体装置の設計方法。
【請求項４】
回路セルに付加された第２のレイアウト情報を取り込み、前記第２のレイアウト情報に基づいて、前記回路セルを周辺ブロック用フレームに自動レイアウトして周辺ブロックを形成することを特徴とする半導体装置の設計方法。
【請求項５】
請求項４記載の半導体装置の設計方法において、
前記第２のレイアウト情報は、座標データ、セル列番号、配置順序、ミラー情報、および回転情報からなることを特徴とする半導体装置の設計方法。
【請求項６】
請求項４または５記載の半導体装置の設計方法において、
前記回路セルを自動レイアウトした際に、前記回路セルが前記周辺ブロック用フレーム内にすべてレイアウトされているか否かをチェックすることを特徴とする半導体装置の設計方法。
【請求項７】
少なくとも２階層以上を用いてレイアウトを行う半導体装置の設計方法であって、
上位階層において、プリミティブセルに付加された第１のレイアウト情報を下位階層から取り込み、前記第１のレイアウト情報に基づいて前記プリミティブセルを回路セル用フレームに自動レイアウトして回路セルを形成することを特徴とする半導体装置の設計方法。
【請求項８】
請求項７記載の半導体装置の設計方法において、
前記第１のレイアウト情報は、座標データ、配置順序、およびミラー情報からなることを特徴とする半導体装置の設計方法。
【請求項９】
請求項７または８記載の半導体装置の設計方法において、
前記プリミティブセルを自動レイアウトした際に、前記プリミティブセルが前記回路セル用フレーム内にすべてレイアウトされているか否かをチェックすることを特徴とする半導体装置の設計方法。
【請求項１０】
少なくとも２階層以上を用いてレイアウトを行う半導体装置の設計方法であって、
上位階層において、回路セルに付加された第２のレイアウト情報を下位階層から取り込み、前記第２のレイアウト情報に基づいて前記回路セルを周辺ブロック用フレームに自動レイアウトして周辺ブロックを形成することを特徴とする半導体装置の設計方法。
【請求項１１】
請求項１０記載の半導体装置の設計方法において、
前記第２のレイアウト情報は、座標データ、セル列番号、配置順序、ミラー情報、および回転情報からなることを特徴とする半導体装置の設計方法。
【請求項１２】
請求項１０または１１記載の半導体装置の設計方法において、
前記回路セルを自動レイアウトした際に、前記回路セルが前記周辺ブロック用フレーム内にすべてレイアウトされているか否かをチェックすることを特徴とする半導体装置の設計方法。
【請求項１３】
請求項７〜１２のいずれか１項に記載の半導体装置の設計方法において、
前記上位階層はレイアウトエディタであり、前記下位階層が設計図エディタであることを特徴とする半導体装置の設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体装置の設計技術に関し、特に、半導体メモリやメモリ混載マイクロコンピュータなどの半導体装置におけるレイアウト設計技術に適用して有効な技術に関するものである。
【０００２】
【従来の技術】
半導体装置の高集積化、高機能化が進み、ＣＰＵ、タイマ、ＳＣＩ（シリアルコミュニケーションインタフェース）、およびフラッシュメモリなどの不揮発性メモリなどの様々な機能モジュールを１チップに内蔵するようになった。
【０００３】
これらの機能モジュールを半導体チップにレイアウトする際には、設計者が限られたチップ面積内に個々の機能モジュールを効率よく配置できるように組み合わせてレイアウトしている。
【０００４】
また、半導体装置のレイアウト方法として、たとえば、均等な配線長で高速にデータ信号線、および制御信号線を直線的に配線して機能セルを配置するものがある（たとえば、特許文献１参照）。
【０００５】
【特許文献１】
特開平９−２４６３３８号公報
【０００６】
【発明が解決しようとする課題】
ところが、上記のような半導体装置におけるレイアウト設計技術では、次のような問題点があることが本発明者により見い出された。
【０００７】
たとえば、フラッシュメモリなどの不揮発性メモリを内蔵するシングルチップの半導体装置の場合、メモリの大容量化に伴って該不揮発性メモリの面積比率が大きくなる傾向にあり、他の機能モジュールにおけるレイアウト上の制約が大きくなってしまうという問題がある。
【０００８】
それにより、レイアウト設計期間が長くなるだけではなく、半導体チップサイズの大型化などを招いてしまい、設計工数やコストなどが大幅に大きくなってしまうという問題がある。
【０００９】
本発明の目的は、各セルを効率よく自動レイアウトすることにより、レイアウト設計における工数を低減し、レイアウト設計期間を大幅に短縮することのできる半導体装置のレイアウト方法を提供することにある。
【００１０】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【００１１】
【課題を解決するための手段】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【００１２】
すなわち、本発明の半導体装置の設計方法は、プリミティブセルに付加された第１のレイアウト情報を取り込み、第１のレイアウト情報に基づいて、プリミティブセルを自動レイアウトして回路セルを形成するものである。
【００１３】
また、本発明の半導体装置の設計方法は、回路セルに付加された第２のレイアウト情報を取り込み、第２のレイアウト情報に基づいて、回路セルを自動レイアウトして周辺ブロックを形成するものである。
【００１４】
また、本願のその他の発明の概要を簡単に示す。
（１）本発明の半導体装置の設計方法は、上位階層において、プリミティブセルに付加された第１のレイアウト情報を下位階層から取り込み、第１のレイアウト情報に基づいてプリミティブセルを自動レイアウトして回路セルを形成するものである。
（２）また、本発明の半導体装置の設計方法は、上位階層において、回路セルに付加された第２のレイアウト情報を下位階層から取り込み、第２のレイアウト情報に基づいて回路セルを自動レイアウトして周辺ブロックを形成するものである。
【００１５】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１６】
図１は、本発明の一実施の形態による半導体装置におけるレイアウトモデルの説明図、図２は、本発明の一実施の形態による間接周辺ブロックのレイアウト設計工程の説明図、図３は、図２のプリミティブセルを自動配置して回路セルを形成する工程の詳細な説明図、図４は、図２の回路セルを自動配置して間接周辺ブロックを形成する工程の詳細な説明図、図５は、プリミティブセルの設計から間接ブロックを半導体チップ上へレイアウトするまでのフローチャートである。
【００１７】
本実施の形態において、ＥＤＡ（電子設計自動化）ツールによる半導体装置のレイアウト方法は、回路セル２、および間接周辺ブロック３を自動レイアウトし、該間接周辺ブロック３を半導体チップＣＨ上にレイアウトする技術である。
【００１８】
図１は、ＳＲＡＭなどの半導体装置におけるレイアウトモデルの説明図である。図１においては、下方から上方にかけて、プリミティブセル１、回路セル２、間接周辺ブロック（周辺ブロック）３、および該間接周辺ブロック３がレイアウトされた半導体チップＣＨをそれぞれ示している。
【００１９】
プリミティブセル１は、たとえば、トランジスタなどの１つの素子またはそれ以上の素子から構成されるセルであり、回路セル２は、該プリミティブセル１が組み合わされて構成されるセルである。間接周辺ブロック３は、回路セル２が組み合わされて構成されたセルである。
【００２０】
そして、回路セル２が組み合わされて構成された間接周辺ブロック３が、半導体チップＣＨ上にレイアウトされて、レイアウト設計が終了となる。
【００２１】
次に、図２を用いて、間接周辺ブロック３のレイアウト設計の流れを説明する。
【００２２】
まず、下位図面において、設計者は、回路図エディタツールによって各々のプリミティブセル１に下位レイアウト情報（第１のレイアウト情報）Ｌ１（図３）を入力する（ステップＳ１０１）。
【００２３】
この下位レイアウト情報Ｌ１は、座標データ、配置順序、およびミラー情報からなる。座標データは、プリミティブセル１を回路セル２のフレーム（回路セル用フレーム）にレイアウトする際の座標情報である。
【００２４】
配置順序は、プリミティブセル１を回路セル２にレイアウトする際の順番を示す。ミラー情報は、プリミティブセル１をレイアウトする際にミラー反転するか否かを示す情報である。座標データ、および配置順序は、プリミティブセル１に予め付加されたインスタンス名に付加される。
【００２５】
そして、入力された下位レイアウト情報Ｌ１、およびインスタンス名は自動的にレイアウトエディタツールに取り込まれる（ステップＳ１０２）。続いて、レイアウトエディタ（上位階層）において、取り込んだ下位レイアウト情報Ｌ１に基づいて、該当する回路セル２のフレーム内にプリミティブセル１をそれぞれ自動配列、ならびに整列した後、配置サイズチェッカによるチェックを行う（ステップＳ１０３）。
【００２６】
配置サイズチェッカは、プリミティブセル１が回路セル２の該フレーム内にすべてレイアウトされているか否かをチェックする。
【００２７】
回路セル２のフレームは、予めレイアウトエディタ上においてサイズが設定されており、配置サイズチェッカにおいて、該フレーム内からはみ出したプリミティブセル１がある場合には、そのプリミティブセル１のインスタンス名などを表示する。
【００２８】
ここで、ステップＳ１０３の処理においては、プリミティブセル１を自動配列した後、その配列のサイズに見合った回路セル２のフレームを形成するようにしてもよい。その場合には、配置サイズチェッカは不要となる。
【００２９】
その後、設計者は、上位図面に対して、回路図エディタツールにより、各々の回路セル２に上位レイアウト情報（第２のレイアウト情報）Ｌ２（図４）を入力する（ステップＳ１０４）。
【００３０】
この上位レイアウト情報Ｌ２は、座標データ、セル列番号、配置順序、ミラー情報、および回転情報から構成されている。座標データは、回路セル２を間接周辺ブロック３にレイアウトする際の座標情報である。
【００３１】
セル列番号は、回路セル２を間接周辺ブロック３のフレーム（周辺ブロック用フレーム）にレイアウトする際に、該回路セル２を配置する列を指定する情報である。配置順序は同一列において、該回路セル２を配置する順番を示す情報である。
【００３２】
ミラー情報は、回路セル２をレイアウトする際にミラー反転するか否かを示す情報である。回転情報は、回路セル２を配置する際の回転を指示する情報である。
【００３３】
上位レイアウト情報Ｌ２のうち、セル列番号、配置順序、ミラー情報、および回転情報は、回路セル２のインスタンス名に付加される。そして、上位レイアウト情報Ｌ２、およびインスタンス名は自動的にレイアウトエディタツールに取り込まれる（ステップＳ１０５）。
【００３４】
続いて、レイアウトエディタ上において、取り込んだ上位レイアウト情報Ｌ２に基づいて、各々の回路セル２を間接周辺ブロック３のフレームに自動配置し、配置サイズチェッカによるチェックを行う（ステップＳ１０６）。
【００３５】
配置サイズチェッカは、回路セル２が該フレーム内にすべてレイアウトされているか否かをチェックする。
【００３６】
ステップＳ１０６の処理においても、回路セル２を自動配列した後、その配列のサイズに見合った間接周辺ブロック３のフレームを形成するようにしてもよい。その場合には、配置サイズチェッカは不要となる。
【００３７】
間接周辺ブロック３のフレームにおいても、ステップＳ１０３の処理と同様に、予めレイアウトエディタ上においてサイズが設定されており、配置サイズチェッカにおいて、該フレーム内からはみ出した回路セル２がある場合には、その回路セル２のインスタンス名などを表示する。
【００３８】
次に、図３を用いて、ステップＳ１０１〜Ｓ１０３（図２）の工程を詳しく説明する。
【００３９】
図３は、たとえば、３つのプリミティブセル１により、１つの回路セル２を形成する際の自動配置の説明図である。
【００４０】
図３の上方に示した３つのプリミティブセル１には、左から右にかけて、’ＩＮＳＡ’、’ＩＮＳＢ’、’ＩＮＳＣ’のインスタンス名が割り付けられている。
【００４１】
これらプリミティブセル１には、回路図エディタ（下位階層）上で該プリミティブセル１の下方に示す下位レイアウト情報Ｌ１がそれぞれ入力される。これらインスタンス名、および下位レイアウト情報Ｌ１はレイアウトエディタ上で取り込まれ、該下位レイアウト情報Ｌ１に基づいてプリミティブセル１の自動配置が実行される。
【００４２】
たとえば、インスタンス名が’ＩＮＳＡ’である左端のプリミティブセル１の場合、ミラー情報が’Ｙ’、配置順序が’１’、配置座標が’Ｘ＝０’、’Ｙ＝１０’となっている。
【００４３】
レイアウトエディタ上で回路セル２を自動形成する際、たとえば、インスタンス名が’ＩＮＳＡ’である左端のプリミティブセル１は、’Ｘ＝０’、’Ｙ＝１０’の座標に、Ｙ軸方向にミラー反転して最初に配置されることになる。
【００４４】
また、インスタンス名が’ＩＮＳＣ’である右端のプリミティブセル１では、ミラー情報が’ＮＯ’となっているので、ミラー反転せずに’Ｘ＝２０’、’Ｙ＝２０’の座標に、３番目に配置されることになる。
【００４５】
このようにして、３つのプリミティブセル１は、レイアウトエディタ上で図３の下方に示すように自動配置されて回路セル２が形成される。ここで、図中の’Ｆ’状のマークは、プリミティブセル１の原点を示す。
【００４６】
また、図４を用いて、ステップＳ１０４〜Ｓ１０６（図２）の工程を詳しく説明する。
【００４７】
図４は、たとえば、７つの回路セル２を間接周辺ブロック３に自動配置する際の説明図である。
【００４８】
図４の上方に示した４つの回路セル２には、左から右にかけて、’ＩＮＳ１’〜’ＩＮＳ４’のインスタンス名がそれぞれ割り付けられており、該４つのプリミティブセル１の下方に位置する３つのプリミティブセル１には、左から右にかけて、’ＩＮＳ５’〜’ＩＮＳ７’のインスタンス名がそれぞれ割り付けられている。
【００４９】
図の上方に示した７つの回路セル２には、回路図エディタ上で該回路セル２の下方に示す上位レイアウト情報Ｌ２がそれぞれ入力される。インスタンス名、および上位レイアウト情報Ｌ２はレイアウトエディタ上で取り込まれ、該上位レイアウト情報Ｌ２に基づいて回路セル２の自動配置が実行される。
【００５０】
たとえば、インスタンス名が’ＩＮＳ１’である左上端のプリミティブセル１の場合、セル列番号が’Ｒ１’、配置順序が’１’、ミラー情報が’Ｙ’、回転情報が’９０’、および配置座標が’Ｘ＝０’、’Ｙ＝１０’となっている。
【００５１】
この場合、インスタンス名が’ＩＮＳ１’の回路セル２は、’Ｘ＝１０’、’Ｙ＝１０’の座標に、’Ｒ１’のセル列に最初に配置される。この回路セル２は、配置の際に、Ｙ軸方向にミラー反転し、かつ９０度回転して配置されることになる。
【００５２】
また、インスタンス名が’ＩＮＳ４’である右上端のプリミティブセル１では、’Ｘ＝１０’、’Ｙ＝４０’の座標に、’Ｒ１’のセル列に４番目に配置される。この回路セル２も同様に、配置の際にＹ軸方向にミラー反転し、かつ９０度回転して配置されることになる。
【００５３】
インスタンス名が’ＩＮＳ５’のプリミティブセル１では、’Ｘ＝５０’、’Ｙ＝１０’の座標に、’Ｒ２’のセル列に１番目に配置される。この回路セル２も同様に、配置の際にＹ軸方向にミラー反転し、かつ９０度回転して配置されることになる。
【００５４】
このようにして、７つの回路セル２は、レイアウトエディタ上で図４の下方に示すように自動配置されて間接周辺ブロック３が形成される。ここで、図４中の’Ｆ’状のマークは回路セル２の原点を示す。
【００５５】
次に、ＥＤＡツールによるプリミティブセル１の設計から間接周辺ブロック３を半導体チップＣＨ上へレイアウトするまでのレイアウト設計を図５のフローチャートを用いて説明する。
【００５６】
図５においては、プリミティブセルレイアウト工程、間接周辺ブロックレイアウト工程、ならびにチップレイアウト工程の３つの工程を有しており、網掛けで示した部分が本発明による自動化のレイアウト技術である。
【００５７】
まず、プリミティブセルレイアウト工程において、プリミティブセル１を形成し（ステップＳ２０１）、回路図エディタ上において入力されたインスタンス名、および下位レイアウト情報Ｌ１に基づいて、各々のプリミティブセル１を自動レイアウトして回路セル２を形成する（ステップＳ２０２）。
【００５８】
続いて、間接周辺ブロックレイアウト工程において、ステップＳ２０２の工程で形成した回路セル２を回路図エディタ上において入力されたインスタンス名、および上位レイアウト情報Ｌ２に基づいて自動レイアウトを行った後（ステップＳ２０３）、回路セル２間の自動配線を行い（ステップＳ２０４）、間接周辺ブロック３を形成する。
【００５９】
次に、間接周辺ブロック３における自動配線された配線パターンの寄生抵抗、および寄生容量などの実負荷を抽出し（ステップＳ２０５）、該配線パターンの実負荷が予め設定された基準値以上であるか否かをチェックする（ステップＳ２０６）。
【００６０】
このステップＳ２０６の処理において、配線パターンの実負荷が予め設定された基準値以上の場合には、ＮＧとなり回路図修正が行われる。また、配線パターンの実負荷が予め設定された基準値以下の場合には、チップレイアウト工程において、ステップＳ２０４処理において形成された間接周辺ブロック３を半導体チップＣＨ上にレイアウトする（ステップＳ２０７）。
【００６１】
それにより、本実施の形態においては、設計者が割り付けた下位レイアウト情報Ｌ１、および上位レイアウト情報Ｌ２に基づいて、プリミティブセル１、回路セル２をそれぞれ自動レイアウトするので、クリティカルパスの信号遅延などを考慮した間接周辺ブロック３を短時間で形成することができる。
【００６２】
以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００６３】
【発明の効果】
本願によって開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【００６４】
（１）プリミティブセルに付加された第１のレイアウト情報に基づいて、該プリミティブセルを自動レイアウトして回路セルを形成することにより、最適な回路セルを形成することができる。
【００６５】
（２）また、回路セルに付加された第２のレイアウト情報に基づいて、該回路セルを自動レイアウトして周辺ブロックを形成することにより、最適な周辺ブロックを自動的に形成することができる。
【００６６】
（３）上記（１）、（２）により、クリティカルパスの信号遅延などを考慮したレイアウト設計を効率よく行うことができるので、半導体装置のレイアウト設計を短縮するとともに、設計工数やコストなどを大幅に低減することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態による半導体装置におけるレイアウトモデルの説明図である。
【図２】本発明の一実施の形態による間接周辺ブロックのレイアウト設計工程の説明図である。
【図３】図２のプリミティブセルを自動配置して回路セルを形成する工程の詳細な説明図である。
【図４】図２の回路セルを自動配置して間接周辺ブロックを形成する工程の詳細な説明図である。
【図５】プリミティブセルの設計から間接ブロックを半導体チップ上へレイアウトするまでのフローチャートである。
【符号の説明】
１  プリミティブセル
２  回路セル
３  間接周辺ブロック（周辺ブロック）
Ｌ１  下位レイアウト情報（第１のレイアウト情報）
Ｌ２  上位レイアウト情報（第２のレイアウト情報）
ＣＨ  半導体チップ
【図１】
2005025499.tif 000003
【図２】
2005025499.tif 000004
【図３】
2005025499.tif 000005
【図４】
2005025499.tif 000006
【図５】
2005025499.tif 000007