(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-07
(45)【発行日】2024-11-15
(54)【発明の名称】論理集積回路及び論理集積回路を用いた高安全制御システム
(51)【国際特許分類】
H03K 19/17764 20200101AFI20241108BHJP
G01R 31/28 20060101ALI20241108BHJP
【FI】
H03K19/17764
G01R31/28 Q
G01R31/28 R
G01R31/28 V
(21)【出願番号】P 2020182761
(22)【出願日】2020-10-30
【審査請求日】2023-05-26
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000062
【氏名又は名称】弁理士法人第一国際特許事務所
(72)【発明者】
【氏名】金川 信康
(72)【発明者】
【氏名】池田 尚弘
(72)【発明者】
【氏名】下村 哲也
(72)【発明者】
【氏名】島村 光太郎
(72)【発明者】
【氏名】中野 洋
【審査官】工藤 一光
(56)【参考文献】
【文献】国際公開第2015/075783(WO,A1)
【文献】特開2012-38026(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H03K19/173-19/17796
G06F11/07-11/20
G01R31/28-31/303
G01R31/317-31/3193
(57)【特許請求の範囲】
【請求項1】
入力値に対して論理演算を行い、出力値を出力する複数の論理エレメント
が複数の段に渡って配置されている論理回路と、
前記論理回路の前記論理エレメントの前記出力値を検証する検証回路と、
前記論理回路が正常に動作しているか否かを検証するためのテストパターンを生成するテストパターン生成部と、
前記テストパターン生成部によって生成された前記テストパターンを、前記入力値と共に前記複数の論理エレメントに注入するテストパターン注入部と、
を備える論理集積回路であって、
前記論理回路は、複数のテスト対象単位に区分され、前記テスト対象単位の少なくとも一部は複数の段に
渡って配置されている複数の論理エレメントを含んでおり、
前記検証回路は、前記テスト対象単位
の最終段のエレメントの出力を検証する、
ことを特徴とする論理集積回路。
【請求項2】
前記論理回路は、
少なくとも第1段、第2段、第3段、及び第4段を含み、
前記検証回路は、
前記論理回路の第1段及び第2段からなる第1のテスト対象単位としての出力を検証し、
前記論理回路の第3段及び第4段からなる第2のテスト対象単位としての出力を検証する、
ことを特徴とする、請求項1に記載の論理集積回路。
【請求項3】
前記論理回路は、
少なくとも第1段、第2段、第3段、及び第4段を含み、
前記検証回路は、
前記論理回路の第1段及び第2段からなる第1のテスト対象単位の出力を検証し、
前記論理回路の第3段からなる第2のテスト対象単位としての出力を検証し、
前記論理回路の第4段からなる第3のテスト対象単位としての出力を検証する、
ことを特徴とする、請求項1に記載の論理集積回路。
【請求項4】
前記複数の論理エレメントは、
2組の入力
データ同士を比較し、両者の一致または不一致を示す信号を出力する比較器を構成する、
ことを特徴とする、請求項
1に記載の論理集積回路。
【請求項5】
前記論理集積回路は、
冗長化された機能ブロックを更に備え、
前記冗長化された機能ブロックの出力は、
前記テストパターン生成部によって生成され、前記テストパターン注入部によって注入される前記テストパターンと共に前記比較器に入力される、
ことを特徴とする、請求項
4に記載の論理集積回路。
【請求項6】
請求項
5に記載の論理集積回路を用いて、
前記テストパターン生成部は、
誤り無しのテストパターンと誤りありのテストパターンを交互に生成し、
前記テストパターン注入部は、
前記誤り無しのテストパターンと前記誤りありのテストパターンを交互に前記比較器に注入し、
前記比較器は、
前記誤り無しのテストパターンと前記誤りありのテストパターンに基づいて交番信号を生成し、
前記交番信号は、
整流素子で整流されて、リレーを動作させるために用いられる、
ことを特徴とする高安全制御システム。
【請求項7】
前記リレーが落下した場合、
車両のブレーキを動作させることを特徴とする、請求項
6に記載の高安全制御システム。
【請求項8】
前記リレーが落下した場合、
車両の加速を停止させることを特徴とする、請求項
6に記載の高安全制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、論理集積回路及び論理集積回路を用いた高安全制御システムに関する。
【背景技術】
【0002】
近年、制御の自動化が進み、電子制御装置の安全性、信頼性への要求が高まっている。例えば、電子制御装置の安全性を確保するために、異常発生時には直ちにその異常を検出し、動作を停止することが求められている。
【0003】
従来、異常を検出するための誤り検出機能付き論理回路は、二線論理に代表される冗長論理を用いたセルフチェッキング論理によって構成されることが多かった。また、論理回路(特にマイクロプロセッサ)に関しては、2重化した上でその出力を比較し、チェックする方法が広く用いられ、更には比較器をセルフチェッキング論理によって構成することが望ましい。
【0004】
上述した従来技術でセルフチェッキング論理を実現するためには、故障モードが限定され、かつ既知である必要がある。このため、論理回路があらかじめ固定されている必要があり、上述したセルフチェッキング論理をゲートアレイまたはCBIC(Cell-based Integrated Circuit)などのカスタムLSIで構成する必要があった。
【0005】
一方、FPGA(Field Programable Gate Array)等のプログラマブル素子によってセルフチェッキング論理を実現するためには、当該論理がどのような故障をしても検出可能でなければならない。このため、いわゆるCell Fault Modelに従えば、n入力の論理回路に対して2^nのテストパターンが必要となり、多入力論理ではテストパターン数の爆発を招くことがある。
一例として、32bitのデータ同士を比較する比較器の場合、入力数は64本となり、故障検出のためのテストパターン数は2^64、すなわち1.84x10^19となる。仮にテストパターンの注入を100MHzで実行したとしても、テストの完了までに5849年を要することになる。
【0006】
以上のような背景のもと、テストパターン数の爆発を防ぐ手段として、国際公開第2015-075783号(特許文献1)には「ムーアの法則にしたがった集積度の向上に伴い、ASICを製造するためのマスクの設計製造コストが高騰する傾向にあり、よほどの量産品でない限りASICを適用できなくなることが予測される。特に本発明の対象とする高信頼、高安全なシステムでは用途の特殊性から自ずと生産量が限られている。そこで、製造に際して初期費用を抑えられるFPGA(Field Programmable Gate Array)の利用が期待される。FPGAを用いる場合に問題となるテストパターン数の爆発を防ぐことを目的とする。目的とする論理回路を構成する各LUTの出力をFPGAの外側に引き出し、検証回路でチェックする」技術が記載されている。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1には、FPGAを構成する論理エレメント毎にテスト対象とすることでテストパターン数の爆発を回避する方法が提案されている。FPGAを構成する論理エレメントの入力数は高々、4~6であるため、論理エレメント1個あたりのテストパターン数は2^4~2^6、すなわち16~64となる。複数の論理エレメントから構成される論理回路全体のテストのためのテストパターン数は、論理回路全体を構成する論理エレメントの数を16~64に乗じた値となり、テストパターン数は爆発せずに実用的な値となる。
【0009】
しかしながら、特許文献1によればテストパターン数の爆発を回避することができるものの、テスト対象である論理エレメントの出力をチェックする外部検証回路の回路規模の削減に更なる考慮が望まれる。論理エレメントの出力をチェックする外部検証回路はフェールセーフに実現するため、フェールセーフな論理が固定されたカスタムLSIか個別部品によって構成する必要があり、電子機器の寸法が大きくなってしまうという課題がある。
一例として、32bitのデータ同士を比較する比較器の場合、4入力の論理エレメントが21個必要となる。これらの21の入力を検証するための回路を個別部品によって構成すると、外部検証回路の寸法が拡大すると共に、コストが膨らむ。
【0010】
そこで、本開示は、テストパターン数の爆発を回避すると共に、論理エレメントの出力をチェックする外部検証回路の回路規模を削減することが可能な論理集積回路及び論理集積回路を用いた高安全制御システムを提供することを目的とする。
【課題を解決するための手段】
【0011】
上記の課題を解決するために、代表的な本開示の論理集積回路は、入力値に対し論理演算を行い、出力値を出力する複数の論理エレメントを含む複数の段からなる論理回路と、前記論理回路の前記論理エレメントの前記出力値を検証する検証回路と、を備える論理集積回路であって、前記検証回路は、前記複数の段による出力をテスト対象単位とする。
【発明の効果】
【0012】
本開示によれば、テストパターン数の爆発を回避すると共に、論理エレメントの出力をチェックする外部検証回路の回路規模を削減することが可能な論理集積回路及び論理集積回路を用いた高安全制御システムを提供することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、本開示の実施例1に係る論理集積回路の論理回路におけるプログラマブル素子の構成の一例を示す図である。
【
図2】
図2は、本開示の実施例2に係る論理集積回路の論理回路におけるプログラマブル素子からなる32bit:32bit比較器の構成の一例を示す図である。
【
図3】
図3は、本開示の実施例2に係る論理集積回路の論理回路におけるプログラマブル素子からなる128bit:128bit比較器の構成の一例を示す図である。
【
図4】
図4は、本開示の実施例2に係る論理集積回路の論理回路におけるプログラマブル素子からなる128bit:128bit比較器の構成の別の一例を示す図である。
【
図5】
図5は、本開示の実施例3に係る論理集積回路の外部検証回路の構成の一例を示す図である。
【
図6】
図6は、本開示の実施例3に係る論理集積回路の外部検証回路の構成の別の一例を示す図である。
【
図7】
図7は、本開示の実施例4に係る論理集積回路における初段の論理エレメントのテストパターンの一例を示す図である。
【
図8】
図8は、本開示の実施例4に係る誤り無しのテストパターンと誤りありのテストパターンとを交互に注入する場合の一例を示す図である。
【
図9】
図9は、本開示の実施例4に係る論理集積回路における第2段の論理エレメントのテストパターンの一例を示す図である。
【
図10】
図10は、本開示の実施例5に係る論理集積回路を用いた高安全制御システムの構成の一例を示す図である。
【
図11】
図11は、4入力論理エレメントの場合のテスト対象単位(段数)とテストパターン数の爆発を示すグラフである。
【
図12】
図12は、6入力論理エレメントの場合のテスト対象単位(段数)とテストパターン数の爆発を示すグラフである。
【発明を実施するための形態】
【0014】
以下、図面を参照して、本開示の実施形態について説明する。なお、この実施形態により本開示が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【0015】
上述したように、本開示は、テストパターン数の爆発を回避すると共に、論理エレメントの出力をチェックする外部検証回路の回路規模を削減することが可能な論理集積回路及び論理集積回路を用いた高安全制御システムを提供することを目的としている。
上記目的を達成するために、本開示では、テストパターン数が爆発する直前まで、より多くの数の論理エレメントを一つのテスト対象(テスト対象単位)とする。
【0016】
任意の論理回路(特にマイクロプロセッサ)に関しては、2重化した上でその出力を比較チェックする方法も広く用いられ、更には比較器をセルフチェッキング論理によって構成することが望ましいことから、本開示では、比較器をプログラマブル論理で実現することを前提としている。
【0017】
比較器をプログラマブル論理で実現する場合、一例として、初段の論理エレメントでビットごとの排他的論理和(XOR)と複数ビットの論理和(OR)、2段目以降の論理エレメントで複数ビットの論理和(OR)のツリーを構成することが考えられる。ここで、何段までのツリーを一つのテスト対象(テスト対象単位)とするかを、
図11及び
図12を参照して検討する。
【0018】
まず、
図11を参照して、4入力論理エレメントの場合を検討する。
図11は、4入力論理エレメントの場合のテスト対象単位(段数)とテストパターン数の爆発を示すグラフであり、各段数毎に、テストパターン数を示す。
1段分をテスト対象単位とした場合:入力数は4であり、テストパターン数は2^4=16となる。
2段分までをテスト対象単位とした場合:入力数は4^2=16であり、テストパターン数は2^16=65536となる。もし仮にテストパターンの注入を100MHzで実行したとすると、0.65msでテスト完了が可能である。
3段分までをテスト対象単位とした場合:入力数は4^3=64であり、テストパターン数は2^64=1.84x10^19と爆発する。もし仮にテストパターンの注入を100MHzで実行したとすると、テスト完了までに5849年かかることになる。
【0019】
次に、
図12を参照して、6入力論理エレメントの場合を検討する。
図12は、6入力論理エレメントの場合のテスト対象単位(段数)とテストパターン数の爆発を示すグラフであり、各段数毎に、テストパターン数を示す。
1段分をテスト対象単位とした場合:入力数は6であり、テストパターン数は2^6=64となる。
2段分までをテスト対象単位とした場合:入力数は6^2=36であり、テストパターン数は2^36=6.87x10^10となる。もし仮にテストパターンの注入を100MHzで実行したとすると、11.5分でテスト完了が可能である。
3段分までをテスト対象単位とした場合:入力数は6^3=216であり、テストパターン数は2^216=1.05x10^65と爆発する。もし仮にテストパターンの注入を100MHzで実行したとしても、テスト完了までに3.34x10^49年かかることになる。この時間は現在見積もられている宇宙の年齢(138億年)や陽子崩壊までの寿命(10^33年以上)と比べても遥かに長い時間である。
以上の検討により、2段分の出力を1つのテスト対象(テスト対象単位)とすることが、実用的なテストパターン数でテスト対象単位数を最小にでき、外部検証回路の回路規模を最小にすることができる。
ただし、本開示はこれに限定されず、入力の数や外部検証回路の性能等、論理集積回路の構成に応じて、テストパターン数の爆発を回避しつつ、外部検証回路の寸法を抑えることができる限り、何段分かをテスト対象単位とするかを適宜に設定してもよい。
【実施例1】
【0020】
次に、
図1を参照して、本開示の実施例1に係る論理集積回路の論理回路におけるプログラマブル素子の構成について説明する。
【0021】
図1は、本開示の実施例1に係る論理集積回路の論理回路150におけるプログラマブル素子100の構成の一例を示す図である。
本開示の実施例1に係る論理集積回路は、入力値に対し論理演算を行い、出力値を出力する複数の論理エレメントを含む複数の段からなる論理回路150と、論理回路の論理エレメントの出力値を検証する検証回路(
図1に図示せず)とを備える。
なお、論理回路の論理エレメントの出力値を検証する検証回路の詳細は、
図5~
図6を参照して説明するため、ここではその説明を省略し、論理回路150を中心に説明する。
【0022】
上述したように、
図1は、論理回路150におけるプログラマブル素子100の構成の一例を示す。論理回路150の比較対象となる入力データは、テストパターン生成部20によって生成されたテストパターンを排他的論理和(XOR)(図では中に+のある〇で示す)で重畳されて、比較器を構成するプログラマブル素子100に入力される。
【0023】
図1に示すように、論理回路150におけるプログラマブル素子100は、3段構成であり、それぞれの段に論理エレメント10が配置されている。
なお、本開示では、それぞれの論理エレメントを一意に特定するために、「10-x-y」との形式の符号を用いており、ここでは、「10」は、論理エレメントであることを示す、「x」は、当該論理エレメントが何段目に属しているかを示し、「y」は、当該論理エレメントがx番目の段において何番目であるかを示す。一例として、論理エレメント10-2-4は、論理回路の「2段」における「4番」の論理エレメントである。
また、テスト対象単位1や、テスト対象単位の出力2等についても、同様の形式の符号を用いている。
【0024】
図1に示すように、論理回路150におけるプログラマブル素子100内では、初段の論理エレメント10-1-1~10-1-4と2段目の論理エレメント10-2-1、初段の論理エレメント10-1-5~10-1-8(説明の便宜上、
図1で省略)と2段目の論理エレメント10-2-2(説明の便宜上、
図1で省略)、初段の論理エレメント10-1-9~10-1-12(説明の便宜上、
図1で省略)と2段目の論理エレメント10-2-3(説明の便宜上、
図1で省略)、初段の論理エレメント10-1-13~10-1-16と2段目の論理エレメント10-2-4はそれぞれ、(
図1における点線で示す)テスト対象単位1-1-1~1-1-4となり、出力2-1-1~2-1-4としてプログラマブル素子100の外部に出力され、外部検証回路(
図5、6参照)でチェックされる。
また、3段目の論理エレメント10-3は、単独でテスト対象単位1-2となり、出力2-2としてプログラマブル素子100の外部に出力し、外部検証回路(
図5、6参照)でチェックされる。
【0025】
以上説明した実施例1に係る論理集積回路の論理回路150におけるプログラマブル素子100の構成によれば、従来では21個の論理エレメントであったテスト対象単位は、テスト対象単位1-1-1~1-1-4、テスト対象単位1-2の合計5個に削減される。
更に、テストパターン数について、テスト対象単位1-1-1~1-1-4がそれぞれ2^16=65536となり、テスト対象単位1-2が2^4=16で合計4x2^16+2^4=262160となるため、テストパターンの検証を実用的な時間内で完了させることができると共に、外部検証回路の回路規模を削減することができる。
【実施例2】
【0026】
次に、
図2を参照して、本開示の実施例2に係る論理集積回路の論理回路におけるプログラマブル素子からなる32bit:32bit比較器の構成について説明する。
【0027】
図2は、本開示の実施例2に係る論理集積回路の論理回路におけるプログラマブル素子からなる32bit:32bit比較器250の構成の一例を示す図である。
図2に示すように、比較器250の比較対象の入力データとなるINai、INbi(i: 0…31、a/b:検査対象のデータの区別)は、テストパターン生成部20-a及びテストパターン生成部20-bの2つのテストパターン生成部によって生成されたテストパターンを排他的論理和(XOR)(図では中に+のある〇で示す)で重畳された後、比較器250を構成するプログラマブル素子100に入力される。
【0028】
図2に示す比較器250は、2つのテストパターン生成部によって生成されたテストパターンを入力する点において、
図1を参照して説明した論理回路と相違する。ここで、テストパターン生成部を、テストパターン生成部20-a及びテストパターン生成部20-bとの2つで実現しているのは、同一原因故障を回避するために、検査対象のデータ毎にテストパターン生成部20-a、20-bと独立させた方が望ましいからである。
このように、仮にテストパターン生成部20-a及びテストパターン生成部20-bの内、一方が故障しても、他方のテストパターン生成部でテストパターンを生成することができるため、論理回路について異常が発生したか否かを確実に検出することができる。
【0029】
図2に示すように、比較器250におけるプログラマブル素子100は、3段構成であり、それぞれの段に論理エレメント10が配置されている。
より具体的には、
図2に示すように、プログラマブル素子100内では、初段の論理エレメント10-1-1~10-1-16は、比較器250を構成するためのビット毎(INaiとINbi(i: 0…31))の排他的論理和(XOR)と複数ビットの論理和(OR)とを構成し、2段目の論理エレメント10-2-1~10-2-4、3段目の論理エレメント10-3は4入力論理和(OR)を構成する。
【0030】
初段の論理エレメント10-1-1~10-1-4と2段目の論理エレメント10-2-1、初段の論理エレメント10-1-5~10-1-8(説明の便宜上、
図2で省略)と2段目の論理エレメント10-2-2(説明の便宜上、
図2で省略)、初段の論理エレメント10-1-9~10-1-12(説明の便宜上、
図2で省略)と2段目の論理エレメント10-2-3、初段の論理エレメント10-1-13~10-1-16と2段目の論理エレメント10-2-4はそれぞれ、(
図2における点線で示す)テスト対象単位1-1-1~1-1-4となり、出力2-1-1~2-1-4としてプログラマブル素子100の外部に出力され、外部検証回路(
図5、6参照)でチェックされる。
また、3段目の論理エレメント10-3は、単独でテスト対象単位1-2となり、出力2-2としてプログラマブル素子100の外部に出力され、外部検証回路(
図5、6参照)でチェックされる。
【0031】
以上説明した実施例2に係る論理回路におけるプログラマブル素子100からなる比較器250の構成によれば、従来では21個の論理エレメントであったテスト対象単位は、テスト対象単位1-1-1~1-1-4、テスト対象単位1-2の合計5個に削減される。
更に、テストパターン数について、テスト対象単位1-1-1~1-1-4がそれぞれ2^16=65536となり、テスト対象単位1-2が2^4=16で合計4x2^16+2^4=262160となるため、テストパターンの検証を実用的な時間内で完了させることができると共に、外部検証回路の回路規模を削減することができる。
【0032】
次に、
図3を参照して、本開示の実施例2に係る論理集積回路の論理回路におけるプログラマブル素子からなる128bit:128bit比較器の構成について説明する。
【0033】
図3は、本開示の実施例2に係る論理集積回路の論理回路におけるプログラマブル素子からなる128bit:128bit比較器350の構成の一例を示す図である。
【0034】
図3に示すように、比較器350におけるプログラマブル素子100は、4段構成であり、それぞれの段に論理エレメント10が配置されている。
図2に示す32bit:32bit比較器250と同様に、
図3に示す128bit:128bit比較器350では、初段の論理エレメント10-1-1~10-1-4と2段目の論理エレメント10-2-1、初段の論理エレメント10-1-5~10-1-8(説明の便宜上、
図3で省略)と2段目の論理エレメント10-2-2(説明の便宜上、
図3で省略)、初段の論理エレメント10-1-9~10-1-12(説明の便宜上、
図3で省略)と2段目の論理エレメント10-2-3(説明の便宜上、
図3で省略)、初段の論理エレメント10-1-13~10-1-16と2段目の論理エレメント10-2-4、…初段の論理エレメント10-1-61~10-1-64と2段目の論理エレメント10-2-16はそれぞれ、(
図3における点線で示す)テスト対象単位1-1-1~1-1-16となり、出力2-1-1~2-1-16としてプログラマブル素子100の外部に出力され、外部検証回路(
図5、6参照)でチェックされる。
【0035】
一方、3段目の論理エレメント10-3-1~10-3-4及び4段目の論理エレメント10-4はそれぞれ、単独でテスト対象単位1-2-1~1-2-4、1-3となり、出力2-2-1~2-2-4、2-3としてプログラマブル素子100の外部に出力され、外部検証回路(
図5、6参照)でチェックされる。つまり、初段及び2段目に属する論理エレメントをまとめて1つのテスト対象単位としており、3段目及び4段目に属する論理エレメントはそれぞれ個別の対象単位となる。
【0036】
以上説明した実施例2に係る論理回路におけるプログラマブル素子100からなる128bit:128bit比較器350の構成によれば、従来では85個の論理エレメントであったテスト対象単位は、テスト対象単位1-1-1~1-1-16、テスト対象単位1-2-1~1-2-4、1-3の合計21個に削減される。
更に、テストパターン数について、テスト対象単位1-1-1~1-1-16がそれぞれ2^16=65536となり、テスト対象単位1-2-1~1-2-4、1-3がそれぞれ2^4=16で合計16x2^16+5x2^4=1048656となるため、テストパターンの検証を実用的な時間内で完了させることができると共に、外部検証回路の回路規模を削減することができる。
【0037】
次に、
図4を参照して、本開示の実施例2に係る論理集積回路の論理回路におけるプログラマブル素子からなる128bit:128bit比較器の構成の一例について説明する。
【0038】
図4は、本開示の実施例2に係る論理集積回路の論理回路におけるプログラマブル素子からなる128bit:128bit比較器450の構成の一例を示す図である。
図4に示すように、比較器450におけるプログラマブル素子100は、4段構成であり、それぞれの段に論理エレメント10が配置されている。
【0039】
図4に示す論理集積回路におけるプログラマブル素子からなる128bit:128bit比較器450の構成は、
図3を参照して説明した128bit:128bit比較器350の構成と実質的に同様であるが、
図4に示す128bit:128bit比較器450では、3段目の論理エレメント10-3-1~10-3-4と、4段目の論理エレメント10-4とをまとめ、1つのテスト対象単位1-2としている点において、3段目の論理エレメントと、4段目の論理エレメントとのそれぞれを個別のテスト対象単位とする
図3の128bit:128bit比較器350と異なる。
また、
図4に示すように、4段目の論理エレメント10-4の出力2-2は、プログラマブル素子100の外部に出力され、外部検証回路(
図5、6参照)でチェックされる。
【0040】
以上説明した実施例2に係る論理回路におけるプログラマブル素子100からなる128bit:128bit比較器450の構成によれば、従来では85個の論理エレメントであったテスト対象単位は、テスト対象単位1-1-1~1-1-16、テスト対象単位1-2の合計17個に削減される。これにより、
図3に示す比較器350に比べて、テスト対象単位を更に削減することができるため、外部の検証回路の構成を更に簡略化することができる。
更に、テストパターン数について、テスト対象単位1-1-1~1-1-16、テスト対象単位1-2がそれぞれ2^16=65536で合計(16+1)x2^16=1114112となるため、テストパターンの検証を実用的な時間内で完了させることができると共に、外部検証回路の回路規模を削減することができる。
【実施例3】
【0041】
次に、
図5及び
図6を参照して、本開示の実施例3に係る外部検証回路の構成について説明する。
【0042】
図5は、本開示の実施例3に係る外部検証回路550の構成の一例を示す図である。
図5に示す外部検証回路550は、例えば
図2を参照して説明した32bit:32bit比較器250及び
図4を参照して説明した128bit:128bit比較器450による出力を検証するための外部検証回路である。
【0043】
外部検証回路550では、極性が途中で反転されて直列に接続されたD-フリップフロップDFF0-1~DFF0-n、D-フリップフロップDFF1-1~DFF1-2がそれぞれフェールセーフ論理積(AND)FS-AND0、FS-AND1を構成している。
なお、外部検証回路550を
図2に示す比較器250に適用した場合、n=4であり、
図4に示す比較器450に適用した場合、n=16である。
【0044】
各フェールセーフ論理積(AND)が構成するD-フリップフロップのクロック端子への入力が一巡する毎に、Q出力が反転動作をする。すなわち、全てのクロック端子に交番信号が入力されると反転する交番信号をQ端子から出力することから、フェールセーフ論理積(AND)と呼ばれている。
【0045】
フェールセーフ論理積(AND)FS-AND1を構成するD-フリップフロップのクロック端子には、テスト対象単位1-1-1~1-1-4からの出力2-12-1-1~2-1-4(
図2、
図4参照)、またはテスト対象単位1-1-1~1-1-16からの出力2-1-1~2-1-16(
図4参照)が入力される。また、フェールセーフ論理積(AND)FS-AND0を構成するD-フリップフロップのクロック端子には、フェールセーフ論理積(AND)FS-AND1からの出力とテスト対象単位1-2からの出力2-2(
図2、
図4参照)が入力される。
【0046】
以上説明した、
図5に示す外部検証回路550の構成によれば、テスト対象単位1-1-1~1-1-4からの出力2-1-1~2-1-4、又はテスト対象単位1-1-1~1-1-16からの出力2-1-1~2-1-16として到来するテストパターンによるパルスが一巡し、テスト対象単位1-2からの出力2-2にテストパターンによるパルスが到来する毎にフェールセーフ論理積(AND)FS-AND0の出力2-0が反転、即ち、異常の有無を判定するための交番信号が出力される。
【0047】
図6は、本開示の実施例3に係る外部検証回路650の構成の一例を示す図である。
図6に示す外部検証回路650は、例えば
図3を参照して説明した128bit:128bit比較器350による出力を検証するための外部検証回路である。
【0048】
外部検証回路650では、極性が途中で反転されて直列に接続されたD-フリップフロップDFF0-1~DFF0-n、D-フリップフロップDFF1-1~DFF1-n、D-フリップフロップDFF2-1~DFF2-mがそれぞれフェールセーフ論理積(AND)FS-AND0、FS-AND1、FS-AND2を構成している。
なお、外部検証回路650を
図3に示す比較器350に適用した場合、n=16であり、m=4である。
【0049】
フェールセーフ論理積(AND)FS-AND1を構成するD-フリップフロップのクロック端子には、テスト対象単位1-1-1~1-1-16からの出力2-1-1~2-1-16(
図3参照)が入力される。また、フェールセーフ論理積(AND)FS-AND2を構成するD-フリップフロップのクロック端子には、テスト対象単位1-2-1~1-2-4からの出力2-2-1~2-2-4(
図3参照)が入力される。また、フェールセーフ論理積(AND)FS-AND0を構成するD-フリップフロップのクロック端子には、フェールセーフ論理積(AND)FS-AND1、)FS-AND2からの出力とテスト対象単位1-3からの出力2-3(
図3参照)とが入力される。
【0050】
以上説明した、
図6に示す外部検証回路650の構成によれば、テスト対象単位1-1-1~1-1-16からの出力2-1-1~2-1-16として到来するテストパターンによるパルスが一巡し、テスト対象単位1-2-1~1-2-4からの出力2-2-1~2-2-4として到来するテストパターンによるパルスが一巡し、テスト対象単位1-3からの出力2-3にテストパターンによるパルスが到来する毎にフェールセーフ論理積(AND)FS-AND0の出力2-0が反転、即ち、異常の有無を判定するための交番信号が出力される。
【実施例4】
【0051】
次に、
図7~
図9を参照して、本開示の実施例に係るテストパターンについて説明する。
【0052】
図7は、本開示の実施例4に係る論理集積回路における初段の論理エレメントのテストパターンの一例を示す図である。
ここでのテストパターンとは、本開示の実施例に係る論理回路が正常に動作しているか否かを検証するためのデータである。論理回路の故障パターンとして、信号がハイ又はロー(つまり、1又は0)のいずれかに固定されてしまうことが多いため、本開示では、このような故障を確実に検出するためには、0と1が交互に反転するテストパターンを用いることとする。これにより、0と1が交互に反転する以外の信号が論理回路から出力された場合(例えば、0が連続した場合や1が連続した場合)、故障等の異常が発生したことを判定することができる。
なお、実施例4で説明するテストパターンは、本開示の任意の実施例に係るテストパターンであってもよい。
【0053】
図7では、本開示の実施例に係る初段の論理エレメント10-1-1~10-1-16(
図1、
図2参照)、または10-1-1~10-1-64(
図3、
図4参照)のそれぞれのテストパターンがテストパターンテーブル700に示される。
図7に示すように、テストパターンテーブル700では、テストシナリオ毎に、テストパターン生成部20-aによって生成されるテストパターン番号a1、a2と、テストパターン生成部20-bによって生成されるテストパターン番号b1、b2のテストパターンが格納される。
一例とし、2bit:2bit比較器の場合、テストシナリオとしては0bit誤り(誤りなし)、1bit誤り、及び2bit誤りが考えられる。この場合、
図7に示すように、1bit誤りとしてはT1~T4のテストパターンが示され、2bit誤りとしてT5~T8のテストパターンが示される。
なお、ここでは、テストパターンテーブル700に示す「t」は、当該ビットを反転させて誤りを疑似的に発生させることを表している。
【0054】
図8は、本開示の実施例4に係る誤り無しテストパターンと誤りありのテストパターンとを交互に注入する場合の一例を示す図である。比較器の出力として0、1が交互になる交番信号を出力させるためには、
図8に示すように、誤り無しのパターンと誤りのパターンT1~T8のいずれかを交互に入力することが望ましい。このように、0又は1が連続した場合、故障等の異常が発生したことを判定することができる。
また、上述したように、検査対象のデータ毎に、テストパターン生成部20-a、20-b(
図1~
図4参照)とで独立させ、a系、b系のそれぞれからのデータにテストパターンを注入することが望ましい。
【0055】
図9は、本開示の実施例4に係る論理集積回路の論理回路における2段目の論理エレメントのテストパターンの一例を示す図である。
図9では、初段と2段目の論理エレメントからなるテスト対象単位1-1-1~1-1-4または1-1-1~1-1-16のそれぞれのテストパターンがテストパターンテーブル900に示される。
【0056】
図9に示すように、テストパターンテーブル900では、テストシナリオ毎に、論理エレメント(
図9では「LE」として省略)10-1-1~10-1-4のテストパターンが格納される。2段目の論理エレメントのためのテストシナリオとしては、0bit誤り(誤りなし)、1bit誤り、2bit誤り、3bit誤、4bit誤りが考えられる。
【0057】
一例として、論理エレメント10-1-1~10-1-4の場合、順次出力が1となるためのテストパターンとしては、例えば
図7に示すテストパターンテーブル700に格納されているテストパターンを使用してもよい。
また、初段の論理エレメントのテストのためには、Ti、To、To、Toとして、T1~T8の全てを組み合わせる必要があるため、テスト対象単位当たり、16x8^3=65536通りのテストパターンとなる。また、2段目の論理エレメントの出力として0、1が交互になる交番信号を出力させるためには、誤り無しのパターンと誤りのstep1~16を交互に入力することができる。
【実施例5】
【0058】
次に、
図10を参照して、本開示の実施例5に係る論理集積回路を用いた高安全制御システムの構成について説明する。
【0059】
図10は、本開示の実施例5に係る、論理集積回路を用いた高安全制御システム1000の構成の一例を示す図である。
図10に示す高安全制御システム1000は、例えば列車や自動車等に設置され、ブレーキや加速を制御するために用いられてもよい。
図10に示すように、高安全制御システム1000は、冗長処理部200-1、冗長処理部200-2、機能ブロック201-1、機能ブロック201-2、テストパターン生成部20-a、テストパターン生成部20-b、テストパターン注入部21-a、テストパターン注入部21-b、論理回路のプログラマブル素子100、外部検証回路30、フェールセーフアンプ40、及びリレー50を備える。
【0060】
図10に示すように、高安全制御システム1000は、冗長処理部200-1、200-2内部には機能ブロック201-1、201-2、テストパターン生成部20-a、20-b、及びテストパターン注入部21-a、21-bを備える。テストパターン生成部20-a、20-bは、論理回路が正常に動作しているか否かを検証するためのテストパターンを生成するための機能部である。また、テストパターン注入部21-a、21-bは、テストパターン生成部によって生成されたテストパターンを、入力値と共に前記複数の論理エレメントに注入するための機能部である。
【0061】
また、
図10に示すように、機能ブロック201-1、201-2の出力は、テストパターン生成部20-a、20-bにより生成され、テストパターン注入部21-a、21-bによって注入されるテストパターンを排他的論理和(XOR)で重畳されて比較器であるプログラマブル素子100に入力される。
なお、ここでのプログラマブル素子100は、上述した実施例1~3のいずれかによる論理回路におけるプログラマブル素子であってもよい。また、
図10に示す外部検証回路は、例えば
図5に示す外部検証回路550であってもよく、
図6に示す外部検証回路650であってもよい。
【0062】
比較器であるプログラマブル素子100を構成する論理エレメントのテスト対象単位1-x-x(例えば、
図2に示すテスト対象単位1-1-1~1-1-4、
図3に示すテスト対象単位1-1-1~1-1-16等)の出力2-x-x(例えば
図2に示す出力2-1-1、
図3に示す2-1-4等)は、外部検証回路30に入力され、その出力2-0はフェールセーフアンプ40に入力される。フェールセーフアンプ40は、増幅器と交流成分のみを通過するトランスフォーマ(変成器)、キャパシタなどの素子、整流素子からなる。
【0063】
外部検証回路30から出力2-0として出力された交番信号は、増幅され、トランスフォーマ、キャパシタなどの素子を通過した後、整流素子で整流されてリレー50を駆動する。リレー50が駆動されている(扛上している、つまり、継電器が動作し、電磁石に電流が流れ接点が閉じた状態となっている)間は、列車等の車輪を制動するブレーキは動作せず、リレー50が駆動されずに落下した場合には、列車等の車輪を制動するブレーキが動作する。または、リレー50が駆動されている(扛上している)間は、加速動作を許可し、リレー50が駆動されずに落下した場合には加速動作を許可しない。
【0064】
以上説明した実施例5に示す高安全制御システム1000によれば、機能ブロック201-1、201-2の動作が正常であれば出力が一致する。テストパターン生成部20-a、テストパターン生成部20-b、テストパターンを重畳する排他的論理和(XOR)、及び比較器であるプログラマブル素子100が正常な場合には、外部検証回路30から出力2-0として交番信号が出力されて、フェールセーフアンプ40はリレー50を扛上させる。このため、車輪を制動するブレーキは動作しないか加速動作が許可される。この間、機能ブロック201-1、201-2は、車両を制御するための演算などを行う。
【0065】
一方、機能ブロック201-1、201-2の動作に異常が発生した場合には、外部検証回路30から出力2-0として交番信号が停止すると共に、列車等の車輪を制動するブレーキが作動するか加速動作が停止されるため、車両は停止する。このように、本開示の実施例5に係る論理集積回路を用いた高安全制御システム1000を用いることで、異常が発生した場合には、列車が自動的に停車するため、列車の走行安全性を向上させることができる。
なお、機能ブロック201-1、201-2の動作に異常が発生した場合、交番信号をより確実に停止させる手段として、リング演算による周波数弁別や、歯抜け検出による出力2-0の異常を検出し、リセットや電源遮断によって機能ブロック201-1、201-2やテストパターン生成部20-a、20-bの動作を停止させることも可能である。
【0066】
以上説明したように、本開示によれば、比較器をプログラマブル論理で実現する場合、2段のツリーまでを1つのテスト対象(テスト対象単位)とすることで、実用的なテストパターン数でテスト対象単位数を最小にでき、外部検証回路の回路規模を最小にすることができる。
【0067】
なお、以上では、3段構成や4段構成の論理回路・比較器を説明したが、本開示はこれに限定されず、論理回路・比較器の段数を適宜に選択してもよい。また、テスト対象単位の構成(つまり、1つのテスト対象単位に何段分の論理エレメントを含むか)は、論理回路・比較器の段数を適宜に選択してもよい。
一例として、比較器を5段構成として場合、初段及び2段目に属する論理エレメントをまとめて1つのテスト対象単位とし、3段目及び4段目に属する論理エレメントをまとめて1つのテスト対象単位とし、5段目に属する論理エレメントを1つのテスト対象単位としてもよい。あるいは、初段及び2段目に属する論理エレメントをまとめて1つのテスト対象単位とし、3段目、4段目、5段目のそれぞれに属する論理エレメントを個別のテスト対象単位としてもよい。
【0068】
また、以上説明したように、テストパターン数の爆発を回避し、外部検証回路の回路規模を最小にする観点から、2段分の出力を1つのテスト対象(テスト対象単位)とすることが望ましいが、本開示はこれに限定されず、入力の数や外部検証回路の性能等、論理集積回路の構成に応じて、テストパターン数の爆発を回避しつつ、外部検証回路の寸法を抑えることができる限り、何段分かをテスト対象単位とするかを適宜に設定してもよい。
【0069】
このように、実用的なテストパターン数かつ実用的な外部検証回路の回路規模で、プログラマブル素子によりセルフチェッキング論理を実現することができると共に、実用的なコストで高安全制御システムを構築することが可能となる。
【0070】
以上、本発明の実施の形態について説明したが、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0071】
1 テスト対象単位
2 テスト対象単位の出力
10 論理エレメント
20、20-a、20-b テストパターン生成部
21-a、21-b テストパターン注入部
30、550、650 外部検証回路
40 フェールセーフアンプ
50 リレー
100 プログラマブル素子
150 論理回路
201 機能ブロック
250、350、450 比較器