(57)【要約】【課題】デコーダの故障検出を実施する際の冗長な回路構成を抑制する。【解決手段】情報処理装置は、複数のワード線を有するメモリ部（２０）と、アドレス信号をデコードすることで、上記ワード線を選択するための選択信号を形成可能なデコーダ（３０）とを含む。上記デコーダは、第１選択回路（１１）と、第１デコード回路（１２＿０）と、第２デコード回路（１２＿１）と、比較回路（１３）とを含む。この比較回路は、上記デコード回路によってアサートされたビット信号対を比較することで、上記デコーダにおけるデコード機能の故障判定を可能とする故障信号を形成する。上記の構成によれば、デコーダやメモリ部の同一構成回路を複数個搭載し、その結果の一致不一致を検査することで誤動作の検出する技術に比べて、デコーダにおける冗長を大幅に低減することができる。【選択図】図１
2010073285.tif 000002
【特許請求の範囲】
【請求項１】
複数のワード線を有するメモリ部と、
アドレス信号をデコードすることで、上記ワード線を選択するための選択信号を形成可能なデコーダと、を含み、上記メモリ部の記憶情報を用いた情報処理を可能とする情報処理装置であって、
上記デコーダは、上記アドレス信号の最上位ビットの論理値に応じて、上記アドレス信号の下位ビットを選択的に後段へ伝達可能な第１選択回路と、
上記アドレス信号の最上位ビットが第１論理値の場合に対応され、上記入力選択回路を介して伝達された上記アドレス信号の下位ビットをデコードする第１デコード回路と、
上記アドレス信号の最上位ビットが第２論理値の場合に対応され、上記入力選択回路を介して伝達された上記アドレス信号の下位ビットをデコードする第２デコード回路と、
上記第１デコード回路の出力信号と上記第２デコード回路の出力信号とを比較することで、上記デコーダにおけるデコード機能の故障判定を可能とする故障信号を形成する比較回路と、
上記アドレス信号の最上位ビットの論理値に応じて、上記第１デコード回路の出力信号と上記第２デコード回路の出力信号とを選択的に上記メモリ部におけるワード線選択に関与させるための第２選択回路と、を含むことを特徴とする情報処理装置。
【請求項２】
上記アドレス信号の少なくとも１ビットについて論理反転可能な入力論理反転回路を含み、上記第１選択回路は、上記入力論理反転回路を介さずに伝達された上記アドレス信号の下位ビットと、上記入力論理反転回路を介して伝達された上記アドレス信号の下位ビットとの伝達経路を、上記アドレス信号の最上位ビットの論理値に応じて決定する請求項１記載の情報処理装置。
【請求項３】
上記メモリ部の記憶情報を用いた情報処理を可能とするＣＰＵを含み、
上記ＣＰＵは、上記比較回路からの上記故障信号がアサートされた場合に所定の例外処理を実行する請求項１記載の情報処理装置。
【請求項４】
上記メモリ部の記憶情報を用いた情報処理を可能とするＣＰＵと、
上記比較回路からの上記故障信号に基づいて上記ＣＰＵに対する割り込み要求信号を発生させる割り込み制御回路と、を含み、
上記メモリ部、上記ＣＰＵ、及び上記割り込み制御回路は、バスを介して互いに結合されて成る請求項１記載の情報処理装置。
【請求項５】
上記入力論理反転回路は、テスト切替信号に応じて、上記アドレス信号を取込む第１テストモードと、
上記デコーダの外部から取り込まれたテスト入力信号を、上記アドレス信号に代えて上記第１選択回路に供給する第２テストモードと、を含む請求項２記載の情報処理装置。
【請求項６】
複数のワード線を有するメモリ部と、
アドレス信号をデコードすることで、上記ワード線を選択するための選択信号を形成可能なデコーダと、を含み、上記メモリ部の記憶情報を用いた情報処理を可能とする情報処理装置であって、
上記デコーダは、入力されたアドレス信号をデコードするためのデコード回路と、
上記デコード回路から出力された1対の出力信号の論理を比較することで、上記デコーダにおけるデコード機能の故障判定を可能とする故障信号を形成する比較回路と、を含むことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、さらにはそれに含まれるアドレスデコーダの故障診断技術に関する。
【背景技術】
【０００２】
情報処理装置は、マイクロコントローラ、マイクロプロセッサ、信号処理プロセッサ、画像処理プロセッサ、及び音声処理プロセッサを含む。情報処理装置の一例とされるマイクロコントローラには、メモリ回路が内蔵される。このメモリ回路には、データを保存するメモリ部と入力信号ｎビットを入力し、保存されているデータを選択するため、２ｎ本の選択信号からひとつの信号をアサートするためのアドレスデコーダが搭載される。上記マイクロコントローラなどのメモリ回路が搭載された機器の安全性、信頼性向上のため、上記メモリ回路に故障検出機能を内在させることが行われ始めている。例えば、一般的な技術であるＥＣＣ（Ｅｒｒｏｒ−Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）やパリティなどは上記メモリ回路のデータ保存部分であるメモリ部の故障検出機能として適用されている。
【０００３】
しかしながら、上記ＥＣＣやパリティなどの技術は、メモリ部から実際に読出されたデータに基づいて故障検出を可能とする技術であるから、それによって故障が検出されたとしても、その故障の原因がメモリ部にあるのか、アドレスデコーダにあるのかを判別することはできない。したがって、メモリ回路においては、メモリ部の故障検出の他に、アドレスデコーダの故障検出が必要とされる。つまり、アドレスが正しくデコードされているか否かの確認と共に、別のアドレスが選択されていないかどうかの確認が必要となる。そこで、パラレル変換後のアドレスデータをデコードする為の、同一構成のデコーダ回路を複数個設け、各デコーダ回路の出力が一致するかどうかを一致比較器で検出することにより、デコーダ回路の検査を行うようにした技術が知られている（例えば特許文献１参照）。
【０００４】
【特許文献１】特開特開２００３−２１８７０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
メモリのデコーダの誤作動を検出する装置として、図１１に示される構成が考えられる。すなわち、デコーダ１＿０及びメモリ部２＿０と、デコーダ１＿１及びメモリ部２＿１とが併設され、比較器３によって、上記メモリ部２＿０の出力データ１５１と、上記メモリ部２＿１の出力データ１５２との比較が行われ、この比較結果に基づいて、デコーダの故障検出が可能とされる。
【０００６】
図１２には、図１１における入力信号１００が４ビットで場合のデコーダ１＿０及びデコーダ１＿１の構成例が示される。図１２において、当該デコーダの入力信号１００はＡ［３］からＡ［０］で示され、出力信号は１６ビット（２４）となりＳ０＿０［０］からＳ０＿０［１５］で示される。入力信号１００のビット信号によって、出力信号Ｓ０＿０のうち、ただひとつのビットがアサートされる。入力信号１００のビット信号が「０１０１」の場合、アサートされる出力信号はＳ０＿０［５］となる。図１１において、入力信号１００は、複数個搭載された同一構成の上記デコーダ１＿０とデコーダ１＿１、及び上記メモリ部２＿０とメモリ部２＿１に対し入力される。そのため、出力データ１５１及び出力データ１５２は、デコーダが正常動作していれば一致する。その性質を利用し、出力データ１５１及び出力データ１５２を比較器３において一致比較を実施し、不一致している場合にはデコーダの誤動作として検出するものである。
【０００７】
しかしながら、上述の故障検出技術によれば、デコーダやメモリ部の同一構成回路を複数個搭載し、その結果の一致不一致を検査することで誤動作の検出するため、デコーダに冗長な構成が必要とされ、このことが、チップ占有面積を増大する要因とされる。このことから、上述の故障検出技術は、小面積を実現するマイクロコントローラに適応することは得策ではない。このことは、上記特許文献１記載の技術によっても解決されるものではない。
【０００８】
本発明の目的は、デコーダの故障検出を実施する際に、冗長な回路構成を抑制するための技術を提供することにある。
【０００９】
本発明の上記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
【００１１】
すなわち、情報処理装置は、複数のワード線を有するメモリ部と、アドレス信号をデコードすることで、上記ワード線を選択するための選択信号を形成可能なデコーダとを含む。上記デコーダは、第１選択回路と、第１デコード回路と、第２デコード回路と、比較回路とを含む。この比較回路は、上記デコード回路によってアサートされたビット信号対を比較することで、上記デコーダにおけるデコード機能の故障判定を可能とする故障信号を形成する。上記の構成は、デコーダやメモリ部の同一構成回路を複数個搭載し、その結果の一致不一致を検査することで誤動作の検出する技術に比べて、デコーダにおける冗長を大幅に低減することができる。
【発明の効果】
【００１２】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１３】
すなわち、デコーダの故障検出を実施する際に、冗長な回路構成を抑制するための技術を提供することができる。
【発明を実施するための最良の形態】
【００１４】
１．代表的な実施の形態
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１５】
〔１〕本発明の代表的な実施の形態に係る情報処理装置（８００）は、複数のワード線を有するメモリ部（２０）と、アドレス信号をデコードすることで、上記ワード線を選択するための選択信号を形成可能なデコーダ（３０）とを含み、上記メモリ部の記憶情報を用いた情報処理を可能とする。上記デコーダは、上記アドレス信号の最上位ビットの論理値に応じて、上記アドレス信号の下位ビットを選択的に後段へ伝達可能な第１選択回路（１１）と、上記アドレス信号の最上位ビットが第１論理値の場合に対応され、上記入力選択回路を介して伝達された上記アドレス信号の下位ビットをデコードする第１デコード回路（１２＿０）とを含む。また上記デコーダは、上記アドレス信号の最上位ビットが第２論理値の場合に対応され、上記入力選択回路を介して伝達された上記アドレス信号の下位ビットをデコードする第２デコード回路（１２＿１）と、上記第１デコード回路の出力信号と上記第２デコード回路の出力信号とを比較することで、上記デコーダにおけるデコード機能の故障判定を可能とする故障信号を形成する比較回路（１３）とを含む。さらに上記デコーダは、上記アドレス信号の最上位ビットの論理値に応じて、上記第１デコード回路の出力信号と上記第２デコード回路の出力信号とを選択的に上記メモリ部におけるワード線選択に関与させるための第２選択回路（１４）とを含む。
【００１６】
上記の構成によれば、比較回路は、上記デコード回路によってアサートされたビット信号対を比較することで、上記デコーダにおけるデコード機能の故障判定を可能とする故障信号を形成する。この故障信号がアサートされた場合、上記デコーダにおけるデコード機能が故障されていると判定し、情報処理装置における処理を直ちに停止させることができる。
【００１７】
上記の構成は、デコーダやメモリ部の同一構成回路を複数個搭載し、その結果の一致不一致を検査することで誤動作の検出する技術に比べて、デコーダにおける冗長を大幅に低減することができる。これによって、デコーダの故障検出を実施する際の冗長な回路構成を抑制することができる。
【００１８】
〔２〕上記〔１〕において、上記アドレス信号の少なくとも１ビットについて論理反転可能な入力論理反転回路（１０）を含み、上記第１選択回路（１１）は、上記入力論理反転回路を介さずに伝達された上記アドレス信号の下位ビットと、上記入力論理反転回路を介して伝達された上記アドレス信号の下位ビットとの伝達経路を、上記アドレス信号の最上位ビットの論理値に応じて決定するように構成することができる。
【００１９】
〔３〕上記〔１〕において、上記メモリ部の記憶情報を用いた情報処理を可能とするＣＰＵ（６０）を含み、上記ＣＰＵは、上記比較回路からの上記故障信号がアサートされた場合に所定の例外処理を実行するように構成することができる。
【００２０】
〔４〕上記〔１〕において、上記メモリ部の記憶情報を用いた情報処理を可能とするＣＰＵ（６０）と、上記比較回路からの上記故障信号に基づいて上記ＣＰＵに対する割り込み要求信号を発生させる割り込み制御回路（９０）とを含んで構成することができる。このとき、上記メモリ部、上記ＣＰＵ、及び上記割り込み制御回路は、バス（１６０）を介して互いに結合される。
【００２１】
〔５〕上記入力論理反転回路は、テスト切替信号に応じて、上記アドレス信号を取込む第１テストモードと、上記デコーダの外部から取り込まれたテスト入力信号を、上記アドレス信号に代えて上記第１選択回路に供給する第２テストモードとを含んで構成することができる。
【００２２】
〔６〕別の観点によれば、複数のワード線を有するメモリ部（２０）と、アドレス信号をデコードすることで、上記ワード線を選択するための選択信号を形成可能なデコーダ（３０）とを含んで情報処理装置（８００）が構成されるとき、上記デコーダは、入力されたアドレス信号をデコードするためのデコード回路（１２＿０，１２＿１）と、上記デコード回路から出力された1対の出力信号の論理を比較することで、上記デコーダにおけるデコード機能の故障判定を可能とする故障信号を形成する比較回路（１３）とを含んで構成することができる。
【００２３】
２．実施の形態の説明
次に、実施の形態について更に詳述する。
【００２４】
＜実施の形態１＞
図８には、本発明にかかる情報処理装置の一例とされるマイクロコントローラが示される。
【００２５】
図８に示されるマイクロコントローラ８００は、ＣＰＵ６０、メモリ部（ＭＥＭ）２０、及びアドレスデコーダ（ＤＥＣ）３０を含み、公知の半導体集積回路製造技術により、単結晶シリコン基板などのひとつの半導体基板に形成される。
【００２６】
ＣＰＵ６０は、メモリ部２０に対するアドレス信号を入力信号１００としてアドレスデコーダ（単に「デコーダ」という）３０へ転送する。デコーダ３０は、入力されたアドレス信号をデコードすることにより、ワード線選択信号を形成する。メモリ部２０は、特に制限されないが、複数のワード線と、それに交差するように配置された複数のビット線と、上記ワード線と上記ビット線とが交差する箇所に設けられたメモリセルとを含む。上記デコーダ３０から出力されたワード線選択信号１３２に基づいて、上記メモリ部２０における複数のワード線から１本のワード線が選択され、当該ワード線に結合されているメモリセルへのデータ書き込み、又は当該メモリセルからのデータ読み出しが可能とされる。上記メモリ部２０から読み出されたデータは出力データ１５０としてＣＰＵ６０に供給され、このＣＰＵ６での演算処理に供される。
【００２７】
上記メモリ部２０が搭載された機器の安全性、信頼性向上のため、上記メモリ部２０には、ＥＣＣ（Ｅｒｒｏｒ−Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）などのエラー訂正機能が搭載される。
【００２８】
また、上記メモリ部２０のエラー訂正機能とは別に、上記デコーダ３０には、入力されたアドレス信号をデコードするためのデコード回路と、このデコード回路から出力された1対の出力信号の論理を比較することで、上記デコーダにおけるデコード機能の故障判定を可能とする故障信号を形成する比較回路が設けられる。この比較回路は、上記1対の出力信号の論理を比較により誤動作を検出した場合には、故障信号１４０をアサートする。この故障信号１４０は、上記ＣＰＵ６０に伝達される。ＣＰＵ６０は例外処理回路（ＥＸＨ）７０を含み、この例外処理回路７０は、上記故障信号１４０がアサートされた場合に、所定の例外処理を実行する。この例外処理には、特に制限されないが、現在実行中の演算処理を停止するための処理が含まれる。
【００２９】
図１には、上記デコーダ３０の構成例が示される。
【００３０】
デコーダ３０は、図１に示されるように、入力論理反転回路（ＩＮＶ）１０、入力選択回路１１、デコード回路１２、比較回路（ＣＭＰ）１３、選択回路（ＳＥＬ）１４、入力フリップフロップ回路（ＦＦ）１５＿０，１５＿１を含んで成る。ここでは説明の便宜上、入力信号１００が４ビットで構成され、メモリ部２０へ出力される選択信号１３２が１６本（２４）で構成されているものとする。
【００３１】
入力論理反転回路１０は入力信号１００の少なくとも１ビット以上を反転させる。本実施形態では、特に制限されないが、入力信号１００を全ビット反転させて出力するものとする。この入力論理反転回路１０の出力信号は反転入力信号１１０として、後段の入力フリップフロップ回路１５＿０に伝達される。また、入力信号１００は入力フリップフロップ１５＿１に一時保存され、入力選択回路１１へ転送される。同様に反転入力信号１１０は入力フリップフロップ１５＿０に一時保存されて、入力選択回路１１へ転送される。
【００３２】
入力選択回路１１は、２系統の入力端子と２系統の出力端子とを有し、入力信号１００のビット信号の論理値に呼応して信号伝達経路の選択が行われる。すなわち、入力選択回路１１は、入力フリップフロップ１５＿０及び１５＿１から転送される入力信号１００と、反転入力信号１１０を取り込み、入力信号１００のビット信号の「０」か「１」を判断し、その判断結果に基づいて信号の伝達経路を選択する。本実施形態では入力信号１００の最上位ビットで判断する。上記入力選択回路１１では、入力信号１００の最上位ビットが「０」の場合には、入力信号１００をデコード回路１２の入力信号１２０として伝播させ、反転入力信号１１０をデコード回路１２の入力信号１２１として伝播させる。また、入力信号１００の最上位ビットが「１」の場合には、入力信号１００をデコード回路１２の入力信号１２１として伝播させ、反転入力信号１１０をデコード回路１２の入力信号１２０として伝播させる。
【００３３】
以上から、本実施形態では、最上位ビット「０」の入力信号１００は入力信号１２０としてデコード回路１２＿０へ伝達され、最上位ビット「１」の入力信号１００は入力信号１２１としてデコード回路１２＿１へ伝播される。
【００３４】
デコード回路は、二つのＡＮＤ（論理積）回路１２＿０，１２＿１を含む。入力信号１２０はＡＮＤ回路１２＿０に入力され、入力信号１２１はＡＮＤ回路１２＿１に入力される。ＡＮＤ回路１２＿０でのデコードにより選択信号１３０が形成され、ＡＮＤ回路１２＿１でのデコードにより選択信号１３１が形成される。選択信号１３０，１３１は、選択回路（ＳＥＬ）１４により選択されることで選択信号１３２として後段のメモリ部２０に伝達され、ワード線選択に供される。
【００３５】
また、比較回路１３が設けられ、この比較回路１３は、上記デコード回路１２からの選択信号１３０，１３１の論理値を比較し、その比較結果に基づいて、上記デコーダにおけるデコード機能の故障判定を可能とする故障信号１４０を形成する。
【００３６】
図２には、上記デコード回路１２の構成例が示される。
【００３７】
上記デコード回路１２は、ＡＮＤ回路１２＿０と、ＡＮＤ回路１２＿１とを含む。ＡＮＤ回路１２＿０と、ＡＮＤ回路１２＿１とは、互いに同一構成とされ、それぞれ８個の４入力ＡＮＤゲートが結合されて成る。Ａ［０］〜Ａ［３］は入力信号１２０に対応し、Ｂ［０］〜Ｂ［３］は入力信号１２１に対応し、Ｓ０＿０［０］〜Ｓ０＿０［７］は選択信号１３０に対応し、Ｓ１＿０［０］〜Ｓ１＿０［７］は選択信号１３１に対応する。ＡＮＤ回路１２＿０では、Ａ［０］〜Ａ［３］に従って、Ｓ０＿０［０］〜Ｓ０＿０［７］のうちのひとつのビットがハイレベルにアサートされる。ＡＮＤ回路１２＿１では、Ｂ［０］〜Ｂ［３］に従って、Ｓ１＿０［０］〜Ｓ１＿０［７］のうちのひとつビットハイレベルにアサートされる。
【００３８】
ここで、図１２に示されるデコード回路によれば、入力信号に呼応して出力信号のただひとつのビットがアサートされる。それに対して、図２に示される本実施形態のデコード回路１２によれば、入力信号１００の最上位ビットを「０」と「１」に固定したふたつのＡＮＤ回路（１２＿０及び１２＿１）で構成することにより、出力信号（Ｓ０＿０及びＳ１＿０）において、Ｓ０＿０のうちの１ビットとＳ１＿０うちの１ビットのふたつのビットを同時にアサートできる。図２において、最上位ビット「０」で固定されたＡＮＤ回路がＡＮＤ回路１２＿０、最上位ビット「１」で固定されたＡＮＤ回路がＡＮＤ回路１２＿１である。本実施形態では、入力信号１２０が「００００」のとき、入力信号１２１は「１１１１」となる。このとき、Ｓ０＿０［０］とＳ１＿０［７］の組み合わせがアサートされる。また、入力信号１２０が「０００１」のとき、入力信号１２１は「１１１０」となり、Ｓ０＿０［１］とＳ１＿０［６］の組み合わせがアサートされる。同様に、入力信号１２０が「０１１１」のとき、入力信号１２１が「１０００」となり、Ｓ０＿０［７］とＳ１＿０［０］の組み合わせがアサートされる。これから、上記デコード回路１２は、入力信号１２０と入力信号１２１を同時にデコード処理し、それぞれの出力である選択信号１３０と選択信号１３１のあらかじめ決められた組み合わせのビット信号対をアサートする。
【００３９】
図３には、上記比較回路１３の構成例が示される。
【００４０】
上記比較回路１３は、図３に示されるように、８個の排他的論理和回路（ＥＸＯＲ回路）１３＿０と、その後段に配置されたオア回路（ＯＲ回路）１３＿１とを含む。Ｓ０＿０及びＳ１＿０は上記デコード回路１２の同一信号名の信号と等価である。比較回路１３は上記デコード回路１２によってアサートされた、あらかじめ決められた組み合わせのビット信号対を比較することで、デコーダの誤動作を検出する。本実施形態では、入力信号１００が「００００」の場合、Ｓ０＿０［０］とＳ１＿０［７］があらかじめ決められた組み合わせであるため、当該信号の排他的論理和を、ＥＸＯＲ回路１３＿０を用いて計算する。デコーダが正常動作時している場合は、上記ＥＸＯＲ回路１３＿０の入力信号であるＳ０＿０［０］とＳ１＿０［７］は同時にアサートされているため、ＥＸＯＲ回路１３＿０の出力信号は「０」となる。一方で、Ｓ０＿０［０］とＳ１＿０［７］が同時にアサートされていなければ、ＥＸＯＲ回路１３＿０の出力は「１」となり、直ちにデコーダ処理装置の誤動作を検出できる。同様に、入力信号１００が上記以外の場合においても、あらかじめ決められたビット信号の組み合わせをＥＸＯＲ回路で計算することで誤動作を検出することができる。
【００４１】
また、上記比較回路１３において、誤動作が検出された場合には故障信号１４０をアサートすることで、外部回路に誤動作が発生したことを通知することができる。故障信号１４０は、図３におけるＥ０＿０に対応する。なお、上記選択信号１３０と選択信号１３１は選択回路１４によって、反転入力信号１１０に対応する信号を破棄し、入力信号１００に対応する信号を伝播させて選択信号１３２をメモリ部２０へ出力する。
【００４２】
上記の構成によれば以下の作用効果が得られる。
【００４３】
（１）比較回路１３は、上記デコード回路１２によってアサートされた、あらかじめ決められた組み合わせのビット信号対を比較することで、上記デコーダ３０におけるデコード機能の故障判定を可能とする故障信号１４０を形成する。この故障信号１４０は、ＣＰＵ６０における例外処理回路７０に伝達される。比較回路１３によって故障信号１４０がアサートされた場合、ＣＰＵ６０における例外処理回路７０で所定の例外処理が実行されることで、上記デコーダ３０におけるデコード機能の故障に起因する不所望なデータに基づく演算処理を直ちに停止することができる。
【００４４】
（２）図１２に示されるデコード回路によれば、入力信号に呼応して出力信号のただひとつのビットがアサートされるのに対して、図２に示されるデコード回路１２によれば、入力信号１００の最上位ビットを「０」と「１」に固定したふたつのＡＮＤ回路（１２＿０及び１２＿１）で構成することにより、出力信号（Ｓ０＿０及びＳ１＿０）において、Ｓ０＿０のうちの１ビットとＳ１＿０うちの１ビットのふたつのビットを同時にアサートされる。つまり、上記デコード回路１２では、入力信号１２０と入力信号１２１を同時にデコード処理し、それぞれの出力である選択信号１３０と選択信号１３１のあらかじめ決められた組み合わせのビット信号対がアサートされる。そしてこのビット信号対の論理値が比較回路１３で比較される。この比較において、両ビットの論理値が一致していれば、上記デコーダ３０におけるデコード機能は正常とされる。しかし、両ビットの論理値が不一致でれば、上記デコーダ３０におけるデコード機能は異常とされる。このように入力信号１２０と入力信号１２１を同時にデコード処理し、それぞれの出力である選択信号１３０と選択信号１３１のあらかじめ決められた組み合わせのビット信号対の論理値を比較することで、デコーダ３０におけるデコード機能は異常検出を行うことができるので、例えば図１１に示されるように、デコーダやメモリ部の同一構成回路を複数個搭載し、その結果の一致不一致を検査することで誤動作の検出する技術に比べて、デコーダにおける冗長を大幅に低減することができる。これによって、デコーダの故障検出を実施する場合におけるデコーダのチップ占有面積を低減することができる。
【００４５】
（３）上記（１）の作用効果により、マイクロコントローラ８００の信頼性の向上を図ることができる。
【００４６】
＜実施の形態２＞
図４には、上記デコーダ３０の別の構成例が示される。
【００４７】
上記実施の形態１では、入力信号は４ビットであったが、マイクロコントローラによっては、入力信号は４ビットより多ビットの構成もある。入力信号１００が多ビットとなる場合、実施の形態１の図３の比較回路に示したＥＸＯＲ回路１３＿０の入力信号数は増え、比較回路１３の回路複雑度は増大する。本実施形態では、説明の便宜上、入力信号１００が８ビットの場合を示す。図３の比較回路の入力は２５６本となり、回路複雑度が大きくなる。本実施形態はそのような場合に適用できるものであり、実施の形態１のデコーダを一般的な階層デコード処理手法に適用し、上記課題を解決するものである。
【００４８】
図４において、入力信号１００の上位ビット（７ビットから４ビット）と下位ビット（３ビットから０ビット）に分割する。上記上位ビットを図１におけるデコーダ３０と同一構成のデコーダ３１に入力し、そのデコード結果として選択信号１３３を出力する。また、当該デコーダ３１で誤動作を検出した場合は故障信号１４１をアサートする。
【００４９】
選択信号１３３と上記下位ビットを入力信号振分回路４０へ入力し、選択信号１３３のアサートされているビット信号に従って、入力信号１００の供給先をデコーダ３２〜３ｈの中から選択する。デコーダ３２〜３ｈは、それぞれ図１に示されるデコーダ３０と同一構成とされる。デコーダ３２〜３ｈで誤動作が検出された場合には、故障信号１４２〜１４ｈがアサートされる。
【００５０】
図５には、上記入力信号振分回路４０の構成例が示される。
【００５１】
上記入力信号振分回路４０は、図５に示されるように、１６個の２入力ＡＮＤ回路５００が配置されて成る。１６個の２入力ＡＮＤ回路５００の一方の入力端子に入力される入力信号４００は、上記入力信号１００の下位ビット（３ビットから０ビット）に対応し、入力信号４０１［０］から［１５］は上記選択信号１３３の各ビットに対応し、Ｓ２＿０〜Ｓ２＿１５は上記デコーダ３２〜３ｈへの選択信号に対応する。入力信号４０１の［０］から［１５］は、１６ビット信号の内ただひとつのビット信号がアサートされている。したがって、上記入力信号振分回路４０は、上記入力信号４００と上記入力信号４０１のＡＮＤ論理を得ることにより、Ｓ２＿０からＳ２＿１５のどれかひとつに上記入力信号４０１を転送することができる。図４において、上記下位ビットは、該当下位ビットが伝播されたデコーダ３２〜３ｈ内ひとつでデコード処理され、選択信号１３４のビット信号をアサートする。デコーダ３２〜３ｈのそれぞれの選択信号はデコード回路３１と同一で１６ビットであるため、デコーダ３２〜３ｈの選択信号をまとめると２５６ビット（１６×１６ビット）となる。また、デコーダ３２〜３ｈにおいて誤動作を検出した場合には、それぞれ対応する故障信号１４２〜１４ｈによって、個別的にＣＰＵ６０へ通知することができる。
【００５２】
このように実施の形態１におけるデコーダ３０と同一構成のデコーダを複数個接続することによって、入力信号をビット分割しデコーダにてデコード処理を実施し、入力信号が多ビット幅におけるデコード処理の誤動作を直ちに検出することができる。また、後段のデコーダである３２〜３ｈにおいて、入力信号のビット幅は少なくなるため、比較回路が比較を行う選択信号数を減少させることができる。実施の形態１では、入力信号のビット幅が８ビットのときはひとつの比較回路で比較を行うため、選択信号数は２５６（２８）であるが、本実施形態では、入力信号１００を４ビットに分割するため、ひとつの比較回路で比較する選択信号数は１６（２４）となり、回路複雑度を削減することができる。
【００５３】
＜実施の形態３＞
図９には、上記マイクロコントローラ８００の別の構成例が示される。
【００５４】
上記マイクロコントローラ８００は、通常のメモリアクセスを行う第１のモード、及びデコーダ３０内の比較回路の故障診断を行う第２のモードを有し、上記第２のモードの時、ＣＰＵ６０はテスト切替信号１０２を論理値「１１」とし、入力信号１００とは異なる信号をテスト入力信号１０１として送信する。デコーダ３０は、誤動作を検出した場合には故障信号１４０をアサートする。例外処理回路７０が故障信号１４０のアサートを受信した場合は、例外処理を実行する。
【００５５】
起動時には第２のモードが選択され、デコーダ３０の比較回路の故障診断が行われ、ＣＰＵ６０が故障信号１４０のアサートを受信した場合に例外処理が実行される。また故障信号１４０がアサートせずに故障診断が終了した場合に第１のモードに遷移するなど自動的にモードの遷移の実行を行うことが可能である。または、ソフトウェアによって、モードレジスタを設定するなどして、上記第１のモードと第２のモードを遷移させることもできる。
【００５６】
図６には、図９に示されるデコーダ３０の構成例が示される。
【００５７】
図６に示されるデコーダ３０が、図１に示されるのと大きく異なるのは、比較回路１３の誤動作検出を可能とする故障注入機能付き入力論理反転回路５０を備える点である。図６において、上記入力論理反転回路５０は、入力信号１００と、外部装置から入力されるテスト入力信号１０１とテスト切替信号１０２を入力とし、反転入力信号１１０を出力とする。
【００５８】
図７には、上記入力論理反転回路５０の構成例が示される。
【００５９】
故障注入機能付き入力論理反転回路５０に入力された入力信号１００は、インバータ５１でビット反転されマルチプレクサ５２に入力される。マルチプレクサ５２は上記反転された信号と入力信号１００とテスト入力信号１０１を、テスト切替信号１０２を用いて選択し、選択された信号を反転入力信号１１０に出力する。
【００６０】
故障注入機能付き入力論理反転回路５０において、上記テスト切替信号１０２が論理値「００」の場合、インバータ５１によって反転された入力信号１００が反転入力信号１１０に出力されるため、実施の形態１の動作と等しくなり、入力論理反転回路１０と入力選択回路１１とデコード回路１２の誤動作を検出できる。一方、テスト切替信号が論理値「１１」の場合、テスト入力信号１０１が反転入力信号１１０として出力される。そして、テスト入力信号１０１には、入力信号１００の反転された信号とは異なる信号をＣＰＵ６０から与えることができる。すなわち、図６において、反転入力信号１１０をＣＰＵ６０から操作することができ、選択信号１３０と選択信号１３１の不一致をＣＰＵ６０によって故意に引き起こすことが可能である。実施の形態１で記述したように、選択信号１３０と選択信号１３１が不一致を起こした場合には、比較回路１３は故障信号１４０をアサートする。以上のことから、テスト入力信号に入力信号１００の反転信号とは異なる信号を入力し、故障信号１４０を検査することによって、比較回路１３自体の誤動作を検出することができる。
【００６１】
また、図７において、テスト切替信号１０２が論理値「１０」の場合、反転入力信号１１０は入力信号１００が出力される。図６において、反転入力信号１１０に入力信号１００と等しい信号が入力されたときは、入力信号１２０と入力信号１２１は等しくなる。図２において、入力信号１２０と入力信号１２１の最上位ビットが共に「０」の場合、Ｓ０＿０を出力する論理回路は動作するが、Ｓ１＿０を出力する論理回路は動作しない。入力信号１２０と１２１の最上位ビットが共に論理値「１」の場合、Ｓ１＿０を出力する論理回路は動作するが、Ｓ０＿０を出力する論理回路は動作しない。以上のことから、テスト切替信号１０２を論理値「１０」とした場合、デコーダ回路１２の半分の動作を止めることが可能であり、誤動作の検出を実施しない場合の無駄なデコーダ処理装置の動作を抑えることができる。
＜実施の形態４＞
図１０には、上記マイクロコントローラ８００の別の構成例が示される。
【００６２】
図１０に示されるマイクロコントローラ８００が、図８や図９に示されるのと大きく異なるのは、特定の用途向けに複数機能の回路を1つにまとめた集積回路（ASIC:Application Specific Integrated Circuit）とされ、ＣＰＵ６０、内蔵メモリ８０、及び割り込み制御回路９０などの各機能モジュールが、バス１６０を介して互いに信号のやり取り可能に結合されている点である。
【００６３】
デコーダ３０は、内蔵メモリ８０のアドレスデコード回路として搭載する。ＣＰＵ６０はアドレス信号を、バス１６０を経由して内蔵メモリ８０へ転送し、デコーダ３０では、実施の形態１で示したとおり誤動作の検査を実施し、誤動作を検出した場合には故障信号１４０をアサートする。故障信号１４０は割り込み制御回路９０へ転送され、故障信号１４０がアサートされていた場合には、割り込み制御回路９０は割り込み要求信号１７０をＣＰＵ６０へ転送される。ＣＰＵ６０は割り込み要求信号１７０に従って割り込み処理を実施することができるため、ＣＰＵ６０はデコーダ３０の故障信号を一般的な割り込み要求信号と同様に扱うことができる。
【００６４】
尚、デコーダ３０は、図４や図６に示される構成を採用することができる。
【００６５】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００６６】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるマイクロコントローラに適用した場合について説明したが、本発明はそれに限定されるものではなく、マイクロプロセッサ、信号処理プロセッサ、画像処理プロセッサ、及び音声処理プロセッサなどの各種情報処理装置に広く適用することができる。
【図面の簡単な説明】
【００６７】
【図１】本発明にかかる情報処理装置の一例とされるマイクロコントローラに含まれるデコーダの構成例ブロック図である。
【図２】上記デコーダの構成例回路図である。
【図３】上記デコーダに含まれる比較回路の構成例回路図である。
【図４】上記デコーダの別の構成例ブロック図である。
【図５】図４における入力振分回路の構成例回路図である。
【図６】上記デコーダの別の構成例ブロック図である。
【図７】図６に示されるデコーダに含まれる入力論理反転回路の構成例回路図である。
【図８】上記マイクロコントローラの構成例ブロック図である。
【図９】上記マイクロコントローラの別の構成例ブロック図である。
【図１０】上記マイクロコントローラの別の構成例ブロック図である。
【図１１】上記デコーダの比較対象とされるデコーダの構成例ブロック図である。
【図１２】図１１に示されるデコーダにおけるデコード回路の構成例回路図である。
【符号の説明】
【００６８】
１０  入力論理反転回路
１１  入力選択回路
１２  デコード回路
１２＿０，１２＿１  ＡＮＤ回路
１３  比較回路
１３＿０  ＥＸＯＲ回路
１３＿１  ＯＲ回路
１４  選択回路
１５＿０、１５＿１  入力フリップフロップ回路
２０  メモリ部
３０  デコーダ
４０  入力信号振分回路
５０  故障注入機能付き入力論理反転回路
５１  インバータ
５２  マルチプレクサ
６０  ＣＰＵ
７０  例外処理回路
８０  内蔵メモリ
９０  割り込み制御回路
８００  マイクロコントローラ
【図１】
2010073285.tif 000003
【図２】
2010073285.tif 000004
【図３】
2010073285.tif 000005
【図４】
2010073285.tif 000006
【図５】
2010073285.tif 000007
【図６】
2010073285.tif 000008
【図７】
2010073285.tif 000009
【図８】
2010073285.tif 000010
【図９】
2010073285.tif 000011
【図１０】
2010073285.tif 000012
【図１１】
2010073285.tif 000013
【図１２】
2010073285.tif 000014