(57)【要約】【課題】デジタル演算処理装置におけるフリップフロップの遅延エラーを、回路占有面積を増大させることなく確実に検出する。【解決手段】特定のフリップフロップ（ＦＦ（ｉ））の入力および出力を受ける誤り判定回路（ＥＤＫ）を設ける。この特定のフリップフロップ前段のフリップフロップ（ＦＦ（ｉ−１））をラッチ状態に設定して、直後のサイクルで、誤り判定回路において、特定フリップフロップの入出力データの論理レベルの一致／判定を行ない、判定結果指示信号（Ｅｒｒ）を生成する。【選択図】図１
2008042639.tif 000002
【特許請求の範囲】
【請求項１】
第１および第２のロジック回路間に配置され、与えられたクロック信号に従って、前記第１のロジック回路の出力データを前記第２のロジック回路の入力に転送する第１のフリップフロップ、
前記第１のロジック回路に対して設けられ、与えられたクロック信号に従って前記第１のロジック回路へデータを転送する第２のフリップフロップ、
前記第２のフリップフロップに対して設けられ、イネーブル信号に従って基本クロック信号を選択的に前記クロック信号として前記第２のフリップフロップへ転送するゲート回路、および
前記第２のフリップフロップへのクロック信号のディスエーブル時、前記第１のフリップフロップの入力の信号と前記第１のフリップフロップの出力のデータの論理レベルが一致しているかを判定する誤り判定回路を備える、誤り検出装置。
【請求項２】
前記第２のロジック回路の出力データを、与えられたクロック信号に従って転送する第３のフリップフロップと、
前記第３のフリップフロップに対応して設けられ、少なくとも前記誤り判定回路の出力信号と前記基本クロック信号とに従って前記第３のフリップフロップに対してクロック信号を伝達する第２のゲート回路をさらに備える、請求項１記載の誤り検出装置。
【請求項３】
複数のロジック回路、
各ロジック回路に対応して縦列態様で設けられ、各々が、与えられたクロック信号に従って、与えられたデータを次段のロジック回路に転送する複数のフリップフロップ、
前記複数のフリップフロップに対応して設けられ、各々が基本クロック信号とそれぞれの個別イネーブル信号とに従って対応のフリップフロップに対してクロック信号を供給する複数のゲート回路、および
前記複数のフリップフロップの少なくとも１個の所定のフリップフロップに対して設けられ、各々が、対応のフリップフロップの前段のフリップフロップに対するクロック信号のディスエーブル時に、対応のフリップフロップの入力データと出力データとの一致／不一致を判定する誤り判定回路を備える、誤り検出装置。
【請求項４】
前記所定のフリップフロップの次段のフリップフロップに対して設けられるゲート回路は、対応の個別イネーブル信号と前記誤り判定回路の出力信号と前記基本クロック信号とに従って、前記次段のフリップフロップに対してクロック信号を供給する、請求項３記載の誤り検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、デジタル信号／データ処理装置における誤り検出装置に関し、特に、クロック信号に同期して処理を実行するロジック回路において、処理信号／データの遅延変動に起因する誤りを検出するための回路技術に関する。
【背景技術】
【０００２】
デジタル信号／データを処理する演算処理装置においては、動作サイクルがクロック信号により規定される。クロック信号に従って、フリップフロップまたはラッチを介して処理データ／信号を伝送する。フリップフロップ間において、それぞれ予め割当てられた演算処理を行なうロジック回路が設けられる。したがって、「パイプライン的」に演算処理を実行することにより、高速処理を実現することができる。また、信号／データの転送タイミングが、クロック信号により規定されるため、正確なタイミングで信号／データを転送することができ、入力信号／データの画定タイミングに対するマージンを考慮する必要がなく、高速処理が実現される。
【０００３】
このようなマイクロプロセッサまたはデジタル信号処理装置（ＤＳＰ）などの演算処理装置においては、電源電圧変化、温度変化および素子の製造工程時の構成ばらつきなどの影響により、論理ゲート（ロジック回路）における処理時間がばらつき、この論理ゲートの遅延時間が変動する。この遅延時間の変動幅が、許容値を超えた場合、次段のフリップフロップにおいてクロック信号に従ってデータ／信号をキャプチャする場合、論理ゲートの出力信号が確定状態となっておらず、この結果を受取るフリップフロップの保持値が、期待値と異なり、誤動作が生じる。
【０００４】
このようなフリップフロップにおけるキャプチャデータのエラーを回避する構成が、Subhasish Mitra et al., “Robust System Design with Built-In Soft-Error Resilience,” Computer, IEEE Computer Society, February 2005, pp.43-52.（非特許文献1）、およびShidhartha Das et al., “A Self-Tuning DVS Processor Using Delay-Error Detection and Correction,” 2005 Symposium on VLSI Circuits, Digest of Technical Papers, pp.258-261.（非特許文献２）に開示されている。
【０００５】
非特許文献１に示される構成においては、演算処理を実行するロジック回路と直列に結合されて演算データを転送するシステムフリップフロップと並行して、スキャンパスを構成するスキャンフリップフロップが設けられる。これらのシステムフリップフロップおよびスキャンフリップフロップにおいては、各々、相補的に動作するＤラッチが縦続接続される。システムフリップフロップおよびスキャンフリップフロップに同一のデータが転送される。システムフリップフロップおよびスキャンフリップフロップの出力段のラッチの出力データの一致／不一致を検出して、フリップフロップにおいてソフトエラーが発生したかを判定する。
【０００６】
この非特許文献１においては、Ｃエレメントを用いて、これらのデータの比較を行ない、不一致時に出力ハイインピーダンス状態として、エラーデータが次段以降に転送されるのを防止する構成が示される。また、別の構成としては、一致／不一致の判定結果を、スキャンフリップフロップにフィードバックして、所定クロックサイクル経過後に、このエラー信号を、スキャンフリップフロップを介して順次転送して、外部でエラーの発生／非発生を検出して、エラー訂正を、同一データについて再演算処理を実行することにより行なう構成が示される。
【０００７】
非特許文献２においては、レザー（ＲＡＺＯＲ）フリップフロップ構成が用いられる。このレザーフリップフロップは、データをクロック信号に同期してキャプチャして転送するメインのフリップフロップと、メインフリップフロップのデータキャプチャより反クロックサイクル遅れてデータのキャプチャを行うシャドウラッチとを含む。メインフリップフロップの出力データとシャドウラッチの出力データとの一致／不一致を検出して、遅延エラーが発生したかを検出する。このシャドウラッチは、メインフリップフロップの入力データのキャプチャよりも半クロック周期遅れて、このデータをキャプチャする。従って、メインフリップフロップのキャプチャデータが、シャドウラッチのキャプチャデータと一致していない場合には、遅延変動による誤りが発生したと判断して、演算の再実行などの誤り訂正処理に入る。
【０００８】
この非特許文献２においては、エラー検出は、本来の動作タイミングより、少なくとも半周期遅れている。したがって、エラー検出時、一旦演算処理を停止し、正しく動作を再実行することができるところまで処理を戻って、再処理を実行する。具体的に、この非特許文献２においては、エラー発生時、このシャドウラッチのキャプチャデータを、対応のメインフリップフロップに再書込みして、正しいパイプライン状態を復元する。一例として、パイプライン構成のスーパースカラにおいて、エラー検出信号に従って、プログラムカウンタのカウント値を復元し、再び、命令フェッチステージからの再実行を行なう例が示される。
【０００９】
この非特許文献２は、この誤り訂正機能により、エラー率が小さい状態で、動作電源電圧を下限値以下にまで低下させて、消費電力を削減することを図る。
【００１０】
また、演算処理装置において、演算処理のクリティカルパスにおいて、エラーが発生するのを回避する構成が、特許第３４５０８１４号公報（特開２００２−９９４１０号公報：特許文献１）に示される。この特許文献１においては、高速演算処理を実行するＡＬＵと、低速動作するＡＬＵを並列に設ける。低速ＡＬＵは、複数個並列に設けられ、インタリーブ態様で、高速クロック信号に同期して与えられるデータに対して演算処理を実行する。高速ＡＬＵと低速ＡＬＵの対応の演算結果データを比較し、不一致時においては、低速ＡＬＵのデータを選択して、演算処理のクリティカルパスにおけるエラー発生を回避する。
【特許文献１】特許第３４５０８１４号公報（特開２００２−９９４１０号公報）
【非特許文献１】Subhasish Mitra et al., “Robust System Design with Built-In Soft-Error Resilience,” Computer, IEEE Computer Society, February 2005, pp.43-52.
【非特許文献２】Shidhartha Das et al., “A Self-Tuning DVS Processor Using Delay-Error Detection and Correction,” 2005 Symposium on VLSI Circuits, Digest of Technical Papers, pp.258-261.
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上述の非特許文献２に示されるように、電源電圧を、エラー発生に応じて調整することにより、電力削減を実現することができるなどの効果が得られる。したがって、エラー発生時の再処理等により、多少の処理性能の低下はあるものの、誤り検出機能を追加するメリットは大きい。
【００１２】
前述の非特許文献１においては、テスト用スキャンパスを構成するフリップフロップを、通常動作時のシャドウフリップフロップとして利用する。このスキャンフリップフロップは、システムフリップフロップと同様、２段の縦続接続されるＤラッチを備え、システムフリップフロップと並行して動作して、冗長データを格納する。したがって、クロック信号に従って、同じタイミングで、同じ入力データをキャプチャしている。テスト用のスキャンパスフリップフロップを利用するため、エラー検出用に専用のフリップフロップを設ける必要がなく、面積増大は抑制することができる。しかしながら、同一タイミングでシステムフリップフロップおよびスキャンフリップフロップが同一データのキャプチャを行なっており、クリティカルパスにおける遅延に起因するエラーの検出は困難である。この非特許文献１は、フリップフロップにおいて、データ保持状態におけるソフトエラーの発生を検出することをその主要目的としており、クリティカルパスにおける遅延変動によるエラー検出は考慮していない。
【００１３】
非特許文献２に示される構成においては、シャドウラッチが、メインフリップフロップと並列に設けられて、レザーフリップフロップが構成される。通常、ＯＲゲートなどの単純論理ゲートよりも、ラッチの方が回路面積が大きい。したがって、各フリップフロップにエラー検出用に専用のシャドウラッチを設ける場合、回路面積が増大する。
【００１４】
また、特許文献１に示される構成においては、複数のＡＬＵが並列に設けられ、高速ＡＬＵと低速ＡＬＵの出力データの一致／不一致が判定され、クリティカルパスの遅延エラーを検出する。しかしながら、低速ＡＬＵが複数個並列に設けられるため、特定のクリティカルパスにおいてのみ、このような低速ＡＬＵを複数設ける場合においても、面積オーバーヘッドが大きいという問題が生じる。
【００１５】
それゆえ、この発明の目的は、小占有面積で確実に誤りを検出することのできる誤り検出装置を提供することである。
【００１６】
この発明の他の目的は、シャドウラッチなどの冗長回路を用いることなく、確実に誤りを検出することのできる誤り検出装置を提供することである。
【課題を解決するための手段】
【００１７】
この発明の第１の観点に係る誤り検出装置は、第１および第２のロジック回路間に配置され、クロック信号に従って第１のロジック回路の出力データを第２のロジック回路の入力に転送する第１のフリップフロップと、この第１のロジック回路に対して設けられ、与えられたクロック信号に従って、第１のロジック回路へデータを転送する第２のフリップフロップと、第２のフリップフロップに対して設けられ、イネーブル信号に従って基本クロック信号を選択的にクロック信号として第２のフリップフロップへ転送するゲート回路と、第２のフリップフロップへのクロック信号のディスエーブル時、第１のフリップフロップの入力のデータと第１のフリップフロップの出力のデータの論理レベルが一致しているかを判定する誤り判定回路を備える。
【００１８】
この発明の第２の観点に係る誤り検出装置は、複数のロジック回路と、各ロジック回路に対応して縦列態様で設けられ、各々が与えられたクロック信号に従って、与えられたデータを次段のロジック回路に転送する複数のフリップフロップと、これら複数のフリップフロップに対応して設けられ、各々が基本クロック信号とそれぞれの個別イネーブル信号とに従って対応のフリップフロップに対してクロック信号を供給する複数のゲート回路と、これら複数のフリップフロップの少なくとも１個の所定のフリップフロップに対して設けられ、該所定のフリップフロップの前段のフリップフロップに対するクロック信号のディスエーブル時に、対応のフリップフロップの入力データと出力データとの一致／不一致を判定する誤り判定回路を備える。
【発明の効果】
【００１９】
この発明の第１および第２の観点に係る誤り検出装置においては、対象フリップフロップの前段のフリップフロップのクロック信号をディスエーブル状態として、前段のフリップフロップがラッチ状態として、直後のサイクルにおける対象フリップフロップの入力および出力の信号の一致／不一致を検出している。これにより、対象フリップフロップにおいて遅延エラーが生じないクロックサイクルを利用して、誤り判定を行なうことができる。したがって、シャドウラッチなどの、期待値を保存するための追加回路が不必要とされ、小さなエリアペナルティで、誤り検出を行なうことができる。
【発明を実施するための最良の形態】
【００２０】
［実施の形態１］
図１は、この発明の実施の形態１に従う誤り検出装置の構成を概略的に示す図である。図１においては、演算処理装置を構成するロジック回路ＬＧＫ（ｉ）およびＬＧＫ（ｉ＋１）の間に設けられるフリップフロップＦＦ（ｉ）のデータ更新に着目し、このフリップフロップＦＦ（ｉ）に対して遅延エラーが発生したかを検出する。
【００２１】
演算処理装置の構成としては、基本クロック信号ＣＬＫに従って、順次処理データを転送する構成であればよく、画像データの復号／符号化処理を行う装置、ＲＩＳＣなどのパイプライン的に演算処理を実行するプロセッサ、およびパストランジスタなどにより構成されて加減算などの処理を実行する演算回路装置などのいずれであってもよい。図１においては、２段のロジック回路ＬＧＫ（ｉ）およびＬＧＫ（ｉ＋１）を代表的に示すが、このロジック回路の段数は、演算処理装置の構成に応じて適宜定められ、また、その演算内容についても、同様、処理内容に応じて、適宜予め割当てられる。また、ロジック回路ＬＧＫ（ｉ）およびＬＧＫ（ｉ＋１）は、演算処理を行えばよく、例えば、２項演算処理を実行する構成の場合には、前段のフリップフロップから２項データが転送される。従って、ロジック回路ＬＧＫ（ｉ）等は、各々、１つのまとまりのある演算を実行する論理処理段であればよい。
【００２２】
ロジック回路ＬＧＫ（ｉ）およびＬＧＫ（ｉ＋１）は、それぞれ、与えられた信号／データに、予め割当てられた処理を実行する。ロジック回路ＬＧＫ（ｉ）へは、フリップフロップＦＦ（ｉ−１）からのデータＤ（ｉ−１）が与えられる。ロジックＬＧＫ（ｉ＋１）は、フリップフロップＦＦ（ｉ）の出力データＤ（ｉ）を受け、その演算処理結果データＬ（ｉ＋１）を、次段のフリップフロップＦＦ（ｉ＋１）へ与える。ロジック回路ＬＧＫ（ｉ）およびＬＧＫ（ｉ＋１）は、多ビットデータの演算処理を実行する。
【００２３】
フリップフロップＦＦ（ｉ−１）、ＦＦ（ｉ）、およびＦＦ（ｉ＋１）それぞれに対応して、クロック信号を与えるゲート回路ＡＧ（ｉ−１）、ＡＧ（ｉ）、およびＡＧ（ｉ＋１）が設けられる。これらのゲート回路ＡＧ（ｉ−１）、ＡＧ（ｉ）、およびＡＧ（ｉ＋１）は、それぞれ基本クロック信号ＣＬＫと制御回路ＣＴＲＫからの個別イネーブル信号ＥＮ（ｉ−１）、ＥＮ（ｉ）およびＥＮ（ｉ＋１）とに従って、対応のフリップフロップに対するクロック信号を生成して供給する。
【００２４】
ゲート回路ＡＧ（ｉ−１）−ＡＧ（ｉ＋１）は、各々、ＡＮＤ回路で一例として構成され、対応のイネーブル信号ＥＮ（ｉ−１）、ＥＮ（ｉ）およびＥＮ（ｉ＋１）がＨレベルのアサート状態のとき、基本クロック信号ＣＬＫに従って対応のフリップフロップに対するクロック信号を生成する。
【００２５】
これらのイネーブル信号ＥＮ（ｉ）、ＥＮ（ｉ−１）およびＥＮ（ｉ＋１）は、動作モードに応じて、制御回路ＣＴＲＫにより、個別的にアサート／デアサートされる。例えば、演算データの転送停止時、各イネーブル信号をデアサートして、各フリップフロップをラッチ状態に維持して、データ転送を停止させる。
【００２６】
フリップフロップＦＦ（ｉ−１）−ＦＦ（ｉ＋１）は、対応のゲート回路ＡＧ（ｉ−１）−ＡＧ（ｉ＋１）からのクロック信号の立上がりに同期して、与えられたデータを取込み（キャプチャし）、内部状態が更新（アップデート）され、かつ、そのクロックサイクルにおいてクロック信号ＣＬＫの立上がりに同期して更新されたデータを出力する。
【００２７】
誤り検出装置は、さらに、フリップフロップＦＦ（ｉ）の入力部のデータＬ（ｉ）と出力部のデータＤ（ｉ）を受け、それらの論理レベルが一致しているか否かを判定する誤り判定回路ＥＤＫを含む。これらのデータＬ（ｉ）およびＤ（ｉ）は、多ビットデータであり、各ビットごとに一致／不一致判定を行なって、全ビットの論理値が一致しているときに、正常であり、遅延エラーは発生していないと判断する。この誤り判定回路ＥＤＫからの判定結果指示信号Ｅｒｒは、外部へ出力されてもよく、また、制御回路ＣＴＲＫへ与えられ、制御回路ＣＴＲＫの制御の下に、エラー発生時、特定の区切りのよい（演算データを再投入することのできる）演算ステージから演算処理を再実行してもよい。誤り検出装置は、従って、誤り判定回路ＥＤＫおよび制御回路ＣＴＲＬで構成され、演算処理装置を構成するフリップフロップＦＦ（フリップフロップＦＦ（ｉ−1）−ＦＦ（ｉ＋1）を総称的に示す）およびロジック回路ＬＧＫ（ロジック回路ＬＧＫ（ｉ−1）−ＬＧＫ（ｉ＋１）を総称的に示す）における遅延エラーを検出する。
【００２８】
図２は、図１に示す誤り検出装置の、エラー非発生時の動作を示すタイミング図である。以下、図２を参照して、図１に示す誤り検出装置の動作について説明する。サイクル♯１から♯３において、イネーブル信号ＥＮ（ｉ−１）−ＥＮ（ｉ＋１）は、すべてＨレベルのアサート状態に設定される。したがって、ゲート回路ＡＧ（ｉ−１）からＡＧ（ｉ＋１）の出力信号は、基本クロック信号ＣＬＫに従って変化する。応じて、フリップフロップＦＦ（ｉ−１）−ＦＦ（ｉ＋１）が、それぞれ与えられたクロック信号に同期して信号のキャプチャおよびアップデートを実行する。
【００２９】
フリップフロップＦＦ（ｉ−１）においては、入力データＩＮ（ｉ−１）に従って出力信号Ｄ（ｉ−１）が、クロック信号ＣＬＫの立上がりに同期して出力される。図２においては、フリップフロップＦＦ（ｉ−１）の出力データＤ（ｉ−１）が、サイクル♯１から♯３において、Ａ、ＢおよびＣに変化する。ロジック回路ＬＧＫ（ｉ）は、フリップフロップＦＦ（ｉ−１）の出力データＤ（ｉ−１）に予め割当てられた論理処理を施して、処理結果データＬ（ｉ）を生成する。したがって、サイクル♯１から♯３それぞれにおいて、データＡ−Ｂに従って、処理結果データＡＡ、ＢＢおよびＣＣが、ロジック回路ＬＧＫ（ｉ）により生成される。遅延エラーは発生しない正常状態であり、これらの処理結果データＡＡ、ＢＢ、およびＣＣは、基本クロック信号ＣＬＫの立ち上がり前に確定状態に設定されている。
【００３０】
フリップフロップＦＦ（ｉ）においては、クロックサイクル♯２から♯４それぞれにおいて基本クロック信号ＣＬＫの立上がりに同期して、ロジック回路ＬＧＫ（ｉ）の出力データ（処理結果データ）Ｌ（ｉ）を取込み、これらの取り込んだデータに従って、対応の出力データＡＡ、ＢＢおよびＣＣを生成する。
【００３１】
ロジック回路ＬＧＫ（ｉ＋１）は、このフリップフロップＦＦ（ｉ）の出力データＤ（ｉ）に、予め割当てられた演算処理を施して、処理結果データＬ（ｉ＋１）を生成する。したがって、サイクル♯２から♯３それぞれにおいて、ロジック回路ＬＧＫ（ｉ＋１）の処理結果データＬ（ｉ＋１）が、それぞれＡＡＡ、ＢＢＢ、およびＣＣＣに変化する。このロジック回路ＬＧＫ（ｉ＋１）においても、遅延エラーが生じていないため、データＡＡＡ、ＢＢＢ、およびＣＣＣは、各々、基本クロック信号ＣＬＫの立上り前に確定状態となっている。
【００３２】
フリップフロップＦＦ（ｉ＋１）が、ゲート回路ＡＧ（ｉ＋１）の出力するクロック信号の立上がりに同期して、ロジック回路ＬＧＫ（ｉ＋１）の処理結果データＬ（ｉ＋１）を順次取り込み出力する。従って、このフリップフロップＦＦ（ｉ＋１）から、クロックサイクル♯３から♯５それぞれにおいて、データＡＡＡ、ＢＢＢ、およびＣＣＣが生成されて出力される。
【００３３】
クロックサイクル♯４の後半部分において、基本クロック信号ＣＬＫがＬレベルのときに、イネーブル信号ＥＮ（ｉ−１）が、Ｌレベルのデアサート状態に設定される。イネーブル信号ＥＮ（ｉ）およびＥＮ（ｉ＋１）は、Ｈレベルのアサート状態である。したがって、ゲート回路ＡＧ（ｉ−１）からのクロック信号は、ディスエーブル状態に固定され、フリップフロップＦＦ（ｉ−１）の出力データは、クロックサイクル♯４において与えられた入力データＩＮ（ｉ−１）のデータＤに固定される。応じて、ロジック回路ＬＧＫ（ｉ）の出力データＬ（ｉ）は、その演算処理結果ＤＤに維持される。
【００３４】
一方、フリップフロップＦＦ（ｉ）は、ゲート回路ＡＧ（ｉ）からのクロック信号に従ってデータの取込および出力を行なっている。誤り判定回路ＥＤＫは、次のサイクル♯５において、このフリップフロップＦＦ（ｉ）の入力部のデータＬ（ｉ）と出力部のデータＤ（ｉ）の論理レベル（値）の一致／不一致を判定する。クロックサイクル♯５においては、ロジック回路ＬＧＫ（ｉ）において、入力データＤ（ｉ−１）および出力データＬ（ｉ）は、共にデータＤＤに維持される。
【００３５】
ロジック回路ＬＧＫ（ｉ−１）においてクロックサイクル♯４において遅延エラーが発生していない。従って、フリップフロップＦＦ（ｉ）においては、クロックサイクル♯５において取り込んだデータと出力するデータにおいて、これらのデータＬ（ｉ）およびＤ（ｉ）の論理値は一致しており、エラー判定結果指示信号Ｅｒｒは、正常状態を示すＬレベルに固定される。この判定動作時において、ロジック回路ＬＧＫ（ｉ＋１）、フリップフロップＦＦ（ｉ＋１）は、それぞれ演算処理を実行しており、以降の各サイクルにおいて、データＤＤＤおよびＤＤＤが連続的に出力される。
【００３６】
すなわち、イネーブル信号ＥＮ（ｉ−１）を、非活性状態として、フリップフロップＦＦ（ｉ−１）に対するクロック信号をディスエーブル状態に設定する。この状態においては、フリップフロップＦＦ（ｉ−１）は、次のクロックサイクル♯５において、出力データは変化せず、ラッチ状態を維持するため、フリップフロップＦＦ（ｉ）において、入力データの遅延エラーは発生していない。したがって、前のサイクルにおいて、キャプチャしたデータと固定状態の入力データＬ（ｉ）とを比較することにより、正確に、このフリップフロップＦＦ（ｉ）においてエラーが発生しているかを判定することができる。
【００３７】
図３は、遅延エラー発生時の図１に示す誤り検出装置の動作を示すタイミング図である。以下、図３を参照して、図１に示す誤り検出装置の遅延エラー検出時の動作について説明する。クロックサイクル♯１から♯３においては、図２に示すタイミング図と同様の動作が行なわれる。
【００３８】
クロックサイクル♯４において、ロジック回路ＬＧＫ（ｉ）において、その処理時間が長くなり、クロックサイクル♯５のクロック信号ＣＬＫの立上がりにおいて、その出力データは未だ変化せず不確定状態にある。このクロックサイクル♯４において、後半部において、イネーブル信号ＥＮ（ｉ−１）がＬレベルに設定される。残りのイネーブル信号ＥＮ（ｉ）およびＥＮ（ｉ＋１）は、Ｈレベルを維持する。したがって、フリップフロップＦＦ（ｉ）およびＦＦ（ｉ＋１）は、対応のゲート回路ＡＧ（ｉ）およびＡＧ（ｉ＋１）からのクロック信号に従ってデータのキャプチャを行なっている。
【００３９】
このクロックサイクル♯５において、基本クロック信号ＣＬＫの立上り時において、ロジック回路ＬＧＫ（ｉ）の出力データＬ（ｉ）が不確定状態であり、フリップフロップＦＦ（ｉ）が、基本クロック信号ＣＬＫに従って、その出力データの更新を行なっており、したがって、このフリップフロップＦＦ（ｉ）の出力データＤ（ｉ）は、期待値と異なる不確定状態のデータに対応するエラーデータＥｒｒＤＤとなる。
【００４０】
クロックサイクル♯５において、基本クロック信号ＣＬＫのネガティブエッジ（立下がりエッジ）において、誤り判定回路ＥＤＫが判定動作を行なった場合、このフリップフロップＦＦ（ｉ）の入力データＬ（ｉ）と出力データＤ（ｉ）の論理レベルが異なり、エラー判定結果指示信号Ｅｒｒがアサートされ、エラーが発生したことが示される。
【００４１】
このフリップフロップＦＦ（ｉ）からのエラーデータＥｒｒｄｄに従って、次段のロジック回路ＬＧＫ（ｉ＋１）およびフリップフロップＦＦ（ｉ＋１）の出力データが順次更新され、エラーデータＥｒｄｄｄが伝達され、エラーが伝搬する。
【００４２】
クロックサイクル♯６においては、このフリップフロップＦＦ（ｉ）の入力データＬ（ｉ）、データＤＤに維持されており、その出力データＤ（ｉ）と入力データＬ（ｉ）の論理レベルが一致する。したがって、このサイクル♯６において、誤り判定回路ＥＤＫからのエラー判定結果指示信号Ｅｒｒがデアサートされ、エラー状態が解消されたことが示される。
【００４３】
したがって、エラー判定クロックサイクル期間のエラー判定結果指示信号Ｅｒｒのアサートに従って、エラー検出を行なうことができる。このエラー判定結果指示信号Ｅｒｒのアサートに従って、図１に示す制御回路ＣＴＲＫにおいて、エラー発生データについての再演算などの必要な誤り訂正処理が行なわれればよい。
【００４４】
なお、イネーブル信号ＥＮ（ｉ−１）は、判定サイクル以後持続的にＬレベルに維持される。このイネーブル信号ＥＮ（ｉ−１）は、エラー訂正処理後Ｈレベルに設定されればよい。設計段階において、このエラー信号Ｅｒｒに従って、遅延エラーの発生するクリティカルパスを検出して、対応のロジック回路の再設計（ロジック回路の分割等によるフリップフロップの挿入位置の変更）等が行われても良い。また、実使用時においては、所定サイクル毎にエラー判定を行なって、エラー訂正処理を行う構成が用いられてもよい。
【００４５】
図４は、図１に示すフリップフロップＦＦ（ｉ−１）−ＦＦ（ｉ＋１）の構成の一例を示す図である。これらのフリップフロップＦＦ（ｉ−１）−ＦＦ（ｉ＋１）は、同一構成を有するため、図４においては、符号ＦＦで、これらのフリップフロップを代表的に示す。
【００４６】
図４において、フリップフロップＦＦは、相補クロック信号ＺＣＬＫおよびＣＬＫＤに従って選択的に導通するＣＭＯＳトランスミッションゲートＴＧ１と、ＣＭＯＳトランスミッションゲートＴＧ１を介して伝達される入力信号ＩＮを反転するインバータＩＶ１と、インバータＩＶ１の出力信号ＩＮを反転して、インバータＩＶ１の入力へ転送するインバータＩＶ２と、２相クロック信号ＣＬＫＤおよびＺＣＬＫに従って、ＣＭＯＳトランスミッションゲートＴＧ１と相補的に導通し、導通時、インバータＩＶ１の出力信号ＩＭを伝達するＣＭＯＳトランスミッションゲートＴＧ２と、ＣＭＯＳトランスミッションゲートＴＧ２を通過した信号ＩＭを反転して出力信号ＯＴを生成するインバータＩＶ３と、インバータＩＶ３の出力信号ＯＴを反転してインバータＩＶ３への入力へ伝達するインバータＩＶ４を含む。
【００４７】
クロック信号ＣＬＫＤおよびＺＣＬＫは、基本クロック信号ＣＬＫを受ける２段の縦続接続されるインバータＩＶ５およびＩＶ６により生成される。すなわち、クロック信号ＺＣＬＫが、インバータＩＶ５から生成され、クロック信号ＣＬＫＤが、インバータＩＶ６から出力される。
【００４８】
図５は、図４に示すフリップフロップＦＦの動作を示すタイミング図である。以下、図５を参照して、図４に示すフリップフロップＦＦの動作について簡単に説明する。
【００４９】
クロック信号ＣＬＫおよびＣＬＫＤは、同相のクロック信号であり、クロック信号ＺＣＬＫは、これらのクロック信号ＣＬＫおよびＣＬＫＤと逆相のクロック信号である。
【００５０】
入力信号ＩＮが、前段のロジック回路の演算結果により、各クロックサイクルにおいて後半部分において非確定状態から確定状態に変化する。クロック信号ＣＬＫおよびＣＬＫＤがＨレベルのときには、ＣＭＯＳトランスミッションゲートＴＧ１は、非導通状態であり、このフリップフロップＦＦはラッチ状態であり、その出力信号ＯＴは、前のサイクルの状態を維持する（ＣＭＯＳトランスミッションゲートＴＧ２が導通状態であり、内部信号ＩＭに従って出力信号ＯＴを生成する）。
【００５１】
クロック信号ＣＬＫおよびＣＬＫＤがＬレベルとなると、ＣＭＯＳトランスミッションゲートＴＧ１が導通状態、ＣＭＯＳトランスミッションゲートＴＧ２が非導通状態となる。この状態においては、したがって、インバータＩＶ１の出力信号ＩＭが、入力信号ＩＮに従って変化する。一方、フリップフロップＦＦの出力信号ＯＴは、この内部信号ＩＭの状態にかかわらず、前のサイクルの状態を維持する。
【００５２】
クロック信号ＣＬＫおよびＣＬＫＤがＨレベルとなると、再び、ＣＭＯＳトランスミッションゲートＴＧ１が非導通状態となり、一方、ＣＭＯＳトランスミッションゲートＴＧ２が導通状態となる。したがって、このサイクルにおいて、フリップフロップＦＦの出力信号ＯＴが、内部信号ＩＭの状態に従って変化する。一方、内部信号ＩＭは、クロック信号ＣＬＫおよびＣＬＫＤの立上がり時にラッチ状態とされ、入力信号ＩＮと分離される。
【００５３】
したがって、このクロック信号ＣＬＫの立上がり前において、入力信号ＩＮの論理レベルが確定状態にあれば、正確に、フリップフロップＦＦにおいて、データ／信号のキャプチャを行なって、次段のロジック回路へ伝達することができる。一方、この入力信号ＩＮが、クロック信号ＣＬＫの立上がり時において、不確定状態にあれば、このフリップフロップＦＦの内部信号ＩＭも不確定状態となり、エラーが発生する。
【００５４】
なお、図４に示すフリップフロップＦＦの構成は単なる一例であり、内部ノードの初期化時のリセットを行なうための構成がさらに設けられてもよく、また、インバータＩＶ２およびＩＶ１４が、各々、ラッチ状態時においてインバータとして動作するクロックドトライステートインバータで構成されてもよい。
【００５５】
図６は、図１に示す誤り判定回路ＥＤＫの構成の一例を示す図である。図６において、誤り判定回路ＥＤＫは、ロジック回路ＬＧＫおよびフリップフロップＦＦにおいて４ビットデータを順次処理転送する場合の構成が一例として示される。処理データのビット数は、４ビットに限定されず、１６ビット、６４ビット等のいずれであってもよい。
【００５６】
図６において、誤り判定回路ＥＤＫは、対応のフリップフロップＦＦ（ｉ）の入力データビットＬｉ（０）−Ｌｉ（３）と対応の出力データビットＤｉ（０）−Ｄｉ（３）をそれぞれ受ける、２力ＥＸＯＲゲートＸＧ０−ＸＧ３と、これらのＥＸＯＲゲートＸＧ０−ＸＧ３の出力信号を受けるＯＲゲートＯＧと、ＯＲゲートＯＧの出力信号を、クロック信号ＣＬＫの立下りに従って取込み、誤り判定結果指示信号Ｅｒｒを生成する１ビットフリップフロップＦＦＫを含む。
【００５７】
データビットＬｉ（０）−Ｌｉ（３）は、図１に示すデータビットＬ（ｉ）に対応し、データビットＤｉ（０）−Ｄｉ（３）は、フリップフロップの出力データビットＤ（ｉ）に対応する（４ビット処理データの場合）。
【００５８】
これらのＥＸＯＲゲートＸＧ０−ＸＧ３は、それぞれ与えられたデータの論理レベルが不一致のときに、“１（Ｈレベル）”の信号を生成する。
【００５９】
フリップフロップＦＦＫは、基本クロック信号ＣＬＫがＬレベルのときに、ＯＲゲートＯＧの出力信号に従って、エラー判定結果指示信号Ｅｒｒを出力する。
【００６０】
したがって、遅延エラーが発生している場合には、ＥＸＯＲゲートＸＧ０−ＸＧ３の少なくとも１つの出力信号がＨレベルとなり、応じてＯＲゲートＯＧの出力信号がＨレベルとなる。フリップフロップＦＦＫにおいて、ＯＡゲートＯＧの出力信号がＨレベルのときにキャプチャし、基本クロック信号ＣＬＫの立下がりに同期して、そのキャプチャした信号に従って、エラー判定結果指示信号Ｅｒｒを生成することにより、基本クロック信号ＣＬＫがＬレベルのとき同期して、誤り発生時、エラー判定結果指示信号ＥｒｒがＨレベルに立上がる。
【００６１】
なお、フリップフロップＦＦＫは、単に基本クロック信号ＣＬＫがＬレベルのときにスルー状態となり、基本クロック信号ＣＬＫがＨのときにラッチ状態となる１段のＤラッチで構成されてもよい。
【００６２】
以上のように、この発明の実施の形態に従えば、遅延エラー検出対象のフリップフロップの前段のフリップフロップを対応のクロック信号をディスエーブルしてラッチ状態とし、対象フリップフロップにおいて、その直後のクロックサイクルにおいて入力および出力のデータの論理レベルの一致／不一致を判定するように構成している。したがって、エラー判定用のコピーデータ（冗長データ）を格納するシャドウラッチなどの回路要素が不要となり、回路占有面積の増大を抑制して、確実に、遅延エラーを検出することができる。
【００６３】
［実施の形態２］
図７は、この発明の実施の形態２に従う誤り検出装置の要部の構成を概略的に示す図である。この図７に示す誤り検出装置の構成は、図１に示す誤り検出装置と以下の点でその構成が異なる。すなわち、誤り検出対象のフリップフロップＦＦ（ｉ）の次段のフリップフロップＦＦ（ｉ＋１）に対し、クロック信号を供給するゲート回路ＡＧ（ｉ＋１）に対し、制御回路ＣＴＲＫからのイネーブル信号ＥＮ（ｉ＋１）と、誤り判定回路ＥＤＫの出力信号の反転信号／Ｅｒｒを受けるゲート回路ＡＡＧが設けられる。このゲート回路ＡＡＧの出力信号ＥＥＮ（ｉ＋１）が、フリップフロップＦＦ（ｉ＋１）に対するクロック信号を供給するゲート回路ＡＧ（ｉ＋１）に対するクロックイネーブル信号として供給される。この図７に示す誤り検出装置の他の構成は、図１に示す誤り検出装置の構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【００６４】
反転エラー判定結果指示信号／Ｅｒｒは、エラー検出時、Ｌレベルとなり、正常時にはＨレベルとなる。従って、ゲート回路ＡＡＧは、エラー発生時、対応のイネーブル信号ＥＮ（ｉ＋１）をデアサートし、ゲート回路ＡＧ（ｉ＋１）へ供給されるイネーブル信号ＥＥＮ（ｉ＋１）をデアサートする。したがって、エラー判定結果指示信号ＥｒｒがＨレベルのときには、ゲート回路ＡＧ（ｉ＋１）からフリップフロップＦＦ（ｉ＋１）へ供給されるクロック信号がディスエーブルされ、フリップフロップＦＦ（ｉ＋１）は、ロジック回路ＬＧＫ（ｉ＋１）の演算処理結果データＬ（ｉ＋１）のキャプチャは行なわない。
【００６５】
図８は、図７に示す誤り検出装置の遅延エラー発生時の動作を示すタイミング図である。以下、図８を参照して、図７に示す誤り検出装置の遅延エラー発生時の動作について説明する。
【００６６】
クロックサイクル♯１から♯４において、先の図３に示す動作と同様の動作が行なわれる。この状態においては遅延エラーは発生していない。
【００６７】
クロックサイクル♯４の後半において、ロジック回路ＬＧＫ（ｉ）が、通常動作時においては、その出力データが確定状態にあるタイミングで、フリップフロップＦＦ（ｉ−１）に対するイネーブル信号ＥＮ（ｉ−１）がＬレベルに設定され、フリップフロップＦＦ（ｉ−１）はラッチ状態に設定される。このクロックサイクル♯４において、ロジック回路ＬＧＫ（ｉ）において遅延エラーが発生し、その出力信号Ｌ（ｉ）は、次のクロックサイクル♯５において確定状態のデータＤＤとなる。クロックサイクルサイクル♯５の基本クロック信号ＣＬＫの立上り時において、ロジック回路ＬＧＫ（ｉ）の出力データＬ（ｉ）は、不確定状態である。
【００６８】
この状態で、クロックサイクル♯５において、フリップフロップＦＦ（ｉ）が、不確定状態のデータに従って、エラーデータＥｒｒＤＤをキャプチャして出力する。したがって、フリップフロップＦＦ（ｉ）において、入力データＬ（ｉ）と出力データＤ（ｉ）の論理値が不一致である。クロックサイクル♯５において、基本クロック信号ＣＬＫの立下りに同期して、誤り判定が、誤り判定回路ＥＤＫにおいて行なわれる。基本クロック信号ＣＬＫの立下がりに同期して、エラー判定結果指示信号ＥｒｒがＨレベルに立上がり、反転エラー判定結果指示信号／ＥｒｒがＬレベルに立下がる。応じて、ゲート回路ＡＡＧの出力信号ＥＥＮ（ｉ＋１）がＬレベルとなり、フリップフロップＦＦ（ｉ＋１）に対するクロック信号がＬレベルに維持される。したがって、クロックサイクル♯５においてロジック回路ＬＧＫ（ｉ＋１）の演算処理結果データＬ（ｉ＋１）が、フリップフロップＦＦ（ｉ）における遅延エラーにより、エラーデータＥｒｒＤＤＤとなっても、フリップフロップＦＦ（ｉ＋１）は、ゲート回路ＡＧ（ｉ＋１）から与えられるクロック信号がＬレベルであり、ラッチ状態にあり、このエラーデータＥｒｒＤＤのキャプチャは行なわず、出力データＤ（ｉ＋１）は、サイクル♯５のデータＣＣＣを維持する。
【００６９】
クロックサイクル♯６において、エラー判定結果指示信号Ｅｒｒが、クロック信号ＣＬＫの立下がりに同期してＬレベルに立下がると、反転エラー判定結果指示信号／ＥｒｒがＨレベルとなる。このとき、また基本クロック信号ＣＬＫがＬレベルであるため、フリップフロップＦＦ（ｉ＋１）はラッチ状態にあり、その出力データＯＵＴ（ｉ＋１）（データＤ（ｉ＋１））は、クロックサイクル♯５においてラッチしたデータＣＣＣを維持する。
【００７０】
一方、このクロックサイクル♯６においては、フリップフロップＦＦ（ｉ）は、遅延エラーが生じない状態であり（入力データＬ（ｉ）が、データＤＤに維持された状態）であり、この遅延エラーが解消された正常データが、フリップフロップＦＦ（ｉ）からロジック回路ＬＧＫ（ｉ＋１）へ与えられる。このクロックサイクル♯６において、フリップフロップＦＦ（ｉ＋１）が、基本クロック信号ＣＬＫの立下がり時に与えられたデータを取込み、次のクロックサイクル♯７において、基本クロック信号ＣＬＫの立上がりに同期して、取込んだデータ（ＤＤＤ）を出力する。
【００７１】
この図８に示すようにフリップフロップＦＦ（ｉ）においてエラー発生時、その次のクロックサイクル♯６においては、正常な前のサイクルのデータが保持されており、エラーデータＥｒｒＤＤＤの伝搬が防止される。したがって、制御回路ＣＴＲＫにおいて、このクロックサイクル♯６において、１クロックサイクル分データが保持された期間を補正する１サイクル遅延補正処理を行なうことにより、正常なデータを継続して出力することができる。
【００７２】
たとえば、エラー判定サイクルの次のクロックサイクル♯６におけるエラーデータが、対象フリップフロップの次段のフリップフロップに取り込まれる（キャプチャされる）ときに、たとえば図１に示す制御回路ＣＴＲＫにおいてエラー信号Ｅｒｒに従ってフラグを生成し、このサイクル♯６においてフリップフロップＦＦ（ｉ＋１）から出力されるデータが、冗長データであり、無効であることが示されてもよい。
【００７３】
また、これに代えて、ロジック回路とフリップフロップ列で構成される演算処理回路の最終段においてさらに１段のフリップフロップを設け、クロックサイクル♯６における処理データＣＣＣが最終フリップフロップ段に到達したときに、この最終段フリップフロップをバイパスする構成とすることにより、以後のデータを１クロックサイクル等価的に前進させることができ、この遅延エラー発生による１サイクル遅延分を補正することができる。
【００７４】
なお、この遅延エラー発生時において、処理データを適当な演算処理段（フリップフロップおよびロジック回路の組）に再投入して演算を再実行する構成が用いられてもよい。また、イネーブル信号ＥＮ（ｉ−１）のＬレベルに設定される期間は、エラー判定期間（サイクル♯４の後半からサイクル♯５）だけであってもよい。
【００７５】
以上のように、この発明の実施の形態２に従えば、遅延エラーが発生した場合、次段のフリップフロップをディスエーブル状態にしており（ラッチ状態に設定しており）、実施の形態１の効果に加えて、エラーデータが次段以降のロジック回路へ伝搬されるのを防止することができ、このエラーによる冗長データ再出力の１サイクル分を補正することにより、正常動作を継続させることができる。
【００７６】
［実施の形態３］
図９は、この発明の実施の形態３に従う誤り検出装置の構成を概略的に示す図である。図９においては、演算処理を行なう回路装置が、複数の縦続接続されるサブ論理処理ユニットＳＬＵ１−ＳＬＵｎに分割される。サブ論理処理ユニットＳＬＵ１−ＳＬＵｎの各々は、フリップフロップＦＦ１−ＦＦｋと、これらのフリップフロップの間に配置されるロジック回路ＬＧＫを含む。
【００７７】
サブ論理処理ユニットＳＬＵ１−ＳＬＵｎそれぞれにおいて、誤り判定回路ＥＤＫ１−ＥＤＫｎが設けられる。これらの誤り判定回路ＥＤＫ１−ＥＤＫｎの各々は、対応のサブ論理処理ユニットＳＬＵ１−ＳＬＵｎにおいて、遅延エラーが発生しやすいクリティカルパスに対するフリップフロップＦＦｉの入力と出力のデータの論理レベルの一致／不一致を判定する。これらの誤り判定回路ＥＤＫ１−ＥＤＫｎの出力するエラー信号Ｅｒｒ１−Ｅｒｒｎを受けるＯＲ回路ＯＧＫから、グローバルエラー判定結果指示信号ＥＲＲが生成される。
【００７８】
これらのサブ論理処理ユニットＳＬＵ１−ＳＬＵｎの動作は、制御回路ＣＴＲＫにより制御される。図９においては、各サブ論理処理ユニットＳＬＵ１−ＳＬＵｎに対するイネーブル信号群ＥＮＧ１−ＥＮＧｎを示す。これらのイネーブル信号群ＥＮＧ１−ＥＮＧｎは、それぞれ対応のサブ論理処理ユニットに含まれるフリップフロップに対する個別のイネーブル信号を含む。
【００７９】
この図９に示す誤り検出装置の構成においては、サブ論理処理ユニット単位で、遅延エラーの発生の有無を検出する。したがって、遅延エラーの発生する可能性の高いクリティカルパスが複数個存在する場合、各クリティカルパスにおいて、対応のフリップフロップの入力／出力データの論理レベルの一致／不一致を見ることにより、エラー発生を正確に検出することができる。
【００８０】
ＯＲ回路ＯＧＫからのグローバルエラー判定結果指示信号ＥＲＲに従って、エラー検出時、入力データＩＮを再投入して処理を再開する処理が行なわれてもよい。また、サブ論理処理ユニットＳＬＵ１−ＳＬＵｎにおいて、先の実施の形態２に示すように、エラーデータの伝搬が防止する構成が設けられていてもよい。この構成の場合、以下の構成が用いられてもよい。制御回路ＣＴＲＫが、誤り判定回路ＥＤＫｎのエラー判定結果指示信号Ｅｒｒ１−Ｅｒｒｎを個々にモニタして、エラーが発生したサブ論理処理ユニットを検出し、冗長データが出力されるサイクルを検出する。このエラー検出サイクルから例えば冗長データが出力されるフリップフロップと最終出力段との間の段数を検出して、冗長データ伝播サイクル数を検出する。これにより、最終出力ＦＯＵＴに冗長データが出力されるサイクルを検出して、エラー発生による冗長データの補正（１サイクル遅延補正）を行なう。また、先の非特許文献１に示されるように、スーパースカラなどのパイプライン処理装置が、命令フェッチステージＩＦ、命令デコードステージＩＤ、命令実行ステージＥＸＴ、およびライトバックステージＷＢに分割されてパイプライン動作を行ない、各段において、誤り判定回路を設ける場合、エラー検出信号に従ってプログラムカウンタのカウン値を補正して、再度、命令フェッチを行なって、パイプラインステージに投入される構成が用いられてもよい。
【００８１】
以上のように、この発明の実施の形態３に従えば、複数グループに分割される論理処理部それぞれに、誤り判定回路を設けており、実施の形態１および２の効果に加えて、クリティカルパスが複数個存在する場合においても、レイアウト面積を増大させることなく、正確に、遅延エラーを検出することができる。
【００８２】
また、実施の形態２および３においても、誤り検出時、イネーブル信号を固定的にＬレベルに設定している。しかしながら、所定の数クロックサイクルごとに、このイネーブル信号を、誤り検出判定サイクルおよびその前のサイクルにおいて、デアサート状態に設定する構成が用いられてもよい。
【産業上の利用可能性】
【００８３】
この発明は、一般に、ロジック回路の入力および出力に、フリップフロップが設けられて、パイプライン的に演算処理を実行する処理装置に対して適用することができる。たとえば、ＲＩＳＣ（縮小命令セットコンピュータ）などのパイプライン的に演算処理を実行する処理装置に対しても適用することができ、チップ面積を増大させることなく、確実に、クリティカルパスにおける遅延エラーを検出することができる。
【図面の簡単な説明】
【００８４】
【図１】この発明の実施の形態１に従う誤り検出装置の構成を概略的に示す図である。
【図２】図１に示す誤り検出装置の正常時の動作シーケンスを示すタイミング図である。
【図３】図１に示す誤り検出装置の遅延エラー発生時の動作を示すタイミング図である。
【図４】図１に示すフリップフロップの構成の一例を示す図である。
【図５】図４に示すフリップフロップの動作を示すタイミング図である。
【図６】図１に示す誤り検出装置の構成の一例を示す図である。
【図７】この発明の実施の形態２に従う誤り検出装置の要部の構成を概略的に示す図である。
【図８】図７に示す誤り検出装置の異常発生時の動作を示すタイミング図である。
【図９】この発明の実施の形態３に従う誤り検出装置の構成を概略的に示す図である。
【符号の説明】
【００８５】
ＦＦ，ＦＦ（ｉ−１）−ＦＦ（ｉ＋１），ＦＦ１，ＦＦｉ，ＦＦｋ  フリップフロップ、ＬＧＫ，ＬＧＫ（ｉ），ＬＧＫ（ｉ＋１）  ロジック回路、ＥＤＫ，ＥＤＫ１−ＥＤＫｎ  誤り判定回路、ＡＧ（ｉ−１）−ＡＧ（ｉ＋１），ＡＡＧ  ゲート回路、ＣＴＲＫ  制御回路、ＳＬＵ１−ＳＬＵｎ  サブ論理処理ユニット。
【図１】
2008042639.tif 000003
【図２】
2008042639.tif 000004
【図３】
2008042639.tif 000005
【図４】
2008042639.tif 000006
【図５】
2008042639.tif 000007
【図６】
2008042639.tif 000008
【図７】
2008042639.tif 000009
【図８】
2008042639.tif 000010
【図９】
2008042639.tif 000011