(57)【要約】【課題】トライステートセルで駆動される信号線に対して、タイミング改善のドライバセルを挿入することが可能なレイアウト設計方法を提供する。【解決手段】挿入されるドライバセルであるトライステートセルを配置する際に、セルへの他のトライステートセルの信号伝達経路が遮断されるかどうかを判定する（ステップＳ９）。信号伝達経路が遮断されない場合には、挿入されるトライステートセルの前段に配置されたセルに入力される制御信号の抽出を行なう（ステップＳ１３）。次にステップＳ１３により抽出した前段セルに入力される制御信号の所定の組合せに基づく信号を挿入されるトライステートセルに入力する制御信号として設定する（ステップＳ１４）。【選択図】        図４
2005026398.tif 000002
【特許請求の範囲】
【請求項１】
所望の動作を実行する回路の構成要素であるセルに対して、入力信号に応じた増幅信号を出力する第１のドライバセルの駆動能力を補強するために設けられる第２のドライバセルを配置するレイアウト設計方法であって、
前記第１のドライバセルの後段の所定箇所に前記第２のドライバセルを配置する際に、他のセルへの他のドライバセルの信号伝達経路を遮断するかどうかを判定するステップと、
前記判定するステップにおいて前記他のドライバセルの信号伝達経路を遮断しない場合には、前記第２のドライバセルを前記所定箇所に配置するステップと、
前記入力信号に応じた前記増幅信号を出力する前記第１のドライバセルの駆動を制御する制御信号を抽出するステップと、
前記抽出した前記制御信号に基づいて前記第２のドライバセルの駆動が制御されるように設定するステップとを備える、レイアウト設計方法。
【請求項２】
前記判定するステップは、前記第２のドライバセルの入力ノードと前記他のセルの入力ノードとが電気的に結合され、前記第２のドライバセルの出力ノードと前記他のドライバセルの出力ノードとが電気的に結合されるかどうかを判定する、請求項１記載のレイアウト設計方法。
【請求項３】
前記第１および第２のドライバセルの各々は、前記入力信号に応じて３状態の出力状態のうちの一つに遷移するトライステートセルに相当する、請求項１記載のレイアウト設計方法。
【請求項４】
前記判定するステップにおいて前記他のドライバセルの信号伝達経路を遮断する場合には、前記第２のドライバセルの入力ノードと電気的に結合されている前記他のセルの入力ノードと、前記第２のドライバセルの出力ノードとを電気的に結合するように配線を変更するステップとをさらに備える、請求項１記載のレイアウト設計方法。
【請求項５】
前記第２のドライバセルは、前記第２のドライバセルの入力ノードと電気的に結合される前記第１のドライバセルが１つである場合には、前記第１のドライバセルの駆動の制御とともに前記第２のドライバセルの駆動が制御される、請求項１記載のレイアウト設計方法。
【請求項６】
前記第２のドライバセルは、前記第２のドライバセルの入力ノードと電気的に結合される前段の第１のドライバセルが２つ以上である場合には、各前記第１のドライバセルのいずれか一つの駆動の制御とともに前記第２のドライバセルの駆動が制御される、請求項１記載のレイアウト設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路の配線等のレイアウト設計方法に関し、特に信号のタイミング改善用のドライバセルを挿入するレイアウト設計方法に関する。
【０００２】
【従来の技術】
一般に、半導体集積回路を設計する場合には階層設計と呼ばれる設計手法が採用されている。この階層設計では、システム設計（方式設計またはアーキテクチャ設計とも呼ばれる）、論理設計（機能設計またはレジスタ転送レベル設計とも呼ばれる）、詳細論理設計（ゲートレベル設計とも呼ばれる）、回路設計、レイアウト設計、パターン設計が順序行なわれ、各階層でコンピュータによるシミュレーションと検証とが実行される。例えば、レイアウト設計の検証はレイアウト後のレイアウトパターンと、その前段階の回路設計図とが照合されることにより実行される。特開平８−２６３５４３号公報においては、設計された配線レイアウトのショートエラーを判定してショートエラー箇所の特定作業を簡単にする方式が開示されている。
【０００３】
しかしながら、レイアウト設計において、配線レイアウト等のショートエラーを判定し、不良を改善した場合においても配線遅延すなわちタイミングの修正作業を実行することが必要である。
【０００４】
特に、半導体プロセスの微細化、ＬＳＩの大規模化、高速化が進むにつれて、配線遅延の影響が顕著になり、タイミングの修正作業が収束しにくいという問題が生じてきている。
【０００５】
このような場合に対しては、いわゆるタイミング改善ツール等を用いることにより、所定箇所にタイミング改善を図る一般的なドライバセルを配置・挿入することによりタイミングの修正作業を実行する方式が一般的であった。
【０００６】
【特許文献１】
特開平８−２６３５４３号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、半導体集積回路において、「０」および「１」の論理レベルに加えてもう一つ別の状態であるハイインピーダンス状態の３状態の信号出力を行なうドライバセルであるトライステートセルで駆動される信号線に対しては、一般的なドライバセルを挿入することはできなかった。特に、ハイインピーダンス状態（以下、単にＺ状態とも称する）の信号が入力されることにより出力信号が不定状態となり、一般的なドライバセルに大きな貫通電流が流れるという可能性がある。
【０００８】
したがって、トライステートセルで駆動される信号線に対しては、トライステートセルの駆動能力を上げるためにトライステートセル自身のサイズを大きくすることや、セルの配置位置を変更することが行なわれており、レイアウト設計における作業効率の低下が問題となっていた。
【０００９】
本発明は、上記のような問題を解決するためになされたものであって、トライステートセルで駆動される信号線に対して、タイミング改善のドライバセルを挿入することが可能なレイアウト設計方法を提供する。
【００１０】
【課題を解決するための手段】
所望の動作を実行する回路の構成要素であるセルに対して、入力信号に応じた増幅信号を出力する第１のドライバセルの駆動能力を補強するために設けられる第２のドライバセルを配置するレイアウト設計方法であって、第１のドライバセルの後段の所定箇所に第２のドライバセルを配置する際に、他のセルへの他のドライバセルの信号伝達経路を遮断するかどうかを判定するステップと、判定するステップにおいて他のドライバセルの信号伝達経路を遮断しない場合には、第２のドライバセルを所定箇所に配置するステップと、入力信号に応じた増幅信号を出力する第１のドライバセルの駆動を制御する制御信号を抽出するステップと、抽出した制御信号に基づいて第２のドライバセルの駆動が制御されるように設定するステップとを含む。
【００１１】
【発明の実施の形態】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰返さない。
【００１２】
図１は、本発明のレイアウト設計方法を適用するレイアウト配置図の一例図である。
【００１３】
図１を参照して、本例においては、トライステートセル１〜４と、論理セル５，６とを含む。本例においては、所望の動作を実行する回路の構成要素となる論理セル５，６に入力する信号を増幅して伝達するトライステートセル１〜４が示されている。
【００１４】
具体的には、トライステートセル１は、制御信号Ｃ１に基づいて活性化され、入力される信号ＳＡに応じた信号を出力する。トライステートセル１の出力ノードは、配線を介して接続ノードＮ１と電気的に結合されている。トライステートセル２は、制御信号Ｃ２に基づいて活性化され、入力される信号ＳＢに応じた信号を出力する。トライステートセル２の出力ノードは、配線を介して接続ノードＮ１と電気的に結合されている。トライステートセル３は、制御信号Ｃ３に基づいて活性化され、入力される信号ＳＣに応じた信号を出力する。トライステートセル３の出力ノードは、配線を介して接続ノードＮ２と電気的に結合されている。接続ノードＮ１と接続ノードＮ２とは、配線を介して電気的に結合されている。また、接続ノードＮ２と接続ノードＮ３とは、配線を介して電気的に結合されている。トライステートセル４は、制御信号Ｃ４に基づいて活性化され、入力される信号ＳＤに応じた信号を出力する。トライステートセルの出力ノードは、接続ノードＮ４と電気的に結合されている。
【００１５】
論理セル５の入力ノードは、接続ノードＮ３と電気的に結合され、伝達される信号に基づいて所定の論理演算動作を実行して内部回路へ出力する。
【００１６】
接続ノードＮ３と接続ノードＮ４とは、配線を介して電気的に結合されている。論理セル６の入力ノードの一方は、接続ノードＮ４と電気的に結合され、他方の入力ノードには、信号ＳＥが入力される。論理セル６は、信号ＳＥおよび接続ノードＮ４に伝達された信号に基づいて所定の論理演算動作を実行して内部回路へ出力する。
【００１７】
図２は、本発明の実施の形態に従うトライステートセル１の回路構成図である。
【００１８】
図２を参照して、トライステートセル１は、ＡＮＤ回路２０と、インバータ２１と、トランスファーゲート２２とを含む。
【００１９】
ＡＮＤ回路２０は、信号ＳＡおよび制御信号Ｃ１の反転信号の入力を受けてそのＡＮＤ論理演算結果をトランスファーゲート２２に出力する。トランスファーゲート２２は、制御信号Ｃ１およびインバータ２１を介する制御信号Ｃ１の反転信号の入力に基づいて、ＡＮＤ回路２０からの出力信号を出力ノードＹに伝達する。
【００２０】
図３は、図２に示されるトライステートセル１の真理値表である。
図３に示されるように、制御信号Ｃ１が「０」である場合にトライステートセル１が活性化される。この場合に、入力される信号ＳＡの論理レベルに基づく信号が増幅されて出力ノードＹに伝達される。
【００２１】
具体的には信号ＳＡの論理レベルが「０」に応じて出力ノードＹの論理レベルは「０」に設定される。同様に信号ＳＡの論理レベルが「１」に応じて出力ノードＹの論理レベルは「１」に設定される。入力される信号ＳＡの論理レベルがＺ状態に応じて出力ノードＹは不定値（以下、Ｘ：と表記する）に設定される。
【００２２】
一方、制御信号Ｃ１が「１」である場合にトライステートセル１は、非活性化される。この場合には、信号ＳＡの入力に依存することなく出力ノードＹの論理レベルはＺ状態に設定される。なお、本例においては、一例として２値的な論理レベルとして「０」および「１」の表記を用いて説明しているが表記を電圧レベルを示す「Ｌ」レベルおよび「Ｈ」レベルとしても良いし、あるいは「Ｈ」レベルおよび「Ｌ」レベルとして説明することも可能である。また、上記においては、トライステートセル１について説明したが、他のトライステートセル２〜４等についても同様の構成でありその詳細な説明は繰り返さない。なお、本例においては、入力される信号ＳＡ〜ＳＤの論理レベルについてはＺ状態ではないものとする。本トライステートセルは、制御信号Ｃ１が「１」である場合に非活性化されるためＺ状態の信号が入力された場合においても貫通電流の生成を抑制することができる。
【００２３】
以下においては、図４のフローチャート図を用いて、本発明の実施の形態に従うドライバセルを挿入するレイアウト設計方法について説明する。
【００２４】
図４を参照して、タイミングを修正するためのいわゆるタイミング改善ツールが用いられ、ドライバセルを挿入するレイアウト設計が開始される（ステップＳ０）。次に、タイミング改善ツールにより、ネットリストの接続情報、レイアウト配置図から抽出された配線容量値および配線抵抗値等の情報から各素子の遅延時間が計算され、タイミング規格値違反箇所の特定が行なわれる（ステップＳ１）。次に、タイミングを改善するためのドライバセルの配置位置の決定が行なわれる（ステップＳ２）。
【００２５】
図５は、図１のレイアウト配置図において、一例としてドライバセルの挿入が必要な箇所について示す図である。
【００２６】
図５を参照して、ここではタイミング改善ツールにより、配線遅延等の影響によりタイミングの修正が必要な箇所にドライバセルの配置位置が示される。
【００２７】
具体的には、トライステートセル１の出力ノードと接続ノードＮ１との間にドライバセル１０を設けることが求められている。また、接続ノードＮ２と接続ノードＮ３との間にドライバセル１１を設けることが求められている。また、接続ノードＮ３と接続ノードＮ４との間にドライバセル１２を設けることが求められている。
【００２８】
再び図４を参照して、信号配線がトライステートセルで駆動されるものかどうかを判定する（ステップＳ３）。
【００２９】
信号配線がトライステートセルで駆動されるものでない場合には、通常のドライバセルを挿入しても過大な貫通電流が流れるという問題は特に生じないため、通常のドライバセルを所望の箇所に挿入する（ステップＳ４）。次に、一般的な種々のタイミング改善方法が実行され（ステップＳ５）、タイミング改善ツールの実行が終了する（ステップＳ６）。
【００３０】
一方、ステップＳ３において信号配線等がトライステートセルで駆動される信号の場合には、タイミングを改善するトライステートセルの仮想的な配置位置の決定が行なわれる（ステップＳ７）。すなわち、図５で説明した所定箇所への挿入が決定する。
【００３１】
次に、挿入されるトライステートセルと電気的に結合されるセルを探索する（ステップＳ８）。具体的には、ネットリストの接続情報からセル情報として探索することが可能である。
【００３２】
次に、挿入されるトライステートセルを配置する際に、セルへの他のトライステートセルの信号伝達経路が遮断されるかどうかを判定する（ステップＳ９）。
【００３３】
具体的には、挿入されるトライステートセルの入力ノードと電気的に結合される入力ノードを有するセルがあり、かつ挿入されるトライステートセルの出力ノードと電気的に結合される出力ノードを有する他のトライステートセルがあるかどうかを判定する。この判定により、他のトライステートセルの出力ノードとトライステートセルの出力ノードとが電気的に結合されることによって、他のトライステートセルの出力ノードから出力される信号が挿入されるトライステートセルの入力ノードと電気的に結合されるセルの入力ノードに伝達されない、すなわち信号伝達経路が遮断されることを判定することができる。
【００３４】
信号伝達経路が遮断されない場合には、所定の箇所にトライステートセルが挿入される（ステップＳ９＃）。次に、挿入されるトライステートセルの前段に配置されたセル（以下、前段セル）に入力される制御信号の抽出を行なう（ステップＳ１３）。
【００３５】
次にステップＳ１３により抽出した前段セルに入力される制御信号の所定の組合せに基づく信号を挿入されるトライステートセルに入力する制御信号として設定する（ステップＳ１４）。具体的には、前段セルが活性化される際に挿入されるトライステートセルについても同様に活性化されるように制御信号を設定する。たとえば、前段セルが１つである場合には、前段セルに入力される制御信号を挿入するトライステートセルの制御信号に設定する。前段セルが２つ以上である場合には、各前段セルのいずれか一つが活性化される際に、挿入するトライステートセルも同様に活性化されるように設定する。当該方式により、簡易に挿入されるトライステートセルを駆動する制御信号を設定することができる。
【００３６】
次に、上述した従来のタイミング改善方法を実施して（ステップＳ１４＃）、タイミング改善ツールの実行を終了する（ステップＳ１５）。
【００３７】
ステップＳ９において、信号伝達経路が遮断される場合には、配線変更が可能かどうかを判定する（ステップＳ１０）。たとえば、一例として配線変更が可能かどうかは、変更にともなうタイミングのずれが規格値の範囲以内か等を考慮して判定される。
【００３８】
ステップＳ１０において、配線変更が可能である場合には、挿入されるトライステートセルの入力ノードと電気的に結合されたセルの入力ノードと、挿入されるトライステートセルの出力ノードとを電気的に結合するように配線を変更する（ステップＳ１２）。これにより、信号伝達経路の遮断を防止し、適切な信号をセルに伝達することが可能となる。
【００３９】
次に、ステップＳ９＃に進んで、上述したのと同様の方式に従った処理が実行される。
【００４０】
一方、配線変更が可能でない場合には、挿入されるトライステートセルの挿入を止めて、挿入前の配線に戻す（ステップＳ１１）。次に、ステップＳ１４＃に進んで上述したのと同様の方式に従った処理が実行される。
【００４１】
図６は、図４で説明した本発明の実施の形態に従うレイアウト設計方法を図５に適用した場合のレイアウト配置図である。
【００４２】
たとえば、図５で示されるトライステートセルであるドライバセル１０（以下、トライステートセル１０とも称する）の挿入について説明する。
【００４３】
図４のステップＳ８において、トライステートセル１０と電気的に結合されるセルが探索される。これにより、ネットリストの接続情報によりトライステートセル１０の入力ノードおよび出力ノードと電気的に接続されるセルおよびトライステートセルが抽出される。
【００４４】
次に、ステップＳ９において、挿入されるトライステートセル１０を配置する際に他のトライステートセルの信号伝達経路を遮断するかどうか、具体的には、トライステートセル１０の入力ノードと電気的に結合される他のセルの入力ノードがあり、かつトライステートセル１０の出力ノードと電気的に結合される他のトライステートセルがあるかどうかが判定される。本例においては、トライステートセル１０の入力ノードと電気的に結合される他のセルの入力ノードは存在しないため、次のステップＳ９＃に進み、所定箇所にトライステートセル１０を挿入する。
【００４５】
次にステップＳ１３において、前段セルであるトライステートセル１に入力される制御信号Ｃ１が抽出される。次のステップＳ１４において制御信号Ｃ１に基づいてトライステートセル１０が活性化されるように設定される。これにより図６に示されるように、トライステートセル１０の制御信号としてトライステートセル１に入力されていた制御信号Ｃ１が入力され、図６で示される配置図となる。
【００４６】
次にトライステートセルであるドライバセル１１（以下、トライステートセル１１とも称する）の挿入について説明する。
【００４７】
図４のステップＳ８において、トライステートセル１１と電気的に結合されるセルが探索される。これにより、ネットリストの接続情報によりトライステートセル１１の入力ノードおよび出力ノードと電気的に接続されるセルおよびトライステートセルが抽出される。
【００４８】
次に、ステップＳ９において、挿入されるトライステートセル１１を配置する際に他のトライステートセルの信号伝達経路を遮断するかどうか、具体的には、トライステートセル１１の入力ノードと電気的に結合される他のセルの入力ノードがあり、かつトライステートセル１１の出力ノードと電気的に結合される他のトライステートセルがあるかどうかが判定される。本例においては、トライステートセル１１の入力ノードと電気的に結合される他のセルの入力ノードは存在しないため、次のステップＳ９＃に進み、所定箇所にトライステートセル１１を挿入する。
【００４９】
次にステップＳ１３において、前段セルであるトライステートセル１もしくは１０と、トライステートセル２および３に入力される制御信号Ｃ１〜Ｃ３が抽出される。次のステップＳ１４において制御信号Ｃ１〜Ｃ３に基づいていずれかひとつの制御信号Ｃが「０」である場合にトライステートセル１１が活性化されるように設定される。具体的には、図６で示されるようにＡＮＤ回路１３が設けられ、ＡＮＤ回路１３に入力される制御信号Ｃ１〜Ｃ３のＡＮＤ論理演算結果に基づいてトライステートセル１１が活性化されるように設計される。したがって、制御信号Ｃ１〜Ｃ３のいずれか一つが「０」の場合には、ＡＮＤ回路１３の出力信号は「０」に設定され、トライステートセル１１が活性化される。本方法により図６で示されるレイアウト配置図となる。
【００５０】
次にトライステートセルであるドライバセル１２（以下、トライステートセル１２とも称する）の挿入について説明する。
【００５１】
図４のステップＳ８において、トライステートセル１２と電気的に結合されるセルが探索される。これにより、ネットリストの接続情報によりトライステートセル１２の入力ノードおよび出力ノードと電気的に接続されるセルおよびトライステートセルが抽出される。
【００５２】
次に、ステップＳ９において、挿入されるトライステートセル１２を配置する際に他のトライステートセルの信号伝達経路を遮断するかどうか、具体的には、トライステートセル１２の入力ノードと電気的に結合される他のセルの入力ノードがあり、かつトライステートセル１２の出力ノードと電気的に結合される他のトライステートセルがあるかどうかが判定される。本例においては、トライステートセル１２の入力ノードと論理セル６の入力ノードとが電気的に結合され、かつトライステートセル１２の出力ノードと電気的に結合される出力ノードを有するトライステートセル１１が存在する。したがって、トライステートセル１１の信号伝達経路が遮断されるためステップＳ１０に進み、配線変更が可能か判定される。
【００５３】
本例においては、たとえば配線変更可能であるとして説明する。すなわちステップＳ１２に進む。
【００５４】
ステップＳ１２において、挿入されるトライステートセル１２の入力ノードと電気的に結合される論理セル６の入力ノードを挿入されるトライステートセル１２の出力ノードと電気的に結合されるように配線を変更する。次にステップＳ９＃に進み、所定箇所にトライステートセル１２を挿入する。
【００５５】
次にステップＳ１３において、トライステートセル１２と電気的に結合されたトライステートセル４に入力される制御信号Ｃ４が抽出される。次のステップＳ１４において制御信号Ｃ４に基づいてトライステートセル１２が活性化されるように設定される。これにより図６に示されるように、トライステートセル１２の制御信号としてトライステートセル４に入力されていた制御信号Ｃ４が入力される。これにより図６に示されるようなレイアウト配置図となる。
【００５６】
これにより、従来実行することができなかったトライステートセルで駆動する信号配線においても、本発明の実施の形態に従うレイアウト設定方法に基づいてタイミング改善用のトライステートセルを挿入することが可能となり、タイミング改善を容易に実行することができる。本構成のようにシリアルにトライステートセルを挿入することも可能であるが、ツリー構造にして挿入することも可能であり、タイミング改善の自由度を向上させることができる。
【００５７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００５８】
【発明の効果】
この発明は以上説明したように、他のドライバセルの信号伝達経路を遮断することなく第１のドライバセルの駆動能力を補強する第２のドライバセルを配置し、第１のドライバセルの駆動を制御する制御信号に基づいて第２のドライバセルの駆動が制御される。これにより、レイアウト設計において、第２のドライバセルを挿入することにより配線遅延等に基づく信号のタイミング修正作業を効率的に実行することができる。
【図面の簡単な説明】
【図１】本発明のレイアウト設計方法を適用するレイアウト配置図の一例図である。
【図２】本発明の実施の形態に従うトライステートセル１の回路構成図である。
【図３】図２に示されるトライステートセル１の真理値表である。
【図４】本発明の実施の形態に従うドライバセルを挿入するレイアウト設計方法について説明するフローチャート図である。
【図５】ドライバセルの挿入が必要な箇所について示すレイアウト配置図である。
【図６】本発明の実施の形態に従うレイアウト設計方法を適用した場合のレイアウト配置図である。
【符号の説明】
１〜４，１０〜１２  トライステートセル、５，６  論理セル、１３，２０  ＡＮＤ回路、２１  インバータ、２２  トランスファーゲート。
【図１】
2005026398.tif 000003
【図２】
2005026398.tif 000004
【図３】
2005026398.tif 000005
【図４】
2005026398.tif 000006
【図５】
2005026398.tif 000007
【図６】
2005026398.tif 000008