(57)【要約】【課題】半導体集積回路において、依存関係を有するＩＯセルの配置の妥当性を検証すること。【解決手段】半導体集積回路は、制御セルとその制御セルが出力する制御信号によって制御される被制御セルとを、ＩＯ領域に有する。その半導体集積回路の検証方法は、（Ａ）被制御セルが必要とする制御セルを指定する要求情報を有するライブラリを提供するステップと、（Ｂ）ＩＯ領域中で制御信号が伝播する信号配線が設けられる領域を示す領域情報を取得するステップと、（Ｃ）被制御セルが上記領域に配置されている場合、指定された制御セルも上記領域に配置されているか否かを検証するステップと、を含む。【選択図】図９
2008283093.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いた、半導体集積回路の検証方法であって、
前記半導体集積回路は、ＩＯ領域に制御セルと前記制御セルが出力する制御信号によって制御される被制御セルとを有し、
（Ａ）前記被制御セルが必要とする前記制御セルを指定する要求情報を有するライブラリを提供するステップと、
（Ｂ）前記ＩＯ領域中で前記制御信号が伝播する信号配線が設けられる領域を示す領域情報を取得するステップと、
（Ｃ）前記被制御セルが前記領域に配置されている場合、前記指定された制御セルも前記領域に配置されているか否かを検証するステップと
を含む
半導体集積回路の検証方法。
【請求項２】
請求項１に記載の半導体集積回路の検証方法であって、
前記ライブラリは、前記要求情報に加えて前記領域情報を有し、
前記（Ｂ）ステップにおいて、前記領域情報は、前記ライブラリから読み込まれる
半導体集積回路の検証方法。
【請求項３】
請求項１に記載の半導体集積回路の検証方法であって、
前記ライブラリは、前記制御セルと前記被制御セルを含む複数種類のＩＯセルに関するＩＯセルデータを含み、
前記ＩＯセルデータの各々は、自セルに含まれる配線の端子の位置を示す物理情報を有しており、
前記（Ｂ）ステップは、
（Ｂ１）前記ＩＯ領域に配置されたＩＯセル群の前記物理情報を参照して、前記制御信号用の配線の位置を検出するステップと、
（Ｂ２）前記制御信号用の配線が連続している領域を抽出することによって、前記領域情報を作成するステップと
を含む
半導体集積回路の検証方法。
【請求項４】
請求項１乃至３のいずれかに記載の半導体集積回路の検証方法であって、
前記（Ｃ）ステップは、
（Ｃ１）前記ＩＯ領域に配置された前記被制御セルを選択するステップと、
（Ｃ２）前記領域情報を参照し、前記選択された被制御セルが配置されている前記領域を抽出するステップと、
（Ｃ３）前記抽出された領域に配置されている前記指定された制御セルの数をカウントするステップと
を含む
半導体集積回路の検証方法。
【請求項５】
請求項４に記載の半導体集積回路の検証方法であって、
前記（Ｃ）ステップは、更に、
（Ｃ４）前記抽出された領域に配置されている前記指定された制御セルの数が１以外の場合、エラー信号を出力するステップを含む
半導体集積回路の検証方法。
【請求項６】
請求項１乃至５のいずれかに記載の半導体集積回路の検証方法であって、
前記（Ｃ）ステップは、
（Ｃ５）前記ＩＯ領域に配置された前記制御セルあるいは前記被制御セルを、選択セルとして選択するステップと、
（Ｃ６）前記選択セルが前記領域情報で指定された前記領域に配置されているか否かを検証するステップと
を含む、
半導体集積回路の検証方法。
【請求項７】
請求項１乃至６のいずれかに記載の半導体集積回路の検証方法であって、
前記（Ｃ）ステップは、電源配線処理の前に実行される
半導体集積回路の検証方法。
【請求項８】
請求項１乃至７のいずれかに記載の半導体集積回路の検証方法をコンピュータに実行させる
半導体集積回路の設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の検証技術に関する。特に、本発明は、半導体集積回路のＩＯ領域におけるＩＯセルの配置の検証技術に関する。
【背景技術】
【０００２】
図１は、一般的な半導体集積回路の設計方法を示すフローチャートである。まず、各種セルのセルデータから構成されるセルライブラリが用意される（ステップＳ１）。各種セルとしては、マクロセル、プリミティブセル、ＩＯセル等が挙げられる。
【０００３】
次に、ユーザネットリストに基づいてフロアプランニングが行われる（ステップＳ２）。フロアプランニングでは、マクロセルの大体の位置や電源線の概略的な経路が決定される。次に、フロアプランの結果に基づいて、ＩＯ領域にＩＯセルが配置される（ステップＳ３）。ＩＯ領域は、レイアウト領域の周辺領域である。続いて、電源配線処理（power routing）が実施され、電源線やグランド線のレイアウトが行われる（ステップＳ４）。次に、プリミティブセル等の配置や信号配線のルーティングが行われる（ステップＳ５）。その結果、設計回路のレイアウトを示すレイアウトデータが完成する（ステップＳ６）。
【０００４】
その後、レイアウトデータの検証が行われる（ステップＳ７）。レイアウト検証としては、ＤＲＣ（Design Rule Check）やＬＶＳ（Layout Versus Schematic）が挙げられる。ＤＲＣでは、レイアウトが設計基準（Design Rule）を満足しているか否かが検証される。ＬＶＳでは、レイアウトがユーザネットリストに適合しているか、つまり、論理設計段階での素子や素子間の接続がレイアウトで正しく実現されているか否かが検証される。
【０００５】
上記ＩＯセルのうち代表的なものは、入出力バッファである。一般に、入出力バッファのセルデータには、その入力及び出力に関する情報だけが与えられている。従って、入出力バッファ内の電源線やグランド線を考慮したＬＶＳ検証は困難であった。その課題を解決するための技術が、特許文献１に記載されている。
【０００６】
特許文献１に記載された半導体集積回路の検証方法によれば、入出力バッファのセルデータに、その入出力バッファに関する「物理情報」が与えられる。物理情報は、入出力バッファ内の電源線やグランド線の位置を示す。ＬＶＳ検証においては、その物理情報に基づいて、入出力バッファの配置検証が行われる。これにより、隣接する入出力バッファ間の電源線の接続を検証することが可能となる。
【０００７】
【特許文献１】特開２００６−１５５５２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本願発明者は、次の点に着目した。ＩＯ領域には、ある機能を有するＩＯセルと、そのＩＯセルを駆動するためのＩＯセルが存在する。以下、前者は「被制御セル」と参照され、後者は「制御セル」と参照される。制御セルは、被制御セルの動作を制御するための制御信号を出力し、被制御セルは、制御セルが出力する制御信号によって制御される。つまり、被制御セルは制御セルに依存している。
【０００９】
被制御セルが正常に動作するためには、その制御信号が伝わる領域に被制御セルと制御セルの両方が配置されている必要がある。もし、その領域に制御セルが配置されていないと、被制御セルは正常に動作することができない。そのような配置エラーは、レイアウト設計・検証段階で検出されるべきである。
【００１０】
しかしながら、ユーザネットリストは、制御セルと被制御セルとの間の依存関係を示す情報を有していない。従って、従来のＬＶＳ検証では、被制御セルによって要求される制御セルが存在していないというエラーを検出することができない。そのような配置エラーが見逃されると、製品が正常に動作しなくなる。
【課題を解決するための手段】
【００１１】
本発明の１つの観点において、半導体集積回路の検証方法が提供される。半導体集積回路は、制御セルとその制御セルが出力する制御信号によって制御される被制御セルとを、ＩＯ領域に有する。検証方法は、（Ａ）被制御セルが必要とする制御セルを指定する要求情報を有するライブラリを提供するステップと、（Ｂ）ＩＯ領域中で制御信号が伝播する信号配線が設けられる領域を示す領域情報を取得するステップと、（Ｃ）被制御セルが上記領域に配置されている場合、指定された制御セルも上記領域に配置されているか否かを検証するステップと、を含む。
【００１２】
制御セルと被制御セルとの間の依存関係は、ユーザネットリストには示されていない。そのため、その依存関係を示す情報がライブラリとして提供される。特に、被制御セルが必要とする制御セルを指定する「要求情報」がライブラリとして提供される。
【００１３】
また、制御セルと被制御セルは、ＩＯ領域内の制御信号を通して関連付けられる。その制御信号が伝播する信号配線が設けられる領域を示す情報が、「領域情報」である。領域情報は、ライブラリとして予め提供されてもよいし、ＩＯ領域中の複数のＩＯセルの配置に基づいて作成されてもよい。
【００１４】
被制御セルが正常に動作するためには、制御信号が伝わる領域に被制御セルと制御セルの両方が配置されている必要がある。それら制御セルと被制御セルの配置は、上述の「要求情報」と「領域情報」を用いることにより検証することが可能である。具体的には、被制御セルが領域情報で示される領域に配置されている場合に、要求情報で指定された制御セルも“同じ領域”に配置されているか否かが検証される。つまり、被制御セルが要求する制御セルの存在を確認することができる。
【００１５】
以上に説明されたように、本発明によれば、従来のＬＶＳ検証では発見できなかった、被制御セルが要求する制御セルの不存在を検出することが可能である。言い換えれば、制御セルと被制御セルの配置の妥当性を検証し、被制御セルが正常に動作するか否かを検証することが可能である。その結果、配置エラーに起因する製品の不具合を防止することができ、製品の歩留まりが向上する。
【００１６】
更に、本発明によれば、ＩＯセルの配置検証をＬＶＳ検証より前に実行することもできる。少なくともＩＯ領域に対するＩＯセルの配置が完了していれば、そのＩＯセルの配置を検証することができる。例えば、ＩＯセルの配置処理の直後に、ＩＯセルの配置検証を実行することができる。その場合、電源配線処理や配置配線処理の前に、ＩＯセルの配置エラーを検出することが可能である。ＩＯセルの配置エラーを早期に発見することができるため、ＴＡＴが大幅に削減される。
【発明の効果】
【００１７】
本発明によれば、依存関係を有するＩＯセルの配置の妥当性を検証することが可能となる。その結果、ＩＯセルの配置エラーに起因する製品の不具合を防止することが可能となる。
【発明を実施するための最良の形態】
【００１８】
１．第１の実施の形態
１−１．設計システム及び動作
図２は、本発明の第１の実施の形態に係る設計システム１の構成例を示すブロック図である。設計システム１は、コンピュータシステムによって実現され、記憶装置２、プロセッサ３、入力装置４、出力装置５、及び設計プログラム群１０を含んでいる。記憶装置２としては、ＲＡＭやＨＤＤが例示される。プロセッサ３は、各装置の動作を制御し、また、各種データ処理を実行する。入力装置４としては、キーボードやマウスが例示される。出力装置５としては、ディスプレイが例示される。
【００１９】
設計プログラム群１０は、プロセッサ３によって実行されるソフトウェアであり、レイアウトプログラム１１とレイアウト検証プログラム１２を含んでいる。これらプログラム１１、１２は、コンピュータ読み取り可能な記録媒体に記録され、その記録媒体から記憶装置２に読み込まれてもよい。プロセッサ３と設計プログラム群１０との協働により、本実施の形態に係る半導体集積回路の設計処理が実現される。具体的には、レイアウトプログラム１１の命令に従って、プロセッサ３は、設計回路のレイアウト処理を実行する。また、レイアウト検証プログラム１２の命令に従って、プロセッサ３は、ＤＲＣやＬＶＳ等のレイアウト検証を実行する。
【００２０】
記憶装置２には、ネットリストＮＥＴ、レイアウトデータＬＡＹ、及びセルライブラリ２０が格納される。ネットリストＮＥＴは、設計回路の素子や素子間の接続を示す情報である。レイアウトデータＬＡＹは、設計回路のレイアウトを示すデータである。
【００２１】
セルライブラリ２０は、セルデータ２１、ＩＯセルデータ２２、及び領域情報２５を含んでいる。セルデータ２１は、内部領域に配置されるマクロセルやプリミティブセルのデータである。ＩＯセルデータ２２は、ＩＯ領域に配置される複数種類のＩＯセルのデータである。ＩＯセルは、「被制御セル」と、その被制御セルを駆動する「制御セル」とを含んでいる。制御セルは、被制御セルの動作を制御するための制御信号を出力し、被制御セルは、制御セルが出力する制御信号によって制御される。以下、被制御セルに関するＩＯセルデータ２２は、特にＩＯセルデータ２２Ａと参照され、制御セルに関するＩＯセルデータ２２は、特にＩＯセルデータ２２Ｂと参照される。ＩＯセルデータ２２Ａ、２２Ｂ、及び領域情報２５に関しては、後の第１−３節において詳述される。
【００２２】
図３は、本実施の形態に係る半導体集積回路の設計方法を示すフローチャートである。まず、図２に示されたセルライブラリ２０が用意され提供される（ステップＳ１０）。セルライブラリ２０に関しては、後の第１−３節において詳述される。
【００２３】
次に、プロセッサ３は、レイアウトプログラム１１を実行する。これにより、設計回路のレイアウト処理が実行される。具体的には、まず、プロセッサ３は、記憶装置２からネットリストＮＥＴ及びセルライブラリ２０を読み込む。次に、プロセッサ３は、ネットリストＮＥＴに基づいてフロアプランニングを行う（ステップＳ２０）。フロアプランニングでは、マクロセルの大体の位置や電源線の概略的な経路が決定される。
【００２４】
次に、プロセッサ３は、ＩＯセルデータ２２、２２Ａ、及び２２Ｂを用いることにより、ＩＯ領域に各種ＩＯセルを配置する（ステップＳ３０）。ＩＯセルの配置は、例えば、フロアプランの結果に基づいて決定される。続いて、プロセッサ３は、ＩＯ領域に配置されたＩＯセルの配置の妥当性を検証する（ステップＳ４０）。つまり、本実施の形態に係るレイアウトプログラム１１は、ＩＯセルの配置検証を行う機能を備えている。ＩＯセルの配置の妥当性の検証に関しては、後の第１−４節において詳述される。
【００２５】
その後、プロセッサ３は、電源配線処理（power routing）を実施し、電源線やグランド線のレイアウトを決定する（ステップＳ５０）。更に、プロセッサ３は、セルデータ２１を用いることにより、内部領域にプリミティブセル等を配置し、また、セル間の配線（routing）を行う（ステップＳ６０）。その結果、設計回路のレイアウトデータＬＡＹが完成する（ステップＳ７０）。作成されたレイアウトデータＬＡＹは、記憶装置２に格納される。
【００２６】
次に、プロセッサ３は、レイアウト検証プログラム１２を実行する。これにより、設計回路のレイアウト検証が実施される（ステップＳ８０）。具体的には、プロセッサ３は、記憶装置２からレイアウトデータＬＡＹを読み出し、そのレイアウトデータＬＡＹに関するＤＲＣやＬＶＳを実施する。
【００２７】
以下、本実施の形態に係るセルライブラリ２０及びＩＯ配置検証（ステップＳ４０）を、例を挙げながら詳しく説明する。例として、高速信号伝送を実現するための技術であるＬＶＤＳ（Low Voltage Differential Signaling）を考える。
【００２８】
１−２．ＬＶＤＳ
図４は、ＬＶＤＳを説明するための回路図である。ＬＶＤＳバッファ３１及びＬＶＤＳ駆動セル３２は、ＩＯ領域に配置されるＩＯセルである。ＬＶＤＳバッファ３１は、ＬＶＤＳ信号を出力するためのバッファである。図４では、３つのＬＶＤＳバッファ３１−１〜３１−３が示されている。一方、ＬＶＤＳ駆動セル３２は、ＬＶＤＳバッファ３１を駆動するための回路である。具体的には、ＬＶＤＳ駆動セル３２は、バイアス回路を含んでおり、ＬＶＤＳバッファ３１の動作電圧を出力する。出力された動作電圧は、配線４０を通してＬＶＤＳバッファ３１に供給される。ＬＶＤＳバッファ３１は、その動作電圧に基づいて動作する。また、ＬＶＤＳ駆動セル３２は、動作電圧の出力をＯＮ／ＯＦＦすることができる。
【００２９】
このように、ＬＶＤＳバッファ３１の動作は、ＬＶＤＳ駆動セル３２の出力によって制御される。ＬＶＤＳバッファ３１は、ＬＶＤＳ駆動セル３２に依存しており、ＬＶＤＳ駆動セル３２を必要とする。従って、図４に示された例では、ＬＶＤＳバッファ３１が「被制御セル」であり、ＬＶＤＳ駆動セル３２が「制御セル」である。また、ＬＶＤＳ駆動セル３２が出力する動作電圧は、ＬＶＤＳバッファ３１の動作を制御する「ＬＶＤＳ制御信号ＣＳ」に相当する。配線４０は、ＬＶＤＳ制御信号ＣＳが伝播する「制御信号配線」である。ＬＶＤＳバッファ３１（被制御セル）とＬＶＤＳ駆動セル３２（制御セル）は、制御信号配線４０を伝播するＬＶＤＳ制御信号ＣＳを通して関連付けられる。
【００３０】
図５は、ＬＶＤＳバッファ３１とＬＶＤＳ駆動セル３２の配置の一例を示している。ＩＯ領域ＲＩＯは、レイアウト領域の周縁領域である。ステップＳ３０においては、そのＩＯ領域ＲＩＯに、ＬＶＤＳバッファ３１やＬＶＤＳ駆動セル３２を含む複数種類のＩＯセルが配置される。
【００３１】
また、図５に示されるように、ＩＯ領域ＲＩＯは、左辺と下辺にわたる領域Ｒ１と、右辺と上辺にわたる領域Ｒ２とに区分けされている。ここで、ＬＶＤＳ制御信号ＣＳが伝播する制御信号配線４０は、領域Ｒ１と領域Ｒ２にまたがって形成されないとする。つまり、制御信号配線４０は、領域Ｒ１と領域Ｒ２との間で物理的に分断される。制御信号配線４０は、領域Ｒ１、Ｒ２のそれぞれの中だけで閉じるように形成される。領域Ｒ１、Ｒ２の各々は、単一のＬＶＤＳ制御信号ＣＳが分配され得る領域であると言える。
【００３２】
図５において、あるＬＶＤＳバッファ３１が領域Ｒ１に配置されている。そのＬＶＤＳバッファ３１は、ＬＶＤＳ制御信号ＣＳを出力するＬＶＤＳ駆動セル３２を必要とする。従って、そのＬＶＤＳバッファ３１が正常に動作するためには、同じ領域Ｒ１にＬＶＤＳ駆動セル３２も配置されている必要がある。つまり、制御信号配線４０が連続して形成される領域Ｒ１に、ＬＶＤＳバッファ３１とＬＶＤＳ駆動セル３２の両方が配置されている必要がある。
【００３３】
また、同じ領域Ｒ１に２以上のＬＶＤＳ駆動セル３２が存在する場合、少なくとも１つのＬＶＤＳ駆動セル３２において出力ショート発生する。従って、同じ領域Ｒ１に、複数のＬＶＤＳ駆動セル３２が存在してはならない。
【００３４】
以上のことをまとめると、ある領域にＬＶＤＳバッファ３１（被制御セル）が配置されている場合、同じ領域に単一のＬＶＤＳ駆動セル３２（制御セル）が配置されている必要がある。本実施の形態によれば、そのような配置が行われているか否かの検証を行うことが可能である。そのために、本実施の形態に係るセルライブラリ２０には、次のような情報が与えられる。
【００３５】
１−３．セルライブラリ
図２で示されたＩＯセルデータ２２Ａは、ＬＶＤＳバッファ３１（被制御セル）に関するセルデータである。このＩＯセルデータ２２Ａは、「ＲＥＱＵＩＲＥ情報（要求情報）」を含んでいる。ＲＥＱＵＩＲＥ情報は、被制御セルであるＬＶＤＳバッファ３１が必要とする制御セルの種類を指定する情報である。
【００３６】
図６は、ＲＥＱＵＩＲＥ情報の一例を示している。ＲＥＱＵＩＲＥ情報は、「信号属性」と「要求セルグループ」から構成される。信号属性は、関連する制御信号を表し、要求セルグループは、必要とする制御セルの種類を表す。本例では、ＬＶＤＳ制御信号ＣＳを表す識別名“ＬＶＤＳ”が、信号属性として与えられている。また、特定のセルの種類を表す識別名“ＬＶＤＳ＿ＩＮＰＵＴ”が、要求セルグループとして与えられている。
【００３７】
図２で示されたＩＯセルデータ２２Ｂは、ＬＶＤＳ駆動セル３２（制御セル）に関するセルデータである。このＩＯセルデータ２２Ｂは、「ＧＲＯＵＰ情報」を含んでいる。ＧＲＯＵＰ情報は、制御セルである自セルの種類を特定する情報である。
【００３８】
図７は、ＧＲＯＵＰ情報の一例を示している。ＧＲＯＵＰ情報は、「信号属性」と「セルグループ」から構成される。ＲＥＱＵＩＲＥ情報と同様に、信号属性は、関連する制御信号を表す。一方、セルグループは、自セルの種類を表す。本例では、ＬＶＤＳ制御信号ＣＳを表す識別名“ＬＶＤＳ”が、信号属性として与えられている。また、自セルの種類を表す識別名“ＬＶＤＳ＿ＩＮＰＵＴ”が、セルグループとして与えられている。
【００３９】
ＲＥＱＵＩＲＥ情報の要求セルグループは、ＧＲＯＵＰ情報のセルグループと一致していることに留意されたい。また、要求セルグループやセルグループが、ある特定の制御セルではなく、ある種類を表していることに留意されたい。異なる制御セルであっても、同一の機能を提供するものであれば、同じ種類であるとみなされる。
【００４０】
図８は、領域情報２５の一例を示している。領域情報２５は、ＩＯ領域ＲＩＯ中でＬＶＤＳ制御信号ＣＳが伝播する領域Ｒ１、Ｒ２を示す（図５参照）。つまり、領域情報２５は、ＩＯ領域ＲＩＯ中で制御信号配線４０が連続して設けられる領域Ｒ１、Ｒ２を示す。より詳細には、図８に示されるように、領域情報２５は、「信号属性」と「領域」の対応関係を示している。「信号属性」は、ＩＯ領域中の制御信号を表し、「領域」は、その信号属性の制御信号が伝播する領域を表す。図８から、信号属性“ＬＶＤＳ”である制御信号は、領域Ｒ１あるいはＲ２内を伝播することが分かる。
【００４１】
以上に示されたように、ＩＯセルデータ２２Ａ、２２Ｂ、及び領域情報は、「信号属性」により互いに関連付けられている。ある「信号属性」を指定することにより、その信号属性に関連している制御セル、被制御セル、及び領域を認識することができる。
【００４２】
１−４．ＩＯ配置検証
ステップＳ３０においてＩＯ領域ＲＩＯに複数のＩＯセルが配置された後に、そのＩＯセルの配置検証が行われる（ステップＳ４０）。図９は、本実施の形態に係るステップＳ４０を詳細に示すフローチャートである。
【００４３】
ＩＯ配置検証は、上述のＲＥＱＵＩＲＥ情報、ＧＲＯＵＰ情報、及び領域情報２５に基づいて行われる。ＲＥＱＵＩＲＥ情報及びＧＲＯＵＰ情報は、配置されているＩＯセルのデータに含まれている。領域情報２５は、記憶装置２に格納されたセルライブラリ２０から読み込まれる（ステップＳ４１）。
【００４４】
次に、ＩＯ領域ＲＩＯに配置されている複数のＩＯセルから、１つのＩＯセルが選択される（ステップＳ４２）。選択された１つのＩＯセルは、以下、「選択セル」と参照される。
【００４５】
選択セルが被制御セルあるいは制御セルの場合、ＲＥＱＵＩＲＥ情報あるいはＧＲＯＵＰ情報が存在する。その場合、領域情報２５を参照することにより、ＲＥＱＵＩＲＥ情報あるいはＧＲＯＵＰ情報で示される「信号属性」に対応付けられた「領域」が認識される。そして、選択セルが、領域情報２５で指定された領域に配置されているか否かが検証される。
【００４６】
選択セルが指定された領域に配置されていない場合（ステップＳ４３；Ｎｏ）、その選択セルの配置は間違いである。従って、検証結果はＦＡＩＬである。ＦＡＩＬの場合、エラー信号が出力され、ステップＳ４０は終了する。そのエラー信号に応答して、ステップＳ３０が再度実行される。一方、選択セルが指定された領域に配置されている場合（ステップＳ４３；Ｙｅｓ）、その選択セルの配置は少なくとも正しい。その場合、処理は、ステップＳ４４に移る。
【００４７】
次に、選択セルが被制御セルかどうかの判定が行われる（ステップＳ４４）。被制御セル以外の場合（ステップＳ４４；Ｎｏ）、当該選択セルに関してそれ以上の検証処理は行われず、処理はステップＳ４８に移る。一方、選択セルが被制御セルの場合（ステップＳ４４；Ｙｅｓ）、当該被制御セルが必要とする制御セルが同じ領域に存在しているか否かの検証が行われる。すなわち、被制御セルに関する依存関係が満たされている否かの確認が行われる。
【００４８】
まず、ＲＥＱＵＩＲＥ情報と領域情報２５を参照することにより、被制御セルが配置されている領域が、検証対象として抽出される（ステップＳ４５）。図６及び図８で示された例の場合、ＲＥＱＵＩＲＥ情報中の信号属性は“ＬＶＤＳ”であり、また、その信号属性“ＬＶＤＳ”に対応する領域がＲ１及びＲ２であることが領域情報２５から分かる。従って、領域Ｒ１及びＲ２のうち被制御セルが配置されている方の領域が、検証対象として抽出される。例えば、当該被制御セルが領域Ｒ１に配置されている場合、その領域Ｒ１が抽出される。
【００４９】
次に、ＲＥＱＵＩＲＥ情報を参照することにより、当該被制御セルが要求する制御セルの種類が認識される。図６で示された例の場合、セルグループ“ＬＶＤＳ＿ＩＮＰＵＴ”が必要である。そして、上記抽出された領域Ｒ１に配置されているセルのＧＲＯＵＰ情報を参照することにより、信号属性“ＬＶＤＳ”とセルグループ“ＬＶＤＳ＿ＩＮＰＵＴ”が一致している制御セルの数がカウントされる。つまり、検証対象としての領域Ｒ１に配置されており、且つ、ＲＥＱＵＩＲＥ情報で指定されている制御セルの数がカウントされる（ステップＳ４６）。
【００５０】
カウント数が０の場合、被制御セルを駆動する制御セルが同じ領域に存在せず、その被制御セルは正常に動作しない。また、カウント数が２以上の場合、上述の通り出力ショートが発生する。すなわち、カウント数が１以外の場合（ステップＳ４７；Ｎｏ）、検証結果はＦＡＩＬである。ＦＡＩＬの場合、エラー信号が出力され、ステップＳ４０は終了する。そして、そのエラー信号に応答してステップＳ３０が再度実行される。一方、カウント数が１の場合（ステップＳ４７；Ｙｅｓ）、当該被制御セルに関する依存関係は満たされており、検証結果はＰＡＳＳである。
【００５１】
ＩＯ領域ＲＩＯに配置されている全てのＩＯセルに対して、上述のフローが繰り返し実行される。全てのＩＯセルの検証が完了すると（ステップＳ４８；Ｙｅｓ）、ステップＳ４０は終了する。
【００５２】
既出の図５は、検証結果がＰＡＳＳの場合を示している。図５において、ＬＶＤＳバッファ３１（被制御セル）が領域Ｒ１に配置されている。その領域Ｒ１は、ＬＶＤＳ制御信号ＣＳが伝播する領域である（ステップＳ４３；Ｙｅｓ）。また、その領域Ｒ１に、ＬＶＤＳバッファ３１が要求するＬＶＤＳ駆動セル３２（制御セル）が１つだけ配置されている（ステップＳ４７；Ｙｅｓ）。従って、ＬＶＤＳバッファ３１は正常に動作することができ、また、出力ショートは発生しない。
【００５３】
図１０は、検証結果がＦＡＩＬの場合の一例を示している。図１０において、ＬＶＤＳバッファ３１が領域Ｒ１に配置されている。しかしながら、その領域Ｒ１に、ＬＶＤＳバッファ３１が要求するＬＶＤＳ駆動セル３２が存在していない（ステップＳ４７；Ｎｏ）。この場合、ＬＶＤＳバッファ３１は正常に動作しない。従って、検証結果はＦＡＩＬとなる。
【００５４】
図１１は、検証結果がＦＡＩＬの場合の他の例を示している。図１１において、ＬＶＤＳバッファ３１（被制御セル）が領域Ｒ１に配置されている。しかしながら、その領域Ｒ１に、２つのＬＶＤＳ駆動セル３２−１、３２−２が配置されている（ステップＳ４７；Ｎｏ）。この場合、出力ショートが発生する。従って、検証結果はＦＡＩＬとなる。
【００５５】
１−５．効果
以上に説明されたように、本実施の形態によれば、制御セルと被制御セルの配置の妥当性を検証することが可能である。特に、従来のＬＶＳ検証では発見できなかった、被制御セルが要求する制御セルの不存在を検出することが可能である。つまり、被制御セルが正常に動作するか否かを検証することが可能である。その結果、配置エラーに起因する製品の不具合を防止することができ、製品の歩留まりが向上する。
【００５６】
更に、本実施の形態によれば、ＩＯセルの配置検証（ステップＳ４０）をＬＶＳ検証より前に実行することができる。少なくともＩＯ領域に対するＩＯセルの配置が完了していれば、そのＩＯセルの配置を検証することができる。例えば、ＩＯセルの配置処理（ステップＳ３０）の直後に、ＩＯセルの配置検証（ステップＳ４０）を実行することができる。その場合、電源配線処理（ステップＳ５０）や配置配線処理（ステップＳ６０）の前に、ＩＯセルの配置エラーを検出することが可能である。ＩＯセルの配置エラーを早期に発見することができるため、ＴＡＴが大幅に削減される。
【００５７】
２．第２の実施の形態
第２の実施の形態では、別の例として、ＩＯＬＨの場合の処理を説明する。ＩＯＬＨは、ＩＯバッファの出力インピーダンス（駆動能力）を調整可能にする技術である。
【００５８】
２−１．ＩＯＬＨ
図１２は、ＩＯＬＨを説明するための回路図である。第１ＩＯＬＨバッファ５１、第２ＩＯＬＨバッファ５２、第１ＩＯＬＨコントローラ５３、第２ＩＯＬＨコントローラ５４、及びＩＯＬＨイネーブルセル５５は、ＩＯ領域に配置されるＩＯセルである。
【００５９】
第１ＩＯＬＨバッファ５１は、２．５Ｖで動作するＩＯバッファである。第２ＩＯＬＨバッファ５２は、３．３Ｖで動作するＩＯバッファである。第１ＩＯＬＨコントローラ５３は、第１ＩＯＬＨバッファ５１の出力インピーダンスを調整するための回路である。第２ＩＯＬＨコントローラ５４は、第２ＩＯＬＨバッファ５２の出力インピーダンスを調整するための回路である。ＩＯＬＨイネーブルセル５５は、第１ＩＯＬＨコントローラ５３及び第２ＩＯＬＨコントローラ５４を活性化するための回路である。
【００６０】
ＩＯバッファ（５１、５２）は、複数組のＰｃｈ／Ｎｃｈトランジスタを含んでおり、使用される組の数を変化させることによって、そのＩＯバッファの出力インピーダンス（駆動能力）を変化させることができる。コントローラ（５３、５４）は、その組の数を設定するための回路である。具体的には、コントローラは、ＩＯバッファのレプリカ回路と比較回路を含んでいる。比較回路は、レプリカ回路に基づいて生成される電圧と、外部リファレンス抵抗に基づいて生成される電圧との比較を行う。レプリカ回路内で使用される組の数を変化させることにより、レプリカ回路の出力インピーダンスが外部リファレンス抵抗と等しくなる組の数を決定する。コントローラは、決定された組の数を示す制御信号をＩＯバッファに出力する。ＩＯバッファで使用される組は、その制御信号によって設定される。それにより、ＩＯバッファの出力インピーダンスを所望の値に設定することができる。このような出力インピーダンスの調整は、例えば、製造ばらつきを減少させるために、製品の出荷前に一度だけ実行される。その調整モード時にコントローラを活性化させるのが、ＩＯＬＨイネーブルセル５５である。
【００６１】
図１２に示されるように、第１ＩＯＬＨコントローラ５３は、第１ＩＯＬＨバッファ５１の出力インピーダンスを調整するための第１ＩＯＬＨ制御信号ＣＳ１を出力する。その第１ＩＯＬＨ制御信号ＣＳ１は、第１制御信号配線６１を介して第１ＩＯＬＨバッファ５１に供給される。第１ＩＯＬＨバッファ５１は、その第１ＩＯＬＨ制御信号ＣＳ１に応じて出力インピーダンスを設定する。従って、第１ＩＯＬＨバッファ５１が「被制御セル」であり、第１ＩＯＬＨコントローラ５３が「制御セル」である。
【００６２】
同様に、第２ＩＯＬＨコントローラ５４は、第２ＩＯＬＨバッファ５２の出力インピーダンスを調整するための第２ＩＯＬＨ制御信号ＣＳ２を出力する。その第２ＩＯＬＨ制御信号ＣＳ２は、第２制御信号配線６２を介して第２ＩＯＬＨバッファ５２に供給される。第２ＩＯＬＨバッファ５２は、その第２ＩＯＬＨ制御信号ＣＳ２に応じて出力インピーダンスを設定する。従って、第２ＩＯＬＨバッファ５２が「被制御セル」であり、第２ＩＯＬＨコントローラ５４が「制御セル」である。
【００６３】
また、ＩＯＬＨイネーブルセル５５は、ＩＯＬＨコントローラ５３、５４を活性化するためのＩＯＬＨイネーブル信号ＥＮを出力する。そのＩＯＬＨイネーブル信号ＥＮは、イネーブル信号配線６３を介してＩＯＬＨコントローラ５３、５４に供給される。ＩＯＬＨコントローラ５３、５４は、そのイネーブル信号ＥＮに応答して、出力インピーダンスの調整を行う。従って、ＩＯＬＨコントローラ５３、５４が「被制御セル」であり、ＩＯＬＨイネーブルセル５５が、「制御セル」である。
【００６４】
第１ＩＯＬＨコントローラ５３は、第１ＩＯＬＨバッファ５１に対して「制御セル」であると共に、ＩＯＬＨイネーブルセル５５に対して「被制御セル」であることに留意されたい。また、第２ＩＯＬＨコントローラ５４は、第２ＩＯＬＨバッファ５２に対して「制御セル」であると共に、ＩＯＬＨイネーブルセル５５に対して「被制御セル」であることに留意されたい。このような階層的な構成であっても、第１の実施の形態と同様にＩＯ配置検証を行うことができる。
【００６５】
図１３は、本実施の形態におけるＩＯセルの配置の一例を示している。第１の実施の形態と重複する説明は適宜省略される。図１３において、ＩＯ領域ＲＩＯは、領域Ｒ１と領域Ｒ２とに区分けされている。領域Ｒ１は、２．５Ｖ領域である。従って、領域Ｒ１には、第１ＩＯＬＨ制御信号ＣＳ１が伝播する第１制御信号配線６１が設けられる。一方、領域Ｒ２は、３．３Ｖ領域である。従って、領域Ｒ２には、第２ＩＯＬＨ制御信号ＣＳ２が伝播する第２制御信号配線６２が設けられる。領域Ｒ３は、ＩＯ領域ＲＩＯの全域に相当する。その領域Ｒ３には、ＩＯＬＨイネーブル信号ＥＮが伝播するイネーブル信号配線６３が設けられる。
【００６６】
２−２．セルライブラリ
本実施の形態に係る設計システム１の構成は、図２で示された構成と同様である。セルライブラリ２０は、ＩＯＬＨバッファ５１、５２、ＩＯＬＨコントローラ５３、５４、及びＩＯＬＨイネーブルセル５５のＩＯセルデータ２２を含んでいる。図１４は、本実施の形態に係るＲＥＱＵＩＲＥ情報とＧＲＯＵＰ情報の一例を示している。
【００６７】
第１ＩＯＬＨバッファ５１は被制御セルであり、そのＩＯセルデータ２２ＡはＲＥＱＵＩＲＥ情報を含んでいる。信号属性は、第１ＩＯＬＨ制御信号ＣＳ１を表す“ＩＯＬＨ２５”であり、要求セルグループは“ＩＯＬＨ２５”である。
【００６８】
第２ＩＯＬＨバッファ５２は被制御セルであり、そのＩＯセルデータ２２ＡはＲＥＱＵＩＲＥ情報を含んでいる。信号属性は、第２ＩＯＬＨ制御信号ＣＳ２を表す“ＩＯＬＨ３３”であり、要求セルグループは“ＩＯＬＨ３３”である。
【００６９】
第１ＩＯＬＨコントローラ５３は、制御セルであり、且つ、被制御セルである。従って、そのセルデータは、ＩＯセルデータ２２Ｂと２２Ａの組み合わせとなり、ＧＲＯＵＰ情報とＲＥＱＵＩＲＥ情報の両方を含む。ＧＲＯＵＰ情報の信号属性は、第１ＩＯＬＨ制御信号ＣＳ１を表す“ＩＯＬＨ２５”であり、セルグループは自セルの種類を表す“ＩＯＬＨ２５”である。また、ＲＥＱＵＩＲＥ情報の信号属性は、ＩＯＬＨイネーブル信号ＥＮを表す“ＩＯＬＨＥＮ”であり、要求セルグループは“ＩＯＬＨＥＮ”である。
【００７０】
第２ＩＯＬＨコントローラ５４は、制御セルであり、且つ、被制御セルである。従って、そのセルデータは、ＩＯセルデータ２２Ｂと２２Ａの組み合わせとなり、ＧＲＯＵＰ情報とＲＥＱＵＩＲＥ情報の両方を含む。ＧＲＯＵＰ情報の信号属性は、第２ＩＯＬＨ制御信号ＣＳ２を表す“ＩＯＬＨ３３”であり、セルグループは自セルの種類を表す“ＩＯＬＨ３３”である。また、ＲＥＱＵＩＲＥ情報の信号属性は、ＩＯＬＨイネーブル信号ＥＮを表す“ＩＯＬＨＥＮ”であり、要求セルグループは“ＩＯＬＨＥＮ”である。
【００７１】
ＩＯＬＨイネーブルセル５５は制御セルであり、そのＩＯセルデータ２２ＢはＧＲＯＵＰ情報を含んでいる。信号属性は、ＩＯＬＨイネーブル信号ＥＮを表す“ＩＯＬＨＥＮ”であり、セルグループは自セルの種類を表す“ＩＯＬＨＥＮ”である。
【００７２】
図１５は、本実施の形態に係る領域情報２５を示している。領域情報２５は、「信号属性」と「領域」の対応関係を示している。図１５から、信号属性“ＩＯＬＨ２５”である制御信号は、領域Ｒ１内を伝播することが分かる（図１３参照）。同様に、信号属性“ＩＯＬＨ３３”である制御信号は領域Ｒ２内を伝播し、信号属性“ＩＯＬＨＥＮ”である制御信号は領域Ｒ３内を伝播することが分かる。
【００７３】
２−３．ＩＯ配置検証
本実施の形態におけるＩＯ配置検証（ステップＳ４０）のフローは、図９で示されたものと同様である。第１の実施の形態と重複する説明は適宜省略される。
【００７４】
既出の図１３は、検証結果がＰＡＳＳの場合を示している。図１３において、第１ＩＯＬＨバッファ５１（被制御セル）が領域Ｒ１に配置されている。その領域Ｒ１は、第１ＩＯＬＨ制御信号ＣＳ１が伝播する領域である（ステップＳ４３；Ｙｅｓ）。また、その領域Ｒ１に、第１ＩＯＬＨバッファ５１が要求する第１ＩＯＬＨコントローラ５３（制御セル）が１つだけ配置されている（ステップＳ４７；Ｙｅｓ）。従って、第１ＩＯＬＨバッファ５１は正常に動作することができ、また、出力ショートは発生しない。
【００７５】
第１ＩＯＬＨコントローラ５３（被制御セル）が領域Ｒ３に配置されている。その領域Ｒ３は、ＩＯＬＨイネーブル信号ＥＮが伝播する領域である（ステップＳ４３；Ｙｅｓ）。また、その領域Ｒ３に、第１ＩＯＬＨコントローラ５３が要求するＩＯＬＨイネーブルセル５５（制御セル）が１つだけ配置されている（ステップＳ４７；Ｙｅｓ）。従って、第１ＩＯＬＨコントローラ５３は正常に動作することができ、また、出力ショートは発生しない。
【００７６】
第２ＩＯＬＨバッファ５２（被制御セル）が領域Ｒ２に配置されている。その領域Ｒ２は、第２ＩＯＬＨ制御信号ＣＳ２が伝播する領域である（ステップＳ４３；Ｙｅｓ）。また、その領域Ｒ２に、第２ＩＯＬＨバッファ５２が要求する第２ＩＯＬＨコントローラ５４（制御セル）が１つだけ配置されている（ステップＳ４７；Ｙｅｓ）。従って、第２ＩＯＬＨバッファ５２は正常に動作することができ、また、出力ショートは発生しない。
【００７７】
第２ＩＯＬＨコントローラ５４（被制御セル）が領域Ｒ３に配置されている。その領域Ｒ３は、ＩＯＬＨイネーブル信号ＥＮが伝播する領域である（ステップＳ４３；Ｙｅｓ）。また、その領域Ｒ３に、第２ＩＯＬＨコントローラ５４が要求するＩＯＬＨイネーブルセル５５（制御セル）が１つだけ配置されている（ステップＳ４７；Ｙｅｓ）。従って、第２ＩＯＬＨコントローラ５４は正常に動作することができ、また、出力ショートは発生しない。
【００７８】
図１６は、検証結果がＦＡＩＬの場合の一例を示している。図１４で示されたように、第１ＩＯＬＨバッファ５１のＲＥＱＵＩＲＥ情報の信号属性は“ＩＯＬＨ２５”である。そして、図１５で示されたように、その信号属性“ＩＯＬＨ２５”に対応付けられた領域は領域Ｒ１である。ところが、図１６において、第１ＩＯＬＨバッファ５１が領域Ｒ２に配置されている。これは、指定された領域Ｒ１に一致していない（ステップＳ４３；Ｎｏ）。第１ＩＯＬＨバッファ５１が、第１ＩＯＬＨ制御信号ＣＳ１が伝わる領域Ｒ１に配置されていないため、検証結果はＦＡＩＬとなる。
【００７９】
また、第２ＩＯＬＨバッファ５２が領域Ｒ１に配置されている。これも指定された領域Ｒ２に一致していない（ステップＳ４３；Ｎｏ）。従って、検証結果はＦＡＩＬとなる。
【００８０】
図１７は、検証結果がＦＡＩＬの場合の他の例を示している。図１７において、第１ＩＯＬＨバッファ５１（被制御セル）が領域Ｒ１に配置されている。その領域Ｒ１は、第１ＩＯＬＨ制御信号ＣＳ１が伝播する領域である（ステップＳ４３；Ｙｅｓ）。しかしながら、その領域Ｒ１に、第１ＩＯＬＨバッファ５１が要求する第１ＩＯＬＨコントローラ５３（制御セル）が存在していない（ステップＳ４７；Ｎｏ）。この場合、第１ＩＯＬＨバッファ５１は正常に動作しない。従って、検証結果はＦＡＩＬとなる。
【００８１】
また、領域Ｒ３に、２つのＩＯＬＨイネーブルセル５５−１、５５−２が配置されている（ステップＳ４７；Ｎｏ）。この場合、出力ショートが発生する。従って、検証結果はＦＡＩＬとなる。
【００８２】
以上に説明されたように、階層的な構成であっても、第１の実施の形態と同様にＩＯ配置検証を行うことができる。その結果、第１の実施の形態と同じ効果が得られる。
【００８３】
３．第３の実施の形態
図１８は、第３の実施の形態に係る設計システム１’の構成を示すブロック図である。既出の実施の形態と重複する説明は適宜省略される。本実施の形態において、設計プログラム群１０は、上述のレイアウトプログラム１１の代わりに、レイアウトプログラム１１’を含んでいる。また、記憶装置２には、上述のセルライブラリ２０の代わりに、セルライブラリ２０’が格納されている。セルライブラリ２０’は、ＩＯセルデータ２２、２２Ａ、２２Ｂの代わりに、ＩＯセルデータ２２’、２２Ａ’、２２Ｂ’を含んでいる。
【００８４】
既出の実施の形態と比較して、ＩＯセルデータ２２’、２２Ａ’、２２Ｂ’の各々には、更に「物理情報」が与えられている。物理情報とは、自セルに含まれる配線の端子の位置を示す情報である。
【００８５】
例えば、図１９は、ＬＶＤＳに関連するＩＯセルを概念的に示している。そのＩＯセルは、入力端子ＩＮ、出力端子ＯＵＴ、電源線ＶＤＤ、グランド線ＧＮＤ、及びＬＶＤＳ制御信号ＣＳ用の配線ＬＶＤＳを有している。物理情報は、電源線ＶＤＤの端子Ｔ１，Ｔ２、グランド線ＧＮＤの端子Ｔ３、Ｔ４、及びＬＶＤＳ制御信号ＣＳの端子Ｔ５、Ｔ６の位置を示している。その他の情報（ＲＥＱＵＩＲＥ情報やＧＲＯＵＰ情報）は、既出の実施の形態と同じである。
【００８６】
本実施の形態によれば、領域情報２５は、ＩＯ領域ＲＩＯに配置されたＩＯセル群の「物理情報」から作成される。つまり、領域情報２５は、ライブラリとしては与えられず、ステップＳ３０でのＩＯセルの配置の結果に基づいて“動的”に決定される。本実施の形態に係るレイアウトプログラム１１’は、ＩＯセルの配置状況に応じて領域情報２５を決定する機能を有している。
【００８７】
図２０は、本実施の形態に係るステップＳ４０を詳細に示すフローチャートである。図９で示されたフローと比較して、ステップＳ４１の代わりに、ステップＳ４１’が実行される。ステップＳ４２以降の処理は、既出の実施の形態と同じである。
【００８８】
ステップＳ４１’では、ＩＯセルの配置の結果と物理情報に基づいて、領域情報２５が作成される。まず、ＩＯ領域ＲＩＯに配置されたＩＯセル群の物理情報を参照することにより、制御信号（ＣＳ，ＣＳ１，ＣＳ２，ＥＮ）用の配線の位置が検出される。そして、検出された配線を追跡していくことによって、制御信号（ＣＳ，ＣＳ１，ＣＳ２，ＥＮ）が伝播する制御信号配線（４０，６１，６２，６３）を認識することができる。つまり、制御信号用の配線が連続している領域を抽出することによって、領域情報２５を作成することができる。
【００８９】
例えば、図１９で示されたＩＯセルに関する物理情報は、ＬＶＤＳ制御信号ＣＳの端子Ｔ５、Ｔ６の位置を含んでいる。その端子Ｔ５、Ｔ６の位置を参照することによって、ＬＶＤＳ制御信号ＣＳ用の配線ＬＶＤＳの位置が検出される。そして、隣接するセル間で配線ＬＶＤＳをつなげていくことによって、ＬＶＤＳ制御信号ＣＳが伝播する制御信号配線４０を認識することができる。配線ＬＶＤＳが連続している領域が、制御信号配線４０が設けられる領域Ｒ１あるいはＲ２である。このようにして、領域情報２５を作成することができる。作成された領域情報２５は、記憶装置２に格納される。ＩＯＬＨの場合も同様である。
【００９０】
本実施の形態によれば、既出の実施の形態と同じ効果が得られる。更に、領域情報２５をＩＯ配置に応じて動的に作成することができる。
【図面の簡単な説明】
【００９１】
【図１】図１は、一般的な半導体集積回路の設計方法を示すフローチャートである。
【図２】図２は、本発明の第１の実施の形態に係る設計システムの構成を示すブロック図である。
【図３】図３は、第１の実施の形態に係る半導体集積回路の設計方法を示すフローチャートである。
【図４】図４は、第１の実施の形態におけるＬＶＤＳバッファとＬＶＤＳ駆動セルとの間の依存関係を示す回路図である。
【図５】図５は、ＩＯ領域におけるＬＶＤＳバッファとＬＶＤＳ駆動セルの配置の一例を示す概略図である。
【図６】図６は、ＬＶＤＳバッファに関するＲＥＱＵＩＲＥ情報の一例を示す。
【図７】図７は、ＬＶＤＳ駆動セルに関するＧＲＯＵＰ情報の一例を示す。
【図８】図８は、第１の実施の形態における領域情報の一例を示す。
【図９】図９は、第１の実施の形態に係るＩＯ配置検証方法を示すフローチャートである。
【図１０】図１０は、ＩＯ領域におけるＬＶＤＳバッファとＬＶＤＳ駆動セルの配置の他の例を示す概略図である。
【図１１】図１１は、ＩＯ領域におけるＬＶＤＳバッファとＬＶＤＳ駆動セルの配置の更に他の例を示す概略図である。
【図１２】図１２は、第２の実施の形態におけるＩＯＬＨバッファ、ＩＯＬＨコントローラ、及びＩＯＬＨイネーブルセルの間の依存関係を示す回路図である。
【図１３】図１３は、ＩＯ領域におけるＩＯＬＨバッファ、ＩＯＬＨコントローラ、及びＩＯＬＨイネーブルセルの配置の一例を示す概略図である。
【図１４】図１４は、第２の実施の形態におけるＲＥＱＵＩＲＥ情報及びＧＲＯＵＰ情報の一例を示す。
【図１５】図１５は、第２の実施の形態における領域情報の一例を示す。
【図１６】図１６は、ＩＯ領域におけるＩＯＬＨバッファ、ＩＯＬＨコントローラ、及びＩＯＬＨイネーブルセルの配置の他の例を示す概略図である。
【図１７】図１７は、ＩＯ領域におけるＩＯＬＨバッファ、ＩＯＬＨコントローラ、及びＩＯＬＨイネーブルセルの配置の更に他の例を示す概略図である。
【図１８】図１８は、本発明の第３の実施の形態に係る設計システムの構成を示すブロック図である。
【図１９】図１９は、第３の実施の形態における物理情報の一例を示す概念図である。
【図２０】図２０は、第３の実施の形態に係るＩＯ配置検証方法を示すフローチャートである。
【符号の説明】
【００９２】
１、１’    設計システム
２    記憶装置
３    プロセッサ
４    入力装置
５    出力装置
１０    設計プログラム群
１１、１１’    レイアウトプログラム
１２    レイアウト検証プログラム
２０、２０’    セルライブラリ
２１    セルデータ
２２、２２’    ＩＯセルデータ
２２Ａ、２２Ａ’    ＩＯセルデータ（被制御側）
２２Ｂ、２２Ｂ’    ＩＯセルデータ（制御側）
２５    領域情報
３１    ＬＶＤＳバッファ
３２    ＬＶＤＳ駆動セル
４０    制御信号配線
５１    第１ＩＯＬＨバッファ
５２    第２ＩＯＬＨバッファ
５３    第１ＩＯＬＨコントローラ
５４    第２ＩＯＬＨコントローラ
５５    ＩＯＬＨイネーブルセル
６１    第１制御信号配線
６２    第２制御信号配線
６３    イネーブル信号配線
ＣＳ    ＬＶＤＳ制御信号
ＣＳ１  第１ＩＯＬＨ制御信号
ＣＳ２  第２ＩＯＬＨ制御信号
ＥＮ    ＩＯＬＨイネーブル信号
ＲＩＯ  ＩＯ領域
ＮＥＴ  ネットリスト
ＬＡＹ  レイアウトデータ
【図１】
2008283093.tif 000003
【図２】
2008283093.tif 000004
【図３】
2008283093.tif 000005
【図４】
2008283093.tif 000006
【図５】
2008283093.tif 000007
【図６】
2008283093.tif 000008
【図７】
2008283093.tif 000009
【図８】
2008283093.tif 000010
【図９】
2008283093.tif 000011
【図１０】
2008283093.tif 000012
【図１１】
2008283093.tif 000013
【図１２】
2008283093.tif 000014
【図１３】
2008283093.tif 000015
【図１４】
2008283093.tif 000016
【図１５】
2008283093.tif 000017
【図１６】
2008283093.tif 000018
【図１７】
2008283093.tif 000019
【図１８】
2008283093.tif 000020
【図１９】
2008283093.tif 000021
【図２０】
2008283093.tif 000022