(57)【要約】【課題】通常動作時に互いに非同期の複数のクロックドメインを含むＬＳＩの非同期転送回路を対象として、遷移故障テストを実施する。【解決手段】ＬＳＩのネットリストから、非同期クロックドメイン間で信号を伝搬する、送信フリップフロップと受信フリップフロップと前記送信フリップフロップの出力から前記受信フリップフロップの入力に接続される組合せ回路とを、被テストパスとして抽出し、被テストパスに遷移故障テストを実施するためのテストクロック供給回路を挿入する。テストクロック供給回路は、被テストパスの遷移故障テスト動作時に、ラウンチクロックパルスを前記送信フリップフロップに、キャプチャクロックパルスを前記受信フリップフロップに、それぞれ供給する。ラウンチクロックパルスからキャプチャクロックパルスまでの遅延時間は、任意に設定できるように構成される。【選択図】図１
2015028424.tif 000002
【特許請求の範囲】
【請求項１】
通常動作時に第１クロックに同期して動作する第１フリップフロップと、通常動作時に前記第１クロックと非同期の第２クロックに同期して動作する第２フリップフロップと、前記第１フリップフロップの出力から前記第２フリップフロップの入力に接続される組合せ回路と、テストクロック供給回路とを備え、
前記テストクロック供給回路は、前記組合せ回路の遷移故障テスト動作時に、ラウンチクロックパルスを前記第１フリップフロップに、キャプチャクロックパルスを前記第２フリップフロップに、それぞれ供給可能に構成され、前記ラウンチクロックパルスから前記キャプチャクロックパルスまでの遅延時間は、設定可能に構成される、半導体集積回路。
【請求項２】
請求項１において、前記テストクロック供給回路は、
テストパルスが入力され、前記テストパルスの立上りエッジと立下りエッジから、前記ラウンチクロックパルスと前記キャプチャクロックパルスを含むダブルパルス信号を生成する、ダブルパルス生成回路と、
前記ダブルパルス信号から前記ラウンチクロックパルスを抽出して前記第１フリップフロップに供給可能な、第１ラウンチクロック／キャプチャクロック選択回路と、
前記ダブルパルス信号から前記キャプチャクロックパルスを抽出して前記第２フリップフロップに供給可能な、第２ラウンチクロック／キャプチャクロック選択回路とを含んで構成される、半導体集積回路。
【請求項３】
請求項２において、前記第１ラウンチクロック／キャプチャクロック選択回路と前記第２ラウンチクロック／キャプチャクロック選択回路のうち、少なくとも一方は、前記ダブルパルス信号から前記ラウンチクロックパルスまたは前記キャプチャクロックパルスを選択して抽出可能に構成される、半導体集積回路。
【請求項４】
請求項２において、前記テストクロック供給回路は、入力される入力パルスのパルス幅を調整して前記テストパルスとして出力可能なパルス幅調整回路をさらに備える、半導体集積回路。
【請求項５】
請求項２において、前記テストクロック供給回路は、入力されるテストクロックに基づいて、前記テストパルスのパルス幅を設定可能な、パルス幅調整回路をさらに備える、半導体集積回路。
【請求項６】
請求項２において、前記ダブルパルス生成回路は、前記ラウンチクロックパルスと前記キャプチャクロックパルスのパルス幅を調整可能に構成される、半導体集積回路。
【請求項７】
請求項１において、前記第１フリップフロップを含む第１スキャンチェーンと前記第２フリップフロップを含む第２スキャンチェーンとスキャンテスト回路をさらに備え、
前記スキャンテスト回路は、スキャンテスト動作時に、前記第１フリップフロップに第１シフトクロックを供給して前記第１スキャンチェーンをシフト動作させ、前記第２フリップフロップに第２シフトクロックを供給して前記第２スキャンチェーンをシフト動作させる、半導体集積回路。
【請求項８】
請求項１において、前記第１フリップフロップと前記第２フリップフロップとを含むスキャンチェーンとスキャンテスト回路をさらに備え、
前記スキャンテスト回路は、スキャンテスト動作時に、前記第１フリップフロップと前記第２フリップフロップにそれぞれシフトクロックを供給して前記スキャンチェーンをシフト動作させる、半導体集積回路。
【請求項９】
データ処理部とデータ記憶部とを備える電子計算機によって実行される、半導体集積回路の設計プログラムであって、前記データ処理部で実行されることによって、通常動作時に互いに非同期の複数のクロックドメインを含み、前記データ記憶部に格納される第１ネットリストと、前記第１ネットリストに対応するクロックソース情報とに基づいて、前記第１ネットリストに含まれる、前記非同期クロックドメイン間で信号を伝搬する、送信フリップフロップと受信フリップフロップと前記送信フリップフロップの出力から前記受信フリップフロップの入力に接続される組合せ回路とを、被テストパスとして抽出するステップと、前記データ処理部で実行されることによって、前記第１ネットリストに、テストクロック供給回路を挿入して第２ネットリストを生成するステップとを含み、
前記テストクロック供給回路は、前記組合せ回路の遷移故障テスト動作時に、ラウンチクロックパルスを前記送信フリップフロップに、キャプチャクロックパルスを前記受信フリップフロップに、それぞれ供給可能に構成され、前記ラウンチクロックパルスから前記キャプチャクロックパルスまでの遅延時間が設定可能に構成される、半導体集積回路の設計プログラム。
【請求項１０】
請求項９において、前記被テストパスとして抽出された前記組合せ回路における信号伝搬遅延を見積もるステップをさらに含む、半導体集積回路の設計プログラム。
【請求項１１】
請求項９において、前記第２ネットリストに対して、含まれるフリップフロップをスキャン対応フリップフロップに置換し、スキャン回路を挿入して第３ネットリストを生成するステップをさらに含む、半導体集積回路の設計プログラム。
【請求項１２】
請求項１１において、前記第３ネットリストを入力としてレイアウトを実行し、レイアウト後の寄生抵抗と寄生容量を含む第４ネットリストを生成するステップと、前記第４ネットリストに基づいて、前記被テストパスとして抽出された前記組合せ回路における信号伝搬遅延を算出するステップとをさらに含む、半導体集積回路の設計プログラム。
【請求項１３】
請求項９において、前記テストクロック供給回路は、テストパルスが入力され、前記テストパルスの立上りエッジと立下りエッジから、前記ラウンチクロックパルスと前記キャプチャクロックパルスを生成する、ダブルパルス生成回路と、前記ダブルパルス信号から前記ラウンチクロックパルスを抽出して前記送信フリップフロップに供給可能な、第１ラウンチクロック／キャプチャクロック選択回路と、前記ダブルパルス信号から前記キャプチャクロックパルスを抽出して前記受信フリップフロップに供給可能な、第２ラウンチクロック／キャプチャクロック選択回路と、前記テストパルスのパルス幅を調整可能なパルス幅調整回路とを含んで構成される、半導体集積回路の設計プログラム。
【請求項１４】
請求項１３において、前記第１ネットリストに基づくネットリストを入力としてレイアウトを実行し、レイアウト後の第４ネットリストを生成するステップと、前記第４ネットリストに基づいて、前記被テストパスとして抽出された前記組合せ回路における信号伝搬遅延を算出するステップと、前記第４ネットリストに基づいて、前記パルス幅調整回路によって調整可能なパルス幅の量を算出するステップと、をさらに含む、半導体集積回路の設計プログラム。
【請求項１５】
データ処理部とデータ記憶部とを備える電子計算機によって実行される、半導体集積回路の設計方法であって、前記データ処理部で実行されることによって、通常動作時に互いに非同期の複数のクロックドメインを含み、前記データ記憶部に格納される第１ネットリストと、前記第１ネットリストに対応するクロックソース情報とに基づいて、前記第１ネットリストに含まれる、前記非同期クロックドメイン間で信号を伝搬する、送信フリップフロップと受信フリップフロップと前記送信フリップフロップの出力から前記受信フリップフロップの入力に接続される組合せ回路とを、被テストパスとして抽出するステップと、前記データ処理部で実行されることによって、前記第１ネットリストに、テストクロック供給回路を挿入して第２ネットリストを生成するステップとを含み、
前記テストクロック供給回路は、前記組合せ回路の遷移故障テスト動作時に、ラウンチクロックパルスを前記送信フリップフロップに、キャプチャクロックパルスを前記受信フリップフロップに、それぞれ供給可能に構成され、前記ラウンチクロックパルスから前記キャプチャクロックパルスまでの遅延時間が設定可能に構成される、半導体集積回路の設計方法。
【請求項１６】
請求項１５において、前記被テストパスとして抽出された前記組合せ回路における信号伝搬遅延を見積もるステップをさらに含む、半導体集積回路の設計方法。
【請求項１７】
請求項１５において、前記第２ネットリストに対して、含まれるフリップフロップをスキャン対応フリップフロップに置換し、スキャン回路を挿入して第３ネットリストを生成するステップをさらに含む、半導体集積回路の設計方法。
【請求項１８】
請求項１７において、前記第３ネットリストを入力としてレイアウトを実行し、レイアウト後の寄生抵抗と寄生容量を含む第４ネットリストを生成するステップと、前記第４ネットリストに基づいて、前記被テストパスとして抽出された前記組合せ回路における信号伝搬遅延を算出するステップとをさらに含む、半導体集積回路の設計方法。
【請求項１９】
請求項１５において、前記テストクロック供給回路は、テストパルスが入力され、前記テストパルスの立上りエッジと立下りエッジから、前記ラウンチクロックパルスと前記キャプチャクロックパルスを生成する、ダブルパルス生成回路と、前記ダブルパルス信号から前記ラウンチクロックパルスを抽出して前記送信フリップフロップに供給可能な、第１ラウンチクロック／キャプチャクロック選択回路と、前記ダブルパルス信号から前記キャプチャクロックパルスを抽出して前記受信フリップフロップに供給可能な、第２ラウンチクロック／キャプチャクロック選択回路と、前記テストパルスのパルス幅を調整可能なパルス幅調整回路とを含んで構成される、半導体集積回路の設計方法。
【請求項２０】
請求項１９において、前記第１ネットリストに基づくネットリストを入力としてレイアウトを実行し、レイアウト後の第４ネットリストを生成するステップと、前記第４ネットリストに基づいて、前記被テストパスとして抽出された前記組合せ回路における信号伝搬遅延を算出するステップと、前記第４ネットリストに基づいて、前記パルス幅調整回路によって調整可能なパルス幅の量を算出するステップと、をさらに含む、半導体集積回路の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路、半導体集積回路の設計プログラム、及び、半導体集積回路の設計方法に関し、特に半導体集積回路に含まれる非同期転送回路のテストに好適に利用できるものである。
【背景技術】
【０００２】
ＬＳＩ（Large Scale Integrated circuit）などの半導体集積回路が良品か不良品かを選別するテストは、従来から行われてきた、縮退故障を対象としたテストに加えて、遷移故障を対象とするテストが併用される傾向が強まってきた。縮退故障を対象としたテストは、フリップフロップ間の組合せ回路が、期待される論理機能を有するか否かのテストであり、一般にはスキャンテスト技術によって実行される。遷移故障を対象とするテストは、フリップフロップ間の組合せ回路の遅延が、実際に使用される速度での動作に耐えるか否かのテストであり、一般にはこれもスキャンテスト技術によって実行される。
【０００３】
特許文献１には、遅延故障（遷移故障と同義）テストが可能な半導体集積回路において、テスト対象の回路に応じて、適正なパルス幅のテストクロックを供給するテスト回路が開示されている。
【０００４】
特許文献２には、内部回路情報が未公開の製造元提供回路と、顧客側で設計された回路の接続部分で、製造元提供回路内の組合せ回路の遅延量を測定するための試験回路が開示されている。
【０００５】
特許文献３と特許文献４には、非同期の複数のクロックドメインを有する半導体集積回路における遷移故障テストのためのテスト回路が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−３００７９９号公報
【特許文献２】特開２０１０−２１６９０３号公報
【特許文献３】特開２００３−２２２６５６号公報
【特許文献４】特開２００８−２７５４８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１、２、３及び４について本発明者が検討した結果、以下のような新たな課題があることがわかった。
【０００８】
テスト対象の半導体集積回路が同期回路と非同期転送回路を含んでいると、同期回路に対しては、縮退故障と遷移故障の両方を対象としたテストをそれぞれ実施し、非同期転送回路に対しては、縮退故障を対象としたテストのみが実行される場合が多い。
【０００９】
特許文献１では、相互に異なる周波数のクロックで動作する複数のフリップフロップの間の組合せ回路を対象とした遷移故障テストを前提としている（同文献の第００１２段落）。同一のクロックから生成された分周比の異なるクロックが混在するために、フリップフロップ間の組合せ回路に許容される遅延量が、元のクロックの周期を単位として、１サイクル、２サイクル、３サイクル、４サイクルなど、複数種類存在する。複数のクロックが同一クロックから生成されているため、非同期転送ではない一方で、異なる周波数のクロックに同期するフリップフロップ間であっても、満足すべき遅延量が規定されている。
【００１０】
特許文献２では、内部回路情報が未公開の製造元提供回路と顧客側で設計された回路とが、同期して動作することを前提としているが、テストのためにそれぞれ別のスキャンチェーンを形成するときに、その接続部分で遷移故障テストが困難になるという課題を解決する。
【００１１】
特許文献１と特許文献２に開示される技術は、いずれも同期クロックドメイン内の組合せ回路を対象とする遷移故障テストに関する技術であって、非同期のクロックドメイン間の組合せ回路を対象とする遷移故障テストについては、記載も示唆もされていない。
【００１２】
特許文献３と特許文献４に開示される技術は、非同期のクロックドメインを有する半導体集積回路における遷移故障テストのためのテスト回路に関する技術であるが、それぞれのクロックドメインごとに独立に遷移故障テストを行うものである。特許文献４の第００１０段落に記載されるように、非同期のクロックドメイン間のパス（信号伝搬経路）は、遅延故障テストを実施する必要がないとされている。
【００１３】
非同期転送回路は、非同期であるが故に、遅延などのタイミングに関しては、満足すべき仕様が規定されておらず、良品／不良品を選別するための判定基準がないからである。換言すれば、非同期転送回路は、非同期であるが故に、製造された半導体集積回路がどのようなタイミングで動作しても、所望の機能が実現されるように設計されるので、タイミングに基づいて良品／不良品を選別する必要がない。即ち、良品／不良品を選別する判定基準がない。よって、遅延故障テストを実施する必要がない、或いは、遅延故障テストを実施する意味がないのである。例えば、非同期転送回路の一例であるハンドシェイク回路では、送信側は受信側からの応答を待って次の信号の送信に進むなど、正常なデータ転送が方式的に保証されるので、信号伝搬経路の遅延が異常に大きくても、データ転送は正常に機能する。このように、非同期のクロックドメイン間の信号伝搬経路には、満足すべきタイミング仕様は規定されない。
【００１４】
しかしながら、本願の発明者らが検討した結果、非同期転送回路に対しても、遅延故障テストを実施することが有効であることが判明した。
【００１５】
非同期転送回路に含まれる、非同期のクロックドメイン間の信号伝搬経路には、上述のように、満足すべきタイミング仕様が規定されていない。しかし、非同期のクロックドメイン間の信号伝搬経路の遅延量が異常に大きくなった場合には、タイミング仕様が規定されておらず、如何なるタイミング仕様についても正常なデータ転送が方式的に保証されているとは言え、データ転送速度（スループット）など性能面での劣化として現れるおそれがある。さらには、信号伝搬経路の遅延量の異常な増加が、経年劣化などを惹き起こすのと同じ原因に起因する場合もあり、これを放置すると信頼性の低下を招く恐れもある。非同期のクロックドメイン間の信号伝搬経路を構成する、上述のようにタイミング仕様が規定されない回路も、実際に設計される回路では、有限の論理段数のゲートで構成される。実際に製造された回路が、設計された論理段数のゲートで発生しうる遅延値に対して、製造ばらつきで想定されるよりも著しく大きな遅延を持った場合には、機能的には正常に動作しているとしても、何らかの故障として扱った方が良い。著しく大きな遅延が、上述のような性能面での劣化や信頼性の低下につながる恐れがあるからである。
【００１６】
このような課題を解決するための手段を以下に説明するが、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１７】
一実施の形態によれば、下記の通りである。
【００１８】
すなわち、通常動作時に互いに非同期の複数のクロックドメインを含むＬＳＩのネットリストから、非同期クロックドメイン間で信号を伝搬する、送信フリップフロップと受信フリップフロップと前記送信フリップフロップの出力から前記受信フリップフロップの入力に接続される組合せ回路とを、被テストパスとして抽出する。被テストパスに遷移故障テストを実施するためのテストクロック供給回路を挿入する。テストクロック供給回路は、被テストパスの遷移故障テスト動作時に、ラウンチクロックパルスを前記送信フリップフロップに、キャプチャクロックパルスを前記受信フリップフロップに、それぞれ供給する。ラウンチクロックパルスからキャプチャクロックパルスまでの遅延時間は、設定可能に構成される。
【発明の効果】
【００１９】
前記一実施の形態によって得られる効果を簡単に説明すれば下記のとおりである。
【００２０】
すなわち、ラウンチクロックパルスからキャプチャクロックパルスまでの遅延時間を、その非同期転送回路における信号伝搬経路を構成する組合せ回路の遷移故障テストの判定基準に基づいて、設定することにより、非同期転送回路の遷移故障テストを実施することができる。
【図面の簡単な説明】
【００２１】
【図１】図１は、実施形態１に係る半導体集積回路（ＬＳＩ）の構成を示すブロック図である。
【図２】図２は、実施形態１に係る半導体集積回路（ＬＳＩ）の動作を示すタイミングチャートである。
【図３】図３は、実施形態１に係るテストクロック供給回路の詳細な構成例を示す回路図である。
【図４】図４は、図３のテストクロック供給回路の動作を示すタイミングチャートである。
【図５】図５は、パルス幅調整回路の別の構成例を示す回路図である。
【図６】図６は、ダブルパルス生成回路の別の構成例を示す回路図である。
【図７】図７は、実施形態２に係るテストクロック供給回路の動作を示すタイミングチャートである。
【図８】図８は、パルス幅調整回路のさらに別の構成例を示す回路図である。
【図９】図９は、ダブルパルス生成回路のさらに別の構成例を示す回路図である。
【図１０】図１０は、実施形態１〜３に係るテストクロック供給回路の構成を示すブロック図である。
【図１１】図１１は、テストクロック供給回路におけるラウンチ／キャプチャ選択機能（実施形態４）についての説明図である。
【図１２】図１２は、テストクロック供給回路を備える半導体集積回路（ＬＳＩ）に対してスキャンテスト回路を付加する場合（実施形態５）の構成例を表すブロック図である。
【図１３】図１３は、テストクロック供給回路を備える半導体集積回路（ＬＳＩ）に対してスキャンテスト回路を付加する場合（実施形態５）の別の構成例を示すブロック図である。
【図１４】図１４は、実施形態５に係るテストクロック供給回路を備える半導体集積回路（ＬＳＩ）の動作を示すタイミングチャートである。
【図１５】図１５は、実施形態１〜５に係るテストクロック供給回路を設計対象のＬＳＩに組み込む設計ツールの動作を示すフローチャートである。
【図１６】図１６は、設計対象のＬＳＩに組み込まれたテストクロック供給回路にテストパターンを与えるための設計ツールの動作を示すフローチャートである。
【図１７】図１７は、テストクロック供給回路を設計対象のＬＳＩに組み込む、図１５の設計ツールの動作（テストクロック供給回路を組み込む前のネットリスト）を説明する説明図である。
【図１８】図１８は、テストクロック供給回路を設計対象のＬＳＩに組み込む、図１５の設計ツールの動作（テストクロック供給回路の組み込み後のネットリスト）を説明する説明図である。
【図１９】図１９は、テストクロック供給回路を設計対象のＬＳＩに組み込む、図１５の設計ツールの動作（スキャン化後のネットリスト）を説明する説明図であり、ラウンチクロックパルスとキャプチャクロックパルスの遅延時間などの調整値の算出方法を説明する説明図（回路）である。
【図２０】図２０は、テストクロック供給回路を設計対象のＬＳＩに組み込む、図１５の設計ツールの動作における、ラウンチクロックパルスとキャプチャクロックパルスの遅延時間などの調整値の算出方法を説明する説明図（タイミングチャート）である。
【図２１】図２１は、テストクロック供給回路を設計対象のＬＳＩに組み込む、図１５の設計ツールの別の動作例を説明する説明図である。
【発明を実施するための形態】
【００２２】
１．実施の形態の概要
先ず、本願において開示される代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００２３】
〔１〕＜非同期転送回路の遷移故障テスト回路を備えたＬＳＩ＞
本願において開示される代表的な実施の形態に係る半導体集積回路（ＬＳＩ）（１０）は、以下のように構成される。
【００２４】
半導体集積回路（１０）は、通常動作時に第１クロック（ＣＬＫ１）に同期して動作する第１フリップフロップ（１＿１）と、前記第１クロックと非同期の第２クロック（ＣＬＫ２）に同期して動作する第２フリップフロップ（２＿１）と、前記第１フリップフロップの出力から前記第２フリップフロップの入力に接続される組合せ回路（４）と、テストクロック供給回路（６）とを備える。
【００２５】
前記テストクロック供給回路は、前記組合せ回路の遷移故障テスト動作時に、ラウンチクロックパルス（ＴＣＫＬ）を前記第１フリップフロップに、キャプチャクロックパルス（ＴＣＫＣ）を前記第２フリップフロップに、それぞれ供給可能に構成され、前記ラウンチクロックパルスから前記キャプチャクロックパルスまでの遅延時間は、設定可能に構成される。
【００２６】
これにより、通常動作時に非同期で動作する複数のクロックドメイン間の非同期転送回路を含む半導体集積回路において、非同期転送回路の遷移故障テストを実施することができる。ラウンチクロックパルス（ＴＣＫＬ）からキャプチャクロックパルス（ＴＣＫＣ）までの遅延時間を、その非同期転送回路における信号伝搬経路を構成する組合せ回路の遷移故障テストの判定基準に基づいて、任意に設定することができる。
【００２７】
〔２〕＜ダブルパルス生成回路＋ラウンチクロック／キャプチャクロック選択回路＞
項１において、前記テストクロック供給回路は、ダブルパルス生成回路（７）と、第１ラウンチクロック／キャプチャクロック選択回路（８１）と、第２ラウンチクロック／キャプチャクロック選択回路（８２）とを含んで構成される。
【００２８】
前記ダブルパルス生成回路は、テストパルス（ＴＰ）が入力され、前記テストパルスの立上りエッジと立下りエッジから、前記ラウンチクロックパルスと前記キャプチャクロックパルスを含むダブルパルス信号（ＴＤＰ）を生成する。
【００２９】
前記第１ラウンチクロック／キャプチャクロック選択回路は、前記ダブルパルス信号から前記ラウンチクロックパルスを抽出して前記第１フリップフロップに供給可能に構成される。
【００３０】
前記第２ラウンチクロック／キャプチャクロック選択回路は、前記ダブルパルス信号から前記キャプチャクロックパルスを抽出して前記第２フリップフロップに供給可能に構成される。
【００３１】
これにより、入力される単発のテストパルス（ＴＰ）から、ラウンチクロックパルス（ＴＣＫＬ）とキャプチャクロックパルス（ＴＣＬＣ）を生成することができる。テストパルスのパルス幅を第１フリップフロップから第２フリップフロップまでの非同期転送回路における信号伝搬経路の遅延時間として設定することができるので、テストパルスを入力するテスト装置は、ラウンチクロックパルスとキャプチャクロックパルスをそれぞれ入力するテスト装置よりも、低速のテスト装置でよい。
【００３２】
〔３〕＜ラウンチクロック／キャプチャクロック選択回路＞
項２において、前記第１ラウンチクロック／キャプチャクロック選択回路と前記第２ラウンチクロック／キャプチャクロック選択回路のうち、少なくとも一方は、前記ダブルパルス信号から前記ラウンチクロックパルスまたは前記キャプチャクロックパルスを選択して抽出可能に構成される。
【００３３】
これにより、前記第１フリップフロップが非同期転送回路における別の信号伝搬経路を構成する組合せ回路のキャプチャフリップフロップでもある場合、または、前記第２フリップフロップが非同期転送回路における別の信号伝搬経路を構成する組合せ回路のラウンチフリップフロップでもある場合の、一方または両方の場合にも、当該別の信号伝搬経路の遷移故障テストを実施することができる。
【００３４】
〔４〕＜入力パルスのパルス幅調整回路＞
項２または項３において、前記テストクロック供給回路は、入力される入力パルス（ＴＩＮ）のパルス幅を調整して前記テストパルスとして出力可能なパルス幅調整回路（９）をさらに備える。
【００３５】
これにより、遷移故障テストの遅延時間として設定された入力パルスのパルス幅を、テスト回路の内部で調整し、パルス幅の正確なテストパルス（ＴＰ）を生成することができる。
【００３６】
〔５〕＜パルス幅調整回路＞
項２または項３において、前記テストクロック供給回路は、入力されるテストクロック（ＴＣＫ）に基づいて、前記テストパルスのパルス幅を設定可能な、パルス幅調整回路（９）をさらに備える。
【００３７】
これにより、入力されるテストクロックに基づいて、相互の遅延時間が設定される、ラウンチクロックパルスとキャプチャクロックパルスを生成することができるので、テスト装置は、入力されるテストクロックの周期に基づいてテストパルス（ＴＰ）のパルス幅を設定することができる。項４では、テスト装置が、遷移故障テストの判定基準に基づいて正確にパルス幅が設定された入力パルスを供給し、さらにそのパルス幅が調整可能であるのに対して、項５では、テスト装置は設定のみでよい。さらに、パルス幅の微調整を可能に構成してもよい。
【００３８】
〔６〕＜ダブルパルス生成回路におけるパルス幅（ハイ幅）の調整＞
項２、項３または項４において、前記ダブルパルス生成回路は、前記ラウンチクロックパルスと前記キャプチャクロックパルスのパルス幅を調整可能に構成される。
【００３９】
これにより、ラウンチクロックパルス（ＴＣＫＬ）とキャプチャクロックパルス（ＴＣＫＣ）を適切なパルス幅に調整することができる。
【００４０】
〔７〕＜スキャンテスト回路＞
項１において、前記第１フリップフロップを含む第１スキャンチェーンと前記第２フリップフロップを含む第２スキャンチェーンとスキャンテスト回路をさらに備える。
【００４１】
前記スキャンテスト回路は、スキャンテスト動作時に、前記第１フリップフロップに第１シフトクロック（ＴＳＣＫ１）を供給し、前記第１スキャンチェーンをシフト動作させ、前記第２フリップフロップに第２シフトクロック（ＴＳＣＫ２）を供給し、前記第２スキャンチェーンをシフト動作させる。
【００４２】
これにより、スキャンテスト動作時には、それぞれのクロックドメインにおいて、縮退故障テストを実行することができ、さらに、スキャンテスト動作を利用して、非同期転送回路における信号伝搬経路を構成する組合せ回路の遷移故障テストのためのテストパターンの入力とテスト結果の出力をおこなうことができる。即ち、ラウンチフリップフロップ（ＴＣ）である第１フリップフロップ（１＿１）に第１スキャンチェーンを介して供給し、遷移故障テストの結果をキャプチャフリップフロップ（ＲＣ）である第２フリップフロップ（２＿１）から第２スキャンチェーンを介して出力することができる。
【００４３】
〔８〕＜ラウンチフリップフロップとキャプチャフリップフロップを含むスキャンチェーン＞
項１において、前記第１フリップフロップと前記第２フリップフロップとを含むスキャンチェーンとスキャンテスト回路をさらに備え、
前記スキャンテスト回路は、スキャンテスト動作時に、前記第１フリップフロップと前記第２フリップフロップにそれぞれシフトクロックを供給し、前記スキャンチェーンをシフト動作させる。
【００４４】
これにより、スキャンテスト動作時には、非同期のクロックドメインを一括して、縮退故障テストを実行することができる。さらに、スキャンテスト動作を利用して、非同期転送回路における信号伝搬経路を構成する組合せ回路の遷移故障テストのためのテストパターンの入力とテスト結果の出力をおこなうことができる。即ち、遷移故障テストのためのテストパターンを、スキャンチェーンを介してラウンチフリップフロップ（ＴＣ）である第１フリップフロップ（１＿１）に供給し、遷移故障テストの結果をキャプチャフリップフロップ（ＲＣ）である第２フリップフロップ（２＿１）から、同じスキャンチェーンを介して出力することができる。非同期のクロックドメイン間の非同期転送経路における組合せ回路に対する縮退故障テストを、より容易に実行することができる。
【００４５】
〔９〕＜非同期転送回路の遷移故障テスト回路を挿入する設計プログラム＞
本願において開示される代表的な実施の形態に係る半導体集積回路（１０）の設計プログラム（２０）は、データ処理部（２１、２３、２４）とデータ記憶部（２２）とを備える電子計算機によって実行されることができ、以下のように構成される。
【００４６】
設計プログラム（２０）は、通常動作時に互いに非同期の複数のクロックドメインを含む第１ネットリスト（netlist-1）から被テストパスを抽出するステップ（Ｓ１）と、前記第１ネットリストに、テストクロック供給回路（６）を挿入して第２ネットリストを生成するステップ（Ｓ２〜Ｓ４）とを含んで構成される。
【００４７】
被テストパスを抽出するステップ（Ｓ１）は、前記データ記憶部に格納される、第１ネットリスト（netlist-1）と前記第１ネットリストに対応するクロックソース情報とに基づいて、前記第１ネットリストに含まれ、前記非同期クロックドメイン間で信号を伝搬する、送信フリップフロップ（ＴＣ）と受信フリップフロップ（ＲＣ）とを抽出する。さらに、前記送信フリップフロップの出力から前記受信フリップフロップの入力に接続される組合せ回路（４）とを含めて、被テストパスとして抽出する。
【００４８】
前記テストクロック供給回路は、前記組合せ回路の遷移故障テスト動作時に、ラウンチクロックパルス（ＴＣＫＬ）を前記送信フリップフロップに、キャプチャクロックパルス（ＴＣＫＣ）を前記受信フリップフロップに、それぞれ供給可能に構成され、前記ラウンチクロックパルスから前記キャプチャクロックパルスまでの遅延時間が設定可能に構成される。
【００４９】
これにより、通常動作時に非同期で動作する複数のクロックドメイン間の非同期転送回路を含む半導体集積回路において、非同期転送回路の遷移故障テストの実施を可能とする、遷移故障テスト回路を当該半導体集積回路に挿入することができる。ラウンチクロックパルス（ＴＣＫＬ）からキャプチャクロックパルス（ＴＣＫＣ）までの遅延時間を、その非同期転送回路における信号伝搬経路を構成する組合せ回路の遷移故障テストの判定基準に基づいて、任意に設定することができる。
【００５０】
〔１０〕＜遷移故障テストの判定基準の算出＞
項９において、設計プログラム（２０）は、前記被テストパスとして抽出された前記組合せ回路における信号伝搬遅延を見積もるステップ（Ｓ８）をさらに含む。
【００５１】
これにより、見積もられた被テストパスの信号伝搬遅延に基づいて、前記テストクロック供給回路に設定すべき、前記ラウンチクロックパルスから前記キャプチャクロックパルスまでの遅延時間を算出することができる。
【００５２】
〔１１〕＜ネットリストへのスキャン回路の挿入＞
項９において、設計プログラム（２０）は、前記第２ネットリストに対して、含まれるフリップフロップをスキャン対応フリップフロップ（１１）に置換し、スキャン回路を挿入して第３ネットリスト（netlist-2）を生成するステップ（Ｓ５）をさらに含む。
【００５３】
これにより、テスト対象の半導体集積回路に対して、通常のスキャンテスト技術を使った縮退故障テストと、各クロックドメイン内の遷移故障テストを実施可能とすることができ、さらに、非同期転送回路に対する遷移故障テストにおいて、同じスキャンパスを使った、テストパターンの入力（スキャンイン）とテスト結果の出力（スキャンアウト）を可能とすることができる。
【００５４】
〔１２〕＜レイアウト情報の利用＞
項１１において、設計プログラム（２０）は、前記第３ネットリストを入力としてレイアウトを実行し、レイアウト後の寄生抵抗と寄生容量を含む第４ネットリスト（netlist-3）を生成するステップ（Ｓ６）と、前記第４ネットリストに基づいて、前記被テストパスとして抽出された前記組合せ回路における信号伝搬遅延を算出するステップ（Ｓ７）とをさらに含む。
【００５５】
これにより、レイアウト情報を利用してより正確に見積もられた被テストパスの信号伝搬遅延に基づいて、前記テストクロック供給回路に設定すべき、前記ラウンチクロックパルスから前記キャプチャクロックパルスまでの遅延時間を算出することができる。
【００５６】
〔１３〕＜ダブルパルス生成回路＋パルス幅調整回路＞
項９において、前記テストクロック供給回路は、ダブルパルス生成回路（７）と、第１ラウンチクロック／キャプチャクロック選択回路（８１）と、第２ラウンチクロック／キャプチャクロック選択回路（８２）と、パルス幅調整回路（９）とを含んで構成される。
【００５７】
前記ダブルパルス生成回路は、テストパルス（ＴＰ）が入力され、前記テストパルスの立上りエッジと立下りエッジから、前記ラウンチクロックパルスと前記キャプチャクロックパルスを生成する。前記第１ラウンチクロック／キャプチャクロック選択回路は、前記ダブルパルス信号から前記ラウンチクロックパルスを抽出して前記送信フリップフロップに供給可能に構成される。前記第２ラウンチクロック／キャプチャクロック選択回路は、前記ダブルパルス信号から前記キャプチャクロックパルスを抽出して前記受信フリップフロップに供給可能に構成される。前記パルス幅調整回路は、前記テストパルスのパルス幅を調整可能に構成される。
【００５８】
これにより、入力される単発のテストパルス（ＴＰ）から、ラウンチクロックパルス（ＴＣＫＬ）とキャプチャクロックパルス（ＴＣＫＣ）を生成することができ、それらの間の遅延時間を、入力される単発のテストパルスのパルス幅を元に、テスト回路の内部で調整して設定することができる。そのため、単発のテストパルスを入力するテスト装置は、ラウンチクロックパルスとキャプチャクロックパルスを入力するテスト装置よりも、低速のテスト装置でよく、またそのパルス幅の精度も必ずしも高くなくてよい。
【００５９】
〔１４〕＜パルス幅調整回路でのレイアウト情報の利用＞
項１３において、設計プログラム（２０）は、前記第１ネットリストに基づくネットリストを入力としてレイアウトを実行し、レイアウト後の第４ネットリスト（netlist-3）を生成するステップ（Ｓ６）をさらに含む。また、前記第４ネットリストに基づいて、前記被テストパスとして抽出された前記組合せ回路における信号伝搬遅延を算出するステップ（Ｓ８）と、前記第４ネットリストに基づいて、前記パルス幅調整回路によって調整可能なパルス幅の量を算出するステップ（Ｓ１０）とをさらに含む。
【００６０】
これにより、レイアウト情報を利用してより正確に算出された被テストパスの信号伝搬遅延に基づいて、前記テストクロック供給回路に設定すべき、前記ラウンチクロックパルスから前記キャプチャクロックパルスまでの遅延時間を算出することができ、さらに、前記パルス幅調整回路によってより正確にテストパルスのパルス幅を調整することができる。
【００６１】
〔１５〕＜非同期転送回路の遷移故障テスト回路を挿入する設計方法＞
本願において開示される代表的な実施の形態に係る半導体集積回路（１０）の設計方法（２０）は、データ処理部（２１、２３、２４）とデータ記憶部（２２）とを備える電子計算機によって実行されることができ、以下のように構成される。
【００６２】
設計方法（２０）は、通常動作時に互いに非同期の複数のクロックドメインを含む第１ネットリスト（netlist-1）から被テストパスを抽出するステップ（Ｓ１）と、前記第１ネットリストに、テストクロック供給回路（６）を挿入して第２ネットリストを生成するステップ（Ｓ２〜Ｓ４）とを含んで構成される。
【００６３】
被テストパスを抽出するステップ（Ｓ１）は、前記データ記憶部に格納される、第１ネットリスト（netlist-1）と前記第１ネットリストに対応するクロックソース情報とに基づいて、前記第１ネットリストに含まれ、前記非同期クロックドメイン間で信号を伝搬する、送信フリップフロップ（ＴＣ）と受信フリップフロップ（ＲＣ）とを抽出する。さらに、前記送信フリップフロップの出力から前記受信フリップフロップの入力に接続される組合せ回路（４）とを含めて、被テストパスとして抽出する。
【００６４】
前記テストクロック供給回路は、前記組合せ回路の遷移故障テスト動作時に、ラウンチクロックパルス（ＴＣＫＬ）を前記送信フリップフロップに、キャプチャクロックパルス（ＴＣＫＣ）を前記受信フリップフロップに、それぞれ供給可能に構成され、前記ラウンチクロックパルスから前記キャプチャクロックパルスまでの遅延時間が設定可能に構成される。
【００６５】
これにより、通常動作時に非同期で動作する複数のクロックドメイン間の非同期転送回路を含む半導体集積回路において、非同期転送回路の遷移故障テストの実施を可能とする、遷移故障テスト回路を当該半導体集積回路に挿入することができる。ラウンチクロックパルス（ＴＣＫＬ）からキャプチャクロックパルス（ＴＣＫＣ）までの遅延時間を、その非同期転送回路における信号伝搬経路を構成する組合せ回路の遷移故障テストの判定基準に基づいて、任意に設定することができる。
【００６６】
〔１６〕＜遷移故障テストの判定基準の算出＞
項１５において、設計方法（２０）は、前記被テストパスとして抽出された前記組合せ回路における信号伝搬遅延を見積もるステップ（Ｓ８）をさらに含む。
【００６７】
これにより、見積もられた被テストパスの信号伝搬遅延に基づいて、前記テストクロック供給回路に設定すべき、前記ラウンチクロックパルスから前記キャプチャクロックパルスまでの遅延時間を算出することができる。
【００６８】
〔１７〕＜ネットリストへのスキャン回路の挿入＞
項１５において設計方法（２０）は、前記第２ネットリストに対して、含まれるフリップフロップをスキャン対応フリップフロップ（１１）に置換し、スキャン回路を挿入して第３ネットリスト（netlist-2）を生成するステップ（Ｓ５）をさらに含む。
【００６９】
これにより、テスト対象の半導体集積回路に対して、通常のスキャンテスト技術を使った縮退故障テストと、各クロックドメイン内の遷移故障テストを実施可能とすることができ、さらに、非同期転送回路に対する遷移故障テストにおいて、同じスキャンパスを使った、テストパターンの入力（スキャンイン）とテスト結果の出力（スキャンアウト）を可能とすることができる。
【００７０】
〔１８〕＜レイアウト情報の利用＞
項１７において、設計方法（２０）は、前記第３ネットリストを入力としてレイアウトを実行し、レイアウト後の寄生抵抗と寄生容量を含む第４ネットリスト（netlist-3）を生成するステップ（Ｓ６）と、前記第４ネットリストに基づいて、前記被テストパスとして抽出された前記組合せ回路における信号伝搬遅延を算出するステップ（Ｓ７）とをさらに含む。
【００７１】
これにより、レイアウト情報を利用してより正確に見積もられた被テストパスの信号伝搬遅延に基づいて、前記テストクロック供給回路に設定すべき、前記ラウンチクロックパルスから前記キャプチャクロックパルスまでの遅延時間を算出することができる。
【００７２】
〔１９〕＜ダブルパルス生成回路＋パルス幅調整回路＞
項１５において、前記テストクロック供給回路は、ダブルパルス生成回路（７）と、第１ラウンチクロック／キャプチャクロック選択回路（８１）と、第２ラウンチクロック／キャプチャクロック選択回路（８２）と、パルス幅調整回路（９）とを含んで構成される。
【００７３】
前記ダブルパルス生成回路は、テストパルス（ＴＰ）が入力され、前記テストパルスの立上りエッジと立下りエッジから、前記ラウンチクロックパルスと前記キャプチャクロックパルスを生成する。前記第１ラウンチクロック／キャプチャクロック選択回路は、前記ダブルパルス信号から前記ラウンチクロックパルスを抽出して前記送信フリップフロップに供給可能に構成される。前記第２ラウンチクロック／キャプチャクロック選択回路は、前記ダブルパルス信号から前記キャプチャクロックパルスを抽出して前記受信フリップフロップに供給可能に構成される。前記パルス幅調整回路は、前記テストパルスのパルス幅を調整可能に構成される。
【００７４】
これにより、入力される単発のテストパルス（ＴＰ）から、ラウンチクロックパルス（ＴＣＫＬ）とキャプチャクロックパルス（ＴＣＫＣ）を生成することができ、それらの間の遅延時間を、入力される単発のテストパルスのパルス幅を元に、テスト回路の内部で調整して設定することができる。そのため、単発のテストパルスを入力するテスト装置は、ラウンチクロックパルスとキャプチャクロックパルスを入力するテスト装置よりも、低速のテスト装置でよく、またそのパルス幅の精度も必ずしも高くなくてよい。
【００７５】
〔２０〕＜パルス幅調整回路でのレイアウト情報の利用＞
項１９において、設計方法（２０）は、前記第１ネットリストに基づくネットリストを入力としてレイアウトを実行し、レイアウト後の第４ネットリスト（netlist-3）を生成するステップ（Ｓ６）をさらに含む。また、前記第４ネットリストに基づいて、前記被テストパスとして抽出された前記組合せ回路における信号伝搬遅延を算出するステップ（Ｓ８）と、前記第４ネットリストに基づいて、前記パルス幅調整回路によって調整可能なパルス幅の量を算出するステップ（Ｓ１０）とをさらに含む。
【００７６】
これにより、レイアウト情報を利用してより正確に算出された被テストパスの信号伝搬遅延に基づいて、前記テストクロック供給回路に設定すべき、前記ラウンチクロックパルスから前記キャプチャクロックパルスまでの遅延時間を算出することができ、さらに、前記パルス幅調整回路によってより正確にテストパルスのパルス幅を調整することができる。
【００７７】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００７８】
〔実施形態１〕＜非同期転送回路の遷移故障テスト＞
図１は、実施形態１に係る半導体集積回路（ＬＳＩ）１０の構成を示すブロック図である。
【００７９】
ＬＳＩ１０は、通常動作時にユーザクロック１（ＣＬＫ１）に同期して動作するクロックドメインと、ユーザクロック１（ＣＬＫ１）と非同期のユーザクロック２（ＣＬＫ２）に同期して動作するクロックドメインとを含む。ユーザクロック１（ＣＬＫ１）に同期して動作するクロックドメインにはフリップフロップ１＿１とフリップフロップ１＿２が含まれ、ユーザクロック２（ＣＬＫ２）に同期して動作するクロックドメインにはフリップフロップ２＿１とフリップフロップ２＿２が含まれるとして説明する。ユーザクロック１（ＣＬＫ１）とユーザクロック２（ＣＬＫ２）は非同期であるので、この間にデータ転送があれば、非同期転送である。今、フリップフロップ１＿１とフリップフロップ２＿１の間に非同期のデータ転送があるとすると、その間の組合せ回路４は、本実施の形態のテスト対象論理回路となる。フリップフロップ１＿１は、非同期転送パスの始点であり、ラウンチフリップフロップまたは送信フリップフロップ（ＴＣ）と呼ばれ、フリップフロップ２＿１は非同期転送パスの終点であり、キャプチャフリップフロップまたは受信フリップフロップ（ＲＣ）と呼ばれる。フリップフロップ１＿１とフリップフロップ１＿２へのクロック供給経路には、テストクロック供給回路６とを備える。
【００８０】
テストクロック供給回路６は、テスト対象論理回路である組合せ回路４の遷移故障テスト動作時に、ラウンチクロックパルスＴＣＫＬをフリップフロップ１＿１に、キャプチャクロックパルスＴＣＫＣをフリップフロップ１＿２に、それぞれ供給することができるように構成されている。テストクロック供給回路６は、ラウンチクロックパルスＴＣＫＬからキャプチャクロックパルスＴＣＫＣまでの遅延時間を、任意に設定することができるように構成される。
【００８１】
テストクロック供給回路６は、特に制限されないが、ラウンチクロックパルスとキャプチャクロックパルスの生成回路７と、ラウンチクロック抽出／ユーザクロック切替え回路８１、キャプチャクロック抽出／ユーザクロック切替え回路８２とを含んで構成される。ラウンチクロック抽出／ユーザクロック切替え回路８１は、通常動作時にはフリップフロップ１＿１にユーザクロック１を供給し、遷移故障テスト動作時には、生成回路７で発生されたクロックパルスからラウンチクロックパルスＴＣＫＬを抽出してフリップフロップ１＿１に供給する。キャプチャクロック抽出／ユーザクロック切替え回路８２は、通常動作時にはフリップフロップ１＿２にユーザクロック２を供給し、遷移故障テスト動作時には、生成回路７で発生されたクロックパルスからキャプチャクロックパルスＴＣＫＬを抽出してフリップフロップ１＿２に供給する。生成回路７は、ラウンチクロックパルスＴＣＫＬとキャプチャクロックパルスＴＣＫＣの遅延時間を設定可能に構成される。
【００８２】
これにより、通常動作時に非同期で動作する複数のクロックドメイン間の非同期転送回路を含む半導体集積回路（ＬＳＩ）１０において、非同期転送回路の遷移故障テストを実施することができる。ラウンチクロックパルスＴＣＫＬからキャプチャクロックパルスＴＣＫＣまでの遅延時間を、その非同期転送回路における信号伝搬経路を構成する組合せ回路の遷移故障テストの判定基準に基づいて、任意に設定することができる。
【００８３】
同一のクロックドメイン内の組合せ回路４は、通常の縮退故障テストの対象であり、さらに、遷移故障テストの対象とされてもよい。同一のクロックドメイン内の遷移故障テストは、それぞれのクロックの通常動作時の動作周波数に基づいて、良品／不良品の判定基準が決められる。一方、フリップフロップ１＿１からフリップフロップ２＿１に至る非同期の信号伝搬経路には、一般には良品／不良品の判定基準はない。ユーザクロック１（ＣＬＫ１）とユーザクロック２（ＣＬＫ２）は非同期であるから、相互のクロックの位相関係が逐次変動するので、信号伝搬遅延を規定する意味がないからである。
【００８４】
しかし、本実施形態では、フリップフロップ１＿１からフリップフロップ２＿１に至る非同期の信号伝搬経路に満足すべき信号伝搬遅延の仕様を規定し、それを判定基準として良品／不良品の判定を行う、遷移故障テストを実施することができる。方式的に、非同期の信号伝搬経路に満足すべき遅延の仕様を規定することができれば、ラウンチクロックパルスＴＣＫＬからキャプチャクロックパルスＴＣＫＣまでの遅延時間を、それに合わせて設定して、遷移故障テストを実施することができる。また、方式的に、非同期の信号伝搬経路に満足すべき遅延の仕様を規定することができなくても、フリップフロップ１＿１からフリップフロップ２＿１に至る非同期の信号伝搬経路は、ゲート回路設計が終わった段階以降は、有限の段数の論理ゲートを含んで構成されている。このため、実際に設計されて存在している回路に対して、製造ばらつきを考慮して許容されるべき遅延の仕様を規定し、ラウンチクロックパルスＴＣＫＬからキャプチャクロックパルスＴＣＫＣまでの遅延時間をそれに合わせて設定して、遷移故障テストを実施することができる。製造ばらつきから想定される範囲を逸脱した製品を、不良品として選別することができる。
【００８５】
図２は、実施形態１に係る半導体集積回路（ＬＳＩ）の動作を示すタイミングチャートである。横軸は時間である。（ａ）には、通常動作時にフリップフロップ１＿１とフリップフロップ２＿１にそれぞれ供給されるユーザクロック１（ＣＬＫ１）とユーザクロック２（ＣＬＫ２）が示される。（ｂ）には、非同期転送パスの遷移故障テストの際に、非同期転送パスの始点でラウンチフリップフロップ（ＴＣ）であるフリップフロップ１＿１に供給されるラウンチクロックパルスＴＣＫＬと、終点でありキャプチャフリップフロップ（ＲＣ）であるフリップフロップ２＿１に供給されるキャプチャクロックパルスが示される。ラウンチクロックパルスＴＣＫＬは時刻ｔ１〜ｔ２がハイ期間であり、キャプチャクロックパルスＴＣＫＣは時刻ｔ３〜ｔ４がハイ期間である。時刻ｔ１から時刻ｔ３までの遅延時間は、ラウンチクロックパルスＴＣＫＬからキャプチャクロックパルスＴＣＫＣまでの遅延時間であり、任意に設定できるように構成されている。
【００８６】
＜ダブルパルス生成回路＋ラウンチクロック／キャプチャクロック選択回路＞
図３は、実施形態１に係るテストクロック供給回路６の詳細な構成例を示す回路図である。
【００８７】
テストクロック供給回路６は、特に制限されないが、例えば、ダブルパルス生成回路７＿１と、第１ラウンチクロック／キャプチャクロック選択回路８＿１と、第２ラウンチクロック／キャプチャクロック選択回路８＿２とを含んで構成される。
【００８８】
テストクロック供給回路６は、非同期転送パスの始点でラウンチフリップフロップ（ＴＣ）であるフリップフロップ１＿１からキャプチャフリップフロップ（ＲＣ）であるフリップフロップ２＿１までの非同期転送回路４を遷移故障のテスト対象とするためのテストクロック供給回路である。遷移故障テスト時に、ラウンチフリップフロップ（ＴＣ）であるフリップフロップ１＿１にラウンチクロックパルスＴＣＫＬを入力し、キャプチャフリップフロップ（ＲＣ）であるフリップフロップ２＿１にキャプチャクロックパルスＴＣＫＣを入力する。さらに、パルス幅調整回路９＿１を含んで構成されてもよい。
【００８９】
テストクロック供給回路６には、クロック供給源であるＰＬＬ１（１８＿１）とＰＬＬ２（１８＿２）から通常動作時のユーザクロック１とユーザクロック２が供給される。ＰＬＬ１（１８＿１）とＰＬＬ２（１８＿２）は、位相同期ループ回路（ＰＬＬ：Phase Locked Loop）を用いて構成されても良く、他の如何なる方法でクロックを発生する回路であっても、また、ＬＳＩ１０の外部から供給されるクロックであってもよい。
【００９０】
第１ラウンチクロック／キャプチャクロック選択回路８＿１の出力ノードＩから出力されるクロックは、通常動作時にはユーザクロック１（ＣＬＫ１）に同期するフリップフロップであり、遷移故障テスト時には非同期転送パスの始点でラウンチフリップフロップ（ＴＣ）であるフリップフロップ１＿１に供給される。第２ラウンチクロック／キャプチャクロック選択回路８＿２の出力ノードＫから出力されるクロックは、通常動作時にはユーザクロック２（ＣＬＫ２）に同期するフリップフロップであり、遷移故障テスト時には非同期転送パスの終点でキャプチャフリップフロップ（ＲＣ）であるフリップフロップ２＿１に供給される。
【００９１】
ダブルパルス生成回路７＿１には、テストパルスＴＰが入力され、テストパルスＴＰの立上りエッジと立下りエッジから、ラウンチクロックパルスＴＣＫＬとキャプチャクロックパルスＴＣＫＣとを含むダブルパルス信号ＴＤＰを生成する。ダブルパルス生成回路７＿１は、例えば遅延バッファ１３＿５と排他的論理和ゲート１２＿２とを使って構成される。入力されるテストパルスＴＰの立上りエッジと立下りエッジのそれぞれから遅延バッファ１３＿５による遅延時間に相当する期間のハイ期間を持つ、２つのパルスがダブルパルス信号ＴＤＰとして出力される。生成される２つのパルスは、ラウンチクロックパルスＴＣＫＬとキャプチャクロックパルスＴＣＫＣである。テストパルスＴＰのパルス幅によって、ラウンチクロックパルスＴＣＫＬからキャプチャクロックパルスＴＣＫＣまでの遅延時間が、任意に設定できるように構成されている。
【００９２】
第１ラウンチクロック／キャプチャクロック選択回路８＿１は、通常動作時にはフリップフロップ１＿１にユーザクロック１（ＣＬＫ１）を供給する。遷移故障テスト時には、ダブルパルス信号ＴＤＰからラウンチクロックパルスＴＣＫＬを抽出して、非同期転送パスの始点でラウンチフリップフロップ（ＴＣ）である、フリップフロップ１＿１に供給する。第２ラウンチクロック／キャプチャクロック選択回路８＿２は、通常動作時にはフリップフロップ１＿２にユーザクロック２（ＣＬＫ２）を供給する。遷移故障テスト時にはダブルパルス信号ＴＤＰからキャプチャクロックパルスＴＣＫＣを抽出して、非同期転送パスの終点でありキャプチャフリップフロップ（ＲＣ）であるフリップフロップ２＿１に供給する。ラウンチクロック／キャプチャクロック選択回路８＿１と８＿２は、通常動作時と遷移故障テスト時にそれぞれ適切なクロックパルスを供給することができるように、切替え可能に構成されている。
【００９３】
図３には、同じ論理回路を用い、キャプチャ選択１とキャプチャ選択２の制御信号によって、それぞれ、ラウンチクロックパルスＴＣＫＬを抽出するか、キャプチャクロックパルスＴＣＫＣを抽出するかを指定可能な、ラウンチクロック／キャプチャクロック選択回路８＿１と８＿２が示されている。セレクタ１４＿２と１４＿４は、入力されるテストイネーブル信号によって、通常動作時にはユーザクロック１（ＣＬＫ１）とユーザクロック２（ＣＬＫ２）を通過させ、遷移故障テスト時にはダブルパルス信号ＴＤＰを通過させる。テストイネーブル信号は、スキャンイネーブル信号と兼用するように構成しても良い。スキャンイネーブル信号Ｆを逆相フリップフロップ１６＿１と１６＿２で取り込んで遅延させ、論理ゲート１２＿３と１２＿４、１２＿６と１２＿７及びセレクタ１４＿３と１４＿５を使って、ラウンチクロックパルスＴＣＫＬまたはキャプチャクロックパルスＴＣＫＣを、ダブルパルス信号ＴＤＰから抽出するためのマスク信号ＨとＪを生成する。ラウンチクロックパルスＴＣＫＬとキャプチャクロックパルスＴＣＫＣのうちどちらをマスクしどちらを抽出するかは、キャプチャ選択信号１と２によってそれぞれ指定される。ラウンチクロック／キャプチャクロック選択回路８＿１は、キャプチャ選択信号１によりラウンチクロックパルスＴＣＫＬが指定されたときは、ＡＮＤゲート１２＿５でダブルパルス信号ＴＤＰの一方をマスクすることにより、遷移故障テスト時にラウンチクロックパルスＴＣＫＬをノードＩに出力する。ラウンチクロック／キャプチャクロック選択回路８＿２で、キャプチャ選択信号２によりキャプチャクロックパルスＴＣＫＣが指定されたときは、ＡＮＤゲート１２＿８でダブルパルス信号ＴＤＰの一方をマスクすることにより、遷移故障テスト時にキャプチャクロックパルスＴＣＫＣをノードＫに出力する。
【００９４】
以上説明したように、遷移故障テスト時に、非同期転送パスの始点でラウンチフリップフロップ（ＴＣ）であるフリップフロップ１＿１にラウンチクロックパルスＴＣＫＬが入力され、キャプチャフリップフロップ（ＲＣ）であるフリップフロップ２＿１にキャプチャクロックパルスＴＣＫＣが入力される。一方、図３に示したような構成のテストクロック供給回路６を用いるまでもなく、外部から供給されるラウンチクロックパルスＴＣＫＬとキャプチャクロックパルスＴＣＫＣと、ユーザクロック１と２（ＣＬＫ１とＣＬＫ２）との切り替えを、セレクタを使って行ってもよい。その場合、入力されるラウンチクロックパルスＴＣＫＬとキャプチャクロックパルスＴＣＬＣは、その遅延時間がテスト装置により正確に管理され、ノイズなどの影響が排除された状態で、フリップフロップ１＿１とフリップフロップ２＿１に供給される必要がある。これに対し、図３に示した例では、ダブルパルス生成回路７＿１により、１本の信号線で入力された単発のテストパルスＴＰから、ラウンチクロックパルスＴＣＫＬとキャプチャクロックパルスＴＣＬＣを生成することができる。テストパルスＴＰのパルス幅を、非同期転送パスの始点でラウンチフリップフロップ（ＴＣ）であるフリップフロップ１＿１からキャプチャフリップフロップ（ＲＣ）であるフリップフロップ２＿１までの非同期転送回路における信号伝搬経路の遅延時間として設定することができる。そのため、テストパルスＴＰを入力するテスト装置は、ラウンチクロックパルスＴＣＫＬとキャプチャクロックパルスＴＣＫＣをそれぞれ入力するテスト装置よりも、低速のテスト装置でよい。
【００９５】
＜パルス幅調整回路（ディレイ素子による調整）＞
図３に示すように、テストクロック供給回路６は、入力される入力パルスＴＩＮのパルス幅を調整してテストパルスＴＰとして出力可能なパルス幅調整回路９＿１をさらに備えていてもよい。これにより、遷移故障テストの遅延時間として設定された入力パルスのパルス幅を、テストクロック供給回路６の内部で調整し、パルス幅の正確なテストパルスを生成することができる。図３に示した、パルス幅調整回路９＿１の詳細な論理回路の設計例とその動作について説明する。
【００９６】
パルス幅調整回路９＿１は、入力される入力パルスＴＩＮを遅延させる複数の遅延バッファ１３＿１〜１３＿４の各タップから、セレクタ１４＿１によって選択された１つ遅延信号が、元の入力パルスＴＩＮとともに、ＯＲゲート１２＿１に入力される。入力パルスＴＩＮは、選択されたいくつかの遅延バッファ１３＿１〜１３＿４による遅延時間分だけ、ハイ幅が長くなるように加工される。これにより、テストパルスＴＰの幅をＬＳＩ１０の内部で調整することができる。
【００９７】
図４は、図３のテストクロック供給回路の動作を示すタイミングチャートである。横軸に時間をとり、縦軸には、パルス幅調整回路９＿１、ダブルパルス生成回路７＿１、及び、ラウンチクロック／キャプチャクロック選択回路８＿１〜８＿２における、ノードＡからＫの波形が示される。
【００９８】
ノードＡに入力される入力パルスＴＩＮは、時刻ｔ２〜ｔ５の幅を持つ。パルス幅調整回路９＿１では、設定されるテストタイミング設定に従って、ＴＩＮから遅延された信号がノードＢに生成される。時刻ｔ２〜ｔ３の遅延と時刻ｔ５〜ｔ６の遅延が、テストタイミング設定によって設定された遅延量である。ＯＲゲート１２＿１で論理和を取ることにより、その遅延量だけＴＩＮのパルス幅を長く加工された、テストパルスＴＰがノードＣに出力される。その結果、テストパルスＴＰは時刻ｔ２〜ｔ６までのパルス幅を持つ。ダブルパル生成回路７＿１は、ノードＣから入力されるテストパルスＴＰと遅延バッファ１３＿５でこれを遅延させたノードＤの信号の排他的論理和をゲート１２＿２でとり、ノードＥにダブルパルス信号ＴＤＰとして出力する。ノードＥのダブルパルス信号ＴＤＰは、時刻ｔ２〜ｔ４のラウンチクロックパルスＴＣＫＬと、時刻ｔ６〜ｔ７のキャプチャクロックパルスＴＣＫＣとを含む。ラウンチクロック／キャプチャクロック選択回路８＿１〜８＿２に入力されるスキャンイネーブル信号がノードＦの波形として示される。スキャンテストのための制御信号である、スキャンイネーブル信号はノードＦに示す通り、時刻ｔ１でロウに変化し、テストイネーブル信号は、その波形を図示しないが、セレクタ１４＿２と１４＿４にダブルパルス信号ＴＤＰを通過させる側に固定されている。ラウンチクロック／キャプチャクロック選択回路８＿１において、ノードＧは、ノードＦに示されるスキャンイネーブル信号がフリップフロップ１６＿１に取り込まれた出力である。フリップフロップ１６＿１は逆相フリップフロップであり、時刻ｔ４におけるダブルパルス信号ＴＤＰの立下りでスキャンイネーブル信号を取り込んで、ノードＧに出力する。論理ゲート１２＿３と１２＿４でノードＦとノードＧの論理演算を行い、セレクタ１４＿３によりキャプチャ選択１信号で選択される側がノードＨに出力される。一方、ラウンチクロック／キャプチャクロック選択回路８＿２も同様に動作し、セレクタ１４＿５によりキャプチャ選択２信号で選択される側がノードＪに出力される。キャプチャ選択１信号は、ノードＩにラウンチクロックパルスＴＣＫＬが出力されるように指定される。ノードＨの波形は、時刻ｔ４までハイ、時刻ｔ４からｔ８までロウで、ダブルパルス信号ＴＤＰを時刻ｔ４〜ｔ８の期間マスクすることにより、時刻ｔ２〜ｔ４のラウンチクロックパルスＴＣＫＬを通過させ、キャプチャクロックパルスＴＣＫＣを通過させない。その結果、ノードＩにはラウンチクロックパルスＴＣＫＬが抽出され出力される。一方、キャプチャ選択２信号は、ノードＫにキャプチャクロックパルスＴＣＫＣが出力されるように指定される。ノードＪの波形は、時刻ｔ１〜ｔ４がロウ、時刻ｔ４以降がハイで、ダブルパルス信号ＴＤＰを時刻ｔ１〜ｔ４の期間マスクすることにより、時刻ｔ２〜ｔ４のラウンチクロックパルスＴＣＫＬをマスクし、時刻ｔ６〜ｔ７のキャプチャクロックパルスＴＣＫＣを通過させる。その結果、ノードＫにはキャプチャクロックパルスＴＣＫＣが抽出され出力される。
【００９９】
〔実施形態２〕＜パルス幅調整回路＞
実施形態１に示したように、テストパルスＴＰのパルス幅を調整する、パルス幅調整回路９＿１をテストクロック供給回路６に設けることより、ＬＳＩ１０の内部で、入力された入力パルスＴＩＮのパルス幅を調整してテストパルスＴＰの幅とすることができる。テストパルスＴＰの幅は、即ち、非同期転送パスの始点でラウンチフリップフロップ（ＴＣ）であるフリップフロップ１＿１からキャプチャフリップフロップ（ＲＣ）であるフリップフロップ２＿１までの非同期転送回路における信号伝搬経路の遅延時間であるので、非同期転送回路の信号伝搬経路である組合せ回路４の遅延時間として設定される。
【０１００】
＜ディレイ素子による調整＞
図３には遅延バッファ１３＿１〜４を多段に直列接続し、そのタップから所望の遅延量の信号を選択して出力し、ＯＲゲート１２＿１によってハイ幅を広げられるように構成した、パルス幅調整回路９＿１を示した。遅延バッファ１３＿１〜４の１個当たりの遅延量を刻み（分解能または最小単位）として、段階的に調整することができる。
【０１０１】
＜カウンタ回路による調整＞
図５は、パルス幅調整回路の別の構成例を示す回路図である。テストクロック供給回路６は、ディレイ素子による調整を行うパルス幅調整回路９＿１に代えて、入力されるテストクロックＴＣＫに基づいて、テストパルスＴＰのパルス幅を設定可能な、パルス幅調整回路９＿２を備える。パルス幅調整回路９＿２は、図５に示されるように、テストクロックＴＣＫが入力されるカウンタ回路１７＿１を備える。テストクロックＴＣＫのパルス幅（ハイ期間）をカウンタ回路１７＿１で任意の倍数に引き伸ばす機能を追加した回路である。ノードＡにはテストクロックＴＣＫの複数の周期によってパルス幅が設定される信号が出力される。カウンタ回路１７＿１のカウント値を可変にすることにより、パルス幅を設定することができる。カウンタ回路１７＿１の後段には、図３に示したパルス幅調整回路９＿１と同様に、遅延調整用制御信号によって指定される段数のディレイ素子によってパルス幅を微調可能な回路をさらに備え、ノードＣにテストパルスＴＰを出力するように構成しても良い。遅延バッファ１３＿６〜９とセレクタ１４＿６によって構成される。クロック選択信号によって選択制御されるセレクタ１４＿７をさらに備えてもよい。カウンタ回路１７＿１の出力をそのままテストパルスＴＰとしてノードＣに出力するか、ディレイ素子によってパルス幅を微調可能な回路を経てテストパルスＴＰとしてノードＣに出力するかを選択的に制御することができる。
【０１０２】
テストパルスＴＰのパルス幅は、非同期転送パスの始点でラウンチフリップフロップ（ＴＣ）であるフリップフロップ１＿１からキャプチャフリップフロップ（ＲＣ）であるフリップフロップ２＿１までの非同期転送回路における信号伝搬経路の遅延時間である。カウンタ回路１７＿１の出力をそのままテストパルスＴＰとしてノードＣに出力することにより、遅延バッファ１３＿６〜９の遅延値を始めとする、製造ばらつきによる遅延時間の設定値の揺らぎを抑えることができる。一方、ディレイ素子によってパルス幅を微調可能な回路を経て出力することにより、テストクロックＴＣＫの周期よりも細かい分解能で、テストパルスＴＰを調整することができる。
【０１０３】
これにより、入力されるテストクロックＴＣＫの周期に基づいて、非同期転送パスの始点でラウンチフリップフロップ（ＴＣ）からキャプチャフリップフロップ（ＲＣ）までの非同期転送回路における信号伝搬経路の遅延時間が設定される、ラウンチクロックパルスＴＣＫＬとキャプチャクロックパルスＴＣＬＣを生成することができる。テスト装置は、入力されるテストクロックＴＣＫの周期に基づいてテストパルス（ＴＰ）のパルス幅を設定することができる。
【０１０４】
＜セレクタの追加＞
図５には、セレクタ１４＿７により、カウンタ回路１７＿１の出力をそのままテストパルスＴＰとしてノードＣに出力するか、ディレイ素子によってパルス幅を微調可能な回路を経てテストパルスＴＰとしてノードＣに出力するかを選択的に制御するパルス幅調整回路９＿２を示した。
【０１０５】
図８は、パルス幅調整回路のさらに別の構成例を示す回路図である。パルス幅調整回路９＿４はさらに外部入力端子を備える。図５に示したパルス幅調整回路９＿２と同様に、カウンタ回路１７＿３によってテストパルスＴＰのパルス幅を規定し、遅延調整用制御信号によって指定される段数の遅延バッファ１３＿１３〜１６によってパルス幅を微調可能な回路を備える。クロック選択信号によって選択制御可能なセレクタ１４＿１０により、カウンタ回路１７＿１の出力をそのままテストパルスＴＰとしてノードＣに出力するか、ディレイ素子によってパルス幅を微調可能な回路を経てテストパルスＴＰとしてノードＣに出力するか、が選択的に制御されている。セレクタ１４＿１０により、さらに外部入力から入力される信号をテストパルスＴＰとしてノードＣに出力するかをも選択的に制御する。テストパルスＴＰの幅は、非同期転送パスの始点でラウンチフリップフロップ（ＴＣ）であるフリップフロップ１＿１からキャプチャフリップフロップ（ＲＣ）であるフリップフロップ２＿１までの非同期転送回路における信号伝搬経路の遅延時間に相当する。テストパルスＴＰの幅は、カウンタ回路１７＿１の出力をそのままテストパルスＴＰとして出力すると、製造ばらつき影響を受けないが、分解能がテストクロックＴＣＫの周期で規定される。ディレイ素子によってパルス幅を微調可能な回路を経てテストパルスＴＰとして出力すると、分解能を遅延バッファ１３＿１３〜１６のディレイ値まで高くすることができるが、遅延バッファ１３＿１３〜１６のディレイ値は製造ばらつきによって変動する。外部入力をそのままテストパルスＴＰとして出力することにより、テストクロックＴＣＫの周期で分解能が規定されることも、遅延バッファ１３＿１３〜１６のディレイ値は製造ばらつきによって変動することもなく、外部から自由な長さのパルス幅のテストパルスＴＰを入力することができる。セレクタ１４＿１０を設けることにより、この遷移故障テストに利用することができるテスト装置の仕様に合わせて、テストパルスＴＰの生成方法を変えることができる。
【０１０６】
〔実施形態３〕＜ハイ幅調整回路＞
ダブルパルス生成回路７は、ラウンチクロックパルスＴＣＫＬとキャプチャクロックパルスＴＣＫＣのパルス幅、即ちハイ幅を調整可能に構成される。図６は、逆相フリップフロップによる調整を行う、ダブルパルス生成回路の構成例を示す回路図である。図９は、ディレイ素子による調整を行う、ダブルパルス生成回路の構成例を示す回路図である。
【０１０７】
＜逆相フリップフロップによる調整＞
図６には、パルス幅調整回路９＿３も合わせて示される。パルス幅調整回路９＿３は、図５に示したパルス幅調整回路９＿２から、セレクタ１４＿７を省略した構成を採る。ダブルパルス生成回路７＿２は、遅延素子の代わりに、パルス幅調整回路９＿３に入力されるテストクロックＴＣＫの逆相フリップフロップを挿入した構造を持つ。他の部分はパルス幅調整回路９＿２（図５）と同様であるので、説明を省略する。ダブルパルス生成回路７＿２は、逆相フリップフロップ１６＿３と、排他的論理和ゲート１２＿１１とを備えて構成される。逆相フリップフロップ１６＿３は、入力されるテストパルスＴＰをテストクロックＴＣＫの逆相で取り込む。排他的論理和ゲート１２＿１１は、テストパルスＴＰと逆相フリップフロップ１６＿３の出力の排他的論理和を取って、ノードＥにダブルパルス信号ＴＤＰとして出力する。テストパルスＴＰはテストクロックＴＣＫのハイ期間だけ遅れて逆相フリップフロップ１６＿３に取り込まれる。排他的論理和ゲート１２＿１１の出力は、テストクロックＴＣＫのハイ期間に相当するハイ期間を持つ、ラウンチクロックパルスＴＣＫＬとキャプチャクロックパルスＴＣＫＣを含む、ダブルパルス信号ＴＤＰとなる。
【０１０８】
図７は、実施形態２に係るテストクロック供給回路の動作を示すタイミングチャートである。図４と同様であるが、入力されるテストクロックＴＣＫが示される。パルス幅調整回路９＿３のノードＡは、入力されるテストクロックＴＣＫをカウンタ１７＿２で分周して生成した波形である。図７には４分周の例が示され、時刻ｔ２〜ｔ４のオンステート期間を持つ。逆相フリップフロップ１６＿３の出力波形Ｄは、ダブルパルスの入力信号Ｃに対してテストクロックＴＣＫのオンステート期間分の遅延を持った波形となり、時刻ｔ３〜ｔ５のオンステート期間を持つ。ノードＣのテストパルスＴＰは、時刻ｔ２〜ｔ５のオンステート期間を持ち、逆相フリップフロップ１６＿３の出力波形Ｄは、時刻ｔ３〜ｔ６のオンステート期間を持つので、排他的論理和ゲート１２＿１１の出力であるノードＥのダブルパルス信号出力は、時刻ｔ２〜ｔ３と時刻ｔ５〜ｔ６にラウンチクロックパルス（ＴＣＫＬ）とキャプチャクロックパルス（ＴＣＫＣ）を持つ信号となる。
【０１０９】
図３に示されるように、遅延バッファ１３＿５による遅延量によって、オンステート期間を規定するダブルパルス生成回路７＿１では、入力されるテストパルスＴＰのオンステート期間が必ず遅延バッファ１３＿５による遅延量よりも大きくする必要がある。一方、本実施形態のノードＣのテストパルスＴＰは、テストクロックＴＣＫを分周して生成したパルスであるため、テストクロックＴＣＫのオンステート期間よりも必ず長いオンステート期間を持つ。従って、常にテストパルスＴＰのオンステート期間の間隔を持つダブルパルスを生成することが可能となる。
【０１１０】
これにより、ラウンチクロックパルス（ＴＣＫＬ）とキャプチャクロックパルス（ＴＣＫＣ）を適切なパルス幅に調整することができる。
【０１１１】
＜ディレイ素子による調整＞
図９は、ダブルパルス生成回路のさらに別の構成例を示す回路図である。図９に示すダブルパルス生成回路７＿３は、図３に示すダブルパルス生成回路７＿１の遅延素子１３＿５を任意の遅延値に調整できる機能を追加した回路である。テストパルスＴＰはノードＣから入力され、多段に直列接続された遅延バッファ１３＿１７〜２０に入力される。セレクタ１４＿１１は、そのタップから所望の遅延量の信号を選択して出力してノードＤに出力する。排他的論理和ゲート１２＿１３でノードＣのテストパルスＴＰと、所望の遅延を経たノードＤの信号の排他的論理和を取ることにより、ダブルパルス信号ＴＤＰが生成される。遅延調整用制御信号によって指定される段数のディレイ素子によって、ダブルパルス信号ＴＤＰのラウンチクロックパルス（ＴＣＫＬ）とキャプチャクロックパルス（ＴＣＫＣ）のパルス幅（オンステート期間）を調整することができる。動作波形は、図４に示したタイミングチャートと同様である。時刻ｔ２〜ｔ４と時刻ｔ６〜ｔ７の幅が、上記回路によって、調整可能に構成されている。
【０１１２】
これにより、ダブルパルス信号ＴＤＰのオンステート期間を遅延素子単位で任意に決定することができる。
【０１１３】
図３に示した実施形態１におけるダブルパルス生成回路７＿１では、パルス幅調整回路９＿１から出力されるテストパルスＴＰに対して遅延素子１３＿５を用いて一定の遅延を与えることで、テストパルスＴＰのオンステート期間がダブルパルス信号ＴＤＰに含まれる２つのパルスの立ち上がり間隔がとなる、ダブルパルスを生成していた。テストパルスＴＰは、遅延素子１３＿５の遅延量よりも大きいオンステート期間を持つことが必要とされた。また、遅延素子１３＿５の遅延量は、ダブルパルス信号ＴＤＰのオンステート期間になるため、これが著しく小さいと、ラウンチクロックパルス（ＴＣＫＬ）とキャプチャクロックパルス（ＴＣＫＣ）のパルス幅が著しく小さくなる可能性がある。
【０１１４】
本実施形態３のダブルパルス生成回路７＿３を用いる場合、テストパルスＴＰに対して様々な遅延値が選択可能となるため、ダブルパルス信号ＴＤＰのオンステート期間となる遅延値を選択することで、テストタイミングの間隔を持つダブルパルスが安定して生成可能になる。
【０１１５】
〔実施形態４〕＜ラウンチ／キャプチャ選択機能＞
以上、実施形態１〜３では、テスト対象論理回路４に対して、ラウンチフリップフロップ（ＴＣ）であるフリップフロップ１＿１からキャプチャフリップフロップ（ＲＣ）であるフリップフロップ２＿１までの、１本の非同期転送パスに着目して説明した。実際には、ユーザクロック１（ＣＬＫ１）のクロックドメインの複数のフリップフロップからユーザクロック２（ＣＬＫ２）のクロックドメインの複数のフリップフロップへの転送パスが存在する場合がある。また、逆にユーザクロック２（ＣＬＫ２）のクロックドメインの複数のフリップフロップからユーザクロック１（ＣＬＫ１）のクロックドメインの複数のフリップフロップへの転送パスが併存する場合がある。
【０１１６】
図１０は、ユーザクロック１（ＣＬＫ１）のクロックドメインの複数のフリップフロップからユーザクロック２（ＣＬＫ２）のクロックドメインの複数のフリップフロップへの転送パスが存在する場合の、実施形態１〜３に係るテストクロック供給回路の構成を示すブロック図である。
【０１１７】
テストクロック供給回路６は、パルス幅調整回路９とダブルパルス生成回路７と、ラウンチクロック抽出／ユーザクロック切替え回路８１と、キャプチャクロック抽出／ユーザクロック切替え回路８２とを含んで構成される。ラウンチクロック抽出／ユーザクロック切替え回路８１は、図３に示すラウンチクロック／キャプチャクロック選択回路８を用い、キャプチャ選択信号によって、ラウンチ選択を指定することによって構成しても良いし、ラウンチ選択に固定されたラウンチ抽出専用論理回路で構成しても良い。キャプチャクロック抽出／ユーザクロック切替え回路８２は、図３に示すラウンチクロック／キャプチャクロック選択回路８を用い、キャプチャ選択信号によって、キャプチャ選択を指定することによって構成しても良いし、キャプチャ選択に固定されたキャプチャ抽出専用論理回路で構成しても良い。
【０１１８】
ＣＬＫ１のクロックドメインに含まれるフリップフロップ１＿１と１＿２がそれぞれ別の非同期転送パスのラウンチフリップフロップであっても、フリップフロップ１＿１と１＿２は同じラウンチクロック抽出／ユーザクロック切替え回路８１に接続されてよい。ＣＬＫ２のクロックドメインに含まれるフリップフロップ２＿１と２＿２がそれぞれ別の非同期転送パスのキャプチャフリップフロップであっても、フリップフロップ２＿１と２＿２は同じキャプチャクロック抽出／ユーザクロック切替え回路８２に接続されてよい。フリップフロップ１＿１と１＿２がラウンチフリップフロップの場合、ラウンチクロック抽出／ユーザクロック切替え回路８１にはラウンチ選択が入力され、フリップフロップ２＿１と２＿２がキャプチャフリップフロップの場合、キャプチャクロック抽出／ユーザクロック切替え回路８２にはキャプチャ選択が入力される。ある非同期転送パスと、他の非同期転送パスとが、異なる遅延時間を判定値とする遷移故障テストを行うときには、それぞれの遷移故障テストを別のタイミングで実行すればよい。例えば、フリップフロップ１＿１をラウンチフリップフロップとし、フリップフロップ２＿１をキャプチャフリップフロップとする非同期転送パスと、フリップフロップ１＿２をラウンチフリップフロップとし、フリップフロップ２＿２をキャプチャフリップフロップとする非同期転送パスとが、異なる遅延時間を判定値とする場合である。
【０１１９】
図１１は、テストクロック供給回路におけるラウンチ／キャプチャ選択機能（実施形態４）についての説明図である。
【０１２０】
ユーザクロック１（ＣＬＫ１）のクロックドメインの複数のフリップフロップからユーザクロック２（ＣＬＫ２）のクロックドメインの複数のフリップフロップへの転送パスが存在し、さらにユーザクロック２（ＣＬＫ２）のクロックドメインの複数のフリップフロップからユーザクロック１（ＣＬＫ１）のクロックドメインの複数のフリップフロップへの転送パスが併存する場合がある。図１１には、フリップフロップ１＿１をラウンチフリップフロップ、フリップフロップ２＿１をキャプチャフリップフロップとする非同期転送パスの他に、２本の非同期転送パスが併存する例を示す。他の２本の非同期転送パスとは、フリップフロップ２＿１をラウンチフリップフロップ、フリップフロップ１＿２をキャプチャフリップフロップとするパスと、フリップフロップ１＿２をラウンチフリップフロップ、フリップフロップ２＿２をキャプチャフリップフロップとするパスである。フリップフロップ２＿１はキャプチャフリップフロップにもラウンチフリップフロップにもなっているので、ラウンチクロック／キャプチャクロック選択回路８＿１は、ラウンチ／キャプチャ選択１信号によって、選択可能に構成される。同様に、フリップフロップ２＿２がキャプチャフリップフロップにもラウンチフリップフロップにもなるので、ラウンチクロック／キャプチャクロック選択回路８＿２は、ラウンチ／キャプチャ選択２信号によって、選択可能に構成される。
【０１２１】
以上のように、ラウンチクロック／キャプチャクロック選択回路８＿１と８＿２のうち、少なくとも一方は、ダブルパルス生成回路７から出力されるダブルパルス信号ＴＤＰから、ラウンチクロックパルスＴＣＫＬまたはキャプチャクロックパルスＴＣＫＣのどちらを抽出するかを、選択することができるように構成される。
【０１２２】
これにより、１つのラウンチフリップフロップが別の非同期転送パスのキャプチャフリップフロップでもある場合、または、１つのキャプチャフリップフロップが別の非同期転送パスのラウンチフリップフロップでもある場合の、一方または両方の場合にも、当該別の信号伝搬経路の遷移故障テストを実施することができる。
【０１２３】
〔実施形態５〕＜スキャンテスト＞
図１２は、テストクロック供給回路を備える半導体集積回路（ＬＳＩ）に対してスキャンテスト回路を付加した場合（実施形態５）の構成例を表すブロック図である。
【０１２４】
フリップフロップ１＿１、１＿２、２＿１、２＿２は、それぞれスキャン対応フリップフロップに置換される。スキャン対応フリップフロップは、入力に通常動作時のデータ入力とスキャンテスト時のスキャンインとを、スキャンイネーブル信号によって切り替える、セレクタを備えるフリップフロップである。フリップフロップ１＿１とフリップフロップ１＿２を含むユーザクロック１（ＣＬＫ１）のクロックドメインの複数のフリップフロップにスキャンチェーン１を形成し、フリップフロップ２＿１とフリップフロップ２＿２を含むユーザクロック２（ＣＬＫ２）のクロックドメインの複数のフリップフロップにスキャンチェーン２を形成する。テストクロック回路６には、さらにスキャンイネーブル信号が入力され、スキャンテスト回路を構成する。
【０１２５】
テストクロック回路６に含まれるスキャンテスト回路は、スキャンテスト動作時に、フリップフロップ１＿１とフリップフロップ１＿２にシフトクロック１（ＴＳＣＫ１）を供給してスキャンチェーン１をシフト動作させ、フリップフロップ２＿１とフリップフロップ２＿２にシフトクロック２（ＴＳＣＫ２）を供給してスキャンチェーン２をシフト動作させる。
【０１２６】
図１４は、実施形態５に係るテストクロック供給回路を備える半導体集積回路（ＬＳＩ）の動作を示すタイミングチャートである。横軸に時間をとり、縦軸方向に上から入力パルスＴＩＮ、パルス幅調整回路９の出力であるテストパルスＴＰ、ダブルパルス生成回路７の出力であるＴＤＰ、スキャンイネーブル、シフトクロック１、キャプチャクロック選択回路８＿１の出力、スキャンチェーン１、シフトクロック２、キャプチャクロック選択回路８＿２の出力、スキャンチェーン２の波形が、それぞれ示される。スキャンイネーブル信号がハイの時刻ｔ０〜ｔ１と時刻ｔ５以降はスキャンチェーンを使ったシフト動作の期間であり、時刻ｔ１〜ｔ５は、非同期転送回路の遷移故障テストが行われる期間である。スキャンイネーブル信号がハイの時刻ｔ０〜ｔ１と時刻ｔ５以降の期間は、従来のテストと同様に、クロックドメインごとの縮退故障テストや遷移故障テストを行っても良い。
【０１２７】
時刻ｔ０〜ｔ１では、キャプチャクロック選択回路８＿１からはシフトクロック１が出力され、スキャンチェーン１はシフトクロック１に同期してシフト動作し、ラウンチフリップフロップに入力データが転送される。キャプチャクロック選択回路８＿２からはシフトクロック２が出力され、スキャンチェーン２はシフトクロック２に同期してシフト動作する。ユーザクロック２のクロックドメイン内のフリップフロップにそれ以前のテストの結果が保持されていれば、このシフト動作で出力される。
【０１２８】
時刻ｔ１から非同期転送回路の遷移故障テストが開始される。時刻ｔ２〜ｔ３の幅の入力パルスＴＩＮが入力され、パルス幅調整回路９によって指定されるテストタイミング設定に基づいて、パルス幅が調整され、時刻ｔ２〜ｔ４の幅のテストパルスＴＰが出力される。ダブルパルス生成回路７は、テストパルスＴＰの立上りエッジと立下りエッジから、ハイ幅設定で指定されるオンステート期間を持つ２つのパルスが、時刻ｔ２と時刻ｔ４に出力される。キャプチャクロック選択回路８＿１からは時刻ｔ２にラウンチクロックパルスＴＣＫＬが出力される。ラウンチフリップフロップからは、時刻ｔ１までのシフト動作で転送された入力データが出力される。キャプチャクロック選択回路８＿２からは時刻ｔ４にキャプチャクロックパルスＴＣＫＣが出力される。キャプチャフリップフロップには、ラウンチフリップフロップから出力された入力データの遷移を起点とする信号遷移が、テスト対象論理回路４内の非同期転送パスを伝搬して出力データとしてキャプチャされる。信号伝搬遅延が時刻ｔ２〜ｔ４の時間幅よりも短ければ、正しい結果がキャプチャフリップフロップにキャプチャされるが、長ければ誤った結果となる。キャプチャフリップフロップに取り込まれた結果は、時刻ｔ５以降のシフト動作によって、スキャンチェーン２を介して出力される。
【０１２９】
これにより、スキャンテスト動作時には、それぞれのクロックドメインにおいて、縮退故障テストや同期回路の遷移故障テストを実行することができ、さらに、スキャンテストのシフト動作を利用して、非同期転送回路における信号伝搬経路を構成する組合せ回路の遷移故障テストのためのテストパターンを供給することができ、遷移故障テストの結果を出力することができる。
【０１３０】
図１３は、テストクロック供給回路を備える半導体集積回路（ＬＳＩ）に対してスキャンテスト回路を付加する場合（実施形態５）の別の構成例を示すブロック図である。図１２に示した半導体集積回路（ＬＳＩ）１０との違いは、パルス幅調整回路９にテストタイミング設定を与えるレジスタを構成するスキャン対応フリップフロップ１１＿１と、ダブルパルス生成回路７にハイ幅設定を与えるレジスタを構成するスキャン対応フリップフロップ１１＿２とをさらに備える点である。フリップフロップ１１＿１とフリップフロップ１１＿２は、それぞれ複数のフリップフロップで構成されてよく、シフトクロック３に同期してシフト動作をするスキャンチェーン３を構成する。
【０１３１】
スキャンチェーン３は、スキャンチェーン１やスキャンチェーン２と同様に、図１４に示した時刻ｔ０〜ｔ１の期間にシフト動作を行い、テストタイミング設定値とハイ幅設定値を、それぞれフリップフロップ１１＿１とフリップフロップ１１＿２に転送する。
【０１３２】
これにより、テストタイミング設定とハイ幅設定のために別途の書き込み手段を設ける必要がなく、スキャンテストと整合して、適切な値の設定を行うことができる。
【０１３３】
スキャンチェーン１とスキャンチェーン２とスキャンチェーン３は、互いに独立に構成する例を示したが、クロックドメインごとの同期回路の遷移故障テストの実施方法を工夫することにより、単一のスキャンチェーンで構成することもできる。
【０１３４】
〔実施形態６〕＜設計方法及び設計プログラム＞
非同期で動作する複数のクロックドメインを含む半導体集積回路（ＬＳＩ）に対して、以上の実施形態で説明してきた非同期転送回路の遷移故障テスト回路を挿入する、設計ツールを使った設計方法、及び、その設計プログラムについて説明する。
【０１３５】
図１５は、実施形態１〜５に係るテストクロック供給回路を設計対象のＬＳＩに組み込む設計ツールの動作を示すフローチャートである。図１６は、設計対象のＬＳＩに組み込まれたテストクロック供給回路にテストパターンを与えるための設計ツールの動作を示すフローチャートである。
【０１３６】
本願において開示される代表的な実施の形態に係る半導体集積回路１０の設計プログラム２０は、データ処理部である回路実装ツール２１と、レイアウトツール２３と、ＳＴＡ（Static Timing Analysis）ツール２４と、データ記憶部２２とを備える電子計算機によって実行されることができ、以下のように構成される。
【０１３７】
データ記憶部２２には、通常動作時に互いに非同期の複数のクロックドメインを含むネットリストnetlist-1と、クロックソース情報と、製品仕様とが格納されている。設計プログラム２０は、回路実装ツール２１により、netlist-1から非同期のデータ転送がある論理回路である被テストパスを抽出するステップ（Ｓ１）を実行する。ここで、回路実装ツール２１は、netlist-1をクロックソース情報に基づいてトレースしてクロックドメインを認識し、製品仕様に基づいて非同期のデータ転送がある論理回路を抽出し、その結果を被テストパスとしてデータ記憶部２２に出力する。
【０１３８】
回路実装ツール２１は、抽出した被テストパスを参照して、送信フリップフロップ（ＴＣ）である送信回路側のクロックソース（ＴＣＬＫ）と、受信フリップフロップ（ＲＣ）である受信回路側のクロックソース（ＲＣＬＫ）を抽出し（Ｓ２）、netlist-1にテストクロック供給回路６を挿入する。より詳細には、送信回路側のクロックと受信回路側のクロックのそれぞれに、ラウンチクロック／キャプチャクロック選択回路８＿１と８＿２を挿入し（Ｓ３）、さらにパルス幅調整回路９とダブルパルス生成回路７を挿入してダブルパルス信号ＴＤＰをラウンチクロック／キャプチャクロック選択回路８＿１と８＿２に配線する（Ｓ４）。その後、netlist-1内のフリップフロップをスキャン対応フリップフロップに置き換えてスキャンチェーンを構成し、シフトクロックを入力するための切替回路やシフトデータ用の入出力回路を挿入するなど、通常と同様のスキャン化を行い（Ｓ５）、スキャン化されたネットリストnetlist-2をデータ記憶部２２に出力する。netlist-2はレイアウトツール２３に入力され、レイアウトステップ（Ｓ６）が実行される。これも通常のレイアウト処理と同様である。その結果、配線抵抗や配線容量などの寄生抵抗と寄生容量を含んだネットリストnetlist-3がデータ記憶部２２に出力される。netlist-3はＳＴＡツール２４に入力され、回路内の遅延情報が算出され（Ｓ７）、レイアウト情報がデータ記憶部２２に出力される。
【０１３９】
次に、回路実装ツール２１は、寄生抵抗と寄生容量を含んだネットリストnetlist-3とレイアウト情報、及び、前述のクロックソース情報、製品仕様、及び、被テストパスを参照して、被テストパスの信号伝搬遅延を見積もり、テストタイミングαとして規定する（Ｓ８）。回路実装ツール２１は、レイアウト情報を参照して、送信回路側のクロックソース（ＴＣＬＫ）から送信フリップフロップ（ＴＣ）までの遅延δＴＣと、受信回路側のクロックソース（ＲＣＬＫ）から受信フリップフロップ（ＲＣ）までの遅延δＲＣとを、それぞれ算出して取得する（Ｓ９）。
【０１４０】
パルス幅調整回路９が、図３などに示したように直列接続された複数の遅延バッファによる遅延の段数を調整してパルス幅を調整する回路である場合には、回路実装ツール２１は、遅延バッファ１段当たりの遅延を遅延単位δ１として算出して取得する（Ｓ１０）。
【０１４１】
ダブルパルス生成回路７が、図９に示したように直列接続された複数の遅延バッファによる遅延の段数を調整してハイ幅を調整する回路である場合には、回路実装ツール２１は、遅延バッファ１段当たりの遅延を遅延単位δ２として算出して取得する（Ｓ１１）。
【０１４２】
ステップＳ８で規定されたテストタイミングαより厳しい側で最もαに近いタイミングで、ラウンチクロックパルスＴＣＫＬとキャプチャクロックパルスＴＣＫＣを発生するための調整値（入力パルスＴＩＮのパルス幅と、パルス幅調整回路９に入力されるテストタイミング設定値）を算出する（Ｓ１２）。ダブルパルス生成回路７に入力されるハイ幅設定値を、合せて算出してもよい。算出された調整値からテストパタン発生条件（初期化シーケンス等）を作成し（Ｓ１３）、ＡＴＰＧ（Automatic Test Pattern Generator）により、テストパタンを発生してデータ記憶部２２に格納する（Ｓ１４）。
【０１４３】
設計ツールの動作について、さらに詳しく説明する。
【０１４４】
図１７と図１８と図１９は、テストクロック供給回路６を設計対象のＬＳＩに組み込む、図１５の設計ツールの動作を説明する説明図であり、設計対象のＬＳＩのネットリストのうち、非同期転送回路に関係するフリップフロップやクロック供給回路６が示される。図１７はテストクロック供給回路６を組み込む前のネットリストであり、図１５に示されるフローチャートのnetlist-1に当たる。図１８はテストクロック供給回路６の組み込み後のネットリストであり、図１５に示されるフローチャートではスキャン化（Ｓ５）前の状態である。図１９はさらに、スキャン化（Ｓ５）のネットリストであり、図１５に示されるフローチャートのnetlist-2に当たる。
【０１４５】
図１７に示されるテストクロック供給回路６を組み込む前のネットリストには、ＰＬＬ１（１８＿１）とＰＬＬ２（１８＿２）と、クロックツリー１９＿１と１９＿２と、フリップフロップ１＿１、１＿２、２＿１、２＿２、及び、組合せ回路４、５＿１、５＿２が含まれる。ＰＬＬ１（１８＿１）とＰＬＬ２（１８＿２）のそれぞれは、互いに非同期のユーザクロック１（ＣＬＫ１）とユーザクロック２（ＣＬＫ２）のクロック供給源である。フリップフロップ１＿１と１＿２は、通常動作時にユーザクロック１（ＣＬＫ１）に同期して動作するクロックドメインに含まれ、フリップフロップ２＿１と２＿２は、ユーザクロック２（ＣＬＫ２）のクロックドメインに含まれる。クロックツリー１９＿１は、フリップフロップ１＿１と１＿２などＣＬＫ１のクロックドメインに含まれるフリップフロップに対してクロックを供給するクロックツリーであり、クロックツリー１９＿２は、フリップフロップ２＿１と２＿２などＣＬＫ２のクロックドメインに含まれるフリップフロップに対してクロックを供給するクロックツリーである。組合せ回路５＿１はＣＬＫ１のクロックドメインに含まれ、ＣＬＫ１に同期する同期転送パスで構成され、組合せ回路５＿２はＣＬＫ２のクロックドメインに含まれ、ＣＬＫ２に同期する同期転送パスで構成されるが、組合せ回路４はＣＬＫ１のクロックドメインからＣＬＫ２のクロックドメインへの非同期転送パスを含む。組合せ回路４に含まれる非同期転送パスが本実施形態の被テストパスである。フリップフロップ＿１＿１はこの非同期転送パスの送信フリップフロップ（ラウンチフリップフロップ）であり、フリップフロップ２＿１は受信フリップフロップ（キャプチャフリップフロップ）である。
【０１４６】
図１５に示されるフローチャートのステップＳ１では、ＰＬＬ１（１８＿１）とＰＬＬ２（１８＿２）が非同期クロックのクロック供給源であることがクロックソース情報から入力され、組合せ回路４に含まれる非同期転送パスが被テストパスとして抽出される。ステップＳ２では、被テストパスの送信フリップフロップ（ラウンチフリップフロップ）にクロックを供給するクロックツリー１９＿１をトレースして、送信側クロックソースＴＣＬＫとしてＰＬＬ１（１８＿１）を抽出する。さらに、受信フリップフロップ（キャプチャフリップフロップ）にクロックを供給するクロックツリー１９＿２をトレースして、受信側クロックソースＲＣＬＫとしてＰＬＬ２（１８＿２）を抽出する。ステップＳ３では、抽出した送信側と受信側のクロックソースのそれぞれに、図１８に示すようにラウンチクロック／キャプチャクロック選択回路（TCKL/TCKC選択回路）８＿１と８＿２を挿入する。ステップＳ４では、さらにパルス幅調整回路９とダブルパルス生成回路７を挿入してダブルパルス信号ＴＤＰをラウンチクロック／キャプチャクロック選択回路８＿１と８＿２に配線する。これにより、テストクロック供給回路６の挿入が完了する。
【０１４７】
次にスキャン化（Ｓ５）を行い、図１９に示されるネットリストが、netlist-2として出力される。フリップフロップ１＿１、１＿２、２＿１、２＿２はスキャン対応フリップフロップに置換され、スキャンチェーンが形成される。クロックソースには、ユーザクロック（ＣＬＫ１、ＣＬＫ２）とシフトクロック（ＴＳＣＫ１、ＴＳＣＫ２）を切替えるセレクタ（１４＿１２、１４＿１３）が挿入される。さらにフリップフロップ１＿１、１＿２、２＿１、２＿２とセレクタ１４＿１２、１４＿１３にスキャンイネーブル信号が結線される。
【０１４８】
ラウンチクロックパルスからキャプチャクロックパルスまでの遅延時間の算出方法を説明する。図１９と図２０は、テストクロック供給回路を設計対象のＬＳＩに組み込む、図１５の設計ツールの動作における、ラウンチクロックパルスからキャプチャクロックパルスまでの遅延時間などの調整値の算出方法を説明する説明図である。図２０に示すタイミングチャートは、横軸が時間であり、縦軸方向に、上から、入力パルスＴＩＮ、パルス幅調整回路の出力であるテストパルスＴＰ、ダブルパルス生成回路の出力であるダブルパルス信号ＴＤ、ラウンチクロック／キャプチャクロック選択回路８＿１と８＿２それぞれの出力である、ラウンチクロックパルスＴＬＣＫとキャプチャクロックパルスＲＬＣＫとが示される。ラウンチクロックパルスＴＬＣＫとキャプチャクロックパルスＲＬＣＫとは、クロックツリー１９＿１と１９＿２の根元側の波形であり、送信フリップフロップ（ラウンチフリップフロップ）と受信フリップフロップ（キャプチャフリップフロップ）に到達したラウンチクロックパルスＴＣＫＬとキャプチャクロックパルスＴＣＫＣとは区別される。
【０１４９】
ステップＳ８では、組合せ回路４に含まれる非同期転送パスである被テストパスの信号伝搬遅延を見積もり、テストタイミングαとして規定する。このとき、図１９に示すネットリストは、レイアウト情報を参照して寄生抵抗と寄生容量が付加され、netlist-3となっている。ステップＳ９では、クロックツリー１９＿１をトレースして、送信側クロックソースＴＣＬＫから送信フリップフロップ（ラウンチフリップフロップ）であるフリップフロップ１＿１までのクロックの伝搬遅延δＴＣを求める。また、クロックツリー１９＿２をトレースして、受信側クロックソースＲＣＬＫから受信フリップフロップ（キャプチャフリップフロップ）であるフリップフロップ２＿１までのクロックの伝搬遅延δＲＣを求める。前述の通り、ステップＳ１０とステップＳ１１で、パルス幅調整回路９における調整の遅延単位δ１と、ダブルパルス生成回路７におけるハイ幅調整の遅延単位δ２が算出される。
【０１５０】
ステップ１２では、パルス幅調整回路９に入力されるテストタイミング設定値Ｘと、ダブルパルス生成回路７に入力されるハイ幅設定値Ｙは、以下の式で算出することができる。
【０１５１】
【数１】
2015028424.tif 000003
【０１５２】
【数２】
2015028424.tif 000004
【０１５３】
ここで、βはパルス幅調整回路９に入力される入力パルスＴＩＮのパルス幅である。図２０では時刻ｔ０〜ｔ１に当たる。
【０１５４】
テストタイミングαは、送信フリップフロップ（ラウンチフリップフロップ）にラウンチクロックパルスＴＣＫＬが到達してから、受信フリップフロップ（キャプチャフリップフロップ）にラウンチクロックパルスＴＣＫＬが到達するまでの時間よりも短いときに、良品と判定するための判定基準である。α−（δRC−δTC）は、クロックツリー１９＿１と１９＿２の根元における、ラウンチクロックパルスＴＬＣＫからキャプチャクロックパルスＲＬＣＫまでの遅延時間である。パルス幅調整回路９から出力されるテストパルスＴＰのハイ幅に相当する。図２０に示すように、ラウンチクロックパルスＴＬＣＫが時刻ｔ０に立上り、キャプチャクロックパルスＲＬＣＫが時刻ｔ３に立ち上るように調整する。テストパルスＴＰのハイ幅（時刻ｔ０〜ｔ３）α−（δRC−δTC）から入力パルスＴＩＮのパルス幅βを引いた値が、パルス幅調整回路９における調整の遅延単位δ１を刻みとして、テストタイミング設定値Ｘとして与えられる。より厳しく判定するためには、Ｘは切り捨てによって求めるとよい。
【０１５５】
上の式で算出されるＹの値により、ダブルパルス生成回路７で生成されるダブルパルス信号ＴＤＧのハイ期間ｔ０〜ｔ２とｔ３〜ｔ４は、ロウ期間ｔ２〜ｔ４と同じ値とすることができる。時刻ｔ０〜ｔ２のラウンチクロックパルスＴＬＣＫのハイ幅と時刻ｔ３〜ｔ４のキャプチャクロックパルスＲＬＣＫのハイ幅を、ともにα／２に設定する。Ｙはダブルパルス生成回路７における調整の遅延単位δ２を刻みとして算出される。
【０１５６】
これにより、通常動作時に非同期で動作する複数のクロックドメイン間の非同期転送回路を含む半導体集積回路において、非同期転送回路の遷移故障テストの実施を可能とする、遷移故障テスト回路を当該半導体集積回路に挿入することができる。ラウンチクロックパルス（ＴＣＫＬ）からキャプチャクロックパルス（ＴＣＫＣ）までの遅延時間を、その非同期転送回路における信号伝搬経路を構成する組合せ回路の遷移故障テストの判定基準に基づいて、任意に設定することができる。
【０１５７】
設計プログラム２０は、被テストパスとして抽出された組合せ回路４における信号伝搬遅延を見積もるステップＳ８を含んで構成されることにより、見積もられた被テストパスの信号伝搬遅延に基づいて、テストクロック供給回路に設定すべき、調整値を算出することができる。被テストパスとして抽出された組合せ回路４における信号伝搬遅延は、ステップＳ７においてＳＴＡによって見積もることができる。さらに、レイアウト後のレイアウト情報を利用してより正確に見積もることができる。
【０１５８】
また、ステップＳ５においてスキャン化を行うことにより、各クロックドメイン内の同期転送の組合せ回路５＿１と５＿２それぞれに対する縮退故障テストと遷移故障テストの実施が容易になる。このスキャン回路は、非同期転送回路の遷移故障テストのために、スキャンインによって被テストパスに入力パタンを与え、スキャンアウトによってテスト結果を出力する動作をさせることができる。
【０１５９】
図２１は、テストクロック供給回路を設計対象のＬＳＩに組み込む、図１５の設計ツールの別の動作例を説明する説明図である。図１９では、ラウンチクロック／キャプチャクロック選択回路８＿１と８＿２をクロックツリー１９＿１と１９＿２の根元に挿入したのに対し、図２１では、送信フリップフロップ（ラウンチフリップフロップ）と受信フリップフロップ（キャプチャフリップフロップ）それぞれのクロック端子に挿入する。被テストパスごとにテストクロック供給回路６が挿入されるので、複数の被テストパスに対して同時に並列して遷移故障テストを実施することができる。
【０１６０】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１６１】
例えば、半導体集積回路（ＬＳＩ）に含まれるクロックドメインの数が２の場合について説明したが、３以上の場合にも、各実施形態はそれぞれ適用することができる。また、フリップフロップはクロックに同期してパイプラインステージのデータや状態を保持する記憶素子であればよく、ラッチ、レジスタなどを広く含む。また、クロックの供給方式、論理回路の方式等は、任意に組み合わせることができる。
【符号の説明】
【０１６２】
１  ユーザクロック１のクロックドメイン内のフリップフロップ
２  ユーザクロック２のクロックドメイン内のフリップフロップ
３  ユーザクロック３のクロックドメイン内のフリップフロップ
４  非同期転送回路内の組合せ回路（テスト対象論理回路）
５  同期回路内の組合せ回路）
６  テストクロック供給回路
７  ダブルパルス発生回路
８  ラウンチクロック／キャプチャクロック選択回路（TCKL/TCKC選択回路）
８１  ラウンチクロック抽出／ユーザクロック切替え回路
８２  キャプチャクロック抽出／ユーザクロック切替え回路
９  パルス幅調整回路
１０  半導体集積回路（ＬＳＩ）
１１  スキャン対応フリップフロップ
１２  論理ゲート
１３  バッファ
１４  セレクタ
１５  フリップフロップ
１６  逆相フリップフロップ
１７  カウンタ回路
１８  クロック供給源（ＰＬＬ）
１９  クロックツリー
２０  設計プログラム（設計ツール）
２１  回路実装ツール
２２  データ記憶部
２３  レイアウトツール
２４  ＳＴＡツール
ＴＣ  送信フリップフロップ（ラウンチフリップフロップ）
ＲＣ  受信フリップフロップ（キャプチャフリップフロップ）
ＣＬＫ１  ユーザクロック１
ＣＬＫ２  ユーザクロック２
ＴＣＫ  テストクロック
ＴＳＣＫ  シフトクロック
ＴＩＮ  入力パルス
ＴＰ  テストパルス
ＴＤＰ  ダブルパルス信号
ＴＬＣＫ、ＴＣＫＬ  ラウンチクロックパルス
ＲＬＣＫ、ＴＣＫＣ  キャプチャクロックパルス
【図１】
2015028424.tif 000005
【図２】
2015028424.tif 000006
【図３】
2015028424.tif 000007
【図４】
2015028424.tif 000008
【図５】
2015028424.tif 000009
【図６】
2015028424.tif 000010
【図７】
2015028424.tif 000011
【図８】
2015028424.tif 000012
【図９】
2015028424.tif 000013
【図１０】
2015028424.tif 000014
【図１１】
2015028424.tif 000015
【図１２】
2015028424.tif 000016
【図１３】
2015028424.tif 000017
【図１４】
2015028424.tif 000018
【図１５】
2015028424.tif 000019
【図１６】
2015028424.tif 000020
【図１７】
2015028424.tif 000021
【図１８】
2015028424.tif 000022
【図１９】
2015028424.tif 000023
【図２０】
2015028424.tif 000024
【図２１】
2015028424.tif 000025