"N個Nは1以上の整数の入力端子と、N個の出力端子と、N個のフリップフロップとR個Rは1以上の整数の冗長フリップフロップとを含む複数のフリップフロップと、再構成情報に応じて前記複数のフリップフロップの中からN個の選択フリップフロップを選択し、前記N個の入力端子に入力されたデータが前記N個の選択フリップフロップのそれぞれによって前記N個の出力端子に出力されるようにデータの流れを切り替えるセレクタ部と、テストモード時に前記再構成情報を作成するエラー検出部とを備え、前記テストモード時、前記N個のフリップフロップはスキャンチェーンを構成し、前記スキャンチェーンにはスキャンデータが入力され、出力が0又は1に固定されるフリップフロップは、エラーフリップフロップであり、前記エラー検出部は、前記テストモード時に前記N個のフリップフロップのそれぞれに入力されるスキャン入力データ及びそれぞれから出力されるスキャン出力データに基づいて、前記N個のフリップフロップに含まれる前記エラーフリップフロップを検出し、更に、前記検出したエラーフリップフロップが前記N個の選択フリップフロップから除外されるように前記再構成情報を作成する半導体集積回路。請求項1に記載の半導体集積回路であって、前記エラー検出部は、作成された前記再構成情報が格納される記憶部を備え、前記テストモード終了後の所定のタイミングに、前記記憶部に格納された前記再構成情報が前記セレクタ部に出力される半導体集積回路。請求項2に記載の半導体集積回路であって、前記記憶部は、ラッチ回路である半導体集積回路。請求項1乃至3のいずれか一項に記載の半導体集積回路であって、前記エラー検出部は、N個のEXNOR回路を備え、前記N個のEXNOR回路のそれぞれの入力端子には、前記N個のフリップフロップのそれぞれに入力される前記スキャン入力データ及びそれぞれから出力される前記スキャン出力データが入力され、前記スキャンチェーンには前記スキャンデータとして0と1が交互に入力される半導体集積回路。請求項1乃至4のいずれか一項に記載の半導体集積回路と、前記複数のフリップフロップの動作電圧を供給する電源回路と、前記半導体集積回路及び前記電源回路の動作を制御する制御回路とを備え、前記R個の冗長フリップフロップを用いても前記エラーフリップフロップが無くならない場合、前記制御回路は、前記動作電圧を上昇させるよう前記電源回路に指示する電源電圧適応制御システム。請求項5に記載の電源電圧適応制御システムであって、前記半導体集積回路は、更に、前記複数のフリップフロップに前記エラーフリップフロップが1つでも含まれているか否かを示すライン判定ビットを出力するライン判定回路を備え、前記制御回路は、前記半導体集積回路から前記ライン判定ビットを受け取り、前記ライン判定ビットに基づいて前記動作電圧を上昇させるか否か決定する電源電圧適応制御システム。フリップフロップを備える半導体集積回路において、DCエラーあるいはAC特性エラーが発生したエラーフリップフロップを効率的に検出することができる技術が望まれている。本発明の1つの観点において、半導体集積回路が提供される。その半導体集積回路は、N個Nは1以上の整数の入力端子と、N個の出力端子と、N個のフリップフロップとR個Rは1以上の整数の冗長フリップフロップとを含む複数のフリップフロップと、セレクタ部と、エラー検出部と、を備える。セレクタ部は、再構成情報に応じて複数のフリップフロップの中からN個の選択フリップフロップを選択し、N個の入力端子に入力されたデータがN個の選択フリップフロップのそれぞれによってN個の出力端子に出力されるようにデータの流れを切り替える。エラー検出部は、テストモード時に再構成情報を作成する。より詳細には、テストモード時、N個のフリップフロップはスキャンチェーンを構成し、そのスキャンチェーンにはスキャンデータが入力される。出力が0又は1に固定されるフリップフロップは、エラーフリップフロップである。エラー検出部は、テストモード時にN個のフリップフロップのそれぞれに入力されるスキャン入力データ及びそれぞれから出力されるスキャン出力データに基づいて、N個のフリップフロップに含まれるエラーフリップフロップを検出する。更に、エラー検出部は、検出したエラーフリップフロップがN個の選択フリップフロップから除外されるように再構成情報を作成する。本発明の他の観点において、半導体集積回路が提供される。その半導体集積回路は、複数のフリップフロップと、カウンタと、を備える。複数のフリップフロップの各々は、自身の出力から入力へのフィードバックパスを備え、テストモード時にフィードバックパスを利用してトグル動作あるいは自己発振動作を行うように構成される。テストモード時、カウンタは、トグル動作あるいは自己発振動作を行う各々のフリップフロップから出力データを受け取り、所定期間における出力データのデータ遷移回数をカウントする。本発明の更に他の観点において、電源電圧適応制御システムが提供される。その電源電圧適応制御システムは、上述の半導体集積回路と、複数のフリップフロップの動作電圧を供給する電源回路と、半導体集積回路に接続された制御回路と、を備える。R個の冗長フリップフロップを用いてもエラーフリップフロップが無くならない場合、制御回路は、動作電圧を上昇させるよう電源回路に指示する。本発明によれば、フリップフロップを備える半導体集積回路において、DCエラーあるいはAC特性エラーが発生したエラーフリップフロップを効率的に検出することが可能となる。添付図面を参照して、本発明の実施の形態を説明する。1.第1の実施の形態DCエラー検出及び再構成1-1.概要本発明の第1の実施の形態では、フリップフロップの出力値が0または1に固定されるDCエラーが効率的に検出される。更に、DCエラーが発生したエラーフリップフロップを冗長フリップフロップで置換する再構成処理が実施される。図1は、第1の実施の形態に係る半導体集積回路の構成を概略的に示すブロック図である。本実施の形態に係る半導体集積回路は、複数ビットのデータを記憶する多ビットレジスタ部1を備えている。その多ビットレジスタ部1は、N個Nは1以上の整数の入力端子IN-1~IN-N及びN個の出力端子OUT-1~OUT-Nを備えており、入力端子IN-1~IN-Nのそれぞれに入力されるNビットデータを記憶し、そのNビットデータを出力端子OUT-1~OUT-Nのそれぞれから出力する。より詳細には、多ビットレジスタ部1は、Nビットデータを記憶するための複数のフリップフロップ10を備えている。各フリップフロップ10は、例えばDフリップフロップである。本実施の形態では、複数のフリップフロップ10は、少なくとも1つの冗長フリップフロップを含んでいる。すなわち、複数のフリップフロップ10は、N個のフリップフロップ10-1~10-Nと、R個の冗長フリップフロップ10-r1~10-rRを含んでいる。ここで、Rは、冗長度を表す1以上の整数である。これらNR個のフリップフロップ10のうちN個の選択フリップフロップが、入力端子IN-1~IN-Nに入力されるNビットデータの記憶に用いられる。そのN個の選択フリップフロップの選択に用いられるのが、再構成情報RECON及びセレクタ部20、30である。再構成情報RECONは、N個の選択フリップフロップを指定するデータである。セレクタ部20、30は、その再構成情報RECONに応じて、複数のフリップフロップ10の中からN個の選択フリップフロップを選択する。そして、セレクタ部20、30は、N個の入力端子IN-1~IN-Nに入力されたNビットデータがN個の選択フリップフロップのそれぞれによってN個の出力端子OUT-1~OUT-Nに出力されるように、データの流れを切り替える。より詳細には、図1に示されるように、多ビットレジスタ部1は、入力セレクタ部20及び出力セレクタ部30を備えている。入力セレクタ部20は、N個の入力端子IN-1~IN-NとNR個のフリップフロップ10との間に配置されている。この入力セレクタ部20は、再構成情報RECONに応じて、N個の入力端子IN-1~IN-NとNR個のフリップフロップ10との間の接続関係を切り替える。具体的には、入力セレクタ部20は、再構成情報RECONに基づいて、N個の入力端子IN-1~IN-Nに入力されたNビットデータがN個の選択フリップフロップに供給されるように、当該接続関係を設定する。出力セレクタ部30は、NR個のフリップフロップ10とN個の出力端子OUT-1~OUT-Nとの間に配置されている。この出力セレクタ部30は、再構成情報RECONに応じて、N個の出力端子OUT-1~OUT-NとNR個のフリップフロップ10との間の接続関係を切り替える。具体的には、出力セレクタ部30は、再構成情報RECONに基づいて、N個の選択フリップフロップから出力されるNビットデータがN個の出力端子OUT-1~OUT-Nに出力されるように、当該接続関係を設定する。本実施の形態において、多ビットレジスタ部1は更に、エラー検出部50を備えている。エラー検出部50は、各フリップフロップ10のデータ入力端子及びデータ出力端子に接続されている。このエラー検出部50は、DCテストモード時に、各フリップフロップ10の入出力に基づいて、DCエラーが発生しているエラーフリップフロップを検出する。更に、エラー検出部50は、検出したエラーフリップフロップがN個の選択フリップフロップから除外されるように再構成情報RECONを作成する。図2は、DCテスト時の構成をより詳細に示している。尚、図2において、セレクタ部20、30の図示は省略されている。本実施の形態によれば、DCテストモードにおいて、N個のフリップフロップ10-1~10-Nがスキャンチェーンを構成する。そのスキャンチェーンにはスキャンデータDscanが順次入力される。エラー検出部50は、各フリップフロップ10のデータ入力端子及びデータ出力端子に接続されており、それぞれのフリップフロップ10に入力されるスキャン入力データ及びそれらから出力されるスキャン出力データに基づいてDCエラーの発生を検出する。つまり、エラー検出部50は、N個のフリップフロップ10-1~10-Nにエラーフリップフロップが含まれているか否か検出し、含まれている場合、そのエラーフリップフロップの位置をも検出する。検出されたエラーフリップフロップの数が冗長度R以下であれば、そのエラーフリップフロップを冗長フリップフロップ10-rによって置換可能である。エラー検出部50は、検出されたエラーフリップフロップの代わりに冗長フリップフロップ10-rが選択フリップフロップに組み込まれるように、再構成情報RECONを作成する。すなわち、エラー検出部50は、検出されたエラーフリップフロップがN個の選択フリップフロップから除外されるように再構成情報RECONを作成する。エラー検出部50は、作成した再構成情報RECONを記憶部60に格納する。好適には、記憶部60は、多ビットレジスタ部1毎に個別に設けられる。例えば、記憶部60は、エラー検出部50内のラッチ回路により構成される。但し、記憶部60の構成はそれに限られない。記憶部60は、複数の多ビットレジスタ部1によって共用されるフラッシュメモリ等のメモリマクロであってもよい。記憶部60に格納された再構成情報RECONは、DCテストモード終了後の所定のタイミングにおいて、セレクタ部20、30に出力反映される。すなわち、DCテストにおいて検出されたエラーフリップフロップはN個の選択フリップフロップから除外され、その代わりに、冗長フリップフロップ10-rが適宜選択フリップフロップに組み込まれる。この処理が再構成処理である。図3は、本実施の形態における再構成処理の一例を概略的に示している。例えば、上述のDCテストの結果、フリップフロップ10-2がエラーフリップフロップとして検出されたとする。この場合、セレクタ部20、30は、再構成情報RECONに応じて、エラーフリップフロップ10-2を避けるようにデータの流れを切り替える。具体的には、エラーフリップフロップ10-2の代わりに冗長フリップフロップ10-r1が選択フリップフロップに組み込まれる。入力セレクタ部20は、N個の入力端子IN-1~IN-NとN個の選択フリップフロップ10-1、10-3~10-N、10-r1とをそれぞれ電気的に接続し、出力セレクタ部30は、N個の選択フリップフロップ10-1、10-3~10-N、10-r1とN個の出力端子OUT-1~OUT-Nとをそれぞれ電気的に接続する。その結果、N個の入力端子IN-1~IN-Nに入力されたNビットデータが、エラーフリップフロップ10-2を介することなく、N個の出力端子OUT-1~OUT-Nにそれぞれ出力されるようになる。以上に説明されたように、本実施の形態によれば、スキャンチェーンを利用することによりエラーフリップフロップの位置DCエラー発生位置が効率的に検出される。これにより、DCテスト時間が短縮される。また、本実施の形態によれば、多ビットレジスタ部1はエラー検出部50を備えており、DCテストモード時に多ビットレジスタ部1自身が再構成情報RECONを作成する。これにより、効率的な再構成処理が可能となる。1-2.具体例1-2-1.回路構成例図4は、本実施の形態に係る半導体集積回路の多ビットレジスタ部1の回路構成の一例を示している。本例では、N=8、冗長度R=1である。多ビットレジスタ部1の入力端子IN-8~IN-1には、8ビットの入力データIN[7:0]が入力される。多ビットレジスタ部1の出力端子OUT-8~OUT-1からは、8ビットの出力データOUT[7:0]が出力される。図4に示されるように、多ビットレジスタ部1は、複数のフリップフロップ1010-1~10-8、10-r1、入力セレクタ部20、出力セレクタ部30、スキャンセレクタ部40、エラー検出部50、及びライン判定回路70を備えている。各フリップフロップ10のクロック端子には、クロック信号CLKが入力される。各フリップフロップ10は、クロック信号CLKに基づいて動作する。入力セレクタ部20は、N1個の入力セレクタ21-1~21-9を備えている。入力セレクタ21-kk=1~8は、入力セレクト信号SLi[k-1]に応じて、スキャンセレクタ41-kの出力データあるいは下位ビット側のスキャンセレクタ41-k-1の出力データのいずれか一方を選択し、選択データをフリップフロップ10-kのデータ入力端子に出力する。但し、入力セレクタ21-1の場合、下位ビット側の出力データは固定データであるとする。入力セレクタ21-9は、入力セレクト信号SLi[8]に応じて、固定データあるいはスキャンセレクタ41-8の出力データのいずれか一方を選択し、選択データを冗長フリップフロップ10-r1のデータ入力端子に出力する。尚、9ビットの入力セレクト信号SLi[8:0]は、再構成情報RECONに相当する。出力セレクタ部30は、N個の出力セレクタ31-1~31-8を備えている。出力セレクタ31-kk=1~8は、出力セレクト信号SLo[k-1]に応じて、フリップフロップ10-kの出力データあるいは上位ビット側のフリップフロップ10-k1の出力データのいずれかを選択し、選択データを出力データOUT[k-1]として出力する。但し、出力セレクタ31-8の場合、上位ビット側のフリップフロップは、冗長フリップフロップ10-r1であるとする。尚、8ビットの出力セレクト信号SLo[7:0]も、再構成情報RECONに相当する。スキャンセレクタ部40は、N個のスキャンセレクタ41-1~41-8を備えている。スキャンセレクタ41-kk=1~8は、スキャン信号SCANに応じて、入力データIN[k-1]あるいは下位ビット側の出力セレクタ31-k-1の出力データOUT[k-2]のいずれか一方を選択し、選択データを入力セレクタ21-k及び上位ビット側の入力セレクタ21-k1の両方に出力する。但し、スキャンセレクタ41-1の場合、下位ビット側の出力データOUT[k-2]の代わりに、スキャンデータDscanが入力される後述される。エラー検出部50は、N個のエラー検出記憶回路51-1~51-8を備えている。DCテストモード時、エラー検出記憶回路51-kk=1~8は、スキャンセレクタ41-kへの入力データスキャン入力データDin及び出力セレクタ31-kからの出力データスキャン出力データDoutを受け取る。そして、エラー検出記憶回路51-kは、スキャン入力データDin及びスキャン出力データDoutに基づいて、入力セレクト信号SLi[k-1]及び出力セレクト信号SLo[k-1]を作成し、記憶する。尚、エラー検出記憶回路51-8は、入力セレクト信号SLi[8]を入力セレクト信号SLi[7]と同じ値に設定する。図5は、1つのエラー検出記憶回路51の回路構成の一例を示している。エラー検出記憶回路51は、EXNOR回路52、AND回路53、54、NOR回路55、56、インバータ回路57、58を備えている。EXNOR回路52の入力端子には、スキャン入力データDin及びスキャン出力データDoutが入力される。EXNOR回路52の出力端子は、ノードNAに接続されている。AND回路53の入力端子には、DCテスト信号DCtest、反転クロック信号CLKB、及びEXNOR回路52の出力信号ノードNAの信号が入力される。AND回路53の出力端子は、ノードNBに接続されている。AND回路54の入力端子には、DCテスト信号DCtest、反転クロック信号CLKB、及びリセット信号Resetが入力される。AND回路54の出力端子は、ノードNCに接続されている。NOR回路55、56は、RSラッチ回路を構成している。詳細には、NOR回路55の入力端子はノードNB、NEに接続されており、その出力端子はノードNDに接続されている。また、NOR回路56の入力端子はノードNC、NDに接続されており、その出力端子はノードNEに接続されている。インバータ回路57の入力端子はノードNDに接続されており、その出力端子から入力セレクト信号SLiが出力される。インバータ回路58の入力端子はノードNEに接続されており、その出力端子から出力セレクト信号SLoが出力される。尚、これらNOR回路55、56、インバータ回路57、58が、再構成情報RECON入力セレクト信号SLi、出力セレクト信号SLoを記憶する記憶部60に相当している。エラー検出記憶回路51の動作の詳細は後述される。再度図4を参照して、ライン判定回路70は、DCテストモード時、スキャンセレクタ41-8への入力データスキャン入力データDin及び出力セレクタ31-8からの出力データスキャン出力データDoutを受け取る。そして、ライン判定回路70は、スキャン入力データDin及びスキャン出力データDoutに基づいて、ライン判定ビットLBを作成し、記憶する。ライン判定ビットLBは、N個のフリップフロップ10-1~10-8にエラーフリップフロップが1つでも含まれているか否かを示すエラーフラグである。図6は、ライン判定回路70の回路構成の一例を示している。ライン判定回路70の回路構成は、図5で示されたエラー検出記憶回路51の回路構成と同様である。EXNOR回路52、AND回路53、54、NOR回路55、56、インバータ回路57、58が、それぞれ、EXNOR回路72、AND回路73、74、NOR回路75、76、インバータ回路77、78に置き換えられている。また、リセット信号Resetの代わりにラインリセット信号LResetが入力され、入力セレクト信号SLiの代わりにライン判定ビットLBが出力される。尚、エラー検出記憶回路51-8のEXNOR回路52とライン判定回路70のEXNOR回路72は、共通化されてもよい。ライン判定回路70の動作の詳細は後述される。1-2-2.動作例DCテストモード時の動作を詳細に説明する。DCテストモードにおいて、DCテスト信号DCtestは1に設定され、スキャン信号SCANは1に設定される。まず、リセット処理が行われる。具体的には、全てのエラー検出記憶回路51において、リセット信号Resetが所定期間1に設定される。その結果、NOR回路55、56によって構成されるRSラッチ回路図5参照がリセットされ、入力セレクト信号SLiが0になり、出力セレクト信号SLoが1になる。ライン判定回路70に関しても同様にリセット処理が行われる。ラインリセット信号LResetが所定期間1に設定され、ライン判定ビットLBが0になる。このようなリセット処理後の各信号の状態は、図7に示される通りである。入力セレクト信号SLi及び出力セレクト信号SLoは、セレクタ部20、30に反映される。図8は、DCテスト時のデータの流れを示している。スキャン信号SCANが1の場合、各スキャンセレクタ41-kk=1~8は、下位ビット側の出力セレクタ31-k-1の出力データOUT[k-2]を選択し、出力する。但し、スキャンセレクタ41-1は、スキャンデータDscanを出力する。また、入力セレクト信号SLiが0の場合、各入力セレクタ21-kk=1~8は、スキャンセレクタ41-kの出力データを選択し、出力する。また、出力セレクト信号SLoが1の場合、各出力セレクタ31-kk=1~8は、フリップフロップ10-kの出力データを選択し、出力する。その結果、図8に示されるように、フリップフロップ10-1~10-8がスキャンチェーンを構成する。そのスキャンチェーンには、スキャンデータDscanとして、0、1の繰り返しパターン0、1、0、1が入力される。エラー検出記憶回路51-kk=1~8は、フリップフロップ10-kへの入力データスキャン入力データDin及びフリップフロップ10-kからの出力データスキャン出力データDoutを受け取る。そして、エラー検出記憶回路51-kは、スキャン入力データDin及びスキャン出力データDoutに基づいて、入力セレクト信号SLi[k-1]及び出力セレクト信号SLo[k-1]を適宜更新し、記憶する。図9は、フリップフロップ10-kが正常に動作している場合のエラー検出記憶回路51-k図5参照の動作を説明するためのタイミングチャートである。図9には、クロック信号CLK、スキャン入力データDin、スキャン出力データDout、ノードNAの信号、反転クロック信号CLKB、及びノードNBの信号が示されている。フリップフロップ10-kが正常に動作している場合、ノードNBの信号は0のままである。従って、NOR回路55、56によって構成されるRSラッチ回路の状態は、そのまま変わらない。すなわち、入力セレクト信号SLiは0のまま維持され、出力セレクト信号SLoは1のまま維持される。一方、図10は、フリップフロップ10-kにDCエラーが発生している場合を示している。例えば、スキャン出力データDoutが0に固定されているとする。この場合、ノードNBにデータ1が印加される。従って、NOR回路55、56によって構成されるRSラッチ回路の状態が反転する。すなわち、入力セレクト信号SLiは0から1に反転し、出力セレクト信号SLoは1から0に反転する。また、この信号状態は、RSラッチ回路記憶部60によって保持される。例として、フリップフロップ10-4がエラーフリップフロップである場合を考える。エラー検出記憶回路51-4は、フリップフロップ10-4がエラーフリップフロップであることを検出し、入力セレクト信号SLi[3]を0から1に反転させ、出力セレクト信号SLo[3]を1から0に反転させる。また、スキャンチェーン上でエラーフリップフロップ10-4以降に存在するフリップフロップ10-5~10-8には、スキャンデータDscanである0、1の繰り返しパターンが伝わらない。従って、エラーフリップフロップの場合図10参照と同様に、RSラッチ回路の状態が反転する。すなわち、図7に示されるように、入力セレクト信号SLi[8:3]は全て0から1に反転し、出力セレクト信号SLo[7:3]は全て1から0に反転する。これら入力セレクト信号SLi及び出力セレクト信号SLoが再構成情報RECONであり、RSラッチ回路記憶部60によって記憶される。尚、入力セレクト信号SLi[8:7]が0から1に反転する場合、ライン判定回路70によって作成されるライン判定ビットLBも同様に0から1に反転する。ライン判定ビットLB=1は、フリップフロップ10-1~10-8からなるラインのどこかでDCエラーが発生していることを意味する。つまり、ライン判定ビットLBは、ライン毎のエラーフラグである。このライン判定ビットLBを利用することによって、DCテストを効率的に実施することができる後述される。RSラッチ回路記憶部60によって保持されている入力セレクト信号SLi及び出力セレクト信号SLoは、所定のタイミングで、入力セレクタ部20及び出力セレクタ部30に出力反映され、再構成処理が実施される。図11は、再構成処理後のデータの流れを示している。スキャン信号SCANが0の場合、各スキャンセレクタ41-kk=1~8は、入力データIN[k-1]を選択し、出力する。入力セレクト信号SLi=0を受け取る入力セレクタ21-1~21-3は、それぞれ、スキャンセレクタ41-1~41-3の出力データを選択し、出力する。一方、入力セレクト信号SLi=1を受け取る入力セレクタ21-4~21-9は、それぞれ、下位ビット側のスキャンセレクタ41-3~41-8の出力データを選択し、出力する。また、出力セレクト信号SLo=1を受け取る出力セレクタ31-1~31-3は、それぞれ、フリップフロップ10-1~10-3の出力データを選択し、出力する。一方、出力セレクト信号SLo=0を受け取る出力セレクタ31-4~31-8は、それぞれ、上位ビット側のフリップフロップ10-5~10-8、10-r1の出力データを選択し、出力する。その結果、図11に示されるように、入力データIN[7:0]は、エラーフリップフロップ10-4を介することなく、選択フリップフロップ10-1~10-3、10-5~10-8、10-r1によって、出力データOUT[7:0]として出力されることになる。尚、図8及び図11で示された例では、エラーフリップフロップ10-4より後ろのフリップフロップ10-5~10-8、10-r1の中に、他のエラーフリップフロップがあるかもしれない。従って、最新の入力セレクト信号SLi及び出力セレクト信号SLoを入力セレクタ部20及び出力セレクタ部30に反映した後に、再度スキャンデータDscanをスキャンチェーンに供給し、エラー検出処理を再度実施してもよい。図8及び図11で示された例では冗長度Rが1であるが、一般的には、冗長度Rを使いきるまで、エラー検出処理及び再構成処理を繰り返し実行することができる。以上に説明されたように、本実施の形態に係るエラー検出記憶回路51は、EXNOR回路及びRSラッチ回路を用いることにより、エラー検出、再構成情報RECONSLi、SLoの作成及び保持を効率的に行う。これにより、DCテスト時間が短縮される。また、本実施の形態によれば、エラー検出記憶回路51中のラッチ回路が、再構成情報RECONSLi、SLoを記憶するための記憶部60として用いられる。つまり、ある多ビットレジスタ部1に関する再構成情報RECONは、当該多ビットレジスタ部1の中のローカルな記憶部60に記憶される。比較例として、複数の多ビットレジスタ部1に関する再構成情報RECONがフラッシュメモリによって集中的に記憶される場合を考える。その場合、フラッシュメモリと複数の多ビットレジスタ部1との間をつなぐ信号配線が混雑するという問題がある。本実施の形態によれば、信号配線の混雑問題が解消される。1-3.電源電圧適応制御システム本実施の形態に係る半導体集積回路は、好適には、極低電力回路に適用される。極低電力回路では、動作電圧VDDをなるべく低く設定することが要求される。以下、動作電圧VDDを適切に制御する電源電圧適応制御システムについて説明する。図12は、本実施の形態に係る電源電圧適応制御システム90の構成を示すブロック図である。電源電圧適応制御システム90は、対象回路91、電源回路92、及び制御回路93を備えている。対象回路91は、電圧制御対象となる半導体集積回路であり、上述の多ビットレジスタ部1を備えている。電源回路92は、少なくともフリップフロップ10の動作電圧VDDを多ビットレジスタ部1に供給する。制御回路93は、対象回路91及び電源回路92に接続されており、それらの動作を制御する。具体的には、制御回路93は、DCテストや再構成処理を制御するための制御信号CONを、対象回路91に出力する。また、制御回路93は、多ビットレジスタ部1からライン判定ビットLBを受け取る。更に、制御回路93は、必要に応じて、電源回路92を制御する。電源電圧適応制御システム90は、1つの半導体チップ上に構築されていてもよい。あるいは、対象回路91、電源回路92、及び制御回路93は、別々の半導体チップにより構成されていてもよい。制御回路93は、コンピュータであってもよい。図13は、本実施の形態に係る電源電圧適応制御システム90の動作を示すフローチャートである。尚、電源回路92が供給する動作電圧VDDは、最初、極低電圧例えば、0.5V以下に設定されているとする。まず、制御回路93は、対象回路91に制御信号CONを出力し、再構成情報RECONSLi、SLoをリセットするステップS10。また、制御回路93は、パラメータrを初期値0に設定する。パラメータrは、冗長トランジスタ10-rの使用数である。続いて、制御回路93は、対象回路91に制御信号CONを出力し、ライン判定ビットLBを0にリセットするステップS11。次に、制御回路93は、対象回路91に制御信号CONを出力し、スキャンデータDscanのスキャン処理を実行させるステップS12。スキャン処理が終了すると、対象回路91の多ビットレジスタ部1は、上述のライン判定ビットLBを制御回路93に出力するステップS13。ライン判定ビットLBが0の場合ステップS14;Yes、エラーフリップフロップは存在しない。従って、処理は終了する。一方、ライン判定ビットLBが1の場合ステップS14;No、エラーフリップフロップが存在する。この場合、制御回路93は、パラメータrを1増加させるステップS15。パラメータrが冗長度R以内である場合ステップS16;No、制御回路93は、対象回路91に制御信号CONを出力し、上述の再構成処理を実施させるステップS17。その結果、エラーフリップフロップはスキップされ、当該エラーフリップフロップ以降が1ビットずつシフトし、冗長フリップフロップ10-rが1つ消費される図11参照。その後、処理はステップS11に戻り、同じ処理が繰り返される。一方、パラメータrが冗長度Rを超えた場合ステップS16;Yes、エラーフリップフロップをこれ以上排除することができない。この場合、DCエラーの原因となった極低電圧を多少緩和する。そのために、制御回路93は、電源回路92に指示を出し、動作電圧VDDを少しだけ上昇させるステップS18。その後、処理は最初ステップS10に戻る。このように、本実施の形態によれば、全ての冗長フリップフロップ10-r1~10-rRを用いてもエラーフリップフロップが無くならない場合、動作電圧VDDが少しだけ増加させられる。これにより、エラーフリップフロップを解消しつつ、動作電圧VDDをなるべく低く設定することが可能となる。その結果、消費電力が必要最小限に抑えられる。また、本実施の形態では、制御回路93は、ライン判定ビットLBに基づいて制御処理を行う。対象回路91は、全ての信号SLi、SLoを制御回路93に送る必要はなく、ライン判定ビットLBだけを制御回路93に送ればよい。従って、対象回路91と制御回路93との間の配線が簡略化され、また、制御処理が高速化される。これは、多ビットレジスタ部1のビット数が非常に多い場合に特に有効である。対象回路91が複数の多ビットレジスタ部1を備えている場合も同様である。例えば、図14は、複数の多ビットレジスタ部1-1~1-4に対して並列的にDCテストが実施されるライン並列テストの場合を示している。スキャンデータDscanは、複数の多ビットレジスタ部1-1~1-4に対して同時並列に供給される。制御回路93は、複数の多ビットレジスタ部1-1~1-4の各々からライン判定ビットLBを受け取る。そして、制御回路93は、受け取ったライン判定ビットLBに基づいて、動作電圧VDDを上昇させるか否かを決定する。ライン並列テストの場合、全ての多ビットレジスタ部1から受け取るライン判定ビットLBが0になるまで、動作電圧VDDを上昇させる。図15は、複数の多ビットレジスタ部1-1~1-4に対して直列的にDCテストが実施されるライン直列テストの場合を示している。複数の多ビットレジスタ部1-1~1-4のフリップフロップ10は1つのスキャンチェーンを構成する。スキャンデータDscanは、初段の多ビットレジスタ部1-1に供給される。制御回路93は、最終段の多ビットレジスタ部1-4からライン判定ビットLBを受け取る。そして、制御回路93は、受け取ったライン判定ビットLBに基づいて、動作電圧VDDを上昇させるか否かを決定する。尚、ライン判定ビットLBを次段のリセット信号等の制御信号に使用してもよい。本実施の形態に係る再構成処理によってスキャンチェーンからエラーフリップフロップが排除された後、当該スキャンチェーンを用いることによって、通常のスキャンテストチップテストが実施されてもよい。スキャンFFのエラー修復後にスキャンテストチップテストを実施することによって、テストの信頼性が向上する。2.第2の実施の形態AC特性エラー検出及び再構成本発明の第2の実施の形態では、フリップフロップのラッチ特性や遅延特性といったAC特性が十分でなくなるAC特性エラーが効率的に検出される。更に、AC特性エラーが発生したエラーフリップフロップを冗長フリップフロップで置換する再構成処理が実施される。2-1.モード可変フリップフロップまず、本実施の形態において用いられるフリップフロップ110について詳しく説明する。本実施の形態に係るフリップフロップ110は、そのラッチ特性をテストするために、トグル動作が可能なように構成されている。また、本実施の形態に係るフリップフロップ110は、その遅延特性をテストするために、自己発振動作が可能なように構成されている。すなわち、本実施の形態に係るフリップフロップ110には、通常FFモードだけでなく、トグルモードや自己発振モードといったテストモードが用意されている。以下に説明されるように、フリップフロップ110の動作モードは、それら複数のモード間で切り替え可能である。図16は、本実施の形態に係るフリップフロップ110の構成例を示す回路図である。フリップフロップ110は、FF入力端子FFIN及びFF出力端子FFOUTを備えている。FF入力端子FFINには、フリップフロップ110の外部から外部入力データが入力される。FF出力端子FFOUTからは、フリップフロップ110の外部に外部出力データが出力される。フリップフロップ110は更に、FF部1120、入力ノードNin及び出力ノードNoutを備えている。FF部1120は、フリップフロップとしての基本的な動作を行う。入力ノードNin及び出力ノードNoutのそれぞれは、そのFF部1120の入力端子及び出力端子である。出力ノードNoutは、FF出力端子FFOUTに接続されている。より詳細には、FF部1120は、第1スイッチ回路SW1、第1ラッチ回路LA1、第2スイッチ回路SW2、第2ラッチ回路LA2、及びインバータ1125を備えている。第1スイッチ回路SW1は、入力ノードNinとノードN1との間に接続されている。この第1スイッチ回路SW1は、第1クロック信号CK1及び第1反転クロック信号CK1Bに応じてON/OFFする。具体的には、第1クロック信号CK1がHighレベルの場合、第1スイッチ回路SW1はOFFし、第1クロック信号CK1がLowレベルの場合、第1スイッチ回路SW1はONする。第1スイッチ回路SW1は、例えば、図16に示されるようなインバータ及びトランスファゲートにより構成される。第1ラッチ回路LA1は、ノードN1とノードN2との間に接続されている。この第1ラッチ回路LA1は、第1クロック信号CK1及び第1反転クロック信号CK1Bに基づいて動作する。具体的には、第1クロック信号CK1がHighレベルの場合、第1ラッチ回路LA1はデータラッチを行う。第1ラッチ回路LA1は、例えば、図16に示されるようなインバータ1121及びクロックドインバータ1122により構成される。第2スイッチ回路SW2は、ノードN2とノードN3との間に接続されている。この第2スイッチ回路SW2は、第2クロック信号CK2及び第2反転クロック信号CK2Bに応じてON/OFFする。具体的には、第2クロック信号CK2がHighレベルの場合、第2スイッチ回路SW2はONし、第2クロック信号CK2がLowレベルの場合、第2スイッチ回路SW2はOFFする。第2スイッチ回路SW2は、例えば、図16に示されるようなトランスファゲートにより構成される。第2ラッチ回路LA2は、ノードN3とノードN4との間に接続されている。この第2ラッチ回路LA2は、第2クロック信号CK2及び第2反転クロック信号CK2Bに基づいて動作する。具体的には、第2クロック信号CK2がLowレベルの場合、第2ラッチ回路LA2はデータラッチを行う。第2ラッチ回路LA2は、例えば、図16に示されるようなインバータ1123及びクロックドインバータ1124により構成される。インバータ1125は、ノードN4と出力ノードNoutとの間に接続されている。本実施の形態に係るフリップフロップ110は更に、FFセレクタ部1110及びフィードバックパス1130を備えている。フィードバックパス1130は、FF部1120の出力ノードNoutと入力ノードNinとの間をつないでいる。図16に示されるように、フィードバックパス1130上にはインバータ1131が設けられている。FFセレクタ部1110は、入力ノードNinの前段に設けられている。このFFセレクタ部1110は、FF入力端子FFINに入力される外部入力データあるいはフィードバックパス1130を通してフィードバックされるフィードバックデータのいずれか一方を選択し、選択したデータを入力ノードNinに出力する。より詳細には、FFセレクタ部1110は、スイッチ1111、1112を備えている。スイッチ1111は、FF入力端子FFINと入力ノードNinとの間に接続されており、反転テスト信号TSTBに応じてON/OFFする。スイッチ1112は、インバータ1131と入力ノードNinとの間に接続されており、テスト信号TSTに応じてON/OFFする。スイッチ1111、1112の各々は、例えば、NチャネルMOSトランジスタにより構成される。通常FFモードにおいて、テスト信号TSTはLowレベルであり、反転テスト信号TSTBはHighレベルである。この場合、スイッチ1111はONし、一方、スイッチ1112はOFFする。従って、FF入力端子FFINに入力される外部入力データが、入力ノードNinに伝達される。すなわち、FFセレクタ部1110は、外部入力データを選択し、入力ノードNinに出力する。通常FFモードにおいては、フィードバックパス1130は非活性化されていると言える。一方、テストモードトグルモード及び自己発振モードにおいて、テスト信号TSTはHighレベルであり、反転テスト信号TSTBはLowレベルである。この場合、スイッチ1111はOFFし、一方、スイッチ1112はONする。従って、フィードバックパス1130を通してフィードバックされるフィードバックデータが、入力ノードNinに伝達される。すなわち、FFセレクタ部1110は、フィードバックデータを選択し、入力ノードNinに出力する。このように、フィードバックパス1130は、テストモードトグルモード及び自己発振モードにおいて活性化される。図17は、本実施の形態に係るフリップフロップ110の動作モードを制御するためのモード制御回路150の構成例を示している。モード制御回路150は、テスト信号生成回路151及びクロック生成回路154を備えている。テスト信号生成回路151は、テスト信号TESTに応じて、上述のテスト信号TST及び反転テスト信号TSTBを生成する。より詳細には、テスト信号生成回路151は、図17に示されるようにインバータ152、153を備えている。テストモードにおいて、テスト信号TESTがHighレベルになる。その結果、テスト信号TSTがHighレベルになり、反転テスト信号TSTBがLowレベルになる。尚、FFセレクタ部1110における信号遅延及びその面積を低減する観点からは、スイッチNチャネルMOSトランジスタ1111、1112を駆動するための信号TST、TSTBの電圧として、高電圧VDDHが使用されることが好適である。クロック生成回路154は、クロック信号CLK及び信号SOBに応じて、上述の第1クロック信号CK1、第1反転クロック信号CK1B、第2クロック信号CK2及び第2反転クロック信号CK2Bを生成する。より詳細には、クロック生成回路154は、図17に示されるようにNAND回路155、インバータ156、157、NOR回路158、及びインバータ159を備えている。以下、図16及び図17を適宜参照して、各動作モードにおけるフリップフロップ110の動作を説明する。通常FFモード通常FFモードにおいて、テスト信号TESTはLowレベルに設定される。この場合、反転テスト信号TSTBがHighレベルとなり、スイッチ1111がONする。一方、スイッチ1112はOFFし、フィードバックパス1130は非活性化される。また、信号SOBはHighレベル1に設定される。従って、第1クロック信号CK1と第2クロック信号CK2は、共にクロック信号CLKと同じになる。この場合、FF部1120は通常のラッチ動作を行う。トグルモード図18は、トグルモードにおけるフリップフロップ110の動作を示すタイミングチャートである。トグルモードにおいて、テスト信号TESTはHighレベルに設定され、テスト信号TSTがHighレベルになる。この場合、スイッチ1111がOFFする一方でスイッチ1112がONし、フィードバックパス1130が活性化される。トグルモードの場合、信号SOBはHighレベル1に設定される。従って、上述の通常FFモードの場合と同様に、FF部1120は通常のラッチ動作を行う。より詳細には、第1クロック信号CK1と第2クロック信号CK2は、共にクロック信号CLKと同じになる。この場合、FF部1120において、第1スイッチ回路SW1と第2スイッチ回路SW2は交互にONし、また、第1ラッチ回路LA1と第2ラッチ回路LA2は交互にデータラッチを行う。但し、フィードバックパス1130が活性化されているため、FF部1120はデータ0とデータ1を交互にラッチし続ける。このように、トグルモードにおいて、フリップフロップ110は、フィードバックパス1130を利用してトグル動作を行う。自己発振モード図19は、自己発振モードにおけるフリップフロップ110の動作を示すタイミングチャートである。自己発振モードにおいて、テスト信号TESTはHighレベルに設定され、テスト信号TSTがHighレベルになる。この場合、スイッチ1111がOFFする一方でスイッチ1112がONし、フィードバックパス1130が活性化される。自己発振モードの場合、信号SOBはLowレベル0に設定される。この場合、第1クロック信号CK1はLowレベルに維持され、第2クロック信号CK2はHighレベルに維持される。従って、FF部1120において、第1スイッチ回路SW1及び第2スイッチ回路SW2は共にON状態に維持される。その結果、第1スイッチ回路SW1クロックドインバータ、第1ラッチ回路LA1のインバータ1121、第2ラッチ回路LA2のインバータ1123、インバータ1125、及びフィードバックパス1130のインバータ1131によって、発振回路が形成される。すなわち、フリップフロップ110は、ラッチ動作を行わず、自己発振を行う。このように、自己発振モードにおいて、フリップフロップ110は、フィードバックパス1130を利用して自己発振動作を行う。2-2.AC特性エラー検出図20は、第2の実施の形態に係る半導体集積回路の構成を概略的に示すブロック図である。本実施の形態に係る半導体集積回路は、複数ビットのデータを記憶する多ビットレジスタ部101を備えている。その多ビットレジスタ部101は、N個Nは1以上の整数の入力端子IN-1~IN-N及びN個の出力端子OUT-1~OUT-Nを備えており、入力端子IN-1~IN-Nのそれぞれに入力されるNビットデータを記憶し、そのNビットデータを出力端子OUT-1~OUT-Nのそれぞれから出力する。より詳細には、多ビットレジスタ部101は、Nビットデータを記憶するための複数のフリップフロップ110を備えている。各フリップフロップ110は、既出の図16で示された構成を有している。本実施の形態では、複数のフリップフロップ110は、少なくとも1つの冗長フリップフロップを含んでいる。すなわち、複数のフリップフロップ110は、N個のフリップフロップ110-1~110-Nと、R個の冗長フリップフロップ110-r1~110-rRを含んでいる。ここで、Rは、冗長度を表す1以上の整数である。これらNR個のフリップフロップ110のうちN個の選択フリップフロップが、入力端子IN-1~IN-Nに入力されるNビットデータの記憶に用いられる。そのN個の選択フリップフロップの選択に用いられるのが、再構成情報RECON及びセレクタ部120、130である。再構成情報RECONは、N個の選択フリップフロップを指定するデータである。セレクタ部120、130は、その再構成情報RECONに応じて、複数のフリップフロップ110の中からN個の選択フリップフロップを選択する。そして、セレクタ部120、130は、N個の入力端子IN-1~IN-Nに入力されたNビットデータがN個の選択フリップフロップのそれぞれによってN個の出力端子OUT-1~OUT-Nに出力されるように、データの流れを切り替える。より詳細には、図20に示されるように、多ビットレジスタ部101は、入力セレクタ部120及び出力セレクタ部130を備えている。入力セレクタ部120は、N個の入力端子IN-1~IN-NとNR個のフリップフロップ110との間に配置されている。この入力セレクタ部120は、再構成情報RECONに応じて、N個の入力端子IN-1~IN-NとNR個のフリップフロップ110との間の接続関係を切り替える。具体的には、入力セレクタ部120は、再構成情報RECONに基づいて、N個の入力端子IN-1~IN-Nに入力されたNビットデータがN個の選択フリップフロップに供給されるように、当該接続関係を設定する。出力セレクタ部130は、NR個のフリップフロップ110とN個の出力端子OUT-1~OUT-Nとの間に配置されている。この出力セレクタ部130は、再構成情報RECONに応じて、N個の出力端子OUT-1~OUT-NとNR個のフリップフロップ110との間の接続関係を切り替える。具体的には、出力セレクタ部130は、再構成情報RECONに基づいて、N個の選択フリップフロップから出力されるNビットデータがN個の出力端子OUT-1~OUT-Nに出力されるように、当該接続関係を設定する。多ビットレジスタ部101は、更に、図17で示されたモード制御回路150を備えている。モード制御回路150は、複数のフリップフロップ110に対して、上述の信号TST,TSTB,CK1,CK1B,CK2,CK2Bを供給する。多ビットレジスタ部101は、更に、カウント対象セレクタ140、カウンタ160及び記憶回路190を備えている。カウント対象セレクタ140は、複数のフリップフロップ110のそれぞれのFF出力端子FFOUTに接続されている。テストモード時、各フリップフロップ110は、トグル動作あるいは自己発振動作を行っている。その時、カウント対象セレクタ140は、複数のフリップフロップ110のそれぞれから出力される出力データを1つずつ順番にカウンタ160に転送する。つまり、テストモード時、カウント対象セレクタ140は、対象フリップフロップを複数のフリップフロップ110から1つずつ順番に選択し、その対象フリップフロップから出力される出力データをカウンタ160に出力する。対象フリップフロップは、所定期間毎に順番に切り替えられる。カウンタ160は、カウント対象セレクタ140に接続されている。テストモード時、カウンタ160は、対象フリップフロップから出力された出力データを、カウント対象セレクタ140経由で受け取る。そして、カウンタ160は、受け取った出力データに関して所定期間カウントを行う。つまり、カウンタ160は、所定期間における出力データのトグル回数や発振回数をカウントする。更に、カウンタ160は、当該対象フリップフロップに関して得られたカウント値を示すカウント信号CNTを、制御装置200に出力する。対象フリップフロップは順番に切り替えられるため、カウンタ160は、複数のフリップフロップ110のそれぞれに関するカウント信号CNTを1つずつ順番に制御装置200に出力する。制御装置200は、例えば、本実施の形態に係る半導体集積回路に接続されたコンピュータである。この制御装置200は、複数のフリップフロップ110のそれぞれに関するカウント信号CNTをカウンタ160から受け取る。そして、制御装置200は、カウント信号CNTで示されるカウント値に基づいて、AC特性が不十分なエラーフリップフロップを検出する。例えば、トグルモードの場合、カウント値所定期間におけるトグル回数が期待値に満たないフリップフロップ110は、ラッチ動作を正常に行っていないエラーフリップフロップである。従って、制御装置200は、カウント値と期待値とを比較することによって、当該フリップフロップ110がエラーフリップフロップか否かを判定することができる。これにより、ラッチ特性の劣ったエラーフリップフロップを検出することが可能である。また、自己発振モードの場合、制御装置200は、所定期間におけるカウント値に基づいて、自己発振周波数を計算することができる。その自己発振周波数が期待値に満たないフリップフロップ110は、遅延特性の劣ったエラーフリップフロップである。従って、制御装置200は、自己発振周波数と期待値とを比較することによって、当該フリップフロップ110がエラーフリップフロップか否かを判定することができる。これにより、遅延特性の劣ったエラーフリップフロップを検出することが可能である。このように、制御装置200は、AC特性エラーが発生したエラーフリップフロップを検出する。検出されたエラーフリップフロップの数が冗長度R以下であれば、そのエラーフリップフロップを冗長フリップフロップ110-rによって置換可能である。制御装置200は、検出されたエラーフリップフロップの代わりに冗長フリップフロップ110-rが選択フリップフロップに組み込まれるように、再構成情報RECONを作成する。すなわち、制御装置200は、検出されたエラーフリップフロップがN個の選択フリップフロップから除外されるように再構成情報RECONを作成する。その後、制御装置200は、作成した再構成情報RECONを、多ビットレジスタ部101の記憶回路190に格納する。記憶回路190は、好適には、多ビットレジスタ部101毎に個別に設けられる。そのような記憶回路190として、例えば、フリップフロップやeヒューズが用いられる。記憶回路190に格納された再構成情報RECONは、テストモード終了後の所定のタイミングにおいて、セレクタ部120、130に出力反映される。その結果、テストモードにおいて検出されたエラーフリップフロップはN個の選択フリップフロップから除外され、その代わりに、冗長フリップフロップ10-rが適宜選択フリップフロップに組み込まれる。この処理が再構成処理である。以上に説明されたように、本実施の形態によれば、フリップフロップ110がトグルモード及び自己発振モードをサポートしている。そのようなフリップフロップ110を利用することによって、ラッチ特性や遅延特性といったAC特性が十分でないエラーフリップフロップを効率的に検出することができる。また、再構成処理によって、AC特性の劣るエラーフリップフロップが排除されるため、多ビットレジスタ部1の速度特性が改善される。以下、具体例を説明する。図21は、本実施の形態に係る半導体集積回路の多ビットレジスタ部101の回路構成の一例を示している。本例では、N=8、冗長度R=1である。多ビットレジスタ部101の入力端子IN-8~IN-1には、8ビットの入力データIN[7:0]が入力される。多ビットレジスタ部101の出力端子OUT-8~OUT-1からは、8ビットの出力データOUT[7:0]が出力される。図21に示されるように、多ビットレジスタ部101は、複数のフリップフロップ110110-1~110-8、110-r1、入力セレクタ部120、出力セレクタ部130、カウント対象セレクタ140、モード制御回路150、及びカウンタ160を備えている。入力セレクタ部120は、N1個の入力セレクタ121-1~121-9を備えている。入力セレクタ121-kk=1~8は、入力セレクト信号SLi[k-1]に応じて、入力データIN[k-1]あるいは下位ビット側の入力データIN[k-2]のいずれか一方を選択し、選択データをフリップフロップ110-kのFF入力端子FFINに出力する。但し、入力セレクタ121-1の場合、下位ビット側の入力データは固定データであるとする。入力セレクタ121-9は、入力セレクト信号SLi[8]に応じて、固定データあるいは入力データIN[7]のいずれか一方を選択し、選択データを冗長フリップフロップ110-r1のFF入力端子FFINに出力する。尚、9ビットの入力セレクト信号SLi[8:0]は、再構成情報RECONに相当する。出力セレクタ部130は、N個の出力セレクタ131-1~131-8を備えている。出力セレクタ131-kk=1~8は、出力セレクト信号SLo[k-1]に応じて、フリップフロップ110-kの出力データあるいは上位ビット側のフリップフロップ110-k1の出力データのいずれかを選択し、選択データを出力データOUT[k-1]として出力する。但し、出力セレクタ131-8の場合、上位ビット側のフリップフロップは、冗長フリップフロップ110-r1であるとする。尚、8ビットの出力セレクト信号SLo[7:0]も、再構成情報RECONに相当する。図22は、再構成情報RECONSLi、SLoの一例を示している。リセット状態において、入力セレクト信号SLiは全て0であり、出力セレクト信号SLoは全て1である。テストモードにおいて、フリップフロップ110-4がエラーフリップフロップとして検出されたとする。その場合、図22に示されるように、入力セレクト信号SLi[8:3]は1に変更され、出力セレクト信号SLo[7:3]は0に変更される。変更後の入力セレクト信号SLi及び出力セレクト信号SLoは、所定のタイミングで、入力セレクタ部120及び出力セレクタ部130に出力反映され、再構成処理が実施される。図23は、再構成処理後のデータの流れを示している。入力セレクト信号SLi=0を受け取る入力セレクタ121-1~121-3は、それぞれ、入力データIN[0]~IN[2]を選択し、出力する。一方、入力セレクト信号SLi=1を受け取る入力セレクタ121-4~121-9は、それぞれ、下位ビット側の入力データIN[2]~IN[7]を選択し、出力する。また、出力セレクト信号SLo=1を受け取る出力セレクタ131-1~131-3は、それぞれ、フリップフロップ110-1~110-3の出力データを選択し、出力する。一方、出力セレクト信号SLo=0を受け取る出力セレクタ131-4~131-8は、それぞれ、上位ビット側のフリップフロップ110-5~110-8、110-r1の出力データを選択し、出力する。その結果、図23に示されるように、入力データIN[7:0]は、エラーフリップフロップ110-4を介することなく、選択フリップフロップ110-1~110-3、110-5~110-8、110-r1によって、出力データOUT[7:0]として出力されることになる。2-3.変形例次に、第2の実施の形態の変形例を説明する。本変形例においても、対象フリップフロップは、複数のフリップフロップ110から1つずつ順番に選択される。但し、対象フリップフロップ以外のフリップフロップ110が、カウンタとして有効利用される。図24は、本変形例に係る多ビットレジスタ部101の回路構成例を示している。既出の図21で示された構成と比較して、カウント対象セレクタ140及びカウンタ160が省略されている。その代わり、各フリップフロップ110に対するクロック入力を切り替えるためのクロックセレクタ部170が追加されている。クロックセレクタ部170は、クロックセレクタ171-1~171-9を備えている。クロックセレクタ171-kk=1~8は、クロックセレクト信号SLt[k-1]に応じて、モード制御回路150からの信号あるいは上位ビット側のフリップフロップ110-k1からの出力信号のいずれか一方を選択し、選択信号をフリップフロップ110-kのクロック入力端子に出力する。但し、クロックセレクタ171-8の場合、上位ビット側のフリップフロップは冗長フリップフロップ110-r1であるとする。クロックセレクタ171-9は、クロックセレクト信号SLt[8]に応じて、モード制御回路150からの信号あるいはフリップフロップ110-1からの出力信号のいずれか一方を選択し、選択信号を冗長フリップフロップ110-r1のクロック入力端子に出力する。また、スキャンチェーンを構成するために、スキャンセレクタ部180が設けられている。スキャンセレクタ部180は、スキャンセレクタ181-1~181-9を備えている。スキャンセレクタ181-kk=1~9は、スキャン信号SCANBに応じて、入力セレクタ部120からのデータあるいは上位ビット側のフリップフロップ110-k1からの出力データのいずれか一方を選択し、選択データをフリップフロップ110-kに出力する。スキャンモードにおいて、スキャン信号SCANBは0に設定される。この場合、各スキャンセレクタ181は、上位ビット側のフリップフロップ110-k1からの出力データをフリップフロップ110-kに出力する。図25は、テストモード時のデータの流れを示している。例として、フリップフロップ110-6が対象フリップフロップである場合を考える。クロックセレクタ171-6には、クロックセレクト信号SLt[5]=1が入力される。この場合、クロックセレクタ171-6は、モード制御回路150からの信号を選択し、それを対象フリップフロップ110-6のクロック入力端子に出力する。その結果、対象フリップフロップ110-6はトグル動作あるいは自己発振動作を行う。クロックセレクタ171-6以外のクロックセレクタ171には、クロックセレクト信号SLt=0が入力される。これにより、クロックセレクタ171-mm=1~5、7~8は、上位ビット側のフリップフロップ110-m1からの出力信号を選択し、それをフリップフロップ110-mのクロック入力端子に出力する。また、クロックセレクタ171-9は、フリップフロップ110-1からの出力信号を選択し、それを冗長フリップフロップ110-r1のクロック入力端子に出力する。このように、テストモード時、トグル動作あるいは自己発振動作を行う対象フリップフロップ110-6を先頭として、複数のフリップフロップ110が順番に接続される。そして、対象フリップフロップ110-6以外のフリップフロップ110の各々のクロック入力端子には、前段のフリップフロップからの出力データが入力される。従って、対象フリップフロップ110-6以外のフリップフロップ110が、2進カウンタとして機能する。2進カウンタによって計数されたカウント値カウント信号CNTは、例えば、出力セレクタ部130を通して出力データOUT[7:0]として出力される。あるいは、そのカウント値カウント信号CNTは、図26に示されるように、スキャンチェーンを通して外部に出力されてもよい。尚、スキャン時、各フリップフロップ110の動作モードは通常FFモードに設定される。尚、クロックセレクト信号SLt[8:0]の中で1となるビットを順番にシフトさせていくことにより、複数のフリップフロップ110を1つずつ順番に対象フリップフロップに設定することができる。以上に説明されたように、本変形例によれば、対象フリップフロップ以外のフリップフロップ110がカウンタとして利用される。すなわち、複数のフリップフロップ110が有効活用される。カウンタ160を別途設ける必要がないので、回路面積が削減され、好適である。2-4.電源電圧適応制御システム本実施の形態に係る半導体集積回路は、好適には、極低電力回路に適用される。極低電力回路では、動作電圧VDDをなるべく低く設定することが要求される。以下、動作電圧VDDを適切に制御する電源電圧適応制御システムについて説明する。図27は、本実施の形態に係る電源電圧適応制御システムの構成を示すブロック図である。電源電圧適応制御システムは、制御装置200、対象回路210及び電源回路220を備えている。対象回路210は、電圧制御対象となる半導体集積回路であり、上述の多ビットレジスタ部101を備えている。電源回路220は、少なくともフリップフロップ110の動作電圧VDDを多ビットレジスタ部101に供給する。制御装置200は、対象回路210及び電源回路220に接続されており、それらの動作を制御する。動作電圧VDDの適応制御方法は、次の通りである。電源回路220が供給する動作電圧VDDは、最初、極低電圧例えば、0.5V以下に設定されているとする。まず、制御装置200は、対象回路210に制御信号CONを出力し、AC特性テストを実行させる。多ビットレジスタ部101は、カウント信号CNTを制御装置200に出力する。制御装置200は、受け取ったカウント信号CNTに基づいて再構成情報RECONを作成し、その再構成情報RECONを対象回路210に送る。対象回路210では、最新の再構成情報RECONに基づいて再構成処理が実施される。但し、全ての冗長フリップフロップ10-r1~10-rRを用いてもエラーフリップフロップが無くならない場合もあり得る。そのような場合、AC特性エラーの原因となった極低電圧を多少緩和する。そのために、制御装置200は、電源回路220に指示を出し、動作電圧VDDを少しだけ上昇させる。その後、AC特性テストが再度実施される。このように、本実施の形態によれば、全ての冗長フリップフロップ10-r1~10-rRを用いてもエラーフリップフロップが無くならない場合、動作電圧VDDが少しだけ増加させられる。これにより、エラーフリップフロップを解消しつつ、動作電圧VDDをなるべく低く設定することが可能となる。その結果、消費電力が必要最小限に抑えられる。エラーフリップフロップが排除された後に、パス遅延に基づく電源電圧や基板バイアスの適応制御が実施してもよい。AC特性の劣ったエラーフリップフロップが排除されているため、より良い結果が得られる。尚、本発明の第2の実施の形態で説明された内容は、次のように記載することもできる。請求項1複数のフリップフロップと、カウンタとを備え、前記複数のフリップフロップの各々は、自身の出力から入力へのフィードバックパスを備え、テストモード時に前記フィードバックパスを利用してトグル動作あるいは自己発振動作を行うように構成され、前記テストモード時、前記カウンタは、前記トグル動作あるいは前記自己発振動作を行う前記各々のフリップフロップから出力データを受け取り、前記出力データに関して所定期間カウントを行う半導体集積回路。請求項2請求項1に記載の半導体集積回路であって、更に、N個Nは1以上の整数の入力端子と、N個の出力端子と、セレクタ部とを備え、前記複数のフリップフロップは、N個のフリップフロップとR個Rは1以上の整数の冗長フリップフロップとを含み、前記セレクタ部は、再構成情報に応じて前記複数のフリップフロップの中からN個の選択フリップフロップを選択し、前記N個の入力端子に入力されたデータが前記N個の選択フリップフロップのそれぞれによって前記N個の出力端子に出力されるようにデータの流れを切り替える半導体集積回路。請求項3請求項2に記載の半導体集積回路であって、前記所定期間におけるトグル回数あるいは自己発振周波数が所定値に満たないフリップフロップは、エラーフリップフロップであり、前記エラーフリップフロップは、前記テストモード時に前記カウンタによって得られたカウント値に基づいて検出され、前記再構成情報は、前記検出されたエラーフリップフロップが前記N個の選択フリップフロップから除外されるように作成される半導体集積回路。請求項4請求項3に記載の半導体集積回路であって、前記再構成情報は、前記テストモード終了後の所定のタイミングに、前記セレクタ部に出力される半導体集積回路。請求項5請求項1乃至4のいずれか一項に記載の半導体集積回路であって、前記複数のフリップフロップの各々は、入力ノードと、第1ラッチ回路と、前記入力ノードと前記第1ラッチ回路との間に設けられた第1スイッチ回路と、第2ラッチ回路と、前記第1ラッチ回路と前記第2ラッチ回路との間に設けられた第2スイッチ回路と、前記第2ラッチ回路の出力に接続された出力ノードと、前記テストモード時に活性化される、前記出力ノードから前記入力ノードへの前記フィードバックパスとを備え、前記トグル動作時、前記第1スイッチ回路と前記第2スイッチ回路は交互にONし、前記自己発振動作時、前記第1スイッチ回路と前記第2スイッチ回路は共にON状態に維持される半導体集積回路。請求項6請求項1乃至5のいずれか一項に記載の半導体集積回路であって、更に、カウント対象セレクタを備え、前記テストモード時、前記カウント対象セレクタは、対象フリップフロップを前記複数のフリップフロップから1つずつ順番に選択し、前記対象フリップフロップから出力される前記出力データを前記カウンタに出力する半導体集積回路。請求項7請求項1乃至5のいずれか一項に記載の半導体集積回路であって、前記テストモード時、カウント対象である対象フリップフロップは、前記複数のフリップフロップから1つずつ順番に選択され、前記複数のフリップフロップのうち前記対象フリップフロップ以外のフリップフロップが、前記カウンタとして機能する半導体集積回路。請求項8請求項7に記載の半導体集積回路であって、前記テストモード時、前記対象フリップフロップを先頭として、前記複数のフリップフロップは順番に接続され、前記対象フリップフロップは、前記トグル動作あるいは前記自己発振動作を行い、前記対象フリップフロップ以外の前記フリップフロップの各々のクロック入力端子には、前段のフリップフロップからの出力データが入力される半導体集積回路。請求項9請求項1乃至8のいずれか一項に記載の半導体集積回路と、前記複数のフリップフロップの動作電圧を供給する電源回路と、前記半導体集積回路及び前記電源回路の動作を制御する制御装置とを備え、前記R個の冗長フリップフロップを用いても前記エラーフリップフロップが無くならない場合、前記制御装置は、前記動作電圧を上昇させるよう前記電源回路に指示する電源電圧適応制御システム。3.第3の実施の形態本発明の第3の実施の形態は、上述の第1の実施の形態と第2の実施の形態の組み合わせである。図28は、第3の実施の形態における処理を示すフローチャートである。まず、第1の実施の形態で説明されたように、DCエラー検出及び再構成が実施されるステップS100。ステップS100の結果、全ての冗長FFが使用されてしまった場合ステップS150;No、処理は終了する。一方、ステップS100の後、冗長FFがまだ余っているラインが存在する場合ステップS150;Yes、当該ラインに対して、第2の実施の形態で説明されたように、AC特性エラー検出及び再構成が実施されるステップS200。DCエラーの発生頻度は少ないと予想されるため、冗長FFを有効活用することが可能である。以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。"