(57)【特許請求の範囲】
【請求項１】
コンピュータが実行する動的再構成デバイスの遅延解析方法において、
前記動的再構成デバイスの回路面の変更を制御するための再構成パスにおける遅延値を、記憶装置から抽出するステップと、
前記再構成パスの遅延値を反映して、前記回路面におけるデータパスの遅延値を算出するステップと
を具備する
遅延解析方法。
【請求項２】
請求項１に記載の遅延解析方法において、
前記動的再構成デバイスは、回路面を変更するための構成情報を出力する格納ユニットと、前記構成情報に応じて構成状態が変更されることでデータパスを形成する構成要素を含み、
前記再構成パスは、前記構成情報格納ユニットから前記構成要素に至る経路である
遅延解析方法。
【請求項３】
請求項２に記載の遅延解析方法において、
前記構成要素及び前記構成情報格納ユニットに共通のクロックソースから、それぞれのクロック端子に至る経路におけるクロック遅延値を、前記記憶装置から抽出するステップを更に具備し、
前記データパスの遅延値を算出するステップは、前記クロックソースから前記構成情報格納ユニットのクロック端子に至る経路におけるクロック遅延を反映して、前記再構成パスにおける遅延値を算出するステップと、前記クロックソースから前記データパスの始点となるクロック端子に至る経路におけるクロック遅延を反映して、前記データパスの遅延値を算出するステップを備える
遅延解析方法。
【請求項４】
請求項２又は３に記載の遅延解析方法において、
前記動的再構成デバイスは、第１回路面から第２回路面に遷移し、
前記動的再構成デバイスが、第１回路面から第２回路面に遷移する際、構成状況が変化しない構成要素を特定するステップと、
前記構成状況が変化しない構成要素への前記再構成パスを、遅延値の計算対象から排除するステップと
を更に具備する
遅延解析方法。
【請求項５】
請求項４に記載の遅延解析方法において、
前記構成状況が変化しない構成要素を特定するステップは、回路面が遷移しても、入力される前記構成情報が変化しない構成パスを、前記構成状況が変化しない構成要素として特定するステップを備える
遅延解析方法。
【請求項６】
請求項１から５のいずれか１項に記載の遅延解析方法において、
前記データパスの遅延値を算出するステップは、
前記再構成パスと前記データパスとを含む有向グラフを作成するステップと、
前記有向グラフの始点から終点に至る経路の最大遅延値を算出するステップと
を備える
遅延解析方法。
【請求項７】
請求項１から５のいずれか１項に記載の遅延解析方法において、
前記データパスの遅延値を算出するステップは、
前記再構成パスと前記データパスとを含む有向グラフを作成するステップと、
前記有向グラフの始点から終点に至る経路の最小遅延値を算出するステップと
を備える
遅延解析方法。
【請求項８】
請求項１から７のいずれか１項に記載の遅延解析方法によって算出された前記データパスの遅延時間と目標遅延時間とを比較するステップと、
前記比較結果に基づいて論理設計を行い、設計データ及び制約情報を変更するステップと、
前記設計データ及び制約情報に基づいて前記動的再構成デバイスの論理合成を行うステップと、
前記論理合成結果に基づいて前記動的再構成デバイスのレイアウトを行うステップと
を具備する
半導体集積回路の設計方法。
【請求項９】
請求項１から７のいずれか１項に記載の遅延解析方法をコンピュータに実行させる遅延解析プログラム。
【請求項１０】
請求項８に記載の設計方法をコンピュータに実行させる設計支援プログラム。
【請求項１１】
複数の回路面のそれぞれにおけるデータパス上の構成要素の遅延値が、回路面毎に対応付けられて記録された遅延情報と、回路面の変更を制御するための再構成パスの遅延値を含む再構成遅延情報とを格納する記憶装置と、
前記遅延情報及び前記再構成遅延情報を用いて、前記再構成パスの遅延値を反映したデータパスの遅延値を算出する遅延解析部と
を具備する
遅延解析装置。
【請求項１２】
請求項１１に記載の遅延解析装置において、
前記動的再構成デバイスは、回路面を変更するための構成情報を出力する格納ユニットと、前記構成情報に応じて構成状態が変更されることでデータパスを形成する構成要素を含み、
前記再構成パスは、前記構成情報格納ユニットから前記構成要素に至る経路である
遅延解析装置。
【請求項１３】
請求項１２に記載の遅延解析装置において、
前記記憶装置は、前記構成要素及び前記構成情報格納ユニットに共通のクロックソースから、それぞれのクロック端子に至る経路におけるクロック遅延値を、更に格納し、
前記遅延解析部は、前記クロック遅延値を用いて、前記クロックソースから前記構成情報格納ユニットのクロック端子に至る経路におけるクロック遅延を反映した前記再構成パスにおける遅延値と、前記クロックソースから前記データパスの始点となるクロック端子に至る経路におけるクロック遅延を反映した前記データパスの遅延値とを算出する
遅延解析装置。
【請求項１４】
請求項１２又は１３に記載の遅延解析装置において、
前記動的再構成デバイスは、第１回路面から第２回路面に遷移し、
前記遅延解析部は、前記動的再構成デバイスが、第１回路面から第２回路面に遷移する際、構成状況が変化しない構成要素を特定し、前記構成状況が変化しない構成要素への前記再構成パスを、遅延値の計算対象から排除する
遅延解析装置。
【請求項１５】
請求項１４に記載の遅延解析装置において、
前記遅延解析部は、回路面が遷移しても、入力される前記構成情報が変化しない構成パスを、前記構成状況が変化しない構成要素として特定する
遅延解析装置。
【請求項１６】
請求項１１から１５のいずれか１項に記載の遅延解析装置において、
前記遅延解析部は、再構成パスと前記データパスとを含む有向グラフを作成し、前記有向グラフの始点から終点に至る経路の最大遅延値を算出する
遅延解析装置。
【請求項１７】
請求項１１から１５のいずれか１項に記載の遅延解析装置において、
前記遅延解析部は、再構成パスと前記データパスとを含む有向グラフを作成し、前記有向グラフの始点から終点に至る経路の最小遅延値を算出する
遅延解析装置。
【請求項１８】
請求項１１から１７のいずれか１項に記載の遅延解析装置と、
前記遅延解析装置によって算出された前記データパスの遅延時間と目標遅延時間との比較結果に基づいて論理設計を行い、設計データ及び制約情報を変更する論理設計部と、
前記設計データ及び制約情報に基づいて前記動的再構成デバイスの論理合成を行う論理合成部と、
前記論理合成部の論理合成結果を用いて前記動的再構成デバイスのレイアウトを行う配置配線部と
を具備する
半導体集積回路の設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の遅延解析方法、遅延解析プログラム、及び遅延解析装置に関し、特に、動的再構成デバイスの遅延解析方法に関する。
【背景技術】
【０００２】
動的再構成デバイスは、例えば製品出荷後に構成情報が設定されることにより、所望の回路構成を実現することができる。又、１サイクルにてデータ処理と同時にコンテキスト（回路面）が切り替わるマルチコンテキスト型の動的再構成デバイス（例えば、ＤＲＰ；Ｄｙｎａｍｉｃａｌｌｙ  Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｐｒｏｃｅｓｓｏｒ）が知られている。動的再構成デバイスでは、実行する処理（タスク）を時間方向に分割し、分割した複数の処理（タスク）のそれぞれを複数のコンテキスト（回路面）のそれぞれに割り当てる。
【０００３】
動的再構成ができない半導体集積回路では、実行する全て処理に必要なゲートをすべて配線で接続しておく必要がある。このため、搭載されるゲート数が増大すると、配線密度が増大するとともに迂回路の増大により信号遅延が多く発生してしまう。一方、マルチコンテキスト型の動的再構成デバイスでは、時分割した処理（タスク）毎に、使用するゲートだけを配線接続している。このため、コンテキスト毎に使用されるゲート数は全体数に比べて少なくなり、無駄な迂回路の使用も排除することができる。又、通常、半導体集積回路では、全回路がフルに動作することは少なく面積効率が悪いが、動的再構成デバイスでは処理を時分割実行しているため面積効率が改善される。このように、マルチコンテキスト型の動的再構成デバイスでは、コンテキスト（回路面）毎のゲート数、配線密度、及び迂回路数を低減できるため、回路規模を大きくしても遅延時間の増大を抑制することが可能となる。すなわち、マルチコンテキスト型の動的再構成デバイスは、回路規模を増大しつつ高速化を実現することができる。
【０００４】
マルチコンテキスト型の動的再構成デバイスの設計にあたり、コンテキスト毎の遅延時間を計算することは重要である。図１から図７を参照して、現在、広く普及しているＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）といったプログラマブルデバイス（再構成デバイス）の遅延解析手法の一例を説明する。
【０００５】
図１は、従来技術による動的再構成デバイスの遅延計算装置２０の構成の一例を示した図である。遅延解析部２３は、配置配線済回路情報２１及び遅延情報２２に基づいて遅延解析を実行し、解析対象回路における遅延時間を計算する。計算結果は遅延解析情報２４として記憶装置に記録される。ここで、配置配線済回路情報２１は、解析対象の再構成デバイスに配置配線された回路要素の接続情報を有する。又、遅延情報２２は、配置配線回路情報２１の各要素に対応した遅延値情報を有する。
【０００６】
図２は、遅延解析対象となる再構成デバイスの構成例を示す図である。図２に示す再構成デバイスには、機能ブロック３１０、配線３２０、スイッチ３３０を有した論理エレメント３００がアレイ状に配列される。
【０００７】
図３は、再構成デバイスに搭載されるスイッチ３３０の構成の一例を示す図である。図３（ａ）に示すスイッチ３３０は、ゲートに入力される構成情報によってソース−ドレイン間の接続が制御されることで、２つのノード間の接続（オンオフ）を制御するトランジスタスイッチである。あるいは、図３（ｂ）に示すスイッチ３３０は、ゲートに入力される構成情報によってソース−ドレイン間の接続が制御されることで、交差する２つの配線間の接続を制御するトランジスタスイッチである。スイッチ３３０は、図３に示すスイッチに限らず、他の機構によるスイッチ（例えばトランスファゲート）も利用され得る。またスイッチ３３０は、２つのノード間のオンオフを制御するのではなく、構成情報が選択信号となり、複数の入力信号から１つの出力信号を選択するマルチプレクサ構成でもよい。
【０００８】
図４は、再構成デバイスに搭載される機能ブロック３１０の構成の一例を示す図である。図４に示す機能ブロック３１０は、入力端子３１１、３１２、出力端子３１３、演算器３１４、配線３１５、レジスタ３１６、マルチプレクサ３１７を備える。マルチプレクサ３１７は、図示しない選択信号（構成情報）が“１”のときにレジスタ３１６に格納されたデータ信号を出力端子３１３に出力し、選択信号（構成情報）が“０”のときに演算器３１４の出力信号を出力端子３１３に出力する。演算器３１４は２入力の信号に対して論理算術を実行し、その結果を、配線３１５を介してレジスタ３１６及びマルチプレクサ３１７に出力する。演算器３１４の論理計算機能は、ルックアップテーブルで実現されることが好適である。
【０００９】
図５は、遅延解析対象となる配線経路の一例を示す図である。図示しない構成情報によって、スイッチ３３０のオンオフが制御されるとともに、機能ブロック３１０が制御される。これにより、図５に示す配線経路が論理エレメントアレイ上に形成される。図５では、図２に示す構成のうち、配線経路上の構成に対して新たな符号が付されるが、実質的な構成は変わらないものとする。例えば、スイッチ５０６、５０８、・・・等は、スイッチ３３０を示す。又、同様な構成が複数あり、それぞれを区別して説明する場合、それぞれの符号に追番を付して説明する。
【００１０】
図５を参照して、機能ブロック３１０−１内のマルチプレクサ５０３の選択信号が“１”となり、スイッチ５０６、スイッチ５０８、スイッチ５１０、スイッチ５１２がオンとなる。これにより、機能ブロック３１０−１内のレジスタ５０１のクロック端子５３１が、配線５０２、マルチプレクサ５０３、配線５０４、５０５、スイッチ５０６、配線５０７、スイッチ５０８、配線５０９、スイッチ５１０、配線５１１、スイッチ５１２、配線５１３、配線５１４を介して、機能ブロック３１０−４の入力端子３１１に接続される。又、機能ブロック３１０−３内のマルチプレクサ５１８の選択信号が“１”となり、スイッチ５２１、スイッチ５２３、スイッチ５２５がオンとなる。これにより、機能ブロック３１０−３内のレジスタ５１６のクロック端子５３２が、配線５１７、マルチプレクサ５１８、配線５１９、５２０、スイッチ５２１、配線５２２、スイッチ５２３、配線５２４、スイッチ５２５、配線５２６を介して、機能ブロック３１０−４の入力端子３１２に接続される。配線５１４からの入力は、機能ブロック３１０−４における演算器３１４の内部回路５１５、配線５２９、レジスタ５３０を介してレジスタのクロック端子５３３に至る。同様に、配線５２７からの入力は、機能ブロック３１０−４における演算器３１４の内部回路５２８、配線５２９、レジスタ５３０を介してレジスタのクロック端子５３３に至る。すなわち、機能ブロック３１０−４内の演算器３１４は、外部装置から与えられた命令（図示なし）に基づいて、２つの入力信号に対して当該命令に応じた算術結果をレジスタに出力する。以上のような動作により、機能ブロック３１０−１内のレジスタのクロック端子５３１、及び機能ブロック３１０−３内のレジスタのクロック端子５３２を始点とし、機能ブロック３１０−４内のレジスタのクロック端子５３３を終点とする経路が形成される。
【００１１】
図６は、図５に示した配線経路に関する情報を有向グラフで表した図である。図６では、図５における配線経路を形成する構成のうち、マルチプレクサ、演算器及びレジスタのそれぞれの端子と機能ブロックの境界における端子、及びスイッチ端子をノードで表現し、これらの端子間配線（又は端子間の内部回路）を枝で表現している。ここで有向グラフは配置配線済回路情報２１と等価な情報である。即ち、配置配線済回路情報２１から有向グラフが形成可能である。
【００１２】
図７は、図５に示す配線経路における各構成要素の遅延情報２２の一例を示す図である。遅延情報２２には、配線経路における構成要素のタイプ（要素種別２２１）、インスタンス名２２２、遅延値２２３が当該構成要素毎に対応付けられて記録される。ここでは、一例として配線経路の構成要素がレジスタ（Ｒｅｇ）、マルチプレクサ（Ｍｕｘ）、演算器（Ａｌｕ）、スイッチ（Ｓｗ）、配線（Ｗｉｒｅ）の５種類のタイプ（要素種別２２１）に分類されて定義され、構成要素に対応するユニークな名前（インスタンス名２２２）、及びこれに対応する遅延値２２３が定義されている。
【００１３】
ここで、図７に示す遅延要素は、図５に示した配線経路に対応している。遅延要素のインスタンス名２２２“ｎａｍｅ”は、図５に示す配線経路の各要素の符号の頭に、レジスタであれば“Ｒ”、マルチプレクサであれば“Ｍ”、配線であれば“Ｗ”、スイッチであれば“Ｓ”、演算器であれば“Ａ”が付加されて表現される。例えばレジスタ５０１のインスタンス名２２２は“Ｒ５０１”と表現される。
【００１４】
次に、遅延解析部２３における遅延解析の具体的な例を説明する。
【００１５】
図８は、図６に示した有向グラフの枝に、図７に示した遅延値を割り当てた有向グラフを示した図である。有向グラフを用いた遅延解析手法は多く存在するが、ここでは基本的な遅延計算手法を説明する。遅延解析部２３は、初期条件として、グラフ内で枝に対し始点側のノードにしかならない全てのノードに“０”をラベリングする。ここでは、クロック端子５０１、５３２に対応するノードＰ５０１、Ｐ５３２に“０”がラベリングされる。続いて遅延解析部２３は、グラフ内のノードにおいて、以下に示す式（１）の計算を行う。
【数１】
0005658077.tif 000002
【００１６】
式（１）では、終点側ノードｊに対し、始点側のノードｉにラベリングされた遅延値（ノードｉにおける“Ａｒｒｉｖａｌ＿Ｔｉｍｅ（ｉ）”）に、ノードｉからノードｊへ接続する枝の遅延値“ｄｅｌａｙ（ｉ，ｊ）”が加算される。遅延解析部２３は、この計算を接続する全ての始点ノードに対して行い、その最大値をノードｊのＡｒｒｉｖａｌ＿Ｔｉｍｅ（ｊ）とし、ノードｊにラベリングする。このとき、始点側のノードの全てがラベリングされていることが必要条件となる。遅延値がラベリングされていない始点側ノードがある場合、遅延解析部２３は、当該始点側ノードを終点側ノードとして、式（１）による同様の計算を実行し、遅延値をラベリングする。グラフ内の全てのノードに遅延値をラベリングするように式（１）による計算を繰り返すことで、各ノードに対する最大遅延が求まる。図９は、図８に示すグラフの各ノードに最大遅延値をラベリングしたグラフの一例を示す図である。図９に示す一例では、有向グラフの終点ノード“Ｐ５３３”に最大遅延値“３１”が割り当てられ、この値がクリティカルパスの遅延値となる。遅延解析部２３は、算出したクリティカルパスの遅延値を遅延解析情報２４として記録する。
【００１７】
以上ように、再構成後の配線経路における最大遅延時間を計算することができる。例えば、特開２００９−１４７５３９には、動的再構成デバイスにおける最大遅延時間を算出する技術が記載されている（特許文献１参照）。特許文献１に記載のシステムは、コンテキストによって変化する出力遅延時間を、動的再構成回路毎の全コンテキストに対して定義している。又、当該システムは、基準点からＦＦまでに経由する回路名と経由回路に至るクロック信号の到達遅延時間をＦＦ毎に保持している。このため、特許文献１に記載のシステムは、クロック信号の到達遅延時間を考慮したコンテキスト毎の配線経路における最大遅延時間を算出することができる。
【００１８】
再構成デバイスに対する遅延解析の詳細は、例えば“ＡＲＣＨＩＴＥＣＴＵＲＥ  ＡＮＤ  ＣＡＤ  ＦＯＲ  ＤＥＥＰ−ＳＵＢＭＩＣＲＯＮ  ＦＰＧＡｓ”に記載されている（非特許文献１参照）。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特開２００９−１４７５３９
【非特許文献】
【００２０】
【非特許文献１】Ｖａｕｇｈｎ  Ｂｅｔｚ  ｅｔ  ａｌ著“ＡＲＣＨＩＴＥＣＴＵＲＥ  ＡＮＤ  ＣＡＤ  ＦＯＲ  ＤＥＥＰ−ＳＵＢＭＩＣＲＯＮ  ＦＰＧＡｓ”、１９９９年２月、Ｐ２９−Ｐ３５
【発明の概要】
【発明が解決しようとする課題】
【００２１】
特許文献１のように、コンテキスト毎の配線経路における最大遅延時間を、クロック遅延を考慮して計算することで、遅延解析の解析精度を向上することができる。一方、近年、アプリケーションの高度化に伴い、マルチコンテキスト型の動的再構成デバイスにおいても高速動作が求められ、より精度の高い遅延計算システムが求められている。
【００２２】
しかし、上述の方法では、構成（回路面）の遷移に要する時間（構成遷移時間）を考慮して遅延解析が行われていないため、高速で構成が切り替わる動的再構成デバイスの場合、最大遅延値の計算値と動作時における最大遅延値との誤差が大きくなる可能性がある。特に、１サイクルにてデータ処理と同時にコンテキスト（回路面）を切り替えることができるマルチコンテキスト型の再構成デバイスでは、クリティカルパスの遅延を過小評価してしまう可能性がある。
【課題を解決するための手段】
【００２３】
上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、［特許請求の範囲］の記載と［発明を実施するための形態］の記載との対応関係を明らかにするために、［発明を実施するための形態］で使用される番号・符号が付加されている。ただし、付加された番号・符号は、［特許請求の範囲］に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。
【００２４】
以下では、再構成パスと区別するため、回路面上における配線経路（論理エレメントアレイ上に形成された回路）を、データパスと定義する。
【００２５】
本発明による一の態様に係る遅延解析方法は、コンピュータが実行する動的再構成デバイスの遅延解析方法である。その方法は、動的再構成デバイスの回路面の変更を制御するための再構成パスにおける遅延値を、記憶装置から抽出するステップと、再構成パスの遅延値を考慮して、回路面におけるデータパスの遅延値を算出するステップとを具備する。
【００２６】
上述の遅延解析方法は、遅延解析プログラムをコンピュータで実行することで実現されることが好ましい。
【００２７】
又、本発明による他の態様に係る設計方法は、上述の遅延解析方法によって算出されたデータパスの遅延時間と目標遅延時間とを比較するステップと、この比較結果に基づいて論理設計を行い、設計データ及び制約情報を変更するステップと、設計データ及び制約情報に基づいて動的再構成デバイスの論理合成を行うステップと、論理合成結果に基づいて動的再構成デバイスのレイアウトを行うステップとを具備する。
【００２８】
上述の設計方法は、設計支援プログラムをコンピュータで実行することで実現されることが好ましい。
【００２９】
更に、本発明による他の態様に係る遅延解析装置は、複数の回路面のそれぞれにおけるデータパス上の構成要素の遅延値が、回路面毎に対応付けられて記録された遅延情報と、回路面の変更を制御するための再構成パスの遅延値を含む再構成遅延情報とを格納する記憶装置と、記憶装置内の遅延情報及び再構成遅延情報を用いて、再構成パスの遅延値を考慮したデータパスの遅延値を算出する遅延解析部とを具備する。
【発明の効果】
【００３０】
本発明によれば、動的再構成デバイスの遅延解析の精度を高めることができる。
【図面の簡単な説明】
【００３１】
【図１】図１は、従来技術による動的再構成デバイスの遅延計算装置の構成の一例を示した図である。
【図２】図２は、遅延解析対象となる再構成デバイスの構成例を示す図である。
【図３】図３は、再構成デバイスに搭載されるスイッチの構成の一例を示す図である。
【図４】図４は、再構成デバイスに搭載される機能ブロックの構成の一例を示す図である。
【図５】図５は、遅延解析対象となる配線経路の一例を示す図である。
【図６】図６は、図５に示した配線経路に関する情報を有向グラフで表した図である。
【図７】図７は、図５に示す配線経路における各構成要素の遅延情報の一例を示す図である。
【図８】図８は、図６に示した有向グラフの枝に、図７に示した遅延値を割り当てた有向グラフを示した図である。
【図９】図９は、図８に示すグラフの各ノードに最大遅延値をラベリングしたグラフの一例を示す図である。
【図１０】図１０は、本発明による遅延解析装置の第１の実施の形態における構成図である。
【図１１】図１１は、本発明による遅延解析装置の解析対象となる動的再構成デバイス１の構成例を示す図である。
【図１２】図１２は、本発明による遅延解析対象回路となる論理エレメント群の構成例を示す図である。
【図１３】図１３は、本発明に係る論理エレメント内における構成情報格納ユニットの構成の一例を示す図である。
【図１４】図１４は、本発明に係る機能ブロックに対する再構成パスの一例を示す図である。
【図１５】図１５は、本発明に係るスイッチに対する再構成パスの一例を示す図である。
【図１６】図１６は、回路面“１”において解析対象となるデータパスの構成例を示す図である。
【図１７】図１７は、回路面“２”において解析対象となるデータパスの構成例を示す図である。
【図１８】図１８は、第１の実施の形態における動的再構成デバイスの回路面の遷移動作を示すタイミングチャートである。
【図１９】図１９は、図１７に示した回路面“２”の配置配線済回路情報を有向グラフで表した図である。
【図２０】図２０は、図１７に示す配線経路に対する遅延情報の一例を示す図である。
【図２１】図２１は、図１７に示す配線経路における各構成要素の再構成遅延情報の一例を示す図である。
【図２２】図２２は、図１９に示す有向グラフの枝に遅延値及び再構成パス遅延値を割当てた有向グラフの一例を示す図である。
【図２３】図２３は、図２２に示す有向グラフの各ノードに対する最大遅延値をラベリングした有向グラフの一例を示す図である。
【図２４】図２４は、本発明による遅延解析装置の第２の実施の形態における構成図である。
【図２５】図２５は、図１６に示した論理エレメントアレイ上に形成され、遅延解析対象となるクロックパスの一例を示す図である。
【図２６】図２６は、図２５に示すクロックパスに対するクロック遅延情報の一例を示す図である。
【図２７】図２７は、図２５に示したクロックパスの配置配線済回路情報を有向グラフで表した図である。
【図２８】図２８は、遅延解析対象パスの有向グラフにおける各ノードに対する最大遅延値をラベリングした有向グラフの一例を示す図である。
【図２９】図２９は、図２７に示す有向グラフにより得られた最大遅延値から終点ノードにおけるクロック遅延を減算補正する場合の補正例を示す図である。
【図３０】図３０は、本発明による遅延解析装置の第３の実施の形態における構成図である。
【図３１】図３１は、本発明に係る状態遷移情報の一例を示す図である。
【図３２】図３２は、状態変化しない構成要素への再構成パスを遅延対象から排除したときの有向グラフの一例を示す図である。
【図３３】図３３は、図３２に示す有向グラフの各ノードに対する最大遅延値をラベリングしたグラフの一例を示す図である。
【図３４Ａ】図３４Ａは、本発明に係る設計支援装置の構成の一例を示す図である。
【図３４Ｂ】図３４Ｂは、本発明に係る設計支援装置の構成の一例を示す図である。
【発明を実施するための形態】
【００３２】
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示している。
【００３３】
以下、添付図面を参照して、本発明による半導体集積回路の遅延解析方法、遅延解析プログラム、遅延解析装置の実施の形態を説明する。本実施の形態では、マルチコンテキスト型動的再構成デバイス（例えばＤＲＰ）の解析又は設計を行う半導体集積回路遅延解析装置を一例に説明する。
【００３４】
１．第１の実施の形態
図１０から図２３を参照して、第１の実施の形態における半導体集積回路遅延解析装置１０（以下、遅延解析装置１０と称す）及び遅延解析方法を説明する。
【００３５】
（遅延解析装置の構成）
図１０は、本発明による遅延解析装置１０の第１の実施の形態における構成図である。遅延解析装置１０は、バスを介して相互に接続されるＣＰＵ、ＲＡＭ、記憶装置、入力装置、出力装置を具備する（図示なし）。記憶装置はハードディスクやメモリ等に例示される外部記憶装置である。又、入力装置は、キーボードやマウス等のユーザによって操作されることで、各種データをＣＰＵや記憶装置に出力する。出力装置は、モニタやプリンタに例示され、ＣＰＵから出力される解析結果をユーザに対し視認可能に出力する。
【００３６】
図１０を参照して、遅延解析装置１０は、図示しない記憶装置に記録された配置配線済回路情報１１、遅延情報１２、及び再構成遅延情報１３を保持する。配置配線済回路情報１１は、再構成デバイス１に配置配線されたコンテキスト（回路面）毎の回路情報を含む。詳細には、再構成デバイスに搭載された回路要素のうち、回路面毎に構成されるデータパスや、回路面の変更を制御するための再構成パスを形成する構成（構成情報格納ユニット、論理回路、レジスタ、スイッチ、配線等）の接続状況が、回路面に対応付けられて配置配線済回路情報１１として記録される。遅延情報１２は、配置配線済回路情報１１の各要素における遅延時間を有する。再構成遅延情報１３は、コンテキスト（回路面）の変更に要する時間、すなわち、再構成パスの遅延時間を有する。ここで、再構成パスは、後述する構成情報格納ユニット１１０から、状態遷移時の制御先となる論理回路やスイッチまでの経路を示す。遅延情報１２や再構成遅延情報１３の詳細は後述する。
【００３７】
又、図示しない記憶装置に記録された解析プログラムがＣＰＵにおいて実行されることで、遅延解析部１４の機能が実現される。遅延解析部１４は、配置配線済回路情報１１から解析対象となる回路面を特定し、当該回路面における最大遅延時間を算出する。この際、遅延解析部１４は、遅延情報１２及び再構成遅延情報１３に基づいて回路面におけるクリティカルパスの遅延時間を当該回路面における最大遅延時間として算出する。算出された最大遅延時間は、クリティカルパスや解析対象となったコンテキスト（回路面）に対応付けられて遅延解析情報１５として記録される。
【００３８】
（解析対象回路の構成）
図１１は、本発明による遅延解析装置１０の解析対象となる動的再構成デバイス１の構成例を示す図である。図１１を参照して、本発明に係る動的再構成デバイス１は、チップ上にアレイ状に配列された複数の論理エレメント１００（ＰＥ；Ｐｒｏｃｅｓｓｉｎｇ  Ｅｌｅｍｅｎｔ）、状態遷移コントローラ１０１（ＳＴＣ；Ｓｔａｔｅ  Ｔｒａｎｓｉｔｉｏｎ  Ｃｏｎｔｒｏｌｌｅｒ）、メモリ１０２、１０４（ＨＭＥＭ、ＶＭＥＭ）を具備する。
【００３９】
状態遷移コントローラ１０１は、内部にメモリ等の記憶装置を具備し、この記憶装置に状態遷移情報(コンテキストの遷移情報)を格納し、コンテキストに従う構成番号２００を出力することで、複数の論理エレメント１００によって形成される回路面を、当該コンテキストに対応する回路面に変更する（状態遷移）。メモリ１０２、１０４は、回路面を形成する論理エレメント１００への入力データ、又は回路面を形成する論理エレメント１００による演算結果が格納される。
【００４０】
図１２は、本発明による遅延解析対象回路となる論理エレメント群の構成例を示す図である。図１２を参照して、論理エレメント１００は、機能ブロック３１０、配線３２０、スイッチ３３０に加えて構成情報格納ユニット１１０を備える。構成情報格納ユニット１１０と機能ブロック３１０及びスイッチ３３０とは、図示しない再構成パスによって接続される。機能ブロック３１０の機能及びスイッチ３３０の選択動作は、構成情報格納ユニット１１０から出力され、再構成パスを介して入力される構成情報２０１に応じて制御される。これによりデータパスが変更され、再構成デバイス１の回路面が変更される。
【００４１】
図１３は、論理エレメント１００内における構成情報格納ユニット１１０の構成の一例を示す図である。構成情報格納ユニット１１０は複数のメモリ１１１を有し、複数のメモリ１１１の各番地には、機能ブロック３１０やスイッチ３３０に対する制御信号となる構成情報２０１が格納される。構成情報格納ユニット１１０は、状態遷移コントローラ１０１から入力される構成番号２００に対応する番地のメモリ１１１から構成情報２０１を読み出し、機能ブロック３１０及びスイッチ３３０に出力する。機能ブロック３１０の機能、及びスイッチ３３０のオンオフが構成情報２０１に従って制御されることにより、構成番号２００に対応するデータパスが形成される。これにより、コンテキストに対応する構成番号２００に従って、動的再構成デバイス１上の回路面が形成されることとなる。
【００４２】
本発明に係る動的再構成デバイス１は、機能ブロック３１０やスイッチ３３０が構成情報２０１により制御されてから、次サイクル以降で回路面に形成されたデータパスの処理を実行するのではなく、１サイクル内で、構成情報２０１を与えながら回路面に形成されるデータパスの処理を同時に実行する。このとき、構成情報格納ユニット１１０が、機能ブロック３１０やスイッチ３３０に構成情報２０１を設定する場合、構成情報格納ユニット１１０と、機能ブロック３１０やスイッチ３３０との間における経路（再構成パス）において遅延が発生する。このため、回路面変更後における処理時間は、回路面におけるデータパスの遅延時間のみならず、再構成パスにおける遅延時間を考慮する必要がある。本発明による遅延解析装置１０は、再構成パスの遅延時間を考慮したデータパスの最大遅延時間を計算することで、精度の高い回路面毎の処理時間を解析することができる。
【００４３】
図１４及び図１５を参照して、再構成パスの詳細を説明する。図１４は、機能ブロック３１０に対する再構成パスの一例を示す図である。機能ブロック３１０は、入力端子３１１、３１２、出力端子３１３、演算器３１４、配線３１５、レジスタ３１６、マルチプレクサ３１７を備える。マルチプレクサ３１７は、構成情報２０１が“１”のときにレジスタ３１６に格納されたデータ信号を出力端子３１３に出力し、構成情報２０１が“０”のときに演算器３１４の出力信号を出力端子３１３に出力する。演算器３１４は２入力の信号に対して論理算術を実行し、その結果を、配線３１５を介してレジスタ３１６及びマルチプレクサ３１７に出力する。
【００４４】
図１４を参照して、機能ブロック３１０に対する再構成パスは、構成情報格納ユニット１１０から演算器３１４までの経路、及び構成情報格納ユニット１１０からマルチプレクサ３１７までの経路である。詳細には、構成情報格納ユニット１１０のクロック端子４０１から演算器３１４の出力端子４０２までの経路Ｃ１が、演算器３１４に対する再構成パスとなり、構成情報格納ユニット１１０のクロック端子４０１からマルチプレクサ３１７の出力端子４０３までの経路Ｃ２が、マルチプレクサ３１７に対する再構成パスとなる。
【００４５】
一方、図１５を参照して、スイッチ３３０に対する再構成パスは、構成情報格納ユニット１１０のクロック端子４０１からスイッチ３３０におけるデータパスの終点側端子４０４までの経路Ｃ３が、スイッチ３３０に対する再構成パスとなる。
【００４６】
次に、図１６から図１８を参照して、遅延解析部１４における遅延解析対象となるデータパスの具体例を説明する。本一例では、説明の簡単化のため、図１１における領域Ａにおけるデータパスを遅延解析対象として説明するが、解析対象となるデータパスは更に広い範囲の論理エレメント１００間を介したパスであってもよい。又、本一例の動的再構成デバイス１では、図１６に示す回路面“１”と図１７に示す回路面“２”とがクロックに応じて交互に遷移するものとする。図１６及び図１７では、図１２に示す構成のうち、配線経路上の構成に対して新たな符号が付されるが、実質的な構成は変わらないものとする。例えば、スイッチ６０６、６０８、・・・等は、スイッチ３３０を示す。又、同様な構成が複数あり、それぞれを区別して説明する場合、それぞれの符号に追番を付して説明する。
【００４７】
図１６は、回路面“１”において解析対象となるデータパスの構成例を示す図である。構成情報格納ユニット１１０からの回路面“１”を示す構成情報２０１によって、スイッチ３３０のオンオフが制御されるとともに、機能ブロック３１０の機能が変更される。これにより、図１６に示すデータパスが論理エレメントアレイ上に形成される。
【００４８】
図１６を参照して、機能ブロック３１０−１内のマルチプレクサ６０３の選択信号が“１”となり、スイッチ６０６、スイッチ６０８、スイッチ６３２がオンとなる。これにより、機能ブロック３１０−１内のレジスタ６０１のクロック端子６４１が、レジスタ６０１、配線６０２、マルチプレクサ６０３、配線６０４、６０５、スイッチ６０６、配線６０７、スイッチ６０８、配線６３１、スイッチ６３２、配線６３３を介して、機能ブロック３１０−２の入力端子３１２に接続される。ここで、機能ブロック３１０−２内の演算器６３４は、構成情報格納ユニット１１０から与えられた命令に従って、配線６３３からの入力信号を演算し、演算結果を、配線６３５を介してレジスタ６３６に出力する。
【００４９】
以上のような動作により、機能ブロック３１０−１内におけるレジスタ６０１のクロック端子６４１を始点とし、レジスタ６３６を終点とするデータパスが形成される。従って、回路面“１”に対する遅延解析では、レジスタ６０１のクロック端子６４１を始点とし、レジスタ６３６のクロック端子６４２を終点とする配線経路Ｂ１が、データパスの遅延解析対象となる。
【００５０】
図１７は、回路面“２”において解析対象となるデータパスの構成例を示す図である。構成情報格納ユニット１１０からの回路面“２”を示す構成情報２０１によって、スイッチ３３０のオンオフが制御されるとともに、機能ブロック３１０の機能が変更される。これにより、図１７に示すデータパスが論理エレメントアレイ上に形成される。
【００５１】
図１７を参照して、機能ブロック３１０−１内のマルチプレクサ６０３の選択信号が“１”となり、スイッチ６０６、スイッチ６０８、スイッチ６１０、スイッチ６１２がオンとなる。これにより、機能ブロック３１０−１内のレジスタ６０１のクロック端子６４１が、レジスタ６０１、配線６０２、マルチプレクサ６０３、配線６０４、６０５、スイッチ６０６、配線６０７、スイッチ６０８、配線６０９、スイッチ６１０、配線６１１、スイッチ６１２、配線６１３、配線６１４を介して、機能ブロック３１０−４の入力端子３１１に接続される。又、機能ブロック３１０−３内のマルチプレクサ６１８の選択信号が“１”となり、スイッチ６２１、スイッチ６２３、スイッチ６２５がオンとなる。これにより、機能ブロック３１０−３内のレジスタ６１６のクロック端子６４３が、レジスタ６１６、配線６１７、マルチプレクサ６１８、配線６１９、６２０、スイッチ６２１、配線６２２、スイッチ６２３、配線６２４、スイッチ６２５、配線６２６を介して、機能ブロック３１０−４の入力端子３１２に接続される。ここで、機能ブロック３１０−４内の演算器内の内部回路６１５、６２８は、構成情報格納ユニット１１０から与えられた命令に従って、配線６１４、６２７からの２つの入力信号を演算し、演算結果を、配線６２９を介してレジスタ６３０に出力する。
【００５２】
以上のような動作により、機能ブロック３１０−１内におけるレジスタ６０１のクロック端子６４１を始点とし、演算器内の内部回路６１５を介して機能ブロック３１０−４内におけるレジスタ６３０に至るデータパスと、機能ブロック３１０−３内におけるレジスタ６１６のクロック端子６４３を始点とし、演算器内の内部回路６２８を介して機能ブロック３１０−４内におけるレジスタ６３０に至るデータパスとが形成される。従って、回路面“２”に対する遅延解析では、レジスタ６０１のクロック端子６４１を始点とし、演算器内の内部回路６１５を介してレジスタ６３０のクロック端子６４４を終点とする配線経路Ｂ２と、レジスタ６１６のクロック端子６４３を始点とし、演算器内の内部回路６２８を介してレジスタ６３０のクロック端子６４４を終点とする配線経路Ｂ３が、データパスの遅延解析対象となる。
【００５３】
本発明による動的再構成デバイス１は、回路の動作中に回路面がクロックに同期して遷移するマルチコンテキスト型の動的再構成デバイスである。第１の実施の形態における動的再構成デバイス１は、一例として１サイクル毎に回路面“１”と回路面“２”が交互に遷移する。図１８は、第１の実施の形態における動的再構成デバイス１の回路面の遷移動作を示すタイミングチャートである。図１８を参照して、本実施の形態における状態遷移コントローラ１０１から出力される構成番号２００は、１サイクル“Ｃ”毎に構成番号“１”と構成番号“２”が切替えられる。論理エレメント１００内の構成情報格納ユニット１１０は、クロックに同期して構成番号２００に対応する構成情報２０１を読み出し、機能ブロック３１０やスイッチ３３０に出力する。このため、構成情報２０１は、構成番号２００に対して１サイクル“Ｃ”だけ遅れて出力されることとなる。例えば、構成番号“１”と構成番号“２”が交互に遷移した場合、構成情報“１”と構成情報“２”は、構成番号２００に対し１サイクル“Ｃ”だけ遅れて、交互に機能ブロック３１０、スイッチ３３０に出力されることとなる。
【００５４】
本実施例において、回路面におけるクリティカルパスの遅延値（最大遅延値）を求めるには、回路面“１”、“２”における最大遅延値ｄ１、ｄ２をそれぞれ求め、より大きい遅延値を採用すればよい。本発明による遅延解析では、再構成パスの遅延値を考慮して回路面における最大遅延値ｄ１、ｄ２が計算される。
【００５５】
図１９は、図１７に示した回路面“２”の配置配線済回路情報１１を有向グラフで表した図である。図１９に示す有向グラフでは、図１７における配線経路Ｂ２、Ｂ３を形成する構成のうち、マルチプレクサ、演算器及びレジスタのそれぞれの端子と機能ブロックの境界における端子、及びスイッチ端子をノードで表現し、これらの端子間配線（又は端子間の内部回路）を枝で表現している。又、図１９に示す有向グラフでは、配線経路Ｂ２、Ｂ３上の構成に対して構成情報２０１を出力する構成情報格納ユニット１１０もノードで表現し、当該ユニットと当該構成との間の配線と、当該構成との間の再構成パスを枝で表現している。ここで有向グラフは配置配線済回路情報１１と等価な情報である。即ち、配置配線済回路情報１１から有向グラフが形成可能である。
【００５６】
ここで、図１９に示すノード及び枝は、図１７に示した構成に対応し、それぞれの符号は、図１７に示す構成の符号の頭に、レジスタであれば“Ｒ”、マルチプレクサであれば“Ｍ”、配線であれば“Ｗ”、スイッチであれば“Ｓ”、演算器であれば“Ａ”、マルチプレクサへの再構成パスであれば“Ｒ＿Ｍ”、配線への再構成パスであれば“Ｒ＿Ｓ”、演算器への再構成パスであれば“Ｒ＿Ａ”、クロック端子であれば“Ｐ”が付加されて表現される。例えばレジスタ５０１の符号は“Ｒ５０１”と表現される。
【００５７】
図２０は、図１７に示す配線経路に対する遅延情報１２の一例を示す図である。遅延情報１２には、データパス上の構成要素による遅延値が、当該構成要素に対応付けられて記録される。詳細には、遅延情報１２には、配線経路における構成要素のタイプ（要素種別１２１）、インスタンス名１２２、遅延値１２３が当該構成要素毎に対応付けられて記録される。ここでは、一例として配線経路の構成要素がマルチプレクサ（Ｍｕｘ）、演算器（Ａｌｕ）、スイッチ（Ｓｗ）、配線（Ｗｉｒｅ）の５種類のタイプ（要素種別１２１）に分類されて定義され、構成要素に対応するユニークな名前（インスタンス名１２２）、及びこれに対応する遅延値１２３が定義されている。
【００５８】
図２１は、図１７に示す配線経路における各構成要素の再構成遅延情報１３の一例を示す図である。再構成遅延情報１３には、再構成パス毎の遅延値が記録される。詳細には、再構成遅延情報１３には、構成情報格納ユニット１１０の制御先となる構成要素のタイプ（制御対象要素種別１３１）、インスタンス名１３２、再構成パス遅延値１３３が当該構成要素毎に対応付けられて記録される。ここでは、一例として制御対象となる構成要素が、マルチプレクサ（Ｍｕｘ）、演算器（Ａｌｕ）、スイッチ（Ｓｗ）の３種類のタイプ（制御対象要素種別１３１）に分類されて定義され、構成要素に対応するユニークな名前（インスタンス名１３２）、及びこれに対する再構成パスの遅延値（再構成パス遅延値１３３）が定義されている。尚、制御対象要素種別１３１は、再構成パスを特定できれば上述の一例に限らず、再構成パスを特定する識別子（例えば、構成パスを特定するインスタンス名）でも構わない。
【００５９】
尚、図２０及び図２１に示すインスタンス名１２２、１３２は、図１９に示す有向グラフにおける枝に付された符号に対応し、インスタンス名１２２、１３２に一致する符号は、当該インスタンス名１２２、１３２に対応する構成要素を示すものとする。
【００６０】
遅延情報１２と再構成遅延情報１３とは、回路面に対して紐付けられて記録されることが好ましい。例えば、回路面“１”のデータパス上の構成と再構成パス上の構成のそれぞれ遅延値が紐付けられて記録される。これにより、回路面“１”を指定することで、当該回路面“１”の有向グラフ上に遅延値１２３及び再構成パス遅延値１３３を容易に付加することができる。
【００６１】
（遅延解析方法）
図１９から図２３を参照して、第１の実施の形態における遅延解析部１４による遅延解析の具体例を説明する。以下では、図１７に示す回路面“２”におけるクリティカルパスの遅延値の計算方法の具体例を説明する。尚、回路面“１”におけるクリティカルパスの遅延値も同様の手法で求まるため、この説明は省略する。
【００６２】
遅延解析部１４は、配置配線済回路情報１１から回路面“２”に対応する有向グラフを作成する。ここでは図１９に示す有向グラフが作成される。本発明では、回路面“２”におけるデータパスのみならず、当該データパス上の構成要素を制御するための再構成パス“Ｒ＿Ｍ６０３”、“Ｒ＿Ｍ６０６”、“Ｒ＿Ｍ６０８”、“Ｒ＿Ｍ６１０”、“Ｒ＿Ｍ６１２”、“Ｒ＿Ｍ６１８”、“Ｒ＿Ｍ６２１”、“Ｒ＿Ｍ６２３”、“Ｒ＿Ｍ６２５”、“Ｒ＿Ｍ６２７”及びその始点となるノード“Ｐ６４５”〜“Ｐ６４８”も有向グラフに追加される。次に、遅延解析部１４は、遅延情報１２及び再構成遅延情報１３に基づいて有向グラフの枝に遅延値を付与する。ここでは、遅延解析部１４は、図１９に示した有向グラフの枝に、図２０に示した遅延値１２３と図２１に示した再構成パス遅延値１３３を割り当て、図２２に示す有向グラフを得る。更に、遅延解析部１４は、図２２に示す有向グラフにおける全てのノードに遅延値をラベリングすることで、回路面“２”におけるデータパスの最大遅延値を算出する。詳細には、先ず遅延解析部１４は、初期条件として、グラフ内で枝に対し始点側のノードにしかならない全てのノードに“０”をラベリングする。ここでは、データパスの始点となるレジスタのクロック端子６４１、６４３に対応するノード“Ｐ６４０”、“Ｐ６４３”と、再構成パスの始点となる構成情報格納ユニットのクロック端子６４５、６４６、６４７、６４８に対応するノード“Ｐ６４５”、“Ｐ６４６”、“Ｐ６４７”、“Ｐ６４８”に“０”がラベリングされる。続いて遅延解析部１４は、グラフ内のノードにおいて、式（１）の計算を行う。
【００６３】
式（１）では、終点側ノードｊに対し、始点側のノードｉにラベリングされた遅延値（ノードｉにおける“Ａｒｒｉｖａｌ＿Ｔｉｍｅ（ｉ）”）に、ノードｉからノードｊへ接続する枝の遅延値“ｄｅｌａｙ（ｉ，ｊ）”が加算される。遅延解析部１４は、この計算を接続する全ての始点ノードに対して行い、その最大値をノードｊのＡｒｒｉｖａｌ＿Ｔｉｍｅ（ｊ）とし、ノードｊにラベリングする。このとき、始点側のノードの全てがラベリングされていることが必要条件となる。遅延値がラベリングされていない始点側ノードがある場合、遅延解析部１４は、当該始点側ノードを終点側ノードとして、式（１）による同様の計算を実行し、遅延値をラベリングする。グラフ内の全てのノードに遅延値をラベリングするように式（１）による計算を繰り返すことで、各ノードに対する最大遅延が求まる。
【００６４】
図２３は、図２２に示す有向グラフの各ノードに対する最大遅延値をラベリングしたグラフの一例を示す図である。図２３に示す一例では、有向グラフの終点ノード“Ｐ６４４”に最大遅延値“３２”が割り当てられ、この値がクリティカルパスの遅延値（回路面“２”における最大遅延値）となる。遅延解析部１４は、算出したクリティカルパスの遅延値を遅延解析情報１５として記録する。
【００６５】
以上のように本発明による遅延解析方法によれば、再構成パスによる遅延を考慮してデータパスの最大遅延値の計算が可能となる。すなわち、本発明によれば、データ処理時間に対し余分にかかる再構成時間（再構成オーバヘッド）を考慮して、回路面毎の精確なデータ処理時間を算出することができる。図５に示すデータパス上の遅延値と、図１７に示すデータパス上の遅延値は同じ値を示すが、従来技術では最大遅延値が“３１”であるのに対し、本発明では、再構成パスの遅延値を考慮した“３２”となる。再構成パスの遅延値を無視して、従来技術により算出された最大遅延値“３１”を利用してタイミング検証を行った場合、回路面“１”から回路面“２”に遷移する度に、実際、発生し得る再構成パスにおける遅延を無視することとなり、理想値に対して処理時間が早まってしまう。そのため、従来技術によって算出された処理時間を実機（リアルな）動作に適用させた場合、誤動作の原因になり得る。一方、本発明では、再構成遅延値を考慮しているため、回路面の遷移が繰り返されても理想値に近い処理時間を解析することが可能となる。
【００６６】
再構成パスの遅延を考慮する場合、複数の回路面のそれぞれのクリティカルパス遅延に一律の再構成オーバヘッドを足し合わせ、足し合わせた値を各回路面のクリティカルパス遅延とする手法が考えられる。本手法では、遅延解析に要する計算量を軽減しつつ再構成パスの遅延値を考慮しながらクリティカルパスの遅延値を算出できる。しかし、再構成パスの遅延値は、全ての回路面に一律に与えられるため、クリティカルパスの遅延を過大又は過小に評価してしまう。一方、上述の方法では、回路面に応じた再構成パスの遅延値を考慮して回路面毎のクリティカルパスの遅延値を計算しているため、精度の高い遅延解析が可能となる。
【００６７】
又、遅延解析部１４は、従来の再構成デバイスと同様に再構成遅延を考慮しない状態で遅延計算することもできる。すなわち、遅延解析部１４は、遅延計算の精度や処理量（計算時間）に基づいて、再構成遅延を考慮した遅延解析と、従来と同様な再構成遅延を考慮しない遅延解析とを任意に選択しても構わない。例えば、計算時間を重視する場合や再構成遅延を無視できる回路面の遅延時間を計算する場合、遅延解析部１４は、有向グラフにおいて再構成パスに対応する枝を全てカットした状態で、式（１）に従い計算すればよい。更に、遅延解析部１４は、回路面毎にパスの最大遅延を求めるため、回路面毎に再構成遅延を考慮した最大遅延と、再構成遅延を考慮しないときの最大遅延をそれぞれ算出することもできる。
【００６８】
尚、本実施例では式（１）による最大遅延時間の計算方法（有向グラフを利用したタイミング計算）を例示したが、再構成パスにおける遅延時間を考慮できれば、他の計算手法を用いてもよい。
【００６９】
２．第２の実施の形態
図２４から図２９を参照して、第２の実施の形態における遅延解析装置１０及び遅延解析方法を説明する。第２の実施の形態における遅延解析装置１０及び遅延解析方法では、再構成パスの遅延値のみならず、クロック遅延も考慮して遅延解析が行われる。以下では、第１の実施の形態と異なる構成及び動作について詳細に説明し、同様な構成及び動作についてはその詳細な説明は省略する。
【００７０】
（遅延解析装置の構成）
図２４は、本発明による遅延解析装置１０の第２の実施の形態における構成図である。図２４を参照して、遅延解析装置１０は、配置配線済回路情報１１、遅延情報１２、及び再構成遅延情報１３に加えて、クロック遅延情報１６を保持する。ここで、本実施の形態における配置配線済回路情報１１は、再構成デバイス１に配置配線されたコンテキスト（回路面）毎の回路情報とともに、クロック端子間の接続情報を含む。詳細には、データパスや再構成パスを形成する構成の接続状況とともに、クロックパス上の構成（クロックバッファ、クロック配線、クロック端子等）の接続状況が、回路面に対応付けられて配置配線済回路情報１１として記録される。遅延情報１２及び再構成遅延情報１３は、第１の実施の形態と同様である。クロック遅延情報１６は、動的再構成デバイス１におけるクロックパス上の構成（クロックバッファ、クロック配線）における遅延値を含む。
【００７１】
第２の実施の形態における遅延解析部１４は、第１の実施の形態と同様に、遅延情報１２及び再構成遅延情報１３に基づいて回路面におけるクリティカルパスの遅延時間を計算するとともに、クロック遅延情報１６に基づいてクリティカルパスの遅延時間を修正する。クロック遅延情報１６に基づいて修正された遅延時間は、クリティカルパスや解析対象となったコンテキスト（回路面）に対応付けられて遅延解析情報１５として記録される。
【００７２】
（解析対象回路の構成）
第２の実施の形態における遅延解析装置１０の解析対象は、第１の実施の形態と同様であるが、データパス及び再構成パスのみならず図２５に例示するようなクロックパスも遅延解析の対象となることが、第１の実施の形態と異なる。
【００７３】
図２５は、図１６に示した論理エレメントアレイ上に形成され、遅延解析対象となるクロックパスの一例を示す図である。クロックパスは、セル（クロックバッファ）と配線から構成される。ここでは、一例として、セル７０１におけるクロック端子７２０をクロックソースとし、各論理エレメント１００に至るクロックパスＢ１１〜Ｂ１８が構成される。詳細には、クロックパスＢ１１は、セル７０１を始点とし、配線７０２、セル７０５、配線７０８を介して構成情報格納ユニット１１０−１のクロック端子６４５を終点とするパスである。クロックパスＢ１２は、セル７０１を始点とし、配線７０２、セル７０５、配線７０９を介して機能ブロック３１０−１におけるレジスタのクロック端子６４１を終点とするパスである。クロックパスＢ１３は、セル７０１を始点とし、配線７０３、セル７０６、配線７１０を介して構成情報格納ユニット１１０−３のクロック端子６４７を終点とするパスである。クロックパスＢ１４は、セル７０１を始点とし、配線７０３、セル７０６、配線７１１を介して機能ブロック３１０−３におけるレジスタのクロック端子６４３を終点とするパスである。クロックパスＢ１５は、セル７０１を始点とし、配線７０４、セル７０７、配線７１２、セル７１４、配線７１６を介して構成情報格納ユニット１１０−２のクロック端子６４６を終点とするパスである。クロックパスＢ１６は、セル７０１を始点とし、配線７０４、セル７０７、配線７１２、セル７１４、配線７１７を介して機能ブロック３１０−２におけるレジスタのクロック端子６４２を終点とするパスである。クロックパスＢ１７は、セル７０１を始点とし、配線７０４、セル７０７、配線７１３、セル７１５、配線７１８を介して構成情報格納ユニット１１０−４のクロック端子６４８を終点とするパスである。クロックパスＢ１８は、セル７０１を始点とし、配線７０４、セル７０７、配線７１３、セル７１５、配線７１９を介して機能ブロック３１０−４におけるレジスタのクロック端子６４４を終点とするパスである。
【００７４】
図２６は、図２５に示すクロックパスに対するクロック遅延情報１６の一例を示す図である。クロック遅延情報１６には、クロックパス上の構成要素による遅延値が、当該構成要素に対応付けられて記録される。詳細には、クロック遅延情報１６には、配線経路における構成要素のタイプ（要素種別１６１）、インスタンス名１６２、クロック遅延値１６３が当該構成要素毎に対応付けられて記録される。ここでは、一例としてクロックパスの構成要素が、セル（Ｃｌｏｃｋ  Ｂｌｏｃｋ）、配線（Ｃｌｏｃｋ  Ｗｉｒｅ）の２種類のタイプ（要素種別１６１）に分類されて定義され、構成要素に対応するユニークな名前（インスタンス名１６２）、及びこれに対応するクロック遅延値１６３が定義されている。
【００７５】
図２７は、図２５に示したクロックパスＢ１１〜Ｂ１８の配置配線済回路情報１１を有向グラフで表した図である。図２７に示す有向グラフでは、図２５におけるクロックパスＢ１１〜Ｂ１８を形成する構成のうち、セル（クロックバッファ）及びレジスタのそれぞれのクロック端子をノードで表現し、これらの端子間配線（クロック配線）を枝で表現している。この有向グラフは、配置配線済回路情報１１におけるクロックパスの接続状況と等価な情報である。即ち、本実施の形態では、配置配線済回路情報１１からデータパスに対する有向グラフのみならず、クロックパスに対する有向グラフも形成可能である。
【００７６】
ここで、図２７に示すノード及び枝は、図２５に示した構成に対応し、それぞれの符号は、図２５に示す構成の符号の頭に、セルであれば“ＣＢ”、クロック配線であれば“ＣＷ”、クロック端子であれば“Ｐ”が付加されて表現される。例えばセル７０１の符号は“ＣＢ７０１”と表現される。
【００７７】
尚、図２６に示すインスタンス名１６２は、図２７に示す有向グラフにおける枝に付された符号に対応し、インスタンス名１６２に一致する符号は、当該インスタンス名１６２に対応する構成要素を示すものとする。
【００７８】
（遅延解析方法）
第２の実施の形態における遅延解析部１４は、クロックパスの遅延値及び再構成パスの遅延値を考慮してデータパスの遅延値を計算する。ここでは、データパスの始点に対するクロック遅延値とデータパスの終点に対するクロック遅延値との差分によって、第１の実施の形態において算出されたデータパスの最大値遅延値が修正される。詳細には、遅延解析部１４は、データパス及び再構成パスに対応する有向グラフの始点ノードの初期値として、クロックパスにおける当該始点ノードのクロック遅延値をラベリングする。続いて、遅延解析部１４は、再構成パスの遅延値を考慮しながら、データパスに対応する有向グラフにおける各ノードの最大遅延値をラベリングし、終点ノードにおける最大遅延値を算出する。遅延解析部１４は、当該最大遅延値から、クロックパスにおける当該終点ノードのクロック遅延値を減じた値を、データパスの最大遅延値として遅延解析情報１５に記録する。
【００７９】
次に、図１９、及び図２５から図２８を参照して、第２の実施の形態における遅延解析部１４による遅延解析の具体例を説明する。以下では、図１７に示す回路面“２”におけるクリティカルパスの遅延値の計算方法の具体例を説明する。尚、回路面“１”におけるクリティカルパスの遅延値も同様の手法で求まるため、この説明は省略する。
【００８０】
第２の実施の形態における遅延解析部１４は、配置配線済回路情報１１からクロックパスに対応する有向グラフを作成する。ここでは図２５に示すクロックパスに対応する有向グラフが作成される。遅延解析部１４は、クロック遅延情報１６に基づいて有向グラフの枝に遅延値を付与する。ここでは、遅延解析部１４は、作成した有向グラフの枝に、図２６に示したクロック遅延値１６３を割り当てる。更に、遅延解析部１４は、式（１）に従って有向グラフにおける全てのノードに遅延値をラベリングする。これにより、遅延解析部１４は、図２７に示す有向グラフを得、クロックパスの最大遅延値が算出される。詳細には、先ず遅延解析部１４は、初期条件として、グラフ内で枝に対し始点側のノードにしかならない全てのノードに“０”をラベリングする。ここでは、データパスの始点となるクロック共有点（セル７０１）のクロック端子７２０に対応するノード“Ｐ７２０”に“０”がラベリングされる。続いて遅延解析部１４は、クロック遅延情報１６を参照して、クロックパスＢ１１〜Ｂ１８に対応するグラフ内の各ノードにおいて、式（１）の計算を行う。
【００８１】
図２７は、図２５に示すクロックパスＢ１１〜Ｂ１８に対応する有向グラフの各ノードに対する最大遅延値をラベリングしたグラフの一例を示す図である。遅延解析部１４は、図２６に示すクロック遅延値を有向グラフの各枝に割り当てて、クロック共有点“Ｐ７２０”からクロックパスの終点であるノード“Ｐ６４１”〜“Ｐ６４８”までの遅延値を計算する。図２７に示す一例では、有向グラフの終点ノード“Ｐ６４１”、“Ｐ６４３”、“Ｐ６４５”、“Ｐ６４７”に最大遅延値“５”が割り当てられ、有向グラフの終点ノード“Ｐ６４２”、“Ｐ６４４”、“Ｐ６４６”、“Ｐ６４８”に最大遅延値“６”が割り当てられる。遅延解析部１４は、終点ノードの最大遅延値をクロックパスの遅延値として遅延解析情報１５に記録する。
【００８２】
図１９及び図２７を参照して、クロックパスに対応する有向グラフの終点ノード“Ｐ６４１”、“Ｐ６４２”、“Ｐ６４５”、“Ｐ６４６”、“Ｐ６４７”、“Ｐ６４８”は、データパス及び再構成パスに対応する有向グラフの始点ノードとなる。このため、遅延解析部１４は、図１９に示す有向グラフの始点ノード“Ｐ６４１”、“Ｐ６４２”“Ｐ６４５”、“Ｐ６４６”“Ｐ６４７”“Ｐ６４８”の初期値として、クロックパスの終点ノードに割り当てた最大遅延値をラベリングする。
【００８３】
以上のように、データパス及び再構成パスに対応する有向グラフの始点ノードの初期値として、クロックパスにおける遅延値がラベリングされる。続いて、遅延解析部１４は、第１の実施の形態と同様に、（１）式に従い、再構成パスにおける遅延値を考慮してデータパスの最大遅延値を計算する。図２８に示す有向フラグでは、（１）式に従い、終点ノード“Ｐ６４４”まで最大遅延値がラベリングされる。この結果、図２８に示すようにデータパスの終点ノード“Ｐ６４４”には“３７”がラベリングされる。
【００８４】
最後に、遅延解析部１４は、データパスの終点ノードに対するクロック遅延を考慮して最大遅延値を補正する。ここでは、遅延解析部１４は、データパスの終点ノードにラベリングされた最大遅延値から、当該終点ノードにラベリングされたクロック遅延を減じた結果を、補正値として出力する。詳細には、図２９に示すように、最大遅延値をラベリングしたデータパスの終点ノード“Ｐ６４４”から、クロック共有点“Ｐ７２０”までクロックパスの有向フラグを遡ることで、クロック遅延を減算する。ここでは、枝の方向と反対に進むため、枝に割り当てられた遅延値がノードにラベリングされた遅延値から減算されることとなる。図２９に示す一例では、終点ノード“Ｐ６４４”にラベリングされた最大遅延値“３７”からクロック遅延値“６”が減算され、クロック共有点“Ｐ７２０”に対応するノードには、“３１”がラベリングされる。この数値が、図１７に示す回路面“２”の経路において、クロック経路の遅延を考慮したときの最大遅延値となる。
【００８５】
以上のように、第２の実施の形態における遅延解析装置１０は、データパス上の構成要素に対する再構成パスのみならずクロック遅延を考慮してクリティカルパスの遅延値を算出することができる。このため、第２の実施の形態における遅延解析では、第１の実施の形態よりも計算量が多くなるが、遅延値の予測精度を高めることができる。
【００８６】
又、第２の実施の形態における遅延解析部１４は、第１の実施の形態と同様に、従来の再構成デバイスと同様に再構成遅延を考慮しない状態で遅延計算することもできる。すなわち、遅延解析部１４は、遅延計算の精度や処理量（計算時間）に基づいて、再構成遅延を考慮した遅延解析と、従来と同様な再構成遅延を考慮しない遅延解析とを任意に選択しても構わない。更に、遅延解析部１４は、回路面毎にパスの最大遅延を求めるため、回路面毎に再構成遅延を考慮した最大遅延と、再構成遅延を考慮しないときの最大遅延をそれぞれ算出することもできる。
【００８７】
３．第３の実施の形態
図３０から図３３を参照して、第３の実施の形態における遅延解析装置１０及び遅延解析方法を説明する。第３の実施の形態における遅延解析装置１０及び遅延解析方法では、回路面の遷移の際、構成状態が変更する構成要素に対する再構成パスの遅延値のみを考慮してデータパスの最大遅延値を算出する。以下では、第１の実施の形態と異なる構成及び動作について詳細に説明し、同様な構成及び動作についてはその詳細な説明は省略する。
【００８８】
（遅延解析装置の構成）
図３０は、本発明による遅延解析装置１０の第３の実施の形態における構成図である。図３０を参照して、遅延解析装置１０は、配置配線済回路情報１１、遅延情報１２、及び再構成遅延情報１３に加えて、構成状態情報１７及び状態遷移情報１８を保持する。
【００８９】
ここで、本実施の形態における配置配線済回路情報１１、遅延情報１２及び再構成遅延情報１３は、第１の実施の形態と同様である。構成状態情報１７は、コンテキスト（回路面）において、デバイス上の構成要素（例えば演算器３１４、マルチプレクサ３１７、スイッチ３３０等）がどのような状態であるかを示す情報を含む。例えば、構成状態情報１７として、回路面における、演算器３１４の状態（演算方法）、マルチプレクサ３１７における選択信号を指定する情報、スイッチ３３０のオンオフの一方を指定する情報が、当該回路面を特定する情報に対応付けられて記録される。回路面を特定する情報としては、コンテキストに対応付けられた構成番号２００や回路面に応じて決まる構成情報２０１がある。あるいは、回路面毎の構成情報２０１の値が構成状態情報１７として記録されていても良い。遅延解析部１４は、構成状態情報１７を参照することで、回路面において構成要素がどのような状態であるかを確認できる。
【００９０】
状態遷移情報１８は、回路面の遷移の仕方を示す情報（遷移するコンテキスト（回路面）、回路面の遷移方向、遷移するタイミング、及び遷移順等）を含む。図３１は、状態遷移情報１８の一例を示す図である。図３１に示す一例では、回路面“１”と回路面“２”がクロックに同期して交互に入れ替わることを示す。すなわち、遷移する回路面として回路面“１”と回路面“２”が規定され、遷移方向として、回路面“１”から回路面“２”に向かう方向と、回路面“２”から回路面“１”に向かう方向の２つの方向が規定され、遷移タイミングとして１クロックサイクルに同期することが規定される。ここでは、２つの回路面が遷移する場合を一例としたが、更に他の回路面に遷移しても良いし、複数サイクルにわたり同一回路面を維持してもよい。更に、図３１では回路面“２”に遷移する１サイクル前には必ず回路面“１”が形成されるがこれに限らず、又、遷移回数やサイクル数に応じて、回路面の遷移先が変更されても良い。
【００９１】
第３の実施の形態における遅延解析部１４は、遅延情報１２及び再構成遅延情報１３に基づいて回路面におけるクリティカルパスの遅延時間を計算する。この際、遅延解析部１４は、構成状態情報１７及び状態遷移情報１８に基づいて回路面が遷移しても構成状態が変化しない構成要素を特定するとともに、当該構成要素に対する再構成パスの遅延値を計算するための有向グラフから排除してデータパスの遅延解析を行う。
【００９２】
（解析対象回路の構成）
第３の実施の形態における遅延解析装置１０の解析対象は、第１の実施の形態と同様にデータパス及び再構成パスであるが、回路面の遷移制御に利用される再構成パスのうち、構成状態が変化しない構成要素に対する再構成パスは、解析対象から除外される。
【００９３】
（遅延解析方法）
次に、図３１から図３３を参照して、第３の実施の形態における遅延解析部１４による遅延解析の具体例を説明する。以下では、図１６に示す回路面“１”と図１７に示す回路面“２”とが交互に遷移する場合の、回路面“２”におけるクリティカルパスの遅延値の計算方法の具体例を説明する。尚、回路面“１”におけるクリティカルパスの遅延値も同様の手法で求まるため、この説明は省略する。
【００９４】
遅延解析部１４は、先ず、回路面の遷移方向や回路面の遷移順を状態遷移情報１８によって確認する。例えば、遅延解析部１４は、図３１に示す状態遷移情報１８を参照して、回路面“１”から回路面“２”に遷移することを確認する。続いて、遅延解析部１４は、構成状態情報１７を参照して、回路面が遷移したときに構成状態が変化しない構成要素を特定する。ここでは、遅延解析部１４は、構成状態情報１７を参照して、回路面“１”の構成要素の構成状態と、回路面“２”の構成要素の状態とを比較して、構成状態が変化しない構成要素を特定する。具体的には、図１６及び図１７を参照して、マルチプレクサ６０３は、回路面“１”、“２”で共に選択信号が“１”であり、レジスタ６０１から信号が選択される。又、スイッチ６０６、６０８は、回路面“１”、“２”で共にオンの状態である。この場合、回路面“１”から回路面“２”に遷移したとき、マルチプレクサ６０３、スイッチ６０６、６０８の構成状態が変化しないことが確認される。
【００９５】
遅延解析部１４は、回路面が遷移しても構成状態が変化しない構成要素に対する再構成パスを排除した、データパス及び再構成パスに対応する有向グラフを作成する。詳細には、遅延解析部１４は、第１の実施の形態と同様に、図１７に示す回路面“２”に対応する有向グラフとして図１９に示す有向グラフを作成する。続いて、遅延解析部１４は、図３２に示すように、回路面が遷移しても構成状態が変化しない構成要素に対する再構成パスに対応する枝“Ｒ＿Ｍ６０３”、“Ｒ＿Ｓ６０６”、“Ｒ＿Ｓ６０８”を、作成した有向グラフから削除する。あるいは、遅延解析部１４は、回路面が遷移しても構成状態が変化しない構成要素に対する再構成パスを予め除外した再構成パスと、回路面“２”のデータパスに対応する有向グラフを作成する。
【００９６】
ここでは、マルチプレクサ６０３、及びスイッチ６０６、６０８の再構成遅延を考慮する必要がないため、回路面“２”から有向グラフを形成する際に、マルチプレクサ６０３、スイッチ６０６、６０８に対する再構成パスの枝である“Ｒ＿Ｍ６０３”、“Ｒ＿Ｓ６０６”、“Ｒ＿Ｓ６０８”が排除される。遅延解析部１４は、構成情報が変化しない再構成パスの枝をカットした有向グラフを元に、遅延情報１２、再構成遅延情報１３及び式（１）に従い、各ノードに最大遅延値をラベリングすることで、クリティカルパスの遅延値（最大遅延値）を算出する。図３３は、図３２に示す有向グラフの各ノードに対する最大遅延値をラベリングしたグラフの一例を示す図である。遅延解析部１４は、遅延情報１２及び再構成遅延情報１３を参照して遅延値を有向グラフの各枝に割り当て、式（１）に従って各ノードに最大遅延値をラベリングする。図３３に示す一例では、有向グラフの終点ノード“Ｐ６４４”に最大遅延値“３１”が割り当てられる。遅延解析部１４は、終点ノードの最大遅延値をクロックパスの遅延値として遅延解析情報１５に記録する。
【００９７】
回路面における構成要素の構成状態（又は構成情報格納ユニット１１０から与えられる構成情報２０１の値）が変化しない場合、当該構成要素（マルチプレクサ、演算器、及びスイッチ）への再構成遅延を考慮する必要がない。このため、本実施の形態における遅延解析部１４は、状態遷移情報１８に基づいて、解析対象の回路面と当該回路面の遷移前の回路面を特定し、構成状態情報１７に基づいて、信号変化のない再構成パスを遅延計算から除外している。これにより、第３の実施の形態では、高精度の遅延解析結果を得られるとともに、第１の実施の形態に比べて解析に要する計算量や解析時間を短縮することが可能となる。
【００９８】
尚、第３の実施の形態においてはクロック遅延を考慮していないが、第２の実施の形態における遅延解析装置１０及び遅延解析方法技術的に矛盾のない範囲内で組み合わせることで、クロック遅延を考慮した遅延解析が可能となることは言うまでもない。
【００９９】
４．第４の実施の形態
第１から第３の実施の形態における遅延解析装置１０は、設計支援装置８００に組み込まれ、動的再構成デバイス１を設計する差異の遅延解析に利用され得る。
【０１００】
図３４Ａ及び図３４Ｂは、本発明に係る設計支援装置８００の構成の一例を示す図である。設計支援装置８００は、バスを介して相互に接続されるＣＰＵ、ＲＡＭ、記憶装置、入力装置、出力装置を具備する（図示なし）。記憶装置はハードディスクやメモリ等に例示される外部記憶装置である。又、入力装置は、キーボードやマウス等のユーザによって操作されることで、各種データをＣＰＵや記憶装置に出力する。出力装置は、モニタやプリンタに例示され、ＣＰＵから出力される解析結果をユーザに対し視認可能に出力する。
【０１０１】
図３４Ａ及び図３４Ｂを参照して、設計支援装置８００では、図示しない記憶装置に記録された設計支援プログラムがＣＰＵにおいて実行されることで、論理設計部８１０、論理合成部８４０、配置配線部８５０、及び遅延情報生成部８８０の機能が実現される。
【０１０２】
論理設計部８１０は図示しない設計仕様に従い、ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）記述による設計データ８２０や、論理合成時の制約事項（例えば、面積、クロック周期、消費電力等の条件）となる設計制約情報８３０を生成する。又、論理設計部８１０は、遅延解析装置１０によって得られた遅延解析情報１５に基づいて、設計対象回路の遅延判定を行い、判定結果に応じて設計データ８２０や設計制約情報８３０を修正する。
【０１０３】
論理合成部８４０は、論理合成ツールであり、設計データ８２０を用いて、最適な論理ゲートの接続状況（ネットリスト）やセルライブラリを生成する。この際、論理合成部８４０は、設計制約情報８３０に従ってネットリストを最適化する。配置配線部８５０は、自動レイアウトツールであり、セルライブラリ内のマクロセルをチップ上に配置するとともに、論理合成部８４０で生成されたネットリストに基づいて、マクロセル間の配線を行う。配置配線部８５０によるレイアウト結果は、チップのマスクレイアウトパタンを示すレイアウトデータ８６０として記録される。
【０１０４】
又、配置配線部８５０は、配線容量や配線遅延時間を計算し、タイミング検証に用いられる遅延計算情報８７０を出力する。遅延情報生成部８８０は、遅延計算情報８７０を用いて遅延情報１２、再構成遅延情報１３を生成する。
【０１０５】
遅延解析装置１０は、設計支援装置８００におけるタイミング検証ツールとして機能し、第１の実施の形態で示した遅延解析方法により、解析対象の動的再構成デバイス１におけるクリティカルパスの遅延時間を算出し、遅延解析情報１５として記録する。
【０１０６】
ここで、論理設計部８１０は、遅延解析情報１５が目標遅延を満たしているかどうかを判定し、条件を満たしていなければ、設計データ８２０及び設計制約情報８３０を変更する。一方、遅延解析情報１５が目標遅延を満たす場合、遅延解析装置１０は遅延解析を終了する。
【０１０７】
図３４Ａ及び図３４Ｂに示す設計支援装置８００では、配置配線後の遅延計算情報８７０から遅延情報１２及び再構成遅延情報１３を作成したが、これに限らず、論理合成後等の前段階において遅延計算情報８７０が得られる場合は、遅延解析装置１０によって当該遅延計算情報８７０から遅延情報１２及び再構成遅延情報１３が作成されても良い。
【０１０８】
又、本実施の形態では、第１の実施の形態における遅延解析装置１０を設計支援装置８００におけるタイミング検証ツールとして適用したが、これに限らず、第２の実施の形態、又は第３の実施の形態における遅延解析装置１０が適用されても構わない。ただし、第２の実施の形態における遅延解析装置１０を適用する場合、遅延計算情報８７０からクロック遅延情報１６が生成される。
【０１０９】
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。例えば、第１から第４の実施の形態では、再構成遅延を考慮した最大遅延のパス（クリティカルパス）を求めたが、回路面毎の最小遅延値を求めてもよい。例えば、遅延解析部１４は、配置配線済回路情報１１をモデル化した有向グラフにおいて、式（２）に従って各ノードの遅延値をラベリングする。
【数２】
0005658077.tif 000003
【０１１０】
式（２）では、終点側ノードｊに対し、始点側のノードｉにラベリングされた遅延値（ノードｉの“Ａｒｒｉｖａｌ＿Ｔｉｍｅ（ｉ）”）に、ノードｉからノードｊへ接続する枝の遅延値“ｄｅｌａｙ（ｉ，ｊ）”が加算される。遅延解析部１４は、この計算を接続する全ての始点ノードに対して行い、最小値をノードｊの“Ａｒｒｉｖａｌ＿Ｔｉｍｅ（ｊ）とし、ノードｊにラベリングする。これを全てのノードに適用することで、各ノードに対して、最小遅延値が割り当てられる。尚、ここでは、式（２）による最小遅延時間の計算方法（有向グラフを利用したタイミング計算）を例示したが、再構成パスにおける遅延時間を考慮できれば、他の計算手法を用いてもよい。
【０１１１】
又、第１から第４の実施の形態は、技術的に矛盾がない範囲内で組み合わせて適用できる。
【符号の説明】
【０１１２】
１  ：再構成デバイス
１０：遅延解析装置
１１：配置配線済回路情報
１２：遅延情報
１３：再構成遅延情報
１４：遅延解析部
１５：遅延解析情報
１６：クロック遅延情報
１７：構成状態情報
１８：状態遷移情報
１００：論理エレメント
１０１：状態遷移コントローラ（ＳＴＣ）
１０２、１０４：メモリ
１０３：メモリコントローラ
１１０、１１０−１〜４：介して構成情報格納ユニット
１１１：メモリ
１２１：要素種別
１２２：インスタンス名
１２３：遅延値
１３１：制御対象要素種別
１３２：インスタンス名
１３３：再構成パス遅延値
１６１：要素種別
１６２：インスタンス名
１６３：クロック遅延値
２００：構成番号
２０１：構成情報
３１０、３１０−１〜４：機能ブロック
３１４：演算器
３１６：レジスタ
３１７：マルチプレクサ
３３０：スイッチ
８００：設計支援装置
８１０：論理設計部
８２０：設計データ
８３０：設計制約情報
８４０：論理合成部
８５０：配置配線部
８６０：レイアウトデータ
８７０：遅延計算情報
８８０：遅延情報生成部
【図１】
0005658077.tif 000004
【図２】
0005658077.tif 000005
【図３】
0005658077.tif 000006
【図４】
0005658077.tif 000007
【図５】
0005658077.tif 000008
【図６】
0005658077.tif 000009
【図７】
0005658077.tif 000010
【図８】
0005658077.tif 000011
【図９】
0005658077.tif 000012
【図１０】
0005658077.tif 000013
【図１１】
0005658077.tif 000014
【図１２】
0005658077.tif 000015
【図１３】
0005658077.tif 000016
【図１４】
0005658077.tif 000017
【図１５】
0005658077.tif 000018
【図１６】
0005658077.tif 000019
【図１７】
0005658077.tif 000020
【図１８】
0005658077.tif 000021
【図１９】
0005658077.tif 000022
【図２０】
0005658077.tif 000023
【図２１】
0005658077.tif 000024
【図２２】
0005658077.tif 000025
【図２３】
0005658077.tif 000026
【図２４】
0005658077.tif 000027
【図２５】
0005658077.tif 000028
【図２６】
0005658077.tif 000029
【図２７】
0005658077.tif 000030
【図２８】
0005658077.tif 000031
【図２９】
0005658077.tif 000032
【図３０】
0005658077.tif 000033
【図３１】
0005658077.tif 000034
【図３２】
0005658077.tif 000035
【図３３】
0005658077.tif 000036
【図３４Ａ】
0005658077.tif 000037
【図３４Ｂ】
0005658077.tif 000038