(57)【要約】  論理回路における最終的な処理結果を事後的に解析することなく、論理回路の処理の途中段階で、論理回路が正しいタイミングで動作しているか否かを推測できる信号処理装置および信号処理方法を提案する。信号処理装置（1）では、乗算器（4）において処理途中の段階でデータ（D）がクロック信号（CK）に対して既にタイミングがずれていれば、乗算器（4）が想定した時間（この場合、1クロックの周期12［ns］）内に演算処理が終了し得ないと推測でき、かくして乗算器（4）における最終的な演算処理結果を事後的に解析することなく、乗算器（4）の演算処理の途中段階で、乗算器（4）が正しいタイミングで動作しているか否かを推測できる。
2014132843.tif 000002
【特許請求の範囲】
【請求項１】
所定のクロック信号に同期させ所定のタイミングでデータを処理して出力する論理回路から処理途中のデータを取得し、処理途中の段階で該データが前記クロック信号に対してタイミングがずれているか否かを判断するタイミングエラー推測部を備える
ことを特徴とする信号処理装置。
【請求項２】
前記タイミングエラー推測部は、
前記データの立ち上がりから立ち下がり、または立ち下がりから立ち上がりの遷移を検出する遷移検出部と、
前記データの遷移を前記クロック信号の立ち下がり期間中に検出したとき、該データが前記クロック信号に対しタイミングがずれていると推測するエラー判断部と
を備えることを特徴とする請求項１記載の信号処理装置。
【請求項３】
前記データが前記クロック信号に対しタイミングがずれていると推測したとき、前記論理回路に対する前記クロック信号の供給を制御するクロック信号制御部を備える
ことを特徴とする請求項１または２記載の信号処理装置。
【請求項４】
前記タイミングエラー推測部は、
前記論理回路から処理途中のデータを取得する位置に対応して、前記クロック信号の立ち上がりおよび立ち下がりのデューティ比を可変した検出用クロック信号を生成する検出用クロック信号生成部を備え、前記データが前記検出用クロック信号に対してタイミングがずれているか否かを判断する
ことを特徴とする請求項１〜３のうちいずれか１項記載の信号処理装置。
【請求項５】
前記検出用クロック信号生成部は、複数の遅延部を備えており、
各前記遅延部は、前記クロック信号を遅延させ、該クロック信号の立ち上がりおよび立ち下がりのデューティ比が異なる前記検出用クロック信号を生成する
ことを特徴とする請求項４記載の信号処理装置。
【請求項６】
複数の前記論理回路により前記データを順番に処理する構成を有しており、
各前記論理回路には前記タイミングエラー推測部が設けられ、各前記タイミングエラー推測部毎に、対応する前記論理回路から処理途中のデータを取得し、処理途中の段階で該データが前記クロック信号に対してタイミングがずれているか否かを判断する
ことを特徴とする請求項１〜５のうちいずれか１項記載の信号処理装置。
【請求項７】
複数の前記タイミングエラー推測部のいずれかで、前記論理回路での処理途中の段階で前記データが前記クロック信号に対してタイミングがずれていると推測したとき、複数の前記論理回路全てに対し前記クロック信号の供給を制御させる信号統合判定部を備える
ことを特徴とする請求項６記載の信号処理装置。
【請求項８】
複数の前記タイミングエラー推測部のいずれかで、前記論理回路での処理途中の段階で前記データが前記クロック信号に対してタイミングがずれていると推測したとき、前記タイミングがずれている前記論理回路と、該論理回路の前段の他の論理回路全てとに対し前記クロック信号の供給を制御する信号統合判定部を備える
ことを特徴する請求項６記載の信号処理装置。
【請求項９】
所定のクロック信号に同期させ所定のタイミングでデータを処理して出力する論理回路から処理途中のデータを取得し、タイミングエラー推測部によって、処理途中の段階で該データが前記クロック信号に対してタイミングがずれているか否かを判断する
ことを特徴とする信号処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は信号処理装置および信号処理方法に関する。
【背景技術】
【０００２】
例えば、送り側のフリップフロップと受け側のフリップフロップとの間に演算回路が設けられた信号処理装置としては、送り側のフリップフロップから出力されたデータを演算回路にて演算処理した後、受け側のフリップフロップに受け渡す動作が、クロック信号に同期して行われる同期式が知られている。【０００３】
このような信号処理装置は、クロック信号の立ち上がりに合わせてフリップフロップが動作し得るように設計されており、クロック信号の立ち上がりエッジ後から次の立ち上がりエッジ前までの1周期の間に、送り側のフリップフロップから演算回路を経由して受け側のフリップフロップにデータが受け渡される。【０００４】
例えばフリップフロップ間に設けられた演算回路におけるクリティカルパスの処理時間が12[ns]である場合には、クロック信号の立ち上がりエッジ後から次の立ち上がりエッジ前までの1クロックの周期が12[ns]以上あれば、送り側のフリップフロップから演算回路を経由して送られたデータを受け側のフリップフロップにて受け取ることができ、演算回路や受け側のフリップフロップにて誤作動が生じることなく、正常な動作を行え得る。【０００５】
しかしながら、このような信号処理装置でも、演算回路での処理時間が経年劣化等によって長くなってしまう虞もある。この場合、受け側のフリップフロップでは、送り側のフリップフロップから演算回路を経由して送られたデータを受け取るタイミングがクロック信号の立ち上がり時からずれ、その結果、誤ったデータを受け取ってしまい、誤作動が発生してしまう虞がある。【０００６】
そこで、従来、クロック信号に同期して送り側のフリップフロップから演算回路を経由し受け側のフリップフロップに到達したデータと、これとは別に、クロック信号のクロック周期とは異なるクロック周期に同期させ送り側のフリップフロップから演算回路を経由し受け側のフリップフロップに到達したデータとを比較し、これら2つのデータが不一致のとき、演算回路にてデータの処理時間が長くなりタイミングエラーが生じていると判断するタイミングエラー検出回路が考えられている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】D.Ernst,N.Kim,S.Das,S.Pant,R.Rao,T.Pham,C.Ziesler,D.Blaauw,T.Austin,K.Flautner,and T.Mudge,“Razor:A Low-Power Pipeline Based on Circuit-Level Timing Speculation,”in Proc.IEEE/ACM Intl.Symp.Microarchitecture,pp.7-18,Dec.2003.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、かかる構成でなるタイミングエラー検出回路では、演算回路でのタイミングエラーを事後的に検出しているため、演算回路にてタイミングエラーが生じている誤ったデータにて既に他の回路でもデータ処理が行われており、各回路でのデータ訂正を行うことが困難となる。そのため、各回路でのデータ訂正の手間を考えると、従来のように演算回路における最終的な演算処理結果を事後的に解析するのでなく、演算回路の演算処理の途中段階で演算回路が正しいタイミングで動作しているか否かを推測できることが好ましい。【０００９】
そこで、本発明は以上の点を考慮してなされたもので、論理回路における最終的な処理結果を事後的に解析することなく、論理回路の処理の途中段階で、論理回路が正しいタイミングで動作しているか否かを推測できる信号処理装置および信号処理方法を提案することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の請求項１における信号処理装置および請求項９の信号処理方法では、所定のクロック信号に同期させ所定のタイミングでデータを処理して出力する論理回路から処理途中のデータを取得し、処理途中の段階で該データが前記クロック信号に対してタイミングがずれているか否かを判断することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、論理回路において処理途中の段階でデータがクロック信号に対して既にタイミングがずれていれば、論理回路が想定した時間内に処理が終了し得ないと推測でき、かくして論理回路における最終的な処理結果を事後的に解析することなく、論理回路の処理の途中段階で、論理回路が正しいタイミングで動作しているか否かを推測できる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態による信号処理装置の回路構成を示す回路図である。
【図２】クロック信号、データ、推測タイミングエラー信号、およびゲーティングクロック信号のタイミングチャートである。
【図３】スパイスシミュレーションの結果を示すタイミングチャートである。
【図４】シミュレーション試験による結果を示すグラフである。
【図５】第２の実施の形態による信号処理装置の回路構成を示す回路図である。
【図６】図６Ａは検出用クロック信号生成回路の回路構成を示す概略図であり、図６Ｂはクロック信号、遅延クロック信号、および検出用クロック信号のタイミングチャートである。
【図７】検出用クロック信号、データ、推測タイミングエラー信号、およびゲーティングクロック信号のタイミングチャートである。
【図８】他の実施の形態による検出用クロック信号生成回路の構成を示す概略図である。
【図９】他の実施の形態による論理回路の構成を示す概略図である。
【図１０】他の実施の形態による信号処理装置の回路構成を示す概略図である。
【図１１】図１１Ａは、信号統合判定部の回路構成を示す概略図であり、図１１Ｂは、他の実施の形態による信号統合判定部の回路構成を示す概略図である。
【図１２】信号統合判定部を備えた他の実施の形態による信号処理装置の回路構成（１）を示す概略図である。
【図１３】信号統合判定部を備えた他の実施の形態による信号処理装置の回路構成（２）を示す概略図である。
【発明を実施するための形態】
【００１３】
以下図面に基づいて本発明の実施の形態を詳述する。
【００１４】
（１）第１の実施の形態
図１において、1は本発明の信号処理装置を示し、例えば、送り側のフリップフロップ2と受け側のフリップフロップ3との間に、論理回路として乗算器4が配置されており、クロック信号CKに同期して送り側フリップフロップ2から出力されたデータDが乗算器4にて乗算された後、受け側のフリップフロップ3に出力され得る。この実施の形態の場合、乗算器4は、複数の論理ゲートから構成された第1論理ブロック5aおよび第2論理ブロック5bからなり、クロック信号CKに同期して第1論理ブロック5aで演算処理されたデータDを第2論理ブロック5bで演算処理することで乗算したデータを得る。
【００１５】
これに加えて、乗算器4は、第1論理ブロック5aと第2論理ブロック5bとの間にタイミングエラー推測部7が接続されたチェックポイントCがあり、第1論理ブロック5aにて処理されたデータDをタイミングエラー推測部7に送出し得る。ここで、この実施の形態の場合、乗算器4は、最も長い処理経路であるクリティカルパスでの処理時間が、クロック信号CKの1クロックの周期（例えば12[ns]）と同じになっている。
【００１６】
また、乗算器4は、第1論理ブロック5aでの処理時間が1クロックの前半の立ち上がり期間H1（立ち上がりエッジから立ち下がりエッジまでの期間であり、ここでは6[ns]）に設定されているとともに、第2論理ブロック5bの処理時間が1クロックの後半の立ち下がり期間L1（立ち下がりエッジから立ち上がりエッジまでの期間であり、ここでは6[ns]）に設定されている。なお、クロック信号CKは、立ち上がり期間H1と立ち下がり期間L1とを順次交互に繰り返し、デューティ比が50%の立ち上がり期間H1および立ち下がり期間L1とで1クロックを構成している。
【００１７】
この実施の形態の場合、乗算器4は、上述したように第1論理ブロック5aおよび第2論理ブロック5bの演算処理がクロック信号CKに同期しており、データDがクリティカルパスを経由する際でも1クロックの周期内に終了していなければならず、それゆえ、第1論理ブロック5aの演算処理がクロック信号CKの前半部分末端の立ち下がりエッジ前まで（立ち上がり期間H1中）に終了していなければならない。
【００１８】
そこで、タイミングエラー推測部7は、第1論理ブロック5aで処理されたデータDを、中間点であるチェックポイントCを介して乗算器4から抽出し、その時点で、第1論理ブロック5aの演算処理がクロック信号CKの前半部分末端の立ち下がりエッジ前まで（立ち上がり期間H1中）に終了しているか否かを判断する。その結果、タイミングエラー推測部7は、第1論理ブロック5aの演算処理がクロック信号CKの立ち下がりエッジ後に行われた場合、第1論理ブロック5aおよび第2論理ブロック5bを合わせた演算処理が1クロックの周期内では終了しないと判断し、乗算器4にてタイミングエラーが発生すると推測し得る。
【００１９】
ここで、タイミングエラー推測部7は、チェックポイントCにおけるデータDの遷移を検出する遷移検出部8と、遷移検出部8にて検出されたデータDの遷移がクロック信号CKの立ち下がり期間L1中であるか否かを判断するエラー判断部9とから構成されている。実際上、遷移検出部8は、否定排他論理和回路12を有しており、チェックポイントCで得られた乗算器4の処理途中のデータDを、遅延回路11a,11bを経由して否定排他論理和回路12の一方の入力部に入力するとともに、チェックポイントCで得られた乗算器4の処理途中のデータDを否定排他論理和回路12の他方の入力部にそのまま入力し得る。
【００２０】
否定排他論理和回路12は、一方の入力部から入力された遅延データと、他方の入力部から入力されたデータDの否定排他論理和をとり、その結果得られるデータをエラー判断部9に出力する。例えば、否定排他論理和回路12は、遅延データおよびデータDがともに立ち下がっているとき、および、ともに立ち上がっているとき、データDが遷移していないことを示す「1」データを出力部からエラー判断部9に出力し得る。
【００２１】
一方、チェックポイントCにて立ち下がっていたデータDが立ち上がったり、或いは立ち上がっていたデータDが立ち下がったりデータDの遷移が生じると、否定排他論理和回路12は、遷移前の遅延データが一方の入力部に入力されるとともに、遷移後のデータDがそのまま他方の入力部に入力され、遅延データとデータDの否定排他論理和をとり、データDが遷移したことを示す「0」データを出力部からエラー判断部9に出力し得る。
【００２２】
ここで、エラー判断部9は、一方の入力部が否定排他論理和回路12の出力部と接続された論理積回路14と、一方の入力部に論理積回路14の出力部が接続されているとともに、他方の入力部にクロック信号CKが入力され、出力部が論理積回路14の他方の入力部に接続された否定論理和回路15とを有する。この場合、論理積回路14は、否定排他論理和回路12の出力部よりデータDが遷移したことを示す「0」データが一方の入力部に入力されると、出力部から「0」データを出力し得る。
【００２３】
否定論理和回路15は、他方の入力部にクロック信号CKが入力されており、一方の入力部から入力された論理積回路14からの「0」データが、クロック信号CKの立ち上がり期間H1、または立ち下がり期間L1のいずれのタイミングで得られたかを判断し得る。例えば、否定論理和回路15は、一方の入力部に論理積回路14から「0」データが入力されたとき、立ち下がり期間L1のクロック信号CKが他方の入力部に入力されている場合、第1論理ブロック5aにおいてデータDの処理が、1クロックの前半部分末端の立ち下がりエッジ前に終了していないことになるため、乗算器4によるデータDの処理がこのままだと1クロック内で処理できずタイミングエラーが発生する虞があることを示す推測タイミングエラー信号STE(この場合、「1」データ)を、出力部から出力し得る。
【００２４】
因みに、エラー判断部9は、否定論理和回路15の出力部からタイミングエラーを推測した推測タイミングエラー信号STEが出力されると、当該推測タイミングエラー信号STEが論理積回路14の他方の入力部に入力されるものの、論理積回路14の一方の入力部に「0」データが入力されている限り論理積回路14の出力部からは「0」データが出力され続ける。
【００２５】
一方、否定論理和回路15は、一方の入力部に論理積回路14からの「0」データが入力されたとき、立ち上がり期間H1のクロック信号CKが他方の入力部に入力されている場合、第1論理ブロック5aにおいてデータDの処理が、1クロックの前半部分末端の立ち下がりエッジ前に終了したことになるため、乗算器4によるデータDの処理が1クロック内で処理できるであろうことを示す「0」データを出力部から出力し得る。
【００２６】
因みに、エラー判断部9は、遷移検出部8よりデータDが遷移していないことを示す「1」データが論理積回路14の一方の入力部に入力されると、否定論理和回路15の出力部からはクロック信号CKの立ち上がり、立ち下がりにかかわらず「0」データが出力される。
【００２７】
かかる構成に加えて、本発明の信号処理装置1には、タイミングエラー推測部7から出力された「1」データに基づいてクロック信号CKをゲーティングするクロック信号制御部17がタイミングエラー推測部7の出力に接続されている。実際上、クロック信号制御部17は、ラッチ回路19と論理積回路20とで構成され、タイミングエラー推測部7から出力された例えば推測タイミングエラー信号STEがラッチ回路19に入力され得る。
【００２８】
ラッチ回路19は、クロック信号CKの立ち上がり立ち下がりが反転した反転クロック信号が入力されており、クロック信号CKにおける1クロックの周期を検出可能に構成されている。また、ラッチ回路19は、出力部に論理積回路20が接続されており一度、タイミングエラー推測部7から推測タイミングエラー信号STE（「1」データ）を受け取ると、クロック信号CKにおいて次の立ち上がりエッジが供給されても、論理積回路20に対して「1」データをそのまま出力し続け得る。
【００２９】
論理積回路20は、一方の入力部にクロック信号CKが入力されているとともに、他方の入力部にラッチ回路19からのデータが入力され、これらクロック信号CKと、ラッチ回路19からのデータの論理積をとり、その結果得られたゲーティングクロック信号GCKを送り側のフリップフロップ2および受け側のフリップフロップ3に出力し得る。これにより送り側のフリップフロップ2および受け側のフリップフロップ3は、クロック信号制御部17から受け取ったゲーティングクロック信号GCKに同期して動作し得る。
【００３０】
この場合、論理積回路20は、ラッチ回路19から出力された「1」データを反転させた「0」データが他方の入力部に入力されている限り、クロック信号CKが立ち上がってもそのまま「0」データを出力し続け、送り側のフリップフロップ2および受け側のフリップフロップ3に対して、クロック信号CKをゲーティングし、次の立ち上がりエッジが発生することなく立ち下がり状態がそのまま維持されたゲーティングクロック信号GCKを出力し得る。
【００３１】
ラッチ回路19は、その後、タイミングエラー推測部7から「0」データを受け取り、ゲーティングした1クロックの次の1クロックの立ち上がりエッジが発生したクロック信号CKが入力されると、「0」データを論理積回路20に出力し得る。これにより論理積回路20は、ラッチ回路19に接続された他方の入力部に「0」データが反転した「1」データが入力されるとともに、一方の入力部に立ち上がったクロック信号CKが入力され、これら両者の論理積をとることでゲーティングクロック信号GCKを立ち上げ、これを送り側のフリップフロップ2および受け側のフリップフロップ3に出力し得る。
【００３２】
これにより送り側のフリップフロップ2および受け側のフリップフロップ3は、タイミングエラー推測部7にて推測タイミングエラー信号STEが生成されなくなると、ゲーティングされて立ち上がらなかった1クロックの立ち上がり期間H1の次の1クロックの立ち上がり期間H1が、ゲーティングクロック信号GCKに基づいて供給され、周期が2倍（24[ns]）となった1クロックに同期して処理動作を実行し得る。かくして、乗算器4では、クロック信号CK（ゲーティングクロック信号GCK）の新たな立ち上がり期間H1に同期して正しいタイミングで動作を行え、正しいデータDを受け側のフリップフロップ3に出力し、さらには受け側のフリップフロップ3においてもタイミングエラーによる誤ったデータにより動作することを防止し得る。
【００３３】
次に、このようなタイミングエラー推測訂正処理について、図２に示すタイミングチャートを用いて簡単に説明する。図２に示すように、クロック信号CKは、立ち上がり期間H1と立ち下がり期間L1を順次交互に繰り返すパルス状の信号である。前半にある立ち上がり期間H1と、後半にある立ち下がり期間L1とで1クロックの周期Tck1が構成されている。
【００３４】
ここで、図２では、第1論理ブロック5aにおける演算処理が想定以上の時間を要し、第1論理ブロック5aの演算処理がクロック信号CKの前半部分末端の立ち下がりエッジ前まで（立ち上がり期間H1中）に終了していないデータDを示しており、その結果、タイミングエラー推測部7において、クロック信号CKの立ち下がり期間L1中にデータDの遷移が検出される。
【００３５】
この場合、推測タイミングエラー信号STEは、クロック信号CKが立ち上がることでリセットされ、その結果、遷移検出部8にて検出したデータDの遷移時点からクロック信号CKの立ち上がりエッジまでの時間Errの間に発生し得る。クロック信号制御部17にて生成されるゲーティングクロック信号GCKは、推測タイミングエラー信号STEの発生後から次の1クロックの立ち上がり期間H1までの間（図２中「CG」と表記）、クロック信号CKをゲーティングし、推測タイミングエラー信号STE生成直後の立ち上がり期間H1を生成することなく、そのまま立ち下がり期間L1を維持し得る。
【００３６】
因みに、図３は、推測タイミングエラー信号STEが連続して発生したときのスパイスシミュレーションの結果を示すタイミングチャートである。クロック信号CKの連続する立ち下がり期間中にそれぞれデータDの遷移があり、推測タイミングエラー信号STEがそれに応じて連続して発生している。この場合、初めの推測タイミングエラー信号STEの発生からその直後のクロック信号CKの立ち下がりエッジまで、クロック信号CKがゲーティングされた後、続けて、推測タイミングエラー信号STEの発生からその直後のクロック信号CKの立ち下がりエッジまで、再びクロック信号CKがゲーティングされたゲーティングクロック信号GCKが生成されている。
【００３７】
このように、信号処理装置1では、推測タイミングエラー信号STEが検出されなくなるまで推測タイミングエラー信号STEの発生からその直後のクロック信号CKの立ち下がりエッジまでクロック信号CKをゲーティングし、乗算器4においてクロック信号CK（ゲーティングクロック信号GCK）の立ち上がり期間H1に同期した正常な動作を確実に行わせ得るようになされている。
【００３８】
以上の構成において、信号処理装置1では、所定のクロック信号CKに同期させ所定のタイミングでデータDを処理して出力する乗算器4から処理途中のデータDを取得し、処理途中の段階で当該データDがクロック信号CKに対してタイミングがずれているか否かを判断するタイミングエラー推測部7を設けるようにした。
【００３９】
信号処理装置1では、乗算器4において処理途中の段階でデータDがクロック信号CKに対して既にタイミングがずれていれば、乗算器4が想定した時間（この場合、1クロックの周期12［ns］）内に演算処理が終了し得ないと推測でき、かくして乗算器4における最終的な演算処理結果を事後的に解析することなく、乗算器4の演算処理の途中段階で、乗算器4が正しいタイミングで動作しているか否かを推測できる。
【００４０】
また、信号処理装置1では、タイミングエラー推測部7にて乗算器4においてデータDがクロック信号CKに対しタイミングがずれていると推測したとき、クロック信号制御部17によって、乗算器4に対するクロック信号CKをゲーティングし、乗算器4に対するクロック信号CKの供給を制御するようにした。このように、信号処理装置1では、タイミングエラー推測部7にて得られたタイミングエラー発生の推測結果を反映させ、乗算器4に対するクロック信号CKをゲーティングすることができ、これにより、受け側のフリップフロップ3がタイミングエラーの生じた誤ったデータにより動作することを防止し得る。
【００４１】
（２）シミュレーション試験
次に、図１に示すような信号処理装置1を用意し、タイミングエラーの推測と、タイミングエラー時のクロック信号CKのゲーティングについてシミュレーション試験を行った。このシミュレーション試験では、VDD1.8[V]、25[C]で乗算器4を用い、乗算器4の216のランダムな入力ベクトル使用して動作させた。そして、クロック信号CKのサイクル時間を小さくしてゆき（すなわち、クロック信号CKの1クロックの周期を短くしてゆき）、乗算器4にて乗算に必要な1クロックのサイクル数と、乗算器4のスループットとを調べたところ、図４に示すような結果が得られた。
【００４２】
図４では、乗算器4にて乗算に必要なクロック信号CKのサイクル数を△で表記し、スループットを■で表記した。図４から、クロック信号CKのサイクル時間8.2[ns]まではスループットが向上した。また、クロック信号CKのサイクル時間9[ns]よりも小さくしてゆくと、クロック信号制御部17によるクロック信号CKのゲーティングによってサイクル数が次第に増えてゆき、それに伴いスループットが低下してゆくことが確認できた。ただし、クロック信号CKのサイクル時間が6.4[ns]では、スループットは向上しないものの、クロック信号CKのサイクル時間10.8[ns]と同様のスループットが得られ、正常に動作することが確認できた。
【００４３】
（３）第２の実施の形態
図１との対応部分に同一符号を付して示す図５において、31は第２の実施の形態による信号処理装置を示し、第１の実施の形態とは、乗算器34から処理途中のデータを抽出するチェックポイントCの位置が異なっている。この場合、乗算器34は、最も長い処理経路であるクリティカルパスでの処理時間が、クロック信号CKの1クロック（例えば12[ns]）に調整されている。ただし、第２の実施の形態における乗算器34は、第1論理ブロック35aでの処理時間が1クロックの周期2／3である8[ns]に設定され、第2論理ブロック35bの処理時間が1クロックの周期1／3である4[ns]に設定されている。
【００４４】
よって、この実施の形態の場合、タイミングエラー推測部37は、チェックポイントCから得られたデータDに基づいて、第1論理ブロック35aによるデータDの処理が8[ns]以内に終了しているか否かを判断し、その結果、第1論理ブロック35aによるデータDの処理が8[ns]を越えているときタイミングエラーが発生していると推測し得る。
【００４５】
この場合、タイミングエラー推測部37は、エラー判断部39に検出用クロック信号生成回路40を備えている点で、上述した第１の実施の形態とは相違しており、当該検出用クロック信号生成回路40によってチェックポイントCにてタイミングエラーを推測可能な検出用クロック信号DCKを生成し得るようになされている。
【００４６】
実際上、エラー判断部39は、検出用クロック信号生成回路40の出力が否定論理和回路15の他方の入力部に接続された構成を有し、検出用クロック信号生成回路40により生成された検出用クロック信号DCKと、論理積回路14からのデータの否定論理和をとり、その結果得られたデータをクロック信号制御部17に出力し得る。
【００４７】
ここで、図６Ａに示すように、検出用クロック信号生成回路40は、一方の入力部にクロック信号CKが入力され、他方の入力部に遅延回路41a,41b,41c,41dを介して遅延クロック信号Delayed_CKが入力される論理和回路43が設けられている。この場合、遅延回路41a,41b,41c,41dによるクロック信号CKの遅延量は、チェックポイントCの位置に応じて選定されている。
【００４８】
この実施の形態の場合、図６Ｂに示すように、クロック信号CKは、立ち上がり期間および立ち下がり期間がともに6[ns]であることから、遅延回路41a,41b,41c,41dは、クロック信号CKを遅延させる遅延量Tdとして2[ns]が選定されており、クロック信号CKを2[ns]遅延させた遅延クロック信号Delayed_CKを生成する。これにより論理和回路43は、クロック信号CKと遅延クロック信号Delayed_CKの論理和をとることで、第1論理ブロック35aの処理時間と同じ8[ns]の立ち上がり期間H2の検出用クロック信号DCKを生成し、これを否定論理和回路15に出力し得る。
【００４９】
これにより、否定論理和回路15は、検出用クロック信号DCKの立ち下がり期間L2中にデータDの立ち下がり、または立ち上がりの遷移があったとき、第1論理ブロック35aでの処理が想定していた時間（この場合、8[ns]）以上かかりタイミングエラーが発生しているとして、推測タイミングエラー信号STEをクロック信号制御部17に出力し得る。
【００５０】
一方、検出用クロック信号DCKの立ち下がり期間L2中にデータDの遷移が発生しなかった場合には、第1論理ブロック35aでの処理が検出用クロック信号DCKの立ち下がりエッジ前に終了しており、タイミングエラーが発生しないことを示す「0」データをクロック信号制御部17に出力し得る。
【００５１】
なお、クロック信号制御部17は、上述した第１の実施の形態と同様の構成を有しており、タイミングエラー推測部37から推測タイミングエラー信号を受け取ると、上述した第１の実施の形態と同様に、クロック信号CKをゲーティングしたゲーティングクロック信号GCKを生成し、これを送り側のフリップフロップ2および受け側のフリップフロップ3へ出力し得る。
【００５２】
これにより送り側のフリップフロップ2および受け側のフリップフロップ3は、タイミングエラー推測部37にて推測タイミングエラー信号STEが生成されなくなると、ゲーティングクロック信号GCKに基づいて、新たな1クロックが発生し、1クロックの立ち上がりに同期して処理動作を実行し得る。かくして、乗算器34では、クロック信号CK（ゲーティングクロック信号GCK）の立ち上がり期間に同期した正常な動作を行え、正しいデータDを受け側のフリップフロップ3に出力し、さらには受け側のフリップフロップ3においても誤ったデータによる誤作動を防止し得る。
【００５３】
ここで、このようなタイミングエラー推測訂正処理について、図７に示すタイミングチャートを用いて簡単に説明する。図７に示すように、検出用クロック信号DCKは、立ち上がり期間H2と立ち下がり期間L2とが第1論理ブロック35aの処理時間と第2論理ブロック35bの処理時間とにそれぞれ調整されている。図７では、第1論理ブロック35aにおける演算処理が想定以上の時間を要し、第1論理ブロック35aの演算処理が検出用クロック信号DCKの立ち下がりエッジ前（8[ns]以内）に終了していないデータDを示しており、その結果、タイミングエラー推測部37において、検出用クロック信号DCKの立ち下がり期間L2中にデータDの遷移が検出される。
【００５４】
この場合、推測タイミングエラー信号STEは、検出用クロック信号DCKが立ち上がることでリセットされ、その結果、遷移検出部8にて検出したデータDの遷移時点から検出用クロック信号DCKの立ち上がりエッジまでの時間Errの間に発生し得る。クロック信号制御部17にて生成されるゲーティングクロック信号GCKは、推測タイミングエラー信号STEの発生後から次の1クロックの立ち上がり期間H2までの間（図７中「CG」と表記）、クロック信号CKをゲーティングし、推測タイミングエラー信号STE生成直後の立ち上がり期間H2を生成することなく、そのまま立ち下がり期間L2を維持し得る。
【００５５】
このように、信号処理装置31でも、推測タイミングエラー信号STEの発生からその直後のクロック信号CKの立ち下がりエッジまでクロック信号CKをゲーティングし、乗算器34においてクロック信号CKの立ち上がり期間H2に同期した正常な動作を確実に行わせ得るようになされている。
【００５６】
以上の構成において、信号処理装置31でも、上述した第１の実施の形態と同様に、乗算器34において処理途中の段階でデータDがクロック信号CKに対して既にタイミングがずれていれば、乗算器34が想定した時間内に演算処理が終了し得ないと推測でき、かくして乗算器34における最終的な演算処理結果を事後的に解析することなく、乗算器34の演算処理の途中段階で、乗算器34が正しいタイミングで動作しているか否かを推測できる。
【００５７】
また、この信号処理装置31では、乗算器34から処理途中のデータDを取得する任意の位置に対応して、クロック信号CKの立ち上がりおよび立ち下がりのデューティ比を可変した検出用クロック信号DCKを生成する検出用クロック信号生成回路40を設け、データDが検出用クロック信号DCKに対してタイミングがずれているか否かを判断するようにした。
【００５８】
これにより、信号処理装置31では、乗算器34の任意の位置から処理途中のデータDを取得しても、当該データDが検出用クロック信号DCKに対してタイミングがずれているか否かの判断に基づいて、任意の位置であってもデータDがその時点でクロック信号CKに対してタイミングがずれているか否かを判断できる。なお、このような検出用クロック信号生成回路としてはＰＬＬやＤＬＬを利用して構築してもよい。
【００５９】
（４）他の実施の形態
なお、本発明は、本実施の形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能であり、例えば、送り側のフリップフロップ2と受け側のフリップフロップ3との間に設けた論理回路として、乗算器4,34を適用した場合について述べたが、本発明はこれに限らず、加算器や比較器等その他種々の組み合わせ回路を適用してもよく、また順序回路等その他種々の論理回路を適用してもよい。
【００６０】
また、上述した実施の形態においては、論理回路のチェックポイントとして、図１では乗算器4における1クロックの周期1/2時点にチェックポイントCを設け、一方、図５では乗算器34における1クロックの周期2/3時点にチェックポイントCを設けるようにした場合について述べたが、本発明はこれに限らず、例えば乗算器における1クロックの周期1/3時点や、周期1/4時点等その他種々の位置にチェックポイントを設けてもよく、この場合、検出用クロック信号生成回路40によってそれぞれ1クロックの周期1/3時点や、周期1/4時点に立ち下がりエッジがあるデューティ比を可変した検出用クロック信号DCKを生成すればよい。なお、具体的な一例については下記「（４‐２）論理回路について」で後述する。また、乗算器（論理回路）に対して複数箇所にチェックポイントCを設けるようにしてもよい。これについても、具体的な一例については下記「（４‐３）他の実施の形態による信号処理装置の回路構成について」で後述する。
【００６１】
さらに、上述した実施の形態においては、データの立ち上がりから立ち下がり、または立ち下がりから立ち上がりの遷移を検出する遷移検出部として、否定排他論理和回路12等を用いた場合について述べたが、本発明はこれに限らず、種々の論理ゲートを組み合わせることにより、データの立ち上がりから立ち下がり、または立ち下がりから立ち上がりの遷移を検出する構成を実現してもよい。
【００６２】
さらに、上述した実施の形態においては、データの遷移をクロック信号の立ち下がり期間中に検出したとき、当該データがクロック信号に対しタイミングがずれていると推測するエラー判断部として、論理積回路14および否定論理和回路15等を用いた場合について述べたが、本発明はこれに限らず、種々の論理ゲートを組み合わせることにより、データの遷移をクロック信号の立ち下がり期間中に検出したとき、当該データがクロック信号に対しタイミングがずれていると推測する構成を実現してもよい。
【００６３】
（４‐１）他の実施の形態による検出用クロック信号生成回路について
上述した第２の実施の形態においては、検出用クロック信号生成回路として、乗算器34のチェックポイントCの位置に合わせて予めクロック信号CKの遅延量を設定しなければならない検出用クロック信号生成回路を適用した場合について述べたか、本発明はこれに限らず、論理回路のチェックポイントCの位置に合わせてクロック信号CKの遅延量を数種類のうちから自由に選定可能な検出用クロック信号生成回路を適用してもよい。
【００６４】
図８において、45は、クロック信号CKの遅延量を数種類のうちから自由に選定可能な検出用クロック信号生成回路を示し、この検出用クロック信号生成回路45は、論理回路（例えば、図５に示す乗算器34）から処理途中のデータDを取得するチェックポイントCの位置に応じて、クロック信号CKの立ち上がりおよび立ち下がりのデューティ比が最適な検出用クロック信号DCKを選択的に生成し得るようになされている。実際上、検出用クロック信号生成回路45には、遅延部として、第1遅延部46、第2遅延部47、および第3遅延部48を備えており、このうち第1遅延部46にクロック信号CKが入力され得るようになされている。
【００６５】
この場合、第1遅延部46の出力部は、選択スイッチ回路50（図８中、MUXとも表記）に接続されているとともに、第2遅延部47の入力部に接続されている。また、第2遅延部47の出力部は、選択スイッチ回路50に接続されているとともに、第3遅延部48の入力部に接続されている。さらに、第3遅延部48の出力部は、選択スイッチ回路50にのみ接続されている。
【００６６】
これにより、検出用クロック信号生成回路45は、クロック信号CKが第1遅延部46を経由して選択スイッチ回路50まで到達する第1経路と、クロック信号CKが第1遅延部46および第2遅延部47を経由して選択スイッチ回路50まで到達する第2経路と、クロック信号CKが第1遅延部46、第2遅延部47、および第3遅延部48を経由して選択スイッチ回路50まで到達する第3経路とが形成され得る。なお、この実施の形態の場合、遅延部として、第1遅延部46、第2遅延部47、および第3遅延部48の3つを設け、クロック信号CKが選択スイッチ回路50に到達する経路として３種類の経路を設けるようにした場合について述べたが、本発明はこれに限らず、2つや4つ等その他複数の遅延部を設け、2つや4つ等その他複数の経路を設けるようにしてもよい。
【００６７】
実際上、この実施の形態の場合、第1遅延部46は、例えば遅延回路46a,46bを備えており、遅延回路46a,46b分だけクロック信号CKを遅延させて選択スイッチ回路50まで到達させ得る。第2遅延部47は、例えば遅延回路47a,47bを備えており、第1遅延部46（遅延回路46a,46b）分、遅延したクロック信号CKを、さらに遅延回路47a,47b分だけ遅延させて選択スイッチ回路50まで到達させ得る。
【００６８】
第3遅延部48は、例えば遅延回路48a,48b,48c,48dを備えており、第1遅延部46（遅延回路46a,46b）分および第2遅延部47（遅延回路47a,47b）分、遅延したクロック信号CKを、さらに遅延回路48a,48b,48c,48d分だけ遅延させて選択スイッチ回路50まで到達させ得る。
【００６９】
このように、検出用クロック信号生成回路45は、クロック信号CKが選択スイッチ回路50に到達するまでに第1遅延部46、第2遅延部47、および第3遅延部48を経由する経路を変えることで、遅延量の異なる複数の遅延クロック信号Delayed_CKを生成し得、各遅延クロック信号Delayed_CKをそれぞれ選択スイッチ回路50へ出力し得るようになされている。
【００７０】
ここで、選択スイッチ回路50は、図示しない制御部から選択信号が入力されると、各第1遅延部46、第2遅延部47、および第3遅延部48から受け取った遅延クロック信号Delayed_CKのうち、選択信号に基づいて任意に選択された遅延クロック信号Delayed_CKだけを出力部から出力し得るようになされている。
【００７１】
選択スイッチ回路50は、第1遅延部46、第2遅延部47、および第3遅延部48の出力部から出力された複数の遅延クロック信号Delayed_CKのうち、論理回路（例えば、図５の乗算器34）のチェックポイントCの位置に応じて選択信号SELにより選ばれた所定遅延量の遅延クロック信号Delayed_CKを論理和回路51に出力し得る。
【００７２】
論理和回路51は、クロック信号CKが一方の入力部に入力されるとともに、選択スイッチ回路50から他方の入力部に遅延クロック信号Delayed_CKが入力され、クロック信号CKおよび遅延クロック信号Delayed_CKの論理和をとることで、第1論理ブロック35a（図５）の処理時間と同じ立ち上がり期間の検出用クロック信号DCKを生成し得る。これにより、論理和回路51は、生成した検出用クロック信号DCKをエラー判断部39の否定論理和回路15（図５）に出力し得る。
【００７３】
以上の構成において、この検出用クロック信号生成回路45では、論理回路（乗算器34）に設けた後であっても、クロック信号CKが第1遅延部46、第2遅延部47、および第3遅延部48を通過する経路を変えることで、論理回路のチェックポイントCの位置に合わせてクロック信号CKの立ち上がりおよび立ち下がりのデューティ比を調整した最適な検出用クロック信号DCKを容易に生成できる。
【００７４】
（４‐２）論理回路について
なお、上述した実施の形態において、論理回路として、図１では、第1論理ブロック5aでの処理時間が1クロックの周期1／2（例えば6[ns]）に設定され、第2論理ブロック5bの処理時間が1クロックの周期1／2（6[ns]）に設定された乗算器4を適用し、図５では、第1論理ブロック35aでの処理時間が1クロックの周期2／3（例えば8[ns]）に設定され、第2論理ブロック35bの処理時間が1クロックの周期1／3（4[ns]）に設定された乗算器34を適用した場合について述べたが、上述したように本発明はこれに限らず、第1論理ブロックおよび第2論理ブロック間が種々の処理時間に区分けされた論理ブロックを適用してもよい。
【００７５】
例えば、他の論理回路として、図９に示すように、第1論理ブロック55aでの処理時間（立ち上がり期間H3)が1クロックの周期1／3（例えば4[ns]）に設定され、第2論理ブロック55bの処理時間（立ち下がり期間L3）が1クロックの周期2／3（8[ns]）に設定された乗算器54を適用してもよい。この場合、乗算器54には、第1論理ブロック55aおよび第2論理ブロック55b間にチェックポイントCがあり、当該チェックポイントCにタイミングエラー推測部37（図５）が接続され得る。
【００７６】
これによりタイミングエラー推測部37は、乗算器54のチェックポイントCから得られたデータDに基づいて、第1論理ブロック55aによるデータDの処理が4[ns]以内に終了しているか否かを判断し、その結果、第1論理ブロック55aによるデータDの処理が4[ns]を越えているときタイミングエラーが発生していると推測し得る。
【００７７】
（４‐３）他の実施の形態による信号処理装置の回路構成について
図１０は、他の実施の形態による信号処理装置56の概略の回路構成を示しており、複数のチェックポイントC1，C2を設け、各チェックポイントC1，C2毎にタイミングエラー推測部7a，7bを設けた構成を示している。なお、図１０では、タイミングエラー推測部7a，7bに接続されるクロック信号制御部について、図１および図５に示したクロック信号制御部17の構成と同じであるため省略している。
【００７８】
そして、複数のチェックポイントC1,C2を設けた信号処理装置56でも、各タイミングエラー推測部7a，7b毎に、それぞれクロック信号CKに同期して所定のタイミングでデータDを処理する論理回路58,59から処理途中のデータDを取得し、処理途中の段階で当該データDがクロック信号CKに対してタイミングがずれているか否かを判断し得る。
【００７９】
例えば、図１０に示す信号処理装置56では、送り側のフリップフロップ57aと、中間にあるフリップフロップ57bと、受け側のフリップフロップ57cとが設けられており、送り側のフリップフロップ57aおよび中間にあるフリップフロップ57b間に論理回路58が配置されているとともに、中間にあるフリップフロップ57bおよび受け側のフリップフロップ57c間に論理回路59が配置された構成を有している。
【００８０】
なお、一方の論理回路58には、第1論理ブロック58aおよび第2論理ブロック58b間にチェックポイントC1があり、当該チェックポイントC1にタイミングエラー推測部7aが接続され、他方の論理回路59にも、第1論理ブロック59aおよび第2論理ブロック59b間にチェックポイントC2があり、当該チェックポイントC2に別のタイミングエラー推測部7bが接続されている。
【００８１】
これにより、各タイミングエラー推測部7a，7bは、接続された論理回路58，59のチェックポイントC1，C2から得られたデータDに基づいて、それぞれ第1論理ブロック58a，59aによるデータDの処理が処理時間内に終了しているか否かを判断し、その結果、第1論理ブロック58a，59aによるデータDの処理が処理時間を越えているときタイミングエラーが発生していると推測し得る。
【００８２】
このような信号処理装置56では、例えばこれら論理回路58,59によりデータDを順番に処理し得るようになされており、その過程において、一方のタイミングエラー推測部7aから得られた推測タイミングエラー信号STE_1と、他方のタイミングエラー推測部7bから得られた推測タイミングエラー信号STE_2とが得られたとき、これら推測タイミングエラー信号STE_1，STE_2を基にクロック信号制御部（図示せず）を制御し、論理回路58，59を正しいタイミングで動作させ得る。次に、このような複数の推測タイミングエラー信号STE_1，STE_2が得られたときの各種動作について詳細に説明する。
【００８３】
（４‐３‐１）信号統合判定部について
ここで、図１１Ａに示すように複数のタイミングエラー推測部7a,7b,…,7k-1,7kを設けた場合には、各タイミングエラー推測部7a,7b,…,7k-1,7kに接続した信号統合判定部60を設け、信号統合判定部60によって、各タイミングエラー推測部7a,7b,…,7k-1,7kから得られた複数の推測タイミングエラー信号STE_1，STE_2,…,STE_k-1,STE_kを基に1つの推測タイミングエラー信号STEを生成するようにしてもよい。
【００８４】
この場合、信号統合判定部60は、複数のタイミングエラー推測部7a,7b,…,7k-1,7kのうち、いずれかのタイミングエラー推測部7a,7b,…,7k-1,7kから、論理回路でのデータDの処理がこのままだと1クロック内で処理できずタイミングエラーが発生する虞があることを示す推測タイミングエラー信号STE_1，STE_2,…,STE_k-1,STE_kを得ると、1つの推測タイミングエラー信号STEを生成し得る。信号統合判定部60の出力部に接続されたクロック信号制御部は、この推測タイミングエラー信号STEを基にゲーティングクロック信号GCKを生成し、当該ゲーティングクロック信号GCKを全てのフリップフロップ57a,57b,57c,…に出力することで、全てのフリップフロップをゲーティングクロック信号GCKに同期させて正常に動作させ得る。
【００８５】
実際上、この信号統合判定部60には、2つのタイミングエラー推測部7a,7b（…,7k-1,7k）を1対としこの対毎に1つの論理和回路61a（…,61z）が設けられており、これら論理和回路61a（…,61z）のうちさらに2つの論理和回路を1対としこの対毎に1つの論理和回路（図示せず）が設けられ、最終的に1つの論理和回路62の出力部から1つの推測タイミングエラー信号STEが出力し得るように構成されている。
【００８６】
この場合、信号統合判定部60は、タイミングエラー推測部7a,7b（…,7k-1,7k）から得られるデータ全ての論理和をとることで、いずれか1箇所から推測タイミングエラー信号STE_1，STE_2,…,STE_k-1,STE_kが供給されると、1つの推測タイミングエラー信号STEを生成し得、これをクロック信号制御部へと送出し得る。
【００８７】
クロック信号制御部は、この推測タイミングエラー信号STEを基にゲーティングクロック信号GCKを生成し、全てのフリップフロップにゲーティングクロック信号GCKを出力し、これにより全てのフリップフロップにてゲーティングクロック信号GCKに同期した正常な動作を実行させ得る。
【００８８】
（４‐３‐２）他の実施の形態による信号統合判定部について
ここで、上述の図１１Ａに示した信号統合判定部60は、複数のタイミングエラー推測部7a,7b,…,7k-1,7kから論理和回路61a,…61zを介して論理和をとってゆき、最終的に1つの論理和回路62によって論理和をとり1つの推測タイミングエラー信号STEを生成しているため、その分、最終的な推測タイミングエラー信号STEを生成するまでに時間を要する。これに対して、図１１Ｂに示す他の実施の形態による信号統合判定部65では、複数のNMOSトランジスタ67a,67b,67c,…,67kを並列接続させた構成を有し、各タイミングエラー推測部から得られたデータをそれぞれ対応したNMOSトランジスタ67a,67b,67c,…,67kにより同時に判断することにより、図１１Ａに示した信号統合判定部60に比して推測タイミングエラー信号STEの生成を短縮化し得るようになされている。
【００８９】
実際上、この信号統合判定部65では、ゲートに反転させたクロック信号CK￣（図１１Ｂでは、CK上に￣を表記。以下同様）が入力されるPMOSトランジスタ66aと、ゲートに反転させたクロック信号CK￣が入力されるNMOSトランジスタ66bとを備えており、PMOSトランジスタ66aの一端に、並列接続されたNMOSトランジスタ67a,67b,67c,…,67kの一端が接続され、NMOSトランジスタ66bの一端に、並列接続されたNMOSトランジスタ67a,67b,67c,…,67kの他端が接続された構成を有する。また、PMOSトランジスタ66aの他端にはVDDが印加され、NMOSトランジスタ66bの他端はグランドGNDに接続されている。
【００９０】
各NMOSトランジスタ67a,67b,67c,…,67kには、対応するタイミングエラー推測部7a,7b,…の出力部がゲートに接続されており、対応付けたタイミングエラー推測部7a,7b,…から推測タイミングエラー信号STE_1,STE_2,STE_3,…STE_kがゲートに入力され得るようになされている。
【００９１】
この場合、信号統合判定部65では、タイミングエラー推測部7a,7b,…から推測タイミングエラー信号STE_1,STE_2,STE_3,…STE_kが生成されない限り、各NMOSトランジスタ67a,67b,67c,…,67kがオフ状態となり得る。この際、信号統合判定部65では、PMOSトランジスタ66aにより、並列接続されたNMOSトランジスタ67a,67b,67c,…,67kの一端側にVDDが印加されており、インバータ68a,68bにより安定したデータが供給され得る。なお、この場合、NMOSトランジスタ67a,67b,67c,…,67kの一端側にVDDが印加された状態では、インバータ68aの出力部から例えば「0」データが出力され得る。
【００９２】
一方、タイミングエラー推測部7a,7b,…のいずれかからタイミングエラー信号STE_1,STE_2,STE_3,…STE_kが生成され、並列接続されたNMOSトランジスタ67a,67b,67c,…,67kのいずれかのゲートに推測タイミングエラー信号STE_1,STE_2,STE_3,…STE_kが供給された場合には、他方のNMOSトランジスタ66bのオン動作のタイミングで、オン動作した、いずれかのNMOSトランジスタ67a,67b,67c,…,67kの一端から他端に電流が流れ、NMOSトランジスタ67a,67b,67c,…,67kの一端側の電圧値が下がり、その結果、インバータ68aの出力部から例えば「1」データ（すなわち、推測タイミングエラー信号STE）が出力され得る。
【００９３】
このように、信号統合判定部65は、タイミングエラー推測部7a,7b,…のいずれかにおいて推測タイミングエラー信号STE_1,STE_2,STE_3,…STE_kが生成されると、インバータ68aの出力部からクロック信号制御部（図示せず）に推測タイミングエラー信号STEが出力され得る。これによりクロック信号制御部は、この推測タイミングエラー信号STEを基にゲーティングクロック信号GCKを生成し、全てのフリップフロップにゲーティングクロック信号GCKを出力し、これにより全てのフリップフロップにてゲーティングクロック信号GCKに同期した正常な動作を実行させ得る。
【００９４】
（４‐３‐３）他の実施の形態による信号処理装置について
上述した「（４‐３‐１）信号統合判定部について」および「（４‐３‐２）他の実施の形態による信号統合判定部について」では、いずれも、複数あるタイミングエラー推測部7a,7b、…から１つでも推測タイミングエラー信号STE_1,STE_2,STE_3,…が生成されると、信号処理装置においてタイミングエラー推測部7a,7b、…を設けた全ての論理回路を一律にクロックゲーティングし、全ての論理回路にゲーティングクロック信号GCKを供給している。
【００９５】
これに対して、ここでは、推測タイミングエラー信号が生成された論理回路（以下、エラー推測論理回路とも呼ぶ）と、この推測タイミングエラー信号が検知された論理回路の前段にある論理回路全てとをクロックゲーティングして、推測タイミングエラー信号が検知された論理回路、およびこれより前段の論理回路にゲーティングクロック信号GCKを供給する一方、推測タイミングエラー信号が生成されず、かつエラー推測論理回路の後段にある論理回路はクロックゲーティングすることなく、そのままクロック信号CKにより動作させ得る信号処理装置について説明する。
【００９６】
図１２は、例えば複数のフリップフロップ72a,72b,72c,72d,72eを備え、フリップフロップ72a,72b間に論理回路77が設けられ、フリップフロップ72b,72c間に論理回路78が設けられ、フリップフロップ72c,72d間に論理回路79が設けられ、フリップフロップ72d,72e間に論理回路80が設けられた信号処理装置71を示す。この場合、信号処理装置71は、フリップフロップ72a、論理回路77、フリップフロップ72b、論理回路78、フリップフロップ72c、論理回路79、フリップフロップ72d、論理回路80、およびフリップフロップ72eの順にデータが供給され、各論理回路77,78,79,80により順番にデータを用いた演算処理等が実行され得るようになされている。
【００９７】
かかる構成に加えて、この信号処理装置71は、論理回路77に対しタイミングエラー推測部7aおよびクロック信号制御部17が設けられ、論理回路78に対しタイミングエラー推測部7bおよびクロック信号制御部17が設けられ、論理回路79に対しタイミングエラー推測部7cおよびクロック信号制御部17が設けられ、論理回路80に対しタイミングエラー推測部7dおよびクロック信号制御部17が設けられた構成を有する。この場合、タイミングエラー推測部7a,7b,7c,7dとクロック信号制御部17は、図１に示したタイミングエラー推測部7とクロック信号制御部17と同じ構成を有していることから、ここではその説明は省略する。
【００９８】
なお、図１２では、4つの論理回路77,78,79,80を備え、各論理回路77,78,79,80のチェックポイントC1,C2,C3,C4に対し、対応するタイミングエラー推測部7a,7b,7c,7dが設けられている場合について述べるが、あくまでこれは一例であり、2つや3つ等その他複数の論理回路を設け、当該論理回路のチェックポイント（処理途中）に対してそれぞれタイミングエラー推測部を設けるようにしてもよい。
【００９９】
因みに、この信号処理装置71では、各論理回路77,78,79,80に対するタイミングエラー推測部7a,7b,7c,7dおよびクロック信号制御部17の接続構成が同じであることから、ここでは主に論理回路77に着目して以下説明する。この場合、論理回路77は、図１と同様に、第1論理ブロック77aおよび第2論理ブロック77b間の処理途中となるチェックポイントC1にタイミングエラー推測部7aが接続されている。これにより、タイミングエラー推測部7aは、第1論理ブロック77aで処理されたデータを、チェックポイントC1を介して論理回路77から抽出し、その時点で、第1論理ブロック77aの演算処理がクロック信号CKの前半部分末端の立ち下がりエッジ前まで（立ち上がり期間中）に終了しているか否かを判断し得る。
【０１００】
各タイミングエラー推測部7a,7b,7c,7dは、それぞれ対応する論理回路77,78,79,80において処理途中の段階でデータがクロック信号CKに対して既にタイミングがずれているか否かを判断し、当該タイミングがずれていれば、対応する論理回路77,78,79,80で想定した時間内に演算処理を終了し得ないと推測し得るようになされている。このように、各タイミングエラー推測部7a,7b,7c,7dは、それぞれ対応した論理回路77,78,79,80において演算処理の途中段階で、論理回路77,78,79,80が正しいタイミングで動作しているか否かを推測し得る。
【０１０１】
これに加えて、この信号処理装置71には、タイミングエラー推測部7aおよびクロック信号制御部17間、タイミングエラー推測部7bおよびクロック信号制御部17間、タイミングエラー推測部7cおよびクロック信号制御部17間に、信号統合判定部としての論理和回路75a,75b,75cがそれぞれ設けられており、例えばタイミングエラー推測部7aの出力部が論理和回路75aを介してクロック信号制御部17の入力部に接続されている。論理和回路75aには、一方の入力部にタイミングエラー推測部7aの出力部が接続されているとともに、他方の入力部に、後段の信号統合判定部たる論理和回路75bの出力部が接続されており、タイミングエラー推測部7aからのデータと、後段の論理和回路75bからのデータとの論理和をとり得る。
【０１０２】
これにより、例えば論理和回路75aは、タイミングエラー推測部7aから推測タイミングエラー信号STE_1を受け取るか、後段の論理和回路75bから出力された推測タイミングエラー信号STE（図示せず）を受け取るか、或いはその両方の場合、推測タイミングエラー信号STEを生成して、これをクロック信号制御部17のラッチ回路19に送出し得る。
【０１０３】
ラッチ回路19は、対応する論理和回路75aから推測タイミングエラー信号STEを受け取ると、上述した第１の実施の形態と同様に、クロック信号CKをゲーティングしたゲーティングクロック信号GCKを生成して、これを出力部に接続されたフリップフロップ72aに送出する。これによりフリップフロップ72aは、ゲーティングクロック信号GCKの新たな立ち上がり期間に同期して正しいタイミングで処理動作を実行し得る。なお、図１２では、図１にて論理積回路20の入力部に設けた否定を示す「○」を、ラッチ回路19の出力部に設けているが、図１と同様に論理和回路20の入力部に設けてもよい。
【０１０４】
同様に、論理和回路75aの後段にある論理和回路75bでも、タイミングエラー推測部7bから推測タイミングエラー信号STE_2を受け取るか、後段の論理和回路75cから出力された推測タイミングエラー信号STE（図示せず）を受け取るか、或いはその両方の場合、推測タイミングエラー信号STEを生成して、これをクロック信号制御部17のラッチ回路19（図１２ではクロック信号制御部17の構成が全て同じであるため付番省略。以下同様）に送出し得る。
【０１０５】
このラッチ回路19でも、対応する論理和回路75bから推測タイミングエラー信号STEを受け取ると、上述した第１の実施の形態と同様に、クロック信号CKをゲーティングしたゲーティングクロック信号GCKを生成して、これを出力部に接続されたフリップフロップ72bに送出する。これにより、フリップフロップ72bは、ゲーティングクロック信号GCKの新たな立ち上がり期間に同期して正しいタイミングで処理動作を実行し得る。この際、この論理和回路75bの前段にある論理和回路75aでも、上述したように後段の論理和回路75bから受け取った推測タイミングエラー信号STEを基に、ゲーティングクロック信号GCKをラッチ回路19に生成させ得る。これにより、後段のフリップフロップ72bだけでなく前段のフリップフロップ72aも、ゲーティングクロック信号GCKの新たな立ち上がり期間に同期して正しいタイミングで処理動作を実行し得る。
【０１０６】
同様に、論理和回路75bの後段にある論理和回路75cでも、タイミングエラー推測部7cから推測タイミングエラー信号STE_3を受け取るか、後段のタイミングエラー推測部7dから出力された推測タイミングエラー信号STE_4を受け取るか、或いはその両方の場合、推測タイミングエラー信号STEを生成して、これをクロック信号制御部17のラッチ回路19に送出し得る。なお、この実施の形態の場合、フリップフロップ72eの後段にタイミングエラー推測部を設けていないことから、最後尾のタイミングエラー推測部7dおよびクロック信号制御部17間には、信号統合判定部たる論理和回路が設けられておらず、最後尾のタイミングエラー推測部7dにて生成された推測タイミングエラー信号STE_4は、クロック信号制御部17と、前段の論理和回路75cとにそのまま送出され得る。
【０１０７】
この際、最後尾のタイミングエラー推測部7dよりも前段にある全ての論理和回路75a,75b,75cは、最後尾のタイミングエラー推測部7dにて生成された推測タイミングエラー信号STE_4を基に推測タイミングエラー信号STEをそれぞれ生成し、当該推測タイミングエラー信号STEに基づいて各ラッチ回路19によりゲーティングクロック信号GCKを生成させ得る。これにより、推測タイミングエラー信号STE_4を生成したタイミングエラー推測部7dを有する論理回路80の前段にある全てのフリップフロップ72a,72b,72c,72dは、各クロック信号制御部17から出力されたゲーティングクロック信号GCKの新たな立ち上がり期間に同期し、正しいタイミングで処理動作を実行し得る。
【０１０８】
以上の構成において、信号処理装置71では、複数のタイミングエラー推測部7a,7b,7c,7dのいずれかで、論理回路77,78,79,80での処理途中の段階でデータがクロック信号CKに対してタイミングがずれていると推測すると、例えばタイミングがずれている論理回路（エラー推測論理回路）79と、この論理回路79の前段にある論理回路77,78とに対しクロック信号の供給を制御させる信号統合判定部として論理和回路75a,75b,75cを設けるようにした。これにより、信号処理装置71では、タイミングがずれていると推測した論理回路79を含め、この論理回路79の前段にある全ての論理回路77,78に対してだけ、タイミングエラー推測部7cにて得られたタイミングエラー発生の推測結果を反映させることができ、動作不良を生じる虞のある最低限の論理回路77,78,79だけクロック信号CKをゲーティングすることができる。
【０１０９】
なお、上述した図１２では、図１に示したタイミングエラー推測部7と同じ構成のタイミングエラー推測部7a,7b,7c,7dを各論理回路77,78,79,80のチェックポイントC1,C2,C3,C4に接続させた信号処理装置71について述べたが、本発明はこれに限らず、図５に示したタイミングエラー推測部37と同じ構成のタイミングエラー推測部を各論理回路77,78,79,80のチェックポイントC1,C2,C3,C4に接続させた信号処理装置としてもよい。
【０１１０】
また、図１２との対応部分に同一符号を付して示す図１３は、例えば、図１に示したタイミングエラー推測部7、または図５に示したタイミングエラー推測部37のいずれかと同じ構成を有した複数のタイミングエラー推測部37a,37b,37c,37dを備えた信号処理装置81を示している。この信号処理装置81は、より具体的に示したもので、これら複数のタイミングエラー推測部37a,37b,37c,37dに共通の配線を設けて、当該配線によりクロック信号CKを各タイミングエラー推測部37a,37b,37c,37dに供給し得る構成としてもよい。
【０１１１】
なお、上述した全ての実施の形態においては、タイミングエラー推測部7,37,37a,37b,37c,37dや、クロック信号制御部17、信号統合判定部60,65、論理和回路（信号統合判定部）75a,75b,75c,75d、第1遅延部46、第2遅延部47、第3遅延部48について、上述したような構成とした場合について述べたが、本発明はこれに限らず、その他種々のトランジスタや、論理回路等を組み合わせた種々のタイミングエラー推測部や、クロック信号制御部、信号統合判定部、第1遅延部、第2遅延部、第3遅延部を適用してもよい。
【０１１２】
なお、上述した実施の形態においては、送り側および受け側のフリップフロップ間に1つのチェックポイントを設け、当該チェックポイントにタイミングエラー推測部を設けた信号処理装置について述べたが、本発明はこれに限らず、例えば送り側および受け側のフリップフロップ間に複数のチェックポイントを設け、これらチェックポイントにそれぞれタイミングエラー推測部を設けた信号処理装置としてもよい。このような信号処理装置では、図１１Ａに示した信号統合判定部60や、図１１Ｂに示した信号統合判定部65を利用して、送り側および受け側のフリップフロップ間の各タイミングエラー推測部から得られた推測タイミングエラー信号を基に、1つの推測タイミングエラー信号STEを生成し得、上述した実施の形態と同様の効果を得ることができる。
【符号の説明】
【０１１３】
1,31,56,71  信号処理装置
4,34,54  乗算器（論理回路）
7,37,37a,37b,37c,37d  タイミングエラー推測部
8  遷移検出部
9，39  エラー判断部
17  クロック信号制御部
40,45  検出用クロック信号生成回路
46  第1遅延部（遅延部）
47  第2遅延部（遅延部）
48  第3遅延部（遅延部）
58,59  論理回路
60,65  信号統合判定部
75a,75b,75c  論理和回路（信号統合判定部）
【図１】
2014132843.tif 000003
【図２】
2014132843.tif 000004
【図３】
2014132843.tif 000005
【図４】
2014132843.tif 000006
【図５】
2014132843.tif 000007
【図６】
2014132843.tif 000008
【図７】
2014132843.tif 000009
【図８】
2014132843.tif 000010
【図９】
2014132843.tif 000011
【図１０】
2014132843.tif 000012
【図１１】
2014132843.tif 000013
【図１２】
2014132843.tif 000014
【図１３】
2014132843.tif 000015
【国際調査報告】
2014132843.tif 000016
2014132843.tif 000017