(57)【要約】【課題】容易にエラー検出率を算定することができ、モニタするノードの最適化が容易で、ノードカバー率が高い、論理機能回路と自己診断回路とからなる統合回路の設計方法を提供する。【解決手段】モニタノードテストリストＬＭに基づいてテスト統合回路ＫＴを構成する第１ステップＳ１と、故障シミュレーションを実施し、各ノードのトグルについて自己診断回路ＫＣによる検出の可否を判定する第２ステップＳ２と、トグル検出可否判定結果から、エラー検出率を算出する第３ステップＳ３と、エラー検出率が規格エラー検出率以上であるか否かを判定する第４ステップＳ４とを有し、エラー検出率が規格エラー検出率より小さい場合には、モニタノードテストリストＬＭを変更して、第１ステップＳ１に戻り、エラー検出率が規格エラー検出率以上である場合には、テスト統合回路ＫＴを採用して、統合回路の設計を終了する。【選択図】図１
2008258775.tif 000002
【特許請求の範囲】
【請求項１】
所定の機能を発揮するように論理素子が接続されて構成される論理機能回路と、
前記論理機能回路における前記論理素子の複数あるノード（接続点）のうち、所定のノードの状態をモニタすることによって、前記論理機能回路の故障の有無を検出する自己診断回路と、からなる統合回路の設計方法であって、
前記自己診断回路がモニタするモニタノードテストリストを作成し、前記モニタノードテストリストに基づいて、前記論理機能回路と前記自己診断回路とを接続して、テスト統合回路を構成する第１ステップと、
前記テスト統合回路の故障シミュレーションを実施し、
前記テスト統合回路における前記論理機能回路の複数ある各ノードのトグルについて、自己診断回路による検出の可否を判定する第２ステップと、
前記テスト統合回路のエラー検出率として、前記各ノードのトグル検出可否判定結果から、前記複数あるノードに対してトグル検出可能なノードの割合を算出する第３ステップと、
前記テスト統合回路のエラー検出率が、所定の規格エラー検出率以上であるか否かを判定する第４ステップとを有してなり、
前記第４ステップにおいて、
前記テスト統合回路のエラー検出率が規格エラー検出率より小さい場合には、前記モニタノードテストリストを変更して、前記第１ステップに戻り、第１ステップ以降の各ステップを実施し、
前記テスト統合回路のエラー検出率が規格エラー検出率以上である場合には、前記第１ステップにおけるモニタノードテストリストに基づいて構成したテスト統合回路を採用して、前記統合回路の設計を終了することを特徴とする論理機能回路と自己診断回路とからなる統合回路の設計方法。
【請求項２】
前記第２ステップにおいて、前記テスト統合回路の故障シミュレーション時に、
前記論理機能回路の実動作状態に基づいた機能テストパターンを入力することを特徴とする請求項１に記載の論理機能回路と自己診断回路とからなる統合回路の設計方法。
【請求項３】
前記統合回路を、１個のＬＳＩに構成することを特徴とする請求項１または２に記載の論理機能回路と自己診断回路とからなる統合回路の設計方法。
【請求項４】
前記自己診断回路の出力ピンを、１個とすることを特徴とする請求項３に記載の論理機能回路と自己診断回路とからなる統合回路の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の機能を発揮するように論理素子が接続されて構成される論理機能回路と、該論理機能回路における所定のノードの状態をモニタする自己診断回路と、からなる統合回路の設計方法に関する。
【背景技術】
【０００２】
診断機能付論理集積回路およびその設計方法が、特開２０００−８８９２号公報（特許文献１）に開示されている。
【０００３】
近年、ＩＥＣ６１５０８といった機能安全の規格が制定され、所定の機能を発揮するように論理素子が接続されて構成される論理機能回路においては、該論理機能回路の誤動作を自己診断回路により検出し、正常動作を回復することができるような設計が求められている。具体的には、自己診断回路の出力端子（エラー検出端子）をＣＰＵ等の制御回路の割り込み端子に挿入し、論理機能回路の実使用時に誤動作が発生すると、自己診断回路が誤動作を検出してエラー信号を出力し、ＣＰＵがエラー信号の入力を認識して、装置を安全側に動作するように対処する。
【特許文献１】特開２０００−８８９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記論理機能回路を設計するに当たっては、通常、論理シミュレータが用いられる。
【０００５】
図４は、論理シミュレータを利用した、上記論理機能回路と自己診断回路とからなる統合回路の設計方法を説明する図である。
【０００６】
図４に示す統合回路ＫＴは、論理機能回路ＫＬと自己診断回路ＫＣとで構成されている。論理機能回路ＫＬは、所定の機能を発揮するように種々の論理素子が接続されて構成された回路である。論理機能回路ＫＬは、図４に示すように実動作状態に基づいた機能テストパターンを入力した時に所定の論理機能回路出力が得られるように、論理シミュレータを用いて設計される。
【０００７】
図４に示す統合回路ＫＴの自己診断回路ＫＣは、論理機能回路ＫＬにおける図中の白丸と黒丸で示した論理素子の複数あるノード（接続点）のうち、黒丸で示した所定のノードの状態をモニタすることによって、論理機能回路ＫＬの故障の有無を検出する回路となっている。自己診断回路ＫＣを最適に設計するには、自己診断回路ＫＣがモニタしている論理機能回路ＫＬのノードが最適に設定されており、自己診断回路ＫＣがエラーを検出するノードカバー率が最大化されているかどうかを判断する必要がある。
【０００８】
このため、図４に示す論理シミュレータを用いて、以下の手順で自己診断回路ＫＣのエラー検出率（％）を算定し、自己診断回路ＫＣがモニタしているノードが適切かどうかを判定する。すなわち、図４に示すように、（１）論理シミュレータのＦＯＲＣＥコマンドを用いて、図中に太い×印で示したように論理機能回路ＫＬの所定のノードを０または１にスタックし、所定のノードで強制的に故障を発生させる。（２）上記所定のノードをスタックした場合の論理機能回路出力と自己診断回路出力を照合して、自己診断回路ＫＣでエラーが検出されているかどうかを判定する。（３）スタックするノードを変えて上記（１）と（２）のステップを実施し、これらの結果を統合して、自己診断回路ＫＣのエラー検出率を算定する。（４）自己診断回路ＫＣがモニタするノードを変えて上記（１）〜（３）のステップを実施し、モニタするノードを変えた場合の自己診断回路ＫＣのエラー検出率を比較して、自己診断回路ＫＣがモニタするノードが適切かどうかを判断する。
【０００９】
上記したように、論理機能回路ＫＬの設計に利用する論理シミュレータを用いれば、自己診断回路ＫＣがモニタしている論理機能回路ＫＬのノードの良否を判定して、自己診断回路ＫＣを最適設計することが可能である。しかしながら、上記論理シミュレータを用いた設計方法では、論理機能回路ＫＬの全ノードを一点ずつＦＯＲＣＥコマンドによりスタックさせてシミュレーションし、論理機能回路出力と自己診断回路出力を照合チェックする必要がある。従って、大規模な論理機能回路で最大化されたエラー検出率を得ようとすると、その検証も膨大なものとなる。
【００１０】
そこで本発明は、論理機能回路と、該論理機能回路の所定のノードをモニタすることによって故障の有無を検出する自己診断回路とからなる統合回路の設計方法であって、大規模な論理機能回路に対しても容易に自己診断回路のエラー検出率を算定することができ、自己診断回路がモニタするノードの最適化が容易で、自己診断回路がエラーを検出するノードカバー率が高い、論理機能回路と自己診断回路とからなる統合回路の設計方法を提供することを目的としている。
【課題を解決するための手段】
【００１１】
請求項１に記載の発明は、所定の機能を発揮するように論理素子が接続されて構成される論理機能回路と、前記論理機能回路における前記論理素子の複数あるノード（接続点）のうち、所定のノードの状態をモニタすることによって、前記論理機能回路の故障の有無を検出する自己診断回路と、からなる統合回路の設計方法であって、前記自己診断回路がモニタするモニタノードテストリストを作成し、前記モニタノードテストリストに基づいて、前記論理機能回路と前記自己診断回路とを接続して、テスト統合回路を構成する第１ステップと、前記テスト統合回路の故障シミュレーションを実施し、前記テスト統合回路における前記論理機能回路の複数ある各ノードのトグルについて、自己診断回路による検出の可否を判定する第２ステップと、前記テスト統合回路のエラー検出率として、前記各ノードのトグル検出可否判定結果から、前記複数あるノードに対してトグル検出可能なノードの割合を算出する第３ステップと、前記テスト統合回路のエラー検出率が、所定の規格エラー検出率以上であるか否かを判定する第４ステップとを有してなり、前記第４ステップにおいて、前記テスト統合回路のエラー検出率が規格エラー検出率より小さい場合には、前記モニタノードテストリストを変更して、前記第１ステップに戻り、第１ステップ以降の各ステップを実施し、前記テスト統合回路のエラー検出率が規格エラー検出率以上である場合には、前記第１ステップにおけるモニタノードテストリストに基づいて構成したテスト統合回路を採用して、前記統合回路の設計を終了することを特徴としている。
【００１２】
上記論理機能回路と自己診断回路とからなる統合回路の設計方法は、自己診断回路がモニタする論理機能回路のノードの良否を判定し最適化するにあたって、故障シミュレータを利用するものである。故障シミュレータは、論理シミュレータのように論理機能回路のノードに対してＦＯＲＣＥコマンドによりスタックさせてエラーを発生させることなく、論理機能回路に入力される機能テストパターンに対して、どのノードがトグルし、そのトグル状態にあることを、外部から（すなわち自己診断回路により）検出可能であるか否かを論理的に判定することができる。このように、故障シミュレータを用いれば、一回のシミュレーションで、論理機能回路の全てのノードについてのトグル状態検出可否を判定することが可能である。
【００１３】
この故障シミュレータのトグル検出可否判定機能を利用して、上記統合回路の設計方法は、一回のシミュレーションで、一つのモニタノードテストリストに基づいたテスト統合回路における自己診断回路のエラー検出率を算出するものである。従って、上記統合回路の設計方法においては、一つのモニタノードテストリストに係るエラー検出率を得るため、論理シミュレータを用いる場合のように全ノードを一点ずつスタックさせてシミュレーションを繰り返す必要がない。また、前記一つのモニタノードテストリストに基づいたテスト統合回路の一回のシミュレーションで、自己診断回路によりトグルが検出できてないノードが判明するため、変更すべき自己診断回路がモニタするノードの選択が容易となる。このため、次にテストするモニタノードテストリストに基づいた統合回路において、自己診断回路のエラー検出率を向上する確率がより高められる。
【００１４】
以上のようにして、上記論理機能回路と自己診断回路とからなる統合回路の設計方法は、論理機能回路と、該論理機能回路の所定のノードをモニタすることによって故障の有無を検出する自己診断回路とからなる統合回路の設計方法であって、大規模な論理機能回路に対しても容易に自己診断回路のエラー検出率を算定することができ、自己診断回路がモニタするノードの最適化が容易で、自己診断回路がエラーを検出するノードカバー率が高い、論理機能回路と自己診断回路とからなる統合回路の設計方法とすることができる。
【００１５】
上記論理機能回路と自己診断回路とからなる統合回路の設計方法においては、請求項２に記載のように、前記第２ステップにおいて、前記テスト統合回路の故障シミュレーション時に、前記論理機能回路の実動作状態に基づいた機能テストパターンを入力することが好ましい。これにより、論理機能回路の実動作に近い状態での自己診断回路がエラーを検出するノードカバー率を判定することができる。従って、当該設計方法によって設計される論理機能回路と自己診断回路とからなる統合回路は、実動作においても、高い機能安全性能を確保することができる。
【００１６】
上記論理機能回路と自己診断回路とからなる統合回路の設計方法は、請求項３に記載のように、前記統合回路を、１個のＬＳＩに構成する場合にも適用可能である。
【００１７】
この場合、上記論理機能回路と自己診断回路とからなる統合回路の設計方法は、請求項４に記載のように、前記自己診断回路の出力ピンを、１個とする場合にも適用可能である。
【発明を実施するための最良の形態】
【００１８】
本発明は、所定の機能を発揮するように論理素子が接続されて構成される論理機能回路と、前記論理機能回路における論理素子の複数あるノード（接続点）のうち、所定のノードの状態をモニタすることによって、論理機能回路の故障の有無を検出する自己診断回路と、からなる統合回路の設計方法に関する。以下、本発明を実施するための最良の形態を、図に基づいて説明する。
【００１９】
図１は、本発明の上記した論理機能回路と自己診断回路とからなる統合回路の設計方法を説明する図である。また、図２は、本発明の上記した論理機能回路と自己診断回路とからなる統合回路の設計方法の設計手順を示すフロー図である。
【００２０】
図１に示す統合回路ＫＴは、図４に示した統合回路ＫＴと同じもので、論理機能回路ＫＬと自己診断回路ＫＣとで構成されている。論理機能回路ＫＬは、所定の機能を発揮するように種々の論理素子が接続されて構成された回路である。論理機能回路ＫＬは、図４において説明したように、実動作状態に基づいた機能テストパターンを入力した時に所定の論理機能回路出力が得られるように、論理シミュレータを用いて設計される。
【００２１】
また、図１に示す統合回路ＫＴの自己診断回路ＫＣは、論理機能回路ＫＬにおける図中の白丸と黒丸で示した論理素子の複数あるノード（接続点）のうち、黒丸で示した所定のノードの状態をモニタすることによって、論理機能回路ＫＬの故障の有無を検出する回路となっている。
【００２２】
自己診断回路ＫＣの内部構成も、論理シミュレータを用いて設計される。また、自己診断回路ＫＣを最適に設計するには、内部構成だけでなく、自己診断回路ＫＣがモニタしている論理機能回路ＫＬのノードが最適に設定されており、自己診断回路ＫＣがエラーを検出するノードカバー率が最大化されているかどうかを判断する必要がある。図１の統合回路ＫＴにおける自己診断回路ＫＣは、できるだけ少ない数のモニタ点で、高いノードカバー率を有していることが望ましい。
【００２３】
このため、図１と図２に示す論理機能回路ＫＬと自己診断回路ＫＣとからなる統合回路ＫＴの設計方法においては、故障シミュレータを用いて、自己診断回路ＫＣのエラー検出率（％）を算定し、自己診断回路ＫＣがモニタしているノードが適切かどうかを判定して、最適な統合回路ＫＴを設計する。以下、図１と図２を参照しながら、設計手順を説明する。
【００２４】
最初に、図２に示す第１ステップＳ１において、図１の自己診断回路ＫＣがモニタする一回目のモニタノードテストリストＬＭ（１）を作成する。このモニタノードテストリストＬＭ（１）に基づいて、論理機能回路ＫＬと自己診断回路ＫＣとを接続して、一回目のテストに供するテスト統合回路ＫＴ（１）を構成する。
【００２５】
次に、図２に示す第２ステップＳ２において、テスト統合回路ＫＴ（１）の故障シミュレーションを実施し、テスト統合回路ＫＴ（１）における論理機能回路ＫＬの複数ある各ノードのトグルについて、自己診断回路ＫＣによる検出の可否を判定する。
【００２６】
次に、図２に示す第３ステップＳ３において、テスト統合回路ＫＴ（１）のエラー検出率として、各ノードのトグル検出可否判定結果（図１のトグル検出可否判定リストＬＴ（１））から、複数あるノードに対してトグル検出可能なノードの割合を算出する。
【００２７】
次に、図２に示す第４ステップＳ４において、テスト統合回路ＫＴ（１）のエラー検出率が、所定の規格エラー検出率以上であるか否かを判定する。
【００２８】
第４ステップＳ４において、テスト統合回路ＫＴ（１）のエラー検出率が規格エラー検出率より小さい場合には、図２に示す第５ステップＳ５において、モニタノードテストリストＬＭ（１）を次のモニタノードテストリストＬＭ（２）に変更して、第１ステップＳ１に戻り、第１ステップＳ１以降の各ステップＳ２〜Ｓ４を二回目のテスト統合回路ＫＴ（２）について実施する。
【００２９】
第４ステップＳ４において、テスト統合回路ＫＴ（１）のエラー検出率が規格エラー検出率以上である場合には、第１ステップＳ１におけるモニタノードテストリストＬＭ（１）に基づいて構成したテスト統合回路ＫＴ（１）を採用して、統合回路ＫＴの設計を終了する。
【００３０】
上記した図１と図２に示す論理機能回路ＫＬと自己診断回路ＫＣとからなる統合回路ＫＴの設計方法は、自己診断回路ＫＣがモニタする論理機能回路ＫＬのノードの良否を判定し最適化するにあたって、故障シミュレータを利用するものである。故障シミュレータは、論理シミュレータのように論理機能回路ＫＬのノードに対してＦＯＲＣＥコマンドによりスタックさせてエラーを発生させることなく、論理機能回路ＫＬに入力される機能テストパターンに対して、どのノードがトグルし、そのトグル状態にあることを、外部から（すなわち自己診断回路により）検出可能であるか否かを論理的に判定することができる。
【００３１】
図３は、上記した故障シミュレータによるトグル検出可否判定機能を簡単な統合回路で具体的に説明する図である。図３（ａ）は、簡単な論理機能回路ＫＬａと自己診断回路ＫＣａからなる統合回路ＫＴａの構成図であり、図３（ｂ）は、故障シミュレータによるトグル検出可否判定結果をまとめた図である。
【００３２】
図３（ａ）には、統合回路ＫＴａにおける論理機能回路ＫＬａと自己診断回路ＫＣａの各ノードＤｔｒｕｅ，Ａ１，Ｂ１，Ｃ１，Ａ２，Ｂ２，Ｃ２，Ｄｏｕｔ，ＥＲＲが示されている。図３（ｂ）の各表は、正常な場合と各ノードＤｔｒｕｅ，Ａ１，Ｂ１，Ｃ１，Ａ２，Ｂ２，Ｃ２，Ｄｏｕｔ，ＥＲＲが、正常な場合と、それぞれ０と１にスタックした場合について作成される。例えば、図３（ｂ）の上から２番目の表は、ノードＡ１が０にスタックした場合で、この場合には、入力Ａが１で入力Ｂが０の時にノードＣ１，Ｄｏｕｔにもエラーが現れる。この時のエラーは、自己診断回路ＫＣａのノードＥＲＲに出力が出て検出することができるが、入力Ａと入力Ｂがどちらも１の時には検出することができない。これら図３（ｂ）に示す全ての表の結果から、図１に示すトグル検出可否判定リストＬＴが作成でき、これから自己診断回路ＫＣａのエラー検出率を算出することが可能である。
【００３３】
以上のように、故障シミュレータを用いれば、一回のシミュレーションで、論理機能回路ＫＬの全てのノードについてのトグル状態検出可否を判定することが可能である。この故障シミュレータのトグル検出可否判定機能を利用して、図１と図２に示す統合回路ＫＴの設計方法は、一回のシミュレーションで、一つのモニタノードテストリストＬＭ（１）に基づいたテスト統合回路ＫＴ（１）における自己診断回路のエラー検出率を算出するものである。従って、図１と図２に示す統合回路ＫＴの設計方法においては、一つのモニタノードテストリストＬＭ（１）に係るエラー検出率を得るため、論理シミュレータを用いる場合のように全ノードを一点ずつスタックさせてシミュレーションを繰り返す必要がない。また、一つのモニタノードテストリストＬＭ（１）に基づいたテスト統合回路ＫＴ（１）の一回のシミュレーションで、自己診断回路ＫＣによりトグルが検出できてないノードが判明するため、変更すべき自己診断回路ＫＣがモニタするノードの選択が容易となる。このため、次にテストするモニタノードテストリストＬＭ（２）に基づいた統合回路ＫＴ（１）において、自己診断回路ＫＣのエラー検出率を向上する確率がより高められる。
【００３４】
以上のようにして、図１と図２に示す統合回路ＫＴの設計方法は、論理機能回路ＫＬと、該論理機能回路ＫＬの所定のノードをモニタすることによって故障の有無を検出する自己診断回路ＫＣとからなる統合回路ＫＴの設計方法であって、大規模な論理機能回路ＫＬに対しても容易に自己診断回路ＫＣのエラー検出率を算定することができ、自己診断回路ＫＣがモニタするノードの最適化が容易で、自己診断回路ＫＣがエラーを検出するノードカバー率が高い、論理機能回路ＫＬと自己診断回路ＫＣとからなる統合回路ＫＴの設計方法とすることができる。
【００３５】
尚、図１と図２に示す論理機能回路ＫＬと自己診断回路ＫＣとからなる統合回路ＫＴの設計方法においては、図２の第２ステップＳ２において、テスト統合回路ＫＴ（１）の故障シミュレーション時に、図１に示すように論理機能回路ＫＬの実動作状態に基づいた機能テストパターンを入力することが好ましい。これにより、論理機能回路ＫＬの実動作に近い状態での自己診断回路ＫＣがエラーを検出するノードカバー率を判定することができる。従って、当該設計方法によって設計される論理機能回路ＫＬと自己診断回路ＫＣとからなる統合回路ＫＴは、実動作においても、高い機能安全性能を確保することができる。
【００３６】
また、上記図１と図２に示す論理機能回路ＫＬと自己診断回路ＫＣとからなる統合回路ＫＴの設計方法は、図１に示すように、統合回路ＫＴを、１個のＬＳＩに構成する場合にも適用可能である。
【００３７】
この場合、上記図１と図２に示す論理機能回路ＫＬと自己診断回路ＫＣとからなる統合回路ＫＴの設計方法は、図１に示すように、自己診断回路ＫＣの出力ピンを、１個とする場合にも適用可能である。
【図面の簡単な説明】
【００３８】
【図１】本発明の論理機能回路と自己診断回路とからなる統合回路の設計方法を説明する図である。
【図２】本発明の論理機能回路と自己診断回路とからなる統合回路の設計方法の設計手順を示すフロー図である。
【図３】故障シミュレータによるトグル検出可否判定機能を簡単な統合回路で具体的に説明する図で、図３（ａ）は、簡単な論理機能回路ＫＬａと自己診断回路ＫＣａからなる統合回路ＫＴａの構成図であり、（ｂ）は、故障シミュレータによるトグル検出可否判定結果をまとめた図である。
【図４】論理シミュレータを利用した、論理機能回路と自己診断回路とからなる統合回路の設計方法を説明する図である。
【符号の説明】
【００３９】
ＫＬ，ＫＬａ  論理機能回路
ＫＣ，ＫＣａ  自己診断回路
ＫＴ，ＫＴａ  統合回路
ＬＭ  モニタノードテストリスト
ＬＴ  トグル検出可否判定リスト
【図１】
2008258775.tif 000003
【図２】
2008258775.tif 000004
【図３】
2008258775.tif 000005
【図４】
2008258775.tif 000006