(57)【要約】【課題】回路規模の増大を抑えつつ、データ転送回路の動作中にデータバスの特定ビットにおいて発生するエラーを検出してエラーを回避する。【解決手段】ビット位置制御回路１２は、バスの所定のビット位置に第１のランダムデータの各ビットを挿入するように、第１のランダムデータ及び転送データの各ビットをバスの各ビット位置に割り当ててデータ転送回路に出力する。ビット位置制御回路１４は、データ転送回路から出力されるデータから、第１のランダムデータ及び転送データをそれぞれ抽出して出力する。比較回路１５は、データ転送回路から出力された第１のランダムデータの各ビットと、第２のランダムデータの各ビットとを比較することにより、バスにおいてエラーが生じたビットを検出する。ビット位置制御回路１２は、転送データの各ビットをバスの各ビット位置に割り当てるとき、バスにおいてエラーが生じたビット以外のビット位置に割り当てる。【選択図】図１
2017203753.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータ幅を有するデータを転送するパラレルバスを備えるデータ転送回路のためのテスト回路であって、
前記第１のデータ幅よりも小さい第２のデータ幅を有する第１のランダムデータを生成する第１の擬似乱数生成回路と、
前記第１のランダムデータが入力される第１の入力端子と、前記データ転送回路を介して転送すべき転送データであって、前記第１及び第２のデータ幅の差に等しい第３のデータ幅を有する転送データが入力される第２の入力端子と、を含み、前記パラレルバスにおける所定のビット位置に前記第１のランダムデータの各ビットを挿入するように、前記第１のランダムデータ及び前記転送データの各ビットを前記パラレルバスの各ビット位置に割り当てて前記データ転送回路に出力する第１のビット位置制御回路と、
前記第１のランダムデータと同じ第２のランダムデータを生成する第２の擬似乱数生成回路と、
前記データ転送回路から出力されるデータから、前記第１のランダムデータ及び前記転送データをそれぞれ抽出して出力する第２のビット位置制御回路と、
前記第２のビット位置制御回路によって前記データ転送回路から出力されたデータから抽出された前記第１のランダムデータの各ビットと、前記第２の擬似乱数生成回路によって生成された前記第２のランダムデータの各ビットとを比較することにより、前記パラレルバスにおいてエラーが生じたビットを検出する比較回路と、を備え、
前記第１のビット位置制御回路は、前記転送データの各ビットを前記パラレルバスの各ビット位置に割り当てるとき、前記比較回路の比較結果に基づいて、前記パラレルバスにおいてエラーが生じたビット以外のビット位置に割り当てるテスト回路。
【請求項２】
前記データ転送回路を介して転送すべき転送データは、複数の互いに異なるデータ幅を有し、
前記転送データが前記第３のデータ幅よりも大きいデータ幅を有するとき、前記第１のビット位置制御回路は前記第１のランダムデータを前記データ転送回路に入力しない請求項１記載のテスト回路。
【請求項３】
前記テスト回路は、前記第１のデータ幅を有し、かつ、予め決められたしきい値よりも大きい値を表すデータが入力されたとき、前記入力されたデータから前記第２のデータ幅に等しいビット数の下位ビットを切り捨てて前記第１のビット位置制御回路の第２の入力端子に出力する下位ビット切り捨て回路をさらに備える請求項１記載のテスト回路。
【請求項４】
前記第１のビット位置制御回路は、前記パラレルバスにおけるランダムなビット位置に前記第１のランダムデータの各ビットを挿入する請求項１〜３のうちの１つに記載のテスト回路。
【請求項５】
前記第１のビット位置制御回路は、前記パラレルバスにおける予め決められた順序で変化するビット位置に前記第１のランダムデータの各ビットを挿入する請求項１〜３のうちの１つに記載のテスト回路。
【請求項６】
前記第１及び第２の擬似乱数生成回路のそれぞれは線形フィードバックシフトレジスタを備える請求項１〜５のうちの１つに記載のテスト回路。
【請求項７】
前記比較回路は、前記第１のランダムデータのビットと前記第２のランダムデータの対応するビットとの不一致が、予め決められた時間期間にわたって継続したとき、前記パラレルバスにおいてエラーが生じたと判断する請求項１〜６のうちの１つに記載のテスト回路。
【請求項８】
前記データ転送回路のパラレルバスは、前記第１のデータ幅に等しい個数の信号線と、少なくとも１つの予備の信号線と、を備え、
前記第１のビット位置制御回路は、前記第１のランダムデータ及び前記転送データの各ビットを前記パラレルバスの各ビット位置に割り当てるとき、前記パラレルバスにおいてエラーが生じたビットの個数だけ、前記予備の信号線のビット位置に割り当てる請求項１〜７のうちの１つに記載のテスト回路。
【請求項９】
請求項１〜８のうちの１つに記載のテスト回路を備えるデータ転送回路。
【請求項１０】
請求項９記載のデータ転送回路を備え、前記データ転送回路を介して前記転送データとして画像データを転送する画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送回路のためのテスト回路、そのようなテスト回路を備えたデータ転送回路、及びそのようなデータ転送回路を備えた画像処理装置に関する。
【背景技術】
【０００２】
近年、ＦＰＧＡ及びＡＳＩＣなどの回路の故障を検出する技術への関心が高まっている。特に車載向け製品では、機能安全対応の要求から故障検出機能を実装することが必須である。
【０００３】
回路の故障を検出する技術として、回路の動作開始前に回路にテストパターンを印加して回路の出力値と計算値とを比較すること、特定時間に期待される信号遷移（例えば、転送完了の割り込み）が発生しないことを故障と判断すること、などが既知である。また、回路の動作中に故障を検出することが求められる場合もある。この場合、複数の同じ回路を実装して各回路の出力値を比較することが知られている。
【０００４】
特許文献１及び２は、例示的な回路の故障を検出する技術を開示している。例えば特許文献１は、演算部の一部のビット故障を検出する目的で、画像のブランク期間を利用し、テストパターンによる故障検出を行うことを開示している。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の回路の故障を検出する技術をデータ転送回路に適用すると、以下の問題がある。
【０００６】
回路の動作開始前に回路にテストパターンを印加して回路の出力値と計算値とを比較する場合、データ転送回路の通常動作中に発生する故障を検出できない問題がある。
【０００７】
転送完了の割り込みが発生しないことを故障と判断する場合、データが転送されていないか、転送されるデータ量が想定よりも少ないとき、故障として検出されてしまう問題がある。さらに、この場合、データバス上の特定ビットが故障したことを検出できない問題がある。
【０００８】
複数の同じ回路を実装して各回路の出力値を比較する場合、回路規模が大きくなる問題がある。また、回路を二重化する場合、各回路の出力値の不一致により故障を検出できても、どちらの回路の出力値が正しいか判断できないので、エラーを回避できない問題がある。
【０００９】
本発明の目的は、以上の問題を解決し、回路規模の増大を抑えつつ、データ転送回路の動作中にデータバスの特定ビットにおいて発生するエラーを検出してエラーを回避することができる、データ転送回路のためのテスト回路を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一態様に係るテスト回路によれば、
第１のデータ幅を有するデータを転送するパラレルバスを備えるデータ転送回路のためのテスト回路であって、
前記第１のデータ幅よりも小さい第２のデータ幅を有する第１のランダムデータを生成する第１の擬似乱数生成回路と、
前記第１のランダムデータが入力される第１の入力端子と、前記データ転送回路を介して転送すべき転送データであって、前記第１及び第２のデータ幅の差に等しい第３のデータ幅を有する転送データが入力される第２の入力端子と、を含み、前記パラレルバスにおける所定のビット位置に前記第１のランダムデータの各ビットを挿入するように、前記第１のランダムデータ及び前記転送データの各ビットを前記パラレルバスの各ビット位置に割り当てて前記データ転送回路に出力する第１のビット位置制御回路と、
前記第１のランダムデータと同じ第２のランダムデータを生成する第２の擬似乱数生成回路と、
前記データ転送回路から出力されるデータから、前記第１のランダムデータ及び前記転送データをそれぞれ抽出して出力する第２のビット位置制御回路と、
前記データ転送回路から出力されるデータから、前記第１のランダムデータ及び前記転送データをそれぞれ抽出して出力する第２のビット位置制御回路と、
前記第２のビット位置制御回路によって前記データ転送回路から出力されたデータから抽出された前記第１のランダムデータの各ビットと、前記第２の擬似乱数生成回路によって生成された前記第２のランダムデータの各ビットとを比較することにより、前記パラレルバスにおいてエラーが生じたビットを検出する比較回路と、を備え、
前記第１のビット位置制御回路は、前記転送データの各ビットを前記パラレルバスの各ビット位置に割り当てるとき、前記比較回路の比較結果に基づいて、前記パラレルバスにおいてエラーが生じたビット以外のビット位置に割り当てる。
【発明の効果】
【００１１】
本発明の一態様に係るテスト回路は、回路規模の増大を抑えつつ、データ転送回路の動作中にデータバスの特定ビットにおいて発生するエラーを検出してエラーを回避することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態１に係るテスト回路を適用可能な例示的なデータ転送回路の構成を示すブロック図である。
【図２】図１のデータ転送回路の動作を示すタイミングチャートである。
【図３】実施形態１に係るテスト回路を備えたデータ転送回路の構成を示すブロック図である。
【図４】図３の擬似乱数生成回路１１の構成を示すブロック図である。
【図５】図４の擬似乱数生成回路１１の動作を説明するためのブロック図である。
【図６】図３の擬似乱数生成回路１１の動作を示すタイミングチャートである。
【図７】図３のビット位置制御回路１２によるランダムデータの挿入及びビット位置の割り当てを説明するための図である。
【図８】図３の比較回路１５によるエラーの検出を説明するための図である。
【図９】図３のビット位置制御回路１２によるエラーの回避を説明するための図である。
【図１０】実施形態２に係るテスト回路を備えたデータ転送回路の構成を示すブロック図である。
【図１１】実施形態３に係るテスト回路を備えたデータ転送回路の動作を説明するための図である。
【図１２】実施形態４に係るテスト回路を備えたデータ転送回路の動作を説明するための図である。
【図１３】実施形態５に係る画像処理装置３２の構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施形態について説明する。
【００１４】
実施形態１．
図１は、実施形態１に係るテスト回路を適用可能な例示的なデータ転送回路の構成を示すブロック図である。図１のデータ転送回路は、マルチプレクサ（ＭＵＸ）１及びＤＭＡＣ（Direct Memory Access Controller）２を備える。ＭＵＸ１及びＤＭＡＣ２は、１６ビットのデータ幅を有するデータを転送するパラレルバスを備える。ＭＵＸ１及びＤＭＡＣ２は、画像データを転送する。
【００１５】
信号ｖ＿ｖａｌｉｄは、画像の縦方向の有効期間を示す。信号ｈ＿ｖａｌｉｄは、画像の水平方向（１ライン）の有効期間を示す。信号ｖ＿ｖａｌｉｄ，ｈ＿ｖａｌｉｄはＤＭＡＣ２に入力される。データｄａｔａ＿ｉｎ１，ｄａｔａ＿ｉｎ２は、データ転送回路を介して転送すべき画像データ（転送データ）を示す。データ転送回路を介して転送すべき転送データは、複数の互いに異なるデータ幅を有する。データｄａｔａ＿ｉｎ１は、ＭＵＸ１及びＤＭＡＣ２のバスのデータ幅（１６ビット）よりも小さい１２ビットのデータ幅を有する第１の画像データを示す。データｄａｔａ＿ｉｎ２は、１６ビットのデータ幅を有する第２の画像データを示す。データｄａｔａ＿ｉｎ１，ｄａｔａ＿ｉｎ２はＭＵＸ１に入力される。信号ｓｅｌ＿ｄａｔａは、ｄａｔａ＿ｉｎ１，ｄａｔａ＿ｉｎ２の一方を選択する制御信号である。ＭＵＸ１は、信号ｓｅｌ＿ｄａｔａに応じてデータｄａｔａ＿ｉｎ１，ｄａｔａ＿ｉｎ２の一方を選択し、データｄｉｎとしてＤＭＡＣ２に出力する。ＤＭＡＣ２はＡＸＩバスに接続される。ＡＸＩバスは、データａｘｉ＿ｗｄａｔａ、信号ａｘｉ＿ｗｖａｌｉｄ、及び他のＡＸＩコマンドのための信号線を含む。データａｘｉ＿ｗｄａｔａは、後段の回路への書き込みデータを示す。信号ａｘｉ＿ｗｖａｌｉｄは、データａｘｉ＿ｗｄａｔａが有効であることを示す。
【００１６】
図２は、図１のデータ転送回路の動作を示すタイミングチャートである。図２の例は、１フレームあたりｎラインを含む画像データを３フレームにわたって転送する場合を示す。信号ｖ＿ｖａｌｉｄ，ｈ＿ｖａｌｉｄの両方がハイレベルである区間が、画像データの有効期間を示す。信号ｓｅｌ＿ｄａｔａがローレベルであるとき、データｄａｔａ＿ｉｎ１がデータｄｉｎとして選択され、信号ｓｅｌ＿ｄａｔａがハイレベルであるとき、データｄａｔａ＿ｉｎ２がデータｄｉｎとして選択される。データａｘｉ＿ｗｄａｔａは、データｄｉｎがＤＭＡＣ２を介して転送される時間の分だけ、データｄｉｎに対して遅延し、信号ａｘｉ＿ｗｖａｌｉｄもまた、同じ時間の分だけ、信号ｈ＿ｖａｌｉｄに対して遅延する。データｄａｔａ＿ｉｎ１が選択されているとき、各データｄｉｎ，ａｘｉ＿ｗｄａｔａの下位１２ビットのみが有効な画像データ（有効データ）を示し、それらの上位４ビットはゼロに固定される。図２は３フレーム分のみを示すが、これ以降もデータ転送回路は同様に動作する。
【００１７】
図２の例では、信号ｓｅｌ＿ｄａｔａが１フレーム毎に切り替えられているが、信号ｓｅｌ＿ｄａｔａは他の任意数のフレームを単位として切り替えられてもよい。また、図２の例では、各データｄｉｎ，ａｘｉ＿ｗｄａｔａの上位４ビットがゼロに固定されるが、他の位置のビットがゼロまたは１に固定されてもよい。また、図２の例では、１ライン分の画像データの転送期間を明示する目的で各信号ｈ＿ｖａｌｉｄ，ａｘｉ＿ｗｖａｌｉｄがハイレベルである期間の長さを同じにしているが、信号ａｘｉ＿ｗｖａｌｉｄは異なる所定のバースト長毎に区切られてもよい。
【００１８】
実施形態１は、図１に示すように、異なるデータ幅を有する複数のデータを転送するデータ転送回路において、バスのビット幅よりも小さいデータ幅のデータ（すなわち、データｄａｔａ＿ｉｎ１）を転送する場合に発生するエラーを検出してエラーを回避する。
【００１９】
以下、図３〜図９を参照して、図１のデータ転送回路に対して実施形態１に係るテスト回路を適用する場合について説明する。
【００２０】
図３は、実施形態１に係るテスト回路を備えたデータ転送回路の構成を示すブロック図である。図３のデータ転送回路は、ＭＵＸ１及びＤＭＡＣ２のためのテスト回路として、擬似乱数生成回路１１，１３、ビット位置制御回路１２，１４、及び比較回路１５を備える。
【００２１】
図３のＭＵＸ１及びＤＭＡＣ２は、図１のＭＵＸ１及びＤＭＡＣ２とそれぞれ同様に構成される。
【００２２】
擬似乱数生成回路１１は、信号ｈ＿ｖａｌｉｄがハイレベルであるとき、ＭＵＸ１及びＤＭＡＣ２のバスのデータ幅（１６ビット）よりも小さい４ビットのデータ幅を有する擬似乱数であるランダムデータｓｃｒを生成し、ビット位置制御回路１２に出力する。ランダムデータｓｃｒのデータ幅（４ビット）は、ＭＵＸ１及びＤＭＡＣ２のバスのデータ幅（１６ビット）と、データｄａｔａ＿ｉｎ１のデータ幅（１２ビット）との差に等しい。擬似乱数生成回路１１はさらに、２ビットの擬似乱数である制御信号ｌｆｓｒを生成する。本明細書において、擬似乱数生成回路１１を「第１の擬似乱数生成回路」ともいい、擬似乱数生成回路１１によって生成されるランダムデータｓｃｒを「第１のランダムデータ」ともいう。また、本明細書において、ＭＵＸ１及びＤＭＡＣ２のバスのデータ幅を「第１のデータ幅」ともいい、ランダムデータｓｃｒのデータ幅を「第２のデータ幅」ともいい、データｄａｔａ＿ｉｎ１のデータ幅を「第３のデータ幅」ともいう。
【００２３】
ビット位置制御回路１２は、擬似乱数生成回路１１によって生成されたランダムデータｓｃｒが入力される第１の入力端子と、データｄａｔａ＿ｉｎ１が入力される第２の入力端子と、を含む。ビット位置制御回路１２は、ＭＵＸ１及びＤＭＡＣ２のバスにおける所定のビット位置にランダムデータｓｃｒの各ビットを挿入するように、ランダムデータｓｃｒ及びデータｄａｔａ＿ｉｎ１の各ビットをバスの各ビット位置に割り当ててＭＵＸ１に出力する。ビット位置制御回路１２は、擬似乱数生成回路１１によって生成された制御信号ｌｆｓｒに基づいて、ＭＵＸ１及びＤＭＡＣ２のバスにおけるランダムなビット位置にランダムデータｓｃｒの各ビットを挿入する。本明細書において、ビット位置制御回路１２を「第１のビット位置制御回路」ともいう。
【００２４】
擬似乱数生成回路１３は、信号ａｘｉ＿ｗｖａｌｉｄがハイレベルであるとき、擬似乱数生成回路１１によって生成されたランダムデータｓｃｒと同じランダムデータｓｃｒを生成する。擬似乱数生成回路１３はさらに、信号ａｘｉ＿ｗｖａｌｉｄがハイレベルであるとき、擬似乱数生成回路１１によって生成された制御信号ｌｆｓｒと同じ制御信号ｌｆｓｒを生成する。本明細書において、擬似乱数生成回路１３を「第２の擬似乱数生成回路」ともいい、擬似乱数生成回路１３によって生成されるランダムデータｓｃｒを「第２のランダムデータ」ともいう。
【００２５】
ビット位置制御回路１４は、ＤＭＡＣ２から出力されるデータから、擬似乱数生成回路１１によって生成されたランダムデータｓｃｒと、データｄａｔａ＿ｉｎ１とをそれぞれ抽出して出力する。ビット位置制御回路１４は、擬似乱数生成回路１３によって生成された制御信号ｌｆｓｒに基づいて、ランダムデータｓｃｒの各ビットがＭＵＸ１及びＤＭＡＣ２のバスに挿入されたビット位置を認識する。ビット位置制御回路１４は、例えば、データａｘｉ＿ｗｄａｔａの上位４ビットがランダムデータｓｃｒになり、その下位１２ビットがデータｄａｔａ＿ｉｎ１になるように、データａｘｉ＿ｗｄａｔａの各ビットを再割り当てする。本明細書において、ビット位置制御回路１４を「第２のビット位置制御回路」ともいう。
【００２６】
比較回路１５は、ＤＭＡＣ２から出力されたデータａｘｉ＿ｗｄａｔａから抽出されたランダムデータｓｃｒの各ビット（データａｘｉ＿ｗｄａｔａの上位４ビット）と、擬似乱数生成回路１３によって生成されたランダムデータｓｃｒの各ビットとを比較する。これにより、比較回路１５は、ＭＵＸ１及びＤＭＡＣ２のバスにおいてエラーが生じたビットを検出する。比較回路１５は、エラーフラグを立て、エラーが生じたビットの位置（エラービット位置）をビット位置制御回路１２に通知する。比較回路１５は、エラーフラグを後段の回路に通知してもよい。
【００２７】
ビット位置制御回路１２は、データｄａｔａ＿ｉｎ１の各ビットをバスの各ビット位置に割り当てるとき、比較回路１５から通知されたエラービット位置の情報に基づいて、バスにおいてエラーが生じたビット以外のビット位置に割り当てる。
【００２８】
図４は、図３の擬似乱数生成回路１１の構成を示すブロック図である。図４の擬似乱数生成回路１１は、線形フィードバックシフトレジスタ（ＬＦＳＲ）２１及び排他的論理和回路２２を備える。擬似乱数生成回路１１は、ＬＦＳＲ２１の出力信号の下位２ビットを制御信号ｌｆｓｒとして出力し、ＬＦＳＲ２１の出力信号とゼロ値との排他的論理和（ＸＯＲ）の下位４ビットをランダムデータｓｃｒとして出力する。
【００２９】
図５は、図４の擬似乱数生成回路１１の動作を説明するためのブロック図である。図５の擬似乱数生成回路は、ＬＦＳＲ２１、排他的論理和回路２２、及びシフトレジスタ２３を備える。図５の回路構成は、ＰＣＩ  Ｅｘｐｒｅｓｓなどのシリアル通信回路で使用されるものと同等である。ＬＦＳＲ２１は、生成多項式Ｇ（Ｘ）＝Ｘ１６＋Ｘ５＋Ｘ４＋Ｘ３＋１により擬似乱数を生成する。図５の擬似乱数生成回路は、ＬＦＳＲ２１によって生成された擬似乱数と、入力データ信号との排他的論理和を取ることで、入力データ信号をランダムデータｓｃｒへ変換する。
【００３０】
図４の擬似乱数生成回路１１は、ＭＵＸ１及びＤＭＡＣ２のバスにおいてデータｄａｔａ＿ｉｎ１の転送に使用されないビットをランダムデータに変換することを目的としているので、排他的論理和回路２２の一方の入力端子に入力される信号はゼロに固定される。従って、図４の擬似乱数生成回路１１では、図５のシフトレジスタ２３は不要である。
【００３１】
図６は、図３の擬似乱数生成回路１１の動作を示すタイミングチャートである。信号ｈ＿ｖａｌｉｄがハイレベルである期間において、ＬＦＳＲ２１の出力信号ｌｆｓｒ［１５：０］は、クロックｃｌｋごとに更新される。従って、この期間において、制御信号ｌｆｓｒ及びランダムデータｓｃｒは１クロック毎に変化する。信号ｈ＿ｖａｌｉｄがローレベルである期間において、ＬＦＳＲ２１の出力信号ｌｆｓｒ［１５：０］は、信号ｈ＿ｖａｌｉｄがハイレベルである期間における最後の値を保持し、ランダムデータｓｃｒはゼロに初期化される。
【００３２】
擬似乱数生成回路１３もまた、擬似乱数生成回路１１と同様に構成される。ただし、擬似乱数生成回路１３は、信号ｈ＿ｖａｌｉｄに代えて、信号ａｘｉ＿ｗｖａｌｉｄに応じて動作する。
【００３３】
図７は、図３のビット位置制御回路１２によるランダムデータの挿入及びビット位置の割り当てを説明するための図である。ビット位置制御回路１２は、初期状態において、ＭＵＸ１及びＤＭＡＣ２のバスの下位１２ビットにデータｄａｔａ＿ｉｎ１（有効データ）を割り当て、バスの上位４ビットをゼロに固定する。擬似乱数生成回路１１は、４ビットのランダムデータｓｃｒを生成する。続いて、ビット位置制御回路１２は、擬似乱数生成回路１１によって生成されたランダムデータｓｃｒを、ＭＵＸ１及びＤＭＡＣ２のバスの上位４ビットへ割り当てる。ビット位置制御回路１２は、制御信号ｌｆｓｒに基づいて、ＭＵＸ１及びＤＭＡＣ２のバスにおけるランダムなビット位置にランダムデータｓｃｒの各ビットを割り当てる。制御信号ｌｆｓｒ＝０であるとき、ランダムデータｓｃｒの各ビットをバスのビット位置［１５：１２］に割り当てる。制御信号ｌｆｓｒ＝１であるとき、ランダムデータｓｃｒの各ビットをバスのビット位置［１１：８］に割り当てる。制御信号ｌｆｓｒ＝２であるとき、ランダムデータｓｃｒの各ビットをバスのビット位置［７：４］に割り当てる。制御信号ｌｆｓｒ＝３であるとき、ランダムデータｓｃｒの各ビットをバスのビット位置［３：０］に割り当てる。
【００３４】
図８は、図３の比較回路１５によるエラーの検出を説明するための図である。図８は、図７における制御信号ｌｆｓｒ＝１の場合を示す。擬似乱数生成回路１１，１３は、入力データ信号とＬＦＳＲの初期値とが同じであれば、互いに同じランダムデータｓｃｒを生成し、互いに同じ制御信号ｌｆｓｒを生成する。従って、ビット位置制御回路１４及び比較回路１５は、擬似乱数生成回路１３によって生成された制御信号ｌｆｓｒに基づいて、ランダムデータｓｃｒの各ビットがＭＵＸ１及びＤＭＡＣ２のバスに挿入されたビット位置を認識する。また、比較回路１５は、データａｘｉ＿ｗｄａｔａから抽出されたランダムデータｓｃｒの各ビットと、擬似乱数生成回路１３によって生成されたランダムデータｓｃｒの各ビットとを比較する。データａｘｉ＿ｗｄａｔａがエラーを含まない場合、データａｘｉ＿ｗｄａｔａから抽出されたランダムデータｓｃｒの各ビットと、擬似乱数生成回路１３によって生成されたランダムデータｓｃｒの各ビットとは互いに一致するはずである。しかしながら、実際のデータａｘｉ＿ｗｄａｔａから抽出されたランダムデータｓｃｒのビットが、擬似乱数生成回路１３によって生成されたランダムデータｓｃｒの対応するビットに対して一致しない場合、このビットにおいてエラーが生じたことがわかる。図８の例では、ビット１１が不一致であるので、ビット１１にエラーフラグを立て、当該ビットにおいてエラーが生じたことを示す。これにより、ＭＵＸ１及びＤＭＡＣ２のバスにおいてエラーが生じたビットを検出する。
【００３５】
図７に示す制御信号ｌｆｓｒ＝０〜３にそれぞれ対応する４種類のビット位置でランダムデータｓｃｒを転送することにより、ＭＵＸ１及びＤＭＡＣ２のバスの１６個のビット位置すべてにおいてエラーを検出することができる。
【００３６】
図９は、図３のビット位置制御回路１２によるエラーの回避を説明するための図である。図９は、図７における制御信号ｌｆｓｒ＝０の場合、かつ、ＭＵＸ１及びＤＭＡＣ２のバスのビット１１においてエラーが生じた場合を示す。ビット位置制御回路１２は、データｄａｔａ＿ｉｎ１（有効データ）の各ビットをバスの各ビット位置に割り当てるとき、比較回路１５から通知されたエラービット位置の情報に基づいて、バスにおいてエラーが生じたビット１１以外のビット位置に割り当てる。図９の例では、有効データは、ビット１１に代えてビット１２に割り当てられる。また、ビット位置制御回路１２は、ランダムデータｓｃｒのビット数を４ビットから３ビットに減らして動作を継続する。
【００３７】
図３のテスト回路を備えたデータ転送回路によれば、回路規模の増大を抑えつつ、データ転送回路の動作中にデータバスの特定ビットにおいて発生するエラーを検出してエラーを回避することができる。
【００３８】
ＭＵＸ１及びＤＭＡＣ２を介してデータｄａｔａ＿ｉｎ２が転送されるとき、図３のテスト回路は、ＭＵＸ１及びＤＭＡＣ２のバスの特定ビットにおいて発生するエラーの検出及び回避を行わない。このとき、データ転送回路の前段及び後段の回路が何らかの誤り検出及び訂正を行う。従って、転送データがデータｄａｔａ＿ｉｎ１のデータ幅（１２ビット）よりも大きいデータ幅を有するとき、ランダムデータｓｃｒはＭＵＸ１及びＤＭＡＣ２を介して転送されない。
【００３９】
ビット位置制御回路１２は、ＭＵＸ１及びＤＭＡＣ２のバスにおけるランダムなビット位置にランダムデータｓｃｒの各ビットを挿入することに代えて、バスにおける予め決められた順序で変化するビット位置にランダムデータｓｃｒの各ビットを挿入してもよい。
【００４０】
図３では、ＤＭＡＣ２の前段にＭＵＸ１を設けているが、ＭＵＸ１に代えて、特定のフレームにおいて下位又は上位の所定数のビットをゼロに固定して出力する回路をＤＭＡＣ２の前段に設けてもよい。
【００４１】
実施形態２．
図１０は、実施形態２に係るテスト回路を備えたデータ転送回路の構成を示すブロック図である。図３のデータ転送回路はＭＵＸ１を備え、データ転送回路を介して転送すべき転送データは複数の互いに異なるデータ幅を有していたが、図１０のデータ転送回路はＭＵＸを持たず、転送データのデータ幅は固定値である。図１０のテスト回路は、擬似乱数生成回路１１，１３、ビット位置制御回路１２Ａ，１４、比較回路１５、及び下位ビット切り捨て回路１６を備える。図１０のテスト回路は、図３のビット位置制御回路１２に代えてビット位置制御回路１２Ａを備え、下位ビット切り捨て回路１６をさらに備える。
【００４２】
データｄａｔａ＿ｉｎは、ＤＭＡＣ２のバスのデータ幅（１６ビット）と同じデータ幅を有する画像データを示す。
【００４３】
下位ビット切り捨て回路１６は、ビット位置制御回路１２Ａの前段に設けられる。下位ビット切り捨て回路１６には、データｄａｔａ＿ｉｎによって表される値（例えば、画像データの輝度）に係る予め決められたしきい値が設定される。下位ビット切り捨て回路１６は、予め決められたしきい値よりも大きい値を表すデータｄａｔａ＿ｉｎが入力されたとき、入力されたデータｄａｔａ＿ｉｎからランダムデータｓｃｒのデータ幅に等しいビット数（４ビット）の下位ビットを切り捨てる。例えば、データｄａｔａ＿ｉｎが画像データの輝度を示す場合、高い輝度を表すデータの下位の数ビットの値は無視してもよい。従って、下位ビット切り捨て回路１６は、擬似乱数生成回路１１によって生成されたランダムデータｓｃｒを挿入するために、これらを無視してもよいビットを切り捨ててゼロに固定し、ビット位置制御回路１２Ａに出力する。
【００４４】
以後、ビット位置制御回路１２Ａ，１４、擬似乱数生成回路１３、及び比較回路１５の動作は、実施形態１で説明したものと同様である。
【００４５】
図３のテスト回路を備えたデータ転送回路では、ＤＭＡＣ２を介してランダムデータｓｃｒを転送するために、ＤＭＡＣ２のバスのデータ幅（１６ビット）よりも小さい１２ビットのデータ幅を有するデータｄａｔａ＿ｉｎ１を用いた。一方、図１０のテスト回路を備えたデータ転送回路では、ランダムデータｓｃｒを転送するために、データｄａｔａ＿ｉｎの無視してもよいビットを切り捨てる。
【００４６】
ビット位置制御回路１２Ａは、データｄａｔａ＿ｉｎの各ビットをバスの各ビット位置に割り当てるとき、データｄａｔａ＿ｉｎの無視してもよい下位ビットを、バスにおいてエラーが生じたビット１１のビット位置に割り当てる。
【００４７】
図１０のテスト回路を備えたデータ転送回路によれば、回路規模の増大を抑えつつ、データ転送回路の動作中にデータバスの特定ビットにおいて発生するエラーを検出してエラーを回避することができる。
【００４８】
図１０の例では、下位ビット切り捨て回路１６によりデータｄａｔａ＿ｉｎの下位４ビットがゼロに固定されるが、他の位置のビットがゼロまたは１に固定されてもよい。
【００４９】
実施形態３．
図１１は、実施形態３に係るテスト回路を備えたデータ転送回路の動作を説明するための図である。実施形態３において、比較回路１５は、ランダムデータｓｃｒのビットの不一致が予め決められた時間期間にわたって継続したとき、バスにおいてエラーが生じたと判断する。
【００５０】
比較回路１５は、１６ビットのフラグ列ｗａｒ＿ｆｌａｇ，ｅｒｒ＿ｆｌａｇを備える。フラグ列ｗａｒ＿ｆｌａｇ，ｅｒｒ＿ｆｌａｇの各ビットは、バスの各ビットにそれぞれ対応する。
【００５１】
図１１の例では、サイクル１，３で、データａｘｉ＿ｗｄａｔａのビット１４においてランダムデータｓｃｒのビットの不一致が発生している。比較回路１５は、バスのあるビットにおいてランダムデータｓｃｒのビットの１回目の不一致が発生したとき、フラグ列ｗａｒ＿ｆｌａｇの対応するビットにランダムデータｓｃｒのビットの不一致が発生したことを示すフラグを立てる。比較回路１５は、フラグ列ｗａｒ＿ｆｌａｇにおいてフラグが立っているビットにおいて再びランダムデータｓｃｒのビットの不一致が発生したとき、バスにおいてエラーが生じたと判断し、フラグ列ｅｒｒ＿ｆｌａｇの対応するビットにフラグを立てる。
【００５２】
実施形態３によれば、ランダムデータｓｃｒのビットの不一致が１回だけではなく、２回連続で発生したとき、バスにおいてエラーが生じたと判断するので、ノイズなどに起因する一時的なエラーを無視し、データ転送回路の故障を確実に検出することができる。
【００５３】
比較回路１５は、ランダムデータｓｃｒのビットの不一致が３回以上にわたって連続して発生したときに、バスにおいてエラーが生じたと判断してもよい。
【００５４】
実施形態４．
図１２は、実施形態４に係るテスト回路を備えたデータ転送回路の動作を説明するための図である。データ転送回路のバスは、実施形態１〜３に係るデータ転送回路のバスのデータ幅に等しい個数の信号線と、少なくとも１つの予備の信号線と、を備える。図１２の例では、バスは、４ビットの予備の信号線（冗長ビット）を備える。ビット位置制御回路１２は、ランダムデータｓｃｒ及びデータｄａｔａ＿ｉｎ１（又はｄａｔａ＿ｉｎ）の各ビットをバスの各ビット位置に割り当てるとき、バスにおいてエラーが生じたビットの個数だけ、予備の信号線のビット位置に割り当てる。
【００５５】
バスに予備の信号線を付加することで、故障が発生したときには冗長ビットをランダムデータｓｃｒを転送するためのビットとして利用できるので、図９のようにランダムデータｓｃｒのビット数が減ることがない。
【００５６】
冗長ビットを用いて、ランダムデータｓｃｒのビット数を５ビット以上に増やしてもよい。
【００５７】
実施形態５．
図１３は、実施形態５に係る画像処理装置３２の構成を示すブロック図である。画像処理装置３２は、カメラ３１で取得した画像データを処理してディスプレイ３３に出力する。画像処理装置３２は、入力回路４１、データ転送回路４２，４４、処理回路４３、出力回路４５、及びテスト回路４６，４７を備える。データ転送回路４２，４４は、実施形態１〜４のデータ転送回路と同様に構成される。テスト回路４６，４７は、実施形態１〜４のテスト回路と同様に構成される。画像処理装置３２は、データ転送回路４２，４４を介して転送データとして画像データを転送する。
【００５８】
図１３の画像処理装置３２によれば、回路規模の増大を抑えつつ、データ転送回路の動作中にデータバスの特定ビットにおいて発生するエラーを検出してエラーを回避することができる。
【００５９】
本発明の態様に係るテスト回路、データ転送回路、及び画像処理装置は、以下の構成を備えたことを特徴とする。
【００６０】
第１の態様に係るテスト回路は、
第１のデータ幅を有するデータを転送するパラレルバスを備えるデータ転送回路のためのテスト回路であって、
前記第１のデータ幅よりも小さい第２のデータ幅を有する第１のランダムデータを生成する第１の擬似乱数生成回路と、
前記第１のランダムデータが入力される第１の入力端子と、前記データ転送回路を介して転送すべき転送データであって、前記第１及び第２のデータ幅の差に等しい第３のデータ幅を有する転送データが入力される第２の入力端子と、を含み、前記パラレルバスにおける所定のビット位置に前記第１のランダムデータの各ビットを挿入するように、前記第１のランダムデータ及び前記転送データの各ビットを前記パラレルバスの各ビット位置に割り当てて前記データ転送回路に出力する第１のビット位置制御回路と、
前記第１のランダムデータと同じ第２のランダムデータを生成する第２の擬似乱数生成回路と、
前記データ転送回路から出力されるデータから、前記第１のランダムデータ及び前記転送データをそれぞれ抽出して出力する第２のビット位置制御回路と、
前記データ転送回路から出力されるデータから、前記第１のランダムデータ及び前記転送データをそれぞれ抽出して出力する第２のビット位置制御回路と、
前記第２のビット位置制御回路によって前記データ転送回路から出力されたデータから抽出された前記第１のランダムデータの各ビットと、前記第２の擬似乱数生成回路によって生成された前記第２のランダムデータの各ビットとを比較することにより、前記パラレルバスにおいてエラーが生じたビットを検出する比較回路と、を備え、
前記第１のビット位置制御回路は、前記転送データの各ビットを前記パラレルバスの各ビット位置に割り当てるとき、前記比較回路の比較結果に基づいて、前記パラレルバスにおいてエラーが生じたビット以外のビット位置に割り当てる。
【００６１】
第２の態様に係るテスト回路は、第１の態様に係るテスト回路において、
前記データ転送回路を介して転送すべき転送データは、複数の互いに異なるデータ幅を有し、
前記転送データが前記第３のデータ幅よりも大きいデータ幅を有するとき、前記第１のビット位置制御回路は前記第１のランダムデータを前記データ転送回路に入力しない。
【００６２】
第３の態様に係るテスト回路は、第１の態様に係るテスト回路において、
前記テスト回路は、前記第１のデータ幅を有し、かつ、予め決められたしきい値よりも大きい値を表すデータが入力されたとき、前記入力されたデータから前記第２のデータ幅に等しいビット数の下位ビットを切り捨てて前記第１のビット位置制御回路の第２の入力端子に出力する下位ビット切り捨て回路をさらに備える。
【００６３】
第４の態様に係るテスト回路は、第１〜第３のうちの１つの態様に係るテスト回路において、
前記第１のビット位置制御回路は、前記パラレルバスにおけるランダムなビット位置に前記第１のランダムデータの各ビットを挿入する。
【００６４】
第５の態様に係るテスト回路は、第１〜第３のうちの１つの態様に係るテスト回路において、
前記第１のビット位置制御回路は、前記パラレルバスにおける予め決められた順序で変化するビット位置に前記第１のランダムデータの各ビットを挿入する。
【００６５】
第６の態様に係るテスト回路は、第１〜第５のうちの１つの態様に係るテスト回路において、
前記第１及び第２の擬似乱数生成回路のそれぞれは線形フィードバックシフトレジスタを備える。
【００６６】
第７の態様に係るテスト回路は、第１〜第６のうちの１つの態様に係るテスト回路において、
前記比較回路は、前記第１のランダムデータのビットと前記第２のランダムデータの対応するビットとの不一致が、予め決められた時間期間にわたって継続したとき、前記パラレルバスにおいてエラーが生じたと判断する。
【００６７】
第８の態様に係るテスト回路は、第１〜第７のうちの１つの態様に係るテスト回路において、
前記データ転送回路のパラレルバスは、前記第１のデータ幅に等しい個数の信号線と、少なくとも１つの予備の信号線と、を備え、
前記第１のビット位置制御回路は、前記第１のランダムデータ及び前記転送データの各ビットを前記パラレルバスの各ビット位置に割り当てるとき、前記パラレルバスにおいてエラーが生じたビットの個数だけ、前記予備の信号線のビット位置に割り当てる。
【００６８】
第９の態様に係るデータ転送回路は、第１〜第８のうちの１つの態様に係るテスト回路を備える。
【００６９】
第１０の態様に係る画像処理装置は、第９の態様に係るデータ転送回路を備え、前記データ転送回路を介して前記転送データとして画像データを転送する。
【符号の説明】
【００７０】
１…マルチプレクサ（ＭＵＸ）、
２…ＤＭＡＣ、
１１，１３…擬似乱数生成回路、
１２，１２Ａ，１４…ビット位置制御回路、
１５…比較回路、
１６…下位ビット切り捨て回路、
２１…線形フィードバックシフトレジスタ（ＬＦＳＲ）、
２２…排他的論理和回路、
２３…シフトレジスタ、
３１…カメラ、
３２…画像処理装置、
３３…ディスプレイ、
４１…入力回路、
４２，４４…データ転送回路、
４３…処理回路、
４５…出力回路、
４６，４７…テスト回路。
【先行技術文献】
【特許文献】
【００７１】
【特許文献１】特開２００９−１１１５４６号公報
【特許文献２】特許第５２５１０８６号公報
【図１】
2017203753.tif 000003
【図２】
2017203753.tif 000004
【図３】
2017203753.tif 000005
【図４】
2017203753.tif 000006
【図５】
2017203753.tif 000007
【図６】
2017203753.tif 000008
【図７】
2017203753.tif 000009
【図８】
2017203753.tif 000010
【図９】
2017203753.tif 000011
【図１０】
2017203753.tif 000012
【図１１】
2017203753.tif 000013
【図１２】
2017203753.tif 000014
【図１３】
2017203753.tif 000015