(57)【特許請求の範囲】
【請求項１】
フリップフロップの入力値と出力値に応じてクロックの固定制御を行うクロック制御回路を備え、前記クロック制御回路は、クロック制御の有無を示すクロック強制有効コンテキストと、フリップフロップの入力値と、フリップフロップの出力値との３信号とクロックを入力とし、前記３信号の状態に応じてクロックの固定制御を決定し、この結果を前記フリップフロップへのクロックとして出力し、
かつ、
前記クロック強制有効コンテキストの値をコンテキストデータとして保持し設定するコンテキストデータ設定手段を備えた動的再構成デバイスに対して、
前記動的再構成デバイス内の隣接するフリップフロップを出力してからコンテキスト値によって構成される回路を通過し終わるまでの最大遅延時間を算出し、当該算出した最大遅延時間値からクロック停止可能なフリップフロップを検出し、このフリップフロップへのクロックを制御するクロック制御回路の制御値を決定し、クロック強制有効コンテキストデータとして生成するクロック停止ＦＦ検出手段を備えた半導体集積回路設計支援システム。
【請求項２】
半導体集積回路設計支援を行うコンピュータを、
フリップフロップの入力値と出力値に応じてクロックの固定制御を行うクロック制御回路を備え、前記クロック制御回路は、クロック制御の有無を示すクロック強制有効コンテキストと、フリップフロップの入力値と、フリップフロップの出力値との３信号とクロックを入力とし、前記３信号の状態に応じてクロックの固定制御を決定し、この結果を前記フリップフロップへのクロックとして出力し、
かつ、
前記クロック強制有効コンテキストの値をコンテキストデータとして保持し設定するコンテキストデータ設定手段を備えた動的再構成デバイスに対して、
前記動的再構成デバイス内の隣接するフリップフロップを出力してからコンテキスト値によって構成される回路を通過し終わるまでの最大遅延時間を算出し、当該算出した最大遅延時間値からクロック停止可能なフリップフロップを検出し、このフリップフロップへのクロックを制御するクロック制御回路の制御値を決定し、クロック強制有効コンテキストデータとして生成するクロック停止ＦＦ検出手段として機能させるための半導体集積回路設計支援プログラム。
【請求項３】
クロック停止ＦＦ検出手段は、
動作周波数およびクロック特性からクロックゲーティングパスの最大許容遅延を算出する最大許容遅延算出手段と、
コンテキストデータにより動的に再構成される回路上でフリップフロップ毎にフリップフロップのデータ入力端子に繋がる全てのフリップフロップを検出する繋続ＦＦ検出手段と、
繋続ＦＦ検出手段の検出結果に基づいて、フリップフロップ間の最大遅延時間であるＦＦ間最大遅延時間を算出する最大遅延時間算出・追記手段と、
前記最大遅延時間算出・追記手段の算出結果に基づいて、フリップフロップ毎の遅延時間の最大値を検出する最大値検出・追記手段と、
前記最大値検出・追記手段が検出した最大値と、前記最大許容遅延の値からクロック停止可能なフリップフロップを判定するクロック停止ＦＦ判定手段と、
前記クロック停止ＦＦ判定手段が判定した結果からクロック強制有効コンテキストデータを生成するクロック強制有効コンテキストデータ生成手段とを備えたことを特徴とする請求項１記載の半導体集積回路設計支援システム。
【請求項４】
クロック停止ＦＦ検出手段は、
動作周波数およびクロック特性からクロックゲーティングパスの最大許容遅延を算出する最大許容遅延算出手段と、
コンテキストデータにより動的に再構成される回路上でフリップフロップ毎にフリップフロップのデータ入力端子に繋がる全てのフリップフロップを検出する繋続ＦＦ検出手段と、
繋続ＦＦ検出手段の検出結果に基づいて、フリップフロップ間の最大遅延時間であるＦＦ間最大遅延時間を算出する最大遅延時間算出・追記手段と、
前記最大遅延時間算出・追記手段の算出結果に基づいて、フリップフロップ毎の遅延時間の最大値を検出する最大値検出・追記手段と、
前記最大値検出・追記手段が検出した最大値と、前記最大許容遅延の値からクロック停止可能なフリップフロップを判定するクロック停止ＦＦ判定手段と、
前記クロック停止ＦＦ判定手段が判定した結果からクロック強制有効コンテキストデータを生成するクロック強制有効コンテキストデータ生成手段とを備えたことを特徴とする請求項２記載の半導体集積回路設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、消費電力の低減化を図るようにした動的再構成デバイスを用いた半導体集積回路設計支援システム並びに半導体集積回路設計支援プログラムに関するものである。
【背景技術】
【０００２】
ＰＥ（Ｐｒｏｃｅｓｓｏｒ  Ｅｌｅｍｅｎｔ）の入出力にクロック駆動のフリップフロップを配置してタイミングの管理を行っている従来のコンテキスト型動的再構成デバイスでは、ＰＥを８ｂｉｔ、３２ｂｉｔ等の固定ビット長で構成し、格子状に配置している。このため、動作中の信号状態に関係なく、入出力レジスタ駆動用のクロック配線による消費電力を削減出来ない問題があった。この問題に対して、例えば、特許文献１では、回路の動作状態に応じて状態管理部が、接続しているエレメント領域の動作を動作状態の発生しない動作サイクルのときに一時停止させる技術が記載されている。また、例えば特許文献２では、待機状態の電力消費を抑える技術が記載されている。
【０００３】
【特許文献１】特開２００４−２２７５１２号公報
【特許文献２】特開２００６−３４３９６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の特許文献１に記載されているようなアレイ型プロセッサでは、エレメント単位での停止技術であることおよび状態管理部が大規模回路であるが故の電力消費により電力低減とならない恐れがあった。また、特許文献２に記載されているような待機状態での電力消費を抑える技術では、動作中の電力消費を抑える場合には、適用できないといった問題があった。
また、クロックゲーティング回路は、信号の遅延時間を管理しない場合にクロックハザードやクロックのハイ幅やロウ幅の細りが発生し、回路が誤動作するという問題もあった。
【０００５】
この発明は上記のような課題を解決するためになされたもので、大規模な制御回路による集中管理を必要とせず、クロック配線による消費電力を抑えることが可能となり、低消費電力でより多くの処理を行える動的再構成デバイス及び半導体集積回路設計支援システム並びにプログラムを得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る半導体集積回路設計支援システムは、フリップフロップの入力値と出力値に応じてクロックの固定制御を行うクロック制御回路を備え、クロック制御回路は、クロック制御の有無を示すクロック強制有効コンテキストと、フリップフロップの入力値と、フリップフロップの出力値との３信号とクロックを入力とし、３信号の状態に応じてクロックの固定制御を決定し、この結果を前記フリップフロップへのクロックとして出力し、かつ、クロック強制有効コンテキストの値をコンテキストデータとして保持し設定するコンテキストデータ設定手段を備えた動的再構成デバイスに対して、動的再構成デバイス内の隣接するフリップフロップを出力してからコンテキスト値によって構成される回路を通過し終わるまでの最大遅延時間を算出し、当該算出した最大遅延時間値からクロック停止可能なフリップフロップを検出し、このフリップフロップへのクロックを制御するクロック制御回路の制御値を決定し、クロック強制有効コンテキストデータとして生成するクロック停止ＦＦ検出手段を備えたものである。
【発明の効果】
【０００７】
この発明の半導体集積回路設計支援システムによれば、大規模な制御回路による集中管理を必要とせず、クロック配線による消費電力を抑えることが可能な動的再構成デバイスを用いた半導体集積回路の設計支援を行うことができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１は、この発明の実施の形態１による動的再構成デバイスを示す構成図である。
図において、動的再構成デバイスは、プロセッサエレメント（ＰＥ）１００とコンテキストデータ設定手段２００を備えている。プロセッサエレメント（ＰＥ）１００はコンテキスト型動的再構成デバイスの回路部であり、コンテキストデータ設定手段２００は、データパス部のコンテキストデータ（コンテキスト番号１）２０１−１〜（コンテキスト番号ｎ）２０１−ｎと、クロック強制有効コンテキストデータ（コンテキスト番号１）２０２−１〜（コンテキスト番号ｎ）２０２−ｎをプロセッサエレメント（ＰＥ）１００に適用して所望の回路を得るための手段である。ここで、コンテキストデータとはコンテキストの集合体での意味で用いる。
【０００９】
プロセッサエレメント（ＰＥ）１００は、外部からのクロック入力ポートＣＬＫ、外部からのリセット入力ポートＲＳＴ＿Ｎ、外部からの信号入力ポートＩＮ１〜ＩＮ６、外部への信号出力ポートＯＵＴ１、リセット信号でリセット可能な端子が付いたフリップフロップであるフリップフロップ（ＦＦ１）１−１〜（ＦＦ４）１−４、クロック制御回路２−１〜２−４、クロック強制有効コンテキスト値を保持したクロック強制有効コンテキスト回路（Ｐ１）３−１〜（Ｐ４）３−４、フリップフロップやラッチを包含しない組合せ回路（Ｃ１）４−１〜（Ｃ５）４−５、組合せ回路（Ｃ１）４−１〜（Ｃ５）４−５のコンテキスト値を保持したデータパス部のコンテキスト回路（Ｑ１）５−１〜（Ｑ５）５−５、ＦＦ出力選択回路（Ｍ１）６−１〜（Ｍ４）６−４、データパス部の未使用ＦＦ設定情報を保持したデータパス部の未使用ＦＦ設定コンテキスト回路（Ｓ１）７−１〜（Ｓ４）７−４を備える。尚、以下、プロセッサエレメント（ＰＥ）１００はＰＥ１００として説明する。
【００１０】
フリップフロップ（ＦＦ１）１−１〜（ＦＦ４）１−４は、組合せ回路（Ｃ１）４−１〜（Ｃ４）４−４の出力を入力し、ＦＦ出力選択回路（Ｍ１）６−１〜（Ｍ４）６−４に対して出力ｄ１〜ｄ４を送出すると共に、クロック制御回路２−１〜２−４からのクロック出力ＧＣＬＫをクロック入力とするフリップフロップである。尚、以下、フリップフロップ（ＦＦ１）１−１〜（ＦＦ４）１−４はＦＦ１〜ＦＦ４として説明する。また、クロック制御回路２−１〜２−４は、全て同じクロック制御回路であるため、以下、クロック制御回路２として説明する。
図２はクロック制御回路２の構成図である。
図示のように、クロック制御回路２は、クロック入力ポートＩＣＬＫ、クロック強制有効コンテキスト入力ポートｐ、ＦＦの入力値の入力ポートｃ、ＦＦ出力選択値の入力ポートｒ、クロック出力ポートＧＣＬＫを備えた組合せ回路で、ｐ、ｃ、ｒの各入力信号値に応じて、入力ＩＣＬＫからＧＣＬＫの出力制御を行う機能を有している。
【００１１】
図３は、クロック制御回路２の動作真理値を示す説明図である。
図４は、クロック強制有効コンテキスト入力ポートｐの入力状態を示す説明図である。
クロック制御回路２は動的再構成回路であり、図４に示すように、クロック強制有効コンテキスト入力ポートｐの値が０の時に、クロック制御が行われるよう設定されている。そして、図３に示すように、クロック強制有効コンテキスト入力ポートｐの値が０の時に、ＦＦの入力値の入力ポートｃとＦＦ出力選択値の入力ポートｒの値が共に１または０で同じ信号状態の時に出力クロックＧＣＬＫを固定する機能を有している。このような機能を有したクロック制御回路２を用いることで、ＦＦの入力値と出力値に応じてクロックの固定制御を行うことが可能となる。
【００１２】
クロック強制有効コンテキスト回路（Ｐ１）３−１〜（Ｐ４）３−４は、全て同じクロック強制有効コンテキスト回路Ｐであるため、以下、クロック強制有効コンテキスト回路Ｐとして説明する。また、クロック強制有効コンテキスト回路Ｐのブロック図を図５に示す。クロック強制有効コンテキスト回路Ｐはコンテキストデータによって、クロック制御回路２のクロック強制有効コンテキストｐを出力する。
【００１３】
組合せ回路（Ｃ１）４−１〜（Ｃ５）４−５は、その演算内容をデータパス部のコンテキスト（コンテキスト番号１〜ｎ）によって変化することを特徴とする動的再構成回路である。本実施の形態では動的再構成回路の一例として組合せ回路Ｃを定義し、組合せ回路（Ｃ１）４−１〜（Ｃ５）４−５が全て組合せ回路Ｃであるとして以下の説明を行う。また、組合せ回路Ｃの構成を図６に示す。
組合せ回路Ｃは、信号入力ポートｘ、信号入力ポートｙ、データパス部のコンテキスト入力ポートｑ、信号出力ポートｚを備え、コンテキスト入力ポートｑの状態により、異なる演算結果を出力することが可能な動的再構成回路である。
【００１４】
図７は組合せ回路Ｃの動作真理値を示す説明図である。
図７に示すように、組合せ回路Ｃは、
データパス部のコンテキスト入力ポートｑの値が１の時に、入力ｘと同じ信号状態を出力し、
データパス部のコンテキスト入力ポートｑの値が２の時に、入力ｙと同じ信号状態を出力し、
データパス部のコンテキスト入力ポートｑの値が３の時に、入力ｘの論理反転した信号状態を出力し、
データパス部のコンテキスト入力ポートｑの値が４の時に、入力ｙの論理反転した信号状態を出力し、
データパス部のコンテキスト入力ポートｑの値が５の時に、入力ｘと入力ｙの論理積を出力し、
データパス部のコンテキスト入力ポートｑの値が６の時に、入力ｘと入力ｙの論理積反転を出力し、
データパス部のコンテキスト入力ポートｑの値が７の時に、入力ｘと入力ｙの論理和を出力し、
データパス部のコンテキスト入力ポートｑの値が８の時に、入力ｘと入力ｙの論理和反転を出力する機能を特徴として備えた動的再構成回路である。
【００１５】
データパス部のコンテキスト回路（Ｑ１）５−１〜（Ｑ５）５−５は、全て同じデータパス部のコンテキスト回路Ｑであるため、以下、データパス部のコンテキスト回路Ｑとして説明を行う。データパス部のコンテキスト回路Ｑのブロック図を図８に示す。データパス部のコンテキスト回路Ｑは、コンテキストデータによって、組合せ回路Ｃのデータパス部のコンテキストｑを出力する。
【００１６】
ＦＦ出力選択回路（Ｍ１）６−１〜（Ｍ４）６−４は、全て同じＦＦ出力選択回路Ｍであるため、以下、ＦＦ出力選択回路Ｍとして説明する。ＦＦ出力選択回路Ｍのブロック図を図９に示す。ＦＦ出力選択回路Ｍは、データパス部の未使用ＦＦ設定コンテキスト入力ポートｓ、ＦＦをスルーしたＦＦの入力信号の入力ポートｕ、ＦＦ出力の入力ポートｖ、データ出力ポートｗを備えた動作再構成回路で、ｓ、ｕ、ｖの各入力信号値に応じて、入力ｕ、ｖから出力ｗの出力制御を行う機能を有している。
【００１７】
図１０は、ＦＦ出力選択回路Ｍの動作真理値を示す説明図である。
図示のように、ＦＦ出力選択回路Ｍは、
データパス部の未使用ＦＦ設定コンテキスト入力ポートｓの値が１の時に、ＦＦをスルーしたＦＦの入力信号の入力ｕを出力し、
データパス部の未使用ＦＦ設定コンテキスト入力ポートｓの値が２の時に、ＦＦ出力の入力ポートｖを出力する機能を有している。
【００１８】
上記のＦＦ出力選択回路Ｍとクロック制御回路２を組み合わせることにより、未使用ＦＦの場合にもクロックを固定し消費電力を低減することが可能になるという利点もある。具体的には、あるＦＦを使用しない回路構成を実現する場合、該当するＦＦに接続するＦＦ出力選択回路Ｍのデータパス部の未使用ＦＦ設定コンテキストの値を２とし、該当するＦＦに接続するクロック制御回路２のクロック強制有効コンテキストの値を０とする。これにより、ＦＦ出力選択回路ＭはＦＦをスルーしたＦＦの入力信号を出力すると共に、クロック制御回路２の入力ポートｃと入力ポートｒが同じ状態になる。前述したクロック制御回路２の機能によりクロックを固定し消費電力を低減する。
【００１９】
データパス部の未使用ＦＦ設定コンテキスト回路（Ｓ１）７−１〜（Ｓ４）７−４は、全て同じデータパス部の未使用ＦＦ設定コンテキスト回路であるため、以下、データパス部の未使用ＦＦ設定コンテキスト回路Ｓとして説明する。データパス部の未使用ＦＦ設定コンテキスト回路Ｓのブロック図を図１１に示す。図１１に示すように、データパス部の未使用ＦＦ設定コンテキスト回路Ｓはコンテキストデータによって、ＦＦ出力選択回路Ｍのコンテキストｓを出力する。
【００２０】
コンテキストデータ設定手段２００は、クロック強制有効コンテキスト回路Ｐ１〜Ｐ４、データパス部のコンテキスト回路Ｑ１〜Ｑ５、データパス部の未使用ＦＦ設定コンテキスト回路Ｓ１〜Ｓ４のコンテキストデータを保持し、かつ、これら回路に設定する手段である。即ち、コンテキストデータ設定手段２００は、データパス部のコンテキストデータ（コンテキスト番号１）２０１−１〜データパス部のコンテキストデータ（コンテキスト番号ｎ）２０１−ｎと、クロック強制有効コンテキストデータ（コンテキスト番号１）２０２−１〜クロック強制有効コンテキストデータ（コンテキスト番号ｎ）２０２−ｎとを保持しており、これらコンテキストデータを対応するコンテキスト番号の回路に設定する。
【００２１】
図１において、ＰＥ１００におけるＦＦ１〜ＦＦ４の信号の入出力状態は次の通りである。
ＦＦ１には信号ｃ１とクロックｇｃｌｋ１が入力され、ＦＦ１からは信号ｄ１が出力される。
ＦＦ２には信号ｃ２とクロックｇｃｌｋ２が入力され、ＦＦ２からは信号ｄ２が出力される。
ＦＦ３には信号ｃ３とクロックｇｃｌｋ３が入力され、ＦＦ３からは信号ｄ３が出力される。
ＦＦ４には信号ｃ４とクロックｇｃｌｋ４が入力され、ＦＦ４からは信号ｄ４が出力される。
【００２２】
尚、図示例では、ＰＥ１００内のＦＦ１〜ＦＦ４をリセット信号でリセット可能な端子が付いたＦＦとしているが、リセット信号でセット可能な端子が付いたＦＦでも、リセット信号で制御できないリセット端子無しＦＦでも良い。またクロックエッジの極性にも制限は無い。
【００２３】
また、クロック制御回路２−１〜２−４における信号の入出力状態は次の通りである。
クロック制御回路２−１には信号ｑ１と信号ｒ１と信号ｃ１、ならびにクロックＣＬＫが入力しており、クロック制御回路２−１からはクロックｇｃｌｋ１が出力される。
クロック制御回路２−２には信号ｑ２と信号ｒ２と信号ｃ２、ならびにクロックＣＬＫが入力しており、クロック制御回路２−２からはクロックｇｃｌｋ２が出力される。
クロック制御回路２−３には信号ｑ３と信号ｒ３と信号ｃ３、ならびにクロックＣＬＫが入力しており、クロック制御回路２−３からはクロックｇｃｌｋ３が出力される。
クロック制御回路２−４には信号ｑ４と信号ｒ４と信号ｃ４、ならびにクロックＣＬＫが入力しており、クロック制御回路２−４からはクロックｇｃｌｋ４が出力される。
【００２４】
更に、クロック強制有効コンテキスト回路Ｐ１〜Ｐ４における信号の入出力状態は次の通りである。
クロック強制有効コンテキスト回路Ｐ１からは信号ｐ１が出力される。
クロック強制有効コンテキスト回路Ｐ２からは信号ｐ２が出力される。
クロック強制有効コンテキスト回路Ｐ３からは信号ｐ３が出力される。
クロック強制有効コンテキスト回路Ｐ４からは信号ｐ４が出力される。
【００２５】
また、組合せ回路Ｃ１〜Ｃ５における信号の入出力状態は次の通りである。
組合せ回路Ｃ１には信号ｐ１と信号ｘ１と信号ｙ１が入力しており、組合せ回路Ｃ１からは信号ｃ１が出力される。
組合せ回路Ｃ２には信号ｐ２と信号ｘ２と信号ｙ２が入力しており、組合せ回路Ｃ２からは信号ｃ２が出力される。
組合せ回路Ｃ３には信号ｐ３と信号ｘ３と信号ｙ３が入力しており、組合せ回路Ｃ３からは信号ｃ３が出力される。
組合せ回路Ｃ４には信号ｐ４と信号ｘ４と信号ｙ４が入力しており、組合せ回路Ｃ４からは信号ｃ４が出力される。
組合せ回路Ｃ５には信号ｐ５と信号ｘ５と信号ｙ５が入力しており、組合せ回路Ｃ５からは信号ｃ５が出力される。
【００２６】
また、データパス部のコンテキスト回路Ｑ１〜Ｑ５における信号の入出力状態は次の通りである。
データパス部のコンテキスト回路Ｑ１からは信号ｑ１が出力される。
データパス部のコンテキスト回路Ｑ２からは信号ｑ２が出力される。
データパス部のコンテキスト回路Ｑ３からは信号ｑ３が出力される。
データパス部のコンテキスト回路Ｑ４からは信号ｑ４が出力される。
【００２７】
また、ＦＦ出力選択回路Ｍ１〜Ｍ４における信号の入出力状態は次の通りである。
ＦＦ出力選択回路Ｍ１には信号ｓ１と信号ｃ１と信号ｄ１が入力しており、ＦＦ出力選択回路Ｍ１からは信号ｘ２が出力される。
ＦＦ出力選択回路Ｍ２には信号ｓ２と信号ｃ２と信号ｄ２が入力しており、ＦＦ出力選択回路Ｍ２からは信号ｘ４が出力される。
ＦＦ出力選択回路Ｍ３には信号ｓ３と信号ｃ３と信号ｄ３が入力しており、ＦＦ出力選択回路Ｍ３からは信号ｙ４が出力される。
ＦＦ出力選択回路Ｍ４には信号ｓ４と信号ｃ４と信号ｄ４が入力しており、ＦＦ出力選択回路Ｍ４からは信号ｘ５が出力される。
【００２８】
また、データパス部の未使用ＦＦ設定コンテキスト回路Ｓ１〜Ｓ４における信号の入出力状態は次の通りである。
データパス部の未使用ＦＦ設定コンテキスト回路Ｓ１からは信号ｓ１が出力される。
データパス部の未使用ＦＦ設定コンテキスト回路Ｓ２からは信号ｓ２が出力される。
データパス部の未使用ＦＦ設定コンテキスト回路Ｓ３からは信号ｓ３が出力される。
データパス部の未使用ＦＦ設定コンテキスト回路Ｓ４からは信号ｓ４が出力される。
【００２９】
図１２は、ＰＥ１００内の各動的再構成回路に回路番号１〜１３を割当て、各コンテキスト入力ポートに繋ぐ信号の一覧を示す説明図である。また、図１３は、ＰＥ１００内のデータパス部のコンテキストデータを例示する説明図であり、図１４は、クロック強制有効コンテキストデータ例を示す説明図である。
これらの図に示すように、ＰＥ１００内の各動的再構成回路の各コンテキスト入力ポートに適切な値を設定することにより、各動的再構成回路を任意の回路として実現することができる。
【００３０】
尚、ＰＥ１００の回路構成は図１に示した内容に限定されるものではない。ＦＦ毎にクロック制御回路２があれば良いため、回路内部の信号接続を動的に再構成する組合せ回路の有無や、ＦＦの初期値、ＦＦ数、動的に再構成可能な組合せ回路個数、各組合せ回路への信号入力本数、信号入力ポート数、信号出力ポート数、クロック入力ポート数、リセット入力ポート数、内部生成クロック数に制限はなく、正論理、負論理を限定するものでもない。
【００３１】
以上のように、この実施の形態１の動的再構成デバイスによれば、フリップフロップを有するコンテキスト型の動的再構成デバイスにおいて、フリップフロップの入力値と出力値に応じてクロックの固定制御を行うクロック制御回路を備えたので、不要時のクロック供給を停止して消費電力を削減する機能を有した動的再構成デバイスを実現することが可能となる。
【００３２】
また、この実施の形態１の動的再構成デバイスによれば、クロック制御回路は、クロック制御の有無を示すクロック強制有効コンテキストと、フリップフロップの入力値と、フリップフロップの出力値との３信号とクロックを入力とし、３信号の状態に応じてクロックの固定制御を決定し、この結果をフリップフロップへのクロックとして出力し、かつ、クロック強制有効コンテキストの値をコンテキストデータとして保持し設定するコンテキストデータ設定手段を備えたので、不要時のクロック供給を停止して消費電力を削減する機能を有した動的再構成デバイスを実現することが可能となる。
【００３３】
実施の形態２．
図１５および図１６は、実施の形態２による動的再構成デバイスと半導体集積回路設計支援システムの構成を示すブロック図であり、図１５は、動的再構成デバイスで実現する対象回路である半導体集積回路内の回路Ｔ１と回路Ｔ２と示し、図１６は、動的再構成デバイスと半導体集積回路設計支援システムとを示している。尚、動的再構成デバイスの回路部であるプロセッサエレメント（ＰＥ）１００については、図１で示した構成と同様であるため、内部の構成に対する図示は省略している。
【００３４】
対象回路Ｔ１（コンテキスト番号１）１０１は、外部からの信号入力ポートＤＴＩ１〜２と外部への信号出力ポートＤＴＯ１、外部からのクロック入力ポートＣＬＫ８０Ｍ、外部からのリセット入力ポートＲＳＴ＿Ｎ、フリップフロップ（ＦＦ５）１−５〜（ＦＦ８）１−８、論理反転回路（ＩＶ１）８−１〜（ＩＶ２）８−２、論理和回路（ＯＲ１）９を備える。即ち、フリップフロップ（ＦＦ５）１−５の入力には外部からの信号入力ポートＤＴＩ１が接続され、出力は論理反転回路（ＩＶ１）８−１を介してフリップフロップ（ＦＦ６）１−６の入力に接続されている。また、フリップフロップ（ＦＦ６）１−６の出力は論理和回路（ＯＲ１）９の入力に接続されている。更に、フリップフロップ（ＦＦ７）１−７の入力には外部からの信号入力ポートＤＴＩ２が論理反転回路（ＩＶ２）８−２を介して接続され、出力は論理和回路（ＯＲ１）９の入力に接続されている。論理和回路（ＯＲ１）９の出力は、フリップフロップ（ＦＦ８）１−８の入力に接続され、フリップフロップ（ＦＦ８）１−８の出力は、外部への信号出力ポートＤＴＯ１に接続されている。尚、以下、対象回路Ｔ１（コンテキスト番号１）１０１は回路Ｔ１、フリップフロップ（ＦＦ５）１−５〜（ＦＦ８）１−８はＦＦ５〜ＦＦ８、論理反転回路（ＩＶ１）８−１〜（ＩＶ２）８−２は論理反転回路ＩＶ１〜ＩＶ２、論理和回路（ＯＲ１）９は論理和回路ＯＲ１として説明する。
【００３５】
対象回路Ｔ２（コンテキスト番号２）１０２は、外部からの信号入力ポートＤＴＩ３〜４と外部への信号出力ポートＤＴＯ２、外部からのクロック入力ポートＣＬＫ１Ｍ、外部からのリセット入力ポートＲＳＴ＿Ｎ、フリップフロップ（ＦＦ９）１−９〜（ＦＦ１１）１−１１、論理反転回路（ＩＶ３）８−３〜（ＩＶ４）８−４、論理積反転回路（ＮＡ１）１０を備える。即ち、フリップフロップ（ＦＦ９）１−９の入力には、論理反転回路（ＩＶ３）８−３を介して外部からの信号入力ポートＤＴＩ３が接続され、出力は論理積反転回路（ＮＡ１）１０の入力に接続されている。また、フリップフロップ（ＦＦ１０）１−１０の入力には外部からの信号入力ポートＤＴＩ４が接続され、出力は論理積反転回路（ＮＡ１）１０の入力に接続されている。論理積反転回路（ＮＡ１）１０の出力は、フリップフロップ（ＦＦ１１）１−１１の入力に接続され、フリップフロップ（ＦＦ１１）１−１１の出力は、論理反転回路（ＩＶ４）８−４を介して外部への信号出力ポートＤＴＯ２に接続されている。尚、以下、対象回路Ｔ２（コンテキスト番号２）１０２は回路Ｔ２、フリップフロップ（ＦＦ９）１−９〜（ＦＦ１１）１−１１はＦＦ９〜ＦＦ１１、論理反転回路（ＩＶ３）８−３〜（ＩＶ４）８−４はＩＶ３〜ＩＶ４、論理積反転回路（ＮＡ１）１０は論理積反転回路ＮＡ１として説明する。
【００３６】
ここで、論理反転回路ＩＶ１〜４は入力論理を反転出力する反転回路、ＯＲ１は入力２信号に値１がある場合に値１を出力する論理和回路、ＮＡ１は入力２信号が共に１の場合に値０を出力する論理積反転回路である。
【００３７】
実施の形態２による半導体集積回路設計支援システムは、回路情報記憶手段３００、データパス部のコンテキストデータ生成手段４００、クロック停止ＦＦ検出手段５００を備えている。
回路情報記憶手段３００は、動的再構成デバイス内の回路構成情報３０１と、動的再構成デバイス内の遅延時間情報３０２を記憶する。動的再構成デバイス内の回路構成情報３０１とは、プロセッサエレメント（ＰＥ）１００における回路内容と回路間の接続情報である。回路には動的再構成回路とＦＦ、組合せ回路、外部入力ポート、外部出力ポートを含む。また、動的再構成デバイス内の遅延時間情報３０２とは、コンテキストによって変化する出力遅延時間とクロック配線の到達遅延時間の情報である。尚、これらの情報は動的再構成デバイスの設計結果から容易に得られる情報である。
コンテキストによって変化する出力遅延時間は、動的再構成回路の各入力ポートに対して、前段回路の出力ポートまたは外部入力ポートを起点に、選択した入力ポートを通過して動的再構成回路を出力するまでの時間として定義する。回路間の配線遅延と動的再構成回路内の通過遅延を合わせた値として算出し、動的再構成回路毎の全コンテキストに対して、全入力ポートに対して定義する。
クロック配線の到達遅延時間は、基準点から各ＦＦまでに経由する回路名と経由回路まで到達遅延時間をＦＦ毎に保持している。ただし、以下の手続きで必要な値は動的に再構成した結果得られる回路で接続関係のあるＦＦ間のクロック到達遅延時間差であるので、記憶しておくデータ量を減らす方法としては最大値と最小値の差だけを計算して保持しておいてもよい。
【００３８】
データパス部のコンテキストデータ生成手段４００は、ネットリストやハードウェア記述言語等で記述された対象回路の構成要素及びその接続関係に関する情報、目標動作周波数とクロック特性を入力し、回路情報記憶手段３００が保持した動的再構成デバイス内の回路構成情報３０１と動的再構成デバイス内の遅延時間情報３０２を用いて、対象回路と論理的に等価な回路を構成する動的再構成デバイスのデータパス部のコンテキストデータ４０１，４０２を生成する機能を有する。
尚、実施の形態２で必要な情報は動的再構成デバイスのデータパス部のコンテキストデータのみであるので、論理的に等価な回路を生成する技術の詳細については言及しない。
【００３９】
クロック停止ＦＦ検出手段５００は、データパス部のコンテキストデータ生成手段４００が生成したコンテキストデータを適用することで構成される動的再構成デバイスであるプロセッサエレメント（ＰＥ）１００（以下、ＰＥ１００という）上の回路に対してクロックを停止しても不具合が発生することのないＦＦを検出する機能を有する。その構成としては、最大許容遅延算出手段５０１、繋続ＦＦ検出手段５０２、検出ＦＦ記憶手段５０３、最大遅延時間算出・追記手段５０４、最大値検出・追記手段５０５、クロック停止ＦＦ判定手段５０６、クロック強制有効コンテキストデータ生成手段５０７を有する。
【００４０】
最大許容遅延算出手段５０１は、動作周波数およびクロック特性からクロックゲーティングパスの最大許容遅延値Ｔｍを算出する機能を有する。
繋続ＦＦ検出手段５０２は、コンテキストデータにより動的に再構成される回路上でＦＦ毎にＦＦのデータ入力端子に繋がる全てのＦＦと入力ポートを検出し、各ＦＦと入力ポートに到達するまでの経由回路名とクロック位相情報を検出する機能を有する。
検出ＦＦ記憶手段５０３は、繋続ＦＦ検出手段５０２が検出した結果を記憶し、最大遅延時間算出・追記手段５０４と最大値検出・追記手段５０５との情報授受を行う機能を有する。
最大遅延時間算出・追記手段５０４は、繋続ＦＦ検出手段５０２が検出した結果を保持した検出ＦＦ記憶手段５０３の情報と、データパス部のコンテキストデータ４０１，４０２と、動的再構成デバイス内の回路構成情報３０１と動的再構成デバイス内の遅延時間情報３０２とに基づいて、終点ＦＦの入力に繋がるＦＦ毎にＦＦの出力端子からクロック制御回路２内のゲーティング回路までの最大遅延時間と、ＦＦ出力選択回路からのクロック制御回路２内のゲーティング回路までの最大遅延時間を算出し、結果を検出して検出ＦＦ記憶手段５０３に追記する機能を備える。
【００４１】
最大値検出・追記手段５０５は、最大遅延時間算出・追記手段５０４が算出し追記した結果を保持した検出ＦＦ記憶手段５０３の情報から、終点ＦＦ毎の最大値を検出し、結果を検出ＦＦ記憶手段５０３に追記する機能を備える。
クロック停止ＦＦ判定手段５０６は、最大値検出・追記手段５０５が算出し追記した結果を保持した検出ＦＦ記憶手段５０３の情報から終点ＦＦを選択し、接続先に外部入力ポートとクロック位相が同期関係にないＦＦを含む場合はクロック停止不可と判定し、全ての接続先がＦＦでクロック位相が同期の場合に、その終点ＦＦの最大値Ｔｐと、最大許容遅延算出手段５０１が算出した値Ｔｍとの比較を行い、Ｔｐ＜Ｔｍの場合はクロック停止可と判定し、Ｔｐ≧Ｔｍの場合は停止不可と判定する機能を有する。
【００４２】
クロック強制有効コンテキストデータ生成手段５０７は、回路情報記憶手段３００が保持した動的再構成デバイス内の回路構成情報３０１から、ＦＦ毎にＦＦにクロックを供給するクロック制御回路２のクロック強制有効コンテキスト入力ポートｐの初期値を値１に設定後、クロック停止ＦＦ判定手段５０６の検出結果からクロック停止可能なＦＦにクロックを供給するクロック制御回路２のクロック強制有効コンテキスト入力ポートに繋がるクロック強制有効コンテキストｐを値０に再設定し、動的再構成デバイス全体のクロック強制有効コンテキストデータを生成する機能を有する。クロック停止ＦＦ検出手段５００におけるクロック強制有効コンテキストデータ（コンテキスト番号１）５０８−１，（コンテキスト番号２）５０８−２がクロック強制有効コンテキストデータ生成手段５０７によって生成されたクロック強制有効コンテキストデータを示している。
【００４３】
また、コンテキストデータ設定手段２００におけるデータパス部のコンテキストデータ（コンテキスト番号１）２０１−１，（コンテキスト番号２）２０１−２は、データパス部のコンテキストデータ生成手段４００で生成されたデータパス部のコンテキストデータ（コンテキスト番号１）４０１，（コンテキスト番号２）４０２が設定されたものであり、クロック強制有効コンテキストデータ（コンテキスト番号１）２０２−１，（コンテキスト番号２）２０２−２は、クロック強制有効コンテキストデータ（コンテキスト番号１）５０８−１，（コンテキスト番号２）５０８−２が設定されたものである。
【００４４】
実施の形態２による半導体集積回路設計支援システムを構成するデータパス部のクロック停止ＦＦ検出手段５０６、クロック強制有効コンテキストデータ生成手段５０７、データパス部のコンテキストデータ生成手段４００は、コンピュータを用いて実現することができる。つまり、最大許容遅延算出手段５０１、繋続ＦＦ検出手段５０２、最大遅延時間算出・追記手段５０４、最大値検出・追記手段５０５、クロック停止ＦＦ判定手段５０６は、本発明に従う半導体集積回路設計支援プログラムを上記コンピュータのＣＰＵに実行させてその動作を制御することにより、ハードウェアとソフトウェアが協働した具体的手段として当該コンピュータ上に実現することができる。
また、回路情報記憶手段３００、検出ＦＦ記憶手段５０３は、コンピュータのメモリや外部記憶装置等に構築される。対象回路の構成要素間の接続関係に関する情報は、例えば上記コンピュータに装備された記憶装置に格納され、上記手段に適宜読み出されて利用される。
尚、以下の説明において、本発明の半導体集積回路設計支援システムを具現化するコンピュータ自体の構成及びその基本的な機能については、当業者が当該技術分野の技術常識に基づいて容易に認識できるものであり、本発明の本質に直接関わるものでないので詳細な記載を省略する。
【００４５】
次に実施の形態２の動作を説明する。
図１７および図１８は、実施の形態２の動作を示すフローチャートであり、この図に沿って動作の詳細を説明する。
以下、図１５に例示しているように動的再構成デバイスの回路部であるＰＥ１００で説明を行う。回路構成情報は実施の形態１に記載した内容であり、遅延情報はコンテキストによって変化する出力遅延時間定義の数値例を図１９〜２１に示し、クロック入力ポートＣＬＫからの各ＦＦまでのクロック配線の到達遅延時間を図２２に示す。尚、図２２から分かるようにクロック配線の到達遅延時間の最大値と最小値の差は１［ｎｓ］である。
【００４６】
先ず、データパス部のコンテキストデータ生成手段４００に、対象回路情報とコンテキスト番号と目標動作周波数とクロック特性ならびに外部入出力タイミング制約を入力する（ステップＳＴ１）。
対象回路は回路Ｔ１、コンテキスト番号は１、目標動作周波数は８０［ＭＨｚ］、クロック特性としてクロックデューティを４５［％］、クロックジッタは２［％］、外部入出力タイミング制約としては制約無しに相当する０［ｎｓ］を入力する。ここで［］は単位表記であり、％は周期に対する割合で使用しているが、時間単位にするなどの単位の変更も可能である。尚、対象回路内に複数のクロックがある場合はクロック名と各数値をクロックの本数分入力し、外部入出力タイミング制約指定が必要な外部入力ポートや外部出力ポート、外部入出力ポートが有る場合は、ポート名とタイミング制約を必要な数だけ入力する。
次に、データパス部のコンテキストデータ生成手段４００は、コンテキスト番号１に対するデータパス部のコンテキストデータ４０１を生成する（ステップＳＴ２）。以下、データパス部のコンテキストデータ生成手段４００で行うステップＳＴ２の処理について説明を行う。
【００４７】
タイミング制約値を決定し、対象回路からクロック抽出、リセット抽出、ＦＦ抽出、出力ポート抽出の順に処理を行い、出力ポートから接続を遡りながら、ＰＥ１００で構成するコンテキストデータが決定するまで各コンテキストの選択とタイミング判定とコンテキストの決定を繰り返す。
先ず、ステップＳＴ１で入力された情報と回路情報記憶手段３００の内容を元に、動的再構成デバイスのタイミング制約を決定する。外部入出力タイミング制約は入力情報をそのまま使用し、ＦＦ間のデータパス遅延の最大許容遅延時間Ｔｆは、目標動作周波数の周期からクロックジッタとクロック配線の到達遅延時間差を減算して決定する。
コンテキスト番号１の場合は、外部入出力タイミング制約が０のため制約無し、Ｔｆ＝１２．５０×（１−２／１００）−１＝１１．２５となる。
回路Ｔ１に対する外部入出力タイミング制約は無いので、入力ポートＤＴＩ１〜２、および出力ポートＤＴＯ１に対するタイミング判定はスキップされる。また、ＦＦ間のタイミング判定は、データパス遅延Ｔｄが、Ｔｄ≦１１．２５であるかを判定する。タイミング判定で違反した場合は別の回路構成の探索とそのタイミング判定を違反が無くなるまで繰り返し、違反が残った場合は違反値が最小になるＦＦ間の回路構成情報と違反値を記憶することになるが、この処理は本発明の本質に関わるものではないので省略する。
【００４８】
回路Ｔ１のクロック信号数とクロック接続情報を抽出する。回路Ｔ１の抽出結果は、クロック信号数は１、この接続数は４、全てポジエッジトリガのＦＦ。次にリセット信号数とリセット接続情報を抽出する。回路Ｔ１の抽出結果は、リセット信号数は１、この接続数は４、全てリセット信号で制御可能な端子が付いた初期値０のリセット端子付きリセットＦＦ。
クロックとリセットに関して抽出した情報からＰＥ１００内のクロック信号接続とリセット信号接続を決定する。回路Ｔ１のＦＦ数４個に対して、ＰＥ１００から同じクロックに繋がる４個のリセット端子付きリセットＦＦ１〜ＦＦ４から選択する。
次に、回路Ｔ１の出力ポート数と接続情報を確認する。回路Ｔ１の抽出結果は、出力ポート数が１、１個のＦＦから回路経由無し接続。
抽出結果に対して、回路Ｔ１の出力ポートＤＴＯ１とＦＦ８をＰＥ１００の出力ポートＯＵＴ１とＦＦ４に割当てる。この時、ＰＥ１００の組合せ回路Ｃ５の出力はＦＦ４出力から入力ポートｘのスルー出力である必要があるためコンテキストｑ５は値１に、Ｍ４の出力もＦＦ経由出力である必要があるためコンテキストｓ４は値１に決定される。前述した理由によりタイミング判定はスキップされる。
【００４９】
次に、回路Ｔ１内の４個のＦＦに対して、ＦＦの入力に繋がる接続情報を抽出する。出力ポートに繋がるＦＦから順に選び、ＦＦ８はＦＦ６とＦＦ７から論理和回路ＯＲ１を経由して接続、ＦＦ６はＦＦ５から論理反転回路ＩＶ１を経由して接続、ＦＦ７は入力ポートＤＴＩ２から論理反転回路ＩＶ２を経由して接続、ＦＦ５は入力ポートＤＴＩ１から回路経由無く接続している。
抽出結果に対して、回路Ｔ１の論理和回路ＯＲ１とＦＦ６とＦＦ７を回路ＰＥ１００の組合せ回路Ｃ４とＦＦ２とＦＦ３に割当てる。この時、ＰＥ１００の組合せ回路Ｃ４は論理和である必要があるためコンテキストｑ４は値７に、ＦＦ出力選択回路Ｍ２とＦＦ出力選択回路Ｍ３の出力もＦＦ経由である必要があるためコンテキストｓ２とｓ３は共に値１が選ばれる。
ここで、ＦＦ間のデータパス遅延Ｔｄのタイミング判定が行われる。ＦＦ２からＦＦ４までの間にはＦＦ出力選択回路Ｍ２の入力ポートｖと組合せ回路Ｃ４の入力ポートｘを経由している。図２０、図２１からＴｄ＝３＋６＝９≦Ｔｆとなりタイミング判定を満たす。ＦＦ３からＦＦ４までの間にはＦＦ出力選択回路Ｍ３の入力ポートｖと組合せ回路Ｃ４の入力ポートｙを経由しており、同様に、Ｔｄ＝３＋５＝８≦Ｔｆでタイミング判定を満たす。以上により、ＦＦ４に繋がる全てのＦＦのタイミング判定に違反が無かったので選ばれたコンテキスト値が決定される。
【００５０】
同様に、回路Ｔ１のＦＦ５と論理反転回路ＩＶ１を回路ＰＥ１００のＦＦ１と組合せ回路Ｃ２に、回路Ｔ１のＤＴＩ２と論理反転回路ＩＶ２を回路ＰＥ１００のＩＮ６と組合せ回路Ｃ３の入力ポートｘに、回路Ｔ１のＤＴＩ１をＰＥ１００のＩＮ４と組合せ回路Ｃ１の入力ポートｘに割当てる。
この時、ＰＥ１００の組合せ回路Ｃ２のコンテキストｑ２と組合せ回路Ｃ３のコンテキストｑ３は共に入力ポートｘの論理反転の値３に、組合せ回路Ｃ１のコンテキストｑ１は入力ポートｘのスルー出力の値１に、ＦＦ出力選択回路Ｍ１の出力もＦＦ経由である必要があるため、コンテキストｓ１は値１が選ばれる。ここでＦＦ間のデータパス遅延のタイミング判定が行われ、入力ポートのタイミング判定は前述した理由によりスキップされる。ＦＦ１からＦＦ２までの間には、ＦＦ出力選択回路Ｍ１の入力ポートｖと組合せ回路Ｃ２の入力ポートｘを経由している。Ｔｄ＝３＋１＝４≦Ｔｆを満たす。
以上により、ＦＦ２に繋がる全てのＦＦのタイミング判定に違反が無く、ＦＦ１とＦＦ３は入力ポートのみに繋がっているのでタイミング判定に違反が無かったので選ばれたコンテキスト値が決定される。
このような処理により、回路Ｔ１に対する全ての回路と入力ポートと出力ポートの割当が終了し、データパス部のコンテキストデータ生成手段４００は、回路Ｔ１に対するＰＥ１００のデータパス部のコンテキストデータとして、図２３に示すような結果を得る。尚、ＰＥ１００の入力ポートＩＮ１〜３、ＩＮ５は使用されない。
【００５１】
データパス部のコンテキストデータ生成手段４００は、次のコンテキスト番号入力が無いかを判定する（ステップＳＴ３）。ステップＳＴ３において、次のコンテキストデータ生成が必要なため、ステップＳＴ１に戻る。
対象回路は回路Ｔ２、コンテキスト番号は２、目標動作周波数は１［ＭＨｚ］、クロック特性としてクロックデューティを２５［％］、クロックジッタは２０［％］、外部入出力タイミング制約としては制約無しに相当する０［ｎｓ］を入力する。
次に、データパス部のコンテキストデータ生成手段４００は、コンテキスト番号２に対するデータパス部のコンテキストデータを生成する（ステップＳＴ２）。前述の回路Ｔ１の場合のステップＳＴ２と同様に、先ず、ステップＳＴ１で入力された情報と回路情報記憶手段３００の内容を元に、動的再構成デバイスのタイミング制約を決定する。コンテキスト番号２の場合は、外部入出力タイミング制約が０のため制約無し、Ｔｆ＝１０００×（１−２０／１００）−１＝７９９となる。
回路Ｔ２のクロック信号数とクロック接続情報を抽出する。回路Ｔ２の抽出結果は、クロック信号数は１、この接続数は３、全てポジエッジトリガのＦＦ。次にリセット信号数とリセット接続情報を抽出する。回路Ｔ２の抽出結果は、リセット信号数は１、この接続数は３、全てリセット信号で制御可能な端子が付いた初期値０のリセット端子付きリセットＦＦ。
【００５２】
クロックとリセットに関して抽出した情報からＰＥ１００内のクロック信号接続とリセット信号接続を決定する。回路Ｔ２のＦＦ数３個に対して、ＰＥ１００から同じクロックに繋がる４個のリセット端子付きリセットＦＦ１〜ＦＦ４から選択する。
次に、回路Ｔ２の出力ポート数と接続情報を確認する。回路Ｔ２の抽出結果は、出力ポート数が１、１個のＦＦから論理反転して接続。
抽出結果に対して、回路Ｔ２の出力ポートＤＴＯ２と論理反転回路ＩＶ４とＦＦ１１をＰＥ１００の出力ポートＯＵＴ１と組合せ回路Ｃ５とＦＦ４に割当てる。この時、ＰＥ１００の組合せ回路Ｃ５の出力はＦＦ４出力の入力ポートｘの論理反転のためコンテキストｑ５は値３に、ＦＦ出力選択回路Ｍ４の出力もＦＦ経由のためコンテキストｓ４は値１に決定される。前述した理由によりタイミング判定はスキップされる。
次に、回路Ｔ２内の３個のＦＦに対して、ＦＦの入力に繋がる接続情報を抽出する。出力ポートに繋がるＦＦから順に選び、ＦＦ１１はＦＦ９とＦＦ１０から論理積反転ＮＡ１を経由して接続、ＦＦ１０は入力ポートＤＴＩ４から直接接続、ＦＦ９は入力ポートＤＴＩ３の論理反転回路ＩＶ３を経由して接続している。
【００５３】
抽出結果に対して、回路Ｔ２の論理積反転回路ＮＡ１とＦＦ９とＦＦ１０をＰＥ１００の組合せ回路Ｃ４とＦＦ２とＦＦ３に割当てる。この時、ＰＥ１００の組合せ回路Ｃ４は論理積反転のためｑ４は値６に、ＦＦ出力選択回路Ｍ３とＦＦ出力選択回路Ｍ２の出力はＦＦ経由のためコンテキストｓ３とｓ２は共に値１が選ばれる。
ここで、ＦＦ間のデータパス遅延Ｔｄのタイミング判定が行われる。ＦＦ２からＦＦ４までの間にはＦＦ出力選択回路Ｍ２の入力ポートｖと組合せ回路Ｃ４の入力ポートｘを経由している。図２０、図２１からＴｄ＝３＋２＝５≦Ｔｆとなりタイミング判定を満たす。ＦＦ３からＦＦ４までの間にはＦＦ出力選択回路Ｍ３の入力ポートｖと組合せ回路Ｃ４の入力ポートｙを経由しており、同様に、Ｔｄ＝３＋１＝４≦Ｔｆでタイミング判定を満たす。以上により、ＦＦ４に繋がる全てのＦＦのタイミング判定に違反が無かったので選ばれたコンテキスト値が決定される。
【００５４】
同様に、回路Ｔ２の論理反転回路ＩＶ３とＤＴＩ３を回路ＰＥ１００の組合せ回路Ｃ２とＩＮ２に、回路Ｔ２のＤＴＩ４をＰＥ１００のＩＮ６に割当てる。この時、ＰＥ１００の組合せ回路Ｃ２のコンテキストｑ２は入力ポートｙの論理反転の値４に、組合せ回路Ｃ３のコンテキストｑ３は入力ポートｘのスルー出力の値１が選ばれる。
ここで入力ポートのタイミング判定は前述した理由によりスキップされる。
以上により、回路Ｔ２に対する全ての回路と入力ポートと出力ポートの割当が終了し、データパス部のコンテキストデータ生成手段４００は回路Ｔ２に対するＰＥ１００のデータパス部のコンテキストデータとして、図２９を得る。尚、ＰＥ１００の入力ポートＩＮ１、ＩＮ３〜５、ＦＦ１、組合せ回路Ｃ１、ＦＦ出力選択回路Ｍ１は使用されない。
以上が、ステップＳＴ１〜ステップＳＴ２の詳細である。
【００５５】
次に、データパス部のコンテキストデータ生成手段４００は、次のコンテキスト番号の入力が無いかを判定する（ステップＳＴ３）。このステップＳＴ３において、次のコンテキストデータ生成は不要なため、ステップＳＴ４に移る。次に、クロック停止ＦＦ検出手段５００は、任意のコンテキスト番号を選ぶ（ステップＳＴ４）。ここでは、コンテキスト番号１を選ぶ。
次に、クロック強制有効コンテキストデータ生成手段５０７は、データパス部のコンテキストデータ生成手段４００がステップＳＴ２で生成したデータパス部のコンテキストデータ４０１から未使用ＦＦを検出し、クロック強制有効コンテキストデータの初期値を作成する（ステップＳＴ５）。未使用ＦＦ情報は、データパス部のコンテキストデータ４０１のうち、ＦＦ出力選択回路Ｍのコンテキスト入力ポートｓの値により判定することが出来る。ｓの値が１の時は未使用ＦＦで、ｓの値が２の時は動作ＦＦである。
【００５６】
ここで、図２３に示すようにコンテキスト番号１のＦＦ出力選択回路Ｍ１〜４のコンテキスト入力ポートｓの値は全て２であるため、クロック強制有効コンテキストｐ１〜４の全ての初期値を１に設定する。クロック強制有効コンテキストデータ生成手段５０７が作成したコンテキスト番号１のクロック強制有効コンテキストデータの初期値を図２４に示す。
次に、最大許容遅延算出手段５０１は、クロックゲーティングパスの最大許容遅延値Ｔｍを算出する（ステップＳＴ６）。Ｔｍの算出方法は、周期からジッタを減算した値にデューティを乗じ、クロック配線の遅延時間差を減算する。
コンテキスト番号１のＴｍ＝１２．５０×（１−２／１００）×４５／１００−１＝４．５１。
【００５７】
次に、繋続ＦＦ検出手段５０２は、データパス部のコンテキストデータ４０１から、対象回路内の回路構成を復元する（ステップＳＴ７）。図２３に示すコンテキスト番号１のデータパス部のコンテキストデータ４０１から、回路Ｔ１内の回路構成をＰＥ１００に復元する。
次に、繋続ＦＦ検出手段５０２は、対象回路内の動作ＦＦを検出し、番号付けする（ステップＳＴ８）。図２３に示すコンテキスト番号１のデータパス部のコンテキストデータ４０１から、ＰＥ１００内の動作ＦＦである、ＦＦ１、ＦＦ２、ＦＦ３、ＦＦ４を検出し、１、２、３、４と番号付けする。
【００５８】
次に、繋続ＦＦ検出手段５０２は、ステップＳＴ８で番号付けしたＦＦ毎にＦＦのデータ入力端子に繋がる全てのＦＦと入力ポートと経由回路を検出する（ステップＳＴ９）。ここで、番号１から４まで順番にＦＦ毎にＦＦのデータ入力端子に繋がる全てのＦＦと入力ポートと経由回路を検出する。
終点ＦＦ１のデータ入力端子に繋がるＦＦは無く、入力ポートＩＮ４が検出される。
終点ＦＦ２のデータ入力端子に繋がるＦＦはＦＦ１が検出され、入力ポートは検出されない。
終点ＦＦ３のデータ入力端子に繋がるＦＦは無く、入力ポートＩＮ６が検出される。
終点ＦＦ４のデータ入力端子に繋がるＦＦはＦＦ２とＦＦ３が検出され、入力ポートは検出されない。
【００５９】
次に、繋続ＦＦ検出手段５０２は、ステップＳＴ９の検出結果から終点ＦＦの駆動クロックとＦＦの駆動クロックの間に、クロック位相が同期関係にあるかどうかを判定する（ステップＳＴ１０）。終点ＦＦ２の駆動クロックとＦＦ１の駆動クロックは同一のクロックＣＬＫであるため同期関係にあると判定する。終点ＦＦ４の駆動クロックとＦＦ２とＦＦ３の駆動クロックは同一のクロックＣＬＫであるため同期関係にあると判定する。
次に、検出ＦＦ記憶手段５０３は、ステップＳＴ９とステップＳＴ１０の結果からＦＦ毎にＦＦのデータ入力端子に繋がる全てのＦＦと入力ポートと経由回路の情報を記憶する（ステップＳＴ１１）。ステップＳＴ１１で記憶したステップＳＴ８の検出結果とステップＳＴ９の判定結果を図２５に示す。
【００６０】
次に、クロック停止ＦＦ検出手段５００は、ステップＳＴ１１の結果から接続種別がＦＦでクロック位相が同期の終点ＦＦを選ぶ（ステップＳＴ１２）。ここでは、ＦＦ２を選択する。
次に、最大遅延時間算出・追記手段５０４は、ＳＴ１２で選んだＦＦのデータ入力端子に繋がるＦＦ毎にＦＦの出力端子からクロック制御回路２内のゲーティング回路までの最大遅延時間とＦＦ出力選択回路からのクロック制御回路２内のゲーティング回路までの最大遅延時間を算出し追記する（ステップＳＴ１３）。ＦＦ２に繋がるＦＦはＦＦ１のみであり、ＦＦ１からクロック制御回路２−２内のゲーティング回路までの経路遅延計算式は、Ｔｃ＝Ｍ１ｖ＋Ｃ２ｘ＋ＣＫ２ｃ＝２＋１＋１＝４
ＦＦ２の出力選択回路からクロック制御回路２−２内のゲーティング回路までの経路遅延計算式は、Ｔｒ＝Ｍ２ｖ＋ＣＫ２ｒ＝２＋１＝３
【００６１】
次に、最大値検出・追記手段５０５は、ＳＴ１３の結果から最大遅延時間Ｔｐを検出し、追記する（ステップＳＴ１４）。ＦＦ２に繋がるＦＦはＦＦ１のみであるので、Ｔｃ＞ＴｒとなりＴｐ＝Ｔｃ＝４となる。
次に、クロック停止ＦＦ判定手段５０６は、Ｔｐ＜Ｔｍが成立するかどうかを判定し、成立の場合はステップＳＴ１６、不成立の場合はステップＳＴ１８へ移る（ステップＳＴ１５）。Ｔｐ＝４、Ｔｍ＝４．５１であるのでＴｐ＜Ｔｍが成立し、ステップＳＴ１６へ移る。
次に、クロック停止ＦＦ判定手段５０６は、クロック停止可能なＦＦとして検出ＦＦ記憶手段５０３に追記する（ステップＳＴ１６）。ＦＦ２がクロック停止可能と追記する。
次に、クロック強制有効コンテキストデータ生成手段５０７は、クロック強制有効コンテキスト値を値０に書き換える（ステップＳＴ１７）。クロック制御回路２−２のクロック強制有効コンテキストｐ２の値を０に書き換える。
次に、クロック停止ＦＦ判定手段５０６は、接続種別がＦＦでクロック位相が同期である全ての終点ＦＦに対する処理が終了しているか判定し、終了していればステップＳＴ１９に移り、終了していなければステップＳＴ１２に移る（ステップＳＴ１８）。ここでは、ＦＦ４に対する処理が終了していないので、ステップＳＴ１２に移る。
【００６２】
クロック停止ＦＦ検出手段５００は、ステップＳＴ１１の結果から接続種別がＦＦでクロック位相が同期の終点ＦＦを選ぶ（ステップＳＴ１２）。ここでは、ＦＦ４を選択する。
次に、最大遅延時間算出・追記手段５０４は、ＳＴ１２で選んだＦＦのデータ入力端子に繋がるＦＦ毎にＦＦの出力端子からクロック制御回路２内のゲーティング回路までの最大遅延時間とＦＦ出力選択回路からのクロック制御回路２内のゲーティング回路までの最大遅延時間を算出し追記する（ステップＳＴ１３）。ＦＦ４に繋がるＦＦはＦＦ２とＦＦ３があり、ＦＦ２からクロック制御回路２−４内のゲーティング回路までの経路遅延計算式は、Ｔｃ２＝Ｍ２ｖ＋Ｃ４ｘ＋ＣＫ４ｃ＝２＋６＋１＝９
ＦＦ３からクロック制御回路２−４内のゲーティング回路までの経路遅延計算式は、Ｔｃ３＝Ｍ３ｖ＋Ｃ４ｙ＋ＣＫ４ｃ＝２＋５＋１＝８
ＦＦ４の出力選択回路からクロック制御回路２−４内のゲーティング回路までの経路遅延計算式は、Ｔｒ＝Ｍ４ｖ＋ＣＫ４ｒ＝２＋１＝３
次に、最大値検出・追記手段５０５は、ＳＴ１３の結果から最大遅延時間Ｔｐを検出し、追記する（ステップＳＴ１４）。ＦＦ４に繋がるＦＦはＦＦ２とＦＦ３であるので、Ｔｃ２＞Ｔｃ３＞ＴｒとなりＴｐ＝Ｔｃ２＝９となる。
【００６３】
次に、クロック停止ＦＦ判定手段５０６は、Ｔｐ＜Ｔｍが成立するかどうかを判定し、成立の場合はステップＳＴ１６、不成立の場合はステップＳＴ１８へ移る（ステップＳＴ１５）。Ｔｐ＝９、Ｔｍ＝４．５１であるのでＴｐ＜Ｔｍが成立せず、ステップＳＴ１８へ移る。
次に、クロック停止ＦＦ判定手段５０６は、接続種別がＦＦでクロック位相が同期である全ての終点ＦＦに対する処理が終了しているか判定し、終了していればステップＳＴ１９に移り、終了していなければステップＳＴ１２に移る（ステップＳＴ１８）。全てのＦＦに対する処理が終了したので、ステップＳＴ１９に移る。
【００６４】
ここまでの手続きにより、コンテキスト番号１に対する処理が完了する。
最大遅延時間算出・追記手段５０４が算出したコンテキスト番号１に関するクロック制御回路２内のクロックゲーティング回路までの遅延計算式と最大遅延時間を図２６に示す。
また、検出ＦＦ記憶手段５０３上のコンテキスト番号１に関する最終情報を図２７に示す。
また、コンテキスト番号１のクロック強制有効コンテキストデータを図２８に示す。
次に、クロック停止ＦＦ判定手段５０６は、全てのコンテキスト番号に対する処理が終了したか判定し、終了していればステップＳＴ２０に移り、終了していなければステップＳＴ４に移る（ステップＳＴ１９）。コンテキスト番号２に対する処理が終了していないので、ステップＳＴ４に移る。
【００６５】
次に、クロック停止ＦＦ検出手段５００は、任意のコンテキスト番号を選ぶ（ステップＳＴ４）。ここでは、コンテキスト番号２を選ぶ。次に、クロック強制有効コンテキストデータ生成手段５０７は、データパス部のコンテキストデータ生成手段４００がステップＳＴ２で生成したデータパス部のコンテキストデータ４０２から未使用ＦＦを検出し、クロック強制有効コンテキストデータの初期値を作成する（ステップＳＴ５）。ここで、図２９に示すようにコンテキスト番号２のＦＦ出力選択回路Ｍ１〜４のコンテキスト入力ポートｓの値はｓ１が１で、ｓ２〜ｓ４は２であるため、クロック強制有効コンテキストｐ１の初期値を０、ｐ２〜４の初期値を１に設定する。
クロック強制有効コンテキストデータ生成手段５０７が作成したコンテキスト番号２のクロック強制有効コンテキストデータの初期値を図３０に示す。
【００６６】
次に、最大許容遅延算出手段５０１は、クロックゲーティングパスの最大許容遅延値Ｔｍを算出する（ステップＳＴ６）。Ｔｍの算出方法は、周期からジッタを減算した値にデューティを乗じ、クロック配線の遅延時間差を減算する。
コンテキスト番号２のＴｍ＝１０００×（１−２０／１００）×２５／１００−１＝１９９。
次に、繋続ＦＦ検出手段５０２は、データパス部のコンテキストデータ４０２から、対象回路内の回路構成を復元する（ステップＳＴ７）。図２９に示すコンテキスト番号２のデータパス部のコンテキストデータ４０２から、回路Ｔ２内の回路構成をＰＥ１００に復元する。次に、繋続ＦＦ検出手段５０２は、対象回路内の動作ＦＦを検出し、番号付けする。（ステップＳＴ８）。図２９に示すコンテキスト番号２のデータパス部のコンテキストデータ４０２から、ＰＥ１００内の動作ＦＦである、ＦＦ２、ＦＦ３、ＦＦ４を検出し、１、２、３と番号付けする。次に、繋続ＦＦ検出手段５０２は、ステップＳＴ８で番号付けしたＦＦ毎にＦＦのデータ入力端子に繋がる全てのＦＦと入力ポートと経由回路を検出する（ステップＳＴ９）。ここで、番号１から３まで順番にＦＦ毎にＦＦのデータ入力端子に繋がる全てのＦＦと入力ポート名を検出する。
終点ＦＦ２のデータ入力端子に繋がるＦＦは無く、入力ポートＩＮ２が検出される。
終点ＦＦ３のデータ入力端子に繋がるＦＦは無く、入力ポートＩＮ６が検出される。
終点ＦＦ４のデータ入力端子に繋がるＦＦはＦＦ２とＦＦ３が検出され、入力ポートは検出されない。
【００６７】
次に、繋続ＦＦ検出手段５０２は、ステップＳＴ９の検出結果から終点ＦＦの駆動クロックとＦＦの駆動クロックの間に、クロック位相が同期関係にあるかどうかを判定する（ステップＳＴ１０）。終点ＦＦ４の駆動クロックとＦＦ２とＦＦ３の駆動クロックは同一のクロックＣＬＫであるため同期関係にあると判定する。
次に、検出ＦＦ記憶手段５０３は、ステップＳＴ９とステップＳＴ１０の結果からＦＦ毎にＦＦのデータ入力端子に繋がる全てのＦＦと入力ポートと経由回路の情報を記憶する（ステップＳＴ１１）。ステップＳＴ１１で記憶したステップＳＴ８の検出結果とステップＳＴ９の判定結果を図３１に示す。
【００６８】
次に、クロック停止ＦＦ検出手段５００は、ステップＳＴ１１の結果から接続種別がＦＦでクロック位相が同期の終点ＦＦを選ぶ（ステップＳＴ１２）。ここでは、ＦＦ４を選択する。
次に、最大遅延時間算出・追記手段５０４は、ＳＴ１２で選んだＦＦのデータ入力端子に繋がるＦＦ毎にＦＦの出力端子からクロック制御回路２内のゲーティング回路までの最大遅延時間とＦＦ出力選択回路からのクロック制御回路２内のゲーティング回路までの最大遅延時間を算出し追記する（ステップＳＴ１３）。ＦＦ４に繋がるＦＦはＦＦ２とＦＦ３があり、ＦＦ２からクロック制御回路２−４内のゲーティング回路までの経路遅延計算式は、Ｔｃ２＝Ｍ２ｖ＋Ｃ４ｘ＋ＣＫ４ｃ＝２＋３＋１＝６
ＦＦ３からクロック制御回路２−４内のゲーティング回路までの経路遅延計算式は、Ｔｃ３＝Ｍ３ｖ＋Ｃ４ｙ＋ＣＫ４ｃ＝２＋２＋１＝５
ＦＦ４の出力選択回路からクロック制御回路２−４内のゲーティング回路までの経路遅延計算式は、Ｔｒ＝Ｍ４ｖ＋ＣＫ４ｒ＝２＋１＝３
【００６９】
次に、最大値検出・追記手段５０５は、ＳＴ１３の結果から最大遅延時間Ｔｐを検出し、追記する（ステップＳＴ１４）。ＦＦ４に繋がるＦＦはＦＦ２とＦＦ３であるので、Ｔｃ２＞Ｔｃ３＞ＴｒとなりＴｐ＝Ｔｃ２＝６となる。
次に、クロック停止ＦＦ判定手段５０６は、Ｔｐ＜Ｔｍが成立するかどうかを判定し、成立の場合はステップＳＴ１６、不成立の場合はステップＳＴ１８へ移る（ステップＳＴ１５）。Ｔｐ＝６、Ｔｍ＝１９９であるのでＴｐ＜Ｔｍが成立し、ステップＳＴ１６へ移る。次に、クロック停止ＦＦ判定手段５０６は、クロック停止可能なＦＦとして検出ＦＦ記憶手段５０３に追記する（ステップＳＴ１６）。ＦＦ４がクロック停止可能と追記する。
次に、クロック強制有効コンテキストデータ生成手段５０７は、クロック強制有効コンテキスト値を値０に書き換える（ステップＳＴ１７）。クロック制御回路２−４のクロック強制有効コンテキストｐ４の値を０に書き換える。
【００７０】
次に、クロック停止ＦＦ判定手段５０６は、接続種別がＦＦでクロック位相が同期である全ての終点ＦＦに対する処理が終了しているか判定し、終了していればステップＳＴ１９に移り、終了していなければステップＳＴ１２に移る（ステップＳＴ１８）。全てのＦＦに対する処理が終了したので、ステップＳＴ１９に移る。
ここまでの手続きにより、コンテキスト番号２に対する処理が完了する。
最大遅延時間算出・追記手段５０４が算出したコンテキスト番号２に関するクロック制御回路２内のクロックゲーティング回路までの遅延計算式と最大遅延時間を図３２に示す。
検出ＦＦ記憶手段５０３上のコンテキスト番号２に関する最終情報を図３３に示す。
コンテキスト番号２のクロック強制有効コンテキストデータを図３４に示す。
【００７１】
次に、クロック停止ＦＦ判定手段５０６は、全てのコンテキスト番号に対する処理が終了したか判定し、終了していればステップＳＴ２０に移り、終了していなければステップＳＴ４に移る（ステップＳＴ１９）。全てのコンテキスト番号に対する処理が終了したのでステップＳＴ２０に移る。最後に、クロック停止ＦＦ検出手段５００は、クロック停止ＦＦ検出を完了する（ステップＳＴ２０）。
ＰＥ１００のコンテキストデータの説明を図３５に、また、ＰＥ１００のビット割当て例を図３６に示す。
【００７２】
なお、実施の形態２ではＰＥ１００を例に述べたが、例えば図３７のように複数プロセッサエレメントが搭載された動的再構成デバイス（ＰＰ１）１０３でも同様に、ＰＥ２とＰＥ３の間のＦＦ間のデータパス遅延を算出し、クロック停止ＦＦを検出することが出来る。尚、ＰＥ２〜ＰＥ５内のフリップフロップ（ＦＦ１）１−１〜（ＦＦ４）１−４やクロック制御回路２−１〜２−４の各構成は、図１に示した構成と同等であるため、対応する部分に同一符号を付してその説明を省略する。
【００７３】
以上のように、この実施の形態２の半導体集積回路設計支援システムによれば、実施の形態１の動的再構成デバイスに対して、動的再構成デバイス内の隣接するフリップフロップを出力してからコンテキスト値によって構成される回路を通過し終わるまでの最大遅延時間を算出し、算出した最大遅延時間値からクロック停止可能なフリップフロップを検出し、このフリップフロップへのクロックを制御するクロック制御回路の制御値を決定し、クロック強制有効コンテキストデータとして生成するクロック停止ＦＦ検出手段を備えたので、大規模な制御回路による集中管理を必要とせず、クロック配線による消費電力を抑えることが可能な動的再構成デバイスを用いた半導体集積回路の設計支援を行うことができる。
【００７４】
また、この実施の形態２の半導体集積回路設計支援システムによれば、クロック停止ＦＦ検出手段は、動作周波数およびクロック特性からクロックゲーティングパスの最大許容遅延を算出する最大許容遅延算出手段と、コンテキストデータにより動的に再構成される回路上でフリップフロップ毎にフリップフロップのデータ入力端子に繋がる全てのフリップフロップを検出する繋続ＦＦ検出手段と、繋続ＦＦ検出手段の検出結果に基づいて、フリップフロップ間の最大遅延時間であるＦＦ間最大遅延時間を算出する最大遅延時間算出・追記手段と、最大遅延時間算出・追記手段の算出結果に基づいて、フリップフロップ毎の遅延時間の最大値を検出する最大値検出・追記手段と、最大値検出・追記手段が検出した最大値と、最大許容遅延の値からクロック停止可能なフリップフロップを判定するクロック停止ＦＦ判定手段と、クロック停止ＦＦ判定手段が判定した結果からクロック強制有効コンテキストデータを生成するクロック強制有効コンテキストデータ生成手段とを備えたので、更に、クロックゲーティングパスの最大許容遅延値を閾値としてデータパス遅延値からクロックゲーティングの可否を判定することで、クロック停止するフリップフロップに繋がるクロック制御回路による誤動作を回避することが可能となる。
【００７５】
また、この実施の形態２の半導体集積回路設計支援プログラムによれば、半導体集積回路設計支援を行うコンピュータを、実施の形態１の動的再構成デバイスに対して、動的再構成デバイス内の隣接するフリップフロップを出力してからコンテキスト値によって構成される回路を通過し終わるまでの最大遅延時間を算出し、算出した最大遅延時間値からクロック停止可能なフリップフロップを検出し、このフリップフロップへのクロックを制御するクロック制御回路の制御値を決定し、クロック強制有効コンテキストデータとして生成するクロック停止ＦＦ検出手段として機能させるようにしたので、大規模な制御回路による集中管理を必要とせず、クロック配線による消費電力を抑えることが可能な動的再構成デバイスを用いた半導体集積回路の設計支援を行うことができる半導体集積回路設計支援システムをコンピュータ上に実現することができる。
【００７６】
また、この実施の形態２の半導体集積回路設計支援プログラムによれば、クロック停止ＦＦ検出手段は、動作周波数およびクロック特性からクロックゲーティングパスの最大許容遅延を算出する最大許容遅延算出手段と、コンテキストデータにより動的に再構成される回路上でフリップフロップ毎にフリップフロップのデータ入力端子に繋がる全てのフリップフロップを検出する繋続ＦＦ検出手段と、繋続ＦＦ検出手段の検出結果に基づいて、フリップフロップ間の最大遅延時間であるＦＦ間最大遅延時間を算出する最大遅延時間算出・追記手段と、最大遅延時間算出・追記手段の算出結果に基づいて、フリップフロップ毎の遅延時間の最大値を検出する最大値検出・追記手段と、最大値検出・追記手段が検出した最大値と、最大許容遅延の値からクロック停止可能なフリップフロップを判定するクロック停止ＦＦ判定手段と、クロック停止ＦＦ判定手段が判定した結果からクロック強制有効コンテキストデータを生成するクロック強制有効コンテキストデータ生成手段とを備えたので、更に、クロックゲーティングパスの最大許容遅延値を閾値としてデータパス遅延値からクロックゲーティングの可否を判定することで、クロック停止するフリップフロップに繋がるクロック制御回路による誤動作を回避することが可能な半導体集積回路設計支援システムをコンピュータ上に実現することができる。
【図面の簡単な説明】
【００７７】
【図１】この発明の実施の形態１による動的再構成デバイスを示す構成図である。
【図２】この発明の実施の形態１による動的再構成デバイスのクロック制御回路の構成図である。
【図３】この発明の実施の形態１による動的再構成デバイスのクロック制御回路の動作真理値を示す説明図である。
【図４】この発明の実施の形態１による動的再構成デバイスのクロック強制有効コンテキスト入力ポートｐの入力状態を示す説明図である。
【図５】この発明の実施の形態１による動的再構成デバイスのクロック強制有効コンテキスト回路の構成図である。
【図６】この発明の実施の形態１による動的再構成デバイスの組合せ回路Ｃの構成図である。
【図７】この発明の実施の形態１による動的再構成デバイスの組合せ回路Ｃの動作真理値を示す説明図である。
【図８】この発明の実施の形態１による動的再構成デバイスのデータパス部のコンテキスト回路の構成図である。
【図９】この発明の実施の形態１による動的再構成デバイスのＦＦ出力選択回路の構成図である。
【図１０】この発明の実施の形態１による動的再構成デバイスのＦＦ出力選択回路の動作真理値を示す説明図である。
【図１１】この発明の実施の形態１による動的再構成デバイスのデータパス部の未使用ＦＦ設定コンテキスト回路の構成図である。
【図１２】この発明の実施の形態１による動的再構成デバイスの各コンテキスト入力ポートに繋ぐ信号の説明図である。
【図１３】この発明の実施の形態１による動的再構成デバイスのデータパス部のコンテキストデータの説明図である。
【図１４】この発明の実施の形態１による動的再構成デバイスのクロック強制有効コンテキストデータの説明図である。
【図１５】この発明の実施の形態２による動的再構成デバイスの動的再構成デバイスと半導体集積回路設計支援システムの構成を示すブロック図（その１）である。
【図１６】この発明の実施の形態２による動的再構成デバイスの動的再構成デバイスと半導体集積回路設計支援システムの構成を示すブロック図（その２）である。
【図１７】この発明の実施の形態２による半導体集積回路設計支援システムの動作を示すフローチャート（その１）である。
【図１８】この発明の実施の形態２による半導体集積回路設計支援システムの動作を示すフローチャート（その２）である。
【図１９】この発明の実施の形態２による半導体集積回路設計支援システムのクロック制御回路の出力遅延時間定義の説明図である。
【図２０】この発明の実施の形態２による半導体集積回路設計支援システムの組合せ回路Ｃの出力遅延時間定義の説明図である。
【図２１】この発明の実施の形態２による半導体集積回路設計支援システムの組合せ回路Ｍの出力遅延時間定義の説明図である。
【図２２】この発明の実施の形態２による半導体集積回路設計支援システムのＦＦ毎のクロック配線の到達遅延時間の説明図である。
【図２３】この発明の実施の形態２による半導体集積回路設計支援システムのコンテキスト番号１のデータパス部のコンテキストデータの説明図である。
【図２４】この発明の実施の形態２による半導体集積回路設計支援システムのコンテキスト番号１のクロック強制有効コンテキストデータの初期値の説明図である。
【図２５】この発明の実施の形態２による半導体集積回路設計支援システムの繋続ＦＦ検出手段が検出したコンテキスト番号１に関する情報の説明図である。
【図２６】この発明の実施の形態２による半導体集積回路設計支援システムの最大遅延時間算出・追記手段が算出したコンテキスト番号１に関するクロック制御回路内のクロックゲーティング回路までの遅延計算式と最大遅延時間を示す説明図である。
【図２７】この発明の実施の形態２による半導体集積回路設計支援システムの検出ＦＦ記憶手段上のコンテキスト番号１に関する最終情報を示す説明図である。
【図２８】この発明の実施の形態２による半導体集積回路設計支援システムのコンテキスト番号１のクロック強制有効コンテキストデータを示す説明図である。
【図２９】この発明の実施の形態２による半導体集積回路設計支援システムのコンテキスト番号２のデータパス部のコンテキストデータを示す説明図である。
【図３０】この発明の実施の形態２による半導体集積回路設計支援システムのコンテキスト番号２のクロック強制有効コンテキストデータの初期値の説明図である。
【図３１】この発明の実施の形態２による半導体集積回路設計支援システムの繋続ＦＦ検出手段が検出したコンテキスト番号２に関する情報の説明図である。
【図３２】この発明の実施の形態２による半導体集積回路設計支援システムの最大遅延時間算出・追記手段が算出したコンテキスト番号２に関する終点ＦＦの入力パスと出力パスに関する遅延計算式を示す説明図である。
【図３３】この発明の実施の形態２による半導体集積回路設計支援システムの検出ＦＦ記憶手段上のコンテキスト番号２に関する最終情報を示す説明図である。
【図３４】この発明の実施の形態２による半導体集積回路設計支援システムのコンテキスト番号２のクロック強制有効コンテキストデータの説明図である。
【図３５】この発明の実施の形態２による半導体集積回路設計支援システムのコンテキストデータの説明図である。
【図３６】この発明の実施の形態２による半導体集積回路設計支援システムのコンテキストデータのビット割当て例を示す説明図である。
【図３７】この発明の実施の形態２による半導体集積回路設計支援システムの複数プロセッサエレメント間に跨る場合の動的再構成デバイスを示す構成図である。
【符号の説明】
【００７８】
１−１〜１−１１  フリップフロップ（ＦＦ１〜ＦＦ１１）、２−１〜２−４  クロック制御回路、３−１〜３−４  クロック強制有効コンテキスト回路（Ｐ１〜Ｐ４）、４−１〜４−５  組合せ回路（Ｃ１〜Ｃ５）、５−１〜５−５  データパス部のコンテキスト回路（Ｑ１〜Ｑ５）、６−１〜６−４  ＦＦ出力選択回路（Ｍ１〜Ｍ４）、７−１〜７−４  データパス部の未使用ＦＦ設定コンテキスト回路（Ｓ１〜Ｓ４）、８−１〜８−４  論理反転回路（ＩＶ１〜ＩＶ４）、９  論理和回路（ＯＲ１）、１０  論理積反転回路（ＮＡ１）、１００  プロセッサエレメント（ＰＥ）、１０１  対象回路Ｔ１、１０２  対象回路Ｔ２、１０３  動的再構成デバイス（ＰＰ１）、２００  コンテキストデータ設定手段、２０１−１〜２０１−ｎ  データパス部のコンテキストデータ（コンテキスト番号１〜コンテキスト番号ｎ）、２０２−１〜２０２−ｎ  クロック強制有効コンテキストデータ（コンテキスト番号１〜コンテキスト番号ｎ）、３００  回路情報記憶手段、３０１  動的再構成デバイス内の回路構成情報、３０２  動的再構成デバイス内の遅延時間情報、４００  データパス部のコンテキストデータ生成手段、４０１  データパス部のコンテキストデータ（コンテキスト番号１）、４０２  データパス部のコンテキストデータ（コンテキスト番号２）、５００  クロック停止ＦＦ検出手段、５０１  最大許容遅延算出手段、５０２  繋続ＦＦ検出手段、５０３  検出ＦＦ記憶手段、５０４  最大遅延時間算出・追記手段、５０５  最大値検出・追記手段、５０６  クロック停止ＦＦ判定手段、５０７  クロック強制有効コンテキストデータ生成手段、５０８−１，５０８−２  クロック強制有効コンテキストデータ（コンテキスト番号１，コンテキスト番号２）。
【図１】
0005241218.tif 000002
【図２】
0005241218.tif 000003
【図３】
0005241218.tif 000004
【図４】
0005241218.tif 000005
【図５】
0005241218.tif 000006
【図６】
0005241218.tif 000007
【図７】
0005241218.tif 000008
【図８】
0005241218.tif 000009
【図９】
0005241218.tif 000010
【図１０】
0005241218.tif 000011
【図１１】
0005241218.tif 000012
【図１２】
0005241218.tif 000013
【図１３】
0005241218.tif 000014
【図１４】
0005241218.tif 000015
【図１５】
0005241218.tif 000016
【図１６】
0005241218.tif 000017
【図１７】
0005241218.tif 000018
【図１８】
0005241218.tif 000019
【図１９】
0005241218.tif 000020
【図２０】
0005241218.tif 000021
【図２１】
0005241218.tif 000022
【図２２】
0005241218.tif 000023
【図２３】
0005241218.tif 000024
【図２４】
0005241218.tif 000025
【図２５】
0005241218.tif 000026
【図２６】
0005241218.tif 000027
【図２７】
0005241218.tif 000028
【図２８】
0005241218.tif 000029
【図２９】
0005241218.tif 000030
【図３０】
0005241218.tif 000031
【図３１】
0005241218.tif 000032
【図３２】
0005241218.tif 000033
【図３３】
0005241218.tif 000034
【図３４】
0005241218.tif 000035
【図３５】
0005241218.tif 000036
【図３６】
0005241218.tif 000037
【図３７】
0005241218.tif 000038