(57)【要約】【課題】  一度マッピングツールで回路設定をしておくだけで簡単に複数の回路設定が得られる集積回路及びその回路設定生成方法を提供することを課題とする。【解決手段】  再構成可能集積回路を構成する基本タイルのアレイ間の配線の少なくとも一部が、ｎ（ｎは、１以上の整数とする）次元のトーラス状に接続されている集積回路及び再構成可能集積回路上に実現する同一の機能を有するがその性能が異なる確率変数に従う複数の異なる回路設定を、一つの回路設定を基本タイルのアレイのトーラス状に接続された方向に沿って移動させることにより作成することを特徴とする集積回路の回路設定生成方法により解決される。【選択図】  図２
2008034535.tif 000002
【特許請求の範囲】
【請求項１】
再構成可能集積回路を構成する基本タイルのアレイ間の配線の少なくとも一部が、ｎ（ｎは、１以上の整数とする）次元のトーラス状に接続されていることを特徴とする集積回路。
【請求項２】
再構成可能集積回路を構成する基本タイルのアレイの水平方向又は垂直方向の配線が、ｎ（ｎは、１以上の整数とする）次元のトーラス状に接続されていることを特徴とする集積回路。
【請求項３】
再構成可能集積回路を構成する基本タイルのサブアレイのアレイにおいて、サブアレイの一部又は全体がｎ（ｎは、１以上の整数とする）次元のトーラス状に接続されていることを特徴とする集積回路。
【請求項４】
サブアレイの水平方向又は垂直方向がトーラス状に接続されていることを特徴とする請求項３に記載の集積回路。
【請求項５】
トーラスト状に接続されたアレイ又はサブアレイが、論理的に２以上の長さの配線セグメントによって接続されていることを特徴とする請求項１乃至４のいずれか１項に記載の集積回路。
【請求項６】
請求項1又は2に記載の集積回路に対して、再構成可能集積回路上に実現する同一の機能を有するがその性能が異なる確率変数に従う複数の異なる回路設定を、一つの回路設定を基本タイルのアレイのトーラス状に接続された方向に沿って移動させることにより作成することを特徴とする集積回路の回路設定生成方法。
【請求項７】
請求項３又は４に記載の集積回路に対して、再構成可能集積回路上に実現する同一の機能を有するがその性能が異なる確率変数に従う複数の異なる回路設定を、一つの回路設定を全てのサブアレイでトーラス状に接続された方向に沿って移動させることにより作成することを特徴とする集積回路の回路設定生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再構成可能集積回路を含む集積回路及びその回路設定生成方法に関する。
【背景技術】
【０００２】
近年、半導体プロセスの微細化に伴って、チップ内の素子特性のばらつきが大きくなり、性能歩留りの低下が懸念されている。性能歩留りは、要求性能を満たすことが可能なチップの数を製造したチップの数で割った値である。チップ間の(または広い範囲に相関を持つ)ばらつきに関しては、非特許文献１や特許文献１、２のようにバックバイアスによりトランジスタのしきい値を制御することにより、チップ製造後に補正を行うことが有効である。しかしながら、チップ内のとりわけトランジスタごとに相関のないばらつきが発生する場合には、バイアス制御の単位を小さくする必要があり、回路オーバーヘッドが大きくなる問題がある。
【０００３】
一方、FPGA (Field-programmable gate array)などの再構成可能集積回路では、チップ製造後に何度でも回路機能が変更可能であるため、異なるアプローチが可能である。
再構成可能集積回路は、一般に図１のようなプログラム可能なスイッチマトリックス102と機能ブロック101からなるタイル100を105のように敷き詰めることによって構成され、それぞれのタイル間は104、103の垂直・水平方向の配線チャネルで接続されている。
【０００４】
機能ブロックには、プログラム可能な論理ゲート、LUT(Look Up Table)、加算器、乗算器、記憶素子などの回路が格納され、スイッチマトリックスを通じてそれらが相互に接続されることでひとつの回路機能を実現することが可能となっている。
スイッチマトリックスや機能ブロックは、設定メモリによってプログラム可能となっている。設定メモリとしてはSRAM (static random access memory)や、DRAM (dynamic random access memory)などの揮発性のメモリや、フラッシュEEPROM (electronically erasable and programmable read only memory)や、MRAM (magnetic random access memory)、FeRAM (ferroelectric random access memory)を用いたものが存在し、現在はSRAMやフラッシュEEPROMを用いたものが主流である。
【０００５】
通常、ユーザーは必要とする機能をHDL(Hardware description language)や、プログラミング言語などの機能記述言語を用いて記述し、マッピングツールもしくはコンパイラを用いて再構成可能集積回路の機能を決定する情報を生成、これを再構成可能集積回路の設定メモリに書き込むことで、所望の回路機能を再構成可能集積回路上に実現することができる。
なお、ユーザーの記述した機能を再構成可能集積回路の有する複数の機能ブロックに割り当て相互に接続する処理をマッピング、それを自動的に行うツールをマッピングツールと呼ぶ。
【０００６】
再構成可能集積回路には、ゲート単位で回路構成を変更可能なFPGAなどの細粒度再構成可能集積回路、ALU(arithmetic logic unit)や乗算器などの単位で回路構成を変更可能な粗粒度再構成可能集積回路、それらを混合した再構成可能集積回路が存在する。
また、瞬時に切り替え可能な複数の設定メモリを内蔵し、設定メモリを切り替えることでひとつの再構成可能集積回路上に時分割で複数の回路機能を実現する動的再構成可能集積回路も再構成可能集積回路の一種である。
【０００７】
再構成可能集積回路において最も安直なばらつき回避設定手法としては、あらかじめばらつきを測定しておき回路の性能を決定する最もクリティカルな部分に良好な特性を有する回路素子を割り当てる方法が考えられる。このような再構成可能集積回路におけるばらつき回避手法を実現する上で重要となるのは、チップごとのばらつきの診断(各回路素子がどのような特性を持っているかを調べること)と、ばらつきを考慮したマッピングである。
【０００８】
再構成可能集積回路におけるばらつきの診断は、リングオシレータなどの素子特性測定回路を再構成可能集積回路上に設定することで行うことができる。しかしながら、このような方法では、細粒度のばらつき診断のために多大な時間がかかり、トランジスタ毎に無相関なばらつきに対応することは困難である。
【０００９】
ばらつき診断用の回路を再構成可能集積回路にあらかじめ集積しておくことで、より迅速なばらつき診断を行うことが可能になると考えられるが、細粒度のばらつきの診断は回路オーバーヘッドが大きくなることや、検出回路自体にばらつきが生じるため困難である。
従来、再構成可能集積回路においては可能な回路状態の数が著しく多いことから、故障診断の困難性がコスト増の要因のひとつとして上げられていた。ばらつきの診断は、故障診断のように２値の検出ではなく、連続的な数値の検出を要するため、一層困難な問題であることは明らかである。したがって、ばらつきの診断を再構成可能集積回路の製造プロセスに加えることは、大きなコスト増を生むことは明らかである。
【００１０】
また、チップ個別に別々のマッピングを施すことは、これを搭載する製品の製造に著しく長時間を要するという問題があるほか、自動マッピングツールの安定性の問題がある。自動マッピングツールのアルゴリズムが安定的に最適解を出すことは困難であり、チップ個別にマッピングを行う場合、解の不安定性を考慮して性能マージンをあけておく必要が生じ性能低下を招く。
【００１１】
一方、本発明者らによる先願（特許文献３）では、再構成可能集積回路において、同一の機能に対して確率的に同じ性能を有するが異なる確率変数に従う複数の回路設定を用意し、各チップに対してそれぞれの回路設定を実装・テストし目標性能を達成可能な回路設定のみを利用することで、性能歩留りを向上する方法及びシステムを開示している。この方法は、ばらつきの診断を必要としないため低コストであり、用意する回路設定の数がチップ個別に回路設定を行う方法よりも少ないため、自動マッピングツールの安定性の問題も大幅に軽減可能である。この方法は、同一の機能に対して確率的に同じ性能を有するが異なる確率変数に従う複数の回路設定をできるだけ多く、迅速かつ安定的に作成できれば、特許文献３の手法はより性能歩留りを向上させることが可能となる。
【特許文献１】特開２０００−２８６３８７号公報
【特許文献２】特開２００４−２０３２５号公報
【特許文献３】特願２００６−１７３３７８号
【非特許文献１】D. R. Ditzel, “Power Reduction using LongRun2 in Transmeta’sEfficieon Processor”, Spring Processor Forum Presentation, 2006.
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ところが上記特許文献３の手法では、予め複数の回路設定を用意しておく必要があった。
したがって、本発明は、一度マッピングツールで回路設定をしておくだけで簡単に複数の回路設定が得られる集積回路及びその回路設定生成方法を提供することを課題とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために本発明は、次のような手段を提供する。
（１）再構成可能集積回路を構成する基本タイルのアレイ間の配線の少なくとも一部が、ｎ（ｎは、１以上の整数とする）次元のトーラス状に接続されていることを特徴とする集積回路。
（２）再構成可能集積回路を構成する基本タイルのアレイの水平方向又は垂直方向の配線がｎ（ｎは、１以上の整数とする）次元のトーラス状に接続されていることを特徴とする集積回路。
（３）再構成可能集積回路を構成する基本タイルのサブアレイのアレイにおいて、サブアレイの一部又は全体がｎ（ｎは、１以上の整数とする）次元のトーラス状に接続されていることを特徴とする集積回路。
（４）サブアレイの水平方向又は垂直方向がトーラス状に接続されていることを特徴とする集積回路。
（５）トーラスト状に接続されたアレイ又はサブアレイが、論理的に２以上の長さの配線セグメントによって接続されていることを特徴とする集積回路。
（６）（1）又は（2）に記載の集積回路に対して、再構成可能集積回路上に実現する同一の機能を有するがその性能が異なる確率変数に従う複数の異なる回路設定を、一つの回路設定を基本タイルのアレイのトーラス状に接続された方向に沿って移動させることにより作成することを特徴とする集積回路の回路設定生成方法。
（７）（３）又は（４）に記載の集積回路に対して、再構成可能集積回路上に実現する同一の機能を有するがその性能が異なる確率変数に従う複数の異なる回路設定を、一つの回路設定を全てのサブアレイでトーラス状に接続された方向に沿って移動させることにより作成することを特徴とする集積回路の回路設定生成方法。
【発明の効果】
【００１４】
本発明によれば、アレイの一部がトーラスト状配線で接続され、それぞれの接続が均一な配線長でなされていることから、トーラス面内で移動された回路設定は常に移動する前の回路設定と確率的に同一の性能を有する。移動することによって、その回路設定の再構成可能集積回路上での、クリティカルパス(性能を決定する信号経路)の位置が変わるので、移動した回路設定の性能は元の回路設定の性能とは異なる確率変数に従う。したがって、一度、自動マッピングツールで回路設定を作成すれば、それをトーラス面内で移動することで、移動できる数だけ目的の複数の回路設定が得られることになる。
【発明を実施するための最良の形態】
【００１５】
図２は、２次元トーラスで接続された再構成可能集積回路のタイルアレイを示している。回路設定を移動したときに確率的な性能が移動する前と変化しないことを保障するために、２次元トーラスを２次元平面に埋め込む際には、トーラス面内で論理的に隣接するタイル間の接続の長さはすべて均一になるようにする必要があり、２次元平面上の軸方向にトーラス面上での順でタイルをひとつ飛ばしで配置し、端まで到達すると今度は逆方向からトーラス面上の順で先に飛ばした位置にタイルを置く(204の座標を参照)。
【００１６】
ところで、アレイ型の再構成可能集積回路の製造上の重要な特徴に同一のタイルを並べるだけで実現できるという利点があるが、この２次元トーラスト状配線を有する再構成可能集積回路もまた、200のようなタイルを203のように単純に並べ、端の配線チャネルをループさせるように接続することで容易に実現可能であるという特徴を有している。
【００１７】
図２の構成は、図１のような構成と比較して、201水平、202垂直方向の配線本数は２倍必要であるように見えるが、これは総配線量を1/2倍とするトーラスト状配線の効果によって相殺される。また、隣接するタイル間の物理的な距離が図１の構成と比較して２倍長くなる(実際にはトーラスト状配線によってスイッチの数が半減しタイル面積が小さくなるので２倍よりは小さくなる)と考えられるが、このような再構成可能集積回路のパス遅延の主要因はスイッチの遅延であり、金属配線長が２倍になったことによる遅延の増大は数パーセントである。むしろ、トーラスを形成したことによって、最大のスイッチ通過段数は1/2倍となることから最大パス遅延は減少する。
【００１８】
一方、回路設定をトーラス面内で移動させると、チップのＩＯパッドと回路の入出力の位置が大幅に変化して不都合が生じる可能性がある。この問題を回避するために、トーラスト状配線をアレイの一部分にだけ導入し回路設定の移動する領域を制限することが可能である。
【００１９】
図３は、アレイの水平方向のみをトーラス状配線で接続した構成を示している。図３の300はタイルを表しており、水平方向の配線チャネル301は図２と同様に２重に存在し、垂直方向の配線チャネル302は、図１の配線チャネルと同様で1本である(ただし、各配線チャネルは複数の配線トラックによって構成されている)。タイルアレイ303はタイル300を並べて成り、水平方向の両端の配線チャネルをループさせて接続している。座標系304は、水平方向は図２と同様で、垂直方向は図１と同様である。この構成では、回路設定は水平方向にのみ移動可能であり、２次元トーラスの場合に比較して移動によって得られる異なる回路設定の数は半減するが、回路の入出力の位置の移動を水平方向に限定できる。
【００２０】
また、図４のようにサブアレイを形成して、その内部をトーラスで接続することも可能である(図４は機能ブロックを省略)。タイル400において401、404はサブアレイ内部の接続、402、403はサブアレイ間の接続のための配線チャネルを示している。タイル400を4x4に並べサブアレイ405を構成する際には、サブアレイの端で401、404はループするように接続する。このサブアレイ405をさらに例えば2x2に並べて全体のアレイ406（図５参照）を構成する。この構成において回路設定は各サブアレイ内の回路は同時に同じ方向へ移動することになる。これによって、移動によって得られる異なる回路設定の数はサブアレイのタイルの数まで減少するが、回路の入出力の移動範囲もサブアレイの範囲内に限定することができる。
【００２１】
図４の構成においても、図３の構成と同様にサブアレイ内で水平方向のみトーラスで接続することも考えられる。
図２〜４の構成の可否はＩＯレイテンシとばらつき補正力とのトレードオフの問題であり、これは再構成可能集積回路の主な用途の要求するＩＯレイテンシによって変わるものである。ただし、多くの場合、チップの内部の配線遅延よりもＩＯパッドの遅延のほうがはるかに大きいので、ＩＯレイテンシが問題になることはない。
【００２２】
図６は、２次元トーラスで接続された再構成可能集積回路を示している。ここで、例えば、図６の各スイッチマトリクスを信号が通過する遅延時間が、図７のようにばらつくとする(図７の各升目に書かれている数値はそれぞれのスイッチマトリクスの遅延時間を示している)。このとき、回路の性能を決定するクリティカルパスが図８のように７段のスイッチマトリックスを通過していたとすると、その遅延時間は76である。一方、回路全体をトーラス面内でx、y方向にそれぞれ−２平行移動したとすると、図８のパスは図９の位置に移動し、遅延時間は50と小さくなり、ばらつきは回避される。
【００２３】
すなわち、ひとつの回路設定を自動マッピングツールで生成すれば、トーラス面内を移動することで確率的に同一の性能を有し、その性能が異なる確率変数に従う複数の回路設定を容易に作成できる。さらに、作成した複数の回路設定を特許文献３の発明に従ってテストし、性能要件を満たす位置の回路設定を用いることで性能歩留りを向上することができる。
【００２４】
また、近年の再構成可能集積回路においてはスイッチマトリックスを通過することによる遅延を削減するために複数のセグメント長の配線で接続するのが一般的である。図１０ａは長さ２の配線セグメントで接続された1次元アレイを示している。２次元の場合は示していないが、垂直方向に図１０ａの水平方向の配線と同様に接続することで容易に実現できる。また、長さ２以上の配線セグメントを用いる場合も容易に実現できる。
【００２５】
長さ２の配線セグメントとは、1つのタイルのスイッチマトリックスを飛ばして接続する配線のことである。一見、長さ２の配線セグメントで接続された１次元アレイは、トーラスで接続された１次元アレイ(図１０ｂ)と似ているが、トーラスの場合は、アレイの終端での配線の折り返しが必要である点と、配線セグメントの内点からスイッチマトリックスへの接続が不要な点が異なる。配線セグメントの内点でのスイッチマトリックスへの接続は、任意の２つの機能ブロック間の接続性を保障するために必要となる。
【００２６】
一方、トーラスの接続も複数の長さの配線セグメントで構成することが可能である。トーラス面内でのタイル間の距離を論理的な距離と呼ぶこととする。図１０ｃは論理的に長さ２の配線セグメントで構成された１次元トーラスのアレイを示している。１次元トーラスを直線に埋め込んでいるので、論理的な長さの２は、物理的な距離の４に相当する。トーラス中の座標xのタイルを出た配線セグメントは、必ず(x + 2) mod a(アレイサイズ)のタイルに接続するので、そのようにアレイの端で配線をループさせる。図１０ｃでは１次元トーラスで論理的長さ２の配線セグメントの場合のみを示しているが、２次元の場合、より長い配線セグメントの場合も容易に実現可能である。また、部分的にトーラス接続を持つ図３、４のような構成にも容易に適用できる。
【産業上の利用の可能性】
【００２７】
ＦＰＧＡなどの再構成可能集積回路を１つのコアとして有するシステムＬＳＩや、それらの主要な応用分野であるモバイル端末、デジタル家電、通信機器、サーバ、ストレージ、スーパーコンピュータなどへの利用が考えられる。
【図面の簡単な説明】
【００２８】
【図１】再構成可能集積回路の一般的な構造例である。
【図２】2次元トーラスで接続されたタイルアレイの例である。
【図３】水平方向のみトーラスで接続されたタイルアレイの例である。
【図４】4x4の2次元トーラスで接続されたサブアレイを構成するタイルアレイの例である。
【図５】サブアレイ405を2x2に並べたタイルアレイの例である。
【図６】8x8 2次元トーラスタイルアレイの例である。
【図７】8x8 2次元トーラスタイルアレイの各タイルのスイッチマトリックスの遅延の例である。
【図８】図７の遅延を持つ8x82次元トーラスタイルアレイにおける遅延パスの例である。
【図９】図7の遅延パスをx、y方向にそれぞれ−２平行移動した遅延パスの例である。
【図１０】複数の配線セグメント長を有するアレイの例である。
【符号の説明】
【００２９】
１００  タイル
１０１  機能ブロック
１０２  スイッチマトリクス
１０３  水平方向配線
１０４  垂直方向配線
１０５  タイルアレイ
２００  タイル
２０１  水平方向の配線チャネル
２０２  垂直方向の配線チャネル
２０３  タイルアレイ
２０４  座標系
３００  タイル
３０１  水平方向の配線チャネル
３０２  垂直方向の配線チャネル
３０３  タイルアレイ
３０４  座標系
４００  タイル
４０１  サブアレイ内水平方向の配線チャネル
４０２  サブアレイ間水平方向の配線チャネル
４０３  サブアレイ内垂直方向の配線チャネル
４０４  サブアレイ間垂直方向の配線チャネル
４０５  ２次元トーラスで接続されたサブアレイ
【図１】
2008034535.tif 000003
【図２】
2008034535.tif 000004
【図３】
2008034535.tif 000005
【図４】
2008034535.tif 000006
【図５】
2008034535.tif 000007
【図６】
2008034535.tif 000008
【図７】
2008034535.tif 000009
【図８】
2008034535.tif 000010
【図９】
2008034535.tif 000011
【図１０】
2008034535.tif 000012