(57)【要約】【課題】クロック信号に同期して動作する記憶素子が設けられた半導体集積回路において、タイミングエラーの検出精度を向上させる。【解決手段】遅延部は、互いに異なる２つの遅延時間によりデータ信号を遅延させて第１および第２の遅延信号として出力する。保持部は、所定の取込みタイミングを指示するタイミング信号に同期して前記第１および第２の遅延信号を保持する。セットアップタイム検出部は、所定の開始タイミングから所定の取込みタイミングまでのセットアップタイム側検出期間内に保持された第１および第２の遅延信号の一方が変化したか否かを検出する。ホールドタイム検出部は、所定の取込みタイミングから所定の終了タイミングまでのホールドタイム側検出期間内に保持された第１および第２の遅延信号の他方が変化したか否かを検出する。【選択図】図２
2018078357.tif 000002
【特許請求の範囲】
【請求項１】
互いに異なる２つの遅延時間によりデータ信号を遅延させて第１および第２の遅延信号として出力する遅延部と、
所定の取込みタイミングを指示するタイミング信号に同期して前記第１および第２の遅延信号を保持する保持部と、
所定の開始タイミングから前記所定の取込みタイミングまでのセットアップタイム側検出期間内に前記保持された第１および第２の遅延信号の一方が変化したか否かを検出するセットアップタイム検出部と、
前記所定の取込みタイミングから所定の終了タイミングまでのホールドタイム側検出期間内に前記保持された第１および第２の遅延信号の他方が変化したか否かを検出するホールドタイム検出部と
を具備する半導体集積回路。
【請求項２】
前記セットアップタイム検出部は、前記セットアップタイム側検出期間に対応するセットアップタイム側検出ウィンドウにおいて第１の期待値が前記一方と一致するか否かにより前記一方が変化したか否かを検出し、
前記ホールドタイム検出部は、前記ホールドタイム側検出期間に対応するホールドタイム側検出ウィンドウにおいて前記第１の期待値と異なる第２の期待値が前記他方と一致するか否かにより前記他方が変化したか否かを検出する
請求項１記載の半導体集積回路。
【請求項３】
前記遅延部は、
前記第１の遅延時間により前記データ信号を遅延させて前記第１の遅延信号として出力する第１の遅延部と、
前記第２の遅延時間により前記データ信号を遅延させて前記第２の遅延信号として出力する第２の遅延部と
を備える請求項２記載の半導体集積回路。
【請求項４】
前記第１の比較値と前記一方との不一致の回数が所定回数を超えた場合にはセットアップタイムエラーを出力するセットアップタイムエラー出力部と、
前記第２の比較値と前記一方との不一致の回数が所定回数を超えた場合にはホールドタイムエラーを出力するホールドタイムエラー出力部と
をさらに具備する
請求項２記載の半導体集積回路。
【請求項５】
前記第１の比較値と前記一方との不一致の回数が所定回数を超えた場合にはセットアップタイム側アラームを出力するセットアップタイム側アラーム出力部と、
前記第２の比較値と前記一方との不一致の回数が所定回数を超えた場合にはホールドタイム側アラームを出力するホールドタイム側アラーム出力部と
をさらに具備する
請求項２記載の半導体集積回路。
【請求項６】
第１の範囲内の時間を前記第１の遅延時間として選択して前記遅延部に設定する処理と前記第１の範囲と異なる第２の範囲内の時間を前記第２の遅延時間として選択して前記遅延部に設定する処理とを順に行う制御部をさらに具備する
請求項２記載の半導体集積回路。
【請求項７】
前記第１の比較値と前記一方との不一致が検出された前記第１の遅延時間が第１の設定時間より短い場合にはセットアップタイムエラーを出力するセットアップタイムエラー出力部と、
前記第２の比較値と前記一方との不一致が検出された前記第２の遅延時間が第２の設定時間より長い場合にはホールドタイムエラーを出力するホールドタイムエラー出力部と
をさらに具備する
請求項６記載の半導体集積回路。
【請求項８】
前記第１の比較値と前記一方との不一致が検出された前記第１の遅延時間が第１の設定時間より短い場合にはセットアップタイム側アラームを出力するセットアップタイム側アラーム出力部と、
前記第２の比較値と前記一方との不一致が検出された前記第２の遅延時間が第２の設定時間より長い場合にはホールドタイム側アラームを出力するホールドタイム側アラーム出力部と
をさらに具備する
請求項６記載の半導体集積回路。
【請求項９】
前記第１および第２の遅延信号のいずれかの変化が検出された場合には当該検出結果に基づいて電源および前記タイミング信号のどちらに異常が生じたかを判定する異常判定部をさらに具備する
請求項１記載の半導体集積回路。
【請求項１０】
前記異常判定部は、前記第１および第２の遅延時間に基づいて電源電圧の上昇による電源異常と前記電源電圧の降下による電源異常とのどちらが生じたかを判断する
請求項９記載の半導体集積回路。
【請求項１１】
前記異常判定部は、前記第１および第２の遅延時間に基づいて前記タイミング信号の速度上昇による異常と前記タイミング信号の速度低下による異常とのどちらが生じたかを判断する
請求項９記載の半導体集積回路。
【請求項１２】
前記第１および第２の遅延信号のいずれかの変化が検出された場合には電源電圧が所定の範囲内であるか否かにより電源の異常が発生したか否かを検出する電源異常検出部をさらに具備する
請求項１記載の半導体集積回路。
【請求項１３】
前記電源異常検出部は、前記第１および第２の遅延信号のいずれかの変化が検出された場合には前記電源電圧が前記所定の範囲内であるか否かを判定し、前記電源電圧が前記所定の範囲内でないと判定した回数が所定回数を超えるか否かにより前記電源の異常が発生したか否かを検出する
請求項１２記載の半導体集積回路。
【請求項１４】
互いに異なる２つの遅延時間によりデータ信号を遅延させて第１および第２の遅延信号として出力する遅延手順と、
所定の取込みタイミングを指示するタイミング信号に同期して前記第１および第２の遅延信号を保持する保持手順と、
所定の開始タイミングから前記所定の取込みタイミングまでのセットアップタイム側検出期間内に前記保持された第１および第２の遅延信号の一方が変化したか否かを検出するセットアップタイム検出手順と、
前記所定の取込みタイミングから所定の終了タイミングまでのホールドタイム側検出期間内に前記保持された第１および第２の遅延信号の他方が変化したか否かを検出するホールドタイム検出手順と
を具備する半導体集積回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、半導体集積回路、および、半導体集積回路の制御方法に関する。詳しくは、クロック信号に同期して動作する記憶素子が設けられた半導体集積回路、および、半導体集積回路の制御方法に関する。
【背景技術】
【０００２】
従来より、半導体集積回路においては、その内部のフリップフロップなどの記憶素子がデータ信号を正確に取り込むことができるように、セットアップタイムやホールドタイムなどのタイミング制約に違反しないことが要求される。ここで、セットアップタイムは、クロック信号のエッジタイミング前においてデータ信号の遷移が禁止される期間であり、ホールドタイムは、そのエッジタイミング後においてデータ信号の遷移が禁止される期間である。これらのセットアップタイムまたはホールドタイム内にデータ信号が遷移すると、記憶素子がデータ信号を正常に取り込むことができず、セットアップタイムエラーまたはホールドタイムエラーが生じる。
【０００３】
そこで、セットアップタイムエラー等の発生を抑制するために、データ信号を一系統のクリティカルパスにより遅延させ、遅延前のデータ信号と比較することによりタイミングエラーの有無を検出する半導体集積回路が提案されている（例えば、特許文献１参照。）。このクリティカルパスの遅延時間には、セットアップタイムエラーが生じやすい遅延時間や、ホールドタイムエラーが生じやすい遅延時間を設定することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１２３８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の従来技術では、半導体集積回路は、セットアップタイムエラーが生じやすい遅延時間とホールドタイムエラーが生じやすい遅延時間との一方の設定により、セットアップタイムエラーとホールドタイムエラーとの一方を優先して検出することができる。しかしながら、この半導体集積回路では、セットアップタイムエラーとホールドタイムエラーとの一方のみを優先するため、優先していない方のタイミングエラーが生じた際に、その検出に失敗するおそれがある。例えば、電源電圧が非常に高いなどのホールドタイムエラーの方が生じやすい環境下で、セットアップタイムエラーを優先して検出すると、ホールドタイムエラーの検出に失敗して検出精度が低下してしまう。このように、上述の半導体集積回路では、タイミングエラーの検出精度が低下するという問題がある。
【０００６】
本技術はこのような状況に鑑みて生み出されたものであり、クロック信号に同期して動作する記憶素子が設けられた半導体集積回路において、タイミングエラーの検出精度を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、互いに異なる２つの遅延時間によりデータ信号を遅延させて第１および第２の遅延信号として出力する遅延部と、所定の取込みタイミングを指示するタイミング信号に同期して上記第１および第２の遅延信号を保持する保持部と、所定の開始タイミングから上記所定の取込みタイミングまでのセットアップタイム側検出期間内に上記保持された第１および第２の遅延信号の一方が変化したか否かを検出するセットアップタイム検出部と、上記所定の取込みタイミングから所定の終了タイミングまでのホールドタイム側検出期間内に上記保持された第１および第２の遅延信号の他方が変化したか否かを検出するホールドタイム検出部とを具備する半導体集積回路、および、その制御方法である。これにより、セットアップタイム側検出期間またはホールドタイム側検出期間内に遅延信号が変化したか否かが検出されるという作用をもたらす。
【０００８】
また、この第１の側面において、上記セットアップタイム検出部は、上記セットアップタイム側検出期間に対応するセットアップタイム側検出ウィンドウにおいて第１の期待値が上記一方と一致するか否かにより上記一方が変化したか否かを検出し、上記ホールドタイム検出部は、上記ホールドタイム側検出期間に対応するホールドタイム側検出ウィンドウにおいて上記第１の期待値と異なる第２の期待値が上記他方と一致するか否かにより上記他方が変化したか否かを検出してもよい。これにより、セットアップタイム側検出ウィンドウまたはホールドタイム側検出ウィンドウ内において遅延信号と期待値とが一致するか否かが検出されるという作用をもたらす。
【０００９】
また、この第１の側面において、前記遅延部は、前記第１の遅延時間により前記データ信号を遅延させて前記第１の遅延信号として出力する第１の遅延部と、前記第２の遅延時間により前記データ信号を遅延させて前記第２の遅延信号として出力する第２の遅延部とを備えてもよい。これにより、第１および第２の遅延信号が並列に出力されるという作用をもたらす。
【００１０】
また、この第１の側面において、上記第１の比較値と上記一方との不一致の回数が所定回数を超えた場合にはセットアップタイムエラーを出力するセットアップタイムエラー出力部と、上記第２の比較値と上記一方との不一致の回数が所定回数を超えた場合にはホールドタイムエラーを出力するホールドタイムエラー出力部とをさらに具備してもよい。これにより、セットアップタイムエラーとホールドタイムエラーとが出力されるという作用をもたらす。
【００１１】
また、この第１の側面において、上記第１の比較値と上記一方との不一致の回数が所定回数を超えた場合にはセットアップタイム側アラームを出力するセットアップタイム側アラーム出力部と、上記第２の比較値と上記一方との不一致の回数が所定回数を超えた場合にはホールドタイム側アラームを出力するホールドタイム側アラーム出力部とをさらに具備してもよい。これにより、セットアップタイム側アラームとホールドタイム側アラームとが出力されるという作用をもたらす。
【００１２】
また、この第１の側面において、第１の範囲内の時間を前記第１の遅延時間として選択して前記遅延部に設定する処理と前記第１の範囲と異なる第２の範囲内の時間を前記第２の遅延時間として選択して前記遅延部に設定する処理とを順に行う制御部をさらに具備してもよい。これにより、第１の範囲内の時間が第１の遅延時間として設定され、第２の範囲内の時間が第２の遅延時間として順に設定されるという作用をもたらす。
【００１３】
また、この第１の側面において、上記第１の比較値と上記一方との不一致が検出された上記第１の遅延時間が第１の設定時間より短い場合にはセットアップタイムエラーを出力するセットアップタイムエラー出力部と、上記第２の比較値と上記一方との不一致が検出された上記第２の遅延時間が第２の設定時間より長い場合にはホールドタイムエラーを出力するホールドタイムエラー出力部とをさらに具備してもよい。これにより、セットアップタイムエラーとホールドタイムエラーとが出力されるという作用をもたらす。
【００１４】
また、この第１の側面において、上記第１の比較値と上記一方との不一致が検出された上記第１の遅延時間が第１の設定時間より短い場合にはセットアップタイム側アラームを出力するセットアップタイム側アラーム出力部と、上記第２の比較値と上記一方との不一致が検出された上記第２の遅延時間が第２の設定時間より長い場合にはホールドタイム側アラームを出力するホールドタイム側アラーム出力部とをさらに具備してもよい。これにより、セットアップタイム側アラームとホールドタイム側アラームとが出力されるという作用をもたらす。
【００１５】
また、この第１の側面において、上記第１および第２の遅延信号のいずれかの変化が検出された場合には当該検出結果に基づいて電源および上記タイミング信号のどちらに異常が生じたかを判定する異常判定部をさらに具備してもよい。これにより、電源および上記タイミング信号のどちらに異常が生じたかが判定されるという作用をもたらす。
【００１６】
また、この第１の側面において、前記異常判定部は、前記第１および第２の遅延時間に基づいて電源電圧の上昇による電源異常と前記電源電圧の降下による電源異常とのどちらが生じたかを判断してもよい。これにより、電源電圧の上昇による電源異常と電源電圧の降下による電源異常とのどちらが生じたかが判断されるという作用をもたらす。
【００１７】
また、この第１の側面において、前記異常判定部は、前記第１および第２の遅延時間に基づいて前記タイミング信号の速度上昇による異常と前記タイミング信号の速度低下による異常とのどちらが生じたかを判断してもよい。これにより、タイミング信号の速度上昇による異常とタイミング信号の速度低下による異常とのどちらが生じたかが判断されるという作用をもたらす。
【００１８】
また、この第１の側面において、上記第１および第２の遅延信号のいずれかの変化が検出された場合には電源電圧が所定の範囲内であるか否かにより電源の異常が発生したか否かを検出する電源異常検出部をさらに具備してもよい。これにより、電源の異常が発生したか否かが検出されるという作用をもたらす。
【００１９】
また、この第１の側面において、上記電源異常検出部は、上記第１および第２の遅延信号のいずれかの変化が検出された場合には上記電源電圧が上記所定の範囲内であるか否かを判定し、上記電源電圧が上記所定の範囲内でないと判定した回数が所定回数を超えるか否かにより上記電源の異常が発生したか否かを検出してもよい。これにより、電源電圧が上記所定の範囲内でないと判定した回数が所定回数を超えるか否かにより上記電源の異常が発生したか否かが検出されるという作用をもたらす。
【発明の効果】
【００２０】
本技術によれば、クロック信号に同期して動作する記憶素子が設けられた半導体集積回路において、タイミングエラーの検出精度を向上させることができるという優れた効果を奏し得る。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００２１】
【図１】本技術の第１の実施の形態における半導体集積回路の一構成例を示すブロック図である。
【図２】本技術の第１の実施の形態における異常検出部の一構成例を示すブロック図である。
【図３】本技術の第１の実施の形態におけるクリティカルパスの一構成例を示す回路図である。
【図４】本技術の第１の実施の形態におけるセットアップタイム側不一致検出部およびホールドタイム側不一致検出部の一構成例を示す回路図である。
【図５】本技術の第１の実施の形態におけるエラー出力部の一構成例を示す回路図である。
【図６】本技術の第１の実施の形態における遅延前後のデータ信号の遷移の一例を示すタイミングチャートである。
【図７】本技術の第１の実施の形態における異常検出部の動作の一例を示すフローチャートである。
【図８】本技術の第１の実施の形態におけるエラー検出処理の一例を示すフローチャートである。
【図９】本技術の第２の実施の形態における異常検出部の一構成例を示すブロック図である。
【図１０】本技術の第２の実施の形態における可変クリティカルパスの一構成例を示す回路図である。
【図１１】本技術の第２の実施の形態におけるアラーム出力部の一構成例を示すブロック図である。
【図１２】本技術の第２の実施の形態における異常検出部の動作の一例を示すフローチャートである。
【図１３】本技術の第２の実施の形態におけるアラーム処理の一例を示すフローチャートである。
【図１４】本技術の第３の実施の形態におけるアラーム出力部の一構成例を示すブロック図である。
【図１５】本技術の第３の実施の形態におけるアラーム種別判定部の動作の一例を示す図である。
【図１６】本技術の第３の実施の形態の変形例におけるアラーム処理の一例を示すフローチャートである。
【図１７】本技術の第３の実施の形態の変形例におけるアラーム種別判定部の動作の一例を示す図である。
【図１８】本技術の第４の実施の形態における半導体集積回路の一構成例を示すブロック図である。
【図１９】本技術の第４の実施の形態における異常検出部の一構成例を示すブロック図である。
【図２０】本技術の第４の実施の形態における電源異常検出部の一構成例を示すブロック図である。
【図２１】本技術の第４の実施の形態における異常処理部の動作の一例を示す図である。
【図２２】本技術の第４の実施の形態における異常検出部の動作の一例を示すフローチャートである。
【図２３】本技術の第４の実施の形態における電源異常検出処理の一例を示すフローチャートである。
【図２４】本技術の第４の実施の形態の変形例における電源異常検出部の一構成例を示すブロック図である。
【発明を実施するための形態】
【００２２】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（セットアップタイムエラーおよびホールドタイムエラーを検出する例）
２．第２の実施の形態（遅延時間を可変してセットアップタイムエラーおよびホールドタイムエラーを検出する例）
３．第３の実施の形態（セットアップタイムエラーおよびホールドタイムエラーを検出して異常の種類を判定する例）
４．第４の実施の形態（セットアップタイムエラーおよびホールドタイムエラーを検出し、電源異常を検出する例）
【００２３】
＜１．第１の実施の形態＞
［半導体集積回路の構成例］
図１は、本技術の実施の形態における半導体集積回路１００の一構成例を示すブロック図である。この半導体集積回路１００は、クロック供給部１１０、異常検出部２００、論理回路１２０および出力マスク回路１３０を備える。半導体集積回路１００としては、例えば、車載機器、医療機器や撮像装置に搭載されるＬＳＩ（Large-Scale Integration）が想定される。
【００２４】
クロック供給部１１０は、所定の周波数のクロック信号ＣＬＫを供給するものである。このクロック信号ＣＬＫのエッジ（例えば、立上りエッジ）は、フリップフロップやレジスタなどの記憶素子がデータ信号を取り込むタイミングを示す。クロック供給部１１０は、例えば、水晶発振器や位相同期回路により、クロック信号ＣＬＫを生成し、そのクロック信号ＣＬＫを異常検出部２００および論理回路１２０に信号線１１９を介して供給する。なお、クロック供給部１１０は、特許請求の範囲に記載のタイミング信号供給部の一例である。
【００２５】
異常検出部２００は、論理回路１２０を監視し、その論理回路１２０におけるタイミングエラーの有無を検出するものである。この異常検出部２００は、タイミングエラーの検出結果を信号線２０９を介して出力マスク回路１３０と半導体集積回路１００の外部の機器（表示装置など）とに供給する。
【００２６】
論理回路１２０は、クロック信号ＣＬＫに同期して所定の処理を実行するものである。この論理回路１２０においては、例えば、画像データの撮像や画像処理が実行される。論理回路１２０は、処理結果を示す出力データを出力マスク回路１３０に信号線１２９を介して出力する。
【００２７】
出力マスク回路１３０は、タイミングエラーが発生した際に出力データをマスクするものである。この出力マスク回路１３０は、タイミングエラーが発生していない場合には出力データを外部の機器に出力する。一方、タイミングエラーが発生した場合に出力マスク回路１３０は、出力データの出力を停止（言い換えれば、マスク）する。
【００２８】
なお、クロック供給部１１０、異常検出部２００、論理回路１２０および出力マスク回路１３０を１つの半導体集積回路に配置しているが、これらを複数の回路や機器に分散して配置してもよい。例えば、半導体集積回路１００の外部に、クロック供給部１１０を配置してもよい。
【００２９】
また、異常検出部２００を１つのみ設けているが、監視対象の論理回路１２０が２つ以上ある場合には、論理回路１２０ごとに異常検出部２００を設けてもよい。複数の個所に異常検出部２００を配置することにより、半導体集積回路１００内の状況把握の網羅性を向上させることができる。
【００３０】
［異常検出部の構成例］
図２は、本技術の第１の実施の形態における異常検出部２００の一構成例を示すブロック図である。この異常検出部２００は、制御部２１０と、フリップフロップ２２１、２２２、２４１および２４２と、セットアップタイム側クリティカルパス２３１と、ホールドタイム側クリティカルパス２３３とを備える。また、異常検出部２００は、セットアップタイム側不一致検出部２５０、ホールドタイム側不一致検出部２６０およびエラー出力部２７０を備える。
【００３１】
制御部２１０は、異常検出部２００全体を制御するものである。この制御部２１０は、１ビットのデータ信号ＤＡＴＡｉｎを生成し、フリップフロップ２２１および２２２に供給する。
【００３２】
また、制御部２１０は、期待値Ｃｓおよびイネーブル信号ＥＮｓを生成してセットアップタイム側不一致検出部２５０に供給する。ここで、期待値Ｃｓは、データ信号ＤＡＴＡｉｎをセットアップタイム側クリティカルパス２３１により遅延させた遅延信号ＤＡＴＡｓと比較するための値である。また、イネーブル信号ＥＮｓは、期待値Ｃｓと遅延信号ＤＡＴＡｓとを比較する動作を有効にするか否かを示す信号である。
【００３３】
また、制御部２１０は、期待値Ｃｈおよびイネーブル信号ＥＮｈを生成してホールドタイム側不一致検出部２６０に供給する。ここで、期待値Ｃｈは、データ信号ＤＡＴＡｉｎをホールドタイム側クリティカルパス２３３により遅延させた遅延信号ＤＡＴＡｈと比較するための値である。また、イネーブル信号ＥＮｈは、期待値Ｃｈと遅延信号ＤＡＴＡｈとを比較する動作を有効にするか否かを示す信号である。
【００３４】
フリップフロップ２２１は、データ信号ＤＡＴＡｉｎをクロック信号ＣＬＫに同期して保持するものである。このフリップフロップ２２１は、保持したデータ信号ＤＡＴＡｉｎをデータ信号ＤＡＴＡｂとしてセットアップタイム側クリティカルパス２３１に供給する。
【００３５】
フリップフロップ２２２は、データ信号ＤＡＴＡｉｎをクロック信号ＣＬＫに同期して保持するものである。このフリップフロップ２２２は、保持したデータ信号ＤＡＴＡｉｎをホールドタイム側クリティカルパス２３３に供給する。
【００３６】
セットアップタイム側クリティカルパス２３１は、論理回路１２０内の２つの記憶素子間で生じる遅延時間に亘って、データ信号ＤＡＴＡｂを遅延させるものである。この遅延時間には、論理回路１２０内の記憶素子でセットアップタイムエラーが生じる時間に略一致する時間が設定される。例えば、Ｎ（Ｎは実数）ナノ秒（ｎｓ）以上に亘って遅延した場合にセットアップタイムエラーが生じる場合には、Ｎに所定のマージンを加えた遅延時間が設定される。セットアップタイム側クリティカルパス２３１は、遅延させたデータ信号ＤＡＴＡｉｎを遅延信号ＤＡＴＡｃとしてフリップフロップ２４１に出力する。
【００３７】
ホールドタイム側クリティカルパス２３３は、論理回路１２０内の２つの記憶素子間で生じる遅延時間に亘って、データ信号ＤＡＴＡｉｎを遅延させるものである。この遅延時間には、論理回路１２０内の記憶素子でホールドタイムエラーが生じる時間に略一致する時間が設定される。例えば、Ｍ（Ｍは実数）ナノ秒（ｎｓ）以下に亘って遅延した場合にホールドタイムエラーが生じる場合には、Ｍから所定のマージンを減じた遅延時間が設定される。一般に、セットアップタイムが生じる遅延時間は、ホールドタイムが生じる遅延時間と異なるため、ホールドタイム側クリティカルパス２３３には、セットアップタイム側クリティカルパス２３１とは異なる遅延時間が設定される。ホールドタイム側クリティカルパス２３３は、遅延させたデータ信号ＤＡＴＡｉｎを遅延信号ＤＡＴＡｈとしてフリップフロップ２４２に出力する。
【００３８】
なお、セットアップタイム側クリティカルパス２３１およびホールドタイム側クリティカルパス２３３からなる回路は、特許請求の範囲に記載の遅延部の一例である。また、セットアップタイム側クリティカルパス２３１は、特許請求の範囲に記載の第１の遅延部の一例であり、ホールドタイム側クリティカルパス２３３は、特許請求の範囲に記載の第２の遅延部の一例である。
【００３９】
フリップフロップ２４１は、遅延信号ＤＡＴＡｃをクロック信号ＣＬＫに同期して保持するものである。このフリップフロップ２４１は、保持した信号を遅延信号ＤＡＴＡｓとしてセットアップタイム側不一致検出部２５０に供給する。
【００４０】
フリップフロップ２４２は、遅延信号ＤＡＴＡｈをクロック信号ＣＬＫに同期して保持するものである。このフリップフロップ２４２は、保持した遅延信号ＤＡＴＡｈをホールドタイム側不一致検出部２６０に供給する。
【００４１】
なお、フリップフロップ２４１および２４２からなる回路は、特許請求の範囲に記載の保持部の一例である。
【００４２】
セットアップタイム側不一致検出部２５０は、セットアップタイム内に遅延信号ＤＡＴＡｓが変化した（すなわち、セットアップエラーが生じた）か否かを検出するものである。このセットアップタイム側不一致検出部２５０は、イネーブル信号ＥＮｓにイネーブルが設定されている検出ウィンドウ内において、遅延信号ＤＡＴＡｓと期待値Ｃｓとを比較し、それらが一致するか否かを検出する。期待値Ｃｓおよび検出ウィンドウの設定方法については、後述する。遅延信号ＤＡＴＡｓと期待値Ｃｓとが不一致である場合には、セットアップタイムエラーが生じたおそれがあると判断される。セットアップタイム側不一致検出部２５０は、比較結果ＣＯＭＰｓをエラー出力部２７０に供給する。なお、セットアップタイム側不一致検出部２５０は、特許請求の範囲に記載のセットアップタイム検出部の一例である。
【００４３】
ホールドタイム側不一致検出部２６０は、ホールドタイム内に遅延信号ＤＡＴＡｈが変化した（すなわち、ホールドタイムエラーが生じた）か否かを検出するものである。このホールドタイム側不一致検出部２６０は、イネーブル信号ＥＮｈにイネーブルが設定されている検出ウィンドウ内において、遅延信号ＤＡＴＡｈと期待値Ｃｈとを比較し、それらが一致するか否かを検出する。期待値Ｃｈおよび検出ウィンドウの設定方法については、後述する。遅延信号ＤＡＴＡｈと期待値Ｃｈとが不一致である場合には、ホールドタイムエラーが生じたおそれがあると判断される。ホールドタイム側不一致検出部２６０は、比較結果ＣＯＭＰｈをエラー出力部２７０に供給する。なお、ホールドタイム側不一致検出部２６０は、特許請求の範囲に記載のホールドタイム検出部の一例である。
【００４４】
エラー出力部２７０は、タイミングエラーが生じたか否かを示すエラー検出結果を出力するものである。このエラー出力部２７０は、セットアップタイム側不一致検出部２５０で不一致が検出された回数と、ホールドタイム側不一致検出部２６０で不一致が検出された回数とのそれぞれを計数する。そして、エラー出力部２７０は、いずれかの計数値が設定回数を超えた場合にタイミングエラーが生じたことを検出する。エラー出力部２７０は、エラー検出結果を生成して外部に出力する。このエラー検出結果には、例えば、タイミングエラーが生じた場合に「１」が設定され、エラーが無い場合に「０」が設定される。
【００４５】
ここで、クリティカルパスを一系統しか設けない比較例を想定する。この比較例では、そのクリティカルパスによりセットアップタイムエラーおよびホールドタイムエラーの一方を優先して検出することができるが、優先していない方のエラーが生じた際に、その検出に失敗するおそれがある。例えば、電源電圧が高い場合にはホールドタイムエラーが生じやすく、電源電圧が低い場合にはセットアップタイムエラーが生じやすいものとする。このようなＬＳＩにおいて、電源電圧が高いときに、セットアップタイムエラーを優先して検出すると、ホールドタイムエラーの検出に失敗して検出精度が低下してしまう。
【００４６】
これに対して、異常検出部２００は、セットアップタイム側クリティカルパス２３１およびホールドタイム側クリティカルパス２３３の両方を備えるため、セットアップタイムエラーとホールドタイムエラーとの両方の有無を検出することができる。これにより、異常検出部２００は、電源電圧の高い場合と低い場合とのいずれにおいても高い精度でタイミングエラーを検出することができる。
【００４７】
なお、異常検出部２００は、いずれかの計数値が設定回数を超えた場合にタイミングエラーを出力しているが、後述するように、マージンを大きくしてエラーの代わりにアラームを出力してもよい。ここで、アラームは、タイミングエラーが生じてはいないが、タイミングエラーが生じうることを警告する信号を意味する。
【００４８】
［クリティカルパスの構成例］
図３は、本技術の第１の実施の形態におけるクリティカルパスの一構成例を示す回路図である。同図におけるａは、セットアップタイム側クリティカルパス２３１の一構成例を示す回路図であり、同図におけるｂは、ホールドタイム側クリティカルパス２３３の一構成例を示す回路図である。
【００４９】
セットアップタイム側クリティカルパス２３１は、所定の段数の遅延素子２３２を備える。また、ホールドタイム側クリティカルパス２３３は、所定の段数の遅延素子２３４を備える。ただし、これらのクリティカルパスの遅延素子の段数は異なる。例えば、セットアップタイム側クリティカルパス２３１の段数は、ホールドタイム側クリティカルパス２３３よりも多い。このため、セットアップタイム側クリティカルパス２３１のＩＲドロップは、ホールドタイム側よりも大きくなる。
【００５０】
図４は、本技術の第１の実施の形態におけるセットアップタイム側不一致検出部２５０およびホールドタイム側不一致検出部２６０の一構成例を示す回路図である。同図におけるａは、セットアップタイム側不一致検出部２５０の一構成例を示す回路図であり、同図におけるｂは、ホールドタイム側不一致検出部２６０の一構成例を示す回路図である。
【００５１】
セットアップタイム側不一致検出部２５０は、ＥＸ−ＮＯＲ（否定排他的論理和）ゲート２５１、ＡＮＤ（論理積）ゲート２５２、インバータ２５３およびフリップフロップ２５４を備える。ＥＸ−ＮＯＲゲート２５１は、期待値Ｃｓと遅延信号ＤＡＴＡｓとの否定排他的論理和をＡＮＤゲート２５２に出力するものである。ＡＮＤゲート２５２は、ＥＸ−ＮＯＲゲート２５１の出力信号とイネーブル信号ＥＮｓとの論理積をフリップフロップ２５４の入力端子Ｄに出力するものである。インバータ２５３は、イネーブル信号ＥＮｓを反転させてフリップフロップ２５４のクロック端子ＣＫに出力するものである。フリップフロップ２５４は、インバータ２５３からの出力信号に同期して、ＡＮＤゲート２５２からの論理積を保持し、比較結果ＣＯＭＰｓとして出力するものである。
【００５２】
ホールドタイム側不一致検出部２６０は、ＥＸ−ＮＯＲゲート２６１、ＡＮＤゲート２６２、インバータ２６３およびフリップフロップ２６４を備える。ＥＸ−ＮＯＲゲート２６１は、期待値Ｃｈと遅延信号ＤＡＴＡｈとの否定排他的論理和をＡＮＤゲート２６２に出力するものである。ＡＮＤゲート２６２は、ＥＸ−ＮＯＲゲート２６１の出力信号とイネーブル信号ＥＮｈとの論理積をフリップフロップ２６４の入力端子Ｄに出力するものである。インバータ２６３は、イネーブル信号ＥＮｈを反転させてフリップフロップ２６４のクロック端子ＣＫに出力するものである。フリップフロップ２６４は、インバータ２６３からの出力信号に同期して、ＡＮＤゲート２６２からの論理積を保持し、比較結果ＣＯＭＰｈとして出力するものである。
【００５３】
［エラー出力部の構成例］
図５は、本技術の第１の実施の形態におけるエラー出力部２７０の一構成例を示す回路図である。このエラー出力部２７０は、セットアップタイムエラー出力部２７１、ホールドタイムエラー出力部２７４およびＯＲ（論理和）ゲート２７７を備える。また、セットアップタイムエラー出力部２７１は、カウンタ２７２および設定回数比較部２７３を備える。ホールドタイムエラー出力部２７４は、カウンタ２７５および設定回数比較部２７６を備える。
【００５４】
カウンタ２７２は、セットアップタイム側不一致検出部２５０で連続して不一致が検出された回数を計数するものである。このカウンタ２７２は、例えば、比較結果ＣＯＭＰｓがローレベルであれば、計数値ＣＮＴｓをクロック信号ＣＬＫに同期して初期化する。一方、比較結果ＣＯＭＰｓがハイレベルであれば、カウンタ２７２は、クロック信号ＣＬＫに同期して計数値ＣＮＴｓをインクリメントする。カウンタ２７２は、計数値ＣＮＴｓを設定回数比較部２７３に出力する。
【００５５】
設定回数比較部２７３は、連続して不一致になった回数（計数値ＣＮＴｓ）と所定の設定回数とを比較して、その計数値ＣＮＴｓが設定回数を超えたか否かを判断するものである。計数値ＣＮＴｓが設定回数を超えた場合には、セットアップタイムエラーが生じたと判断される。設定回数比較部２７３は、計数値ＣＮＴｓが設定回数を超えた（すなわち、セットアップタイムエラーが生じた）か否かを示すセットアップタイムエラー検出結果をＯＲゲート２７７に供給する。
【００５６】
カウンタ２７５は、ホールドタイム側不一致検出部２６０で連続して不一致が検出された回数を計数するものである。このカウンタ２７５は、計数値ＣＮＴｈを設定回数比較部２７６に出力する。
【００５７】
設定回数比較部２７６は、連続して不一致になった回数（計数値ＣＮＴｈ）と所定の設定回数とを比較して、その計数値ＣＮＴｈが設定回数を超えたか否かを判断するものである。この設定回数は、制御部２１０により設定される。計数値ＣＮＴｈが設定回数を超えた場合には、ホールドタイムエラーが生じたと判断される。設定回数比較部２７６は、計数値ＣＮＴｈが設定回数を超えた（すなわち、ホールドタイムエラーが生じた）か否かを示すホールドタイムエラー検出結果をＯＲゲート２７７に供給する。なお、設定回数比較部２７３および２７６のそれぞれに設定される設定回数は、同一の値であってもよいし、異なる値であってもよい。
【００５８】
ＯＲゲート２７７は、セットアップタイムエラー検出結果とホールドタイムエラー検出結果との論理和をエラー検出結果として出力マスク回路１３０に出力するものである。
【００５９】
図６は、本技術の第１の実施の形態における遅延前後のデータ信号の遷移の一例を示すタイミングチャートである。制御部２１０は、データ信号ＤＡＴＡｉｎを一定期間が経過するたびに反転させる。この期間は、クロック信号ＣＬＫの周期より長いものとする。
【００６０】
クリティカルパスの前段のフリップフロップ２２１は、クロック信号ＣＬＫに同期してデータ信号ＤＡＴＡｉｎを保持し、データ信号ＤＡＴＡｂとして出力する。そのデータ信号ＤＡＴＡｂをセットアップタイム側クリティカルパス２３１が遅延させて遅延信号ＤＡＴＡｃとして出力する。この遅延信号ＤＡＴＡｃの遅延時間は、一定とは限らず、温度や電源電圧などの条件により変動する。
【００６１】
クリティカルパスの後段のフリップフロップ２４１は、クロック信号ＣＬＫに同期して遅延信号ＤＡＴＡｃを保持し、遅延信号ＤＡＴＡｓとして出力する。
【００６２】
遅延信号ＤＡＴＡｓのうち遅延信号ＤＡＴＡｓ１では、クロック信号ＣＬＫが立ち上がったタイミングＴ２より前のセットアップタイムＴｓや、タイミングＴ１より後のホールドタイムＴｈにおいてデータが変化していない。すなわち、セットアップタイムエラーもホールドタイムエラーも生じていない。なお、セットアップタイムＴｓにマージンを加えた期間は、特許請求の範囲に記載のセットアップタイム側検出期間の一例であり、ホールドタイムＴｈにマージンを加えた期間は、特許請求の範囲に記載のホールドタイム側検出期間の一例である。
【００６３】
一方、遅延信号ＤＡＴＡｓのうち遅延信号ＤＡＴＡｓ２は、セットアップタイムＴｓ内において、データが変化している。このため、セットアップタイムエラーが生じる。また、遅延信号ＤＡＴＡｈ１は、ホールドタイムＴｈ内において、データが変化している。このため、ホールドタイムエラーが生じる。
【００６４】
ここで、タイミングエラーの生じない遅延信号ＤＡＴＡｓ１が立ち上がったタイミングをＴ２とする。そして、タイミングＴ２より前のタイミングＴ１からタイミングＴ２の直前までの期間をホールドタイム側検出ウィンドウＷＩＮｈとする。また、タイミングＴ２からタイミングＴ３までの期間をセットアップタイム側検出ウィンドウＷＩＮｓとする。これらのウィンドウの幅は、例えば、クロック信号ＣＬＫの周期に設定される。
【００６５】
ホールドタイム側検出ウィンドウＷＩＮｈ内においては、ホールドタイムエラーの無い遅延信号ＤＡＴＡｓ１の値は、「０」のままで変化しない。一方、ホールドタイムエラーの生じる遅延信号ＤＡＴＡｈ１の値は、タイミングＴ１で「０」から「１」に変化する。このため、ホールドタイム側検出ウィンドウＷＩＮｈ内において、ホールドタイム側不一致検出部２６０は、期待値「０」と遅延信号ＤＡＴＡｈとが一致するか否かを検出することにより、ホールドタイムエラーの有無を検出することができる。制御部２１０は、ホールドタイム側検出ウィンドウＷＩＮｈの期間に亘ってイネーブル信号ＥＮｈをハイレベルにし、期待値Ｃｈに「０」を設定する。
【００６６】
また、セットアップタイム側検出ウィンドウＷＩＮｓ内においては、セットアップタイムエラーの無い遅延信号ＤＡＴＡｓ１の値は、「１」のままで変化しない。一方、セットアップタイムエラーの生じる遅延信号ＤＡＴＡｓ２の値は、タイミングＴ２以降で「０」である。このため、セットアップタイム側検出ウィンドウＷＩＮｓ内において、セットアップタイム側不一致検出部２５０は、期待値「１」と遅延信号ＤＡＴＡｓとが一致するか否かを検出することにより、セットアップタイムエラーの有無を検出することができる。制御部２１０は、セットアップタイム側検出ウィンドウＷＩＮｓの期間に亘ってイネーブル信号ＥＮｓをハイレベルにし、期待値Ｃｓに「１」を設定する。
【００６７】
また、遅延信号ＤＡＴＡｓ１が立ち下がったタイミングＴ５の前のタイミングＴ４からタイミングＴ５の直前までの期間にホールドタイム側検出ウィンドウが設定される。タイミングＴ５からタイミングＴ６までの期間には、セットアップタイム側検出ウィンドウが設定される。そして、制御部２１０は、ホールドタイム側検出ウィンドウＷＩＮｈの期間に亘ってイネーブル信号ＥＮｈをハイレベルにし、期待値Ｃｈに「１」を設定する。また、制御部２１０は、セットアップタイム側検出ウィンドウＷＩＮｓの期間に亘ってイネーブル信号ＥＮｓをハイレベルにし、期待値Ｃｓに「０」を設定する。
【００６８】
［異常検出部の動作例］
図７は、本技術の第１の実施の形態における異常検出部２００の動作の一例を示すフローチャートである。この動作は、例えば、半導体集積回路１００に電源が投入されたときに開始される。
【００６９】
異常検出部２００は、データ信号ＤＡＴＡｉｎおよびエラー検出結果に初期値（例えば、「０」）を設定する（ステップＳ９０１）。そして、異常検出部２００は、一定期間が経過したか否かを判断する（ステップＳ９０２）。一定期間が経過した場合には（ステップＳ９０２：Ｙｅｓ）、データ信号ＤＡＴＡｉｎを反転する（ステップＳ９０３）。
【００７０】
一定期間が経過していない場合（ステップＳ９０２：Ｎｏ）、または、ステップＳ９０３の後に異常検出部２００は、データ信号ＤＡＴＡｉｎを遅延させて遅延信号ＤＡＴＡｓおよびＤＡＴＡｈを生成する（ステップＳ９０４）。そして、異常検出部２００は、エラーを検出するためのエラー検出処理を実行し（ステップＳ９１０）、ステップＳ９０２以降を繰り返し実行する。
【００７１】
図８は、本技術の第１の実施の形態におけるエラー検出処理の一例を示すフローチャートである。エラー出力部２７０は、期待値Ｃｓと遅延信号ＤＡＴＡｓとの不一致が連続して生じた回数（計数値ＣＮＴｓ）を計数し（ステップＳ９１１）、期待値Ｃｈと遅延信号ＤＡＴＡｈとの不一致が連続して生じた回数（計数値ＣＮＴｈ）を計数する（ステップＳ９１２）。そして、エラー出力部２７０は、計数値ＣＮＴｓが設定回数よりも多いか否かを判断する（ステップＳ９１３）。計数値ＣＮＴｓが設定回数以下の場合に（ステップＳ９１３：Ｎｏ）、エラー出力部２７０は、計数値ＣＮＴｈが設定回数よりも多いか否かを判断する（ステップＳ９１４）。
【００７２】
計数値ＣＮＴｓが設定回数より多い場合（ステップＳ９１３：Ｙｅｓ）、または、計数値ＣＮＴｈが設定回数より多い場合（ステップＳ９１４：Ｙｅｓ）、エラー出力部２７０は、エラー検出結果に「１」を設定して外部に出力する（ステップＳ９１５）。計数値ＣＮＴｓが設定回数以下の場合（ステップＳ９１４：Ｎｏ）、または、ステップＳ９１５の後にエラー出力部２７０は、エラー検出処理を終了する。
【００７３】
このように、本技術の第１の実施の形態によれば、セットアップタイム側不一致検出部２５０が、２つの遅延信号の一方であるＤＡＴＡｓと期待値Ｃｓとが一致するか否かを検出するため、セットアップエラーの有無を検出することができる。また、ホールドタイム側不一致検出部２６０が、２つの遅延信号の他方であるＤＡＴＡｈと期待値Ｃｈとが一致するか否かを検出するため、ホールドタイムエラーの有無を検出することができる。セットアップタイムエラーおよびホールドタイムエラーの両方の有無の検出により、セットアップエラーおよびホールドタイムエラーの一方のみを検出する場合よりもタイミングエラーの検出精度を向上させることができる。
【００７４】
＜２．第２の実施の形態＞
上述の第１の実施の形態では、クリティカルパスの遅延時間を固定にしていたが、ＬＳＩの種別や電源電圧、温度などの条件により、エラーが生じる遅延時間は変動する。そのため、その条件に応じて遅延時間を変更することが望ましい。この第２の実施の形態の異常検出部２００は、ＬＳＩの種別などの条件に応じて、クリティカルパスの遅延時間を変更する点において第１の実施の形態と異なる。
【００７５】
図９は、本技術の第２の実施の形態における異常検出部２００の一構成例を示すブロック図である。この第２の実施の形態の異常検出部２００は、遅延時間設定範囲保持部２１５をさらに備える。また、異常検出部２００は、セットアップタイム側クリティカルパス２３１およびホールドタイム側クリティカルパス２３３の代わりに可変クリティカルパス２３５を備え、フリップフロップ２２２および２４２を備えない。また、異常検出部２００は、エラー出力部２７０の代わりにアラーム出力部２８０を備える。
【００７６】
遅延時間設定範囲保持部２１５は、可変クリティカルパス２３５に設定すべきセットアップタイム側およびホールドタイム側のそれぞれの遅延時間の範囲を、ＬＳＩタイプ等の条件ごとに保持するものである。セットアップタイム側の遅延時間の範囲は、ホールドタイム側の遅延時間の範囲と異なる。例えば、セットアップタイム側の方にホールドタイム側よりも長い遅延時間が設定される。
【００７７】
また、第２の実施の形態の制御部２１０には、ＬＳＩタイプや、電源電圧、温度などの条件が予め保持される。制御部２１０は、その条件に対応する設定範囲を遅延時間設定範囲保持部２１５から読み出し、その設定範囲に基づいて選択信号ＳＥＬを生成する。例えば、設定範囲が「０」乃至「９」である場合には、「０」に対応する選択信号ＳＥＬから、「９」に対応する選択信号ＳＥＬまでが順に生成される。また、選択信号ＳＥＬは、アラーム出力部２８０にも入力される。
【００７８】
可変クリティカルパス２３５は、選択信号ＳＥＬに従って遅延時間を切り替えるものである。この可変クリティカルパス２３５は、遅延信号をフリップフロップ２４１に供給する。フリップフロップ２４１は、保持した信号をセットアップタイム側不一致検出部２５０およびホールドタイム側不一致検出部２６０の両方に出力する。このように、可変クリティカルパス２３５に、セットアップタイム側の遅延時間と、ホールドタイム側の遅延時間とを順に設定することができるため、第１の実施の形態のように、２系統のクリティカルパスを設ける必要がなくなる。
【００７９】
そして、制御部２１０は、セットアップタイム側の遅延時間を設定している間において、イネーブル信号ＥＮｓによりセットアップタイム側不一致検出部２５０のみに不一致を検出させる。また、制御部２１０は、ホールドタイム側の遅延時間を設定している間において、イネーブル信号ＥＮｈによりホールドタイム側不一致検出部２６０のみに不一致を検出させる。
【００８０】
ここで、第２の実施の形態では、エラーの代わりにアラームを出力するため、可変クリティカルパス２３５における遅延時間のマージンは、第１の実施の形態と比較して長めに設定される。
【００８１】
アラーム出力部２８０は、タイミングエラーが生じうることを警告するアラームを出力するものである。このアラーム出力部２８０は、セットアップタイム側不一致検出部２５０で不一致が検出された遅延段数と、ホールドタイム側不一致検出部２６０で不一致が検出された遅延段数とのそれぞれを測定する。そして、アラーム出力部２８０は、いずれかの遅延段数が設定段数を超えた場合にアラームを外部に出力する。
【００８２】
なお、異常検出部２００は、いずれかの遅延段数が設定段数を超えた場合にアラームを出力しているが、マージンを小さくして、第１の実施の形態のようにアラームの代わりにタイミングエラーを出力してもよい。
【００８３】
図１０は、本技術の第２の実施の形態における可変クリティカルパス２３５の一構成例を示す回路図である。この可変クリティカルパス２３５は、所定段数の遅延素子２３６と、セレクタ２３７とを備える。
【００８４】
遅延素子２３６のそれぞれは、後段の遅延素子２３６と、セレクタ２３７とに遅延させた信号を出力する。また、遅延前のデータ信号ＤＡＴＡｉｎは、最初の遅延素子２３６とセレクタ２３７とに入力される。
【００８５】
セレクタ２３７は、選択信号ＳＥＬに従って遅延時間を切り替えるものである。このセレクタ２３７は、選択信号ＳＥＬの示す遅延時間の信号を選択して、フリップフロップ２４１に出力する。
【００８６】
図１１は、本技術の第２の実施の形態におけるアラーム出力部２８０の一構成例を示すブロック図である。このアラーム出力部２８０は、セットアップタイム側アラーム出力部２８１と、ホールドタイム側アラーム出力部２８４と、ＯＲゲート２８７とを備える。セットアップタイム側アラーム出力部２８１は、不一致検出遅延段数測定部２８２と、設定段数及び連続回数比較部２８３とを備える。また、ホールドタイム側アラーム出力部２８４は、不一致検出遅延段数測定部２８５と、設定段数および連続回数比較部２８６とを備える。
【００８７】
不一致検出遅延段数測定部２８２は、セットアップタイム側不一致検出部２５０で不一致が検出された遅延段数を測定するものである。この不一致検出遅延段数測定部２８２は、不一致が生じたときの選択信号ＳＥＬに対応する遅延段数を測定値として設定段数及び連続回数比較部２８３に供給する。
【００８８】
設定段数及び連続回数比較部２８３は、不一致検出遅延段数測定部２８２の測定値と所定の設定段数とを比較し、設定段数より小さな測定値が連続した回数と設定回数とを比較するものである。この設定段数および設定回数は、制御部２１０により設定される。設定段数及び連続回数比較部２８３は、設定回数との比較結果をセットアップタイム側アラームＡＬＭｓとしてＯＲゲート２８７に出力する。例えば、セットアップタイム側アラームＡＬＭｓには、設定段数より小さな測定値が連続した回数が設定回数より多い場合に「１」が設定され、連続した回数が設定回数以下の場合に「０」が設定される。
【００８９】
不一致検出遅延段数測定部２８５は、ホールドタイム側不一致検出部２６０で不一致が検出された遅延段数を測定するものである。この不一致検出遅延段数測定部２８５は、不一致が生じたときの選択信号ＳＥＬに対応する遅延段数を測定値として設定段数及び連続回数比較部２８６に供給する。
【００９０】
設定段数及び連続回数比較部２８６は、不一致検出遅延段数測定部２８５の測定値と所定の設定段数とを比較し、設定段数より大きな測定値が連続した回数と設定回数とを比較するものである。この設定段数には、制御部２１０により、セットアップタイム側と異なる値が設定される。設定段数及び連続回数比較部２８６は、設定回数との比較結果をホールドタイム側アラームＡＬＭｈとしてＯＲゲート２８７に出力する。例えば、ホールドタイム側アラームＡＬＭｈには、設定段数より大きな測定値が連続した回数が設定回数より多い場合に「１」が設定され、連続した回数が設定回数以下の場合に「０」が設定される。
【００９１】
ＯＲゲート２８７は、セットアップタイム側アラームＡＬＭｓおよびホールドタイム側アラームＡＬＭｈの論理和をアラームとして外部に出力するものである。論理和により、セットアップタイム側で不一致が生じた遅延段数が設定段数より少ない場合、または、ホールドタイム側で不一致が生じた遅延段数が設定段数より多い場合にアラームが出力される。
【００９２】
図１２は、本技術の第２の実施の形態における異常検出部２００の動作の一例を示すフローチャートである。この第２の実施の形態の異常検出部２００の動作は、ステップＳ９０１および９１０の代わりに、ステップＳ９０５およびＳ９２０を実行する点において第１の実施の形態と異なる。また、ステップＳ９０６、Ｓ９０７およびＳ９０８がさらに実行される。まず、異常検出部２００は、データ信号ＤＡＴＡｉｎおよびアラームに初期値（例えば、「０」）を設定する（ステップＳ９０５）。そして、異常検出部２００は、一定の範囲内で遅延段数を変更する（ステップＳ９０６）。また、異常検出部２００は、ステップＳ９０４の後に、遅延信号ＤＡＴＡｓと期待値Ｃｓとの不一致が発生した遅延段数（Ｄｓ）を測定する（ステップＳ９０７）。さらに異常検出部２００は、遅延信号ＤＡＴＡｈと期待値Ｃｈとの不一致が発生した遅延段数（Ｄｈ）を測定し（ステップＳ９０８）、アラームを出力するためのアラーム処理を実行する（ステップＳ９２０）。ステップＳ９２０の後に異常検出部２００は、ステップＳ９０６以降を繰り返す。
【００９３】
図１３は、本技術の第２の実施の形態におけるアラーム処理の一例を示すフローチャートである。アラーム出力部２８０は、測定値Ｄｓが設定段数より小さいと連続して判定された回数ＣＮＴｓを計数し（ステップＳ９２１）、測定値Ｄｈが設定段数より大きいと連続して判定された回数ＣＮＴｈを計数する（ステップＳ９２２）。
【００９４】
そして、アラーム出力部２８０は、計数値ＣＮＴｓが設定回数よりも多いか否かを判断する（ステップＳ９２３）。計数値ＣＮＴｓが設定回数以下の場合に（ステップＳ９２３：Ｎｏ）、アラーム出力部２８０は、計数値ＣＮＴｈが設定回数よりも多いか否かを判断する（ステップＳ９２４）。計数値ＣＮＴｓが設定回数より多い場合（ステップＳ９２３：Ｙｅｓ）、または、計数値ＣＮＴｈが設定回数より多い場合（ステップＳ９２４：Ｙｅｓ）、アラーム出力部２８０は、アラームに「１」を設定して外部に出力する（ステップＳ９２５）。
【００９５】
計数値ＣＮＴｓが設定回数以下の場合（ステップＳ９２４：Ｎｏ）、または、ステップＳ９２５の後にエラー出力部２７０は、エラー検出処理を終了する。
【００９６】
このように、本技術の第２の実施の形態によれば、異常検出部２００は、ＬＳＩの種別などの条件に応じて遅延時間の異なる複数のパスのいずれかを選択するため、条件が変更された場合であっても適切な遅延時間により検出精度を向上させることができる。
【００９７】
＜第３の実施の形態＞
上述の第２の実施の形態では、異常検出部２００は、タイミングエラーが生じた際に、出力データをマスクすることにより異常の影響を抑制していた。しかし、出力データのマスクのみでは、異常の原因を解消することはできない。電源電圧の異常やクロック信号ＣＬＫの異常などの異常の種類を判定すれば、電源回路１４０の制御などにより異常の原因を解消することができる。この第３の実施の形態の異常検出部２００は、異常の種類を判定する点において第２の実施の形態と異なる。
【００９８】
図１４は、本技術の第３の実施の形態におけるアラーム出力部２８０の一構成例を示すブロック図である。この第２の実施の形態の変形例のアラーム出力部２８０は、アラーム種別判定部２８８をさらに備える点において第２の実施の形態と異なる。
【００９９】
アラーム種別判定部２８８は、セットアップタイム側アラームＡＬＭｓとホールドタイム側アラームＡＬＭｈとに基づいて、電源異常およびクロック異常のどちらが生じたかを判定するものである。電源異常が生じるおそれのある場合にアラーム種別判定部２８８は、電源異常アラームを出力し、クロック異常が生じるおそれのある場合にクロック異常アラームを出力する。なお、アラーム種別判定部２８８は、特許請求の範囲に記載の異常種別判定部の一例である。
【０１００】
図１５は、本技術の第３の実施の形態におけるアラーム種別判定部２８８の動作の一例を示す図である。セットアップタイム側アラームＡＬＭｓが「０」でホールドタイム側アラームＡＬＭｈが「１」の場合にアラーム種別判定部２８８は、電源異常アラームを出力する。また、セットアップタイム側アラームＡＬＭｓが「１」でホールドタイム側アラームＡＬＭｈが「０」の場合にアラーム種別判定部２８８は、クロック異常もしくは電源異常アラームを外部に出力する。また、セットアップタイム側アラームＡＬＭｓおよびホールドタイム側アラームＡＬＭｈが「１」の場合にアラーム種別判定部２８８は、クロック異常及び電源異常アラームを外部に出力する。
【０１０１】
そして、外部の機器は、クロック異常アラームおよび電源異常アラームのどちらが出力されているかにより、電源電圧およびクロック信号のどちらを制御すればよいかを判断することができる。
【０１０２】
このように、本技術の第３の実施の形態によれば、アラーム種別判定部２８８が異常の種類を判定するため、外部の機器は、電源電圧およびクロック信号のどちらを制御すればよいかを判断することができる。
【０１０３】
［変形例］
上述の第３の実施の形態では、異常検出部２００は、電源異常およびクロック異常のどちらが生じたかを判断していたが、電源の上昇、降下による電源異常など、より詳細に判断してもよい。この第３の実施の形態の変形例の異常検出部２００は、異常の種類をさらに詳細に判断する点において第３の実施の形態と異なる。
【０１０４】
図１６は、本技術の第３の実施の形態の変形例におけるアラーム処理の一例を示すフローチャートである。この第３の実施の形態のアラーム処理は、ステップＳ９２１およびＳ９２２の代わりにステップＳ９２５およびＳ９２６を実行する点において第３の実施の形態と異なる。異常処理部２００は、測定したＤｓが電圧最大時の設定段数より大きい、または、電圧最小時の設定段数より小さいと連続して判断された回数ＣＮＴｓを計数する（ステップＳ９２５）。また、異常処理部２００は、測定したＤｈが電圧最大時の設定段数より大きい、または、電圧最小時の設定段数より小さいと連続して判断された回数ＣＮＴｈを計数する（ステップＳ９２６）。アラームの種別の判定方法の詳細については後述する。
【０１０５】
図１７は、本技術の第３の実施の形態の変形例におけるアラーム種別判定部２８８の動作の一例を示す図である。Ｄｈが電圧最大時の設定段数より大きいと判断された場合にアラーム種別判定部２８８は、電源の上昇による電源異常アラームを出力する。また、Ｄｈが電圧最小時の設定段数より小さいと判断された場合にアラーム種別判定部２８８は、電源の下降による電源異常アラームを出力する。Ｄｈが電圧最小時の設定段数から電圧最大時の設定段数までの値であり、かつ、Ｄｓが電圧最大時の設定段数より大きい場合にアラーム種別判定部２８８は、クロック信号の速度低下によるクロック異常アラームを出力する。Ｄｈが電圧最小時の設定段数から電圧最大時の設定段数までの値であり、かつ、Ｄｓが電圧最小時の設定段数より小さい場合にアラーム種別判定部２８８は、クロック信号の速度上昇によるクロック異常アラームを出力する。
【０１０６】
＜４．第４の実施の形態＞
上述の第１の実施の形態では、半導体集積回路１００は、タイミングエラーが生じた際に、出力データをマスクすることによりタイミングエラーの影響を抑制していた。しかし、出力データのマスクのみでは、タイミングエラーの発生の原因を解消することはできない。このため、電源電圧やクロック信号ＣＬＫの異常に起因してタイミングエラーが生じる際には、さらに電源回路やクロック供給部１１０を制御してタイミングエラーが生じないようにすることが望ましい。この第４の実施の形態の半導体集積回路１００は、電源回路やクロック供給部１１０を制御してタイミングエラーの発生を抑制する点において第１の実施の形態と異なる。
【０１０７】
図１８は、本技術の第４の実施の形態における半導体集積回路１００の一構成例を示すブロック図である。この第４の実施の形態の半導体集積回路１００は、電源回路１４０および異常処理部１５０をさらに備える。また、第２の実施の形態の異常検出部２００は、タイミングエラーが生じた際に電源電圧を測定して、電源に異常が生じたか否かを検出する。そして、異常検出部２００は、エラー検出結果を異常処理部１５０にさらに供給する。また、異常検出部２００は、電源の異常の有無を示す電源異常検出結果を異常処理部１５０に供給する。電源異常検出結果には、例えば、電源の異常が生じた場合に「１」が設定され、異常の無い場合に「０」が設定される。
【０１０８】
電源回路１４０は、電源電圧ＶＤＤを供給するものである。異常処理部１５０は、タイミングエラーが生じた際に、電源回路１４０またはクロック供給部１１０を制御するものである。この異常処理部１５０は、タイミングエラーが生じているが電源の異常が生じていない場合には、クロック信号ＣＬＫに異常が生じたと判断する。そして、異常処理部１５０は、クロック供給部１１０の初期化や、クロック供給部１１０内の主回路から予備回路への切り替えの制御などを行う。一方、電源の異常が生じた場合に異常処理部１５０は、電源回路１４０を制御して電源電圧を正常値にする。
【０１０９】
上述のように異常検出部２００がエラー検出結果に加えて電源異常検出結果も出力することにより、デコンポジションが容易となる。ここで、デコンポジションとは、一つの安全要求を複数の方策に分解することを意味する。それら方策のいずれもが当初の安全要求（例えば、ブレーキペダルを踏むと車を停める）を実現することにより、複数の方策の一つが故障しても、他の方策が安全要求を実現できる。このため、各々の方策が担うべき自動車安全度水準（ＡＳＩＬ:Automotive Safety Integrity Level）を低く設定することができる。
【０１１０】
なお、電源回路１４０および異常処理部１５０を半導体集積回路１００に設けているが、半導体集積回路１００の外部に設けてもよい。
【０１１１】
図１９は、本技術の第４の実施の形態における異常検出部２００の一構成例を示すブロック図である。この第４の実施の形態の異常検出部２００は、電源異常検出部２９０をさらに備える点において第１の実施の形態と異なる。また、エラー検出結果は、電源異常検出部２９０にも入力される。電源異常検出部２９０は、タイミングエラーが検出された場合に、電源の異常の有無を検出するものである。
【０１１２】
図２０は、本技術の第４の実施の形態における電源異常検出部２９０の一構成例を示すブロック図である。この電源異常検出部２９０は、電源電圧測定部２９１、セットアップタイム側比較部２９２、ホールドタイム側比較部２９３およびＯＲゲート２９４を備える。
【０１１３】
電源電圧測定部２９１は、タイミングエラーが生じた場合に、電源電圧ＶＤＤを測定するものである。この電源電圧測定部２９１は、アナログの電源電圧ＶＤＤをＡＤ変換して測定値を生成する。そして、電源電圧測定部２９１は、その測定値をセットアップタイム側比較部２９２およびホールドタイム側比較部２９３に供給する。
【０１１４】
セットアップタイム側比較部２９２は、タイミングエラーが生じた場合に、電源電圧ＶＤＤの測定値と、参照電圧Ｖｒｅｆｓを示すデジタルの設定値とを比較するものである。参照電圧Ｖｒｅｆｓは、セットアップタイムエラーが生じる際の電圧である。例えば、０．９ボルト（Ｖ）より低い電圧でセットアップタイムエラーが生じる場合には、「０．９」を示す設定値が設定される。セットアップタイム側比較部２９２は、電源電圧ＶＤＤが参照電圧Ｖｒｅｆｓより低い場合に「１」の比較結果をＯＲゲート２９４に出力する。一方、電源電圧ＶＤＤが参照電圧Ｖｒｅｆｓ以上の場合には「０」の比較結果が出力される。
【０１１５】
ホールドタイム側比較部２９３は、タイミングエラーが生じた場合に、電源電圧ＶＤＤの測定値と、参照電圧Ｖｒｅｆｈを示すデジタルの設定値とを比較するものである。参照電圧Ｖｒｅｆｈは、ホールドタイムエラーが生じる際の電圧である。例えば、１．３ボルト（Ｖ）より高い電圧でホールドタイムエラーが生じる場合には、「１．３」を示す設定値が設定される。ホールドタイム側比較部２９３は、電源電圧ＶＤＤが参照電圧Ｖｒｅｆｈより高い場合に「１」の比較結果をＯＲゲート２９４に出力する。一方、電源電圧ＶＤＤが参照電圧Ｖｒｅｆｈ以下の場合には「０」の比較結果が出力される。
【０１１６】
ＯＲゲート２９４は、セットアップタイム側比較部２９２およびホールドタイム側比較部２９３のそれぞれの比較結果の論理和を電源異常検出結果として出力するものである。
【０１１７】
図２１は、本技術の第４の実施の形態における異常処理部１５０の動作の一例を示す図である。電源異常検出結果が「１」（異常有り）の場合に異常処理部１５０は、電源異常と判定し、電源回路１４０を制御する。異常処理部１５０は、例えば、電源回路１４０の初期化や、電源電圧ＶＤＤを参照電圧Ｖｒｅｆｓ乃至Ｖｒｅｆｈの範囲内に制御する処理などを行う。
【０１１８】
また、エラー検出結果が「１」（エラー有り）で電源異常検出結果が「０」（異常無し）の場合に異常処理部１５０は、クロック異常と判定し、クロック供給部１１０の初期化や、予備回路への切り替えなどを行う。
【０１１９】
図２２は、本技術の第４の実施の形態における異常検出部２００の動作の一例を示すフローチャートである。この第４の実施の形態の異常検出部２００の動作は、ステップＳ９０１の代わりに、ステップＳ９０６を実行し、ステップＳ９３０をさらに実行する点において第１の実施の形態と異なる。
【０１２０】
電源異常検出部２９０は、データ信号ＤＡＴＡｉｎ、エラー検出結果および電源異常検出結果に初期値（例えば、「０」）を設定する（ステップＳ９０６）。また、異常検出部２００は、エラー検出処理（ステップＳ９１０）の後に、電源異常の有無を検出するための電源異常検出処理（ステップＳ９３０）を実行する。ステップＳ９３０の後に異常検出部２００は、ステップＳ９０２以降を繰り返し実行する。
【０１２１】
図２３は、本技術の第４の実施の形態における電源異常検出処理の一例を示すフローチャートである。電源異常検出部２９０は、電源電圧ＶＤＤを測定し（ステップＳ９３１）、電源電圧ＶＤＤが参照電圧Ｖｒｅｆｈより高いか否かを判断する（ステップＳ９３２）。電源電圧ＶＤＤが参照電圧Ｖｒｅｆｈ以下の場合に（ステップＳ９３２：Ｎｏ）、電源異常検出部２９０は、電源電圧ＶＤＤが参照電圧Ｖｒｅｆｓより低いか否かを判断する（ステップＳ９３３）。
【０１２２】
電源電圧ＶＤＤが参照電圧Ｖｒｅｆｈより高い場合（ステップＳ９３２：Ｙｅｓ）、または、電源電圧ＶＤＤが参照電圧Ｖｒｅｆｓより低い場合（ステップＳ９３３：Ｙｅｓ）、電源異常検出部２９０は電源異常検出結果に「１」を設定する（ステップＳ９３４）。電源電圧ＶＤＤが参照電圧Ｖｒｅｆｓ以上の場合（ステップＳ９３３：Ｎｏ）または、ステップＳ９３４の後に電源異常検出部２９０は、電源異常検出処理を終了する。
【０１２３】
このように、本技術の第４の実施の形態によれば、遅延信号と期待値との不一致が検出されると異常処理部１５０が電源回路１４０やクロック供給部１１０を制御するため、電源異常やクロック異常を起因とするタイミングエラーの発生を抑制することができる。
【０１２４】
［変形例］
上述の第４の実施の形態では、電源異常検出部２９０が参照電圧Ｖｒｅｆｓ乃至Ｖｒｅｆｈの範囲外の電源電圧ＶＤＤを測定した場合に電源異常の発生を検出していた。しかし、電源異常が生じていないにもかかわらず、電源ノイズにより、電源異常検出部２９０が誤って電源異常の発生を検出してしまう場合がある。この第４の実施の形態の変形例の電源異常検出部２９０は、電源ノイズによる誤検出を低減した点において第４の実施の形態と異なる。
【０１２５】
図２４は、本技術の第４の実施の形態の変形例における電源異常検出部２９０の一構成例を示すブロック図である。この第４の実施の形態の変形例の電源異常検出部２９０は、連続不一致検出回路２９５をさらに備える点において第４の実施の形態と異なる。連続不一致検出回路２９５は、カウンタ２９６および設定回数比較部２９７を備える。
【０１２６】
カウンタ２９６は、ＯＲゲート２９４の出力信号が連続してハイレベルになった（電源電圧ＶＤＤが所定の範囲外であった）回数をクロック信号ＣＬＫに同期して計数するものである。カウンタ２９６は、計数値を設定回数比較部２９７に供給する。
【０１２７】
設定回数比較部２９７は、カウンタ２９６の計数値と設定回数とを比較するものである。この設定回数は、例えば、制御部２１０により設定される。設定回数比較部２９７は、計数値が設定回数より多い場合に電源異常の発生を検出する。
【０１２８】
このように、本技術の第４の実施の形態の変形例によれば、電源電圧ＶＤＤが所定の範囲外と連続して判定された回数が設定回数より多いときに設定回数比較部２９７が電源異常と判断するため、電源ノイズによる誤検出を抑制することができる。
【０１２９】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【０１３０】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disc）、メモリカード、ブルーレイディスク（Blu-ray（登録商標）Disc）等を用いることができる。
【０１３１】
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
【０１３２】
なお、本技術は以下のような構成もとることができる。
（１）互いに異なる２つの遅延時間によりデータ信号を遅延させて第１および第２の遅延信号として出力する遅延部と、
所定の取込みタイミングを指示するタイミング信号に同期して前記第１および第２の遅延信号を保持する保持部と、
所定の開始タイミングから前記所定の取込みタイミングまでのセットアップタイム側検出期間内に前記保持された第１および第２の遅延信号の一方が変化したか否かを検出するセットアップタイム検出部と、
前記所定の取込みタイミングから所定の終了タイミングまでのホールドタイム側検出期間内に前記保持された第１および第２の遅延信号の他方が変化したか否かを検出するホールドタイム検出部と
を具備する半導体集積回路。
（２）前記セットアップタイム検出部は、前記セットアップタイム側検出期間に対応するセットアップタイム側検出ウィンドウにおいて第１の期待値が前記一方と一致するか否かにより前記一方が変化したか否かを検出し、
前記ホールドタイム検出部は、前記ホールドタイム側検出期間に対応するホールドタイム側検出ウィンドウにおいて前記第１の期待値と異なる第２の期待値が前記他方と一致するか否かにより前記他方が変化したか否かを検出する
前記（１）記載の半導体集積回路。
（３）前記遅延部は、
前記第１の遅延時間により前記データ信号を遅延させて前記第１の遅延信号として出力する第１の遅延部と、
前記第２の遅延時間により前記データ信号を遅延させて前記第２の遅延信号として出力する第２の遅延部と
を備える前記（２）記載の半導体集積回路。
（４）前記第１の比較値と前記一方との不一致の回数が所定回数を超えた場合にはセットアップタイムエラーを出力するセットアップタイムエラー出力部と、
前記第２の比較値と前記一方との不一致の回数が所定回数を超えた場合にはホールドタイムエラーを出力するホールドタイムエラー出力部と
をさらに具備する
前記（２）記載の半導体集積回路。
（５）前記第１の比較値と前記一方との不一致の回数が所定回数を超えた場合にはセットアップタイム側アラームを出力するセットアップタイム側アラーム出力部と、
前記第２の比較値と前記一方との不一致の回数が所定回数を超えた場合にはホールドタイム側アラームを出力するホールドタイム側アラーム出力部と
をさらに具備する
前記（２）記載の半導体集積回路。
（６）第１の範囲内の時間を前記第１の遅延時間として選択して前記遅延部に設定する処理と前記第１の範囲と異なる第２の範囲内の時間を前記第２の遅延時間として選択して前記遅延部に設定する処理とを順に行う制御部をさらに具備する
前記（２）記載の半導体集積回路。
（７）前記第１の比較値と前記一方との不一致が検出された前記第１の遅延時間が第１の設定時間より短い場合にはセットアップタイムエラーを出力するセットアップタイムエラー出力部と、
前記第２の比較値と前記一方との不一致が検出された前記第２の遅延時間が第２の設定時間より長い場合にはホールドタイムエラーを出力するホールドタイムエラー出力部と
をさらに具備する
前記（６）記載の半導体集積回路。
（８）前記第１の比較値と前記一方との不一致が検出された前記第１の遅延時間が第１の設定時間より短い場合にはセットアップタイム側アラームを出力するセットアップタイム側アラーム出力部と、
前記第２の比較値と前記一方との不一致が検出された前記第２の遅延時間が第２の設定時間より長い場合にはホールドタイム側アラームを出力するホールドタイム側アラーム出力部と
をさらに具備する
前記（６）記載の半導体集積回路。
（９）前記第１および第２の遅延信号のいずれかの変化が検出された場合には当該検出結果に基づいて電源および前記タイミング信号のどちらに異常が生じたかを判定する異常判定部をさらに具備する
前記（１）から（８）のいずれかに記載の半導体集積回路。
（１０）前記異常判定部は、前記第１および第２の遅延時間に基づいて電源電圧の上昇による電源異常と前記電源電圧の降下による電源異常とのどちらが生じたかを判断する
前記（９）記載の半導体集積回路。
（１１）前記異常判定部は、前記第１および第２の遅延時間に基づいて前記タイミング信号の速度上昇による異常と前記タイミング信号の速度低下による異常とのどちらが生じたかを判断する
前記（９）または（１０）のいずれかに記載の半導体集積回路。
（１２）前記第１および第２の遅延信号のいずれかの変化が検出された場合には電源電圧が所定の範囲内であるか否かにより電源の異常が発生したか否かを検出する電源異常検出部をさらに具備する
前記（１）から（１１）のいずれかに記載の半導体集積回路。
（１３）前記電源異常検出部は、前記第１および第２の遅延信号のいずれかの変化が検出された場合には前記電源電圧が前記所定の範囲内であるか否かを判定し、前記電源電圧が前記所定の範囲内でないと判定した回数が所定回数を超えるか否かにより前記電源の異常が発生したか否かを検出する
前記（１２）記載の半導体集積回路。
（１４）互いに異なる２つの遅延時間によりデータ信号を遅延させて第１および第２の遅延信号として出力する遅延手順と、
所定の取込みタイミングを指示するタイミング信号に同期して前記第１および第２の遅延信号を保持する保持手順と、
所定の開始タイミングから前記所定の取込みタイミングまでのセットアップタイム側検出期間内に前記保持された第１および第２の遅延信号の一方が変化したか否かを検出するセットアップタイム検出手順と、
前記所定の取込みタイミングから所定の終了タイミングまでのホールドタイム側検出期間内に前記保持された第１および第２の遅延信号の他方が変化したか否かを検出するホールドタイム検出手順と
を具備する半導体集積回路の制御方法。
【符号の説明】
【０１３３】
１００  半導体集積回路
１１０  クロック供給部
１２０  論理回路
１３０  出力マスク回路
１４０  電源回路
１５０  異常処理部
２００  異常検出部
２１０  制御部
２１５  遅延時間設定範囲保持部
２２１、２２２、２４１、２４２、２５４、２６４  フリップフロップ
２３１  セットアップタイム側クリティカルパス
２３２、２３４、２３６  遅延素子
２３３  ホールドタイム側クリティカスパス
２３５  可変クリティカルパス
２３７  セレクタ
２５０  セットアップタイム側不一致検出部
２５１、２６１  ＮＯＲ（否定論理和）ゲート
２５３、２６３  インバータ
２５２、２６２  ＡＮＤ（論理積）ゲート
２６０  ホールドタイム側不一致検出部
２７０  エラー出力部
２７１  セットアップタイムエラー出力部
２７２、２７５、２９６  カウンタ
２７３、２７６、２９７  設定回数比較部
２７４  ホールドタイムエラー出力部
２７７、２８７、２９４  ＯＲ（論理和）ゲート
２８０  アラーム出力部
２８１  セットアップタイム側アラーム出力部
２８２、２８５  不一致検出遅延段数測定部
２８３、２８６  設定段数及び連続回数比較部
２８４  ホールドタイム側アラーム出力部
２８８  アラーム種別判定部
２９０  電源異常検出部
２９１  電源電圧測定部
２９２  セットアップタイム側比較部
２９３  ホールドタイム側比較部
２９５  連続不一致検出回路
【図１】
2018078357.tif 000003
【図２】
2018078357.tif 000004
【図３】
2018078357.tif 000005
【図４】
2018078357.tif 000006
【図５】
2018078357.tif 000007
【図６】
2018078357.tif 000008
【図７】
2018078357.tif 000009
【図８】
2018078357.tif 000010
【図９】
2018078357.tif 000011
【図１０】
2018078357.tif 000012
【図１１】
2018078357.tif 000013
【図１２】
2018078357.tif 000014
【図１３】
2018078357.tif 000015
【図１４】
2018078357.tif 000016
【図１５】
2018078357.tif 000017
【図１６】
2018078357.tif 000018
【図１７】
2018078357.tif 000019
【図１８】
2018078357.tif 000020
【図１９】
2018078357.tif 000021
【図２０】
2018078357.tif 000022
【図２１】
2018078357.tif 000023
【図２２】
2018078357.tif 000024
【図２３】
2018078357.tif 000025
【図２４】
2018078357.tif 000026