(57)【要約】【課題】ネット内の配線の最適化設計を容易化する。【解決手段】回路シミュレーションにより端子の端子電流の波形を求めて端子電流の正成分平均値および負成分平均値を求め、端子および配線分岐点を含む節点の集合と、節点間配線の枝の集合とからなるグラフでネットの配線を表す。また、枝の正節点側，負節点側に対応して端子の集合を正節点端子集合，負節点端子集合に分割し、正節点端子集合の端子に流れる端子電流の負成分平均値の和を求め且つ負節点端子集合の端子に流れる端子電流の正成分平均値の和を求めて小さい値を選択し枝の枝電流の正成分平均値とし、正節点端子集合の端子に流れる端子電流の正成分平均値の和を求め且つ負節点端子集合の端子に流れる端子電流の負成分平均値の和を求めて小さい値を選択し枝の枝電流の負成分平均値とする。【選択図】　　　図１
2004070548.tif 000002
【特許請求の範囲】
【請求項１】
回路素子の端子の接続を指定するテキスト表現のネットごとに電流値を計算して配線設計する配線設計方法において、
回路シミュレーションにより前記端子の端子電流の波形をそれぞれ求め、前記端子に流れ込む端子電流の方向を正方向とし、正方向電流および負方向電流の絶対値を個別にそれぞれ積分し動作時間で割ったものを個別にそれぞれ求め前記端子電流の正成分平均値および負成分平均値とし、
前記端子および配線分岐点を含む節点の集合と、節点間配線の枝の集合とからなるグラフで前記ネットの配線を表し、
連続した番号を前記節点にそれぞれ付加し、前記枝の両端節点を番号の小，大に対応して正節点，負節点とし、正節点から負節点へ流れる枝電流の方向を正方向とし、前記枝の正節点側，負節点側に対応して前記端子の集合を正節点端子集合，負節点端子集合に分割し、
前記正節点端子集合の端子に流れる端子電流の負成分平均値の和を求め且つ前記負節点端子集合の端子に流れる端子電流の正成分平均値の和を求めて小さい値を選択し前記枝の枝電流の正成分平均値とし、前記正節点端子集合の端子に流れる端子電流の正成分平均値の和を求め且つ前記負節点端子集合の端子に流れる端子電流の負成分平均値の和を求めて小さい値を選択し前記枝の枝電流の負成分平均値とすることを特徴とする配線設計方法。
【請求項２】
前記枝電流の正成分平均値および負成分平均値から大きい値を各枝でそれぞれ求めて、前記ネットの各枝に対応した配線をそれぞれ設計する、請求項１記載の配線設計方法。
【請求項３】
回路素子の端子の接続を指定するテキスト表現のネットごとに電流値を計算して配線設計する配線設計方法において、
回路シミュレーションにより前記端子の端子電流の波形をそれぞれ求め、前記端子に流れ込む端子電流の方向を正方向とし、正方向電流および負方向電流の絶対値を個別にそれぞれ積分し動作時間で割ったものを個別にそれぞれ求め前記端子電流の正成分平均値および負成分平均値とし、
前記端子および配線分岐点を含む節点の集合と、節点間配線の枝の集合とからなるグラフの構造が未定の場合、前記端子の集合を部分集合およびその補集合に２分割し、前記部分集合の端子に流れる端子電流の負成分平均値の和を求め且つ前記補集合の端子に流れる端子電流の正成分平均値の和を求めて小さい値を選択して枝電流とし、この枝電流を部分集合ごとにそれぞれ求め、これら枝電流の最大値に基づき、ネット内の配線を一律に設計することを特徴とする配線設計方法。
【請求項４】
回路素子の端子の接続を指定するテキスト表現のネットごとに電流値を計算して配線設計する処理をコンピュータに実行させる配線設計プログラムにおいて、
前記処理が、回路シミュレーションにより前記端子の端子電流の波形をそれぞれ求め、前記端子に流れ込む端子電流の方向を正方向とし、正方向電流および負方向電流の絶対値を個別にそれぞれ積分し動作時間で割ったものを個別にそれぞれ求め前記端子電流の正成分平均値および負成分平均値とし、
前記端子および配線分岐点を含む節点の集合と、節点間配線の枝の集合とからなるグラフで前記ネットの配線を表し、
連続した番号を前記節点にそれぞれ付加し、前記枝の両端節点を番号の小，大に対応して正節点，負節点とし、正節点から負節点へ流れる枝電流の方向を正方向とし、前記枝の正節点側，負節点側に対応して前記端子の集合を正節点端子集合，負節点端子集合に分割し、
前記正節点端子集合の端子に流れる端子電流の負成分平均値の和を求め且つ前記負節点端子集合の端子に流れる端子電流の正成分平均値の和を求めて小さい値を選択し前記枝の枝電流の正成分平均値とし、前記正節点端子集合の端子に流れる端子電流の正成分平均値の和を求め且つ前記負節点端子集合の端子に流れる端子電流の負成分平均値の和を求めて小さい値を選択し前記枝の枝電流の負成分平均値とすることを特徴とする配線設計プログラム。
【請求項５】
前記処理が、前記枝電流の正成分平均値および負成分平均値から大きい値を各枝でそれぞれ求めて、前記ネットの各枝に対応した配線をそれぞれ設計する、請求項４記載の配線設計プログラム。
【請求項６】
回路素子の端子の接続を指定するテキスト表現のネットごとに電流値を計算して配線設計する処理をコンピュータに実行させる配線設計プログラムにおいて、
前記処理が、回路シミュレーションにより前記端子の端子電流の波形をそれぞれ求め、前記端子に流れ込む端子電流の方向を正方向とし、正方向電流および負方向電流の絶対値を個別にそれぞれ積分し動作時間で割ったものを個別にそれぞれ求め前記端子電流の正成分平均値および負成分平均値とし、
前記端子および配線分岐点を含む節点の集合と、節点間配線の枝の集合とからなるグラフの構造が未定の場合、前記端子の集合を部分集合およびその補集合に２分割し、前記部分集合の端子に流れる端子電流の負成分平均値の和を求め且つ前記補集合の端子に流れる端子電流の正成分平均値の和を求めて小さい値を選択して枝電流とし、この枝電流を部分集合ごとにそれぞれ求め、これら枝電流の最大値に基づき、ネット内の配線を一律に設計することを特徴とする配線設計プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、配線設計方法に関し、特に、回路素子の端子の接続を指定するテキスト表現のネットごとに電流値を計算して配線設計する配線設計方法に関する。
【０００２】
【従来の技術】
従来、この種の配線設計方法は、入出力装置，記憶装置および処理装置を備えて一般的に構成されたコンピュータに、配線設計プログラムをインストールして各コマンド入力に応じて実行させることにより実施され、ＬＳＩなどの集積回路の開発時に、回路の接続記述であるネットリスト記述に基づき、回路を構成する回路素子を配置し、回路素子の端子を接続する配線を設計するために用いられている。
【０００３】
従来から、集積回路の電源または接地へ接続される電源配線については、電源電流値を見積り、電源配線の幅などを設計することは必須事項であり、たとえば、特開昭６２−１２００４３号公報，特開平３−２０４９５８号公報などに、回路ブロック，格子ごと電源電流値を見積って配線設計する方法が開示されている。また、集積回路内の信号配線についても、動作周波数が高周波になると共に実効電流が大きくなるため、ネットリスト記述を構成し回路素子の端子の接続を指定するテキスト表現のネットごとに電流値を計算して配線の幅などをそれぞれ設計することが行われ、配線抵抗または電流密度による電圧降下，信号遅延またはエレクトロマイグレーションの発生を防止している。
【０００４】
たとえば、図４は、この従来の配線設計方法の例を示す流れ図であり、特開平４−１０７９５３号公報に開示されている。この方法では、まず、ステップ４１において、論理回路のネットリスト記述および動作テストパタンを使用して論理シミュレーションを行い、ネットの動作回数を求めると共にテスト周期，テストパタン数を求める。また、ネットリスト記述に基づいて、各セルまたは回路素子に単位周波数当たり無負荷時に流れる単位無負荷電流と、各セルまたは回路素子の負荷に依存して単位周波数および負荷容量当たり流れる電流である負荷依存係数とを予め用意する。
【０００５】
ステップ４２および４３において、ネットリスト記述に基づいて、各セルまたは回路素子を自動レイアウトおよび自動配線し、ステップ４４において、ネットごとに、自動配線された配線の配線幅，配線長および負荷容量からなる配線情報をそれぞれ求める。
【０００６】
ステップ４５において、ネットごとに、ステップ４１，４４において求められた動作回数，テスト周期，テストパタン数，単位無負荷電流，負荷依存係数，配線情報に基づき電流値をそれぞれ算出し、ステップ４６において、許容電流値とを比較し、許容電流値を超える場合、ステップ４２または４３へ戻り、レイアウトまたは配線を変更する処理を繰り返す。
【０００７】
このレイアウトまたは配線の変更の結果、各ネットに対応した配線において、たとえば、配線長が短くなって配線抵抗，負荷容量が小さくなり、または、配線幅が広くなって、電流密度が小さくなり、配線抵抗または電流密度による電圧降下，信号遅延またはエレクトロマイグレーションの発生を防止できる。
【０００８】
【発明が解決しようとする課題】
一般に、集積回路がＣＭＯＳ回路の場合においても、実際の配線は、たとえば、データバスのように、一本のバス線には、複数の出力回路および入力回路が接続され、また、バス線が複雑に分岐する場合がある。この場合、バス線を流れる電流は、動作パタンにより、バス線の各部および各タイミングで電流値が異なり、電流の方向も異なる。しかし、上述した従来の配線設計方法では、ネット内の配線は集中定数回路の電流計算により一律設計されるため、バス線全体も一律設計され、バス線の負荷容量が大きくなり、電流値が増大する問題がある。
【０００９】
この対策としては、ネット内の配線について、配線の各部について配線長，配線幅，配線ピッチに基づき配線抵抗および配線容量をそれぞれ求め、回路シミュレーションにより、回路素子の各端子における電流値を算出すると共に、ネット内の配線の各部についても電流値をそれぞれ算出し配線幅を最適化設計することも可能である。しかし、回路シミュレーションのノード数が増加し、各ネットの回路シミュレーション時間が長大になり、事実上、最適化設計の実行が著しく制限される問題がある。
【００１０】
また、配線のエレクトロマイグレーションは配線の電流密度に最も依存し、その対策としては、動作パタンにより各タイミングで電流値が変化する場合、配線に流れる電流の正成分平均値または負成分平均値が許容電流値を超えないように配線幅を設計する必要があり、また、コンタクト部などの配線の構造によっては、配線に流れる電流の正成分平均値または負成分平均値の一方のみに基づいて配線ピッチを最適化設計する必要がある場合もある。しかし、上述した従来の配線設計方法では、配線全体の負荷容量による交互の充放電を前提として配線の電流値を計算し、配線の各部に流れる電流の正成分平均値および負成分平均値をそれぞれ求めることができず、最適化設計が難しい。
【００１１】
したがって、本発明は、ネット内の配線の最適化設計を容易化することにある。
【００１２】
【課題を解決するための手段】
そのため、本発明は、回路素子の端子の接続を指定するテキスト表現のネットごとに電流値を計算して配線設計する配線設計方法において、
回路シミュレーションにより前記端子の端子電流の波形をそれぞれ求め、前記端子に流れ込む端子電流の方向を正方向とし、正方向電流および負方向電流の絶対値を個別にそれぞれ積分し動作時間で割ったものを個別にそれぞれ求め前記端子電流の正成分平均値および負成分平均値とし、
前記端子および配線分岐点を含む節点の集合と、節点間配線の枝の集合とからなるグラフで前記ネットの配線を表し、
連続した番号を前記節点にそれぞれ付加し、前記枝の両端節点を番号の小，大に対応して正節点，負節点とし、正節点から負節点へ流れる枝電流の方向を正方向とし、前記枝の正節点側，負節点側に対応して前記端子の集合を正節点端子集合，負節点端子集合に分割し、
前記正節点端子集合の端子に流れる端子電流の負成分平均値の和を求め且つ前記負節点端子集合の端子に流れる端子電流の正成分平均値の和を求めて小さい値を選択し前記枝の枝電流の正成分平均値とし、前記正節点端子集合の端子に流れる端子電流の正成分平均値の和を求め且つ前記負節点端子集合の端子に流れる端子電流の負成分平均値の和を求めて小さい値を選択し前記枝の枝電流の負成分平均値としている。
【００１３】
また、前記枝電流の正成分平均値および負成分平均値から大きい値を各枝でそれぞれ求めて、前記ネットの各枝に対応した配線をそれぞれ設計している。
【００１４】
また、本発明は、回路素子の端子の接続を指定するテキスト表現のネットごとに電流値を計算して配線設計する配線設計方法において、
回路シミュレーションにより前記端子の端子電流の波形をそれぞれ求め、前記端子に流れ込む端子電流の方向を正方向とし、正方向電流および負方向電流の絶対値を個別にそれぞれ積分し動作時間で割ったものを個別にそれぞれ求め前記端子電流の正成分平均値および負成分平均値とし、
前記端子および配線分岐点を含む節点の集合と、節点間配線の枝の集合とからなるグラフの構造が未定の場合、前記端子の集合を部分集合およびその補集合に２分割し、前記部分集合の端子に流れる端子電流の負成分平均値の和を求め且つ前記補集合の端子に流れる端子電流の正成分平均値の和を求めて小さい値を選択して枝電流とし、この枝電流を部分集合ごとにそれぞれ求め、これら枝電流の最大値に基づき、ネット内の配線を一律に設計している。
【００１５】
また、本発明は、回路素子の端子の接続を指定するテキスト表現のネットごとに電流値を計算して配線設計する処理をコンピュータに実行させる配線設計プログラムにおいて、
前記処理が、回路シミュレーションにより前記端子の端子電流の波形をそれぞれ求め、前記端子に流れ込む端子電流の方向を正方向とし、正方向電流および負方向電流の絶対値を個別にそれぞれ積分し動作時間で割ったものを個別にそれぞれ求め前記端子電流の正成分平均値および負成分平均値とし、
前記端子および配線分岐点を含む節点の集合と、節点間配線の枝の集合とからなるグラフで前記ネットの配線を表し、
連続した番号を前記節点にそれぞれ付加し、前記枝の両端節点を番号の小，大に対応して正節点，負節点とし、正節点から負節点へ流れる枝電流の方向を正方向とし、前記枝の正節点側，負節点側に対応して前記端子の集合を正節点端子集合，負節点端子集合に分割し、
前記正節点端子集合の端子に流れる端子電流の負成分平均値の和を求め且つ前記負節点端子集合の端子に流れる端子電流の正成分平均値の和を求めて小さい値を選択し前記枝の枝電流の正成分平均値とし、前記正節点端子集合の端子に流れる端子電流の正成分平均値の和を求め且つ前記負節点端子集合の端子に流れる端子電流の負成分平均値の和を求めて小さい値を選択し前記枝の枝電流の負成分平均値としている。
【００１６】
また、前記処理が、前記枝電流の正成分平均値および負成分平均値から大きい値を各枝でそれぞれ求めて、前記ネットの各枝に対応した配線をそれぞれ設計している。
【００１７】
また、本発明は、回路素子の端子の接続を指定するテキスト表現のネットごとに電流値を計算して配線設計する処理をコンピュータに実行させる配線設計プログラムにおいて、
前記処理が、回路シミュレーションにより前記端子の端子電流の波形をそれぞれ求め、前記端子に流れ込む端子電流の方向を正方向とし、正方向電流および負方向電流の絶対値を個別にそれぞれ積分し動作時間で割ったものを個別にそれぞれ求め前記端子電流の正成分平均値および負成分平均値とし、
前記端子および配線分岐点を含む節点の集合と、節点間配線の枝の集合とからなるグラフの構造が未定の場合、前記端子の集合を部分集合およびその補集合に２分割し、前記部分集合の端子に流れる端子電流の負成分平均値の和を求め且つ前記補集合の端子に流れる端子電流の正成分平均値の和を求めて小さい値を選択して枝電流とし、この枝電流を部分集合ごとにそれぞれ求め、これら枝電流の最大値に基づき、ネット内の配線を一律に設計している。
【００１８】
【発明の実施の形態】
次に、本発明について、図面を参照して説明する。図１は、本発明の配線設計方法の実施形態を示す流れ図である。本実施形態の配線設計方法は、従来の配線設計方法と同じく、入出力装置，記憶装置および処理装置を備えて一般的に構成されたコンピュータに配線設計プログラムをインストールし各コマンド入力に応じて実行させることにより実施される。
【００１９】
まず、ステップ１１において、ＳＰＩＣＥ過渡解析などの回路シミュレーションにより、回路を構成する回路素子の端子における端子電流Ｉ（ｔ）の波形をそれぞれ求め、端子に流れ込む端子電流の方向を正方向とし、端子電流の正成分平均値ａｖｇ＿ｐおよび負成分平均値ａｖｇ＿ｎを個別にそれぞれ計算する。ここで、端子電流Ｉ（ｔ）の正方向電流および負方向電流の絶対値を個別にそれぞれ積分し動作時間Ｔで割ったものをそれぞれ正成分平均値ａｖｇ＿ｐおよび負成分平均値ａｖｇ＿ｎとする。これら処理を数式で示すと、次の式となる。
2004070548.tif 000003
【００２０】
ステップ１２において、回路素子の端子および配線分岐点を含む節点の集合と、節点間配線の枝の集合とからなるグラフでネットの配線をモデル化表現し、グラフの各節点には、連続した番号を付加する。
【００２１】
図２は、このネットの配線をモデル化表現した例を示すグラフであり、グラフは、端子○，配線分岐点●を含む節点および枝の集合からなり、各節点には、連続した番号１〜８が付加され、各端子の節点１〜５には、点線で示したように、たとえば、ネットの配線がデータバスのバス線である場合、バス出力回路またはバス入力回路のＰ型トランジスタまたはＮ型トランジスタのドレインまたはゲートがそれぞれ接続される。
【００２２】
ステップ１３において、枝の両端節点を番号の小，大に対応して正節点，負節点とし、正節点から負節点へ流れる枝電流の方向を正方向とし、枝の正節点側，負節点側に対応して端子の集合を正節点端子集合，負節点端子集合に分割する。
【００２３】
ステップ１４において、正節点端子集合の端子から流れ出る端子電流の負成分平均値の和を求め且つ負節点端子集合の端子に流れ込む端子電流の正成分平均値の和を求めて小さい値を選択し枝の枝電流の正成分平均値Ｉａｖｇ＿ｐとする。また、正節点端子集合の端子に流れ込む端子電流の正成分平均値の和を求め且つ負節点端子集合の端子から流れ出る端子電流の負成分平均値の和を求めて小さい値を選択し枝の枝電流の負成分平均値Ｉａｖｇ＿ｐとする。これら処理を数式で表すと、次の式になる。
2004070548.tif 000004
【００２４】
ここで、ｍ番目の端子が枝の正節点端子集合，負節点端子集合に含まれる場合、ａｍ　＝１，０とする。
【００２５】
また、ステップ１５において、枝電流の正成分平均値および負成分平均値から大きい値を各枝でそれぞれ求めて、ネットの各枝に対応した配線をそれぞれ設計する。
【００２６】
図３は、上述した図１の配線設計方法におけるステップ１３，１４の処理を更に具体的に説明するための説明図である。次に、ネットに対応したグラフにおいて、電流値の計算対象の枝として、図３に示すように、たとえば、節点６，節点７を両端とする枝６７に着目し、枝６７の枝電流の正成分平均値Ｉａｖｇ＿ｐ，負成分平均値Ｉａｖｇ＿ｎを求める処理を具体的に説明する。
【００２７】
まず、枝６７の両端の正節点６，負節点７の一方をそれぞれ含む２つの部分グラフにグラフを２分割し、この２分割に対応して、回路素子の端子の集合｛１，２，３、４，５｝を２つの部分集合すなわち正節点端子集合｛１，２｝，負節点端子集合｛３，４，５｝に２分割する。
【００２８】
これら正節点端子集合｛１，２｝，負節点端子集合｛３，４，５｝の端子の端子電流は、動作パタンの組み合わせにより、同じ部分集合内の別な端子にも途中で分岐して流れ、全てが枝６７の正節点６側，負節点７側の枝電流にならない。しかし、ワーストケースに対応して配線設計するため、正節点端子集合｛１，２｝の端子における端子電流の負成分平均値の和と正成分平均値の和とをそれぞれ求め枝６７の正節点６側の正成分平均値および負成分平均値とし、且つ、負節点端子集合｛３，４，５｝の端子における端子電流の正成分平均値の和と負成分平均値の和とをそれぞれ求め枝６７の負節点７側の正成分平均値および負成分平均値とする。
【００２９】
また、枝６７の正節点６側，負節点７側の正成分平均値はそれぞれ最大値であるので、枝６７の枝電流の正成分平均値Ｉａｖｇ＿ｐとしては、正節点６側，負節点７側の正成分平均値をそれぞれ超えられず、これら正成分平均値から小さい値を選択する。同様に、枝６７の正節点６側，負節点７側の負成分平均値はそれぞれ最大値であるので、枝６７の枝電流の負成分平均値Ｉａｖｇ＿ｎとしては、正節点６側，負節点７側の負成分平均値をそれぞれ超えられず、これら負成分平均値から小さい値を選択する。
【００３０】
上述したように、本実施形態の配線設計方法は、ネットに対応したグラフの構造の決定後に、各ネットの回路シミュレーションの回路ノード数を増加させず、グラフの各枝にそれぞれ流れる枝電流の正成分平均値および負成分平均値を見積ることができ、ネットの各枝に対応した配線をそれぞれ設計でき、各ネットの回路シミュレーション時間が増加せず、ネット内の配線の最適化設計が容易に実行できる。
【００３１】
なお、本実施形態の配線設計方法では、ネットに対応したグラフの構造の決定後にネットの各枝に対応した配線をそれぞれ設計するとして説明した。しかし、たとえば、ネットの最初の配線設計までは、ネットに対応したグラフの構造が未定である。この場合、予め設定された条件でネット内の配線を一律に初期設計してグラフの構造を決定し、本実施形態の配線設計方法を実施することもできる。
【００３２】
また、ネットに対応したグラフの構造が未定の場合、計画問題または全０−１計画問題の解法を適用してネットに流れる電流値を予想し、すなわち、回路素子の端子の集合を部分集合およびその補集合に２分割し、部分集合の端子に流れる端子電流の負成分平均値の和を求め且つ補集合の端子に流れる端子電流の正成分平均値の和を求めて小さい値を選択して枝電流とし、この枝電流を部分集合ごとにそれぞれ求め、これら枝電流の最大値に基づき、ネット内の配線を一律に設計することもできる。
【００３３】
【発明の効果】
以上説明したように、本発明による配線設計方法では、ネットに対応したグラフに基づき、各ネットの回路シミュレーションの回路ノード数を増加させず、グラフの各枝にそれぞれ流れる枝電流の正成分平均値および負成分平均値を見積ることができ、ネットの各枝に対応した配線をそれぞれ設計でき、各ネットの回路シミュレーション時間が増加せず、ネット内の配線の最適化設計が容易に実行できるなどの効果がある。
【図面の簡単な説明】
【図１】本発明の配線設計方法の実施形態を示す流れ図である。
【図２】図１の配線設計方法におけるステップ１２においてネットの配線をモデル化表現した例を示すグラフである。
【図３】図１の配線設計方法におけるステップ１３，１４の処理を更に具体的に説明するための説明図である。
【図４】従来の配線設計方法の例を示す流れ図である。
【符号の説明】
１〜８　　節点
１１〜１５，４１〜４５　　ステップ
【図１】
2004070548.tif 000005
【図２】
2004070548.tif 000006
【図３】
2004070548.tif 000007
【図４】
2004070548.tif 000008