(57)【特許請求の範囲】
【請求項１】
チップ上に複数のブロックが配置され、各ブロックを相互に配線することで所望の機能を実現する半導体集積回路の設計方法であって、
始点と終点がレジスタ又はエッジであるパスのディレイ設計において、
ブロック同士の接続情報を含むレジスタ転送レベル論理情報と各ブロックのチップ上の位置情報を含むフロアプラン情報を入力し、
前記レジスタ転送レベル論理情報からパスの終点につながる始点の数を求め、
前記始点の数からパスの論理段数を算出し、
前記パスが複数のブロックに渡っている場合は、前記フロアプラン情報からブロック渡りしているブロック同士の間の距離であるブロック間距離を求め、
前記論理段数と所定のゲート単価ディレイからブロック内ディレイを算出し、
前記ブロック間距離と所定の配線単価ディレイからブロック間ディレイを算出し、
前記ブロック内ディレイ、前記ブロック間ディレイ及び前記目標パスディレイからパスディレイが目標パスディレイ以内に収束可能かを診断し、
前記診断の結果を出力することを特徴とする半導体集積回路の設計方法。
【請求項２】
前記論理段数の算出は、2入力1出力の論理素子を使用して、パスの段数が均等になるように構成して算出することを特徴とする請求項１記載の半導体集積回路の設計方法。
【請求項３】
前記ブロック間距離は、ブロックの最外郭矩形の中心間距離であることを特徴とする請求項１記載の半導体集積回路の設計方法。
【請求項４】
前記ブロック間距離は、ブロックの最外郭矩形の端をつないだ最短距離と最長距離の間で任意に指定可能であることを特徴とする請求項1記載の半導体集積回路の設計方法。
【請求項５】
前記ブロック間距離は、前記ブロック間を構成する少なくとも一方がマクロセル又はチップ上の配置指示があるセルの場合には、前記マクロセルのピン座標又は前記配置指示があるセルのピン座標を用いて算出することを特徴とする請求項１記載の半導体集積回路の設計方法。
【請求項６】
前記所定の配線単価ディレイは、配線方法として転送速度が最速となるようにバッファを挿入した場合の配線単価ディレイであることを特徴とする請求項１記載の半導体集積回路の設計方法。
【請求項７】
前記所定の配線単価ディレイは、配線方法に対応した複数の配線単価ディレイから選択された１つの配線単価ディレイである特徴とする請求項１記載の半導体集積回路の設計方法。
【請求項８】
前記診断は、前記ブロック内ディレイと前記ブロック間ディレイの合計が前記目標パスディレイ以内であれば目標パスディレイ以内への収束は可能と判定し、
そうでなければ、目標パスディレイ以内への収束は不可能と判定することを特徴とする請求項１記載の半導体集積回路の設計方法。
【請求項９】
前記収束不可能と判定された場合において、前記ブロック内ディレイだけで前記目標パスディレイを越える場合は、論理段数が多いと診断し、
前記ブロック間ディレイだけで前記目標パスディレイを越える場合はブロック間距離が長いと診断し、
前記ブロック内ディレイ、前記ブロック間ディレイのどちらも前記目標パスディレイを越える場合は、論理段数が多く、ブロック間距離も長いと診断し、
前記ブロック内ディレイと前記ブロック間ディレイを合計した時だけ前記目標パスディレイを越える場合は、論理段数に対してブロック間距離が長いケースか、ブロック間距離に対して論理段数が多いケース、の少なくともどちらかと診断することを特徴とする請求項８記載の半導体集積回路の設計方法。
【請求項１０】
前記収束可能と判定された場合において、前記目標パスディレイから前記ブロック間ディレイを差し引いて求められるブロック内ディレイを元に、ブロックの論理合成に使用する制約値を算出することを特徴とする請求項８記載の半導体集積回路の設計方法。
【請求項１１】
前記収束可能と判定された場合において、前記パスディレイの余裕度に応じてブロック間の配線方法を選択することを特徴とする請求項８記載の半導体集積回路の設計方法。
【請求項１２】
前記診断結果の出力形式は、一方の軸がブロック内ディレイで、もう一方の軸がブロック間ディレイである2次元グラフであり、前記2次元グラフ上にはブロック内ディレイとブロック間ディレイの合計が常に前記目標パスディレイであることを示す直線と、
ブロック内ディレイが常に目標パスディレイであることを示す、ブロック内ディレイの軸の垂線と、
ブロック間ディレイが常に目標パスディレイであることを示す、ブロック間ディレイの軸の垂線と、
前記ブロック内ディレイと前記ブロック間ディレイで示されるパスの位置とを表示することを特徴とする請求項１記載の半導体集積回路の設計方法。
【請求項１３】
チップ上に複数のブロックが配置され、前記各ブロックを相互に配線することで所望の機能を実現する半導体集積回路の設計をコンピュータに実行させるためのプログラムであって、
ブロック同士の接続情報を含むレジスタ転送レベル論理情報と各ブロックのチップ上の位置情報を含むフロアプラン情報を記憶装置から入力するステップ、
前記レジスタ転送レベル論理情報からパスの終点につながる始点の数を求めるステップ、
前記始点の数からパスの論理段数を算出するステップ、
前記パスが複数のブロックに渡っている場合は、前記フロアプラン情報から、ブロック渡りしているブロック同士の間の距離であるブロック間距離を求めるステップ、
前記論理段数と所定のゲート単価ディレイからブロック内ディレイを算出するステップ、
前記ブロック間距離と所定の配線単価ディレイからブロック間ディレイを算出するステップ、
前記ブロック内ディレイ、前記ブロック間ディレイ及び前記目標パスディレイからパスディレイが目標パスディレイ以内に収束可能かを診断するステップ、
前記診断の結果を出力装置に出力するステップをコンピュータに実行させるためのプログラム。
【請求項１４】
チップ上に複数のブロックが配置され、前記各ブロックを相互に配線することで所望の機能を実現する半導体集積回路の設計をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
ブロック同士の接続情報を含むレジスタ転送レベル論理情報と各ブロックのチップ上の位置情報を含むフロアプラン情報を記憶装置から入力するステップ、
前記レジスタ転送レベル論理情報からパスの終点につながる始点の数を求めるステップ、
前記始点の数からパスの論理段数を算出するステップ、
前記パスが複数のブロックに渡っている場合は、前記フロアプラン情報から、ブロック渡りしているブロック同士の間の距離であるブロック間距離を求めるステップ、
前記論理段数と所定のゲート単価ディレイからブロック内ディレイを算出するステップ、
前記ブロック間距離と所定の配線単価ディレイからブロック間ディレイを算出するステップ、
前記ブロック内ディレイ、前記ブロック間ディレイ及び前記目標パスディレイからパスディレイが目標パスディレイ以内に収束可能かを診断するステップ、
前記診断の結果を出力装置に出力するステップをコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は半導体集積回路の設計方法に関係し、特に複数のブロックを含んだ半導体集積回路における、始点と終点がレジスタかエッジであるパスのディレイ設計において、目標パスディレイ以内に収束可能かを診断する方法に関するものである。
【０００２】
【従来の技術】
半導体集積回路の設計におけるディレイ不良パスの対策には様々な技術がある。例えば特許第2888708号公報の技術は、配置配線後にディレイ検証を行い、ディレイ不良パスに対してはセルの置き換えや論理設計まで戻って回路変更を行う。また特開2001-148425号公報では、配置後配線前にディレイ検証を行い、ディレイ不良パスに対してはセルの配置改善を行う。特開平11-282896号公報では配置配線後にディレイ検証を行い、ディレイ不良パスに対し、ディレイがホールドエラーであるかセットアップエラーであるか、クロックが正常に均等に供給されているか、パスの各段毎に、配線ディレイがソースゲートのディレイより大きくないか、パスの実績の論理段数が異常に多くないか、1ビットのアダーが連続していないかをチェックして、ディレイ不良パスの修正方法をそのチェック結果に応じてネットリスト修正、レイアウト修正、論理修正に分類し、ディレイ不良パスを対策する。
【０００３】
すなわち上記技術は、ディレイ不良パスに関する論理合成後のネットリストや配置配線結果を分析し、対策が可能なパスについてのディレイ改善をする技術といえる。
【０００４】
【発明が解決しようとする課題】
しかし上記従来技術は、目標パスディレイに収束可能か診断する技術ではないので、ディレイ改善の対象パスが改善後に目標パスディレイ以内に収束するかわからない。そのため論理合成や配置配線を何度も繰り返してディレイ改善の限界を人手で判断していた。また複数のブロックを渡ったパスについては配慮されていないので、ブロック間ディレイの改善、特に配線長が長いブロック間についての対策については述べられていない。さらに実施時期が論理合成後や配置配線後なので、目標パスディレイ以内に収束不可能と判断されると、設計工程の後戻りが生じるので設計期間が長期化するといった問題がある。
【０００５】
図7は従来のディレイ不良対策の例である。図7(A)はブロック702からブロック705に渡るパスで、組合せ回路707を含む、始点レジスタ706から終点レジスタ708までのディレイ不良パスを示している。このディレイ不良パスに対し、まずブロック内の配置配線結果を分析したが、セル間が離れすぎていたり、迂回配線はなかった。またセルの駆動力不足を調査したが、F.O.数やソースセルに対して駆動力が足りないセルはなかった。
【０００６】
次にブロック間の配置配線結果を分析したところ迂回配線はしていなかった。
しかしブロック間距離が長かったので、図7(B)のようにバッファ709,710を挿入した結果、ディレイが改善され、目標パスディレイ以内に収束した。この例では、ブロック間の配置配線方法を考慮していなかったためにブロック間の配置配線をやり直すことになった。
【０００７】
図8も従来のディレイ不良対策の例である。図8(A)はブロック802からブロック805に渡るパスで、組合せ回路807を含む、始点レジスタ806から終点レジスタ808までのディレイ不良パスを示している。ブロック間は距離が長かったためバッファ809と810が挿入されている。このディレイ不良パスの原因を調査したが、ブロック内の配置配線結果は問題なく、駆動力不足のセルもなかった。またブロック間も迂回もなく、バッファも適切な位置に挿入されていた。
【０００８】
次に論理設計に戻り、論理記述の修正や論理合成用の制約を見直して再合成したところ、図8(B)のようにディレイ改善した組合せ回路811となった。しかし目標パスディレイ以内には収束できなかった。
【０００９】
そこで図8(C)のようにフロアプランの見直しにより、ブロック804とブロック805の位置を入れ替え、配置配線をした結果、ブロック間距離が短くなり、バッファを挿入しなくてもディレイが改善でき、目標パスディレイ以内に収束できた。
また、見直したフロアプランで配置配線すれば、再合成しなくても目標パスディレイ以内に収束することもわかった。この例では、チップ上のブロック位置を決めるフロアプランの際に、配置配線後のブロック間ディレイを予測できていなかったために、フロアプランのやり直しが必要となった。またブロック内ディレイの取り分がわからなかったので、結果として必要のない再合成を行っていた。
【００１０】
図9も従来のディレイ不良対策の例である。図9(A)はブロック902からブロック904に渡るパスで、組合せ回路907を含む、始点レジスタ906から終点レジスタ908までのディレイ不良パスを示している。ブロック間距離は短く、バッファ挿入の必要はなかった。ブロック内の配置配線結果は問題なかった。ブロック間も迂回はなく、距離もバッファ挿入の効果がある程長くなく、フロアプランもそれ以上改善の余地はなかった。
【００１１】
そこで論理設計に戻り、論理記述の修正や論理合成用の制約を見直して再合成したところ、図9(B)の組合せ回路909のようにディレイ改善ができた。しかし目標パスディレイ以内には収束できなかった。
【００１２】
論理合成、配置配線ではそれ以上ディレイ改善ができないため、機能設計まで戻った。その結果、ディレイ不良パスは図9(C)のように組合せ回路910を含むレジスタ906からレジスタ911までのパスと、組合せ回路912を含むレジスタ911からレジスタ908までのパスに論理を変更し、合成、配置配線することで目標パスディレイ以内に収束した。この例では論理合成の限界を予測できていなかったために、配置配線後に機能設計まで後戻りが生じた。
【００１３】
以上の3つの例から、ディレイ不良対策の工数低減のためには、従来技術だけでなく、複数ブロックを含んだ半導体集積回路におけるブロック間の配置配線の考慮が必要であり、また配置配線や論理合成の限界を予測した設計が必要であるといえる。
【００１４】
従って本発明の目的は、複数のブロックを含む半導体集積回路の設計の際に、ディレイ不良による設計の後戻りや無駄な繰り返しを低減するために、論理合成や配置配線をしなくてもパスディレイが目標パスディレイ以内に収束可能か診断するディレイの診断方法を提供することにある。
【００１５】
【課題を解決するための手段】
上記課題を解決するために、本発明は、チップ上に複数のブロックが配置され、各ブロックを相互に配線することで所望の機能を実現する半導体集積回路の設計方法であって、始点と終点がレジスタ又はエッジであるパスのディレイ設計において、ブロック同士の接続情報を含むレジスタ転送レベル論理情報と各ブロックのチップ上の位置情報を含むフロアプラン情報を入力し、前記レジスタ転送レベル論理情報からパスの終点につながる始点の数を求め、前記始点の数からパスの論理段数を算出し、前記パスが複数のブロックに渡っている場合は、前記フロアプラン情報から、ブロック渡りしているブロック同士の間の距離であるブロック間距離を求め、前記論理段数と所定のゲート単価ディレイからブロック内ディレイを算出し、前記ブロック間距離と所定の配線単価ディレイからブロック間ディレイを算出し、前記ブロック内ディレイ、前記ブロック間ディレイ及び前記目標パスディレイからパスディレイが目標パスディレイ以内に収束可能かを診断し、前記診断の結果を出力することを特徴とする。
【００１６】
本発明により、目標パスディレイ以内に収束可能かどうかの診断は、論理合成や配置配線を何度も繰り返してディレイ改善の限界を人手で判断していた従来の場合に対し、論理合成前に1度実施するだけで診断できる。また論理合成後や配置配線後に実施すれば、論理合成や配置配線による実績結果と見積り結果を比較することで、目標パスディレイ以内に収束可能なディレイ不良パスの不良原因を発見することができる。従って、論理合成や配置配線の無駄な繰り返しや設計の後戻りが低減できる。
【００１７】
【発明の実施の形態】
本発明の実施例を図で説明する。図10は本発明を実施するための装置の構成図である。本発明であるディレイの診断方法はプログラムとして、通常ハードディスクとして存在する補助記憶装置1005に記憶されている。また補助記憶装置1005には、図11で後述するディレイの診断を行うための設計情報も記憶されている。本発明を実施するには、入力装置1001の一つであるキーボードによりコマンドを入力してCPU 1002にディレイ不良の診断の実行を指示する。そして補助記憶装置1005にあったプログラムが主記憶装置1004にロードされて、CPU1002により実行される。実行後の診断結果は、例えばディスプレイやプリンタ等の出力装置1003で確認できる。
【００１８】
図11は半導体集積回路の設計段階と各設計段階での入出力情報である。仕様設計1101では、設計する半導体集積回路のアーキテクチャや目標性能などの仕様を決める。機能設計1103では、仕様書1102を元にして、半導体集積回路を機能毎にブロック分割し、各ブロックをレジスタとその間の組み合せ回路からなるRTL記述1106として表現する。また分割した各ブロックをチップ上のどこに置くかを決めるフロアプランを行う。論理合成1108は、RTL記述1106を実際のゲートレベル記述1109にする。この時、回路設計1104で設計されたセルライブラリ1107を使用する。実装設計1110では、ゲートレベル記述1109と、機能設計で作られたフロアプラン情報1105を元にセルの配置や配線が行われる。
【００１９】
従来の技術では、図11のゲートレベル記述1109や配置配線結果1111を使用してディレイの診断やディレイ不良の対策をしてきた。しかし本発明であるディレイの診断方法では、論理情報として論理中のレジスタ及びエッジの接続関係、フロアプラン情報としてブロックのチップ上の位置、ディレイ特性情報として配線長に対するディレイが計算された情報がわかればよい。よってフロアプラン情報1105、RTL記述1106、ディレイ特性情報1107を使用すれば論理合成や実装設計をしなくてもディレイの診断が可能である。また論理合成後や実装設計後もゲートレベル記述1109や配置配線結果1111を使用してディレイの診断は可能である。
【００２０】
図1は本発明のパスディレイの診断フローチャートである。同図のステップ101では、パスディレイの計算に必要な情報として、論理情報、フロアプラン情報、ディレイ特性情報を入力する。論理情報にはブロック同士の接続関係を含む、論理中のレジスタ及びエッジの接続関係を含む。フロアプラン情報はブロックのチップ上の位置と形状の情報を含んでいる。ディレイ特性情報は配線長に対するディレイがソースセル種、配線種別に計算された情報である。
【００２１】
ステップ102では、図2のように論理情報を解析し、終点につながる始点数を求める。例えば図2の終点レジスタ208には始点レジスタ204〜207と入力エッジピン209,210が繋がっている。
【００２２】
ステップ103では、ステップ102で求めた始点数からパスの論理段数を見積る。ここでは論理を2入力1出力の論理素子だけを使用して、パスの段数が均等になるように構成した場合の最少論理段数を見積る。図3に示すように入力数が2NまではN段で構成できることがわかる。すなわち入力数をMとすると段数と入力数の関係はN=log2Mと表せる。なお始点がレジスタの場合、論理段数は、始点レジスタ分を加えてN'=1+log2Mの式で表せる。よって先に求めた始点数を前記式に代入した結果がパスの論理段数である見積り段数となる。
【００２３】
ステップ104では、パスがブロック渡りをしていれば、フロアプラン情報からそのブロック間距離を見積る。図4のa)で説明すると、まずブロック形状401を求め、次にそのブロックの最外郭矩形402を計算し、その中心座標403を求める。同様にして最外郭矩形408から求めた中心座標409との中心間距離405がブロック間距離となる。なおブロック間距離はブロックの最外郭矩形の端をつないだ最短距離と最長距離の間で可変であり、例えば最外郭矩形のセルの配置が中心間距離よりもブロック端にあると仮定する場合は、セルの仮定配置位置404から仮定配置位置407までの距離406をブロック間距離とすることも出来る。また図4のb)のようにマクロセル410がある場合は、マクロセルのピン座標411とブロック415の中心座標416との距離412をブロック間距離とする。また図4のc)のようにセルの配置が決まっているブロック417の場合も、セル427のピン座標418とブロック422の中心座標423との距離419をブロック間距離とする。
【００２４】
ステップ105では、ディレイ特性情報を元にゲート単価ディレイと配線単価ディレイを計算する。ゲート単価ディレイは、例えばソースセルが基本セルで、配線長がブロック内のネットの平均値である場合のディレイを採用する。配線単価ディレイの求め方は図5で説明する。図5はディレイ特性情報である。配線方法506は通常配線で、配線ディレイ特性501は配線長が長くなるとディレイは急激に大きくなる。配線方法507は幅広配線で、配線ディレイ特性502はカーブが若干緩やかになるがディレイが急激に大きくなる傾向は変わらない。配線方法508はある間隔でバッファ挿入をしたもので、配線ディレイ特性503のように、より長い距離の転送が可能になる。配線方法509のようにバッファ挿入数と位置を最適化することで、配線ディレイ特性504のように最速なバッファ挿入ルールが定義できる。これを最速ルール505と呼ぶ。このディレイは直線で近似でき、配線長として前記ブロック間距離を与えれば最速ルール適用時のブロック間ディレイが見積れる。
【００２５】
ステップ106では、ステップ103、ステップ104、ステップ105で求めた見積り段数、ブロック間距離、ゲート単価ディレイ、配線単価ディレイを用いて、ブロック内ディレイとブロック間ディレイを見積る。このブロック内ディレイとブロック間ディレイを合計すればパスディレイとなる。
ステップ107では、ステップ106で見積ったブロック内ディレイ、ブロック間ディレイと目標パスディレイから、パスディレイが目標パスディレイ以内に収束可能か判定する。すなわちパスディレイとなるブロック内ディレイとブロック間ディレイの合計が目標パスディレイ以内であれば、目標パスディレイ以内に収束が可能と判定される。またパスディレイが目標パスディレイよりも大きければ目標パスディレイ以内に収束が不可能と判定される。さらに収束不可能なパスは目標パスディレイ以内に収束が不可能な原因を診断する。ブロック内ディレイだけで目標パスディレイを越える場合は、論理段数が多いと診断し、ブロック間ディレイだけで目標パスディレイを越える場合はブロック間距離が長いと診断し、ブロック内ディレイとブロック間ディレイを合計した時だけ目標パスディレイを越える場合は、論理段数に対してブロック間距離が長いケースか、ブロック間距離に対して論理段数が多いケース、の少なくともどちらかと診断する。
【００２６】
ステップ108では、図6のような2次元グラフを出力する。図6は横軸をブロック内ディレイ、縦軸をブロック間ディレイとした時の2次元グラフである。図の白丸611,612は、論理段数から見積ったブロック内ディレイと、ブロック間距離から見積ったブロック間ディレイでプロットしたパスを示す。また、斜めの線601はブロック内ディレイとブロック間ディレイの合計が常に目標パスディレイであることを示す。よってブロック内ディレイとブロック間ディレイの合計が目標パスディレイより小さいパスは線601の下の領域606になり収束可能といえ、合計が大きいパスは線601より上になり収束不可能となる。また線601と縦軸との交点602はブロック間ディレイだけで目標パスディレイとなる点である。よってこの点でのパスのブロック間距離は目標パスディレイ ÷ 配線単価ディレイから計算でき、これを限界配線長とよぶ。同様に線601と横軸との交点603はブロック内ディレイだけで目標パスディレイとなる点である。よってこの点でのパスの論理段数は目標パスディレイ÷ゲート単価ディレイから計算でき、これを限界論理段数とよぶ。この交点602と603から、各々縦軸と横軸に垂直に直線604と直線605を引くと収束不可能な原因を診断できる。ブロック内ディレイだけで目標パスディレイを越える場合である領域607は論理段数が限界論理段数を越えている場合なので、論理段数が多いと診断、ブロック間ディレイだけで目標パスディレイを越える場合である領域608はブロック間距離が限界配線長を越えている場合なので、ブロック間距離が長いと診断、ブロック内ディレイ、ブロック間ディレイのどちらも目標パスディレイを越える場合である領域609は論理段数が限界論理段数を越えていてブロック間距離が限界配線長を越えている場合なので、論理段数が多く、ブロック間距離も長いと診断、ブロック内ディレイとブロック間ディレイを合計した時だけ目標パスディレイを越える場合である領域610は、論理段数に対してブロック間距離が長いケースか、ブロック間距離に対して論理段数が多いケース、の少なくともどちらか、と診断する。よってパス611は領域606内なので収束可能だが、パス612は線601より上なので収束不可能となる。さらにパス612は領域607内なので、論理段数が多いと診断する。
【００２７】
上記のディレイの診断に加え、ブロックの入出力ポートに与える論理合成用制約値も作成できる。論理合成はブロック毎に行うため、パスがブロック渡りをしている場合は各ブロックの目標ディレイがわからない。よって入出力ポートに対し、ブロックの外側のディレイ値を制約値として与える必要がある。入力ポートであれば始点レジスタから入力ポートまでのディレイ、出力ポートであれば出力ポートから終点レジスタまでのディレイとなる。例えば図2の始点レジスタ204から終点レジスタ208のパスを通過するポート214に与える制約値は、ブロック間ディレイとブロック203のブロック内ディレイの取り分との合計である。パスのブロック内ディレイの取り分は目標パスディレイからブロック間ディレイ分を差し引いて求められるので、これをブロック201とブロック203のブロック内ディレイに分ける。ブロック内ディレイの配分比は、例えばパスを構成するブロック全てに均等に配分する。
【００２８】
また配線単価ディレイが複数存在する場合、例えば図5の配線方法全てに対する配線単価ディレイが存在する場合、目標パスディレイに対するパスディレイの余裕度に応じて配線方法を選択することが可能である。例えばあるパスは図5の配線方法のうち508と509の場合には目標パスディレイ以内に収束可能と判断されたとする。この時できるだけ配線容量やセル面積を抑えた配線方法でブロック間の配置配線をしたい場合は、最速となる配線方法509ではなく、挿入バッファ数が少なくすむ配線方法508を選択する。
【００２９】
【発明の効果】
上記発明により論理合成や配置配線の結果に依らない計算方法でパスディレイを見積ることができるので、従来は論理合成や配置配線を何度も繰り返してディレイ改善の限界を人手で判断して、目標パスディレイ以内に収束可能か見極めていた場合に対し、論理合成前に1度実施するだけで目標パスディレイ以内に収束可能か診断できる。また論理合成後や配置配線後に実施すれは、論理合成や配置配線による実績結果と見積り結果を比較できるので、目標パスディレイ以内に収束可能なパスのディレイ不良原因を発見することができる。これにより、設計の初期段階からディレイ不良パスの原因が発見できるので、論理合成や配置配線の無駄な繰り返しや設計の後戻りが低減できる。
【図面の簡単な説明】
【図１】本発明のディレイ診断方法のフローチャートである。
【図２】パスを示した図である。
【図３】入力数と段数の関係を示した図である。
【図４】ブロック間距離を示す図である。
【図５】ディレイ特性を示す図である。
【図６】目標パスディレイ以内への収束可能性の判定方法を示す図である。
【図７】従来のディレイ不良パス対策の例を示す図である。
【図８】従来のディレイ不良パス対策の例を示す図である。
【図９】従来のディレイ不良パス対策の例を示す図である。
【図１０】本発明のディレイ診断方法を実施する装置の構成図である。
【図１１】半導体集積回路の設計段階と各段階の入出力情報を示す図である。
【符号の説明】
202、703、703、704、803、903、905  ブロック
211、212、213  組合せ論理
215、216、217  ブロックのポート
301  始点レジスタもしくは入力エッジピン
302  2入力1出力の論理素子
303  終点レジスタ
413、420  セル配置位置をブロック端と仮定した時のブロック間距離
414、421  セル配置位置をブロック端と仮定した時の座標
414、421  セル配置位置をブロック端と仮定した時の座標
701、801、901  チップ
【図１】
0004045113.tif 000002
【図２】
0004045113.tif 000003
【図３】
0004045113.tif 000004
【図４】
0004045113.tif 000005
【図５】
0004045113.tif 000006
【図６】
0004045113.tif 000007
【図７】
0004045113.tif 000008
【図８】
0004045113.tif 000009
【図９】
0004045113.tif 000010
【図１０】
0004045113.tif 000011
【図１１】
0004045113.tif 000012