(58)【調査した分野】(Int.Cl.,DB名)
前記分周回路は、前記第1の記憶回路、前記スイッチ、及び前記第2の記憶回路の少なくともいずれかを制御するスイッチ制御回路をさらに含む、請求項3記載の半導体集積回路。
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述した特許文献1に開示されるような装置は、周波数分周器の制御が煩雑であることにより、クロック信号に基づいて動作する順序回路から、周波数分周器の出力に基づいて動作する順序回路(以下「後段順序回路」という。)までに至るデータパスのテストを行うことが困難である。そのため、特許文献1に開示されるような装置は、外部からテスト用クロックを後段順序回路に供給するか、又は、分周回路をバイパスすることによってクロック信号を後段順序回路に直接供給していた。
【0007】
しかしながら、特許文献1に開示されるような装置は、該データパスのテストにおいて、後段順序回路が通常動作時とは異なる経路を通るクロック(すなわち、テスト用クロックや、分周回路をバイパスしたクロック信号)に基づいて動作するため、十分に動作速度を下げた状態での動作確認のテストは行うことはできるものの、通常動作時と同じ動作速度で正常に動作するか否かを確認する実動作テストを行うことができないという問題を有していた。
【0008】
また、特許文献1に開示されるような装置は、該データパスのテストにおいて、後段順序回路を異なる経路のクロックによって動作させるための回路を必要とするため、該回路の分だけ、半導体集積回路の設計に余計なコストを必要とするという問題を有していた。
【0009】
そこで、本発明は、分周前のクロックに基づいて動作する順序回路から分周後のクロックに基づいて動作する順序回路までのデータパスの実動作テストを容易に行うことができる半導体集積回路を提供することを目的とする。
【0010】
また、本発明は、低コストで設計することができる半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するための本発明は、以下の技術的特徴乃至は発明特定事項を含んで構成される。
【0012】
すなわち、ある観点に従う本発明は、少なくとも第1のモード又は第2のモードのいずれかで動作する分周回路と、前記第1のモード又は前記第2のモードのいずれかで前記分周回路が動作するように、前記分周回路を制御する制御回路と、を備える半導体集積回路である。前記分周回路は、前記第1のモードにおいて、入力される第1のクロックを、第1の経路を含む第2の経路を介して、所定の分周数で分周することによって、第2のクロックを生成し、出力し得る。また、前記分周回路は、前記第2のモードにおいて、前記第1のクロックを、前記第1の経路を介して、前記第2のクロックとして出力し得る。
【0013】
これにより、半導体集積回路は、第1のモードにおいて、第1のクロックを第1の経路を含む第2の経路を介して所定の分周数で分周して第2のクロックとして出力する一方で、第2のモードにおいて、第1のクロックを第1の経路を介して第2のクロックとして出力する分周回路を備えるため、第1のモード及び第2のモードの分周回路の内部的な遅延時間を実質的に同じにすることができるようになる。
【0014】
半導体集積回路は、前記第1のクロックに基づいて、第1の信号を出力する第1の順序回路と、前記第1の信号に対して所定の処理を行う論理回路と、前記第2のクロックに基づいて、前記所定の処理の結果を第2の信号として出力する第2の順路回路とをさらに備え得る。
【0015】
これにより、半導体集積回路は、第1の順序回路から論理回路を介して第2の順序回路までに至るデータパスの遅延故障が容易に検出されるようになる。
【0016】
また、前記分周回路は、前記第1のモードにおいて、入力される前記第1のクロックに基づく信号を出力し、前記第2のモードにおいて、入力される前記第1のクロックに基づく信号を出力することなく、前記第1のクロックに基づく信号を出力する出力制御回路をさらに備え得る。
【0017】
これにより、半導体集積回路は、第1のモード及び第2のモードにおいて、分周回路が出力する信号を切り替えることができるようになる。
【0018】
さらに、前記出力制御回路は、第1の出力制御回路と、前記第1の出力制御回路に接続された第2の出力制御回路と、を含み得る。前記第1のモードにおいて、前記第1の出力制御回路は、前記第1のクロックに基づく信号を前記第2の出力制御回路に出力し、前記第2の出力制御回路は、前記第1の出力制御回路から入力される前記第1のクロックに基づく信号を出力し、前記第2のモードにおいて、前記第1の出力制御回路は、前記第1のクロックに基づく信号を前記第2の出力制御回路に出力することなく、前記第2の出力制御回路は、前記第1のクロックに基づく信号を出力し得る。
【0019】
これにより、半導体集積回路は、第1のモードにおいて、出力制御回路に入力される第1のクロックに基づく信号を第1の出力制御回路から第2の出力制御回路を介して出力する一方で、第2のモードにおいて、第1のクロックに基づく信号を第2の出力制御回路からことができるようになる。
【0020】
さらにまた、前記分周回路は、前記第2の出力制御回路に接続された第1の記憶回路と、前記第1の記憶回路に接続されたスイッチと、前記スイッチに接続された第2の記憶回路と、を含み得る。前記第1の経路は、前記第2の出力制御回路から前記第2の記憶回路までの経路であり、前記第2の経路は、前記第1の出力制御回路から前記第2の記憶回路までの経路であり得る。
【0021】
これにより、半導体集積回路は、第1のモードにおける分周回路の内部的な遅延時間を第1の出力制御回路から第2の記憶回路までの経路に依存させ、第2のモードにおける分周回路の内部的な遅延時間を第2の出力制御回路から第2の記憶回路までの経路に依存させることができるようになる。
【0022】
さらに、前記分周回路は、前記第1の記憶回路、前記スイッチ、及び前記第2の記憶回路の少なくともいずれかを制御するスイッチ制御回路をさらに含み得る。
【0023】
さらに、別の観点に従う本発明は、第1の経路及び該第1の経路を含む第2の経路と、出力制御回路とを備える順序回路である。前記順序回路は、第1のモードにおいて、入力される第1のクロックに基づいて、入力される所定の信号を前記第2の経路を介して第2のクロックとして出力し、第2のモードにおいて、前記第1のクロックを、前記第1の経路を介して、前記第2のクロックとして出力し得る。また、前記出力制御回路は、第1の出力制御回路と、前記第1の出力制御回路に接続された第2の出力制御回路とを含み得る。さらに、前記第1のモードにおいて、前記第1の出力制御回路は、前記第1のクロックに基づく信号を前記第2の出力制御回路に出力し、前記第2の出力制御回路は、前記第1の出力制御回路から入力される前記第1のクロックに基づく信号を出力し、前記第2のモードにおいて、前記第1の出力制御回路は、前記第1のクロックに基づく信号を前記第2の出力制御回路に出力することなく、前記第2の出力制御回路は、前記第1のクロックに基づく信号を出力し得る。
【0024】
これにより、順序回路は、第1のモードにおいて、第1のクロックに基づいて、入力される信号を第1の経路を含む第2の経路を介して第2のクロックとして出力する一方で、第2のモードにおいて、第1のクロックを第1の経路を介して第2のクロックとして出力するため、第1のモード及び第2のモードにおける順序回路の内部的な遅延時間を実質的に同じにすることができるようになる。
【0025】
順序回路は、前記第2の出力制御回路に接続された第1の記憶回路と、前記第1の記憶回路に接続されたスイッチと、前記スイッチに接続された第2の記憶回路と、をさらに備え得る。また、前記第1の経路は、前記第2の出力制御回路から前記第2の記憶回路までの経路であり、前記第2の経路は、前記第1の出力制御回路から前記第2の記憶回路までの経路であり得る。
【0026】
これにより、順序回路は、第1のモードにおける分周回路の内部的な遅延時間を第1の出力制御回路から第2の記憶回路までの経路に依存させ、第2のモードにおける分周回路の内部的な遅延時間を第2の出力制御回路から第2の記憶回路までの経路に依存させることができるようになる。
【0027】
さらに、別の観点に従う本発明は、分周回路を備える半導体集積回路の動作制御方法である。ここで、前記分周回路は、第1の経路及び該第1の経路を含む第2の経路を備える。前記動作制御方法は、テストモード又は通常モードのいずれかを選択することと、前記テストモードが選択された場合に、前記分周回路を前記テストモードで動作させて、入力される第1のクロックを、前記第1の経路を介して、前記第2のクロックとして出力することと、前記通常モードが選択された場合に、前記分周回路を前記通常モードで動作させて、前記第1のクロックを前記第2の経路を介して、所定の分周数で分周することによって、第2のクロックを生成し、出力することと、を含み得る。
【0028】
これにより、半導体集積回路は、第1のモードで第1のクロックを第1の経路を含む第2の経路を介して所定の分周数で分周する一方で、第2のモードで第1のクロックを第1の経路を介して第2のクロックとして出力する分周回路を備えるため、第1のモード及び第2のモードの分周回路の内部的な遅延時間を実質的に同じにすることができるようになる。
【発明の効果】
【0029】
本発明によれば、半導体集積回路は、分周前のクロックに基づいて動作する順序回路から分周後のクロックに基づいて動作する順序回路までのデータパスの実動作テストを容易に行うことができるようになる。
【0030】
また、本発明によれば、半導体集積回路は、低コストで設計されるようになる。
【0031】
本発明の他の技術的特徴、目的、及び作用効果乃至は利点は、添付した図面を参照して説明される以下の実施形態により明らかにされる。
【発明を実施するための形態】
【0033】
次に、本発明の実施の形態について、図面を参照しつつ説明する。以下の図の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図は、模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【0034】
図1は、本発明の一実施形態に係る半導体集積回路の概略構成の一例を示す図である。同図に示すように、本実施形態に係る半導体集積回路1は、複数の論理回路10と、複数の順序回路11と、制御回路12と、分周回路13とを含んで構成される。
【0035】
論理回路10は、外部から入力される信号やクロック等に対して論理演算や遅延調整等の所定の処理を行い、該所定の処理の結果を出力する回路である。なお、本例では、論理回路10(1)乃至10(3)が示されている。
【0036】
順序回路11は、クロック端子CKに入力されるクロックに基づいて、データ入力端子Dに入力される信号をデータ出力端子Qから出力する回路である。なお、本例では順序回路11(1)及び11(2)が示されている。
【0037】
制御回路12は、後述する分周回路13の動作の制御を行うための回路である。制御回路12は、例えば、外部から入力される設定信号SETに従って、分周回路13の動作モードを決定するための制御信号CNT、及び分周回路13の状態を初期化するためのリセット信号RSTを生成し、該2つの信号を分周回路13に出力する。
【0038】
分周回路13は、入力されるクロックを所定の分周数で分周し、出力する回路である。本実施形態の分周回路13は、制御回路12から出力される制御信号CNTが示す動作モードに従って、例えば、少なくとも“通常モード(第1のモード)”又は“テストモード(第2のモード)”で動作する。分周回路13は、“通常モード”で動作する場合、入力されるクロックを所定の分周数で分周し、該分周したクロックを出力する。これに対して、“テストモード”で動作する場合、分周回路13は、入力されるクロックの論理を維持したまま、該クロックを出力する。すなわち、分周回路13は、“テストモード”では、バッファとして動作する。他の例では、分周回路13は、論理否定回路としても動作し得る。また、分周回路13は、制御回路12から出力されるリセット信号RSTに従って、その状態を初期化する。本実施形態の分周回路13は、後述するように、“通常モード”で動作する際の内部的な遅延時間と“テストモード”で動作する際の内部的な遅延時間とが実質的に同じになるように構成される。
【0039】
同図に示すように構成される半導体集積回路1は、例えば、以下のように動作する。なお、同図は、分周回路13を備えた半導体集積回路1の回路構成の一例を示したものに過ぎず、半導体集積回路1は、各種の論理回路10及び各種の順序回路11によってさまざまに構成され得る。
【0040】
すなわち、論理回路10(1)は、外部から入力されるデータ信号D0を受け取り、これに対して所定の処理(例えば、論理演算や遅延調整等)を行って、該処理の結果をデータ信号D1として順序回路11(1)に出力する。また、論理回路10(1)は、外部から入力されるクロックCLK0を受け取り、これに対して所定の処理を行って、該処理の結果をCLK1として順序回路11(1)及び分周回路13に出力し得る。本例では、論理回路10(1)は、データ信号D0及びクロックCLK0に基づいて、データ信号D1及びクロックCLK1をそれぞれ出力するように構成されるが、これに限られるものでなく、別個の論理回路がそれぞれ出力するように構成されても良いし、外部からクロックCLK1が入力されても良い。
【0041】
順序回路11(1)は、論理回路10(1)からクロック端子CKに入力されるクロックCLK1に従って、論理回路10(1)からデータ入力端子Dに入力されるデータ信号D1を、データ信号Q1として、データ出力端子Qから論理回路10(2)に出力する。
【0042】
論理回路10(2)は、順序回路11(1)から入力されるデータ信号Q1に対して所定の処理を行い、該処理の結果をデータ信号D2として順序回路11(2)に出力する。
【0043】
順序回路11(2)は、分周回路13からクロック端子CKに入力されるクロックCLK2に従って、データ入力端子Dに入力される入力データ信号D2を、データ信号Q2として、データ出力端子Qから論理回路10(3)に出力する。
【0044】
論理回路10(3)は、順序回路11(2)から入力されるデータ信号Q2に対して所定の処理を行い、該処理の結果をデータ信号D3として外部に出力する。また、論理回路10(3)は、分周回路13から入力されるクロックCLK2に対して所定の処理を行い、該処理の結果をクロックCLK3として外部に出力し得る。論理回路10(1)と同様に、論理回路10(3)も、別個の論理回路によって構成されてもよい。
【0045】
図2は、本発明の一実施形態に係る分周回路の構成の一例を示す図である。同図に示すように、本実施形態に係る分周回路13は、スイッチ制御回路131、第1の出力制御回路1321、第2の出力制御回路1322、第1の記憶回路133、スイッチ134、第2の記憶回路135、及び論理否定回路136を有する順序回路130を含んで構成される。本例では、第1の出力制御回路1321及び第2の出力制御回路1322は、出力制御回路132を構成する。
【0046】
スイッチ制御回路131は、制御回路12(
図1参照)から入力される制御信号CNTに従って、分周回路13内の各種の回路を制御するための各種の制御信号を生成し、出力する回路である。すなわち、スイッチ制御回路131は、制御信号CNTに従って、一対の制御信号CNTp及びCNTnを生成し、これらを第1の出力制御回路1321及び第2の出力制御回路1322に出力する。また、スイッチ制御回路131は、制御信号CNTに従って、論理回路10(1)から出力されるクロックCLK1に基づくスイッチ切替信号SWp1、SWn1、SWp2及びSWn2を生成する。スイッチ切替信号SWp1及びSWn1は、第1の出力制御回路1321、スイッチ134及び第2の記憶回路135に出力され、スイッチ切替信号SWp2及びSWn2は、第1の記憶回路133に出力される。
【0047】
より具体的には、スイッチ制御回路131は、制御信号CNTが“通常モード”を示す場合、状態がそれぞれ例えば“L”(すなわち、接地線GNDの電位)及び“H”(すなわち、電源線VDDの電位)である一対の制御信号CNTp及びCNTnを第1の出力制御回路1321及び第2の出力制御回路1322に出力し、また、クロックCLK1に対して位相がそれぞれ同相及び逆相であるスイッチ切替信号SWp1及びSWn1を第1の出力制御回路1321、スイッチ134及び第2の記憶回路135に出力し、さらに、クロックCLK1に対して位相がそれぞれ同相及び逆相であるスイッチ切替信号SWp2及びSWn2を第1の記憶回路133に出力する。
【0048】
これに対して、スイッチ制御回路131は、制御信号CNTが“テストモード”を示す場合、状態がそれぞれ“H”及び“L”である一対の制御信号CNTp及びCNTnを第1の出力制御回路1321及び第2の出力制御回路1322に出力し、また、状態がそれぞれ“H”及び“L”である一対のスイッチ切替信号SWp1及びSWn1を第1の出力制御回路1321、スイッチ134及び第2の記憶回路135に出力する一方、状態がそれぞれ“L”及び“H”である一対のスイッチ切替信号SWp2及びSWn2を第1の記憶回路133に出力する。
【0049】
第1の出力制御回路1321及び第2の出力制御回路1322からなる出力制御回路132は、第1の出力制御回路1321に入力されるクロックNCLK2に基づく信号を第2の出力制御回路1322から出力するように動作するか、又は、入力されるクロックNCLK2の出力を抑制して、クロックCLK1に基づく信号を第2の出力制御回路1322から出力するように動作する。
【0050】
すなわち、第1の出力制御回路1321は、制御信号CNTp及びCNTnに従って、スイッチ切替信号SWp1及びSWn1に基づいてクロックNCLK2に対して論理否定演算を行い該演算の結果を第2の出力制御回路1322に出力するか、又は、該演算及び該出力を停止する。より具体的には、第1の出力制御回路1321は、一対の制御信号CNTp及びCNTnの状態がそれぞれ“L”及び“H”である場合(すなわち、“通常モード”である場合)、クロックNCLK2に対して論理否定演算を行い、該演算の結果を第2の出力制御回路1322に出力する。これに対して、第1の出力制御回路1321は、制御信号CNTp及びCNTnの状態がそれぞれ“H”及び“L”である場合(すなわち、“テストモード”である場合)、クロックNCLK2に対する論理否定演算及び該演算の結果の出力を停止する。
【0051】
一方、第2の出力制御回路1322は、第1の出力制御回路1321の後段に接続され、制御信号CNTp及びCNTnに従って、第1の出力制御回路1321からの出力又はクロックCLK1に対して論理否定演算を行った結果のいずれかを第1の記憶回路133に出力する。具体的には、第2の出力制御回路1322は、制御信号CNTp及びCNTnの状態がそれぞれ例えば“L”及び“H”である場合(すなわち、“通常モード”である場合)、論理を維持したまま、第1の出力制御回路1321からの出力を第1の記憶回路133に出力する。これに対して、第2の出力制御回路1322は、制御信号CNTp及びCNTnの状態がそれぞれ例えば“H”及び“L”である場合(すなわち、“テストモード”である場合)、クロックCLK1に対して論理否定演算を行い、該演算の結果を第1の記憶回路133に出力する。
【0052】
第1の記憶回路133は、スイッチ切替信号SWp2及びSWn2に従って、第2の出力制御回路1322からの出力の状態を記憶するか、又は、該記憶した状態に対して論理否定演算を行った結果をスイッチ134に出力する。具体的には、第1の記憶回路133は、スイッチ切替信号SWp2及びSWn2の状態がそれぞれ例えば“L”及び“H”である場合、第2の出力制御回路1322からの出力の状態を記憶する。これに対して、第1の記憶回路133は、スイッチ切替信号SWp2及びSWn2の状態がそれぞれ例えば“H”及び“L”である場合、該記憶した状態に対して論理否定演算を行い、該演算の結果をスイッチ134に出力する。なお、第1の記憶回路133は、制御回路12から出力されるリセット信号RSTに従って、記憶している状態の初期化(例えば、記憶している状態を“H”に設定する)を行う。
【0053】
スイッチ134は、スイッチ切替信号SWp1及びSWn1に従って、第1の記憶回路133からの出力を第2の記憶回路135に出力する。具体的には、スイッチ134は、スイッチ切替信号SWp1及びSWn1の状態がそれぞれ例えば“H”及び“L”である場合、導通状態となり、第1の記憶回路133からの出力を第2の記憶回路135に出力する。これに対して、スイッチ134は、スイッチ切替信号SWp1及びSWn1の状態がそれぞれ例えば“L”及び“H”である場合、非導通状態となり、第1の記憶回路133からの出力の第2の記憶回路135への出力を停止する。
【0054】
第2の記憶回路135は、スイッチ切替信号SWp1及びSWn1に従って、スイッチ134からの出力の状態を記憶するとともに、該出力に対して論理否定演算を行うか、又は該記憶した状態に対して論理否定演算を行うとともに、論理否定演算の結果をクロックNCLK2として第1の出力制御回路1321及び論理否定回路136に出力する。具体的には、第2の記憶回路135は、スイッチ切替信号SWp1及びSWn1の状態がそれぞれ例えば“H”及び“L”である場合、スイッチ134からの出力の状態を記憶するとともに、該出力に対して論理否定演算を行い、該演算の結果をクロックNCLK2として第1の出力制御回路1321及び論理否定回路136に出力する。これに対して、第2の記憶回路135は、スイッチ切替信号SWp1及びSWn1の状態がそれぞれ例えば“L”及び“H”である場合、該記憶した状態に対して論理否定演算を行い、該演算の結果をクロックNCLK2として第1の出力制御回路1321及び論理否定回路136に出力する。第2の記憶回路135は、制御回路12から出力されるリセット信号RSTに従って、記憶している状態の初期化(例えば、記憶している状態を“L”に設定する)を行う。
【0055】
論理否定回路136は、例えばインバータ回路である。論理否定回路136は、第2の記憶回路135から出力されるクロックNCLK2に対して論理否定演算を行い、該演算の結果をクロックCLK2として、順序回路11(2)及び論理回路10(3)に出力する。
【0056】
以上のように構成される分周回路13は、上述したように、“通常モード”ではクロックCLK1を分周する分周回路として動作する一方で、“テストモード”ではクロックCLK1の論理を維持したまま出力するバッファとして動作する。本例では、分周回路13は2分周回路として構成されているが、これに限られるものではなく、n分周回路として構成されても良い。分周回路13がn分周回路として構成される場合、順序回路130が該n分周回路の最後段の順序回路に適用される。したがって、本実施形態に係る半導体集積回路1は、従来の分周回路の最後段の順序回路に順序回路130が適用されるだけで分周回路13が設計されるので、低コストで設計され得る。なお、分周回路13の“通常モード”及び“テストモード”での動作の詳細については後述する。
【0057】
図3は、本発明の一実施形態に係る分周回路におけるスイッチ制御回路の構成の一例を示す図である。同図に示すように、スイッチ制御回路131は、例えば、複数の論理否定回路1311と、複数の選択回路1312とを含んで構成される。
【0058】
論理否定回路1311は、例えばインバータ回路である。論理否定回路1311は、入力される信号に対して論理否定演算を行い、該演算の結果を出力する。なお、本例では、論理否定回路1311(1)乃至1311(4)が示されている。
【0059】
選択回路1312は、例えばマルチプレクサである。選択回路1312は、選択端子SLに入力される信号の状態が“L”である場合、入力端子A0に入力される信号を選択する一方で、選択端子SLに入力される信号の状態が“H”である場合、入力端子A1に入力される信号を選択し、該選択の結果を出力端子Yから出力する。なお、本例では、選択回路1312(1)乃至1312(4)が示されている。
【0060】
次に、スイッチ制御回路131の各構成要素の動作について説明する。
【0061】
論理否定回路1311(1)は、制御回路12から出力される制御信号CNTに対して論理否定演算を行い、該演算の結果を制御信号CNTnとして、論理否定回路1311(2)、第1の出力制御回路1321、及び第2の出力制御回路1322に出力する。
【0062】
論理否定回路1311(2)は、論理否定回路1311(1)から出力される制御信号CNTnに対して論理否定演算を行い、該演算の結果を制御信号CNTpとして、選択回路1312(1)乃至1312(4)の選択端子SL、第1の出力制御回路1321、及び第2の出力制御回路1322に出力する。
【0063】
論理否定回路1311(3)は、論理回路10(1)から出力されるクロックCLK1に対して論理否定演算を行い、該演算の結果を選択回路1312(1)及び1312(2)の入力端子A0及び論理否定回路1311(4)に出力する。
【0064】
論理否定回路1311(4)は、論理否定回路1311(3)からの出力に対して論理否定演算を行い、該演算の結果を選択回路1312(3)及び1312(4)の入力端子A0に出力する。
【0065】
選択回路1312(1)は、制御信号CNTpに従って、論理否定回路1311(3)から入力端子A0に入力されるクロック又は入力端子A1に入力される接地線GNDの電位“L”を有する信号のいずれかを選択し、該選択した信号をスイッチ切替信号SWn1として第1の出力制御回路1321、スイッチ134及び第2の記憶回路135に出力する。
【0066】
選択回路1312(2)は、制御信号CNTpに従って、論理否定回路1311(3)から入力端子A0に入力されるクロック又は入力端子A1に入力される電源線VDDの電位“H”を有する信号のいずれかを選択し、該選択した信号をスイッチ切替信号SWn2として第1の記憶回路133に出力する。
【0067】
選択回路1312(3)は、制御信号CNTpに従って、論理否定回路1311(4)から入力端子A0に入力されるクロック又は入力端子A1に入力される電源線VDDの電位“H”を有する信号のいずれかを選択し、該選択した信号をスイッチ切替信号SWp1として第1の出力制御回路1321、スイッチ134及び第2の記憶回路135に出力する。
【0068】
選択回路1312(4)は、制御信号CNTpに従って、論理否定回路1311(4)から入力端子A0に入力されるクロック又は入力端子A1に入力される接地線GNDの電位“L”を有する信号のいずれかを選択し、該選択した信号をスイッチ切替信号SWp2として第1の記憶回路133に出力する。
【0069】
図4は、本発明の一実施形態に係る分周回路における第1の出力制御回路及び第2の出力制御回路の構成の一例を示す図である。上述したように、第1の出力制御回路1321は、動作モードに従って、スイッチ切替信号SWp1及びSWn1に基づいてクロックNCLK2に対して論理否定演算を行い該演算の結果を出力するか、又は該演算及び該出力を停止する回路である。同図に示すように、第1の出力制御回路1321は、例えば、トランジスタTR21及びTR26によって構成されるインバータ回路に対して、トランジスタTR21及びTR26のドレイン間の導通/非導通を制御するトランジスタTR22乃至TR25が設けられることによって構成される。
【0070】
具体的には、トランジスタTR21乃至TR23は、例えばP型トランジスタであり、また、トランジスタTR24乃至TR26は、例えばN型トランジスタである。トランジスタTR21乃至26は、互いに直列に接続されており、トランジスタTR21のソースは電源線VDDに接続される一方、トランジスタTR26のソースは接地線GNDに接続される。また、トランジスタTR23及びTR24のドレインは、第2の出力制御回路1322に接続されている。トランジスタTR21及び26のゲートにはクロックNCLK2が、トランジスタTR22のゲートにはスイッチ切替信号SWp1が、トランジスタTR23のゲートには制御信号CNTpが、トランジスタTR24のゲートには制御信号CNTnが、トランジスタTR25のゲートにはスイッチ切替信号SWn1がそれぞれ入力される。
【0071】
このように構成される第1の出力制御回路1321において、一対の制御信号CNTp及びCNTnの状態がそれぞれ“L”及び“H”である場合(すなわち“通常モード”である場合)、トランジスタTR23及びTR24は、いずれもそのドレイン及びソース間を導通状態にする。トランジスタTR22及びTR25は、スイッチ切替信号SWp1及びSWn1の状態がそれぞれ“L”及び“H”である間、いずれもそのドレイン及びソース間を導通状態にする。通常モードでは、スイッチ切替信号SWp1及びSWn1は、クロックCLK1(
図2及び
図3を参照)に対して位相がそれぞれ同相及び逆相であるため、第1の出力制御回路1321は、スイッチ切替信号SWp1及びSWn1の交番タイミングに基づいて、クロックNCLK2に対して論理否定演算を行い、該演算の結果を第2の出力制御回路1322に出力する。これに対して、制御信号CNTp及びCNTnの状態がそれぞれ“H”及び“L”である場合(すなわち“テストモード”である場合)、トランジスタTR23及びTR24は、いずれもそのドレイン及びソース間を非導通状態にする。これにより、第1の出力制御回路1321は、その出力及び演算を停止する。
【0072】
第2の出力制御回路1322は、上述したように、動作モードに従って、クロックCLK1に対して論理否定演算を行い、該演算の結果を出力するか、又は、第1の出力制御回路1321からの出力をそのまま出力する回路である。第2の出力制御回路1322は、例えば、トランジスタTR32及びTR35で構成されるインバータ回路に対して、トランジスタTR32及びTR35のドレイン間の導通/非導通を制御するトランジスタTR33及びTR34と、電源線VDDからトランジスタTR32及びTR33に流れる電流量を制御するトランジスタTR31と、トランジスタTR34及びTR35から接地線GNDに流れる電流量を制御するトランジスタTR36とが設けられ、該インバータ回路の出力端(すなわち、トランジスタTR33及びTR34のドレイン)が第1の出力制御回路1321及び第1の記憶回路133を接続する信号線に接続されることによって構成される。
【0073】
具体的には、トランジスタTR31乃至TR33は、例えばP型トランジスタであり、また、トランジスタTR34乃至TR36は、例えばN型トランジスタである。TRトランジスタTR31乃至TR36は、互いに直列に接続されており、トランジスタTR31のソースは電源線VDDに接続される一方、トランジスタTR36のソースは接地線GNDに接続される。また、トランジスタTR33及びTR34のドレインは、第1の出力制御回路1321及び第1の記憶回路133を接続する信号線に接続されている。トランジスタTR31のゲートには接地線GNDの電位を有する信号が、トランジスタTR32及び35のゲートにはクロックCLK1が、トランジスタTR33のゲートには制御信号CNTnが、トランジスタTR34のゲートには制御信号CNTpが、トランジスタTR36のゲートには電源線VDDの電位を有する信号がそれぞれ入力される。
【0074】
このように構成される第2の出力制御回路1322において、制御信号CNTp及びCNTnの状態がそれぞれ“L”及び“H”である場合(すなわち“通常モード”である場合)、トランジスタTR33及びTR34が、いずれもそのドレイン及びソース間を非導通状態にする。これにより、第2の出力制御回路1322は、第1の出力制御回路1321からの出力をそのまま第1の記憶回路133に出力する。これに対して、制御信号CNTp及びCNTnの状態がそれぞれ“H”及び“L”である場合(すなわち“テストモード”である場合)、トランジスタTR33及びTR34は、いずれもそのドレイン及びソース間を導通状態にする。これにより、第2の出力制御回路1322は、クロックCLK1に対して論理否定演算を行い、該演算の結果を第1の記憶回路133に出力する。なお、分周回路13が“テストモード”である場合”、上述したように第1の出力制御回路1321がその出力を停止するため、第1の出力制御回路1321の出力と第2の出力制御回路1322の出力との衝突は回避される。
【0075】
図5は、本発明の一実施形態に係る分周回路における第1の記憶回路、スイッチ、及び第2の記憶回路の構成を示す図である。同図は、
図2に示したV−V線で囲まれた部分に対応する。
【0076】
同図に示すように、第1の記憶回路133は、例えば、論理否定回路1331の後段に否定論理積回路1332が接続され、該否定論理積回路1332の後段にトランジスタTR51(1)及びTR52(1)からなるスイッチ1333が接続され、該スイッチ1333の後段に論理否定回路1331が接続される環状構造を有する。また、論理否定回路1331の入力端及び出力端に、第2の出力制御回路1322及びスイッチ134がそれぞれ接続される。なお、第1の記憶回路133は、入力されるスイッチ切替信号SWp2及びSWn2が動作モードによって異なる点を除いて、一般的なD型フリップフロップのものと同じであるため、各構成要素の詳細については、その説明を省略する。
【0077】
また、本例では、第1の記憶回路133はリセット機能を有しているが、これに限られるものではなく、第1の記憶回路133はリセット機能を有さなくても良い。かかる場合において、第1の記憶回路133は、否定論理積回路1332の代わりに論理否定回路を含んで構成される。
【0078】
第1の記憶回路133の動作について説明する。なお、リセット信号RSTの状態は“H”であるものとする。
【0079】
“通常モード”では、スイッチ切替信号SWp2及びSWn2の位相は、クロックCLK1に対してそれぞれ同相及び逆相となる。かかる場合において、第1の記憶回路133は、スイッチ切替信号SWp2及びSWn2の状態がそれぞれ“L”及び“H”である場合、環状構造によって保持する信号の状態を第2の出力制御回路1322からの出力の状態に更新する一方で、スイッチ切替信号SWp2及びSWn2の状態が“H”及び“L”である場合、該更新した状態に対して論理否定演算を行い、該演算の結果をスイッチ134に出力する。
【0080】
これに対して、“テストモード”では、スイッチ切替信号SWp2及びSWn2の状態はそれぞれ“L”及び“H”となる。かかる場合において、第1の記憶回路133は、スイッチ1333が非導通状態になるため、第2の出力制御回路1322からの出力に対して論理否定演算を行い、該演算の結果をスイッチ134に出力する。
【0081】
スイッチ134は、トランジスタTR51(2)及びTR52(2)から成り、第1の記憶回路133の後段に接続される。スイッチ134は、スイッチ切替信号SWp1及びSWn1に従って、第1の記憶回路133からの出力を第2の記憶回路135に出力する。具体的には、スイッチ134は、スイッチ切替信号SWp1及びSWn1の状態がそれぞれ“H”及び“L”である場合、導通状態となり、第1の記憶回路133からの出力を第2の記憶回路135に出力する。これに対して、スイッチ134は、スイッチ切替信号SWp1及びSWn1の状態がそれぞれ“L”及び“H”である場合、非導通状態となり、第1の記憶回路133からの出力の第2の記憶回路135への出力を停止する。
【0082】
第2の記憶回路135は、否定論理積回路1351の後段に論理否定回路1352が接続され、該論理否定回路1352の後段にトランジスタTR51(3)及びTR52(3)から成るスイッチ1353が接続され、該スイッチ1353の後段に否定論理積回路1351が接続される環状構造を有する。また、第2の記憶回路135において、否定論理積回路1351の入力端及び出力端にスイッチ134及び論理否定回路136がそれぞれ接続される。なお、第2の記憶回路135は、入力されるスイッチ切替信号SWp1及びSWn1が動作モードによって異なる点を除いて、一般的なD型フリップフロップのものと同じであるため、各構成要素の詳細については、第1の記憶回路133と同様にその説明を省略する。
【0083】
また、本例では、第2の記憶回路135はリセット機能を有しているが、これに限られるものではなく、第2の記憶回路135はリセット機能を有さなくても良い。かかる場合において、第2の記憶回路135は、否定論理積回路1351の代わりに論理否定回路を含んで構成される。
【0084】
次に、第2の記憶回路135の動作について説明する。なお、リセット信号RSTの状態は“H”であるものとする。
【0085】
“通常モード”では、スイッチ切替信号SWp1及びSWn1の位相は、クロックCLK1に対してそれぞれ同相及び逆相となる。かかる場合において、第2の記憶回路135は、スイッチ切替信号SWp1及びSWn1の状態がそれぞれ“H”及び“L”である場合、環状構造によって保持する信号の状態をスイッチ134からの出力の状態に更新するとともに、該出力に対して論理否定演算を行い、該演算の結果を論理否定回路136に出力する一方で、スイッチ切替信号SWp1及びSWn1の状態がそれぞれ“L”及び“H”である場合、該更新した状態に対して論理否定演算を行い、該演算の結果を論理否定回路136に出力する。
【0086】
これに対して、“テストモード”では、スイッチ切替信号SWp1及びSWn1の状態はそれぞれ“H”及び“L”となる。かかる場合において、第2の記憶回路135は、スイッチ1353が非導通状態になるため、スイッチ134からの出力に対して否定論理積回路1351によって論理否定演算を行い、該演算の結果を第1の出力制御回路1321及び論理否定回路136に出力する。
【0087】
[通常モードでの分周回路13の動作]
図6は、本発明の一実施形態に係る半導体集積回路における分周回路の“通常モード”での動作を説明するための図である。
【0088】
スイッチ制御回路131は、論理が制御信号CNTに対して同じである制御信号CNTpと、論理が制御信号CNTに対して逆である制御信号CNTnを出力する。また、スイッチ制御回路131は、“通常モード”では、位相がクロックCLK1に対して同相であるスイッチ切替信号SWp1及びSWp2と、位相がクロックCLK1に対して逆相であるスイッチ切替信号SWn1及びSWn2とを出力する。
【0089】
これにより、分周回路13は、“通常モード”で、順序回路130が一般的なD型フリップフロップとして動作するため、クロックCLK1を2分周する分周回路として動作する。この場合、分周回路13におけるクロックの経路は、第1の出力制御回路1321から、第2の出力制御回路1322、第1の記憶回路133、スイッチ134及び第2の記憶回路135を介して論理否定回路136に至るまでの経路となる。
【0090】
[テストモードでの分周回路13の動作]
図7は、本発明の一実施形態に係る半導体集積回路における分周回路の“テストモード”での動作を説明するための図である。上述したように、スイッチ制御回路131は、論理が制御信号CNTに対して同じである制御信号CNTpと、論理が制御信号CNTに対して逆である制御信号CNTnとを出力する。また、スイッチ制御回路131は、“テストモード”では、スイッチ切替信号SWp1及びSWn2の状態を“H”とする一方で、スイッチ切替信号SWn1及びSWp2の状態を“L”とし、該4つの信号を各構成要素に出力する。
【0091】
第1の出力制御回路1321は、上述したように、“テストモード”では、その動作を停止する。
【0092】
第2の出力制御回路1322は、上述したように、“テストモード”では、クロックCLK1に対して論理否定演算を行い、該演算の結果を第1の記憶回路133に出力する。
【0093】
第1の記憶回路133は、“テストモード”では、スイッチ切替信号SWp2及びSWn2によってスイッチ1333が常に非導通状態となるため、第2の出力制御回路1322からの出力に対して論理否定演算を行い、スイッチ134を介して該演算の結果を第2の記憶回路135に出力する論理否定回路として動作する。
【0094】
スイッチ134は、“テストモード”では、スイッチ切替信号SWp1及びSWn1によって常に導通状態となるため、第1の記憶回路133からの出力をそのまま第2の記憶回路135に出力する。
【0095】
第2の記憶回路135は、“テストモード”では、スイッチ切替信号SWp1及びSWn1によってスイッチ1353が常に非導通状態となるため、第1の記憶回路133からの出力に対して論理否定演算を行い、該演算の結果を論理否定回路136に出力する論理否定回路として動作する。
【0096】
論理否定回路136は、第2の記憶回路135から出力されるクロックNCLK2に対して論理否定演算を行い、該演算の結果をクロックCLK2として論理回路10(3)及び順序回路11(2)に出力する。
【0097】
したがって、分周回路13は、“テストモード”では、第2の出力制御回路1322に入力されるクロックCLK1に対して、4回論理否定演算を行い、該演算の結果をクロックCLK2として論理回路10(3)及び順序回路11(2)に出力する。これにより、分周回路13は、“テストモード”ではバッファとして動作することができる。なお、分周回路13は、論理否定回路を奇数個追加又は除外することによって、“テストモード”において論理否定回路としても動作し得る。
【0098】
“テストモード”では、分周回路13におけるクロックの経路は、第2の出力制御回路1322から、第1の記憶回路133、スイッチ134及び第2の記憶回路135を介して論理否定回路136に至るまでの経路となる。すなわち、分周回路13における“テストモード”でのクロックの経路(第1の経路)は、第1の出力制御回路1321を含まないことを除いて、“通常モード”でのクロックの経路(第2の経路)と同じであり、分周回路13における“テストモード”でのクロックの経路は、“通常モード”のクロックの経路に含まれる。このように、本実施形態に係る分周回路13は、“通常モード”と“テストモード”とで、分周回路13のクロックの経路が第1の出力制御回路1321を含むか否かという点を除いて同じであることによって、“通常モード”及び“テストモード”の内部的な遅延時間を実質的に同じにすることができる。
【0099】
図8は、本発明の一実施形態に係る分周回路の各モードにおける動作を説明するためのタイミングチャートである。まず、同図(a)を参照して、分周回路13は、“通常モード”で2分周回路として動作する場合、クロックCLK1を2分周し、所定の遅延時間d1を与え、該分周及び遅延時間の付与の結果をクロックCLK2として出力する。
【0100】
次に、同図(b)を参照して、分周回路13は、“テストモード”でバッファとして動作する場合、クロックCLK1に対して所定の遅延時間d2を与え、該遅延時間の付与の結果をクロックCLK2として出力する。
【0101】
上述したように、分周回路13の内部的な遅延時間である所定の遅延時間d1及びd2は、実質的に同じになる。すなわち、所定の遅延時間d1及びd2は、半導体集積回路1における順序回路11(1)から順序回路11(2)までのデータパスに例えば故障による遅延(以下「遅延故障」という)が存在する場合であっても、順序回路11(2)においてクロックCLK2でデータ信号D2をラッチすることによって、該遅延故障が順序回路11(2)から出力されるデータ信号Q2に現れる程度に同じになる。これにより、本実施形態に係る半導体集積回路1においては、順序回路11(1)から順序回路11(2)までのデータパスの遅延故障が容易に検出されるようになる。
【0102】
図9は、本発明の一実施形態に係る半導体集積回路の各モードにおける動作を説明するためのタイミングチャートである。同図(a)乃至(c)において、クロックCLK1が交番するタイミングを時刻t1乃至t10と定義する。同図(a)は、半導体集積回路1のどこにも遅延故障がなく、かつ、半導体集積回路1が“通常モード”で動作している場合の各種の信号のタイミングチャートである。
【0103】
時刻t1で、論理回路10(2)は、データ信号D2の状態をX0に維持している。時刻t1で、分周回路13は、クロックCLK2の状態を“L”に維持している。時刻t1で、順序回路11(2)は、クロックCLK2の状態が“L”であるため、データ信号D2の状態X0を未だ取り込まない。
【0104】
時刻t1及びt2の間で、論理回路10(2)は、クロックCLK1に基づく順序回路11(1)の出力の変化を受け、該出力に基づいてデータ信号D2の状態をX1に変化させる。論理回路10(2)が出力を変化させた時刻より後であり、時刻t1から所定の遅延時間d1が経過した時刻で、分周回路13は、クロックCLK2の状態を“H”に変化させる。また順序回路11(2)は、時刻t1から所定の遅延時間d1が経過した時刻で、クロックCLK2に基づいて、データ信号D2の状態X1を取り込む。
【0105】
時刻t2で、論理回路10(2)は、データ信号D2の状態をX1に維持している。時刻t2で、順序回路11(2)は、データ信号Q2の状態をX1として出力する。
【0106】
時刻t3乃至t5で、論理回路10(2)は、データ信号D2の状態をX1に維持している。時刻t3から所定の遅延時間d1だけ経過した時刻で、分周回路13は、クロックCLK2の状態を“L”に変化させる。時刻t3乃至t5で、順序回路11(2)は、データ信号Q2の状態をX1に維持している。
【0107】
時刻t5及びt6の間で、論理回路10(2)は、クロックCLK1に基づく順序回路11(1)の出力の変化を受け、該出力に基づいてデータ信号D2の状態をX2に変化させる。論理回路10(2)が出力を変化させた時刻より後であり、時刻t5から所定の遅延時間d1が経過した時刻で、分周回路13は、クロックCLK2の状態を“H”に変化させる。また、時刻t5から所定の遅延時間d1が経過した時刻で、順序回路11(2)は、クロックCLK2に基づいて、データ信号D2の状態X2を取り込む。
【0108】
時刻t6で、論理回路10(2)は、データ信号D2の状態をX2に維持している。時刻t6で、順序回路11(2)は、データ信号Q2の状態をX2として出力する。
【0109】
時刻t7乃至t10において、半導体集積回路1は、時刻t3乃至t6と同様に動作する。
【0110】
半導体集積回路1は、“通常モード”で、かつ、正常に動作する場合(すなわち、どこにも遅延故障がない場合)、時刻t2乃至t5でデータ信号Q2の状態をX1として出力し、時刻t6乃至t9でデータ信号Q2の状態をX2として出力し、時刻t10でデータ信号Q2の状態をX3として出力する。
【0111】
同図(b)は、半導体集積回路1の順序回路11(1)から順序回路11(2)までのデータパスに遅延故障があり、かつ、半導体集積回路1が“通常モード”で動作している場合の各種の信号のタイミングチャートである。
【0112】
時刻t1で、論理回路10(2)は、データ信号D2の状態をX0に維持している。時刻t1で、分周回路13は、クロックCLK2の状態を“L”に維持している。時刻t1で、順序回路11(2)は、クロックCLK2の状態が“L”であるため、データ信号D2の状態X0を未だ取り込まない。
【0113】
時刻t1から所定の遅延時間d1が経過した時刻で、分周回路13は、クロックCLK2の状態を“H”に変化させる。また、時刻t1から所定の遅延時間d1が経過した時刻で、順序回路11(2)は、クロックCLK2に基づいて、データ信号D2の状態X0を取り込む。
【0114】
時刻t2で、論理回路10(2)は、クロックCLK1に基づく順序回路11(1)の出力の変化を受け、該出力に基づいてデータ信号D2の状態をX1に変化させる。時刻t2で、順序回路11(2)は、データ信号Q2の状態をX0として出力する。
【0115】
時刻t3乃至t5で、論理回路10(2)は、データ信号D2の状態をX1に維持している。時刻t3から所定の遅延時間d1だけ経過した時刻で、分周回路13は、クロックCLK2の状態を“L”に変化させる。時刻t3乃至t5で、順序回路11(2)は、データ信号Q2の状態をX0に維持している。
【0116】
時刻t5から所定の遅延時間d1が経過した時刻で、分周回路13は、クロックCLK2の状態を“H”に変化させる。また、時刻t5から所定の遅延時間d1が経過した時刻で、順序回路11(2)は、クロックCLK2に基づいて、データ信号D2の状態X1を取り込む。
【0117】
時刻t6で、論理回路10(2)は、クロックCLK1に基づく順序回路11(1)の出力の変化を受け、該出力に基づいてデータ信号D2の状態をX2に変化させる。時刻t6で、順序回路11(2)は、データ信号Q2の状態をX1として出力する。
【0118】
時刻t7乃至t10において、半導体集積回路1は、時刻t3乃至t6と同様に動作する。
【0119】
半導体集積回路1は、“通常モード”で、かつ、誤動作する場合(すなわち、遅延故障が存在する場合)、時刻t2乃至t5でデータ信号Q2の状態をX0として出力し、時刻t6乃至t9でデータ信号Q2の状態をX1として出力し、時刻t10でデータ信号Q2の状態をX2として出力する。
【0120】
同図(c)は、本発明の一実施形態に係る半導体集積回路1の順序回路11(1)から順序回路11(2)までのデータパスに遅延故障があり、かつ、半導体集積回路1が“テストモード”で動作している場合の各種の信号のタイミングチャートである。
【0121】
時刻t1で、論理回路10(2)は、データ信号D2の状態をX0に維持している。時刻t1で、分周回路13は、クロックCLK2の状態を“L”に維持している。時刻t1で、順序回路11(2)は、クロックCLK2の状態が“L”であるため、データ信号D2の状態X0を未だ取り込まない。
【0122】
時刻t1から所定の遅延時間d2が経過した時刻で、分周回路13は、クロックCLK2の状態を“H”に変化させる。また、時刻t1から所定の遅延時間d2が経過した時刻で、順序回路11(2)は、クロックCLK2に基づいて、データ信号D2の状態X0を取り込む。
【0123】
時刻t2で、論理回路10(2)は、クロックCLK1に基づく順序回路11(1)の出力の変化を受け、該出力に基づいてデータ信号D2の状態をX1に変化させる。時刻t2で、分周回路13は、クロックCLK2の状態を“H”に維持している。時刻t2で、順序回路11(2)は、データ信号Q2の状態をX0として出力する。
【0124】
時刻t2から所定の遅延時間d2だけ経過した時刻で、分周回路13は、クロックCLK2の状態を“L”に変化させる。
【0125】
時刻t3で、論理回路10(2)は、データ信号D2の状態をX1に維持している。時刻t3で、順序回路11(2)は、データ信号Q2の状態をX0に維持している。
【0126】
時刻t3から所定の遅延時間d2だけ経過した時刻で、分周回路13は、クロックCLK2の状態を“H”に変化させる。時刻t3から所定の遅延時間d2だけ経過した時刻で、順序回路11(2)は、クロックCLK2に基づいて、データ信号D2の状態X1を取り込む。
【0127】
時刻t4で、論理回路10(2)は、データ信号D2の状態をX1に維持している。時刻t4で、順序回路11(2)は、データ信号Q2の状態をX1として出力する。
【0128】
時刻t4から所定の遅延時間d2だけ経過した時刻で、分周回路13は、クロックCLK2の状態を“L”に変化させる。
【0129】
時刻t5で、論理回路10(2)は、データ信号D2の状態をX1に維持している。時刻t5で、順序回路11(2)は、データ信号Q2の状態をX1に維持している。
【0130】
時刻t5から所定の遅延時間d2だけ経過した時刻で、分周回路13は、クロックCLK2の状態を“H”に変化させる。時刻t5から所定の遅延時間d2だけ経過した時刻で、順序回路11(2)は、クロックCLK2に基づいて、データ信号D2の状態X1を取り込む。
【0131】
時刻t6で、論理回路10(2)は、クロックCLK1に基づく順序回路11(1)の出力の変化を受け、該出力に基づいてデータ信号D2の状態をX2に変化させる。時刻t6で、順序回路11(2)は、データ信号Q2の状態をX1に維持している。
【0132】
時刻t7乃至t10において、半導体集積回路1は、時刻t3乃至t6と同様に動作する。
【0133】
半導体集積回路1は、“テストモード”で、かつ、誤動作する場合(すなわち、遅延故障が存在する場合)、時刻t2及びt3でデータ信号Q2の状態をX0として出力し、時刻t4乃至t7でデータ信号Q2の状態をX1として出力し、時刻t8乃至t10でデータ信号Q2の状態をX2として出力する。
【0134】
上述したように、半導体集積回路1は、“通常モード”で、かつ、正常動作する場合、時刻t2乃至t5でデータ信号Q2の状態をX1として出力する。これに対して、半導体集積回路1は、“テストモード”で、かつ、誤動作する場合、時刻t2及びt3でデータ信号Q2の状態をX0として出力する。よって、半導体集積回路1は、“テストモード”で、かつ、誤動作する場合、時刻t2及びt3で、正常動作する場合の出力と異なる状態の出力をデータ信号Q2として出力する。したがって、半導体集積回路1は、遅延故障が存在する場合にデータ信号Q2の状態が変化するため、順序回路11(1)から順序回路11(2)までのデータパスに遅延故障がある場合にも、該遅延故障が容易に検出されるようになる。
【0135】
図10は、本発明の一実施形態に係る半導体集積回路の動作を示すフローチャートである。同図に示すように、本実施形態に係る半導体集積回路1は、例えば外部から入力される設定信号SETに従って動作モードを選択する(S1001)。
【0136】
半導体集積回路1は、選択した動作モードが“テストモード”である場合(S1002のYes)、“テストモード”で動作し、分周回路13によってクロックCLK1をクロックCLK2として出力する(S1003)。具体的には、半導体集積回路1は、分周回路13によって、クロックCLK1に対して、第2の出力制御回路1322、第1の記憶回路133、スイッチ134、第2の記憶回路135及び論理否定回路136を含む経路を介して所定の遅延時間d2を与え、クロックCLK2として出力する。
【0137】
これに対して、半導体集積回路1は、選択した動作モードが“通常モード”である場合(S1002のNo)、“通常モード”で動作し、分周回路13によってクロックCLK1を所定の分周数で分周し、該分周結果をクロックCLK2として出力する(S1004)。具体的には、半導体集積回路1は、分周回路13によって、クロックCLK1を所定の分周数で分周し、第1の出力制御回路1321、第2の出力制御回路1322、第1の記憶回路133、スイッチ134、第2の記憶回路135及び論理否定回路136を含む経路を介して所定の遅延時間d1を与え、クロックCLK2として出力する。
【0138】
上述したように、半導体集積回路1は、分周回路13の“通常モード”及び“テストモード”での分周回路13の内部的な遅延時間である所定の遅延時間d1及びd2が実質的に同じであることから、順序回路11(1)から順序回路11(2)までのデータパスの遅延故障が容易に検出されるようになる。
【0139】
上記各実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱しない限り、さまざまな形態で実施することができる。
【0140】
例えば、本明細書に開示される方法においては、その結果に矛盾が生じない限り、ステップ、動作又は機能を並行して又は異なる順に実施しても良い。説明されたステップ、動作及び機能は、単なる例として提供されており、ステップ、動作及び機能のうちのいくつかは、発明の要旨を逸脱しない範囲で、省略でき、また、互いに結合させることで一つのものとしてもよく、また、他のステップ、動作又は機能を追加してもよい。
【0141】
また、本明細書では、さまざまな実施形態が開示されているが、一の実施形態における特定のフィーチャ(技術的事項)を適宜改良しながら、他の実施形態に追加し、又は該他の実施形態における特定のフィーチャと置換することができ、そのような形態も本発明の要旨に含まれる。
【0142】
さらに、以下のような形態も、本発明の要旨に含まれる。
【0143】
(付記1)
少なくとも第1のモード又は第2のモードのいずれかで動作する分周回路と、前記第1のモード又は前記第2のモードのいずれかで前記分周回路が動作するように、前記分周回路を制御する制御回路と、を備え、前記分周回路は、前記第1のモードにおいて、入力される第1のクロックを、第1の経路を含む第2の経路を介して、所定の分周数で分周することによって、第2のクロックを生成し、出力し、前記第2のモードにおいて、前記第1のクロックを、前記第1の経路を介して、前記第2のクロックとして出力し、前記分周回路は、第1の出力制御回路と、前記第1の出力制御回路に接続された第2の出力制御回路と、を含む出力制御回路を備え、前記第1のモードにおいて、前記第1の出力制御回路は、前記第1のクロックに基づく信号を前記第2の出力制御回路に出力し、前記第2の出力制御回路は、前記第1の出力制御回路から入力される前記第1のクロックに基づく信号を出力し、前記第2のモードにおいて、前記第1の出力制御回路は、前記第1のクロックに基づく信号を前記第2の出力制御回路に出力することなく、前記第2の出力制御回路は、前記第1のクロックに基づく信号を出力する、半導体集積回路。
【0144】
(付記2)
前記第1の出力制御回路は、前記第1のモードにおいて、前記第1のクロックに基づいて、前記第1の出力制御回路に入力される信号に対して論理否定を行い、該論理否定の結果を前記第2の出力制御回路に出力し、前記第2のモードにおいて、出力を停止する、付記1記載の半導体集積回路。
【0145】
(付記3)
前記第2の出力制御回路は、前記第1のモードにおいて、前記第1の出力制御回路から入力される前記信号を出力し、前記第2のモードにおいて、前記第1のクロックに対して論理否定を行い、該論理否定の結果を出力する、付記1記載の半導体集積回路。
【0146】
(付記4)
前記分周回路は、前記第2の出力制御回路に接続された第1の記憶回路と、前記第1の記憶回路に接続されたスイッチと、前記スイッチに接続された第2の記憶回路と、前記第1の記憶回路、前記スイッチ、及び前記第2の記憶回路の少なくともいずれかを制御するスイッチ制御回路とを含み、前記第1の経路は、前記第2の出力制御回路から前記第2の記憶回路までの経路であり、前記第2の経路は、前記第1の出力制御回路から前記第2の記憶回路までの経路である、付記1記載の半導体集積回路。
【0147】
(付記5)
前記スイッチ制御回路は、前記第2のモードにおいて、論理否定回路として動作するように、前記第1の記憶回路を制御する、付記4記載の半導体集積回路。
【0148】
(付記6)
前記スイッチ制御回路は、前記第2のモードにおいて、導通状態となるように、前記スイッチを制御する、付記4記載の半導体集積回路。
【0149】
(付記7)前記スイッチ制御回路は、前記第2のモードにおいて、論理否定回路として動作するように、前記第2の記憶回路を制御する、付記4記載の半導体集積回路。
【0150】
(付記8)
第1の経路及び該第1の経路を含む第2の経路を備える順序回路であって、第1のモードにおいて、入力される第1のクロックに基づいて、入力される所定の信号を前記第2の経路を介して第2のクロックとして出力し、第2のモードにおいて、前記第1のクロックを、前記第1の経路を介して、前記第2のクロックとして出力する、順序回路。
【0151】
(付記9)
前記第1のモードにおいて、入力される前記第1のクロックに基づく信号を出力し、前記第2のモードにおいて、入力される前記第1のクロックに基づく信号を出力することなく、前記第1のクロックに基づく信号を出力する出力制御回路をさらに備える、付記8記載の順序回路。
【0152】
(付記10)付記8記載の順序回路を備える分周回路。