(57)【要約】【課題】プロセッサの高速化を行うことなく、半導体集積回路の各セル遅延時間の計算処理時間を短縮化する。【解決手段】半導体集積回路での複数のクロックソースポイントをステップＳ１００で抽出し、前記クロックソースポイント別に、そのクロックソースポイントに属するセルをクロックドメインとしてステップＳ１０１で抽出する。抽出された前記複数のクロックドメインを互いに異なるプロセッサエレメントに割り付けられるようにステップＳ１０２で複数のプロセッサエレメントに割り付け、前記複数のプロセッサエレメントを用いて、前記各クロックドメインに属するセルのセル遅延時間をステップＳ１０３で並列に計算する。【選択図】図１
2007087068.tif 000002
【特許請求の範囲】
【請求項１】
複数のセルをセル間配線で接続して構成される半導体集積回路について、前記複数のセルの各セル遅延時間を計算する半導体集積回路の遅延時間計算方法であって、
前記半導体集積回路での複数のクロックソースポイントを抽出するクロックソースポイント抽出ステップと、
前記各クロックソースポイント別に、そのクロックソースポイントに属するセルをクロックドメインとして抽出する第１のクロックドメイン抽出ステップと、
前記第１のクロックドメイン抽出ステップで抽出された前記複数のクロックドメインを、互いに異なるプロセッサエレメントに割り付けられるように、複数のプロセッサエレメントに割り付ける第１のプロセッサエレメント割付ステップと、
前記複数のプロセッサエレメントを用いて、前記各クロックドメインに属するセルのセル遅延時間を並列に計算する第１の遅延計算ステップとを備えた
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項２】
前記請求項１に記載の半導体集積回路の遅延時間計算方法であって、
前記第１のクロックドメイン抽出ステップでは、１つのクロックドメイン内の各セルが前記半導体集積回路のクロックライン又はデータラインのどちらに配置されているかを判別し、
前記第１のプロセッサエレメント割付ステップでは、前記クロックラインに属するセルと、前記データラインに属するセルとを、各々、異なるプロセッサエレメントに割り付ける
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項３】
前記請求項１に記載の半導体集積回路の遅延時間計算方法であって、
前記第１の遅延計算ステップにおいて算出されたセル遅延時間に基づいて、静的なタイミング解析を行う第１の静的タイミング解析ステップを備えた
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項４】
前記請求項３に記載の半導体集積回路の遅延時間計算方法であって、
前記第１の静的タイミング解析ステップでのタイミング解析結果に応じて、前記各クロックドメイン別に、そのクロックドメインに属するセルとクロストークを生じる他のクロックドメイン内のセルをも、自己のクロックドメインに割り付けられたプロセッサエレメントに割り付ける第２のプロセッサエレメント割付ステップと、
前記複数のプロセッサエレメントを用いて、各クロックドメイン別に、クロストークを考慮したセル遅延時間を並列に計算する第１のクロストーク計算ステップとを備えた
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項５】
前記請求項４に記載の半導体集積回路の遅延時間計算方法であって、
前記第１のクロストーク計算ステップにおいて算出されたクロストークを考慮したセル遅延時間に基づいて、静的なタイミング解析を行う第２の静的タイミング解析ステップを備えた
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項６】
複数のセルをセル間配線で接続して構成される半導体集積回路について、前記複数のセルの各セル遅延時間を計算する半導体集積回路の遅延時間計算方法であって、
前記半導体集積回路での複数のクロックソースポイントを抽出するクロックソースポイント抽出ステップと、
前記各クロックソースポイント別に、そのクロックソースポイントに属するセルをクロックドメインとして抽出すると共に、１つのクロックドメイン内の各セルが前記半導体集積回路のクロックライン及びデータラインを構成する複数のパスのいずれのパス上に配置されているかを判別する第２のクロックドメイン抽出ステップと、
前記複数のパスがクロックライン又はデータラインのどちらに属するかと、各パス上のセル数とによって、各パスの計算優先度の順位付けを行う第１のパス優先度設定ステップと、
前記第１のパス優先度設定ステップで設定されたパス計算優先度に応じて、前記複数のパスを、処理速度の速いプロセッサエレメントから順に、互いに異なるプロセッサエレメントに割り付けられるように、複数のプロセッサエレメントに割り付ける第３のプロセッサエレメント割付ステップと、
前記複数のプロセッサエレメントを用いて、前記各パス上のセルのセル遅延時間を並列に計算する第２の遅延計算ステップとを備えた
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項７】
前記請求項６に記載の半導体集積回路の遅延時間計算方法であって、
前記第２の遅延計算ステップにおいて算出されたセル遅延時間に基づいて、静的なタイミング解析を行う第３の静的タイミング解析ステップを備えた
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項８】
前記請求項７に記載の半導体集積回路の遅延時間計算方法であって、
前記第３のタイミング解析ステップでのタイミング解析結果及び、前記複数のパスがクロックライン又はデータラインのどちらに属するかと、各パス上のセル数と、クロストーク遅延変動による再計算量とによって、前記複数のパスの各パス計算優先度の順位付けを行う第２のパス優先度設定ステップと、
前記第２のパス優先度設定ステップで設定されたパス計算優先度に応じて、前記各パス別に、そのパス上のセルとクロストークを生じる他のパス上のセルをも、各々、処理速度の速いプロセッサエレメントから順に、互いに異なるプロセッサエレメントに割り付けられるように、複数のプロセッサエレメントに割り付ける第４のプロセッサエレメント割付ステップと、
前記複数のプロセッサエレメントを用いて、各パス別に、クロストークを考慮したセル遅延時間を並列に計算する第２のクロストーク計算ステップとを備えた
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項９】
前記請求項８に記載の半導体集積回路の遅延時間計算方法であって、
前記第２のクロストーク計算ステップにおいて算出されたクロストークを考慮したセル遅延時間に基づいて、静的なタイミング解析を行う第４の静的タイミング解析ステップを備えた
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項１０】
複数のセルをセル間配線で接続して構成されると共に複数の階層を有する半導体集積回路について、前記複数のセルの各セル遅延時間を計算する半導体集積回路の遅延時間計算方法であって、
前記半導体集積回路での複数の階層を認識すると共に、前記複数の階層間の接続関係を認識する階層認識ステップと、
前記階層認識ステップにおいて認識された前記複数の階層間の接続関係に基づいて、所定の１つの階層内のセルのセル遅延時間計算に必要な情報を、その階層とは異なる階層から取得する階層展開ステップと、
前記各階層内のセル遅延時間計算に必要な情報を、互いに異なるプロセッサエレメントに割り付けられるように、複数のプロセッサエレメントに割り付ける第５のプロセッサエレメント割付ステップと、
前記複数のプロセッサエレメントを用いて、前記各階層別に、その階層に属するセルのセル遅延時間及びクロストークを考慮したセル遅延時間を並列に計算する第１の遅延・クロストーク計算ステップとを備えた
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項１１】
前記請求項１０に記載の半導体集積回路の遅延時間計算方法であって、
前記第１の遅延・クロストーク計算ステップにおいて算出されたセル遅延時間及びクロストークを考慮したセル遅延時間に基づいて、静的なタイミング解析を行う第５の静的タイミング解析ステップを備えた
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項１２】
前記請求項１１に記載の半導体集積回路の遅延時間計算方法であって、
前記の各階層別に計算されたセル遅延時間を組み上げて前記半導体集積回路全体としての遅延時間を算出する階層組み上げステップを備えた
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項１３】
複数のセルをセル間配線で接続して構成される半導体集積回路について、前記複数のセルの各セル遅延時間を計算する半導体集積回路の遅延時間計算方法であって、
前記半導体集積回路内の複数のセルのうち、入力信号波形又は接続される負荷容量が変化するセルを抽出する再計算セル抽出ステップと、
前記半導体集積回路内の各セルのセル遅延時間を計算する複数のプロセッサエレメントのうち、計算処理を行っていないプロセッサエレメントを抽出する空きプロセッサエレメント抽出ステップと、
前記再計算セル抽出ステップにおいて抽出されたセル及びセル遅延時間計算に必要な情報を、前記空きプロセッサエレメント抽出ステップにおいて抽出されたプロセッサエレメントに割り付ける第６のプロセッサエレメント割付ステップと、
前記セルを割り付けたプロセッサエレメントにおいて、セルのセル遅延時間及びクロストークを考慮したセル遅延時間を計算する第２の遅延・クロストーク計算ステップとを備えた
ことを特徴とする半導体集積回路の遅延時間計算方法。
【請求項１４】
前記請求項１３に記載の半導体集積回路の遅延時間計算方法であって、
前記第２の遅延・クロストーク計算ステップにおいて算出されたセル遅延時間及びクロストークを考慮したセル遅延時間に基づいて、静的なタイミング解析を行う第６の静的タイミング解析ステップを備えた
ことを特徴とする半導体集積回路の遅延時間計算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路設計におけるタイミング検証に関し、特に、半導体集積回路内の複数のセルの各セル遅延時間を計算する半導体集積回路の遅延時間計算方法に関するものである。
【背景技術】
【０００２】
従来の半導体集積回路設計における遅延時間計算方法を説明する。
【０００３】
図１５は、半導体集積回路の遅延時間計算方法の具体的な例である。同図において、インスタンス１５００とインスタンス１５０１とがインスタンス間配線１５０７により接続され、インスタンス１５０１とインスタンス１５０２とがインスタンス間配線１５０８により接続されている。また、１５０３は前記インスタンス１５００からの出力信号の波形、１５０４は前記インスタンス１５０１への入力信号の波形、１５０５は前記インスタンス１５０１からの出力信号の波形、１５０６は前記インスタンス１５０２への入力信号の波形を示している。尚、本明細書では、セルは基本論理セルのほか機能マクロブロックをも指し、また、インスタンスは同じ論理を持ったセルであっても、各々を別個のものとして認識するために固有に付けられた名前をいうものとする。
【０００４】
半導体集積回路の遅延時間は、デザインのネットリスト、寄生素子情報、及びタイミング制約を入力として、デザイン中の各インスタンス１５００〜１５０２ごとに計算する。このとき、インスタンス１５００〜１５０２の各インスタンス遅延時間の計算には、計算対象のインスタンスの前段及び後段のインスタンスの情報と、接続されるインスタンス間配線の情報とが必要となる。例えば、前記インスタンス１５０１のインスタンス遅延時間の計算に際しては、前記インスタンス１５００、１５０２及び前記インスタンス間配線１５０７、１５０８の情報が必要となる。計算対象のインスタンス１５０１への入力信号波形１５０４は、前段に位置するインスタンス１５００の出力信号波形１５０３と、インスタンス１５００の駆動能力と、前記インスタンス間配線１５０７の寄生素子情報とを用いて算出する。ここで、前記インスタンス１５０１の入力信号波形１５０４の算出には、前段に配置されたインスタンス１５００の出力信号波形１５０３を用いるので、前記入力信号波形１５０４の算出の前に、前記インスタンス１５００の出力信号波形１５０３を算出しておく必要がある。前記インスタンス１５０１からの出力信号波形１５０５は、後段に位置するインスタンス１５０２の入力端子容量と、前記インスタンス間配線１５０８の寄生素子情報とを用いて算出する。また、前記インスタンス１５０２のインスタンス遅延時間の計算に際しても、その入力信号波形１５０６の算出には、前段に配置されたインスタンス１５０１の出力信号波形１５０５が必要となる。
【０００５】
このように、遅延時間計算の際には、インスタンス１５００とインスタンス１５０１及びインスタンス１５０１とインスタンス１５０２といった互いにインスタンス間配線で接続されるインスタンス同士が依存関係を持つので、半導体集積回路の遅延時間計算方法においては、半導体集積回路内を信号が伝播する方向に前段から後段へと順にインスタンス遅延時間を計算する方法が広く知られている。
【０００６】
また、半導体集積回路を階層的に設計した場合の遅延時間計算方法の具体的な例を図１６を用いて説明する。
【０００７】
図１６（ａ）において、半導体集積回路基板１６００には２つの階層１６０１と１６０２とが配置されている。半導体集積回路基板１６００上には、インスタンス１６０７が配置されている。前記階層１６０１の内部には、インスタンス１６０３〜１６０６が配置され、前記階層１６０２の内部にはインスタンス１６０８が配置されている。前記階層１６０１内において、前記インスタンス１６０３〜１６０６がインスタンス間配線１６０９、１６１０によって接続されている。また、前記インスタンス１６０４と、前記半導体集積回路基板１６００上のインスタンス１６０７とは、インスタンス間配線１６１１によって接続されている。さらに、前記インスタンス１６０７と、前記階層１６０２内のインスタンス１６０８とは、インスタンス間配線１６１２によって接続されている。
【０００８】
同図（ａ）のように、半導体集積回路の内部に複数の階層が存在する場合には、各インスタンス１６０３〜１６０８間のインスタンス間配線１６０９〜１６１２の接続は保持したまま、階層１６０１と１６０２とを同図（ｂ）のように展開して階層のフラット化を行い、半導体集積回路の遅延時間を計算をする。すなわち、前記インスタンス１６０３から前記インスタンス１６０８までのパスにおいて、前記インスタンス１６０３からの出力信号波形は、前記インスタンス間配線１６０９を介して前記インスタンス１６０４に供給されて、前記インスタンス間配線１６１１を介して前記インスタンス１６０７に供給された後に前記インスタンス間配線１６１２を介して前記インスタンス１６０８に供給される。このように、半導体集積回路内のパスの接続形態及び、前記各インスタンス間配線の寄生素子情報は保持したまま、前記階層１６０１及び１６０２のみを取り除いて遅延時間の計算を行う。遅延時間の具体的な計算方法については、上記の図１５と同様である。
【０００９】
また、半導体集積回路に接続される外部負荷容量のみが相違する場合の遅延時間計算方法の具体的な例を図１７を用いて説明する。
【００１０】
図１７において、１７００は半導体集積回路基板であって、その内部にはインスタンス１７０１、１７０２、１７０３が配置され、前記インスタンス１７０１と１７０２とはインスタンス間配線１７０６によって接続され、前記インスタンス１７０２と１７０３とはインスタンス間配線１７０７によって接続されている。また１７０４及び１７０５は外部負荷容量であって、各々、インスタンス間配線１７０８によって前記インスタンス１７０３と接続されている。前記インスタンス１７０１から前記インスタンス間配線１７０８までのパスは同図（ａ）と同図（ｂ）とで同じ条件である。
【００１１】
上記の同図（ａ）及び同図（ｂ）の２つの回路の遅延時間を計算する場合には、同図（ａ）に示した前記外部負荷容量１７０４を接続した回路の遅延時間の計算と、同図（ｂ）に示した前記外部負荷容量１７０５に変更して接続した回路の遅延時間の計算とは別個に行われる。このとき、同図（ａ）及び（ｂ）の回路共に上記の遅延時間計算方法と同様に、最前段に位置する前記インスタンス１７０１から最後段の外部負荷容量１７０４又は１７０５へと順に遅延時間の計算を行い、半導体集積回路の遅延時間を算出する。
【００１２】
前記のような遅延時間計算方法に関連する技術として、例えば非特許文献１や非特許文献２がある。
【非特許文献１】日本シノプシス株式会社、“PrimeTime Datasheet”、［online］、平成１７年３月２９日検索、インターネット＜URL：http//www.synopsys.co.jp/products/primetime/detail.html＞
【非特許文献２】日本ケーデンス株式会社、“CELTIC NDC”、［online］、平成１７年３月２９日検索、インターネット＜URL：http//www.cadence.co.jp/products/digital_ic/CELTIC_NDC.html＞
【発明の開示】
【発明が解決しようとする課題】
【００１３】
ところで、前記従来の遅延時間計算方法では、半導体集積回路内を信号が伝播する方向に前段から後段へと順にセル遅延時間を計算するために、半導体集積回路内の全セルを１個のプロセッサエレメントに割り付けて半導体集積回路の遅延時間計算を行うことが主流である。
【００１４】
しかしながら、図１５や図１６に示した半導体集積回路の遅延時間計算方法について、１個のプロセッサエレメントのみを用いて遅延時間を計算する場合に、半導体集積回路の回路規模が増大すると、遅延時間の計算処理時間の増加を抑制するように、１個のプロセッサの高速化を図って対処していたが、半導体集積回路の回路規模が著しく増大してきている近年では、プロセッサの高速化というハードウェア面の改良のみでは、計算処理時間の増加を抑制することが困難になっている。
【００１５】
また、図１７に示した半導体集積回路の遅延時間計算方法について、外部負荷容量が変更された影響を受けない部分においても再計算が行われるので、同じセルに関して遅延時間計算が複数回行われることとなり、大規模な半導体集積回路を対象として遅延時間を計算するに際しては、不要な計算処理によって計算処理時間が増加する可能性がある。
【００１６】
本発明は、前記の課題に着目してなされたものであり、その目的は、複数のセルをセル間配線で接続して構成される回路規模の大きい半導体集積回路においても、さほど高速なプロセッサを用いずとも、その半導体集積回路の遅延時間計算の処理時間を短縮することにある。
【課題を解決するための手段】
【００１７】
前記の課題を達成するために、本発明では、複数のセルをセル間配線で接続して構成される半導体集積回路について、前記複数のセルの各セル遅延時間の計算処理を複数のプロセッサエレメントに分配して、セル遅延時間を並列に計算する方法を採用する。
【００１８】
具体的に、請求項１記載の発明の半導体集積回路の遅延時間計算方法は、複数のセルをセル間配線で接続して構成される半導体集積回路について、前記複数のセルの各セル遅延時間を計算する半導体集積回路の遅延時間計算方法であって、前記半導体集積回路での複数のクロックソースポイントを抽出するクロックソースポイント抽出ステップと、前記各クロックソースポイント別に、そのクロックソースポイントに属するセルをクロックドメインとして抽出する第１のクロックドメイン抽出ステップと、前記第１のクロックドメイン抽出ステップで抽出された前記複数のクロックドメインを、互いに異なるプロセッサエレメントに割り付けられるように、複数のプロセッサエレメントに割り付ける第１のプロセッサエレメント割付ステップと、前記複数のプロセッサエレメントを用いて、前記各クロックドメインに属するセルのセル遅延時間を並列に計算する第１の遅延計算ステップとを備えたことを特徴とする。
【００１９】
請求項２記載の発明は、前記請求項１に記載の半導体集積回路の遅延時間計算方法であって、前記第１のクロックドメイン抽出ステップでは、１つのクロックドメイン内の各セルが前記半導体集積回路のクロックライン又はデータラインのどちらに配置されているかを判別し、前記第１のプロセッサエレメント割付ステップでは、前記クロックラインに属するセルと、前記データラインに属するセルとを、各々、異なるプロセッサエレメントに割り付けることを特徴とする。
【００２０】
請求項３記載の発明は、前記請求項１に記載の半導体集積回路の遅延時間計算方法であって、前記第１の遅延計算ステップにおいて算出されたセル遅延時間に基づいて、静的なタイミング解析を行う第１の静的タイミング解析ステップを備えたことを特徴とする。
【００２１】
請求項４記載の発明は、前記請求項３に記載の半導体集積回路の遅延時間計算方法であって、前記第１の静的タイミング解析ステップでのタイミング解析結果に応じて、前記各クロックドメイン別に、そのクロックドメインに属するセルとクロストークを生じる他のクロックドメイン内のセルをも、自己のクロックドメインに割り付けられたプロセッサエレメントに割り付ける第２のプロセッサエレメント割付ステップと、前記複数のプロセッサエレメントを用いて、各クロックドメイン別に、クロストークを考慮したセル遅延時間を並列に計算する第１のクロストーク計算ステップとを備えたことを特徴とする。
【００２２】
請求項５記載の発明は、前記請求項４に記載の半導体集積回路の遅延時間計算方法であって、前記第１のクロストーク計算ステップにおいて算出されたクロストークを考慮したセル遅延時間に基づいて、静的なタイミング解析を行う第２の静的タイミング解析ステップを備えたことを特徴とする。
【００２３】
請求項６記載の発明は、複数のセルをセル間配線で接続して構成される半導体集積回路について、前記複数のセルの各セル遅延時間を計算する半導体集積回路の遅延時間計算方法であって、前記半導体集積回路での複数のクロックソースポイントを抽出するクロックソースポイント抽出ステップと、前記各クロックソースポイント別に、そのクロックソースポイントに属するセルをクロックドメインとして抽出すると共に、１つのクロックドメイン内の各セルが前記半導体集積回路のクロックライン及びデータラインを構成する複数のパスのいずれのパス上に配置されているかを判別する第２のクロックドメイン抽出ステップと、前記複数のパスがクロックライン又はデータラインのどちらに属するかと、各パス上のセル数とによって、各パスの計算優先度の順位付けを行う第１のパス優先度設定ステップと、前記第１のパス優先度設定ステップで設定されたパス計算優先度に応じて、前記複数のパスを、処理速度の速いプロセッサエレメントから順に、互いに異なるプロセッサエレメントに割り付けられるように、複数のプロセッサエレメントに割り付ける第３のプロセッサエレメント割付ステップと、前記複数のプロセッサエレメントを用いて、前記各パス上のセルのセル遅延時間を並列に計算する第２の遅延計算ステップとを備えたことを特徴とする。
【００２４】
請求項７記載の発明は、前記請求項６に記載の半導体集積回路の遅延時間計算方法であって、前記第２の遅延計算ステップにおいて算出されたセル遅延時間に基づいて、静的なタイミング解析を行う第３の静的タイミング解析ステップを備えたことを特徴とする。
【００２５】
請求項８記載の発明は、前記請求項７に記載の半導体集積回路の遅延時間計算方法であって、前記第３のタイミング解析ステップでのタイミング解析結果及び、前記複数のパスがクロックライン又はデータラインのどちらに属するかと、各パス上のセル数と、クロストーク遅延変動による再計算量とによって、前記複数のパスの各パス計算優先度の順位付けを行う第２のパス優先度設定ステップと、前記第２のパス優先度設定ステップで設定されたパス計算優先度に応じて、前記各パス別に、そのパス上のセルとクロストークを生じる他のパス上のセルをも、各々、処理速度の速いプロセッサエレメントから順に、互いに異なるプロセッサエレメントに割り付けられるように、複数のプロセッサエレメントに割り付ける第４のプロセッサエレメント割付ステップと、前記複数のプロセッサエレメントを用いて、各パス別に、クロストークを考慮したセル遅延時間を並列に計算する第２のクロストーク計算ステップとを備えたことを特徴とする。
【００２６】
請求項９記載の発明は、前記請求項８に記載の半導体集積回路の遅延時間計算方法であって、前記第２のクロストーク計算ステップにおいて算出されたクロストークを考慮したセル遅延時間に基づいて、静的なタイミング解析を行う第４の静的タイミング解析ステップを備えたことを特徴とする。
【００２７】
請求項１０記載の発明は、複数のセルをセル間配線で接続して構成されると共に複数の階層を有する半導体集積回路について、前記複数のセルの各セル遅延時間を計算する半導体集積回路の遅延時間計算方法であって、前記半導体集積回路での複数の階層を認識すると共に、前記複数の階層間の接続関係を認識する階層認識ステップと、前記階層認識ステップにおいて認識された前記複数の階層間の接続関係に基づいて、所定の１つの階層内のセルのセル遅延時間計算に必要な情報を、その階層とは異なる階層から取得する階層展開ステップと、前記各階層内のセル遅延時間計算に必要な情報を、互いに異なるプロセッサエレメントに割り付けられるように、複数のプロセッサエレメントに割り付ける第５のプロセッサエレメント割付ステップと、前記複数のプロセッサエレメントを用いて、前記各階層別に、その階層に属するセルのセル遅延時間及びクロストークを考慮したセル遅延時間を並列に計算する第１の遅延・クロストーク計算ステップとを備えたことを特徴とする。
【００２８】
請求項１１記載の発明は、前記請求項１０に記載の半導体集積回路の遅延時間計算方法であって、前記第１の遅延・クロストーク計算ステップにおいて算出されたセル遅延時間及びクロストークを考慮したセル遅延時間に基づいて、静的なタイミング解析を行う第５の静的タイミング解析ステップを備えたことを特徴とする。
【００２９】
請求項１２記載の発明は、前記請求項１１に記載の半導体集積回路の遅延時間計算方法であって、前記の各階層別に計算されたセル遅延時間を組み上げて前記半導体集積回路全体としての遅延時間を算出する階層組み上げステップを備えたことを特徴とする。
【００３０】
請求項１３記載の発明は、複数のセルをセル間配線で接続して構成される半導体集積回路について、前記複数のセルの各セル遅延時間を計算する半導体集積回路の遅延時間計算方法であって、前記半導体集積回路内の複数のセルのうち、入力信号波形又は接続される負荷容量が変化するセルを抽出する再計算セル抽出ステップと、前記半導体集積回路内の各セルのセル遅延時間を計算する複数のプロセッサエレメントのうち、計算処理を行っていないプロセッサエレメントを抽出する空きプロセッサエレメント抽出ステップと、前記再計算セル抽出ステップにおいて抽出されたセル及びセル遅延時間計算に必要な情報を、前記空きプロセッサエレメント抽出ステップにおいて抽出されたプロセッサエレメントに割り付ける第６のプロセッサエレメント割付ステップと、前記セルを割り付けたプロセッサエレメントにおいて、セルのセル遅延時間及びクロストークを考慮したセル遅延時間を計算する第２の遅延・クロストーク計算ステップとを備えたことを特徴とする。
【００３１】
請求項１４記載の発明は、前記請求項１３に記載の半導体集積回路の遅延時間計算方法であって、前記第２の遅延・クロストーク計算ステップにおいて算出されたセル遅延時間及びクロストークを考慮したセル遅延時間に基づいて、静的なタイミング解析を行う第６の静的タイミング解析ステップを備えたことを特徴とする。
【００３２】
以上により、請求項１〜１４記載の発明では、半導体集積回路内の複数のセルが互いに異なるプロセッサエレメントに割り付けられるので、半導体集積回路内の各セルのセル遅延時間計算が並列に実行される。
【００３３】
特に、請求項４記載の発明では、異なるクロックソースポイントに属するセル同士でクロストークが生じる場合にも、各セルの遅延時間がそのクロストークを考慮して計算されるので、各セルの遅延時間がより正確に計算される。
【００３４】
特に請求項６記載の発明では、複数のプロセッサエレメントに性能差がある場合に、高性能なプロセッサエレメントに計算量の多いパスを割り付けることが可能となる。
【発明の効果】
【００３５】
以上説明したように、請求項１〜１４記載の発明の半導体集積回路の遅延時間計算方法によれば、半導体集積回路内の複数のセルのセル遅延時間を、複数個のプロセッサエレメントを用いて並列に実行したので、半導体集積回路内の各セルのセル遅延時間計算に要する処理時間の短縮が可能である。
【００３６】
特に、請求項４記載の発明の半導体集積回路の遅延時間計算方法によれば、クロストークをも考慮した正確なセル遅延時間を計算できる。
【００３７】
また、請求項６記載の発明の半導体集積回路の遅延時間計算方法によれば、高性能なプロセッサエレメントに計算量の多いパスを割り付けることによって、半導体集積回路全体の遅延時間の計算処理時間の短縮が可能となる。
【発明を実施するための最良の形態】
【００３８】
以下、本発明の実施形態を図面に基づいて説明する。
【００３９】
（第１の実施形態）
本発明の第１の実施形態について、図１、図２及び図３を用いて説明する。
【００４０】
図１は、本発明の第１の実施形態の半導体集積回路の遅延時間計算処理フローを示す図である。
【００４１】
図２は、半導体集積回路の遅延時間計算処理を行う回路の具体例を示す図である。同図において、クロックソースポイントＣＬＫ＿Ａからの信号は、インスタンス２１５を介してフリップフロップ回路（以下、ＦＦ回路という）２００に供給される。前記ＦＦ回路２００からの信号は、インスタンス２０６とインスタンス２０７とを介してＦＦ回路２０１に供給される。また、前記クロックソースポイントＣＬＫ＿Ａからの信号は、インスタンス２１６を介してＦＦ回路２０２に供給される。前記ＦＦ回路２０２からの信号は、インスタンス２０８を介してＦＦ回路２０３に供給される。さらに、他のクロックソースポイントＣＬＫ＿Ｂからの信号は、インスタンス２１７を介してＦＦ回路２０４に供給される。前記ＦＦ回路２０４からの信号は、インスタンス２０９を介してＦＦ回路２０５に供給される。前記インスタンス２０７、ＦＦ回路２０１間のインスタンス間配線２３０と前記インスタンス２０８、ＦＦ回路２０３間のインスタンス間配線２３１との間には、クロストークの原因となるのカップリング容量２１３が存在し、前記インスタンス間配線２３１と前記インスタンス２０９、ＦＦ回路２０５間のインスタンス間配線２３２との間にもカップリング容量２１４が存在する。また、２１８、２１９、２２０は半導体集積回路のクロックラインであって、２１０、２１１、２１２は半導体集積回路のデータラインである。
【００４２】
尚、本明細書において、ＦＦ回路はインスタンスの一種である。クロックライン（後述）とデータライン（後述）とを認識するためにＦＦ回路とインスタンスとを別個のものとして表現しているが、インスタンス遅延時間計算はＦＦ回路遅延時間計算を含むものとする。また、クロックラインは、クロックソースポイントとＦＦ回路若しくはメモリのクロック入力端子との間のインスタンス及びインスタンス間配線を指し、また、データラインは、ＦＦ回路若しくはメモリの出力端子と後段のＦＦ回路若しくはメモリのデータ入力端子との間のインスタンス及びインスタンス間配線を指すものとする。
【００４３】
また、図３は、本実施形態の遅延時間計算処理における複数のプロセッサエレメントへのインスタンスの割り付けの具体例を示す図であり、３０１〜３０６はインスタンス遅延時間を計算するためのプロセッサエレメント（以下、ＰＥという）であり、３００は前記の全ＰＥ３０１〜３０６の計算結果を格納する共有メモリ、３０８〜３１３は前記各ＰＥ３０１〜３０６での計算結果を格納する分散メモリである。
【００４４】
ここで、図２及び図３を参照して、図１のフローチャートを説明する。
【００４５】
図１において、ステップＳ１００はクロックソースポイント抽出ステップであって、デザインのネットリストに基づいて、図２の半導体集積回路での２つのクロックソースポイントＣＬＫ＿Ａ及びＣＬＫ＿Ｂを抽出する。
【００４６】
ステップＳ１０１は、第１のクロックドメイン抽出ステップであって、前記抽出した各クロックソースポイントＣＬＫ＿Ａ、ＣＬＫ＿Ｂを起点として、クロックソースポイント別に、そのクロックソースポイントから信号を受ける複数のインスタンスをクロックドメインとして抽出する。ここで、クロックソースポイントＣＬＫ＿Ａのクロックドメインとして、ＦＦ回路２００〜２０３と、インスタンス２０６〜２０８と、インスタンス２１５、２１６とが抽出され、クロックソースポイントＣＬＫ＿Ｂのクロックドメインとして、ＦＦ回路２０４、２０５と、インスタンス２０９と、インスタンス２１７を抽出する。
【００４７】
この際に、クロックドメイン別に抽出した各インスタンスが半導体集積回路内のクロックライン又はデータラインのどちらに配置されているかについても判別する。すなわち、クロックソースポイントＣＬＫ＿Ａのクロックドメインに関しては、クロックライン２１８上に、インスタンス２１５とＦＦ回路２００とが配置されている。また、データライン２１０上に、ＦＦ回路２００、２０１とインスタンス２０６、２０７とが配置されていると判別する。同様に、クロックライン２１９上に、インスタンス２１６とＦＦ回路２０２とが配置され、データライン２１１上に、ＦＦ回路２０２、２０３とインスタンス２０８とが配置されていると判別する。
【００４８】
さらに、クロックソースポイントＣＬＫ＿Ｂのクロックドメインに関しては、クロックライン２２０上にインスタンス２１７とＦＦ回路２０４とが配置され、データライン２１２上にＦＦ回路２０４、２０５とインスタンス２０９とが配置されていると判別する。
【００４９】
このように、図２の半導体集積回路においては、クロックソースポイントＣＬＫ＿Ａのクロックドメイン内のインスタンスは、クロックライン２１８、２１９及びデータライン２１０、２１１に配置されていると判別する。また、クロックソースポイントＣＬＫ＿Ｂのクロックドメイン内のインスタンスは、クロックライン２２０及びデータライン２１２に配置されていると判別する。
【００５０】
図１において、ステップＳ１０２は、第１のプロセッサエレメント割付ステップであって、前記の各クロックソースポイントＣＬＫ＿Ａ、ＣＬＫ＿Ｂのクロックドメインを、互いに異なる複数のプロセッサエレメントに割り付ける。
【００５１】
前記のステップＳ１０１において、１つのクロックドメイン内の各インスタンスが半導体集積回路のクロックライン又はデータラインのどちらに配置されているかを判別したので、ステップＳ１０２においては、１つのクロックドメインのクロックラインに属するインスタンスと、データラインに属するインスタンスとを、各々、異なるプロセッサエレメントに割り付ける。また、データラインを複数保持している場合にも、データラインごとに異なるプロセッサエレメントに割り付ける。
【００５２】
ここでは、複数のクロックドメインを有し、データラインが複数ある場合について、図２及び図３を用いて説明する。
【００５３】
図２の半導体集積回路において、まずはクロックラインに関して、クロックソースポイントＣＬＫ＿Ａのクロックドメイン内のクロックライン２１８、２１９上のインスタンス及びインスタンス間配線を図３のＰＥ３０１に割り付けると共に、クロックソースポイントＣＬＫ＿Ｂのクロックドメイン内のクロックライン２２０上のインスタンス及びインスタンス間配線を他のＰＥ３０５に割り付ける。ここで、クロックソースポイントＣＬＫ＿Ａのクロックドメイン内のクロックライン２１８、２１９上のインスタンス及びインスタンス間配線を１つのＰＥ３０１に割り付けることによって、信号伝播を考慮した遅延時間計算が可能となる。
【００５４】
次にデータラインに関して、クロックソースポイントＣＬＫ＿Ａのクロックドメイン内のデータライン２１０上のインスタンス及びインスタンス間配線をＰＥ３０２に割り付け、クロックソースポイントＣＬＫ＿Ａのクロックドメイン内の他のデータライン２１１上のインスタンス及びインスタンス間配線をＰＥ３０３に割り付ける。また、クロックソースポイントＣＬＫ＿Ｂのクロックドメイン内のデータライン２１２上のインスタンス及びインスタンス間配線をＰＥ３０６に割り付ける。
【００５５】
このように、クロックドメイン、クロックライン及びデータラインに基づいて、互いに異なるＰＥにインスタンスを割り付ける。
【００５６】
ステップＳ１０３は、第１の遅延計算ステップであって、前記のステップＳ１０２において割り付けを行った複数のＰＥ毎に、割り付けられた各インスタンスの遅延時間を並列に計算する。ここで、インスタンスの情報を割り付けたＰＥの全てが同時に計算を始めるのではなく、各クロックソースポイントＣＬＫ＿Ａ、ＣＬＫ＿Ｂのクロックライン上のインスタンスの遅延時間を計算した後に、データライン上のインスタンスの遅延時間を計算する。上記の順序でインスタンス遅延時間を計算することによって、信号伝播を考慮した遅延時間の計算が可能となる。各クロックライン上のインスタンスの遅延時間を計算した後には、計算結果が格納されている分散メモリから、そのクロックラインの後段に位置するデータラインのインスタンス遅延時間を計算するＰＥの分散メモリに計算結果を転送する。
【００５７】
例えば、クロックソースポイントＣＬＫ＿Ａのクロックドメインにおいて、クロックライン２１８、２１９の計算結果（ＦＦ回路２００、２０２への入力信号波形）はＰＥ３０１の分散メモリ３０８に格納されているが、データライン２１０及びデータライン２１１の遅延時間計算の際には、分散メモリ３０８に格納されているＦＦ回路２００への入力信号波形をＰＥ３０２の分散メモリ３０９に転送すると共に、ＦＦ回路２０２への入力信号波形をＰＥ３０３の分散メモリ３１０に転送する。その転送された入力信号波形を用いて、前記ＰＥ３０２及びＰＥ３０３は、各々に割り付けられたデータライン２１０及び２１１上のインスタンスの遅延時間計算を行う。
【００５８】
ステップＳ１０４は、第１の静的タイミング解析ステップであって、前記の各ＰＥ３０１〜３０６の分散メモリ３０８〜３１３に格納されている各インスタンスのインスタンス遅延時間情報を共有メモリ３００に転送し、前記共有メモリ３００に転送された全インスタンスのインスタンス遅延時間に基づいて、静的なタイミング解析を行う。ここで、半導体集積回路内の各インスタンスについての信号伝播のタイミングウインドウを算出する。
【００５９】
ステップＳ１０５は、第２のプロセッサエレメント割付ステップであって、前記のステップＳ１０２において割り付けたＰＥに、クロストークを引き起こすインスタンス及びインスタンス間配線も追加で割り付ける。ここで、前記ステップＳ１０４における解析結果に基づいて、タイミングウィンドウが重なる信号を持つインスタンスのみクロストークが発生しているとして、本割り付けを行う。よって、もし、カップリング容量が存在していても、タイミングウィンドウが重ならない場合は、割り付けを行わない。これによってタイミングエラーの再現が、より正確になる。
【００６０】
例えば、図３において、タイミングウィンドウが重なった場合、クロックソースポイントＣＬＫ＿Ａのクロックドメインのデータライン２１０上のインスタンスが割り付けられているＰＥ３０２には、ＦＦ回路２００、２０１及びインスタンス２０６、２０７のみでなく、前記データライン２１０が隣接するインスタンス間配線２３１とのカップリング容量２１３とインスタンス２０８とＦＦ回路２０３が追加で、ＰＥ３０２に割り付けられる。タイミングウィンドウが重なっていない場合、新たなインスタンスや容量の追加がないので、インスタンス遅延時間の再計算は行われない。ただし、各クロックドメインのクロックラインにおいてクロストークが発生した場合には、そのクロックライン以降のインスタンス及びインスタンス間配線は、その影響を受けるため、インスタンス遅延時間の再計算が行われる。
【００６１】
更に、図１において、ステップＳ１０６は、第１のクロストーク計算ステップであり、割り付けられたインスタンス、インスタンス間配線及びカップリング容量に基づいて、前記ステップＳ１０３と同様にして、クロストークを考慮したインスタンス遅延時間計算を並列に行う。クロックライン及びデータラインの計算順序についても前記ステップＳ１０３と同様である。
【００６２】
また、ステップＳ１０７は、第２の静的タイミングステップであり、前記ステップＳ１０６での計算結果を各ＰＥ３０１〜３０６の分散メモリ３０８〜３１３から共有メモリ３００に転送した後に、ステップＳ１０４と同様に静的なタイミング解析を行う。
【００６３】
従って、本実施形態では、デザインのネットリストを基に、半導体集積回路内の複数のインスタンスがクロックソースポイントＣＬＫ＿Ａ、ＣＬＫ＿Ｂ別に区別されて、そのクロックソースポイントに属する複数のインスタンスが互いに異なるプロセッサエレメントに割り付けられるので、各クロックドメイン内のインスタンスの遅延時間計算が並列に実行することができて、半導体集積回路全体の遅延時間計算の処理時間の短縮が可能である。
【００６４】
また、隣接配線とのクロストークが生じている場合でも、クロストークを引き起こすインスタンス及びインスタンス間配線を追加で割り付けて計算するので、クロストークを考慮したインスタンスの遅延時間を正確に計算することができる。
【００６５】
更に、クロックドメイン内にデータラインが複数ある場合の割り付けにおいて、データラインのパスごとにインスタンスを割り付けたことによって、クロックドメインごとにインスタンスを割り付ける場合と比べて同時並列に遅延時間を計算するプロセッサエレメント数が多くなり、より一層の、半導体集積回路全体の遅延時間計算の短縮が可能となる。
【００６６】
尚、本実施形態では、クロックライン及びデータラインを定義したが、ここで、例えば分周回路において、ＦＦ回路の出力端子と後段のＦＦ回路の入力端子との間のインスタンス及びインスタンス間配線であっても伝播する信号がクロック信号として扱われる場合は、そのインスタンス及びインスタンス間配線はクロックラインとみなす。また、その他の回路に関しても適宜判断する。
【００６７】
次に、図１の半導体集積回路の遅延時間計算フローを各コンピュータ処理部に対応づけた具体例を図４に示す。
【００６８】
クロックソースポイント抽出処理部４００では、半導体集積回路のデザインのネットリスト、寄生素子情報及びタイミング制約を入力として、図１のクロックソースポイント抽出ステップＳ１００を実行し、半導体集積回路内の複数のクロックソースポイントを抽出する。
【００６９】
第１のクロックドメイン抽出処理部４０１では、図１の第１のクロックドメイン抽出ステップＳ１０１を実行し、前記クロックソースポイント抽出処理部４００で抽出した各クロックソースポイント別に、そのクロックソースポイントに属するインスタンスをクロックドメインとして抽出する。
【００７０】
第１のプロセッサエレメント割付処理部４０２では、図１の第１のプロセッサエレメント割付ステップＳ１０２を実行し、前記第１のクロックドメイン抽出処理部４０１で抽出された前記複数のクロックドメインを、互いに異なるプロセッサエレメントに割り付けられるように、複数のプロセッサエレメントに割り付ける。
【００７１】
第１の遅延計算処理部４０３では、図１の第１の遅延計算ステップＳ１０３を実行し、前記複数のプロセッサエレメントを用いて、前記各クロックドメインに属するインスタンスのインスタンス遅延時間を並列に計算する。
【００７２】
第１の静的タイミング解析処理部４０４では、図１の第１の静的タイミング解析ステップＳ１０４を実行し、前記第１の遅延計算処理部４０３において算出されたインスタンス遅延時間に基づいて、静的なタイミング解析を行う。
【００７３】
第２のプロセッサエレメント割付処理部４０５では、図１の第２のプロセッサエレメント割付ステップＳ１０５を実行し、前記第１の静的タイミング解析処理部４０４でのタイミング解析結果に応じて、前記各クロックドメイン別に、そのクロックドメインに属するインスタンスとクロストークを生じる他のクロックドメイン内のインスタンスをも、自己のクロックドメインに割り付けられたプロセッサエレメントに割り付ける。
【００７４】
第１のクロストーク計算処理部４０６では、図１の第１のクロストーク計算ステップＳ１０６を実行し、前記複数のプロセッサエレメントを用いて、各クロックドメイン別に、クロストークを考慮したインスタンス遅延時間を並列に計算する。
【００７５】
第２の静的タイミング解析処理部４０７では、図１の第２の静的タイミング解析ステップＳ１０７を実行し、前記第１のクロストーク計算処理部４０６において算出されたクロストーク考慮したインスタンス遅延時間に基づいて、静的なタイミング解析を行う。
【００７６】
これらの処理部４００〜４０７を実行した後に、半導体集積回路全体の遅延情報を出力する。
【００７７】
（第２の実施形態）
本発明の第２の実施形態について、図２、図５及び図６を用いて説明する。
【００７８】
図２は、半導体集積回路の遅延時間計算処理を行う回路の具体例を示す図である。第１の実施形態と同様であるので、その説明は省略する。
【００７９】
図５は、本発明の第２の実施形態の半導体集積回路の遅延時間計算処理フローを示す図である。
【００８０】
また、図６は、本実施形態の遅延時間計算処理における複数のプロセッサエレメントへのインスタンスの割り付けの具体例を示す図であり、６０１〜６０４は処理速度の速い高速ＰＥ、６０５、６０６は前記ＰＥ６０１〜６０４よりも処理速度の遅い低速ＰＥであり、６００は前記の全ＰＥ６０１〜６０６の計算結果を格納する共有メモリ、６０８〜６１３は前記各ＰＥ６０１〜６０６での計算結果を格納する分散メモリである。
【００８１】
ここで、図２及び図６を参照して、図５のフローチャートを説明する。
【００８２】
図５において、ステップＳ１００はクロックソースポイント抽出ステップであって、第１の実施形態と同様に、デザインのネットリストに基づいて、図２の半導体集積回路での２つのクロックソースポイントＣＬＫ＿Ａ及びＣＬＫ＿Ｂを抽出する。
【００８３】
ステップＳ５０１は、第２のクロックドメイン抽出ステップであって、前記抽出した各クロックソースポイントＣＬＫ＿Ａ、ＣＬＫ＿Ｂを起点として、クロックソースポイント別に、そのクロックソースポイントから信号を受ける複数のインスタンスをクロックドメインをして抽出すると共に、クロックライン又はデータラインのいずれのパス上に配置されているかについても判別する。
【００８４】
ここで、クロックソースポイントＣＬＫ＿Ａのクロックドメインに関しては、クロックライン２１８上に、インスタンス２１５とＦＦ回路２００とが配置されている。また、データライン２１０上に、ＦＦ回路２００、２０１とインスタンス２０６、２０７とが配置されていると判別する。同様に、クロックライン２１９上に、インスタンス２１６とＦＦ回路２０２とが配置され、データライン２１１上にＦＦ回路２０２、２０３とインスタンス２０８とが配置されていると判別する。
【００８５】
さらに、クロックソースポイントＣＬＫ＿Ｂのクロックドメインに関しては、クロックライン２２０上にインスタンス２１７とＦＦ回路２０４とが配置され、データライン２１２上にＦＦ回路２０４、２０５とインスタンス２０９とが配置されていると判別する。
【００８６】
図５において、ステップＳ５０８は、第１のパス優先度設定ステップであって、各クロックライン及び各データラインのパスに対して、パスの計算優先度を設定する。この計算優先度は、クロックラインのパスに最も高い優先度が設定され、その次には、パスを構成するインスタンス数の多いデータライン順に高い優先度が設定される。
【００８７】
図２の半導体集積回路においては、まず、クロックライン２１８、２１９、２２０に高い優先度を設定する。ここで、クロックソースポイントＣＬＫ＿Ａのクロックライン２１８、２１９上のインスタンス及びインスタンス間配線を１つのＰＥに割り付けることによって、信号伝播を考慮した遅延時間計算が可能となるので、この２つのクロックライン２１８、２１９を１組と考える。次に、データラインに関しては、インスタンス数の最も多いデータライン２１０に高い優先度が与えられる。
【００８８】
図５において、ステップＳ５０２は第３のプロセッサエレメント割付ステップであって、前記ステップＳ５０８で設定した計算優先度に従って、各パスを互いに異なるプロセッサエレメントに割り付ける。この際、計算優先度の高いパス上のインスタンスほど高速なＰＥに割り付ける。
【００８９】
ここでは、パスの計算優先度に基づいたプロセッサエレメントへの割り付けを図２及び図６を用いて説明する。
【００９０】
図２の半導体集積回路において、まずはクロックラインに関して、最も計算優先度の高いクロックライン２１８、２１９上のインスタンス及びインスタンス間配線を図６の高速ＰＥ６０１に割り付け、次に計算優先度の高いクロックライン２２０上のインスタンス及びインスタンス間配線を他の高速ＰＥ６０２に割り付ける。
【００９１】
次にデータラインに関して、最も優先度の高いデータライン２１０上のインスタンス及びインスタンス間配線を図６の高速ＰＥ６０３に割り付け、データライン２１１上のインスタンス及びインスタンス間配線を高速ＰＥ６０４に割り付ける。また、データライン２１２上のインスタンス及びインスタンス間配線を低速ＰＥ６０５に割り付ける。
【００９２】
このように、前記ステップＳ５０８において設定されたパス計算優先度に基づいて、優先順位の高いものから高速ＰＥに割り付ける。ここで、クロックラインのパスに高い優先度が設定されているのは、データラインのパスにおけるインスタンス遅延時間計算において、クロックラインのパスの計算結果が必要になるためである。また、インスタンス数によって優先順位が設定されているのは、インスタンス数の多いパスほど計算処理時間が増えるためであり、そのパスを高速ＰＥに割り付けることによって、半導体集積回路全体としての計算処理時間が短縮する。
【００９３】
尚、データライン２１１に高速ＰＥ６０４が割り付けられたのは、高速ＰＥの有効利用のためであって、より計算優先度の高いパスがあった場合には、データライン２１１は低速ＰＥに割り付けられる。
【００９４】
図５において、ステップＳ５０３は、第２の遅延計算ステップであって、前記のステップＳ５０２において割り付けを行った複数のＰＥで、割り付けられた各インスタンスの遅延時間を並列に計算する。ここで、ＰＥの全てが同時に計算を始めるのではなく、クロックライン上のインスタンスの遅延時間を計算した後に、データライン上のインスタンスの遅延時間を計算する。上記の順序でインスタンス遅延時間を計算することによって、信号伝播を考慮した遅延時間の計算が可能となる。各クロックライン上のインスタンスの遅延時間を計算した後には、計算結果が格納されている分散メモリから、そのクロックラインの後段に位置するデータラインのインスタンス遅延時間を計算するＰＥの分散メモリに計算結果を転送する。
【００９５】
例えば、クロックソースポイントＣＬＫ＿Ａのクロックドメインにおいて、クロックライン２１８、２１９の計算結果（ＦＦ回路２００、２０２への入力信号波形）はＰＥ６０１の分散メモリ６０８に格納されているが、データライン２１０及びデータライン２１１の遅延時間計算の際には、分散メモリ６０８に格納されているＦＦ回路２００への入力信号波形をＰＥ６０３の分散メモリ６１０に転送すると共に、ＦＦ回路２０２への入力信号波形をＰＥ６０４の分散メモリ６１１に転送する。その転送された入力信号波形を用いて、前記ＰＥ６０３及びＰＥ６０４は、各々に割り付けられたデータライン２１０及び２１１上のインスタンスの遅延時間計算を行う。
【００９６】
ステップＳ５０４は、第３の静的タイミング解析ステップであって、前記の各ＰＥ６０１〜６０６の分散メモリ６０８〜６１３に格納されている各インスタンスのインスタンス遅延時間情報を共有メモリ６００に転送し、前記共有メモリ６００に転送された全インスタンスのインスタンス遅延時間に基づいて、静的なタイミング解析を行う。ここで、半導体集積回路内の各インスタンスについての信号伝播のタイミングウインドウを算出する。
【００９７】
ステップＳ５０９は、第２のパス優先度設定ステップであって、前記ステップＳ５０８で設定した各クロックライン及び各データラインのパスの計算優先度を再設定する。
【００９８】
この計算優先度の再設定においては、クロックラインのパスに最も高い優先度が設定され、次には、パスを構成するインスタンス数の多いパスに高い優先度が設定され、その次に、クロストーク遅延による再計算量の多さによって計算優先度が設定される。
【００９９】
ステップＳ５０５は、第４のプロセッサエレメント割付ステップであって、前記ステップＳ５０９で設定した計算優先度に従って、各パス上のインスタンスと共に、クロストークを引き起こすインスタンス及びインスタンス間配線についても、プロセッサエレメントに割り付ける。前記のステップＳ５０２と同様に、計算優先度の高いパスほど高速なＰＥに割り付ける。この際、前記ステップＳ５０４における解析結果に基づいて、タイミングウィンドウが重なる信号を持つインスタンスはクロストークによる遅延変動を考慮する。タイミングウインドウが重なっていない場合はクロストーク遅延変動による再計算は必要ないので、前記ステップＳ５０９で設定される計算優先度は低くなる。
【０１００】
前記ステップＳ５０５におけるＰＥの割り付けは、例えば、図３において、データライン２１０上のインスタンスを割り付けられたＰＥには、ＦＦ回路２００、２０１及びインスタンス２０６、２０７のみでなく、前記データライン２１０が隣接するインスタンス間配線２３１とカップリング容量２１３とインスタンス２０８とＦＦ回路２０３とについても同一のＰＥに割り付ける。
【０１０１】
更に、図５において、ステップＳ５０６は、第２のクロストーク計算ステップであり、前記ステップＳ５０５において割り付けられたインスタンス、インスタンス間配線及びカップリング容量に基づいて、前記ステップＳ５０３と同様に、クロストークを考慮したインスタンス遅延時間計算を行う。クロックライン及びデータラインの計算順序についても前記ステップＳ５０３と同様である。
【０１０２】
また、ステップＳ５０７は、第４の静的タイミングステップであり、前記ステップＳ５０６での計算結果を各ＰＥ６０１〜６０６の分散メモリ６０８〜６１３から共有メモリ６００に転送した後に、ステップＳ６０４と同様に静的なタイミング解析を行う。
【０１０３】
従って、本実施形態では、半導体集積回路内のクロックライン及びデータラインのパス別にＰＥへの割り付けの優先度を設定し、その優先度順位の高い順番に高速なプロセッサエレメントに割り付けるので、半導体集積回路全体の遅延時間計算の処理時間の短縮が可能である。
【０１０４】
前記第１の実施形態よりも、本実施形態では、計算量の多いパスに、処理速度の速い高速ＰＥを割り付けるので、半導体集積回路全体の遅延時間の計算処理時間をさらに短縮することが可能である。
【０１０５】
次に、図５の半導体集積回路の遅延時間計算フローを各コンピュータ処理部に対応づけた具体例を図７に示す。
【０１０６】
クロックソースポイント抽出処理部４００では、第１の実施形態の図４と同様に、半導体集積回路のデザインのネットリスト、寄生素子情報及びタイミング制約を入力として、図５のクロックソースポイント抽出ステップＳ１００を実行し、半導体集積回路内の複数のクロックソースポイントを抽出する。
【０１０７】
第２のクロックドメイン抽出処理部７０１では、図５の第２のクロックドメイン抽出ステップＳ５０１を実行し、前記クロックソースポイント抽出処理部４００で抽出した各クロックソースポイント別に、そのクロックソースポイントに属するインスタンスをクロックドメインとして抽出すると共に、１つのクロックドメイン内の各インスタンスが半導体集積回路のクロックライン又はデータラインを構成する複数のパスいずれのパス上に配置されているかを判別する。
【０１０８】
第１のパス優先度設定処理部７０８では、図５の第１のパス優先度設定ステップＳ５０８を実行し、前記第２のクロックドメイン抽出処理部７０１で抽出した半導体集積回路内のクロックライン及びデータラインの各パスの計算優先度の順位付けを行う。
【０１０９】
第３のプロセッサエレメント割付処理部７０２では、図５の第３のプロセッサエレメント割付ステップＳ５０２を実行し、前記第１のパス優先度設定処理部７０８で設定されたパス計算優先度に応じて、前記複数のパス上のインスタンスを、互いに異なるプロセッサエレメントに割り付けられるように、複数のプロセッサエレメントに割り付ける。
【０１１０】
第２の遅延計算処理部７０３では、図５の第２の遅延計算ステップＳ５０３を実行し、前記複数のプロセッサエレメントを用いて、前記各パス上のインスタンスのインスタンス遅延時間を並列に計算する。
【０１１１】
第３の静的タイミング解析処理部７０４では、図５の第３の静的タイミング解析ステップＳ５０４を実行し、前記第２の遅延計算処理部７０３において算出されたインスタンス遅延時間に基づいて、静的なタイミング解析を行う。
【０１１２】
第２のパス優先度設定処理部７０９では、第２のパス優先度設定ステップＳ５０９を実行し、半導体集積回路内のクロックライン及びデータラインの各パスの計算優先度の順位付けを行う。
【０１１３】
第４のプロセッサエレメント割付処理部７０５では、第４のプロセッサエレメント割付ステップＳ５０５を実行し、前記第２のパス優先度設定処理部７０９で設定されたパス計算優先度に応じて、前記複数のパス上のインスタンスとクロストークを生じる他のパス上のインスタンスをも、各々、互いに異なるプロセッサエレメントに割り付けられるように、複数のプロセッサエレメントに割り付ける。
【０１１４】
第２のクロストーク計算処理部７０６では、図５の第２のクロストーク計算ステップＳ５０６を実行し、前記複数のプロセッサエレメントを用いて、各パス別に、クロストークを考慮したインスタンス遅延時間を並列に計算する。
【０１１５】
第４の静的タイミング解析処理部７０７では、図５の第４の静的タイミング解析ステップＳ５０７を実行し、前記第２のクロストーク計算処理部７０６において算出されたクロストークを考慮したインスタンス遅延時間に基づいて、静的なタイミング解析を行う
これらの処理部４００、７０１〜７０９を実行した後に、半導体集積回路全体の遅延情報を出力する。
【０１１６】
（第３の実施形態）
本発明の第３の実施形態について、図８及び図９を用いて説明する。
【０１１７】
図８は、本発明の第３の実施形態の半導体集積回路の遅延時間計算処理フローを示す図である。
【０１１８】
図９は、半導体集積回路の遅延時間計算を行う回路の具体的な例を示す図である。同図において、９００は半導体集積回路の回路基板、９０１〜９０４は前記半導体集積回路基板９００上の階層である。また、９０５、９０６、９１１、９１２は前記階層９０１内のインスタンス、９０７は前記半導体集積回路基板９００上のインスタンス、９０８は前記階層９０２上のインスタンス、９０９は前記階層９０３上のインスタンス、９１０は前記階層９０４上のインスタンスであり、９１４〜９１８は前記インスタンス９０５〜９１２間のインスタンス間配線である。更に、前記インスタンス間配線９１４とインスタンス間配線９１５との間には、クロストークを考慮するためのカップリング容量９１３が接続されている。
【０１１９】
ここで、図９を参照して、図８のフローチャートを説明する。
【０１２０】
図８において、ステップＳ８００は階層認識ステップであって、図９の半導体集積回路基板９００上の複数の階層９０１〜９０４を認識すると共に、前記複数の階層９０１〜９０４同士の接続関係を認識する。ここで、前記階層９０１と階層９０２とが接続され、前記階層９０３と階層９０４とが接続されていると認識する。
【０１２１】
ステップＳ８０１は階層展開ステップであって、前記ステップＳ８００において認識した前記複数の階層９０１〜９０４の接続関係から、各々の階層９０１〜９０４遅延時間計算及びクロストークを考慮いたインスタンス遅延時間計算に必要な情報を、対象とする階層とは異なる階層から取得する。
【０１２２】
例えば、図９の階層９０２の遅延時間の計算には、前記階層９０２内のインスタンス９０８の入力信号波形が必要となる。ここで、信号波形が前段のインスタンスから後段のインスタンスへと伝播することを考慮して、ステップＳ８０１において、前記インスタンス９０８の前段の３つのインスタンス９０５〜９０７、前記３つのインスタンスのインスタンス間配線９１４、９１６及び、インスタンス間配線９１７の情報を取得する。更に、クロストークを考慮したインスタンス遅延時間を計算するために、インスタンス間配線９１４が隣接するインスタンス間配線９１５、カップリング容量９１３、インスタンス９１１、９１２をも同時に抽出する。また、階層９０３の遅延時間計算においては、インスタンス９０９の後段に位置するインスタンス９１０の入力負荷容量が必要であるので、階層９０４内のインスタンス９１０を抽出する。上記のように、ある階層の遅延時間計算の際には、その階層と接続されている別の階層内の情報が抽出される。
【０１２３】
図８において、ステップＳ８０２は第５のプロセッサエレメント割付ステップであって、前記複数の階層９０１〜９０４及び、前記ステップＳ８０１において取得した他の階層内の情報を、階層別に、互いに異なるプロセッサエレメントに割り付けられるように、複数のプロセッサエレメントに割り付ける。
【０１２４】
このとき、ステップＳ８０１で階層展開したデータも含めて割り付ける。例えば、階層９０２を割り付けたＰＥには、インスタンス９０５〜９０７、インスタンス間配線９１４、９１６、９１７も割り付ける。
【０１２５】
ステップＳ８０３は第１の遅延・クロストーク計算ステップであって、前記複数のプロセッサエレメントを用いて、前記の各階層９０１〜９０４別に、その階層に属するインスタンスのインスタンス遅延時間及び、クロストークを考慮したインスタンス遅延時間を並列に計算する。
【０１２６】
ステップＳ８０４は、第５の静的タイミング解析ステップであって、前記複数のプロセッサエレメントにおいて計算されたインスタンス遅延時間及び、クロストークを考慮したインスタンス遅延時間に基づいて、静的なタイミング解析を行う。ここで、階層内の各インスタンスについての信号伝播のタイミングウィンドウを算出する。
【０１２７】
前記ステップＳ８０４において、タイミングウィンドウが重なった部分については、前記ステップＳ８０２によって、再度複数のプロセッサエレメントに割り付けると共に、前記ステップＳ８０３において、前記複数のプロセッサエレメントを用いてクロストークを考慮したインスタンス遅延時間を計算する。
【０１２８】
以上のステップＳ８０２、８０３、８０４を繰り返し実行することによって、前記の各階層９０１〜９０４別に、インスタンス遅延時間及びクロストークを考慮したインスタンス遅延時間の計算を実施することが可能となる。
【０１２９】
図８において、ステップＳ８０５は階層組み上げステップであり、前記ステップ８０４において前記複数の階層９０１〜９０４別に計算した遅延時間及びクロストークを考慮した遅延時間の情報を組み上げて、半導体集積回路全体の遅延時間を算出する。
【０１３０】
この際、インスタンス９０５、９０６は、階層９０１、９０２の両方で計算されているが、元々存在する階層での計算結果を採用する。よって、インスタンス９０５、９０６及びインスタンス間配線９１６は階層９０１での計算結果を採用し、インスタンス９０７及びインスタンス間配線９１７は階層９００での計算結果を採用し、インスタンス９０８は階層９０２での計算結果を採用する。
【０１３１】
従って、本実施形態では、半導体集積回路内の階層及び、階層間の接続状態を認識し、その階層別に遅延時間計算に必要な情報が互いに異なる複数のプロセッサエレメントに割り付けられるので、各階層の遅延時間計算が並列に実行され、半導体集積回路全体の遅延時間計算に処理時間の短縮が可能である。
【０１３２】
尚、前記ステップＳ８０２において、各階層９０１〜９０４別に、情報を割り付けると共に、前記第１の実施形態や第２の実施形態における第１〜４のプロセッサエレメント割付ステップの処理を適用することによって、さらなる並列化が可能となる。
【０１３３】
次に、図８の半導体集積回路の遅延時間計算フローを各コンピュータ処理部に対応づけた具体例を図１０に示す。
【０１３４】
階層認識処理部１０００では、半導体集積回路のデザインのネットリスト、寄生素子情報及びタイミング制約を入力として、図８の階層認識ステップＳ８００を実行し、半導体集積回路内の複数の階層を認識し、前記複数の階層間の接続関係を調べる。
【０１３５】
階層展開処理部１００１では、図８の階層展開ステップＳ８０１を実行し、前記階層認識処理部１０００において認識された前記複数の階層間の接続関係に基づいて、各階層内のインスタンスのインスタンス遅延時間計算に必要な情報を、その階層とは異なる階層から取得する。
【０１３６】
第５のプロセッサエレメント割付処理部１００２では、図８の第５のプロセッサエレメント割付ステップＳ８０２を実行し、前記複数の階層及び前記インスタンス遅延時間計算に必要な情報を、互いに異なるプロセッサエレメントに割り付ける。
【０１３７】
第１の遅延・クロストーク計算処理部１００３では、図８の第１の遅延・クロストーク計算ステップＳ８０３を実行し、前記複数のプロセッサエレメントを用いて、前記の各階層別に、その階層に属するインスタンスのインスタンス遅延時間及び、クロストークを考慮したインスタンス遅延時間を計算する。
【０１３８】
第５の静的タイミング解析処理部１００４では、図８の第５の静的タイミング解析ステップＳ８０４を実行し、前記第１の遅延・クロストーク計算処理部１００３において算出されたインスタンス遅延時間に基づいて、静的なタイミング解析を行う。
【０１３９】
階層組み上げ処理部１００５では、図８の階層組み上げステップＳ８０４を実行し、前記階層別に計算された遅延時間を組み上げて、前記半導体集積回路全体としての遅延時間を算出する。
【０１４０】
これらの処理部１０００〜１００５を実行した後に、半導体集積回路全体の遅延情報を出力する。
【０１４１】
（第４の実施形態）
本発明の第４の実施形態について、図１１、図１２及び図１３を用いて説明する。
【０１４２】
図１１は、本発明の第４の実施形態の半導体集積回路の遅延時間計算処理フローを示す図である。
【０１４３】
図１２は、半導体集積回路の遅延時間計算処理を行う回路の具体例を示す図であって、半導体集積回路基板１２００上のインスタンス１２０１、１２０２、１２０５が配置されている。同図（ａ）において、前記インスタンス１２０２は外部負荷容量１２０３接続され、同図（ｂ）において、前記インスタンス１２０２は外部負荷容量１２０４と接続されている。
【０１４４】
また、図１３は、本実施形態の遅延時間計算処理における空きプロセッサエレメントへのインスタンスの割り付けの具体例を示す図であって、１３０１、１３０２は計算処理を行っていない空きＰＥであり、１３０３、１３０４は前記各ＰＥ１３０１、１３０２での計算結果を格納する分散メモリである。
【０１４５】
ここで、図１２及び図１３を参照して、図１１のフローチャートを説明する。本実施形態においては、図１２の半導体集積回路基板１２００上のインスタンス１２０２に接続される外部負荷容量が、同図（ａ）の外部負荷容量１２０３の場合、及び同図（ｂ）の外部負荷容量１２０４の場合の２通りについて、遅延時間を計算する必要がある例について説明する。
【０１４６】
図１１において、ステップＳ１１００は再計算インスタンス抽出ステップであって、半導体集積回路基板１２００上のインスタンスにおいて、遅延時間及びクロストークを考慮した遅延時間の計算を複数回行う必要のあるインスタンスを抽出する。ここでは、外部負荷容量のみが異なる場合を想定しているので、図１２においては前記インスタンス１２０２が抽出される。ここで、前記インスタンス１２０２の遅延時間の計算には、前記インスタンス１２０２の入力信号波形が必要となり、この入力信号波形の計算には、前記インスタンス１２０１の出力信号波形を用いる。そのため、ステップＳ１２００においては、前記インスタンス１２０２を抽出するだけでなく、前記インスタンス１２０１をも抽出する。
【０１４７】
図１１において、ステップＳ１１０１は、空きプロセッサエレメント探索ステップであって、計算処理を行っていないＰＥを探索する。図１３において、計算処理の行われていないＰＥがＰＥ１３０１とＰＥ１３０２とであるので、この２つのＰＥを抽出する。ここで、空きＰＥが存在しない場合には、本ステップＳ１１０１で待機状態となり、インスタンスの割り付けられている使用ＰＥの計算処理の終了を待つ。前記の複数の使用ＰＥにおいて、各使用ＰＥに割り付けられている計算量は異なるので、使用ＰＥが空き状態になった時点で、この空きＰＥを認識し抽出する。
【０１４８】
図１１において、ステップＳ１１０２は、第６のプロセッサエレメント割付ステップであって、前記ステップＳ１１０２において抽出した空きＰＥに、前記ステップＳ８００において抽出したインスタンスを割り付ける。図１２及び図１３においては、前記インスタンス１２０１、１２０２と、外部負荷容量１２０３を空きＰＥ１３０１に割り付ける。さらに、前記インスタンス１２０１、１２０２及び外部負荷容量１２０３は空きＰＥ１３０２に割り付ける。
【０１４９】
ステップ１１０３は、第２の遅延・クロストーク計算ステップであって、外部負荷容量を負荷容量１２０３とした場合及び負荷容量１２０４とした場合の２つの場合について、それぞれ、ＰＥ１３０１、１３０２で遅延計算する。もし、空きＰＥが１つしか存在しない場合は、その空きＰＥで、最初にインスタンス１２０１、１２０２及び外部負荷容量１２０３の組合せで遅延計算を行い、次に、外部負荷容量を１２０４に変更して遅延計算を行う。
【０１５０】
従って、本実施形態では、インスタンスが割り付けられていないＰＥや、計算が早く終了したＰＥを空きＰＥとして認識し、繰り返し計算が必要なインスタンスの計算を実行するので、複数のＰＥの有効利用を行う。そのため、外部負荷容量のみを変更した場合に、半導体集積回路全体の遅延時間計算を再度実行する必要はなく、外部負荷容量の変更の影響を受ける部分のみ再計算を行うので、半導体集積回路の計算処理時間の短縮が可能となる。
【０１５１】
次に、図１１の半導体集積回路の遅延時間計算フローを各コンピュータ処理部に対応づけた例を図１４に示す。
【０１５２】
再計算インスタンス抽出処理部１４００では、半導体集積回路のネットリスト、寄生素子情報及びタイミング制約を入力として、図１１の再計算インスタンス抽出ステップＳ１１００を実行し、遅延時間及びクロストークを考慮した遅延時間の計算を複数回行う必要のあるインスタンスを抽出する。
【０１５３】
空きプロセッサエレメント探索処理部１４０１では、図１１の空きプロセッサエレメント探索ステップＳ１１０１を実行し、インスタンスが割り付けられていないＰＥ及び計算処理を行っていないＰＥを探索する。
【０１５４】
第６のプロセッサエレメント割付処理部１４０２では、図１１の第６のプロセッサエレメント割付ステップＳ１１０２を実行し、前記空きプロセッサエレメント探索処理部１４０１において抽出した空きＰＥに、前記再計算インスタンス抽出処理部１４００において抽出したインスタンスを割り付ける。
【０１５５】
第２の遅延・クロストーク計算処理部１４０３では、図１１の第２の遅延・クロストーク計算ステップＳ１１０３を実行し、再計算が必要なインスタンスのインスタンス遅延時間及び、クロストークを考慮したインスタンス遅延時間を計算する。
【０１５６】
これらの処理部１４００〜１４０３を実行した後に各インスタンスの遅延情報を出力する。
【産業上の利用可能性】
【０１５７】
以上説明したように、本発明は、プロセッサの高速化を行うことなく、半導体集積回路の遅延時間を高速に計算できるので、大規模集積回路の遅延時間計算方法等として有用である。
【図面の簡単な説明】
【０１５８】
【図１】本発明の第１の実施形態の半導体集積回路の遅延時間計算処理フローを示す図である。
【図２】同実施形態及び第２の実施形態の遅延時間計算処理を行う対象である半導体集積回路の具体例を示す図である。
【図３】同実施形態の半導体集積回路の遅延時間計算方法におけるプロセッサエレメントへのインスタンスの割り付けの具体例を示す図である。
【図４】同実施形態の半導体集積回路の遅延時間計算フローを複数のコンピュータ処理部に対応づけた具体例を示す図である。
【図５】本発明の第２の実施形態の半導体集積回路の遅延時間計算処理フローを示す図である。
【図６】同実施形態の半導体集積回路の遅延時間計算方法におけるプロセッサエレメントへのインスタンスの割り付けの具体例を示す図である。
【図７】同実施形態の半導体集積回路の遅延時間計算フローを複数のコンピュータ処理部に対応づけた具体例を示す図である。
【図８】本発明の第３の実施形態の半導体集積回路の遅延時間計算処理フローを示す図である。
【図９】同実施形態の遅延時間計算処理を行う対象である半導体集積回路の具体例を示す図である。
【図１０】同実施形態の半導体集積回路の遅延時間計算フローを複数のコンピュータ処理部に対応づけた具体例を示す図である。
【図１１】本発明の第４の実施形態の半導体集積回路の遅延時間計算処理フローを示す図である。
【図１２】同実施形態の遅延時間計算処理を行う対象である半導体集積回路の具体例を示す図である。
【図１３】同実施形態の半導体集積回路の遅延時間計算方法における空きプロセッサエレメントへのインスタンスの割り付けの具体例を示す図である。
【図１４】同実施形態の半導体集積回路の遅延時間計算フローを複数のコンピュータ処理部に対応づけた具体例を示す図である。
【図１５】従来の半導体集積回路の遅延時間計算方法の具体例を示す図である。
【図１６】従来の半導体集積回路を階層的に設計した場合の遅延時間計算方法の具体例を示す図である。
【図１７】従来の半導体集積回路に接続される外部負荷容量のみが相違する場合の遅延時間計算方法の具体例を示す図である。
【符号の説明】
【０１５９】
２００〜２０５                        フリップフロップ回路
２０６〜２０９、２１５〜２１７、
９０５〜９１２、１２０１、
１２０２、１２０５                インスタンス
２１０〜２１２                        データライン
２１３、２１４、９１３                カップリング容量
２１８〜２２０                        クロックライン
２３０〜２３２                        インスタンス間配線
３００、６００                        共有メモリ
３０１〜３０６                        プロセッサエレメント
３０８〜３１３、６０８〜６１３、
１３０３、１３０４                  分散メモリ
４００                                クロックソースポイント抽出処理部
４０１                                第１のクロックドメイン抽出処理部
４０２                                第１のプロセッサエレメント割付処理部
４０３                                第１の遅延計算処理部
４０４                                第１の静的タイミング解析処理部
４０５                                第２のプロセッサエレメント割付処理部
４０６                                第１のクロストーク計算処理部
４０７                                第２の静的タイミング解析処理部
６０１〜６０４                        高速プロセッサエレメント
６０５、６０６                        低速プロセッサエレメント
７０１                                第２のクロックドメイン抽出処理部
７０２                                第３のプロセッサエレメント割付処理部
７０３                                第２の遅延計算処理部
７０４                                第３の静的タイミング解析処理部
７０５                                第４のプロセッサエレメント割付処理部
７０６                                第２のクロストーク計算処理部
７０７                                第４の静的タイミング解析処理部
７０８                                第１のパス優先度設定処理部
７０９                                第２のパス優先度設定処理部
９００、１２００                      半導体集積回路基板
９０１〜９０４                        半導体集積回路内の階層
９１４〜９１８                        インスタンス間配線
１０００                              階層認識処理部
１００１                              階層展開処理部
１００２                              第５のプロセッサエレメント割付処理部
１００３                              第１の遅延・クロストーク計算処理部
１００４                              第５の静的タイミング解析処理部
１００５                              階層組み上げ処理部
１２０３、１２０４                    外部負荷容量
１３０１、１３０２                    空きプロセッサエレメント
１４００                              再計算インスタンス抽出処理部
１４０１                              空きプロセッサエレメント探索処理部
１４０２                              第６のプロセッサエレメント割付処理部
１４０３                              第２の遅延・クロストーク計算処理部
ＣＬＫ＿Ａ、ＣＬＫ＿Ｂ                クロックソースポイント
Ｓ１００                              クロックソースポイント抽出ステップ
Ｓ１０１                              第１のクロックドメイン抽出ステップ
Ｓ１０２                              第１のプロセッサエレメント割付ステップ
Ｓ１０３                              第１の遅延計算ステップ
Ｓ１０４                              第１の静的タイミング解析ステップ
Ｓ１０５                              第２のプロセッサエレメント割付ステップ
Ｓ１０６                              第１のクロストーク計算ステップ
Ｓ１０７                              第２の静的タイミング解析ステップ
Ｓ５０１                              第２のクロックドメイン抽出ステップ
Ｓ５０２                              第３のプロセッサエレメント割付ステップ
Ｓ５０３                              第２の遅延計算ステップ
Ｓ５０４                              第３の静的タイミング解析ステップ
Ｓ５０５                              第４のプロセッサエレメント割付ステップ
Ｓ５０６                              第２のクロストーク計算ステップ
Ｓ５０７                              第４の静的タイミング解析ステップ
Ｓ５０８                              第１のパス優先度設定ステップ
Ｓ５０９                              第２のパス優先度設定ステップ
Ｓ８００                              階層認識ステップ
Ｓ８０１                              階層展開ステップ
Ｓ８０２                              第５のプロセッサエレメント割付ステップ
Ｓ８０３                              第１の遅延・クロストーク計算ステップ
Ｓ８０４                              第５の静的タイミング解析ステップ
Ｓ８０５                              階層組み上げステップ
Ｓ１１００                            再計算インスタンス抽出ステップ
Ｓ１１０１                            空きプロセッサエレメント探索ステップ
Ｓ１１０２                            第６のプロセッサエレメント割付ステップ
Ｓ１１０３                            第２の遅延・クロストーク計算ステップ
【図１】
2007087068.tif 000003
【図２】
2007087068.tif 000004
【図３】
2007087068.tif 000005
【図４】
2007087068.tif 000006
【図５】
2007087068.tif 000007
【図６】
2007087068.tif 000008
【図７】
2007087068.tif 000009
【図８】
2007087068.tif 000010
【図９】
2007087068.tif 000011
【図１０】
2007087068.tif 000012
【図１１】
2007087068.tif 000013
【図１２】
2007087068.tif 000014
【図１３】
2007087068.tif 000015
【図１４】
2007087068.tif 000016
【図１５】
2007087068.tif 000017
【図１６】
2007087068.tif 000018
【図１７】
2007087068.tif 000019