(57)【要約】  【課題】  ＬＳＩのデザインデータから検出されたクリティカル・パスに関して、識別が容易な態様で複数のパスを同時に描画し表示する方法およびそのシステムを提供する。  【解決手段】  半導体集積回路のチップ上にセルが配置されたデザインデータとチップにおけるタイミング制約の情報に基づいて、クリティカル・パスを検出するクリティカル・パス検出部１３と、このクリティカル・パス検出部１３により検出されたクリティカル・パスのうち、経路の一定以上の区間が共通するパスである互いに類似するパスを１本のパスで代表させて代表クリティカル・パスを抽出する代表クリティカル・パス抽出部１４と、この代表クリティカル・パス抽出部１４により抽出された代表クリティカル・パスを、各代表クリティカル・パスに類似する他のクリティカル・パスの情報を反映させて描画する代表クリティカル・パス画像生成部１５とを備える。  【選択図】  図１
2006195898.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のチップ上にセルが配置されたデザインデータと当該チップにおけるタイミング制約の情報に基づいて、クリティカル・パスを検出するクリティカル・パス検出部と、
前記クリティカル・パス検出部により検出されたクリティカル・パスのうち、経路の一定以上の区間が共通するパスである互いに類似するパスを１本のパスで代表させて代表クリティカル・パスを抽出する代表クリティカル・パス抽出部と、
前記代表クリティカル・パス抽出部により抽出された代表クリティカル・パスを、各代表クリティカル・パスに類似する他のクリティカル・パスの情報を反映させて描画するパス画像生成部と
を備えることを特徴とする信号伝播経路描画装置。
【請求項２】
前記代表クリティカル・パス抽出部は、前記互いに類似するクリティカル・パスのうちで、信号の伝達が規定のタイミング条件から最も遅れているパスを代表クリティカル・パスとして抽出することを特徴とする請求項１に記載の信号伝播経路描画装置。
【請求項３】
前記パス画像生成部は、類似する他のクリティカル・パスの数に応じて、異なる太さの線で前記代表クリティカル・パスを描画することを特徴とする請求項１に記載の信号伝播経路描画装置。
【請求項４】
前記代表クリティカル・パス抽出部は、クリティカル・パスを、パスが通る始点から終点までの複数のゲートピンのうち、隣り合うゲートピンどうしの間の区間であるセグメントに分割し、当該セグメントごとに、当該セグメントを通るクリティカル・パスの数を計数し、
前記パス画像生成部は、前記代表クリティカル・パスの前記セグメントごとに、前記代表クリティカル・パス抽出部により計数された値に応じて異なる太さの線で描画することを特徴とする請求項１に記載の信号伝播経路描画装置。
【請求項５】
前記パス画像生成部は、前記代表クリティカル・パスごとに異なる色の線で描画することを特徴とする請求項１に記載の信号伝播経路描画装置。
【請求項６】
前記パス画像生成部は、描画された前記代表クリティカル・パスの線の近傍に、当該代表クリティカル・パスに付与されているパス番号を表記することを特徴とする請求項１に記載の信号伝播経路描画装置。
【請求項７】
前記パス画像生成部は、描画された前記代表クリティカル・パスの線の始点および終点の位置に、それぞれ始点を表すマークおよび終点を表すマークを描画することを特徴とする請求項１に記載の信号伝播経路描画装置。
【請求項８】
半導体集積回路のチップ上にセルが配置されたデザインデータと当該チップにおけるタイミング制約の情報に基づいて、クリティカル・パスを検出するクリティカル・パス検出手段と、
前記クリティカル・パス検出手段により検出されたクリティカル・パスのうち、経路の一定以上の区間が共通するパスである互いに類似するパスを１本のパスで代表させて代表クリティカル・パスを抽出し、当該代表クリティカル・パスを表示する代表クリティカル・パス表示手段と
を備えることを特徴とする信号伝播経路描画装置。
【請求項９】
前記代表クリティカル・パス表示手段は、類似する他のクリティカル・パスの数に応じて、異なる太さの線で前記代表クリティカル・パスを描画することを特徴とする請求項８に記載の信号伝播経路描画装置。
【請求項１０】
前記代表クリティカル・パス表示手段は、前記代表クリティカル・パスが通る始点から終点までの複数のゲートピンのうちで隣り合うゲートピンどうしの間の区間であるセグメントごとに、当該セグメントを通るクリティカル・パスの数に応じて線の異なる太さの線で表示することを特徴とする請求項８に記載の信号伝播経路描画装置。
【請求項１１】
前記代表クリティカル・パス表示手段は、複数の前記代表クリティカル・パスを、各々異なる色の線で表示することを特徴とする請求項８に記載の信号伝播経路描画装置。
【請求項１２】
前記代表クリティカル・パス表示手段は、表示画面の適当な場所に、個々の前記代表クリティカル・パスに付与されているパス番号を、対応する当該代表クリティカル・パスの線と同じ色で表示することを特徴とする請求項１１に記載の信号伝播経路描画装置。
【請求項１３】
コンピュータにより半導体集積回路の信号伝播経路を描画する方法であって、
前記コンピュータが、半導体集積回路のチップ上にセルが配置されたデザインデータと当該チップにおけるタイミング制約の情報に基づいて、クリティカル・パスを検出し、記憶装置に格納する第１のステップと、
前記コンピュータが、前記記憶装置から前記クリティカル・パスを読み出し、当該クリティカル・パスのうち、経路の一定以上の区間が共通するパスである互いに類似するパスを１本のパスで代表させて代表クリティカル・パスを抽出し、前記記憶装置に格納する第２のステップと、
前記コンピュータが、前記記憶装置から前記代表クリティカル・パスを読み出し、当該代表クリティカル・パスを、各代表クリティカル・パスに類似する他のクリティカル・パスの情報を反映させて描画する第３のステップと
を含むことを特徴とする信号伝播経路描画方法。
【請求項１４】
前記第２のステップでは、前記コンピュータが、前記互いに類似するクリティカル・パスのうちで、信号の伝達が規定のタイミング条件から最も遅れているパスを代表クリティカル・パスとして抽出することを特徴とする請求項１３に記載の信号伝播経路描画方法。
【請求項１５】
前記第３のステップでは、前記コンピュータが、類似する他のクリティカル・パスの数に応じて、異なる太さの線で前記代表クリティカル・パスを描画することを特徴とする請求項１３に記載の信号伝播経路描画方法。
【請求項１６】
前記第２のステップでは、前記コンピュータが、クリティカル・パスを、パスが通る始点から終点までの複数のゲートピンのうち、隣り合うゲートピンどうしの間の区間であるセグメントに分割し、当該セグメントごとに、当該セグメントを通るクリティカル・パスの数を計数し、
前記第３のステップでは、前記コンピュータが、前記代表クリティカル・パスの前記セグメントごとに、前記第２のステップで計数された値に応じて異なる太さの線で描画することを特徴とする請求項１３に記載の信号伝播経路描画方法。
【請求項１７】
コンピュータに、
半導体集積回路のチップ上にセルが配置されたデザインデータと当該チップにおけるタイミング制約の情報に基づいて、クリティカル・パスを検出し、記憶装置に格納する第１の処理と、
前記記憶装置から前記クリティカル・パスを読み出し、当該クリティカル・パスのうち、経路の一定以上の区間が共通するパスである互いに類似するパスを１本のパスで代表させて代表クリティカル・パスを抽出し、前記記憶装置に格納する第２の処理と、
前記記憶装置から前記代表クリティカル・パスを読み出し、当該代表クリティカル・パスを、各代表クリティカル・パスに類似する他のクリティカル・パスの情報を反映させて描画する第３の処理と
を実行させることを特徴とするプログラム。
【請求項１８】
前記第２の処理では、前記互いに類似するクリティカル・パスのうちで、信号の伝達が規定のタイミング条件から最も遅れているパスを代表クリティカル・パスとして抽出する処理を前記コンピュータに実行させることを特徴とする請求項１７に記載のプログラム。
【請求項１９】
前記第３の処理では、類似する他のクリティカル・パスの数に応じて、異なる太さの線で前記代表クリティカル・パスを描画する処理を前記コンピュータに実行させることを特徴とする請求項１７に記載のプログラム。
【請求項２０】
前記第３の処理では、前記代表クリティカル・パスの前記セグメントごとに、前記第２の処理で計数された値に応じて異なる太さの線で描画する処理を前記コンピュータに実行させることを特徴とする請求項１７に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ（Large Scale Integration：半導体集積回路）の開発におけるセルのレイアウトおよびタイミング収束の作業を支援するため、クリティカル・パスを検出し表示する装置およびその方法に関する。
【背景技術】
【０００２】
ＬＳＩの開発では、各種のセルをチップ上にレイアウトしタイミング収束させる作業が大きなウエイトを占め、その効率が開発期間に大きく影響する。通常、タイミング収束までの作業は、次のような手順で実施される。
【０００３】
１．ＬＳＩのロジック設計担当者が、デザインのネットリストを準備する。
２．レイアウト担当者が、チップ全体のフロアプランに基づき、マニュアル操作で、Ｉ／Ｏ（Input/Output）セル、ハード・コア、ＳＲＡＭ（Static Random Access Memory）、レジスタ・アレイ（Register Array）等のマクロ・セルをチップ上に配置（レイアウト）する。
３．コンピュータにて実行されるレイアウト・ツールが、タイミングや配線性の最適化を図りながら、上記ネットリストに含まれるその他のゲート（基本セル）をチップ上に配置（レイアウト）する。
４．コンピュータにて実行されるタイミング・ツールが、セルがレイアウトされた後のデザインデータに対し、タイミング・ジョブを実行し、パス（信号伝播経路）ごとのタイミング・レポート（エンドポイント・レポート等）を出力する（パスは、信号が伝播する経路であり、始点と呼ばれるゲートのピン（通常ラッチのクロック・ピン）に始まり、途中いくつかのゲートのピンを通り、終点と呼ばれるゲートのピン（通常ラッチのデータ・ピン）に終わる）。
５．レイアウト担当者が、ステップ４の出力結果を参照し、規定のタイミング内に信号を伝達できない（間に合っていない）パス（クリティカル・パス）に関して、発生原因を解析、特定する。
６．ステップ５の解析において、クリティカル・パスの発生原因がフロアプランにあれば、ステップ３まで戻り、フロアプランを修正することになる。論理的にパスが深すぎることが原因である場合は、ステップ１に戻り、ネットリストを変更する。簡単な変更で収束できそうならば、後続のプロセス（説明は省略）に進む。
【０００４】
上記のステップ５のレイアウト担当者によるクリティカル・パスの解析は、ステップ４で作成されるエンドポイント・レポートや、ディスプレイに表示されたチップ上にクリティカル・パスを重ねて表示した画像を参照して行うことができる。この画像は、エンドポイント・レポート等のタイミング・レポートからクリティカル・パスを検出して作成することができる。従来、ステップ４のタイミング・ジョブをコンピュータで自動的に実行しクリティカル・パスを発見する技術や、クリティカル・パスを可視的に表示する技術が提案されている（クリティカル・パスを発見する技術については、例えば特許文献１を、クリティカル・パスを表示する技術については、例えば特許文献２を参照）。
【０００５】
【特許文献１】特開平６−２８２５９７号公報
【特許文献２】特開平８−５０６０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように、従来、ＬＳＩの開発において、クリティカル・パスの解析を実施するために、コンピュータを用いてクリティカル・パスを検出し可視的に表示する技術が実現されている。
【０００７】
しかしながら、レイアウト作業の初期段階等でクリティカル・パスが多く存在する場合（例えば数百本）存在する場合、検出されたクリティカル・パスを１本ずつ表示すると、表示されたクリティカル・パスを解析する作業に要する時間と手間が膨大にかかってしまう。
【０００８】
一方、検出されたクリティカル・パスを全て同時に表示すると、画面上でクリティカル・パスが混雑するため、個々のクリティカル・パスを視認して識別することが困難になってしまう。
【０００９】
そこで、本発明は、ＬＳＩのデザインデータから検出されたクリティカル・パスに関して、識別が容易な態様で複数のパスを同時に描画し表示する方法およびそのシステムを提供し、クリティカル・パスの解析作業の効率を向上させることを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するため、本発明は、次のように構成された信号伝播経路描画装置として実現される。この装置は、半導体集積回路のチップ上にセルが配置されたデザインデータとチップにおけるタイミング制約の情報に基づいて、クリティカル・パスを検出するクリティカル・パス検出部と、このクリティカル・パス検出部により検出されたクリティカル・パスのうち、経路の一定以上の区間が共通するパスである互いに類似するパスを１本のパスで代表させて代表クリティカル・パスを抽出する代表クリティカル・パス抽出部と、この代表クリティカル・パス抽出部により抽出された代表クリティカル・パスを、各代表クリティカル・パスに類似する他のクリティカル・パスの情報を反映させて描画するパス画像生成部とを備えることを特徴とする。
【００１１】
より詳しくは、この代表クリティカル・パス抽出部は、互いに類似するクリティカル・パスのうちで、信号の伝達が規定のタイミング条件から最も遅れているパスを代表クリティカル・パスとして抽出する。また、クリティカル・パスを、パスが通る始点から終点までの複数のゲートピンのうち、隣り合うゲートピンどうしの間の区間であるセグメントに分割し、セグメントごとに、セグメントを通るクリティカル・パスの数を計数する。そして、パス画像生成部は、代表クリティカル・パスのセグメントごとに、代表クリティカル・パス抽出部により計数された値に応じて異なる太さの線で描画する。また、このパス画像生成部は、代表クリティカル・パスごとに異なる色の線で描画する。そしてさらに、描画された代表クリティカル・パスの線の近傍および表示画面の適当な場所に、個々の代表クリティカル・パスに付与されているパス番号を、対応する代表クリティカル・パスの線と同じ色で表示する。さらにまた、このパス画像生成部は、描画された代表クリティカル・パスの線の始点および終点の位置に、それぞれ始点を表すマークおよび終点を表すマークを描画する。
【００１２】
また、上記の信号伝播経路描画装置は、次のように構成することもできる。この装置は、クリティカル・パスを検出するクリティカル・パス検出手段と、このクリティカル・パス検出手段により検出されたクリティカル・パスのうち、経路の一定以上の区間が共通するパスである互いに類似するパスを１本のパスで代表させて代表クリティカル・パスを抽出し、この代表クリティカル・パスを表示する代表クリティカル・パス表示手段とを備える。
【００１３】
また、上記の目的を達成する他の本発明は、コンピュータにより半導体集積回路の信号伝播経路を描画する方法としても実現される。この方法は、コンピュータが、半導体集積回路のチップ上にセルが配置されたデザインデータとチップにおけるタイミング制約の情報に基づいて、クリティカル・パスを検出するステップと、このクリティカル・パスを読み出し、クリティカル・パスのうち、経路の一定以上の区間が共通するパスである互いに類似するパスを１本のパスで代表させて代表クリティカル・パスを抽出するステップと、この代表クリティカル・パスを、各代表クリティカル・パスに類似する他のクリティカル・パスの情報を反映させて描画する第３のステップとを含むことを特徴とする。
【００１４】
さらに本発明は、コンピュータを制御して上述した信号伝播経路描画装置として機能させるプログラムや、コンピュータに上記の信号伝播経路描画方法の各ステップに対応する処理を実行させるプログラムとしても実現される。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。
【発明の効果】
【００１５】
以上のように構成された本発明によれば、ＬＳＩのデザインデータから検出されたクリティカル・パスから代表クリティカル・パスを抽出し、他のパスを表示対象から捨象することにより、表示するパスの数を減少させて、視認性の高いレイアウト画面を描画し表示することができる。また、代表クリティカル・パスに類似するパスの数に応じて異なる太さの線でパスを描画したり、複数のパスを色分けして描画したり、パス番号を表示したりする。これにより、表示されているクリティカル・パスの識別が容易になるため、解析作業の効率向上に寄与することができる。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を参照して、本発明を実施するための最良の形態（以下、実施形態）について詳細に説明する。
図１は、本実施形態によるクリティカル・パス表示装置の機能構成を示す図である。
図１に示すクリティカル・パス表示装置１００は、各種の演算処理を実行するデータ処理装置１０と、データ処理装置１０による処理の実行に用いられ生成されたデータを保持する記憶装置２０と、データ処理装置１０により生成された画像を表示するディスプレイ装置３０とを備える。このクリティカル・パス表示装置１００は、パーソナルコンピュータやワークステーション、その他のコンピュータシステムにて実現される。
【００１７】
図２は、図１のクリティカル・パス表示装置１００を実現するのに好適なコンピュータのハードウェア構成の例を模式的に示した図である。
図２に示すコンピュータは、演算手段であるＣＰＵ（Central Processing Unit：中央処理装置）１０１と、Ｍ／Ｂ（マザーボード）チップセット１０２およびＣＰＵバスを介してＣＰＵ１０１に接続されたメインメモリ１０３と、同じくＭ／Ｂチップセット１０２およびＡＧＰ（Accelerated Graphics Port）を介してＣＰＵ１０１に接続されたビデオカード１０４と、ＰＣＩ（Peripheral Component Interconnect）バスを介してＭ／Ｂチップセット１０２に接続された磁気ディスク装置（ＨＤＤ）１０５、ネットワークインタフェース１０６と、さらにこのＰＣＩバスからブリッジ回路１０７およびＩＳＡ（Industry Standard Architecture）バスなどの低速なバスを介してＭ／Ｂチップセット１０２に接続されたフレキシブルディスクドライブ１０８およびキーボードやマウス等の入力デバイス１０９とを備える。また、ビデオカード１０４にはディスプレイ装置３０が接続されている。
【００１８】
なお、図２は本実施形態を実現するコンピュータのハードウェア構成を例示するに過ぎず、本実施形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード１０４を設ける代わりに、ビデオメモリのみを搭載し、ＣＰＵ１０１にてイメージデータを処理する構成としても良いし、外部記憶装置として、ＡＴＡ（AT Attachment）やＳＣＳＩ（Small Computer System Interface）などのインタフェースを介してＣＤ−Ｒ（Compact Disc Recordable）やＤＶＤ−ＲＡＭ（Digital Versatile Disc Random Access Memory）のドライブを設けても良い。
【００１９】
図１に示すクリティカル・パス表示装置１００のデータ処理装置１０は、デザインデータ入力部１１と、タイミング計算部１２と、クリティカル・パス検出部１３とを備える。また、検出されたクリティカル・パスから後述する代表クリティカル・パスを抽出する代表クリティカル・パス抽出部１４と、抽出された代表クリティカル・パスの画像を生成する代表クリティカル・パス画像生成部１５とを備える。さらに、このデータ処理装置１０は、チップ上のセルのレイアウト情報に基づいてセルの配置状況を示す画像を生成するセル配置画像生成部１６と、代表クリティカル・パス画像生成部１５およびセル配置画像生成部１６により生成された画像を合成してディスプレイ装置３０に表示させるグラフィック表示制御部１７とを備える。
【００２０】
記憶装置２０は、例えば、図２のメインメモリ１０３により実現され、配置・論理接続情報記憶部２１と、タイミング計算結果記憶部２２と、クリティカル・パス記憶部２３と、代表クリティカル・パス記憶部２４とを備える。これらの記憶部は、データ処理装置１０による処理の過程で、それぞれデザインデータ入力部１１、データ処理装置１０のタイミング計算部１２、クリティカル・パス検出部１３、代表クリティカル・パス抽出部１４等の処理によって得られるデータを保持する。
【００２１】
データ処理装置１０には、設計対象であるチップのデザインデータ（レイアウト・ツールによりチップ上にセルがレイアウトされたデータ）と共に、タイミング制約情報（チップの仕様に基づくクロック定義や入出力条件等）、セル・ライブラリ（チップ上に配置されるセルの物理情報やタイミング情報等）が入力される。これらの情報は、例えば図２の磁気ディスク装置１０５に格納しておき、処理を実行する際に読み出して用いても良いし、外部装置から入力するようにしても良い。
【００２２】
データ処理装置１０のデザインデータ入力部１１は、例えば図２のプログラム制御されたＣＰＵ１０１およびメインメモリ１０３により実現される。このデザインデータ入力部１１は、設計対象のチップのデザインデータを入力し、かつセル・ライブラリからデザインデータに含まれるセルに関する情報を入力する。そして、セル・ライブラリから取得された情報に基づいてデザインデータを解析し、チップ上のセルの配置情報およびセル間の論理接続情報を取得する。得られた配置情報および論理接続情報は、記憶装置２０の配置・論理接続情報記憶部２１に格納される。
【００２３】
タイミング計算部１２は、例えば図２のプログラム制御されたＣＰＵ１０１およびメインメモリ１０３により実現される。このタイミング計算部１２は、配置・論理接続情報記憶部２１に格納されているセルの配置情報および論理接続情報を読み出すと共に、セル・ライブラリから該当するセルに関する情報を入力し、かつ設計対象のチップに関するタイミング制約情報を入力する。そして、チップ上のセルを接続するパスのタイミング計算を実行する。各パスに関するタイミング計算の結果は、記憶装置２０のタイミング計算結果記憶部２２に格納される。
【００２４】
クリティカル・パス検出部１３は、例えば図２のプログラム制御されたＣＰＵ１０１およびメインメモリ１０３により実現される。このクリティカル・パス検出部１３は、タイミング計算結果記憶部２２から各パスのタイミング計算の結果を入力し、規定のタイミングに間に合っていないクリティカル・パスを検出する。また、クリティカル・パス検出部１３は、クリティカル・パスを含む各パスのエンドポイント・レポート等のタイミング・レポートを作成し出力することができる。クリティカル・パス検出部１３により検出されたクリティカル・パスの情報は、記憶装置２０のクリティカル・パス記憶部２３に格納される。
【００２５】
図３は、クリティカル・パス記憶部２３に格納されるデータの構成例を示す図である。
図３に示すように、クリティカル・パス記憶部２３には、個々のクリティカル・パスを識別するためのパス番号（Path Number）と、各クリティカル・パスが通るゲートピンのリストとが登録されたテーブルが格納される。パス番号としては、例えば、エンドポイント・レポートが作成される際に各クリティカル・パスに振られる番号（Path Number）を用いることができる。
【００２６】
以上のデザインデータ入力部１１、タイミング計算部１２およびクリティカル・パス検出部１３は、コンピュータによりデザインデータからクリティカル・パスを検出する既存システムを用いて構成することが可能である。本実施形態は、検出されたクリティカル・パスからさらに代表クリティカル・パスを抽出し、複数の代表クリティカル・パスを描画してディスプレイ装置３０に表示する手段を備える。
【００２７】
代表クリティカル・パス抽出部１４は、例えば図２のプログラム制御されたＣＰＵ１０１およびメインメモリ１０３により実現される。この代表クリティカル・パス抽出部１４は、クリティカル・パス記憶部２３からクリティカル・パスの情報を読み出し、その中から代表クリティカル・パスを抽出する。
【００２８】
一般に、ＬＳＩ開発の初期の段階では、レイアウト作業が実施された後、数百から数千本という数のクリティカル・パスが発生する。しかし多くの場合、実際には複数のクリティカル・パスが共通する区間を有している（この共通区間を有する複数のパスを互いに類似すると呼ぶことにする）。例えば、図４に示す４本のクリティカル・パス（ＦＦａ−ＦＦ１、ＦＦａ−ＦＦ２、ＦＦａ−ＦＦ３、ＦＦａ−ＦＦ４）は、図示のように、始点のラッチＦＦａから、終点のラッチＦＦ１／ＦＦ２／ＦＦ３／ＦＦ４の２つ前のバッファまでの区間が共通区間である。そして、この互いに類似する複数のクリティカル・パスにおける共通区間が、規定のタイミングに間に合わない原因となっていることが多い。そこで、互いに類似する複数のクリティカル・パスのうち、一本を選択して代表クリティカル・パスとして抽出し、他の類似するクリティカル・パスを捨象することにより、画像表示して解析する対象となるクリティカル・パスの数を大幅に減少させることができる。例えば、図４の例では、パスＦＦａ−ＦＦ１を代表クリティカル・パスとし、他のパスＦＦａ−ＦＦ２、ＦＦａ−ＦＦ３、ＦＦａ−ＦＦ４を切り捨てることで、解析対象のパス数は１／４になる。
【００２９】
以上の考え方に基づき、本実施形態では、代表クリティカル・パス抽出部１４が、クリティカル・パス検出部１３により検出されたクリティカル・パスから代表クリティカル・パスを抽出する。抽出された代表クリティカル・パスの情報は、記憶装置２０の代表クリティカル・パス記憶部２４に格納される。なお、代表クリティカル・パスを検出する具体的な方法および代表クリティカル・パス記憶部２４に格納される情報の詳細については後述する。
【００３０】
代表クリティカル・パス画像生成部１５は、例えば図２のプログラム制御されたＣＰＵ１０１、メインメモリ１０３およびビデオカード１０４により実現される。この代表クリティカル・パス画像生成部１５は、配置・論理接続情報記憶部２１からチップ上にレイアウトされたセルの配置情報および論理接続情報を読み出し、クリティカル・パス記憶部２３からクリティカル・パスの情報を読み出し、代表クリティカル・パス記憶部２４から各代表クリティカル・パスの情報を読み出して、これらの情報に基づきディスプレイ装置３０に表示するための画像データを生成する。画像データの生成方法の詳細については後述する。
【００３１】
図５は、代表クリティカル・パス画像生成部１５により生成される代表クリティカル・パスの表示画像の例を示す図である。
図５に示す画像において、各代表クリティカル・パスは、チップ上での位置を表す線と、この線に付されたパス番号によって示されている。複数の線が交差してもどの代表クリティカル・パスを表す線かを識別できるように、各線は色分けして表示される。そして、画面の左側に代表クリティカル・パスの線と同色でパス番号が列記されている。また、各線の太さによって、各代表クリティカル・パスが何本の類似のクリティカル・パスを代表しているかが示される。すなわち、共通の区間を持つクリティカル・パスの数が多いほど、表示される線の太さが太くなる。
【００３２】
セル配置画像生成部１６は、例えば図２のプログラム制御されたＣＰＵ１０１、メインメモリ１０３およびビデオカード１０４により実現される。このセル配置画像生成部１６は、配置・論理接続情報記憶部２１からチップ上にレイアウトされたセルの配置情報および論理接続情報を読み出し、読み出した情報に基づいて、各種のセルがレイアウトされたチップの画像データを生成する。図６は、セル配置画像生成部１６により生成される表示画像の例を示す図である。なお、セルがレイアウトされたチップの画像データを生成することは既存技術であり、セル配置画像生成部１６は既存のシステムを用いて構成することができる。
【００３３】
グラフィック表示制御部１７は、例えば図２のビデオカード１０４により実現される。このグラフィック表示制御部１７は、図５に示したような代表クリティカル・パス画像生成部１５により生成された画像と、図６に示したようなセル配置画像生成部１６により生成された画像とを合成し、ディスプレイ装置３０に表示させる。
【００３４】
次に、本実施形態により提供される代表クリティカル・パス抽出部１４および代表クリティカル・パス画像生成部１５の動作について詳細に説明する。
図７は、代表クリティカル・パス抽出部１４の動作を説明するフローチャートである。
図７を参照すると、代表クリティカル・パス抽出部１４は、まずクリティカル・パス記憶部２３から全てのクリティカル・パスの情報（パス番号およびパスが通るゲートピンのリスト）を読み込む（ステップ７０１）。そして、代表クリティカル・パス抽出部１４は、読み込んだ情報に基づき、最も規定のタイミング条件から遅れているパス（ワースト・クリティカル・パス）に着目する（ステップ７０２）。なお、このワースト・クリティカル・パスは、エンドポイント・レポートの１番目のパスに相当する。
【００３５】
次に、代表クリティカル・パス抽出部１４は、クリティカル・パスをセグメントに分割し（ステップ７０３）、各セグメントの頻出カウント（変数）を「１」にセットする（ステップ７０４）。ここで、セグメントとは、図８に示すように、パスが通る始点から終点までの複数のゲートピンのうち、隣り合うゲートピンどうしの間の区間である。また、頻出カウントとは、そのセグメントを通るクリティカル・パスの数を記録するためのもので、後で、描画する線の太さを決定するのに利用される。これらのセグメントおよびその頻出カウントの情報は、後述するセグメント−頻出カウントテーブルに登録されて、代表クリティカル・パス記憶部２４に格納される。
【００３６】
次に、代表クリティカル・パス抽出部１４は、着目したワースト・クリティカル・パスのパス番号とこのパスが通るセグメントのリストを代表クリティカル・パステーブルに登録し、代表クリティカル・パス記憶部２４に格納する（ステップ７０５）。なお、ワースト・クリティカル・パスは最初に着目されるクリティカル・パスであり、比較するパスが無いので、必ず代表クリティカル・パスとなる。
【００３７】
次に、代表クリティカル・パス抽出部１４は、２番目に規定のタイミング条件から遅れているクリティカル・パスに着目する（ステップ７０６、７０７）。以下、着目したクリティカル・パスを現行クリティカル・パスと呼ぶ。そして、代表クリティカル・パス抽出部１４は、現行クリティカル・パスをセグメントに分割し（ステップ７０８）、各セグメントの頻出カウントを求める（ステップ７０９）。具体的には、分割されたセグメントを順に着目していき、初めて現れたセグメントであれば、セグメント−頻出カウントテーブルで、そのセグメントの頻出カウントを「１」にセットする。一方、既出のセグメントであれば、テーブルに既に登録されている頻出カウントの値を１増加する。
【００３８】
図９はセグメント−頻出カウントテーブルの構成例を示す図である。
図９に示すように、セグメント−頻出カウントテーブルには、代表クリティカル・パスを構成するセグメントとその頻出カウントとが登録される。図９のテーブルにおいて、パス番号２のクリティカル・パスのセグメントgatepin２_２：gatepin２_３とパス番号１のクリティカル・パスのセグメントgatepin１_２：gatepin１_３とが同一であるため、セグメントgatepin１_２：gatepin１_３の頻出カウントの値が「２」となっている。
【００３９】
次に、代表クリティカル・パス抽出部１４は、これまでに代表クリティカル・パステーブルに登録されている代表クリティカル・パスに順次着目し、各代表クリティカル・パスに属すセグメントと、現行クリティカル・パスが通るセグメントを比較する。そして、最も共通するセグメントの多い代表クリティカル・パスおよび共通するセグメントの数の割合を求める（ステップ７１０）。例えば、現行クリティカル・パスのセグメントの総数が１０で、それまで代表クリティカル・パステーブルに登録された代表クリティカル・パスＡ、ＢおよびＣに対して、それぞれ０個、４個および１個のセグメントが一致したとする。すると、最も共通するセグメントの多い代表クリティカル・パスはＢで、割合は０．４（４／１０）ということになる。
【００４０】
次に、代表クリティカル・パス抽出部１４は、ステップ７１０で求めた割合が予め設定された閾値（たとえば、０．７）以上である場合は、現行クリティカル・パスは、最も共通するセグメントの多い当該代表クリティカル・パスと類似するとみなす（ステップ７１１）。代表クリティカル・パスと類似すると判断された現行クリティカル・パスは、代表クリティカル・パステーブルには登録されない。一方、ステップ７１０で求めた割合が閾値以下である場合は、現行クリティカル・パスは、それまでに登録されている代表クリティカル・パスとは類似しないと判断され、新たな代表クリティカル・パスとして代表クリティカル・パステーブルに登録される（ステップ７１１、７１２）。
【００４１】
この後、代表クリティカル・パス抽出部１４は、ステップ７０６に戻り、次に規定のタイミング条件から遅れているクリティカル・パスに着目し（ステップ７０７）、ステップ７０８以降の動作を繰り返す。そして、未処理のクリティカル・パスがなくなったならば、処理を終了する（ステップ７０６）。
このように、本実施形態における代表クリティカル・パスの抽出は、規定のタイミング条件から最も遅れているクリティカル・パスから順に処理を行っている。したがって、代表クリティカル・パスに抽出されたパスは、類似するクリティカル・パスのうちで、規定のタイミング条件から最も遅れているパスということになる。
【００４２】
以上の動作により、セグメント−頻出カウントテーブルと代表クリティカル・パステーブルとが作成され、代表クリティカル・パス記憶部２４に格納される。
図１０は、代表クリティカル・パステーブルの構成例を示す図である。
図１０に示すように、代表クリティカル・パステーブルには、代表クリティカル・パスのパス番号と、そのパスが通るセグメントのリストとが登録される。
【００４３】
図１１は、代表クリティカル・パス画像生成部１５による描画動作を説明するフローチャートである。
図１１を参照すると、代表クリティカル・パス画像生成部１５は、まず、配置・論理接続情報記憶部２１、クリティカル・パス記憶部２３および代表クリティカル・パス記憶部２４から情報を取得する（ステップ１１０１）。そして、描画する（すなわち代表クリティカル・パステーブルに登録されている）代表クリティカル・パスの本数分の色相を用意する（ステップ１１０２）。
【００４４】
次に、代表クリティカル・パス画像生成部１５は、代表クリティカル・パスの一つに着目する（ステップ１１０３、１１０４）。以下、着目した代表クリティカル・パスを現行代表クリティカル・パスと呼ぶ。そして、ステップ１１０２で用意した色相の一つを現行代表クリティカル・パスに割り当てる（ステップ１１０５）。
【００４５】
次に、代表クリティカル・パス画像生成部１５は、現行代表クリティカル・パスに属するセグメントの一つに着目する（ステップ１１０６、１１０７）。そして、着目したセグメントの両端であるゲートピンのレイアウト画面上における座標を求めると共に（ステップ１１０８）、このセグメントの頻出カウントの値に応じて描画する線分の太さを設定する（ステップ１１０９）。この線分の太さは、例えば、頻出カウント数の平方根を線の太さ（ドット数等）に対応付けて設定することができる。
【００４６】
現行代表クリティカル・パスの全てのセグメントに対してステップ１１０７からステップ１１０９までの処理を行ったならば（ステップ１１０６）、次に、代表クリティカル・パス画像生成部１５は、現行代表クリティカル・パスの始点と終点のゲートピンの座標を求め、各座標付近の所定の位置に、始点および終点を表すマークとパス番号を付ける。そして、レイアウト画面のチップから外れる場所（例えば画面の左隅）に、ステップ１１０５で割り当てられた色相でパス番号を書き込む（ステップ１１１０）。なお、レイアウト画面における代表クリティカル・パスの始点と終点のマークは、始点と終点を識別できるように相異なるマークとする。例えば、それぞれ視認できる程度のサイズで、始点を正方形、終点を円形とする。これは、クリティカル・パスを視覚的に認識する際に、どちらの端点が始点か（終点か）を判断することが重要となるためである。
【００４７】
次に、代表クリティカル・パス画像生成部１５は、ステップ１１０３に戻り、未処理の代表クリティカル・パスの一つに着目して（ステップ１１０４）、ステップ１１０５以降の動作を繰り返す。そして、未処理の代表クリティカル・パスがなくなったならば、処理をグラフィック表示制御部１７に移行して終了する（ステップ１１０３、１１１１）。グラフィック表示制御部１７は、代表クリティカル・パス画像生成部１５によって生成された画像データと、セル配置画像生成部１６により生成されるセルがレイアウトされたチップの画像データとを取得し、合成して、ディスプレイ装置３０に表示する。
【００４８】
以上のようにして、代表クリティカル・パスがディスプレイ装置３０に表示されるが、これはクリティカル・パスを全て表示する場合に比べて大幅に表示されるパスの数が少ない。一方、クリティカル・パスを１本ずつ表示する場合に比べて少ない画面で解析すべきクリティカル・パスを表示することができる。さらに、代表クリティカル・パスに類似する（共通の区間を持つ）他のクリティカル・パスがある場合には、その本数が画面に表示されるパスの太さに反映されるので、視覚的に把握することができる。そのため、ユーザ（レイアウト担当者やロジック設計担当者）がクリティカル・パスの解析を行う上で、クリティカル・パスの視認性が高く利便性の高い画像を提供し、作業効率の向上に寄与することができる。なお、上記の動作例では、代表クリティカル・パスごとに異なる色相を割り当てて描画することとしたが、色相以外に色の明度や彩度を変えて描画するようにしても良い。
【００４９】
なお、本実施形態は、代表クリティカル・パスに類似する他のクリティカル・パスを解析対象から除いているため、代表クリティカル・パスと共通しない区間が、規定のタイミングに間に合わない原因となっているクリティカル・パスは、画面表示から漏れてしまうこととなる。しかしながら、ＬＳＩの設計段階では通常、フロアプランを修正したり、場合によってはネットリストを変更したりしながら、数度にわたってクリティカル・パスの検出および解析を実施する。そのため、画面表示から漏れてしまったクリティカル・パスは、さらに本実施形態によって代表クリティカル・パスを検出し表示する操作を繰り返すことで解析対象となるので、問題はない。
【図面の簡単な説明】
【００５０】
【図１】本実施形態のクリティカル・パス表示装置の機能構成を示す図である。
【図２】図１のクリティカル・パス表示装置を実現するのに好適なコンピュータのハードウェア構成の例を模式的に示した図である。
【図３】本実施形態のクリティカル・パス記憶部に格納されるデータの構成例を示す図である。
【図４】本実施形態における互いに類似する複数のクリティカル・パスの例を示す図である。
【図５】本実施形態における代表クリティカル・パス画像生成部により生成される代表クリティカル・パスの表示画像の例を示す図である。
【図６】本実施形態のセル配置画像生成部により生成される表示画像の例を示す図である。
【図７】本実施形態の代表クリティカル・パス抽出部の動作を説明するフローチャートである。
【図８】パスにおけるセグメントを説明する図である。
【図９】本実施形態で用いられるセグメント−頻出カウントテーブルの構成例を示す図である。
【図１０】本実施形態で用いられる代表クリティカル・パステーブルの構成例を示す図である。
【図１１】本実施形態の代表クリティカル・パス画像生成部による描画動作を説明するフローチャートである。
【符号の説明】
【００５１】
１０…データ処理装置、１１…デザインデータ入力部、１２…タイミング計算部、１３…クリティカル・パス検出部、１４…代表クリティカル・パス抽出部、１５…代表クリティカル・パス画像生成部、１６…セル配置画像生成部、１７…グラフィック表示制御部、２０…記憶装置、２１…配置・論理接続情報記憶部、２２…タイミング計算結果記憶部、２３…クリティカル・パス記憶部、２４…代表クリティカル・パス記憶部、３０…ディスプレイ装置、１００…クリティカル・パス表示装置、１０１…ＣＰＵ（Central Processing Unit：中央処理装置）、１０３…メインメモリ、１０４…ビデオカード、１０５…磁気ディスク装置（ＨＤＤ）
【図１】
2006195898.tif 000003
【図２】
2006195898.tif 000004
【図３】
2006195898.tif 000005
【図４】
2006195898.tif 000006
【図５】
2006195898.tif 000007
【図６】
2006195898.tif 000008
【図７】
2006195898.tif 000009
【図８】
2006195898.tif 000010
【図９】
2006195898.tif 000011
【図１０】
2006195898.tif 000012
【図１１】
2006195898.tif 000013