(57)【要約】【課題】セル面積の増大を招くことなく、配線混雑度を容易に確認することが可能で、工程遅延を大幅に短縮することが可能なレイアウト配線混雑予測装置およびその方法、並びにプログラムを提供する。【解決手段】レイアウト配線混雑予測装置１０は、回路データを提供する回路データ提供部１１、および提供される回路データを有向グラフデータに変換する変換処理部１４、変換処理部１４による有向グラフデータの各ノード配置座標を計算するノード配置座標計算処理部１５、ノード配置座標計算処理部１５で計算した有向グラフデータの各ノード配置座標を基にノード配置密度を計算するノード配置密度計算処理部１６、およびノード配置密度計算処理部１６で計算したノード配置密度がエラー判定閾値より大きい場合にエラーと判定するノード配置密度エラー判定処理部１７を有する。【選択図】図１
2010033493.tif 000002
【特許請求の範囲】
【請求項１】
回路データを提供する回路データ提供部と、
提供される上記回路データを有向グラフデータに変換する変換処理部と、
上記変換処理部による有向グラフデータの各ノード配置座標を計算するノード配置座標計算処理部と、
上記ノード配置座標計算処理部で計算した有向グラフデータの各ノード配置座標を基にノード配置密度を計算するノード配置密度計算処理部と、
上記ノード配置密度計算処理部で計算したノード配置密度がエラー判定閾値より大きい場合にエラーと判定するノード配置密度エラー判定処理部と
を有するレイアウト配線混雑予測装置。
【請求項２】
上記ノード配置密度エラー判定処理部によるエラー判定結果を出力するエラー判定結果出力部を有する
請求項１記載のレイアウト配線混雑予測装置。
【請求項３】
上記エラー判定結果出力部は、
上記エラー閾値以上の回路リストをリスト出力する
請求項２記載のレイアウト配線混雑予測装置。
【請求項４】
表示部と、
上記ノード配置座標計算処理部により計算されたノード配置座標を基に、有向グラフデータのノードとエッジを上記表示部の画面上に描画する描画処理部と、を含む
請求項１から３のいずれか一に記載のレイアウト配線混雑予測装置。
【請求項５】
提供部から提供される回路データを有向グラフデータに変換処理部で変換する第１のステップと、
上記第１のステップによる有向グラフデータの各ノード配置座標を、ノード配置座標計算処理部で計算する第２のステップと、
上記第２のステップで計算した有向グラフデータの各ノード配置座標を基にノード配置密度を、ノード配置密度計算処理部で計算する第３のステップと、
上記第３のステップで、判定処理部が計算したノード配置密度がエラー判定閾値より大きい場合にエラーと判定する第４のステップと
を有するレイアウト配線混雑予測方法。
【請求項６】
上記回路データから変換した有向グラフデータのノードとエッジを表示部の画面上に表示する第４のステップと、
上記回路データから変換した有向グラフデータのノードとエッジを出力部により出力する第５のステップと、を含む
請求項５記載のレイアウト配線混雑予測方法。
【請求項７】
提供部から提供される回路データを有向グラフデータに変換処理部で変換する第１の処理と、
上記第１の処理による有向グラフデータの各ノード配置座標を、ノード配置座標計算処理部で計算する第２の処理と、
上記第２のステップで計算した有向グラフデータの各ノード配置座標を基にノード配置密度を、ノード配置密度計算処理部で計算する第３の処理と、
上記第３の処理で、判定処理部が計算したノード配置密度がエラー判定閾値より大きい場合にエラーと判定する第４の処理と
を含むデータ処理をコンピュータに実行させるプログラム。
【請求項８】
上記回路データから変換した有向グラフデータのノードとエッジを表示部の画面上に表示する第４の処理と、
上記回路データから変換した有向グラフデータのノードとエッジを出力部により出力する第５の処理と、を含む
データ処理をコンピュータに実行させる請求項７記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウト配線の混雑予測を行うレイアウト配線混雑予測装置およびその方法、並びにプログラムに関するものである。
【背景技術】
【０００２】
半導体集積回路（ＬＳＩ）の設計ツールとして、各種ＥＤＡ(Electronic Design Automation)ツールが市販されている。
【０００３】
ところで、ＬＳＩの自動配置配線を効率よく行うための技術として、ネットリストとセルライブラリを用い、実際にチップ上に配置配線される状態に近い環境にシミュレーションを行う技術が知られている。
【０００４】
上述した技術のようにシミュレーションを実行するには、セルの大きさやチップの大きさ、ひいては配線の幅に至るまで詳細な物理パラメータが必要である。
また、これらの詳細データを扱うシミュレーションには膨大なシミュレーション時間が必要である。
【０００５】
また、ネットリストを利用してレイアウト配線の混雑箇所を予測する技術が提案されている（たとえば特許文献１，２参照）。
【０００６】
特許文献１には、配線混雑となるセルを推定し、原因となるセルを使用禁止にすることにより配線混雑度を緩和する技術が開示されている。
【０００７】
特許文献２には、ネットリストとタイミング制約情報に基づき高ファンアウトネットを抽出し、配線混雑を緩和する技術が開示されている。
【特許文献１】特開２００７−１１５１５９号公報
【特許文献２】特開２００５−３０２０６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述したように、上記した技術では膨大な時間のかかる配置配線のシミュレーションを行わなければ、配置配線が可能であるかどうかが不明であった。
このため、配置配線シミュレーション後にレイアウトできないことが判明した場合、手戻りとなって大きな工程遅延が発生する等の課題があった。
【０００９】
また、特許文献１に開示された技術では、原因となるセルを使用禁止することから、結果としてレイアウトの総配線数と総セル面積の増大を招くおそれがある。
【００１０】
特許文献２に開示された技術では、設計対象となる論理デバイスのタイミングおよび配線混雑度を考慮した最適なレイアウトを得るように構成されている。
したがって、自動配線によりレイアウトが行われることから、結果がでるまでには時間を要し、たとえば手戻りとなる場合には、上述したと同様に、大きな工程遅延が発生する等の課題がある。
【００１１】
本発明は、セル面積の増大を招くとことなく、配線混雑度を容易に確認することが可能で、工程遅延を大幅に短縮することが可能なレイアウト配線混雑予測装置およびその方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の第１の観点のレイアウト配線混雑予測装置は、回路データを提供する回路データ提供部と、提供される上記回路データを有向グラフデータに変換する変換処理部と、上記変換処理部による有向グラフデータの各ノード配置座標を計算するノード配置座標計算処理部と、上記ノード配置座標計算処理部で計算した有向グラフデータの各ノード配置座標を基にノード配置密度を計算するノード配置密度計算処理部と、上記ノード配置密度計算処理部で計算したノード配置密度がエラー判定閾値より大きい場合にエラーと判定するノード配置密度エラー判定処理部とを有する。
【００１３】
好適には、上記ノード配置密度エラー判定処理部によるエラー判定結果を出力するエラー判定結果出力部を有する。
【００１４】
好適には、上記エラー判定結果出力部は、上記エラー閾値以上の回路リストをリスト出力する。
【００１５】
好適には、表示部と、上記ノード配置座標計算処理部により計算されたノード配置座標を基に、有向グラフデータのノードとエッジを上記表示部の画面上に描画する描画処理部と、を含む。
【００１６】
本発明の第２の観点のレイアウト配線混雑予測方法は、提供部から提供される回路データを有向グラフデータに変換処理部で変換する第１のステップと、上記第１のステップによる有向グラフデータの各ノード配置座標を、ノード配置座標計算処理部で計算する第２のステップと、上記第２のステップで計算した有向グラフデータの各ノード配置座標を基にノード配置密度を、ノード配置密度計算処理部で計算する第３のステップと、上記第３のステップで、判定処理部が計算したノード配置密度がエラー判定閾値より大きい場合にエラーと判定する第４のステップとを有する。
【００１７】
本発明の第３の観点は、提供部から提供される回路データを有向グラフデータに変換処理部で変換する第１の処理と、上記第１の処理による有向グラフデータの各ノード配置座標を、ノード配置座標計算処理部で計算する第２の処理と、上記第２のステップで計算した有向グラフデータの各ノード配置座標を基にノード配置密度を、ノード配置密度計算処理部で計算する第３の処理と、上記第３の処理で、判定処理部が計算したノード配置密度がエラー判定閾値より大きい場合にエラーと判定する第４の処理とを含むデータ処理をコンピュータに実行させるプログラムである。
【００１８】
本発明によれば、変換処理部が、回路データ提供部から提供される回路データを有向グラフデータに変換し、ノード配置座標計算処理部に供給する。
ノード配置座標計算処理部は、有向グラフデータの各ノード配置座標を計算し、計算結果尾をノード配置密度計算処理部に供給する。
ノード配置密度計算処理部は、有向グラフデータの各ノード配置座標を基にノード配置密度を計算し、計算結果をノード配置密度エラー判定処理部に供給する。
そして、ノード配置密度エラー判定処理部は、計算したノード配置密度がエラー判定閾値より大きい場合にエラーと判定する。
【発明の効果】
【００１９】
本発明によれば、セル面積の増大を招くことなく、配線混雑度を容易に確認することが可能で、工程遅延を大幅に短縮することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態を図面に関連付けて説明する。
【００２１】
図１は、本実施形態に係るレイアウト配線混雑予測方法の概要を示す図である。
図２は、本発明の実施形態に係るレイアウト配線混雑予測装置の構成例を示すブロック図である。
【００２２】
本実施形態に係るレイアウト配線混雑予測方法は、図１（Ａ）に示すように、論理設計データ(vnet)を有向グラフデータに変換し、グラフの各ノードを、レイアウト配置アルゴリズムを用いて座標配置させる。本実施形態においては、１つのセルが１つのノードに対応する。
それにより、配線混雑度の予測を行う。
【００２３】
配線混雑度は、視覚化および数値化する。
視覚化する場合、図１（Ｂ）が配線混雑の発生データ例を示し、図１（Ｃ）が配線混雑未発生データ例を示す。
図１（Ｂ）の配線混雑の発生データ例では、各ノード（セル）が密集しており、配線混雑が発生することが容易に予想される。
【００２４】
このような基本概念に従って、レイアウト配線混雑予測装置１０は、図２に示すように、回路データ提供部１１、エラー判定閾値データ提供部１２、データ入力部１３、変換処理部１４、および有向グラフデータのノード配置座標計算処理部１５を有する。
レイアウト配線混雑予測装置１０は、さらに、有向グラフデータのノード配置密度計算処理部１６、有向グラフデータのノード配置密度エラー判定処理部１７、エラー判定結果出力部１８、有向グラフ描画処理部１９、および表示部２０を有している。
【００２５】
回路データ提供部１１は、回路データをデータ入力部１３に提供する。
回路データの提供は、たとえば回路データのデータベースから読み出す、あるいはキーボード等の入力部で入力する等により行われる。
【００２６】
エラー判定閾値データ提供部１２は、有向グラフノード配置密度が指定された閾値以上の場合にエラーとする判定基準データとなるエラー判定閾値データＶＴＨＥを提供する。
【００２７】
データ入力部１３は、回路データ提供部１１から提供される回路データであるネットリスト、およびセルライブラリを入力し（読み出し）、エラー判定閾値データ提供部１２から適用される有向グラフノード配置密度のエラー判定閾値データＶＴＨＥを読込む。
データ入力部１３は、入力した回路データおよびエラー判定閾値データをメモリ上に格納する。
【００２８】
変換処理部１４は、データ入力部１３を通して入力した回路データを有向グラフデータに変換し、変換したデータを図示しないメモリ上に格納する。
【００２９】
有向グラフデータのノード配置座標計算処理部１５は、メモリ上に格納した有向グラフデータの各ノード配置座標を、グラフ描画アルゴリズムを用いて計算し、その計算結果のノード配置座標を図示しないメモリ上に格納する。
【００３０】
有向グラフデータのノード配置密度計算処理部１６は、有向グラフデータのノード配置座標計算処理部１５で計算した有向グラフデータの各ノード配置座標を基にノード配置密度を計算する。
【００３１】
有向グラフデータのノード配置密度エラー判定処理部１７は、有向グラフデータのノード配置密度計算処理部１６で計算したノード配置密度が、エラー判定閾値データＶＴＨＥより大きい場合にエラーと判定する。
【００３２】
エラー判定結果出力部１８は、有向グラフデータのノード配置密度エラー判定処理部１７によるエラー判定結果を出力する。
【００３３】
有向グラフ描画処理部１９は、有向グラフデータのノード配置座標計算処理部１５により計算されたノード配置座標を基に、有向グラフデータのノードとエッジを表示部２０の画面上に描画する。
【００３４】
表示部２０は、たとえば液晶表示装置（ＬＣＤ）により形成され、有向グラフ描画処理部１９により有向グラフデータのノードとエッジが表示される。
【００３５】
本実施形態のレイアウト配線混雑予測装置１０は、回路データから変換した有向グラフデータのノードとエッジをＧＵＩ画面上に表示する機能と、回路データから変換した有向グラフデータのノードとエッジを画像ファイルに出力する機能を有している。
【００３６】
以下に、ＧＵＩ画面上に表示する例と、画像ファイルに出力する例を示す。
【００３７】
図３および図４は、有向グラフデータのノードとエッジのＧＵＩ表示例を示す図である。
【００３８】
図３は、有向グラフデータのノード密度が低く、配線混雑が発生する可能性が低い例を示している。
【００３９】
また、図４は、有向グラフデータのノード密度が高く、配線混雑が発生する可能性が高い例を示している。
この例では、配線混雑部分が２箇所に分割配置されているようすが示されている。
【００４０】
図５は、本実施形態に係るエラー判定結果出力部の出力例を示す図である。
【００４１】
図５の例では、エラーリストとしてエラー閾値以上の回路をリスト出力している。
また、この例では、エラー閾値はノード数/単位面積で値２００が設定されている。
図５において、エラー判定結果出力部１８は、エラー閾値以上の回路とそのノード密度を対応させて出力している。
具体的には、インスタント名「top/test/misr1」はノード密度「３４０」、インスタント名「top/test/misr2」はノード密度「２８０」、インスタント名「top/dmac1」はノード密度「２７０」、インスタント名「top/dmac2」はノード密度「２５０」である。
【００４２】
次に、図１のレイアウト配線混雑予測装置１０による全体的な動作を、図６に関連付けて説明する。
図６は、図１のレイアウト配線混雑予測装置１０の基本的な動作概要を示すフローチャートである。
【００４３】
＜ステップＳＴ１＞
まず、ステップＳＴ１において、データ入力部１３が回路データ提供部１１から回路データを読み込み、回路データをメモリ上に格納する。
【００４４】
＜ステップＳＴ２＞
次に、ステップＳＴ２において、データ入力部１３がエラー判定閾値データ提供部１２からエラー判定閾値データを読み込み、エラー判定閾値データをメモリ上に格納する。
【００４５】
＜ステップＳＴ３＞
次に、ステップＳＴ３において、メモリ上に格納された回路データを変換処理部１４が有向グラフデータに変換し、変換データをメモリ上に格納する。
【００４６】
＜ステップＳＴ４＞
次に、ステップＳＴ４において、ノード配置座標計算処理部１５がメモリ格納した有向グラフに対し、グラフ配置アルゴリズムを用いて、有向グラフの各ノード配置座標を計算する。
【００４７】
＜ステップＳＴ５＞
次に、ステップＳＴ５において、ノード配置密度計算処理部１６が有向グラフの各ノードの配置密度を計算する。
【００４８】
＜ステップＳＴ６＞
次に、ステップＳＴ６において、ノード配置密度エラー判定処理部１７が有向グラフの各ノードの配置密度がエラー判定閾値より大きいかどうかを判定する。
有向グラフデータのノード配置密度エラー判定処理部１７は、有向グラフデータのノード配置密度計算処理部１６で計算したノード配置密度が、エラー判定閾値データＶＴＨＥより大きい場合にエラーと判定する。
【００４９】
＜ステップＳＴ７＞
次に、ステップＳＴ７において、エラー判定結果出力部１８が、有向グラフデータのノード配置密度エラー判定処理部１７によるエラー判定結果を出力する。
【００５０】
＜ステップＳＴ８＞
【００５１】
また、ステップＳＴ８において、有向グラフ描画処理部１９が、有向グラフデータのノード配置座標計算処理部１５により計算されたノード配置座標を基に、有向グラフデータのノードとエッジを表示部２０の画面上に描画する。
この場合、ステップＳＴ４、ＳＴ５、およびＳＴ６の結果が表示部２０の画面上に描画される。
【００５２】
図７（Ａ）〜（Ｇ）は、配線混雑度マップとマップに対応した配線混雑予測出力データを示す図である。
【００５３】
図７（Ａ）が配線混雑度マップを示し、図７（Ｂ）〜（Ｇ）が配線混雑予測出力データを示している。
図７（Ｂ）は図４の表示例に対応し、図７（Ｅ）は図３の表示例に対応している。
【００５４】
図７（Ｂ）〜（Ｇ）が配線混雑予測出力データのうち、図７（Ａ），（Ｃ），（Ｄ），（Ｇ）は有向グラフデータのノード密度が高く、配線混雑が発生する可能性が高いと判定される確率が高い。
図７（Ｅ），（Ｆ）は有向グラフデータのノード密度が低く、配線混雑が発生する可能性が低いと判定される確率が高い。
また、図７（Ｂ）の出力データでは、２箇所に分割配置されている箇所も予測できている。
【００５５】
また、ノード密度と配線混雑度との間に高い相関があるということができる。
特に、レジスタとしてのフリップフロップ間（Ｆ／Ｆ間）最大論理段数と配線混雑度との間に高い相関性がある。
【００５６】
図８（Ａ）〜（Ｄ）は、Ｆ／Ｆ間最大論理段数と配線混雑度との相関性について説明するための図である。
図９（Ａ）および（Ｂ）は、配線混雑度マップとセル密度マップとを対応して示す図である。
【００５７】
図８（Ａ）は配線混雑度マップを、図８（Ｂ）は配線混雑度が高い場合のレジスタ（Ｆ）数とファンインとの関係を、図８（Ｃ）は配線混雑度が低い場合のレジスタ（Ｆ）数とファンインとの関係を示している。また、図８（Ｄ）は、配線混雑度が高い場合の特異パターン（非連続）でのレジスタ（Ｆ）数とファンインとの関係を示している。
【００５８】
設計データから、インスタンス毎のファンイン数・ファンアウト数等１４種類のデータを取得し分析を行った結果、“配線混雑度”と高い相関関係が見られたのは“Ｆ／Ｆ間 最大論理段数”であった。
すなわち、“Ｆ／Ｆ間 最大論理段数”と“配線混雑度”との間に、高い相関性があることが確認される。
【００５９】
図９は、データの傾向を実験により得られた結果を示す。
“論理段数が多いレジスタの占有率が高い”場合には“セル密度が高い”と考えられる。
論理段数が大きい場合、タイミング的な問題で近接配置される可能性が高い。
“セル密度が高い”場合“配線混雑度が高い”と考えられる。
セル密度が高くなるとピン密度も高くなり、結果としてピン領域が配線領域を圧迫する。
以上の推察により、“論理段数が多いレジスタの占有率が高い”場合には“配線混雑度が高い”との結論に至る。
【００６０】
以上説明したように、本実施形態によれば、レイアウト配線混雑予測装置１０は、回路データを提供する回路データ提供部１１、および提供される回路データを有向グラフデータに変換する変換処理部１４を有する。
レイアウト配線混雑予測装置１０は、さらに変換処理部１４による有向グラフデータの各ノード配置座標を計算するノード配置座標計算処理部１５を有する。
レイアウト配線混雑予測装置１０は、ノード配置座標計算処理部１５で計算した有向グラフデータの各ノード配置座標を基にノード配置密度を計算するノード配置密度計算処理部１６を有する。
レイアウト配線混雑予測装置１０は、ノード配置密度計算処理部１６で計算したノード配置密度がエラー判定閾値より大きい場合にエラーと判定するノード配置密度エラー判定処理部１７を有する。
レイアウト配線混雑予測装置１０は、ノード配置密度エラー判定処理部１７によるエラー判定結果を出力するエラー判定結果出力部１８を有する。
さらに、レイアウト配線混雑予測装置１０は、表示部２０、およびノード配置座標計算処理部１５により計算されたノード配置座標を基に、有向グラフデータのノードとエッジを表示部２０の画面上に描画する有向グラフ描画処理部１９、を有する。
したがって、本実施形態によれば、以下の効果を得ることができる。
【００６１】
すなわち、本実施形態によれば、実際に配置配線のシミュレーションを行う前にネットリストを調査することにより、配線混雑を起こしやすい回路を事前に検出することが可能となり、配置配線シミュレーション後に発生する不具合を未然に防ぐことができる。
結果として、手戻りを削減する事が可能になる。
換言すれば、本実施形態によれば、セル面積の増大を招くとことなく、配線混雑度を容易に確認することが可能で、工程遅延を大幅に短縮することができる。
【００６２】
なお、以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、ＣＰＵ等のコンピュータで実行するように構成することも可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー（登録商標）ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
【図面の簡単な説明】
【００６３】
【図１】本実施形態に係るレイアウト配線混雑予測方法の概要を示す図である。
【図２】本発明の実施形態に係るレイアウト配線混雑予測装置の構成例を示すブロック図である。
【図３】有向グラフデータのノードとエッジのＧＵＩ表示例を示す図であって、ノード密度が低く、配線混雑が発生する可能性が低い例を示す図である。
【図４】有向グラフデータのノードとエッジのＧＵＩ表示例を示す図であって、ノード密度が高く、配線混雑が発生する可能性が高い例を示す図である。
【図５】本実施形態に係るエラー判定結果出力部の出力例を示す図である。
【図６】図１のレイアウト配線混雑予測装置１０の基本的な動作概要を示すフローチャートである。
【図７】配線混雑度マップとマップに対応した配線混雑予測出力データを示す図である。
【図８】Ｆ／Ｆ間最大論理段数と配線混雑度との相関性について説明するための図である。
【図９】配線混雑度マップとセル密度マップとを対応して示す図である。
【符号の説明】
【００６４】
１０・・・レイアウト配線混雑予測装置、１１・・・回路データ提供部、１２・・・エラー判定閾値データ提供部、１３・・・データ入力部、１４・・・変換処理部、１５・・・有向グラフノード配置座標計算処理部、１６・・・有向グラフノード配置密度計算処理部、１７・・・有向グラフノード配置密度エラー判定処理部、１８・・・エラー判定結果出力部、１９・・・有向グラフ描画処理部、２０・・・表示部。
【図１】
2010033493.tif 000003
【図２】
2010033493.tif 000004
【図３】
2010033493.tif 000005
【図４】
2010033493.tif 000006
【図５】
2010033493.tif 000007
【図６】
2010033493.tif 000008
【図７】
2010033493.tif 000009
【図８】
2010033493.tif 000010
【図９】
2010033493.tif 000011