(57)【要約】      （修正有）【課題】クロックラインのおおもとのバッファにソフトエラーが生じてもデジタル回路の動作が正常に保たれる小型化された多重化回路を提供する。【解決手段】多重化回路１は、第１クロック信号ｃｌｋ１とイネーブル信号ｅｎとに基づいて、第２クロック信号ｃｌｋ３を生成する信号生成回路５０と、前記イネーブル信号ｅｎが有効なときのみ、前記信号生成回路５０の同一の１つの端子から出力され分配された前記第２クロック信号ｃｌｋ３に基づいて、動作可能な複数のデジタル回路１０、２０、３０と、を備える。【選択図】図１
2020136815.tif 000002
【特許請求の範囲】
【請求項１】
第１クロック信号とイネーブル信号とに基づいて、第２クロック信号を生成する信号生成回路と、
前記イネーブル信号が有効なときのみ、前記信号生成回路の同一の１つの端子から出力され分配された前記第２クロック信号に基づいて、動作可能な複数のデジタル回路と、
を備える多重化回路。
【請求項２】
前記第１クロック信号の位相を調整し、位相を調整した後の前記第１クロック信号を前記信号生成回路に出力する第１位相調整回路、
を備え、
前記信号生成回路は、
位相を調整した後の前記第１クロック信号と前記イネーブル信号とに基づいて、前記第２クロック信号を生成する、
請求項１に記載の多重化回路。
【請求項３】
前記信号生成回路は、
Ｄフリップフロップであり、
位相が調整された後の前記第１クロック信号と前記イネーブル信号とを入力し、
位相が調整された後の前記第１クロック信号に基づいて、前記第２クロック信号として前記イネーブル信号を生成する、
請求項２に記載の多重化回路。
【請求項４】
前記イネーブル信号の位相を調整し、位相を調整した後の前記イネーブル信号を前記信号生成回路に出力する第２位相調整回路、
を備え、
前記信号生成回路は、
位相を調整した後の前記イネーブル信号と前記第１クロック信号とに基づいて、前記第２クロック信号を生成する、
請求項１に記載の多重化回路。
【請求項５】
前記信号生成回路は、
ＡＮＤ回路を含み、
位相が調整された後の前記イネーブル信号と前記第１クロック信号に基づく信号とを入力し、
前記第１クロック信号に基づいて、前記第２クロック信号として位相が調整された後の前記イネーブル信号を生成する、
請求項４に記載の多重化回路。
【請求項６】
複数の前記デジタル回路が出力するデータについて、多数決の判定を行う多数決判定回路、
を備える請求項１から請求項５の何れか一項に記載の多重化回路。
【請求項７】
前記多数決判定回路による判定結果に基づいて、複数の前記デジタル回路が出力するデータの中から１つを選択するセレクタ、
を備える請求項６に記載の多重化回路。
【請求項８】
前記セレクタは、
複数の前記デジタル回路が出力するデータの中から選択した１つを出力する、
請求項７に記載の多重化回路。
【請求項９】
イネーブル信号が有効なときのみ、信号生成回路の同一の１つの端子から出力され分配された第３クロック信号に基づいて、動作可能な複数のデジタル回路を備える多重化回路による処理方法であって、
第４クロック信号と前記イネーブル信号とに基づいて、前記第３クロック信号を生成すること、
を含む多重化回路による処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多重化回路、及び、多重化回路による処理方法に関する。
【背景技術】
【０００２】
中性子などの放射線は、デジタル回路を構成する半導体集積回路においてソフトエラーを生じさせることが知られている。半導体集積回路がフリップフロップを含み、半導体集積回路内のクロックラインのおおもとのバッファにおいてソフトエラーによるＳＥＴ（Ｓｉｎｇｌｅ  Ｅｖｅｎｔ  Ｔｒａｎｓｉｅｎｔ）が発生する場合、そのクロックラインに接続されているすべてのフリップフロップが誤動作を引き起こしてしまう。
特許文献１には、関連する技術として、フリップフロップにソフトエラーが生じてもフリップフロップの出力を正常に保つ多数決回路に関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１８８２０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、クロックラインのおおもとのバッファにソフトエラーが生じてもデジタル回路の動作が正常に保たれる多重化回路では、より小型化されることが要求されている。
【０００５】
本発明の各態様は、上記の課題を解決することのできる多重化回路、及び、多重化回路による処理方法を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の一態様によれば、多重化回路は、第１クロック信号とイネーブル信号とに基づいて、第２クロック信号を生成する信号生成回路と、前記イネーブル信号が有効なときのみ、前記信号生成回路の同一の１つの端子から出力され分配された前記第２クロック信号に基づいて、動作可能な複数のデジタル回路と、を備える。
【０００７】
上記目的を達成するために、本発明の別の態様によれば、多重化回路による処理方法は、イネーブル信号が有効なときのみ、信号生成回路の同一の１つの端子から出力され分配された第３クロック信号に基づいて、動作可能な複数のデジタル回路を備える多重化回路による処理方法であって、第４クロック信号と前記イネーブル信号とに基づいて、前記第３クロック信号を生成すること、を含む。
【発明の効果】
【０００８】
本発明の各態様によれば、クロックラインのおおもとのバッファにソフトエラーが生じてもデジタル回路の動作が正常に保たれる小型化された多重化回路を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態による多重化回路の構成を示す図である。
【図２】本発明の一実施形態による多重化回路の処理フローを示す図である。
【図３】本発明の一実施形態による多重化回路における信号の一例を示す図である。
【図４】本発明の実施形態による最小構成の多重化回路を示す図である。
【図５】本発明の実施形態による最小構成の多重化回路の処理フローを示す図である。
【図６】本発明の別の実施形態による多重化回路の構成を示す図である。
【図７】本発明の別の実施形態による多重化回路の構成を示す図である。
【図８】本発明の別の実施形態による多重化回路における信号の一例を示す図である。
【図９】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら実施形態について詳しく説明する。
＜実施形態＞
本発明の一実施形態による多重化回路１は、多重化するデジタル回路について、データライン及び１つのクロックラインにイネーブル制御を付加し、クロック信号が入力されてもイネーブル信号が無効であればデータを保持させることができるデジタル回路を含む多重化回路である。そのため、多重化回路１は、クロックラインのおおもとのバッファにソフトエラーが生じても、そのソフトエラーによるデジタル回路の誤動作の確率を低減させることができる。
なお、本発明の一実施形態では、デジタル回路として３重化されたフリップフロップを例に挙げて多重化回路１を説明する。しかしながら、本発明の一実施形態で説明する技術は、フリップフロップ以外のすべての多重化回路に適用できるものである。
【００１１】
多重化回路１は、図１に示すように、第１端子Ｔ１、第２端子Ｔ２、第３端子Ｔ３、第４端子Ｔ４、第５端子Ｔ５、第６端子Ｔ６を備える。
多重化回路１の第１端子Ｔ１は、多重化回路１の第１の入力端子である。第１端子Ｔ１は、第１入力データｄｉ１を受ける端子である。
多重化回路１の第２端子Ｔ２は、多重化回路１の第２の入力端子である。第２端子Ｔ２は、第２入力データｄｉ２を受ける端子である。
多重化回路１の第３端子Ｔ３は、多重化回路１の第３の入力端子である。第３端子Ｔ３は、第３入力データｄｉ３を受ける端子である。
多重化回路１の第４端子Ｔ４は、多重化回路１の第４の入力端子である。第４端子Ｔ４は、イネーブル信号ｅｎを受ける端子である。
多重化回路１の第５端子Ｔ５は、多重化回路１の第５の入力端子である。第５端子Ｔ５は、クロック信号ｃｌｋ１（第１クロック信号の一例、第４クロック信号の一例）を受ける端子である。
多重化回路１の第６端子Ｔ６は、多重化回路１の出力端子である。第６端子Ｔ６は、多重化回路１の出力データを出力する端子である。
【００１２】
多重化回路１は、図１に示すように、第１フリップフロップ１０（イネーブル信号が有効なときのみ、第２クロック信号に基づいて、動作可能なデジタル回路の一例）、第２フリップフロップ２０（イネーブル信号が有効なときのみ、第２クロック信号に基づいて、動作可能なデジタル回路の一例）、第３フリップフロップ３０（イネーブル信号が有効なときのみ、第２クロック信号に基づいて、動作可能なデジタル回路の一例）、位相調整回路４０（第１位相調整回路の一例）、クロック信号生成回路５０（第１クロック信号とイネーブル信号とに基づいて第２クロック信号を生成する信号生成回路の一例）、多数決判定回路６０、セレクタ７０を備える。
【００１３】
第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれは、データ保持機能付きのフリップフロップである。第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれは、クロック信号が入力されてもイネーブル信号が無効であればデータを保持させることができる。第１フリップフロップ１０は、データｄｏ１を出力する。第２フリップフロップ２０は、データｄｏ２を出力する。第３フリップフロップ３０は、データｄｏ３を出力する。
第１フリップフロップ１０は、第１端子、第２端子、第３端子、第４端子を備える。
第２フリップフロップ２０は、第１端子、第２端子、第３端子、第４端子を備える。
第３フリップフロップ３０は、第１端子、第２端子、第３端子、第４端子を備える。
【００１４】
位相調整回路４０は、クロック信号ｃｌｋ１の位相を調整する回路である。
具体的には、第１フリップフロップ１０がクロック信号生成回路５０から受ける信号ｃｌｋ３（第２クロック信号の一例、第３クロック信号の一例）に応じて第１入力データｄｉ１を保持でき、第２フリップフロップ２０がクロック信号生成回路５０から受ける信号ｃｌｋ３に応じて第２入力データｄｉ２を保持でき、かつ第３フリップフロップ３０がクロック信号生成回路５０から受ける信号ｃｌｋ３に応じて第３入力データｄｉ３を保持できるように、位相調整回路４０は、クロック信号ｃｌｋ１の位相を調整し、信号ｃｌｋ２（第１クロック信号の一例）を生成する。
位相調整回路４０は、第１端子、第２端子を備える。
【００１５】
クロック信号生成回路５０は、位相調整回路４０から受ける信号ｃｌｋ２に応じて、第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれに、イネーブル信号ｅｎを出力する回路である。クロック信号生成回路５０は、例えば、Ｄフリップフロップである。
クロック信号生成回路５０は、第１端子、第２端子、第３端子を備える。
【００１６】
多数決判定回路６０は、第１フリップフロップ１０が出力するデータｄｏ１、第２フリップフロップ２０が出力するデータｄｏ２、第３フリップフロップ３０が出力するデータｄｏ３のそれぞれを比較する。多数決判定回路６０は、比較結果に基づいて、第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれが出力するデータについて、多数決の判定を行う（多数決をとる）。多数決判定回路６０は、判定結果ｒｓｌｔ（多数決をとった結果、最も多いデータ）をセレクタ７０に出力する。
多数決判定回路６０は、第１端子、第２端子、第３端子、第４端子を備える。
なお、多数決判定回路６０は、上述の多数決の処理を含む必要な処理を行うことができる回路であれば、どのような回路であってもよい。
【００１７】
セレクタ７０は、多数決判定回路６０の判定結果ｒｓｌｔに基づいて、第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれから受けた複数のデータの中から１つのデータを選択する。セレクタ７０は、選択したデータ（データｄｏ１、データｄｏ２、データｄｏ３のいずれか）を出力する。
セレクタ７０は、第１端子、第２端子、第３端子、第４端子、第５端子を備える。
【００１８】
第１フリップフロップ１０の第１端子は、多重化回路１の第１端子Ｔ１に接続される。
第２フリップフロップ２０の第１端子は、多重化回路１の第２端子Ｔ２に接続される。
第３フリップフロップ３０の第１端子は、多重化回路１の第３端子Ｔ３に接続される。
第１フリップフロップ１０の第２端子は、第２フリップフロップ２０の第２端子、第３フリップフロップ３０の第２端子、クロック信号生成回路５０の第１端子に接続される。第１フリップフロップ１０の第２端子、第２フリップフロップ２０の第２端子、第３フリップフロップ３０の第２端子、クロック信号生成回路５０の第１端子のそれぞれは、多重化回路１の第４端子Ｔ４に接続される。
位相調整回路４０の第１端子は、多重化回路１の第５端子Ｔ５に接続される。
セレクタ７０の第５端子は、多重化回路１の第６端子Ｔ６に接続される。
【００１９】
第１フリップフロップ１０の第３端子は、第２フリップフロップ２０の第３端子、第３フリップフロップ３０の第３端子、クロック信号生成回路５０の第２端子に接続される。
第１フリップフロップ１０の第４端子は、セレクタ７０の第１端子、多数決判定回路６０の第１端子に接続される。
第２フリップフロップ２０の第４端子は、セレクタ７０の第２端子、多数決判定回路６０の第２端子に接続される。
第３フリップフロップ３０の第４端子は、セレクタ７０の第３端子、多数決判定回路６０の第３端子に接続される。
位相調整回路４０の第２端子は、クロック信号生成回路５０の第３端子に接続される。
多数決判定回路６０の第４端子は、セレクタ７０の第４端子に接続される。
【００２０】
第１フリップフロップ１０は、図１に示すように、マルチプレクサ１０１、Ｄフリップフロップ１０２を備える。
マルチプレクサ１０１は、第１端子、第２端子、第３端子、第４端子を備える。
Ｄフリップフロップ１０２は、第１端子、第２端子、第３端子を備える。
【００２１】
マルチプレクサ１０１の第１端子は、マルチプレクサ１０１の第１の入力端子である。
マルチプレクサ１０１の第２端子は、マルチプレクサ１０１の第２の入力端子である。
マルチプレクサ１０１の第３端子は、マルチプレクサ１０１の第３の入力端子である。
マルチプレクサ１０１の第４端子は、マルチプレクサ１０１の出力端子である。
Ｄフリップフロップ１０２の第１端子は、Ｄフリップフロップ１０２の第１の入力端子である。
Ｄフリップフロップ１０２の第２端子は、Ｄフリップフロップ１０２の第２の入力端子である。
Ｄフリップフロップ１０２の第３端子は、Ｄフリップフロップ１０２の出力端子である。
【００２２】
マルチプレクサ１０１の第１端子は、Ｄフリップフロップ１０２の第２端子に接続される。
マルチプレクサ１０１の第４端子は、Ｄフリップフロップ１０２の第１端子に接続される。
マルチプレクサ１０１の第２端子は、第１フリップフロップ１０の第１端子に接続される。
マルチプレクサ１０１の第３端子は、第１フリップフロップ１０の第２端子に接続される。
Ｄフリップフロップ１０２の第３端子は、第１フリップフロップ１０の第３端子に接続される。
マルチプレクサ１０１の第１端子、及びＤフリップフロップ１０２の第２端子は、第１フリップフロップ１０の第４端子に接続される。
【００２３】
第２フリップフロップ２０は、図１に示すように、第１フリップフロップ１０と同様に、マルチプレクサ２０１、Ｄフリップフロップ２０２を備える。
マルチプレクサ２０１は、第１端子、第２端子、第３端子、第４端子を備える。
Ｄフリップフロップ２０２は、第１端子、第２端子、第３端子を備える。
【００２４】
マルチプレクサ２０１の第１端子は、マルチプレクサ２０１の第１の入力端子である。
マルチプレクサ２０１の第２端子は、マルチプレクサ２０１の第２の入力端子である。
マルチプレクサ２０１の第３端子は、マルチプレクサ２０１の第３の入力端子である。
マルチプレクサ２０１の第４端子は、マルチプレクサ２０１の出力端子である。
Ｄフリップフロップ２０２の第１端子は、Ｄフリップフロップ２０２の第１の入力端子である。
Ｄフリップフロップ２０２の第２端子は、Ｄフリップフロップ２０２の第２の入力端子である。
Ｄフリップフロップ２０２の第３端子は、Ｄフリップフロップ２０２の出力端子である。
【００２５】
マルチプレクサ２０１の第１端子は、Ｄフリップフロップ２０２の第２端子に接続される。
マルチプレクサ２０１の第４端子は、Ｄフリップフロップ２０２の第１端子に接続される。
マルチプレクサ２０１の第２端子は、第２フリップフロップ２０の第１端子に接続される。
マルチプレクサ２０１の第３端子は、第２フリップフロップ２０の第２端子に接続される。
Ｄフリップフロップ２０２の第３端子は、第２フリップフロップ２０の第３端子に接続される。
マルチプレクサ２０１の第１端子、及びＤフリップフロップ２０２の第２端子は、第２フリップフロップ２０の第４端子に接続される。
【００２６】
第３フリップフロップ３０は、図１に示すように、第１フリップフロップ１０と同様に、マルチプレクサ３０１、Ｄフリップフロップ３０２を備える。
マルチプレクサ３０１は、第１端子、第２端子、第３端子、第４端子を備える。
Ｄフリップフロップ３０２は、第１端子、第２端子、第３端子を備える。
【００２７】
マルチプレクサ３０１の第１端子は、マルチプレクサ３０１の第１の入力端子である。
マルチプレクサ３０１の第２端子は、マルチプレクサ３０１の第２の入力端子である。
マルチプレクサ３０１の第３端子は、マルチプレクサ３０１の第３の入力端子である。
マルチプレクサ３０１の第４端子は、マルチプレクサ３０１の出力端子である。
Ｄフリップフロップ３０２の第１端子は、Ｄフリップフロップ３０２の第１の入力端子である。
Ｄフリップフロップ３０２の第２端子は、Ｄフリップフロップ３０２の第２の入力端子である。
Ｄフリップフロップ３０２の第３端子は、Ｄフリップフロップ３０２の出力端子である。
【００２８】
マルチプレクサ３０１の第１端子は、Ｄフリップフロップ３０２の第２端子に接続される。
マルチプレクサ３０１の第４端子は、Ｄフリップフロップ３０２の第１端子に接続される。
マルチプレクサ３０１の第２端子は、第３フリップフロップ３０の第１端子に接続される。
マルチプレクサ３０１の第３端子は、第３フリップフロップ３０の第２端子に接続される。
Ｄフリップフロップ３０２の第３端子は、第３フリップフロップ３０の第３端子に接続される。
マルチプレクサ３０１の第１端子、及びＤフリップフロップ３０２の第２端子は、第３フリップフロップ３０の第４端子に接続される。
【００２９】
次に、多重化回路１の動作について説明する。ここでは、図２に示す処理フローについて説明する。
なお、位相調整回路４０には、クロック信号ｃｌｋ１が入力されているものとする。また、第１フリップフロップ１０には、クロック信号ｃｌｋ１に同期化された第１入力データｄｉ１が入力されているものとする。また、第２フリップフロップ２０には、クロック信号ｃｌｋ１に同期化された第２入力データｄｉ２が入力されているものとする。また、第３フリップフロップ３０には、クロック信号ｃｌｋ１に同期化された第３入力データｄｉ３が入力されているものとする。
【００３０】
第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれは、イネーブル信号ｅｎを受ける（ステップＳ１）。
第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれは、受けたイネーブル信号ｅｎが０（無効）である場合（ステップＳ１においてｅｎ＝０）、内部データ及び出力データを保持する（ステップＳ２）。内部データとは、マルチプレクサ１０１が出力するデータｄ１、マルチプレクサ２０１が出力するデータｄ２、及びマルチプレクサ３０１が出力するデータｄ３である。出力データとは、Ｄフリップフロップ１０２が出力するデータｄｏ１、Ｄフリップフロップ２０２が出力するデータｄｏ２、Ｄフリップフロップ３０２が出力するデータｄｏ３である。
【００３１】
具体的には、マルチプレクサ１０１は、受けたイネーブル信号ｅｎが０である場合、Ｄフリップフロップ１０２の第２端子からマルチプレクサ１０１の第１端子にフィードバックされた信号を、Ｄフリップフロップ１０２に出力する。また、マルチプレクサ２０１は、受けたイネーブル信号ｅｎが０である場合、Ｄフリップフロップ２０２の第２端子からマルチプレクサ２０１の第１端子にフィードバックされた信号を、Ｄフリップフロップ２０２に出力する。また、マルチプレクサ３０１は、受けたイネーブル信号ｅｎが０である場合、Ｄフリップフロップ３０２の第２端子からマルチプレクサ３０１の第１端子にフィードバックされた信号を、Ｄフリップフロップ３０２に出力する。
【００３２】
なお、この場合、マルチプレクサ１０１、マルチプレクサ２０１、マルチプレクサ３０１それぞれの出力データは、変化しない。つまり、マルチプレクサ１０１、マルチプレクサ２０１、マルチプレクサ３０１のそれぞれは、出力データを保持する。
また、この場合、Ｄフリップフロップ１０２がマルチプレクサ１０１から受ける信号、Ｄフリップフロップ２０２がマルチプレクサ２０１から受ける信号、Ｄフリップフロップ３０２がマルチプレクサ３０１から受ける信号のそれぞれは、変化しない。そのため、Ｄフリップフロップ１０２、Ｄフリップフロップ２０２、Ｄフリップフロップ３０２それぞれの出力データは、変化しない。つまり、第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれは、受けたイネーブル信号ｅｎが０（無効）である場合、出力データを保持する。
【００３３】
第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれは、ステップＳ１の処理を再度行う。
【００３４】
また、第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれは、受けたイネーブル信号ｅｎが１（有効）である場合（ステップＳ１においてｅｎ＝１）、マルチプレクサ１０１、マルチプレクサ２０１、マルチプレクサ３０１のそれぞれは、そのイネーブル信号ｅｎに応じて内部データを変化させ、出力データを保持する（ステップＳ３）。
【００３５】
具体的には、マルチプレクサ１０１は、受けたイネーブル信号ｅｎが１である場合、第１入力データｄｉ１をＤフリップフロップ１０２に出力する。また、マルチプレクサ２０１は、受けたイネーブル信号ｅｎが１である場合、第２入力データｄｉ２をＤフリップフロップ２０２に出力する。また、マルチプレクサ３０１は、受けたイネーブル信号ｅｎが１である場合、第３入力データｄｉ３をＤフリップフロップ３０２に出力する。
【００３６】
ただし、クロック信号生成回路５０では、データラインやクロックラインよりも大きい遅延時間が発生する。また、イネーブル信号ｅｎがクロック信号生成回路５０に入力されてから、位相調整回路４０が信号ｃｌｋ２をクロック信号生成回路５０に出力するまでにある時間差が生じる可能性がある。そのため、この時点、すなわち、イネーブル信号ｅｎがクロック信号生成回路５０に入力された時点では、クロック信号生成回路５０は、受けたイネーブル信号ｅｎに対応する１（Ｈｉｇｈレベル）の出力信号ｃｌｋ３を、Ｄフリップフロップ１０２、Ｄフリップフロップ２０２、Ｄフリップフロップ３０２のそれぞれに出力していない。したがって、クロック信号生成回路５０が出力する信号ｃｌｋ３は、Ｄフリップフロップ１０２、Ｄフリップフロップ２０２、Ｄフリップフロップ３０２それぞれに新たな動作をさせない。よって、Ｄフリップフロップ１０２、Ｄフリップフロップ２０２、Ｄフリップフロップ３０２のそれぞれは、出力データ（データｄｏ１、データｄｏ２、データｄｏ３）を保持する。
【００３７】
その後、クロック信号生成回路５０は、位相調整回路４０から受ける信号ｃｌｋ２に応じて、イネーブル信号ｅｎの応じた信号ｃｌｋ３を、第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれに出力する。
第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれは、クロック信号生成回路５０から信号ｃｌｋ３を受ける（ステップＳ４）。
【００３８】
Ｄフリップフロップ１０２、Ｄフリップフロップ２０２、Ｄフリップフロップ３０２のそれぞれは、信号ｃｌｋ３に応じたデータ（データｄｏ１、データｄｏ２、データｄｏ３）を、多数決判定回路６０及びセレクタ７０に出力する。
具体的には、Ｄフリップフロップ１０２は、信号ｃｌｋ３に応じて、データｄｏ１として第１入力データｄｉ１を、多数決判定回路６０及びセレクタ７０に出力する。また、Ｄフリップフロップ２０２は、信号ｃｌｋ３に応じて、データｄｏ２として第２入力データｄｉ２を、多数決判定回路６０及びセレクタ７０に出力する。また、Ｄフリップフロップ３０２は、信号ｃｌｋ３に応じて、データｄｏ３として第３入力データｄｉ３を、多数決判定回路６０及びセレクタ７０に出力する。
【００３９】
多数決判定回路６０及びセレクタ７０のそれぞれは、Ｄフリップフロップ１０２、Ｄフリップフロップ２０２、Ｄフリップフロップ３０２のそれぞれから、信号ｃｌｋ３に応じたデータを受ける。
【００４０】
多数決判定回路６０は、信号ｃｌｋ３に応じたデータどうしを比較する（ステップＳ５）。
具体的には、信号ｃｌｋ３に応じたデータが、データｄｏ１、データｄｏ２、データｄｏ３である場合、多数決判定回路６０は、データｄｏ１、データｄｏ２、データｄｏ３のそれぞれを比較する。
第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のうちの２つ以上に同時に不具合が発生する可能性は低いものとみなすことができる。そのため、多数決判定回路６０は、データｄｏ１、データｄｏ２、データｄｏ３のすべてが同一のデータであることを示す比較結果を得る。または、多数決判定回路６０は、データｄｏ１、データｄｏ２、データｄｏ３のうちの２つが同一のデータであり、残りの１つが異なるデータであることを示す比較結果を得る。
【００４１】
多数決判定回路６０は、比較結果に基づいて、データｄｏ１、データｄｏ２、データｄｏ３について、多数決の判定を行う（多数決をとる）（ステップＳ６）。
多数決判定回路６０は、判定結果ｒｓｌｔ（多数決をとった結果、最も多いデータ）をセレクタ７０に出力する。
具体的には、多数決判定回路６０は、データｄｏ１、データｄｏ２、データｄｏ３のうち２つ以上同一であるデータを、判定結果ｒｓｌｔとしてセレクタ７０に出力する。
【００４２】
セレクタ７０は、多数決判定回路６０から判定結果ｒｓｌｔを受ける。セレクタ７０は、判定結果ｒｓｌｔに基づいて、第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれから受けた複数のデータの中から１つのデータを選択する（ステップＳ７）。セレクタ７０は、選択したデータ（データｄｏ１、データｄｏ２、データｄｏ３のいずれか）を出力する（ステップＳ８）。
【００４３】
なお、多重化回路１は、どのようなタイミングにおいても（上述のいずれの処理ステップにおいても）、イネーブル信号ｅｎが無効になると、ステップＳ２の処理を行い、ステップＳ１の処理に戻る。
よって、例えば、クロックラインのおおもとのバッファにソフトエラーが生じ、図３に示すように、クロック信号ｃｌｋ１にソフトエラーが発生した場合であっても、イネーブル信号ｅｎが無効であれば、第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれに入力される信号ｃｌｋ３は、０（Ｌｏｗレベル）となる。その結果、第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれは、データを保持する。つまり、クロックラインのおおもとのバッファにソフトエラーが生じた場合に、デジタル回路の動作が正常に保たれる。
【００４４】
以上、本発明の一実施形態による多重化回路１について説明した。
多重化回路１において、クロック信号生成回路５０は、クロック信号ｃｌｋ１とイネーブル信号ｅｎとに基づいて、信号ｃｌｋ３を生成する。第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれは、イネーブル信号ｅｎが有効なときのみ、クロック信号生成回路５０の同一の１つの端子から出力され分配された信号ｃｌｋ３に基づいて、動作可能となる。
このように、多重化回路１を構成することで、イネーブル信号ｅｎが有効な場合に、クロック信号生成回路５０の同一の１つの端子から出力される１つの信号ｃｌｋ３に基づいて、第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれを動作させることができる。本発明の一実施形態による多重化回路１では、クロック信号生成回路５０は、同一の１つの端子から出力される信号ｃｌｋ３を生成すればよい。そのため、例えば、特許文献１に記載の技術（３つのクロック信号を生成する３つの回路を備え、それら３つのクロック信号を用いて３つのデジタル回路を動作させる技術）を用いた場合に比べて、本発明の一実施形態による多重化回路１において信号ｃｌｋ３を生成する回路規模を小さくすることができる。
また、本発明の一実施形態による多重化回路１では、イネーブル信号ｅｎを０（Ｌｏｗレベル）にすることで、第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれにデータを保持させることができる。
よって、本発明の一実施形態による多重化回路１は、小型であり、かつクロックラインのおおもとのバッファにソフトエラーが生じても、第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０の動作が正常に保つことができる。
【００４５】
特許文献１に記載されている多数決回路は、入力データを保持するためのクロックを、フリップフロップへの書き込み許可信号ＲＥＧ＿ＷＲをイネーブル制御した３重化のクロックで実現している。一方、本発明の一実施形態による多重化回路１では、入力データを保持するためのクロックを３重化せずに、データライン側をイネーブル制御して３重化してクロックを実現している。このため、本発明の一実施形態による多重化回路１は、特許文献１に記載されている多数決回路に比べて、小さな規模で実現することができる。
また、本発明の一実施形態による多重化回路１では、クロックを１つとしている。このため、特許文献１に記載されている多数決回路に比べて、タイミングを容易に調整することができる。
【００４６】
本発明の実施形態による最小構成の多重化回路１について説明する。
本発明の実施形態による最小構成の多重化回路１は、図４に示すように、複数のデジタル回路１０、２０、・・・、信号生成回路５０を備える。
信号生成回路５０は、第１クロック信号とイネーブル信号とに基づいて、第２クロック信号を生成するフリップフロップである。
デジタル回路１０、２０、・・・のそれぞれは、イネーブル信号が有効なときのみ、信号生成回路５０の同一の１つの端子から出力され分配された第２クロック信号に基づいて、動作可能なデジタル回路である。
【００４７】
次に、本発明の実施形態による最小構成の多重化回路１の動作について説明する。ここでは、図５に示す処理フローについて説明する。
信号生成回路５０は、第１クロック信号とイネーブル信号とに基づいて、第２クロック信号を生成する（ステップＳ１１）。信号生成回路５０は、生成した第２クロック信号を、同一の１つの端子から出力し、複数のデジタル回路１０、２０、・・・のそれぞれに分配する（ステップＳ１２）。
【００４８】
デジタル回路１０、２０、・・・のそれぞれは、信号生成回路５０から第２クロック信号を受ける（ステップＳ１３）。デジタル回路１０、２０、・・・のそれぞれは、受けた第２クロック信号に基づいて動作する（ステップＳ１４）。
【００４９】
以上、本発明の最小構成の多重化回路１について説明した。
このように、多重化回路１を構成することで、イネーブル信号が有効な場合に、同一の１つの端子から出力される１つの第２クロック信号に基づいて、複数のデジタル回路１０、２０、・・・を動作させることができる。本発明の最小構成の多重化回路１では、同一の１つの端子から出力される第２クロック信号を生成すればよい。そのため、例えば、特許文献１に記載の技術（３つのクロック信号を生成する３つの回路を備え、それら３つのクロック信号を用いて３つのデジタル回路を動作させる技術）を用いた場合に比べて、本発明の最小構成の多重化回路１において複数のデジタル回路を動作させるための第２クロック信号を生成する回路規模を小さくすることができる。
また、多重化回路１では、イネーブル信号を０（Ｌｏｗレベル）にすることで、複数のデジタル回路１０、２０、・・・のデータを保持させることができる。
よって、本発明の最小構成の多重化回路１は、小型であり、かつクロックラインのおおもとのバッファにソフトエラーが生じてもデジタル回路の動作が正常に保つことができる。
【００５０】
なお、本発明の別の実施形態による多重化回路１は、図６に示すように、判定結果ｒｓｌｔを端子Ｔ７から外部に出力するものであってもよい。
【００５１】
なお、本発明の別の実施形態による多重化回路１は、図７に示すように、第１フリップフロップ１０（イネーブル信号が有効なときのみ、第２クロック信号に基づいて、動作可能なデジタル回路の一例）、第２フリップフロップ２０（イネーブル信号が有効なときのみ、第２クロック信号に基づいて、動作可能なデジタル回路の一例）、第３フリップフロップ３０（イネーブル信号が有効なときのみ、第２クロック信号に基づいて、動作可能なデジタル回路の一例）、クロック信号生成回路５０（第１クロック信号とイネーブル信号とに基づいて第２クロック信号を生成する信号生成回路の一例）、多数決判定回路６０、セレクタ７０、位相調整回路８０（第２位相調整回路の一例）を備える。
本発明の別の実施形態による多重化回路１と本発明の一実施形態による多重化回路１との違いは、次のとおりである。
違いの１つ目は、本発明の別の実施形態による多重化回路１は、イネーブル信号ｅｎの位相を調整する位相調整回路８０を備えることである。
違いの２つ目は、本発明の一実施形態による多重化回路１は、位相調整回路４０を備えるのに対して、本発明の別の実施形態による多重化回路１は、位相調整回路４０を備えないことである。
違いの３つ目は、本発明の一実施形態による多重化回路１におけるクロック信号生成回路５０の具体例は、Ｄフリップフロップであるのに対して、本発明の別の実施形態による多重化回路１におけるクロック信号生成回路５０の具体例は、インバータ５０１と、クロック信号ｃｌｋ１をインバータ５０１によって反転させた信号ｃｌｋ４と、位相調整回路８０によって位相が調整された後のイネーブル信号ｅｎ２とを入力するＡＮＤ回路５０２とで構成される回路であることである。信号ｅｎ２は、位相調整回路８０が出力する信号である。
なお、本発明の一実施形態による多重化回路１は、クロック信号ｃｌｋ１の立ち上がりで動作するものとして、多重化回路１を説明した。一方、本発明の別の実施形態による多重化回路１におけるクロック信号生成回路５０では、インバータ５０１によって信号ｃｌｋ１が反転された信号ｃｌｋ４がＡＮＤ５０２に入力される。そのため、本発明の別の実施形態による多重化回路１は、クロック信号ｃｌｋ１の立ち下がりで動作する。
【００５２】
図８は、本発明の別の実施形態による多重化回路１における信号の一例を示す図である。
図８に示すように、本発明の別の実施形態による多重化回路１は、位相が調整された後のイネーブル信号ｅｎ２が有効であるときのみ、クロック信号ｃｌｋ１の立ち下がりで動作することがわかる。
したがって、本発明の別の実施形態による多重化回路１は、本発明の一実施形態による多重化回路１と同様に、イネーブル信号ｅｎが無効であれば、第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれに入力される信号ｃｌｋ３は、０（Ｌｏｗレベル）となる。その結果、第１フリップフロップ１０、第２フリップフロップ２０、第３フリップフロップ３０のそれぞれは、データを保持する。つまり、クロックラインのおおもとのバッファにソフトエラーが生じた場合に、デジタル回路の動作が正常に保たれる。
【００５３】
なお、本発明の別の実施形態による多重化回路１は、インバータなどによって、信号の立ち上がりで動作する回路、または、信号の立ち下がりで動作する回路に変更されるものであってもよい。
【００５４】
なお、本発明の実施形態における処理は、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
【００５５】
本発明の実施形態における記憶装置、その他の記憶装置（レジスタ、ラッチを含む）のそれぞれは、適切な情報の送受信が行われる範囲においてどこに備えられていてもよい。また、本発明の実施形態における記憶装置、その他の記憶装置のそれぞれは、適切な情報の送受信が行われる範囲において複数存在しデータを分散して記憶していてもよい。
【００５６】
本発明の実施形態について説明したが、上述の多重化回路１、位相調整回路４０、多数決判定回路６０、位相調整回路８０、その他の制御装置は内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。コンピュータの具体例を以下に示す。
【００５７】
図９は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ５は、図９に示すように、ＣＰＵ６、メインメモリ７、ストレージ８、インターフェース９を備える。
例えば、上述の多重化回路１、位相調整回路４０、多数決判定回路６０、位相調整回路８０、その他の制御装置のそれぞれは、コンピュータ５に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ８に記憶されている。ＣＰＵ６は、プログラムをストレージ８から読み出してメインメモリ７に展開し、当該プログラムに従って上記処理を実行する。また、ＣＰＵ６は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ７に確保する。
【００５８】
ストレージ８の例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、半導体メモリ等が挙げられる。ストレージ８は、コンピュータ５のバスに直接接続された内部メディアであってもよいし、インターフェース９または通信回線を介してコンピュータ５に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ５に配信される場合、配信を受けたコンピュータ５が当該プログラムをメインメモリ７に展開し、上記処理を実行してもよい。少なくとも１つの実施形態において、ストレージ８は、一時的でない有形の記憶媒体である。
【００５９】
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル（差分プログラム）であってもよい。
【００６０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例であり、発明の範囲を限定しない。これらの実施形態は、発明の要旨を逸脱しない範囲で、種々の追加、省略、置き換え、変更を行ってよい。
【符号の説明】
【００６１】
１・・・多重化回路
５・・・コンピュータ
６・・・ＣＰＵ
７・・・メインメモリ
８・・・ストレージ
９・・・インターフェース
１０・・・第１フリップフロップ
２０・・・第２フリップフロップ
３０・・・第３フリップフロップ
４０、８０・・・位相調整回路
５０・・・クロック信号生成回路
６０・・・多数決判定回路
７０・・・セレクタ
【図１】
2020136815.tif 000003
【図２】
2020136815.tif 000004
【図３】
2020136815.tif 000005
【図４】
2020136815.tif 000006
【図５】
2020136815.tif 000007
【図６】
2020136815.tif 000008
【図７】
2020136815.tif 000009
【図８】
2020136815.tif 000010
【図９】
2020136815.tif 000011
【手続補正書】
【提出日】令和2年2月3日(2020.2.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１クロック信号とイネーブル信号とに基づいて、第２クロック信号を生成する信号生成回路と、
同一の１つの前記信号生成回路に接続された複数のデジタル回路であって、前記イネーブル信号が有効なときのみ、１つの前記信号生成回路から出力され分配された前記第２クロック信号に基づいて、動作可能な複数のデジタル回路と、
を備える多重化回路。
【請求項２】
前記第１クロック信号の位相を調整し、位相を調整した後の前記第１クロック信号を前記信号生成回路に出力する第１位相調整回路、
を備え、
前記信号生成回路は、
位相を調整した後の前記第１クロック信号と前記イネーブル信号とに基づいて、前記第２クロック信号を生成する、
請求項１に記載の多重化回路。
【請求項３】
前記信号生成回路は、
Ｄフリップフロップであり、
位相が調整された後の前記第１クロック信号と前記イネーブル信号とを入力し、
位相が調整された後の前記第１クロック信号に基づいて、前記第２クロック信号を生成する、
請求項２に記載の多重化回路。
【請求項４】
前記イネーブル信号の位相を調整し、位相を調整した後の前記イネーブル信号を前記信号生成回路に出力する第２位相調整回路、
を備え、
前記信号生成回路は、
位相を調整した後の前記イネーブル信号と前記第１クロック信号とに基づいて、前記第２クロック信号を生成する、
請求項１に記載の多重化回路。
【請求項５】
前記信号生成回路は、
ＡＮＤ回路を含み、
位相が調整された後の前記イネーブル信号と前記第１クロック信号に基づく信号とを入力し、
前記第１クロック信号に基づいて、前記第２クロック信号として位相が調整された後の前記イネーブル信号を生成する、
請求項４に記載の多重化回路。
【請求項６】
複数の前記デジタル回路が出力するデータについて、多数決の判定を行う多数決判定回路、
を備える請求項１から請求項５の何れか一項に記載の多重化回路。
【請求項７】
前記多数決判定回路による判定結果に基づいて、複数の前記デジタル回路が出力するデータの中から１つを選択するセレクタ、
を備える請求項６に記載の多重化回路。
【請求項８】
前記セレクタは、
複数の前記デジタル回路が出力するデータの中から選択した１つを出力する、
請求項７に記載の多重化回路。
【請求項９】
同一の１つの信号生成回路に接続された複数のデジタル回路であって、イネーブル信号が有効なときのみ、１つの前記信号生成回路から出力され分配された第３クロック信号に基づいて、動作可能な複数のデジタル回路を備える多重化回路による処理方法であって、
第４クロック信号と前記イネーブル信号とに基づいて、前記第３クロック信号を生成すること、
を含む多重化回路による処理方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
上記目的を達成するために、本発明の一態様によれば、多重化回路は、第１クロック信号とイネーブル信号とに基づいて、第２クロック信号を生成する信号生成回路と、同一の１つの前記信号生成回路に接続された複数のデジタル回路であって、前記イネーブル信号が有効なときのみ、１つの前記信号生成回路から出力され分配された前記第２クロック信号に基づいて、動作可能な複数のデジタル回路と、を備える。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上記目的を達成するために、本発明の別の態様によれば、多重化回路による処理方法は、同一の１つの信号生成回路に接続された複数のデジタル回路であって、イネーブル信号が有効なときのみ、１つの前記信号生成回路から出力され分配された第３クロック信号に基づいて、動作可能な複数のデジタル回路を備える多重化回路による処理方法であって、第４クロック信号と前記イネーブル信号とに基づいて、前記第３クロック信号を生成すること、を含む。