(57)【要約】複数の論理エレメントグループＬＥＧ１１〜ＬＥＧ３３は、各々、再構成可能な半導体集積回路の構成要素である論理エレメントをなくとも１つ含む。データの送受が行われる論理エレメントグループＬＥＧ１１〜ＬＥＧ３３同士、例えば、論理エレメントグループＬＥＧ１１、ＬＥＧ１２同士では、ｃｌｏｃｋ  ｏｕｔ端子とｃｌｏｃｋ  ｉｎ端子とが配線で接続され、ｄａｔａ  ｏｕｔ端子とｄａｔａ  ｉｎ端子とが遅延素子１０１で接続される。従って、各論理エレメントグループＬＥＧ１１〜ＬＥＧ３３は、タイミング設計という観点では独立である。従って、複数の論理エレメントグループを用いて完成した半導体集積回路において、再設計することが必要になった場合に、新規回路のみを設計して既存回路に接続するだけ、又は、必要のない論理エレメントグループを取り除くだけで、新しい半導体集積回路を完成させることができる。
2007040192.tif 000002
【特許請求の範囲】
【請求項１】
構成要素である論理エレメントを複数備えた再構成可能な半導体集積回路であって、
前記論理エレメントを少なくとも１つ有する論理エレメントグループを複数有し、
前記複数の論理エレメントグループの各々は、データ入力、データ出力、クロック入力及びクロック出力を各々少なくとも１つ有し、
前記複数の論理エレメントグループのうちｋ＋１番目（ｋは任意の自然数）の論理エレメントグループへのクロック信号の供給は、ｋ番目の論理エレメントグループのクロック出力を前記ｋ＋１番目の論理エレメントグループのクロック入力へ接続することによって実現され、
前記ｋ番目の論理エレメントグループから前記ｋ＋１番目の論理エレメントグループへのデータラインには、前記ｋ＋１番目の論理エレメントグループのホールド制約を満たすように、遅延素子が挿入されている
ことを特徴とする再構成可能な半導体集積回路。
【請求項２】
前記請求項１記載の再構成可能な半導体集積回路において、
ｋ番目の論理エレメントグループのデータ入力には、ｌ番目（ｌはｌ＜ｋを満たす自然数）の論理エレメントグループのデータ出力が接続されている
ことを特徴とする再構成可能な半導体集積回路。
【請求項３】
前記請求項１記載の再構成可能な半導体集積回路において、
ｋ番目の論理エレメントグループのデータ入力には、ｍ番目（ｍはｍ＞ｋを満たす自然数）の論理エレメントグループのデータ出力が接続されている
ことを特徴とする再構成可能な半導体集積回路。
【請求項４】
前記請求項３記載の再構成可能な半導体集積回路において、
前記ｍ番目の論理エレメントグループから前記ｋ番目の論理エレメントグループへのデータラインには、データを転送するための中継手段が設けられている
ことを特徴とする再構成可能な半導体集積回路。
【請求項５】
前記請求項１記載の再構成可能な半導体集積回路において、
ホールド制約を満たすために挿入される前記遅延素子は、前記データ出力側であるｋ番目の論理エレメントグループ内に備えられる
ことを特徴とする再構成可能な半導体集積回路。
【請求項６】
前記請求項１記載の再構成可能な半導体集積回路において、
ホールド制約を満たすために挿入される前記遅延素子は、前記データ出力側であるｋ番目の論理エレメントグループと前記データ入力側であるｋ＋１番目の論理エレメントグループとの間のデータラインに備えられる
ことを特徴とする再構成可能な半導体集積回路。
【請求項７】
前記請求項１記載の再構成可能な半導体集積回路において、
ホールド制約を満たすために挿入される前記遅延素子は、前記データ入力側であるｋ＋１番目の論理エレメントグループ内に備えられる
ことを特徴とする再構成可能な半導体集積回路。
【請求項８】
前記請求項１記載の再構成可能な半導体集積回路において、
ホールド制約を満たすために挿入される前記遅延素子は、
前記データ出力側であるｋ番目の論理エレメントグループ内、前記データ出力側であるｋ番目の論理エレメントグループと前記データ入力側であるｋ＋１番目の論理エレメントグループとの間のデータライン、及び前記データ入力側であるｋ＋１番目の論理エレメントグループ内の少なくとも１つに備えられる
ことを特徴とする再構成可能な半導体集積回路。
【請求項９】
前記請求項１記載の再構成可能な半導体集積回路において、
前記ｋ番目の論理エレメントグループのクロック出力と前記ｋ＋１番目の論理エレメントグループのクロック入力との間のクロックラインには、
前記ｋ＋１番目の論理エレメントグループにクロック信号を供給するか否かを選択できる論理ゲートが配置される
ことを特徴とする再構成可能な半導体集積回路。
【請求項１０】
前記請求項１記載の再構成可能な半導体集積回路において、
前記複数の論理エレメントグループは、２次元行列状に配列されていて、
前記２次元行列において同一の行に配置されている複数の論理エレメントグループは、クロックソースからの遅延時間が等しく設定されている
ことを特徴とする再構成可能な半導体集積回路。
【請求項１１】
前記請求項１記載の再構成可能な半導体集積回路において、
前記複数の論理エレメントグループは、２次元行列状に配列されていて、
前記２次元行列において同一の列に配置されている複数の論理エレメントグループは、クロックソースからの遅延時間が等しく設定されている
ことを特徴とする再構成可能な半導体集積回路。
【請求項１２】
前記請求項１記載の再構成可能な半導体集積回路において、
クロックソースからの遅延時間が大きい位置に配置される同期化された論理エレメントグループの個数は、クロックソースからの遅延時間が小さい位置に配置される同期化された論理エレメントグループの個数に比べて、多く設定される
ことを特徴とする再構成可能な半導体集積回路。
【請求項１３】
前記請求項１２記載の再構成可能な半導体集積回路において、
前記複数の論理エレメントグループは、Ｍ×Ｎの２次元行列状（Ｍ、Ｎは自然数）に配列されていて、
２次元行列においてｘｙ（ｘは１〜Ｍ間の任意の自然数、ｙは１〜Ｎ間の任意の自然数）の位置にある論理エレメントグループにクロック信号を入力するとき、
２次元行列においてａｂ（ａはａ≠ｘ且つａ≦Ｍの自然数、ｂはｂ≠ｙ且つｙ＜ｂ≦Ｎの自然数）の位置にある論理エレメントグループのうち、
｜ｘ−ａ｜＋｜ｙ−ｂ｜の値が等しい複数の論理エレメントグループ同士は、クロック遅延が等しく設定されている
ことを特徴とする再構成可能な半導体集積回路。
【請求項１４】
前記請求項１０、１１及び１３の何れか１項に記載の再構成可能な半導体集積回路において、
複数の論理エレメントグループは、３次元行列状に配列される
ことを特徴とする再構成可能な半導体集積回路。
【請求項１５】
前記請求項１記載の再構成可能な半導体集積回路において、
前記各論理エレメントグループ相互間のデータラインの遅延量は、前記各論理エレメントグループ相互間のクロックラインの遅延量に応じて決定される
ことを特徴とする再構成可能な半導体集積回路。
【請求項１６】
前記請求項１記載の再構成可能な半導体集積回路において、
前記各論理エレメントグループには、相互に遅延が異なるクロック信号が供給される
ことを特徴とする再構成可能な半導体集積回路。
【請求項１７】
論理エレメントを少なくとも１つ有する論理エレメントグループを複数備え、
前記複数の論理エレメントグループのうちｋ＋１番目（ｋは任意の自然数）の論理エレメントグループへのクロック信号の供給は、ｋ番目の論理エレメントグループのクロック出力を前記ｋ＋１番目の論理エレメントグループのクロック入力へ接続することによって実現され、
前記ｋ番目の論理エレメントグループから前記ｋ＋１番目の論理エレメントグループへのデータラインには、前記ｋ＋１番目の論理エレメントグループのホールド制約を満たすように、遅延素子が挿入されている
再構成可能な半導体集積回路に対して処理を割り当てる方法であって、
１つの処理を構成する２以上のタスクを時系列に並べ、
前記時系列に並んだタスクのうち、順番の早いタスクほど、クロックソースに近い論理エレメントグループに割り当てる
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【請求項１８】
前記請求項１７記載の再構成可能な半導体集積回路の処理割り当て方法において、
常時動作する処理か常時動作しない処理化を判断し、
常時動作する処理を、クロックソースからの遅延時間が小さい論理エレメントグループに割り当て、
常時動作しない処理を、クロックソースからの遅延時間が大きい論理エレメントグループに割り当てる
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【請求項１９】
前記請求項１７記載の再構成可能な半導体集積回路の処理割り当て方法において、
クロックソースからの遅延時間が大きい第１の論理エレメントグループから前記クロックソースからの遅延時間が小さい第２の論理エレメントグループにデータを転送するに際して、前記第２の論理エレメントグループのセットアップ時間が保証される範囲か否かを判断し、
前記第２の論理エレメントグループのセットアップ時間が保証される範囲であるとき、前記第１の論理エレメントグループから前記第２の論理エレメントグループに対してデータを直接転送するように、処理を前記第１及び第２の論理エレメントグループに割り当てる
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【請求項２０】
前記請求項１７記載の再構成可能な半導体集積回路の処理割り当て方法において、
クロックソースからの遅延時間が大きい第１の論理エレメントグループから前記クロックソースからの遅延時間が小さい第２の論理エレメントグループにデータを転送するに際して、前記第２の論理エレメントグループのセットアップ時間が保証される範囲か否かを判断し、
前記第２の論理エレメントグループのセットアップ時間が保証される範囲でないとき、前記第１の論理エレメントグループから、前記セットアップ時間が保証される少なくとも１つのデータ中継用の論理エレメントグループを介して前記第２の論理エレメントグループへデータを順次転送するように、処理を前記第１及び第２の論理エレメントグループに割り当てる
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【請求項２１】
前記請求項１７記載の再構成可能な半導体集積回路の処理割り当て方法において、
クロックソースからの遅延時間が大きい第１の論理エレメントグループから前記クロックソースからの遅延時間が小さい第２の論理エレメントグループにデータを転送するに際して、前記第２の論理エレメントグループのセットアップ時間が保証される範囲か否かを判断し、
前記第２の論理エレメントグループのセットアップ時間が保証される範囲でないとき、前記第１の論理エレメントグループから、前記セットアップ時間が保証される少なくとも１つのデータ中継手段を介して前記第２の論理エレメントグループへデータを順次転送するように、処理を前記第１及び第２の論理エレメントグループに割り当てる
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【請求項２２】
前記請求項２０記載の再構成可能な半導体集積回路の処理割り当て方法において、
前記第１の論理エレメントグループから前記第２の論理エレメントグループへのデータラインの遅延時間を複数に等分するように、前記少なくとも１つのデータ中継用の論理エレメントグループを選択する
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【請求項２３】
前記請求項２１記載の再構成可能な半導体集積回路の処理割り当て方法において、
前記第１の論理エレメントグループから前記第２の論理エレメントグループへのデータラインの遅延時間を複数に等分するように、前記少なくとも１つのデータ中継手段を配置する
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【請求項２４】
論理エレメントを少なくとも１つ有する論理エレメントグループを複数備え、
前記複数の論理エレメントグループのうちｋ＋１番目（ｋは任意の自然数）の論理エレメントグループへのクロック信号の供給は、ｋ番目の論理エレメントグループのクロック出力を前記ｋ＋１番目の論理エレメントグループのクロック入力へ接続することによって実現され、
前記ｋ番目の論理エレメントグループから前記ｋ＋１番目の論理エレメントグループへのデータラインには、前記ｋ＋１番目の論理エレメントグループのホールド制約を満たすように、遅延素子が挿入されている
再構成可能な半導体集積回路に対して処理を割り当てる方法であって、
クロックソースからのクロック遅延時間が大きい論理エレメントグループからクロック遅延時間が小さい論理エレメントグループへのデータ転送経路であるフィードバックパスを検索し、
前記検索したフィードバックパスの遅延時間が所定範囲になるように、前記クロック遅延時間が大きい論理エレメントグループに処理を割り当てる
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【請求項２５】
前記請求項２４記載の再構成可能な半導体集積回路の処理割り当て方法において、
前記所定範囲は、データを受ける論理エレメントグループのセットアップ制約を満たす遅延時間範囲である
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、再構成可能な半導体集積回路及びその処理割り当て方法に関する。
【背景技術】
【０００２】  近年では、半導体の集積度の向上に伴い、ＬＳＩに集積されるシステムが大規模化、複雑化し、これにより設計期間の増大やソフトウェアでの回避不能な設計不具合の発生頻度が増加している。しかし、一方では、市場から更なる短ＴＡＴ化（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ、新製品の設計期間の短縮化）と、高品質設計が求められている。【０００３】  そこで、再構成可能な半導体集積回路を用いて、設計期間の短縮や不具合数の減少に貢献しようとする技術がある。この再構成可能な半導体集積回路は、近年のＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）に代表されるプログラマブルロジックデバイスであって、このプログラマブルロジックデバイスは、例えば非特許文献１に記載されるように、複数の論理エレメントを内蔵していて、各々の論理エレメントの処理機能や各論理エレメント間の接続状態を変更することにより、任意の処理機能を実現することができる集積回路である。そして、再構成可能な半導体集積回路は、このようなプログラマブルロジックデバイスを複数接続して完成させており、一度デバイスとして完成すれば、その後は、処理をどのように割り当てて実行させるかをソフトウェアのみで実現できるので、ハードウェアとソフトウェアとの双方の設計を行う必要がなく、設計期間の短縮につながる。また、処理機能を全てソフトウェアで実現するので、万が一不具合が発生した場合にも、ソフトウェアの修正のみで足りる利点がある。
【非特許文献１】編集部；動的再構成可能デバイス、その素性と実力、ｐｐ．１９−２９、Ｄｅｓｉｇｎ  Ｗａｖｅ  Ｍａｇａｚｉｎｅ、２００４年８月号
【発明の開示】
【発明が解決しようとする課題】
【０００４】  しかしながら、再構成可能な半導体集積回路であっても、求められる処理量に対して性能が足りない、又は性能が過剰であるなどの場合には、再構成可能な半導体集積回路自体を再設計する必要が生じることがある。【０００５】  この場合に、従来の再構成可能な半導体集積回路では、１つ又は複数のプログラマブルロジックデバイスを新規に追加する必要性が生じたときには、この新規回路の設計だけでなく、それを組み込む既存の回路についても再設計が必要となっていた。すなわち、従来の再構成可能な半導体集積回路では、１つのクロック信号供給点から複数のプログラマブルロジックデバイスに対してクロック信号が分配されていて、全てのプログラマブルロジックデバイスが同期動作するように、各プログラマブルロジックデバイス間ではクロックスキューが小さく制限、調整されている。しかし、再設計の際に新規回路を既存回路に追加すると、その新規のプログラマブルロジックデバイスが接続付加された既存のプログラマブルロジックデバイスや、これにデータ信号を伝送している他のプログラマブルロジックデバイスでは、各々、負荷が変化する。このため、既存回路についても、その全体でクロックスキューを再調整しなければならず、再設計が必要となる。この欠点は、不要回路の削減の場合も同様である。従って、再構成可能な半導体集積回路自体を再設計する必要が生じた場合には、従来では、設計期間の短縮の要求を効果的に満たすことができない。【０００６】  本発明は前記の問題に着目し、その目的は、再構成可能な半導体集積回路自体を再設計する必要が生じた場合においても、既存回路に変更を加えることなく、新規回路のみの設計や不要な回路部分の削除だけで全体の再設計が完了する再構成可能な半導体集積回路、及びその再構成可能な半導体集積回路に対して実現したい処理を効率良く割り当てる処理割り当て方法を提供することにある。
【課題を解決するための手段】
【０００７】  以上の目的を達成するため、本発明では、再構成可能な半導体集積回路を構成する複数のプログラマブルロジックデバイス（論理エレメントグループ）間は、データ送受のタイミング設計に関して相互に独立させることとする。すなわち、従来のように複数のプログラマブルロジックデバイス相互間のクロックスキューを全て小さく設計するのではなく、データ送受を行う２個の論理エレメントグループ間ではクロックスキューを積極的に付けると共に、このクロックスキューを考慮してデータ送受を行う構成を採用する。【０００８】  すなわち、本発明の再構成可能な半導体集積回路は、構成要素である論理エレメントを複数備えた再構成可能な半導体集積回路であって、前記論理エレメントを少なくとも１つ有する論理エレメントグループを複数有し、前記複数の論理エレメントグループの各々は、データ入力、データ出力、クロック入力及びクロック出力を各々少なくとも１つ有し、前記複数の論理エレメントグループのうちｋ＋１番目（ｋは任意の自然数）の論理エレメントグループへのクロック信号の供給は、ｋ番目の論理エレメントグループのクロック出力を前記ｋ＋１番目の論理エレメントグループのクロック入力へ接続することによって実現され、前記ｋ番目の論理エレメントグループから前記ｋ＋１番目の論理エレメントグループへのデータラインには、前記ｋ＋１番目の論理エレメントグループのホールド制約を満たすように、遅延素子が挿入されていることを特徴とする。【０００９】  本発明は、前記再構成可能な半導体集積回路において、ｋ番目の論理エレメントグループのデータ入力には、ｌ番目（ｌはｌ＜ｋを満たす自然数）の論理エレメントグループのデータ出力が接続されていることを特徴とする。【００１０】  本発明は、前記再構成可能な半導体集積回路において、ｋ番目の論理エレメントグループのデータ入力には、ｍ番目（ｍはｍ＞ｋを満たす自然数）の論理エレメントグループのデータ出力が接続されていることを特徴とする。【００１１】  本発明は、前記再構成可能な半導体集積回路において、前記ｍ番目の論理エレメントグループから前記ｋ番目の論理エレメントグループへのデータラインには、データを転送するための中継手段が設けられていることを特徴とする。【００１２】  本発明は、前記再構成可能な半導体集積回路において、ホールド制約を満たすために挿入される前記遅延素子は、前記データ出力側であるｋ番目の論理エレメントグループ内に備えられることを特徴とする。【００１３】  本発明は、前記再構成可能な半導体集積回路において、ホールド制約を満たすために挿入される前記遅延素子は、前記データ出力側であるｋ番目の論理エレメントグループと前記データ入力側であるｋ＋１番目の論理エレメントグループとの間のデータラインに備えられることを特徴とする。【００１４】  本発明は、前記再構成可能な半導体集積回路において、ホールド制約を満たすために挿入される前記遅延素子は、前記データ入力側であるｋ＋１番目の論理エレメントグループ内に備えられることを特徴とする。【００１５】  本発明は、前記再構成可能な半導体集積回路において、ホールド制約を満たすために挿入される前記遅延素子は、前記データ出力側であるｋ番目の論理エレメントグループ内、前記データ出力側であるｋ番目の論理エレメントグループと前記データ入力側であるｋ＋１番目の論理エレメントグループとの間のデータライン、及び前記データ入力側であるｋ＋１番目の論理エレメントグループ内の少なくとも１つに備えられることを特徴とする。【００１６】  本発明は、前記再構成可能な半導体集積回路において、前記ｋ番目の論理エレメントグループのクロック出力と前記ｋ＋１番目の論理エレメントグループのクロック入力との間のクロックラインには、前記ｋ＋１番目の論理エレメントグループにクロック信号を供給するか否かを選択できる論理ゲートが配置されることを特徴とする。【００１７】  本発明は、前記再構成可能な半導体集積回路において、前記複数の論理エレメントグループは、２次元行列状に配列されていて、前記２次元行列において同一の行に配置されている複数の論理エレメントグループは、クロックソースからの遅延時間が等しく設定されていることを特徴とする。【００１８】  本発明は、前記再構成可能な半導体集積回路において、前記複数の論理エレメントグループは、２次元行列状に配列されていて、前記２次元行列において同一の列に配置されている複数の論理エレメントグループは、クロックソースからの遅延時間が等しく設定されていることを特徴とする。【００１９】  本発明は、前記再構成可能な半導体集積回路において、クロックソースからの遅延時間が大きい位置に配置される同期化された論理エレメントグループの個数は、クロックソースからの遅延時間が小さい位置に配置される同期化された論理エレメントグループの個数に比べて、多く設定されることを特徴とする。【００２０】  本発明は、前記再構成可能な半導体集積回路において、前記複数の論理エレメントグループは、Ｍ×Ｎの２次元行列状（Ｍ、Ｎは自然数）に配列されていて、２次元行列においてｘｙ（ｘは１〜Ｍ間の任意の自然数、ｙは１〜Ｎ間の任意の自然数）の位置にある論理エレメントグループにクロック信号を入力するとき、２次元行列においてａｂ（ａはａ≠ｘ且つａ≦Ｍの自然数、ｂはｂ≠ｙ且つｙ＜ｂ≦Ｎの自然数）の位置にある論理エレメントグループのうち、｜ｘ−ａ｜＋｜ｙ−ｂ｜の値が等しい複数の論理エレメントグループ同士は、クロック遅延が等しく設定されていることを特徴とする。【００２１】  本発明は、前記再構成可能な半導体集積回路において、複数の論理エレメントグループは、３次元行列状に配列されることを特徴とする。【００２２】  本発明は、前記再構成可能な半導体集積回路において、前記各論理エレメントグループ相互間のデータラインの遅延量は、前記各論理エレメントグループ相互間のクロックラインの遅延量に応じて決定されることを特徴とする。【００２３】  本発明は、前記再構成可能な半導体集積回路において、前記各論理エレメントグループには、相互に遅延が異なるクロック信号が供給されることを特徴とする。【００２４】  本発明の再構成可能な半導体集積回路の処理割り当て方法は、論理エレメントを少なくとも１つ有する論理エレメントグループを複数備え、前記複数の論理エレメントグループのうちｋ＋１番目（ｋは任意の自然数）の論理エレメントグル���プへのクロック信号の供給は、ｋ番目の論理エレメントグループのクロック出力を前記ｋ＋１番目の論理エレメントグループのクロック入力へ接続することによって実現され、前記ｋ番目の論理エレメントグループから前記ｋ＋１番目の論理エレメントグループへのデータラインには、前記ｋ＋１番目の論理エレメントグループのホールド制約を満たすように、遅延素子が挿入されている再構成可能な半導体集積回路に対して処理を割り当てる方法であって、１つの処理を構成する２以上のタスクを時系列に並べ、前記時系列に並んだタスクのうち、順番の早いタスクほど、クロックソースに近い論理エレメントグループに割り当てることを特徴とする。【００２５】  本発明は、前記再構成可能な半導体集積回路の処理割り当て方法において、常時動作する処理か常時動作しない処理化を判断し、常時動作する処理を、クロックソースからの遅延時間が小さい論理エレメントグループに割り当て、常時動作しない処理を、クロックソースからの遅延時間が大きい論理エレメントグループに割り当てることを特徴とする。【００２６】  本発明は、前記再構成可能な半導体集積回路の処理割り当て方法において、クロックソースからの遅延時間が大きい第１の論理エレメントグループから前記クロックソースからの遅延時間が小さい第２の論理エレメントグループにデータを転送するに際して、前記第２の論理エレメントグループのセットアップ時間が保証される範囲か否かを判断し、前記第２の論理エレメントグループのセットアップ時間が保証される範囲であるとき、前記第１の論理エレメントグループから前記第２の論理エレメントグループに対してデータを直接転送するように、処理を前記第１及び第２の論理エレメントグループに割り当てることを特徴とする。【００２７】  本発明は、前記再構成可能な半導体集積回路の処理割り当て方法において、クロックソースからの遅延時間が大きい第１の論理エレメントグループから前記クロックソースからの遅延時間が小さい第２の論理エレメントグループにデータを転送するに際して、前記第２の論理エレメントグループのセットアップ時間が保証される範囲か否かを判断し、前記第２の論理エレメントグループのセットアップ時間が保証される範囲でないとき、前記第１の論理エレメントグループから、前記セットアップ時間が保証される少なくとも１つのデータ中継用の論理エレメントグループを介して前記第２の論理エレメントグループへデータを順次転送するように、処理を前記第１及び第２の論理エレメントグループに割り当てることを特徴とする。【００２８】  本発明は、前記再構成可能な半導体集積回路の処理割り当て方法において、クロックソースからの遅延時間が大きい第１の論理エレメントグループから前記クロックソースからの遅延時間が小さい第２の論理エレメントグループにデータを転送するに際して、前記第２の論理エレメントグループのセットアップ時間が保証される範囲か否かを判断し、前記第２の論理エレメントグループのセットアップ時間が保証される範囲でないとき、前記第１の論理エレメントグループから、前記セットアップ時間が保証される少なくとも１つのデータ中継手段を介して前記第２の論理エレメントグループへデー��を順次転送するように、処理を前記第１及び第２の論理エレメントグループに割り当てることを特徴とする。【００２９】  本発明は、前記再構成可能な半導体集積回路の処理割り当て方法において、前記第１の論理エレメントグループから前記第２の論理エレメントグループへのデータラインの遅延時間を複数に等分するように、前記少なくとも１つのデータ中継用の論理エレメントグループを選択することを特徴とする。【００３０】  本発明は、前記再構成可能な半導体集積回路の処理割り当て方法において、前記第１の論理エレメントグループから前記第２の論理エレメントグループへのデータラインの遅延時間を複数に等分するように、前記少なくとも１つのデータ中継手段を配置することを特徴とする。【００３１】  本発明の再構成可能な半導体集積回路の処理割り当て方法は、論理エレメントを少なくとも１つ有する論理エレメントグループを複数備え、前記複数の論理エレメントグループのうちｋ＋１番目（ｋは任意の自然数）の論理エレメントグループへのクロック信号の供給は、ｋ番目の論理エレメントグループのクロック出力を前記ｋ＋１番目の論理エレメントグループのクロック入力へ接続することによって実現され、前記ｋ番目の論理エレメントグループから前記ｋ＋１番目の論理エレメントグループへのデータラインには、前記ｋ＋１番目の論理エレメントグループのホールド制約を満たすように、遅延素子が挿入されている再構成可能な半導体集積回路に対して処理を割り当てる方法であって、クロックソースからのクロック遅延時間が大きい論理エレメントグループからクロック遅延時間が小さい論理エレメントグループへのデータ転送経路であるフィードバックパスを検索し、前記検索したフィードバックパスの遅延時間が所定範囲になるように、前記クロック遅延時間が大きい論理エレメントグループに処理を割り当てることを特徴とする。【００３２】  本発明は、前記再構成可能な半導体集積回路の処理割り当て方法において、前記所定範囲は、データを受ける論理エレメントグループのセットアップ制約を満たす遅延時間範囲であることを特徴とする。【００３３】  以上により、本発明では、クロック信号を出力する論理エレメントグループ（Ｌｏｇｉｃ  Ｅｌｅｍｅｎｔ  Ｇｒｏｕｐ）からクロック信号を受けて動作する論理エレメントグループへデータを転送する場合に、クロック信号を受けて動作する論理エレメントグループでは、クロック信号を出力する論理エレメントグループから所定時間遅れてクロック信号を受けるので、セットアップ制約を満たす。また、前記２つの論理エレメントグループ間のデータラインには遅延素子が挿入されているので、ホールド制約を満たすことができる。従って、この２つの論理エレメントグループは、タイミング設計という観点では相互に独立である。よって、再構成可能な半導体集積回路を再設計する必要が生じた場合には、必要のない論理エレメントグループであれば、これをレイアウト上で取り除き、新規の論理エレメントグループが必要であれば、その新規回路部分のみを設計し、既存回路に接続するだけで、全体回路のクロック設計をやり直すことなく新規の再構成可能な半導体集積回路が完成する。
【発明の効果】
【００３４】  以上説明したように、本発明によれば、再構成可能な半導体集積回路を再設計する必要が生じた場合であっても、既存回路も含めてクロック設計をやり直す必要がないので、新規の再構成可能な半導体集積回路の設計期間を有効に短縮することが可能である。
【図面の簡単な説明】
【００３５】
【図１】図１は本発明の第１の実施形態に係る再構成可能な半導体集積回路の構成を示す図である。
【図２】図２は同再構成可能な半導体集積回路の変形例を示す図である。
【図３】図３は本発明の第１の実施形態に係る再構成可能な半導体集積回路に処理を割り当てる際の基本フローチャートを示す図である。
【図４】図４は同再構成可能な半導体集積回路に処理を割り当てる際の他の基本フローチャートを示す図である。
【図５】図５は同再構成可能な半導体集積回路において、セットアップ制約を守ることができる場合でのデータラインのフィードバック構成を示す図である。
【図６】図６は同再構成可能な半導体集積回路において、セットアップ制約を守ることができない場合でのデータラインのフィードバック構成を示す図である。
【図７】図７は本発明の第２の実施形態に係る再構成可能な半導体集積回路の概略構成を示す図である。
【図８】図８は同再構成可能な半導体集積回路に対してフィードバックパスを考慮して処理を割り当てた後の構成を示す図である。
【図９】図９は本発明の第３の実施形態に係る再構成可能な半導体集積回路の概略構成を示す図である。
【符号の説明】
【００３６】１１〜１３、２１〜２３、
３１〜３３            論理エレメントグループ
１０１〜１１２            遅延素子
２０１〜２０８            論理積回路（論理ゲート）
３０１、３０２、
３１０〜３１２        フィードバックパス
４０１                    中継回路（中継手段）（データ中継手段）
Ｓ５０１                  処理解析ステップ
Ｓ５０２                  並び替えステップ
５０３                    処理割り当てステップ
５１１                    タスク判定ステップ
５１２                    処理割り当てステップ
【発明を実施するための最良の形態】
【００３７】  以下、本発明の実施形態を図面に基づいて説明する。【００３８】  （第１の実施形態）
図１は、本発明の第１の実施形態に係る再構成可能な半導体集積回路の構成を示す図である。【００３９】  同図の再構成可能な半導体集積回路は、９個の論理エレメントグループ（Ｌｏｇｉｃ  Ｅｌｅｍｅｎｔ  Ｇｒｏｕｐ）１１〜１３、２１〜２３、３１〜３３が３行３列（Ｍ×Ｎ＝３×３）の２次元行列状に配置されている。各論理エレメントグループ１１〜３３には、少なくとも１つの論理エレメント（図示せず）が含まれる。それ等の論理エレメントの内部には、各々、図示しないが、複数の演算器、複数のレジスタ、メモリ等が備えられる。また、各論理エレメントグループ１１〜３３は、２つのクロック入力端子ｃｌｏｃｋ  ｉｎ１、ｃｌｏｃｋ  ｉｎ２と、２つのクロック出力端子ｃｌｏｃｋ  ｏｕｔ１、ｃｌｏｃｋ  ｏｕｔ２と、２つのデータ入力端子ｄａｔａ  ｉｎ１、ｄａｔａ  ｉｎ２と、２つのデータ出力端子ｄａｔａ  ｏｕｔ１、ｄａｔａ  ｏｕｔ２とを有する。尚、これ等の端子は、同一種類では少なくとも１個備えれば良い。【００４０】  同図の再構成可能な半導体集積回路へのクロック信号の供給は、１行１列目の論理エレメントグループ１１のクロック入力ｃｌｏｃｋ  ｉｎ１に与えられる。このクロック信号は、前記１行１列目の論理エレメントグループ１１のクロック出力ｃｌｏｃｋ  ｏｕｔ１から１行２列目の論理エレメントグループ１２のクロック入力ｃｌｏｃｋ  ｉｎ１に与えられると共に、前記１行１列目の論理エレメントグループ１１のクロック出力ｃｌｏｃｋ  ｏｕｔ２から２行１列目の論理エレメントグループ２１のクロック入力ｃｌｏｃｋ  ｉｎ２に与えられる。このように行方向及び列方向に分配されたクロック信号は、更に、前記と同様にして行方向及び列方向の論理エレメントグループに分配される。【００４１】  更に、前記９個の論理エレメントグループ１１〜３３間のデータの入出力については、前記クロック信号の分配と同様に、１行１列目の論理エレメントグループ１１のデータ出力端子ｄａｔａ  ｏｕｔ１から１行２列目の論理エレメントグループ１２のデータ入力端子ｄａｔａ  ｉｎ１に送られると共に、１行１列目の論理エレメントグループ１１のデータ出力端子ｄａｔａ  ｏｕｔ２から２行１列目の論理エレメントグループ２１のデータ入力端子ｄａｔａ  ｉｎ２に入力される。そして、このようにしてデータが更に行方向及び列方向に送られる。【００４２】  そして、前記各論理エレメントグループ１１〜３３において、左右又は上下に隣接する２個の論理エレメントグループ間のクロック出力ｃｌｏｃｋ  ｏｕｔ１とクロック入力ｃｌｏｃｋ  ｉｎ１とを接続するクロックライン、又はクロック出力ｃｌｏｃｋ  ｏｕｔ２とクロック入力ｃｌｏｃｋ  ｉｎ２とを接続するクロックラインには、各々、２入力型の論理積回路（論理ゲート）２０１〜２０８が挿入されている。この各論理積回路２０１〜２０８の２入力の一方にはクロック信号が入力され、２入力の他方には、動作の停止制御信号が入力される。この停止制御信号がＬレベルのとき、この論理積回路を介してクロック信号を受ける論理エレメントグループは、クロック信号の供給が停止されて、その動作を停止する。従って、各論理エレメントグループ１１〜３３別にクロック信号の供給を制御で��て、低消費電力化を図ることが可能である。【００４３】  更に、前記各論理エレメントグループ１１〜３３において、左右又は上下に隣接する２個の論理エレメントグループ間のデータ出力ｄａｔａ  ｏｕｔ１とデータ入力ｄａｔａ  ｉｎ１とを接続するデータライン、又はデータ出力ｄａｔａ  ｏｕｔ２とデータ入力ｄａｔａ  ｉｎ２とを接続するデータラインには、各々、データのホールド時間保証用の遅延素子１０１〜１１２が挿入される。これ等の遅延素子は同図ではバッファより成っている。これ等の遅延素子１０１〜１１２は、データラインに挿入する場合に限らず、データ入力側やデータ出力側の論理エレメントグループの少なくとも一方の内部に配置しても良い。【００４４】  従って、本実施形態では、データの送受を行う２つの論理エレメントグループ（例えば１１と１２）間において、データを受ける２番目（ｋ＝２）の論理エレメントグループ１２では、データを送る１番目（ｌ＝１）論理エレメントグループ１１からクロックラインを経てクロック信号を受けるので、そのクロックラインを経て伝播する時間分、クロック信号の受信が遅れる。従って、データを受ける論理エレメントグループ１２では、データを送る論理エレメントグループ１１からのデータの取込保持でのセットアップ制約を満たす。更に、両論理エレメントグループ１１、１２間のデータラインには遅延素子１０１が挿入されているので、この遅延素子１０１での遅延時間を前記クロック信号の伝播の遅延時間を考慮した適切な時間に設定すれば、ホールド制約を満たすことができる。尚、一般の半導体回路設計では、セットアップ制約とホールド制約との両方を考慮に入れて遅延素子を挿入する必要があるが、本実施形態では、ホールド制約のみを考慮に入れて遅延素子１０１を挿入すれば良いので、タイミング設計が容易となる。【００４５】  従って、この２つの論理エレメントグループ１１、１２は、タイミング設計という観点では相互に独立である。よって、図１に示した９個の論理エレメントグループ１１〜３３より成る再構成可能な半導体集積回路を再設計する必要が生じた場合であっても、必要のない論理エレメントグループ（例えば３３）があれば、これをレイアウト上で取り除き、新規の論理エレメントグループが必要であれば、その新規回路部分のみを設計し、図１に示した既存回路の論理エレメントグループ（例えば１３や３１など）のクロック出力ｃｌｏｃｋ  ｏｕｔ１又はｃｌｏｃｋ  ｏｕｔ１及びデータ出力ｄａｔａ  ｏｕｔ１又はｄａｔａ  ｏｕｔ２に接続するだけで、全体回路のクロック設計をやり直すことなく、新規の再構成可能な半導体集積回路を完成することができ、新規の再構成可能な半導体集積回路の設計期間の短縮化が可能である。【００４６】  尚、論理エレメントグループ毎に処理が完結して、次の論理エレメントグループには処理結果を渡すだけの場合には、各論理エレメントグループ１１〜３３間でクロック遅延を揃える必要がないので、遅延が異なるクロック信号を各論理エレメントグループ１１〜３３に供給する構成とすれば、タイミング設計が容易となる。【００４７】  （第１の変形例）
図２は、図１に示した再構成可能な半導体集積回路に他の構成を追加した半導体集積回路を示す。【００４８】  同図では、第１行目の論理エレメントグループ１１〜１３のみを図示し、第２及び第３行目の論理エレメントグループ２１〜３３は省略している。本変形例では、クロック遅延の大きい３番目（ｋ＝３）の論理エレメントグループ１３のデータ出力ｄａｔａ  ｏｕｔ１から、クロック遅延の小さい１番目（ｍ＝１）の論理エレメントグループ１１のデータ入力ｄａｔａ  ｉｎ１にデータ転送される場合に、そのデータの転送が遅くて、データを受ける論理エレメントグループ１１でのデータのセットアップ制約を満たせない場合には、この両論理エレメントグループ１３、１１間のデータライン３０１に中継回路（中継手段）４０１が配置される。この中継回路４０１は、例えばフリップフロップ回路から成る。【００４９】  従って、本変形例では、中継回路４０１により、クロック遅延が大きい論理エレメントグループ１３からクロック遅延が小さい論理エレメントグループ１１にデータ転送する場合であっても、データライン３０１のセットアップ制約を満たして、そのデータ転送を可能にできる。【００５０】  （処理割り当て方法−第１の例）
次に、図１に示した再構成可能な半導体集積回路に対して処理を割り当てる処理割り当て方法を説明する。【００５１】  図３は、図１の再構成可能な半導体集積回路への処理割り当方法の手順を示す。同図では、ステップＳ５０１において、１つの処理を構成する複数のタスクの内容や順番について解析し、その後、ステップＳ５０２において、その複数のタスクを時系列に並び替えし、最後に、ステップＳ５０３において、図１の再構成可能な半導体集積回路を構成する複数の論理エレメントグループ１１〜３３のうち、クロック信号の供給点に近い論理エレメントグループ（即ち、１１）から順に、順番の早いタスクを割り当てて行く。【００５２】  図１に示した再構成可能な半導体集積回路に処理を効率良く割り当てるには、クロック供給点からの遅延時間が小さい方から大きい方へ処理が流れる、つまり、データラインにおいてクロックソース供給点からの遅延時間が大きい方から小さい方へのデータ転送が少ないように処理を割り当てるのが望ましい。本処理割り当て方法では、割り当てようとする処理のタスクを時系列に並べ、順番の早いタスクから順に、クロック供給点からの遅延が小さい論理エレメントグループへ割り当てたので、処理の割り当ての効率が向上する。【００５３】  ＜処理割り当て方法−第２の例＞
図４は、図１の再構成可能な半導体集積回路への処理割り当て方法の手順の他の例を示す。【００５４】  同図では、ステップＳ５０１において、１つの処理を構成する複数のタスクの内容や順番について解析し、その後、ステップＳ５１１において、その解析の結果、その複数のタスクが各々常に動作するタスクか常には動作しないタスクかを判断し、その後、常に動作するタスクの場合には、ステップＳ５１２において、クロック供給点に近い論理エレメントグループにそのタスクを割り当て、常に動作しないタスクの場合には、ステップＳ５１３において、クロック供給点から遠い位置の論理エレメントグループにそのタスクを割り当てる。その際、クロック供給点から遠い位置の論理エレメントグループが動作しないときには、この論理エレメントグループへのクロック信号の供給を停止することができるように、論理積回路（図１の例えば２０１）に動作の停止制御信号（Ｌレベル）を与える。【００５５】  従って、本処理割り当て方法では、タスクを動作頻度で分類し、動作頻度の高いタスクをクロック供給点からの遅延時間が小さい論理エレメントグループに割り当て、動作頻度の低いタスクをクロック供給点からの遅延時間が大きい論理エレメントグループに割り当てるので、動作頻度の少ないタスクが割り当てられた論理エレメントグループに対しては、その動作が必要なときのみに限って、クロック信号を供給をすることができ、低消費電力化を図ることができる。【００５６】  ＜処理割り当て方法−第１の変形例＞
図５は、図１に示した再構成可能な半導体集積回路への処理の割り当て方法の変形例を示す。【００５７】  本変形例では、前記図３又は図４で説明した処理の割り当て後に、次の処理割り当てを追加している。即ち、図５において、例えば論理エレメントグループ１３から論理エレメントグループ１１へのデータ転送がある場合において、クロック信号の遅延が大きい論理エレメントグループ１３が出力したデータの受け取り側の論理エレメントグループ１１でのセットアップ制約が守られるときには、そのまま論理エレメントグループ１１のデータ入力ｄａｔａ  ｉｎ１に接続してデータを直接に転送するように、処理及び配線３１０を割り当てる。【００５８】  ＜処理割り当て方法−第２の変形例＞
図６は、図１に示した再構成可能な半導体集積回路への処理の割り当て方法の他の変形例を示す。【００５９】  前記変形例では、論理エレメントグループ１３から論理エレメントグループ１１へのデータ転送がある場合において、クロック信号の遅延が大きい論理エレメントグループ１３が出力したデータの受け取り側の論理エレメントグループ１１でのセットアップ制約が守られるときを説明したが、このセットアップ制約が守られないときを説明する。【００６０】  すなわち、論理エレメントグループ１３が出力したデータの受け取り側の論理エレメントグループ１１においてデータのセットアップ制約が守られない場合には、セットアップ制約が守られる範囲にある論理エレメントグループ（例えば１２）のデータ入力ｄａｔａ  ｉｎ２に接続し、この論理エレメントグループ１２のデータ出力ｄａｔａ  ｏｕｔ２からデータライン３１２を論理エレメントグループ１１のデータ入力ｄａｔａ  ｉｎ１に接続することにより、データを論理エレメントグループ１２を中継して転送するように、配線を割り当てる。【００６１】  尚、以上の説明では、データを論理エレメントグループ１２でデータを中継したが、その他、図２に示した中継回路（データ中継手段）４０１を使用して、データを中継して転送するように、処理及び配線を割り当てても良い。【００６２】  従って、以上の２つの変形例では、データを受ける側の論理エレメントグループでのデータのセットアップ制約が満たされる場合であっても、満たされない場合であっても、同一経路に配線を割り当てることが可能であるので、データ伝送の配線の自由度の向上が図れる。【００６３】  尚、以上の変形例では、論理エレメントグループ１１〜１３を用いて説明したが、この組み合わせに限らず、任意の論理エレメントグループ間のクロック信号の遅延が積み重なる方向とは逆方向へのデータ転送において、同様である。【００６４】  また、以上の変形例では、１つの論理エレメントグループ又は中継回路を使用して、配線遅延を２分割したが、状況に応じて３分割、４分割…と分割することも可能である。尚、このように配線遅延を分割する場合には、配線遅延を複数に等分割することが望ましく、この場合には、データのフィードバックに要するリソースを最小限にすることができる。【００６５】  （第２の実施形態）
図７は、本発明の第２の実施形態に係る再構成可能な半導体集積回路の概略構成を示す。【００６６】  同図において、本実施形態の再構成可能な半導体集積回路は、図１に示した実施形態１とは、クロックライン以外は同等である。【００６７】  本実施形態では、クロックラインは、スキュー調整されたクロック信号を第１行目の３個の論理エレメントグループ１１〜１３に入力し、これ等の論理エレメントグループ１１〜１３が出力するクロック信号をスキュー調整して、第２行目の３個の論理エレメントグループ２１〜２３に入力し、これ等の論理エレメントグループ２１〜２３が出力するクロック信号をスキュー調整して、第３行目の３個の論理エレメントグループ３１〜３３に入力するように構成している。【００６８】  前記第１の実施形態では、各論理エレメントグループ１１〜３３間のクロックスキューは揃っていないが、本実施形態では、同一行に並んでいる論理エレメントグループに関してクロックスキューを揃えている。【００６９】  従って、本実施形態では、同一行に配置された３個の論理エレメントグループ間ではクロックスキューが調整されているので、処理量がどの時刻でもほぼ同量で、時間的に処理量変化が少ない処理を割り当てる際に、同一時刻のタスクを同一行の論理エレメントグループに割り当てれば、各時刻での使用する論理エレメントグループの数がほぼ等しくて、動作しない論理エレメントグループを少なくでき、論理エレメントグループの利用効率の向上を図ることができる。【００７０】  尚、本実施形態では、同一行に並んでいる論理エレメントグループのスキューを揃えたが、同一列に並んでいる論理エレメントグループのスキューを揃えても良いのは、言うまでもない。【００７１】  （処理割り当て方法）
図８は、本実施形態に係る再構成可能な半導体集積回路へ処理を割り当てる方法を示す。【００７２】  本実施形態の再構成可能な半導体集積回路に処理を割り当てる際には、前記第１の実施形態で説明した処理割り当て方法に加えて、配線の仕方をも考慮して、論理エレメントグループに処理を割り当てて行くと、効率が良くなる。【００７３】  すなわち、クロックソースからのクロック遅延時間が大きい論理エレメントグループからクロック遅延時間が小さい論理エレメントグループへのデータ転送経路をフィードバックパスと定義して、このフィードバックパスがあるか否かを検索し、その結果、フィードバックパスがある場合には、そのフィードバックパスを持つ論理エレメントグループに処理を割り当てる際には、できるだけそのフィードバックするパスの遅延時間が小さくなるような位置にある論理エレメントグループに対して、そのフィードバックパスにデータを出力する処理を割り当てる。以下、具体的に説明する。【００７４】  前記第１の実施形態の処理割り当て方法では、１つの処理が例えば３つのタスクに分割され、かつそのタスクが時系列でタスク１、２、３と並んでいた場合に、それ等のタスク１、２、３は、各々、図１の論理エレメントグループ１１、１２、１３に割り当てられる。ここで、検索によってタスク３からタスク１へデータ転送があることが見出され、且つ論理エレメントグループ１３から論理エレメントグループ１１へのデータ転送に中継回路又は中継用の論理エレメントグループが必要だったときには、図８に示すように、フィードバックパスの遅延時間が論理エレメントグループ１１のセットアップ制約を満たす所定遅延時間範囲内に入るように、タスク３を、論理エレメントグループ１１に近い位置の論理エレメントグループ２１に割り当てる。この割り当てにより、中継回路又は中継用の論理エレメントグループが必要なくなる。【００７５】  従って、本処理割り当て方法によれば、セットアップ制約を満たさないデータのフィードバックパスが存在しなくなるので、フィードバックに要するリソースをなくすことができ、小面積化及び低消費電力化が図れる。【００７６】  （第３の実施形態）
図９は、本発明の第３の実施形態に係る再構成可能な半導体集積回路の構成を示す。【００７７】  本実施形態の再構成可能な半導体集積回路は、前記第１の実施形態とクロックライン以外は同等である。【００７８】  本実施形態では、３行３列（ｘ＝３、ｙ＝３）の２次元行列に配置された論理エレメントグループ１１〜３３おいて、クロックラインは、先ず、１列１行目の論理エレメントグループ１１に供給され、その後、１行２列目及び２行１列目の論理エレメントグループ１２、２１に分配され、更に、１行３列目、２行２列目及び３行１列目の論理エレメントグループ１３、２２、３１に分配され、その後、２行３列目及び３行２列目の論理エレメントグループ２３、３２に分配され、最後に３行３列目の論理エレメントグループ３３に分配される。【００７９】  前記１行２列目及び２行１列目の論理エレメントグループ１２、２１に入力されるクロック信号は相互にスキュー調整され、１行３列目、２行２列目及び３行１列目の論理エレメントグループ１３、２２、３１に入力されるクロック信号も相互にスキュー調整され、２行３列目及び３行２列目の論理エレメントグループ２３、３２に入力されるクロック信号も相互にスキュー調整される。即ち、任意の論理エレメントグループの行方向及び列方向の位置をａ、ｂとすると、｜ｘ−ａ｜＋｜ｙ−ｂ｜の値が等しい複数の論理エレメントグループ同士は、クロック遅延が等しく設定されている、
従って、前記構成では、クロック供給点からのクロック信号の遅延時間が最も小さい論理エレメントグループ１１は１個、その次にクロック信号の遅延時間が小さい論理エレメントグループ１２、２１の個数は２個、クロック信号の遅延時間が大きい論理エレメントグループ１３、２２、３１の個数は３個であるので、このようなクロック信号遅延関係がある論理エレメントグループに対して、時間的に処理量が増加するような処理を割り当てると、論理エレメントグループの利用効率が高くなる。【００８０】  更に、常に動作している処理（例えば、処理全体の制御をしている制御回路など）と、常には動作しない処理（例えば、前記制御回路から指示を受けて動作する演算回路など）とを割り当てる際に、常に動作している処理を、クロック供給点からのクロック信号の遅延時間が小さい論理エレメントグループ１１に割り当て、常には動作しない処理をクロック供給点からのクロック遅延時間が大きい論理エレメントグループ（１２、２１）又は（１３、２２、３１）に割り当てることにより、常には動作しない処理が実行されない期間は、これ等の論理エレメントグループへのクロック信号を停止することができ、低消費電力化を図ることが可能である。【００８１】  以上、本発明に係る再構成可能な半導体集積回路及びその半導体集積回路への処理の割り当て方法について、実施形態に基づいて説明したが、本発明はこれらの実施形態に限定されない。例えば、以下のような変形例が考えられる。【００８２】  （１）以上の説明では、３ｘ３の２次元行列状に論理エレメントグループを配列したが、ＭｘＮ（Ｍ、Ｎは任意の自然数）の２次元行列状に配列されたもの、ＭｘＮｘＫ（Ｍ、Ｎ、Ｋは任意の自然数）の３次元行列上に配列されたもの、又は行列状に配列されていないものについても、同様に適用できる。【００８３】  （２）以上の説明では、各論理エレメントグループ１１〜３３間のクロックラインに論理積回路２０１〜２０８を挿入して、クロック信号を供給するか否かを選択できるようにしたが、全ての論理エレメントグループ間に論理積回路を挿入する必要とは限らない。また、クロック信号を供給するか否かを選択できれば、論理積回路以外の回路を使用しても良い。【００８４】  （３）以上の説明では、論理エレメントグループ１１〜３３のデータ入力、データ出力、クロック入力、クロック出力は、各々、２つずつとしたが、各々の個数は全てが同一数である必要はないし、２つに限定されない。【００８５】  （４）以上の説明では、データラインに挿入したホールド保証用の遅延素子１０１〜１１２をバッファで構成したが、遅延を実現できる回路であれば、バッファに限定されない。
【産業上の利用可能性】
【００８６】  以上説明したように、本発明は、再構成可能な半導体集積回路を再設計する必要が生じた場合であっても、既存回路も含めてクロック設計をやり直す必要がなく、新規の再構成可能な半導体集積回路の設計期間を有効に短縮することが可能であるので、ＦＰＧＡに代表されるプログラマブルロジックデバイス及びそのデバイスに処理を割り当てる方法として有用である。
【図１】
2007040192.tif 000003
【図２】
2007040192.tif 000004
【図３】
2007040192.tif 000005
【図４】
2007040192.tif 000006
【図５】
2007040192.tif 000007
【図６】
2007040192.tif 000008
【図７】
2007040192.tif 000009
【図８】
2007040192.tif 000010
【図９】
2007040192.tif 000011
【手続補正書】
【提出日】平成19年3月6日(2007.3.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
構成要素である論理エレメントを複数備えた再構成可能な半導体集積回路であって、
前記論理エレメントを少なくとも１つ有する論理エレメントグループを複数有し、
前記複数の論理エレメントグループの各々は、データ入力、データ出力、クロック入力及びクロック出力を各々少なくとも１つ有し、
前記複数の論理エレメントグループのうちｋ＋１番目（ｋは任意の自然数）の論理エレメントグループへのクロック信号の供給は、ｋ番目の論理エレメントグループのクロック出力を前記ｋ＋１番目の論理エレメントグループのクロック入力へ接続することによって実現され、
前記ｋ番目の論理エレメントグループから前記ｋ＋１番目の論理エレメントグループへのデータラインには、前記ｋ＋１番目の論理エレメントグループのホールド制約を満たすように、遅延素子が挿入されている
ことを特徴とする再構成可能な半導体集積回路。
【請求項２】
前記請求項１記載の再構成可能な半導体集積回路において、
ｋ番目の論理エレメントグループのデータ入力には、ｌ番目（ｌはｌ＜ｋを満たす自然数）の論理エレメントグループのデータ出力が接続されている
ことを特徴とする再構成可能な半導体集積回路。
【請求項３】
前記請求項１記載の再構成可能な半導体集積回路において、
ｋ番目の論理エレメントグループのデータ入力には、ｍ番目（ｍはｍ＞ｋを満たす自然数）の論理エレメントグループのデータ出力が接続されている
ことを特徴とする再構成可能な半導体集積回路。
【請求項４】
前記請求項３記載の再構成可能な半導体集積回路において、
前記ｍ番目の論理エレメントグループから前記ｋ番目の論理エレメントグループへのデータラインには、データを転送するための中継手段が設けられている
ことを特徴とする再構成可能な半導体集積回路。
【請求項５】
前記請求項１記載の再構成可能な半導体集積回路において、
ホールド制約を満たすために挿入される前記遅延素子は、前記データ出力側であるｋ番目の論理エレメントグループ内に備えられる
ことを特徴とする再構成可能な半導体集積回路。
【請求項６】
前記請求項１記載の再構成可能な半導体集積回路において、
ホールド制約を満たすために挿入される前記遅延素子は、前記データ出力側であるｋ番目の論理エレメントグループと前記データ入力側であるｋ＋１番目の論理エレメントグループとの間のデータラインに備えられる
ことを特徴とする再構成可能な半導体集積回路。
【請求項７】
前記請求項１記載の再構成可能な半導体集積回路において、
ホールド制約を満たすために挿入される前記遅延素子は、前記データ入力側であるｋ＋１番目の論理エレメントグループ内に備えられる
ことを特徴とする再構成可能な半導体集積回路。
【請求項８】
前記請求項１記載の再構成可能な半導体集積回路において、
ホールド制約を満たすために挿入される前記遅延素子は、
前記データ出力側であるｋ番目の論理エレメントグループ内、前記データ出力側であるｋ番目の論理エレメントグループと前記データ入力側であるｋ＋１番目の論理エレメントグループとの間のデータライン、及び前記データ入力側であるｋ＋１番目の論理エレメントグループ内の少なくとも１つに備えられる
ことを特徴とする再構成可能な半導体集積回路。
【請求項９】
前記請求項１記載の再構成可能な半導体集積回路において、
前記ｋ番目の論理エレメントグループのクロック出力と前記ｋ＋１番目の論理エレメントグループのクロック入力との間のクロックラインには、
前記ｋ＋１番目の論理エレメントグループにクロック信号を供給するか否かを選択できる論理ゲートが配置される
ことを特徴とする再構成可能な半導体集積回路。
【請求項１０】
前記請求項１記載の再構成可能な半導体集積回路において、
前記複数の論理エレメントグループは、２次元行列状に配列されていて、
前記２次元行列において同一の行に配置されている複数の論理エレメントグループは、クロックソースからの遅延時間が等しく設定されている
ことを特徴とする再構成可能な半導体集積回路。
【請求項１１】
前記請求項１記載の再構成可能な半導体集積回路において、
前記複数の論理エレメントグループは、２次元行列状に配列されていて、
前記２次元行列において同一の列に配置されている複数の論理エレメントグループは、クロックソースからの遅延時間が等しく設定されている
ことを特徴とする再構成可能な半導体集積回路。
【請求項１２】
前記請求項１記載の再構成可能な半導体集積回路において、
クロックソースからの遅延時間が大きい位置に配置される同期化された論理エレメントグループの個数は、クロックソースからの遅延時間が小さい位置に配置される同期化された論理エレメントグループの個数に比べて、多く設定される
ことを特徴とする再構成可能な半導体集積回路。
【請求項１３】
前記請求項１２記載の再構成可能な半導体集積回路において、
前記複数の論理エレメントグループは、Ｍ×Ｎの２次元行列状（Ｍ、Ｎは自然数）に配列されていて、
２次元行列においてｘｙ（ｘは１〜Ｍ間の任意の自然数、ｙは１〜Ｎ間の任意の自然数）の位置にある論理エレメントグループにクロック信号を入力するとき、
２次元行列においてａｂ（ａはａ≠ｘ且つａ≦Ｍの自然数、ｂはｂ≠ｙ且つｙ＜ｂ≦Ｎの自然数）の位置にある論理エレメントグループのうち、
｜ｘ−ａ｜＋｜ｙ−ｂ｜の値が等しい複数の論理エレメントグループ同士は、クロック遅延が等しく設定されている
ことを特徴とする再構成可能な半導体集積回路。
【請求項１４】
前記請求項１０、１１及び１３の何れか１項に記載の再構成可能な半導体集積回路において、
複数の論理エレメントグループは、３次元行列状に配列される
ことを特徴とする再構成可能な半導体集積回路。
【請求項１５】
前記請求項１記載の再構成可能な半導体集積回路において、
前記各論理エレメントグループ相互間のデータラインの遅延量は、前記各論理エレメントグループ相互間のクロックラインの遅延量に応じて決定される
ことを特徴とする再構成可能な半導体集積回路。
【請求項１６】
前記請求項１記載の再構成可能な半導体集積回路において、
前記各論理エレメントグループには、相互に遅延が異なるクロック信号が供給される
ことを特徴とする再構成可能な半導体集積回路。
【請求項１７】
論理エレメントを少なくとも１つ有する論理エレメントグループを複数備え、
前記複数の論理エレメントグループのうちｋ＋１番目（ｋは任意の自然数）の論理エレメントグループへのクロック信号の供給は、ｋ番目の論理エレメントグループのクロック出力を前記ｋ＋１番目の論理エレメントグループのクロック入力へ接続することによって実現され、
前記ｋ番目の論理エレメントグループから前記ｋ＋１番目の論理エレメントグループへのデータラインには、前記ｋ＋１番目の論理エレメントグループのホールド制約を満たすように、遅延素子が挿入されている
再構成可能な半導体集積回路に対して処理を割り当てる方法であって、
１つの処理を構成する２以上のタスクを時系列に並べ、
前記時系列に並んだタスクのうち、順番の早いタスクほど、クロックソースに近い論理エレメントグループに割り当てる
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【請求項１８】
前記請求項１７記載の再構成可能な半導体集積回路の処理割り当て方法において、
常時動作する処理か常時動作しない処理化を判断し、
常時動作する処理を、クロックソースからの遅延時間が小さい論理エレメントグループに割り当て、
常時動作しない処理を、クロックソースからの遅延時間が大きい論理エレメントグループに割り当てる
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【請求項１９】
前記請求項１７記載の再構成可能な半導体集積回路の処理割り当て方法において、
クロックソースからの遅延時間が大きい第１の論理エレメントグループから前記クロックソースからの遅延時間が小さい第２の論理エレメントグループにデータを転送するに際して、前記第２の論理エレメントグループのセットアップ時間が保証される範囲か否かを判断し、
前記第２の論理エレメントグループのセットアップ時間が保証される範囲であるとき、前記第１の論理エレメントグループから前記第２の論理エレメントグループに対してデータを直接転送するように、処理を前記第１及び第２の論理エレメントグループに割り当てる
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【請求項２０】
前記請求項１７記載の再構成可能な半導体集積回路の処理割り当て方法において、
クロックソースからの遅延時間が大きい第１の論理エレメントグループから前記クロックソースからの遅延時間が小さい第２の論理エレメントグループにデータを転送するに際して、前記第２の論理エレメントグループのセットアップ時間が保証される範囲か否かを判断し、
前記第２の論理エレメントグループのセットアップ時間が保証される範囲でないとき、前記第１の論理エレメントグループから、前記セットアップ時間が保証される少なくとも１つのデータ中継用の論理エレメントグループを介して前記第２の論理エレメントグループへデータを順次転送するように、処理を前記第１及び第２の論理エレメントグループに割り当てる
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【請求項２１】
前記請求項１７記載の再構成可能な半導体集積回路の処理割り当て方法において、
クロックソースからの遅延時間が大きい第１の論理エレメントグループから前記クロックソースからの遅延時間が小さい第２の論理エレメントグループにデータを転送するに際して、前記第２の論理エレメントグループのセットアップ時間が保証される範囲か否かを判断し、
前記第２の論理エレメントグループのセットアップ時間が保証される範囲でないとき、前記第１の論理エレメントグループから、前記セットアップ時間が保証される少なくとも１つのデータ中継手段を介して前記第２の論理エレメントグループへデータを順次転送するように、処理を前記第１及び第２の論理エレメントグループに割り当てる
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【請求項２２】
前記請求項２０記載の再構成可能な半導体集積回路の処理割り当て方法において、
前記第１の論理エレメントグループから前記第２の論理エレメントグループへのデータラインの遅延時間を複数に等分するように、前記少なくとも１つのデータ中継用の論理エレメントグループを選択する
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【請求項２３】
前記請求項２１記載の再構成可能な半導体集積回路の処理割り当て方法において、
前記第１の論理エレメントグループから前記第２の論理エレメントグループ
へのデータラインの遅延時間を複数に等分するように、前記少なくとも１つのデータ中継手段を配置する
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【請求項２４】
論理エレメントを少なくとも１つ有する論理エレメントグループを複数備え、
前記複数の論理エレメントグループのうちｋ＋１番目（ｋは任意の自然数）の論理エレメントグループへのクロック信号の供給は、ｋ番目の論理エレメントグループのクロック出力を前記ｋ＋１番目の論理エレメントグループのクロック入力へ接続することによって実現され、
前記ｋ番目の論理エレメントグループから前記ｋ＋１番目の論理エレメントグループへのデータラインには、前記ｋ＋１番目の論理エレメントグループのホールド制約を満たすように、遅延素子が挿入されている
再構成可能な半導体集積回路に対して処理を割り当てる方法であって、
クロックソースからのクロック遅延時間が大きい論理エレメントグループからクロック遅延時間が小さい論理エレメントグループへのデータ転送経路であるフィードバックパスを検索し、
前記検索したフィードバックパスの遅延時間が所定範囲になるように、前記クロック遅延時間が大きい論理エレメントグループに処理を割り当てる
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【請求項２５】
前記請求項２４記載の再構成可能な半導体集積回路の処理割り当て方法において、
前記所定範囲は、データを受ける論理エレメントグループのセットアップ制約を満たす遅延時間範囲である
ことを特徴とする再構成可能な半導体集積回路の処理割り当て方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再構成可能な半導体集積回路及びその処理割り当て方法に関する。
【背景技術】
【０００２】
近年では、半導体の集積度の向上に伴い、ＬＳＩに集積されるシステムが大規模化、複雑化し、これにより設計期間の増大やソフトウェアでの回避不能な設計不具合の発生頻度が増加している。しかし、一方では、市場から更なる短ＴＡＴ化（Turn Around Time、新製品の設計期間の短縮化）と、高品質設計が求められている。
【０００３】
そこで、再構成可能な半導体集積回路を用いて、設計期間の短縮や不具合数の減少に貢献しようとする技術がある。この再構成可能な半導体集積回路は、近年のFPGA(Field Programmable Gate Array)に代表されるプログラマブルロジックデバイスであって、このプログラマブルロジックデバイスは、例えば非特許文献１に記載されるように、複数の論理エレメントを内蔵していて、各々の論理エレメントの処理機能や各論理エレメント間の接続状態を変更することにより、任意の処理機能を実現することができる集積回路である。そして、再構成可能な半導体集積回路は、このようなプログラマブルロジックデバイスを複数接続して完成させており、一度デバイスとして完成すれば、その後は、処理をどのように割り当てて実行させるかをソフトウェアのみで実現できるので、ハードウェアとソフトウェアとの双方の設計を行う必要がなく、設計期間の短縮につながる。また、処理機能を全てソフトウェアで実現するので、万が一不具合が発生した場合にも、ソフトウェアの修正のみで足りる利点がある。
【非特許文献１】編集部；動的再構成可能デバイス、その素性と実力、pp.19-29、Design Wave Magazine、２００４年８月号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、再構成可能な半導体集積回路であっても、求められる処理量に対して性能が足りない、又は性能が過剰であるなどの場合には、再構成可能な半導体集積回路自体を再設計する必要が生じることがある。
【０００５】
この場合に、従来の再構成可能な半導体集積回路では、１つ又は複数のプログラマブルロジックデバイスを新規に追加する必要性が生じたときには、この新規回路の設計だけでなく、それを組み込む既存の回路についても再設計が必要となっていた。すなわち、従来の再構成可能な半導体集積回路では、１つのクロック信号供給点から複数のプログラマブルロジックデバイスに対してクロック信号が分配されていて、全てのプログラマブルロジックデバイスが同期動作するように、各プログラマブルロジックデバイス間ではクロックスキューが小さく制限、調整されている。しかし、再設計の際に新規回路を既存回路に追加すると、その新規のプログラマブルロジックデバイスが接続付加された既存のプログラマブルロジックデバイスや、これにデータ信号を伝送している他のプログラマブルロジックデバイスでは、各々、負荷が変化する。このため、既存回路についても、その全体でクロックスキューを再調整しなければならず、再設計が必要となる。この欠点は、不要回路の削減の場合も同様である。従って、再構成可能な半導体集積回路自体を再設計する必要が生じた場合には、従来では、設計期間の短縮の要求を効果的に満たすことができない。
【０００６】
本発明は前記の問題に着目し、その目的は、再構成可能な半導体集積回路自体を再設計する必要が生じた場合においても、既存回路に変更を加えることなく、新規回路のみの設計や不要な回路部分の削除だけで全体の再設計が完了する再構成可能な半導体集積回路、及びその再構成可能な半導体集積回路に対して実現したい処理を効率良く割り当てる処理割り当て方法を提供することにある。
【課題を解決するための手段】
【０００７】
以上の目的を達成するため、本発明では、再構成可能な半導体集積回路を構成する複数のプログラマブルロジックデバイス（論理エレメントグループ）間は、データ送受のタイミング設計に関して相互に独立させることとする。すなわち、従来のように複数のプログラマブルロジックデバイス相互間のクロックスキューを全て小さく設計するのではなく、データ送受を行う２個の論理エレメントグループ間ではクロックスキューを積極的に付けると共に、このクロックスキューを考慮してデータ送受を行う構成を採用する。
【０００８】
すなわち、請求項１記載の発明の再構成可能な半導体集積回路は、構成要素である論理エレメントを複数備えた再構成可能な半導体集積回路であって、前記論理エレメントを少なくとも１つ有する論理エレメントグループを複数有し、前記複数の論理エレメントグループの各々は、データ入力、データ出力、クロック入力及びクロック出力を各々少なくとも１つ有し、前記複数の論理エレメントグループのうちｋ＋１番目（ｋは任意の自然数）の論理エレメントグループへのクロック信号の供給は、ｋ番目の論理エレメントグループのクロック出力を前記ｋ＋１番目の論理エレメントグループのクロック入力へ接続することによって実現され、前記ｋ番目の論理エレメントグループから前記ｋ＋１番目の論理エレメントグループへのデータラインには、前記ｋ＋１番目の論理エレメントグループのホールド制約を満たすように、遅延素子が挿入されていることを特徴とする。
【０００９】
請求項２記載の発明は、前記請求項１記載の再構成可能な半導体集積回路において、ｋ番目の論理エレメントグループのデータ入力には、ｌ番目（ｌはｌ＜ｋを満たす自然数）の論理エレメントグループのデータ出力が接続されていることを特徴とする。
【００１０】
請求項３記載の発明は、前記請求項１記載の再構成可能な半導体集積回路において、ｋ番目の論理エレメントグループのデータ入力には、ｍ番目（ｍはｍ＞ｋを満たす自然数）の論理エレメントグループのデータ出力が接続されていることを特徴とする。
【００１１】
請求項４記載の発明は、前記請求項３記載の再構成可能な半導体集積回路において、前記ｍ番目の論理エレメントグループから前記ｋ番目の論理エレメントグループへのデータラインには、データを転送するための中継手段が設けられていることを特徴とする。
【００１２】
請求項５記載の発明は、前記請求項１記載の再構成可能な半導体集積回路において、ホールド制約を満たすために挿入される前記遅延素子は、前記データ出力側であるｋ番目の論理エレメントグループ内に備えられることを特徴とする。
【００１３】
請求項６記載の発明は、前記請求項１記載の再構成可能な半導体集積回路において、ホールド制約を満たすために挿入される前記遅延素子は、前記データ出力側であるｋ番目の論理エレメントグループと前記データ入力側であるｋ＋１番目の論理エレメントグループとの間のデータラインに備えられることを特徴とする。
【００１４】
請求項７記載の発明は、前記請求項１記載の再構成可能な半導体集積回路において、ホールド制約を満たすために挿入される前記遅延素子は、前記データ入力側であるｋ＋１番目の論理エレメントグループ内に備えられることを特徴とする。
【００１５】
請求項８記載の発明は、前記請求項１記載の再構成可能な半導体集積回路において、ホールド制約を満たすために挿入される前記遅延素子は、前記データ出力側であるｋ番目の論理エレメントグループ内、前記データ出力側であるｋ番目の論理エレメントグループと前記データ入力側であるｋ＋１番目の論理エレメントグループとの間のデータライン、及び前記データ入力側であるｋ＋１番目の論理エレメントグループ内の少なくとも１つに備えられることを特徴とする。
【００１６】
請求項９記載の発明は、前記請求項１記載の再構成可能な半導体集積回路において、前記ｋ番目の論理エレメントグループのクロック出力と前記ｋ＋１番目の論理エレメントグループのクロック入力との間のクロックラインには、前記ｋ＋１番目の論理エレメントグループにクロック信号を供給するか否かを選択できる論理ゲートが配置されることを特徴とする。
【００１７】
請求項１０記載の発明は、前記請求項１記載の再構成可能な半導体集積回路において、前記複数の論理エレメントグループは、２次元行列状に配列されていて、前記２次元行列において同一の行に配置されている複数の論理エレメントグループは、クロックソースからの遅延時間が等しく設定されていることを特徴とする。
【００１８】
請求項１１記載の発明は、前記請求項１記載の再構成可能な半導体集積回路において、前記複数の論理エレメントグループは、２次元行列状に配列されていて、前記２次元行列において同一の列に配置されている複数の論理エレメントグループは、クロックソースからの遅延時間が等しく設定されていることを特徴とする。
【００１９】
請求項１２記載の発明は、前記請求項１記載の再構成可能な半導体集積回路において、クロックソースからの遅延時間が大きい位置に配置される同期化された論理エレメントグループの個数は、クロックソースからの遅延時間が小さい位置に配置される同期化された論理エレメントグループの個数に比べて、多く設定されることを特徴とする。
【００２０】
請求項１３記載の発明は、前記請求項１２記載の再構成可能な半導体集積回路において、前記複数の論理エレメントグループは、Ｍ×Ｎの２次元行列状（Ｍ、Ｎは自然数）に配列されていて、２次元行列においてｘｙ（ｘは１〜Ｍ間の任意の自然数、ｙは１〜Ｎ間の任意の自然数）の位置にある論理エレメントグループにクロック信号を入力するとき、２次元行列においてａｂ（ａはａ≠ｘ且つａ≦Ｍの自然数、ｂはｂ≠ｙ且つｙ＜ｂ≦Ｎの自然数）の位置にある論理エレメントグループのうち、｜ｘ−ａ｜＋｜ｙ−ｂ｜の値が等しい複数の論理エレメントグループ同士は、クロック遅延が等しく設定されていることを特徴とする。
【００２１】
請求項１４記載の発明は、前記請求項１０、１１及び１３の何れか１項に記載の再構成可能な半導体集積回路において、複数の論理エレメントグループは、３次元行列状に配列されることを特徴とする。
【００２２】
請求項１５記載の発明は、前記請求項１記載の再構成可能な半導体集積回路において、前記各論理エレメントグループ相互間のデータラインの遅延量は、前記各論理エレメントグループ相互間のクロックラインの遅延量に応じて決定されることを特徴とする。
【００２３】
請求項１６記載の発明は、前記請求項１記載の再構成可能な半導体集積回路において、前記各論理エレメントグループには、相互に遅延が異なるクロック信号が供給されることを特徴とする。
【００２４】
請求項１７記載の発明の再構成可能な半導体集積回路の処理割り当て方法は、論理エレメントを少なくとも１つ有する論理エレメントグループを複数備え、前記複数の論理エレメントグループのうちｋ＋１番目（ｋは任意の自然数）の論理エレメントグループへのクロック信号の供給は、ｋ番目の論理エレメントグループのクロック出力を前記ｋ＋１番目の論理エレメントグループのクロック入力へ接続することによって実現され、前記ｋ番目の論理エレメントグループから前記ｋ＋１番目の論理エレメントグループへのデータラインには、前記ｋ＋１番目の論理エレメントグループのホールド制約を満たすように、遅延素子が挿入されている再構成可能な半導体集積回路に対して処理を割り当てる方法であって、１つの処理を構成する２以上のタスクを時系列に並べ、前記時系列に並んだタスクのうち、順番の早いタスクほど、クロックソースに近い論理エレメントグループに割り当てることを特徴とする。
【００２５】
請求項１８記載の発明は、前記請求項１７記載の再構成可能な半導体集積回路の処理割り当て方法において、常時動作する処理か常時動作しない処理化を判断し、常時動作する処理を、クロックソースからの遅延時間が小さい論理エレメントグループに割り当て、常時動作しない処理を、クロックソースからの遅延時間が大きい論理エレメントグループに割り当てることを特徴とする。
【００２６】
請求項１９記載の発明は、前記請求項１７記載の再構成可能な半導体集積回路の処理割り当て方法において、クロックソースからの遅延時間が大きい第１の論理エレメントグループから前記クロックソースからの遅延時間が小さい第２の論理エレメントグループにデータを転送するに際して、前記第２の論理エレメントグループのセットアップ時間が保証される範囲か否かを判断し、前記第２の論理エレメントグループのセットアップ時間が保証される範囲であるとき、前記第１の論理エレメントグループから前記第２の論理エレメントグループに対してデータを直接転送するように、処理を前記第１及び第２の論理エレメントグループに割り当てることを特徴とする。
【００２７】
請求項２０記載の発明は、前記請求項１７記載の再構成可能な半導体集積回路の処理割り当て方法において、クロックソースからの遅延時間が大きい第１の論理エレメントグループから前記クロックソースからの遅延時間が小さい第２の論理エレメントグループにデータを転送するに際して、前記第２の論理エレメントグループのセットアップ時間が保証される範囲か否かを判断し、前記第２の論理エレメントグループのセットアップ時間が保証される範囲でないとき、前記第１の論理エレメントグループから、前記セットアップ時間が保証される少なくとも１つのデータ中継用の論理エレメントグループを介して前記第２の論理エレメントグループへデータを順次転送するように、処理を前記第１及び第２の論理エレメントグループに割り当てることを特徴とする。
【００２８】
請求項２１記載の発明は、前記請求項１７記載の再構成可能な半導体集積回路の処理割り当て方法において、クロックソースからの遅延時間が大きい第１の論理エレメントグループから前記クロックソースからの遅延時間が小さい第２の論理エレメントグループにデータを転送するに際して、前記第２の論理エレメントグループのセットアップ時間が保証される範囲か否かを判断し、前記第２の論理エレメントグループのセットアップ時間が保証される範囲でないとき、前記第１の論理エレメントグループから、前記セットアップ時間が保証される少なくとも１つのデータ中継手段を介して前記第２の論理エレメントグループへデータを順次転送するように、処理を前記第１及び第２の論理エレメントグループに割り当てることを特徴とする。
【００２９】
請求項２２記載の発明は、前記請求項２０記載の再構成可能な半導体集積回路の処理割り当て方法において、前記第１の論理エレメントグループから前記第２の論理エレメントグループへのデータラインの遅延時間を複数に等分するように、前記少なくとも１つのデータ中継用の論理エレメントグループを選択することを特徴とする。
【００３０】
請求項２３記載の発明は、前記請求項２１記載の再構成可能な半導体集積回路の処理割り当て方法において、前記第１の論理エレメントグループから前記第２の論理エレメントグループへのデータラインの遅延時間を複数に等分するように、前記少なくとも１つのデータ中継手段を配置することを特徴とする。
【００３１】
請求項２４記載の発明の再構成可能な半導体集積回路の処理割り当て方法は、論理エレメントを少なくとも１つ有する論理エレメントグループを複数備え、前記複数の論理エレメントグループのうちｋ＋１番目（ｋは任意の自然数）の論理エレメントグループへのクロック信号の供給は、ｋ番目の論理エレメントグループのクロック出力を前記ｋ＋１番目の論理エレメントグループのクロック入力へ接続することによって実現され、前記ｋ番目の論理エレメントグループから前記ｋ＋１番目の論理エレメントグループへのデータラインには、前記ｋ＋１番目の論理エレメントグループのホールド制約を満たすように、遅延素子が挿入されている再構成可能な半導体集積回路に対して処理を割り当てる方法であって、クロックソースからのクロック遅延時間が大きい論理エレメントグループからクロック遅延時間が小さい論理エレメントグループへのデータ転送経路であるフィードバックパスを検索し、前記検索したフィードバックパスの遅延時間が所定範囲になるように、前記クロック遅延時間が大きい論理エレメントグループに処理を割り当てることを特徴とする。
【００３２】
請求項２５記載の発明は、前記請求項２４記載の再構成可能な半導体集積回路の処理割り当て方法において、前記所定範囲は、データを受ける論理エレメントグループのセットアップ制約を満たす遅延時間範囲であることを特徴とする。
【００３３】
以上により、本発明では、クロック信号を出力する論理エレメントグループ（Logic Element Group）からクロック信号を受けて動作する論理エレメントグループへデータを転送する場合に、クロック信号を受けて動作する論理エレメントグループでは、クロック信号を出力する論理エレメントグループから所定時間遅れてクロック信号を受けるので、セットアップ制約を満たす。また、前記２つの論理エレメントグループ間のデータラインには遅延素子が挿入されているので、ホールド制約を満たすことができる。従って、この２つの論理エレメントグループは、タイミング設計という観点では相互に独立である。よって、再構成可能な半導体集積回路を再設計する必要が生じた場合には、必要のない論理エレメントグループであれば、これをレイアウト上で取り除き、新規の論理エレメントグループが必要であれば、その新規回路部分のみを設計し、既存回路に接続するだけで、全体回路のクロック設計をやり直すことなく新規の再構成可能な半導体集積回路が完成する。
【発明の効果】
【００３４】
以上説明したように、本発明によれば、再構成可能な半導体集積回路を再設計する必要が生じた場合であっても、既存回路も含めてクロック設計をやり直す必要がないので、新規の再構成可能な半導体集積回路の設計期間を有効に短縮することが可能である。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の実施形態を図面に基づいて説明する。
【００３６】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る再構成可能な半導体集積回路の構成を示す図である。
【００３７】
同図の再構成可能な半導体集積回路は、９個の論理エレメントグループ（Logic Element Group）１１〜１３、２１〜２３、３１〜３３が３行３列（Ｍ×Ｎ＝３×３）の２次元行列状に配置されている。各論理エレメントグループ１１〜３３には、少なくとも１つの論理エレメント（図示せず）が含まれる。それ等の論理エレメントの内部には、各々、図示しないが、複数の演算器、複数のレジスタ、メモリ等が備えられる。また、各論理エレメントグループ１１〜３３は、２つのクロック入力端子clock in 1、clock in 2と、２つのクロック出力端子clock out 1、clock out 2と、２つのデータ入力端子data in 1、data in 2と、２つのデータ出力端子data out 1、data out 2とを有する。尚、これ等の端子は、同一種類では少なくとも１個備えれば良い。
【００３８】
同図の再構成可能な半導体集積回路へのクロック信号の供給は、１行１列目の論理エレメントグループ１１のクロック入力clock in 1に与えられる。このクロック信号は、前記１行１列目の論理エレメントグループ１１のクロック出力clock out 1から１行２列目の論理エレメントグループ１２のクロック入力clock in 1に与えられると共に、前記１行１列目の論理エレメントグループ１１のクロック出力clock out 2から２行１列目の論理エレメントグループ２１のクロック入力clock in 2に与えられる。このように行方向及び列方向に分配されたクロック信号は、更に、前記と同様にして行方向及び列方向の論理エレメントグループに分配される。
【００３９】
更に、前記９個の論理エレメントグループ１１〜３３間のデータの入出力については、前記クロック信号の分配と同様に、１行１列目の論理エレメントグループ１１のデータ出力端子data out 1から１行２列目の論理エレメントグループ１２のデータ入力端子data in 1に送られると共に、１行１列目の論理エレメントグループ１１のデータ出力端子data out 2から２行１列目の論理エレメントグループ２１のデータ入力端子data in 2に入力される。そして、このようにしてデータが更に行方向及び列方向に送られる。
【００４０】
そして、前記各論理エレメントグループ１１〜３３において、左右又は上下に隣接する２個の論理エレメントグループ間のクロック出力clock out 1とクロック入力clock in 1とを接続するクロックライン、又はクロック出力clock out 2とクロック入力clock in 2とを接続するクロックラインには、各々、２入力型の論理積回路（論理ゲート）２０１〜２０８が挿入されている。この各論理積回路２０１〜２０８の２入力の一方にはクロック信号が入力され、２入力の他方には、動作の停止制御信号が入力される。この停止制御信号がＬレベルのとき、この論理積回路を介してクロック信号を受ける論理エレメントグループは、クロック信号の供給が停止されて、その動作を停止する。従って、各論理エレメントグループ１１〜３３別にクロック信号の供給を制御できて、低消費電力化を図ることが可能である。
【００４１】
更に、前記各論理エレメントグループ１１〜３３において、左右又は上下に隣接する２個の論理エレメントグループ間のデータ出力data out 1とデータ入力data in 1とを接続するデータライン、又はデータ出力data out 2とデータ入力data in 2とを接続するデータラインには、各々、データのホールド時間保証用の遅延素子１０１〜１１２が挿入される。これ等の遅延素子は同図ではバッファより成っている。これ等の遅延素子１０１〜１１２は、データラインに挿入する場合に限らず、データ入力側やデータ出力側の論理エレメントグループの少なくとも一方の内部に配置しても良い。
【００４２】
従って、本実施形態では、データの送受を行う２つの論理エレメントグループ（例えば１１と１２）間において、データを受ける２番目（ｋ＝２）の論理エレメントグループ１２では、データを送る１番目（ｌ＝１）論理エレメントグループ１１からクロックラインを経てクロック信号を受けるので、そのクロックラインを経て伝播する時間分、クロック信号の受信が遅れる。従って、データを受ける論理エレメントグループ１２では、データを送る論理エレメントグループ１１からのデータの取込保持でのセットアップ制約を満たす。更に、両論理エレメントグループ１１、１２間のデータラインには遅延素子１０１が挿入されているので、この遅延素子１０１での遅延時間を前記クロック信号の伝播の遅延時間を考慮した適切な時間に設定すれば、ホールド制約を満たすことができる。尚、一般の半導体回路設計では、セットアップ制約とホールド制約との両方を考慮に入れて遅延素子を挿入する必要があるが、本実施形態では、ホールド制約のみを考慮に入れて遅延素子１０１を挿入すれば良いので、タイミング設計が容易となる。
【００４３】
従って、この２つの論理エレメントグループ１１、１２は、タイミング設計という観点では相互に独立である。よって、図１に示した９個の論理エレメントグループ１１〜３３より成る再構成可能な半導体集積回路を再設計する必要が生じた場合であっても、必要のない論理エレメントグループ（例えば３３）があれば、これをレイアウト上で取り除き、新規の論理エレメントグループが必要であれば、その新規回路部分のみを設計し、図１に示した既存回路の論理エレメントグループ（例えば１３や３１など）のクロック出力clock out 1又はclock out 1及びデータ出力data out 1又はdata out 2に接続するだけで、全体回路のクロック設計をやり直すことなく、新規の再構成可能な半導体集積回路を完成することができ、新規の再構成可能な半導体集積回路の設計期間の短縮化が可能である。
【００４４】
尚、論理エレメントグループ毎に処理が完結して、次の論理エレメントグループには処理結果を渡すだけの場合には、各論理エレメントグループ１１〜３３間でクロック遅延を揃える必要がないので、遅延が異なるクロック信号を各論理エレメントグループ１１〜３３に供給する構成とすれば、タイミング設計が容易となる。
【００４５】
（第１の変形例）
図２は、図１に示した再構成可能な半導体集積回路に他の構成を追加した半導体集積回路を示す。
【００４６】
同図では、第１行目の論理エレメントグループ１１〜１３のみを図示し、第２及び第３行目の論理エレメントグループ２１〜３３は省略している。本変形例では、クロック遅延の大きい３番目（ｋ＝３）の論理エレメントグループ１３のデータ出力data out 1から、クロック遅延の小さい１番目（ｍ＝１）の論理エレメントグループ１１のデータ入力data in 1にデータ転送される場合に、そのデータの転送が遅くて、データを受ける論理エレメントグループ１１でのデータのセットアップ制約を満たせない場合には、この両論理エレメントグループ１３、１１間のデータライン３０１に中継回路（中継手段）４０１が配置される。この中継回路４０１は、例えばフリップフロップ回路から成る。
【００４７】
従って、本変形例では、中継回路４０１により、クロック遅延が大きい論理エレメントグループ１３からクロック遅延が小さい論理エレメントグループ１１にデータ転送する場合であっても、データライン３０１のセットアップ制約を満たして、そのデータ転送を可能にできる。
【００４８】
（処理割り当て方法−第１の例）
次に、図１に示した再構成可能な半導体集積回路に対して処理を割り当てる処理割り当て方法を説明する。
【００４９】
図３は、図１の再構成可能な半導体集積回路への処理割り当方法の手順を示す。同図では、ステップＳ５０１において、１つの処理を構成する複数のタスクの内容や順番について解析し、その後、ステップＳ５０２において、その複数のタスクを時系列に並び替えし、最後に、ステップＳ５０３において、図１の再構成可能な半導体集積回路を構成する複数の論理エレメントグループ１１〜３３のうち、クロック信号の供給点に近い論理エレメントグループ（即ち、１１）から順に、順番の早いタスクを割り当てて行く。
【００５０】
図１に示した再構成可能な半導体集積回路に処理を効率良く割り当てるには、クロック供給点からの遅延時間が小さい方から大きい方へ処理が流れる、つまり、データラインにおいてクロックソース供給点からの遅延時間が大きい方から小さい方へのデータ転送が少ないように処理を割り当てるのが望ましい。本処理割り当て方法では、割り当てようとする処理のタスクを時系列に並べ、順番の早いタスクから順に、クロック供給点からの遅延が小さい論理エレメントグループへ割り当てたので、処理の割り当ての効率が向上する。
【００５１】
＜処理割り当て方法−第２の例＞
図４は、図１の再構成可能な半導体集積回路への処理割り当て方法の手順の他の例を示す。
【００５２】
同図では、ステップＳ５０１において、１つの処理を構成する複数のタスクの内容や順番について解析し、その後、ステップＳ５１１において、その解析の結果、その複数のタスクが各々常に動作するタスクか常には動作しないタスクかを判断し、その後、常に動作するタスクの場合には、ステップＳ５１２において、クロック供給点に近い論理エレメントグループにそのタスクを割り当て、常に動作しないタスクの場合には、ステップＳ５１３において、クロック供給点から遠い位置の論理エレメントグループにそのタスクを割り当てる。その際、クロック供給点から遠い位置の論理エレメントグループが動作しないときには、この論理エレメントグループへのクロック信号の供給を停止することができるように、論理積回路（図１の例えば２０１）に動作の停止制御信号（Ｌレベル）を与える。
【００５３】
従って、本処理割り当て方法では、タスクを動作頻度で分類し、動作頻度の高いタスクをクロック供給点からの遅延時間が小さい論理エレメントグループに割り当て、動作頻度の低いタスクをクロック供給点からの遅延時間が大きい論理エレメントグループに割り当てるので、動作頻度の少ないタスクが割り当てられた論理エレメントグループに対しては、その動作が必要なときのみに限って、クロック信号を供給をすることができ、低消費電力化を図ることができる。
【００５４】
＜処理割り当て方法−第１の変形例＞
図５は、図１に示した再構成可能な半導体集積回路への処理の割り当て方法の変形例を示す。
【００５５】
本変形例では、前記図３又は図４で説明した処理の割り当て後に、次の処理割り当てを追加している。即ち、図５において、例えば論理エレメントグループ１３から論理エレメントグループ１１へのデータ転送がある場合において、クロック信号の遅延が大きい論理エレメントグループ１３が出力したデータの受け取り側の論理エレメントグループ１１でのセットアップ制約が守られるときには、そのまま論理エレメントグループ１１のデータ入力data in 1に接続してデータを直接に転送するように、処理及び配線３１０を割り当てる。
【００５６】
＜処理割り当て方法−第２の変形例＞
図６は、図１に示した再構成可能な半導体集積回路への処理の割り当て方法の他の変形例を示す。
【００５７】
前記変形例では、論理エレメントグループ１３から論理エレメントグループ１１へのデータ転送がある場合において、クロック信号の遅延が大きい論理エレメントグループ１３が出力したデータの受け取り側の論理エレメントグループ１１でのセットアップ制約が守られるときを説明したが、このセットアップ制約が守られないときを説明する。
【００５８】
すなわち、論理エレメントグループ１３が出力したデータの受け取り側の論理エレメントグループ１１においてデータのセットアップ制約が守られない場合には、セットアップ制約が守られる範囲にある論理エレメントグループ（例えば１２）のデータ入力data in 2に接続し、この論理エレメントグループ１２のデータ出力data out 2からデータライン３１２を論理エレメントグループ１１のデータ入力data in 1に接続することにより、データを論理エレメントグループ１２を中継して転送するように、配線を割り当てる。
【００５９】
尚、以上の説明では、データを論理エレメントグループ１２でデータを中継したが、その他、図２に示した中継回路（データ中継手段）４０１を使用して、データを中継して転送するように、処理及び配線を割り当てても良い。
【００６０】
従って、以上の２つの変形例では、データを受ける側の論理エレメントグループでのデータのセットアップ制約が満たされる場合であっても、満たされない場合であっても、同一経路に配線を割り当てることが可能であるので、データ伝送の配線の自由度の向上が図れる。
【００６１】
尚、以上の変形例では、論理エレメントグループ１１〜１３を用いて説明したが、この組み合わせに限らず、任意の論理エレメントグループ間のクロック信号の遅延が積み重なる方向とは逆方向へのデータ転送において、同様である。
【００６２】
また、以上の変形例では、１つの論理エレメントグループ又は中継回路を使用して、配線遅延を２分割したが、状況に応じて３分割、４分割…と分割することも可能である。尚、このように配線遅延を分割する場合には、配線遅延を複数に等分割することが望ましく、この場合には、データのフィードバックに要するリソースを最小限にすることができる。
【００６３】
（第２の実施形態）
図７は、本発明の第２の実施形態に係る再構成可能な半導体集積回路の概略構成を示す。
【００６４】
同図において、本実施形態の再構成可能な半導体集積回路は、図１に示した実施形態１とは、クロックライン以外は同等である。
【００６５】
本実施形態では、クロックラインは、スキュー調整されたクロック信号を第１行目の３個の論理エレメントグループ１１〜１３に入力し、これ等の論理エレメントグループ１１〜１３が出力するクロック信号をスキュー調整して、第２行目の３個の論理エレメントグループ２１〜２３に入力し、これ等の論理エレメントグループ２１〜２３が出力するクロック信号をスキュー調整して、第３行目の３個の論理エレメントグループ３１〜３３に入力するように構成している。
【００６６】
前記第１の実施形態では、各論理エレメントグループ１１〜３３間のクロックスキューは揃っていないが、本実施形態では、同一行に並んでいる論理エレメントグループに関してクロックスキューを揃えている。
【００６７】
従って、本実施形態では、同一行に配置された３個の論理エレメントグループ間ではクロックスキューが調整されているので、処理量がどの時刻でもほぼ同量で、時間的に処理量変化が少ない処理を割り当てる際に、同一時刻のタスクを同一行の論理エレメントグループに割り当てれば、各時刻での使用する論理エレメントグループの数がほぼ等しくて、動作しない論理エレメントグループを少なくでき、論理エレメントグループの利用効率の向上を図ることができる。
【００６８】
尚、本実施形態では、同一行に並んでいる論理エレメントグループのスキューを揃えたが、同一列に並んでいる論理エレメントグループのスキューを揃えても良いのは、言うまでもない。
【００６９】
（処理割り当て方法）
図８は、本実施形態に係る再構成可能な半導体集積回路へ処理を割り当てる方法を示す。
【００７０】
本実施形態の再構成可能な半導体集積回路に処理を割り当てる際には、前記第１の実施形態で説明した処理割り当て方法に加えて、配線の仕方をも考慮して、論理エレメントグループに処理を割り当てて行くと、効率が良くなる。
【００７１】
すなわち、クロックソースからのクロック遅延時間が大きい論理エレメントグループからクロック遅延時間が小さい論理エレメントグループへのデータ転送経路をフィードバックパスと定義して、このフィードバックパスがあるか否かを検索し、その結果、フィードバックパスがある場合には、そのフィードバックパスを持つ論理エレメントグループに処理を割り当てる際には、できるだけそのフィードバックするパスの遅延時間が小さくなるような位置にある論理エレメントグループに対して、そのフィードバックパスにデータを出力する処理を割り当てる。以下、具体的に説明する。
【００７２】
前記第１の実施形態の処理割り当て方法では、１つの処理が例えば３つのタスクに分割され、かつそのタスクが時系列でタスク１、２、３と並んでいた場合に、それ等のタスク１、２、３は、各々、図１の論理エレメントグループ１１、１２、１３に割り当てられる。ここで、検索によってタスク３からタスク１へデータ転送があることが見出され、且つ論理エレメントグループ１３から論理エレメントグループ１１へのデータ転送に中継回路又は中継用の論理エレメントグループが必要だったときには、図８に示すように、フィードバックパスの遅延時間が論理エレメントグループ１１のセットアップ制約を満たす所定遅延時間範囲内に入るように、タスク３を、論理エレメントグループ１１に近い位置の論理エレメントグループ２１に割り当てる。この割り当てにより、中継回路又は中継用の論理エレメントグループが必要なくなる。
【００７３】
従って、本処理割り当て方法によれば、セットアップ制約を満たさないデータのフィードバックパスが存在しなくなるので、フィードバックに要するリソースをなくすことができ、小面積化及び低消費電力化が図れる。
【００７４】
（第３の実施形態）
図９は、本発明の第３の実施形態に係る再構成可能な半導体集積回路の構成を示す。
【００７５】
本実施形態の再構成可能な半導体集積回路は、前記第１の実施形態とクロックライン以外は同等である。
【００７６】
本実施形態では、３行３列（ｘ＝３、ｙ＝３）の２次元行列に配置された論理エレメントグループ１１〜３３おいて、クロックラインは、先ず、１列１行目の論理エレメントグループ１１に供給され、その後、１行２列目及び２行１列目の論理エレメントグループ１２、２１に分配され、更に、１行３列目、２行２列目及び３行１列目の論理エレメントグループ１３、２２、３１に分配され、その後、２行３列目及び３行２列目の論理エレメントグループ２３、３２に分配され、最後に３行３列目の論理エレメントグループ３３に分配される。
【００７７】
前記１行２列目及び２行１列目の論理エレメントグループ１２、２１に入力されるクロック信号は相互にスキュー調整され、１行３列目、２行２列目及び３行１列目の論理エレメントグループ１３、２２、３１に入力されるクロック信号も相互にスキュー調整され、２行３列目及び３行２列目の論理エレメントグループ２３、３２に入力されるクロック信号も相互にスキュー調整される。即ち、任意の論理エレメントグループの行方向及び列方向の位置をａ、ｂとすると、｜ｘ−ａ｜＋｜ｙ−ｂ｜の値が等しい複数の論理エレメントグループ同士は、クロック遅延が等しく設定されている、
従って、前記構成では、クロック供給点からのクロック信号の遅延時間が最も小さい論理エレメントグループ１１は１個、その次にクロック信号の遅延時間が小さい論理エレメントグループ１２、２１の個数は２個、クロック信号の遅延時間が大きい論理エレメントグループ１３、２２、３１の個数は３個であるので、このようなクロック信号遅延関係がある論理エレメントグループに対して、時間的に処理量が増加するような処理を割り当てると、論理エレメントグループの利用効率が高くなる。
【００７８】
更に、常に動作している処理（例えば、処理全体の制御をしている制御回路など）と、常には動作しない処理（例えば、前記制御回路から指示を受けて動作する演算回路など）とを割り当てる際に、常に動作している処理を、クロック供給点からのクロック信号の遅延時間が小さい論理エレメントグループ１１に割り当て、常には動作しない処理をクロック供給点からのクロック遅延時間が大きい論理エレメントグループ（１２、２１）又は（１３、２２、３１）に割り当てることにより、常には動作しない処理が実行されない期間は、これ等の論理エレメントグループへのクロック信号を停止することができ、低消費電力化を図ることが可能である。
【００７９】
以上、本発明に係る再構成可能な半導体集積回路及びその半導体集積回路への処理の割り当て方法について、実施形態に基づいて説明したが、本発明はこれらの実施形態に限定されない。例えば、以下のような変形例が考えられる。
【００８０】
（１）以上の説明では、３ｘ３の２次元行列状に論理エレメントグループを配列したが、ＭｘＮ（Ｍ、Ｎは任意の自然数）の２次元行列状に配列されたもの、ＭｘＮｘＫ（Ｍ、Ｎ、Ｋは任意の自然数）の３次元行列上に配列されたもの、又は行列状に配列されていないものについても、同様に適用できる。
【００８１】
（２）以上の説明では、各論理エレメントグループ１１〜３３間のクロックラインに論理積回路２０１〜２０８を挿入して、クロック信号を供給するか否かを選択できるようにしたが、全ての論理エレメントグループ間に論理積回路を挿入する必要とは限らない。また、クロック信号を供給するか否かを選択できれば、論理積回路以外の回路を使用しても良い。
【００８２】
（３）以上の説明では、論理エレメントグループ１１〜３３のデータ入力、データ出力、クロック入力、クロック出力は、各々、２つずつとしたが、各々の個数は全てが同一数である必要はないし、２つに限定されない。
【００８３】
（４）以上の説明では、データラインに挿入したホールド保証用の遅延素子１０１〜１１２をバッファで構成したが、遅延を実現できる回路であれば、バッファに限定されない。
【産業上の利用可能性】
【００８４】
以上説明したように、本発明は、再構成可能な半導体集積回路を再設計する必要が生じた場合であっても、既存回路も含めてクロック設計をやり直す必要がなく、新規の再構成可能な半導体集積回路の設計期間を有効に短縮することが可能であるので、ＦＰＧＡに代表されるプログラマブルロジックデバイス及びそのデバイスに処理を割り当てる方法として有用である。
【図面の簡単な説明】
【００８５】
【図１】本発明の第１の実施形態に係る再構成可能な半導体集積回路の構成を示す図である。
【図２】同再構成可能な半導体集積回路の変形例を示す図である。
【図３】本発明の第１の実施形態に係る再構成可能な半導体集積回路に処理を割り当てる際の基本フローチャートを示す図である。
【図４】同再構成可能な半導体集積回路に処理を割り当てる際の他の基本フローチャートを示す図である。
【図５】同再構成可能な半導体集積回路において、セットアップ制約を守ることができる場合でのデータラインのフィードバック構成を示す図である。
【図６】同再構成可能な半導体集積回路において、セットアップ制約を守ることができない場合でのデータラインのフィードバック構成を示す図である。
【図７】本発明の第２の実施形態に係る再構成可能な半導体集積回路の概略構成を示す図である。
【図８】同再構成可能な半導体集積回路に対してフィードバックパスを考慮して処理を割り当てた後の構成を示す図である。
【図９】本発明の第３の実施形態に係る再構成可能な半導体集積回路の概略構成を示す図である。
【符号の説明】
【００８６】
１１〜１３、２１〜２３、
３１〜３３             論理エレメントグループ
１０１〜１１２              遅延素子
２０１〜２０８              論理積回路（論理ゲート）
３０１、３０２、
３１０〜３１２          フィードバックパス
４０１                    中継回路（中継手段）（データ中継手段）
Ｓ５０１                   処理解析ステップ
Ｓ５０２                   並び替えステップ
５０３                    処理割り当てステップ
５１１                    タスク判定ステップ
５１２                    処理割り当てステップ
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2007040192.tif 000012
【図２】
2007040192.tif 000013
【図３】
2007040192.tif 000014
【図４】
2007040192.tif 000015
【図５】
2007040192.tif 000016
【図６】
2007040192.tif 000017
【図７】
2007040192.tif 000018
【図８】
2007040192.tif 000019
【図９】
2007040192.tif 000020
【国際調査報告】
2007040192.tif 000021
2007040192.tif 000022
2007040192.tif 000023
2007040192.tif 000024