(57)【特許請求の範囲】
【請求項１】
リセット信号が非活性である場合には各々がクロック信号に同期してデータを受け次段に伝達する、環状のデータ転送経路上に配置された、複数の保持回路と、
前記複数の保持回路の保持データを監視し、前記保持データが正常な時には前記リセット信号を非活性化し、前記保持データの異常を検出すると前記リセット信号を活性化して前記保持データを初期化するリセット回路とを備え、
前記リセット回路は、
前記複数の保持回路のうちの第１部分のいずれかのうち少なくとも１つに第１の論理値のデータが存在するか否かを検出した第１の結果信号と、前記複数の保持回路から前記第１部分を除外した第２部分のいずれかのうち少なくとも１つに前記第１の論理値のデータが存在するか否かを検出した第２の結果信号とを出力する論理回路部と、
前記第１、第２の結果信号が一致した場合に前記リセット信号を活性化する一致検出回路とを含み、
前記複数の保持回路の各々は、前記リセット信号の活性化に応じて対応する初期値に保持値が設定される、半導体装置。
【請求項２】
前記第１の論理値は、１であり、
前記論理回路部は、
前記第１部分に属する保持回路の出力を受けて前記第１の結果信号を出力する第１のＯＲ回路と、
前記第２部分に属する保持回路の出力を受けて前記第２の結果信号を出力する第２のＯＲ回路とを含み、
前記一致検出回路は、前記第１、第２のＯＲ回路の出力が一致した場合に、前記複数の保持回路を初期化するための前記リセット信号を活性化する、請求項１に記載の半導体装置。
【請求項３】
前記第２部分は、
第１の保持回路を含み、
前記第１部分は、
前記複数の保持回路のうちから前記第１の保持回路を除外した残りの保持回路を含み、
前記論理回路部は、
前記第１の保持回路の出力を前記第１の結果信号として前記一致検出回路に伝達する伝達部と、
前記第１部分に属する保持回路の出力を受けて前記第２の結果信号を出力するＯＲ回路とを含み、
前記一致検出回路は、前記ＯＲ回路の出力と前記第１の保持回路の出力とが一致した場合に、前記複数の保持回路を初期化するための前記リセット信号を活性化する、請求項１に記載の半導体装置。
【請求項４】
前記複数の保持回路は、
前記リセット信号の活性化に応じて前記第１の論理値に初期化される第１の保持回路と、
前記リセット信号の活性化に応じて前記第１の論理値と相補な第２の論理値に初期化される複数の第２の保持回路とを含む、請求項１〜３のいずれか１項に記載の半導体装置。
【請求項５】
前記複数の保持回路の出力のいずれかひとつと外部クロック信号とに応じて前記外部クロックより周波数の高い前記クロック信号を出力するフェーズロックドループ回路と、
前記クロック信号に同期して処理を行なう内部回路とをさらに備える、請求項１〜４のいずれか１項に記載の半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、半導体装置に関し、より特定的にはカウンタ回路を含む半導体装置に関する。
【０００２】
【従来の技術】
外部から与えられるクロックに同期して動作する半導体装置は、与えられた外部クロックを分周するためにカウンタ回路を内蔵している場合が多い。カウンタには、いろいろ種類がある。最も一般的なのは、ｎ個のラッチで２のｎ乗の状態を表わすことができるバイナリカウンタである。バイナリカウンタは、ｎ個のラッチの出力が各ビットに対応し、各ビットがそれぞれ２の０乗、２の１乗、…、２のｎ乗に対応するものである。
【０００３】
しかしながら、バイナリカウンタは、下位ビットが確定してから上位ビットが確定するまでにクリティカルパスが存在するため、動作周波数が制限される。また、ある一定周期ごとにパルス信号を出力するような用途には、各ビットの出力をＡＮＤ回路でデコードして用いる必要がある。このようなデコードによって作られたパルス信号は、動作の基準となる内部クロック信号として使用するためには一度Ｄフリップフロップで受ける必要がある。
【０００４】
近年、半導体装置は高速化が進み、外部クロックを内部で逓倍してさらに高速な内部クロックを発生し、これに同期して処理を行なうような場合がある。このような高速動作が要求されるような用途には、バイナリカウンタよりも高速動作が可能なリングカウンタが用いられる。リングカウンタは、たとえばクロックの分周器や、内部回路の動作の基準となるタイミング信号を生成するために用いられる。
【０００５】
リングカウンタ回路（ring counter：環状計数器）は、フリップフロップ等の二安定ユニットをループ状に接続したものである。任意の与えられた時刻に，ただ一つのフリップフロップだけが“Ｈ”データを保持しており、他のフリップフロップは“Ｌ”データを保持している状態にある。クロック入力信号を数えるごとに、“Ｈ”データを保持しているフリップフロップの位置がループ上を回って順に動いていく。
【０００６】
図８は、従来の半導体装置４５２の概略構成を示すブロック図である。
図８を参照して、半導体装置４５２は、外部から与えられるクロック信号ＣＬＫおよびリセット信号／ＲＥＳＥＴを受け、外部クロック信号ＣＬＫのｎ倍の周波数の内部クロック信号ＩＣＬＫを出力する内部クロック発生回路４５４と、外部から与えられる入力信号ＤＩＮを受け内部クロック信号ＩＣＬＫに同期した処理を行ない、外部に対して出力信号ＤＯＵＴを出力する内部回路４５６とを含む。
【０００７】
内部クロック発生回路４５４は、クロック信号ＣＬＫを受けて内部クロック信号ＩＣＬＫを出力するＰＬＬ（Phase Locked Loop）回路４５８と、外部から与えられるリセット信号／ＲＥＳＥＴによって初期化された後に動作を開始し、内部クロック信号ＩＣＬＫを分周して内部クロック信号ＲＣＬＫを出力するリングカウンタ５００とを含む。内部クロック信号ＲＣＬＫは、クロック信号ＩＣＬＫのｎ分の１の周波数となる。内部クロック信号ＲＣＬＫは、ＰＬＬ回路４５８によって外部から与えられるクロック信号ＣＬＫと位相の比較が行なわれる。
【０００８】
図９は、図８に示したリングカウンタ５００の構成を示す回路図である。
図９を参照して、リングカウンタ５００は、内部クロック信号ＲＣＬＫとリセット信号／ＲＥＳＥＴを受けるゲート回路５０２♯１を含む。
【０００９】
ゲート回路５０２♯１は、リセット信号／ＲＥＳＥＴがＬレベルに活性化されると出力がＨレベルとなり、また内部クロック信号ＲＣＬＫがＨレベルとなると出力がＨレベルとなる回路である。
【００１０】
リングカウンタ５００は、さらに、内部クロック信号ＩＣＬＫに同期してゲート回路５０２♯１の出力を受取るＤフリップフロップ５０４♯１と、Ｄフリップフロップ５０４♯１の出力とリセット信号／ＲＥＳＥＴとを受けるＡＮＤ回路５０２♯２と、ＡＮＤ回路５０２♯２の出力を内部クロック信号ＩＣＬＫに同期して受取るＤフリップフロップ５０４♯２とを含む。
【００１１】
リングカウンタ５００は、さらに、Ｄフリップフロップ５０４♯２の出力とリセット信号／ＲＥＳＥＴとを受けるＡＮＤ回路５０２♯３と、ＡＮＤ回路５０２♯３の出力を内部クロック信号ＩＣＬＫに同期して受取るＤフリップフロップ５０４♯３と、Ｄフリップフロップ５０４♯３の出力とリセット信号／ＲＥＳＥＴとを受けるＡＮＤ回路５０２♯４と、ＡＮＤ回路５０２♯４の出力を内部クロック信号ＩＣＬＫに同期して受取るＤフリップフロップ５０４♯４とを含む。
【００１２】
リングカウンタ５００は、さらに、Ｄフリップフロップ５０４♯４の出力とリセット信号／ＲＥＳＥＴとを受けるＡＮＤ回路５０２♯５と、ＡＮＤ回路５０２♯５の出力を内部クロック信号ＩＣＬＫに同期して受取るＤフリップフロップ５０４♯５と、Ｄフリップフロップ５０４♯５の出力とリセット信号／ＲＥＳＥＴとを受けるＡＮＤ回路５０２♯６と、ＡＮＤ回路５０２♯６の出力を内部クロック信号ＩＣＬＫに同期して受取るＤフリップフロップ５０４♯６とを含む。
【００１３】
リングカウンタ５００は、さらに、Ｄフリップフロップ５０４♯６の出力とリセット信号／ＲＥＳＥＴとを受けるＡＮＤ回路５０２♯７と、ＡＮＤ回路５０２♯７の出力を内部クロック信号ＩＣＬＫに同期して受取るＤフリップフロップ５０４♯７と、Ｄフリップフロップ５０４♯７の出力とリセット信号／ＲＥＳＥＴとを受けるＡＮＤ回路５０２♯８と、ＡＮＤ回路５０２♯８の出力を内部クロック信号ＩＣＬＫに同期して受取るＤフリップフロップ５０４♯８とを含む。
【００１４】
Ｄフリップフロップ５０４♯８の出力は、内部クロック信号ＲＣＬＫとして、図８のＰＬＬ回路４５８に与えられ、クロック信号ＣＬＫと位相比較が行なわれる。
【００１５】
図１０は、図９に示したリングカウンタ５００の動作を説明するための動作波形図である。
【００１６】
図９、図１０を参照して、Ｑ１〜Ｑ８は、それぞれＤフリップフロップ５０４♯１〜５０４♯８の出力信号である。まず、クロックサイクル♯１において、信号Ｑ１がＨレベルで信号Ｑ２〜Ｑ８がＬレベルである。続いてクロックサイクル♯２において内部クロック信号ＩＣＬＫの立上がりに応じて信号Ｑ１がＬレベルに立下がり、信号Ｑ１の代わりに信号Ｑ２がＨレベルに立上がる。信号Ｑ３〜Ｑ８はＬレベルの状態のままである。
【００１７】
以降、クロック信号の立上がりエッジが入力されるごとにＨレベルを出力しているフリップフロップは１段ずつ後段へシフトしていく。そして、クロックサイクル♯８が終了し、クロックサイクル♯９において再び、信号Ｑ１がＨレベルで信号Ｑ２〜Ｑ８がＬレベルの状態に戻る。このようなシフトレジスタをリング状に接続したリングカウンタは高速動作が可能であり、また、フリップフロップ５０４♯８の出力信号がそのままタイミング基準信号として用いることが可能である。
【００１８】
【発明が解決しようとする課題】
以上説明したように、シフトレジスタを構成するフリップフロップのうち１つのフリップフロップのみがＨデータを保持しており、内部クロック信号ＩＣＬＫが入力されるごとに次段にそのＨデータが伝達される。これにより、フリップフロップの個数に相当する内部クロック信号ＩＣＬＫが入力されると内部クロック信号ＲＣＬＫとして１クロック幅でフリップフロップの個数分の周期を有する基準パルス信号が得られる。このようなリングカウンタはフリップフロップの数を変更することにより簡単に出力信号の周期を変更することができる。
【００１９】
しかしながら、このようなリングカウンタには、一旦誤動作が発生するとリセット信号が再度入力されるまで誤動作から復帰できないという問題点がある。
【００２０】
図１１は、従来のリングカウンタの誤動作を説明するための波形図である。
図９、図１１を参照して、信号Ｑ１〜Ｑ８は、それぞれＤフリップフロップ５０４♯１〜５０４♯８の出力信号を示している。
【００２１】
クロックサイクル♯１〜♯４では、図１０で説明した動作と同様に順次Ｈレベルを出力するＤフリップフロップの位置が順にシフトしている。
【００２２】
クロックサイクル♯５において、Ｄフリップフロップ５０４♯１の出力ノードに、たとえば放射線などによりＨレベルのノイズが発生し、そのノイズが保持されてしまう場合があり得る。
【００２３】
すると、クロックサイクル♯６では、ノイズによるＨデータが次段にシフトされ信号Ｑ２がＨレベルとなってしまう。したがって、クロックサイクル♯６以降はＨレベルのデータを保持するフリップフロップが８個のフリップフロップのうち２個存在する状態となってしまう。
【００２４】
たとえばクロックサイクル♯８では、信号Ｑ４と信号Ｑ８とがＨレベルになってしまう。したがって、クロックサイクル♯８以降は、リングカウンタ５００から出力される内部クロック信号ＲＣＬＫは本来の２倍の周波数となってしまう。すると、図８のＰＬＬ回路４５８は、発生すべき内部クロック信号ＩＣＬＫの２分の１の周波数のクロック信号を発生するという誤動作を生ずることになる。
【００２５】
すなわち、図９に示したリングカウンタ５００は、正常時は８通りの状態しか示すことがないが、組合せとしては２５６通りの状態をとり得るので、異常な状態である２４８通りの組合せのいずれかの状態に陥った場合には正常動作に復帰することができないという問題点がある。たとえば、終夜運転をするワークステーション、工場の室温を管理するためのエアコン、警備システム、インターネットサーバなどのような長時間連続運転され、電源投入による初期化がなされないような用途では、このような誤動作が起こると大きな問題となる。
【００２６】
本発明の目的は、一旦誤動作が発生してもすみやかに正常状態に復帰することが可能な信頼性の高い半導体装置を提供することである。
【００２７】
【課題を解決するための手段】
請求項１に記載の半導体装置は、各々がクロック信号に同期してデータを受け次段に伝達する、環状に直列接続された複数の保持回路と、複数の保持回路の保持データを監視し、異常を検出すると保持データを初期化するリセット回路とを備え、リセット回路は、複数の保持回路のうちの第１部分に第１の論理値のデータが存在し、かつ、複数の保持回路から第１部分を除外した第２部分に第１の論理値のデータが存在する場合、または、複数の保持回路のうちの第１部分に第１の論理値のデータが存在せず、かつ、複数の保持回路から第１部分を除外した第２部分に第１の論理値のデータが存在しない場合に、保持データの初期化を行なう。
【００２８】
好ましくは、第１の論理値は、１であり、リセット回路は、第１部分に属する保持回路の出力を受ける第１のＯＲ回路と、第２部分に属する保持回路の出力を受ける第２のＯＲ回路と、第１、第２のＯＲ回路の出力が一致した場合に、複数の保持回路を初期化するためのリセット信号を出力する一致検出回路とを含む。
【００３０】
好ましくは、第２部分は、第１の保持回路を含み、第１部分は、複数の保持回路のうちから第１の保持回路を除外した残りの保持回路を含み、リセット回路は、第１部分に属する保持回路の出力を受けるＯＲ回路と、ＯＲ回路の出力と第１の保持回路の出力とが一致した場合に、複数の保持回路を初期化するためのリセット信号を出力する一致検出回路とを含む。
【００３１】
好ましくは、第１の論理値は、１であり、縮退回路は、第１部分の保持データに対応する入力信号を受けるＯＲ回路を有し、ＯＲ回路の出力と第１の保持回路の出力とが一致したときにリセット信号を出力するエクスクルッシブＮＯＲ回路とを含む。
【００３２】
好ましくは、複数の保持回路は、リセット回路の出力に応じて第１の論理値に初期化される第１の保持回路と、リセット回路の出力に応じて第１の論理値と相補な第２の論理値に初期化される複数の第２の保持回路とを含む。
【００３３】
好ましくは、半導体装置は、複数の保持回路の出力のいずれかひとつと外部クロック信号とに応じて外部クロックより周波数の高いクロック信号を出力するクロック発生回路と、クロック信号に同期して処理を行なう内部回路とをさらに備える。
【００３６】
【発明の実施の形態】
以下において、本発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一符号は同一または相当部分を示す。
【００３７】
［実施の形態１］
図１は、本発明の実施の形態１の半導体装置２の構成を示す概略ブロック図である。
【００３８】
図１を参照して、半導体装置２は、外部から与えられるクロック信号ＣＬＫを受け外部クロック信号ＣＬＫのｎ倍の周波数を有する内部クロック信号ＩＣＬＫを出力する内部クロック発生回路４と、外部から与えられる入力信号ＤＩＮを受け内部クロック信号ＩＣＬＫに同期した処理を行ない、外部に対して出力信号ＤＯＵＴを出力する内部回路６とを含む。
【００３９】
内部クロック発生回路４は、クロック信号ＣＬＫを受けて内部クロック信号ＩＣＬＫを出力するＰＬＬ（Phase Locked Loop）回路８と、電源が投入されると初期値が正常な状態かどうかを判別し、正常な状態でない場合にはデータの初期化を行なった後に動作を開始し、内部クロック信号ＩＣＬＫを分周して内部クロック信号ＲＣＬＫを出力するリングカウンタ１０とを含む。内部クロック信号ＲＣＬＫは、クロック信号ＩＣＬＫのｎ分の１の周波数となる。内部クロック信号ＲＣＬＫは、ＰＬＬ回路８によって外部から与えられるクロック信号ＣＬＫと位相の比較が行なわれる。
【００４０】
図２は、図１におけるＰＬＬ回路８の構成を示したブロック図である。
図２を参照して、ＰＬＬ回路８は、クロック信号ＣＬＫを受けて内部クロック信号ＥＣＬＫを出力するクロックバッファ８ａと、内部クロック信号ＲＣＬＫの位相と内部クロック信号ＥＣＬＫの位相とを比較し制御信号ＵＰ／ＤＯＷＮを出力する位相比較器８ｂと、制御信号ＵＰに応じて制御信号ＣＴ（ｎ：０）の活性化ビットを上位方向にシフトさせ制御信号ＤＯＷＮに応じて制御信号ＣＴ（ｎ：０）の活性化ビットを下位方向にシフトさせるシフトレジスタ８ｃと、制御信号ＣＴ（ｎ：０）に応じて遅延量が変化する遅延ライン８ｄとを含む。遅延ライン８ｄは、奇数段の反転回路によって構成されており、その遅延段数が制御信号ＣＴ（ｎ：０）に応じて２段ずつ変化する。遅延ライン８ｄは内部クロック信号ＩＣＬＫを出力しており、この内部クロック信号ＩＣＬＫは、また、遅延ライン８ｄに入力され、これにより遅延ライン８ｄは自励発振するリングオシレータとして動作する。
【００４１】
図３は、図１に示したリングカウンタ１０の構成を示す回路図である。
図３を参照して、リングカウンタ１０は、内部クロック信号ＲＣＬＫとリセット信号／ＲＥＳＥＴを受けるゲート回路１２♯１を含む。
【００４２】
ゲート回路１２♯１は、リセット信号／ＲＥＳＥＴがＬレベルに活性化されると出力がＨレベルとなり、また内部クロック信号ＲＣＬＫがＨレベルとなると出力がＨレベルとなる回路である。
【００４３】
リングカウンタ１０は、さらに、内部クロック信号ＩＣＬＫに同期してゲート回路１２♯１の出力を受取るＤフリップフロップ１４♯１と、Ｄフリップフロップ１４♯１の出力とリセット信号／ＲＥＳＥＴとを受けるＡＮＤ回路１２♯２と、ＡＮＤ回路１２♯２の出力を内部クロック信号ＩＣＬＫに同期して受取るＤフリップフロップ１４♯２とを含む。
【００４４】
リングカウンタ１０は、さらに、Ｄフリップフロップ１４♯２の出力とリセット信号／ＲＥＳＥＴとを受けるＡＮＤ回路１２♯３と、ＡＮＤ回路１２♯３の出力を内部クロック信号ＩＣＬＫに同期して受取るＤフリップフロップ１４♯３と、Ｄフリップフロップ１４♯３の出力とリセット信号／ＲＥＳＥＴとを受けるＡＮＤ回路１２♯４と、ＡＮＤ回路１２♯４の出力を内部クロック信号ＩＣＬＫに同期して受取るＤフリップフロップ１４♯４とを含む。
【００４５】
リングカウンタ１０は、さらに、Ｄフリップフロップ１４♯４の出力とリセット信号／ＲＥＳＥＴとを受けるＡＮＤ回路１２♯５と、ＡＮＤ回路１２♯５の出力を内部クロック信号ＩＣＬＫに同期して受取るＤフリップフロップ１４♯５と、Ｄフリップフロップ１４♯５の出力とリセット信号／ＲＥＳＥＴとを受けるＡＮＤ回路１２♯６と、ＡＮＤ回路１２♯６の出力を内部クロック信号ＩＣＬＫに同期して受取るＤフリップフロップ１４♯６とを含む。
【００４６】
リングカウンタ１０は、さらに、Ｄフリップフロップ１４♯６の出力とリセット信号／ＲＥＳＥＴとを受けるＡＮＤ回路１２♯７と、ＡＮＤ回路１２♯７の出力を内部クロック信号ＩＣＬＫに同期して受取るＤフリップフロップ１４♯７と、Ｄフリップフロップ１４♯７の出力とリセット信号／ＲＥＳＥＴとを受けるＡＮＤ回路１２♯８と、ＡＮＤ回路１２♯８の出力を内部クロック信号ＩＣＬＫに同期して受取るＤフリップフロップ１４♯８とを含む。
【００４７】
Ｄフリップフロップ１４♯８の出力は内部クロック信号ＲＣＬＫとして、図１のＰＬＬ回路８に与えられ、クロック信号ＣＬＫと位相比較が行なわれる。
【００４８】
リングカウンタ１０は、さらに、信号Ｑ１〜Ｑ８を受けてシフトレジスタの状態を監視し異常を検出するとリセット信号／ＲＥＳＥＴを出力するリセット回路１６を含む。
【００４９】
図４は、図３におけるリセット回路１６の検討例であるリセット回路１６ａの構成を示す回路図である。
【００５０】
図４を参照して、リセット回路１６ａは、デコード回路１８♯１〜１８♯８と、デコード回路１８♯１〜１８♯８の出力を受けてリセット信号／ＲＥＳＥＴを出力するＯＲ回路２０とを含む。
【００５１】
デコード回路１８♯１は、図３のＤフリップフロップ１４♯１の出力信号Ｑ１がＨレベルで他のＤフリップフロップの出力信号がＬレベルである状態を検出してＨレベルを出力する。出力信号Ｑ１〜Ｑ８が他の組合せであるときには、デコード回路１８♯１は、Ｌレベルを出力する。
【００５２】
デコード回路１８♯２は、図３のＤフリップフロップ１４♯２の出力信号Ｑ２がＨレベルで他のＤフリップフロップの出力信号がＬレベルである状態を検出してＨレベルを出力する。出力信号Ｑ１〜Ｑ８が他の組合せであるときには、デコード回路１８♯２は、Ｌレベルを出力する。
【００５３】
デコード回路１８♯３は、図３のＤフリップフロップ１４♯３の出力信号Ｑ３がＨレベルで他のＤフリップフロップの出力信号がＬレベルである状態を検出してＨレベルを出力する。出力信号Ｑ１〜Ｑ８が他の組合せであるときには、デコード回路１８♯３は、Ｌレベルを出力する。
【００５４】
デコード回路１８♯４は、図３のＤフリップフロップ１４♯４の出力信号Ｑ４がＨレベルで他のＤフリップフロップの出力信号がＬレベルである状態を検出してＨレベルを出力する。出力信号Ｑ１〜Ｑ８が他の組合せであるときには、デコード回路１８♯４は、Ｌレベルを出力する。
【００５５】
デコード回路１８♯５は、図３のＤフリップフロップ１４♯５の出力信号Ｑ５がＨレベルで他のＤフリップフロップの出力信号がＬレベルである状態を検出してＨレベルを出力する。出力信号Ｑ１〜Ｑ８が他の組合せであるときには、デコード回路１８♯５は、Ｌレベルを出力する。
【００５６】
デコード回路１８♯６は、図３のＤフリップフロップ１４♯６の出力信号Ｑ６がＨレベルで他のＤフリップフロップの出力信号がＬレベルである状態を検出してＨレベルを出力する。出力信号Ｑ１〜Ｑ８が他の組合せであるときには、デコード回路１８♯６は、Ｌレベルを出力する。
【００５７】
デコード回路１８♯７は、図３のＤフリップフロップ１４♯７の出力信号Ｑ７がＨレベルで他のＤフリップフロップの出力信号がＬレベルである状態を検出してＨレベルを出力する。出力信号Ｑ１〜Ｑ８が他の組合せであるときには、デコード回路１８♯７は、Ｌレベルを出力する。
【００５８】
デコード回路１８♯８は、図３のＤフリップフロップ１４♯８の出力信号Ｑ８がＨレベルで他のＤフリップフロップの出力信号がＬレベルである状態を検出してＨレベルを出力する。出力信号Ｑ１〜Ｑ８が他の組合せであるときには、デコード回路１８♯８は、Ｌレベルを出力する。
【００５９】
リセット回路１６ａのような構成とすれば、誤動作を生じた場合には直ちにリセット信号が出力されるため、次のクロック信号の立上がりエッジに同期してすぐさま正常状態に復帰することが可能である。ただし、デコード回路１８♯１〜１８♯８およびＯＲ回路２０は、いずれも入力信号が多い複雑な回路となるため、回路規模が大きくなってしまい経済的ではない。
【００６０】
図５は、改良したリセット回路１６ｂの構成を示す回路図である。
図５を参照して、リセット回路１６ｂは、信号Ｑ１〜Ｑ４を受けるＯＲ回路２２と、信号Ｑ５〜Ｑ８を受けるＯＲ回路２４と、ＯＲ回路２２，２４の出力を受けてリセット信号／ＲＥＳＥＴを出力するエクスクルシブＯＲ回路２６とを含む。ＯＲ回路２２の出力信号は、信号Ｑ１〜Ｑ４を縮退した信号であり、信号Ｑ１〜Ｑ４のいずれかが１つでもＨレベルであればＨレベルとなる。ＯＲ回路２４の出力信号は、信号Ｑ５〜Ｑ８を縮退した信号であり、信号Ｑ５〜Ｑ８のいずれかが１つでもＨレベルであればＨレベルとなる。
【００６１】
図６は、図５に示したリセット回路１６ｂの動作を説明するための動作波形図である。
【００６２】
図５、図６を参照して、クロックサイクル♯１においては信号Ｑ１がＨレベルであり信号Ｑ２〜Ｑ８がＬレベルである。また、Ｈレベルの信号Ｑ１が入力されているＯＲ回路２２の出力がＨレベルであり、またいずれもＬレベルの信号が入力されているＯＲ回路２４の出力はＬレベルである。したがって、ＯＲ回路２２の出力とＯＲ回路２４の出力は一致していないため、リセット信号／ＲＥＳＥＴはＨレベルである。
【００６３】
クロックサイクル♯２〜♯４では、クロック信号が入力されるごとにデータが順番にシフトするためＨレベルとなる信号も順に信号Ｑ２、Ｑ３、Ｑ４とシフトしている。この場合にもＯＲ回路２２の出力がＨレベルであり、ＯＲ回路２４の出力はＬレベルであるため、リセット信号／ＲＥＳＥＴはＨレベルである。
【００６４】
ここで、クロックサイクル♯５において、たとえば放射線による誤動作などにより図３のＤフリップフロップ１４♯１に異常が生じ信号Ｑ１がＨレベルになってしまった場合を考えると、ＯＲ回路２２は信号Ｑ１がＨレベルであり、信号Ｑ２〜Ｑ４がＬレベルであるため出力はＨレベルとなる。
【００６５】
一方、本来のデータが転送されたため信号Ｑ５がＨレベルとなる。そして、信号Ｑ６〜Ｑ８はＬレベルである。したがって、ＯＲ回路２４の出力はＨレベルとなる。このため、ＯＲ回路２２の出力およびＯＲ回路２４の出力が両方ともＨレベルとなる。ＯＲ回路２２の出力およびＯＲ回路２４の出力が一致したため、リセット信号／ＲＥＳＥＴはＬレベルに活性化される。
【００６６】
そして、次のクロックサイクル♯６において図３のＤフリップフロップ１４♯１〜１４♯８には初期状態のデータが入力されるため、信号Ｑ１はＨレベルとなり、信号Ｑ２〜Ｑ８はＬレベルとなる。したがって、クロックサイクル♯６以降はリングカウンタ１０は正常な動作を行なうこととなる。
【００６７】
ここで、図６の動作波形図では、放射線による誤動作によってＬレベルのデータがＨレベルに変ってしまう場合を説明したが、たとえばクロックサイクル♯１においてＨレベルである信号Ｑ１が誤動作によってＬレベルになってしまう場合も考えられる。
【００６８】
この場合には、ＯＲ回路２２、ＯＲ回路２４の出力は、ともにＬレベルとなる。エクスクルシブＯＲ回路２６は、この状態も検出可能であるので、異常が検出されリングカウンタはリセットされる。
【００６９】
また、リセット回路として、８サイクルごとにリセット信号を出力する回路を設ける場合も考えられる。しかし、リセット回路１６ｂの場合には、最低でも誤動作が起きてから３クロック後には正常状態に復帰することが可能であるため、より迅速に正常状態に復帰することができる。
【００７０】
以上説明したように、実施の形態１で説明した半導体装置によれば誤動作が生じた場合にもすみやかに正常状態に復帰することが可能となるので、半導体装置の動作の信頼性を高めることができる。
【００７１】
［実施の形態２］
図７は、実施の形態２の半導体装置において用いられるリセット回路１６ｃの構成を示した回路図である。
【００７２】
図７を参照して、リセット回路１６ｃは、信号Ｑ１〜Ｑ７を受けるＯＲ回路３２と、ＯＲ回路３２の出力と信号Ｑ８とを受けるエクスクルシブＯＲ回路３４とを含む。ＯＲ回路３２の出力信号は、信号Ｑ１〜Ｑ７を縮退した信号であり、信号Ｑ１〜Ｑ７のいずれかが１つでもＨレベルであればＨレベルとなる。エクスクルシブＯＲ回路３４はリセット信号／ＲＥＳＥＴを出力する。
【００７３】
すなわち、図５で示したリセット回路１６ｂの構成は、フリップフロップの出力を４本ずつに分けてそれぞれＯＲ回路２２、２４で受けていた。そしてＯＲ回路２２、２４の出力が一致するか否かをエクスクルシブＯＲ回路２６でチェックしていたが、フリップフロップの出力は必ずしも４対４に分割してそれぞれＯＲ回路で受ける必要はない。
【００７４】
すなわち、図７に示したように７対１に出力を分割してもよい。他にも３対５に分割しても２対６に分割してもかまわない。すべてのフリップフロップの出力が２分割されて結果が監視されるような構成であればかまわない。
【００７５】
以上説明したように、実施の形態２で説明した半導体装置も、異常時に迅速に正常状態に復帰することができるため、動作の信頼性が向上する。
【００７６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【００７７】
【発明の効果】
本発明の半導体装置は、放射線等のノイズにより誤動作が発生した場合でも、誤動作状態から正常動作状態に復帰させることができるので、動作の信頼性を高めることができる。
【００７８】
また、複数のフリップフロップの出力を１対多に分割して観測することにより、放射線等のノイズにより誤動作が発生した場合でも、誤動作状態から正常動作状態に復帰させることができるので、動作の信頼性を高めることができる。
【００７９】
さらに、複数のフリップフロップのうちの１つにＨデータが設定される回路において、誤動作状態から正常動作状態に復帰させることができる。
【００８０】
また、内部で高速クロックを発生する場合に、高速クロックの信頼性を向上させることができる。
【図面の簡単な説明】
【図１】  本発明の実施の形態１の半導体装置２の構成を示す概略ブロック図である。
【図２】  図１におけるＰＬＬ回路８の構成を示したブロック図である。
【図３】  図１に示したリングカウンタ１０の構成を示す回路図である。
【図４】  図３におけるリセット回路１６の検討例であるリセット回路１６ａの構成を示す回路図である。
【図５】  改良したリセット回路１６ｂの構成を示す回路図である。
【図６】  図５に示したリセット回路１６ｂの動作を説明するための動作波形図である。
【図７】  実施の形態２の半導体装置において用いられるリセット回路１６ｃの構成を示した回路図である。
【図８】  従来の半導体装置４５２の概略構成を示すブロック図である。
【図９】  図８に示したリングカウンタ５００の構成を示す回路図である。
【図１０】  図９に示したリングカウンタ５００の動作を説明するための動作波形図である。
【図１１】  従来のリングカウンタの誤動作を説明するための波形図である。
【符号の説明】
２  半導体装置、８ａ  クロックバッファ、８ｃ  シフトレジスタ、８ｂ  位相比較器、８  ＰＬＬ回路、８ｄ  遅延ライン、１０  リングカウンタ、１２＃１  ゲート回路、１２＃２〜１２＃８  ＡＮＤ回路、１４＃１〜１４＃８  Ｄフリップフロップ、１６，１６ａ，１６ｂ，１６ｃ  リセット回路、１８＃１〜１８＃８  デコード回路、２０，２２，２４，３２  ＯＲ回路、２６，３４  エクスクルッシブＯＲ回路。
【図１】
0004497708.tif 000002
【図２】
0004497708.tif 000003
【図３】
0004497708.tif 000004
【図４】
0004497708.tif 000005
【図５】
0004497708.tif 000006
【図６】
0004497708.tif 000007
【図７】
0004497708.tif 000008
【図８】
0004497708.tif 000009
【図９】
0004497708.tif 000010
【図１０】
0004497708.tif 000011
【図１１】
0004497708.tif 000012