(57)【要約】【課題】比較的低い周波数の動作テスト用のクロック信号により、その周波数より高く、かつ、可変に変更可能な周波数のクロック信号による動作テストを見かけ上実現し、正常に動作する最大動作周波数を測定する動作テスト回路を含む半導体集積回路を提供する。【解決手段】動作テストを行いたい被テスト回路１の両端に設けられた第１および第２のフリップフロップ２、３のうち、第１のフリップフロップ２に位相制御回路４を介してクロック信号が供給されるようにする。この位相制御回路４はクロック信号の位相をテスト実施者が可変に制御できる回路であり、これを用いて第１および第２のフリップフロップ２、３を非同期に動作させ、見かけ上クロック周波数の高い動作テストを実現する。【選択図】  図１
2004212310.tif 000002
【特許請求の範囲】
【請求項１】
被テスト回路と、
第１のクロック信号が入力され、位相制御信号に基づいて前記第１のクロック信号の位相を変更し、第２のクロック信号として出力する位相制御回路と、
前記第１あるいは第２のクロック信号のいずれか一方のクロック信号が入力され、この入力されたクロック信号のエッジに同期して動作し、前記被テスト回路へデータの出力を行う第１のフリップフロップと、
前記第１および第２のクロック信号のうち、前記第１のフリップフロップに入力されていない方のクロック信号が入力され、この入力されたクロック信号のエッジに同期して動作し、前記被テスト回路から入力されたデータの出力を行う第２のフリップフロップとを具備することを特徴とする動作テスト回路を含む半導体集積回路。
【請求項２】
位相制御信号により位相制御回路を制御して、第１のクロック信号の位相を変更した第２のクロック信号を生成し、前記第１あるいは第２のクロック信号のいずれか一方のクロック信号を第１のフリップフロップに入力し、かつ、前記第１および第２のクロック信号のうち、前記第１のフリップフロップに入力されていない方のクロック信号を第２のフリップフロップに入力する第１のステップと、
評価用データを被テスト回路に入力する第２のステップと、
前記第１および第２のステップの実行により得られる被テスト回路からの出力データを、前記被テスト回路が正常に動作した際の期待値と比較する第３のステップとを具備し、
前記第３のステップにおいて前記被テスト回路からの出力データが前記期待値と一致する場合、不一致となるまで、前記第１のクロック信号と前記第２のクロック信号との位相差が広がるように、位相制御信号により前記位相制御回路を制御して前記第２のクロック信号の位相を順次変更し、前記第１乃至第３のステップを繰り返すことを特徴とする動作テスト回路を含む半導体集積回路の動作テスト方法。
【請求項３】
複数の被テスト回路と、
前記複数の被テスト回路間に介在し、入力されたクロック信号のエッジに同期して動作し、前記複数の被テスト回路間での入出力を行う複数のフリップフロップと、
第１のクロック信号が入力され、位相制御信号に基づいて前記第１のクロック信号の位相を変更し、第２のクロック信号として出力する位相制御回路と、
前記複数のフリップフロップ各々について設けられ、前記複数のフリップフロップのうちの１つのフリップフロップに対して、前記第１および第２のクロック信号のうち、いずれか一方のクロック信号を選択して供給可能であり、前記複数のフリップフロップのうちの他のフリップフロップに対して、前記第１および第２のクロック信号のうち、もう一方のクロック信号を選択して供給可能である複数のセレクタとを具備することを特徴とする動作テスト回路を含む半導体集積回路。
【請求項４】
セレクタ制御信号によりセレクタを制御して、第１のクロック信号の経路あるいは位相制御回路から出力されるクロック信号の経路のいずれか一方のクロック信号の経路を１つのフリップフロップに接続し、もう一方のクロック信号の経路を他のフリップフロップに接続する第１のステップと、
位相制御信号により前記位相制御回路を制御して、前記第１のクロック信号の位相を変更した第２のクロック信号を生成し、前記第１および第２のクロック信号を前記セレクタに供給する第２のステップと、
評価用データを被テスト回路に入力する第３のステップと、
前記第１乃至第３のステップの実行により得られる被テスト回路からの出力データを、前記被テスト回路が正常に動作した際の期待値と比較する第４のステップとを具備し、
前記第４のステップにおいて前記被テスト回路からの出力データが前記期待値と一致する場合、不一致となるまで、前記第１のクロック信号と前記第２のクロック信号との位相差が広がるように、位相制御信号により前記位相制御回路を制御して前記第２のクロック信号の位相を順次変更し、前記第２乃至第４のステップを繰り返すことを特徴とする動作テスト回路を含む半導体集積回路の動作テスト方法。
【請求項５】
複数の被テスト回路と、
前記複数の被テスト回路間に介在し、入力されたクロック信号のエッジに同期して動作し、前記複数の被テスト回路間での入出力を行う複数のフリップフロップと、
第１のクロック信号が入力され、位相制御信号に基づいて前記第１のクロック信号の位相を変更し、第２のクロック信号として出力する位相制御回路と、
前記複数のフリップフロップ各々について設けられ、前記複数のフリップフロップのうちの１つのフリップフロップに対して、前記第１および第２のクロック信号のうち、いずれか一方のクロック信号を選択して供給可能であり、前記複数のフリップフロップのうちの他のフリップフロップに対して、前記第１および第２のクロック信号のうち、もう一方のクロック信号を選択して供給可能である複数のセレクタと、
評価用データを生成し、その評価用データを前記被テスト回路に入力する評価用データ生成回路と、
前記被テスト回路からの出力データと前記評価用データから予測される期待値との比較を行う期待値比較回路と、
前記位相制御回路、前記複数のセレクタ、前記評価用データ生成回路、および、前記期待値比較回路を制御し、前記期待値比較回路が行う比較において前記被テスト回路からの出力データと前記期待値とが一致する場合、不一致となるまで、前記第１のクロック信号と前記第２のクロック信号との位相差が広がるように前記第２のクロック信号の位相を順次変更し、前記被テスト回路への前記評価用データの入出力を行うシーケンス回路とを具備することを特徴とする動作テスト回路を含む半導体集積回路。
【請求項６】
評価用データを生成し、この評価用データを被テスト回路に入力する第１のステップと、
セレクタ制御信号によりセレクタを制御して、第１のクロック信号の経路あるいは位相制御回路から出力されるクロック信号の経路のいずれか一方のクロック信号の経路を１つのフリップフロップに接続し、もう一方のクロック信号の経路を他のフリップフロップに接続する第２のステップと、
位相制御信号により前記位相制御回路を制御して、前記第１のクロック信号の位相を変更した第２のクロック信号を生成し、前記第１および第２のクロック信号を前記セレクタに供給する第３のステップと、
前記第１乃至第３のステップの実行により得られる被テスト回路からの出力データを、前記被テスト回路が正常に動作した際の期待値と比較する第４のステップとを具備し、
前記第４のステップにおいて前記被テスト回路からの出力データが前記期待値と一致する場合、不一致となるまで、前記第１のクロック信号と前記第２のクロック信号との位相差が広がるように、位相制御信号により前記位相制御回路を制御して前記第２のクロック信号の位相を順次変更し、前記第１乃至第４のステップを繰り返すことを特徴とする動作テスト回路を含む半導体集積回路の動作テスト方法。
【請求項７】
前記位相制御回路は、前記半導体集積回路の外部から入力される前記位相制御信号により制御されることを特徴とする請求項１、３または５のいずれか１項記載の動作テスト回路を含む半導体集積回路。
【請求項８】
前記第２のクロック信号を生成するステップにおいて、前記位相制御信号を前記半導体集積回路の外部より入力することで前記位相制御回路を制御することを特徴とする請求項２、４または６のいずれか１項記載の動作テスト回路を含む半導体集積回路の動作テスト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動作テスト回路を含む半導体集積回路、および、その動作テスト方法に関するものである。
【０００２】
【従来の技術】
従来、半導体集積回路（以下、ＬＳＩと称す）の動作テストは、一般的に、外部のＬＳＩテスタより動作テスト用のクロック信号をＬＳＩに供給することにより行われてきた。
【０００３】
しかし、最近は、ＬＳＩの動作性能が更なる発展を遂げ、外部のＬＳＩテスタより供給されるクロック信号の周波数とＬＳＩの実動作時の動作周波数とが懸け離れることで、実動作時を想定したＬＳＩの動作テストが困難になりつつある。
【０００４】
このような背景から、比較的低い周波数の動作テスト用のクロック信号により、高い周波数のクロック信号による動作テストを見かけ上実現する動作テスト回路が提案されている（例えば、特許文献１参照）。
【０００５】
図１０は、従来の動作テスト回路の構成を示した図である。被テスト回路１０１の動作テストを行いたいパスの両端に、第１および第２のフリップフロップ１０２、１０３を設けており、被テスト回路１０１に第１のフリップフロップ１０２を介して評価用データＤが入力され、第２のフリップフロップ１０３を介して出力データＤ´が出力される。また、第１および第２のフリップフロップ１０２、１０３の各々には、評価用データＤ、通常クロックＣおよびテストクロックＣ２がそれぞれ入力される。ここでの被テスト回路１０１とは、例えば、ロジック回路などである。
【０００６】
第１および第２のフリップフロップ１０２、１０３は、マスタラッチおよびスレーブラッチから構成されており、通常クロックＣまたはテストクロックＣ２の少なくとも一方の論理値が０の状態から１の状態へと変化するタイミングで評価用データＤが入力されてマスタラッチにホールドされ、通常クロックＣが論理値１へと変化するタイミングで評価用データＤがスレーブラッチを介して出力される。すなわち、通常動作時はテストクロックＣ２を論理値０に保つことにより一相同期のフリップフロップとして動作し、動作テスト時には、通常クロックＣおよびテストクロックＣ２を制御することにより、二相同期のフリップフロップとして、マスタラッチとスレーブラッチを別々に制御できる。
【０００７】
ここで、図１１に示すタイミングで通常クロックＣおよびテストクロックＣ２が入力された際の、このフリップフロップの動作を考える。
【０００８】
まず、前段のフリップフロップ１０２の動作に着目する。テストクロックＣ２が時刻ｔ１１に論理値０から１へと立ち上がると、評価用データＤがマスタラッチに入力されホールドされる。次に、通常クロックＣがテストクロックＣ２の立ち上がりに遅れて時刻ｔ１２に立ち上がった際に、マスタラッチにホールドされていた評価用データＤがスレーブラッチから出力され、動作テストの対象である被テスト回路１０１内のバスに入力される。次に、テスト対象のパスの後段のフリップフロップ１０３の動作を考えると、評価用データＤは、テストクロックＣ２の時刻ｔ１３における再度の立ち上がりにおいて、後段のフリップフロップ１０３のマスタラッチへと取り込まれる。
【０００９】
以上のフリップフロップの動作を考えると、評価用データＤは、テスト対象のパスに時刻ｔ１２に入力され時刻ｔ１３に出力されることとなる。この場合、テスト対象のパスから見ると、実質、時刻ｔ１２と時刻ｔ１３との時間間隔を周期としたクロックにより動作された場合と同じとみなせる。時刻ｔ１２と時刻ｔ１３との時間間隔は実際のクロックの周期よりも短いものであるから、比較的低い周波数の動作テスト用のクロック信号により、高い周波数のクロック信号による動作テストを見かけ上実現することが可能となる。
【特許文献１】
特許第２９５３４３５号公報（第３および４頁、図１および図３）
【００１０】
【発明が解決しようとする課題】
しかしながら、上記従来の動作テスト回路は、比較的低い周波数のクロックを用いて、高い周波数のクロック信号による動作テストを見かけ上実現することのみを、その目的としている。そのため、テスト対象の回路が正常に動作する最大動作周波数ｆｍａｘを見極めることができない。
【００１１】
また、上記従来の動作テスト回路では、二相同期のフリップフロップを設ける位置により、評価されるパスが一義的に決定されるため、動作テストにおいて評価するパスを変更したい場合に対応することができない。
【００１２】
本発明は、以上のような背景からなされたもので、比較的低い周波数のクロック信号により、その周波数より高く、かつ、変更可能な周波数のクロック信号による動作テストを見かけ上実現し、被テスト回路が正常に動作する最大動作周波数を測定する動作テスト回路を含む半導体集積回路、および、その動作テスト方法を提供することを目的とする。
【００１３】
また、本発明は、上記の動作テストおいて、評価するパスを複数の中から任意に選択できる動作テスト回路を含む半導体集積回路、および、その動作テスト方法を提供することを目的としている。
【００１４】
【課題を解決するための手段】
上記目的を達成するために、本発明に係る動作テスト回路を含む半導体集積回路は、被テスト回路と、第１のクロック信号が入力され、位相制御信号に基づいて前記第１のクロック信号の位相を変更し、第２のクロック信号として出力する位相制御回路と、前記第１あるいは第２のクロック信号のいずれか一方のクロック信号が入力され、この入力されたクロック信号のエッジに同期して動作し、前記被テスト回路へデータの出力を行う第１のフリップフロップと、前記第１および第２のクロック信号のうち、前記第１のフリップフロップに入力されていない方のクロック信号が入力され、この入力されたクロック信号のエッジに同期して動作し、前記被テスト回路から入力されたデータの出力を行う第２のフリップフロップとを具備することを特徴としている。
【００１５】
また、本発明に係る動作テスト回路を含む半導体集積回路の動作テスト方法は、位相制御信号により位相制御回路を制御して、第１のクロック信号の位相を変更した第２のクロック信号を生成し、前記第１あるいは第２のクロック信号のいずれか一方のクロック信号を第１のフリップフロップに入力し、かつ、前記第１および第２のクロック信号のうち、前記第１のフリップフロップに入力されていない方のクロック信号を第２のフリップフロップに入力する第１のステップと、評価用データを被テスト回路に入力する第２のステップと、前記第１および第２のステップの実行により得られる被テスト回路からの出力データを、前記被テスト回路が正常に動作した際の期待値と比較する第３のステップとを具備し、前記第３のステップにおいて前記被テスト回路からの出力データが前記期待値と一致する場合、不一致となるまで、前記第１のクロック信号と前記第２のクロック信号との位相差が広がるように、位相制御信号により前記位相制御回路を制御して前記第２のクロック信号の位相を順次変更し、前記第１乃至第３のステップを繰り返すことを特徴としている。
【００１６】
更に、本発明に係る動作テスト回路を含む半導体集積回路は、複数の被テスト回路と、前記複数の被テスト回路間に介在し、入力されたクロック信号のエッジに同期して動作し、前記複数の被テスト回路間での入出力を行う複数のフリップフロップと、第１のクロック信号が入力され、位相制御信号に基づいて前記第１のクロック信号の位相を変更し、第２のクロック信号として出力する位相制御回路と、前記複数のフリップフロップ各々について設けられ、前記複数のフリップフロップのうちの１つのフリップフロップに対して、前記第１および第２のクロック信号のうち、いずれか一方のクロック信号を選択して供給可能であり、前記複数のフリップフロップのうちの他のフリップフロップに対して、前記第１および第２のクロック信号のうち、もう一方のクロック信号を選択して供給可能である複数のセレクタとを具備することを特徴としている。
【００１７】
更に、本発明に係る動作テスト回路を含む半導体集積回路の動作テスト方法は、セレクタ制御信号によりセレクタを制御して、第１のクロック信号の経路あるいは位相制御回路から出力されるクロック信号の経路のいずれか一方のクロック信号の経路を１つのフリップフロップに接続し、もう一方のクロック信号の経路を他のフリップフロップに接続する第１のステップと、位相制御信号により前記位相制御回路を制御して、前記第１のクロック信号の位相を変更した第２のクロック信号を生成し、前記第１および第２のクロック信号を前記セレクタに供給する第２のステップと、評価用データを被テスト回路に入力する第３のステップと、前記第１乃至第３のステップの実行により得られる被テスト回路からの出力データを、前記被テスト回路が正常に動作した際の期待値と比較する第４のステップとを具備し、前記第４のステップにおいて前記被テスト回路からの出力データが前記期待値と一致する場合、不一致となるまで、前記第１のクロック信号と前記第２のクロック信号との位相差が広がるように、位相制御信号により前記位相制御回路を制御して前記第２のクロック信号の位相を順次変更し、前記第２乃至第４のステップを繰り返すことを特徴としている。
【００１８】
更に、本発明に係る動作テスト回路を含む半導体集積回路は、複数の被テスト回路と、前記複数の被テスト回路間に介在し、入力されたクロック信号のエッジに同期して動作し、前記複数の被テスト回路間での入出力を行う複数のフリップフロップと、第１のクロック信号が入力され、位相制御信号に基づいて前記第１のクロック信号の位相を変更し、第２のクロック信号として出力する位相制御回路と、前記複数のフリップフロップ各々について設けられ、前記複数のフリップフロップのうちの１つのフリップフロップに対して、前記第１および第２のクロック信号のうち、いずれか一方のクロック信号を選択して供給可能であり、前記複数のフリップフロップのうちの他のフリップフロップに対して、前記第１および第２のクロック信号のうち、もう一方のクロック信号を選択して供給可能である複数のセレクタと、評価用データを生成し、その評価用データを前記被テスト回路に入力する評価用データ生成回路と、前記被テスト回路からの出力データと前記評価用データから予測される期待値との比較を行う期待値比較回路と、前記位相制御回路、前記複数のセレクタ、前記評価用データ生成回路、および、前記期待値比較回路を制御し、前記期待値比較回路が行う比較において前記被テスト回路からの出力データと前記期待値とが一致する場合、不一致となるまで、前記第１のクロック信号と前記第２のクロック信号との位相差が広がるように前記第２のクロック信号の位相を順次変更し、前記被テスト回路への前記評価用データの入出力を行うシーケンス回路とを具備することを特徴としている。
【００１９】
更に、本発明に係る動作テスト回路を含む半導体集積回路の動作テスト方法は、評価用データを生成し、この評価用データを被テスト回路に入力する第１のステップと、セレクタ制御信号によりセレクタを制御して、第１のクロック信号の経路あるいは位相制御回路から出力されるクロック信号の経路のいずれか一方のクロック信号の経路を１つのフリップフロップに接続し、もう一方のクロック信号の経路を他のフリップフロップに接続する第２のステップと、位相制御信号により前記位相制御回路を制御して、前記第１のクロック信号の位相を変更した第２のクロック信号を生成し、前記第１および第２のクロック信号を前記セレクタに供給する第３のステップと、前記第１乃至第３のステップの実行により得られる被テスト回路からの出力データを、前記被テスト回路が正常に動作した際の期待値と比較する第４のステップとを具備し、前記第４のステップにおいて前記被テスト回路からの出力データが前記期待値と一致する場合、不一致となるまで、前記第１のクロック信号と前記第２のクロック信号との位相差が広がるように、位相制御信号により前記位相制御回路を制御して前記第２のクロック信号の位相を順次変更し、前記第１乃至第４のステップを繰り返すことを特徴としている。
【００２０】
【発明の実施の形態】
（第１の実施の形態）
以下に、本発明に係る動作テスト回路を含む半導体集積回路および動作テスト方法についての第１の実施の形態を図１乃至図４を参照して説明する。
【００２１】
まず、本実施の形態に係る動作テスト回路を含む半導体集積回路について、図１乃至図３を参照しながら説明する。本実施の形態に係る動作テスト回路を含む半導体集積回路の構成の概略を図１に示す。
【００２２】
動作テストを実施する被テスト回路１の両端に、第１および第２のフリップフロップ２、３を設けており、評価用データＤＡＴＡが、第１のフリップフロップ２を介して被テスト回路１に入力され、出力データＤＡＴＡ´が、第２のフリップフロップ３を介して出力されるようになっている。
【００２３】
第２のフリップフロップ３には、フリップフロップ制御用の第１のクロック信号ＣＬＫ１が供給されており、第１のフリップフロップ２には、第１のクロック信号ＣＬＫ１が位相制御回路４により処理された第２のクロック信号ＣＬＫ２が供給されている。
【００２４】
位相制御回路４はクロック信号の位相を位相制御信号Ｐｈａｓｅに基づいて可変にずらすことができる回路であり、入力された第１のクロック信号ＣＬＫ１の位相を変更し、第２のクロック信号ＣＬＫ２として出力する。この位相制御回路４の例としては、ＤＤＬ（Ｄｉｇｉｔａｌ  Ｄｅｌａｙ  Ｌｉｎｅ）のようなフィードバック制御を用いたものや、ディレイセルを複数用意し、その段数を切り替えるものなどが挙げられる。ここで、位相制御回路４は、例えば外部コマンドなどにより、テスト実施者が位相制御信号Ｐｈａｓｅを用いて位相制御回路４による位相の制御を任意に設定できるようにしておく。
【００２５】
通常動作時には、位相制御回路４により位相をずらさず、互いに同期したクロック信号を第１および第２のフリップフロップ２、３に供給して動作させる。一方、動作テスト時には、位相制御回路４を位相制御信号Ｐｈａｓｅにより位相制御動作させて第１のクロック信号ＣＬＫ１の位相を変更させ、第２のフリップフロップ２へ第２のクロック信号ＣＬＫ２を与える。このように、第１のフリップフロップ２に与えられる第２のクロック信号ＣＬＫ２と、第２のフリップフロップ３に与えられる第１のクロック信号ＣＬＫ１との間に位相差を設け、動作テストを行う。
【００２６】
次に、動作テスト時の第１および第２のフリップフロップに与えられるフリップフロップ制御用のクロック信号の波形図を図２に示す。
【００２７】
第２のクロック信号ＣＬＫ２は位相制御回路４により位相が制御され、第１のクロック信号ＣＬＫ１に対して、遅延時間Ｂ分遅れて第１のフリップフロップ２に供給されている。動作テストは、これら２つのクロック信号ＣＬＫ１、ＣＬＫ２を各々のフリップフロップに与え、被テスト回路１に入力される評価用データＤＡＴＡから予想される期待値と、第２のフリップフロップ３を介して出力される被テスト回路１の出力データＤＡＴＡ´とが一致しているかどうかを確認することにより行う。
【００２８】
ここで、これら２つのクロック信号ＣＬＫ１、ＣＬＫ２により、評価用データＤＡＴＡが被テスト回路１にどのようなタイミングで入出力されるのかを考えると、被テスト回路１に評価用データＤＡＴＡが入力されるタイミングは、第２のクロック信号ＣＬＫ２の１回目の立ち上がりエッジｔ２であり、出力されるタイミングは、第１のクロック信号ＣＬＫ１の２回目の立ち上がりエッジｔ３である。このとき、第２のクロック信号ＣＬＫ２の立ち上がりエッジｔ２は第１のクロック信号ＣＬＫ１の立ち上がりエッジｔ１に対して遅延時間Ｂ分遅れているため、実際に供給しているクロック信号の周期はＡ（＝ｔ３−ｔ１）であるものの、被テスト回路１に対しては、周期（Ａ−Ｂ）のクロック信号が供給された場合と等価にみなすことができる。よって、周波数１／Ａのクロック信号を用いて、周波数１／（Ａ−Ｂ）のクロック信号による動作テストを行うことが可能となる。
【００２９】
本実施の形態に係る動作テスト回路を含む半導体集積回路は、１つのクロック信号により、見かけ上高い周波数のクロック信号による動作テスト回路を実現しており、この動作テスト回路を行うにあたって、予め複数の異なるクロック信号を生成し供給する必要がない。それゆえ、複数の異なるクロック信号配線やテスト用クロック信号の入力端子を半導体集積回路に設ける必要がない。このことから、本実施の形態では、必要な動作テストを行うことができ、余分な配線領域を縮小した小面積の半導体集積回路を提供することができる。更に、余分なクロック信号入力端子を削減し、必要最小限な入力端子数の半導体集積回路を提供することができる。
【００３０】
また、上述したように、位相制御回路４は、テスト実施者が第１のクロック信号ＣＬＫ１の位相を自由に設定することが可能となっており、テスト実施者の所望する周波数において動作テストを行えることが、本実施の形態に係る動作テスト回路を含む半導体集積回路の特徴の一つである。よって、テスト実施者が位相制御回路４を用いて遅延時間Ｂを徐々に大きくしていき、入力された評価用データＤＡＴＡから予想される期待値と実際に出力される出力データＤＡＴＡ´が一致しなくなる限界を求め、その限界に達したときの遅延時間Ｂｎから最大動作周波数ｆｍａｘを１／（Ａ−Ｂｎ）と求めることができる。
【００３１】
更に、位相の変更されたクロック信号が特定のフリップフロップに供給されるように位相制御回路４を設けることで、動作テストを実施したい所定のパスのみからなる動作テストが可能となる。これについて、以下、図３を参照しながら説明する。
【００３２】
図３は、本実施の形態に係る動作テスト回路を含む半導体集積回路の回路構成を例示したものである。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５およびＡＬＵ（Ａｒｉｔｈｍｅｔｉｃ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ）６がデータバス７を通じて双方向にデータの転送ができるようになっており、第３乃至第６の４つのフリップフロップ８、９、１０、１１が、ＲＡＭ５およびＡＬＵ６の各々の入力側と出力側とに設けられている。
【００３３】
ここで、図３と先の説明において参照した図１との各構成要素の対応関係を説明する。図１の被テスト回路１には図３におけるＲＡＭ５およびＡＬＵ６が対応する。また、図１の第１のフリップフロップ２には、ＲＡＭ５を被テスト回路１とする場合は図３における第３のフリップフロップ８が対応し、ＡＬＵ６を被テスト回路１とする場合には図３における第５のフリップフロップ１０が対応する。また、図１の第２のフリップフロップ３には、ＲＡＭ５を被テスト回路１とする場合は図３における第４のフリップフロップ９が対応し、ＡＬＵ６を被テスト回路１とする場合には図３における第６のフリップフロップ１１が対応する。
【００３４】
この回路において、例えば、第３のフリップフロップ８から第４のフリップフロップ９までのパスの最大動作周波数ｆｍａｘを評価したい場合は、図３に示すように、位相制御回路４により位相を変更した第２のクロック信号ＣＬＫ２を第３のフリップフロップ８に入力し、位相の変更がされていない第１のクロック信号ＣＬＫ１を第４のフリップフロップ９、第５のフリップフロップ１０および第６のフリップフロップ１１に入力すれば良い。
【００３５】
このような構成において、位相制御回路４によって位相をＢだけ変更する場合を考える。第１のクロック信号ＣＬＫ１の位相が変更された第２のクロック信号ＣＬＫ２は第３のフリップフロップ８に入力されるため、第３のフリップフロップ８と他のフリップフロップとにおいて、入力されるクロック信号に位相差が生じる。この位相差の発生により、クロック周波数が見かけ上変化するパスは、第３のフリップフロップ８からＲＡＭ５を介した第４のフリップフロップ９までのパス、第４のフリップフロップからデータバス７を介した第３のフリップフロップ８までのパス、および、第６のフリップフロップ１１からデータバス７を介した第３のフリップフロップ８までのパスの３つのパスが考えられる。しかし、これら３つのパスに対する見かけ上のクロック周波数には違いがあり、第３のフリップフロップ８からＲＡＭ５を介した第４のフリップフロップ９までのパスは、見かけ上の周波数が１／（Ａ−Ｂ）と高くなる一方、残りの２つのパスにおいては、見かけ上の周波数が１／（Ａ＋Ｂ）と低くなる。よって、位相制御回路４により第２のクロック信号ＣＬＫ２の位相を変更した際、クロック信号の周波数が見かけ上高くなるパスは、第３のフリップフロップ８と第４のフリップフロップ９間のパスのみとなる。これにより、他のパスの影響を受けることなく、動作テストの実施者が評価したいパスのみの最大動作周波数ｆｍａｘが評価できる。
【００３６】
続いて、本実施の形態に係る動作テスト回路を含む半導体集積回路の動作テスト方法について図４を参照しながら説明する。図４は、本実施の形態に係る動作テスト方法の手順を示すフローチャートである。ここでは、説明の便宜上、図３の動作テスト回路を含む半導体集積回路において、第３のフリップフロップ８から第４のフリップフロップ９までのパスの最大動作周波数ｆｍａｘを評価する場合を例に挙げ説明する。
【００３７】
まず、最初に被テスト回路１が正常に動作するかを確認したい見かけ上の周波数１／（Ａ−Ｂ０）を決定し、位相制御信号Ｐｈａｓｅにより位相制御回路４を第１のクロック信号ＣＬＫ１の位相をＢ０だけ変更するように位相制御動作させる（ステップＳ１１）。
【００３８】
次に、第３のフリップフロップ８（図１における第１のフリップフロップ２に対応）に第２のクロック信号ＣＬＫ２を供給し、第４のフリップフロップ９（図１の第２のフリップフロップ３に対応）、第５のフリップフロップ１０および第６のフリップフロップ１１に第１のクロック信号ＣＬＫ１を供給する。
【００３９】
次に、動作テスト用の評価用データＤＡＴＡを作成し第３のフリップフロップ８に入力する（ステップＳ１２）。これにより、評価用データＤＡＴＡが第３のフリップフロップ８を介してＲＡＭ５（図１の被テスト回路１に対応）に入力され、その結果、ＲＡＭ５の出力結果である出力データＤＡＴＡ´が第４のフリップフロップ９を介して出力される。
【００４０】
次に、ＲＡＭ５に入力される評価用データＤＡＴＡから予想される期待値と、第４のフリップフロップ９を介して出力されるＲＡＭ５の出力データＤＡＴＡ´とが一致しているかどうかを確認する（ステップＳ１３）。この期待値と出力データＤＡＴＡ´との比較結果は、これらの値が一致する場合は、見かけ上の周波数１／（Ａ−Ｂ０）でＲＡＭ５が正常に動作を行ったことを指し、逆に、不一致となった場合は、見かけ上の周波数１／（Ａ−Ｂ０）でＲＡＭ５の動作が破綻したことを指す。
【００４１】
ステップＳ１３において比較結果が一致した場合には、ステップＳ１１に戻り、第１のクロック信号ＣＬＫ１と第２のクロック信号ＣＬＫ２との位相差が広くなるように、位相制御信号Ｐｈａｓｅにより位相制御回路４を制御し第１のクロック信号ＣＬＫ１をＢ１（＞Ｂ０）だけ変更する。続いて、ＲＡＭ５への評価用データＤＡＴＡの入出力を再度行いステップＳ１３での期待値との比較を行う。この期待値との比較において不一致となった場合には、見かけ上の周波数１／（Ａ−Ｂ１）でＲＡＭ５の動作が破綻したこととなり、第３のフリップフロップ８から第４のフリップフロップ９までのパスの最大動作周波数ｆｍａｘは１／（Ａ−Ｂ０）と１／（Ａ−Ｂ１）との間の値であることが分かる。
【００４２】
以上の２回目の期待値との比較においても一致した場合には、以上と同様のステップを期待値との比較結果が不一致となるまで繰り返す。これにより、第３のフリップフロップ８から第４のフリップフロップ９までのパスの最大動作周波数ｆｍａｘを測定することができる。
【００４３】
このように、本実施の形態に係る動作テスト方法は、位相制御回路４を位相制御信号Ｐｈａｓｅにより制御することができ、見かけ上のクロック周波数を徐々に引き上げながら、そのクロック周波数での被テスト回路１の動作を確認することで、被テスト回路１が正常に動作する最大動作周波数ｆｍａｘを測定することができる。
【００４４】
なお、本実施の形態に係る動作テスト方法においては、まず、位相制御回路４の制御を行い（ステップＳ１１）、続いて、評価用データＤＡＴＡの入力を行っているが（ステップＳ１２）、このステップの順序はこれに限られない。このステップの順序を問わず、これら２つのステップ（ステップＳ１１およびＳ１２）が終了した後にステップＳ１３を行いさえすれば同様の効果が得られる。
【００４５】
また、本実施の形態に係る動作テスト回路を含む半導体集積回路、および、その動作テスト方法においては、位相制御回路４により第１のフリップフロップ２に入力されるクロック信号の位相を変更して動作テストを行う場合を示したが、これに限らず、例えば、第２のフリップフロップに供給されるクロック信号の位相を位相制御回路４により変更しても構わない。更には、評価したいパスの両端に設けられたフリップフロップ以外のフリップフロップに動作テスト時に入力されるクロック信号は第１のクロック信号ＣＬＫ１に限られず、第２のクロック信号ＣＬＫ２であっても構わない。すなわち、位相制御回路４により、最大動作周波数ｆｍａｘを評価したいパスの入力側と出力側とに設けられた２つのフリップフロップへと供給される２つのクロック信号のうち、いずれか一方のクロック信号に他のクロック信号に対する位相差が設けられれば、この評価したいパスのみからなる見かけ上のクロック周波数が高い動作テストを行うことができる。
【００４６】
更に、本実施の形態に係る動作テスト回路を含む半導体集積回路、および、その動作テスト方法においては、フリップフロップをクロック信号の立ち上がりエッジに同期して動作するポジティブエッジ型のフリップフロップとした。これに対して、これらをクロック信号の立下りエッジに同期して動作するネガティブエッジ型のフリップフロップとしても、ポジティブエッジ型のフリップフロップを用いた場合と同様の効果が得られる。
【００４７】
更にまた、本実施の形態に係る動作テスト回路を含む半導体集積回路、および、その動作テスト方法においては、被テスト回路１としてＲＡＭおよびＡＬＵを例示したが、被テスト回路１は、これらに限られない。入力されるクロック信号に位相差が設けられた２つのフリップフロップに挟まれたパスであれば、被テスト回路１の構成を問わず、そのパスの最大動作周波数ｆｍａｘを評価することができる。
（第２の実施の形態）
以下に、本発明に係る動作テスト回路を含む半導体集積回路および動作テスト方法についての第２の実施の形態を図５乃至図７を参照しながら説明する。
【００４８】
まず、本実施の形態に係る動作テスト回路を含む半導体集積回路について図５および図６を参照しながら説明する。本実施の形態に係る動作テスト回路を含む半導体集積回路の構成の概略を図５に示す。なお、図１と対応する部分には図１と同一符号を付しており、その説明を省略する。
【００４９】
クロック信号配線を分岐し、システムクロックとして用いる第１のクロック信号ＣＬＫ１と、位相制御回路４により位相が変更される第２のクロック信号ＣＬＫ２との２系統のクロックを用意しておく。第１のフリップフロップ２には第１のセレクタ１２が、第２のフリップフロップ３には第２のセレクタ１３がそれぞれ設けられており、これら２つのセレクタ１２、１３それぞれには、第１のクロック信号ＣＬＫ１および第２のクロック信号ＣＬＫ２が入力され、これらのうち、どちらか一方のクロック信号を選択して、それぞれのフリップフロップへと供給するようになっている。なお、第１のフリップフロップ２には第１のセレクタ制御信号Ｓ／Ｗ１が、第２のフリップフロップ３には第２のセレクタ制御信号Ｓ／Ｗ２が入力されるようになっており、例えば外部コマンドの入力などにより、テスト実施者がこれらのセレクタ制御信号を各セレクタに送信することで各セレクタによるクロック信号の選択を任意に設定できるようにしている。
【００５０】
通常動作時には、第１および第２のセレクタ１２、１３を制御し、第１および第２のフリップフロップ２、３に同期したクロック信号（第１のクロック信号ＣＬＫ１または第２のクロック信号ＣＬＫ２）を供給して、第１および第２のフリップフロップ２、３を同期して動作させる。
【００５１】
一方、動作テスト時には、第１および第２のセレクタ１２、１３を用いて、第１および第２のフリップフロップ２、３に別々のクロック信号を与え、動作テストを行う。すなわち、セレクタを制御して特定のフリップフロップに供給されるクロック信号と他のフリップフロップへ供給されるクロック信号との位相差を設けるかどうかを設定する。
【００５２】
ここで、クロック信号に位相差を設けることによる見かけ上周波数の高いクロック信号での動作テストの原理は、第１の実施の形態において図２を用いて説明したものと同一である。よって、セレクタによるクロック信号の選択の後、第１の実施の形態と同様に、テスト実施者が位相制御信号Ｐｈａｓｅにより位相制御回路４を制御することで遅延時間Ｂを徐々に大きくしていき、入力された評価用データＤＡＴＡから予想される期待値と実際に出力される出力データＤＡＴＡ´が一致しなくなる限界を求めることで、その限界に達したときの遅延時間Ｂｎから最大動作周波数ｆｍａｘを１／（Ａ−Ｂｎ）と求めることができる。
【００５３】
また、以上のようなセレクタをフリップフロップそれぞれについて設けることにより、実装試験段階において動作テストを行うパスを選択することができる。以下、これについて図６を参照しながら説明する。図６は、本実施の形態に係る動作テスト回路を含む半導体集積回路の回路構成を例示したものであり、第１の実施の形態において説明した図３と対応する部分には同一符号を付しており、その説明を省略する。
【００５４】
クロック信号配線を分岐し、システムクロックとして用いる第１のクロック信号ＣＬＫ１と位相制御回路４により位相が変更できる第２のクロック信号ＣＬＫ２との２系統のクロック信号が用意されており、そのいずれか一方のクロック信号が選択されて各フリップフロップに供給されるように、フリップフロップそれぞれに対して第３乃至第６のセレクタ１４、１５、１６、１７が設けられている。
【００５５】
ここで、図６と先の説明で参照した図５との構成要素の対応関係を説明する。図５の被テスト回路１には図６におけるＲＡＭ５およびＡＬＵ６が対応する。また、図５の第１のフリップフロップ２には、ＲＡＭ５を被テスト回路１とする場合は図６における第３のフリップフロップ８が、ＡＬＵ６を被テスト回路１とする場合には図６における第５のフリップフロップ１０が対応する。更に、図５の第２のフリップフロップ３には、ＲＡＭ５を被テスト回路１とする場合は図６における第４のフリップフロップ９が対応し、ＡＬＵ６を被テスト回路１とする場合には図６における第６のフリップフロップ１１が対応する。また更に、図５の第１のセレクタ１２には、ＲＡＭ５を被テスト回路１とする場合は図６における第３のセレクタ１４が、ＡＬＵ６を被テスト回路１とする場合は図６における第５のセレクタ１６が対応し、図５の第２のセレクタ１３には、ＲＡＭ５を被テスト回路１とする場合は図６における第４のセレクタ１５が対応し、ＡＬＵ６を被テスト回路１とする場合には図６における第６のセレクタ１７が対応する。
【００５６】
この回路において、例えば第３のフリップフロップ８から第４のフリップフロップ９までのパスの最大動作周波数ｆｍａｘを評価したい場合は、第３のセレクタ１４には第３のセレクタ制御信号Ｓ／Ｗ３により第２のクロック信号ＣＬＫ２を選択させ、第４乃至第６のセレクタ１５、１６、１７には第４乃至第６のセレクタ制御信号Ｓ／Ｗ４、Ｓ／Ｗ５、Ｓ／Ｗ６により第１のクロック信号ＣＬＫ１を選択させる。このようにすることで、位相制御回路４によって位相を変更したとき、クロック信号の周波数が見かけ上高くなるパスは第３のフリップフロップ８と第４のフリップフロップ９間のパスのみとなり、他のパスの影響を受けることなく、このパスのみの最大動作周波数ｆｍａｘが評価できる。
【００５７】
同様に、例えば、第５のフリップフロップ１０から第６のフリップフロップ１１までのパスの最大動作周波数ｆｍａｘを評価したい場合は、第５のセレクタ１６に第２のクロック信号ＣＬＫ２を選択させ、第３、第４および第６のセレクタ１４、１５、１７に第１のクロック信号ＣＬＫ１を選択させれば良い。
【００５８】
このように、各セレクタによるクロック信号の選択はセレクタ制御信号によりテスト実施者が任意に選択できるため、本実施の形態に係る動作テスト回路を含む半導体集積回路は、実装試験段階において動作テストを行いたい所望のパスを選択し、その所望のパスのみからなる動作テストを行うことができる。
【００５９】
続いて、本実施の形態に係る動作テスト回路を含む半導体集積回路の動作テスト方法について図７を参照しながら説明する。図７は、本実施の形態に係る動作テスト方法の手順を示すフローチャートである。ここでは、説明の便宜上、図６の動作テスト回路を含む半導体集積回路において、第３のフリップフロップ８から第４のフリップフロップ９までのパスの最大動作周波数ｆｍａｘを評価する場合を例に挙げ説明する。
【００６０】
まず、最大動作周波数ｆｍａｘを測定したい２つのフリップフロップ間のパスを決定し、その二つのフリップフロップの一方のフリップフロップに第２のクロック信号ＣＬＫ２が、半導体集積回路内の他のフリップフロップには第１のクロック信号ＣＬＫ１が入力されるように、それぞれのフリップフロップに備えられたセレクタをセレクタ制御信号により制御する（ステップＳ２１）。ここでは、評価したいパスは、図６における第３のフリップフロップ８から第４のフリップフロップ９までのパスであるので、第３のフリップフロップ８または第４のフリップフロップ９のいずれか一方に第２のクロック信号ＣＬＫ２が入力され、これ以外の他のフリップフロップには第１のクロック信号ＣＬＫ１が入力されるように、それぞれのフリップフロップに備えられたセレクタをセレクタ制御信号により制御する。
【００６１】
次に、最初に正常に動作するかを確認したい見かけ上の周波数１／（Ａ−Ｂ０）を決定し、位相制御信号Ｐｈａｓｅにより位相制御回路４を第１のクロック信号ＣＬＫ１の位相をＢ０だけ変更するように位相制御動作させ、各セレクタに第２のクロック信号ＣＬＫ２を与える（ステップＳ２２）。
【００６２】
次に、動作テスト用の評価用データＤＡＴＡを作成しＲＡＭ５（図５における被テスト回路１に対応）に入力する（ステップＳ２３）。続いて、ＲＡＭ５に入力される評価用データＤＡＴＡから予想される期待値と、ＲＡＭ５からの出力データＤＡＴＡ´とが一致しているかどうかを確認する（ステップＳ２４）。この期待値と出力データＤＡＴＡ´との比較結果は、これらの値が一致する場合は、見かけ上の周波数１／（Ａ−Ｂ０）で被テスト回路１が正常に動作を行ったことを指し、逆に、不一致となった場合は、見かけ上の周波数１／（Ａ−Ｂ０）では動作が破綻したことを指す。
【００６３】
ステップＳ２４において比較結果が一致した場合には、ステップＳ２２に戻り、第１のクロック信号ＣＬＫ１と第２のクロック信号ＣＬＫ２との位相差が広くなるように、位相制御信号Ｐｈａｓｅにより位相制御回路４を制御し第１のクロック信号ＣＬＫ１をＢ１（＞Ｂ０）だけ変更する。続いて、ＲＡＭ５への評価用データＤＡＴＡの入出力を行いステップＳ２４での期待値との比較を再度行う。この期待値との比較において不一致となった場合には、見かけ上の周波数１／（Ａ−Ｂ１）で動作が破綻したこととなり、第３のフリップフロップ８から第４のフリップフロップ９までのパスの最大動作周波数ｆｍａｘは１／（Ａ−Ｂ０）と１／（Ａ−Ｂ１）との間の値であることが分かる。
【００６４】
以上の２回目の期待値との比較においても一致した場合には、ステップＳ２２からステップＳ２４までの手順を期待値との比較結果が不一致となるまで繰り返す。これにより、第３のフリップフロップ８から第４のフリップフロップ９までのパスの最大動作周波数ｆｍａｘを測定することができる。
【００６５】
このように、本実施の形態に係る動作テスト方法は、位相制御回路４を位相制御信号Ｐｈａｓｅにより制御することができ、見かけ上のクロック周波数を徐々に引き上げながら、そのクロック周波数での被テスト回路１の動作を確認することにより、被テスト回路１が正常に動作する最大動作周波数ｆｍａｘを測定することができる。
【００６６】
また、本実施の形態に係る動作テスト方法は、セレクタ制御信号によりセレクタを制御することで、動作テストを実施する段階において、テスト実施者が任意に動作テストを行うパスを設定することができ、半導体集積回路全体ではなく、その評価したいパスのみの最大動作周波数ｆｍａｘを測定することができる。
【００６７】
なお、本実施の形態に係る動作テスト方法においては、まず、セレクタの制御を行い（ステップＳ２１）、次に、位相制御回路４の制御を行い（ステップＳ２２）、続いて、評価用データＤＡＴＡの入力を行っているが（ステップＳ２３）、これらのステップの順序はこれに限られない。これらのステップの順序に問わず、これら３つのステップ（Ｓ２１、Ｓ２２およびＳ２３）が終了した後にステップＳ２４を行いさえすれば同様の効果が得られる。
【００６８】
また、本実施の形態に係る動作テスト回路を含む半導体集積回路、および、その動作テスト方法おいては、位相制御回路４により第１のフリップフロップ２に入力されるクロック信号の位相を変更して動作テストを行う場合を示したが、これに限らず、例えば、第２のフリップフロップに供給されるクロック信号の位相を位相制御回路４により変更しても構わない。更には、評価したいパスの両端に設けられたフリップフロップ以外のフリップフロップに動作テスト時に入力されるクロック信号は第１のクロック信号ＣＬＫ１に限られず、第２のクロック信号ＣＬＫ２であっても構わない。
【００６９】
更に、本実施の形態に係る動作テスト回路を含む半導体集積回路、および、その動作テスト方法においても、第１の実施の形態同様、フリップフロップをポジティブエッジ型のフリップフロップとした。これに対して、これらをネガティブエッジ型のフリップフロップとしても、ポジティブエッジ型のフリップフロップを用いた場合と同様の効果が得られる。
【００７０】
更にまた、本実施の形態に係る動作テスト回路を含む半導体集積回路、および、その動作テスト方法においても、被テスト回路１としてＲＡＭおよびＡＬＵを例示したが、第１の実施の形態同様、被テスト回路１は、これらに限らず、その構成は問わない。
（第３の実施の形態）
以下に、本発明に係る動作テスト回路を含む半導体集積回路についての第３の実施の形態を図８および図９を参照しながら説明する。
【００７１】
本発明の第３の実施の形態に係る動作テスト回路を含む半導体集積回路の構成の概略を図８に示す。なお、本実施の形態に係る動作テスト回路の構成は、第１および第２の実施の形態に係る動作テスト回路の構成と部分的に共通しているため、図１および図５と対応する部分にはそれらと同一符号を付しており、その説明を省略する。
【００７２】
評価用データ生成回路１８が評価用データＤＡＴＡを生成して、第１のフリップフロップ２に供給し、また、この評価用データＤＡＴＡの入力により第２のフリップフロップ３を介して出力された被テスト回路１の出力が期待値比較回路１９に供給され、期待値比較回路１９が入力された被テスト回路１の出力結果と評価用データＤＡＴＡから予想される期待値とを比較し、その結果をシーケンス回路２０に出力するようになっている。
【００７３】
シーケンス回路２０は、評価用データ生成回路１８、期待値比較回路１９、位相制御回路４、および、第１および第２のセレクタ１２、１３の動作を制御し、ＲＡＭ２１への動作テストの結果の書き込みを行う回路である。
【００７４】
以下、この動作テスト回路を含む半導体集積回路のセルフテスト時の動作を図９を参照しながら説明する。図９は、本実施の形態に係る動作テスト回路を含む半導体集積回路が行うセルフテストの手順を示すフローチャートである。
【００７５】
まず、シーケンス回路２０が評価用データ生成回路１８に評価用データＤＡＴＡの生成を要求する（Ｓ３１）。次に、評価用データ生成回路１８はシーケンス回路２０の要求に応じて評価用データＤＡＴＡを生成し、第１のフリップフロップ２に評価用データＤＡＴＡを出力する（Ｓ３２）。
【００７６】
次に、シーケンス回路２０が、最初に動作テストを行いたい周波数（初期動作周波数）を持つ見かけ上のクロック信号を生成するように、位相制御信号Ｐｈａｓｅにより位相制御回路４を位相制御動作させて第１のクロック信号ＣＬＫ１の位相を制御する（Ｓ３３）。ここでの初期動作周波数の値は、外部から入力されたものであってもよいし、テスト実施者により予め当該半導体集積回路内部の記憶領域に格納されたものであってもよい。
【００７７】
次に、シーケンス回路２０が、セレクタ制御信号Ｓ／Ｗによりセレクタを制御し、それぞれのフリップフロップに第１または第２のクロック信号のいずれを供給するかを決定する（Ｓ３４）。ここでは、説明の便宜上、図８には２つのセレクタ１２、１３しか図示していないが、実際には２つ以上のセレクタが設けられた場合を想定しており、このステップにより、第２の実施の形態で図６を用いて説明したように、実質的に動作テストが行われるパスが確定する。また、このセレクタのクロック信号の選択に関するデータも、外部から入力されたものであってもよいし、テスト実施者により予め当該半導体集積回路内部の記憶領域に格納されたものであってもよい。
【００７８】
次に、期待値比較回路１９が、第２のフリップフロップ３を介して出力された被テスト回路１の出力データＤＡＴＡ´と、評価用データＤＡＴＡから予想される期待値との比較を行う（Ｓ３５）。この比較の結果は、被テスト回路１の出力結果と期待値とが一致する場合は、その見かけ上のクロック周波数で被テスト回路１が正常に動作することを意味し、相違する場合は、その見かけ上のクロック周波数で被テスト回路１の動作が破綻したことを意味する。その後、期待値比較回路１９は、その比較結果をシーケンス回路２０へと出力する。この比較結果は、シーケンス回路２０によりＲＡＭ２１へと書き込み保持される（Ｓ３６）。
【００７９】
シーケンス回路２０は、以上の比較において被テスト回路１の出力結果と期待値とが相違する場合は、その時点でセルフテストを終了し、一致する場合は、Ｓ３３のステップにおいて第１のクロック信号ＣＬＫ１の位相を第２のクロック信号ＣＬＫ２の位相に対して更に所定量ずらし、以上までのステップ（Ｓ３１〜Ｓ３６）を再度行う。ここで、ステップＳ３４でのセレクタによるクロック信号の選択は固定しておく。この図９に示すセルフテストの手順を、ステップＳ３５における比較結果が一致するまで反復して行う。以上の手順により、比較結果が一致する限界のクロック周波数を求め、その結果をＲＡＭ２１より読み出すことで、被テスト回路１の最大動作周波数ｆｍａｘが得られる。
【００８０】
複数のパスにおける動作テストを行いたい場合は、１つ目の評価対象のパスの最大動作周波数ｆｍａｘが求まった後、Ｓ３４のステップでのセレクタによるクロック信号の選択を変更し、１つ目のパスと同様の手順を行えば、２つ目のパスに対しても最大動作周波数ｆｍａｘを求めることができる。
【００８１】
以上のように、本実施の形態に係る動作テスト回路を含む半導体集積回路は、当該半導体集積回路内に第２の実施の形態において説明した動作テストの一連の作業を自動的に行う回路が組み込まれているため、テスト実施者が動作テストの各段階において、その都度、外部より制御を行う必要がなく、動作テストの作業効率を向上させることができる。
【００８２】
なお、本実施の形態においても、第１および第２の実施の形態同様、フリップフロップをポジティブエッジ型のフリップフロップとした。これに対して、これらをネガティブエッジ型のフリップフロップとしても、ポジティブエッジ型のフリップフロップを用いた場合と同様の効果が得られる。
【００８３】
また、本発明は、実施段階ではその要旨を変更しない範囲で種々に変形することが可能である。
【００８４】
以上、詳述したように、本発明に係る動作テスト回路を含む半導体集積回路、および、その動作テスト方法の特徴をまとめると以下の通りになる。
【００８５】
本発明に係る動作テスト回路を含む半導体集積回路は、被テスト回路と、第１のクロック信号が入力され、位相制御信号に基づいて前記第１のクロック信号の位相を変更し、第２のクロック信号として出力する位相制御回路と、前記第１あるいは第２のクロック信号のいずれか一方のクロック信号が入力され、この入力されたクロック信号のエッジに同期して動作し、前記被テスト回路へデータの出力を行う第１のフリップフロップと、前記第１および第２のクロック信号のうち、前記第１のフリップフロップに入力されていない方のクロック信号が入力され、この入力されたクロック信号のエッジに同期して動作し、前記被テスト回路から入力されたデータの出力を行う第２のフリップフロップとを具備することを特徴としている。
【００８６】
また、本発明に係る動作テスト回路を含む半導体集積回路の動作テスト方法は、位相制御信号により位相制御回路を制御して、第１のクロック信号の位相を変更した第２のクロック信号を生成し、前記第１あるいは第２のクロック信号のいずれか一方のクロック信号を第１のフリップフロップに入力し、かつ、前記第１および第２のクロック信号のうち、前記第１のフリップフロップに入力されていない方のクロック信号を第２のフリップフロップに入力する第１のステップと、評価用データを被テスト回路に入力する第２のステップと、前記第１および第２のステップの実行により得られる被テスト回路からの出力データを、前記被テスト回路が正常に動作した際の期待値と比較する第３のステップとを具備し、前記第３のステップにおいて前記被テスト回路からの出力データが前記期待値と一致する場合、不一致となるまで、前記第１のクロック信号と前記第２のクロック信号との位相差が広がるように、位相制御信号により前記位相制御回路を制御して前記第２のクロック信号の位相を順次変更し、前記第１乃至第３のステップを繰り返すことを特徴としている。
【００８７】
更に、本発明に係る動作テスト回路を含む半導体集積回路は、複数の被テスト回路と、前記複数の被テスト回路間に介在し、入力されたクロック信号のエッジに同期して動作し、前記複数の被テスト回路間での入出力を行う複数のフリップフロップと、第１のクロック信号が入力され、位相制御信号に基づいて前記第１のクロック信号の位相を変更し、第２のクロック信号として出力する位相制御回路と、前記複数のフリップフロップ各々について設けられ、前記複数のフリップフロップのうちの１つのフリップフロップに対して、前記第１および第２のクロック信号のうち、いずれか一方のクロック信号を選択して供給可能であり、前記複数のフリップフロップのうちの他のフリップフロップに対して、前記第１および第２のクロック信号のうち、もう一方のクロック信号を選択して供給可能である複数のセレクタとを具備することを特徴としている。
【００８８】
更に、本発明に係る動作テスト回路を含む半導体集積回路の動作テスト方法は、セレクタ制御信号によりセレクタを制御して、第１のクロック信号の経路あるいは位相制御回路から出力されるクロック信号の経路のいずれか一方のクロック信号の経路を１つのフリップフロップに接続し、もう一方のクロック信号の経路を他のフリップフロップに接続する第１のステップと、位相制御信号により前記位相制御回路を制御して、前記第１のクロック信号の位相を変更した第２のクロック信号を生成し、前記第１および第２のクロック信号を前記セレクタに供給する第２のステップと、評価用データを被テスト回路に入力する第３のステップと、前記第１乃至第３のステップの実行により得られる被テスト回路からの出力データを、前記被テスト回路が正常に動作した際の期待値と比較する第４のステップとを具備し、前記第４のステップにおいて前記被テスト回路からの出力データが前記期待値と一致する場合、不一致となるまで、前記第１のクロック信号と前記第２のクロック信号との位相差が広がるように、位相制御信号により前記位相制御回路を制御して前記第２のクロック信号の位相を順次変更し、前記第２乃至第４のステップを繰り返すことを特徴としている。
【００８９】
更に、本発明に係る動作テスト回路を含む半導体集積回路は、複数の被テスト回路と、前記複数の被テスト回路間に介在し、入力されたクロック信号のエッジに同期して動作し、前記複数の被テスト回路間での入出力を行う複数のフリップフロップと、第１のクロック信号が入力され、位相制御信号に基づいて前記第１のクロック信号の位相を変更し、第２のクロック信号として出力する位相制御回路と、前記複数のフリップフロップ各々について設けられ、前記複数のフリップフロップのうちの１つのフリップフロップに対して、前記第１および第２のクロック信号のうち、いずれか一方のクロック信号を選択して供給可能であり、前記複数のフリップフロップのうちの他のフリップフロップに対して、前記第１および第２のクロック信号のうち、もう一方のクロック信号を選択して供給可能である複数のセレクタと、評価用データを生成し、その評価用データを前記被テスト回路に入力する評価用データ生成回路と、前記被テスト回路からの出力データと前記評価用データから予測される期待値との比較を行う期待値比較回路と、前記位相制御回路、前記複数のセレクタ、前記評価用データ生成回路、および、前記期待値比較回路を制御し、前記期待値比較回路が行う比較において前記被テスト回路からの出力データと前記期待値とが一致する場合、不一致となるまで、前記第１のクロック信号と前記第２のクロック信号との位相差が広がるように前記第２のクロック信号の位相を順次変更し、前記被テスト回路への前記評価用データの入出力を行うシーケンス回路とを具備することを特徴としている。
【００９０】
更に、本発明に係る動作テスト回路を含む半導体集積回路の動作テスト方法は、評価用データを生成し、この評価用データを被テスト回路に入力する第１のステップと、セレクタ制御信号によりセレクタを制御して、第１のクロック信号の経路あるいは位相制御回路から出力されるクロック信号の経路のいずれか一方のクロック信号の経路を１つのフリップフロップに接続し、もう一方のクロック信号の経路を他のフリップフロップに接続する第２のステップと、位相制御信号により前記位相制御回路を制御して、前記第１のクロック信号の位相を変更した第２のクロック信号を生成し、前記第１および第２のクロック信号を前記セレクタに供給する第３のステップと、前記第１乃至第３のステップの実行により得られる被テスト回路からの出力データを、前記被テスト回路が正常に動作した際の期待値と比較する第４のステップとを具備し、前記第４のステップにおいて前記被テスト回路からの出力データが前記期待値と一致する場合、不一致となるまで、前記第１のクロック信号と前記第２のクロック信号との位相差が広がるように、位相制御信号により前記位相制御回路を制御して前記第２のクロック信号の位相を順次変更し、前記第１乃至第４のステップを繰り返すことを特徴としている。
【００９１】
更に、本発明に係る動作テスト回路を含む半導体集積回路は、前記位相制御回路は、前記半導体集積回路の外部から入力される前記位相制御信号により制御されることを特徴としている。
【００９２】
更に、本発明に係る動作テスト回路を含む半導体集積回路の動作テスト方法は、前記第２のクロック信号の生成において、前記位相制御信号を前記半導体集積回路の外部より入力することで前記位相制御回路を制御することを特徴としている。
【００９３】
【発明の効果】
本発明によれば、比較的低い周波数の動作テスト用のクロック信号により、その周波数より高く、かつ、可変に変更可能な周波数のクロック信号による動作テストを見かけ上実現し、正常に動作する最大動作周波数を測定する動作テスト回路を含む半導体集積回路、および、その動作テスト方法を提供することができる。
【００９４】
また、本発明によれば、上記の動作テストの段階において、評価するパスを複数の中から任意に選択できる動作テスト回路を含む半導体集積回路、および、その動作テスト方法を提供することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る動作テスト回路を含む半導体集積回路の構成の概略図。
【図２】本発明の第１の実施の形態に係る動作テスト回路を含む半導体集積回路における、フリップフロップ制御用のクロック波形図。
【図３】本発明の第１の実施の形態に係る動作テスト回路を含む半導体集積回路の回路構成図。
【図４】本発明の第１の実施の形態に係る動作テスト方法の手順を示すフローチャート。
【図５】本発明の第２の実施の形態に係る動作テスト回路を含む半導体集積回路の構成の概略図。
【図６】本発明の第２の実施の形態に係る動作テスト回路を含む半導体集積回路の回路構成図。
【図７】本発明の第２の実施の形態に係る動作テスト方法の手順を示すフローチャート。
【図８】本発明の第３の実施の形態に係る動作テスト回路を含む半導体集積回路の構成の概略図。
【図９】本発明の第３の実施の形態に係る動作テスト回路を含む半導体集積回路が行うセルフテストの手順を示すフローチャート。
【図１０】従来の動作テスト回路の回路構成図。
【図１１】従来の動作テスト回路での動作テスト時における、フリップフロップ制御用のクロック波形図。
【符号の説明】
１…被テスト回路
２…第１のフリップフロップ
３…第２のフリップフロップ
４…位相制御回路
５、２１…ＲＡＭ
６…ＡＬＵ
７…データバス
８…第３のフリップフロップ
９…第４のフリップフロップ
１０…第５のフリップフロップ
１１…第６のフリップフロップ
１２…第１のセレクタ
１３…第２のセレクタ
１４…第３のセレクタ
１５…第４のセレクタ
１６…第５のセレクタ
１７…第６のセレクタ
１８…評価用データ生成回路
１９…期待値比較回路
２０…シーケンス回路
【図１】
2004212310.tif 000003
【図２】
2004212310.tif 000004
【図３】
2004212310.tif 000005
【図４】
2004212310.tif 000006
【図５】
2004212310.tif 000007
【図６】
2004212310.tif 000008
【図７】
2004212310.tif 000009
【図８】
2004212310.tif 000010
【図９】
2004212310.tif 000011
【図１０】
2004212310.tif 000012
【図１１】
2004212310.tif 000013