(57)【要約】【課題】高速なパイプライン回路を実現する動作レベル記述を生成するのに好適な動作合成装置を提供する。【解決手段】半導体集積回路の動作を記述する動作レベル記述を受け付ける受付部２１、当該動作レベル記述をＮ個の段階記述に分割し、当該Ｎ個の段階記述の間の入出力並びに演算がパイプライン処理されるようにタイミングをスケジュールするスケジュール部２２、当該Ｎ個の段階記述及び当該タイミングに基づいて、当該Ｎ個の段階記述のそれぞれに対する段階回路と、当該半導体集積回路がとりうる２Ｎ−１個の段階状態を制御する状態制御回路と、が形成されるように、レジスタ転送レベル記述を生成する生成部２３、を備える。生成部２３は、使用しない間は各段階回路が動作しないように、当該レジスタ転送レベル記述を生成する。【選択図】図２
2010086310.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の動作を記述する動作レベル記述を受け付ける受付部、
前記受け付けられた動作レベル記述を、Ｎ個の段階記述に分割し、当該Ｎ個の段階記述の間の入出力並びに演算がパイプライン処理されるようにタイミングをスケジュールするスケジュール部、
当該Ｎ個の段階記述及び当該タイミングに基づいて、当該Ｎ個の段階記述のそれぞれに対する段階回路と、当該半導体集積回路がとりうる２Ｎ−１個の段階状態を制御する状態制御回路と、が形成されるように、当該半導体集積回路の構成、配置、配線を記述するレジスタ転送レベル記述を生成する生成部、
を備え、
前記生成部は、
整数ｉ＝１，２，…，Ｎ−１のそれぞれについて、ｉ番目の段階回路の出力がｉ＋１番目の段階回路の入力となり、
当該状態制御回路は、当該半導体集積回路の段階状態を１番目の段階状態からＮ−１番目の段階状態まで順に更新し、その後Ｎ番目の段階状態をＬ回繰り返し、その後Ｎ＋１番目の段階状態から２Ｎ−１番目の段階状態まで順に更新し、
現在の段階状態がｊ番目の段階状態である場合、当該状態制御回路は、
（ａ）ｊが１以上Ｎ未満であれば、
１番目からｊ番目までの段階回路を動作させ、ｊ＋１番目からＮ番目までの段階回路を停止させ、
（ｂ）ｊがＮに等しければ、
１番目からＮ番目までの段階回路を動作させ、
（ｃ）ｊがＮより大きければ、
１番目からｊ−Ｎ番目までの段階回路を停止させ、ｊ−Ｎ＋１番目からＮ番目までの段階回路を動作させる
ように、当該レジスタ転送レベル記述を生成する
ことを特徴とする動作合成装置。
【請求項２】
請求項１に記載の動作合成装置であって、
前記生成部は、
当該２Ｎ−１個の段階状態のそれぞれを、Ｍ個の動作状態に分割し、
現在の動作状態がｋ番目の動作状態である場合、当該状態制御回路は、当該半導体集積回路の構成、配置、配線をｋ番目のコンテキストに切り換える
ように、当該レジスタ転送レベル記述を生成する
ことを特徴とする動作合成装置。
【請求項３】
受付部、スケジュール部、生成部を備える動作合成装置が実行する動作合成方法であって、
前記受付部が、半導体集積回路の動作を記述する動作レベル記述を受け付ける受付ステップ、
前記スケジュール部が、前記受け付けられた動作レベル記述を、Ｎ個の段階記述に分割し、当該Ｎ個の段階記述の間の入出力並びに演算がパイプライン処理されるようにタイミングをスケジュールするスケジュールステップ、
前記生成部が、当該Ｎ個の段階記述及び当該タイミングに基づいて、当該Ｎ個の段階記述のそれぞれに対する段階回路と、当該半導体集積回路がとりうる２Ｎ−１個の段階状態を制御する状態制御回路と、が形成されるように、当該半導体集積回路の構成、配置、配線を記述するレジスタ転送レベル記述を生成する生成ステップ、
を備え、
前記生成部は、
整数ｉ＝１，２，…，Ｎ−１のそれぞれについて、ｉ番目の段階回路の出力がｉ＋１番目の段階回路の入力となり、
当該状態制御回路は、当該半導体集積回路の段階状態を１番目の段階状態からＮ−１番目の段階状態まで順に更新し、その後Ｎ番目の段階状態をＬ回繰り返し、その後Ｎ＋１番目の段階状態から２Ｎ−１番目の段階状態まで順に更新し、
現在の段階状態がｊ番目の段階状態である場合、当該状態制御回路は、
（ａ）ｊが１以上Ｎ未満であれば、
１番目からｊ番目までの段階回路を動作させ、ｊ＋１番目からＮ番目までの段階回路を停止させ、
（ｂ）ｊがＮに等しければ、
１番目からＮ番目までの段階回路を動作させ、
（ｃ）ｊがＮより大きければ、
１番目からｊ−Ｎ番目までの段階回路を停止させ、ｊ−Ｎ＋１番目からＮ番目までの段階回路を動作させる
ように、当該レジスタ転送レベル記述を生成する
ことを特徴とする動作合成方法。
【請求項４】
コンピュータを、
半導体集積回路の動作を記述する動作レベル記述を受け付ける受付部、
前記受け付けられた動作レベル記述を、Ｎ個の段階記述に分割し、当該Ｎ個の段階記述の間の入出力並びに演算がパイプライン処理されるようにタイミングをスケジュールするスケジュール部、
当該Ｎ個の段階記述及び当該タイミングに基づいて、当該Ｎ個の段階記述のそれぞれに対する段階回路と、当該半導体集積回路がとりうる２Ｎ−１個の段階状態を制御する状態制御回路と、が形成されるように、当該半導体集積回路の構成、配置、配線を記述するレジスタ転送レベル記述を生成する生成部、
として機能させるためのプログラムであって、
前記生成部は、
整数ｉ＝１，２，…，Ｎ−１のそれぞれについて、ｉ番目の段階回路の出力がｉ＋１番目の段階回路の入力となり、
当該状態制御回路は、当該半導体集積回路の段階状態を１番目の段階状態からＮ−１番目の段階状態まで順に更新し、その後Ｎ番目の段階状態をＬ回繰り返し、その後Ｎ＋１番目の段階状態から２Ｎ−１番目の段階状態まで順に更新し、
現在の段階状態がｊ番目の段階状態である場合、当該状態制御回路は、
（ａ）ｊが１以上Ｎ未満であれば、
１番目からｊ番目までの段階回路を動作させ、ｊ＋１番目からＮ番目までの段階回路を停止させ、
（ｂ）ｊがＮに等しければ、
１番目からＮ番目までの段階回路を動作させ、
（ｃ）ｊがＮより大きければ、
１番目からｊ−Ｎ番目までの段階回路を停止させ、ｊ−Ｎ＋１番目からＮ番目までの段階回路を動作させる
ように、当該レジスタ転送レベル記述を生成する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速なパイプライン回路を実現する動作レベル記述を生成するのに好適な動作合成装置、動作合成方法並びにプログラムに関する。
【背景技術】
【０００２】
近年、専用論理回路並の性能を実現しつつ、回路動作を容易に変更可能なアレイ型プロセッサとしてＤＲＰ（Ｄｙｎａｍｉｃａｌｌｙ  Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｐｒｏｃｅｓｓｏｒ）が注目されている。また、コンピュータ技術の進歩により、ＤＲＰを用いて実現される電子回路の設計、解析および評価等を動作合成ツールや論理合成ツールを備えるＣＡＤ（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ）システムを使用して行うのが一般的になっている。例えば、特許文献１には、このようなＣＡＤシステムに適用される動作合成装置が開示されている。
【０００３】
ここで、動作合成ツールは、入力ポートや変数のビット幅等のＨ／Ｗ化に必要な情報を含んだ動作レベル記述を動作合成することにより、ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ（レジスタ転送レベル））記述を出力するツールである。より詳細には、動作合成ツールは、ＳｙｓｔｅｍＣ言語等の高水準言語で記述された動作レベル記述の構文解析を行い、ＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成する。続いて、動作合成ツールは、生成したＤＦＧに基づいてスケジューリングすることにより、ＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成する。そして、動作合成ツールは、生成したＣＤＦＧに基づいて、論理合成ツールに直接入力可能なＲＴＬ記述を生成する。
【０００４】
なお、動作合成ツールは、複数のコンテキスト（動作状態）を切り換えながら処理を実行する電子回路が生成されるように動作合成してもよい。この場合、動作合成ツールは、クロック信号などに基づいてコンテキストを切り換えるＳＴＣ（Ｓｔａｔｅ  Ｔｒａｎｓｉｔｉｏｎ  Ｃｏｎｔｒｏｌｌｅｒ）が生成される電子回路に含まれるように動作合成する。また、コンテキストは１つであってもよく、ＳＴＣが１つのコンテキスト内において複数の処理段階（段階状態）を切り換えるようにしてもよい。
【０００５】
一方、高速な計算回路を実現するためにパイプライン回路を用いることがよくある。パイプライン回路は、複数の段階回路からなり、各段階回路には、互いに異なる計算処理が割り当てられ、前の段階回路からデータを受け取り、互いに共通するクロック数で並列に計算処理を行い、次の段階回路へ計算結果を受け渡す。
【０００６】
【特許文献１】特開２００３−９９４０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従って、このようなパイプライン回路をＤＲＰなどの再構成可能半導体集積回路で実現する際に、高速な計算を可能としたいという要望は大きい。
【０００８】
本発明は、上記問題に鑑みてなされたものであり、高速なパイプライン回路を実現する動作レベル記述を生成するのに好適な動作合成装置、動作合成方法並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、第１の観点に係る動作合成装置は、
半導体集積回路の動作を記述する動作レベル記述を受け付ける受付部、
前記受け付けられた動作レベル記述を、Ｎ個の段階記述に分割し、当該Ｎ個の段階記述の間の入出力並びに演算がパイプライン処理されるようにタイミングをスケジュールするスケジュール部、
当該Ｎ個の段階記述及び当該タイミングに基づいて、当該Ｎ個の段階記述のそれぞれに対する段階回路と、当該半導体集積回路がとりうる２Ｎ−１個の段階状態を制御する状態制御回路と、が形成されるように、当該半導体集積回路の構成、配置、配線を記述するレジスタ転送レベル記述を生成する生成部、
を備え、
前記生成部は、
整数ｉ＝１，２，…，Ｎ−１のそれぞれについて、ｉ番目の段階回路の出力がｉ＋１番目の段階回路の入力となり、
当該状態制御回路は、当該半導体集積回路の段階状態を１番目の段階状態からＮ−１番目の段階状態まで順に更新し、その後Ｎ番目の段階状態をＬ回繰り返し、その後Ｎ＋１番目の段階状態から２Ｎ−１番目の段階状態まで順に更新し、
現在の段階状態がｊ番目の段階状態である場合、当該状態制御回路は、
（ａ）ｊが１以上Ｎ未満であれば、
１番目からｊ番目までの段階回路を動作させ、ｊ＋１番目からＮ番目までの段階回路を停止させ、
（ｂ）ｊがＮに等しければ、
１番目からＮ番目までの段階回路を動作させ、
（ｃ）ｊがＮより大きければ、
１番目からｊ−Ｎ番目までの段階回路を停止させ、ｊ−Ｎ＋１番目からＮ番目までの段階回路を動作させる
ように、当該レジスタ転送レベル記述を生成する
ことを特徴とする。
【００１０】
上記目的を達成するために、その他の観点に係る動作合成方法は、
受付部、スケジュール部、生成部を備える動作合成装置が実行する動作合成方法であって、
前記受付部が、半導体集積回路の動作を記述する動作レベル記述を受け付ける受付ステップ、
前記スケジュール部が、前記受け付けられた動作レベル記述を、Ｎ個の段階記述に分割し、当該Ｎ個の段階記述の間の入出力並びに演算がパイプライン処理されるようにタイミングをスケジュールするスケジュールステップ、
前記生成部が、当該Ｎ個の段階記述及び当該タイミングに基づいて、当該Ｎ個の段階記述のそれぞれに対する段階回路と、当該半導体集積回路がとりうる２Ｎ−１個の段階状態を制御する状態制御回路と、が形成されるように、当該半導体集積回路の構成、配置、配線を記述するレジスタ転送レベル記述を生成する生成ステップ、
を備え、
前記生成部は、
整数ｉ＝１，２，…，Ｎ−１のそれぞれについて、ｉ番目の段階回路の出力がｉ＋１番目の段階回路の入力となり、
当該状態制御回路は、当該半導体集積回路の段階状態を１番目の段階状態からＮ−１番目の段階状態まで順に更新し、その後Ｎ番目の段階状態をＬ回繰り返し、その後Ｎ＋１番目の段階状態から２Ｎ−１番目の段階状態まで順に更新し、
現在の段階状態がｊ番目の段階状態である場合、当該状態制御回路は、
（ａ）ｊが１以上Ｎ未満であれば、
１番目からｊ番目までの段階回路を動作させ、ｊ＋１番目からＮ番目までの段階回路を停止させ、
（ｂ）ｊがＮに等しければ、
１番目からＮ番目までの段階回路を動作させ、
（ｃ）ｊがＮより大きければ、
１番目からｊ−Ｎ番目までの段階回路を停止させ、ｊ−Ｎ＋１番目からＮ番目までの段階回路を動作させる
ように、当該レジスタ転送レベル記述を生成する
ことを特徴とする。
【００１１】
上記目的を達成するために、その他の観点に係るプログラムは、
コンピュータを、
半導体集積回路の動作を記述する動作レベル記述を受け付ける受付部、
前記受け付けられた動作レベル記述を、Ｎ個の段階記述に分割し、当該Ｎ個の段階記述の間の入出力並びに演算がパイプライン処理されるようにタイミングをスケジュールするスケジュール部、
当該Ｎ個の段階記述及び当該タイミングに基づいて、当該Ｎ個の段階記述のそれぞれに対する段階回路と、当該半導体集積回路がとりうる２Ｎ−１個の段階状態を制御する状態制御回路と、が形成されるように、当該半導体集積回路の構成、配置、配線を記述するレジスタ転送レベル記述を生成する生成部、
として機能させるためのプログラムであって、
前記生成部は、
整数ｉ＝１，２，…，Ｎ−１のそれぞれについて、ｉ番目の段階回路の出力がｉ＋１番目の段階回路の入力となり、
当該状態制御回路は、当該半導体集積回路の段階状態を１番目の段階状態からＮ−１番目の段階状態まで順に更新し、その後Ｎ番目の段階状態をＬ回繰り返し、その後Ｎ＋１番目の段階状態から２Ｎ−１番目の段階状態まで順に更新し、
現在の段階状態がｊ番目の段階状態である場合、当該状態制御回路は、
（ａ）ｊが１以上Ｎ未満であれば、
１番目からｊ番目までの段階回路を動作させ、ｊ＋１番目からＮ番目までの段階回路を停止させ、
（ｂ）ｊがＮに等しければ、
１番目からＮ番目までの段階回路を動作させ、
（ｃ）ｊがＮより大きければ、
１番目からｊ−Ｎ番目までの段階回路を停止させ、ｊ−Ｎ＋１番目からＮ番目までの段階回路を動作させる
ように、当該レジスタ転送レベル記述を生成する
ことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、高速なパイプライン回路を実現する動作レベル記述を生成するのに好適な動作合成装置、動作合成方法並びにプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１３】
（第１の実施形態）
以下、図面を参照して、本実施形態に係る動作合成装置について説明する。まず、図１を参照して、本実施形態に係る動作合成装置１００の構成について説明する。動作合成装置１００は、入力ポートや変数のビット幅等のＨ／Ｗ化に必要な情報を記述する動作レベル記述を動作合成することにより、半導体集積回路の構成、配置、配線を記述するレジスタ転送レベル（ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ））記述を得る装置である。
【００１４】
図１に示すように、動作合成装置１００は、物理的には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、ハードディスク１４と、入力装置１５と、表示装置１６と、通信装置１７と、を備える。動作合成装置１００が備える各構成要素はバスを介して接続される。
【００１５】
ＣＰＵ１１は、ハードディスク１４に記憶されたプログラムに従って動作合成装置１００全体の動作を制御する。ＣＰＵ１１は、各構成要素とバスを介して接続され制御信号やデータのやりとりをする。
【００１６】
ＲＯＭ１２は、電源投入直後に実行されるＩＰＬ（Ｉｎｉｔｉａｌ  Ｐｒｏｇｒａｍ  Ｌｏａｄｅｒ）を記憶する。ＩＰＬが実行された後、ＣＰＵ１１は、ハードディスク１４に記憶されたプログラムをＲＡＭ１３に読み出して実行する。
【００１７】
ＲＡＭ１３は、データやプログラムを一時的に記憶する。
【００１８】
ハードディスク１４は、ＣＰＵ１１により実行されるプログラムを記憶する。また、ハードディスク１４は、動作合成する対象の動作レベル記述、動作合成により得られたＲＴＬ記述、動作合成する際の制約条件等を記憶する。なお、制約条件は、ポート数の条件や遅延時間の制約条件などを含む。
【００１９】
入力装置１５は、ＣＰＵ１１による制御のもと、動作合成する対象の動作合成記述の指定、動作合成の開始要求等をユーザから受け付ける。入力装置１５は、例えば、キーボードやマウスから構成される。
【００２０】
表示装置１６は、ＣＰＵ１１による制御のもと、動作合成する対象の動作合成記述の指定をユーザから受け付けるための画面、動作合成の開始要求をユーザから受け付けるための画面、動作レベル記述をユーザに提示する画面、レジスタ転送レベル記述をユーザに提示する画面等を表示する。表示装置１６は、例えば、液晶ディスプレイ装置から構成される。
【００２１】
通信装置１７は、ＣＰＵ１１による制御のもと、外部の情報処理装置と通信することにより、動作レベル記述を外部の情報処理装置から入力したり、レジスタ転送レベル記述を外部の情報処理装置へ出力したりする。通信装置１７は、例えば、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）から構成される。
【００２２】
次に、本実施形態に係る動作合成装置１００の基本構成について説明する。
【００２３】
図２は、本実施形態に係る動作合成装置１００の基本構成を示すブロック図である。図２に示すように、動作合成装置１００は、機能的には、受付部２１と、スケジュール部２２と、生成部２３と、を備える。
【００２４】
受付部２１は、半導体集積回路の動作を記述する動作レベル記述を受け付ける。
【００２５】
スケジュール部２２は、受け付けられた動作レベル記述を、Ｎ個の段階記述に分割し、当該Ｎ個の段階記述の間の入出力並びに演算がパイプライン処理されるようにタイミングをスケジュールする。
【００２６】
生成部２３は、当該Ｎ個の段階記述及び当該タイミングに基づいて、当該Ｎ個の段階記述のそれぞれに対する段階回路と、当該半導体集積回路がとりうる２Ｎ−１個の段階状態を制御する状態制御回路と、が形成されるように、当該半導体集積回路の構成、配置、配線を記述するレジスタ転送レベル記述を生成する。
【００２７】
ここで、生成部２３は、以下の（１）〜（３）に示すようにレジスタ転送レベルを生成する。
（１）整数ｉ＝１，２，…，Ｎ−１のそれぞれについて、ｉ番目の段階回路の出力がｉ＋１番目の段階回路の入力となる。
（２）当該状態制御回路は、当該半導体集積回路の段階状態を１番目の段階状態からＮ−１番目の段階状態まで順に更新し、その後Ｎ番目の段階状態をＬ回繰り返し、その後Ｎ＋１番目の段階状態から２Ｎ−１番目の段階状態まで順に更新する。
（３）現在の段階状態がｊ番目の段階状態である場合、当該状態制御回路は、以下の（ａ）〜（ｃ）に示すように動作する。
（ａ）ｊが１以上Ｎ未満であれば、
１番目からｊ番目までの段階回路を動作させ、ｊ＋１番目からＮ番目までの段階回路を停止させる。
（ｂ）ｊがＮに等しければ、
１番目からＮ番目までの段階回路を動作させる。
（ｃ）ｊがＮより大きければ、
１番目からｊ−Ｎ番目までの段階回路を停止させ、ｊ−Ｎ＋１番目からＮ番目までの段階回路を動作させる。
【００２８】
次に、動作合成装置１００が生成したレジスタ転送レベル記述により実現される半導体集積回路を実現するＤＲＰ（Ｄｙｎａｍｉｃａｌｌｙ  Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｐｒｏｃｅｓｓｏｒ）３００の構成の概要について、図３を参照して説明する。
【００２９】
ＤＲＰ３００は、供給された処理データに所定の演算を施し、演算結果を結果データとして出力する。図３に示すように、ＤＲＰ３００は、多数のＰＥ（Ｐｒｏｃｅｓｓｉｎｇ  Ｅｌｅｍｅｎｔ）３０と、データ入力部４１と、データ出力部４２と、状態遷移制御部４３と、を備える。
【００３０】
ＰＥ３０は、ＤＲＰ３００の内部に格子状に配置され、データ配線及びフラグ配線により他のＰＥ３０と接続される。図３に示す例では、８×８＝６４個のＰＥ３０が配置されている。
【００３１】
図４に示すように、ＰＥ３０は、コンフィギュレーションメモリ３１と、演算ユニット３２と、レジスタ３３と、を備える。ＰＥ３０が備える各要素は、ＰＥ３０内において、図示しないデータ配線を介してデータの受け渡しを行い、図示しないフラグ配線を介してフラグの受け渡しを行う。
【００３２】
ＰＥ３０は、データ配線を介して他のＰＥ３０から供給されたデータに簡単な演算を施し、演算により得られたデータをデータ配線を介して別のＰＥ３０に供給する。また、ＰＥ３０は、フラグ配線を介して他のＰＥ３０からフラグを供給される。さらにＰＥ３０は、フラグをフラグ配線を介して別のＰＥ３０に供給する。
【００３３】
コンフィギュレーションメモリ３１は、演算ユニット３２の命令の内容（以下、「演算情報」という。）と、配線接続スイッチ３４〜３８の配線接続情報とをコンフィギュレーションコード（以下、「回路構成情報」という。）として記憶する。コンフィギュレーションメモリ３１は、回路構成情報を、時間軸上で動的に切り替える構成面（以下「コンテキスト」という。）の個数分記憶する。図４に示す例では、コンフィギュレーションメモリ３１は、コンテキスト１〜コンテキストＭにそれぞれ対応したＭ個分の回路構成情報（コード１〜コードＭ）を記憶している。なお、コンテキストは、後述する状態遷移制御部４３により指定される。
【００３４】
演算ユニット３２は、供給されたデータに簡単な演算を施す。なお、演算ユニット３２が施す演算内容は、コンフィギュレーションメモリ３１に記憶された演算情報のうち、状態遷移制御部４３により指定されたコンテキストの演算情報により決定される。
【００３５】
レジスタ３３は、演算ユニット３２が出力した演算の結果データや演算の中間データなどを一時記憶する。
【００３６】
配線接続スイッチ３４〜３６は、それぞれの配線接続情報に従って、対応するＰＥ３０（当該配線接続情報を記憶するコンフィギュレーションメモリ３１を備えるＰＥ３０）と、他のＰＥ３０（例えば、隣接するＰＥ３０）とをデータ配線で接続する。
【００３７】
配線接続スイッチ３６〜３８は、それぞれの配線接続情報に従って、対応するＰＥ３０（当該配線接続情報を記憶するコンフィギュレーションメモリ３１を備えるＰＥ３０）と、他のＰＥ３０（例えば、隣接するＰＥ３０）とをフラグ配線で接続する。
【００３８】
配線接続スイッチ３４〜３６は、コンフィギュレーションメモリ３１に記憶された配線接続情報のうち、対応するコンテキストの配線接続情報に従って配線を接続する。なお、配線接続スイッチ３６は、データ配線やフラグ配線の交差部に配置される。
【００３９】
データ入力部４１は、ＤＲＰ３００の周辺部に配置され、ＤＲＰ３００の外部から供給された処理データをＰＥ３０に供給する。
【００４０】
データ出力部４２は、ＰＥ３０から供給されたデータを結果データとしてＤＲＰ３００の外部に出力する。
【００４１】
状態遷移制御部４３は、各ＰＥ３０の入出力の状態やクロック信号などに基づいて、回路の遷移状態を検出する。そして、状態遷移制御部４３は、検出した遷移状態に基づいて、どのタイミングでどのコンテキストに切り換えるかを検出するとともに、どのタイミングでどの回路部分をアクティブにするかを検出する。状態遷移制御部４３は、検出結果を示す信号を生成して、出力する。
【００４２】
次に、図５に示すフローチャートを参照して、動作合成装置１００が実行する動作合成処理について説明する。なお、動作合成装置１００は、あらかじめハードディスク１４に記憶されている動作レベル記述を、あらかじめハードディスク１４に記憶されている制約条件に従って動作合成し、生成したレジスタ転送レベル記述をハードディスク１４に記憶するものとして説明する。また、当該動作レベル記述は、パイプライン処理により効率よくデータを処理する回路（以下「パイプライン回路」という。）を生成するための動作レベル記述であるものとして説明する。
【００４３】
動作合成装置１００は、例えば、動作合成する対象の動作合成記述の指定と動作合成の開始要求とを入力装置１５を介してユーザから受けると、図５のフローチャートに示す動作合成処理を開始する。
【００４４】
まず、ＣＰＵ１１は、動作合成する対象の動作レベル記述を受け付ける（ステップＳ１０１）。具体的には、ＣＰＵ１１は、入力装置１５がユーザから動作合成する対象の動作レベル記述の指定を受け付けたことに応答して、指定された動作レベル記述をハードディスク装置１４から読み出してＲＡＭ１３に記憶する。すなわち、ＣＰＵ１１と入力装置１５とが協働することにより受付部２１として機能する。
【００４５】
次に、ＣＰＵ１１は、動作レベル記述に基づいてグラフを生成する（ステップＳ１０２）。具体的には、ＣＰＵ１１は、ＲＡＭ１３に記憶されている動作レベル記述により示される一連のソースコードを言語解析してＤＦＧ（Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成し、生成したＤＦＧをＲＡＭ１３に記憶する。
【００４６】
次に、ＣＰＵ１１は、生成したグラフに基づいてスケジューリングする（ステップＳ１０３）。具体的には、ＣＰＵ１１は、ハードディスク１４に記憶されている制約条件を考慮してＲＡＭ１３に記憶されているＤＦＧをスケジューリングすることによりＣＤＦＧ（Ｃｏｎｔｒｏｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ）を生成し、生成したＣＤＦＧをＲＡＭ１３に記憶する。すなわち、ＣＰＵ１１は、スケジュール部２２として機能する。
【００４７】
そして、ＣＰＵ１１は、スケジューリング結果に基づいてレジスタ転送レベル記述を生成する（ステップＳ１０４）。具体的には、ＣＰＵ１１は、ハードディスク１４に記憶されている制約条件とＲＡＭ１３に記憶されているＣＤＦＧとに基づいて、状態遷移制御部４３と複数段の段階回路から構成されるパイプライン回路とを表現するレジスタ転送レベル記述とを生成し、生成したレジスタ転送レベル記述をハードディスク１４に記憶する。すなわち、ＣＰＵ１１は、生成部２３として機能する。
【００４８】
ＣＰＵ１１がレジスタ転送レベル記述の生成を完了すると、動作合成装置は動作合成処理を完了する。
【００４９】
ここで、図６〜８を参照して、動作合成装置１００が生成するレジスタ転送レベル記述により実現される半導体集積回路について説明する。図６は、パイプライン回路６０を構成する段階回路６１〜６４を状態遷移制御部４３がアクティブにする様子を模式的に示す図である。図７は、状態遷移制御部４３が段階回路６１〜６４をアクティブにする信号を生成する手法の一例を説明するための図である。図８は、パイプライン回路６０を構成する段階回路６１〜６４がどのような順序でアクティブになるのかを模式的に示す図である。
【００５０】
図６に示す例では、パイプライン回路６０は、パイプライン回路６０に供給された処理データに演算を施して演算結果を示すデータを出力する１段目の段階回路である段階回路６１と、段階回路６１から供給されたデータに演算を施して演算結果を示すデータを出力する２段目の段階回路である段階回路６２と、段階回路６２から供給されたデータに演算を施して演算結果を示すデータを出力する３段目の段階回路である段階回路６３と、段階回路６３から供給されたデータに演算を施して演算結果を示すデータを結果データとして出力する４段目の段階回路である段階回路６４と、の４（Ｎ＝４）段の段階回路から構成される。なお、パイプライン回路６０は、コンテキスト（構成面）の切り換えを行わずにパイプライン処理を実行する回路である。従って、状態遷移制御部４３は、コンテキストの切り換えを行なうための信号は出力しない。また、理解を容易にするため、半導体集積回路が取りうる遷移状態と、パイプライン回路６０が取りうる段階状態とが一対一に対応するものとして説明する。
【００５１】
状態遷移制御部４３は、パイプライン回路６０が取りうる１〜７（２Ｎ−１＝７）の段階状態に基づいて生成した信号であって、段階回路６１〜６４のそれぞれをアクティブにするアクティブ信号ＡＣＴ１〜４をパイプライン回路６０に供給する。より詳細には、段階回路６１をアクティブにするときにアクティブ信号ＡＣＴ１を段階回路６１に供給し、段階回路６２をアクティブにするときにアクティブ信号ＡＣＴ２を段階回路６２に供給し、段階回路６３をアクティブにするときにアクティブ信号ＡＣＴ３を段階回路６３に供給し、段階回路６４をアクティブにするときにアクティブ信号ＡＣＴ４を段階回路６４に供給する。ここで、アクティブ信号ＡＣＴ１〜４、後述する遷移信号ＳＴ１〜７及び後述するコンテキスト信号ＳＣ１、２は、Ｈレベル又はＬレベルのいずれか一方の信号レベルを有する電気信号とすることができる。理解を容易にするため、「信号レベルをＨレベルにする」ことを「信号を出力（供給）する」といい、「信号レベルをＬレベルにする」ことを「信号を出力（供給）しない」という。
【００５２】
ここで、図７を参照して、状態遷移制御部４３がアクティブ信号ＡＣＴ１〜４を生成する手法の一例を説明する。図７に示すように、状態遷移制御部４３は、遷移信号生成部７０と、ＯＲゲート７１〜７４と、を備える。
【００５３】
遷移信号生成部７０は、半導体集積回路がどの遷移状態にあるかを示す遷移信号ＳＴ１〜７を生成して出力する。図７に示す例では、遷移状態は１〜７の７つである。従って、段階状態も１〜７の７つである。遷移信号生成部７０は、遷移状態が１のときに遷移信号ＳＴ１を出力し、他の遷移信号ＳＴ２〜７を全て出力しない。遷移信号生成部７０は、同様にして、遷移状態に対応する遷移信号のみを出力し、他の遷移信号を全て出力しない。
【００５４】
ＯＲゲート７１〜７４は、遷移信号ＳＴ１〜７に基づいて、アクティブ信号ＡＣＴ１〜４を生成して出力する。より詳細には、ＯＲゲート７１は、遷移信号ＳＴ１〜４のＯＲをとる論理演算を実行して、演算結果をアクティブ信号ＡＣＴ１として出力し、ＯＲゲート７２は、遷移信号ＳＴ２〜５のＯＲをとる論理演算を実行して、演算結果をアクティブ信号ＡＣＴ２として出力し、ＯＲゲート７３は、遷移信号ＳＴ３〜６のＯＲをとる論理演算を実行して、演算結果をアクティブ信号ＡＣＴ３として出力し、ＯＲゲート７４は、遷移信号ＳＴ４〜７のＯＲをとる論理演算を実行して、演算結果をアクティブ信号ＡＣＴ４として出力する。このように、状態遷移制御部４３は、段階状態（本実施形態では、段階状態と遷移状態とが一対一に対応するため、段階状態は遷移状態と同じ）に基づいて、アクティブ信号ＡＣＴ１〜４を生成して出力する。
【００５５】
一方、段階回路６１〜６４のそれぞれは、アクティブ信号が供給されている間はアクティブとなり、アクティブ信号が供給されていない間はアクティブとならない。つまり、段階回路６１は、アクティブの間は、パイプライン回路６０の外部から供給された処理データに所定の演算を施して演算結果を示すデータを段階回路６２に出力し、アクティブでない間は、段階回路６２にデータを出力しないように（或いは、所定の値を出力するように）構成される。そして、段階回路６２は、アクティブの間は、段階回路６１から供給されたデータに所定の演算を施して演算結果を示すデータを段階回路６３に出力し、アクティブでない間は、段階回路６３にデータを出力しないように（或いは、所定の値を出力するように）構成される。また、段階回路６３は、アクティブの間は、段階回路６２から供給されたデータに所定の演算を施して演算結果を示すデータを段階回路６４に出力し、アクティブでない間は、段階回路６４にデータを出力しないように（或いは、所定の値を出力するように）構成される。そして、段階回路６４は、アクティブの間は、段階回路６３から供給されたデータに所定の演算を施して演算結果を示すデータを結果データとしてパイプライン回路６０の外部に出力し、アクティブでない間は、パイプライン回路６０の外部にデータを出力しないように（或いは、所定の値を出力するように）構成される。
【００５６】
ここで、図８を参照して、段階回路６１〜６４がどのような順序でアクティブになるかを説明する。なお、図８においては、アクティブになる段階回路のみを正方形で示している。
【００５７】
パイプライン回路６０は、段階回路６１〜６４のそれぞれにおいて、対応する段階処理を繰り返し実行することによりパイプライン処理を実現する回路である。従って、パイプライン処理の開始時の処理（プロローグ処理）及びパイプライン処理の終了時の処理（エピローグ処理）を実行する過渡状態では、アクティブにする必要がない段階回路（あるいは、アクティブにすると誤動作等の不具合を招きかねない段階回路）が存在する。従って、過渡状態は、動作させる必要のない段階回路をアクティブにせず、パイプライン処理を実行中の定常状態では、全ての段階回路をアクティブにするように構成する。
【００５８】
図８に示す例では、段階状態が１の間は、段階回路６１をアクティブに設定し、段階状態が２の間は、段階回路６１、６２をアクティブに設定し、段階状態が３の間は、段階回路６１、６２、６３をアクティブに設定し、段階状態が４の間は、全ての段階回路６１〜６４をアクティブに設定し、段階状態が５の間は、段階回路６２、６３、６４をアクティブに設定し、段階状態が６の間は、段階回路６３、６４をアクティブに設定し、段階状態が７の間は、段階回路６４をアクティブに設定する。すなわち、エピローグ処理を実行する段階状態が１〜３の間、及び、プロローグ処理を実行する段階状態が５〜７の間は、いずれかの段階回路をアクティブにしない。そして、パイプライン処理を実行する段階状態が４の間は全ての段階回路をアクティブにする。
【００５９】
以上説明したように、本実施形態に係る動作合成装置１００を用いて動作合成することにより得られるパイプライン回路６０においては、状態遷移制御部４３は使用しない回路部分がアクティブにならないように制御する。従って、次の工程を処理する回路部分に不正なデータを供給することによって生じ得る誤動作を減らすことが期待できる。
【００６０】
なお、本実施形態に係る動作合成装置１００によれば、状態遷移制御部４３が検出する遷移状態に基づいて、各回路部分をアクティブにするかしないかを決定する。このため、各回路部分をアクティブ化／非アクティブ化するための余分な回路を追加することなく、パイプライン回路を生成することが可能となる。これらの余分な回路を追加する場合、回路遅延や回路規模を算出することが困難であるため、設計上多くのマージンをとる必要があった。しかし、本願発明においては、回路遅延や回路規模を制約する際に、これらの余分な回路を追加することによる影響を考慮せずに動作合成が可能となる。従って、回路規模のコンパクト化が期待できるとともに、定常状態（図８において波線で囲んだ部分に相当する状態）における処理速度の向上が期待できる。
【００６１】
（第２の実施形態）
第１の実施形態では、コンテキストを切り換えずにパイプライン処理を実行する例を示した。しかしながら、例えば、パイプライン処理で並列に処理するデータ量が多い場合、１つのコンテキストに各段階回路が収まらないこともある。この場合、複数のコンテキストを用意して、コンテキストを切り換えながらパイプライン処理を実行するように構成する。以下、図面を参照して、本実施形態に係る動作合成装置１００について説明する。なお、本実施形態に係る動作合成装置１００の構成は第１の実施形態に係る動作合成装置１００と同様であるため説明を省略する。
【００６２】
図９は、パイプライン回路９０を構成する段階回路６１〜６８を状態遷移制御部４３がアクティブにする様子を模式的に示す図である。
【００６３】
図９に示す例では、パイプライン回路９０は、論理的には、第１のパイプライン処理を実行する第１コンテキスト９１と、第２のパイプライン処理を実行する第２コンテキスト９２との２つのコンテキスト（Ｍ＝２）から構成される。第１コンテキスト９１は、パイプライン回路６０に供給された処理データに演算を施して演算結果を示すデータを出力する１段目の段階回路である段階回路６１と、段階回路６１から供給されたデータに演算を施して演算結果を示すデータを出力する２段目の段階回路である段階回路６２と、段階回路６２から供給されたデータに演算を施して演算結果を示すデータを出力する３段目の段階回路である段階回路６３と、段階回路６３から供給されたデータに演算を施して演算結果を示すデータを結果データとして出力する４段目の段階回路である段階回路６４と、の４（Ｎ＝４）段の段階回路から構成される。
【００６４】
第２コンテキスト９２は、パイプライン回路６０に供給された処理データに演算を施して演算結果を示すデータを出力する１段目の段階回路である段階回路６５と、段階回路６５から供給されたデータに演算を施して演算結果を示すデータを出力する２段目の段階回路である段階回路６６と、段階回路６６から供給されたデータに演算を施して演算結果を示すデータを出力する３段目の段階回路である段階回路６７と、段階回路６７から供給されたデータに演算を施して演算結果を示すデータを結果データとして出力する４段目の段階回路である段階回路６８と、の４（Ｎ＝４）段の段階回路から構成される。
【００６５】
状態遷移制御部４３は、パイプライン回路９０が取りうる１〜７（２Ｎ−１＝７）の段階状態基づいて生成した信号であって、段階回路６１〜６８のそれぞれをアクティブにするアクティブ信号ＡＣＴ１〜４をパイプライン回路９０に供給する。より詳細には、段階回路６１、６５をアクティブにするときにアクティブ信号ＡＣＴ１を段階回路６１、６５に供給し、段階回路６２、６６をアクティブにするときにアクティブ信号ＡＣＴ２を段階回路６２、６６に供給し、段階回路６３、６７をアクティブにするときにアクティブ信号ＡＣＴ３を段階回路６３、６７に供給し、段階回路６４、６８をアクティブにするときにアクティブ信号ＡＣＴ４を段階回路６４、６８に供給する。
【００６６】
また、パイプライン回路９０は、コンテキストの切り換えを行ないながらパイプライン処理を実行する回路である。従って、状態遷移制御部４３は、第１コンテキスト９１をアクティブにするコンテキスト信号ＳＣ１と、第２コンテキスト９２をアクティブにするコンテキスト信号ＳＣ２とのいずれかをパイプライン回路９０に供給する。より詳細には、状態遷移制御部４３は、第１のパイプライン処理を実行させるときは、コンテキスト信号ＳＣ１を第１コンテキスト９１に供給し、第２のパイプライン処理を実行させるときは、コンテキスト信号ＳＣ２を第２コンテキスト９２に供給する。
【００６７】
ここで、図１０を参照して、状態遷移制御部４３がアクティブ信号ＡＣＴ１〜４及びコンテキスト信号ＳＣ１、２を生成する手法の一例を説明する。図１０に示すように、状態遷移制御部４３は、遷移信号生成部７０と、ＯＲゲート７１〜７６と、を備える。
【００６８】
遷移信号生成部７０は、半導体集積回路がどの遷移状態にあるかを示す遷移信号ＳＴ１〜１４を生成して出力する。図１０に示す例では、遷移状態は１〜１４の１４個である。そして、コンテキストは２つであるため、２つの遷移状態が１つの段階状態に対応する。従って、段階状態は１〜７の７つである。遷移信号生成部７０が、遷移状態に対応する遷移信号のみを出力し、他の遷移信号を全て出力しないことは第１の実施形態と同様である。
【００６９】
ＯＲゲート７１〜７４は、遷移信号ＳＴ１〜１４に基づいて、アクティブ信号ＡＣＴ１〜４を生成して出力する。より詳細には、ＯＲゲート７１は、遷移信号ＳＴ１〜８のＯＲをとる論理演算を実行して、演算結果をアクティブ信号ＡＣＴ１として出力し、ＯＲゲート７２は、遷移信号ＳＴ３〜１０のＯＲをとる論理演算を実行して、演算結果をアクティブ信号ＡＣＴ２として出力し、ＯＲゲート７３は、遷移信号ＳＴ５〜１２のＯＲをとる論理演算を実行して、演算結果をアクティブ信号ＡＣＴ３として出力し、ＯＲゲート７４は、遷移信号ＳＴ７〜１４のＯＲをとる論理演算を実行して、演算結果をアクティブ信号ＡＣＴ４として出力する。このように、状態遷移制御部４３は、遷移状態に２対１で対応する段階状態に基づいて、アクティブ信号ＡＣＴ１〜４を生成して出力する。
【００７０】
また、ＯＲゲート７５、７６は、遷移信号ＳＴ１〜１４に基づいて、コンテキスト信号ＳＣ１を生成して出力する。より詳細には、ＯＲゲート７５は、遷移信号ＳＴ１、３、５、７、９、１１、１３のＯＲをとる論理演算を実行して、演算結果をコンテキスト信号ＳＣ１として出力し、ＯＲゲート７６は、遷移信号ＳＴ２、４、６、８、１０、１２、１４のＯＲをとる論理演算を実行して、演算結果をコンテキスト信号ＳＣ２として出力する。
【００７１】
一方、第１コンテキスト９１は、コンテキスト信号ＳＣ１が供給されている間のみアクティブとなり、第２コンテキスト９２は、コンテキスト信号ＳＣ２が供給されている間のみアクティブとなる。
【００７２】
従って、段階回路６１〜６８のそれぞれは、対応するコンテキストにコンテキスト信号が供給され、且つ、アクティブ信号が供給されている間はアクティブとなり、対応するコンテキストにコンテキスト信号が供給されていない間、若しくは、アクティブ信号が供給されていない間はアクティブとならない。
【００７３】
図１１は、パイプライン回路９０を構成する段階回路６１〜６８をどのような順序でアクティブにするかを模式的に示す図である。
【００７４】
図１１に示す例では、段階状態が１の間は、段階回路６１、６５をアクティブに設定し、段階状態が２の間は、段階回路６１、６２、６５、６６をアクティブに設定し、段階状態が３の間は、段階回路６１、６２、６３、６５、６６、６７をアクティブに設定し、段階状態が４の間は、全ての段階回路６１〜６８をアクティブに設定し、段階状態が５の間は、段階回路６２、６３、６４、６６、６７、６８をアクティブに設定し、段階状態が６の間は、段階回路６３、６４、６７、６８をアクティブに設定し、段階状態が７の間は、段階回路６４、６８をアクティブに設定する。すなわち、エピローグ処理を実行する段階状態が１〜３の間、及び、プロローグ処理を実行する段階状態が５〜７の間は、いずれかの段階回路をアクティブにしない。そして、パイプライン処理を実行する段階状態が４の間は全ての段階回路をアクティブにする。
【００７５】
図１２は、状態遷移制御部４３が第１コンテキスト９１と第２コンテキスト９２との間でコンテキストを切り換える様子を模式的に示す図である。図１２に示すように、状態遷移制御部４３は、遷移状態に応じて、第１のパイプライン処理を実行する第１コンテキスト９１と第２のパイプライン処理を実行する第２コンテキスト９２との間でコンテキストを切り換える。
【００７６】
なお、各段階回路は、対応するコンテキストがアクティブにされ、且つ、段階信号が供給されている場合にアクティブとなる。つまり、各段階回路は、段階信号が供給されていても、対応するコンテキストがアクティブでなければアクティブとならない。
【００７７】
以上説明したように、本実施形態に係る動作合成装置１００によれば、余分な回路を追加することなく、コンテキストを切り換えながら複数のパイプライン処理をほぼ並列して実行するパイプライン回路を生成することが期待できる。従って、本実施形態に係る動作合成装置１００によれば、生成するパイプライン回路が、コンテキストを切り換えながら複数のパイプライン処理をほぼ並列して実行する場合であっても、第１の実施形態と同様の効果が得られる。
【００７８】
上記実施形態では、パイプライン回路をＤＲＰで実現する動作合成装置について説明した。しかし、本発明は、パイプライン回路をＦＰＧＡなど他の再構成可能電子回路装置で実現する動作合成装置に適用することも可能である。
【００７９】
上記実施形態では、状態遷移制御部４３は、遷移信号を生成する遷移信号生成部とＯＲゲートを用いて、アクティブ信号を生成するものとして説明した。しかし、状態遷移制御部４３がアクティブ信号を生成する手法はこれに限られない。
【００８０】
上記実施形態では、プログラムが、記憶装置に予め記憶されているものとして説明した。しかし、動作合成装置を、装置の全部又は一部として動作させ、あるいは、上述の処理を実行させるためのプログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＭＯ（Ｍａｇｎｅｔｏ  Ｏｐｔｉｃａｌ  Ｄｉｓｋ）などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【００８１】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等してプログラムを実行してもよい。
【００８２】
上述のように、本発明によれば、高速なパイプライン回路を実現する動作レベル記述を生成するのに好適な動作合成装置、動作合成方法並びにプログラムを提供することができる。
【図面の簡単な説明】
【００８３】
【図１】第１、２の実施形態に係る動作合成装置の構成を示す図である。
【図２】第１、２の実施形態に係る動作合成装置の基本構成を示すブロック図である。
【図３】ＤＲＰの概要構成を示す図である。
【図４】ＰＥの概要構成を示す図である。
【図５】第１、２の実施形態に係る動作合成装置が実行する動作合成処理の一例を示すフローチャートである。
【図６】パイプライン回路が１つのコンテキストから構成される場合に、状態遷移制御部が各段階回路をアクティブにする様子を模式的に示す図である。
【図７】パイプライン回路が１つのコンテキストから構成される場合に、状態遷移制御部がアクティブ信号を生成する手法の一例を説明するための図である。
【図８】パイプライン回路が１つのコンテキストから構成される場合に、各段階回路がどのような順序でアクティブになるのかを模式的に示す図である。
【図９】パイプライン回路が２つのコンテキストから構成される場合に、状態遷移制御部が各段階回路をアクティブにする様子を模式的に示す図である。
【図１０】パイプライン回路が２つのコンテキストから構成される場合に、状態遷移制御部がアクティブ信号とコンテキスト信号とを生成する手法の一例を説明するための図である。
【図１１】パイプライン回路が２つのコンテキストから構成される場合に、各段階回路がどのような順序でアクティブになるのかを模式的に示す図である。
【図１２】状態遷移制御部が２つのコンテキストを切り換える様子を模式的に示す図である。
【符号の説明】
【００８４】
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  ハードディスク
１５  入力装置
１６  表示装置
１７  通信装置
２１  受付部
２２  スケジュール部
２３  生成部
３０  ＰＥ
３１  コンフィギュレーションメモリ
３２  演算ユニット
３３  レジスタ
３４〜３８  配線接続スイッチ
４１  データ入力部
４２  データ出力部
４３  状態遷移制御部
６０、９０  パイプライン回路
６１〜６８  段階回路
７０  遷移信号生成部
７１〜７６  ＯＲゲート
９１  第１コンテキスト
９２  第２コンテキスト
１００  動作合成装置
２００  ＤＲＰ
【図１】
2010086310.tif 000003
【図２】
2010086310.tif 000004
【図３】
2010086310.tif 000005
【図４】
2010086310.tif 000006
【図５】
2010086310.tif 000007
【図６】
2010086310.tif 000008
【図７】
2010086310.tif 000009
【図８】
2010086310.tif 000010
【図９】
2010086310.tif 000011
【図１０】
2010086310.tif 000012
【図１１】
2010086310.tif 000013
【図１２】
2010086310.tif 000014