(57)【要約】【課題】非同期回路を備えた半導体集積回路の検査において、非同期回路の出力信号がクロック信号周期の整数倍の時間分遅れるサイクルずれと呼ばれる現象により、半導体集積回路の出力端子から得られるデータが期待値パターンと一致せずに、半導体集積回路を誤って不良品と判定するという課題があった。【解決手段】非同期回路の出力信号４を、第２のクロック信号３の周期に（所定の固定値Ｎ−サイクルずれ周期数設定信号１２が示す値ｍ）を乗算した時間だけ遅らせて出力する遅延出力回路１１を設ける。非同期回路の出力信号４にサイクルずれが生じても、そのサイクルずれの周期数と同じ値をサイクルずれ周期数設定信号１２の値ｍとすることで、出力端子５には同じタイミングで非同期回路の出力信号４が出力されるため、同じ期待値パターンを用いて正しい検査が可能になる。【選択図】        図２
2004317215.tif 000002
【特許請求の範囲】
【請求項１】
第１のクロック信号によって動作する第１の回路と、前記第１のクロック信号とは非同期で前記第１のクロック信号より周波数の低い第２のクロック信号によって動作する第２の回路とを有する非同期回路を備え、前記第２の回路は前記第１のクロック信号によって前記第１の回路から出力されるデータを前記第２のクロック信号によって取り込んで前記非同期回路の出力信号として半導体集積回路の出力端子へ出力する半導体集積回路であって、
所定の固定値（Ｎ；Ｎは１以上の整数）以下でかつ０以上の所定の整数値（ｍ）を示すサイクルずれ周期数設定信号を入力し、前記非同期回路の出力信号を前記第２のクロック信号によって取り込み、この取り込んだ前記非同期回路の出力信号を前記第２のクロック信号の周期に（Ｎ−ｍ）を乗算した時間だけ遅延させてから前記半導体集積回路の出力端子へ出力する遅延出力回路を、前記非同期回路と前記半導体集積回路の出力端子との間に挿入したことを特徴とする半導体集積回路。
【請求項２】
前記遅延出力回路は、
入力されるデータを前記第２のクロック信号によって取り込んで出力するフリップフロップと、前記非同期回路の出力信号と前記フリップフロップの出力信号とを入力し前記サイクルずれ周期数設定信号によっていずれかを選択出力するセレクタとをＮ組備え、Ｎが１の場合、前記非同期回路の出力信号を前記フリップフロップの入力データとし、前記セレクタの出力信号を前記遅延出力回路の出力とするように接続しており、Ｎが２以上の場合、前記非同期回路の出力信号を１番目の前記フリップフロップの入力データとし、ｋ番目（ｋは１〜Ｎ−１）の前記セレクタの出力信号をｋ＋１番目の前記フリップフロップの入力データとし、Ｎ番目の前記セレクタの出力信号を前記遅延出力回路の出力とするように接続したことを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記非同期回路の出力信号とそれに対応する前記半導体集積回路の出力端子が複数ビットで構成され、前記遅延出力回路は、前記複数ビットの非同期回路の出力信号を入力し、各ビットに対して前記第２のクロック信号の周期に（Ｎ−ｍ）を乗算した時間だけ遅延させてから前記複数ビットの半導体集積回路の出力端子へ出力するようにしたことを特徴とする請求項１記載の半導体集積回路。
【請求項４】
前記遅延出力回路は、複数ビットで構成される前記非同期回路の出力信号と前記半導体集積回路の出力端子の各ビットに対して、入力されるデータを前記第２のクロック信号によって取り込んで出力するフリップフロップと、前記非同期回路の出力信号と前記フリップフロップの出力信号とを入力し前記サイクルずれ周期数設定信号によっていずれかを選択出力するセレクタとをＮ組備え、Ｎが１の場合、前記非同期回路の出力信号を前記フリップフロップの入力データとし、前記セレクタの出力信号を前記遅延出力回路の出力とするように接続しており、Ｎが２以上の場合、前記非同期回路の出力信号を１番目の前記フリップフロップの入力データとし、ｋ番目（ｋは１〜Ｎ−１）の前記セレクタの出力信号をｋ＋１番目の前記フリップフロップの入力データとし、Ｎ番目の前記セレクタの出力信号を前記遅延出力回路の１ビットの出力とするように接続したことを特徴とする請求項３記載の半導体集積回路。
【請求項５】
前記サイクルずれ周期数設定信号を半導体集積回路の入力端子より入力して前記遅延出力回路に入力することを特徴とする請求項１から４のうちいずれかに記載の半導体集積回路。
【請求項６】
前記サイクルずれ周期数設定信号となる値を保持した内部レジスタを設け、前記内部レジスタの値を前記サイクルずれ周期数設定信号として前記遅延出力回路に入力することを特徴とする請求項１から４のうちいずれかに記載の半導体集積回路。
【請求項７】
請求項１から６のうちいずれかに記載の半導体集積回路の非同期回路に検査パターンを入力し、前記半導体集積回路の出力端子から得られる出力データが期待値と一致するか否かを判定し、前記出力データが前記期待値と一致しない場合は、前記サイクルずれ周期数設定信号の値を変更して再検査を行うことを特徴とする半導体集積回路の検査方法。
【請求項８】
値がインクリメント信号によってインクリメントされ、リセット信号によって０に戻されるカウンタを設け、前記カウンタの値を前記サイクルずれ周期数設定信号として前記遅延出力回路に入力することを特徴とする請求項１から４のうちいずれかに記載の半導体集積回路。
【請求項９】
請求項８記載の半導体集積回路の検査方法であって、前記カウンタをリセットするカウンタリセット工程と、前記半導体集積回路の非同期回路を検査するために必要なパターンの後に前記カウンタをインクリメントするパターンを加えた検査パターンを入力する検査パターン実施工程と、前記検査パターンを前記半導体集積回路に印加した結果、前記半導体集積回路の出力端子から得られる出力データが期待値と一致するか否かを判定する検査結果判定工程と、前記出力データが前記期待値と一致しない場合は、前記カウンタの値を参照し、前記検査パターン実施工程を繰り返すか検査終了するかを判定する不良判定工程とを含むことを特徴とする検査方法。
【請求項１０】
対応する前記非同期回路、前記遅延出力回路および前記半導体集積回路の出力端子を複数有するとともに、前記遅延出力回路の各々に対応する複数の前記サイクルずれ周期数設定信号を有することを特徴とする請求項１または２記載の半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、非同期回路を備えた半導体集積回路及びその検査方法に関するものである。
【０００２】
【従来の技術】
図１０は従来の非同期回路を備えた半導体集積回路の構成図である。図１０において、１は非同期回路、２は第１のクロック信号、３は第２のクロック信号、４は非同期回路の出力信号、５は半導体集積回路の出力端子、６は第２のクロック信号３によって動作するフリップフロップ、７は第１のクロック信号２によって動作するフリップフロップである。
【０００３】
非同期回路１は、第１のクロック信号２によってフリップフロップ７から出力されたデータを受けて、第１のクロック信号２とは非同期に入力される第２のクロック信号３によってデータを出力するフリップフロップ６が含まれている回路である。非同期回路の出力信号４は半導体集積回路の出力端子５に接続されている。ここで第２のクロック信号３は第１のクロック信号２より周波数が低いものとする。
【０００４】
一般的に、半導体集積回路の検査には、ＡＣテスト、ＤＣテスト、実動作テストなどがあり、実動作テストでは半導体集積回路に含まれる機能が正しく動作するかを検査している。半導体集積回路の実動作テストでは、半導体集積回路の入力端子に検査パターンを印加し、半導体集積回路の出力端子から得られるデータが期待値パターンと一致するか否かを検査している。検査パターンと期待値パターンは、論理シミュレーションの実行結果を基に作成している（例えば、特許文献１参照）。
【０００５】
図１１は図１０に示す半導体集積回路のタイミングチャートであり、図１１（ａ）は非同期回路の出力信号４にサイクルずれが発生しない場合を示し、図１１（ｂ）はサイクルずれが発生する場合を示す。サイクルずれについては後述する。
【０００６】
非同期回路を備えた半導体集積回路の実動作テストにおいては、第１のクロック信号２、第２のクロック信号３、及びその他の検査パターンを半導体集積回路に印加し、非同期回路１や半導体集積回路内の他の回路を経由した後、半導体集積回路の出力端子５や半導体集積回路の他の出力端子から得られるデータが期待値パターンと一致するか否かを検査している。半導体集積回路の実動作テストの結果、半導体集積回路の出力端子から得られるデータが期待値パターンと一致していた場合は半導体集積回路を良品と判定し、一致していなかった場合は半導体集積回路を不良品と判定する。
【０００７】
【特許文献１】
特開２００１−２０２２６７号公報（第８頁図２、第９頁図４）
【０００８】
【発明が解決しようとする課題】
しかしながら上記の半導体集積回路の検査において、半導体集積回路の温度や印加電圧が変化した場合、半導体集積回路の内部配線や内部トランジスタの出力遅延が変化し、第１のクロック信号２によって出力された信号がフリップフロップ６に入力される時間が遅れ、第２のクロック信号３がフリップフロップ６に入力された後に第１のクロック信号２によって出力された信号がフリップフロップ６に入力された場合、フリップフロップ６は第１のクロック信号２によって出力された信号が入る前の信号を出力するために、非同期回路の出力信号４が第２のクロック信号３の１周期分だけ遅れるサイクルずれと呼ばれる現象が発生する（図１１（ｂ））。このとき、半導体集積回路の出力端子５から得られるデータは期待値パターンと一致していないため、半導体集積回路を誤って不良品と判定する問題点があった。
【０００９】
また、第１のクロック信号２と第２のクロック信号３とは位相差があるため、第１のクロック信号２や第２のクロック信号３の周波数が上がった場合、第１のクロック信号２の信号変化点と第２のクロック信号３の信号変化点との時間差が縮まる。半導体集積回路の温度や印加電圧が変化しない限り、半導体集積回路の内部配線や内部トランジスタの出力遅延は変化しない。このため、第１のクロック信号２や第２のクロック信号３の周波数が上がった場合、第１のクロック信号２によって出力された信号がフリップフロップ６に入力される前に、第２のクロック信号３がフリップフロップ６に入力され、このとき同様に非同期回路の出力信号４が第２のクロック信号３の１周期分だけ遅れるサイクルずれと呼ばれる現象が発生する。
【００１０】
また、半導体集積回路の温度や印加電圧、第１のクロック信号２や第２のクロック信号３の周波数がさらに変化することにより、第２のクロック信号３がフリップフロップ６に入力されるタイミングがさらに遅れる可能性がある。このとき、非同期回路の出力信号４はさらに遅れ、それに伴い、半導体集積回路の出力端子５から得られるデータもさらに遅れ、非同期回路の出力信号４が第２のクロック信号３の２周期以上遅れる様なサイクルずれが発生する。
【００１１】
以上のようなサイクルずれが発生すると、前述したように半導体集積回路の出力端子５から得られるデータが期待値パターンと一致しないため、半導体集積回路を誤って不良品と判定するという問題点があり、この問題点を回避するために従来は、半導体集積回路の温度や印加電圧、第１のクロック信号２や第２のクロック信号３の周波数に応じて期待値パターンを変更していたため、半導体集積回路の検査プログラムや期待値パターンの作成に多大な工数がかかっていた。
【００１２】
本発明は、上記従来の問題を解決するためになされたものであり、非同期回路を備えた半導体集積回路の実動作テストについて、非同期回路の出力信号がクロック信号周期の整数倍の時間分遅れるサイクルずれと呼ばれる現象により、半導体集積回路の出力端子から得られるデータが期待値パターンと一致せずに、半導体集積回路を誤って不良品と判定する問題点を、期待値パターンを変更することなく回避することができる半導体集積回路及びその検査方法を提供することを目的とする。
【００１３】
【課題を解決するための手段】
本発明の請求項１記載の半導体集積回路は、第１のクロック信号によって動作する第１の回路と、第１のクロック信号とは非同期で第１のクロック信号より周波数の低い第２のクロック信号によって動作する第２の回路とを有する非同期回路を備え、第２の回路は第１のクロック信号によって第１の回路から出力されるデータを第２のクロック信号によって取り込んで非同期回路の出力信号として半導体集積回路の出力端子へ出力する半導体集積回路であって、所定の固定値（Ｎ；Ｎは１以上の整数）以下でかつ０以上の所定の整数値（ｍ）を示すサイクルずれ周期数設定信号を入力し、非同期回路の出力信号を第２のクロック信号によって取り込み、この取り込んだ非同期回路の出力信号を第２のクロック信号の周期に（Ｎ−ｍ）を乗算した時間だけ遅延させてから半導体集積回路の出力端子へ出力する遅延出力回路を、非同期回路と半導体集積回路の出力端子との間に挿入したことを特徴とする。
【００１４】
この構成によれば、非同期回路の出力信号を第２のクロック信号によって取り込み、この取り込んだ非同期回路の出力信号を第２のクロック信号の周期に（Ｎ−ｍ）を乗算した時間だけ遅延させてから半導体集積回路の出力端子へ出力する遅延出力回路を設けたことにより、非同期回路の出力信号にサイクルずれが生じても、そのサイクルずれの周期数と同じ値をサイクルずれ周期数設定信号の値とすることで、半導体集積回路の出力端子には同じタイミングで非同期回路の出力信号が出力されるため、同じ期待値パターンを用いて正しい検査が可能になり、誤って半導体集積回路を不良品と判定する不具合が無くなるといった効果が得られる。
【００１５】
本発明において、遅延出力回路は、請求項２のように、入力されるデータを第２のクロック信号によって取り込んで出力するフリップフロップと、非同期回路の出力信号とフリップフロップの出力信号とを入力しサイクルずれ周期数設定信号によっていずれかを選択出力するセレクタとをＮ組備え、Ｎが１の場合、非同期回路の出力信号をフリップフロップの入力データとし、セレクタの出力信号を遅延出力回路の出力とするように接続しており、Ｎが２以上の場合、非同期回路の出力信号を１番目のフリップフロップの入力データとし、ｋ番目（ｋは１〜Ｎ−１）のセレクタの出力信号をｋ＋１番目のフリップフロップの入力データとし、Ｎ番目のセレクタの出力信号を遅延出力回路の出力とするように接続した構成とすることができる。
【００１６】
また、本発明において、請求項３のように、非同期回路の出力信号とそれに対応する半導体集積回路の出力端子が複数ビットで構成され、遅延出力回路は、複数ビットの非同期回路の出力信号を入力し、各ビットに対して第２のクロック信号の周期に（Ｎ−ｍ）を乗算した時間だけ遅延させてから複数ビットの半導体集積回路の出力端子へ出力するようにした構成でもよい。
【００１７】
この場合、遅延出力回路は、請求項４のように、複数ビットで構成される非同期回路の出力信号と半導体集積回路の出力端子の各ビットに対して、入力されるデータを第２のクロック信号によって取り込んで出力するフリップフロップと、非同期回路の出力信号とフリップフロップの出力信号とを入力しサイクルずれ周期数設定信号によっていずれかを選択出力するセレクタとをＮ組備え、Ｎが１の場合、非同期回路の出力信号をフリップフロップの入力データとし、セレクタの出力信号を遅延出力回路の出力とするように接続しており、Ｎが２以上の場合、非同期回路の出力信号を１番目のフリップフロップの入力データとし、ｋ番目（ｋは１〜Ｎ−１）のセレクタの出力信号をｋ＋１番目のフリップフロップの入力データとし、Ｎ番目のセレクタの出力信号を遅延出力回路の１ビットの出力とするように接続した構成とすることができる。
【００１８】
また、本発明において、請求項５のように、サイクルずれ周期数設定信号を半導体集積回路の入力端子より入力して遅延出力回路に入力するようにしてもよい。
【００１９】
また、本発明において、請求項６のように、サイクルずれ周期数設定信号となる値を保持した内部レジスタを設け、内部レジスタの値をサイクルずれ周期数設定信号として遅延出力回路に入力するようにしてもよい。
【００２０】
本発明の請求項７記載の半導体集積回路の検査方法は、請求項１から６のうちいずれかに記載の半導体集積回路の非同期回路に検査パターンを入力し、半導体集積回路の出力端子から得られる出力データが期待値と一致するか否かを判定し、出力データが期待値と一致しない場合は、サイクルずれ周期数設定信号の値を変更して再検査を行うことを特徴とする。
【００２１】
この検査方法によれば、サイクルずれ周期数設定信号の値を変えながら検査を実施するため、半導体集積回路の温度や印加電圧、第１のクロック信号や第２のクロック信号の周波数が変化し、非同期回路の出力信号のサイクルずれ周期数が変化していても、サイクルずれ周期数を考慮することなく、同じ期待値パターンを用いて正しい検査を行えるといった効果が得られる。
【００２２】
また、本発明の半導体集積回路において、請求項８のように、値がインクリメント信号によってインクリメントされ、リセット信号によって０に戻されるカウンタを設け、カウンタの値をサイクルずれ周期数設定信号として遅延出力回路に入力するようにしてもよい。
【００２３】
この場合の半導体集積回路の検査方法は、請求項９のように、カウンタをリセットするカウンタリセット工程と、半導体集積回路の非同期回路を検査するために必要なパターンの後にカウンタをインクリメントするパターンを加えた検査パターンを入力する検査パターン実施工程と、検査パターンを半導体集積回路に印加した結果、半導体集積回路の出力端子から得られる出力データが期待値と一致するか否かを判定する検査結果判定工程と、出力データが期待値と一致しない場合は、カウンタの値を参照し、検査パターン実施工程を繰り返すか検査終了するかを判定する不良判定工程とを含むことを特徴とする。
【００２４】
この検査方法によれば、カウンタをインクリメントするパターンを加えた検査パターンによって、カウンタの値が順にインクリメントされながらすなわちサイクルずれ周期数設定信号の値を変えながら検査を実施するため、半導体集積回路の温度や印加電圧、第１のクロック信号や第２のクロック信号の周波数が変化し、非同期回路の出力信号のサイクルずれ周期数が変化していても、サイクルずれ周期数を考慮することなく、同じ期待値パターンを用いて正しい検査を行えることに加え、サイクルずれ周期数設定信号のそれぞれの値に対応した複数の入力パターンを作成する必要がないといった効果が得られる。
【００２５】
また、本発明の半導体集積回路において、対応する非同期回路、遅延出力回路および半導体集積回路の出力端子を複数有するとともに、遅延出力回路の各々に対応する複数のサイクルずれ周期数設定信号を有する構成であってもよい。
【００２６】
この構成によれば、複数の各非同期回路の出力信号それぞれでサイクルずれ周期数が異なる場合において、各遅延出力回路を設け、それぞれに別々のサイクルずれ周期数設定信号を各遅延出力回路に入力することにより、それぞれの非同期回路の出力信号にサイクルずれが生じても、半導体集積回路の出力端子には同じタイミングで各非同期回路の出力信号が出力されるため、同じ期待値パターンを用いて正しい検査が可能になり、誤って半導体集積回路を不良品と判定する不具合が無くなるといった効果が得られる。
【００２７】
【発明の実施の形態】
（第１の実施形態）
以下、本発明の第１の実施形態について、図面を参照しながら説明する。
【００２８】
図１は本発明の第１の実施形態における半導体集積回路の構成図である。図１において、１は非同期回路、２は第１のクロック信号、３は第１のクロック信号２とは非同期で第１のクロック信号２より周波数の低い第２のクロック信号、４は非同期回路の出力信号、５は半導体集積回路の出力端子、６は第２のクロック信号３によって動作するフリップフロップ、７は第１のクロック信号２によって動作するフリップフロップで、これらは従来例の構成と同じである。１１は遅延出力回路、１２はサイクルずれ周期数設定信号、１３は半導体集積回路の入力端子である。
【００２９】
遅延出力回路１１は、非同期回路の出力信号４、第２のクロック信号３、及び、サイクルずれ周期数設定信号１２を入力し、非同期回路の出力信号４を、第２のクロック信号３の周期に（所定の固定値Ｎ−サイクルずれ周期数設定信号１２が示す値ｍ）を乗算した時間だけ出力を遅らせる様に構成されている（ｍは、Ｎ≧ｍ≧０である整数）。なお、所定の固定値Ｎは、１以上の整数で、非同期回路の出力信号４が第２のクロック信号３の最大α周期分遅れる場合に、α以上の所定の整数値に設定すればよい（Ｎ≧α）。本実施形態の後述の例（図２、図３、図４）では、固定値Ｎを最大サイクルずれ周期数αに設定している（Ｎ＝α＝３）。遅延出力回路１１の出力は半導体集積回路の出力端子５と接続されている。半導体集積回路の入力端子１３は、遅延出力回路１１と接続され、サイクルずれ周期数設定信号１２を入力する。
【００３０】
図２は本実施形態の半導体集積回路で使用する遅延出力回路１１の構成を示している。図２において、２１は第１のフリップフロップ、２２は第１のセレクタ、２３は第２のフリップフロップ、２４は第２のセレクタ、２５は第３のフリップフロップ、２６は第３のセレクタ、２７はデコード回路、２８は遅延部である。
【００３１】
第２のクロック信号３は第１のフリップフロップ２１、第２のフリップフロップ２３、第３のフリップフロップ２５の全てに入力され、第２のクロック信号３に同期して動作するよう構成されている。非同期回路の出力信号４は第１のフリップフロップ２１、第１のセレクタ２２、第２のセレクタ２４、第３のセレクタ２６に入力されるよう構成されている。また、第１のセレクタ２２は第１のフリップフロップ２１の出力と非同期回路の出力信号４を入力とし、第１のセレクタ２２の出力信号は第２のフリップフロップ２３に入力される様に構成されている。第２のセレクタ２４は第２のフリップフロップ２３の出力信号と非同期回路の出力信号４を入力とし、第２のセレクタ２４の出力信号は第３のフリップフロップ２５に入力される様に構成されている。第３のセレクタ２６は第３のフリップフロップ２５の出力信号と非同期回路の出力信号４を入力としており、第３のセレクタ２６の出力信号は遅延出力回路１１の出力となる。
【００３２】
デコード回路２７は半導体集積回路の入力端子１３から入力されたサイクルずれ周期数設定信号１２を受けて、第１のセレクタ２２、第２のセレクタ２４、第３のセレクタ２６の制御を行う様に構成されている。
【００３３】
以下、図１および図２の様に構成された本発明の半導体集積回路の動作について説明する。
【００３４】
まず、非同期回路の出力信号４でサイクルずれが発生しない場合を考える。
【００３５】
この時、サイクルずれ周期数設定信号１２は０に設定される。デコード回路２７はサイクルずれ周期数設定信号１２の入力を受け、第１のセレクタ２２、第２のセレクタ２４、第３のセレクタ２６の出力を、それぞれ第１のフリップフロップ２１、第２のフリップフロップ２３、第３のフリップフロップ２５の出力とする様に制御する。このため、非同期回路の出力信号４は第１のフリップフロップ２１、第２のフリップフロップ２３、第３のフリップフロップ２５を経由し、半導体集積回路の出力端子５から出力される。これにより、遅延出力回路１１において非同期回路の出力信号４は第２のクロック信号３を３回受けた後に出力されることになるので、非同期回路の出力信号４は第２のクロック信号３の周期の３倍の時間が経過された後に遅延出力回路１１から出力される。
【００３６】
次に、非同期回路の出力信号４で第２のクロック信号３の１周期分のサイクルずれが発生する場合を考える。
【００３７】
この時、サイクルずれ周期数設定信号１２は１に設定される。デコード回路２７はサイクルずれ周期数設定信号１２の入力を受け、第１のセレクタ２２、第２のセレクタ２４、第３のセレクタ２６の出力を、それぞれ非同期回路の出力信号４、第２のフリップフロップ２３、第３のフリップフロップ２５の出力とする様に制御する。このため、非同期回路の出力信号４は第１のフリップフロップ２１を経由せずに、第２のフリップフロップ２３、第３のフリップフロップ２５の２つのフリップフロップを経由し、半導体集積回路の出力端子５から出力される。これにより、非同期回路の出力信号４は第２のクロック信号３を２回受けた後に出力されることになるので、非同期回路の出力信号４は第２のクロック信号３の周期の２倍の時間が経過された後に遅延出力回路１１から出力される。
【００３８】
図３は、非同期回路の出力信号４でサイクルずれが発生しない場合、及び１周期分のサイクルずれが発生する場合の、本実施形態の半導体集積回路のタイミングチャート、及び、本実施形態の半導体集積回路の出力端子５の期待値パターンを示している。
【００３９】
サイクルずれが発生しない場合、図３（ａ）に示すように、非同期回路の出力信号４は遅延出力回路１１で第２のクロック信号３の３周期分の時間が経過した後に、半導体集積回路の出力端子５から出力される。このため、期待値パターンは非同期回路の出力信号４から３周期分後になる様に作成すれば良い。これに対して１周期分のサイクルずれが発生する場合は、図３（ｂ）に示すように、非同期回路の出力信号４は第２のクロック信号３に対して１周期分のサイクルずれが発生するが、遅延出力回路１１は第２のクロック信号３の周期の２倍の時間が経過された後に、非同期回路の出力信号４を出力するので、半導体集積回路の出力端子５には、サイクルずれが発生しない場合（図３（ａ））と全く同じタイミングで非同期回路の出力信号４が出力されることになる。このため、１周期分のサイクルずれが発生する場合も、サイクルずれが発生しない場合と同様な期待値パターンを作成すれば良い。
【００４０】
このように、非同期回路の出力信号４で１周期分のサイクルずれが発生する場合、遅延出力回路１１では第２のクロック信号３の周期の２倍の時間が経過した後に非同期回路の出力信号４を出力する。このため、サイクルずれが発生しない場合と全く同じタイミングで出力されるので、複数の検査プログラムを用意する必要がなく、誤って半導体集積回路を不良品と判定する不具合が無くなるといった効果が得られる。
【００４１】
また、非同期回路の出力信号４で第２のクロック信号３の２周期分のサイクルずれが発生する場合は、サイクルずれ周期数設定信号１２に２を設定することにより、デコード回路２７は、第１のセレクタ２２の入力及び第２のセレクタ２４の入力を非同期回路の出力信号４とし、第３のセレクタ２６の入力を第３のフリップフロップ２５の出力とする様な制御信号を出力する。これにより、非同期回路の出力信号４は第１のフリップフロップ２１と第２のフリップフロップ２３を経由せずに、第３のフリップフロップ２５と第３のセレクタ２６を経由し、半導体集積回路の出力端子５から出力されるため、非同期回路の出力信号４は第２のクロック信号３の周期の１倍の時間が経過した後に遅延出力回路１１から出力される。
【００４２】
さらに、非同期回路の出力信号４に対して第２のクロック信号３の３周期分のサイクルずれが発生する場合は、サイクルずれ周期数設定信号１２に３を設定することにより、デコード回路２７は、第１のセレクタ２２、第２のセレクタ２４、第３のセレクタ２６の入力の全てを非同期回路の出力信号４とする様な制御信号を出力する。これにより、非同期回路の出力信号４は直接、半導体集積回路の出力端子５から出力される。
【００４３】
図４は非同期回路の出力信号４で２周期分のサイクルずれが発生する場合、非同期回路の出力信号４で３周期分のサイクルずれが発生する場合の、本実施形態の半導体集積回路のタイミングチャート、及び、本実施形態の半導体集積回路の出力端子５の期待値パターンを示している。
【００４４】
２周期分のサイクルずれが発生する場合は、図４（ａ）に示すように、非同期回路の出力信号４は第２のクロック信号３に対して２周期分のサイクルずれが発生するが、遅延出力回路１１は第２のクロック信号３の周期の１倍の時間が経過された後に非同期回路の出力信号４を出力する。３周期分のサイクルずれが発生する場合は、図４（ｂ）に示すように、非同期回路の出力信号４は第２のクロック信号３に対して３周期分のサイクルずれが発生するが、遅延出力回路１１は非同期回路の出力信号４を直接出力する。
【００４５】
以上の様に本実施形態によれば、２周期分だけのサイクルずれが発生した場合や３周期分だけのサイクルずれが発生した場合にも、１周期分だけのサイクルずれが発生した場合と同様に、半導体集積回路の出力端子においてサイクルずれが発生しない場合と全く同じタイミングで出力されるので、同じ期待値パターンを用意すれば良く、複数の検査プログラムを用意する必要がなく、誤って半導体集積回路を不良品と判定する不具合が無くなるといった効果が得られる。
【００４６】
以上は、最大で３周期分のサイクルずれが発生する場合の例であり、サイクルずれ周期数設定信号１２は２ビットの信号で実現でき、その２ビットのうちの上位ビットがデコーダ回路２７内の信号線１２ａに印加され、下位ビットがデコーダ回路２７内の信号線１２ｂに印加される。上述のようにサイクルずれ周期数設定信号１２が０、１、２、３の値に設定されるとき、その２ビットの信号は（００）、（０１）、（１０）、（１１）であり、それぞれの上位ビットが信号線１２ａに、下位ビットが信号線１２ｂに供給されることになる。
【００４７】
また、最大で１周期分のサイクルずれしか発生しない場合は、遅延出力回路１１は第１のフリップフロップ２１、第１のセレクタ２２だけで構成すれば良く、第２のセレクタ２４、第２のセレクタ２６、第２のフリップフロップ２３、第３のフリップフロップ２５は必要ない。この場合、サイクルずれ周期数設定信号１２は１ビットの信号で実現でき、この１ビットのサイクルずれ周期数設定信号１２により直接第１のセレクタ２２を制御することができ、デコーダ回路２７も必要ない。この構成では、サイクルずれが発生しない場合はサイクルずれ周期数設定信号１２を０とすることにより、第１のセレクタ２２の出力を第１のフリップフロップ２１の出力とする様に制御し、遅延出力回路１１は第２のクロック信号３の周期の１倍の時間が経過された後に、非同期回路の出力信号４を出力する。サイクルずれが発生する場合はサイクルずれ周期数設定信号１２を１とすることにより、第１のセレクタ２２の出力を非同期回路の出力信号４とする様に制御するため、遅延出力回路１１は非同期回路の出力信号４を直接出力する。このため、どちらの場合にも、半導体集積回路の出力端子５には同じタイミングで非同期回路の出力信号４が出力され、同じ期待値パターンを用意すれば良く、複数の検査プログラムを用意する必要がなく、誤って半導体集積回路を不良品と判定する不具合が無くなるといった効果が得られる。
【００４８】
したがって、最大でα周期分（αは１以上の整数）のサイクルずれが発生する場合、遅延出力回路１１は、α組のフリップフロップおよびセレクタと、デコーダ回路を用いて構成できる（ただし、前述のようにα＝１の場合にはデコーダ回路は必要ない）。この場合、先に述べたように、固定値Ｎ＝最大サイクルずれ周期数αであるが、これに限られず、Ｎ≧αであれば本発明の効果は得られる。なお、用意する期待値パターンとしては、半導体集積回路が良品である場合に非同期回路の出力信号４でＮ周期分のサイクルずれが発生したと仮定し、遅延出力回路１１で遅延させること無く出力端子５から出力されるデータに相当する期待値パターンのみでよい。
【００４９】
また、本実施形態では、サイクルずれ周期数設定信号１２を半導体集積回路の入力端子１３より遅延出力回路１１に入力していたが、半導体集積回路の入力端子１３の代わりに、サイクルずれ周期数設定信号１２となるデータを保持した内部レジスタを設け、その内部レジスタの値の出力を遅延出力回路１１に入力するように構成しても良い。
【００５０】
図５は本発明の第１の実施形態における半導体集積回路の検査方法のフロチャートを示すものであり、第１の検査パターン実施工程（ステップＳ１１）、第１の検査結果判定工程（ステップＳ１２）、第２の検査パターン実施工程（ステップＳ１３）、第２の検査結果判定工程（ステップＳ１４）、第３の検査パターン実施工程（ステップＳ１５）、第３の検査結果判定工程（ステップＳ１６）、第４の検査パターン実施工程（ステップＳ１７）、第４の検査結果判定工程（ステップＳ１８）から構成されている。
【００５１】
まず、第１の検査パターン実施工程（ステップＳ１１）において、サイクルずれ周期数設定信号１２を０にする様な検査パターン（サイクルずれ周期数設定信号１２を０にするパターンと非同期回路１に対する検査パターン）を半導体集積回路に印加し、半導体集積回路の出力端子５からの出力データを期待値パターンと比較する。第１の検査結果判定工程（ステップＳ１２）において、第１の検査パターン実施工程（ステップＳ１１）で実施した検査の結果、半導体集積回路の出力データが期待値パターンと一致するか否かを判定し、期待値パターンと一致した場合は、半導体集積回路を良品と判定し、検査を終了する。逆に一致しなかった場合は、第２の検査パターン実施工程（ステップＳ１３）に移行する。
【００５２】
第２の検査パターン実施工程（ステップＳ１３）においては、サイクルずれ周期数設定信号１２を１にする様な検査パターン（サイクルずれ周期数設定信号１２を１にするパターンと非同期回路１に対する検査パターン）を半導体集積回路に印加し、半導体集積回路の出力端子５からの出力データを第１の検査パターン実施工程（ステップＳ１１）で実施した物と同じ期待値パターンと比較する。第２の検査結果判定工程（ステップＳ１４）において、第２の検査パターン実施工程（ステップＳ１３）で実施した検査の結果、半導体集積回路の出力データが期待値パターンと一致するか否かを判定し、期待値パターンと一致した場合は、半導体集積回路を良品と判定し、検査を終了する。逆に一致しなかった場合は、第３の検査パターン実施工程（ステップＳ１５）に移行する。
【００５３】
以下同様に、第３の検査パターン実施工程（ステップＳ１５）においてはサイクルずれ周期数設定信号１２を２にする様な検査パターン（サイクルずれ周期数設定信号１２を２にするパターンと非同期回路１に対する検査パターン）を、第４の検査パターン実施工程（ステップＳ１７）においてはサイクルずれ周期数設定信号１２を３にする様な検査パターン（サイクルずれ周期数設定信号１２を３にするパターンと非同期回路１に対する検査パターン）を半導体集積回路に印加し、半導体集積回路の出力端子５からの出力データを第１の検査パターン実施工程（ステップＳ１１）で実施した物と同じ期待値パターンと比較する。第３の検査結果判定工程（ステップＳ１６）、第４の検査結果判定工程（ステップＳ１８）においては、ぞれぞれ、第３の検査パターン実施工程（ステップＳ１５）、第４の検査パターン実施工程（ステップＳ１７）で実施した検査の結果、半導体集積回路の出力データが期待値パターンと一致するか否かを判定するが、第４の検査結果判定工程（ステップＳ１８）においても期待値パターンと一致しなかった場合は、半導体集積回路を不良品と判定し、検査を終了する。
【００５４】
以上の様に本実施形態によれば、第１の検査パターン実施工程（ステップＳ１１）、第２の検査パターン実施工程（ステップＳ１３）、第３の検査パターン実施工程（ステップＳ１５）、第４の検査パターン実施工程（ステップＳ１７）において、サイクルずれ周期数設定信号１２を０から３まで変えながら検査を実施している。このため、半導体集積回路の温度や印加電圧、第１のクロック信号２や第２のクロック信号３の周波数が変化し、非同期回路の出力信号４のサイクルずれ周期数が変化していても、サイクルずれ周期数を考慮することなく、同じ期待値パターンを用いて正しい検査を行えるといった効果がある。
【００５５】
なお、本実施形態では、非同期回路１の出力信号４を１ビットの信号として説明しているが、非同期回路１の出力信号が複数のビットで構成され、それに対応する半導体集積回路の出力端子も複数のビットで構成されている場合、遅延出力回路１１の入出力およびその間のデータ経路の構成を複数ビットとすればよい。例えば図２において、非同期回路１の出力信号がＳビット（Ｓは複数）の場合（各ビットに対応して出力端子５はＳ個ある）、非同期回路１の出力信号の各ビットについて遅延部２８を設ければよい（すなわち遅延部２８を全部でＳ個設ける）。デコード回路２７およびサイクルずれ周期数設定信号１２は、全ての遅延部２８に対して共通の１個でよい。
【００５６】
（第２の実施形態）
以下、本発明の第２の実施形態について、図面を参照しながら説明する。
【００５７】
図６は本発明の第２の実施形態における半導体集積回路の構成図である。図６において、１は非同期回路、２は第１のクロック信号、３は第２のクロック信号、４は非同期回路の出力信号、５は半導体集積回路の出力端子、６、７はフリップフロップ、１１は遅延出力回路、１２はサイクルずれ周期数設定信号であり、以上は図１の構成と同じである。図１の構成と異なるのは、カウンタ６１を備え、カウンタ６１の出力信号をサイクルずれ周期数設定信号１２としている点であり、他の構成は同様である。６２はインクリメント信号、６３はリセット信号である。
【００５８】
カウンタ６１は、インクリメント信号６２を受けて、０からｎ−１までの数を順に繰り返し、ｎ−１の次は０に戻るｎ進カウンタとする（ここで、ｎ−１＝固定値Ｎ）。また、カウンタ６１の値はリセット信号６３によって０に戻される。
【００５９】
図７は本発明の第２の実施形態における半導体集積回路の検査パターン７１の構成図である。本実施形態で用いる検査パターン７１は、半導体集積回路を検査するために必要な検査パターン（非同期回路１に対する検査パターン）の後に、カウンタ６１のインクリメントパターンを加えたものになっている。カウンタ６１のインクリメントパターンでは、インクリメント信号６２をカウンタ６１に入力し、カウンタ６１の値に１を加算する。
【００６０】
図８は本発明の第２の実施形態における半導体集積回路の検査方法のフロチャートを示すものであり、カウンタリセット工程（ステップＳ２１）、検査パターン実施工程（ステップＳ２２）、検査結果判定工程（ステップＳ２３）、不良判定工程（ステップＳ２４）から構成されている。第１の実施形態と異なるのは、カウンタリセット工程（ステップＳ２１）、不良判定工程（ステップＳ２４）を備えた点である。
【００６１】
まず、カウンタリセット工程（ステップＳ２１）において、リセット信号６３をカウンタ６１に入力し、カウンタの値を０に戻す。
【００６２】
次に、検査パターン実施工程（ステップＳ２２）において、検査パターン７１を半導体集積回路に印加し、半導体集積回路の出力端子５からの出力データを期待値パターンと比較する。
【００６３】
ここで、カウンタ６１の出力信号はサイクルずれ周期数設定信号１２となって、遅延出力回路１１に入力されるので、非同期回路の出力信号４は、第２のクロック信号３の周期にカウンタ６１の出力信号を乗算した時間分遅れて遅延出力回路１１から出力される。また、検査パターン７１には、半導体集積回路を検査するために必要な検査パターンの後に、カウンタ６１のインクリメントパターンを加えたものになっているため、検査パターン実施工程（ステップＳ２２）終了直前にカウンタ６１の値は１が加算される。
【００６４】
検査結果判定工程（ステップＳ２３）では、検査パターン実施工程（ステップＳ２２）の結果、半導体集積回路の出力データが期待値パターンと一致するか否かを判定する。半導体集積回路の出力データが期待値パターンと一致した場合は、半導体集積回路を良品と判定し、検査を終了する。逆に一致しなかった場合は、不良判定工程（ステップＳ２４）に進む。
【００６５】
不良判定工程（ステップＳ２４）では、カウンタ６１の値が０と等しいか否かを判断し、等しい場合は半導体集積回路を不良品と判定し、検査を終了する。等しくない場合は検査パターン実施工程（ステップＳ２２）に戻る。この不良判定工程（ステップＳ２４）では、カウンタ６１の値を参照するが、そのためにカウンタ６１の出力は、出力端子５とは異なる半導体集積回路の出力端子に接続されている（図示せず）。
【００６６】
以上の検査方法により、カウンタ６１のインクリメントパターンを含んだ検査パターン７１によって、カウンタ６１の値が０から順に変化しながら半導体集積回路の検査が行われる。カウンタ６１の出力信号はサイクルずれ周期数設定信号１２と等価であることから、サイクルずれ周期数設定信号１２を０から順に変えながら検査が実施されることになる。このため、第１の実施形態の様に、期待値パターンだけでなく、サイクルずれ周期数設定信号１２それぞれに対応した複数の入力パターンを作成する必要がないといった効果がある。
【００６７】
また、本実施形態においても、非同期回路１の出力信号が複数のビットで構成され、それに対応する半導体集積回路の出力端子も複数のビットで構成されている場合には、第１の実施形態で説明したように、遅延出力回路１１の入出力およびその間のデータ経路の構成を複数ビットとすればよい。
【００６８】
（第３の実施形態）
以下、本発明の第３の実施形態について、図面を参照しながら説明する。
【００６９】
図９は本発明の第３の実施形態における半導体集積回路の構成図である。図１や図６の構成と異なるのは、第１の遅延出力回路９１、第２の遅延出力回路９２それぞれに第１のサイクルずれ周期数設定信号９３、第２のサイクルずれ周期数設定信号９４が入力され、第１の遅延出力回路９１、第２の遅延出力回路９２の出力信号が第１の半導体集積回路の出力端子９５、第２の半導体集積回路の出力端子９６それぞれに接続されている点である。
【００７０】
第３の実施形態における半導体集積回路では、第１のサイクルずれ周期数設定信号９３と第２のサイクルずれ周期数設定信号９４とで異なるサイクルずれ周期数設定信号を、第１の遅延出力回路９１、第２の遅延出力回路９２それぞれに入力することが可能である。一般に、半導体集積回路の配線距離や経路は各配線で異なるため、配線遅延も各配線で異なる。このため、第１のクロック信号２によって出力されたデータがフリップフロップ６に入力されるまでの時間もそれぞれの非同期回路１Ａ，１Ｂによって異なり、非同期回路１Ａの出力信号と非同期回路１Ｂの出力信号とでサイクルずれ周期数が異なる場合が発生する。本実施形態においては、そのような場合においても、第１のサイクルずれ周期数設定信号９３と第２のサイクルずれ周期数設定信号９４とで異なるサイクルずれ周期数設定信号を、第１の遅延出力回路９１、第２の遅延出力回路９２それぞれに入力することが可能であるために、誤って半導体集積回路を不良品と判定する不具合が無くなるといった効果が得られる。
【００７１】
なお、サイクルずれ周期数設定信号９３、９４はそれぞれ、第１の実施形態のように、半導体集積回路の入力端子より遅延出力回路９１、９２に入力するようにしてもよいし、あるいは、第１のサイクルずれ周期数設定信号９３となるデータを保持した第１の内部レジスタを設け、その第１の内部レジスタの値の出力を遅延出力回路９１に入力するように構成するとともに、第２のサイクルずれ周期数設定信号９４となるデータを保持した第２の内部レジスタを設け、その第２の内部レジスタの値の出力を遅延出力回路９２に入力するように構成しても良い。これらの場合、非同期回路１Ａ，１Ｂのそれぞれに対して第１の実施形態で説明した検査方法を用いて検査すればよい。
【００７２】
また、第２の実施形態におけるカウンタ６１のように、第１のサイクルずれ周期数設定信号９３を発生する第１のカウンタと、第２のサイクルずれ周期数設定信号９４を発生する第２のカウンタとを設け、それぞれの出力を遅延出力回路９１、９２に入力するように構成しても良い。この場合、非同期回路１Ａ，１Ｂのそれぞれに対して第２の実施形態で説明した検査方法を用いて検査すればよい。
【００７３】
また、本実施形態では、遅延出力回路が第１の遅延出力回路９１、第２の遅延出力回路９２の２つある場合を示しているが、遅延出力回路は必要に応じて、さらに多く用意しても構わない。遅延出力回路の個数と同等の数のサイクルずれ周期数設定信号を各遅延出力回路に入力することにより、各遅延出力回路の入力に接続されている非同期回路の出力それぞれでサイクルずれ周期数が異なる場合において、同様に誤って半導体集積回路を不良品と判定する不具合が無くなるといった効果が得られる。
【００７４】
また、本実施形態においても、非同期回路１Ａ，１Ｂの出力信号が複数のビットで構成され、それらに対応する半導体集積回路の出力端子も複数のビットで構成されている場合には、第１の実施形態で説明したように、遅延出力回路９１，９２それぞれの入出力およびその間のデータ経路の構成を複数ビットとすればよい。
【００７５】
【発明の効果】
本発明によれば、第１のクロック信号によって動作する第１の回路と、第１のクロック信号とは非同期で第１のクロック信号より周波数の低い第２のクロック信号によって動作する第２の回路とを有する非同期回路を備え、第２の回路は第１のクロック信号によって第１の回路から出力されるデータを第２のクロック信号によって取り込んで非同期回路の出力信号として半導体集積回路の出力端子へ出力する半導体集積回路であって、非同期回路の出力信号を第２のクロック信号によって取り込み、この取り込んだ非同期回路の出力信号を第２のクロック信号の周期に（Ｎ−ｍ）を乗算した時間だけ遅延させてから半導体集積回路の出力端子へ出力する遅延出力回路を設けたことにより、非同期回路の出力信号にサイクルずれが生じても、そのサイクルずれの周期数と同じ値をサイクルずれ周期数設定信号の値とすることで、半導体集積回路の出力端子には同じタイミングで非同期回路の出力信号が出力されるため、同じ期待値パターンを用いて正しい検査が可能になり、誤って半導体集積回路を不良品と判定する不具合が無くなるといった効果が得られる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態における半導体集積回路の構成図である。
【図２】本発明の第１の実施形態における半導体集積回路で使用する遅延出力回路の構成図である。
【図３】本発明の第１の実施形態における半導体集積回路のタイミングチャートである。
【図４】本発明の第１の実施形態における半導体集積回路のタイミングチャートである。
【図５】本発明の第１の実施形態における半導体集積回路の検査方法を示すフロチャートである。
【図６】本発明の第２の実施形態における半導体集積回路の構成図である。
【図７】本発明の第２の実施形態で用いる半導体集積回路の検査パターンの構成図である。
【図８】本発明の第２の実施形態における半導体集積回路の検査方法を示すフロチャートである。
【図９】本発明の第３の実施形態における半導体集積回路の構成図である。
【図１０】従来の半導体集積回路の構成図である。
【図１１】従来の半導体集積回路のタイミングチャートである。
【符号の説明】
１  非同期回路
２  第１のクロック信号
３  第２のクロック信号
４  非同期回路の出力信号
５  半導体集積回路の出力端子
６  フリップフロップ
７  フリップフロップ
１１  遅延出力回路
１２  サイクルずれ周期数設定信号
１３  半導体集積回路の入力端子
２１  第１のフリップフロップ
２２  第１のセレクタ
２３  第２のフリップフロップ
２４  第２のセレクタ
２５  第３のフリップフロップ
２６  第３のセレクタ
２７  デコード回路
２８  遅延部
６１  カウンタ
６２  インクリメント信号
６３  リセット信号
７１  検査パターン
９１  第１の遅延出力回路
９２  第２の遅延出力回路
９３  第１のサイクルずれ周期数設定信号
９４  第２のサイクルずれ周期数設定信号
９５  半導体集積回路の第１の出力端子
９６  半導体集積回路の第２の出力端子
【図１】
2004317215.tif 000003
【図２】
2004317215.tif 000004
【図３】
2004317215.tif 000005
【図４】
2004317215.tif 000006
【図５】
2004317215.tif 000007
【図６】
2004317215.tif 000008
【図７】
2004317215.tif 000009
【図８】
2004317215.tif 000010
【図９】
2004317215.tif 000011
【図１０】
2004317215.tif 000012
【図１１】
2004317215.tif 000013