(57)【要約】【課題】入力された回路情報によって表される複数のゲートをそれぞれ実現するための複数のセルを用いてレイアウト設計が行われるＡＳＩＣ等の半導体集積回路において、信号の立上がり特性を改善するために挿入されるセルの種類や個数を適切にする。【解決手段】このレイアウト設計方法は、所定のアルゴリズムに従って配置・配線を行うステップ（ａ）と、複数のセルの内の所定のセルについて、入力信号の最大遷移時間をシミュレーションにより求めるステップ（ｂ）と、ステップ（ｂ）において求められた時間が所定の値を越えているセルについて、並列接続されているゲート数に基づいて、当該セルの前段に追加すべきセルの種類及び個数をテーブルから読み出すステップ（ｃ）と、入力された回路情報にこれらのセルを追加して配置・配線を行うステップ（ｄ）とを具備する。【選択図】　図１
2004054558.tif 000002
【特許請求の範囲】
【請求項１】
入力された回路情報によって表される複数のゲートをそれぞれ実現するための複数のセルを用いて半導体集積回路のレイアウトを設計する方法であって、
所定のアルゴリズムに従って、前記複数のセルをレイアウト領域内に配置し、前記複数のセル間を配線するステップ（ａ）と、
前記複数のセルの内の所定のセルについて、入力信号の最大遷移時間をシミュレーションにより求めるステップ（ｂ）と、
ステップ（ｂ）において求められた時間が所定の値を越えているセルについて、並列接続されているゲート数に少なくとも基づいて、当該セルの前段に追加すべきセルの種類及び個数をテーブルから読み出すステップ（ｃ）と、
入力された回路情報にステップ（ｃ）において読み出された種類及び個数のセルを追加してレイアウト領域内に配置し、これらのセル間を配線するステップ（ｄ）と、
を具備するレイアウト設計方法。
【請求項２】
ステップ（ｃ）が、並列接続されているゲート数と、ステップ（ｂ）において求められた時間とに基づいて、当該セルの前段に追加すべきセルの種類及び個数をテーブルから読み出すことを含む、請求項１記載のレイアウト設計方法。
【請求項３】
入力された回路情報によって表される複数のゲートをそれぞれ実現するための複数のセルを用いて半導体集積回路のレイアウトを設計する方法であって、
所定のアルゴリズムに従って、前記複数のセルをレイアウト領域内に配置し、前記複数のセル間を配線するステップ（ａ）と、
前記複数のセルの内の所定のセルについて、並列接続されているゲートの入力容量値及び入力配線の容量値の総和である第１の容量値と前段のゲートが駆動できる第２の容量値とをチェックするステップ（ｂ）と、
第１の容量値が第２の容量値を越えているセルについて、並列接続されているゲート数に少なくとも基づいて、当該セルの前段に追加すべきセルの種類及び個数をテーブルから読み出すステップ（ｃ）と、
入力された回路情報にステップ（ｃ）において読み出された種類及び個数のセルを追加してレイアウト領域内に配置し、これらのセル間を配線するステップ（ｄ）と、
を具備するレイアウト設計方法。
【請求項４】
ステップ（ｃ）が、並列接続されているゲート数と、並列接続されているゲートの入力配線の容量値とに基づいて、当該セルの前段に追加すべきセルの種類及び個数をテーブルから読み出すことを含む、
請求項３記載のレイアウト設計方法。
【請求項５】
請求項１〜４のいずれか１項記載のレイアウト設計方法を用いて製造された半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力された回路情報によって表される複数のゲートをそれぞれ実現するための複数のセルを用いてＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ　Ｓｐｅｃｉｆｉｃ　ＩＣ）等の半導体集積回路のレイアウトを設計する方法、及び、そのようなレイアウト設計方法を用いて製造された半導体集積回路に関する。
【０００２】
【従来の技術】
ＡＳＩＣ等の半導体集積回路においては、入力された回路情報によって表される複数のゲートをそれぞれ実現するための複数のセルを組み合わせてレイアウト領域内に配置し、これらのセル間を配線することによりレイアウト設計が行われている。その際、１つのゲートから出力される信号が多数のゲートに入力されることがあるが、１つのゲートの出力に接続される次段のゲート数が増加すると、ゲートの入力容量や配線容量の影響により、次段のゲートにおいて信号の最大遷移時間が増加してしまう。
【０００３】
一方、レイアウト設計の良否を評価するために、半導体集積回路の測定又はシミュレーションによる判定が行われている。この判定において、各セルにおける入力信号の立上がり時間が所定の値を越えるとエラーになってしまう。そのような場合には、前段のセルと次段の複数のセルとの間に、バッファセルやバッファツリー回路等が挿入されることがある。バッファツリー回路とは、後段におけるほど多くのバッファ回路を含む複数段のバッファセルによって構成され、前段のセルから出力される信号を複数の信号に分岐して次段の複数のセルに供給する回路である。
【０００４】
バッファセルやバッファツリー回路等を挿入するために、従来は、ネットリストに対してマニュアルでセルを追加して、レイアウトの再設計を行っていた。しかしながら、このようなセルの追加は、設計者の経験や勘にたよって行われるため、追加すべきセルの大きさや個数が適当でない場合も多く、半導体集積回路の判定においてエラーが残ってしまったり、余計なセルを追加してしまうという問題があった。
【０００５】
【発明が解決しようとする課題】
そこで、上記の点に鑑み、本発明は、入力された回路情報によって表される複数のゲートをそれぞれ実現するための複数のセルを用いてレイアウト設計が行われるＡＳＩＣ等の半導体集積回路において、信号の立上がり特性を改善するために挿入されるセルの種類や個数を適切にすることを目的とする。
【０００６】
【課題を解決するための手段】
以上の課題を解決するため、本発明の第１の観点に係るレイアウト設計方法は、入力された回路情報によって表される複数のゲートをそれぞれ実現するための複数のセルを用いて半導体集積回路のレイアウトを設計する方法であって、所定のアルゴリズムに従って、複数のセルをレイアウト領域内に配置し、複数のセル間を配線するステップ（ａ）と、複数のセルの内の所定のセルについて、入力信号の最大遷移時間をシミュレーションにより求めるステップ（ｂ）と、ステップ（ｂ）において求められた時間が所定の値を越えているセルについて、並列接続されているゲート数に少なくとも基づいて、当該セルの前段に追加すべきセルの種類及び個数をテーブルから読み出すステップ（ｃ）と、入力された回路情報にステップ（ｃ）において読み出された種類及び個数のセルを追加してレイアウト領域内に配置し、これらのセル間を配線するステップ（ｄ）とを具備する。
【０００７】
ここで、ステップ（ｃ）が、並列接続されているゲート数と、ステップ（ｂ）において求められた時間とに基づいて、当該セルの前段に追加すべきセルの種類及び個数をテーブルから読み出すようにしても良い。
【０００８】
本発明の第１の観点によれば、シミュレーションにおいて入力信号の最大遷移時間が所定の値を越えているセルについて、並列接続されているゲート数又は立上がり時間に基づいて、当該セルの前段に追加すべきセルの種類及び個数をテーブルから読み出し、それらのセルを追加して再び配置・配線を行うので、信号の立上がり特性を改善するために挿入されるセルの種類や個数を適切にすることができる。
【０００９】
また、本発明の第２の観点に係るレイアウト設計方法は、入力された回路情報によって表される複数のゲートをそれぞれ実現するための複数のセルを用いて半導体集積回路のレイアウトを設計する方法であって、所定のアルゴリズムに従って、複数のセルをレイアウト領域内に配置し、複数のセル間を配線するステップ（ａ）と、複数のセルの内の所定のセルについて、並列接続されているゲートの入力容量値及び入力配線の容量値の総和である第１の容量値と前段のゲートが駆動できる第２の容量値とをチェックするステップ（ｂ）と、第１の容量値が第２の容量値を越えているセルについて、並列接続されているゲート数に少なくとも基づいて、当該セルの前段に追加すべきセルの種類及び個数をテーブルから読み出すステップ（ｃ）と、入力された回路情報にステップ（ｃ）において読み出された種類及び個数のセルを追加してレイアウト領域内に配置し、これらのセル間を配線するステップ（ｄ）とを具備する。
【００１０】
ここで、ステップ（ｃ）が、並列接続されているゲート数と、並列接続されているゲートの入力配線の容量値とに基づいて、当該セルの前段に追加すべきセルの種類及び個数をテーブルから読み出すようにしても良い。
【００１１】
本発明の第２の観点によれば、ファンアウトがオーバーしているセルについて、並列接続されているゲート数又は並列接続されているゲートの入力配線の容量値に基づいて、当該セルの前段に追加すべきセルの種類及び個数をテーブルから読み出し、それらのセルを追加して再び配置・配線を行うので、信号の立上がり特性を改善するために挿入されるセルの種類や個数を適切にすることができる。
【００１２】
また、本発明に係る半導体集積回路は、以上述べたいずれかのレイアウト設計方法を用いて製造される。
【００１３】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態について説明する。なお、同一の構成要素については同一の参照番号で示し、説明を省略する。
図１は、本発明の第１の実施形態に係るレイアウト設計方法を示すフローチャートである。以下、このレイアウト設計方法について、図１〜図３を参照しながら説明する。
【００１４】
オペレータが、半導体集積回路において所望の回路を構成するセルの種類及び個数やセル間の接続関係等を示すデータであるネットリストをレイアウト設計装置の入力部に入力して自動配置配線プログラムを実行すると、レイアウト設計装置は、ステップＳ１１において、これらのセルを所定のアルゴリズムに従ってレイアウト領域内に配置し、セル間の配線を行う。なお、レイアウト設計装置は、フレキシブルディスクやＭＯ等からネットリストを読み取っても良いし、ネットワークを介して他の装置からネットリストを受信しても良い。
【００１５】
ステップＳ１２において、レイアウト設計装置は、所定のセルについて、入力信号の最大遷移時間をシミュレーションにより求める。この最大遷移時間は、例えば、セルの入力ノードにおいてステップ応答が最終値の１０％から９０％に達するのに要する時間で定義される。以下においては、信号の伝送系を構成するセルに関してシミュレーションを行う場合について説明する。
【００１６】
ステップＳ１３において、レイアウト設計装置は、シミュレーションにより求めた最大遷移時間が所定の値を越えているか否かについて判断する。最大遷移時間が所定の値を越えているセルが存在しない場合には、レイアウト設計を終了する。一方、そのようなセルが存在する場合には、ステップＳ１４に移行して、レイアウト設計装置がエラーリストを出力する。その後、ステップＳ１５において、レイアウト設計装置は、信号の最大遷移時間を改善するために、信号の伝送系に追加すべきセルの種類及び個数を、予め用意されているテーブルから読み出す。
【００１７】
図２に、本実施形態に係るレイアウト設計方法において用いられるテーブルの例を示す。図２に示すように、このテーブルには、駆動数、即ち、そのゲートの入力ノードに並列接続されているゲート数に対して、追加すべきセルの種類及び個数が格納されている。セルの種類には、セルサイズも含まれる。例えば、駆動数が１０である場合には、図３に示すように、比較的大きいサイズのバッファセルＢＵＦ２が１個と、バッファセルＢＵＦ２の出力に接続される比較的小さいサイズのバッファセルＢＵＦ１が５個追加される。図３に示すような回路は、バッファツリー回路と呼ばれている。
【００１８】
次に、ステップＳ１６において、当初に入力されたネットリストにテーブルから読み出された種類及び個数のセルを追加して自動配置配線プログラムを実行することにより、レイアウト設計装置が、これらのセルを所定のアルゴリズムに従ってレイアウト領域内に配置し、セル間の配線を行う。これにより、信号の伝送系を構成するセルにおいて最大遷移時間が改善され、エラーが解消される確率が高まると共に、余計なセルを追加してしまうことも少なくなる。
【００１９】
次に、本発明の第２の実施形態について説明する。
本発明の第２の実施形態は、第１の実施形態において用いたテーブルを変更したものである。第２の実施形態においては、例えば、図４に示すようなテーブルを用いる。
【００２０】
図４に示すように、このテーブルには、駆動数及び最大遷移時間に対して、追加すべきセルの種類及び個数が格納されている。例えば、駆動数が１０であり最大遷移時間が１ｎｓｅｃである場合には、比較的大きいサイズのバッファセルＢＵＦ２が１個と、バッファセルＢＵＦ２の出力に接続される比較的小さいサイズのバッファセルＢＵＦ１が５個追加される。また、駆動数が１０であり最大遷移時間が３ｎｓｅｃである場合には、バッファセルＢＵＦ２よりも大きいサイズのバッファセルＢＵＦ３が１個と、バッファセルＢＵＦ３の出力に接続されるバッファセルＢＵＦ２が５個追加される。このように、駆動数の他に最大遷移時間を参照して追加セルを決定することにより、さらに精度の高いレイアウト設計が可能となる。
【００２１】
次に、本発明の第３の実施形態について説明する。
図５は、本発明の第３の実施形態に係るレイアウト設計方法を示すフローチャートである。以下、このレイアウト設計方法について、図５及び図６を参照しながら説明する。
【００２２】
オペレータが、半導体集積回路において所望の回路を構成するセルの機能や種類、セル間の接続関係等を示すデータであるネットリストをレイアウト設計装置の入力部に入力して自動配置配線プログラムを実行すると、レイアウト設計装置は、ステップＳ２１において、これらのセルを所定のアルゴリズムに従ってレイアウト領域内に配置し、セル間の配線を行う。
【００２３】
ステップＳ２２において、レイアウト設計装置は、所定のセルについて、ファンアウトをチェックする。ファンアウトとは、一般には、前段のゲートの出力に接続される次段のゲートの数をいうことが多いが、ここでは、前段のゲートが駆動できる容量値をいうものとする。ファンアウトの値が次段のゲートの入力容量値（ファンイン）及び入力配線の容量値の総和を越える場合には、信号の立上がり特性が悪化するので、セルを追加して立上がり特性を改善しなければならない。以下においては、信号の伝送系を構成するセルに関してファンアウトをチェックする場合について説明する。
【００２４】
ステップＳ２３において、レイアウト設計装置は、前段のファンアウトの値が次段のゲートの入力容量値及び入力配線の容量値の総和を越えているか否かについて判断する。前段のファンアウトの値が次段のゲートの入力容量値及び入力配線の容量値の総和を越えているセルが存在しない場合には、レイアウト設計を終了する。一方、そのようなセルが存在する場合には、ステップＳ２４に移行して、レイアウト設計装置がエラーリストを出力する。その後、ステップＳ２５において、レイアウト設計装置は、信号の立上がり特性を改善するために、信号の伝送系に追加すべきセルの種類及び個数を、予め用意されているテーブルから読み出す。
【００２５】
図６に、本実施形態において用いられるテーブルの例を示す。図６に示すように、このテーブルには、ファンアウトの駆動数、即ち、そのゲートの入力ノードに並列接続されているゲート数に対して、追加すべきセルの種類及び個数が格納されている。セルの種類には、セルサイズも含まれる。例えば、駆動数が１０である場合には、図６に示すように、比較的大きいサイズのバッファセルＢＵＦ２が１個と、バッファセルＢＵＦ２の出力に接続される比較的小さいサイズのバッファセルＢＵＦ１が５個追加される。
【００２６】
次に、ステップＳ２６において、当初に入力されたネットリストにテーブルから読み出された種類及び個数のセルを追加して自動配置配線プログラムを実行することにより、レイアウト設計装置が、これらのセルを所定のアルゴリズムに従ってレイアウト領域内に配置し、セル間の配線を行う。これにより、信号の伝送系を構成するセルにおいて立上がり特性が改善され、エラーが解消される確率が高まると共に、余計なセルを追加してしまうことも少なくなる。
【００２７】
次に、本発明の第４の実施形態について説明する。
本発明の第４の実施形態は、第３の実施形態において用いたテーブルを変更したものである。第４の実施形態においては、例えば、図７に示すようなテーブルを用いる。
【００２８】
図７に示すように、このテーブルには、駆動数及び配線容量（入力配線の容量値の総和）に対して、追加すべきセルの種類及び個数が格納されている。例えば、駆動数が１０であり配線容量が５ｐＦである場合には、比較的大きいサイズのバッファセルＢＵＦ２が１個と、バッファセルＢＵＦ２の出力に接続される比較的小さいサイズのバッファセルＢＵＦ１が５個追加される。また、配線容量が１０ｐＦである場合には、バッファセルＢＵＦ２よりも大きいサイズのバッファセルＢＵＦ３が１個と、バッファセルＢＵＦ３の出力に接続されるバッファセルＢＵＦ２が５個追加される。このように、駆動数の他に配線容量を参照して追加セルを決定することにより、さらに精度の高いレイアウト設計が可能となる。
【００２９】
【発明の効果】
以上述べたように、本発明によれば、入力された回路情報によって表される複数のゲートをそれぞれ実現するための複数のセルを用いてレイアウト設計が行われるＡＳＩＣ等の半導体集積回路において、信号の立上がり特性を改善するために挿入されるセルの種類や個数を適切にすることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係るレイアウト設計方法を示すフローチャートである。
【図２】本発明の第１の実施形態に係るレイアウト設計方法において用いられるテーブルの例を示す図である。
【図３】図２のテーブルによって表されるバッファツリー回路を示す回路図である。
【図４】本発明の第２の実施形態に係るレイアウト設計方法において用いられるテーブルの例を示す図である。
【図５】本発明の第３の実施形態に係るレイアウト設計方法を示すフローチャートである。
【図６】本発明の第３の実施形態に係るレイアウト設計方法において用いられるテーブルの例を示す図である。
【図７】本発明の第４の実施形態に係るレイアウト設計方法において用いられるテーブルの例を示す図である。
【符号の説明】
ＢＵＦ１、ＢＵＦ２　バッファセル
【図１】
2004054558.tif 000003
【図２】
2004054558.tif 000004
【図３】
2004054558.tif 000005
【図４】
2004054558.tif 000006
【図５】
2004054558.tif 000007
【図６】
2004054558.tif 000008
【図７】
2004054558.tif 000009