(57)【要約】【課題】半導体集積回路の出力バッファに接続された出力レジスタ（フリップフロップ）の動作保証を確実にする。【解決手段】半導体集積回路１００は、基準クロックが入力されるＰＬＬ回路２１によりｎ倍クロックを生成し、当該ｎ倍クロックから、基準クロックの周期の１／ｎ倍の単位で段階的に遅延させた複数の遅延クロックを生成し、生成された複数の遅延クロックの中から出力レジスタ群６を駆動する遅延クロックを択一的に選択して出力レジスタ群６に出力する出力クロック生成回路２と、基準クロックに同期して特定の機能を実行するファンクション回路３と、ファンクション回路３から出力され、出力レジスタ群６に入力されるデータと、出力レジスタ群６から出力されたデータの比較照合を行うことによって、出力レジスタ群６の動作状態をテストするテスト回路５と、を備える。【選択図】図１
2006003152.tif 000002
【特許請求の範囲】
【請求項１】
基準クロックにより動作する半導体集積回路において、
出力バッファに接続された出力レジスタと、
前記基準クロックが入力される位相同期ループ回路により、当該基準クロックの周波数をｎ（自然数）倍したｎ倍クロックを生成し、当該ｎ倍クロックから、当該基準クロックの周期の１／ｎ倍の単位で段階的に遅延させた複数の遅延クロックを生成し、生成された複数の遅延クロックの中から前記出力レジスタを駆動する遅延クロックを択一的に選択して当該出力レジスタに出力する出力クロック生成回路と、
前記基準クロックに同期して特定の機能を実行するファンクション回路と、
前記ファンクション回路から出力され、前記出力レジスタに入力されるデータと、当該出力レジスタから出力されたデータの比較照合を行うことによって、当該出力レジスタの動作状態をテストするテスト回路と、
を備えることを特徴とする半導体集積回路。
【請求項２】
基準クロックにより動作する半導体集積回路において、
出力バッファに接続された出力レジスタと、
前記基準クロックが入力される位相同期ループ回路により、当該基準クロックの周波数をｎ（自然数）倍したｎ倍クロックを生成し、当該ｎ倍クロックから、当該基準クロックの周期の１／ｎ倍の単位で段階的に遅延させた複数の遅延クロックを生成し、生成された複数の遅延クロックの中から前記出力レジスタを駆動する遅延クロックを択一的に選択して当該出力レジスタに出力する出力クロック生成回路と、
前記出力レジスタの動作状態をテストするためのテストパターンを生成し、生成されたテストパターンを前記基準クロックに同期して前記出力レジスタに出力し、当該出力レジスタに入力されるデータと、当該出力レジスタから出力されたデータの比較照合を行うテスト回路と、
を備えることを特徴とする半導体集積回路。
【請求項３】
前記テスト回路は、任意のテストパターンを生成可能であり、その生成可能なテストパターンをランダムに選択させるための擬似乱数を発生する擬似乱数発生回路を備え、前記擬似乱数発生回路で発生された擬似乱数に基づいてテストパターンを生成することを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
前記テスト回路は、前記出力レジスタの動作状態のテスト機能を有効にするか無効にするかを指定する信号に応じて動作することを特徴とする請求項１〜３の何れか一項に記載の半導体集積回路。
【請求項５】
前記出力クロック生成回路は、前記ｎ倍クロックに同期して前記選択された遅延クロックを取り込み、前記出力レジスタに出力するフリップフロップを備えることを特徴とする請求項１〜４の何れか一項に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基準クロックで動作する半導体集積回路に関する。
【背景技術】
【０００２】
基準クロックで動作する同期回路で構成された半導体集積回路において、データの出力のＡＣ特性（遅延特性）を向上させるために、出力バッファに接続された出力レジスタ（Ｄ型フリップフロップ）の駆動クロックの位相をずらすことがある。この際に、駆動クロックの位相をずらしても、その出力レジスタを正常に動作させるために、入力されるクロックに対し、出力レジスタのセットアップタイム及びホールドタイムの特性を常に満たすように位相を調整する必要がある。出力バッファに接続された出力レジスタの動作を保証するため、特許文献１では、予め集積回路内に、基準クロックに対する遅延時間の異なる複数の遅延クロックを発生させる回路を備え、基準クロックと、該当する出力レジスタに入力されるクロックの位相から、タイミングマージンを確保した遅延クロックを算出して、該当する出力レジスタに供給する半導体集積回路が開示されている。
【特許文献１】特開２００３−２１６２７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述の従来の半導体集積回路では、出力バッファに接続された出力レジスタに供給するクロックの位相調整のみにとどまっていたため、レジスタの正常動作を確実に保証することができないという問題があった。
【０００４】
本発明の課題は、半導体集積回路の出力バッファに接続された出力レジスタ（フリップフロップ）の動作保証を確実にすることである。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、請求項１に記載の発明は、基準クロックにより動作する半導体集積回路において、出力バッファに接続された出力レジスタと、
前記基準クロックが入力される位相同期ループ回路により、当該基準クロックの周波数をｎ（自然数）倍したｎ倍クロックを生成し、当該ｎ倍クロックから、当該基準クロックの周期の１／ｎ倍の単位で段階的に遅延させた複数の遅延クロックを生成し、生成された複数の遅延クロックの中から前記出力レジスタを駆動する遅延クロックを択一的に選択して当該出力レジスタに出力する出力クロック生成回路と、
前記基準クロックに同期して特定の機能を実行するファンクション回路と、
前記ファンクション回路から出力され、前記出力レジスタに入力されるデータと、当該出力レジスタから出力されたデータの比較照合を行うことによって、当該出力レジスタの動作状態をテストするテスト回路と、を備えることを特徴としている。
【０００６】
請求項２に記載の発明は、基準クロックにより動作する半導体集積回路において、出力バッファに接続された出力レジスタと、
前記基準クロックが入力される位相同期ループ回路により、当該基準クロックの周波数をｎ（自然数）倍したｎ倍クロックを生成し、当該ｎ倍クロックから、当該基準クロックの周期の１／ｎ倍の単位で段階的に遅延させた複数の遅延クロックを生成し、生成された複数の遅延クロックの中から前記出力レジスタを駆動する遅延クロックを択一的に選択して当該出力レジスタに出力する出力クロック生成回路と、
前記出力レジスタの動作状態をテストするためのテストパターンを生成し、生成されたテストパターンを前記基準クロックに同期して前記出力レジスタに出力し、当該出力レジスタに入力されるデータと、当該出力レジスタから出力されたデータの比較照合を行うテスト回路と、を備えることを特徴としている。
【０００７】
請求項３に記載の発明は、請求項２に記載の半導体集積回路において、前記テスト回路は、任意のテストパターンを生成可能であり、その生成可能なテストパターンをランダムに選択させるための擬似乱数を発生する擬似乱数発生回路を備え、前記擬似乱数発生回路で発生された擬似乱数に基づいてテストパターンを生成することを特徴としている。
【０００８】
請求項４に記載の発明は、請求項１〜３の何れか一項に記載の半導体集積回路において、前記テスト回路は、前記出力レジスタの動作状態のテスト機能を有効にするか無効にするかを指定する信号に応じて動作することを特徴としている。
【０００９】
請求項５に記載の発明は、請求項１〜４の何れか一項に記載の半導体集積回路において、前記出力クロック生成回路は、前記ｎ倍クロックに同期して前記選択された遅延クロックを取り込み、前記出力レジスタに出力するフリップフロップを備えることを特徴としている。
【発明の効果】
【００１０】
本発明によれば、テスト回路により、出力バッファに接続された出力レジスタに入力されるデータと、出力レジスタから出力されたデータを比較照合して、出力レジスタの動作状態をテストすることにより、出力レジスタの動作保証が確実になる。
【００１１】
特に、位相同期ループ回路を用いて、基準クロックの周期の１／ｎ倍の単位で段階的に遅延させた遅延クロックから、出力レジスタを駆動するクロックを択一的に選択することにより、クロックの位相調整を高い分解能（基準クロックの１／ｎ周期の分解能）で行うことができるとともに、半導体集積回路の動作条件（温度、電圧）に関わらず一定のクロックを出力レジスタに供給することができる。従って、微調整されたクロック毎に、出力レジスタの動作状態をテストすることができるため、テスト性を高めることができる。
【００１２】
また、ファンクション回路から出力レジスタに入力されたデータと、出力レジスタから出力されたデータを比較可能にしたことにより、半導体集積回路が搭載された装置が実動作中であっても、出力レジスタの動作状態をテストすることが可能になる。
【００１３】
更に、出力レジスタの動作状態をテストするためのテストパターンを発生させ、出力レジスタに入力されるテストパターンと、出力レジスタから出力されたデータを比較可能にしたことにより、半導体集積回路が搭載された装置の実動作以外において、出力レジスタの動作状態をテストすることが可能になる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して、本発明の実施形態について詳細に説明する。
まず、本実施形態における構成について説明する。
【００１５】
図１に、本発明の実施形態に係る半導体集積回路１００の構成を示す。半導体集積回路１００は、複写機、プリンタ等の画像形成装置に搭載され、図１に示すように、内部クロック生成回路１、出力クロック生成回路２、ファンクション回路３、テスト回路５、出力レジスタ群６、出力バッファ群７により構成されている。半導体集積回路１００には、回路を動作させるための基準クロックが入力されている。この基準クロックは、内部クロック生成回路１及び出力クロック生成回路２に入力される。なお、以下の本実施形態では、半導体集積回路１００がＮ個（Ｎｂｉｔ）の出力を有するものとする。
【００１６】
内部クロック生成回路１は、ＰＬＬ（Phase Locked Loop；位相同期ループ）回路１１を備え、基準クロックから、出力レジスタ群６及び出力クロック生成回路２以外のフリップフロップ（Flip Flop）に適用する内部クロックを生成する。内部クロック生成回路１は、ＰＬＬ回路１１の出力よりＣＴＳ（Clock Tree Synthesis）を適用し、ＣＴＳの出力を内部クロックとする。この内部クロックは、ファンクション回路３に出力されるとともに、ＰＬＬ回路１１にフィードバックされる。内部クロックがＰＬＬ回路１１にフィードバックされることで、基準クロックと内部クロックの位相を合わせることができる。即ち、基準クロックに対する内部クロックの遅延は０である。
【００１７】
出力クロック生成回路２は、ＰＬＬ回路（位相同期ループ回路）２１、カウンタ２２、クロック範囲選択回路２３、位相選択セレクタ２４及びフリップフロップ２５により構成され、出力レジスタ群６を構成する各出力レジスタ（フリップフロップ）を駆動させるための出力クロックを生成する。
【００１８】
ＰＬＬ回路２１は、入力された基準クロックの周波数をｎ（自然数）倍に変換し、変換されたクロックを後段のカウンタ２２及びフリップフロップ２５に出力する。以下、周波数がｎ倍に変換されたクロックをｎ倍クロックと呼ぶ。
【００１９】
カウンタ２２は、ＰＬＬ回路２１から入力されたｎ倍クロックのパルス数を、基準クロックの１周期分ずつカウントし、カウント値を後段のクロック範囲選択回路２３に出力する。カウント値は、０〜ｎ−１の値をとる。
【００２０】
クロック範囲選択回路２３は、カウンタ２２から入力されたカウント値に応じて、基準クロックの周期の１／ｎ倍の単位で段階的に遅延させた複数の遅延クロックを生成し、生成された遅延クロックを後段の位相選択セレクタ２４に出力する。本実施形態では、遅延時間（位相）の異なる３つの遅延クロック（位相Ｘクロック、位相Ｙクロック、位相Ｚクロック）が生成されるものとする。
【００２１】
例えば、ｎ＝４の場合、クロック範囲選択回路２３では、カウント値が０、１のとき“１”となる位相Ｘクロックと、カウント値が１、２のとき“１”となる位相Ｙクロックと、カウント値が２、３のとき“１”となる位相Ｚクロックが生成される。ｎ＝４の場合、この他に、カウント値が３、０のとき“１”となる遅延クロックも生成されるが、本実施形態では、この遅延クロックは用いないことにする。図３（ｄ）〜（ｇ）に、ｎ＝４の場合のカウント値（ｄ）と、位相Ｘクロック（ｅ）、位相Ｙクロック（ｆ）、位相Ｚクロック（ｇ）のタイミングチャートを示す。
【００２２】
位相選択セレクタ２４は、入力される位相選択信号に従って、クロック範囲選択回路２３から出力された位相Ｘクロック、位相Ｙクロック、位相Ｚクロックの中から、遅延クロックを１つ選択し、選択された遅延クロックを後段のフリップフロップ２５に出力する。
【００２３】
フリップフロップ２５のクロック入力端子には、ＰＬＬ回路２１から出力されたｎ倍クロックが入力され、データ入力端子Ｄには、位相選択セレクタ２４から出力された遅延クロックが入力される。フリップフロップ２５のデータ入力端子Ｄに入力された遅延クロックは、ｎ倍クロックの立ち上がりエッジのタイミングで取り込まれ、データ出力端子Ｑから出力クロックとして出力レジスタ群６に供給される。この出力クロックは、出力レジスタ群６を駆動させるクロックとなる。このように、フリップフロップ２５によって、位相選択セレクタ２４から出力された遅延クロックをｎ倍クロックに同期させて出力することにより、選択された遅延クロックの出力タイミングのずれ（組み合わせ回路によるノイズ）を軽減させることができる。
【００２４】
このように、基準クロックからの遅延時間の異なる複数の遅延クロックの中から、出力レジスタに供給する出力クロックを択一的に選択することにより、出力レジスタに供給する出力クロックの位相を可変にすることができる。また、出力クロック生成回路２は、ＰＬＬ回路２１及びカウンタ２２を用いて遅延クロックを生成することにより、出力レジスタ群６に供給される出力クロックは、半導体集積回路１００の動作条件（温度、電圧）に関わらず一定となり、動作条件に依存する部分は、出力バッファを通過する部分のみとなる。
【００２５】
ファンクション回路３は、後述のテスト回路５によるテスト機能とは異なる通常の機能（ファンクション動作）を実行するための回路であり、ファンクション動作用フリップフロップ群３０と、プレ出力レジスタ群４により構成される。ここで、通常の機能とは、テスト機能以外の特定の機能を示す。
【００２６】
ファンクション動作用フリップフロップ群３０は、複数のフリップフロップから構成されている。ファンクション動作用フリップフロップ群を構成する各フリップフロップのクロック入力端子には、内部クロック生成回路１で生成された内部クロックが入力され、データ入力端子Ｄに入力されたデータが、内部クロックの立ち上がりエッジのタイミングで取り込まれる。
【００２７】
プレ出力レジスタ群４は、ファンクション回路３の出力段に設けられ、Ｎ個のプレ出力レジスタ（フリップフロップ）４１、４２、…、４Ｎにより構成される。プレ出力レジスタ群４を構成する各プレ出力レジスタ（フリップフロップ）のクロック入力端子には、内部クロック生成回路１で生成された内部クロックが入力され、ファンクション動作によってデータ入力端子Ｄに入力されたデータが、内部クロックの立ち上がりエッジのタイミングで取り込まれる。このように、出力バッファ群７に転送されるデータは、内部クロックで駆動されるプレ出力レジスタ群４を経由することになる。
【００２８】
テスト回路５は、出力レジスタ群６に入力されるデータと、出力レジスタ群６から出力されるデータを比較照合することによって、出力レジスタ群６の動作状態をテストする回路である。具体的に、テスト回路５は、プレ出力レジスタ群４から出力されたデータ又はテストパターン生成回路５０（後述）で生成されたテストパターンと、出力レジスタ群６から出力されたデータを比較照合することにより、出力レジスタ群６を構成する各出力レジスタ（フリップフロップ）の動作が正常であるか否かをテストする。テストモードが指定されている場合、テスト回路５は、プレ出力レジスタ群４から出力されたデータを利用せず、テストパターン生成回路５０で生成されたテストパターンを出力レジスタ群６へ出力する。テスト回路５の内部構成については、後に図２を参照して説明する。
【００２９】
出力レジスタ群６は、Ｎ個の出力レジスタ（フリップフロップ）６１、６２、…、６Ｎにより構成される。出力レジスタ群６を構成する各出力レジスタのクロック入力端子には、出力クロック生成回路２で生成された出力クロックが入力され、データ入力端子Ｄには、プレ出力レジスタ群４のプレ出力レジスタから出力されたデータ又はテストパターン生成回路５０で生成されたテストパターンが入力される。各出力レジスタのデータ入力端子Ｄに入力されたデータは、出力クロックの立ち上がりエッジのタイミングで取り込まれる。出力レジスタ６１、６２、…、６Ｎのデータ出力端子Ｑには、それぞれ、出力バッファ７１、７２、…、７Ｎが接続されており、出力レジスタ群６の各出力レジスタから出力されたデータは、出力バッファ群７の各出力バッファに入力される。
【００３０】
図２に、図１のテスト回路５の内部構成を示す。テスト回路５は、図２に示すように、テストパターン生成回路５０、パターンセレクタ群８、期待値レジスタ群９、期待値照合回路群１０、比較結果格納レジスタ群５２、比較フラグ出力部５３により構成される。
【００３１】
テストパターン生成回路５０は、パターンセレクタ群８に入力されるパターンイネーブルが有効である場合、出力レジスタ群６の動作状態のテストに用いるＮ個のテストパターンを生成し、生成された各テストパターンを、パターンセレクタ群８の対応するパターンセレクタに出力する。テストパターンは、内部クロックに同期して出力される。
【００３２】
テストパターン生成回路５０は、任意のテストパターンを生成可能であり、テストパターン生成回路５０で生成可能なテストパターンをランダムに選択させるための擬似乱数を発生する擬似乱数発生回路５１を備える。擬似乱数発生回路５１は、設定範囲内の乱数（擬似乱数）を生成し、その乱数に対応するテストパターンを生成する。擬似乱数の生成は、例えば、テストパターンが６種類ある場合、６つの値０、１、２、３、４、５をランダムな順番で生成することによって行われる。
【００３３】
パターンセレクタ群８は、Ｎ個のパターンセレクタ８１、８２、…、８Ｎを備えている。  パターンセレクタ群８を構成する各パターンセレクタ８１、８２、…、８Ｎは、それぞれ、プレ出力レジスタ群４のプレ出力レジスタ４１、４２、…、４Ｎのデータ出力端子Ｑに接続される入力端子と、テストパターン生成回路５０の出力端子に接続される入力端子と、パターンイネーブルが入力される入力端子を備えている。また、各パターンセレクタ８１、８２、…、８Ｎは、それぞれ、期待値レジスタ９１、９２、…、９Ｎ及び出力レジスタ６１、６２、…、６Ｎのデータ入力端子Ｄに接続される出力端子を備えている。
【００３４】
各パターンセレクタは、入力されるパターンイネーブルが有効であるか無効であるかに応じて、入力端子と出力端子の接続を切り換える。各パターンセレクタは、パターンイネーブルが有効である場合（テストモードが指定された場合）、テストパターン生成回路５０から入力されたテストパターンを選択し、その選択されたテストパターンを、接続される期待値レジスタ及び出力レジスタのデータ入力端子Ｄに出力する。また、各パターンセレクタは、パターンイネーブルが無効である場合、接続されるプレ出力レジスタから入力されたデータを選択し、選択された入力データをプレ出力データとして、接続される期待値レジスタ及び出力レジスタのデータ入力端子Ｄに出力する。以下、パターンセレクタ８１、８２、…、８Ｎからの出力データを、それぞれ、プレ出力データ１、プレ出力データ２、…、プレ出力データＮとする。
【００３５】
期待値レジスタ群９は、Ｎ個の期待値レジスタ（フリップフロップ）９１、９２、…、９Ｎを備えている。期待値レジスタ群９を構成する各期待値レジスタ９１、９２、…、９Ｎのデータ入力端子Ｄには、それぞれ、パターンセレクタ８１、８２、…、８Ｎの出力端が接続され、クロック入力端子には、内部クロック生成回路１で生成された内部クロックが入力される。また、各期待値レジスタ９１、９２、…、９Ｎのデータ出力端子Ｑは、それぞれ、期待値照合回路１０１、１０２、…、１０Ｎの入力端子に接続される。各期待値レジスタのデータ入力端子Ｄに入力されたプレ出力データは、内部クロックの立ち上がりエッジのタイミングで取り込まれる。以下、期待値レジスタ９１、９２、…、９Ｎからの出力データを、それぞれ、期待値１、期待値２、…、期待値ｎとする。また、出力レジスタ６１、６２、…、６Ｎからの出力データを、それぞれ、出力データ１、出力データ２、…、出力データＮとする。
【００３６】
期待値照合回路群１０は、Ｎ個の期待値照合回路１０１、１０２、…、１０Ｎを備えている。期待値照合回路群１０を構成する各期待値照合回路１０１、１０２、…、１０Ｎは、それぞれ、期待値レジスタ９１、９２、…、９Ｎのデータ出力端子Ｑに接続される入力端子と、出力レジスタ６１、６２、…、６Ｎのデータ出力端子Ｑに接続される入力端子と、後段の比較結果格納レジスタのデータ出力端子Ｑに接続される入力端子を備える。また、各期待値照合回路は、位相選択信号が入力される入力端子と、テストイネーブルが入力される入力端子を備える。ここで、テストイネーブルとは、テスト回路５におけるテスト機能を有効にするか無効にするかを指定するための信号である。更に、各期待値照合回路は、位相選択信号で指定される位相クロック（位相Ｘクロック、位相Ｙクロック、位相Ｚクロック）別に、処理結果（比較結果）を出力するための出力端子を備える。これらの出力端子は、それぞれ、後段の各位相クロック毎に対応する３個の比較格納結果レジスタ（フリップフロップ）のデータ入力端子Ｄに接続される。
【００３７】
各期待値照合回路は、内部クロックで駆動される期待値レジスタから出力されたデータ（期待値）と、出力クロックで駆動される出力レジスタの出力データを比較し、比較結果を、位相選択信号で指定された位相クロック毎に、対応する比較結果格納レジスタに出力する。例えば、期待値照合回路１０１では、位相Ｘクロックが指定されている場合、比較結果は、比較結果格納レジスタＸ１に出力され、位相Ｙクロックが指定されている場合、比較結果は、比較結果格納レジスタＹ１に出力され、位相Ｚクロックが指定されている場合、比較結果は、比較結果格納レジスタＺ１に出力される。
【００３８】
各期待値照合回路での処理は、以下のようになる。
［１］テストイネーブルが有効である場合、期待値レジスタから出力されたデータ（期待値）と出力レジスタの出力データが一致すれば“０”、一致しなければ“１”を、該当する比較結果レジスタにセットする。
［２］テストイネーブルが無効である場合、該当する比較結果格納レジスタに“０”をセットする。
［３］現在、後段の比較結果格納レジスタに格納されているデータが既に“１”である場合、期待値レジスタ及び出力レジスタから出力されたデータに関わらず、引き続き、当該比較結果格納レジスタに“１”を保持させる。
【００３９】
比較結果格納レジスタ群５２は、各期待値照合回路の後段に、各位相クロック毎に対応する３個の比較結果格納レジスタ（フリップフロップ）を備える。期待値照合回路１０ｉ（ｉ＝１、２、…、ｎ）の後段には、位相Ｘクロックに対応する比較結果格納レジスタＸｉ、位相Ｙクロックに対応する比較結果格納レジスタＹｉ、位相Ｚクロックに対応する比較結果格納レジスタＺｉが接続される。以下、期待値照合回路１０１に接続される比較結果格納レジスタＸ１、Ｙ１、Ｚ１について説明するが、他の期待値照合回路に接続される比較結果格納レジスタについても同様の説明が適用される。
【００４０】
比較結果格納レジスタＸ１、Ｙ１、Ｚ１のデータ入力端子には、期待値照合回路１０１からの処理結果を出力する出力端子が接続され、クロック入力端子には、共通に、内部クロック生成回路１で生成された内部クロックが入力される。比較結果格納レジスタＸ１のデータ出力端子Ｑは、ＯＲ回路１１ｘの入力端子に接続されとともに、期待値照合回路１０１の入力端子に接続される。比較結果格納レジスタＹ１のデータ出力端子Ｑは、ＯＲ回路１１ｙの入力端子に接続されとともに、期待値照合回路１０１の入力端子に接続される。比較結果格納レジスタＺ１のデータ出力端子Ｑは、ＯＲ回路１１ｚの入力端子に接続されるとともに、期待値照合回路１０１の入力端子に接続される。
【００４１】
比較フラグ出力部５３は、位相Ｘクロックに対応するＯＲ回路１１ｘ、位相Ｙクロックに対応するＯＲ回路１１ｙ、位相Ｚクロックに対応するＯＲ回路１１ｚを備える。ＯＲ回路１１ｘの入力端子は、比較結果格納レジスタＸ１、Ｘ２、…、ＸＮのデータ出力端子Ｑに接続される。ＯＲ回路１１ｙの入力端子は、比較結果格納レジスタＹ１、Ｙ２、…、ＹＮのデータ出力端子Ｑに接続される。ＯＲ回路１１ｚの入力端子は、比較結果格納レジスタＺ１、Ｚ２、…、ＺＮのデータ出力端子Ｑに接続される。
【００４２】
ＯＲ回路１１ｘの出力結果（比較結果格納レジスタＸ１、Ｘ２、…、ＸＮからの出力結果の論理和）を比較フラグＸとし、ＯＲ回路１１ｙの出力結果（比較結果格納レジスタＹ１、Ｙ２、…、ＹＮからの出力結果の論理和）を比較フラグＹとし、ＯＲ回路１１ｚの出力結果（比較結果格納レジスタＺ１、Ｚ２、…、ＺＮからの出力結果の論理和）を比較フラグＺとすると、比較フラグＸ、Ｙ、Ｚは、各出力レジスタの動作保証ができない場合には“１”となり、各出力レジスタの動作保証ができる場合には“０”となる。
【００４３】
図３及び図４に、ｎ＝４の場合に半導体集積回路１００の各部から出力されるデータのタイミングチャートを示す。
【００４４】
図３（ｉ）、（ｋ）、（ｍ）には、それぞれ、出力クロックとして位相Ｘクロック（ｈ）、位相Ｙクロック（ｊ）、位相Ｚクロック（ｌ）が選択された場合の出力バッファの出力を示している。図３（ｅ）〜（ｈ）、（ｊ）及び（ｌ）に示すように、位相選択セレクタ２４で選択された遅延クロック（位相Ｘクロック、位相Ｙクロック、位相Ｚクロックの何れか１つ）は、後段のフリップフロップ２５に取り込まれて出力されるため、出力クロック生成回路２の出力クロックは、選択された遅延クロックより、ｎ倍クロックの１周期分遅延する。
【００４５】
出力クロック生成回路２で生成される出力クロックは、半導体集積回路１００の動作条件（温度、電圧）に関わらず一定であるが、出力バッファの出力は、半導体集積回路１００の動作条件に依存する。図３（ｉ）、（ｋ）及び（ｍ）では、半導体集積回路１００の動作条件がベスト条件（低温・高電圧）である場合の出力バッファの出力α（実線）と、動作条件がワースト条件（高温・低電圧）である場合の出力バッファの出力β（点線）が示されている。図３（ｉ）、（ｋ）及び（ｍ）に示すように、動作条件がワースト条件である場合、出力バッファの出力に遅延が生じている。
【００４６】
図４では、位相選択信号により位相Ｘクロックが指定された場合のタイミングチャートを示している。図４において、プレ出力データが、期待値レジスタと出力レジスタに伝播される際、期待値レジスタから出力された期待値と、出力レジスタから出力された出力データが一致している場合を黒丸印で示し、一致していない場合を×印で示している。期待値と出力データが一致しない場合、比較フラグＸ（図４（ｐ））は“１”となり、以後、期待値と出力データが一致しても、比較フラグＸの値は保持される。その後、テストイネーブル（図４（ａ））が無効（有効の場合“１”、無効の場合“０”）になると、全ての期待値照合回路から後段の各比較結果格納レジスタに“０”が出力され、比較フラグＸは０となる。
【００４７】
期待値レジスタから出力された「期待値」と、出力レジスタから出力された「出力データ」が異なるということは、内部クロックの駆動により出力された「プレ出力データ」の伝播が正しく行われず、出力クロックで駆動する出力レジスタが、セットアップタイム若しくはホールドタイムの特性を満たさないことを示す。従って、この場合、テストに使用した位相の出力クロックでは、出力レジスタの動作保証ができないということになる。即ち、あるタイミングで一回でも異常が検出されれば、その位相の出力クロックでは、出力レジスタの出力データの値は保証できない。
【００４８】
以上のように、本実施形態の半導体集積回路１００によれば、テスト回路５により、出力バッファに接続された出力レジスタ（フリップフロップ）に入力されるデータと、出力レジスタからの出力データを比較照合して、出力レジスタの動作状態をテストすることにより、出力レジスタの動作保証が確実になる。また、データ出力のＡＣ特性のエラーを把握することが可能になる。
【００４９】
また、出力バッファに接続された出力レジスタを駆動する出力クロックを生成する出力クロック生成回路２において、基準クロックからの遅延時間が異なる複数の遅延クロックの中から択一的に遅延クロックを選択して出力クロックとすることにより、出力レジスタを駆動する出力クロックの位相を可変にすることができる。従って、各位相の出力クロック毎に、出力レジスタの動作状態をテストすることができるため、テスト性を高めることができる。
【００５０】
更に、出力クロック生成回路２では、ＰＬＬ回路２１及びカウンタ２２を用いて遅延クロックを生成することにより、半導体集積回路１００の動作条件（温度、電圧）に関わらず一定の出力クロックを出力レジスタに供給することができる。特に、基準クロックの周期の１／ｎずつ遅延させた遅延クロックから出力クロックを選択することにより、出力レジスタを駆動させるクロックの位相調整を高い分解能（基準クロックの１／ｎ周期の分解能）で行うことができる。従って、微調整された出力クロック毎に、出力レジスタの動作状態をテストすることができるため、テスト性を一層高めることができる。
【００５１】
また、出力レジスタの動作をテストするためのテストモードを設けることにより、画像形成装置の実動作前に、出力レジスタの駆動クロックに対する適切な位相調整を行うことができる。また、テストモード時に用いるテストパターンを、擬似乱数発生回路５１を用いて生成することにより、テスト精度を向上させるとともに、テスト時間を短縮させることができる。
【００５２】
更に、画像形成装置の実動作中においても、ファンクション回路３の出力段に設けられたプレ出力レジスタの出力と、その出力を受ける出力レジスタの出力を比較することによって、出力レジスタの動作状態をテストすることが可能になる。
【００５３】
なお、本実施形態における記述内容は、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【００５４】
例えば、上述の実施形態では、出力バッファに接続された各出力レジスタが、同一位相の出力クロックで動作する場合を示したが、出力レジスタ毎に異なる位相のクロックで駆動する構成に変更してもよい。このようにすると、同時動作対策、クロストーク、スルーレート特性の可変化等への、各端子毎の木目細かい対応が可能となる。
【図面の簡単な説明】
【００５５】
【図１】本発明の実施形態に係る半導体集積回路の全体構成を示す図。
【図２】本実施形態に係る半導体集積回路内のテスト回路の構成を示す図。
【図３】本実施形態の半導体集積回路における各部の動作を示すタイミングチャート。
【図４】本実施形態の半導体集積回路における各部の動作を示すタイミングチャート。
【符号の説明】
【００５６】
１    内部クロック生成回路
２    出力クロック生成回路
３    ファンクション回路
４    プレ出力レジスタ群
５    テスト回路
５０    テストパターン発生回路
５１    擬似乱数発生回路
６    出力レジスタ群
７    出力バッファ群
８    パターンセレクタ群
９    期待値レジスタ群
１０    期待値照合回路群
１１、２１    ＰＬＬ回路（位相同期ループ回路）
２２    カウンタ
２３    クロック範囲選択回路
２４    位置選択セレクタ
２５    フリップフロップ
５１    擬似乱数発生回路
５２    比較結果格納レジスタ群
５３    比較フラグ出力部
１００  半導体集積回路
【図１】
2006003152.tif 000003
【図２】
2006003152.tif 000004
【図３】
2006003152.tif 000005
【図４】
2006003152.tif 000006