(57)【要約】【課題】  再構成可能集積回路に関して、ばらつきの補正のための回路オーバーヘッドや、ばらつきの診断を必要としない集積回路設定システム及び集積回路設定方法を提供すること。【解決手段】  再構成可能集積回路１０１、再構成可能集積回路上に実現する同一の機能を有するがその性能が異なる確率変数に従う複数の異なる回路設定を保持する設定用記憶装置１０２、それぞれの機能の回路設定が達成すべきテストデータを保持するテスト用記憶装置１０３及びテストデータに基づきテストを実施するテスト装置１０４を備えた集積回路設定システム、及び集積回路設定方法により解決される。【選択図】  図１
2008004788.tif 000002
【特許請求の範囲】
【請求項１】
再構成可能集積回路、再構成可能集積回路上に実現する同一の機能を有するがその性能が異なる確率変数に従う複数の異なる回路設定を保持する設定用記憶装置、それぞれの機能の回路設定が達成すべきテストデータを保持するテスト用記憶装置及びテストデータに基づきテストを実施するテスト装置を備えた集積回路設定システム。
【請求項２】
上記システムを構成する集積回路及び各装置は、相互に通信する手段を備えていることを特徴とする請求項１に記載の集積回路設定システム。
【請求項３】
回路設定に対応する再構成可能集積回路の動作情報を保持する回路制御用記憶装置及び回路制御用記憶装置の保持するそれぞれの機能の回路設定に対応する動作情報に従って再構成可能集積回路の動作を制御する回路制御装置をさらに備えた請求項１又は２に記載の集積回路設定システム。
【請求項４】
上記回路制御装置は、複数の周波数のクロック信号を生成可能な少なくとも1つのクロック信号生成装置を有し、再構成可能集積回路に少なくとも1つのクロック信号を供給するとともに複数の電圧値を生成可能な少なくとも1つの電圧生成装置を有し、再構成可能集積回路に少なくとも１つの電源を供給することを特徴とする請求項３に記載の集積回路設定システム。
【請求項５】
上記制御用記憶装置は、それぞれの機能に対応する再構成可能集積回路の各クロック端子に供給するクロック周波数のセットを保持するとともに、それぞれの機能に対応する再構成可能集積回路の各電源端子に供給する電圧値のセットを保持していることを特徴とする請求項３又は４に記載の集積回路設定システム。
【請求項６】
ある機能の回路設定が再構成可能集積回路に読み込まれた際に、回路制御装置がその機能に対応する回路制御用記憶装置の保持する電圧値のセットに従って上記電圧生成装置の出力電圧を制御することを特徴とする請求項４に記載の集積回路設定システム。
【請求項７】
複数の周波数のクロック信号を生成可能なクロック信号生成装置又は複数の電圧値を生成可能な電圧生成装置を少なくとも1つ有し、かつ、制御用記憶装置が動作中の再構成可能集積回路の少なくとも１つの部分回路の消費電力又は消費電流又はそれらの微分値、再構成可能集積回路を動作させているクロック周波数、電圧値などの動作状態を示す情報に対応する、クロック周波数と電圧値のセットを有し、回路制御装置が上記動作状態に対応する、クロック周波数、電圧値のセットのとおりにそれぞれのクロック信号生成装置又は電圧生成装置を制御することを特徴とする請求項４に記載の集積回路設定システム。
【請求項８】
再構成可能集積回路にある回路設定を施した際、制御用記憶装置と回路制御装置に従って再構成可能集積回路を上記回路設定に求められるクロック周波数で動作させ、テスト用記憶装置とテスト装置によって入出力ベクタの妥当性を確認することによって回路設定が規定のクロック周波数で動作することを確認することを特徴とする請求項７に記載の集積回路設定システム。
【請求項９】
テストデータが、それぞれの機能の回路設定に対する許容消費電力に関する情報であることを特徴とする請求項１乃至３のいずれか１項に記載の集積回路設定システム。
【請求項１０】
テスト用記憶装置が、それぞれの機能に対する入力ベクタと正しい出力ベクタの組を少なくとも１つ有し、テスト装置がテスト用記憶装置の保持する入力ベクタに対応する正しい出力ベクタと上記入力ベクタを再構成可能集積回路に入力して得られる出力ベクタが一致することを確認するようにしたことを特徴とする請求項１乃至３のいずれか１項に記載の集積回路設定システム。
【請求項１１】
再構成可能集積回路上に実現する同一の機能を有するがその性能が異なる確率変数に従う複数の異なる回路設定を生成し、各回路設定についてテストを行い、それら複数の回路設定の中から所望の性能で動作する回路設定を選択して再構成可能集積回路に設定することを特徴とする集積回路設定方法。
【請求項１２】
有効でない回路設定を設定用記憶装置から除去する手順を含む請求項１１に記載の集積回路設定方法。
【請求項１３】
有効である回路設定のうち１つ以外は設定用記憶装置から除去する手順を含む請求項１１に記載の集積回路設定方法。
【請求項１４】
目標の消費電力を達成する回路設定を選択する手順を含む請求項１１に記載の集積回路設定方法。
【請求項１５】
目標の回路速度を達成する回路設定を選択する手順を含む請求項１１に記載の集積回路設定方法。
【請求項１６】
回路設定を施した再構成可能集積回路を目標のクロック周波数で動作させ、入出力ベクタの妥当性を確認することで、目標の回路速度を達成していることを確認する手順を含む請求項１５に記載の集積回路設定方法。
【請求項１７】
同一の機能を有する複数の回路設定の任意の２組の回路設定に関して、再構成可能集積回路上で一方のクリティカルパスが利用する回路素子が、他方のクリティカルパスが利用する回路素子と異なるように、複数の回路設定を生成する手順を含む請求項１１に記載の集積回路設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再構成可能集積回路に関し、半導体のプロセスばらつきによる性能歩留りの低下を抑制する集積回路設定システム及びその設定方法に関する。
【背景技術】
【０００２】
近年、半導体プロセスの微細化に伴って、チップ内の素子特性のばらつきが大きくなり、性能歩留りの低下が懸念されている。性能歩留りは、要求性能を満たすことが可能なチップの数を製造したチップの数で割った値である。チップ間の(又は広い範囲に相関を持つ)ばらつきに関しては、非特許文献1や特許文献１、２のように、バックバイアスによりトランジスタのしきい値を制御することによりチップ製造後に補正を行うことが有効である。しかしながら、チップ内のとりわけトランジスタごとに相関のないばらつきが発生する場合には、バイアス制御の単位を小さくする必要があり、回路オーバーヘッドが大きくなる問題がある。
【０００３】
一方、FPGA (Field-programmable gate array)などの再構成可能集積回路では、チップ製造後に何度でも回路機能を変更可能であるため異なるアプローチが可能である。
再構成可能集積回路は、規則的に配列されたプログラム可能な機能ブロックとそれらを相互に接続するプログラム可能な相互接続網からなり、相互接続網及び機能ブロックは設定メモリによってその接続トポロジ及び機能を変更することが可能となっている。
設定メモリとしては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’s Efficieon Processor”, Spring Processor Forum Presentation, 2006.
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、再構成可能集積回路に関して、ばらつきの補正のための回路オーバーヘッドや、ばらつきの診断を必要としない集積回路設定システム及びその設定方法を提供することを課題とする。
【課題を解決するための手段】
【００１１】
上記課題は次のような集積回路設定システムにより解決される。
（１）再構成可能集積回路、再構成可能集積回路上に実現する同一の機能を有するがその性能が異なる確率変数に従う複数の異なる回路設定を保持する設定用記憶装置、それぞれの機能の回路設定が達成すべきテストデータを保持するテスト用記憶装置及びテストデータに基づきテストを実施するテスト装置を備えた集積回路設定システム。
（２）上記システムを構成する集積回路及び各装置は、相互に通信する手段を備えていることを特徴とする集積回路設定システム。
（３）回路設定に対応する再構成可能集積回路の動作情報を保持する回路制御用記憶装置及び回路制御用記憶装置の保持するそれぞれの機能の回路設定に対応する動作情報に従って再構成可能集積回路の動作を制御する回路制御装置をさらに備えた集積回路設定システム。
（４）上記回路制御装置は、複数の周波数のクロック信号を生成可能な少なくとも1つのクロック信号生成装置を有し、再構成可能集積回路に少なくとも1つのクロック信号を供給するとともに複数の電圧値を生成可能な少なくとも1つの電圧生成装置を有し、再構成可能集積回路に少なくとも１つの電源を供給することを特徴とする集積回路設定システム。
（５）上記制御用記憶装置は、それぞれの機能に対応する再構成可能集積回路の各クロック端子に供給するクロック周波数のセットを保持するとともに、それぞれの機能に対応する再構成可能集積回路の各電源端子に供給する電圧値のセットを保持していることを特徴とする集積回路設定システム。
（６）ある機能の回路設定が再構成可能集積回路に読み込まれた際に、回路制御装置がその機能に対応する回路制御用記憶装置の保持する電圧値のセットに従って上記電圧生成装置の出力電圧を制御することを特徴とする集積回路設定システム。
（７）複数の周波数のクロック信号を生成可能なクロック信号生成装置、又は、複数の電圧値を生成可能な電圧生成装置を少なくとも1つ有し、かつ、制御用記憶装置が動作中の再構成可能集積回路の少なくとも１つの部分回路の消費電力又は消費電流又はそれらの微分値、再構成可能集積回路を動作させているクロック周波数、電圧値などの動作状態を示す情報に対応する、クロック周波数と電圧値のセットを有し、回路制御装置が上記動作状態に対応する、クロック周波数、電圧値のセットのとおりにそれぞれのクロック信号生成装置又は電圧生成装置を制御することを特徴とする集積回路設定システム。
（８）再構成可能集積回路にある回路設定を施した際、制御用記憶装置と回路制御装置に従って再構成可能集積回路を上記回路設定に求められるクロック周波数で動作させ、テスト用記憶装置とテスト装置によって入出力ベクタの妥当性を確認することによって回路設定が規定のクロック周波数で動作することを確認することを特徴とする集積回路設定システム。
（９）テストデータが、それぞれの機能の回路設定に対する許容消費電力に関する情報であることを特徴とする集積回路設定システム。
（１０）テスト用記憶装置が、それぞれの機能に対する入力ベクタと正しい出力ベクタの組を少なくとも１つ有し、テスト装置がテスト用記憶装置の保持する入力ベクタに対応する正しい出力ベクタと上記入力ベクタを再構成可能集積回路に入力して得られる出力ベクタが一致することを確認するようにしたことを特徴とする集積回路設定システム。
【００１２】
また上記課題は次のような集積回路設定方法により解決される。
（１１）再構成可能集積回路上に実現する同一の機能を有するがその性能が異なる確率変数に従う複数の異なる回路設定を生成し、各回路設定についてテストを行い、それら複数の回路設定の中から所望の性能で動作する回路設定を選択して再構成可能集積回路に設定することを特徴とする集積回路設定方法。
（１２）有効でない回路設定を設定用記憶装置から除去する手順を含む集積回路設定方法。
（１３）有効である回路設定のうち１つ以外は設定用記憶装置から除去する手順を含む集積回路設定方法。
（１４）目標の消費電力を達成する回路設定を選択する手順を含む集積回路設定方法。
（１５）目標の回路速度を達成する回路設定を選択する手順を含む集積回路設定方法。
（１６）回路設定を施した再構成可能集積回路を目標のクロック周波数で動作させ、入出力ベクタの妥当性を確認することで、目標の回路速度を達成していることを確認する手順を含む集積回路設定方法。
（１７）同一の機能を有する複数の回路設定の任意の２組の回路設定に関して、再構成可能集積回路上で一方のクリティカルパスが利用する回路素子が、他方のクリティカルパスが利用する回路素子と異なるように、複数の回路設定を生成する手順を含む集積回路設定方法。
【発明の効果】
【００１３】
本発明によれば、次のような効果がある。
（１）特定の回路設定に関するテストは、再構成可能集積回路のすべての部分回路について完全に、故障や物理パラメータのばらつきを診断することに比較してきわめて容易である。
（２）バックバイアス制御によるトランジスタのしきい値ばらつき補正を細粒度に行った際に必要になる多くの電圧生成装置、電源バス、ばらつき検出回路、電圧選択回路などを必要としない。
（３）ばらつき診断を必要としないため、ばらつき診断のための回路もまた必要としない。また、ばらつきを考慮したマッピングを行う場合は、チップごとに個別のマッピングを行う必要があるが、本発明では用意する回路設定の数だけでよいため、再構成可能集積回路を含む製品の製造に時間がかかるという問題がない。
【発明を実施するための最良の形態】
【００１４】
実施例の１つとして図1に、再構成可能集積回路101、複数の回路設定を保持する設定用記憶装置102、テストデータを保持するテスト用記憶装置103、これに基づいてテストを実施するテスト装置104、再構成可能集積回路の動作条件を保持する回路制御用記憶装置105、これに基づいて再構成可能集積回路を制御する回路制御装置106、再構成可能集積回路の消費電力測定装置107、再構成可能集積回路のIOの接続をテスト回路側と外部集積回路設定システム側で切り替えることが可能なインターフェイス装置108からなる集積回路設定システムのブロック図を示す。
【００１５】
なお、設定用記憶装置が保持する回路設定は、すでに論理機能のテストは事前に完了している状態であるとする。また、テストデータは回路設定を再構成可能集積回路に施し動作させた際に所望の消費電力や動作速度が得られていることを確認するもので、ここでは、許容消費電力の情報と、テストベクタ(入力ベクタと出力ベクタからなる)からなるものとする。回路設定が所望の動作速度を満たしていることは、所望のクロック周波数で再構成可能集積回路を動作させテストベクタを入力した際の出力ベクタの妥当性によって判断する。テストベクタは回路設定が所望の消費電力、動作速度を満たしていることを確認できる十分なものを用意する。
【００１６】
本集積回路設定システムにおいて、外部システムが再構成可能集積回路に新たな回路設定を施す場合、各装置は制御バス(図1のctrl bus)を通じて次の順で制御される。
（１）外部システムは、制御バスを通じて、同一の機能を実現する複数の異なる回路設定を設定用記憶装置へ、その回路設定を動作させたいクロック周波数、動作電圧の情報を回路制御用記憶装置へ、その回路設定を動作させた場合の許容消費電力の情報、及び、テストベクタをテスト用記憶装置へ書き込む。
（２）回路制御装置は回路制御用記憶装置のcfclk信号に従って決定した周波数のクロック信号を生成し再構成可能集積回路のclk端子に供給し、cvdd、cvss信号に従って決定した生電源電圧を生成し再構成可能集積回路のvdd、vssに供給する。
（３）外部システムは、制御バスを通じて設定用記憶装置に保持された回路設定の１つを再構成可能集積回路に転送させ、再構成可能集積回路に機能を設定する。
（４）インターフェイス装置をテスト装置側に切り替え、再構成可能集積回路の入出力ピンiopinsの内、入力として使用されるピンにテスト用記憶装置に保持されている入力ベクタ(図1のテスト用記憶装置のivec)を入力可能な状態、かつ、再構成可能集積回路の入出力ピンiopinsの内、出力として使用されるピンをテスト装置に接続(図1のovec側へ接続)するようにインターフェイス装置を切り替える。
（５）テスト用記憶装置から入力ベクタを再構成可能集積回路へ入力し得られた出力ベクタを、テスト用記憶装置が保持する妥当な出力ベクタをテスト装置において比較し不一致があればr信号により外部システムに指定された回路設定が要求するクロック周波数で動作しないことを伝える。
（６）テスト装置において、（５）のテスト過程で再構成可能集積回路が消費する電力を107を用いて測定し、テスト用記憶装置に保持されている許容消費電力を満たしていなければ消費電力条件が満たされていないことをr信号により外部システムに伝える。
（７）r信号により（１）で選択した回路設定が所望の動作速度、消費電力を満たしていないと判断すると異なる回路設定を指定して（１）を繰り返す。
（８）r信号により（１）で選択した回路設定が所望の動作速度、消費電力を満たしていると判断すると、その回路設定を有効な回路設定としてインターフェイス装置において、再構成可能集積回路の入出力を外部システム側へ切り替える。
【００１７】
本設定手法は同一の機能を有するがその性能が異なる確率変数に従う複数の異なる回路設定を用意し、テストを行い、要求する性能を満たすことが可能な回路設定を利用することで性能歩留りを向上させることが可能である。
再構成可能集積回路にある回路設定を施した際の回路性能の分布関数をf(X)であらわし、Xは性能を現すパラメータ、即ち、回路遅延、消費電力などのベクトルであるとする。ここでXtargetは要求される性能であるとすると、性能歩留りYperformanceは以下の式で表される。
Yperformance  = ∫Xtarget  f(X)dX
【００１８】
一方、N個のその性能がそれぞれ独立な確率変数に従う異なる回路設定を生成することが可能であり、性能要件を満たす回路設定を選ぶことが可能であればYperformanceは次の式で表される。
Yperformance = 1-[1-∫Xtarget  f(X)dX]N
すなわち、N=1の場合のYperformance<1であるならば、Nを大きくすることでチップの損失率を急速に減らすことが可能である。一方、性能が独立な確率変数に従う回路設定とは、すなわち、相互にクリティカルパスが再構成可能集積回路上の同一の機能回路を利用しないことによって作成可能となる。回路中のクリティカルパスは一般的にわずかであることから、相互のクリティカルパスをずらすことによって上記のような性能が独立な確率変数に従う回路設定を複数個作成することは容易である。
【００１９】
本集積回路設定システムは、従来の典型的な再構成可能集積回路を含む集積回路設定システムとは異なり、（１）テストデータに基づきテストを実施するテスト装置、（２）再構成可能集積回路に1つの機能を実現する複数の異なる回路設定を保持する設定用記憶装置、（３）それぞれの機能の回路設定が達成すべきテストデータを保持するテスト用記憶装置が必要であるが、これらの装置は集積回路設定システムを含むシステムに含まれる他の目的で使用される同様の機能を有する装置と共用することや、複数の再構成可能集積回路で装置を共有することで、集積回路設定システムを備えることによる製品のコスト増を省くことが可能である。
【００２０】
例えば、近年の再構成可能集積回路を含む製品は、ソフトウェアシステムに接続されるか、ソフトウェア部分システムを有している場合が多く、そのような場合は上記（１）〜（３）の装置をソフトウェアとして表現することが可能である。この場合（１）〜（３）の装置を特別に製品に備える必要はなく、集積回路設定システムによるコスト増を省略可能である。また、製品に含まれる再構成可能集積回路の再設定が必要とされる頻度が少ない場合、集積回路設定システムを製品側の部分システムとメーカー側の部分システムに分け、双方に通信インターフェイスを備えておき、（１）〜（３）の装置をメーカー側の部分システムに配置し、必要に応じて製品側の部分システムをメーカー側の部分システムに接続し、要求性能を満たす回路設定の選択を行うようにする。このようにすることで、（１）〜（３）の装置を各製品で共有し、製品側のサブシステムから（１）〜（３）の装置を省略しコストを削減することが可能である。
【００２１】
特定の回路設定に関するテストは、再構成可能集積回路のすべての部分回路について完全に、故障や物理パラメータのばらつきを診断することに比較してきわめて容易である。また、本設定手法はバックバイアス制御によるトランジスタのしきい値ばらつき補正を細粒度に行った際に必要になる多くの電圧生成装置、電源バス、ばらつき検出回路、電圧選択回路などを必要としない。また、ばらつき診断を必要としないため、ばらつき診断のための回路もまた必要としない。また、ばらつきを考慮したマッピングを行う場合は、チップごとに個別のマッピングを行う必要があるが、本設定手法では用意する回路設定の数だけでよい。したがって、再構成可能集積回路を含む製品の製造に時間がかかるという問題がない。
【産業上の利用の可能性】
【００２２】
ＦＰＧＡなどの再構成可能集積回路を１つのコアとして有するシステムＬＳＩや、それらの主要な応用分野であるモバイル端末、デジタル家電、通信機器、サーバ、ストレージ、スーパーコンピュータなどへの利用が考えられる。
【図面の簡単な説明】
【００２３】
【図１】集積回路設定システムを示すブロック図である。
【符号の説明】
【００２４】
１０１  再構成可能集積回路
１０２  設定用記憶装置
１０３  テスト用記憶装置
１０４  テスト装置
１０５  回路制御用記憶装置
１０６  回路制御装置
１０７  消費電力測定装置
１０８  インターフェイス装置
【図１】
2008004788.tif 000003