(57)【特許請求の範囲】
【請求項１】
論理回路と、
ＰＬＬ回路と、
分周回路と、
テストクロック生成回路と、
スキャンテスト制御回路とを備え、
上記論理回路は、複数の論理段と、それぞれの論理段の入力部及び出力部に接続された複数のフリップフロップ回路とを有し、
上記複数のフリップフロップ回路は、入力信号の取り込みと他のフリップフロップ回路との直列接続との切り替えを行う入力切替回路を有し、
上記ＰＬＬ回路は、外部端子から供給された外部クロック信号に同期した第１内部クロック信号を形成し、
上記分周回路は、上記第１内部クロック信号を受けて分周された第２内部クロック信号を形成し、
上記テストクロック生成回路は、上記第１及び第２内部クロック信号に対応した複数のクロック生成回路と、上記複数のクロック生成回路に対して共通に設けらられたレジスタ及びタイミング検出回路とを有し、
上記レジスタは、各クロック生成回路におけるクロック生成タイミングのデータと、各クロック生成回路における第１回目の第１クロックパルスと第２回目の第２クロックパルスに対応したクロック生成条件とを保持し、
上記タイミング検出回路は、上記第１及び第２内部クロック信号と上記レジスタに設定されたクロック生成タイミングのデータとからクロック生成タイミング信号を形成し、
上記スキャンテスト制御回路は、上記クロック生成回路の上記レジスタに対して上記クロック生成タイミングのデータをそれぞれ供給し、上記複数のクロック生成回路に対してテスト動作の制御信号を共通に供給し、
上記クロック生成回路のそれぞれは、
上記対応する第１又は第２内部クロック信号に同期して動作する順序回路とゲート回路とを有し、
上記スキャンテスト制御回路からの制御信号と上記クロック生成タイミング信号に応答して上記レジスタに設定された上記第１回目と第２回目のクロック生成条件に対応して上記ゲート回路を制御し、
通常モードのとき、上記論理回路においては上記入力切替回路により上記入力信号を取り込む状態にされ、上記ゲート回路を開いた状態にして上記フリップフロップ回路に対して上記対応する第１又は第２内部クロック信号を伝える第１動作と、
テストモードのとき、上記論理回路においては入力切替回路により上記直列接続された状態の上記複数のフリップフロップ回路にテストデータスキャン動作に対応したスキャン用クロックを伝える第２動作と、
テストモードのとき、上記論理回路においては上記入力切替回路により上記入力信号を取り込む状態にされ、上記順序回路により上記ゲート回路が閉じた状態から上記フリップフロップ回路に対して上記対応する第１又は第２内部クロック信号を上記レジスタに設定された上記第１回目と第２回目のクロック生成条件に対応して上記ゲート回路を選択的に開いた状態にして上記フリップフロップ回路に対して上記対応する第１又は第２内部クロック信号を伝える第３動動作とを行う半導体集積回路装置。
【請求項２】
請求項１において、
上記テストモードにおいて、上記クロック生成回路に設けられた上記順序回路は、入力された第１又は第２内部クロック信号に同期して順次に移行する第１、第２、第３及び第４ステップを有し、
上記第１ステップは、上記制御信号によりテストセットアップ完了状態であり、上記論理回路においては各フリップフロップ回路にテストデータがセットされ、上記入力切替回路により上記入力信号を取り込む状態にされ、上記ゲート回路が閉じた状態であり、
上記第１ステップから第２ステップへ移行は、上記クロック生成タイミング信号に応答して行われ、上記第１回目のクロック生成条件により上記ゲート回路の制御が行われて、上記入力された第１又は第２クロック信号の出力が選択的に行われ、
上記第２ステップから第３ステップへの移行は、上記クロック信号に同期して自律的に行われ、上記第２回目のクロック生成条件により上記ゲート回路の制御が行われて、上記入力された第１又は第２クロック信号の出力が選択的に行われ、
上記第３ステップから第４ステップへ移行は、上記クロック信号に同期して自律的に行われ、上記ゲート回路を閉じた状態にして上記制御信号の到来を待って次の動作に移行する半導体集積回路装置。
【請求項３】
請求項２において、
上記第２動作において、上記クロック生成回路のそれぞれは、上記ゲート回路を開いて上記第１又は第２内部クロック信号を上記直列接続された状態のフリップフロップ回路にテストデータスキャン動作を行わせるスキャン用クロック信号として伝える第３動作を有する半導体集積回路装置。
【請求項４】
請求項２において、
上記第２動作において、上記直列接続された状態のフリップフロップ回路に対してテストデータスキャン動作を行わせるスキャン用クロック信号を入力する外部クロック入力回路を更に備える半導体集積回路装置。
【請求項５】
請求項１ないし４のいずれかにおいて、
上記第１回目の第１クロックパルスと第２回目のクロックパルスは、上記第１又は第２内部クロック信号と同じクロック信号とされる半導体集積回路装置。
【請求項６】
請求項１において、
上記論理回路は、
第１論理回路と第２論理回路とを有し、
上記第１論理回路は、それを構成する第１フリップフロップ回路に上記第１内部クロック信号が供給され、
上記第２論理回路は、それを構成する第２フリップフロップ回路に上記第２内部クロック信号が供給され
上記テストクロック生成回路は、上記第１論理回路及び第２論理回路に対応した第１クロック生成回路と第２クロック生成回路とを有し、
前記第３動作において、第１クロック生成回路と第２クロック生成回路は、上記第１論理回路と第２論理回路間での信号伝達に対応した第１回目と第２回目のクロック生成条件のうちいずれか一方のみがそれぞれ有効とされて、第１回目のクロック信号と第２回目のクロック信号が対として供給される半導体集積回路装置。
【請求項７】
請求項１ないし６のいずれかにおいて、
上記ＰＬＬ回路は、外部端子から供給されたパルス信号に対して高い周波数にされた上記第１内部クロック信号を形成する半導体集積回路装置。
【請求項８】
請求項４において、
上記論理回路のフリップフロップ回路にテストパターンを供給するスキャン入力回路と、上記フリップフロップ回路に取り込まれた信号を取り出すスキャン出力回路とを有し、
上記スキャン入力回路とスキャン出力回路とはＪＴＡＧに準拠したものである半導体集積回路装置。
【請求項９】
請求項１ないし８のいずれかににおいて、
上記ＰＬＬ回路は、半導体集積回路装置を構成する半導体チップの周辺部に配置され、上記分周回路は半導体チップの中央部に配置されてなり、
上記分周回路に近接して上記テストクロック生成回路が配置される半導体集積回路装置。
【請求項１０】
請求項９において、
上記テストクロック生成回路から上記論理回路に至るクロック供給経路は、それぞれの遅延時間が互いに同等になるようなトリー構造にされ、
上記クロック供給経路を通して論理回路に伝えられるクロックパルス又はそれと同等のクロックパルスが上記ＰＬＬ回路の帰還信号として伝えられる半導体集積回路装置。
【請求項１１】
請求項１ないし８のいずれかににおいて、
上記ＰＬＬ回路は、複数個からなり、
上記複数のＰＬＬ回路のそれぞれに対応して上記分周回路が設けられ、
上記複数のＰＬＬ回路及び分周回路にそれぞれに対応して上記テストクロック生成回路が設けられる半導体集積回路装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路装置とその設計方法に関し、特に内部論理回路の動作試験技術に利用して有効な技術に関するものである。
【０００２】
【従来の技術】
ＰＬＬ回路のようなパルス発生回路を内蔵したデジタル集積回路装置では、外部からクロック供給の制御ができない。このために、内部論理回路のＡＣ（交流）動作試験においては、図１７に示すような組み合わせ回路を設け、内部論理回路に供給するクロックパルスの制御を行うことが考えられる。つまり、スキャン回路を用いて論理回路のフリップフロップＦＦにテストパターンの設定を行い、組み合わせ回路により第１クロックパルスを出力させて、論理段に入力信号を伝え、第２クロックパルスを発生させて、上記論理段の出力信号をフリップフロップＦＦに取り込んで、スキャン回路を用いてテスト結果を回収するという手順が用いられる。なお、実動作でのテストを行うためにチップ内にクロック逓倍回路を設けた半導体集積回路の例として、特開平１１−１４２４７８号公報がある。
【特許文献１】
特開平１１−１４２４７８号公報
【０００３】
【発明が解決しようとする課題】
上記組み合わせ回路では、ＰＬＬで形成される多相クロックのうち固定された組み合わせでしかテストできない。また、論理回路や動作周波数及び使用するクロックに対応して逐一上記組み合わせ回路の設計が必要となり、設計工数が増大する。したがって、任意のタイミングでのテストするには外部からクロック印加しなければならないが、論理回路の高速化が進められており、このような高速論理回路のタイミングマージンをも検証できるような高周波数のクロック信号を伝えるには高性能テスト装置の開発が必要となり、開発費用が膨大となるので現実的でない。
【０００４】
この発明の目的は、高性能のテスト動作を可能にしたテストクロック生成回路を備えた半導体集積回路装置を提供することにある。高い精度でのタイミングマージン等の設定を可能にした半導体集積回路装置の設計方法を提供することにある。この発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【０００５】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、下記の通りである。すなわち、レジスタ順序回路及びクロック伝達制御回路とを備えるテストクロック生成回路を上記パルス発生回路と論理回路の間に設け、テスト動作が有効とされたときには、上記パルス発生回路で形成されたクロックパルスの上記論理回路への伝達を停止させ、上記レジスタの設定情報に従って上記順序回路により上記クロック伝達制御回路を制御して、上記パルス発生回路で形成されたクロックパルスを用いて上記論理回路を動作させるクロックパルスを出力させる。
【０００６】
本願において開示される発明のうち他の代表的なものの概要を簡単に説明すれば、下記の通りである。すなわち、コンピュータを用いた論理設計ツール上において、所望の論理機能を実現するための論理回路と、その動作に必要なクロックパルスを形成するパルス発生回路の設計を行い、レジスタ順序回路及びクロック出力制御回路とを備え、テスト動作が有効とされたときには、上記パルス発生回路で形成されたクロックパルスの上記論理回路への伝達を停止させ、上記レジスタの設定情報に従って上記順序回路により上記クロック伝達制御回路を制御して、上記パルス発生回路で形成されたクロックパルスを用いて上記論理回路を動作させるクロックパルスを出力させるテストクロック生成回路を組み込み、このテストクロック生成回路により論理回路機能及びタイミングマージンのテストを行う。
【０００７】
【発明の実施の形態】
図１には、この発明に係る半導体集積回路装置の一実施例の要部ブロック図が示されている。この実施例においては、ＰＬＬ（フェーズ・ロックド・ループ）回路により、外部から供給されたクロックパルスに対して高い周波数にされた内部クロックを形成し、論理回路（ユーザ論理）に供給する。
【０００８】
上記論理回路の基本構成はフリップフロップＦＦ−論理段−フリップフロップＦＦを単位とする組み合わせで構成され、上記フリップフロップＦＦに対してクロックパルスが供給される。論理段の入力側に設けられたフリップフロップＦＦに保持された信号は、クロックパルスに同期してかかる論理段に入力される。論理段では、入力信号に対応して論理処理を行ない、出力側に設けられたフリップフロップＦＦの入力端子に伝える。出力側のフリップフロップＦＦは、次のクロックパルスに同期して上記論理段での出力信号を取り込み保持する。このようにして、クロックパルスに同期した論理シーケンスが実行される。
【０００９】
上記のような論理回路のＡＣテストを行うようにするためには、クロックパルスの供給を停止した状態として論理段の入力側に設けられたフリップフロップＦＦに対してテスト入力信号の供給を行ない、上記テスト入力信号の設定が終了した後に、第１クロックパルスを供給してフリップフロップＦＦに取り込んだテスト入力信号を論理段へ供給し、それに対応する出力信号をフリップフロップＦＦに取り込むための第２クロックパルスを供給することが必要となる。しかしながら、上記のようにＰＬＬ回路を用いたクロックパルス発生回路では、外部から供給されるパルスに対して高い周波数にされていることもあって、外部からの制御信号により２つのクロックパルスを必要なタイミングで供給／停止させることは難しい。
【００１０】
この実施例では、上記ＰＬＬ回路と上記論理回路の間にテストクロック生成回路が設けられる。テストクロック生成回路は、テストクロック生成の手順に従って任意のタイミングでのテストクロックを生成するようにされる。つまり、順序回路（ステートマシン）は、クロック生成の手順に従って論理回路の試験に必要なテストクロックの生成を行う。このように順序回路に対する入力条件によって、論理回路へのクロック供給が抑制されるという機能を持たせることにより、ＰＬＬ回路のような内蔵のクロック発生回路によりクロックパルスを生成しつつ、ＡＣテスト動作を実現するのに必要なクロック生成手順を制御できる。
【００１１】
上記テストクロック生成回路においては、アンド（ＡＮＤ）ゲート回路のようなクロックパルス伝達制御回路としてのゲート手段を備えており、通常動作のときにはＰＬＬ回路で形成されたクロックパルスが論理回路に伝えられて、所望の論理動作が実行される。この論理動作の検証を行うＡＣテスト動作のときには、上記ゲート手段が閉じられてＰＬＬ回路で形成されたクロックパルスの論理回路への供給が停止される。これにより、ユーザ論理に対しては点線で示すようにクロックパルスの供給が行われない。
【００１２】
このようなクロック停止状態にしておいて、図示しないテスト回路から上記論理回路のフリップフロップＦＦに対してテスト回路によりテストパターンが入力される。このようなテストパターンの入力には、ユーザ論理のフリップフロップＦＦがシフトレジスタを構成するように接続されて、テストパターンがシリアルに入力される。テストパターンの入力が終了すると、上記ゲート手段が制御されて第１クロックパルスと第２クロックパルスとが供給される。
【００１３】
第１クロックパルスにより、上記フリップフロップＦＦに取り込まれたテストパターンが出力されて後段側に設けられた論理段に伝えられる。論理段では上記入力パターンに対応した論理処理を行ない、その後段側に設けられたフリップフロップＦＦの入力に伝える。フリップフロップＦＦは、第２クロックパルスの供給により上記論理段からの論理出力を取り込む。したがって、第１クロックパルスと第２クロックパルスの２つのクロックパルスにより、フリップフロップＦＦ−論理ゲート−フリップフロップＦＦといった論理経路での信号伝達が実行される。上記第２クロックパルスが供給された後は、上記ゲート手段が閉じられてクロックの供給が再び停止される。それ故、フリップフロップＦＦには、その前段に配置された論理段を通した論理出力が保持されており、再びスキャン回路を用いてテスト結果を回収することができる。
【００１４】
図２には、この発明に係る半導体集積回路装置の他の一実施例の要部ブロック図が示されている。この実施例においては、同期設計された分周回路により出力される多相クロックが使用される論理回路に向けられている。各相のクロックに対して、前記のような順序回路（ステートマシン）２Ａ〜２ｎを備えたクロック生成回路Ｔ０〜Ｔｎを設け、さらに各クロック相の任意の状態を検出するための比較回路が設けられる。この比較回路の一致信号をクロック生成回路Ｔ０〜Ｔｎのスタート信号にすることにより同一クロック相だけでなく異なるクロック相間の生成をも制御できるようにするものである。
【００１５】
この実施例では、分周回路により形成された位相、周波数が異なる複数種類のクロックパルスにより動作する論理回路が設けられる。上記複数種類のクロックパルスに対応して、前記図１の実施例のような順序回路２Ａ〜２ｎ及びクロックパルス伝達制御回路を備えたクロック生成回路Ｔ０〜Ｔｎが複数個設けられる。これら複数のクロック生成回路Ｔ０〜Ｔｎに対して共通にテストクロック生成手順の設定を行う回路Ｐ１と、テストクロックの生成タイミングの設定を行う回路Ｐ２及びそのタイミング検出を行う比較回路が設けられる。
【００１６】
図３には、この発明に係る半導体集積回路装置のテストクロック生成回路とそれに関連する回路の一実施例のブロック図が示されている。同図は、前記図２の実施例に対応したものであり、より具体的に各回路ブロックが示されている。この実施例では、特に制限されないが、４相のクロックパルスＣＫ０〜ＣＫ３を用いる場合に適用され、ＣＫ０を１／２分周してＣＫ２が形成され、ＣＫ１はＣＫ０の反転パルス、ＣＫ３はＣＫ２の反転パルスとされる。
【００１７】
テストクロック生成回路は、設定レジスタ回路、クロック生成回路Ｔ０〜Ｔ３及びタイミング検出回路、ＳＥＮ（スキャン）生成回路とを備えている。スキャンテスト制御回路は、上記設定レジスタ回路へ供給される設定情報、クロック生成回路、タイミング検出回路に供給される各種制御信号を形成する。外部クロックインタフェース回路は、ＰＬＬ／分周回路からなるクロック生成回路で形成されたクロックに代えて、外部からのクロック供給を可能にする回路である。
【００１８】
上記各クロック生成回路Ｔ０〜Ｔ３の出力部には、クロックトリーが設けられる。このクロックトリーは、各クロック生成回路Ｔ０〜Ｔ３から出力されるクロックパルスが、論理段の各フリップフロップＦＦに相互に等しい遅延時間を持って供給されるような信号伝達系からなり、例えば等長のクロック配線、及び同じ段数にされたクロックバッファから構成される。これにより、各相のクロックパルスを受ける論理回路を構成するフリップフロップＦＦにおいては、相互に同じ伝搬遅延時間差によるクロックパルスが供給されて、クロックパルススキューが低減される。これにより、論理回路を高い周波数のクロックパルスで動作させることができる。
【００１９】
クロック生成回路Ｔ０〜Ｔ３は、クロック相単位のＡＣテスト容易化回路であり、テスト動作においては前記のように任意のタイミングでのクロックパルスの供給／停止を制御することが可能とされる。設定レジスタ回路は前述のクロック生成条件を保持するフリップフロップの集まりである。タイミング検出回路は各クロック相を検出するほかに各クロック生成回路の状態を観測している。ＳＥＮ生成回路はテストデータのスキャンとユーザデータの取り込みを切り替える制御信号を形成する。
【００２０】
設定レジスタはＤＣＡＲ、Ｓ１ＣＲ、Ｓ２ＣＲの３種を持つ。それぞれの機能は下記の通りである。ＤＣＡＲは、タイミング検出するときの各クロックの出力値を設定する。１相あたり１ビットが割り当てられる。Ｓ１ＣＲは、タイミング検出されてから最初のクロックを出力するか否かを設定する。１相あたり１ビットが割り当てられる。Ｓ２ＣＲは、タイミング検出されてから２番目のクロックを出力するか否かを設定する。１相あたり１ビットが割り当てられる。クロック生成回路は、各クロック相毎に設けられる。
【００２１】
タイミング検出回路は各相のクロックを入力、設定レジスタ（ＤＣＡＲ）の出力値を入力、さらに各クロック生成回路の状態を入力する。出力は比較回路の結果（一致／不一致）を示す信号を出力し、スキャンと通常状態を切り替えるＳＥＮ信号を出力する。
【００２２】
図４には、この発明に用いられるクロック生成回路の一実施例の状態遷移図が示されている。図５には、上記クロック生成回路の一実施例の回路構成図が示されている。本実施例は４ビットのフリップフロップＦＦ０〜ＦＦ３で構成されるステートマシンであり、連続する２クロックを生成することができ、制御端子によりそれぞれのクロックを出力したり、抑制することができる。
【００２３】
図５において、最初のクロックの生成を信号Ｓｅｔ１ｓｔＣＫで制御し、２番目のクロック生成は信号Ｓｅｔ２ｎｄＣＫで制御される。通常状態を非同期設定するために信号Ｎｏｒｍａｌを制御する。これらは状態遷移のステートとして表現される。４ビットのフリップフロップＦＦ０〜ＦＦ３の中で最下位ビットＬＳＢの１ビットはクロック抑制に使用され、ゲート回路Ｇ１に供給される。これにより、ＬＳＢが論理１ならばゲートを開いてクロックの伝達を行うイネーブル状態、論理０ならばゲートを閉じてクロックの伝達を停止させるディセーブル状態となる。
【００２４】
内蔵のクロック生成回路である分周回路以外の経路からクロック印加するときはＣＩＦ−ＣＫからクロックを印加するようにされる。つまり、ゲート回路Ｇ１の出力と上記外部クロックとが論理和ゲート回路Ｇ２を通してクロック出力ＣＫｏｕｔから出力される。上記４ビットのフリップフロップＦＦ０〜ＦＦ３へのクロックは遅延回路ｄｅｌａｙを介した反転クロックを用いる。これはクロックを生成するときにデューテイ比が変化しないようにする為である。
【００２５】
状態遷移の組み合わせを表現するために前記のように４ビットのフリップフロップＦＦ０〜ＦＦ３が使用される。ＬＳＢの１ビットはクロックイネーブル用として使用される。制御信号ｃｔｒｌＣＡと組み合わせ回路の間のフリップフロップはメタステ−ブル回避のために割り当てられる。出力端子ＳＥＮ−ＳＬ−Ｔｎと組み合わせ回路の間のフリップフロップはＳＥＮ切り替えタイミングを調節するために割り当てられる。
【００２６】
図４において、状態遷移の進行手順を以下に説明する。初期状態はノーマル（Ｎｏｒｍａｌ）（ＦＦ３〜ＦＦ０：１１１１）である。テスト状態に設定されるとアイドル（ｉｄｌｅ）状態（ＦＦ３〜ＦＦ０：１１１０）に設定される。クロック生成要求が発生するとセットアップ（ＳｅｔｕｐＣＡ）状態（ＦＦ３〜ＦＦ０：０１１０）になりクロック生成手順にしたがって第１（１ｓｔ）クロックの処理、１ｓｔＣＫ０（ＦＦ３〜ＦＦ０：０１００）又は１ｓｔＣＫ１（ＦＦ３〜ＦＦ０：０１１１）に移行する。さらに２番目のクロック生成のために２ｎｄＣＫ０または２ｎｄＣＫ１に移行する。ここまで終了したら上記ｉｄｌｅ状態に戻り次のクロック生成要求を待つ。
【００２７】
上記の状態遷移図において、レジスタの設定情報Ｓｅｔ１ｓｔＣＫ＝１、Ｓｅｔ２ｎｄＣＫ＝１ならば、上記最下位ビットＬＳＢが論理１となり、ゲートをイネーブル状態として第１クロックパルスと第２クロックパルスを出力させる。これに対して、Ｓｅｔ１ｓｔＣＫ＝０、Ｓｅｔ２ｎｄＣＫ＝０のときには、最下位ビットＬＳＢが論理０となりゲートをディセーブル状態としてクロックの出力を停止させる。これにより、論理回路に対して、第１クロックパルスのみ、あるいは第２クロックパルスのみのいずれか１つのクロックパルスしか供給しないようにすることも可能となる。このようなクロックパルスの出力機能は、後述するように異なるクロックパルスで動作する論理回路間での信号伝達を検証する上で必要とされる。
【００２８】
上記のようにＮｏｒｍａｌは通常状態を示す。ｉｄｌｅは、テスト状態だが、クロック生成回路は未使用状態である。クロック生成要求（ｃｔｒｌＣＡ＝１）がくるまで状態保持する。ＳｅｔｕｐＣＡは、クロック生成可能な状態であり、タイミング検出信号（ｄｔｃｔＣＡ＝１）が発行されるまで状態保持する。
【００２９】
第１クロックの処理では、１ｓｔＣＫ０／１ｓｔＣＫ（設定しジスタＳ１ＣＲ）の値をみて１回目のクロックを出力する。１ｓｔＣＫ０は設定レジスタ値が０のときでクロックを生成しない。１ｓｔＣＫ１は設定レジスタ値が１のときでクロックを生成する。第２クロックの処理では、２ｎｄＣＫ０／１ｓｔＣＫ（設定しジスタＳ２ＣＲ）の値をみて２回目のクロックを出力する。２ｎｄＣＫ０は設定レジスタ値が０のときでクロックを生成しない。２ｎｄＣＫ１は設定レジスタ値が１のときでクロックを生成する。ＥｎｄＣＡは、テストクロック生成回路が終了したことを示す。クロック生成要求が解除されたとき（ｃｔｒｌＣＡ＝０）にｉｄｌｅに戻る。
【００３０】
図６には、設定レジスタの一実施例のブロック図が示されている。設定レジスタは、Ｓ２ＣＲ、Ｓ１ＣＲ及びＤＣＡＲから構成され、ＳＩＮ２ＴＧＮはシリアル入力端子でありレジスタの設定値を入力する。ＴＧＮ２ＳＯＵＴはシリアル出力端子である。
【００３１】
上記レジスタＳ１ＣＲに対応された端子Ｓ１ＣＲＯＵＴ−Ｔｘには、１回目のクロック生成条件を４相（ＣＫ０〜ＣＫ３）分保持されている。上記レジスタＳ２ＣＲに対応された端子Ｓ２ＣＲＯＵＴ−Ｔｘには、２回目のクロック生成条件を４相（ＣＫ０〜ＣＫ３）分保持されている。上記レジスタＤＣＡＲに対応された端子ＤＣＡＲＯＵＴ−Ｔｘには、クロック生成タイミングのデータが４相（ＣＫ０〜ＣＫ３）分保持されている。端子ＳＤＲ−ＴＮＧは、スキャンを指示する信号入力端子である。
【００３２】
図７には、前記タイミング検出回路の一実施例のブロック図が示されている。このタイミング検出回路は、クロック生成タイミングを検出するための回路である。すベてのクロック相（ＣＫ０〜ＣＫ３）のクロック生成回路がＳｅｔｕｐＣＡ（ＳｅｔｕｐＣＡ−Ｔ０〜ＳｅｔｕｐＣＡ−Ｔ３）に限定されたときに信号ＳｅｔｕｐＣＡ−Ａｌｌがアクティブになり、それぞれのクロック相でレジスタの値にしたがってクロックを生成する。信号ＳＥＮ−ＳＬは、前述のテストデータとデータ取り込みのための信号であり、テスト回路、スキャンＦＦの仕様によって異なる。
【００３３】
タイミング検出のために分周回路の出力ＣＫ−Ｔ０〜Ｔ３（ＣＫ０〜ＣＫ３）と設定レジスタ（ＤＣＡＲ）の出力ＤＣＡＲＯＵＴ−Ｔ０〜Ｔ３を比較し、ＲＳ−ＦＦにセットする。タイミング検出できる状態を限定するために各相のクロック生成回路から状態（ｉｄｌｅ−Ｔ０〜Ｔ３、Ｓｅｔｕｐ−Ｔ０〜Ｔ３、ＥｎｄＣＡを入力している。ＲＳ―ＦＦの出力が検出結果（ｄｔｃｔＣＡ）である。
【００３４】
図８には、この発明に係るテストクロック生成回路を用いたテスト動作の一例を説明するためのタイミング図が示されている。テストクロック生成回路は、前記のようなスキャンテスト制御回路からの信号ｃｔｒｌＣＡの論理（ハイレベル）によって動作状態にされ、これを起点としてタイミング検出回路でのタイミング検出が行われる。
【００３５】
この実施例のテスト動作では、各相の論理段の検証を並行して行うために、それぞれのクロック生成回路Ｔ０〜Ｔ３において、第１クロックパルスと第２クロックパルスとがそれぞれ発生される。タイミング検出は、レジスタＤＣＡＲが０１０１に設定されることにより、ＣＫ０が０、ＣＫ１が１、ＣＫ２が０、ＣＫ３が１のタイミングが基準とされ、その検出ポイントに対応して信号ｄｔｃｔＣＡが発生されて、それぞれの相において、前記図４の状態遷移に対応して第１クロックパルス（１ｓｔＣＫ）と、第２クロックパルス（２ｎｄＣＫ）とが発生される。上記タイミング検出は、後述するように異なるクロック相間での信号伝達のときの基準タイミングとしても用いられる。
【００３６】
この実施例においては、テストクロック生成回路のような固定論理回路を用い、それに設けられた設定レジスタにテスト条件を設定するという方式を採るために、任意の論理回路やそれに用いられるクロックパルスに適応でき、テスト設計工数の短縮が可能になる。また、実際に使用するクロックパルスをそのまま用いるものであるので、ＡＣテストの検出率向上が可能となる。特に、次に説明するような異なる相で動作する論理回路同士での信号伝達でのタイミング検証も可能となり、実際に則した回路試験が可能になる。
【００３７】
この実施例におけるのテスト容易化のためのテストクロック生成回路はクロック相毎に同一論理であるので設計が容易であり設計工数短縮が可能である。クロック生成手順と生成タイミングをパラメータ化して、自由に組み合わせることが出来るので論理設計におけるクロックの扱いに関する制約が少ない。これにより、高速ＣＭＯＳ回路、ＡＳＩＣあるいはＭＰＵ等のような各種デジタル集積回路装置に好適なものとなる。
【００３８】
図９には、この発明に係る半導体集積回路装置の更に他の一実施例の要部ブロック図が示されている。この実施例においては、前記図２の変形例であり、分周回路の出力と論理回路との間に挿入されるテスト容易化回路としてのクロック生成回路の入力と出力をゲートで組む変わりにフリップフロップＦＦを使用するものである。これにより、各相から出力されるクロックパルスはＰＬＬで形成された基準となるパルスに同期したものとなり、各クロック生成回路での信号伝達遅延等に影響されなくでき、クロック周波数が高速になるときに有効である。
【００３９】
図１０には、この発明が適用される半導体集積回路装置の一実施例の全体ブロック図が示されている。ユーザ論理のフリップフロップ（以下、単にＦＦという）は、信号ｓｅｎによって制御される入力切替回路が設けられる。入力切替回路は、通常動作時には信号Ｄを伝え、スキャン動作時には信号ｓｉを伝える。スキャン動作では、各ＦＦが直列接続されて、ランダムパターン発生回路ＲＰＧからテストパターンが入力される。
【００４０】
ＰＬＬ回路は、外部端子ＰＬＬＩＮから供給されるパルスに同期し、それよりも高い周波数にされたパルスを形成する。このパルスは、分周回路ＤＩＶにより分周されて、例えば前記ＣＫ０、ＣＫ１、ＣＫ２及びＣＫ３のような４相のクロックパルスが生成される。この実施例のテストクロック生成回路ＴＧＮは、上記分周回路ＤＩＶの出力部に設けられ、前記のようにテスト動作のときにはクロックパルスを停止させ、必要なタイミングでのテストクロックを出力する。
【００４１】
端子ＴＭＳ、ＴＤＩ、ＴＲＳＴ、ＴＤＯ、ＴＣＫはＪＴＡＧを制御するための端子でありＩＥＥＥ１１４９．１に準拠するものである。つまり、テスト用の制御回路はＪＴＡＧからアクセスされる。ユーザが使用するフリップフロップＦＦは全て前記のようにスキャンＦＦである。スキャンＦＦはテスト回路生成時に、隣接するスキャンＦＦ同士でスキャンチェーン（ｓｏ−ｓｉ）を接続する。チェーンの初段ＦＦのｓｉは乱数発生器ＲＰＧに接続される。乱数発生器ＲＰＧはＢＩＳＴで使用するテストパターンを発生させる。チェーンの最終ＦＦのｓｏはＭＩＳＲが接続される。ＭＩＳＲはＢＩＳＴで使用する符号圧縮器である。
【００４２】
図１１には、この発明に係る半導体集積回路装置の一実施例の全体構成図が示されている。同図は、半導体基板上の幾何学的な配置に合わせて各回路ブロックが示されている。つりま、同図は、半導体チップ構成を示すものとされる。本発明のテストクロック生成回路ＴＧＮは高速で応答することが要求されるので分周回路の周辺に配置される。
【００４３】
特に制限されないが、半導体チップの左右にＰＬＬ回路が一対設けられ、そこで逓倍されて高い周波数にされたパルスが分周回路１と２に供給される。分周回路１と２のそれぞれに対応して、この発明に係るテストクロック生成回路ＴＧＮが設けられる。前記図１０のテスト用インタフェースＪＴＡＧと制御回路ＣＮＴＬからの設定情報が、上記テストクロック生成回路ＴＧＮに供給される。テスト用インタフェースＪＴＡＧには、前記のような端子ＴＭＳ、ＴＤＩ、ＴＲＳＴ、ＴＤＯ、ＴＣＫに対応された診断ピンが設けられる。
【００４４】
上記テストクロック生成回路ＴＧＮの出力部とユーザ論理の各フリップフロップの間には、各フリップフロップに対して互いに等しい遅延時間を持つようにされたクロック分配回路からなるクロックトリーが設けられる。チップ周辺には、入出力インタフェース回路とそれに沿ってバウンダリスキャンレジスタが配置される。
【００４５】
図１２には、この発明に係るテストクロック生成回路を用いたテスト動作の他の一実施例を説明するための波形図が示されている。この実施例では、前記図８のように各クロック相での論理回路の論理動作の検証を行うものの他、異なるクロックで動作する論理回路間での信号伝送の検証にも適用される。
【００４６】
図１２（Ａ）のように分周回路からは多相クロックＣＫ０、ＣＫ１、ＣＫ２及びＣＫ３が出力される。この実施例では通常動作時に、図１２（Ｂ）のように、ＣＫ０−ＣＫ０で動作する論理回路を基本系として、ＣＫ０→ＣＫ１、ＣＫ０→ＣＫ３、及びＣＫ２→ＣＫ０、ＣＫ２→ＣＫ１、ＣＫ２→ＣＫ３の合計６通りの信号伝搬が行われる。
【００４７】
図１２（Ｃ）のように、上記のような論理回路のテストテスト時においてはそれぞれスキャン動作の間に各相のテストクロック生成回路では、転送形態１回分だけ出力される。つまり、ＣＫ０に対応したテストクロック生成回路では、１ｓｔＣＫと２ｎｄＣＫの２つのパルスが出力され、ＣＫ１に対応されたテストクロック生成回路では、１ｓｔＣＫの１つのパルスのみが出力され、同様にＣＫ２、ＣＫ３に対応されたそれぞれテストクロック生成回路では、１ｓｔＣＫの１つのパルスのみが出力される。
【００４８】
つまり、×を付したクロックはそれぞれのテストクロック生成回路で出力が禁止されて消されてしまう。このようにすることにより、論理段及び異なるクロック相の論理回路間での信号伝達において、１回分以外のクロックが転送されることを禁止、意図したタイミングでのテスト結果が後続のクロックで破壊されてしまうのを防止でき、その前後のスキャン動作によってテストパターンの入力とそれに対応した出力パターンの回収が実現できる。これにより、多相クロックで動作する論理回路の全体的なタイミング検証を、実際の動作に則したクロックにより検証することができ、不良検出率を高くすることができる。
【００４９】
図１３には、テストパラメータの設定方法を説明するための波形図が示されている。設定レジスタＤＣＡＲを１０１０に設定すると、クロック波形をみるとクロック生成タイミングがＣＫ０→０、ＣＫ１→１、ＣＫ２→０、ＣＫ３→１であるとき、ＣＫ０は１ｓｔＣＫと２ｎｄＣＫの２クロック生成、ＣＫ１、ＣＫ２，ＣＫ３は、１ｓｔＣＫのみ生成する。これらをパラメータとして設定すればテスト時に前述の転送形態を満たすことができる。上記設定レジスタＤＣＡＲの設定値のＣＫ１→０を変更すれば、検出タイミングがクロックＣＫ１の半周期分前となり、同じ転送形態に適用するなら、ＣＫ１を２ｎｄＣＫのみ生成するようにすればよい。このようにレジスタＤＣＡＲ及びＳ１ＣＲ，Ｓ２ＣＲの設定情報に対応して種々の組み合わせが実現できる。
【００５０】
図１４には、この発明に係るテストクロック生成回路を用いたテスト時のクロック動作を説明するための波形図が示されている。スキャン時は外部ピンＴＣＫより一律にクロック印加し、データ取り込む際に分周回路の多相クロックに切り替える。切り替えられたクロックはクロック生成回路に制御され、任意のクロックのみ出力するようにする。
【００５１】
図１５には、この発明に係る半導体集積回路装置の更に他の一実施例の要部ブロック図が示されている。この実施例においては、前記図２の変形例であり、比較回路の前後にフリップフロップを接続することにより、比較に要する時間を短縮することができる。より高速なクロックに対応するときに利用できる。
【００５２】
図１６には、この発明に係る半導体集積回路装置の設計方法の一実施例の説明図が示されている。論理設計ツールを用いて所望のユーザ論理設計を行う。つまり、ＰＬＬ回路及び分周回路ＤＩＶを組み込み、ユーザ論理のフリップフロップＦＦに所望のクロックＣＫ０、ＣＫ１、ＣＫ２、ＣＫ３等の多相クロックを供給するというような論理設計を行う。
【００５３】
ユーザ論理設計が終わったところで論理合成を実行し、ゲートレベルの論理に変換する。その後、テストクロック生成回路ＴＧＮを含むテスト回路を挿入し、クロック生成用のパラメータを設定した後テストパターンを生成する。このテトスパターンでは、論理不良の他にタイミング不良も検出し、前記論理設定のステップに戻り、回路の修正を行うようにするものである。このように論理設計ツール上において、タイミング不良を含めて回路の検証が可能となるので、製造コスト及び開発期間の短縮化が可能になるものである。
【００５４】
図１８には、この発明に係る半導体集積回路装置の他の一実施例の全体構成図が示されている。同図は、前記図１１と同様に半導体基板上の幾何学的な配置に合わせて各回路ブロックが示されており、前記同様にテストクロック生成回路ＴＧＮは高速で応答することが要求されるので分周回路の周辺に配置される。図１１の実施例では説明されない部分及び異なる部分について以下に説明する。
【００５５】
前記説明した通り、この実施例の半導体集積回路装置は、クロックパルスが論理段の各フリップフロップＦＦに相互に等しい遅延時間を持って供給されるような信号伝達系を備える。つまり、分周回路１、２及びテストクロック生成回路ＴＧＮ及び外部クロックインタフェース回路をチップ中央部に配置し、外部クロックインタフェース回路を起点として、例えば等長のクロック配線、及び同じ段数にされたクロックバッファを組み合わせて相互に等しい遅延時間を持ってクロックパルスが伝達される。これにより、クロックパルスを受ける論理回路を構成するフリップフロップＦＦにおいては、相互に同じ伝搬遅延時間差によるクロックパルスが供給される。
【００５６】
同図では、上記クロックパルスの信号伝達系がいわゆるＨトリーを構成するように線図として描かれている。つまり、Ｈトリーでは、外部クロックインタフェース回路を中心にして両側に同距離を持って延び、その末端ではそれと直角方向に両側に同距離を持って延びるという構成を繰り返す。上記Ｈトリーの各分岐部に図示しないがクロックバッファが配置される。そして、クロックパルスの信号伝達系の末端、つまりはフリップフロップ回路ＦＦのクロック供給ノード又はそれと同等のダミー供給ノードでのパルスがＰＬＬフィードバック信号としてＰＬＬ回路に入力される。それ故、ＰＬＬ回路では、外部から供給された基準クロックと、上記フリップフロップ回路ＦＦに供給されるクロックとを同期化させるような動作を行う。
【００５７】
上記外部クロックインタフェース回路は、上記のようなＨトリーからなるクロック供給配線を、通常クロックとテストクロックで共通に使用するために設けられる。このような動作のために、スキャンテストの制御状態によって、クロックの選択を行う必要があり、そのための論理ブロックを有する。外部クロックインタフェース回路では、「通常クロック」「内部生成クロック」「外部印加クロック」の３種類のクロックを選択することができる。後述するＳＥＮ生成回路はスキャンイネーブル信号の生成回路であり、外部印加のテストクロックを使用する際に使用する。テストクロック生成回路ＴＧＮは、前記説明した通りＰＬＬ・分周回路を経た実動作に近い速度のクロックからテストクロックを生成する。
【００５８】
この実施例では、ＪＴＡＧ・スキャンテスト制御回路は規模が若干大きく、通常動作論理の空き領域に配置されること望まれる。この図では、診断ピンの近くに配置される。テストクロック生成回路は分周回路の出力からテストクロックを生成する機能を持つため、分周回路の近辺に配置している。外部クロックインタフェース回路はクロックの選択機能を持つため、クロックトリーの根本に配置する必要がある。この実施例では、前記のようにクロックトリーの根本がチップ中心であるため、外部クロックインタフェース回路もチップの中心に配置される。
【００５９】
外部クロックインタフェース回路は、クロックの選択機能に絞って実現されたブロックであり、ゲート数がスキャンテスト診断回路に比べて少なく、クロックトリーの根本（チップの中心）に配置しても面積が小さくて済む。この実施例では、診断制御論理を構成する３つのブロック（分周回路・テストクロック生成回路、外部クロックインタフェース回路、ＪＴＡＧ・スキャンテスト制御回路）はそれぞれ独立に配置することができる。
【００６０】
図１９には、外部クロックインタフェース回路の一実施例のブロック図が示されている。同図においては、外部クロックインタフェース回路に関連する各回路も合わせて示されている。外部クロックインタフェース回路は、１つのクロックパルスに対して２つのクロックセレクタＡとＢの組み合わせにより構成される。例えば、テストクロック生成回路Ｔ０で形成されたテストクロックと、外部印加テストクロックは、クロックセレクタＡ０により選択される。このクロックセレクタＡ０で選択されたテストクロックと、それに対応した分周出力で形成されたクロックパルスとは、クロックセレタクＢ０により選択されてＣＫ０として出力される。上記分周回路で形成された上記クロックパルスとは異なる周波数又は位相のクロックに対応したテストクロック生成回路Ｔ１〜Ｔｎに対応して、上記クロックセレクＡ１〜ＡｎとＢ１〜Ｂｎが設けられる。これにより、同様にクロックＣＫ１〜ＣＫｎが出力される。
【００６１】
論理段のフリップフロップ回路ＦＦにテストパターンを入力するスキャンシフトの間は、クロックセレタクＡ０〜Ａｎにより外部印加テストクロックを選択し、セレクタＢ０〜Ｂｎによりテスト側に設定して上記外部印加テストクロックを選択する。つまり、図２０のように、入力パターンの入力のためのスキャン時には、全部のＦＦに対して同一のクロックをスキャンシスト用クロックとして出力させる。論理段のテスト時には、上記クロックセレクタＡ０〜Ａｎをテストクロック生成回路Ｔ０〜Ｔｎで形成されたテストクロックに切り換え、それぞれのクロック相に応じたテストクロックを出力する。このようにして行われた入力パターンに対応した論理段の論理出力パターンは、同一のクロックに切り換えられてスキャン動作により回収される。同図は、前記図１４と同様である。
【００６２】
前記のようにスキャンシフトの間は、外部から印加されたテストクロックを出力するようにクロックセレクタＡ、Ｂを制御する。このテストモードの間は、外部から印加したテストクロックを使用する場合、クロック生成回路で生成したテストクロックを使用する場合も、クロックセレクタＡ、Ｂを制御して、設定されたクロックが出力されるように制御する。論理機能テスト時に選択するクロックについては、テスト生成回路や外部インタフェース回路に内蔵されている設定レジスタにテスト実施前に所定の情報を書き込んでおくことにより、任意に設定可能である。
【００６３】
上記外部クロックインタフェース回路やテストクロック生成回路は、スキャンテスト診断回路よりクロックの切り換えタイミングの制御信号を受け取り、そのタイミングに応じて適切なクロックが選択されるように動作する。どのクロックを選択するかは、前記のように内蔵している設定レジスタの内容を参照することで決定される。テストでない通常動作の時は、クロックセレクタＢを制御して、分周回路からのクロックが直接出力される。
【００６４】
図２１には、外部クロックインタフェース回路の一実施例のブロック図が示されている。インストラクション・レジスタは、現在実行されているインストラクションを格納する。設定レジスタは、各状態で選択するクロックの指定を格納する。クロックセレクタは、実際にクロックに対するセレクタの集まりであり、論理は最適化されている。共通インタフェースは制御部本体からの制御信号を受ける論理回路である。クロック選択制御部は、インストラクション及び各種設定内容に応じてセレクタの制御信号を生成する。ＳＥＮ生成部は、前記図１０で示したようなＭＵＸＳＣＡＮ専用の各スキャンＦＦに分配するための、スキャンイネーブル(Scan Enable）信号を生成する。
【００６５】
上記外部クロックインタフェース回路において、テスト実行時にあらかじめ設定レジスタに選択するクロックが設定され、インストラクション・レジスタにデータが格納されるとその内容に従って回路が動作する。テストが始まると設定レジスタ内容を参照してクロックを選択してテストが実行される。
【００６６】
図２２には、この発明に係る半導体集積回路装置に搭載される診断制御論理回路の一実施例の全体ブロック図が示されている。診断論理回路は、前記説明したように、スキャンテスト診断回路、外部クロックインタフェース回路及びテストクロック生成回路の３つから構成される。
【００６７】
スキャンテスト診断回路は、前記説明したようにＪＴＡＧ・制御用ステートマシンを内部に持ち、スキャンテストに必要な制御を行う。ＪＴＡＧ及びスキャンテスト制御ステートマシンの状態に従って、Ｉ／Ｏ、バウンダリスキャン、ＲＡＭ等のマクロ、ＲＰＧ，ＭＩＳＲの制御を行う。また、外部クロックインタフェース、テストクロック生成回路とのタイミングの同期制御も司っており、そのための制御論理も備える。
【００６８】
外部クロックインタフェースは、前記説明したように一つのクロック配線を、通常クロックとテストクロックで共通に使用するため、スキャンテストの制御状態によって、クロックの選択を行う必要があり、そのための論理ブロックを提供する。外部クロックインタフェース回路では、「通常クロック」「内部生成クロック」「外部印加クロック」の３種類のクロックを選択することができる。ＳＥＮ生成回路はスキャンイネーブル信号の生成回路であり、外部印加のテストクロックを使用する際に使用する。そして、テストクロック生成回路は、前記説明したようにＰＬＬ・分周回路を経た実動作に近い速度のクロックからテストクロックを生成する。
【００６９】
図２３には、この発明に係る半導体集積回路装置の更に他の一実施例の全体構成図が示されている。同図は、半導体基板上の幾何学的な配置に合わせて各回路ブロックが示されている。この実施例では、クロックインタフェース回路をクロックブロック毎に複数個配置した例が示されている。この実施例では、半導体チッにおいて、斜線を付したように周辺部に独自のクロックで動作する回路ブロックが設けられる。この周辺ブロックにおいて、その中心部に分周回路及びテストクロック生成回路が配置され、それに対応して外部クロックインタフェース回路が配置される。
【００７０】
このように、クロックインタフェース回路を、各クロックトリーの根本に挿入する。各クロックインタフェース回路への制御信号は、前記図２２で示したようなスキャンテスト診断回路からなる制御部本体から分配される。上記制御部本体及び各クロックインタフェース回路は共通の診断クロックで同期して動作する。これにより、クロッククトリー起点の位置が異なっても、他のクロックブロックと制御を同期させることが簡単であり、チップ全体を一律タイミングでテストすることも可能となるものである。
【００７１】
以上説明したような本願発明に係る外部クロックインタフェ―ス回路は、クロックの制御に必要な機能に絞って論理を構成しているので、制御部本体に比べて小さい。そのため、最適化したクロックインタフェース回路全体をクロックトリーの起点に挿入することができるため、セレクタ機能を追加してもスキューの増加を抑える事ができる。制御部本体からの信号は、ＴＡＰ状態を表す数本となるため、配線数を抑える事ができる。
【００７２】
多相クロックに対応したＭＵＸＳＣＡＮ方式では、前記図１４や図２０に示したようにクロック相毎のデータ転送形態に応じてクロック波形を制御する複雑な動作が必要となる。一方、半導体集積回路装置ＬＳＩのクロックトリーの根本となる部分は、前記図２３に示したように複数箇所に存在することの方が多い。１カ所に制御論理を集中させた場合には、各クロック制御論理に対して複数の制御信号を分配することになり、ディレイの管理が複雑になる。特にクロックを管理する論理では、タイミング設計に厳密である必要があるため、制御ブロックとのタイミング設計に苦労することになる。
【００７３】
上記のように診断のクロックの制御はタイミングが厳しいため、本願発明では前記のように専用のブロックとして独立させるものである。このように独立させて設けられた外部クロックインタフェース回路においては、上記インストラクション・レジスタ、クロック選択用の設定レジスタをそれぞれ持ち、本ブロックそのものが制御論理を持つためクロックに近い部分で制御が可能になりディレイを含めたタイミング管理が容易になる。また、制御に必要なＴＡＰの状態は、診断制御部本体から数本の制御信号で分配でき、診断制御回路から各クロックセレクタに制御信号を分配する方式よりも配線コスト面で有利となるものである。
【００７４】
以上説明したようにクロック制御に特化したブロックを独立させるため、タイミング設計が容易になり、テスト種類毎に設定に応じた細かい制御論理を盛り込むことが可能になる。テストクロックのタイミング設計が容易になるため、高速テストヘの対応が可能になる。そして、クロックブロック毎に制御論理を持つため、ブロック毎に特化したテストクロックが利用できる。
【００７５】
以上説明したように、本実施形態によれば以下の効果が得られる。
（１）  レジスタ順序回路及びクロック伝達制御回路とを備えるテストクロック生成回路を上記パルス発生回路と論理回路の間に設け、テスト動作が有効とされたときには、上記パルス発生回路で形成されたクロックパルスの上記論理回路への伝達を停止させ、上記レジスタの設定情報に従って上記順序回路により上記クロック伝達制御回路を制御して、上記パルス発生回路で形成されたクロックパルスを用いて上記論理回路を動作させるクロックパルスを出力させることにより、高性能のテスト動作を実現できるという効果が得られる。
【００７６】
（２）  上記テストクロック生成回路において、テスト動作が有効とされたときに、上記クロック伝達制御回路により上記パルス発生回路で形成されたクロックパルスの上記論理回路への伝達を停止させ、上記レジスタの設定情報に従って上記順序回路により上記クロック伝達制御回路を制御して上記パルス発生回路で形成された第１クロックパルスと第２クロックパルスを上記論理回路に伝達させることにより、実際の動作に則した論理段でのタイミングを含めた論理検証を行うことができるという効果が得られる。
【００７７】
（３）  上記に加えて、異なる位相又は周波数で動作する複数種類の論理回路に対して、上記パルス発生回路により複数種類の論理回路に対応した複数通りの多相クロックパルスを形成し、上記テストクロック生成回路においては、上記複数種類の論理回路に対応し、それぞれがタイミング検出回路を更に備えた複数として、前記テスト動作が有効とされたときに、上記タイミング検出回路の検出信号及びレジスタの設定情報に従って上記順序回路により上記クロック伝達制御回路を制御して、クロックパルスが異なる論理回路間での信号伝達に対応したクロックパルスを出力させることにより、各クロック相でのテストの他に、異なるクロック相で動作する論理回路間での信号伝達の検証も行うようにすることができるという効果が得られる。
【００７８】
（４）  上記パルス発生回路において、外部端子から供給されたパルス信号に対して高い周波数にされたパルス信号を形成するＰＬＬ回路を含むものとすることにより、論理回路の高速化を図りつつ、その動作に対応したパルスによりテストを行うようにすることができるという効果が得られる。
【００７９】
（５）  上記半導体集積回路装置において、上記論理回路の入力側に設けられた第１フリップフロップ回路にテストパターンを供給するスキャン回路と、上記論理回路の出力側に設けられた第２フリップフロップ回路に取り込まれた信号を取り出すキャン回路とを備えることにより、テスト設定を容易に行うようにすることができるという効果が得られる。
【００８０】
（６）  コンピュータを用いた論理設計ツール上において、所望の論理機能を実現するための論理回路と、その動作に必要なクロックパルスを形成するパルス発生回路の設計を行い、レジスタ順序回路及びクロック出力制御回路とを備え、テスト動作が有効とされたときには、上記パルス発生回路で形成されたクロックパルスの上記論理回路への伝達を停止させ、上記レジスタの設定情報に従って上記順序回路により上記クロック伝達制御回路を制御して、上記パルス発生回路で形成されたクロックパルス信号を用いて上記論理回路を動作させるクロックパルスを出力させるテストクロック生成回路を組み込み、このテストクロック生成回路により論理回路機能及びタイミングマージンのテストを行うことにより、製造コスト及び開発期間の短縮化が可能になるという効果が得られる。
【００８１】
（７）  上記パルス発生回路として、外部端子から供給されたパルス信号に対して高い周波数にされたパルス信号を形成するＰＬＬ回路を含むものとすることにより、高速化を図った論理回路の設計を効率よく行うようにすることができるという効果が得られる。
【００８２】
（８）  クロック制御に特化したブロックを独立させるため、タイミング設計が容易になり、テスト種類毎に設定に応じた細かい制御論理を盛り込むことでテストクロックのタイミング設計が容易になり、高速テストヘの対応が可能になるとともに、クロックブロック毎に制御論理を持つためにブロック毎に特化したテストクロックが利用できるという効果が得られる。
【００８３】
以上、本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。テストクロック生成回路の具体的構成は、前記図４に示したような第１クロックと第２クロック処理を含むものであれば何であってもよい。
【００８４】
この発明は、ＬＳＩ上の設計された論理回路において、ユーザクロックにテスト容易化回路を挿入してテスト時にテストクロックを制御するもの、実際の動作と同じクロックで動作する順序回路を持ち、順序回路を利用して外部からの入力条件によってユーザクロックの印加を任意に抑制することでテストクロック生成手順を制御し、同期設計された分周回路により出力される多相クロックで構成されている論理回路において、各相のクロックにテストクロック生成回路を持ち、さらに各クロック相の任意の状態を検出すための比較回路をもち、この比較回路の一致信号をテスト容易化回路に印加することにより同一クロック相だけでなく異なるクロック相関の同期を取りながらテストクロックを制御するものとして広く利用できる。
【００８５】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記のとおりである。レジスタ順序回路及びクロック伝達制御回路とを備えるテストクロック生成回路を上記パルス発生回路と論理回路の間に設け、テスト動作が有効とされたときには、上記パルス発生回路で形成されたクロックパルスの上記論理回路への伝達を停止させ、上記レジスタの設定情報に従って上記順序回路により上記クロック伝達制御回路を制御して、上記パルス発生回路で形成されたクロックパルスを用いて上記論理回路を動作させるクロックパルスを出力させることにより、高性能のテスト動作を実現できる。
【００８６】
コンピュータを用いた論理設計ツール上において、所望の論理機能を実現するための論理回路と、その動作に必要なクロックパルスを形成するパルス発生回路の設計を行い、レジスタ順序回路及びクロック出力制御回路とを備え、テスト動作が有効とされたときには、上記パルス発生回路で形成されたクロックパルスの上記論理回路への伝達を停止させ、上記レジスタの設定情報に従って上記順序回路により上記クロック伝達制御回路を制御して、上記パルス発生回路で形成されたクロックパルス信号を用いて上記論理回路を動作させるクロックパルスを出力させるテストクロック生成回路を組み込み、このテストクロック生成回路により論理回路機能及びタイミングマージンのテストを行うことにより、製造コスト及び開発期間の短縮化が可能になる。
【図面の簡単な説明】
【図１】この発明に係る半導体集積回路装置の一実施例を示す要部ブロック図である。
【図２】この発明に係る半導体集積回路装置の他の一実施例を示す要部ブロック図である。
【図３】この発明に係る半導体集積回路装置のテストクロック生成回路とそれに関連する回路の一実施例を示すブロック図である。
【図４】この発明に用いられるクロック生成回路の一実施例を示す状態遷移図である。
【図５】図４に対応したクロック生成回路の一実施例を示す回路構成図である。
【図６】図３の設定レジスタの一実施例を示すブロック図である。
【図７】図３のタイミング検出回路の一実施例を示すブロック図である。
【図８】この発明に係るテストクロック生成回路を用いたテスト動作の一例を説明するためのタイミング図である。
【図９】この発明に係る半導体集積回路装置の更に他の一実施例を示す要部ブロック図である。
【図１０】この発明が適用される半導体集積回路装置の一実施例を示す全体ブロック図である。
【図１１】この発明に係る半導体集積回路装置の一実施例を示す全体構成図である。
【図１２】この発明に係るテストクロック生成回路を用いたテスト動作の他の一実施例を説明するための波形図である。
【図１３】図１２に対応したテストパラメータの設定方法を説明するための波形図である。
【図１４】この発明に係るテストクロック生成回路を用いたテスト時のクロック動作を説明するための波形図である。
【図１５】この発明に係る半導体集積回路装置の更に他の一実施例を示す要部ブロック図である。
【図１６】この発明に係る半導体集積回路装置の設計方法の一実施例を示す説明図である。
【図１７】この発明に先立って検討されたテスト回路の一例を示すブロック図である。
【図１８】この発明に係る半導体集積回路装置の他の一実施例を示す全体構成図である。
【図１９】図１８の外部クロックインタフェース回路の一実施例を示すブロック図である。
【図２０】図１９の外部クロックインタフェース回路の動作の一例を説明するための波形図である。
【図２１】図１９の外部クロックインタフェース回路の一実施例を示すブロック図である。
【図２２】この発明に係る半導体集積回路装置に搭載される診断制御論理回路の一実施例を示す全体ブロック図である。
【図２３】この発明に係る半導体集積回路装置の更に他の一実施例を示す全体構成図である。
【符号の説明】
Ｔ０〜Ｔ３…クロック生成回路、ＦＦ…フリップフロップ、ＤＣＡＲ，Ｓ１ＣＲ，Ｓ２ＣＲ…レジスタ、ＰＬＬ…クロック発生回路、ＤＩＶ…分周回路、Ｇ１，Ｇ２…ゲート回路、２Ａ〜２ｎ…順序回路、ＴＧＮ…テストクロック生成回路、ＲＰＧ…乱数発生器、ＭＩＳＲ…符号圧縮器、ＪＴＡＧ…テストインタフェース回路、ＣＮＴＬ…制御回路。
【図１】
0004023598.tif 000002
【図２】
0004023598.tif 000003
【図３】
0004023598.tif 000004
【図４】
0004023598.tif 000005
【図５】
0004023598.tif 000006
【図６】
0004023598.tif 000007
【図７】
0004023598.tif 000008
【図８】
0004023598.tif 000009
【図９】
0004023598.tif 000010
【図１０】
0004023598.tif 000011
【図１１】
0004023598.tif 000012
【図１２】
0004023598.tif 000013
【図１３】
0004023598.tif 000014
【図１４】
0004023598.tif 000015
【図１５】
0004023598.tif 000016
【図１６】
0004023598.tif 000017
【図１７】
0004023598.tif 000018
【図１８】
0004023598.tif 000019
【図１９】
0004023598.tif 000020
【図２０】
0004023598.tif 000021
【図２１】
0004023598.tif 000022
【図２２】
0004023598.tif 000023
【図２３】
0004023598.tif 000024