(57)【要約】【課題】  クロックを多重化しないで、レジスタを多重化し、レジスタへの誤書き込みの検知を可能にする。【解決手段】  誤書き込みの検知を可能にするべくレジスタ１１ｘおよび１１ｙを２重化した２重化レジスタ部１１を設ける。ただし、クロックは多重化せず、単一のクロックを２重化されたレジスタ１１ｘおよび１１ｙに与える。この構成において、２重化されたレジスタの全てに対する誤書き込みが行われるのを防ぐために、書き込みの必要なときのみレジスタ１１ｘおよび１１ｙへの書き込みが行われるように書き込みを制限する手段を設ける。具体的には、２重化レジスタ部１１のアドレスが入力され、かつ、所定のパスワードが入力された場合にロード信号生成部２１がロード信号を発生し、クロックによるデータ書き込みを許可する。【選択図】図１
2018206862.tif 000002
【特許請求の範囲】
【請求項１】
共通のクロックにより共通のデータが書き込まれる複数のレジスタからなる多重化レジスタ部と、
前記複数のレジスタの記憶データの不一致を検出し、不一致検出信号を出力する不一致検出回路と、
前記不一致検出信号に応じて外部の装置に割り込み要求信号を出力する割り込み制御手段と、
所定の条件が満たされた場合に前記クロックによる前記複数のレジスタへのデータ書き込みを許可する書き込み制御手段と
を具備することを特徴とする半導体集積回路。
【請求項２】
所定パルス幅より狭いパルス幅の前記不一致検出信号の通過を阻止する誤検知防止回路を具備することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記書き込み制御手段は、前記多重化レジスタ部を特定するアドレスが入力された場合に前記クロックによるデータ書き込みを許可することを特徴とする請求項１または２に記載の半導体集積回路。
【請求項４】
前記書き込み制御手段は、前記多重化レジスタ部を特定するアドレスが入力され、かつ、予め定められたパスワードと一致するパスワードが入力された場合に前記クロックによるデータ書き込みを許可することを特徴とする請求項１または２に記載の半導体集積回路。
【請求項５】
前記多重化レジスタ部を構成する複数のレジスタについて別個のパスワードが定められており、複数のレジスタの各々について、当該レジスタについて定められたパスワードと一致するパスワードが入力された場合に、当該レジスタへの前記クロックによるデータ書き込みを許可することを特徴とする請求項４に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体集積回路に係り、特に、半導体集積回路の内部のレジスタへの誤書き込みを検知する技術に関する。
【背景技術】
【０００２】
外部の装置からデータの書き込みが可能なレジスタを内蔵し、このレジスタに記憶されたデータに基づいて各部の制御を行う半導体集積回路が各種提供されている。この種の半導体集積回路は、レジスタに誤ったデータが書き込まれ、あるいは外来のノイズ等に起因してレジスタの記憶内容が変更されるという事態（以下、単に誤書き込みという。）が発生すると、誤動作に陥る。そこで、この種の半導体集積回路では、レジスタへの誤書き込みへの対策が必要になる。
【０００３】
特許文献１に開示の技術では、半導体集積回路内にパスワードレジスタとパスワード発生部が設けられ、パスワード発生部の発生するパスワードと一致するパスワードがパスワードレジスタに書き込まれた場合に限り、コントロールレジスタに対するデータ書き込みが許可される。
【０００４】
特許文献２には、ダイナミック回路により構成された第１の論理演算部と、この第１の論理演算部と同じ機能を有するスタティック回路により構成された第２の論理演算部とに共通のデータを与えて動作させ、第１の論理演算部の出力値と第２の論理演算部の出力値とを比較し、両者が不一致である場合に第１の論理演算部の出力値を引き継ぐ後続回路の動作を抑止する技術が開示されている。
【０００５】
特許文献３には、論理回路を３重化し、各論理回路の出力値の多数決や一致検出を行うことにより、デジタル計算機の信頼性を高める技術が開示されている。
【０００６】
特許文献４には、レジスタを２重化し、両レジスタの出力の不一致を検出することにより一方のレジスタの誤動作を検知する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−３３０８００号公報
【特許文献２】特開昭６３−２７３９４２号公報
【特許文献３】特開平２−１２５３３号公報
【特許文献４】特開２００７−５８４６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述した特許文献１に開示の技術は、ノイズ等の影響によりコントロールレジスタに誤ってデータ書き込みが行われるのを防止することができるが、これ以外の要因による誤書き込み、例えばノイズ等の影響によりコントロールレジスタに記憶されたデータが変更されるといった誤書き込みの検知を行うことができないという問題がある。
【０００９】
上述した特許文献２および３に開示の技術は、例えば多重化された回路に供給されるクロックにノイズが重畳し、多重化された回路の全てに誤動作が発生した場合にその誤動作を検知することができないという問題がある。
【００１０】
上述した特許文献４に開示の技術では、２重化されたレジスタに供給するクロックの２重化、すなわち、２重化されたレジスタの各々に別個のクロックを供給する構成を採用している。この特許文献４に開示の技術は、２つのクロックを生成する回路が必要であり、また、半導体集積回路のタイミング設計時に２つのクロックのタイミングを考慮する必要があるという問題がある。
【００１１】
この発明は以上のような事情に鑑みてなされたものであり、クロックを多重化しないで、レジスタを多重化し、レジスタへの誤書き込みの検知を可能にする技術的手段を提供することを目的とする。
【課題を解決するための手段】
【００１２】
この発明は、共通のクロックにより共通のデータが書き込まれる複数のレジスタからなる多重化レジスタ部と、前記複数のレジスタの記憶データの不一致を検出し、不一致検出信号を出力する不一致検出回路と、前記不一致検出信号に応じて外部の装置に割り込み要求信号を出力する割り込み制御手段と、所定の条件が満たされた場合に前記クロックによる前記複数のレジスタへのデータ書き込みを許可する書き込み制御手段とを具備することを特徴とする半導体集積回路を提供する。
【００１３】
この発明によれば、多重化レジスタ部を構成する複数のレジスタの一部のレジスタに対するデータの誤書き込みがあった場合、不一致検出回路により複数のレジスタの記憶データの不一致が検出され、割り込み制御手段により外部の装置に割り込み要求信号が出力される。従って、レジスタへのデータの誤書き込みへの対応を行うことができる。また、この発明では、多重化レジスタ部を構成する複数のレジスタに対して共通のクロックが供給されるが、クロックによる複数のレジスタへのデータ書き込みは所定の条件が満たされた場合に制限される。従って、クロックへのノイズ重畳等の原因により多重化レジスタ部を構成する複数のレジスタの全てに対してデータの誤書き込みが行われるのを防止することができる。従って、この発明によれば、クロックの多重化を行うことなく、レジスタの多重化を行い、レジスタへの誤書き込みを防止することができる。
【図面の簡単な説明】
【００１４】
【図１】この発明の第１実施形態である半導体集積回路１００の構成を示す回路図である。
【図２】同半導体集積回路１００における誤検知防止回路４１の構成を示す回路図である。
【図３】同半導体集積回路１００の動作例を示すタイムチャートである。
【図４】同半導体集積回路１００の誤検知防止回路４１の第1の動作例を示すタイムチャートである。
【図５】同半導体集積回路１００の誤検知防止回路４１の第２の動作例を示すタイムチャートである。
【図６】この発明の第２実施形態である半導体集積回路１００Ａの構成を示す回路図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照し、この発明の実施形態について説明する。
【００１６】
＜第１実施形態＞
図１はこの発明の第1実施形態である半導体集積回路１００の構成を示す回路図である。この半導体集積回路は、図示しないホストコンピュータの制御下で動作する回路であり、ホストコンピュータとの間の情報の授受を行うためのホストＩ／Ｆ７０を有する。また、半導体集積回路１００は、ホストコンピュータから与えられる制御データを記憶するための２重化レジスタ部１１〜１３を有する。
【００１７】
２重化レジスタ部１１は、第１のレジスタ１１ｘと第２のレジスタ１１ｙを２重化してなる回路である。レジスタ１１ｘおよび１１ｙには、ホストコンピュータからホストＩ／Ｆ７０を介して共通の制御データが与えられ、かつ、共通な単一のクロックが与えられる。
【００１８】
２重化レジスタ部１１の前段には、ロード信号生成部２１が設けられている。ロード信号生成部２１は、２重化レジスタ部１１を特定するアドレスがホストコンピュータからホストＩ／Ｆ７０を介して入力され、かつ、後述するコンパレータ８４から一致検出信号が与えられた場合にロード信号を発生し、２重化レジスタ部１１を構成する第１のレジスタ１１ｘと第２のレジスタ１１ｙのロード端子ＬＤに供給する。レジスタ１１ｘおよび１１ｙでは、このロード信号がロード端子ＬＤに与えられている間にホストＩ／Ｆ７０を介してクロックが与えられた場合に、ホストＩ／Ｆ７０を介して与えられる共通の制御データがクロックにより書き込まれる。
【００１９】
２重化レジスタ部１２および１３も２重化レジスタ部１１と同様な構成である。２重化レジスタ部１２の前段にはロード信号生成部２２が、２重化レジスタ部１３の前段にはロード信号生成部２３が各々設けられている。
【００２０】
ロード信号生成部２２および２３は、２重化レジスタ部１２または１３を特定するアドレスがホストコンピュータからホストＩ／Ｆ７０を介して入力され、かつ、後述するコンパレータ８４から一致検出信号が与えられた場合にロード信号を発生し、２重化レジスタ部１２または１３を構成する第１および第２のレジスタのロード端子ＬＤ（図示略）に供給する。２重化レジスタ部１２および１３を構成する各レジスタの動作は、レジスタ１１ｘおよび１１ｙと同様である。本実施形態では、２重化レジスタ部１１〜１３の各々の第１のレジスタに記憶されたデータが内部回路制御信号として半導体集積回路１００内の各部に供給され、各部の制御に用いられる。
【００２１】
パスワードレジスタ８２は、ホストコンピュータから入力されるパスワードを記憶する手段である。このパスワードレジスタ８２の前段にはロード信号生成部８１が設けられている。このロード信号生成部８１は、ホストＩ／Ｆ７０を介してパスワードレジスタ８２を特定するアドレスが入力された場合にロード信号を発生し、パスワードレジスタ８２のロード端子ＬＤに供給する。パスワードレジスタ８２では、このロード信号がロード端子ＬＤに与えられている間にホストＩ／Ｆ７０を介してクロックが与えられた場合に、ホストコンピュータからホストＩ／Ｆ７０を介して与えられるパスワードがクロックにより書き込まれる。
【００２２】
パスワード生成部８３は、２重化レジスタ部１１〜１３にアクセスするためのパスワードを生成する回路である。コンパレータ８４は、パスワードレジスタ８２に書き込まれたパスワードがパスワード生成部８３の生成するパスワードと一致する場合に上述した一致検出信号を出力する回路である。
【００２３】
不一致検出回路３１は、２重化レジスタ部１１を構成する第１のレジスタ１１ｘと第２のレジスタ１１ｙの記憶データに不一致が発生した場合に不一致検出信号Ｓ３１を出力する回路であり、例えばＸＯＲゲートにより構成されている。不一致検出回路３２および３３も同様である。不一致検出回路３２は、２重化レジスタ部１２において、不一致検出回路３３は、２重化レジスタ部１３において、第１および第２のレジスタの記憶データに不一致が発生した場合に不一致検出信号を出力する。
【００２４】
不一致検出回路３１〜３３の後段には、誤検知防止回路４１〜４３が設けられている。これらは、所定幅よりも狭いパルス幅の不一致検出信号が発生した場合にその不一致検出信号の通過を阻止する回路である。なお、この誤検知防止回路４１〜４３が設けられている理由については後述する。
【００２５】
不一致検出回路３１〜３３が出力する不一致検出信号は誤検知防止回路４１〜４３を各々通過した後、ＯＲゲート５０を介して割り込みコントローラ６０に供給される。割り込みコントローラ６０は、ＯＲゲート５０を介して不一致検出信号を受け取ると、ホストコンピュータに対して割り込み要求信号ＩＲＱを出力する。これによりホストコンピュータは、２重化レジスタ部１１〜１３への再度のデータ書き込み、半導体集積回路１００の初期化等、２重化レジスタ部１１〜１３への誤書き込みに対応した処理を実行する。
【００２６】
次に誤検知防止回路４１〜４３が設けられている理由について説明する。例えば２重化レジスタ部１１の第１のレジスタ１１ｘと第２のレジスタ１１ｙへのデータ書き込みタイミングにずれがあると、狭いパルス幅のパルスが不一致検出信号として不一致検出回路３１から出力される。このようなパルスが割り込みコントローラ６０に伝達されると、第１のレジスタ１１ｘと第２のレジスタ１１ｙの記憶データに不一致が発生していないにも拘わらず、割り込み要求信号ＩＲＱがホストコンピュータに送られることとなる。このような不都合を回避するため、不一致検出回路３１〜３３の後段に誤検知防止回路４１〜４３が設けられているのである。
【００２７】
図２は誤検知防止回路４１の構成を示す回路図である。なお、誤検知防止回路４２および４３も、この誤検知防止回路４１と同様な構成を有する。
【００２８】
図２に示すように、誤検知防止回路４１は、３個のフリップフロップ４１１〜４１３と、ＸＮＲゲート４１４と、ロード端子付きのフリップフロップ４１５とにより構成されている。ここで、フリップフロップ４１１〜４１３は、不一致検出回路３１が出力する不一致検出信号Ｓ３１を半導体集積回路１００内において発生する内部クロックφに同期して順次シフトするシフトレジスタを構成している。ＸＮＲゲート４１４は、フリップフロップ４１２の出力信号Ｓ４１ｂとフリップフロップ４１３の出力信号Ｓ４１ｃの論理値が一致している場合に出力信号Ｓ４１ｄを“１”とし、そうでない場合に出力信号Ｓ４１ｄを“０”とする。フリップフロップ４１５は、このＸＮＲゲート４１４の出力信号Ｓ４１ｄがロード端子ＬＤに与えられ、フリップフロップ４１２の出力信号Ｓ４１ｂがデータ端子Ｄに与えられ、内部クロックφがクロック端子に与えられる。そして、フリップフロップ４１５は、ロード端子ＬＤに与えられる信号Ｓ４１ｄが“１”である期間内の内部クロックφの立ち上がりエッジにより、データ端子Ｄに与えられる信号Ｓ４１ｂを取り込み、信号Ｓ４１ｅとしてＯＲゲート５０に出力する。
【００２９】
この誤検知防止回路４１は、論理値が“１”である期間内に２回以上の内部クロックφの立ち上がりエッジが発生するだけのパルス幅を持った不一致検出信号Ｓ３１を通過させ、それよりも短いパルス幅の不一致検出信号Ｓ３１の通過を阻止する機能を有する。その詳細は本実施形態の動作説明において明らかにする。
【００３０】
以下、本実施形態の動作について説明する。外部のホストコンピュータは、例えば２重化レジスタ部１１へのデータ書き込みを行う場合、それに先立ち、パスワードレジスタ８２を特定するアドレスと、パスワードと、書き込み要求信号をホストＩ／Ｆ７０に供給する。ホストＩ／Ｆ７０は、アドレスをロード信号生成部２１〜２３および８１に供給し、パスワードを２重化レジスタ部１１〜１３の各レジスタのデータ端子とパスワードレジスタ８２のデータ端子に供給する。その後、ホストＩ／Ｆ７０は、クロックを２重化レジスタ部１１〜１３の各レジスタのクロック端子とパスワードレジスタ８２のクロック端子に供給する。この場合、ホストＩ／Ｆ７０を介して出力されるアドレスがパスワードレジスタ８２のアドレスであるため、ロード信号生成部８１がパスワードレジスタ８２のロード端子ＬＤにロード信号を出力する。このため、ホストＩ／Ｆ７０を介して出力されるパスワードがホストＩ／Ｆ７０から出力されるクロックによりパスワードレジスタ８２に書き込まれる。
【００３１】
このパスワードレジスタ８２に書き込まれたパスワードがパスワード生成部８３の発生するパスワードと一致する場合、コンパレータ８４は一致検出信号を出力する。
【００３２】
次にホストコンピュータは、データの書き込み先である２重化レジスタ部１１を特定するアドレスと、書き込み対象であるデータと、書き込み要求信号をホストＩ／Ｆ７０に出力する。ホストＩ／Ｆ７０は、ホストコンピュータから受け取ったアドレスをロード信号生成部２１〜２３および８１に供給し、ホストコンピュータから受け取ったデータを２重化レジスタ部１１〜１３の各レジスタのデータ端子とパスワードレジスタ８２のデータ端子に供給する。その後、ホストＩ／Ｆ７０は、クロックを２重化レジスタ部１１〜１３の各レジスタのクロック端子とパスワードレジスタ８２のクロック端子に供給する。そして、ホストＩ／Ｆ７０を介して出力されるアドレスが２重化レジスタ部１１のアドレスであり、かつ、一致検出信号が出力されているため、ロード信号生成部２１が２重化レジスタ部１１の各レジスタ１１ｘおよび１１ｙのロード端子ＬＤにロード信号を出力する。このため、ホストＩ／Ｆ７０を介して出力されるデータがホストＩ／Ｆ７０から出力されるクロックにより２重化レジスタ部１１の各レジスタ１１ｘおよび１１ｙに書き込まれる。
【００３３】
次にホストコンピュータは、パスワードレジスタ８２を特定するアドレスと、パスワード生成部８３の発生するパスワードと異なる偽のパスワードと、書き込み要求信号をホストＩ／Ｆ７０に供給する。この結果、偽のパスワードが、ホストＩ／Ｆ７０によりパスワードレジスタ８２に書き込まれ、コンパレータ８４による一致検出信号の出力が停止される。これにより、以後、外部からの２重化レジスタ部１１〜１３へのデータ書き込みが禁止される。
他の２重化レジスタ部１２および１３へのデータ書き込みの動作も以上と同様である。
【００３４】
半導体集積回路１００では、外来のノイズ等の影響により２重化レジスタ部１１〜１３を構成する各レジスタに対して誤書き込みが行われる場合がある。図３はそのような誤書き込みが行われた場合の本実施形態の動作例を示すタイムチャートである。この動作例では、当初、２重化レジスタ部１１を構成する２つのレジスタ１１ｘおよび１１ｙの両方に“０”が記憶されていたが、レジスタ１１ｘへの誤書き込みが行われ、レジスタ１１ｘの出力信号が“０”から“１”に変化している。この場合、レジスタ１１ｘの出力信号Ｓ１１ｘが“１”、レジスタ１１ｙの出力信号Ｓ１１ｙが“０”となるため、不一致検出回路３１から不一致検出信号Ｓ３１＝“１”が出力され、これが誤検知防止回路４１により遅延され、信号Ｓ４１ｅ＝“１”として出力される。これにより、割り込みコントローラ６０からホストコンピュータに割り込み要求信号ＩＲＱが供給される。この結果、ホストコンピュータにより、データの誤書き込みに対応した処理が実行される。
【００３５】
２重化レジスタ部１１〜１３へのデータ書き込みの際、２つのレジスタへのデータ書き込みのタイミングがずれると、このタイミングのずれ幅に相当する短いパルス幅を持った不一致検出信号が不一致検出回路３１〜３３から出力される。本実施形態において、誤検知防止回路４１〜４３は、このようなデータ書き込みタイミングのずれに起因した短いパルス幅を持った不一致検出信号の通過を阻止する役割を果たす。以下、誤検知防止回路４１を例にこの動作について説明する。
【００３６】
図４は誤検知防止回路４１の第１の動作例を示すタイムチャートである。図４の動作例では、論理値が“１”である間に内部クロックφの立ち上がりエッジが１回だけ発生するパルス幅を持った不一致検出信号Ｓ３１が誤検知防止回路４１に与えられている。この場合、フリップフロップ４１１の出力信号Ｓ４１ａは、不一致検出信号Ｓ３１が“１”である期間内の内部クロックφの立ち上がりエッジから次の立ち上がりエッジまでの期間だけ“１”を維持する。そして、フリップフロップ４１２の出力信号Ｓ４１ｂは、フリップフロップ４１１の出力信号Ｓ４１ａを内部クロックφの１周期相当遅延させた波形となる。すなわち、フリップフロップ４１５のデータ端子Ｄに与えられる信号Ｓ４１ｂは、不一致検出信号Ｓ３１が“１”である期間内の内部クロックφの立ち上がりエッジから数えて２番目の立ち上がりエッジにおいて“０”から“１”に立ち上がり、３番目の立ち上がりエッジにおいて“１”から“０”に立ち下がる。
【００３７】
フリップフロップ４１３の出力信号Ｓ４１ｃは、フリップフロップ４１２の出力信号Ｓ４１ｂを内部クロックφの１周期相当遅延させた波形となる。このため、ＸＮＲゲート４１４の出力信号Ｓ４１ｄ（すなわち、フリップフロップ４１５に対するロード信号）は、不一致検出信号Ｓ３１が“１”である期間内の内部クロックφの立ち上がりエッジから数えて２番目の立ち上がりエッジにおいて“１”から“０”に立ち下がり、４番目の立ち上がりエッジにおいて“０”から“１”に立ち上がる。
【００３８】
従って、フリップフロップ４１５のデータ端子Ｄに与えられる信号Ｓ４１ｂが“１”であり、かつ、フリップフロップ４１５のロード端子ＬＤに与えられる信号Ｓ４１ｄが“１”である期間内には内部クロックφの立ち上がりエッジが発生しない。このため、フリップフロップ４１５のデータ端子Ｄに与えられる信号Ｓ４１ｂ＝“１”がフリップフロップ４１５に書き込まれず、フリップフロップ４１５の出力信号Ｓ４１ｅは“０”を維持する。このように論理値が“１”である期間内に内部クロックφの立ち上がりエッジが１回だけ発生するパルス幅を持った不一致検出信号Ｓ３１は、誤検知防止回路４１を通過しない。
【００３９】
図５は誤検知防止回路４１の第２の動作例を示すタイムチャートである。図５の動作例では、論理値が“１”である期間内に内部クロックφの立ち上がりエッジが２回だけ発生するパルス幅を持った不一致検出信号Ｓ３１が誤検知防止回路４１に与えられている。この場合、フリップフロップ４１１の出力信号Ｓ４１ａは、不一致検出信号Ｓ３１が“１”である期間内の内部クロックφの最初の立ち上がりエッジと、この立ち上がりエッジから数えて３番目の立ち上がりエッジとの間の期間だけ“１”を維持する。そして、フリップフロップ４１２の出力信号Ｓ４１ｂは、フリップフロップ４１１の出力信号Ｓ４１ａを内部クロックφの１周期相当遅延させた波形となる。すなわち、フリップフロップ４１５のデータ端子Ｄに与えられる信号Ｓ４１ｂは、不一致検出信号Ｓ３１が“１”である期間内の内部クロックφの最初の立ち上がりエッジから数えて２番目の立ち上がりエッジにおいて“０”から“１”に立ち上がり、４番目の立ち上がりエッジにおいて“１”から“０”に立ち下がる。
【００４０】
フリップフロップ４１３の出力信号Ｓ４１ｃは、フリップフロップ４１２の出力信号Ｓ４１ｂを内部クロックφの１周期相当遅延させた波形となる。このため、ＸＮＲゲート４１４の出力信号Ｓ４１ｄ（すなわち、フリップフロップ４１５に対するロード信号）は、不一致検出信号Ｓ３１が“１”である期間内の内部クロックφの最初の立ち上がりエッジから数えて２番目の立ち上がりエッジにおいて“１”から“０”に立ち下がり、３番目の立ち上がりエッジにおいて“０”から“１”に立ち上がり、４番目の立ち上がりエッジにおいて“１”から“０”に立ち下がり、５番目の立ち上がりエッジにおいて“０”から“１”に立ち上がる。
【００４１】
ここで、不一致検出信号Ｓ３１が“１”である期間内の内部クロックφの最初の立ち上がりエッジから数えて４番目の立ち上がりエッジにおいては、フリップフロップ４１５のデータ端子Ｄに与えられる信号Ｓ４１ｂが“１”であり、かつ、フリップフロップ４１５のロード端子ＬＤに与えられる信号Ｓ４１ｄが“１”である。
【００４２】
このため、フリップフロップ４１５のデータ端子Ｄに与えられる信号Ｓ４１ｂ＝“１”がこの内部クロックφの４番目の立ち上がりエッジにより、フリップフロップ４１５に書き込まれ、フリップフロップ４１５の出力信号Ｓ４１ｅが“０”から“１”に立ち上がる。
【００４３】
その後、不一致検出信号Ｓ３１が“１”である期間内の内部クロックφの最初の立ち上がりエッジから数えて５番目の立ち上がりエッジが発生すると、フリップフロップ４１３の出力信号Ｓ４１ｃが“０”となり、ＸＮＲゲート４１４の出力信号Ｓ４１ｄが“１”となる。そして、不一致検出信号Ｓ３１が“１”である期間内の内部クロックφの最初の立ち上がりエッジから数えて６番目の立ち上がりエッジが発生すると、フリップフロップ４１２の出力信号Ｓ４１ｂ＝“０”がフリップフロップ４１５に書き込まれ、フリップフロップ４１５の出力信号Ｓ４１ｅが“１”から“０”に立ち下がる。
【００４４】
このように論理値が“１”である期間内に内部クロックφの立ち上がりエッジが２回だけ発生するパルス幅を持った不一致検出信号Ｓ３１は、誤検知防止回路４１を通過する。
【００４５】
以上、論理値が“１”である期間内に内部クロックφの立ち上がりエッジが２回だけ発生するパルス幅を持った不一致検出信号Ｓ３１が与えられた場合を例に誤検知防止回路４１の動作を説明したが、内部クロックφの立ち上がりエッジが３回以上発生するパルス幅を持った不一致検出信号Ｓ３１が与えられた場合の誤検知防止回路４１の動作も同様である。
以上が本実施形態の動作である。
【００４６】
本実施形態によれば、２重化レジスタ部１１〜１３を構成する２つのレジスタの一方に対する誤書き込みがあった場合、不一致検出回路３１〜３３により各レジスタの記憶データの不一致が検出され、割り込みコントローラ６０により外部のホストコンピュータに割り込み要求信号ＩＲＱが出力される。従って、レジスタへの誤書き込みへの対応を行うことができる。また、本実施形態によれば、２重化レジスタ部１１〜１３を構成する各レジスタに対して単一のクロックが供給されるが、クロックによる２重化レジスタ部へのデータ書き込みは所定の条件が満たされた場合、具体的には事前に正当なパスワードが入力され、かつ、書き込み先の２重化レジスタ部を特定するアドレスが入力された場合に制限される。従って、クロックへのノイズ重畳等の原因により２重化レジスタ部を構成する複数のレジスタの全てに対して同一データの誤書き込みが行われるのを防止することができる。従って、本実施形態によれば、クロックの多重化を行うことなく、レジスタの多重化を行い、レジスタへの誤書き込みを防止することができる。また、本実施形態によれば、２重化レジスタ部１１〜１３の各々を構成する２つのレジスタへのデータ書き込みのタイミングがずれ、後段の不一致検出回路３１〜３３がパルス幅の狭い不一致検出信号を出力する場合に、誤検知防止回路４１〜４３がその不一致検出信号の通過を阻止する。従って、データ書き込みタイミングのずれに起因した不適切な不一致検出信号により割り込み要求信号ＩＲＱが誤って出力されるのを防止することができる。
【００４７】
＜第２実施形態＞
図６はこの発明の第２実施形態である半導体集積回路１００Ａの構成を示す回路図である。なお、この図６において、上述した図１（第１実施形態）に示された部分と同一の部分には共通の符号を使用し、その説明を省略する。
【００４８】
本実施形態では、上記第１実施形態におけるパスワードレジスタ８２と、パスワード生成部８３と、コンパレータ８４が、パスワードレジスタ８２ｘおよび８２ｙと、パスワード生成部８３ｘおよび８３ｙと、コンパレータ８４ｘおよび８４ｙに置き換えられている。
【００４９】
また、本実施形態では、上記実施形態におけるロード信号生成部２１、２２、２３、８１が、ロード信号生成部２１ｘおよび２１ｙ、２２ｘおよび２２ｙ、２３ｘおよび２３ｙ、８１ｘおよび８１ｙに置き換えられている。
【００５０】
本実施形態において、ロード信号生成部２１ｘ、２２ｘおよび２３ｘは、後段の２重化レジスタ部を特定するアドレスが与えられ、かつ、後述する第１の一致検出信号が与えられた場合に後段の２重化レジスタ部の第１のレジスタのロード端子ＬＤにロード信号を供給する。
【００５１】
ロード信号生成部２１ｙ、２２ｙおよび２３ｙは、後段の２重化レジスタ部を特定するアドレスが与えられ、かつ、後述する第２の一致検出信号が与えられた場合に後段の２重化レジスタ部の第２のレジスタのロード端子ＬＤにロード信号を供給する。
【００５２】
ロード信号生成部８１ｘは、パスワードレジスタ８２ｘを特定するアドレスが与えられた場合に、パスワードレジスタ８２ｘのロード端子ＬＤにロード信号を供給する。ロード信号生成部８１ｙは、パスワードレジスタ８２ｙを特定するアドレスが与えられた場合に、パスワードレジスタ８２ｙのロード端子ＬＤにロード信号を供給する。
【００５３】
パスワードレジスタ８２ｘおよび８２ｙは、各々、ロード端子ＬＤにロード信号が与えられている間、ホストＩ／Ｆ７０を介して与えられるパスワードをホストＩ／Ｆ７０から与えられるクロックにより取り込んで記憶する。
【００５４】
パスワード生成部８３ｘは、２重化レジスタ部１１〜１３の第１のレジスタへのアクセスを許可する第１のパスワードを発生する。また、パスワード生成部８３ｙは、２重化レジスタ部１１〜１３の第２のレジスタへのアクセスを許可する第２のパスワードを発生する。
【００５５】
コンパレータ８４ｘは、パスワードレジスタ８２ｘに書き込まれたパスワードがパスワード生成部８３ｘの生成する第１のパスワードと一致する場合に第１の一致検出信号を出力する。コンパレータ８４ｙは、パスワードレジスタ８２ｙに書き込まれたパスワードがパスワード生成部８３ｙの生成する第２のパスワードと一致する場合に第２の一致検出信号を出力する。
【００５６】
本実施形態において、ホストコンピュータは、例えば２重化レジスタ部１１へのデータ書き込みを行う場合、事前に第１および第２のパスワードの入力を行う必要がある。具体的には、ホストコンピュータは、パスワードレジスタ８２ｘを特定するアドレスと、第１のパスワードと、書き込み要求信号をホストＩ／Ｆ７０に供給する。これにより第１のパスワードがパスワードレジスタ８２ｘに書き込まれ、コンパレータ８４ｘが第１の一致検出信号を出力する。また、ホストコンピュータは、パスワードレジスタ８２ｙを特定するアドレスと、第２のパスワードと、書き込み要求信号をホストＩ／Ｆ７０に供給する。これにより第２のパスワードがパスワードレジスタ８２ｙに書き込まれ、コンパレータ８４ｙが第２の一致検出信号を出力する。
【００５７】
この状態において、ホストコンピュータが２重化レジスタ部１１を特定するアドレスと、書き込み対象のデータと、書き込み要求信号をホストＩ／Ｆ７０に供給すると、ロード信号生成部２１ｘから２重化レジスタ部１１の第１のレジスタ１１ｘにロード信号が供給され、ロード信号生成部２１ｙから２重化レジスタ部１１の第２のレジスタ１１ｙにロード信号が供給され、書き込み対象のデータがホストＩ／Ｆ７０から出力されるクロックによりレジスタ１１ｘおよび１１ｙに書き込まれる。
他の点は上記第１実施形態と同様である。
【００５８】
本実施形態によれば、上記第１実施形態と同様な効果が得られる。また、本実施形態では、２重化レジスタ部を構成する第１のレジスタと第２のレジスタについて別個のパスワードによるアクセス制限を設けているので、誤書き込みに対する保護を上記第１実施形態よりも強化することができる。
【００５９】
＜他の実施形態＞
以上、この発明の第１および第２実施形態について説明したが、この発明には他にも実施形態が考えられる。例えば次の通りである。
【００６０】
（１）上記各実施形態では、多重化レジスタ部として、第１および第２のレジスタからなる２重化レジスタ部を使用したが、３個以上のレジスタからなる多重化レジスタ部を使用してもよい。この態様では、多重化レジスタ部の各レジスタの記憶データの不一致が検出された場合に、各レジスタの記憶データの多数決により制御に使用するデータを決定するようにしてもよい。
【００６１】
（２）上記第１実施形態では、全ての２重化レジスタ部１１〜１３について共通のパスワードを使用したが、２重化レジスタ部１１〜１３の各々について別個のパスワードを生成し、書き込み先である２重化レジスタ部に対応したパスワードが入力された場合に限り、当該２重化レジスタ部へのデータ書き込みを許可するようにしてもよい。上記第２実施形態についても同様である。
【００６２】
（３）上記第１実施形態では、ホストコンピュータが、パスワード生成部８３の生成するパスワードと異なる偽のパスワードをパスワードレジスタ８２に書き込むことにより、コンパレータ８４による一致検出信号の出力を停止させた。しかし、これ以外の態様で、コンパレータ８４による一致検出信号の出力を停止させてもよい。ある好ましい態様では、コンパレータ８４が一致検出信号を出力した後、２重化レジスタ部１１〜１３のいずれかにデータ書き込みが行われると、コンパレータ８４は一致検出信号の出力を停止する。この態様では、ホストコンピュータは、２重化レジスタ部１１〜１３へのデータ書き込みを行う都度、それに先立ってパスワードの入力を行うことになるが、データ書き込みの後、偽のパスワードをパスワードレジスタ８２に書き込む必要はない。他の好ましい態様では、ホストコンピュータは、複数の２重化レジスタ部へのデータ書き込みを行う場合にその個数をホストＩ／Ｆ７０に通知する。この態様では、コンパレータ８４が一致検出信号を出力した後、通知された個数の２重化レジスタ部へのデータ書き込みが行われると、コンパレータ８４は一致検出信号の出力を停止する。この態様によれば、ホストコンピュータは、１回のパスワードの入力により、複数の２重化レジスタ部へのデータ書き込みを行うことができる。この場合も、データ書き込みの後、偽のパスワードをパスワードレジスタ８２に書き込む必要はない。
【符号の説明】
【００６３】
１００，１００Ａ…半導体集積回路、１１，１２，１３…２重化レジスタ部、１１ｘ，１１ｙ…レジスタ、８２，８２ｘ，８２ｙ…パスワードレジスタ、８３，８３ｘ，８３ｙ…パスワード生成部、８４，８４ｘ，８４ｙ…コンパレータ、２１，２１ｘ，２１ｙ，２２，２２ｘ，２２ｙ，２３，２３ｘ，２３ｙ，８１，８１ｘ，８１ｙ…ロード信号生成部、３１〜３３…不一致検出回路、４１〜４３…誤検知防止回路、５０…ＯＲゲート、６０…割り込みコントローラ、７０…ホストＩ／Ｆ、４１１〜４１３，４１５…フリップフロップ、４１４…ＸＮＲゲート。
【図１】
2018206862.tif 000003
【図２】
2018206862.tif 000004
【図３】
2018206862.tif 000005
【図４】
2018206862.tif 000006
【図５】
2018206862.tif 000007
【図６】
2018206862.tif 000008