(58)【調査した分野】(Int.Cl.,DB名)
前記管理手段は、前記自己診断手段によって前記演算結果に異常がないと診断された場合、前記出力権限を保持し、前記自己診断手段によって前記演算結果に異常があると診断された場合、前記出力権限を保持せずに放棄するように構成され、
前記出力制御手段は、前記管理手段によって前記出力権限が保持されている場合、前記演算手段による演算結果を出力し、前記管理手段によって前記出力権限が放棄されている場合、前記演算手段による演算結果の出力を停止するように構成されている、
請求項1に記載の基本論理素子。
前記自己診断手段は、前記演算手段による演算結果から得られた自己診断データと、自素子とは別の少なくとも一つ以上の基本論理素子から出力された自己診断データと、を比較することによって、自素子から出力される演算結果に異常が無いかを自己診断するように構成されている、
請求項1又は2に記載の基本論理素子。
前記自己診断手段は、前記演算手段による演算結果から得られた自己診断データが、当該自己診断データ、及び、自素子とは別の前記少なくとも一つ以上の基本論理素子から出力された自己診断データ、のうち多数を占める値を示すか否かによって、自素子から出力される演算結果に異常が無いかを自己診断するように構成されている、
請求項3に記載の基本論理素子。
前記管理手段は、前記自己診断手段によって前記演算結果に異常があると診断された場合、自素子とは別の前記少なくとも一つ以上の基本論理素子から出力された自己診断データを、自素子の自己診断データの代わりに出力させるように構成されている、
請求項3又は4に記載の基本論理素子。
【発明を実施するための形態】
【0013】
以下、図面を参照しつつ、実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として実施の形態の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。
【0014】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明する。ただし、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【0015】
さらに、以下の実施の形態において、その構成要素(動作ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等(個数、数値、量、範囲等を含む)についても同様である。
【0016】
<事前検討>
まず、本発明者によって事前検討された基本論理素子及びそれを備えた冗長回路について説明する。
【0017】
図6は、実施の形態1に至る前の構想にかかる基本論理素子50の構成例を示すブロック図である。
図6に示す基本論理素子50は、例えば、FPGAを構成する複数の基本論理素子の一部又は全部に用いられる。FPGAでは、配線上に設けられた複数のバストランジスタのオンオフを切り替えて、これら複数の基本論理素子間の接続関係を切り替えることにより、所望の回路構成が実現されている。
【0018】
具体的には、基本論理素子(BLE)50は、ルックアップテーブル(LUT)51と、フリップフロップ52と、セレクタ53,54と、を備える。ルックアップテーブル51は、例えば入力信号DI0〜DI4に応じた値を出力する。セレクタ53は、ルックアップテーブル51の出力信号、及び、入力信号IPINの何れかを選択して出力する。なお、入力信号IPINは、例えば、複数の基本論理素子がカスケード接続して用いられる場合における、自素子とは別の基本論理素子の出力信号などである。フリップフロップ52は、セレクタ53によって選択された信号を、クロック信号CLKに同期して取り込み、出力する。セレクタ54は、セレクタ53によって選択された信号、及び、フリップフロップ52の出力信号の何れかを選択して、基本論理素子50の出力信号OPINとして出力する。
【0019】
≪基本論理素子50が用いられた冗長回路500の構成例≫
図7は、基本論理素子50が用いられた冗長回路500の構成例を示すブロック図である。冗長回路500は、同一の演算処理を並行して行う3個の基本論理素子50(以下、基本論理素子50_1〜50_3と称す)と、基本論理素子50_1〜50_3の出力信号のうち多数を占める値の出力信号を選択して出力する多数決回路60と、を備える。それにより、冗長回路500は、基本論理素子50_1〜50_3のうち、例えば基本論理素子50_1が故障した場合でも、故障していない基本論理素子50_2,50_3の出力信号を正式な出力信号として採用することができる。つまり、冗長回路500は、信頼性を向上させることができる。なお、本例では、冗長回路500に同一の演算処理を行う3個の基本論理素子50が設けられた場合について説明しているが、当然ながら4個以上の基本論理素子50が設けられても良い。
【0020】
しかしながら、冗長回路500の構成では、基本論理素子50_1〜50_3の出力信号が集中する単一故障点である多数決回路60に異常(故障)が発生した場合、正しい出力信号を出力することができなかった。つまり、冗長回路500の構成では、依然として信頼性を向上させることができなかった。
【0021】
そこで、そのような問題を解決することが可能な、実施の形態1にかかる基本論理素子1及びそれを備えた冗長回路100が見いだされた。
【0022】
<実施の形態1>
図1は、実施の形態1にかかる基本論理素子1の構成例を示すブロック図である。
図1に示す基本論理素子1は、例えば、FPGAを構成する複数の基本論理素子の一部又は全部に用いられる。FPGAでは、配線上に設けられた複数のバストランジスタのオンオフを切り替えて、これら複数の基本論理素子間の接続関係を切り替えることにより、所望の回路構成が実現される。
【0023】
具体的には、基本論理素子1は、演算部11と、自己診断部12と、管理部13と、出力制御部14と、を少なくとも備える。
【0024】
演算部11は、入力信号DIに対して演算処理を実行して、演算結果を出力する。演算部11は、ルックアップテーブルのほか、MCU(Micro−Controller Unit)、DSP(Digital Signal Processor)及びVPE(Vector Processing Element)等の演算器であっても良い。
【0025】
自己診断部12は、基本論理素子(自素子)1から出力端子OPINを介して外部に出力される演算結果に異常が無いかを診断する。例えば、自己診断部12は、演算部11による演算結果と、自素子から出力端子OPINを介して外部に出力される演算結果と、を比較する。そして、自己診断部12は、演算部11による演算結果と、自素子から出力端子OPINを介して外部に出力される演算結果と、の比較結果が一致する場合、自素子から出力端子OPINを介して外部に出力される演算結果に異常がないと診断する。他方、自己診断部12は、演算部11による演算結果と、自素子から出力端子OPINを介して外部に出力される演算結果と、の比較結果が一致しない場合、自素子から出力端子OPINを介して外部に出力される演算結果に異常があると診断する。
【0026】
なお、自己診断部12による自己診断方法は、上記以外の様々な診断方法が用いられて良い。例えば、自己診断部12は、演算部11による演算結果と、自素子から出力端子OPINを介して外部に出力される演算結果と、をそれぞれ一定期間蓄積させたうえで比較しても良い。
【0027】
管理部13は、自素子による演算結果の出力権限(データ出力権限)を保持するか否かを管理する。
【0028】
例えば、管理部13は、第1の別の基本論理素子1からデータ出力権限を放棄する(換言すると、データ出力権限を移行させる)ことを示す権限信号MRIを受け取ることによって、データ出力権限を得ることができる。ここで、管理部13は、自己診断部12による自己診断結果に基づいて、データ出力権限を保持し続けるか否かを決定する。
【0029】
例えば、管理部13は、自己診断部12によって自素子の演算結果に異常がないと診断された場合、データ出力権限を引き続き保持し、異常があると診断された場合、データ出力権限を保持せずに放棄する。管理部13は、データ出力権限を保持するか否かを示す権限信号MROを、第2の別の基本論理素子に出力する。
【0030】
出力制御部14は、例えば、トライステートバッファであって、管理部13によってデータ出力権限が保持されているか否かに応じて、演算部11による演算結果を、出力端子OPINを介して自素子の外部(例えば共有バス)に出力するか否かを制御する。
【0031】
例えば、管理部13によってデータ出力権限が保持されている場合、出力制御部14は、演算部11による演算結果を、出力端子OPINを介して自素子の外部に出力する。それに対し、管理部13によってデータ出力権限が放棄されている場合、出力制御部14は、演算部11による演算結果を、自素子の外部に出力するのを停止する。
【0032】
≪基本論理素子1が用いられた冗長回路100の構成例≫
図2は、基本論理素子1が用いられた冗長回路100の構成例を示すブロック図である。冗長回路100は、同一の演算処理を並行して行う3個の基本論理素子1(以下、基本論理素子1_1〜1_3と称す)を備える。なお、本例では、冗長回路100に同一の演算処理を行う3個の基本論理素子1が設けられた場合について説明するが、2個以上の基本論理素子1が設けられていれば良い。
【0033】
冗長回路100では、例えば、基本論理素子1_1〜1_3のうち基本論理素子1_1に対してデータ出力権限が与えられる。データ出力権限が与えられた基本論理素子1_1は、自素子に異常が無いか自己診断を行い、異常が無いと診断された場合、演算部11による演算結果を自素子の外部に出力する。なお、このとき、基本論理素子1_1によってデータ出力権限が保持されており、基本論理素子1_2,1_3はデータ出力権限を持たない。そのため、基本論理素子1_2,1_3から演算結果は出力されない。したがって、冗長回路100では、基本論理素子1_1の出力信号が、正式な出力信号として用いられる。
【0034】
それに対し、基本論理素子1_1は、自素子の演算結果に異常があると診断された場合、演算部11による演算結果を自素子の外部に出力するのを停止する。このとき、基本論理素子1_1によって保持されていたデータ出力権限は放棄され、例えば、基本論理素子1_2に移行する。データ出力権限が与えられた基本論理素子1_2は、自素子に異常が無いか自己診断を行い、異常が無いと診断された場合、演算部11による演算結果を自素子の外部に出力する。なお、このとき、基本論理素子1_2によってデータ出力権限が保持されており、基本論理素子1_1,1_3はデータ出力権限を持たない。そのため、基本論理素子1_1,1_3から演算結果は出力されない。したがって、冗長回路100では、基本論理素子1_2の出力信号が、正式な出力信号として用いられる。
【0035】
同様にして、基本論理素子1_2は、自素子の演算結果に異常があると診断された場合、演算部11による演算結果を自素子の外部に出力するのを停止する。このとき、基本論理素子1_2によって保持されていたデータ出力権限は放棄され、例えば、基本論理素子1_3に移行する。データ出力権限が与えられた基本論理素子1_3は、自素子に異常が無いか自己診断を行い、異常が無いと診断された場合、演算部11による演算結果を自素子の外部に出力する。なお、このとき、基本論理素子1_3によってデータ出力権限が保持されており、基本論理素子1_1,1_2はデータ出力権限を持たない。そのため、基本論理素子1_1,1_2から演算結果は出力されない。したがって、冗長回路100では、基本論理素子1_3の出力信号が、正式な出力信号として用いられる。
【0036】
このように、本実施の形態にかかる基本論理素子1は、自己診断によって自素子に異常があると診断された場合、演算結果の出力を停止して自素子を全体構成から離脱(セルフパージング)させるとともに、データ出力権限を別の基本論理素子1に移行させる。このような基本論理素子1を用いて構成された冗長回路100は、単一故障点となる多数決回路等を備える必要がないため、信頼性を向上させることができる。
【0037】
<実施の形態2>
図3は、実施の形態2にかかる基本論理素子2の構成例を示すブロック図である。
基本論理素子2では、自己診断部12が、自素子の演算結果(自己診断データ)だけでなく、自素子とは別の基本論理素子2から出力された演算結果(自己診断データ)を用いて、自己診断を行っている。以下、具体的に説明する。
【0038】
図3に示すように、基本論理素子2は、基本論理素子1の構成に加えて、シリアルパラレル変換部15と、バッファ16と、スイッチ17,18と、を備える。なお、シリアルパラレル変換部15及びバッファ16は、演算処理の一部であり、必要に応じて省略されても良い。
【0039】
シリアルパラレル変換部15は、演算部11によるシリアルの演算結果をパラレルに変換する。出力制御部14は、シリアルパラレル変換部15の出力を、自素子から出力端子OPINを介して外部に出力するか否かを制御する。バッファ16は、演算部11による演算結果(より詳細には、シリアルパラレル変換部15の出力)をドライブして出力する。
【0040】
自己診断部12は、自素子において生成された演算結果(自己診断データ)と、別の基本論理素子2から入力端子LDIに供給された自己診断データと、さらに別の基本論理素子2から入力端子RDIに供給された自己診断データと、を比較する。そして、自己診断部12は、その比較結果に基づいて、自素子から出力端子OPINを介して外部に出力される演算結果に異常が無いかを診断する。以下、自素子の入力端子LDIに自己診断データを供給する自素子とは別の基本論理素子2を、第1の別の基本論理素子2と称し、自素子の入力端子RDIに自己診断データを供給する自素子とは別の基本論理素子2を、第2の別の基本論理素子2と称す。
【0041】
例えば、自素子において生成された自己診断データが、3つの自己診断データのうち多数を占める値を示す場合、自己診断部12は、自素子から出力端子OPINを介して外部に出力される演算結果に異常が無いと診断する。他方、自素子において生成された自己診断データが、3つの自己診断データのうち多数を占める値を示さない場合、自己診断部12は、自素子から出力端子OPINを介して外部に出力される演算結果に異常があると診断する。
【0042】
なお、本実施の形態では、自己診断部12が、自素子において生成された自己診断データと、自素子とは別の2つの基本論理素子2のそれぞれから出力された自己診断データと、を比較する場合について説明しているが、これに限られない。自己診断部12は、自素子において生成された自己診断データを含む2つ以上の自己診断データを比較する構成に適宜変更可能である。
【0043】
管理部13は、自素子による演算結果の出力権限(データ出力権限)を保持するか否かを管理する。
【0044】
例えば、管理部13は、第1の別の基本論理素子2からデータ出力権限を放棄する(換言すると、データ出力権限を移行させる)ことを示す権限信号MRIを受け取ることによって、データ出力権限を得ることができる。ここで、管理部13は、自己診断部12による自己診断結果に基づいて、データ出力権限を保持し続けるか否かを決定する。
【0045】
例えば、管理部13は、自己診断部12によって自素子の演算結果に異常がないと診断された場合、データ出力権限を引き続き保持し、異常があると診断された場合、データ出力権限を保持せずに放棄する。管理部13は、データ出力権限を保持するか否かを示す権限信号MROを、第2の別の基本論理素子2に出力する。
【0046】
さらに、管理部13は、自己診断部12による自己診断結果に基づいて、スイッチ17,18の切り替えを制御する。スイッチ17は、自素子において生成された自己診断データと、第1の別の基本論理素子2から入力端子LDIに供給された自己診断データと、の何れかを選択して出力する。スイッチ18は、自素子において生成された自己診断データと、第2の別の基本論理素子2から入力端子RDIに供給された自己診断データと、の何れかを選択して出力する。
【0047】
例えば、自己診断部12によって自素子の演算結果に異常がないと診断された場合、スイッチ17は、自素子において生成された自己診断データを選択して、出力端子LDOを介して、第2の別の基本論理素子2に出力する。また、このとき、スイッチ18は、自素子において生成された自己診断データを選択して、出力端RLDOを介して、第1の別の基本論理素子2に出力する。
【0048】
それに対し、自己診断部12によって自素子の演算結果に異常があると診断された場合、スイッチ17は、第1の別の基本論理素子2から入力端子LDIに供給された自己診断データを選択して、出力端子LDOを介して、第2の別の基本論理素子2に出力する。また、このとき、スイッチ18は、第2の別の基本論理素子2から入力端子RDIに供給された自己診断データを選択して、出力端子RDOを介して、第1の別の基本論理素子2に出力する。
【0049】
つまり、基本論理素子2は、自己診断部12によって自素子の演算結果に異常があると診断された場合、自素子において生成された自己診断データを、別の基本論理素子2に出力しないようにする。このとき、基本論理素子2は、自素子において生成された自己診断データの代わりに、第1の別の基本論理素子2の自己診断データを、自素子を介して、第2の別の基本論理素子2に出力する。また、基本論理素子2は、自素子において生成された自己診断データの代わりに、第2の別の基本論理素子2の自己診断データを、自素子を介して、第1の別の基本論理素子2に出力する。
【0050】
換言すると、基本論理素子2は、自素子に異常が無いという診断結果により冗長構成から離脱していない状態では、自素子において生成された自己診断データを(右側の)第2の別の基本論理素子2へ伝搬させる。他方、基本論理素子2は、自素子に異常があるという診断結果により冗長構成から離脱した場合、(左側の)第1の別の基本論理素子2から入力される自己診断データを、自己をバイパスして、(右側の)第2の別の基本論理素子2に伝搬させる。同様にして、基本論理素子2は、自素子に異常が無いという診断結果により冗長構成から離脱していない状態では、自素子において生成された自己診断データを(左側の)第1の別の基本論理素子2へ伝搬させる。他方、基本論理素子2は、自素子に異常があるという診断結果により冗長構成から離脱した場合、(右側の)第2の別の基本論理素子2から入力される自己診断データを、自己をバイパスして、(左側の)第1の別の基本論理素子2に伝搬させる。
【0051】
基本論理素子2のその他の構成については、基本論理素子1の場合と同様であるため、その説明を省略する。
【0052】
≪基本論理素子2の具体的な構成の一例≫
図4は、基本論理素子2の具体的な構成例を基本論理素子2aとして示す図である。
図4に示すように、基本論理素子2aは、GCE(Gneric Core Element)21と、フリップフロップ22,23と、セレクタ24〜29と、を備える。
【0053】
なお、GCE21は、
図3における管理部13の一部、自己診断部12、及び、演算部11の機能を有する。セレクタ24,26及びフリップフロップ22を含む回路群は、例えば、
図3における出力制御部14の機能を有する。セレクタ25,27及びフリップフロップ23を含む回路群は、例えば、
図3における管理部13の一部の機能を有する。セレクタ28は、
図3におけるスイッチ17に相当する。セレクタ29は、
図3におけるスイッチ18に相当する。
【0054】
GCE21は、演算部11の機能として、入力信号DI0〜DI4に対して演算処理を実行して、演算結果を出力する。GCE21は、ルックアップテーブルのほか、MCU、DSP及びVPE等の演算器であっても良い。
【0055】
また、GCE21は、自己診断部12の機能として、自素子で生成された自己診断データと、第1の別の基本論理素子2から入力端子LDIに供給された自己診断データと、第2の別の基本論理素子2から入力端子RDIに供給された自己診断データと、を比較する。そして、GCE21は、その比較結果に基づいて、自素子から出力される演算結果に異常が無いかを診断する。
【0056】
また、GCE21は、管理部13の機能として、データ出力権限を保持するか否かを管理する。例えば、GCE21は、第1の別の基本論理素子2からデータ出力権限を放棄することを示す権限信号MRIを受け取った場合、セレクタ25の選択を切り替えることによって、データ出力権限をフリップフロップ23に保持させる。ここで、GCE21は、自己診断結果に基づいて、データ出力権限を保持し続けるか否かを決定する。
【0057】
例えば、GCE21は、自素子の演算結果に異常が無いと診断された場合、データ出力権限をフリップフロップ23に引き続き保持させ、異常があると診断された場合、フリップフロップ23に保持されたデータ出力権限を放棄させる。このフリップフロップ23の出力は、権限信号MROとして、例えば第2の別の基本論理素子2に出力される。なお、GCE21は、自素子の演算結果に異常があると診断された場合、セレクタ27の選択を切り替えることによって、権限信号MRIを、フリップフロップ23を介さずにそのまま権限信号MROとして出力させることもできる。
【0058】
さらに、GCE21は、管理部13の機能として、自己診断結果に基づいて、セレクタ28,29の切り替えを制御する。セレクタ28は、自素子において生成された自己診断データと、第1の別の基本論理素子2から入力端子LDIに供給された自己診断データと、の何れかを選択して、出力端子LDOを介して、第2の別の基本論理素子2に出力する。セレクタ29は、自素子において生成された自己診断データと、第2の別の基本論理素子2から入力端子RDIに供給された自己診断データと、の何れかを選択して、出力端子RDOを介して、第1の別の基本論理素子2に出力する。セレクタ28,29の動作については、スイッチ17,18と同様であるため、その説明を省略する。
【0059】
セレクタ24,26及びフリップフロップ22を含む回路群は、出力制御部14の機能として、フリップフロップ23にデータ出力権限が保持されているか否かに応じて、GCE21による演算結果を自素子の外部に出力するか否かを制御する。セレクタ24,26及びフリップフロップ22を含む回路群の動作については、出力制御部14の動作と同様であるため、その説明を省略する。
【0060】
なお、基本論理素子2の具体的な構成は、
図3に示す構成に限られず、同等の機能を実現可能な他の構成に適宜変更可能である。
【0061】
≪基本論理素子2が用いられた冗長回路200の構成例≫
図5は、基本論理素子2が用いられた冗長回路200の構成例を示すブロック図である。冗長回路200は、同一の演算処理を並行して行う4個の基本論理素子2(以下、基本論理素子2_1〜2_4と称す)を少なくとも備える。なお、本例では、冗長回路200に同一の演算処理を行う4個の基本論理素子2が設けられた場合について説明するが、2個以上の基本論理素子2が設けられていれば良い。
【0062】
冗長回路200では、例えば、基本論理素子2_1〜2_4のうち基本論理素子2_1に対してデータ出力権限が与えられる。データ出力権限が与えられた基本論理素子2_1は、自素子において生成された自己診断データと、基本論理素子2_4,2_1のそれぞれから出力された自己診断データと、を比較することにより、自素子に異常が無いか自己診断を行う。ここで、基本論理素子2_1は、異常がないと診断された場合、演算結果を自素子の外部に出力する。このとき、基本論理素子2_1によってデータ出力権限が保持されており、基本論理素子2_2〜2_4はデータ出力権限を持たない。そのため、基本論理素子2_2〜2_4から演算処理は出力されない。したがって、冗長回路200では、基本論理素子2_1の出力信号が、正式な出力信号として用いられる。
【0063】
それに対し、基本論理素子2_1は、自素子の演算結果に異常があると診断された場合、自素子の演算結果の出力を停止する。このとき、基本論理素子2_1によって保持されていたデータ出力権限は放棄され、例えば、基本論理素子2_2に移行する。データ出力権限が与えられた基本論理素子2_2は、自素子において生成された自己診断データと、基本論理素子2_1,2_3のそれぞれから出力された自己診断データと、を比較することにより、自素子に異常が無いか自己診断を行う。ここで、基本論理素子2_2は、異常がないと診断された場合、演算結果を自素子の外部に出力する。このとき、基本論理素子2_2によってデータ出力権限が保持されており、基本論理素子2_1,2_3,2_4はデータ出力権限を持たない。そのため、基本論理素子2_1,2_3,2_4から演算処理は出力されない。したがって、冗長回路200では、基本論理素子2_2の出力信号が、正式な出力信号として用いられる。
【0064】
同様にして、基本論理素子1_2は、自素子の演算結果に異常があると診断された場合、演算部11による演算結果を自素子の外部に出力するのを停止する。このとき、基本論理素子1_2によって保持されていたデータ出力権限は放棄され、例えば、基本論理素子1_3に移行する。基本論理素子2_3,2_4の動作については、基本的には基本論理素子2_1の場合と基本的には同様であるため、その説明を省略する。
【0065】
このように、本実施の形態にかかる基本論理素子2は、自己診断によって自素子に異常があると診断された場合、演算結果の出力を停止して自素子を全体構成から離脱(セルフパージング)させるとともに、データ出力権限を別の基本論理素子2に移行させる。このような基本論理素子2を用いて構成された冗長回路200は、単一故障点となる多数決回路等を備える必要がないため、信頼性を向上させることができる。
【0066】
特に、高い耐放射線性が求められる宇宙機搭載用FPGAをコスト削減のため民生品ベースで開発する場合、基本論理素子1,2を用いて構成された冗長回路を用いることで、民生品の回路技術を大きく変更すること無く、高い信頼性を維持することができる。
【0067】
以上、図面を参照して、本開示の実施の形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、本開示の要旨を逸脱しない範囲内において様々な設計変更等が可能である。
【0068】
上記実施の形態1,2では、基本論理素子1,2が、FPGA上に設けられた複数の基本論理素子の一部又は全部に用いられた場合を例に説明したが、これに限られない。基本論理素子1,2は、例えば、動的再構成プロセッサ(Dynamic Reconfigurable Processor:DRP)に設けられた複数の基本論理素子の一部又は全部に用いられても良い。
【0069】
また、FPGAや動的再構成プロセッサに設けられた複数の基本論理素子1(又は基本論理素子2)の間の接続関係を切り替えることによって所定の回路構成を実現する処理を、CPUにコンピュータプログラムを実行させることにより実現することが可能である。なお、CPUは、Central Processing Unitの略である。
【0070】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体は、例えば、磁気記録媒体、光磁気記録媒体、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリを含む。半導体メモリは、例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory)などである。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0071】
上記の実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0072】
(付記1)
演算処理を行う演算部と、
自素子から出力される演算結果に異常が無いかを自己診断する自己診断部と、
前記自己診断部による診断結果に基づいて前記演算結果の出力権限を保持するか否かを決定するとともに、その決定結果を権限信号として出力する管理部と、
前記管理部によって前記出力権限が保持されているか否かに基づいて、前記演算部による演算結果を出力するか否かを制御する出力制御部と、
を備えた、基本論理素子。
【0073】
(付記2)
前記管理部は、前記自己診断部によって前記演算結果に異常がないと診断された場合、前記出力権限を保持し、前記自己診断部によって前記演算結果に異常があると診断された場合、前記出力権限を保持せずに放棄するように構成され、
前記出力制御部は、前記管理部によって前記出力権限が保持されている場合、前記演算部による演算結果を出力し、前記管理部によって前記出力権限が放棄されている場合、前記演算部による演算結果の出力を停止するように構成されている、
付記1に記載の基本論理素子。
【0074】
(付記3)
前記管理部は、自素子とは別の基本論理素子から演算結果の出力権限が放棄されたことを示す権限信号を受け取ることによって、前記出力権限を保持するように構成されている、
付記1又は2に記載の基本論理素子。
【0075】
(付記4)
前記自己診断部は、前記演算部による演算結果から得られた自己診断データと、自素子とは別の少なくとも一つ以上の基本論理素子から出力された自己診断データと、を比較することによって、自素子から出力される演算結果に異常が無いかを自己診断するように構成されている、
付記1〜3の何れか一項に記載の基本論理素子。
【0076】
(付記5)
前記自己診断部は、前記演算部による演算結果から得られた自己診断データが、当該自己診断データ、及び、自素子とは別の前記少なくとも一つ以上の基本論理素子から出力された自己診断データ、のうち多数を占める値を示すか否かによって、自素子から出力される演算結果に異常が無いかを自己診断するように構成されている、
付記4に記載の基本論理素子。
【0077】
(付記6)
前記管理部は、前記自己診断部によって前記演算結果に異常があると診断された場合、自素子とは別の前記少なくとも一つ以上の基本論理素子から出力された自己診断データを、自素子の自己診断データの代わりに出力させるように構成されている、
付記4又は5に記載の基本論理素子。
【0078】
(付記7)
FPGA(Field Programmable Gate Array)上に設けられた複数の基本論理素子の少なくとも一つ以上に用いられる、
付記1〜6の何れか一項に記載の基本論理素子。
【0079】
(付記8)
動的再構成プロセッサに設けられた複数の基本論理素子の少なくとも一つ以上に用いられる、
付記1〜6の何れか一項に記載の基本論理素子。
【0080】
(付記9)
並列に設けられた複数の基本論理素子を備え、
前記複数の基本論理素子の各々は、
演算処理を行う演算部と、
自素子から出力される演算結果に異常が無いかを自己診断する自己診断部と、
前記自己診断部による診断結果に基づいて前記演算結果の出力権限を保持するか否かを決定するとともに、その決定結果を権限信号として出力する管理部と、
前記管理部によって前記出力権限が保持されているか否かに基づいて、前記演算部による演算結果を出力するか否かを制御する出力制御部と、
を有する、半導体装置。
【0081】
(付記10)
前記複数の基本論理素子の各々において、
前記管理部は、前記自己診断部によって前記演算結果に異常がないと診断された場合、前記出力権限を保持し、前記自己診断部によって前記演算結果に異常があると診断された場合、前記出力権限を保持せずに放棄するように構成され、
前記出力制御部は、前記管理部によって前記出力権限が保持されている場合、前記演算部による演算結果を出力し、前記管理部によって前記出力権限が放棄されている場合、前記演算部による演算結果の出力を停止するように構成されている、
付記9に記載の半導体装置。
【0082】
(付記11)
前記複数の基本論理素子の各々において、前記管理部は、自素子とは別の基本論理素子から演算結果の出力権限が放棄されたことを示す権限信号を受け取ることによって、前記出力権限を保持するように構成されている、
付記9又は10に記載の半導体装置。
【0083】
(付記12)
前記複数の基本論理素子の各々において、前記自己診断部は、前記演算部による演算結果から得られた自己診断データと、自素子とは別の少なくとも一つ以上の基本論理素子から出力された自己診断データと、を比較することによって、自素子から出力される演算結果に異常が無いかを自己診断するように構成されている、
付記9〜11の何れか一項に記載の半導体装置。
【0084】
(付記13)
前記複数の基本論理素子の各々において、前記自己診断部は、前記演算部による演算結果から得られた自己診断データが、当該自己診断データ、及び、自素子とは別の前記少なくとも一つ以上の基本論理素子から出力された自己診断データ、のうち多数を占める値を示すか否かによって、自素子から出力される演算結果に異常が無いかを自己診断するように構成されている、
付記12に記載の半導体装置。
【0085】
(付記14)
前記複数の基本論理素子の各々において、前記管理部は、前記自己診断部によって前記演算結果に異常があると診断された場合、自素子とは別の前記少なくとも一つ以上の基本論理素子から出力された自己診断データを、自素子の自己診断データの代わりに出力させるように構成されている、
付記12又は13に記載の半導体装置。
【0086】
(付記15)
前記複数の基本論理素子は、FPGA(Field Programmable Gate Array)上に設けられた複数の基本論理素子の一部である、
付記9〜14の何れか一項に記載の半導体装置。
【0087】
(付記16)
前記複数の基本論理素子は、動的再構成プロセッサに設けられた複数の基本論理素子の一部である、
付記9〜14の何れか一項に記載の半導体装置。
【0088】
(付記17)
演算処理を行うステップと、
演算結果に異常が無いかを自己診断するステップと、
自己診断の結果に基づいて前記演算結果の出力権限を保持するか否かを決定するとともに、その決定結果を権限信号として出力するステップと、
前記出力権限が保持されているか否かに基づいて、前記演算結果を出力するか否かを制御するステップと、
を備えた、基本論理素子の出力制御方法。
【0089】
(付記18)
演算処理を行う演算部と、自素子から出力される演算結果に異常が無いかを自己診断する自己診断部と、前記自己診断部による診断結果に基づいて前記演算結果の出力権限を保持するか否かを決定するとともに、その決定結果を権限信号として出力する管理部と、前記管理部によって前記出力権限が保持されているか否かに基づいて、前記演算部による演算結果を出力するか否かを制御する出力制御部と、を備えた、基本論理素子を複数組み合わせることにより所定の回路を構成する処理を、
コンピュータに実行させる制御プログラム。
【0090】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0091】
この出願は、2019年4月26日に出願された日本出願特願2019−085330を基礎とする優先権を主張し、その開示の全てをここに取り込む。