説明

信号伝播経路描画装置、その描画方法及びプログラム

【課題】 LSIのデザインデータから検出されたクリティカル・パスに関して、識別が容易な態様で複数のパスを同時に描画し表示する方法およびそのシステムを提供する。
【解決手段】 半導体集積回路のチップ上にセルが配置されたデザインデータとチップにおけるタイミング制約の情報に基づいて、クリティカル・パスを検出するクリティカル・パス検出部13と、このクリティカル・パス検出部13により検出されたクリティカル・パスのうち、経路の一定以上の区間が共通するパスである互いに類似するパスを1本のパスで代表させて代表クリティカル・パスを抽出する代表クリティカル・パス抽出部14と、この代表クリティカル・パス抽出部14により抽出された代表クリティカル・パスを、各代表クリティカル・パスに類似する他のクリティカル・パスの情報を反映させて描画する代表クリティカル・パス画像生成部15とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、LSI(Large Scale Integration:半導体集積回路)の開発におけるセルのレイアウトおよびタイミング収束の作業を支援するため、クリティカル・パスを検出し表示する装置およびその方法に関する。
【背景技術】
【0002】
LSIの開発では、各種のセルをチップ上にレイアウトしタイミング収束させる作業が大きなウエイトを占め、その効率が開発期間に大きく影響する。通常、タイミング収束までの作業は、次のような手順で実施される。
【0003】
1.LSIのロジック設計担当者が、デザインのネットリストを準備する。
2.レイアウト担当者が、チップ全体のフロアプランに基づき、マニュアル操作で、I/O(Input/Output)セル、ハード・コア、SRAM(Static Random Access Memory)、レジスタ・アレイ(Register Array)等のマクロ・セルをチップ上に配置(レイアウト)する。
3.コンピュータにて実行されるレイアウト・ツールが、タイミングや配線性の最適化を図りながら、上記ネットリストに含まれるその他のゲート(基本セル)をチップ上に配置(レイアウト)する。
4.コンピュータにて実行されるタイミング・ツールが、セルがレイアウトされた後のデザインデータに対し、タイミング・ジョブを実行し、パス(信号伝播経路)ごとのタイミング・レポート(エンドポイント・レポート等)を出力する(パスは、信号が伝播する経路であり、始点と呼ばれるゲートのピン(通常ラッチのクロック・ピン)に始まり、途中いくつかのゲートのピンを通り、終点と呼ばれるゲートのピン(通常ラッチのデータ・ピン)に終わる)。
5.レイアウト担当者が、ステップ4の出力結果を参照し、規定のタイミング内に信号を伝達できない(間に合っていない)パス(クリティカル・パス)に関して、発生原因を解析、特定する。
6.ステップ5の解析において、クリティカル・パスの発生原因がフロアプランにあれば、ステップ3まで戻り、フロアプランを修正することになる。論理的にパスが深すぎることが原因である場合は、ステップ1に戻り、ネットリストを変更する。簡単な変更で収束できそうならば、後続のプロセス(説明は省略)に進む。
【0004】
上記のステップ5のレイアウト担当者によるクリティカル・パスの解析は、ステップ4で作成されるエンドポイント・レポートや、ディスプレイに表示されたチップ上にクリティカル・パスを重ねて表示した画像を参照して行うことができる。この画像は、エンドポイント・レポート等のタイミング・レポートからクリティカル・パスを検出して作成することができる。従来、ステップ4のタイミング・ジョブをコンピュータで自動的に実行しクリティカル・パスを発見する技術や、クリティカル・パスを可視的に表示する技術が提案されている(クリティカル・パスを発見する技術については、例えば特許文献1を、クリティカル・パスを表示する技術については、例えば特許文献2を参照)。
【0005】
【特許文献1】特開平6−282597号公報
【特許文献2】特開平8−50608号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
上述したように、従来、LSIの開発において、クリティカル・パスの解析を実施するために、コンピュータを用いてクリティカル・パスを検出し可視的に表示する技術が実現されている。
【0007】
しかしながら、レイアウト作業の初期段階等でクリティカル・パスが多く存在する場合(例えば数百本)存在する場合、検出されたクリティカル・パスを1本ずつ表示すると、表示されたクリティカル・パスを解析する作業に要する時間と手間が膨大にかかってしまう。
【0008】
一方、検出されたクリティカル・パスを全て同時に表示すると、画面上でクリティカル・パスが混雑するため、個々のクリティカル・パスを視認して識別することが困難になってしまう。
【0009】
そこで、本発明は、LSIのデザインデータから検出されたクリティカル・パスに関して、識別が容易な態様で複数のパスを同時に描画し表示する方法およびそのシステムを提供し、クリティカル・パスの解析作業の効率を向上させることを目的とする。
【課題を解決するための手段】
【0010】
上記の目的を達成するため、本発明は、次のように構成された信号伝播経路描画装置として実現される。この装置は、半導体集積回路のチップ上にセルが配置されたデザインデータとチップにおけるタイミング制約の情報に基づいて、クリティカル・パスを検出するクリティカル・パス検出部と、このクリティカル・パス検出部により検出されたクリティカル・パスのうち、経路の一定以上の区間が共通するパスである互いに類似するパスを1本のパスで代表させて代表クリティカル・パスを抽出する代表クリティカル・パス抽出部と、この代表クリティカル・パス抽出部により抽出された代表クリティカル・パスを、各代表クリティカル・パスに類似する他のクリティカル・パスの情報を反映させて描画するパス画像生成部とを備えることを特徴とする。
【0011】
より詳しくは、この代表クリティカル・パス抽出部は、互いに類似するクリティカル・パスのうちで、信号の伝達が規定のタイミング条件から最も遅れているパスを代表クリティカル・パスとして抽出する。また、クリティカル・パスを、パスが通る始点から終点までの複数のゲートピンのうち、隣り合うゲートピンどうしの間の区間であるセグメントに分割し、セグメントごとに、セグメントを通るクリティカル・パスの数を計数する。そして、パス画像生成部は、代表クリティカル・パスのセグメントごとに、代表クリティカル・パス抽出部により計数された値に応じて異なる太さの線で描画する。また、このパス画像生成部は、代表クリティカル・パスごとに異なる色の線で描画する。そしてさらに、描画された代表クリティカル・パスの線の近傍および表示画面の適当な場所に、個々の代表クリティカル・パスに付与されているパス番号を、対応する代表クリティカル・パスの線と同じ色で表示する。さらにまた、このパス画像生成部は、描画された代表クリティカル・パスの線の始点および終点の位置に、それぞれ始点を表すマークおよび終点を表すマークを描画する。
【0012】
また、上記の信号伝播経路描画装置は、次のように構成することもできる。この装置は、クリティカル・パスを検出するクリティカル・パス検出手段と、このクリティカル・パス検出手段により検出されたクリティカル・パスのうち、経路の一定以上の区間が共通するパスである互いに類似するパスを1本のパスで代表させて代表クリティカル・パスを抽出し、この代表クリティカル・パスを表示する代表クリティカル・パス表示手段とを備える。
【0013】
また、上記の目的を達成する他の本発明は、コンピュータにより半導体集積回路の信号伝播経路を描画する方法としても実現される。この方法は、コンピュータが、半導体集積回路のチップ上にセルが配置されたデザインデータとチップにおけるタイミング制約の情報に基づいて、クリティカル・パスを検出するステップと、このクリティカル・パスを読み出し、クリティカル・パスのうち、経路の一定以上の区間が共通するパスである互いに類似するパスを1本のパスで代表させて代表クリティカル・パスを抽出するステップと、この代表クリティカル・パスを、各代表クリティカル・パスに類似する他のクリティカル・パスの情報を反映させて描画する第3のステップとを含むことを特徴とする。
【0014】
さらに本発明は、コンピュータを制御して上述した信号伝播経路描画装置として機能させるプログラムや、コンピュータに上記の信号伝播経路描画方法の各ステップに対応する処理を実行させるプログラムとしても実現される。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。
【発明の効果】
【0015】
以上のように構成された本発明によれば、LSIのデザインデータから検出されたクリティカル・パスから代表クリティカル・パスを抽出し、他のパスを表示対象から捨象することにより、表示するパスの数を減少させて、視認性の高いレイアウト画面を描画し表示することができる。また、代表クリティカル・パスに類似するパスの数に応じて異なる太さの線でパスを描画したり、複数のパスを色分けして描画したり、パス番号を表示したりする。これにより、表示されているクリティカル・パスの識別が容易になるため、解析作業の効率向上に寄与することができる。
【発明を実施するための最良の形態】
【0016】
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、実施形態)について詳細に説明する。
図1は、本実施形態によるクリティカル・パス表示装置の機能構成を示す図である。
図1に示すクリティカル・パス表示装置100は、各種の演算処理を実行するデータ処理装置10と、データ処理装置10による処理の実行に用いられ生成されたデータを保持する記憶装置20と、データ処理装置10により生成された画像を表示するディスプレイ装置30とを備える。このクリティカル・パス表示装置100は、パーソナルコンピュータやワークステーション、その他のコンピュータシステムにて実現される。
【0017】
図2は、図1のクリティカル・パス表示装置100を実現するのに好適なコンピュータのハードウェア構成の例を模式的に示した図である。
図2に示すコンピュータは、演算手段であるCPU(Central Processing Unit:中央処理装置)101と、M/B(マザーボード)チップセット102およびCPUバスを介してCPU101に接続されたメインメモリ103と、同じくM/Bチップセット102およびAGP(Accelerated Graphics Port)を介してCPU101に接続されたビデオカード104と、PCI(Peripheral Component Interconnect)バスを介してM/Bチップセット102に接続された磁気ディスク装置(HDD)105、ネットワークインタフェース106と、さらにこのPCIバスからブリッジ回路107およびISA(Industry Standard Architecture)バスなどの低速なバスを介してM/Bチップセット102に接続されたフレキシブルディスクドライブ108およびキーボードやマウス等の入力デバイス109とを備える。また、ビデオカード104にはディスプレイ装置30が接続されている。
【0018】
なお、図2は本実施形態を実現するコンピュータのハードウェア構成を例示するに過ぎず、本実施形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード104を設ける代わりに、ビデオメモリのみを搭載し、CPU101にてイメージデータを処理する構成としても良いし、外部記憶装置として、ATA(AT Attachment)やSCSI(Small Computer System Interface)などのインタフェースを介してCD−R(Compact Disc Recordable)やDVD−RAM(Digital Versatile Disc Random Access Memory)のドライブを設けても良い。
【0019】
図1に示すクリティカル・パス表示装置100のデータ処理装置10は、デザインデータ入力部11と、タイミング計算部12と、クリティカル・パス検出部13とを備える。また、検出されたクリティカル・パスから後述する代表クリティカル・パスを抽出する代表クリティカル・パス抽出部14と、抽出された代表クリティカル・パスの画像を生成する代表クリティカル・パス画像生成部15とを備える。さらに、このデータ処理装置10は、チップ上のセルのレイアウト情報に基づいてセルの配置状況を示す画像を生成するセル配置画像生成部16と、代表クリティカル・パス画像生成部15およびセル配置画像生成部16により生成された画像を合成してディスプレイ装置30に表示させるグラフィック表示制御部17とを備える。
【0020】
記憶装置20は、例えば、図2のメインメモリ103により実現され、配置・論理接続情報記憶部21と、タイミング計算結果記憶部22と、クリティカル・パス記憶部23と、代表クリティカル・パス記憶部24とを備える。これらの記憶部は、データ処理装置10による処理の過程で、それぞれデザインデータ入力部11、データ処理装置10のタイミング計算部12、クリティカル・パス検出部13、代表クリティカル・パス抽出部14等の処理によって得られるデータを保持する。
【0021】
データ処理装置10には、設計対象であるチップのデザインデータ(レイアウト・ツールによりチップ上にセルがレイアウトされたデータ)と共に、タイミング制約情報(チップの仕様に基づくクロック定義や入出力条件等)、セル・ライブラリ(チップ上に配置されるセルの物理情報やタイミング情報等)が入力される。これらの情報は、例えば図2の磁気ディスク装置105に格納しておき、処理を実行する際に読み出して用いても良いし、外部装置から入力するようにしても良い。
【0022】
データ処理装置10のデザインデータ入力部11は、例えば図2のプログラム制御されたCPU101およびメインメモリ103により実現される。このデザインデータ入力部11は、設計対象のチップのデザインデータを入力し、かつセル・ライブラリからデザインデータに含まれるセルに関する情報を入力する。そして、セル・ライブラリから取得された情報に基づいてデザインデータを解析し、チップ上のセルの配置情報およびセル間の論理接続情報を取得する。得られた配置情報および論理接続情報は、記憶装置20の配置・論理接続情報記憶部21に格納される。
【0023】
タイミング計算部12は、例えば図2のプログラム制御されたCPU101およびメインメモリ103により実現される。このタイミング計算部12は、配置・論理接続情報記憶部21に格納されているセルの配置情報および論理接続情報を読み出すと共に、セル・ライブラリから該当するセルに関する情報を入力し、かつ設計対象のチップに関するタイミング制約情報を入力する。そして、チップ上のセルを接続するパスのタイミング計算を実行する。各パスに関するタイミング計算の結果は、記憶装置20のタイミング計算結果記憶部22に格納される。
【0024】
クリティカル・パス検出部13は、例えば図2のプログラム制御されたCPU101およびメインメモリ103により実現される。このクリティカル・パス検出部13は、タイミング計算結果記憶部22から各パスのタイミング計算の結果を入力し、規定のタイミングに間に合っていないクリティカル・パスを検出する。また、クリティカル・パス検出部13は、クリティカル・パスを含む各パスのエンドポイント・レポート等のタイミング・レポートを作成し出力することができる。クリティカル・パス検出部13により検出されたクリティカル・パスの情報は、記憶装置20のクリティカル・パス記憶部23に格納される。
【0025】
図3は、クリティカル・パス記憶部23に格納されるデータの構成例を示す図である。
図3に示すように、クリティカル・パス記憶部23には、個々のクリティカル・パスを識別するためのパス番号(Path Number)と、各クリティカル・パスが通るゲートピンのリストとが登録されたテーブルが格納される。パス番号としては、例えば、エンドポイント・レポートが作成される際に各クリティカル・パスに振られる番号(Path Number)を用いることができる。
【0026】
以上のデザインデータ入力部11、タイミング計算部12およびクリティカル・パス検出部13は、コンピュータによりデザインデータからクリティカル・パスを検出する既存システムを用いて構成することが可能である。本実施形態は、検出されたクリティカル・パスからさらに代表クリティカル・パスを抽出し、複数の代表クリティカル・パスを描画してディスプレイ装置30に表示する手段を備える。
【0027】
代表クリティカル・パス抽出部14は、例えば図2のプログラム制御されたCPU101およびメインメモリ103により実現される。この代表クリティカル・パス抽出部14は、クリティカル・パス記憶部23からクリティカル・パスの情報を読み出し、その中から代表クリティカル・パスを抽出する。
【0028】
一般に、LSI開発の初期の段階では、レイアウト作業が実施された後、数百から数千本という数のクリティカル・パスが発生する。しかし多くの場合、実際には複数のクリティカル・パスが共通する区間を有している(この共通区間を有する複数のパスを互いに類似すると呼ぶことにする)。例えば、図4に示す4本のクリティカル・パス(FFa−FF1、FFa−FF2、FFa−FF3、FFa−FF4)は、図示のように、始点のラッチFFaから、終点のラッチFF1/FF2/FF3/FF4の2つ前のバッファまでの区間が共通区間である。そして、この互いに類似する複数のクリティカル・パスにおける共通区間が、規定のタイミングに間に合わない原因となっていることが多い。そこで、互いに類似する複数のクリティカル・パスのうち、一本を選択して代表クリティカル・パスとして抽出し、他の類似するクリティカル・パスを捨象することにより、画像表示して解析する対象となるクリティカル・パスの数を大幅に減少させることができる。例えば、図4の例では、パスFFa−FF1を代表クリティカル・パスとし、他のパスFFa−FF2、FFa−FF3、FFa−FF4を切り捨てることで、解析対象のパス数は1/4になる。
【0029】
以上の考え方に基づき、本実施形態では、代表クリティカル・パス抽出部14が、クリティカル・パス検出部13により検出されたクリティカル・パスから代表クリティカル・パスを抽出する。抽出された代表クリティカル・パスの情報は、記憶装置20の代表クリティカル・パス記憶部24に格納される。なお、代表クリティカル・パスを検出する具体的な方法および代表クリティカル・パス記憶部24に格納される情報の詳細については後述する。
【0030】
代表クリティカル・パス画像生成部15は、例えば図2のプログラム制御されたCPU101、メインメモリ103およびビデオカード104により実現される。この代表クリティカル・パス画像生成部15は、配置・論理接続情報記憶部21からチップ上にレイアウトされたセルの配置情報および論理接続情報を読み出し、クリティカル・パス記憶部23からクリティカル・パスの情報を読み出し、代表クリティカル・パス記憶部24から各代表クリティカル・パスの情報を読み出して、これらの情報に基づきディスプレイ装置30に表示するための画像データを生成する。画像データの生成方法の詳細については後述する。
【0031】
図5は、代表クリティカル・パス画像生成部15により生成される代表クリティカル・パスの表示画像の例を示す図である。
図5に示す画像において、各代表クリティカル・パスは、チップ上での位置を表す線と、この線に付されたパス番号によって示されている。複数の線が交差してもどの代表クリティカル・パスを表す線かを識別できるように、各線は色分けして表示される。そして、画面の左側に代表クリティカル・パスの線と同色でパス番号が列記されている。また、各線の太さによって、各代表クリティカル・パスが何本の類似のクリティカル・パスを代表しているかが示される。すなわち、共通の区間を持つクリティカル・パスの数が多いほど、表示される線の太さが太くなる。
【0032】
セル配置画像生成部16は、例えば図2のプログラム制御されたCPU101、メインメモリ103およびビデオカード104により実現される。このセル配置画像生成部16は、配置・論理接続情報記憶部21からチップ上にレイアウトされたセルの配置情報および論理接続情報を読み出し、読み出した情報に基づいて、各種のセルがレイアウトされたチップの画像データを生成する。図6は、セル配置画像生成部16により生成される表示画像の例を示す図である。なお、セルがレイアウトされたチップの画像データを生成することは既存技術であり、セル配置画像生成部16は既存のシステムを用いて構成することができる。
【0033】
グラフィック表示制御部17は、例えば図2のビデオカード104により実現される。このグラフィック表示制御部17は、図5に示したような代表クリティカル・パス画像生成部15により生成された画像と、図6に示したようなセル配置画像生成部16により生成された画像とを合成し、ディスプレイ装置30に表示させる。
【0034】
次に、本実施形態により提供される代表クリティカル・パス抽出部14および代表クリティカル・パス画像生成部15の動作について詳細に説明する。
図7は、代表クリティカル・パス抽出部14の動作を説明するフローチャートである。
図7を参照すると、代表クリティカル・パス抽出部14は、まずクリティカル・パス記憶部23から全てのクリティカル・パスの情報(パス番号およびパスが通るゲートピンのリスト)を読み込む(ステップ701)。そして、代表クリティカル・パス抽出部14は、読み込んだ情報に基づき、最も規定のタイミング条件から遅れているパス(ワースト・クリティカル・パス)に着目する(ステップ702)。なお、このワースト・クリティカル・パスは、エンドポイント・レポートの1番目のパスに相当する。
【0035】
次に、代表クリティカル・パス抽出部14は、クリティカル・パスをセグメントに分割し(ステップ703)、各セグメントの頻出カウント(変数)を「1」にセットする(ステップ704)。ここで、セグメントとは、図8に示すように、パスが通る始点から終点までの複数のゲートピンのうち、隣り合うゲートピンどうしの間の区間である。また、頻出カウントとは、そのセグメントを通るクリティカル・パスの数を記録するためのもので、後で、描画する線の太さを決定するのに利用される。これらのセグメントおよびその頻出カウントの情報は、後述するセグメント−頻出カウントテーブルに登録されて、代表クリティカル・パス記憶部24に格納される。
【0036】
次に、代表クリティカル・パス抽出部14は、着目したワースト・クリティカル・パスのパス番号とこのパスが通るセグメントのリストを代表クリティカル・パステーブルに登録し、代表クリティカル・パス記憶部24に格納する(ステップ705)。なお、ワースト・クリティカル・パスは最初に着目されるクリティカル・パスであり、比較するパスが無いので、必ず代表クリティカル・パスとなる。
【0037】
次に、代表クリティカル・パス抽出部14は、2番目に規定のタイミング条件から遅れているクリティカル・パスに着目する(ステップ706、707)。以下、着目したクリティカル・パスを現行クリティカル・パスと呼ぶ。そして、代表クリティカル・パス抽出部14は、現行クリティカル・パスをセグメントに分割し(ステップ708)、各セグメントの頻出カウントを求める(ステップ709)。具体的には、分割されたセグメントを順に着目していき、初めて現れたセグメントであれば、セグメント−頻出カウントテーブルで、そのセグメントの頻出カウントを「1」にセットする。一方、既出のセグメントであれば、テーブルに既に登録されている頻出カウントの値を1増加する。
【0038】
図9はセグメント−頻出カウントテーブルの構成例を示す図である。
図9に示すように、セグメント−頻出カウントテーブルには、代表クリティカル・パスを構成するセグメントとその頻出カウントとが登録される。図9のテーブルにおいて、パス番号2のクリティカル・パスのセグメントgatepin2_2:gatepin2_3とパス番号1のクリティカル・パスのセグメントgatepin1_2:gatepin1_3とが同一であるため、セグメントgatepin1_2:gatepin1_3の頻出カウントの値が「2」となっている。
【0039】
次に、代表クリティカル・パス抽出部14は、これまでに代表クリティカル・パステーブルに登録されている代表クリティカル・パスに順次着目し、各代表クリティカル・パスに属すセグメントと、現行クリティカル・パスが通るセグメントを比較する。そして、最も共通するセグメントの多い代表クリティカル・パスおよび共通するセグメントの数の割合を求める(ステップ710)。例えば、現行クリティカル・パスのセグメントの総数が10で、それまで代表クリティカル・パステーブルに登録された代表クリティカル・パスA、BおよびCに対して、それぞれ0個、4個および1個のセグメントが一致したとする。すると、最も共通するセグメントの多い代表クリティカル・パスはBで、割合は0.4(4/10)ということになる。
【0040】
次に、代表クリティカル・パス抽出部14は、ステップ710で求めた割合が予め設定された閾値(たとえば、0.7)以上である場合は、現行クリティカル・パスは、最も共通するセグメントの多い当該代表クリティカル・パスと類似するとみなす(ステップ711)。代表クリティカル・パスと類似すると判断された現行クリティカル・パスは、代表クリティカル・パステーブルには登録されない。一方、ステップ710で求めた割合が閾値以下である場合は、現行クリティカル・パスは、それまでに登録されている代表クリティカル・パスとは類似しないと判断され、新たな代表クリティカル・パスとして代表クリティカル・パステーブルに登録される(ステップ711、712)。
【0041】
この後、代表クリティカル・パス抽出部14は、ステップ706に戻り、次に規定のタイミング条件から遅れているクリティカル・パスに着目し(ステップ707)、ステップ708以降の動作を繰り返す。そして、未処理のクリティカル・パスがなくなったならば、処理を終了する(ステップ706)。
このように、本実施形態における代表クリティカル・パスの抽出は、規定のタイミング条件から最も遅れているクリティカル・パスから順に処理を行っている。したがって、代表クリティカル・パスに抽出されたパスは、類似するクリティカル・パスのうちで、規定のタイミング条件から最も遅れているパスということになる。
【0042】
以上の動作により、セグメント−頻出カウントテーブルと代表クリティカル・パステーブルとが作成され、代表クリティカル・パス記憶部24に格納される。
図10は、代表クリティカル・パステーブルの構成例を示す図である。
図10に示すように、代表クリティカル・パステーブルには、代表クリティカル・パスのパス番号と、そのパスが通るセグメントのリストとが登録される。
【0043】
図11は、代表クリティカル・パス画像生成部15による描画動作を説明するフローチャートである。
図11を参照すると、代表クリティカル・パス画像生成部15は、まず、配置・論理接続情報記憶部21、クリティカル・パス記憶部23および代表クリティカル・パス記憶部24から情報を取得する(ステップ1101)。そして、描画する(すなわち代表クリティカル・パステーブルに登録されている)代表クリティカル・パスの本数分の色相を用意する(ステップ1102)。
【0044】
次に、代表クリティカル・パス画像生成部15は、代表クリティカル・パスの一つに着目する(ステップ1103、1104)。以下、着目した代表クリティカル・パスを現行代表クリティカル・パスと呼ぶ。そして、ステップ1102で用意した色相の一つを現行代表クリティカル・パスに割り当てる(ステップ1105)。
【0045】
次に、代表クリティカル・パス画像生成部15は、現行代表クリティカル・パスに属するセグメントの一つに着目する(ステップ1106、1107)。そして、着目したセグメントの両端であるゲートピンのレイアウト画面上における座標を求めると共に(ステップ1108)、このセグメントの頻出カウントの値に応じて描画する線分の太さを設定する(ステップ1109)。この線分の太さは、例えば、頻出カウント数の平方根を線の太さ(ドット数等)に対応付けて設定することができる。
【0046】
現行代表クリティカル・パスの全てのセグメントに対してステップ1107からステップ1109までの処理を行ったならば(ステップ1106)、次に、代表クリティカル・パス画像生成部15は、現行代表クリティカル・パスの始点と終点のゲートピンの座標を求め、各座標付近の所定の位置に、始点および終点を表すマークとパス番号を付ける。そして、レイアウト画面のチップから外れる場所(例えば画面の左隅)に、ステップ1105で割り当てられた色相でパス番号を書き込む(ステップ1110)。なお、レイアウト画面における代表クリティカル・パスの始点と終点のマークは、始点と終点を識別できるように相異なるマークとする。例えば、それぞれ視認できる程度のサイズで、始点を正方形、終点を円形とする。これは、クリティカル・パスを視覚的に認識する際に、どちらの端点が始点か(終点か)を判断することが重要となるためである。
【0047】
次に、代表クリティカル・パス画像生成部15は、ステップ1103に戻り、未処理の代表クリティカル・パスの一つに着目して(ステップ1104)、ステップ1105以降の動作を繰り返す。そして、未処理の代表クリティカル・パスがなくなったならば、処理をグラフィック表示制御部17に移行して終了する(ステップ1103、1111)。グラフィック表示制御部17は、代表クリティカル・パス画像生成部15によって生成された画像データと、セル配置画像生成部16により生成されるセルがレイアウトされたチップの画像データとを取得し、合成して、ディスプレイ装置30に表示する。
【0048】
以上のようにして、代表クリティカル・パスがディスプレイ装置30に表示されるが、これはクリティカル・パスを全て表示する場合に比べて大幅に表示されるパスの数が少ない。一方、クリティカル・パスを1本ずつ表示する場合に比べて少ない画面で解析すべきクリティカル・パスを表示することができる。さらに、代表クリティカル・パスに類似する(共通の区間を持つ)他のクリティカル・パスがある場合には、その本数が画面に表示されるパスの太さに反映されるので、視覚的に把握することができる。そのため、ユーザ(レイアウト担当者やロジック設計担当者)がクリティカル・パスの解析を行う上で、クリティカル・パスの視認性が高く利便性の高い画像を提供し、作業効率の向上に寄与することができる。なお、上記の動作例では、代表クリティカル・パスごとに異なる色相を割り当てて描画することとしたが、色相以外に色の明度や彩度を変えて描画するようにしても良い。
【0049】
なお、本実施形態は、代表クリティカル・パスに類似する他のクリティカル・パスを解析対象から除いているため、代表クリティカル・パスと共通しない区間が、規定のタイミングに間に合わない原因となっているクリティカル・パスは、画面表示から漏れてしまうこととなる。しかしながら、LSIの設計段階では通常、フロアプランを修正したり、場合によってはネットリストを変更したりしながら、数度にわたってクリティカル・パスの検出および解析を実施する。そのため、画面表示から漏れてしまったクリティカル・パスは、さらに本実施形態によって代表クリティカル・パスを検出し表示する操作を繰り返すことで解析対象となるので、問題はない。
【図面の簡単な説明】
【0050】
【図1】本実施形態のクリティカル・パス表示装置の機能構成を示す図である。
【図2】図1のクリティカル・パス表示装置を実現するのに好適なコンピュータのハードウェア構成の例を模式的に示した図である。
【図3】本実施形態のクリティカル・パス記憶部に格納されるデータの構成例を示す図である。
【図4】本実施形態における互いに類似する複数のクリティカル・パスの例を示す図である。
【図5】本実施形態における代表クリティカル・パス画像生成部により生成される代表クリティカル・パスの表示画像の例を示す図である。
【図6】本実施形態のセル配置画像生成部により生成される表示画像の例を示す図である。
【図7】本実施形態の代表クリティカル・パス抽出部の動作を説明するフローチャートである。
【図8】パスにおけるセグメントを説明する図である。
【図9】本実施形態で用いられるセグメント−頻出カウントテーブルの構成例を示す図である。
【図10】本実施形態で用いられる代表クリティカル・パステーブルの構成例を示す図である。
【図11】本実施形態の代表クリティカル・パス画像生成部による描画動作を説明するフローチャートである。
【符号の説明】
【0051】
10…データ処理装置、11…デザインデータ入力部、12…タイミング計算部、13…クリティカル・パス検出部、14…代表クリティカル・パス抽出部、15…代表クリティカル・パス画像生成部、16…セル配置画像生成部、17…グラフィック表示制御部、20…記憶装置、21…配置・論理接続情報記憶部、22…タイミング計算結果記憶部、23…クリティカル・パス記憶部、24…代表クリティカル・パス記憶部、30…ディスプレイ装置、100…クリティカル・パス表示装置、101…CPU(Central Processing Unit:中央処理装置)、103…メインメモリ、104…ビデオカード、105…磁気ディスク装置(HDD)

【特許請求の範囲】
【請求項1】
半導体集積回路のチップ上にセルが配置されたデザインデータと当該チップにおけるタイミング制約の情報に基づいて、クリティカル・パスを検出するクリティカル・パス検出部と、
前記クリティカル・パス検出部により検出されたクリティカル・パスのうち、経路の一定以上の区間が共通するパスである互いに類似するパスを1本のパスで代表させて代表クリティカル・パスを抽出する代表クリティカル・パス抽出部と、
前記代表クリティカル・パス抽出部により抽出された代表クリティカル・パスを、各代表クリティカル・パスに類似する他のクリティカル・パスの情報を反映させて描画するパス画像生成部と
を備えることを特徴とする信号伝播経路描画装置。
【請求項2】
前記代表クリティカル・パス抽出部は、前記互いに類似するクリティカル・パスのうちで、信号の伝達が規定のタイミング条件から最も遅れているパスを代表クリティカル・パスとして抽出することを特徴とする請求項1に記載の信号伝播経路描画装置。
【請求項3】
前記パス画像生成部は、類似する他のクリティカル・パスの数に応じて、異なる太さの線で前記代表クリティカル・パスを描画することを特徴とする請求項1に記載の信号伝播経路描画装置。
【請求項4】
前記代表クリティカル・パス抽出部は、クリティカル・パスを、パスが通る始点から終点までの複数のゲートピンのうち、隣り合うゲートピンどうしの間の区間であるセグメントに分割し、当該セグメントごとに、当該セグメントを通るクリティカル・パスの数を計数し、
前記パス画像生成部は、前記代表クリティカル・パスの前記セグメントごとに、前記代表クリティカル・パス抽出部により計数された値に応じて異なる太さの線で描画することを特徴とする請求項1に記載の信号伝播経路描画装置。
【請求項5】
前記パス画像生成部は、前記代表クリティカル・パスごとに異なる色の線で描画することを特徴とする請求項1に記載の信号伝播経路描画装置。
【請求項6】
前記パス画像生成部は、描画された前記代表クリティカル・パスの線の近傍に、当該代表クリティカル・パスに付与されているパス番号を表記することを特徴とする請求項1に記載の信号伝播経路描画装置。
【請求項7】
前記パス画像生成部は、描画された前記代表クリティカル・パスの線の始点および終点の位置に、それぞれ始点を表すマークおよび終点を表すマークを描画することを特徴とする請求項1に記載の信号伝播経路描画装置。
【請求項8】
半導体集積回路のチップ上にセルが配置されたデザインデータと当該チップにおけるタイミング制約の情報に基づいて、クリティカル・パスを検出するクリティカル・パス検出手段と、
前記クリティカル・パス検出手段により検出されたクリティカル・パスのうち、経路の一定以上の区間が共通するパスである互いに類似するパスを1本のパスで代表させて代表クリティカル・パスを抽出し、当該代表クリティカル・パスを表示する代表クリティカル・パス表示手段と
を備えることを特徴とする信号伝播経路描画装置。
【請求項9】
前記代表クリティカル・パス表示手段は、類似する他のクリティカル・パスの数に応じて、異なる太さの線で前記代表クリティカル・パスを描画することを特徴とする請求項8に記載の信号伝播経路描画装置。
【請求項10】
前記代表クリティカル・パス表示手段は、前記代表クリティカル・パスが通る始点から終点までの複数のゲートピンのうちで隣り合うゲートピンどうしの間の区間であるセグメントごとに、当該セグメントを通るクリティカル・パスの数に応じて線の異なる太さの線で表示することを特徴とする請求項8に記載の信号伝播経路描画装置。
【請求項11】
前記代表クリティカル・パス表示手段は、複数の前記代表クリティカル・パスを、各々異なる色の線で表示することを特徴とする請求項8に記載の信号伝播経路描画装置。
【請求項12】
前記代表クリティカル・パス表示手段は、表示画面の適当な場所に、個々の前記代表クリティカル・パスに付与されているパス番号を、対応する当該代表クリティカル・パスの線と同じ色で表示することを特徴とする請求項11に記載の信号伝播経路描画装置。
【請求項13】
コンピュータにより半導体集積回路の信号伝播経路を描画する方法であって、
前記コンピュータが、半導体集積回路のチップ上にセルが配置されたデザインデータと当該チップにおけるタイミング制約の情報に基づいて、クリティカル・パスを検出し、記憶装置に格納する第1のステップと、
前記コンピュータが、前記記憶装置から前記クリティカル・パスを読み出し、当該クリティカル・パスのうち、経路の一定以上の区間が共通するパスである互いに類似するパスを1本のパスで代表させて代表クリティカル・パスを抽出し、前記記憶装置に格納する第2のステップと、
前記コンピュータが、前記記憶装置から前記代表クリティカル・パスを読み出し、当該代表クリティカル・パスを、各代表クリティカル・パスに類似する他のクリティカル・パスの情報を反映させて描画する第3のステップと
を含むことを特徴とする信号伝播経路描画方法。
【請求項14】
前記第2のステップでは、前記コンピュータが、前記互いに類似するクリティカル・パスのうちで、信号の伝達が規定のタイミング条件から最も遅れているパスを代表クリティカル・パスとして抽出することを特徴とする請求項13に記載の信号伝播経路描画方法。
【請求項15】
前記第3のステップでは、前記コンピュータが、類似する他のクリティカル・パスの数に応じて、異なる太さの線で前記代表クリティカル・パスを描画することを特徴とする請求項13に記載の信号伝播経路描画方法。
【請求項16】
前記第2のステップでは、前記コンピュータが、クリティカル・パスを、パスが通る始点から終点までの複数のゲートピンのうち、隣り合うゲートピンどうしの間の区間であるセグメントに分割し、当該セグメントごとに、当該セグメントを通るクリティカル・パスの数を計数し、
前記第3のステップでは、前記コンピュータが、前記代表クリティカル・パスの前記セグメントごとに、前記第2のステップで計数された値に応じて異なる太さの線で描画することを特徴とする請求項13に記載の信号伝播経路描画方法。
【請求項17】
コンピュータに、
半導体集積回路のチップ上にセルが配置されたデザインデータと当該チップにおけるタイミング制約の情報に基づいて、クリティカル・パスを検出し、記憶装置に格納する第1の処理と、
前記記憶装置から前記クリティカル・パスを読み出し、当該クリティカル・パスのうち、経路の一定以上の区間が共通するパスである互いに類似するパスを1本のパスで代表させて代表クリティカル・パスを抽出し、前記記憶装置に格納する第2の処理と、
前記記憶装置から前記代表クリティカル・パスを読み出し、当該代表クリティカル・パスを、各代表クリティカル・パスに類似する他のクリティカル・パスの情報を反映させて描画する第3の処理と
を実行させることを特徴とするプログラム。
【請求項18】
前記第2の処理では、前記互いに類似するクリティカル・パスのうちで、信号の伝達が規定のタイミング条件から最も遅れているパスを代表クリティカル・パスとして抽出する処理を前記コンピュータに実行させることを特徴とする請求項17に記載のプログラム。
【請求項19】
前記第3の処理では、類似する他のクリティカル・パスの数に応じて、異なる太さの線で前記代表クリティカル・パスを描画する処理を前記コンピュータに実行させることを特徴とする請求項17に記載のプログラム。
【請求項20】
前記第3の処理では、前記代表クリティカル・パスの前記セグメントごとに、前記第2の処理で計数された値に応じて異なる太さの線で描画する処理を前記コンピュータに実行させることを特徴とする請求項17に記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2006−195898(P2006−195898A)
【公開日】平成18年7月27日(2006.7.27)
【国際特許分類】
【出願番号】特願2005−9304(P2005−9304)
【出願日】平成17年1月17日(2005.1.17)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【復代理人】
【識別番号】100104880
【弁理士】
【氏名又は名称】古部 次郎
【復代理人】
【識別番号】100118201
【弁理士】
【氏名又は名称】千田 武
【復代理人】
【識別番号】100118108
【弁理士】
【氏名又は名称】久保 洋之
【Fターム(参考)】