(57)【要約】【課題】各種信号の抜けが発生した場合であっても処理を継続することが可能でデジタルデバイス２１０を提供する。【解決手段】分配回路１４０は、複数のサブ入力キュー１２０のそれぞれに同じ入力データを格納する。それぞれのサブロジック１１０は、それぞれのサブ入力キュー１２０から入力データを取り出し、入力データに対する同じデータ処理を行い、それぞれのサブ出力キュー１３０に結果データを格納し、完了信号１１１を出力する。判定回路１５０は、それぞれのサブ出力キュー１３０から結果データを取り出し、多数決判定で選ばれた結果データを出力する。少なくともいずれかのサブロジック１１０の完了信号１１１を検出した場合、トリガ回路１６０は、判定イネーブル信号１６１と分配イネーブル信号１６２と処理イネーブル信号１６３とを出力する。【選択図】図２
2020046700.tif 000002
【特許請求の範囲】
【請求項１】
互いに同じ入力データに対する同じデータ処理を行い、それぞれにデータ処理が完了した後に、データ処理によって得られた結果データと、データ処理の完了を通知するための完了信号と、を出力する複数のサブロジック回路と、
前記複数のサブロジック回路によって処理される同じ入力データが格納される複数のサブ入力キューと、
前記複数のサブロジック回路から出力される複数の結果データが格納される複数のサブ出力キューと、
前記複数のサブ入力キューのそれぞれに入力データを格納する分配回路と、
前記複数のサブ出力キューのそれぞれから結果データを取り出し、前記複数のサブ出力キューから取り出した結果データに対して多数決判定を行い、多数決判定で選ばれた結果データを出力する判定回路と、
前記複数のサブロジック回路の少なくともいずれかの完了信号を検出した場合に、前記判定回路を起動させるための判定イネーブル信号と、前記分配回路を起動させるための分配イネーブル信号と、前記複数のサブロジック回路を起動させるための処理イネーブル信号とを出力するトリガ回路と
を備えるデジタルデバイス。
【請求項２】
前記複数のサブロジック回路のそれぞれは、データ処理の実行中に処理イネーブル信号を検出した場合、実行中のデータ処理を中止して次のデータに対するデータ処理を開始する
請求項１に記載のデジタルデバイス。
【請求項３】
前記トリガ回路は、前記複数のサブロジック回路の少なくともいずれかの完了信号を検出した場合に前記複数のサブ出力キューの少なくともいずれかを確認し、前記複数のサブ出力キューの少なくともいずれかに結果データが格納されている場合に判定イネーブル信号と分配イネーブル信号と処理イネーブル信号とを出力する
請求項１または請求項２に記載のデジタルデバイス。
【請求項４】
前記デジタルデバイスは、さらに、
入力データが格納される入力インタフェースキューを備え、
前記分配回路は、
前記分配イネーブル信号を検出した場合に前記入力インタフェースキューを確認し、前記入力インタフェースキューにデータが格納されていない場合に前記入力インタフェースキューにデータが格納されるまで前記入力インタフェースキューを繰り返し確認し、前記入力インタフェースキューにデータが格納されている場合に前記入力インタフェースキューからデータを取り出して取り出したデータを前記複数のサブ入力キューのそれぞれに格納し、
前記トリガ回路は、
前記複数のサブ入力キューのそれぞれにデータが格納された後に処理イネーブル信号を出力する
請求項１から請求項３のいずれか１項に記載のデジタルデバイス。
【請求項５】
前記デジタルデバイスは、さらに、
クロック信号を発生させるクロックを備え、
前記トリガ回路は、
前記複数のサブロジック回路の少なくともいずれかの完了信号を受け付け、完了信号を受け付けてから完了信号を検出するまで受付状態を保持し、クロック信号に合わせて受付状態の確認を行い、受付状態を確認することによって完了信号を検出し、完了信号が検出された後に判定イネーブル信号と分配イネーブル信号と処理イネーブル信号とを出力する
請求項１から請求項４のいずれか１項に記載のデジタルデバイス。
【請求項６】
前記デジタルデバイスは、さらに、
出力データが格納される出力インタフェースキューを備え、
前記判定回路は、多数決判定で選ばれた結果データを出力データとして前記出力インタフェースキューに格納する
請求項１から請求項５のいずれか１項に記載のデジタルデバイス。
【請求項７】
ロジック回路と、
前記ロジック回路に入力される入力データが格納される入力インタフェースキューと、
前記ロジック回路から出力される出力データが格納される出力インタフェースキューと、
前記入力インタフェースキューに入力データを格納する前段回路と、
前記出力インタフェースキューから出力データを取り出して取り出した出力データを処理する後段回路とを備え、
前記ロジック回路は、
互いに同じ入力データに対する同じデータ処理を行い、それぞれにデータ処理が完了した後に、データ処理によって得られた結果データと、データ処理の完了を通知するための完了信号と、を出力する複数のサブロジック回路と、
前記複数のサブロジック回路によって処理される同じ入力データが格納される複数のサブ入力キューと、
前記複数のサブロジック回路から出力される複数の結果データが格納される複数のサブ出力キューと、
前記入力インタフェースキューから入力データを取り出し、取り出した入力データを前記複数のサブ入力キューのそれぞれに格納する分配回路と、
前記複数のサブ出力キューのそれぞれから結果データを取り出し、前記複数のサブ出力キューから取り出した結果データに対して多数決判定を行い、多数決判定で選ばれた結果データを出力データとして前記出力インタフェースキューに格納する判定回路と、
前記複数のサブロジック回路の少なくともいずれかの完了信号を検出した場合に、前記判定回路を起動させるための判定イネーブル信号と、前記分配回路を起動させるための分配イネーブル信号と、前記複数のサブロジック回路を起動させるための処理イネーブル信号とを出力するトリガ回路と
を備えるデジタルデバイス。
【請求項８】
請求項１から請求項７のいずれか１項に記載のデジタルデバイスを備え、
前記複数のサブロジック回路のそれぞれが、衛星通信用の処理を前記データ処理として行う
衛星通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種信号の抜けが発生した場合であっても処理を継続することが可能なデジタルデバイスに関するものである。
【背景技術】
【０００２】
従来の衛星通信システムは、放射線に対する耐性を持つ宇宙専用デバイスを用いて構築されていた。
しかし、近年、耐放射線用の処置が施されていないＣＯＴＳデバイスを活用することが求められている。ＣＯＴＳデバイスの活用により、宇宙専用デバイスが用いられる場合と比較して安価で高速処理可能なデジタル通信システムを構築することが可能となる。
特に、ＣＯＴＳ−ＦＰＧＡを利用することにより、デジタルコンポーネントのクロックをメガヘルツオーダからギガヘルツオーダにまで引き上げることを可能となる。その結果、高速なデジタル処理が実現する。
ＣＯＴＳは、Ｃｏｍｍｅｒｃｉａｌ  ｏｆｆ−ｔｈｅ−ｓｈｅｌｌの略称である。
ＦＰＧＡは、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍ  Ｇａｔｅ  Ａｒｒａｙの略称である。
【０００３】
しかしながら、ＣＯＴＳデバイスは放射線に対する耐性が弱いため、ＣＯＴＳデバイスが用いられると放射線の影響によるクロック誤判定が発生する。その結果、クロック揺らぎが生じる。
【０００４】
特許文献１には、複数のコンピュータを用いた高信頼性コンピュータ方式が開示されている。
この方式では、各コンピュータの出力データに誤り訂正符号が付加され、多数決で出力データが選ばれ、選ばれた出力データの誤りが誤り訂正符を用いて訂正される。これにより、出力データの誤りに対する強度が得られる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特公平７−７８７５０号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の方式は、放射線の影響でデータが壊れた場合に対処することを可能とする。しかし、放射線の影響で各種信号（例えばクロック信号）の抜けが発生した場合に対処することはできない。
【０００７】
本発明は、各種信号の抜けが発生した場合であっても処理を継続することが可能なデジタルデバイスを提供できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明のデジタルデバイスは、
互いに同じ入力データに対する同じデータ処理を行い、それぞれにデータ処理が完了した後に、データ処理によって得られた結果データと、データ処理の完了を通知するための完了信号と、を出力する複数のサブロジック回路と、
前記複数のサブロジック回路によって処理される同じ入力データが格納される複数のサブ入力キューと、
前記複数のサブロジック回路から出力される複数の結果データが格納される複数のサブ出力キューと、
前記複数のサブ入力キューのそれぞれに入力データを格納する分配回路と、
前記複数のサブ出力キューのそれぞれから結果データを取り出し、前記複数のサブ出力キューから取り出した結果データに対して多数決判定を行い、多数決判定で選ばれた結果データを出力する判定回路と、
前記複数のサブロジック回路の少なくともいずれかの完了信号を検出した場合に、前記判定回路を起動させるための判定イネーブル信号と、前記分配回路を起動させるための分配イネーブル信号と、前記複数のサブロジック回路を起動させるための処理イネーブル信号とを出力するトリガ回路とを備える。
【発明の効果】
【０００９】
本発明のデジタルデバイスによれば、各種信号の抜けが発生した場合であっても処理を継続することが可能となる。
例えば、いずれかのサブロジック回路の完了信号が抜けた場合であっても、他のサブロジック回路の完了信号が検出されることによって処理が継続される。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１におけるデジタルデバイス２１０の構成図。
【図２】実施の形態１におけるロジック１００Ｂの構成図。
【図３】実施の形態１におけるロジック１００Ｂの基本動作を表すタイミングチャート。
【図４】実施の形態１において１つのサブロジック１１０でクロック抜けが発生した場合のロジック１００Ｂの動作を表すタイミングチャート。
【図５】実施の形態１において２つのサブロジック１１０でクロック抜けが発生した場合のロジック１００Ｂの動作を表すタイミングチャート。
【図６】実施の形態１において、２つのサブロジック１１０でクロック抜けが発生し、且つ、残りのサブロジック１１０の完了信号１１１が誤って発生した場合のロジック１００Ｂの動作を表すタイミングチャート。
【図７】実施の形態１において全てのサブロジック１１０でクロック抜けが発生した場合のロジック１００Ｂの動作を表すタイミングチャート。
【図８】実施の形態１において入力インタフェースキュー２１２に入力データが格納されていない場合のロジック１００Ｂの動作を表すタイミングチャート。
【図９】実施の形態１においてトリガ回路１６０でクロック抜けが発生した場合のロジック１００Ｂの動作を表すタイミングチャート。
【図１０】実施の形態１において処理イネーブル信号１６３の抜けが発生した場合のロジック１００Ｂの動作を表すタイミングチャート。
【図１１】実施の形態１において完了信号１１１の抜けが発生した場合のロジック１００Ｂの動作を表すタイミングチャート。
【図１２】デジタルデバイス９０１の構成図。
【図１３】ロジック９１０Ｂの構成図。
【図１４】ロジック９１０Ｂの基本動作を表すタイミングチャート。
【図１５】判定回路９１４でクロック抜けが発生した場合におけるタイミングチャート。
【図１６】判定回路９１４でイネーブル信号９２２ｄの抜けが発生した場合におけるタイミングチャート。
【発明を実施するための形態】
【００１１】
実施の形態および図面において、同じ要素または対応する要素には同じ符号を付している。説明した要素と同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
【００１２】
実施の形態１．
各種信号の抜けが発生した場合であっても処理を継続することが可能なデジタルデバイスについて、図１から図１１に基づいて説明する。
【００１３】
＊＊＊構成の説明＊＊＊
図１に基づいて、衛星通信システム２００の構成を説明する。
衛星通信システム２００は、デジタルデバイス２１０を備える。
デジタルデバイス２１０として、放射線耐性が弱いＣＯＴＳデバイスを用いることが可能である。デジタルデバイス２１０は、放射線耐性が高い宇宙専用デバイスである必要はない。
デジタルデバイス２１０がＣＯＴＳデバイスである場合、ＣＯＴＳ−ＦＰＧＡを用いてデジタルデバイス２１０を実装することができる。
【００１４】
デジタルデバイス２１０は、クロック２１１と複数のロジック回路とを備える。
具体的には、デジタルデバイス２１０は、複数のロジック回路として、ロジック１００Ａとロジック１００Ｂとロジック１００Ｃとを備える。
ロジック１００Ａ、ロジック１００Ｂおよびロジック１００Ｃは、縦列に接続される。
ロジック１００Ａは、前段のロジック回路、すなわち、前段回路である。
ロジック１００Ｂは、中段のロジック回路、すなわち、中段回路である。
ロジック１００Ｃは、後段のロジック回路、すなわち、後段回路である。
ロジック（１００Ａ〜１００Ｃ）を特定しない場合、それぞれをロジック１００と称する。
【００１５】
クロック２１１から各ロジック１００への矢印は、クロック信号の流れを示している。
各ロジック１００への矢印（クロック２１１からの矢印を除く）および各ロジック１００からの矢印は、データの流れを示している。
【００１６】
図２に基づいて、デジタルデバイス２１０の構成、特に、ロジック１００Ｂの構成を説明する。
デジタルデバイス２１０は、入力インタフェースキュー２１２を備える。
入力インタフェースキュー２１２は、ロジック１００Ｂに入力される入力データが格納されるキューである。入力インタフェースキュー２１２の中に記されている円は、入力データを表している。入力インタフェースキュー２１２は、メモリを用いて実装される。
入力インタフェースキュー２１２は、ロジック１００Ａとロジック１００Ｂとに共用される。入力データは、ロジック１００Ａによって入力インタフェースキュー２１２に格納される。入力インタフェースキュー２１２は、ロジック１００Ａにとっての出力インタフェースキューである。
【００１７】
デジタルデバイス２１０は、出力インタフェースキュー２１３を備える。
出力インタフェースキュー２１３は、ロジック１００から出力される出力データが格納されるキューである。出力インタフェースキュー２１３の中に記されている円は、出力データを表している。出力インタフェースキュー２１３は、メモリを用いて実装される。
出力インタフェースキュー２１３は、ロジック１００Ｂとロジック１００Ｃとに共用される。ロジック１００Ｃは、出力インタフェースキュー２１３から出力データを取り出して取り出した出力データを処理する。出力インタフェースキュー２１３は、ロジック１００Ｃにとっての入力インタフェースキューである。
【００１８】
ロジック１００Ｂは、複数のサブロジック回路を備える。
具体的には、ロジック１００Ｂは、複数のサブロジック回路として、サブロジック１１０ａとサブロジック１１０ｂとサブロジック１１０ｃとを備える。
サブロジック（１１０ａ〜１１０ｃ）を特定しない場合、それぞれをサブロジック１１０と称する。
複数のサブロジック１１０は、互いに同じ入力データに対する同じデータ処理を行う。具体的なデータ処理は、衛星通信用の処理である。
それぞれのサブロジック１１０は、データ処理が完了した後に、結果データと完了信号１１１とを出力する。それぞれの完了信号１１１は、信号線を介してトリガ回路１６０に入力される。
結果データは、データ処理によって得られたデータである。
完了信号１１１は、データ処理の完了を通知するための信号である。サブロジック１１０ａから出力される完了信号１１１を完了信号１１１ａと称する。サブロジック１１０ｂから出力される完了信号１１１を完了信号１１１ｂと称する。サブロジック１１０ｃから出力される完了信号１１１を完了信号１１１ｃと称する。
【００１９】
複数のサブロジック１１０のそれぞれは、データ処理の実行中に処理イネーブル信号１６３を検出した場合、実行中のデータ処理を中止して次のデータに対するデータ処理を開始する。
【００２０】
ロジック１００Ｂは、複数のサブ入力キュー１２０を備える。
具体的には、ロジック１００Ｂは、複数のサブ入力キュー１２０として、サブ入力キュー１２０ａとサブ入力キュー１２０ｂとサブ入力キュー１２０ｃとを備える。
複数のサブ入力キュー１２０には、複数のサブロジック１１０によって処理される同じ入力データが格納される。それぞれのサブ入力キュー１２０の中に記されている円は、入力データを表している。
サブ入力キュー１２０ａに格納されたデータは、サブロジック１１０ａによって処理される。
サブ入力キュー１２０ｂに格納されたデータは、サブロジック１１０ｂによって処理される。
サブ入力キュー１２０ｃに格納されたデータは、サブロジック１１０ｃによって処理される。
それぞれのサブ入力キュー１２０は、メモリを用いて実装される。
【００２１】
ロジック１００Ｂは、複数のサブ出力キュー１３０を備える。
具体的には、ロジック１００Ｂは、複数のサブ出力キューとして、サブ出力キュー１３０ａとサブ出力キュー１３０ｂとサブ出力キュー１３０ｃとを備える。
複数のサブ出力キュー１３０には、複数のサブロジック１１０から出力される複数の結果データが格納される。それぞれのサブ出力キュー１３０の中に記されている円は、結果データを表している。
サブロジック１１０ａから出力された結果データはサブ出力キュー１３０ａに格納される。
サブロジック１１０ｂから出力された結果データはサブ出力キュー１３０ｂに格納される。
サブロジック１１０ｃから出力された結果データはサブ出力キュー１３０ｃに格納される。
それぞれのサブ出力キュー１３０は、メモリを用いて実装される。
【００２２】
ロジック１００Ｂは、分配回路１４０を備える。
分配回路１４０は、複数のサブ入力キュー１２０のそれぞれに入力データを格納する。具体的には、分配回路１４０は、入力インタフェースキュー２１２から入力データを取り出し、取り出した入力データを複数のサブ入力キュー１２０のそれぞれに格納する。
【００２３】
詳細には、分配回路１４０は、複数のサブ入力キュー１２０のそれぞれに次のような手順でデータを格納する。
分配回路１４０は、分配イネーブル信号１６２を検出した場合に、入力インタフェースキュー２１２を確認する。
分配回路１４０は、入力インタフェースキュー２１２にデータが格納されていない場合に、入力インタフェースキュー２１２にデータが格納されるまで入力インタフェースキュー２１２を繰り返し確認する。
そして、分配回路１４０は、入力インタフェースキュー２１２にデータが格納されている場合に、入力インタフェースキュー２１２からデータを取り出して取り出したデータを複数のサブ入力キュー１２０のそれぞれに格納する。
【００２４】
ロジック１００Ｂは、判定回路１５０を備える。
判定回路１５０は、複数のサブ出力キュー１３０のそれぞれから結果データを取り出し、複数のサブ出力キュー１３０から取り出した結果データに対して多数決判定を行い、多数決判定で選ばれた結果データを出力する。
具体的には、判定回路１５０は、多数決判定で選ばれた結果データを出力データとして出力インタフェースキュー２１３に格納する。
【００２５】
ロジック１００Ｂは、トリガ回路１６０を備える。
トリガ回路１６０は、複数のサブロジック１１０の少なくともいずれかの完了信号１１１を検出した場合に、判定イネーブル信号１６１と分配イネーブル信号１６２と処理イネーブル信号１６３とを出力する。
判定イネーブル信号１６１は、信号線を介して判定回路１５０に入力される。分配イネーブル信号１６２は、信号線を介して分配回路１４０に入力される。処理イネーブル信号１６３は、信号線を介して、複数のサブロジック１１０のそれぞれに入力される。
判定イネーブル信号１６１は、判定回路１５０を起動させるための信号である。
分配イネーブル信号１６２は、分配回路１４０を起動させるための信号である。
処理イネーブル信号１６３は、複数のサブロジック１１０を起動させるための信号である。具体的には、処理イネーブル信号１６３は、データ処理を開始するタイミングを通知するための信号である。
サブロジック１１０ａに入力される処理イネーブル信号１６３を処理イネーブル信号１６３ａと称する。サブロジック１１０ｂに入力される処理イネーブル信号１６３を処理イネーブル信号１６３ｂと称する。サブロジック１１０ｃに入力される処理イネーブル信号１６３を処理イネーブル信号１６３ｃと称する。
【００２６】
詳細には、トリガ回路１６０は、判定イネーブル信号１６１と分配イネーブル信号１６２と処理イネーブル信号１６３とを次のような場合に出力する。
トリガ回路１６０は、複数のサブロジック１１０の少なくともいずれかの完了信号１１１を検出した場合に、複数のサブ出力キュー１３０の少なくともいずれかを確認する。
具体的には、トリガ回路１６０は、全てのサブ出力キュー１３０を確認する。または、トリガ回路１６０は、検出した完了信号１１１の出力元のサブロジック１１０に対応するサブ出力キュー１３０を確認する。
そして、トリガ回路１６０は、複数のサブ出力キュー１３０の少なくともいずれかに結果データが格納されている場合に、判定イネーブル信号１６１と分配イネーブル信号１６２と処理イネーブル信号１６３とを出力する。
一方、複数のサブ出力キュー１３０のいずれにも結果データが格納されていない場合、トリガ回路１６０は、判定イネーブル信号１６１と分配イネーブル信号１６２と処理イネーブル信号１６３とを出力しない。つまり、トリガ回路１６０は、検出した完了信号１１１が誤った完了信号であると判定し、検出した完了信号１１１を無視する。
【００２７】
詳細には、トリガ回路１６０は、複数のサブ入力キュー１２０のそれぞれにデータが格納された後に処理イネーブル信号１６３を出力する。
具体的には、トリガ回路１６０は、複数のサブロジック１１０の少なくともいずれかの完了信号１１１を検出した後に、複数のサブ入力キュー１２０を確認する。そして、トリガ回路１６０は、複数のサブ入力キュー１２０のそれぞれにデータが格納されていることを確認した後に、複数のサブロジック１１０のそれぞれに処理イネーブル信号１６３を出力する。
または、分配回路１４０が、複数のサブ入力キュー１２０のそれぞれにデータを格納した後に、格納信号を出力する。格納信号は、複数のサブ入力キュー１２０のそれぞれにデータが格納されたことを通知するための信号である。格納信号は、信号線を介してトリガ回路１６０に入力される。そして、トリガ回路１６０は、格納信号を検出した後に、複数のサブロジック１１０のそれぞれに処理イネーブル信号１６３を出力する。
【００２８】
サブロジック１１０と分配回路１４０と判定回路１５０とトリガ回路１６０とのそれぞれには、クロック信号が入力される。
例えば、ロジック１００Ｂは、クロックインタフェースを備える。クロックインタフェースには、クロック２１１から出力されたクロック信号が入力される。そして、クロックインタフェースが、サブロジック１１０と分配回路１４０と判定回路１５０とトリガ回路１６０とのそれぞれにクロック信号を入力する。
サブロジック１１０と分配回路１４０と判定回路１５０とトリガ回路１６０とのそれぞれは、入力されたクロック信号に合わせて動作する。
【００２９】
トリガ回路１６０は、判定イネーブル信号１６１と分配イネーブル信号１６２と処理イネーブル信号１６３とを次のような手順で出力する。
トリガ回路１６０は、複数のサブロジック１１０の少なくともいずれかの完了信号１１１を受け付け、完了信号１１１を受け付けてから完了信号１１１を検出するまで受付状態を保持する。具体的には、トリガ回路１６０は、入力された完了信号１１１をラッチする。
その後、トリガ回路１６０は、クロック信号に合わせて受付状態の確認を行い、受付状態を確認することによって完了信号１１１を検出する。つまり、トリガ回路１６０は、クロック信号に合わせてラッチされた完了信号１１１の有無を確認し、ラッチされた完了信号１１１を検出する。
そして、トリガ回路１６０は、完了信号１１１が検出された後に判定イネーブル信号１６１と分配イネーブル信号１６２と処理イネーブル信号１６３とを出力する。
【００３０】
ロジック１００Ａとロジック１００Ｃとのそれぞれの構成は、ロジック１００Ｂの構成と同じである。
つまり、ロジック１００Ａとロジック１００Ｃとのそれぞれは、ロジック１００Ｂと同じく、複数のサブロジック１１０と複数のサブ入力キュー１２０と複数のサブ出力キュー１３０と分配回路１４０と判定回路１５０とトリガ回路１６０とを備える。
【００３１】
＊＊＊動作の説明＊＊＊
デジタルデバイス２１０の動作はデジタル処理方法に相当する。
以下に、デジタルデバイス２１０におけるロジック１００Ｂの動作を説明する。ロジック１００Ａとロジック１００Ｃとのそれぞれの動作は、ロジック１００Ｂの動作と同様である。
【００３２】
図３は、ロジック１００Ｂの基本動作を表すタイミングチャートである。
ロジック１００Ｂの基本動作を図３に基づいて説明する。
クロック信号１０１ａは、サブロジック１１０ａに入力されるクロック信号１０１を表している。「サブロジックａ」は、サブロジック１１０ａが動作する時間帯を表している。
クロック信号１０１ｂは、サブロジック１１０ｂに入力されるクロック信号１０１を表している。「サブロジックｂ」は、サブロジック１１０ｂが動作する時間帯を表している。
クロック信号１０１ｃは、サブロジック１１０ｃに入力されるクロック信号１０１を表している。「サブロジックｃ」は、サブロジック１１０ｃが動作する時間帯を表している。
クロック信号１０１ｄは、トリガ回路１６０に入力されるクロック信号１０１を表している。
「分配」は、分配回路１４０が動作する時間帯を表している。
「判定」は、判定回路１５０が動作する時間帯を表している。
【００３３】
サブロジック１１０ａは、処理イネーブル信号１６３ａを検出すると次のように動作する。
まず、サブロジック１１０ａは、サブ入力キュー１２０ａから入力データを取り出す。
次に、サブロジック１１０ａは、取り出した入力データに対してデータ処理を行う。
そして、サブロジック１１０ａは、データ処理で得られた結果データをサブ出力キュー１３０ａに格納する。
さらに、サブロジック１１０ａは、完了信号１１１ａをトリガ回路１６０へ出力する。
【００３４】
サブロジック１１０ｂは、処理イネーブル信号１６３ｂを検出すると次のように動作する。
まず、サブロジック１１０ｂは、サブ入力キュー１２０ｂから入力データを取り出す。
次に、サブロジック１１０ｂは、取り出した入力データに対してデータ処理を行う。
そして、サブロジック１１０ｂは、データ処理で得られた結果データをサブ出力キュー１３０ｂに格納する。
さらに、サブロジック１１０ｂは、完了信号１１１ｂをトリガ回路１６０へ出力する。
【００３５】
サブロジック１１０ｃ、処理イネーブル信号１６３ｃを検出すると次のように動作する。
まず、サブロジック１１０ｃは、サブ入力キュー１２０ｃから入力データを取り出す。
次に、サブロジック１１０ｃは、取り出した入力データに対してデータ処理を行う。
そして、サブロジック１１０ｃは、データ処理で得られた結果データをサブ出力キュー１３０ｃに格納する。
さらに、サブロジック１１０ｃは、完了信号１１１ｃをトリガ回路１６０へ出力する。
【００３６】
トリガ回路１６０は、完了信号１１１ａと完了信号１１１ｂと完了信号１１１ｃとを検出する。その後、トリガ回路１６０は次のように動作する。
トリガ回路１６０は、判定イネーブル信号１６１を判定回路１５０へ出力する。
トリガ回路１６０は、分配イネーブル信号１６２を分配回路１４０へ出力する。
さらに、トリガ回路１６０は、処理イネーブル信号１６３をサブロジック１１０ａとサブロジック１１０ｂとサブロジック１１０ｃとに出力する。
【００３７】
判定回路１５０は、判定イネーブル信号１６１を検出すると次のように動作する。
まず、判定回路１５０は、サブ出力キュー１３０ａとサブ出力キュー１３０ｂとサブ出力キュー１３０ｃとのそれぞれから結果データを１つ取り出す。
次に、判定回路１５０は、取り出した結果データに対して多数決判定を行う。
そして、判定回路１５０は、多数決判定で選ばれた結果データを出力データとして出力インタフェースキュー２１３に格納する。
【００３８】
分配回路１４０は、分配イネーブル信号１６２を検出すると次のように動作する。
まず、分配回路１４０は、入力インタフェースキュー２１２から入力データを１つ取り出す。
そして、分配回路１４０は、取り出した入力データをサブ入力キュー１２０ａとサブ入力キュー１２０ｂとサブ入力キュー１２０ｃとのそれぞれに格納する。
【００３９】
図４のタイミングチャートは、１つのサブロジック１１０でクロック抜けが発生した場合についてロジック１００Ｂの動作を表す。
サブロジック１１０ａでクロック抜けが発生した場合のロジック１００Ｂの動作について、主に基本動作（図３参照）において説明しなかった点を図４に基づいて説明する。
図４の見方は、図３の見方と同じである。
【００４０】
サブロジック１１０ａにおいて、クロック信号１０１ａは、放射線の影響で第５時点から第７時点までＨｉｇｈ状態のまま変化していない。つまり、サブロジック１１０ａでクロック抜けが発生している。そのため、サブロジック１１０ａにおけるデータ処理は、第８時点に完了していない。
一方、サブロジック１１０ｂとサブロジック１１０ｃとのそれぞれではクロック抜けが発生していない。そのため、サブロジック１１０ｂとサブロジック１１０ｃとのそれぞれにおけるデータ処理は、第８時点に完了している。
【００４１】
第８時点において、サブロジック１１０ｂは、結果データをサブ出力キュー１３０ｂに格納し、完了信号１１１ｂをトリガ回路１６０へ出力する。また、サブロジック１１０ｃは、結果データをサブ出力キュー１３０ｃに格納し、完了信号１１１ｃをトリガ回路１６０へ出力する。
トリガ回路１６０は、完了信号１１１ｂと完了信号１１１ｃとを検出する。そして、トリガ回路１６０は、判定イネーブル信号１６１を判定回路１５０へ出力し、分配イネーブル信号１６２を分配回路１４０へ出力する。さらに、トリガ回路１６０は、処理イネーブル信号１６３をサブロジック１１０ａとサブロジック１１０ｂとサブロジック１１０ｃとのそれぞれに出力する。
判定回路１５０は、判定イネーブル信号１６１を検出する。その後、判定回路１５０は、サブ出力キュー１３０ｂとサブ出力キュー１３０ｃとのそれぞれから結果データを１つ取り出し、取り出した結果データに対する多数決判定を行う。サブ出力キュー１３０ｂから取り出した結果データとサブ出力キュー１３０ｃから取り出した結果データとが互いに異なる場合、判定回路１５０はいずれかの結果データを選択する。例えば、判定回路１５０はランダムに１つの結果データを選択する。そして、判定回路１５０は、多数決判定で選ばれた結果データを出力データとして出力インタフェースキュー２１３に格納する。
分配回路１４０は、分配イネーブル信号１６２を検出する。その後、分配回路１４０は、入力インタフェースキュー２１２から入力データを１つ取り出す。そして、分配回路１４０は、取り出した入力データをサブ入力キュー１２０ａとサブ入力キュー１２０ｂとサブ入力キュー１２０ｃとのそれぞれに格納する。
【００４２】
第９時点において、サブロジック１１０ａは、処理イネーブル信号１６３ａを検出し、実行中のデータ処理を中止する。そして、サブロジック１１０ａは、サブ入力キュー１２０ａから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
また、サブロジック１１０ｂは、処理イネーブル信号１６３ｂを検出し、サブ入力キュー１２０ｂから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
また、サブロジック１１０ｃは、処理イネーブル信号１６３ｃを検出し、サブ入力キュー１２０ｃから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
【００４３】
図４における動作により、サブロジック１１０ａでクロック抜けが発生したとしても、分配回路１４０と判定回路１５０とを正しく動作させることが可能である。つまり、いずれかのサブロジック１１０でクロック揺らぎが発生したとしても、分配処理と判定処理とを正しく行うことが可能である。
そのため、いずれかのサブロジック１１０においてクロック信号１０１が放射線の影響を受けて揺らいだとしても、後段のロジック１００に対してデータ抜けを発生させないことが可能である。
【００４４】
図５のタイミングチャートは、２つのサブロジック１１０でクロック抜けが発生した場合についてロジック１００Ｂの動作を表す。
サブロジック１１０ａとサブロジック１１０ｂとのそれぞれでクロック抜けが発生した場合のロジック１００Ｂの動作について、主に基本動作（図３参照）において説明しなかった点を図５に基づいて説明する。
図５の見方は、図３の見方と同じである。
【００４５】
サブロジック１１０ａにおいて、クロック信号１０１ａは、放射線の影響で第５時点から第７時点までＨｉｇｈ状態のまま変化していない。つまり、サブロジック１１０ａでクロック抜けが発生している。そのため、サブロジック１１０ａにおけるデータ処理は、第８時点に完了していない。
サブロジック１１０ｂにおいて、クロック信号１０１ｂは、放射線の影響で第５時点から第７時点までＨｉｇｈ状態のまま変化していない。つまり、サブロジック１１０ｂでクロック抜けが発生している。そのため、サブロジック１１０ｂにおけるデータ処理は、第８時点に完了していない。
一方、サブロジック１１０ｃではクロック抜けが発生していない。そのため、サブロジック１１０ｃにおけるデータ処理は、第８時点に完了している。
【００４６】
第８時点において、サブロジック１１０ｃは、結果データをサブ出力キュー１３０ｃに格納し、完了信号１１１ｃをトリガ回路１６０へ出力する。
トリガ回路１６０は、完了信号１１１ｃを検出する。そして、トリガ回路１６０は、判定イネーブル信号１６１を判定回路１５０へ出力し、分配イネーブル信号１６２を分配回路１４０へ出力する。さらに、トリガ回路１６０は、処理イネーブル信号１６３をサブロジック１１０ａとサブロジック１１０ｂとサブロジック１１０ｃとのそれぞれに出力する。
判定回路１５０は、判定イネーブル信号１６１を検出する。その後、判定回路１５０は、サブ出力キュー１３０ｃから結果データを１つ取り出し、取り出した結果データに対する多数決判定を行う。この場合、サブ出力キュー１３０ｃから取り出された結果データが選ばれる。そして、判定回路１５０は、多数決判定で選ばれた結果データを出力データとして出力インタフェースキュー２１３に格納する。
分配回路１４０は、分配イネーブル信号１６２を検出する。その後、分配回路１４０は、入力インタフェースキュー２１２から入力データを１つ取り出す。そして、分配回路１４０は、取り出した入力データをサブ入力キュー１２０ａとサブ入力キュー１２０ｂとサブ入力キュー１２０ｃとのそれぞれに格納する。
【００４７】
第９時点において、サブロジック１１０ａは、処理イネーブル信号１６３ａを検出し、実行中のデータ処理を中止する。そして、サブロジック１１０ａは、サブ入力キュー１２０ａから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
また、サブロジック１１０ｂは、処理イネーブル信号１６３ｂを検出し、実行中のデータ処理を中止する。そして、サブロジック１１０ｂは、サブ入力キュー１２０ｂから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
また、サブロジック１１０ｃは、処理イネーブル信号１６３ｃを検出し、サブ入力キュー１２０ｃから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
【００４８】
図５における動作により、サブロジック１１０ａとサブロジック１１０ｂとのそれぞれでクロック抜けが発生したとしても、分配回路１４０と判定回路１５０とを正しく動作させることが可能である。つまり、２つ以上のサブロジック１１０でクロック揺らぎが発生したとしても、分配処理と判定処理とを正しく行うことが可能である。
そのため、２つ以上のサブロジック１１０においてクロック信号１０１が放射線の影響を受けて揺らいだとしても、後段のロジック１００に対してデータ抜けを発生させないことが可能である。
【００４９】
図６のタイミングチャートは、２つのサブロジック１１０でクロック抜けが発生し、且つ、残りのサブロジック１１０の完了信号１１１が誤って発生した場合についてロジック１００Ｂの動作を表す。
サブロジック１１０ａとサブロジック１１０ｂとのそれぞれでクロック抜けが発生し、且つ、サブロジック１１０ｃの完了信号１１１ｃが誤って発生した場合のロジック１００Ｂの動作について、主に基本動作（図３参照）において説明しなかった点を図６に基づいて説明する。
図６の見方は、図３の見方と同じである。
【００５０】
サブロジック１１０ａにおいて、クロック信号１０１ａは、放射線の影響で第５時点から第７時点までＨｉｇｈ状態のまま変化していない。つまり、サブロジック１１０ａでクロック抜けが発生している。そのため、サブロジック１１０ａにおけるデータ処理は、第８時点に完了していない。
サブロジック１１０ｂにおいて、クロック信号１０１ｂは、放射線の影響で第５時点から第７時点までＨｉｇｈ状態のまま変化していない。つまり、サブロジック１１０ｂでクロック抜けが発生している。そのため、サブロジック１１０ｂにおけるデータ処理は、第８時点に完了していない。
一方、サブロジック１１０ｃではクロック抜けが発生していない。そのため、サブロジック１１０ｃにおけるデータ処理は、第８時点に完了している。
しかし、放射線の影響によって、第８時点より前の第６時点に完了信号１１１ｃが発生している。
【００５１】
第６時点において、トリガ回路１６０は、誤って発生した完了信号１１１ｃを検出する。そして、トリガ回路１６０は、完了信号１１１ｃの発生元であるサブロジック１１０ｃに対応するサブ出力キュー１３０ｃを確認する。トリガ回路１６０は、全てのサブ出力キュー１３０を確認してもよい。
しかし、確認されたサブ出力キュー１３０には、結果データが格納されていない。
そのため、トリガ回路１６０は、完了信号１１１ｃを無視し、判定イネーブル信号１６１と分配イネーブル信号１６２と処理イネーブル信号１６３とを出力しない。
【００５２】
第８時点において、サブロジック１１０ｃは、結果データをサブ出力キュー１３０ｃに格納し、完了信号１１１ｃをトリガ回路１６０へ出力する。
トリガ回路１６０は、完了信号１１１ｃを検出する。そして、トリガ回路１６０は、完了信号１１１ｃの発生元であるサブロジック１１０ｃに対応するサブ出力キュー１３０ｃを確認する。トリガ回路１６０は、全てのサブ出力キュー１３０を確認してもよい。
このとき、サブ出力キュー１３０ｃには、結果データが格納されている。
そのため、トリガ回路１６０は、判定イネーブル信号１６１を判定回路１５０へ出力し、分配イネーブル信号１６２を分配回路１４０へ出力する。さらに、トリガ回路１６０は、処理イネーブル信号１６３をサブロジック１１０ａとサブロジック１１０ｂとサブロジック１１０ｃとのそれぞれに出力する。
判定回路１５０は、判定イネーブル信号１６１を検出する。その後、判定回路１５０は、サブ出力キュー１３０ｃから結果データを１つ取り出し、取り出した結果データに対する多数決判定を行う。この場合、サブ出力キュー１３０ｃから取り出された結果データが選ばれる。そして、判定回路１５０は、多数決判定で選ばれた結果データを出力データとして出力インタフェースキュー２１３に格納する。
分配回路１４０は、分配イネーブル信号１６２を検出する。その後、分配回路１４０は、入力インタフェースキュー２１２から入力データを１つ取り出す。そして、分配回路１４０は、取り出した入力データをサブ入力キュー１２０ａとサブ入力キュー１２０ｂとサブ入力キュー１２０ｃとのそれぞれに格納する。
【００５３】
第９時点において、サブロジック１１０ａは、処理イネーブル信号１６３ａを検出し、実行中のデータ処理を中止する。そして、サブロジック１１０ａは、サブ入力キュー１２０ａから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
また、サブロジック１１０ｂは、処理イネーブル信号１６３ｂを検出し、実行中のデータ処理を中止する。そして、サブロジック１１０ｂは、サブ入力キュー１２０ｂから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
また、サブロジック１１０ｃは、処理イネーブル信号１６３ｃを検出し、サブ入力キュー１２０ｃから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
【００５４】
図６における動作により、放射線の影響によって誤ったタイミングで完了信号１１１が発生したとしても、分配回路１４０と判定回路１５０とを正しく動作させることが可能である。つまり、分配処理と判定処理とを正しく実行することが可能である。
【００５５】
図７のタイミングチャートは、全てのサブロジック１１０でクロック抜けが発生した場合についてロジック１００Ｂの動作を表す。
サブロジック１１０ａとサブロジック１１０ｂとサブロジック１１０ｃとのそれぞれでクロック抜けが発生した場合のロジック１００Ｂの動作について、主に基本動作（図３参照）において説明しなかった点を図７に基づいて説明する。
図７の見方は、図３の見方と同じである。
【００５６】
サブロジック１１０ａにおいて、クロック信号１０１ａは、放射線の影響によって第５時点から第７時点までＨｉｇｈ状態のまま変化していない。つまり、サブロジック１１０ａでクロック抜けが発生している。そのため、サブロジック１１０ａにおけるデータ処理は、第８時点には完了せずに第１０時点に完了している。
サブロジック１１０ｂにおいて、クロック信号１０１ｂは、放射線の影響によって第５時点から第７時点までＨｉｇｈ状態のまま変化していない。つまり、サブロジック１１０ｂでクロック抜けが発生している。そのため、サブロジック１１０ｂにおけるデータ処理は、第８時点には完了せずに第１０時点に完了している。
サブロジック１１０ｃにおいて、クロック信号１０１ｃは、放射線の影響によって第５時点から第７時点までＨｉｇｈ状態のまま変化していない。つまり、サブロジック１１０ｃでクロック抜けが発生している。そのため、サブロジック１１０ｃにおけるデータ処理は、第８時点には完了せずに第１０時点に完了している。
【００５７】
第１０時点において、サブロジック１１０ａは、結果データをサブ出力キュー１３０ａに格納し、完了信号１１１ａをトリガ回路１６０へ出力する。また、サブロジック１１０ｂは、結果データをサブ出力キュー１３０ｂに格納し、完了信号１１１ｂをトリガ回路１６０へ出力する。また、サブロジック１１０ｃは、結果データをサブ出力キュー１３０ｃに格納し、完了信号１１１ｃをトリガ回路１６０へ出力する。
トリガ回路１６０は、完了信号１１１ａと完了信号１１１ｂと完了信号１１１ｃとを検出する。そして、トリガ回路１６０は、判定イネーブル信号１６１を判定回路１５０へ出力し、分配イネーブル信号１６２を分配回路１４０へ出力する。さらに、トリガ回路１６０は、処理イネーブル信号１６３をサブロジック１１０ａとサブロジック１１０ｂとサブロジック１１０ｃとのそれぞれに出力する。
判定回路１５０は、判定イネーブル信号１６１を検出する。その後、判定回路１５０は、サブ出力キュー１３０ａとサブ出力キュー１３０ｂとサブ出力キュー１３０ｃとのそれぞれから結果データを１つ取り出し、取り出した結果データに対する多数決判定を行う。そして、判定回路１５０は、多数決判定で選ばれた結果データを出力データとして出力インタフェースキュー２１３に格納する。
分配回路１４０は、分配イネーブル信号１６２を検出する。その後、分配回路１４０は、入力インタフェースキュー２１２から入力データを１つ取り出す。そして、分配回路１４０は、取り出した入力データをサブ入力キュー１２０ａとサブ入力キュー１２０ｂとサブ入力キュー１２０ｃとのそれぞれに格納する。
【００５８】
第１１時点において、サブロジック１１０ａは、処理イネーブル信号１６３ａを検出し、サブ入力キュー１２０ａから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
また、サブロジック１１０ｂは、処理イネーブル信号１６３ｂを検出し、サブ入力キュー１２０ｂから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
また、サブロジック１１０ｃは、処理イネーブル信号１６３ｃを検出し、サブ入力キュー１２０ｃから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
【００５９】
図７における動作により、全てのサブロジック１１０でクロック抜けが発生したとしても、分配回路１４０と判定回路１５０とを正しく動作させることが可能である。つまり、全てのサブロジック１１０でクロック揺らぎが発生したとしても、分配処理と判定処理とを正しく行うことが可能である。
そのため、全てのサブロジック１１０においてクロック信号１０１が放射線の影響を受けて揺らいだとしても、後段のロジック１００に対してデータ抜けを発生させないことが可能である。
【００６０】
図８のタイミングチャートは、入力インタフェースキュー２１２に入力データが格納されていない場合についてロジック１００Ｂの動作を表す。
入力インタフェースキュー２１２に入力データが格納されていない場合のロジック１００Ｂの動作について、主に基本動作（図３参照）において説明しなかった点を図８に基づいて説明する。
図８の見方は、図３の見方と同じである。
【００６１】
第８時点において、サブロジック１１０ａは、結果データをサブ出力キュー１３０ａに格納し、完了信号１１１ａをトリガ回路１６０へ出力する。また、サブロジック１１０ｂは、結果データをサブ出力キュー１３０ｂに格納し、完了信号１１１ｂをトリガ回路１６０へ出力する。また、サブロジック１１０ｃは、結果データをサブ出力キュー１３０ｃに格納し、完了信号１１１ｃをトリガ回路１６０へ出力する。
トリガ回路１６０は、完了信号１１１ａと完了信号１１１ｂと完了信号１１１ｃとを検出する。そして、トリガ回路１６０は、判定イネーブル信号１６１を判定回路１５０へ出力し、分配イネーブル信号１６２を分配回路１４０へ出力する。
判定回路１５０は、判定イネーブル信号１６１を検出する。その後、判定回路１５０は、サブ出力キュー１３０ａとサブ出力キュー１３０ｂとサブ出力キュー１３０ｃとのそれぞれから結果データを１つ取り出し、取り出した結果データに対する多数決判定を行う。そして、判定回路１５０は、多数決判定で選ばれた結果データを出力データとして出力インタフェースキュー２１３に格納する。
分配回路１４０は、分配イネーブル信号１６２を検出する。そして、分配回路１４０は、入力インタフェースキュー２１２を確認する。
しかし、前段回路（ロジック１００Ａ）における処理時間の揺らぎにより、前段回路から入力インタフェースキュー２１２への入力データの格納がまだ行われていない。
そのため、分配回路１４０は、入力インタフェースキュー２１２に入力データが格納されていないことを確認し、入力インタフェースキュー２１２に対するポーリング動作を始める。つまり、分配回路１４０は、入力インタフェースキュー２１２を定期的に確認する。
【００６２】
第１１時点において、前段回路から入力インタフェースキュー２１２への入力データの格納が行われた。分配回路１４０は、入力インタフェースキュー２１２に入力データが格納されていることを確認する。
分配回路１４０は、入力インタフェースキュー２１２から入力データを取り出す。そして、分配回路１４０は、取り出した入力データをサブ入力キュー１２０ａとサブ入力キュー１２０ｂとサブ入力キュー１２０ｃとのそれぞれに格納する。そして、分配回路１４０は、格納信号をトリガ回路１６０へ出力する。
トリガ回路１６０は、格納信号を検出し、処理イネーブル信号１６３をサブロジック１１０ａとサブロジック１１０ｂとサブロジック１１０ｃとのそれぞれに出力する。
分配回路１４０が格納信号を出力せず、トリガ回路１６０が定期的に複数のサブ入力キュー１２０を確認してもよい。この場合、トリガ回路１６０は、複数のサブ入力キュー１２０のそれぞれに入力データが格納されていることを確認した後に、処理イネーブル信号１６３を出力する。
【００６３】
第１１時点において、サブロジック１１０ａは、処理イネーブル信号１６３ａを検出し、サブ入力キュー１２０ａから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
また、サブロジック１１０ｂは、処理イネーブル信号１６３ｂを検出し、サブ入力キュー１２０ｂから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
また、サブロジック１１０ｃは、処理イネーブル信号１６３ｃを検出し、サブ入力キュー１２０ｃから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
【００６４】
図８における動作により、前段のロジック１００において放射線の影響で処理時間が揺らいだとしても、前段のロジック１００の後ろに配置されたロジック１００が継続的に処理を行うことが可能である。
【００６５】
図９のタイミングチャートは、トリガ回路１６０でクロック抜けが発生した場合についてロジック１００Ｂの動作を表す。
トリガ回路１６０でクロック抜けが発生した場合のロジック１００Ｂの動作について、主に基本動作（図３参照）において説明しなかった点を図９に基づいて説明する。
図９の見方は、図３の見方と同じである。
【００６６】
第１３時点において、サブロジック１１０ａは、結果データをサブ出力キュー１３０ａに格納し、完了信号１１１ａをトリガ回路１６０へ出力する。また、サブロジック１１０ｂは、結果データをサブ出力キュー１３０ｂに格納し、完了信号１１１ｂをトリガ回路１６０へ出力する。また、サブロジック１１０ｃは、結果データをサブ出力キュー１３０ｃに格納し、完了信号１１１ｃをトリガ回路１６０へ出力する。
完了信号１１１ａと完了信号１１１ｂと完了信号１１１ｃとのそれぞれは、トリガ回路１６０に入力される。それぞれの完了信号１１１がトリガ回路１６０に入力されると、それぞれの完了信号１１１が受け付けられた状態（受付状態）がトリガ回路１６０に保持される。
しかし、トリガ回路１６０において、クロック信号１０１ｄが、放射線の影響で第１２時点から第１３時点までＨｉｇｈ状態のまま変化していない。つまり、トリガ回路１６０でクロック抜けが発生している。
そのため、トリガ回路１６０は、それぞれの完了信号１１１の受付状態を確認することができない。
【００６７】
第１３時点から第１４時点にかけて、クロック信号１０１ｄは、Ｈｉｇｈ状態からＬｏｗ状態に変化する。
そして、第１４時点において、クロック信号１０１ｄは、Ｌｏｗ状態からＨｉｇｈ状態に変化する。
【００６８】
第１４時点において、トリガ回路１６０は、クロック信号１０１ｄの状態変化をトリガにして、それぞれの完了信号１１１の受付状態を確認する。これにより、トリガ回路１６０は、完了信号１１１ａと完了信号１１１ｂと完了信号１１１ｃとを検出する。そして、トリガ回路１６０は、判定イネーブル信号１６１と分配イネーブル信号１６２と処理イネーブル信号１６３とを出力する。
判定回路１５０は、判定イネーブル信号１６１を検出する。その後、判定回路１５０は、サブ出力キュー１３０ａとサブ出力キュー１３０ｂとサブ出力キュー１３０ｃとのそれぞれから結果データを１つ取り出し、取り出した結果データに対する多数決判定を行う。そして、判定回路１５０は、多数決判定で選ばれた結果データを出力データとして出力インタフェースキュー２１３に格納する。
分配回路１４０は、分配イネーブル信号１６２を検出する。その後、分配回路１４０は、入力インタフェースキュー２１２から入力データを１つ取り出す。そして、分配回路１４０は、取り出した入力データをサブ入力キュー１２０ａとサブ入力キュー１２０ｂとサブ入力キュー１２０ｃとのそれぞれに格納する。
【００６９】
第１５時点において、サブロジック１１０ａは、処理イネーブル信号１６３ａを検出し、サブ入力キュー１２０ａから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
また、サブロジック１１０ｂは、処理イネーブル信号１６３ｂを検出し、サブ入力キュー１２０ｂから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
また、サブロジック１１０ｃは、処理イネーブル信号１６３ｃを検出し、サブ入力キュー１２０ｃから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
【００７０】
図９における動作により、トリガ回路１６０でクロック抜けが発生したとしても、分配回路１４０と判定回路１５０とを正しく動作させることが可能である。つまり、トリガ回路１６０でクロック揺らぎが発生したとしても、分配処理と判定処理とを正しく行うことが可能である。
そのため、トリガ回路１６０においてクロック信号１０１が放射線の影響を受けて揺らいだとしても、後段のロジック１００に対してデータ抜けを発生させないことが可能である。
【００７１】
図１０のタイミングチャートは、処理イネーブル信号１６３の抜けが発生した場合についてロジック１００Ｂの動作を表す。
サブロジック１１０ｃへの処理イネーブル信号１６３ｃの抜けが発生した場合のロジック１００Ｂの動作について、主に基本動作（図３参照）において説明しなかった点を図１０に基づいて説明する。
図１０の見方は、図３の見方と同じである。
【００７２】
第９時点において、トリガ回路１６０は、複数のサブロジック１１０のそれぞれに処理イネーブル信号１６３を出力した。
サブロジック１１０ａは、処理イネーブル信号１６３ａを検出し、サブ入力キュー１２０ａから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
また、サブロジック１１０ｂは、処理イネーブル信号１６３ｂを検出し、サブ入力キュー１２０ｂから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
しかし、放射線の影響でサブロジック１１０ｃへの処理イネーブル信号１６３ｃの抜けが発生した。
そのため、サブロジック１１０ｃは、処理イネーブル信号１６３ｃを検出しない。したがって、サブロジック１１０ｃは、データ処理を開始しない。
【００７３】
第１３時点において、サブロジック１１０ｂは、結果データをサブ出力キュー１３０ｂに格納し、完了信号１１１ｂをトリガ回路１６０へ出力する。また、サブロジック１１０ｃは、結果データをサブ出力キュー１３０ｃに格納し、完了信号１１１ｃをトリガ回路１６０へ出力する。
トリガ回路１６０は、完了信号１１１ｂと完了信号１１１ｃとを検出する。そして、トリガ回路１６０は、判定イネーブル信号１６１を判定回路１５０へ出力し、分配イネーブル信号１６２を分配回路１４０へ出力する。さらに、トリガ回路１６０は、処理イネーブル信号１６３をサブロジック１１０ａとサブロジック１１０ｂとサブロジック１１０ｃとのそれぞれに出力する。
判定回路１５０は、判定イネーブル信号１６１を検出する。その後、判定回路１５０は、サブ出力キュー１３０ｂとサブ出力キュー１３０ｃとのそれぞれから結果データを１つ取り出し、取り出した結果データに対する多数決判定を行う。サブ出力キュー１３０ｂから取り出した結果データとサブ出力キュー１３０ｃから取り出した結果データとが互いに異なる場合、判定回路１５０はいずれかの結果データを選択する。例えば、判定回路１５０はランダムに１つの結果データを選択する。そして、判定回路１５０は、多数決判定で選ばれた結果データを出力データとして出力インタフェースキュー２１３に格納する。
分配回路１４０は、分配イネーブル信号１６２を検出する。その後、分配回路１４０は、入力インタフェースキュー２１２から入力データを１つ取り出す。そして、分配回路１４０は、取り出した入力データをサブ入力キュー１２０ａとサブ入力キュー１２０ｂとサブ入力キュー１２０ｃとのそれぞれに格納する。
【００７４】
複数のサブ入力キュー１２０のそれぞれに入力データを格納するときに、分配回路１４０は、次のように動作するとよい。
分配回路１４０は、複数のサブ入力キュー１２０のそれぞれに格納されている入力データの数を数える。そして、分配回路１４０は、複数のサブ入力キュー１２０のそれぞれに格納されている入力データの数を比較する。
複数のサブ入力キュー１２０のそれぞれに格納されている入力データの数が一致しない場合、分配回路１４０は、他のサブ入力キュー１２０よりも多くの入力データが格納されているサブ入力キュー１２０を選択する。分配回路１４０は、選択したサブ入力キュー１２０から、格納された順番が早い順に、他のサブ入力キュー１２０より多い分の入力データを選択する。そして、分配回路１４０は、選択したサブ入力キュー１２０から、選択した入力データを削除する。
これにより、サブ入力キュー１２０ｃから、第９時点から第１３時点までの時間帯に処理されなかった入力データが削除される。
【００７５】
第１４時点において、サブロジック１１０ａは、処理イネーブル信号１６３ａを検出し、サブ入力キュー１２０ａから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
また、サブロジック１１０ｂは、処理イネーブル信号１６３ｂを検出し、サブ入力キュー１２０ｂから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
また、サブロジック１１０ｃは、処理イネーブル信号１６３ｃを検出し、サブ入力キュー１２０ｃから入力データを１つ取り出し、取り出した入力データに対するデータ処理を開始する。
【００７６】
図１０における動作により、処理イネーブル信号１６３が抜けたとしても、サブロジック１１０と分配回路１４０と判定回路１５０とのそれぞれを継続して動作させることが可能である。つまり、データ処理と分配処理と判定処理とを継続することが可能である。
【００７７】
図１１のタイミングチャートは、完了信号１１１の抜けが発生した場合についてロジック１００Ｂの動作を表す。
サブロジック１１０ａからの完了信号１１１ａの抜けが発生した場合のロジック１００Ｂの動作について、主に基本動作（図３参照）において説明しなかった点を図１１に基づいて説明する。
図１１の見方は、図３の見方と同じである。
【００７８】
第１３時点において、複数のサブロジック１１０のそれぞれでデータ処理が完了し、それぞれのサブロジック１１０が完了信号１１１をトリガ回路１６０へ出力した。
サブロジック１１０ｂからの完了信号１１１ｂとサブロジック１１０ｃからの完了信号１１１ｃとはトリガ回路１６０に到達し、トリガ回路１６０は完了信号１１１ｂと完了信号１１１ｃとを検出した。
一方、サブロジック１１０ａからの完了信号１１１ａは放射線の影響でトリガ回路１６０に到達せず、トリガ回路１６０は完了信号１１１ａを検出できなかった。
トリガ回路１６０は、完了信号１１１ｂと完了信号１１１ｃとを検出したので、判定イネーブル信号１６１を判定回路１５０へ出力する。また、トリガ回路１６０は、分配イネーブル信号１６２を分配回路１４０へ出力する。さらに、トリガ回路１６０は、処理イネーブル信号１６３をサブロジック１１０ａとサブロジック１１０ｂとサブロジック１１０ｃとのそれぞれに出力する。
判定回路１５０は、判定イネーブル信号１６１を検出する。その後、判定回路１５０は、サブ出力キュー１３０ａとサブ出力キュー１３０ｂとサブ出力キュー１３０ｃとのそれぞれから結果データを１つ取り出し、取り出した結果データに対する多数決判定を行う。そして、判定回路１５０は、多数決判定で選ばれた結果データを出力データとして出力インタフェースキュー２１３に格納する。
分配回路１４０は、分配イネーブル信号１６２を検出する。その後、分配回路１４０は、入力インタフェースキュー２１２から入力データを１つ取り出す。そして、分配回路１４０は、取り出した入力データをサブ入力キュー１２０ａとサブ入力キュー１２０ｂとサブ入力キュー１２０ｃとのそれぞれに格納する。
【００７９】
図１１における動作により、完了信号１１１が抜けたとしても、サブロジック１１０と分配回路１４０と判定回路１５０とのそれぞれを継続して動作させることが可能である。つまり、データ処理と分配処理と判定処理とを継続することが可能である。
【００８０】
＊＊＊実施の形態１の効果＊＊＊
まず、衛星通信システム９００のデジタルデバイス９０１について説明する。衛星通信システム９００のデジタルデバイス９０１は、衛星通信システム２００のデジタルデバイス２１０とは異なる構成を有する。
図１２に基づいて、衛星通信システム９００の構成を説明する。
衛星通信システム９００は、衛星通信システム２００（図１参照）と同様に、デジタルデバイス９０１を備える。
デジタルデバイス９０１は、デジタルデバイス２１０（図１参照）と同様に、クロック９０２と複数のロジック９１０とを備える。
デジタルデバイス９０１は、さらに、タイミング回路９０３を備える。
タイミング回路９０３は、複数のロジック９１０を動作させるためのイネーブル信号を出力する。
クロック信号とイネーブル信号とのそれぞれが、信号線を介して、複数のロジック９１０のそれぞれに入力される。
【００８１】
図１３に基づいて、デジタルデバイス９０１の構成、特に、ロジック９１０Ｂの構成を説明する。
デジタルデバイス９０１は、デジタルデバイス２１０（図２参照）と同様に、入力インタフェースキュー９０４と出力インタフェースキュー９０５とを備える。
ロジック９１０Ｂは、クロックインタフェース９１１とイネーブルインタフェース９１２と複数のサブロジック９１３と判定回路９１４とを備える。
複数のサブロジック９１３は、デジタルデバイス２１０の複数のサブロジック１１０に対応する。
判定回路９１４は、デジタルデバイス２１０の判定回路１５０に対応する。
クロックインタフェース９１１には、クロック９０２から出力されたクロック信号が入力される。クロックインタフェース９１１は、サブロジック９１３と判定回路９１４とのそれぞれにクロック信号を入力する。
イネーブルインタフェース９１２には、タイミング回路９０３から出力されたイネーブル信号が入力される。イネーブルインタフェース９１２は、サブロジック９１３と判定回路９１４とのそれぞれにイネーブル信号を入力する。
【００８２】
ロジック９１０Ａとロジック９１０Ｃとのそれぞれの構成は、ロジック９１０Ｂの構成と同じである。
【００８３】
図１４に基づいて、ロジック９１０Ｂの基本動作を説明する。
クロック信号９２１ａは、サブロジック９１３ａに入力されるクロック信号９２１である。イネーブル信号９２２ａは、サブロジック９１３ａに入力されるイネーブル信号９２２である。「サブロジックａ」は、サブロジック９１３ａが動作する時間帯を表している。
クロック信号９２１ｂは、サブロジック９１３ｂに入力されるクロック信号９２１である。イネーブル信号９２２ｂは、サブロジック９１３ｂに入力されるイネーブル信号９２２である。「サブロジックｂ」は、サブロジック９１３ｂが動作する時間帯を表している。
クロック信号９２１ｃは、サブロジック９１３ｃに入力されるクロック信号９２１である。イネーブル信号９２２ｃは、サブロジック９１３ｃに入力されるイネーブル信号９２２である。「サブロジックｃ」は、サブロジック９１３ｃが動作する時間帯を表している。
クロック信号９２１ｄは、判定回路９１４に入力されるクロック信号９２１である。イネーブル信号９２２ｄは、判定回路９１４に入力されるイネーブル信号９２２である。「判定」は、判定回路９１４が動作する時間帯を表している。
【００８４】
サブロジック９１３ａは、クロック信号９２１ａとイネーブル信号９２２ａとの組に合わせて動作する。
サブロジック９１３ｂは、クロック信号９２１ｂとイネーブル信号９２２ｂとの組に合わせて動作する。
サブロジック９１３ｃは、クロック信号９２１ｃとイネーブル信号９２２ｃとの組に合わせて動作する。
判定回路９１４は、クロック信号９２１ｄとイネーブル信号９２２ｄとの組に合わせて動作する。
【００８５】
図１５に基づいて、判定回路９１４でクロック抜けが発生した場合のロジック９１０Ｂについて説明する。
判定回路９１４において、クロック信号９２１ｄは、放射線の影響で第１２時点から第１５時点までＨｉｇｈ状態のまま変化していない。つまり、判定回路９１４でクロック抜けが発生している。第１２時点から第１５時点まで、判定回路９１４は、クロック信号９２１ｄの立ち上がりを検出することができない。
したがって、第１２時点から第１５時点までの時間帯に判定回路９１４が動作せず、処理抜けが発生してしまう。
【００８６】
図１６に基づいて、判定回路９１４でイネーブル信号９２２ｄの抜けが発生した場合のロジック９１０Ｂについて説明する。
判定回路９１４において、イネーブル信号９２２ｄは、放射線の影響で第１３時点から第１４時点までＨｉｇｈ状態のまま変化していない。つまり、判定回路９１４でイネーブル信号９２２ｄの抜けが発生している。第１３時点から第１４時点まで、判定回路９１４は、イネーブル信号９２２ｄの立ち上がりを検出することができない。
したがって、第１３時点から第１４時点までの時間帯に判定回路９１４が動作せず、処理抜けが発生してしまう。
【００８７】
上記の通り、衛星通信システム９００のデジタルデバイス９０１において各種信号の抜けが発生した場合、処理抜けが発生してしまう可能性がある。
【００８８】
次に、衛星通信システム２００のデジタルデバイス２１０について説明する。
デジタルデバイス２１０において、複数のロジック１００は、デジタルデバイス９０１における複数のロジック９１０のようにタイミング回路９０３によって集中的に管理されない。そして、デジタルデバイス２１０は、タイミング回路９０３を備える代わりに、複数のロジック１００のそれぞれにトリガ回路１６０を備える。
【００８９】
ロジック１００は、サブロジック１１０の冗長構成を有する。つまり、ロジック１００は、複数のサブロジック１１０を備える。そして、それぞれのサブロジック１１０に処理イネーブル信号１６３が入力され、それぞれのサブロジック１１０から完了信号１１１が出力される。
このような冗長構成により、放射線の影響による判定誤りに強いデジタル処理アーキテクチャが構成される。
【００９０】
デジタルデバイス２１０は、それぞれのロジック１００における処理時間の揺らぎを許容する。つまり、それぞれのロジック１００における処理時間が放射線の影響で変動したとしてもそれぞれのロジック１００における処理時間の変動量が相対的に同じであれば、それぞれのロジック１００は処理を継続することが可能である。
【００９１】
それぞれのロジック１００においてサブロジック１１０の冗長度を増やすことにより、処理イネーブル信号１６３の数と完了信号１１１の数とを増やすことができる。その結果、放射線の影響によるデータ誤りおよび放射線の影響による信号誤りに対する耐性が上がる。
【００９２】
＊＊＊他の構成＊＊＊
デジタルデバイス２１０は、衛星通信システム２００以外のシステムに利用されるデバイスであっても構わない。
ロジック１００の数は、３つ未満または４つ以上であってもよい。
サブロジック１１０とサブ入力キュー１２０とサブ出力キュー１３０とのそれぞれの数は、４つ以上であってもよい。
【００９３】
＊＊＊実施の形態の補足＊＊＊
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
【符号の説明】
【００９４】
１００  ロジック、１０１  クロック信号、１１０  サブロジック、１１１  完了信号、１２０  サブ入力キュー、１３０  サブ出力キュー、１４０  分配回路、１５０  判定回路、１６０  トリガ回路、１６１  判定イネーブル信号、１６２  分配イネーブル信号、１６３  処理イネーブル信号、２００  衛星通信システム、２１０  デジタルデバイス、２１１  クロック、２１２  入力インタフェースキュー、２１３  出力インタフェースキュー、９００  衛星通信システム、９０１  デジタルデバイス、９０２  クロック、９０３  タイミング回路、９０４  入力インタフェースキュー、９０５  出力インタフェースキュー、９１０  ロジック、９１１  クロックインタフェース、９１２  イネーブルインタフェース、９１３  サブロジック、９１４  判定回路、９２１  クロック信号、９２２  イネーブル信号。
【図１】
2020046700.tif 000003
【図２】
2020046700.tif 000004
【図３】
2020046700.tif 000005
【図４】
2020046700.tif 000006
【図５】
2020046700.tif 000007
【図６】
2020046700.tif 000008
【図７】
2020046700.tif 000009
【図８】
2020046700.tif 000010
【図９】
2020046700.tif 000011
【図１０】
2020046700.tif 000012
【図１１】
2020046700.tif 000013
【図１２】
2020046700.tif 000014
【図１３】
2020046700.tif 000015
【図１４】
2020046700.tif 000016
【図１５】
2020046700.tif 000017
【図１６】
2020046700.tif 000018