(57)【要約】【課題】内部回路情報未公開の製造元提供回路と、顧客側設計回路とを搭載する半導体集積回路装置を対象とし、製造元提供回路と顧客側設計回路との間の接続試験を含めたスキャン試験と、製造元提供回路と顧客側設計回路との間の少なくとも一部分の遅延試験を行うことができるようにする。【解決手段】試験回路１１を設ける。顧客側設計回路１２の出力端子側の遅延試験をスキャンフリップフロップ１８とフリップフロップ１６との間の遅延試験を行うことで実行する。ＩＰマクロ１０の入力端子側の遅延試験をフリップフロップ１５とスキャンフリップフロップ１４間の遅延試験を行うことで実行する。顧客側設計回路１２の出力端子側の遅延試験及びＩＰマクロ１０の入力端子側の遅延試験が合格であれば、スキャンフリップフロップ１８、１４間の遅延に問題はないと判定する。【選択図】図１
2010203829.tif 000002
【特許請求の範囲】
【請求項１】
製造元提供回路と、
顧客側設計回路と、
第１フリップフロップと、第２フリップフロップと、セレクタとを有し、前記顧客側設計回路の所定出力端子が前記セレクタの第１入力端子に接続され、前記第１フリップフロップの出力端子が前記セレクタの第２入力端子に接続され、前記セレクタの出力端子が前記第２フリップフロップの入力端子及び前記製造元提供回路の所定入力端子に接続された試験回路とを有し、
前記顧客側設計回路の前記所定出力端子と前記製造元提供回路の前記所定入力端子との間の接続試験を行う場合は、前記セレクタは前記第１入力端子を選択し、前記製造元提供回路の前記所定入力端子側の遅延試験を行う場合は、前記セレクタは前記第２入力端子を選択し、前記顧客側設計回路の前記所定出力端子側の遅延試験を行う場合は、前記セレクタは前記第１入力端子を選択するように、前記セレクタが制御されること
を特徴とする半導体集積回路装置。
【請求項２】
製造元提供回路と、
顧客側設計回路と、
第１フリップフロップと、第２フリップフロップと、セレクタとを有し、前記顧客側設計回路の所定出力端子が前記セレクタの第１入力端子に接続され、前記第１フリップフロップの出力端子が前記セレクタの第２入力端子に接続され、前記セレクタの出力端子が前記第２フリップフロップの入力端子及び前記製造元提供回路の所定入力端子に接続された試験回路とを有する半導体集積回路装置の試験方法であって、
前記顧客側設計回路の前記所定出力端子と前記製造元提供回路の前記所定入力端子との間の接続試験を行う場合は、前記セレクタを前記第１入力端子選択状態とし、前記顧客側設計回路が前記所定出力端子に出力する試験データを前記製造元提供回路の前記所定入力端子に伝送する工程を含み、
前記製造元提供回路の前記所定入力端子側の遅延試験を行う場合は、前記セレクタを前記第２入力端子選択状態とし、前記第１フリップフロップが出力する試験データを前記製造元提供回路の前記所定入力端子に伝送する工程を含み、
前記顧客側設計回路の前記所定出力端子側の遅延試験を行う場合は、前記セレクタを前記第１入力端子選択状態とし、前記顧客側設計回路が前記所定出力端子に出力する試験データを前記第２フリップフロップに伝送する工程を含むこと
を特徴とする半導体集積回路装置の試験方法。
【請求項３】
製造元提供回路と、
顧客側設計回路と、
第１フリップフロップと、第２フリップフロップと、セレクタとを有し、前記製造元提供回路の所定出力端子が前記セレクタの第１入力端子に接続され、前記第１フリップフロップの出力端子が前記セレクタの第２入力端子に接続され、前記セレクタの出力端子が前記第２フリップフロップの入力端子及び前記顧客側設計回路の所定入力端子に接続された試験回路とを有し、
前記製造元提供回路の前記所定出力端子と前記顧客側設計回路の前記所定入力端子との間の接続試験を行う場合は、前記セレクタは前記第１入力端子を選択し、前記顧客側設計回路の前記所定入力端子側の遅延試験を行う場合は、前記セレクタは前記第２入力端子を選択し、前記製造元提供回路の前記所定出力端子側の遅延試験を行う場合は、前記セレクタは前記第１入力端子を選択するように、前記セレクタが制御されること
を特徴とする半導体集積回路装置。
【請求項４】
製造元提供回路と、
顧客側設計回路と、
第１フリップフロップと、第２フリップフロップと、セレクタとを有し、前記製造元提供回路の所定出力端子が前記セレクタの第１入力端子に接続され、前記第１フリップフロップの出力端子が前記セレクタの第２入力端子に接続され、前記セレクタの出力端子が前記第２フリップフロップの入力端子及び前記顧客側設計回路の所定入力端子に接続された試験回路とを有する半導体集積回路装置の試験方法であって、
前記製造元提供回路の前記所定出力端子と前記顧客側設計回路の前記所定入力端子との間の接続試験を行う場合は、前記セレクタを前記第１入力端子選択状態とし、前記製造元提供回路が前記所定出力端子に出力する試験データを前記顧客側設計回路の前記所定入力端子に伝送する工程を含み、
前記顧客側設計回路の前記所定入力端子側の遅延試験を行う場合は、前記セレクタを前記第２入力端子選択状態とし、前記第１フリップフロップが出力する試験データを前記顧客側設計回路の前記所定入力端子に伝送する工程を含み、
前記製造元提供回路の前記所定出力端子側の遅延試験を行う場合は、前記セレクタを前記第１入力端子選択状態とし、前記製造元提供回路が前記所定出力端子に出力する試験データを前記第２フリップフロップに伝送する工程を含むこと
を特徴とする半導体集積回路装置の試験方法。
【請求項５】
製造元提供回路と、
顧客側設計回路と、
第１フリップフロップと、第２フリップフロップと、セレクタとを有し、前記顧客側設計回路の所定出力端子がセレクタの第１入力端子に接続され、前記第１フリップフロップの出力端子が前記セレクタの第２入力端子に接続され、前記セレクタの出力端子が前記製造元提供回路の所定入力端子に接続され、前記製造元提供回路の前記所定出力端子が前記第２フリップフロップの入力端子に接続された試験回路とを有し、
前記顧客側設計回路の前記所定出力端子と前記製造元提供回路の前記所定入力端子との間の接続試験を行う場合は、前記セレクタは前記第１入力端子を選択し、前記製造元提供回路の前記所定入力端子側の遅延試験を行う場合は、前記セレクタは前記第２入力端子を選択するように、前記セレクタが制御されること
を特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内部回路情報未公開の製造元提供回路と顧客側設計回路とを搭載した半導体集積回路装置、及び、このような半導体集積回路装置の試験方法に関する。
【背景技術】
【０００２】
半導体集積回路装置の製造元が顧客に提供するＩＰ（intellectual property）マクロは、通常、秘密保持のために内部回路情報を未公開とされる。このため、ＩＰマクロ及び顧客側設計回路を搭載した半導体集積回路装置においては、図２４に示すように、ＩＰマクロ１にスキャンチェイン３を設けると共に、顧客側設計回路２にスキャンチェイン４を設け、ＩＰマクロ１及び顧客側設計回路２のスキャン試験は、それぞれ別の試験パタンを作成して別々に実行されていた。５はＩＰマクロ１と顧客側設計回路２との間に設けられた信号配線である。このような半導体集積回路装置では、ＩＰマクロ１と顧客側設計回路２との間の遅延試験（実速度での動作確認）を行うことができない。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−１４２７３６号公報
【特許文献２】特開２００１−２０８８１０号公報
【特許文献３】特開２００２−１０７４２６号公報
【特許文献４】特開２００６−３００７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、内部回路情報未公開の製造元提供回路と顧客側設計回路とを搭載する半導体集積回路装置を対象とし、製造元提供回路と顧客側設計回路との間の接続試験を含めたスキャン試験と、製造元提供回路と顧客側設計回路との間の少なくとも一部分の遅延試験を行うことができるようにすることを課題とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本出願で開示する半導体集積回路装置は、内部回路情報未公開の製造元提供回路と顧客側設計回路とを搭載する半導体集積回路装置を対象とし、前記製造元提供回路と前記顧客側設計回路との間の接続試験を含めたスキャン試験と、前記製造元提供回路と前記顧客側設計回路との間の少なくとも一部分の遅延試験を可能とする試験回路を搭載する。
【発明の効果】
【０００６】
開示した半導体集積回路装置によれば、前記製造元提供回路と前記顧客側設計回路との間の接続試験を含めたスキャン試験と、前記製造元提供回路と前記顧客側設計回路との間の少なくとも一部分の遅延試験を可能とする試験回路を搭載するとしているので、前記製造元提供回路と前記顧客側設計回路との間の接続試験を含めたスキャン試験と、前記製造元提供回路と前記顧客側設計回路との間の少なくとも一部分の遅延試験を行うことができる。開示した半導体集積回路装置における試験回路を利用した試験が本発明の半導体集積回路装置の試験方法である。
【図面の簡単な説明】
【０００７】
【図１】本発明の半導体集積回路装置の第１実施形態の一部分を示す回路図である。
【図２】本発明の半導体集積回路装置の第１実施形態が搭載するＩＰマクロの入力端子側の遅延試験を説明するための回路図である。
【図３】本発明の半導体集積回路装置の第１実施形態が搭載するＩＰマクロの入力端子側の遅延試験を説明するためのタイミングチャートである。
【図４】本発明の半導体集積回路装置の第１実施形態が搭載する顧客側設計回路の出力端子側の遅延試験を説明するための回路図である。
【図５】本発明の半導体集積回路装置の第１実施形態が搭載する顧客側設計回路の出力端子側の遅延試験を説明するためのタイミングチャートである。
【図６】本発明の半導体集積回路装置の第２実施形態の一部分を示す回路図である。
【図７】本発明の半導体集積回路装置の第２実施形態が搭載する顧客側設計回路の入力端子側の遅延試験を説明するための回路図である。
【図８】本発明の半導体集積回路装置の第２実施形態が搭載する顧客側設計回路の入力端子側の遅延試験を説明するためのタイミングチャートである。
【図９】本発明の半導体集積回路装置の第２実施形態が搭載するＩＰマクロの出力端子側の遅延試験を説明するための回路図である。
【図１０】本発明の半導体集積回路装置の第２実施形態が搭載するＩＰマクロの出力端子側の遅延試験を説明するためのタイミングチャートである。
【図１１】本発明の半導体集積回路装置の第３実施形態の一部分を示す回路図である。
【図１２】本発明の半導体集積回路装置の第３実施形態が搭載するＩＰマクロの入力端子側の遅延試験を説明するための回路図である。
【図１３】本発明の半導体集積回路装置の第３実施形態が搭載するＩＰマクロの出力端子側の遅延試験を説明するための回路図である。
【図１４】本発明の半導体集積回路装置の第４実施形態の一部分を示す回路図である。
【図１５】本発明の半導体集積回路装置の第４実施形態が搭載するＩＰマクロの入力端子側の遅延試験を説明するための回路図である。
【図１６】本発明の半導体集積回路装置の第４実施形態が搭載するＩＰマクロの出力端子側の遅延試験を説明するための回路図である。
【図１７】本発明の半導体集積回路装置の第４実施形態が搭載する顧客側設計回路の出力端子側の遅延試験及び入力端子側の遅延試験を説明するための回路図である。
【図１８】本発明の半導体集積回路装置の第５実施形態の一部分を示す回路図である。
【図１９】本発明の半導体集積回路装置の第５実施形態が搭載するＩＰマクロの入力端子側の遅延試験を説明するための回路図である。
【図２０】本発明の半導体集積回路装置の第５実施形態が搭載する顧客側設計回路の出力端子側の遅延試験を説明するための回路図である。
【図２１】本発明の半導体集積回路装置の第５実施形態が搭載する顧客側設計回路の入力端子側の遅延試験を説明するための回路図である。
【図２２】本発明の半導体集積回路装置の第５実施形態が搭載するＩＰマクロの出力端子側の遅延試験を説明するための回路図である。
【図２３】本発明の半導体集積回路装置の第６実施形態の一部分を示す回路図である。
【図２４】従来のスキャン試験方法を説明するための図である。
【発明を実施するための形態】
【０００８】
以下、図１〜図２３を参照して、本発明の第１実施形態〜第６実施形態について説明する。本発明は、第１実施形態〜第６実施形態に限定されるものではなく、本発明の要旨を逸脱することなく、種々の形態を取り得るものである。
【０００９】
（第１実施形態）
図１は本発明の半導体集積回路装置の第１実施形態の一部分を示す回路図である。図１中、１０は本発明の半導体集積回路装置の第１実施形態の製造元が顧客に提供した内部回路情報を未公開とするＩＰマクロ、１１は本発明の半導体集積回路装置の第１実施形態の製造元が顧客に提供した内部回路情報が公開されている試験回路、１２は顧客側が設計した顧客側設計回路である。試験回路１１は、ＩＰマクロ１０に対応して設けられたものである。ＩＰマクロ１０と試験回路１１とは一体として顧客に提供される。顧客は、ＩＰマクロ１０及び試験回路１１からなる製造元提供回路に顧客側設計回路１２を追加して回路全体を完成させる。
【００１０】
ＩＰマクロ１０において、１３はロジック回路、１４はスキャン試験を可能とするフリップフロップであるスキャンフリップフロップ、１０Ａはロジック回路１３に対応して設けられた入力端子、ＣＬＫはクロックである。ロジック回路１３及びスキャンフリップフロップ１４以外のＩＰマクロ１０内の回路要素は図示を省略している。
【００１１】
試験回路１１において、１５、１６はフリップフロップ、１７はセレクタ、／ＣＬＫはクロックＣＬＫと逆相関係にある逆相クロック、ＴＥＳＴ１はテスト信号である。テストＴＥＳＴ１は、チップ外部から制御可能とされたものであり、セレクタ１７の選択制御信号入力端子１７Ｃに与えられる。セレクタ１７は、テスト信号ＴＥＳＴ１＝論理０のときは、第１入力端子１７Ａと出力端子１７Ｘとを接続状態とし、テスト信号ＴＥＳＴ１＝論理１のときは、第２入力端子１７Ｂと出力端子１７Ｘとを接続状態とする。
【００１２】
顧客側設計回路１２において、１８はスキャンフリップフロップ、１９はロジック回路、１２Ａはロジック回路１９に対応して設けられた出力端子である。スキャンフリップフロップ１８及びロジック回路１９以外の顧客側設計回路１２内の回路要素は図示を省略している。
【００１３】
スキャンフリップフロップ１４、１８において、Ｄは通常入力端子、ＳＩはスキャン入力端子、ＣＫはクロック入力端子、Ｑは出力端子である。通常入力端子Ｄを有効とするか、スキャン入力端子ＳＩを有効とするかを制御する制御信号を入力するための端子は、図示を省略している。フリップフロップ１５、１６において、Ｄはデータ入力端子、ＣＫはクロック入力端子、Ｑは出力端子である。
【００１４】
図示は省略するが、ＩＰマクロ１０内のスキャンフリップフロップ（スキャンフリップフロップ１４等）と、試験回路１１内の図示しないスキャンフリップフロップとでＩＰマクロ１０及び試験回路１１からなる製造元提供回路側のスキャンチェインが作成されている。顧客側設計回路１２内のスキャンフリップフロップ（スキャンフリップフロップ１８等）で顧客側設計回路１２側のスキャンチェインが作成されている。
【００１５】
スキャンフリップフロップ１８の出力端子Ｑは、ロジック回路１９及び顧客側設計回路１２の出力端子１２Ａを介してセレクタ１７の第１入力端子１７Ａに接続されている。フリップフロップ１５の出力端子Ｑは、セレクタ１７の第２入力端子１７Ｂに接続されている。セレクタ１７の出力端子１７Ｘは、ＩＰマクロ１０の入力端子１０Ａ及びロジック回路１３を介してスキャンフリップフロップ１４の通常入力端子Ｄに接続されると共に、フリップフロップ１６のデータ入力端子Ｄに接続されている。スキャンフリップフロップ１４、１８のクロック入力端子ＣＫにはクロックＣＬＫが与えられる。フリップフロップ１５、１６のクロック入力端子ＣＫには逆相クロック／ＣＬＫが与えられる。
【００１６】
このように構成された本発明の半導体集積回路装置の第１実施形態においては、通常動作時には、テスト信号ＴＥＳＴ１＝論理０とされ、セレクタ１７においては、第１入力端子１７Ａと出力端子１７Ｘとが接続状態とされる。また、次の手順（Ｐ１〜Ｐ３）を実行することにより、顧客側設計回路１２とＩＰマクロ１０との間の接続試験を含めたスキャン試験を行うことができる。この試験は、本発明の半導体集積回路装置の試験方法の第１実施形態に含まれるものである。
【００１７】
（Ｐ１）まず、ＩＰマクロ１０、試験回路１１及び顧客側設計回路１２内のスキャンフリップフロップのスキャン入力端子ＳＩを有効とする。そして、ＩＰマクロ１０及び試験回路１１からなる製造元提供回路内のスキャンチェインを利用してＩＰマクロ１０及び試験回路１１からなる製造元提供回路内のスキャンフリップフロップに試験パタンを設定する。また、顧客側設計回路１２内のスキャンチェインを利用して顧客側設計回路１２内のスキャンフリップフロップにも試験パタンを設定する。
【００１８】
（Ｐ２）次に、ＩＰマクロ１０、試験回路１１及び顧客側設計回路１２内のスキャンフリップフロップの通常入力端子Ｄを有効とする。そして、テスト信号ＴＥＳＴ１＝論理０とし、セレクタ１７においては、第１入力端子１７Ａと出力端子１７Ｘとを接続状態とし、クロックＣＬＫを１クロックだけ与える。このようにすると、スキャンフリップフロップ１８が出力する試験データは、ロジック回路１９、セレクタ１７及びロジック回路１３を介してスキャンフリップフロップ１４に伝送される。
【００１９】
（Ｐ３）次に、ＩＰマクロ１０、試験回路１１及び顧客側設計回路１２内のスキャンフリップフロップのスキャン入力端子ＳＩを有効とする。そして、ＩＰマクロ１０及び試験回路１１からなる製造元提供回路内のスキャンチェインを利用してＩＰマクロ１０及び試験回路１１からなる製造元提供回路内のスキャンフリップフロップの保持データを読み出す。また、顧客側設計回路１２内のスキャンチェインを利用して顧客側設計回路１２内のスキャンフリップフロップの保持データを読み出す。これによって、顧客側設計回路１２とＩＰマクロ１０との間の接続試験を含めたスキャン試験を行うことができる。
【００２０】
ところで、本発明の半導体集積回路装置の第１実施形態においては、スキャンフリップフロップ１８とスキャンフリップフロップ１４との間の遅延、即ち、ロジック回路１９の遅延とセレクタ１７の遅延とロジック回路１３の遅延との合計がクロックＣＬＫで１サイクル以内であることが要求される。そのため、例えば、セレクタ１７の遅延とロジック回路１３の遅延との合計がクロックＣＬＫで半サイクル以内となり、ロジック回路１９の遅延とセレクタ１７の遅延との合計がクロックＣＬＫで半サイクル以内となるように設計することが考えられる。
【００２１】
この場合には、セレクタ１７の遅延とロジック回路１３の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かを試験する必要がある。また、ロジック回路１９の遅延とセレクタ１７の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かを試験する必要がある。以下では、セレクタ１７の遅延とロジック回路１３の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かの試験を「ＩＰマクロ１０の入力端子側の遅延試験」と言う場合がある。また、ロジック回路１９の遅延とセレクタ１７の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かの試験を「顧客側設計回路１２の出力端子側の遅延試験」と言う場合がある。
【００２２】
図２はＩＰマクロ１０の入力端子側の遅延試験を説明するための回路図である。ＩＰマクロ１０の入力端子側の遅延試験を行う場合には、テスト信号ＴＥＳＴ１＝論理１とする。このようにすると、セレクタ１７においては、第２入力端子１７Ｂと出力端子１７Ｘとが接続状態となる。そして、逆相クロック／ＣＬＫに同期させて、フリップフロップ１５から試験データＴＤＡＴＡを出力させる。フリップフロップ１５が出力した試験データＴＤＡＴＡは、セレクタ１７及びロジック回路１３を介してスキャンフリップフロップ１４に伝送されると共に、セレクタ１７を介してフリップフロップ１６に伝送される。
【００２３】
本例では、スキャンフリップフロップ１４にはクロックＣＬＫが与えられ、フリップフロップ１５には逆相クロック／ＣＬＫが与えられるので、セレクタ１７の遅延とロジック回路１３の遅延との合計が半サイクル以内でないと、スキャンフリップフロップ１４は、フリップフロップ１５が出力した試験データＴＤＡＴＡを取り込むことができない。そこで、スキャンフリップフロップ１４の保持データを読み出すことにより、ＩＰマクロ１０の入力端子側の遅延試験を行うことができる。なお、フリップフロップ１５への試験データＴＤＡＴＡの供給と、スキャンフリップフロップ１４の保持データの読み出しは、ＩＰマクロ１０及び試験回路１１からなる製造元提供回路内のスキャンチェインを利用して行うことができる。
【００２４】
図３はＩＰマクロ１０の入力端子側の遅延試験を説明するためのタイミングチャートであり、クロックＣＬＫと、逆相クロック／ＣＬＫと、フリップフロップ（ＦＦ）１５のデータ入力端子Ｄに与えられるデータと、フリップフロップ１５の出力データと、スキャンフリップフロップ（ＳＦＦ）１４の通常入力端子Ｄに与えられるデータと、スキャンフリップフロップ１４の出力データとを示している。（Ａ）はＩＰマクロ１０の入力端子側の遅延試験が合格の場合、（Ｂ）はＩＰマクロ１０の入力端子側の遅延試験が不合格の場合である。
【００２５】
図３（Ａ）の場合、時刻Ｔ１で逆相クロック／ＣＬＫが立ち上がると、フリップフロップ１５は、これを受けて試験データＴＤＡＴＡを出力している。そして、フリップフロップ１５が出力した試験データＴＤＡＴＡは、時刻Ｔ１からクロックＣＬＫで半サイクル後の時刻Ｔ２以前にスキャンフリップフロップ１４の通常入力端子Ｄに達している。なお、Ｔａ１はセレクタ１７の遅延とロジック回路１３の遅延との合計である。この場合には、スキャンフリップフロップ１４は、フリップフロップ１５が出力した試験データＴＤＡＴＡを取り込むことができるはずである。このことは、ＩＰマクロ１０及び試験回路１１からなる製造元提供回路内のスキャンチェインを利用してスキャンフリップフロップ１４の保持データを読み出すことにより確認することができ、この例では、ＩＰマクロ１０の入力端子側の遅延試験は合格と判定される。
【００２６】
図３（Ｂ）の場合、フリップフロップ１５が出力した試験データＴＤＡＴＡは、時刻Ｔ２以前にスキャンフリップフロップ１４の通常入力端子Ｄに達していない。なお、Ｔａ２はセレクタ１７の遅延とロジック回路１３の遅延との合計である。この場合には、スキャンフリップフロップ１４は、フリップフロップ１５が出力した試験データＴＤＡＴＡを取り込むことができないはずである。このことは、ＩＰマクロ１０及び試験回路１１からなる製造元提供回路内のスキャンチェインを利用してスキャンフリップフロップ１４の保持データを読み出すことにより確認することができ、この例では、ＩＰマクロ１０の入力端子側の遅延試験は不合格と判定される。
【００２７】
図４は顧客側設計回路１２の出力端子側の遅延試験を説明するための回路図である。顧客側設計回路１２の出力端子側の遅延試験を行う場合には、テスト信号ＴＥＳＴ１＝論理０とする。このようにすると、セレクタ１７においては、第１入力端子１７Ａと出力端子１７Ｘとが接続状態となる。そして、クロックＣＬＫに同期させてスキャンフリップフロップ１８から試験データＴＤＡＴＡを出力させる。スキャンフリップフロップ１８が出力した試験データＴＤＡＴＡは、ロジック回路１９及びセレクタ１７を介してフリップフロップ１６に伝送されると共に、ロジック回路１９、セレクタ１７及びロジック回路１３を介してスキャンフリップフロップ１４に伝送される。
【００２８】
本例では、スキャンフリップフロップ１８にはクロックＣＬＫが与えられ、フリップフロップ１６には逆相クロック／ＣＬＫが与えられるので、ロジック回路１９の遅延とセレクタ１７の遅延との合計が半サイクル以内でないと、フリップフロップ１６は、スキャンフリップフロップ１８が出力した試験データＴＤＡＴＡを取り込むことができない。そこで、フリップフロップ１６の保持データを読み出すことにより、顧客側設計回路１２の出力端子側の遅延試験を行うことができる。なお、スキャンフリップフロップ１８への試験データＴＤＡＴＡの供給は、顧客側設計回路１２内のスキャンチェインを利用して行うことができ、フリップフロップ１６の保持データの読み出しは、ＩＰマクロ１０及び試験回路１１からなる製造元提供回路内のスキャンチェインを利用して行うことができる。
【００２９】
図５は顧客側設計回路１２の出力端子側の遅延試験を説明するためのタイミングチャートであり、クロックＣＬＫと、逆相クロック／ＣＬＫと、スキャンフリップフロップ１８の出力データと、フリップフロップ１６のデータ入力端子Ｄに与えられるデータと、フリップフロップ１６の出力データとを示している。（Ａ）は顧客側設計回路１２の出力端子側の遅延試験が合格の場合、（Ｂ）は顧客側設計回路１２の出力端子側の遅延試験が不合格の場合である。
【００３０】
図５（Ａ）の場合、時刻Ｔ３でクロックＣＬＫが立ち上がると、スキャンフリップフロップ１８は、これを受けて試験データＴＤＡＴＡを出力している。そして、スキャンフリップフロップ１８が出力した試験データＴＤＡＴＡは、時刻Ｔ３からクロックＣＬＫで半サイクル後の時刻Ｔ４以前にフリップフロップ１６のデータ入力端子Ｄに達している。なお、Ｔｂ１はロジック回路１９の遅延とセレクタ１７の遅延との合計である。この場合には、フリップフロップ１６は、スキャンフリップフロップ１８が出力した試験データＴＤＡＴＡを取り込むことができるはずである。このことは、ＩＰマクロ１０及び試験回路１１からなる製造元提供回路内のスキャンチェインを利用し、フリップフロップ１６の保持データを読み出すことにより確認することができ、この例では、顧客側設計回路１２の出力端子側の遅延試験は合格と判定される。
【００３１】
図５（Ｂ）の場合、スキャンフリップフロップ１８が出力した試験データＴＤＡＴＡは、時刻Ｔ４以前にフリップフロップ１６のデータ入力端子Ｄに達していない。なお、Ｔｂ２はロジック回路１９の遅延とセレクタ１７の遅延との合計である。この場合には、フリップフロップ１６は、スキャンフリップフロップ１８が出力した試験データＴＤＡＴＡを取り込むことができないはずである。このことは、ＩＰマクロ１０及び試験回路１１からなる製造元提供回路内のスキャンチェインを利用し、フリップフロップ１６の保持データを読み出すことにより確認することができ、この例では、顧客側設計回路１２の出力端子側の遅延試験は不合格と判定される。
【００３２】
以上のように、本発明の半導体集積回路装置の第１実施形態によれば、フリップフロップ１５、１６とセレクタ１７とを有する試験回路１１を設けているので、顧客側設計回路１２とＩＰマクロ１０との間の接続試験を含めたスキャン試験と、ＩＰマクロ１０の入力端子側の遅延試験及び顧客側設計回路１２の出力端子側の遅延試験による顧客側設計回路１２とＩＰマクロ１０との間の遅延試験を行うことができる。
【００３３】
（第２実施形態）
図６は本発明の半導体集積回路装置の第２実施形態の一部分を示す回路図である。図６中、３０は本発明の半導体集積回路装置の第２実施形態の製造元が顧客に提供した内部回路情報を未公開とするＩＰマクロ、３１は本発明の半導体集積回路装置の第２実施形態の製造元が顧客に提供した内部回路情報が公開されている試験回路、３２は顧客側が設計した顧客側設計回路である。試験回路３１は、ＩＰマクロ３０に対応して設けられたものである。ＩＰマクロ３０と試験回路３１とは一体として顧客に提供される。顧客は、ＩＰマクロ３０及び試験回路３１からなる製造元提供回路に顧客側設計回路３２を追加して回路全体を完成させる。
【００３４】
ＩＰマクロ３０において、３３はロジック回路、３４はスキャンフリップフロップ、３０Ａはロジック回路３３に対応して設けられた出力端子である。ロジック回路３３及びスキャンフリップフロップ３４以外のＩＰマクロ３０内の回路要素は図示を省略している。
【００３５】
試験回路３１において、３５、３６はフリップフロップ、３７はセレクタ、ＴＥＳＴ２はテスト信号である。テスト信号ＴＥＳＴ２は、チップ外部から制御可能とされたものであり、セレクタ３７の選択制御信号入力端子３７Ｃに与えられる。セレクタ３７は、テスト信号ＴＥＳＴ２＝論理０のときは、第１入力端子３７Ａと出力端子３７Ｘとを接続状態とし、テスト信号ＴＥＳＴ２＝論理１のときは、第２入力端子３７Ｂと出力端子３７Ｘとを接続状態とする。
【００３６】
顧客側設計回路３２において、３８はスキャンフリップフロップ、３９はロジック回路、３２Ａはロジック回路３９に対応して設けられた入力端子である。スキャンフリップフロップ３８及びロジック回路３９以外の顧客側設計回路３２内の回路要素は図示を省略している。
【００３７】
フリップフロップ３４、３８において、Ｄは通常入力端子、ＳＩはスキャン入力端子、ＣＫはクロック入力端子、Ｑは出力端子である。通常入力端子Ｄを有効とするか、スキャン入力端子ＳＩを有効とするかを制御する制御信号を入力するための端子は、図示を省略している。フリップフロップ３５、３６において、Ｄはデータ入力端子、ＣＫはクロック入力端子、Ｑは出力端子である。
【００３８】
図示は省略するが、ＩＰマクロ３０内のスキャンフリップフロップ（スキャンフリップフロップ３４等）と、試験回路３１内の図示しないスキャンフリップフロップとでＩＰマクロ３０及び試験回路３１からなる製造元提供回路側のスキャンチェインが作成されている。顧客側設計回路３２内のスキャンフリップフロップ（スキャンフリップフロップ３８等）で顧客側設計回路３２側のスキャンチェインが作成されている。
【００３９】
スキャンフリップフロップ３４の出力端子Ｑは、ロジック回路３３及びＩＰマクロ３０の出力端子３０Ａを介してセレクタ３７の第１入力端子３７Ａに接続されている。フリップフロップ３５の出力端子Ｑは、セレクタ３７の第２入力端子３７Ｂに接続されている。セレクタ３７の出力端子３７Ｘは、顧客側設計回路３２の入力端子３２Ａ及びロジック回路３９を介してスキャンフリップフロップ３８の通常入力端子Ｄに接続されると共に、フリップフロップ３６のデータ入力端子Ｄに接続されている。スキャンフリップフロップ３４、３８のクロック入力端子ＣＫにはクロックＣＬＫが与えられる。フリップフロップ３５、３６のクロック入力端子ＣＫには逆相クロック／ＣＬＫが与えられる。
【００４０】
このように構成された本発明の半導体集積回路装置の第２実施形態においては、通常動作時には、テスト信号ＴＥＳＴ２＝論理０とされ、セレクタ３７においては、第１入力端子３７Ａと出力端子３７Ｘとが接続状態とされる。また、次の手順（Ｑ１〜Ｑ３）を実行することにより、ＩＰマクロ３０と顧客側設計回路３２との間の接続試験を含めたスキャン試験を行うことができる。この試験は、本発明の半導体集積回路装置の試験方法の第２実施形態に含まれるものである。
【００４１】
（Ｑ１）まず、ＩＰマクロ３０、試験回路３１及び顧客側設計回路３２内のスキャンフリップフロップのスキャン入力端子ＳＩを有効とする。そして、ＩＰマクロ３０及び試験回路３１からなる製造元提供回路内のスキャンチェインを利用してＩＰマクロ３０及び試験回路３１からなる製造元提供回路内のスキャンフリップフロップに試験パタンを設定する。また、顧客側設計回路３２内のスキャンチェインを利用して顧客側設計回路３２内のスキャンフリップフロップにも試験パタンを設定する。
【００４２】
（Ｑ２）次に、ＩＰマクロ３０、試験回路３１及び顧客側設計回路３２内のスキャンフリップフロップの通常入力端子Ｄを有効とする。そして、テスト信号ＴＥＳＴ２＝論理０とし、セレクタ３７においては、第１入力端子３７Ａと出力端子３７Ｘとを接続状態とし、クロックＣＬＫを１クロックだけ与える。このようにすると、スキャンフリップフロップ３４が出力する試験データは、ロジック回路３３、セレクタ３７及びロジック回路３９を介してスキャンフリップフロップ３８に伝送されると共に、ロジック回路３３及びセレクタ３７を介してフリップフロップ３６に伝送される。
【００４３】
（Ｑ３）次に、ＩＰマクロ３０、試験回路３１及び顧客側設計回路３２内のスキャンフリップフロップのスキャン入力端子ＳＩを有効とする。そして、ＩＰマクロ３０及び試験回路３１からなる製造元提供回路内のスキャンチェインを利用してＩＰマクロ３０及び試験回路３１からなる製造元提供回路内のスキャンフリップフロップの保持データを読み出す。また、顧客側設計回路３２内のスキャンチェインを利用して顧客側設計回路３２内のスキャンフリップフロップの保持データを読み出す。これによって、ＩＰマクロ３０と顧客側設計回路３２との間の接続試験を含めたスキャン試験を行うことができる。
【００４４】
ところで、本発明の半導体集積回路装置の第２実施形態においては、スキャンフリップフロップ３４とスキャンフリップフロップ３８との間の遅延、即ち、ロジック回路３３の遅延とセレクタ３７の遅延とロジック回路３９の遅延との合計がクロックＣＬＫで１サイクル以内であることが要求される。そのため、例えば、セレクタ３７の遅延とロジック回路３９の遅延との合計がクロックＣＬＫで半サイクル以内となり、ロジック回路３３の遅延とセレクタ３７の遅延との合計がクロックＣＬＫで半サイクル以内となるように設計することが考えられる。
【００４５】
この場合には、セレクタ３７の遅延とロジック回路３９の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かを試験する必要がある。また、ロジック回路３３の遅延とセレクタ３７の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かを試験する必要がある。以下では、セレクタ３７の遅延とロジック回路３９の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かの試験を「顧客側設計回路３２の入力端子側の遅延試験」と言う場合がある。また、ロジック回路３３の遅延とセレクタ３７の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かの試験を「ＩＰマクロ３０の出力端子側の遅延試験」と言う場合がある。
【００４６】
図７は顧客側設計回路３２の入力端子側の遅延試験を説明するための回路図である。顧客側設計回路３２の入力端子側の遅延試験を行う場合には、テスト信号ＴＥＳＴ２＝論理１とする。このようにすると、セレクタ３７においては、第２入力端子３７Ｂと出力端子３７Ｘとが接続状態となる。そして、逆相クロック／ＣＬＫに同期させて、フリップフロップ３５から試験データＴＤＡＴＡを出力させる。フリップフロップ３５が出力した試験データＴＤＡＴＡは、セレクタ３７及びロジック回路３９を介してスキャンフリップフロップ３８に伝送されると共に、セレクタ３７を介してフリップフロップ３６に伝送される。
【００４７】
本例では、スキャンフリップフロップ３８にはクロックＣＬＫが与えられ、フリップフロップ３５には逆相クロック／ＣＬＫが与えられるので、セレクタ３７の遅延とロジック回路３９の遅延との合計が半サイクル以内でないと、スキャンフリップフロップ３８は、フリップフロップ３５が出力した試験データＴＤＡＴＡを取り込むことができない。そこで、スキャンフリップフロップ３８の保持データを読み出すことにより、顧客側設計回路３２の入力端子側の遅延試験を行うことができる。なお、フリップフロップ３５への試験データＴＤＡＴＡの供給は、ＩＰマクロ３０及び試験回路３１からなる製造元提供回路内のスキャンチェインを利用して行うことができ、スキャンフリップフロップ３８の保持データの読み出しは、顧客側設計回路３２内のスキャンチェインを利用して行うことができる。
【００４８】
図８は顧客側設計回路３２の入力端子側の遅延試験を説明するためのタイミングチャートであり、クロックＣＬＫと、逆相クロック／ＣＬＫと、フリップフロップ３５のデータ入力端子Ｄに与えられるデータと、フリップフロップ３５の出力データと、スキャンフリップフロップ３８の通常入力端子Ｄに与えられるデータと、スキャンフリップフロップ３８の出力データとを示している。（Ａ）は顧客側設計回路３２の入力端子側の遅延試験が合格の場合、（Ｂ）は顧客側設計回路３２の入力端子側の遅延試験が不合格の場合である。
【００４９】
図８（Ａ）の場合、時刻Ｔ５で逆相クロック／ＣＬＫが立ち上がると、フリップフロップ３５は、これを受けて試験データＴＤＡＴＡを出力している。そして、フリップフロップ３５が出力した試験データＴＤＡＴＡは、時刻Ｔ５からクロックＣＬＫで半サイクル後の時刻Ｔ６以前にスキャンフリップフロップ３８の通常入力端子Ｄに達している。なお、Ｔｃ１はセレクタ３７の遅延とロジック回路３９の遅延との合計である。この場合には、スキャンフリップフロップ３８は、フリップフロップ３５が出力した試験データＴＤＡＴＡを取り込むことができるはずである。このことは、顧客側設計回路３２内のスキャンチェインを利用してスキャンフリップフロップ３８の保持データを読み出すことにより確認することができ、この例では、顧客側設計回路３２の入力端子側の遅延試験は合格と判定される。
【００５０】
図８（Ｂ）の場合、フリップフロップ３５が出力した試験データＴＤＡＴＡは、時刻Ｔ６以前にスキャンフリップフロップ３８の通常入力端子Ｄに達していない。なお、Ｔｃ２はセレクタ３７の遅延とロジック回路３９の遅延との合計である。この場合には、スキャンフリップフロップ３８は、フリップフロップ３５が出力した試験データＴＤＡＴＡを取り込むことができないはずである。このことは、顧客側設計回路３２内のスキャンチェインを利用してスキャンフリップフロップ３８の保持データを読み出すことにより確認することができ、この例では、顧客側設計回路３２の入力端子側の遅延試験は不合格と判定される。
【００５１】
図９はＩＰマクロ３０の出力端子側の遅延試験を説明するための回路図である。ＩＰマクロ３０の出力端子側の遅延試験を行う場合には、テスト信号ＴＥＳＴ２＝論理０とする。このようにすると、セレクタ３７においては、第１入力端子３７Ａと出力端子３７Ｘとが接続状態となる。そして、クロックＣＬＫに同期させてスキャンフリップフロップ３４から試験データＴＤＡＴＡを出力させる。スキャンフリップフロップ３４が出力した試験データＴＤＡＴＡは、ロジック回路３３及びセレクタ３７を介してフリップフロップ３６に伝送されると共に、ロジック回路３３、セレクタ３７及びロジック回路３９を介してスキャンフリップフロップ３８に伝送される。
【００５２】
本例では、スキャンフリップフロップ３４にはクロックＣＬＫが与えられ、フリップフロップ３６には逆相クロック／ＣＬＫが与えられるので、ロジック回路３３の遅延とセレクタ３７の遅延との合計が半サイクル以内でないと、フリップフロップ３６は、スキャンフリップフロップ３４が出力した試験データＴＤＡＴＡを取り込むことができない。そこで、フリップフロップ３６の保持データを読み出すことにより、ＩＰマクロ３０の出力端子側の遅延試験を行うことができる。なお、スキャンフリップフロップ３４への試験データＴＤＡＴＡの供給と、フリップフロップ３６の保持データの読み出しは、ＩＰマクロ３０及び試験回路３１からなる製造元提供回路内のスキャンチェインを利用して行うことができる。
【００５３】
図１０はＩＰマクロ３０の出力端子側の遅延試験を説明するためのタイミングチャートであり、クロックＣＬＫと、逆相クロック／ＣＬＫと、スキャンフリップフロップ３４の出力データと、フリップフロップ３６のデータ入力端子Ｄに与えられるデータと、フリップフロップ３６の出力データとを示している。（Ａ）はＩＰマクロ３０の出力端子側の遅延試験が合格の場合、（Ｂ）はＩＰマクロ３０の出力端子側の遅延試験が不合格の場合である。
【００５４】
図１０（Ａ）の場合、時刻Ｔ７でクロックＣＬＫが立ち上がると、スキャンフリップフロップ３４は、これを受けて試験データＴＤＡＴＡを出力している。そして、スキャンフリップフロップ３４が出力した試験データＴＤＡＴＡは、時刻Ｔ７からクロックＣＬＫで半サイクル後の時刻Ｔ８以前にフリップフロップ３６のデータ入力端子Ｄに達している。なお、Ｔｄ１はロジック回路３３の遅延とセレクタ３７の遅延との合計である。この場合には、フリップフロップ３６は、スキャンフリップフロップ３４が出力した試験データＴＤＡＴＡを取り込むことができるはずである。このことは、ＩＰマクロ３０及び試験回路３１からなる製造元提供回路内のスキャンチェインを利用してフリップフロップ３６の保持データを読み出すことにより確認することができ、この例では、ＩＰマクロ３０の出力端子側の遅延試験は合格と判定される。
【００５５】
図１０（Ｂ）の場合、スキャンフリップフロップ３４が出力した試験データＴＤＡＴＡは、時刻Ｔ８以前にフリップフロップ３６のデータ入力端子Ｄに達していない。なお、Ｔｄ２はロジック回路３３の遅延とセレクタ３７の遅延との合計である。この場合には、フリップフロップ３６は、スキャンフリップフロップ３４が出力した試験データＴＤＡＴＡを取り込むことができないはずである。このことは、ＩＰマクロ３０及び試験回路３１からなる製造元提供回路内のスキャンチェインを利用し、フリップフロップ３６の保持データを読み出すことにより確認することができ、この例では、ＩＰマクロ３０の出力端子側の遅延試験は不合格と判定される。
【００５６】
以上のように、本発明の半導体集積回路装置の第２実施形態によれば、フリップフロップ３５、３６とセレクタ３７とを有する試験回路３１を設けているので、ＩＰマクロ３０と顧客側設計回路３２との間の接続試験を含めたスキャン試験と、顧客側設計回路３２の入力端子側の遅延試験及びＩＰマクロ３０の出力端子側の遅延試験によるＩＰマクロ３０と顧客側設計回路３２との間の遅延試験を行うことができる。
【００５７】
なお、本発明の半導体集積回路装置の第１実施形態においては、ＩＰマクロ１０に対応して試験回路１１を設け、本発明の半導体集積回路装置の第２実施形態においては、ＩＰマクロ３０に対応して試験回路３１を設けているが、半導体集積回路装置の製造元が顧客に提供する内部情報未公開のＩＰマクロに対応して試験回路１１、３１を設けるように構成することもできる。
【００５８】
（第３実施形態）
図１１は本発明の半導体集積回路装置の第３実施形態の一部分を示す回路図である。図１１中、５０は本発明の半導体集積回路装置の第３実施形態の製造元が顧客に提供した内部回路情報を未公開とするＩＰマクロ、５１は本発明の半導体集積回路装置の第３実施形態の製造元が顧客に提供した内部回路情報が公開されている試験回路、５２は顧客側が設計した顧客側設計回路である。試験回路５１は、ＩＰマクロ５０に対応して設けられたものである。ＩＰマクロ５０と試験回路５１とは一体として顧客に提供される。顧客は、ＩＰマクロ５０及び試験回路５１からなる製造元提供回路に顧客側設計回路５２を追加して回路全体を完成させる。
【００５９】
ＩＰマクロ５０において、５３、５４はロジック回路、５５、５６はスキャンフリップフロップ、５０Ａはロジック回路５３に対応して設けられた入力端子、５０Ｂはロジック回路５４に対応して設けられた出力端子である。ロジック回路５３、５４及びスキャンフリップフロップ５５、５６以外のＩＰマクロ５０内の回路要素は図示を省略している。
【００６０】
試験回路５１において、５７はインバータである。インバータ５７は、クロックＣＬＫを入力して逆相クロック／ＣＬＫを生成するものである。５８、５９はフリップフロップ、６０はスキャンフリップフロップ、６１はセレクタ、ＴＥＳＴ３はテスト信号である。テスト信号ＴＥＳＴ３は、チップ外部から制御可能とされたものであり、セレクタ６１の選択制御信号入力端子６１Ｃに与えられる。セレクタ６１は、テスト信号ＴＥＳＴ３＝論理０のときは、第１入力端子６１Ａと出力端子６１Ｘとを接続状態とし、テスト信号ＴＥＳＴ３＝論理１のときは、第２入力端子６１Ｂと出力端子６１Ｘとを接続状態とする。
【００６１】
顧客側設計回路５２において、６２はスキャンフリップフロップ、６３はロジック回路、５２Ａはロジック回路６３に対応して設けられた出力端子である。スキャンフリップフロップ６２及びロジック回路６３以外の顧客側設計回路５２内の回路要素は図示を省略している。
【００６２】
スキャンフリップフロップ５５、５６、６０、６２において、Ｄは通常入力端子、ＳＩはスキャン入力端子、ＣＫはクロック入力端子、Ｑは出力端子である。通常入力端子Ｄを有効とするか、スキャン入力端子ＳＩを有効とするかを制御する制御信号を入力するための端子は、図示を省略している。フリップフロップ５８、５９において、Ｄはデータ入力端子、ＣＫはクロック入力端子、Ｑは出力端子である。
【００６３】
図示は省略するが、ＩＰマクロ５０内のスキャンフリップフロップ（スキャンフリップフロップ５５、５６等）と、試験回路５１内のスキャンフリップフロップ６０とでＩＰマクロ５０及び試験回路５１からなる製造元提供回路側のスキャンチェインが作成されている。顧客側設計回路５２内のスキャンフリップフロップ（スキャンフリップフロップ６２等）で顧客側設計回路５２側のスキャンチェインが作成されている。
【００６４】
スキャンフリップフロップ６２の出力端子Ｑは、ロジック回路６３及び顧客側設計回路５２の出力端子５２Ａを介してセレクタ６１の第１入力端子６１Ａに接続されている。フリップフロップ５９の出力端子Ｑは、セレクタ６１の第２入力端子６１Ｂに接続されている。セレクタ６１の出力端子６１Ｘは、ＩＰマクロ５０の入力端子５０Ａ及びロジック回路５３を介してスキャンフリップフロップ５５の通常入力端子Ｄに接続されている。
【００６５】
スキャンフリップフロップ５６の出力端子Ｑは、ロジック回路５４及びＩＰマクロ５０の出力端子５０Ｂを介してフリップフロップ５８の通常入力端子Ｄ及び顧客側設計回路５２内の図示しないロジック回路を介して顧客側設計回路５２内の図示しないスキャンフリップフロップに接続されている。フリップフロップ５８の出力端子Ｑは、スキャンフリップフロップ６０の通常入力端子Ｄに接続されている。スキャンフリップフロップ６０の出力端子Ｑは、フリップフロップ５９のデータ入力端子Ｄに接続されている。スキャンフリップフロップ５５、５６、６０、６２のクロック入力端子ＣＫにはクロックＣＬＫが与えられる。フリップフロップ５８、５９のクロック入力端子ＣＫには逆相クロック／ＣＬＫが与えられる。
【００６６】
このように構成された本発明の半導体集積回路装置の第３実施形態においては、通常動作時には、テスト信号ＴＥＳＴ３＝論理０とされ、セレクタ６１においては、第１入力端子６１Ａと出力端子６１Ｘとが接続状態とされる。また、次の手順（Ｒ１〜Ｒ３）を実行することにより、顧客側設計回路５２とＩＰマクロ５０との間の接続試験を含めたスキャン試験を行うことができる。この試験は、本発明の半導体集積回路装置の試験方法の第３実施形態に含まれるものである。
【００６７】
（Ｒ１）まず、ＩＰマクロ５０、試験回路５１及び顧客側設計回路５２内のスキャンフリップフロップのスキャン入力端子ＳＩを有効とする。そして、ＩＰマクロ５０及び試験回路５１からなる製造元提供回路内のスキャンチェインを利用してＩＰマクロ５０及び試験回路５１からなる製造元提供回路内のスキャンフリップフロップに試験パタンを設定する。また、顧客側設計回路５２内のスキャンチェインを利用して顧客側設計回路５２内のスキャンフリップフロップにも試験パタンを設定する。
【００６８】
（Ｒ２）次に、ＩＰマクロ５０、試験回路５１及び顧客側設計回路５２内のスキャンフリップフロップの通常入力端子Ｄを有効とする。そして、テスト信号ＴＥＳＴ３＝論理０とし、セレクタ６１においては、第１入力端子６１Ａと出力端子６１Ｘとを接続状態とし、クロックＣＬＫを１クロックだけ与える。このようにすると、スキャンフリップフロップ６２が出力する試験データは、ロジック回路６３、セレクタ６１及びロジック回路５３を介してスキャンフリップフロップ５５に伝送される。
【００６９】
（Ｒ３）次に、ＩＰマクロ５０、試験回路５１及び顧客側設計回路５２内のスキャンフリップフロップのスキャン入力端子ＳＩを有効とする。そして、ＩＰマクロ５０及び試験回路５１からなる製造元提供回路内のスキャンチェインを利用してＩＰマクロ５０及び試験回路５１からなる製造元提供回路内のスキャンフリップフロップの保持データを読み出す。また、顧客側設計回路５２内のスキャンチェインを利用して顧客側設計回路５２内のスキャンフリップフロップの保持データを読み出す。これによって、顧客側設計回路５２とＩＰマクロ５０との間の接続試験を含めたスキャン試験を行うことができる。
【００７０】
ところで、本発明の半導体集積回路装置の第３実施形態においては、スキャンフリップフロップ６２とスキャンフリップフロップ５５との間の遅延、即ち、ロジック回路６３の遅延とセレクタ６１の遅延とロジック回路５３の遅延との合計がクロックＣＬＫで１サイクル以内であることが要求される。そのため、例えば、セレクタ６１の遅延とロジック回路５３の遅延との合計がクロックＣＬＫで半サイクル以内となり、ロジック回路６３の遅延とセレクタ６１の遅延との合計がクロックＣＬＫで半サイクル以内となるように設計することが考えられる。
【００７１】
本発明の半導体集積回路装置の第３実施形態においては、セレクタ６１の遅延とロジック回路５３の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かの試験と、ロジック回路５４の遅延がクロックＣＬＫで半サイクル以内となっているか否かの試験を行うことができる。以下では、セレクタ６１の遅延とロジック回路５３の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かの試験を「ＩＰマクロ５０の入力端子側の遅延試験」と言い、ロジック回路５４の遅延がクロックＣＬＫで半サイクル以内となっているか否かの試験を「ＩＰマクロ５０の出力端子側の遅延試験」という場合がある。
【００７２】
図１２はＩＰマクロ５０の入力端子側の遅延試験を説明するための回路図である。ＩＰマクロ５０の入力端子側の遅延試験を行う場合には、テスト信号ＴＥＳＴ３＝論理１とする。このようにすると、セレクタ６１においては、第２入力端子６１Ｂと出力端子６１Ｘとが接続状態となる。そして、スキャンフリップフロップ６０から試験データＴＤＡＴＡを出力させる。スキャンフリップフロップ６０が出力した試験データＴＤＡＴＡは、フリップフロップ５９に取り込まれ、フリップフロップ５９が出力する試験データＴＤＡＴＡは、セレクタ６１及びロジック回路５３を介してスキャンフリップフロップ５５に伝送される。
【００７３】
本例では、スキャンフリップフロップ６０にはクロックＣＬＫが与えられ、フリップフロップ５９には逆相クロック／ＣＬＫが与えられるので、フリップフロップ５９が出力する試験データＴＤＡＴＡは、スキャンフリップフロップ６０が出力する試験データＴＤＡＴＡよりもクロックＣＬＫで半サイクル遅延したものとなる。この結果、セレクタ６１の遅延とロジック回路５３の遅延との合計が半サイクル以内でないと、スキャンフリップフロップ５５は、フリップフロップ５９が出力した試験データＴＤＡＴＡを取り込むことができない。そこで、スキャンフリップフロップ５５の保持データを読み出すことにより、ＩＰマクロ５０の入力端子側の遅延試験を行うことができる。なお、スキャンフリップフロップ６０への試験データＴＤＡＴＡの供給と、スキャンフリップフロップ５５の保持データの読み出しは、ＩＰマクロ５０及び試験回路５１からなる製造元提供回路内のスキャンチェインを利用して行うことができる。
【００７４】
図１３はＩＰマクロ５０の出力端子側の遅延試験を説明するための回路図である。ＩＰマクロ５０の出力端子側の遅延試験を行う場合には、スキャンフリップフロップ５６から試験データＴＤＡＴＡを出力させる。スキャンフリップフロップ５６が出力した試験データＴＤＡＴＡは、ロジック回路５４を介してフリップフロップ５８に伝送されると共に、顧客側設計回路５２に伝送される。
【００７５】
本例では、スキャンフリップフロップ５６にはクロックＣＬＫが与えられ、フリップフロップ５８には逆相クロック／ＣＬＫが与えられるので、ロジック回路５４の遅延がクロックＣＬＫで半サイクル以内でないと、フリップフロップ５８は、スキャンフリップフロップ５６が出力した試験データＴＤＡＴＡを取り込むことができない。そこで、フリップフロップ５８の保持データをスキャンフリップフロップ６０で取り込んで、ＩＰマクロ５０及び試験回路５１からなる製造元提供回路内のスキャンチェインを利用して読み出すことにより、ＩＰマクロ５０の出力端子側の遅延試験を行うことができる。
【００７６】
以上のように、本発明の半導体集積回路装置の第３実施形態によれば、インバータ５７と、フリップフロップ５８、５９と、スキャンフリップフロップ６０と、セレクタ６１とを有する試験回路５１を設けているので、ＩＰマクロ５０の入力端子側の遅延試験と、ＩＰマクロ５０の出力端子側の遅延試験とを行うことができる。
【００７７】
（第４実施形態）
図１４は本発明の半導体集積回路装置の第４実施形態の一部分を示す回路図である。図１４中、７０は本発明の半導体集積回路装置の第４実施形態の製造元が顧客に提供した内部回路情報を未公開とするＩＰマクロ、７１は本発明の半導体集積回路装置の第４実施形態の製造元が顧客に提供した内部回路情報が公開されている試験回路、７２は顧客側が設計した顧客側設計回路である。試験回路７１は、ＩＰマクロ７０に対応して設けられたものである。ＩＰマクロ７０と試験回路７１とは一体として顧客に提供される。顧客は、ＩＰマクロ７０及び試験回路７１からなる製造元提供回路に顧客側設計回路７２を追加して回路全体を完成させる。
【００７８】
ＩＰマクロ７０において、７３、７４はロジック回路、７５、７６はスキャンフリップフロップ、７０Ａはロジック回路７３に対応して設けられた入力端子、７０Ｂはロジック回路７４に対応して設けられた出力端子である。ロジック回路７３、７４及びスキャンフリップフロップ７５、７６以外のＩＰマクロ７０内の回路要素は図示を省略している。
【００７９】
試験回路７１において、７７はインバータである。インバータ７７は、クロックＣＬＫを反転して逆相クロック／ＣＬＫを生成するものである。７８〜８０はフリップフロップ、８２はスキャンフリップフロップ、８３、８４はセレクタ、ＴＥＳＴ４、ＴＥＳＴ５はチップ外部から制御可能とされたテスト信号である。テストＴＥＳＴ４はセレクタ８３の選択制御信号入力端子８３Ｃに与えられる。テスト信号ＴＥＳＴ５はセレクタ８４の選択制御信号入力端子８４Ｃに与えられる。
【００８０】
セレクタ８３は、テスト信号ＴＥＳＴ４＝論理０のときは、第１入力端子８３Ａと出力端子８３Ｘとを接続状態とし、テスト信号ＴＥＳＴ４＝論理１のときは、第２入力端子８３Ｂと出力端子８３Ｘとを接続状態とする。セレクタ８４は、テスト信号ＴＥＳＴ５＝論理０のときは、第１入力端子８４Ａと出力端子８４Ｘとを接続状態とし、テスト信号ＴＥＳＴ５＝論理１のときは、第２入力端子８４Ｂと出力端子８４Ｘとを接続状態とする。
【００８１】
顧客側設計回路７２において、８５、８６はスキャンフリップフロップ、８７、８８はロジック回路、７２Ａはロジック回路８７に対応して設けられた出力端子、７２Ｂはロジック回路８８に対応して設けられた入力端子である。スキャンフリップフロップ８５、８６及びロジック回路８７、８８以外の顧客側設計回路７２内の回路要素は図示を省略している。
【００８２】
スキャンフリップフロップ７５、７６、８２、８５、８６において、Ｄは通常入力端子、ＳＩはスキャン入力端子、ＣＫはクロック入力端子、Ｑは出力端子である。通常入力端子Ｄを有効とするか、スキャン入力端子ＳＩを有効とするかを制御する制御信号を入力するための端子は、図示を省略している。フリップフロップ７８〜８０において、Ｄはデータ入力端子、ＣＫはクロック入力端子、Ｑは出力端子である。
【００８３】
図示は省略するが、ＩＰマクロ７０内のスキャンフリップフロップ（スキャンフリップフロップ７５、７６等）と、試験回路７１内のスキャンフリップフロップ８２とでＩＰマクロ７０及び試験回路７１からなる製造元提供回路側のスキャンチェインが作成されている。顧客側設計回路７２内のスキャンフリップフロップ（スキャンフリップフロップ８５、８６等）で顧客側設計回路７２側のスキャンチェインが作成されている。
【００８４】
スキャンフリップフロップ８５の出力端子Ｑは、ロジック回路８７及び顧客側設計回路７２の出力端子７２Ａを介してセレクタ８３の第１入力端子８３Ａに接続されている。フリップフロップ７８の出力端子Ｑは、セレクタ８３の第２入力端子８３Ｂに接続されている。セレクタ８３の出力端子８３Ｘは、ＩＰマクロ７０の入力端子７０Ａ及びロジック回路７３を介してスキャンフリップフロップ７５の通常入力端子Ｄに接続されると共に、フリップフロップ７９のデータ入力端子Ｄに接続されている。
【００８５】
スキャンフリップフロップ７６の出力端子Ｑは、ロジック回路７４及びＩＰマクロ７０の出力端子７０Ｂを介してセレクタ８４の第１入力端子８４Ａ及びフリップフロップ８０のデータ入力端子Ｄに接続されている。フリップフロップ７９の出力端子Ｑは、セレクタ８４の第２入力端子８４Ｂに接続されている。セレクタ８４の出力端子８４Ｘは、顧客側設計回路７２の入力端子７２Ｂ及びロジック回路８８を介してスキャンフリップフロップ８６の通常入力端子Ｄに接続されている。スキャンフリップフロップ７５、７６、８２、８５、８６のクロック入力端子ＣＫにはクロックＣＬＫが与えられる。フリップフロップ７８〜８０のクロック入力端子ＣＫには逆相クロック／ＣＬＫが与えられる。
【００８６】
このように構成された本発明の半導体集積回路装置の第４実施形態においては、通常動作時には、テスト信号ＴＥＳＴ４＝論理０とされ、セレクタ８３においては、第１入力端子８３Ａと出力端子８３Ｘとが接続状態とされる。また、テスト信号ＴＥＳＴ５＝論理０とされ、セレクタ８４においては、第１入力端子８４Ａと出力端子８４Ｘとが接続状態とされる。また、次の手順（Ｓ１〜Ｓ３）を実行することにより、顧客側設計回路７２とＩＰマクロ７０との間の接続試験を含めたスキャン試験を行うことができる。この試験は、本発明の半導体集積回路装置の試験方法の第４実施形態に含まれるものである。
【００８７】
（Ｓ１）まず、ＩＰマクロ７０、試験回路７１及び顧客側設計回路７２内のスキャンフリップフロップのスキャン入力端子ＳＩを有効とする。そして、ＩＰマクロ７０及び試験回路７１からなる製造元提供回路内のスキャンチェインを利用してＩＰマクロ７０及び試験回路７１からなる製造元提供回路内のスキャンフリップフロップに試験パタンを設定する。また、顧客側設計回路７２内のスキャンチェインを利用して顧客側設計回路７２内のスキャンフリップフロップにも試験パタンを設定する。
【００８８】
（Ｓ２）次に、ＩＰマクロ７０、試験回路７１及び顧客側設計回路７２内のスキャンフリップフロップの通常入力端子Ｄを有効とする。そして、テスト信号ＴＥＳＴ４＝論理０とし、セレクタ８３においては、第１入力端子８３Ａと出力端子８３Ｘとを接続状態とする。また、テスト信号ＴＥＳＴ５＝論理０とし、セレクタ８４においては、第１入力端子８４Ａと出力端子８４Ｘとを接続状態とする。そして、クロックＣＬＫを１クロックだけ与える。
【００８９】
このようにすると、スキャンフリップフロップ８５が出力する試験データは、ロジック回路８７、セレクタ８３及びロジック回路７３を介してスキャンフリップフロップ７５に伝送される。また、スキャンフリップフロップ７６が出力する試験データは、ロジック回路７４、セレクタ８４及びロジック回路８８を介してスキャンフリップフロップ８６に伝送される。
【００９０】
（Ｓ３）次に、ＩＰマクロ７０、試験回路７１及び顧客側設計回路７２内のスキャンフリップフロップのスキャン入力端子ＳＩを有効とする。そして、ＩＰマクロ７０及び試験回路７１からなる製造元提供回路内のスキャンチェインを利用してＩＰマクロ７０及び試験回路７１からなる製造元提供回路内のスキャンフリップフロップの保持データを読み出す。また、顧客側設計回路７２内のスキャンチェインを利用して顧客側設計回路７２内のスキャンフリップフロップの保持データを読み出す。これによって、顧客側設計回路７２とＩＰマクロ７０との間の接続試験を含めたスキャン試験を行うことができる。
【００９１】
ところで、本発明の半導体集積回路装置の第４実施形態においては、スキャンフリップフロップ８５とスキャンフリップフロップ７５との間の遅延、即ち、ロジック回路８７の遅延とセレクタ８３の遅延とロジック回路７３の遅延との合計がクロックＣＬＫで１サイクル以内であることが要求される。そのため、例えば、セレクタ８３の遅延とロジック回路７３の遅延との合計がクロックＣＬＫで半サイクル以内となり、ロジック回路８７の遅延とセレクタ８３の遅延との合計がクロックＣＬＫで半サイクル以内となるように設計することが考えられる。
【００９２】
この場合には、セレクタ８３の遅延とロジック回路７３の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かを試験する必要がある。また、ロジック回路８７の遅延とセレクタ８３の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かを試験する必要がある。以下では、セレクタ８３の遅延とロジック回路７３の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かの試験を「ＩＰマクロ７０の入力端子側の遅延試験」と言う場合がある。また、ロジック回路８７の遅延とセレクタ８３の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かの試験を「顧客側設計回路７２の出力端子側の遅延試験」と言う場合がある。
【００９３】
また、スキャンフリップフロップ７６とスキャンフリップフロップ８６との間の遅延、即ち、ロジック回路７４の遅延とセレクタ８４の遅延とロジック回路８８の遅延との合計がクロックＣＬＫで１サイクル以内であることが要求される。そのため、例えば、セレクタ８４の遅延とロジック回路８８の遅延との合計がクロックＣＬＫで半サイクル以内となり、ロジック回路７４の遅延がクロックＣＬＫで半サイクル以内となるように設計することが考えられる。
【００９４】
この場合には、セレクタ８４の遅延とロジック回路８８の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かを試験する必要があり、また、ロジック回路７４の遅延がクロックＣＬＫで半サイクル以内となっているか否かを試験する必要がある。以下では、セレクタ８４の遅延とロジック回路８８の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かの試験を「顧客側設計回路７２の入力端子側の遅延試験」と言う場合がある。また、ロジック回路７４の遅延がクロックＣＬＫで半サイクル以内となっているか否かの試験を「ＩＰマクロ７０の出力端子側の遅延試験」と言う場合がある。
【００９５】
図１５はＩＰマクロ７０の入力端子側の遅延試験を説明するための回路図である。ＩＰマクロ７０の入力端子側の遅延試験を行う場合には、テスト信号ＴＥＳＴ４＝論理１とする。このようにすると、セレクタ８３においては、第２入力端子８３Ｂと出力端子８３Ｘとが接続状態となる。そして、スキャンフリップフロップ８２から試験データＴＤＡＴＡを出力させる。スキャンフリップフロップ８２が出力した試験データＴＤＡＴＡは、フリップフロップ７８に取り込まれ、フリップフロップ７８が出力する試験データＴＤＡＴＡは、セレクタ８３及びロジック回路７３を介してスキャンフリップフロップ７５に伝送される。
【００９６】
本例では、スキャンフリップフロップ８２にはクロックＣＬＫが与えられ、フリップフロップ７８には逆相クロック／ＣＬＫが与えられるので、フリップフロップ７８が出力する試験データＴＤＡＴＡは、スキャンフリップフロップ８２が出力する試験データＴＤＡＴＡよりもクロックＣＬＫで半サイクル遅延したものとなる。この結果、セレクタ８３の遅延とロジック回路７３の遅延との合計が半サイクル以内でないと、スキャンフリップフロップ７５は、フリップフロップ７８が出力した試験データＴＤＡＴＡを取り込むことができない。そこで、スキャンフリップフロップ７５の保持データを読み出すことにより、ＩＰマクロ７０の入力端子側の遅延試験を行うことができる。なお、スキャンフリップフロップ８２への試験データＴＤＡＴＡの供給と、スキャンフリップフロップ７５の保持データの読み出しは、ＩＰマクロ７０及び試験回路７１からなる製造元提供回路内のスキャンチェインを利用して行うことができる。
【００９７】
図１６はＩＰマクロ７０の出力端子側の遅延試験を説明するための回路図である。ＩＰマクロ７０の出力端子側の遅延試験を行う場合には、スキャンフリップフロップ７６から試験データＴＤＡＴＡを出力させる。フリップフロップ７６が出力した試験データＴＤＡＴＡは、ロジック回路７４を介してフリップフロップ８０に伝送される。
【００９８】
本例では、スキャンフリップフロップ７６にはクロックＣＬＫが与えられ、フリップフロップ８０には逆相クロック／ＣＬＫが与えられるので、ロジック回路７４の遅延がクロックＣＬＫで半サイクル以内でないと、フリップフロップ８０は、スキャンフリップフロップ７６が出力した試験データＴＤＡＴＡを取り込むことができない。そこで、フリップフロップ８０の保持データをスキャンフリップフロップ８２で取り込んで、ＩＰマクロ７０及び試験回路７１からなる製造元提供回路内のスキャンチェインを利用して読み出すことにより、ＩＰマクロ７０の出力端子側の遅延試験を行うことができる。
【００９９】
図１７は顧客側設計回路７２の出力端子側の遅延試験及び入力端子側の遅延試験を説明するための回路図である。顧客側設計回路７２の出力端子側の遅延試験及び入力端子側の遅延試験を行う場合には、テスト信号ＴＥＳＴ４＝論理０、テスト信号ＴＥＳＴ５＝論理１とする。このようにすると、セレクタ８３においては、第１入力端子８３Ａと出力端子８３Ｘとが接続状態となる。セレクタ８４においては、第２入力端子８４Ｂと出力端子８４Ｘとが接続状態となる。
【０１００】
そして、クロックＣＬＫに同期させてスキャンフリップフロップ８５から試験データＴＤＡＴＡを出力させる。スキャンフリップフロップ８５が出力した試験データＴＤＡＴＡは、ロジック回路８７及びセレクタ８３を介してフリップフロップ７９に伝送されると共に、ロジック回路８７、セレクタ８３及びロジック回路７３を介してスキャンフリップフロップ７５に伝送される。
【０１０１】
本例では、スキャンフリップフロップ８５にはクロックＣＬＫが与えられ、フリップフロップ７９には逆相クロック／ＣＬＫが与えられるので、ロジック回路８７の遅延とセレクタ８３の遅延との合計が半サイクル以内でないと、フリップフロップ７９は、スキャンフリップフロップ８５が出力した試験データＴＤＡＴＡを取り込むことができない。そして、フリップフロップ７９が出力する試験データＴＤＡＴＡは、セレクタ８４及びロジック回路８８を介してスキャンフリップフロップ８６に伝送される。
【０１０２】
本例では、フリップフロップ７９には逆相クロック／ＣＬＫが与えられ、スキャンフリップフロップ８６にはクロックＣＬＫが与えられるので、セレクタ８４の遅延とロジック回路８８の遅延との合計が半サイクル以内でないと、スキャンフリップフロップ８６は、フリップフロップ７９が試験データＴＤＡＴＡを取り込んだとしても、フリップフロップ７９が出力する試験データＴＤＡＴＡを取り込むことができない。そこで、スキャンフリップフロップ８６の保持データを読み出すことにより、顧客側設計回路７２の入力端子側の遅延試験及び入力端子側の遅延試験を行うことができる。なお、スキャンフリップフロップ８５への試験データＴＤＡＴＡの供給と、スキャンフリップフロップ８６の保持データの読み出しは、顧客側設計回路内のスキャンチェインを利用して行うことができる。
【０１０３】
本発明の半導体集積回路装置の第４実施形態によれば、インバータ７７と、フリップフロップ７８〜８０と、スキャンフリップフロップ８２と、セレクタ８３、８４とを有する試験回路７１を設けているので、ＩＰマクロ７０と顧客側設計回路７２との間の接続試験を含めたスキャン試験と、ＩＰマクロ７０の入力端子側の遅延試験、顧客側設計回路７２の出力端子側の遅延試験及び入力端子側の遅延試験による顧客側設計回路７２とＩＰマクロ７０との間の遅延試験と、ＩＰマクロ７０の出力端子側の遅延試験、顧客側設計回路７２の出力端子側の遅延試験及び入力端子側の遅延試験によるＩＰマクロ７０と顧客側設計回路７２との間の遅延試験を行うことができる。
【０１０４】
（第５実施形態）
図１８は本発明の半導体集積回路装置の第５実施形態の一部分を示す回路図である。図１８中、９０は本発明の半導体集積回路装置の第５実施形態の製造元が顧客に提供した内部回路情報を未公開とするＩＰマクロ、９１は本発明の半導体集積回路装置の第５実施形態の製造元が顧客に提供した内部回路情報が公開されている試験回路、９２は顧客側が設計した顧客側設計回路である。試験回路９１は、ＩＰマクロ９０に対応して設けられたものである。ＩＰマクロ９０と試験回路９１とは一体として顧客に提供される。顧客は、ＩＰマクロ９０及び試験回路９１からなる製造元提供回路に顧客側設計回路９２を追加して回路全体を完成させる。
【０１０５】
ＩＰマクロ９０において、９３、９４はロジック回路、９５、９６はスキャンフリップフロップ、９０Ａはロジック回路９３に対応して設けられた入力端子、９０Ｂはロジック回路９４に対応して設けられた出力端子である。ロジック回路９３、９４及びスキャンフリップフロップ９５、９６以外のＩＰマクロ９０内の回路要素は図示を省略している。
【０１０６】
試験回路９１において、９７、９８はインバータである。インバータ９７、９８は、クロックＣＬＫを反転して逆相クロック／ＣＬＫを生成するものである。９９〜１０２はラッチ、１０３、１０４はスキャンフリップフロップ、１０５、１０６はセレクタ、ＴＥＳＴ６、ＴＥＳＴ７はチップ外部から制御可能とされたテスト信号である。テスト信号ＴＥＳＴ６はセレクタ１０５の選択制御信号入力端子１０５Ｃに与えられる。ＴＥＳＴ７はセレクタ１０６の選択制御信号入力端子１０６Ｃに与えられる。
【０１０７】
セレクタ１０５は、テスト信号ＴＥＳＴ６＝論理０のときは、第１入力端子１０５Ａと出力端子１０５Ｘとを接続状態とし、テスト信号ＴＥＳＴ６＝論理１のときは、第２入力端子１０５Ｂと出力端子１０５Ｘとを接続状態とする。セレクタ１０６は、テスト信号ＴＥＳＴ７＝論理０のときは、第１入力端子１０６Ａと出力端子１０６Ｘとを接続状態とし、テスト信号ＴＥＳＴ７＝論理１のときは、第２入力端子１０６Ｂと出力端子１０６Ｘとを接続状態とする。
【０１０８】
顧客側設計回路９２において、１０７、１０８はスキャンフリップフロップ、１０９、１１０はロジック回路、９２Ａはロジック回路１０９に対応して設けられた出力端子、９２Ｂはロジック回路１１０に対応して設けられた入力端子である。スキャンフリップフロップ１０７、１０８及びロジック回路１０９、１１０以外の顧客側設計回路９２内の回路要素は図示を省略している。
【０１０９】
スキャンフリップフロップ９５、９６、１０３、１０４、１０７、１０８において、Ｄは通常入力端子、ＳＩはスキャン入力端子、ＣＫはクロック入力端子、Ｑは出力端子である。通常入力端子Ｄを有効とするか、スキャン入力端子ＳＩを有効とするかを制御する制御信号を入力するための端子は、図示を省略している。ラッチ９９〜１０２において、Ｄはデータ入力端子、ＥＮはイネーブル信号入力端子、Ｑは出力端子である。ラッチ９９〜１０２は、イネーブル信号入力端子ＥＮに与えられる信号が論理１のときはスルー状態、イネーブル信号入力端子ＥＮに与えられる信号が論理０のときはホールド状態となるものである。
【０１１０】
図示は省略するが、ＩＰマクロ９０内のスキャンフリップフロップ（スキャンフリップフロップ９５、９６等）と、試験回路９１内のスキャンフリップフロップ１０３、１０４とでＩＰマクロ９０及び試験回路９１からなる製造元提供回路側のスキャンチェインが作成されている。顧客側設計回路９２内のスキャンフリップフロップ（スキャンフリップフロップ１０７、１０８等）で顧客側設計回路９２側のスキャンチェインが作成されている。
【０１１１】
スキャンフリップフロップ１０７の出力端子Ｑは、ロジック回路１０９及び顧客側設計回路９２の出力端子９２Ａを介してセレクタ１０５の第１入力端子１０５Ａに接続されている。ラッチ９９の出力端子Ｑは、セレクタ１０５の第２入力端子１０５Ｂに接続されている。セレクタ１０５の出力端子１０５Ｘは、ＩＰマクロ９０の入力端子９０Ａ及びロジック回路９３を介してスキャンフリップフロップ９５の通常入力端子Ｄに接続されると共に、ラッチ１００のデータ入力端子Ｄに接続されている。
【０１１２】
スキャンフリップフロップ９６の出力端子Ｑは、ロジック回路９４及びＩＰマクロ９０の出力端子９０Ｂを介してセレクタ１０６の第１入力端子１０６Ａに接続されている。ラッチ１０２の出力端子Ｑは、セレクタ１０６の第２入力端子１０６Ｂに接続されている。セレクタ１０６の出力端子１０６Ｘは、顧客側設計回路９２の入力端子９２Ｂ及びロジック回路１１０を介してスキャンフリップフロップ１０８の通常入力端子Ｄに接続されると共に、ラッチ１０１のデータ入力端子Ｄに接続されている。
【０１１３】
ラッチ１００の出力端子Ｑは、スキャンフリップフロップ１０３の通常入力端子Ｄに接続されている。スキャンフリップフロップ１０３の出力端子Ｑは、ラッチ９９のデータ入力端子Ｄに接続されている。ラッチ１０１の出力端子Ｑは、スキャンフリップフロップ１０４の通常入力端子Ｄに接続されている。スキャンフリップフロップ１０４の出力端子Ｑは、ラッチ１０２のデータ入力端子Ｄに接続されている。スキャンフリップフロップ９５、９６、１０３、１０４、１０７、１０８のクロック入力端子ＣＫ及びラッチ１００、１０１のイネーブル信号入力端子ＥＮにはクロックＣＬＫが与えられ、ラッチ９９、１０２のイネーブル信号入力端子ＥＮには逆相クロック／ＣＬＫが与えられる。
【０１１４】
このように構成された本発明の半導体集積回路装置の第５実施形態においては、通常動作時には、テスト信号ＴＥＳＴ６＝論理０とされ、セレクタ１０５においては、第１入力端子１０５Ａと出力端子１０５Ｘとが接続状態とされる。また、テスト信号ＴＥＳＴ７＝論理０とされ、セレクタ１０６においては、第１入力端子１０６Ａと出力端子１０６Ｘとが接続状態とされる。また、次の手順（Ｕ１〜Ｕ３）を実行することにより、顧客側設計回路９２とＩＰマクロ９０との間の接続試験を含めたスキャン試験を行うことができる。この試験は、本発明の半導体集積回路装置の試験方法の第５実施形態に含まれるものである。
【０１１５】
（Ｕ１）まず、ＩＰマクロ９０、試験回路９１及び顧客側設計回路９２内のスキャンフリップフロップのスキャン入力端子ＳＩを有効とする。そして、ＩＰマクロ９０及び試験回路９１からなる製造元提供回路内のスキャンチェインを利用してＩＰマクロ９０及び試験回路９１からなる製造元提供回路内のスキャンフリップフロップに試験パタンを設定する。また、顧客側設計回路９２内のスキャンチェインを利用して顧客側設計回路９２内のスキャンフリップフロップにも試験パタンを設定する。
【０１１６】
（Ｕ２）次に、ＩＰマクロ９０、試験回路９１及び顧客側設計回路９２内のスキャンフリップフロップの通常入力端子Ｄを有効とする。そして、テスト信号ＴＥＳＴ６＝論理０とし、セレクタ１０５においては、第１入力端子１０５Ａと出力端子１０５Ｘとを接続状態とする。また、テスト信号ＴＥＳＴ７＝論理０とし、セレクタ１０６においては、第１入力端子１０６Ａと出力端子１０６Ｘとを接続状態とする。そして、クロックＣＬＫを１クロックだけ与える。
【０１１７】
このようにすると、スキャンフリップフロップ１０７が出力する試験データは、ロジック回路１０９、セレクタ１０５及びロジック回路９３を介してスキャンフリップフロップ９５に伝送される。また、スキャンフリップフロップ９６が出力する試験データは、ロジック回路９４、セレクタ１０６及びロジック回路１１０を介してスキャンフリップフロップ１０８に伝送される。
【０１１８】
（Ｕ３）次に、ＩＰマクロ９０、試験回路９１及び顧客側設計回路９２内のスキャンフリップフロップのスキャン入力端子ＳＩを有効とする。そして、ＩＰマクロ９０及び試験回路９１からなる製造元提供回路内のスキャンチェインを利用してＩＰマクロ９０及び試験回路９１からなる製造元提供回路内のスキャンフリップフロップの保持データを読み出す。また、顧客側設計回路９２内のスキャンチェインを利用して顧客側設計回路９２内のスキャンフリップフロップの保持データを読み出す。これによって、顧客側設計回路９２とＩＰマクロ９０との間の接続試験を含めたスキャン試験を行うことができる。
【０１１９】
ところで、本発明の半導体集積回路装置の第５実施形態においては、スキャンフリップフロップ１０７とスキャンフリップフロップ９５との間の遅延、即ち、ロジック回路１０９の遅延とセレクタ１０５の遅延とロジック回路９３の遅延との合計がクロックＣＬＫで１サイクル以内であることが要求される。そのため、例えば、セレクタ１０５の遅延とロジック回路９３の遅延との合計がクロックＣＬＫで半サイクル以内となり、ロジック回路１０９の遅延とセレクタ１０５の遅延との合計がクロックＣＬＫで半サイクル以内となるように設計することが考えられる。
【０１２０】
この場合には、セレクタ１０５の遅延とロジック回路９３の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かを試験する必要がある。また、ロジック回路１０９の遅延とセレクタ１０５の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かを試験する必要がある。以下では、セレクタ１０５の遅延とロジック回路９３の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かの試験を「ＩＰマクロ９０の入力端子側の遅延試験」と言う場合がある。また、ロジック回路１０９の遅延とセレクタ１０５の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かの試験を「顧客側設計回路９２の出力端子側の遅延試験」と言う場合がある。
【０１２１】
また、スキャンフリップフロップ９６とスキャンフリップフロップ１０８との間の遅延、即ち、ロジック回路９４の遅延とセレクタ１０６の遅延とロジック回路１１０の遅延との合計がクロックＣＬＫで１サイクル以内であることが要求される。そのため、例えば、セレクタ１０６の遅延とロジック回路１１０の遅延との合計がクロックＣＬＫで半サイクル以内となり、ロジック回路９４の遅延とセレクタ１０６の遅延との合計がクロックＣＬＫで半サイクル以内となるように設計することが考えられる。
【０１２２】
この場合には、セレクタ１０６の遅延とロジック回路１１０の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かを試験する必要がある。また、ロジック回路９４の遅延とセレクタ１０６の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かを試験する必要がある。以下では、セレクタ１０６の遅延とロジック回路１１０の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かの試験を「顧客側設計回路９２の入力端子側の遅延試験」と言う場合がある。また、ロジック回路９４の遅延とセレクタ１０６の遅延との合計がクロックＣＬＫで半サイクル以内となっているか否かの試験を「ＩＰマクロ９０の出力端子側の遅延試験」と言う場合がある。
【０１２３】
図１９はＩＰマクロ９０の入力端子側の遅延試験を説明するための回路図である。ＩＰマクロ９０の入力端子側の遅延試験を行う場合には、テスト信号ＴＥＳＴ６＝論理１とする。このようにすると、セレクタ１０５においては、第２入力端子１０５Ｂと出力端子１０５Ｘとが接続状態となる。そして、スキャンフリップフロップ１０３から試験データＴＤＡＴＡを出力させる。スキャンフリップフロップ１０３が出力した試験データＴＤＡＴＡは、ラッチ９９に取り込まれ、ラッチ９９が出力する試験データＴＤＡＴＡは、セレクタ１０５及びロジック回路９３を介してスキャンフリップフロップ９５に伝送される。
【０１２４】
本例では、ラッチ９９は、逆相クロック／ＣＬＫが論理１の場合にスルー状態となるので、ラッチ９９が出力する試験データＴＤＡＴＡは、スキャンフリップフロップ１０３が出力する試験データＴＤＡＴＡよりもクロックＣＬＫで半サイクル遅延したものとなる。この結果、セレクタ１０５の遅延とロジック回路９３の遅延との合計が半サイクル以内でないと、スキャンフリップフロップ９５は、ラッチ９９が出力した試験データＴＤＡＴＡを取り込むことができない。そこで、スキャンフリップフロップ９５の保持データを読み出すことにより、ＩＰマクロ９０の入力端子側の遅延試験を行うことができる。なお、スキャンフリップフロップ１０３への試験データＴＤＡＴＡの供給と、スキャンフリップフロップ９５の保持データの読み出しは、ＩＰマクロ９０及び試験回路９１からなる製造元提供回路内のスキャンチェインを利用して行うことができる。
【０１２５】
図２０は顧客側設計回路９２の出力端子側の遅延試験を説明するための回路図である。顧客側設計回路９２の出力端子側の遅延試験を行う場合には、テスト信号ＴＥＳＴ６＝論理０とする。このようにすると、セレクタ１０５においては、第１入力端子１０５Ａと出力端子１０５Ｘとが接続状態となる。そして、クロックＣＬＫに同期させてスキャンフリップフロップ１０７から試験データＴＤＡＴＡを出力させる。スキャンフリップフロップ１０７が出力した試験データＴＤＡＴＡは、ロジック回路１０９及びセレクタ１０５を介してラッチ１００に伝送されると共に、ロジック回路１０９、セレクタ１０５及びロジック回路９３を介してスキャンフリップフロップ９５に伝送される。
【０１２６】
本例では、ラッチ１００は、クロックＣＬＫが論理０の場合にホールド状態となるので、ロジック回路１０９の遅延とセレクタ１０５の遅延との合計が半サイクル以内でないと、ラッチ１００は、スキャンフリップフロップ１０７が出力した試験データＴＤＡＴＡを取り込むことができない。そこで、ラッチ１００の保持データをスキャンフリップフロップ１０３を介して読み出すことにより、顧客側設計回路９２の出力端子側の遅延試験を行うことができる。なお、スキャンフリップフロップ１０７への試験データＴＤＡＴＡの供給は、顧客側設計回路９２内のスキャンチェインを利用して行うことができる。スキャンフリップフロップ１０３の保持データの読み出しは、ＩＰマクロ９０及び試験回路９１からなる製造元提供回路内のスキャンチェインを利用して行うことができる。
【０１２７】
図２１は顧客側設計回路９２の入力端子側の遅延試験を説明するための回路図である。顧客側設計回路９２の入力端子側の遅延試験を行う場合には、テスト信号ＴＥＳＴ７＝論理１とする。このようにすると、セレクタ１０６においては、第２入力端子１０６Ｂと出力端子１０６Ｘとが接続状態となる。そして、スキャンフリップフロップ１０４から試験データＴＤＡＴＡを出力させる。スキャンフリップフロップ１０４が出力した試験データＴＤＡＴＡは、ラッチ１０２に取り込まれ、ラッチ１０２が出力する試験データＴＤＡＴＡは、セレクタ１０６及びロジック回路１１０を介してスキャンフリップフロップ１０８に伝送される。
【０１２８】
本例では、ラッチ１０２は、逆相クロックＣＬＫが論理１の場合にスルー状態となるので、ラッチ１０２が出力する試験データＴＤＡＴＡは、スキャンフリップフロップ１０４が出力する試験データＴＤＡＴＡよりもクロックＣＬＫで半サイクル遅延したものとなる。この結果、セレクタ１０６の遅延とロジック回路１１０の遅延との合計が半サイクル以内でないと、スキャンフリップフロップ１０８は、ラッチ１０２が出力した試験データＴＤＡＴＡを取り込むことができない。そこで、スキャンフリップフロップ１０８の保持データを読み出すことにより、顧客側設計回路９２の入力端子側の遅延試験を行うことができる。なお、スキャンフリップフロップ１０４への試験データＴＤＡＴＡの供給は、ＩＰマクロ９０及び試験回路９１からなる製造元提供回路内のスキャンチェインを利用して行うことができる。スキャンフリップフロップ１０８の保持データの読み出しは、顧客側設計回路９２内のスキャンチェインを利用して行うことができる。
【０１２９】
図２２はＩＰマクロ９０の出力端子側の遅延試験を説明するための回路図である。ＩＰマクロ９０の出力端子側の遅延試験を行う場合には、テスト信号ＴＥＳＴ７＝０とする。このようにすると、セレクタ１０６においては、第１入力端子１０６Ａと出力端子１０６Ｘとが接続状態となる。そして、スキャンフリップフロップ９６から試験データＴＤＡＴＡを出力させる。スキャンフリップフロップ９６が出力した試験データＴＤＡＴＡは、ロジック回路９４及びセレクタ１０６を介してラッチ１０１に伝送されると共に、ロジック回路９４、セレクタ１０６及びロジック回路１１０を介してスキャンフリップフロップ１０８に伝送される。
【０１３０】
本例では、ラッチ１０１は、クロックＣＬＫが論理０の場合にホールド状態になるので、ロジック回路９４の遅延とセレクタ１０６の遅延との合計がクロックＣＬＫで半サイクル以内でないと、ラッチ１０１は、スキャンフリップフロップ９６が出力した試験データＴＤＡＴＡを取り込むことができない。そこで、ラッチ１０１の保持データをスキャンフリップフロップ１０４で取り込んで、ＩＰマクロ９０及び試験回路９１からなる製造元提供回路内のスキャンチェインを利用して読み出すことにより、ＩＰマクロ９０の出力端子側の遅延試験を行うことができる。
【０１３１】
以上のように、本発明の半導体集積回路装置の第５実施形態によれば、インバータ９７、９８と、ラッチ９９〜１０２と、スキャンフリップフロップ１０３、１０４と、セレクタ１０５、１０６とを有する試験回路９１を設けているので、ＩＰマクロ９０と顧客側設計回路９２との間の接続試験を含めたスキャン試験と、ＩＰマクロ９０の入力端子側の遅延試験及び顧客側設計回路９２の出力端子側の遅延試験による顧客側設計回路９２とＩＰマクロ９０との間の遅延試験と、顧客側設計回路９２の入力端子側の遅延試験及びＩＰマクロ９０の出力端子側の遅延試験によるＩＰマクロ９０と顧客側設計回路９２との間の遅延試験を行うことができる。
【０１３２】
（第６実施形態）
図２３は本発明の半導体集積回路装置の第６実施形態の一部分を示す回路図である。図２３中、１３０は本発明の半導体集積回路装置の第６実施形態の製造元が顧客に提供した内部回路情報を未公開とするＩＰマクロ、１３１は本発明の半導体集積回路装置の第６実施形態の製造元が顧客に提供した内部回路情報が公開されている試験回路、１３２は顧客側が設計した顧客側設計回路である。試験回路１３１は、ＩＰマクロ１３０に対応して設けられたものである。ＩＰマクロ１３０と試験回路１３１とは一体として顧客に提供される。顧客は、ＩＰマクロ１３０及び試験回路１３１からなる製造元提供回路に顧客側設計回路１３２を追加して回路全体を完成させる。
【０１３３】
ＩＰマクロ１３０において、１３３〜１３６はロジック回路、１３７〜１４０はスキャンフリップフロップである。ロジック回路１３３〜１３６及びスキャンフリップフロップ１３７〜１４０以外のＩＰマクロ１３０内の回路要素は図示を省略している。
【０１３４】
試験回路１３１において、１４１はインバータである。インバータ１４１は、クロックＣＬＫを反転して逆相クロック／ＣＬＫを生成するものである。１４２〜１４７はフリップフロップ、１４８、１４９はスキャンフリップフロップ、１５０〜１５３はセレクタ、ＴＥ８、ＴＥ９はチップ外部から制御可能とされたテスト信号である。テスト信号ＴＥ８はセレクタ１５０、１５２の選択制御信号入力端子に与えられる。テスト信号ＴＥ９はセレクタ１５１、１５３の選択制御信号入力端子に与えられる。
【０１３５】
顧客側設計回路１３２において、１５４〜１５７はスキャンフリップフロップ、１５８〜１６１はロジック回路である。スキャンフリップフロップ１５４〜１５７及びロジック回路１５８〜１６１以外の顧客側設計回路１３２内の回路要素は図示を省略している。
【０１３６】
スキャンフリップフロップ１３７〜１４０、１４８、１４９、１５４〜１５７において、Ｄは通常入力端子、ＳＩはスキャン入力端子、ＣＫはクロック入力端子、Ｑは出力端子である。通常入力端子Ｄを有効とするか、スキャン入力端子ＳＩを有効とするかを制御する制御信号を入力するための端子は、図示を省略している。フリップフロップ１４２〜１４７において、Ｄはデータ入力端子、ＣＫはクロック入力端子、Ｑは出力端子である。スキャンフリップフロップ１３７〜１４０、１４８、１４９、１５４〜１５７のクロック入力端子ＣＫにはクロックＣＬＫが与えられる。フリップフロップ１４２〜１４７のクロック入力端子ＣＫには逆相クロック／ＣＬＫが与えられる。
【０１３７】
また、１６２〜１６８はＩＰマクロ１３０及び試験回路１３１からなる製造元提供回路に作成されているスキャンチェインを構成する信号配線である。図示は省略するが、顧客側設計回路１３２内のスキャンフリップフロップ（スキャンフリップフロップ１５４〜１５７等）で顧客側設計回路１３２側のスキャンチェインが作成されている。
【０１３８】
本例では、スキャン試験時には、スキャンデータ入力端子ＳＤＩからスキャンフリップフロップ１４９→スキャンフリップフロップ１４８→スキャンフリップフロップ１３７→スキャンフリップフロップ１３８→スキャンフリップフロップ１３９→スキャンフリップフロップ１４０という経路で試験データが送られる。スキャンフリップフロップ１３７〜１４０、１４８、１４９の保持データの読み出しは、スキャンデータ出力端子ＳＤＯにスキャンフリップフロップ１４０の保持データ→スキャンフリップフロップ１３９の保持データ→スキャンフリップフロップ１３８の保持データ→スキャンフリップフロップ１３７の保持データ→スキャンフリップフロップ１４８の保持データ→スキャンフリップフロップ１４９の保持データの順番で出力される。
【０１３９】
図２３中、回路１６９及び回路１７０は、インバータ１４１を共有している点を除き、図１４に示す本発明の半導体集積回路装置の第４実施形態と同様に構成されている。即ち、ロジック回路１３３、１３４はロジック回路７３、７４に対応する。スキャンフリップフロップ１３７、１３８はスキャンフリップフロップ７５、７６に対応する。フリップフロップ１４２〜１４４はフリップフロップ７８〜８０に対応する。スキャンフリップフロップ１４８はスキャンフリップフロップ８２に対応する。セレクタ１５０、１５１はセレクタ８３、８４に対応する。スキャンフリップフロップ１５４、１５５はスキャンフリップフロップ８５、８６に対応する。ロジック回路１５８、１５９はロジック回路８７、８８に対応する。
【０１４０】
また、ロジック回路１３５、１３６はロジック回路７３、７４に対応する。スキャンフリップフロップ１３９、１４０はスキャンフリップフロップ７５、７６に対応する。フリップフロップ１４５〜１４７はフリップフロップ７８〜８０に対応する。スキャンフリップフロップ１４９はスキャンフリップフロップ８２に対応する。セレクタ１５２、１５３はセレクタ８３、８４に対応する。スキャンフリップフロップ１５６、１５７はスキャンフリップフロップ８５、８６に対応する。ロジック回路１６０、１６１はロジック回路８７、８８に対応する。
【０１４１】
したがって、本発明の半導体集積回路装置の第６実施形態によれば、本発明の半導体集積回路装置の第４実施形態と同様の効果を得ることができる。即ち、本発明の半導体集積回路装置の第６実施形態によれば、インバータ１４１と、フリップフロップ１４２〜１４７と、スキャンフリップフロップ１４８，１４９と、セレクタ１５０〜１５３とを含む試験回路１３１を設けているので、ＩＰマクロ１３０と顧客側設計回路１３２との間の接続試験を含めたスキャン試験と、ＩＰマクロ１３０の入力端子側の遅延試験、顧客側設計回路１３２の出力端子側の遅延試験及び顧客側設計回路１３２の入力端子側の遅延試験による顧客側設計回路１３２とＩＰマクロ１３０との間の遅延試験と、ＩＰマクロ１３０の出力端子側の遅延試験、顧客側設計回路１３２の出力端子側の遅延試験及び顧客側設計回路１３２の入力端子側の遅延試験によるＩＰマクロ１３０と顧客側設計回路１３２との間の遅延試験を行うことができる。
【０１４２】
ここで、本発明を整理すると、本発明には、少なくとも、以下の半導体集積回路装置及び半導体集積回路装置の試験方法が含まれる。
【０１４３】
（付記１）
製造元提供回路と、
顧客側設計回路と、
第１フリップフロップと、第２フリップフロップと、セレクタとを有し、前記顧客側設計回路の所定出力端子が前記セレクタの第１入力端子に接続され、前記第１フリップフロップの出力端子が前記セレクタの第２入力端子に接続され、前記セレクタの出力端子が前記第２フリップフロップの入力端子及び前記製造元提供回路の所定入力端子に接続された試験回路とを有し、
前記顧客側設計回路の前記所定出力端子と前記製造元提供回路の前記所定入力端子との間の接続試験を行う場合は、前記セレクタは前記第１入力端子を選択し、前記製造元提供回路の前記所定入力端子側の遅延試験を行う場合は、前記セレクタは前記第２入力端子を選択し、前記顧客側設計回路の前記所定出力端子側の遅延試験を行う場合は、前記セレクタは前記第１入力端子を選択するように、前記セレクタが制御されることを特徴とする半導体集積回路装置。
【０１４４】
（付記２）
製造元提供回路と、
顧客側設計回路と、
第１フリップフロップと、第２フリップフロップと、セレクタとを有し、前記顧客側設計回路の所定出力端子が前記セレクタの第１入力端子に接続され、前記第１フリップフロップの出力端子が前記セレクタの第２入力端子に接続され、前記セレクタの出力端子が前記第２フリップフロップの入力端子及び前記製造元提供回路の所定入力端子に接続された試験回路とを有する半導体集積回路装置の試験方法であって、
前記顧客側設計回路の前記所定出力端子と前記製造元提供回路の前記所定入力端子との間の接続試験を行う場合は、前記セレクタを前記第１入力端子選択状態とし、前記顧客側設計回路が前記所定出力端子に出力する試験データを前記製造元提供回路の前記所定入力端子に伝送する工程を含み、
前記製造元提供回路の前記所定入力端子側の遅延試験を行う場合は、前記セレクタを前記第２入力端子選択状態とし、前記第１フリップフロップが出力する試験データを前記製造元提供回路の前記所定入力端子に伝送する工程を含み、
前記顧客側設計回路の前記所定出力端子側の遅延試験を行う場合は、前記セレクタを前記第１入力端子選択状態とし、前記顧客側設計回路が前記所定出力端子に出力する試験データを前記第２フリップフロップに伝送する工程を含むことを特徴とする半導体集積回路装置の試験方法。
【０１４５】
（付記３）
製造元提供回路と、
顧客側設計回路と、
第１フリップフロップと、第２フリップフロップと、セレクタとを有し、前記製造元提供回路の所定出力端子が前記セレクタの第１入力端子に接続され、前記第１フリップフロップの出力端子が前記セレクタの第２入力端子に接続され、前記セレクタの出力端子が前記第２フリップフロップの入力端子及び前記顧客側設計回路の所定入力端子に接続された試験回路とを有し、
前記製造元提供回路の前記所定出力端子と前記顧客側設計回路の前記所定入力端子との間の接続試験を行う場合は、前記セレクタは前記第１入力端子を選択し、前記顧客側設計回路の前記所定入力端子側の遅延試験を行う場合は、前記セレクタは前記第２入力端子を選択し、前記製造元提供回路の前記所定出力端子側の遅延試験を行う場合は、前記セレクタは前記第１入力端子を選択するように、前記セレクタが制御されることを特徴とする半導体集積回路装置。
【０１４６】
（付記４）
製造元提供回路と、
顧客側設計回路と、
第１フリップフロップと、第２フリップフロップと、セレクタとを有し、前記製造元提供回路の所定出力端子が前記セレクタの第１入力端子に接続され、前記第１フリップフロップの出力端子が前記セレクタの第２入力端子に接続され、前記セレクタの出力端子が前記第２フリップフロップの入力端子及び前記顧客側設計回路の所定入力端子に接続された試験回路とを有する半導体集積回路装置の試験方法であって、
前記製造元提供回路の前記所定出力端子と前記顧客側設計回路の前記所定入力端子との間の接続試験を行う場合は、前記セレクタを前記第１入力端子選択状態とし、前記製造元提供回路が前記所定出力端子に出力する試験データを前記顧客側設計回路の前記所定入力端子に伝送する工程を含み、
前記顧客側設計回路の前記所定入力端子側の遅延試験を行う場合は、前記セレクタを前記第２入力端子選択状態とし、前記第１フリップフロップが出力する試験データを前記顧客側設計回路の前記所定入力端子に伝送する工程を含み、
前記製造元提供回路の前記所定出力端子側の遅延試験を行う場合は、前記セレクタを前記第１入力端子選択状態とし、前記製造元提供回路が前記所定出力端子に出力する試験データを前記第２フリップフロップに伝送する工程を含むことを特徴とする半導体集積回路装置の試験方法。
【０１４７】
（付記５）
製造元提供回路と、
顧客側設計回路と、
第１フリップフロップと、第２フリップフロップと、セレクタとを有し、前記顧客側設計回路の所定出力端子がセレクタの第１入力端子に接続され、前記第１フリップフロップの出力端子が前記セレクタの第２入力端子に接続され、前記セレクタの出力端子が前記製造元提供回路の所定入力端子に接続され、前記製造元提供回路の前記所定出力端子が前記第２フリップフロップの入力端子に接続された試験回路とを有し、
前記顧客側設計回路の前記所定出力端子と前記製造元提供回路の前記所定入力端子との間の接続試験を行う場合は、前記セレクタは前記第１入力端子を選択し、前記製造元提供回路の前記所定入力端子側の遅延試験を行う場合は、前記セレクタは前記第２入力端子を選択するように、前記セレクタが制御されることを特徴とする半導体集積回路装置。
【０１４８】
（付記６）
製造元提供回路と、
顧客側設計回路と、
第１フリップフロップと、第２フリップフロップと、セレクタとを有し、前記顧客側設計回路の所定出力端子が前記セレクタの第１入力端子に接続され、前記第１フリップフロップの出力端子が前記セレクタの第２入力端子に接続され、前記セレクタの出力端子が前記製造元提供回路の所定入力端子に接続され、前記製造元提供回路の所定出力端子が前記第２フリップフロップの入力端子に接続された試験回路とを有する半導体集積回路の試験方法であって、
前記顧客側設計回路の前記所定出力端子と前記製造元提供回路の前記所定入力端子との間の接続試験を行う場合は、前記セレクタを前記第１入力端子選択状態とし、前記顧客側設計回路が前記所定出力端子に出力する試験データを前記製造元提供回路の前記所定入力端子に伝送する工程を含み、
前記製造元提供回路の前記所定入力端子側の遅延試験を行う場合は、前記セレクタを前記第２入力端子選択状態とし、前記第１フリップフロップが出力する試験データを前記製造元提供回路の前記所定入力端子に伝送する工程を含み、
前記製造元提供回路の前記所定出力端子側の遅延試験を行う場合は、前記製造元提供回路が前記所定出力端子に出力する試験データを前記第２フリップフロップに伝送する工程を含むことを特徴とする半導体集積回路装置の試験方法。
【０１４９】
（付記７）
製造元提供回路と、
顧客側設計回路と、
第１ラッチと、第２ラッチと、セレクタとを有し、前記顧客側設計回路の所定出力端子が前記セレクタの第１入力端子に接続され、前記第１ラッチの出力端子が前記セレクタの第２入力端子に接続され、前記セレクタの出力端子が前記第２ラッチの入力端子及び前記製造元提供回路の所定入力端子に接続された試験回路とを有し、
前記顧客側設計回路の前記所定出力端子と前記製造元提供回路の前記所定入力端子との間の接続試験を行う場合は、前記セレクタは前記第１入力端子を選択し、前記製造元提供回路の前記所定入力端子側の遅延試験を行う場合は、前記セレクタは前記第２入力端子を選択し、前記顧客側設計回路の前記所定出力端子側の遅延試験を行う場合は、前記セレクタは前記第１入力端子を選択するように、前記セレクタが制御されることを特徴とする半導体集積回路装置。
【０１５０】
（付記８）
製造元提供回路と、
顧客側設計回路と、
第１ラッチと、第２ラッチと、セレクタとを有し、前記顧客側設計回路の所定出力端子が前記セレクタの第１入力端子に接続され、前記第１ラッチの出力端子が前記セレクタの第２入力端子に接続され、前記セレクタの出力端子が前記第２ラッチの入力端子及び前記製造元提供回路の所定入力端子に接続された試験回路とを有する半導体集積回路装置の試験方法であって、
前記顧客側設計回路の前記所定出力端子と前記製造元提供回路の前記所定入力端子との間の接続試験を行う場合は、前記セレクタを前記第１入力端子選択状態とし、前記顧客側設計回路が前記所定出力端子に出力する試験データを前記製造元提供回路の前記所定入力端子に伝送する工程を含み、
前記製造元提供回路の前記所定入力端子側の遅延試験を行う場合は、前記セレクタを前記第２入力端子選択状態とし、前記第１ラッチが出力する試験データを前記製造元提供回路の前記所定入力端子に伝送する工程を含み、
前記顧客側設計回路の前記所定出力端子側の遅延試験を行う場合は、前記セレクタを前記第１入力端子選択状態とし、前記顧客側設計回路が前記所定出力端子に出力する試験データを前記第２ラッチに伝送する工程を含むことを特徴とする半導体集積回路装置の試験方法。
【０１５１】
（付記９）
製造元提供回路と、
顧客側設計回路と、
第１ラッチと、第２ラッチと、セレクタとを有し、前記製造元提供回路の所定出力端子が前記セレクタの第１入力端子に接続され、前記第１ラッチの出力端子が前記セレクタの第２入力端子に接続され、前記セレクタの出力端子が前記第２ラッチの入力端子及び前記顧客側設計回路の所定入力端子に接続された試験回路とを有し、
前記製造元提供回路の前記所定出力端子と前記顧客側設計回路の前記所定入力端子との間の接続試験を行う場合は、前記セレクタは前記第１入力端子を選択し、前記顧客側設計回路の前記所定入力端子側の遅延試験を行う場合は、前記セレクタは前記第２入力端子を選択し、前記製造元提供回路の前記所定出力端子側の遅延試験を行う場合は、前記セレクタは前記第１入力端子を選択するように、前記セレクタが制御されることを特徴とする半導体集積回路装置。
【０１５２】
（付記１０）
製造元提供回路と、
顧客側設計回路と、
第１ラッチと、第２ラッチと、セレクタとを有し、前記製造元提供回路の所定出力端子が前記セレクタの第１入力端子に接続され、前記第１ラッチの出力端子が前記セレクタの第２入力端子に接続され、前記セレクタの出力端子が前記第２ラッチの入力端子及び前記顧客側設計回路の所定入力端子に接続された試験回路とを有する半導体集積回路装置の試験方法であって、
前記製造元提供回路の前記所定出力端子と前記顧客側設計回路の前記所定入力端子との間の接続試験を行う場合は、前記セレクタを前記第１入力端子選択状態とし、前記製造元提供回路が前記所定出力端子に出力する試験データを前記顧客側設計回路の前記所定入力端子に伝送する工程を含み、
前記顧客側設計回路の前記所定入力端子側の遅延試験を行う場合は、前記セレクタを前記第２入力端子選択状態とし、前記第１ラッチが出力する試験データを前記顧客側設計回路の前記所定入力端子に伝送する工程を含み、
前記製造元提供回路の前記所定出力端子側の遅延試験を行う場合は、前記セレクタを前記第１入力端子選択状態とし、前記製造元提供回路が前記所定出力端子に出力する試験データを前記第２ラッチに伝送する工程を含むことを特徴とする半導体集積回路装置の試験方法。
【符号の説明】
【０１５３】
１…ＩＰマクロ
２…顧客側設計回路
３、４…スキャンチェイン
５…信号配線
１０…ＩＰマクロ
１１…試験回路
１２…顧客側設計回路
１３…ロジック回路
１４…スキャンフリップフロップ
１５、１６…フリップフロップ
１７…セレクタ
１８…スキャンフリップフロップ
１９…ロジック回路
３０…ＩＰマクロ
３１…試験回路
３２…顧客側設計回路
３３…ロジック回路
３４…スキャンフリップフロップ
３５、３６…フリップフロップ
３７…セレクタ
３８…スキャンフリップフロップ
３９…ロジック回路
５０…ＩＰマクロ
５１…試験回路
５２…顧客側設計回路
５３、５４…ロジック回路
５５、５６…スキャンフリップフロップ
５７…インバータ
５８、５９…フリップフロップ
６０…スキャンフリップフロップ
６１…セレクタ
６２…スキャンフリップフロップ
６３…ロジック回路
７０…ＩＰマクロ
７１…試験回路
７２…顧客側設計回路
７３、７４…ロジック回路
７５、７６…スキャンフリップフロップ
７７…インバータ
７８〜８０…フリップフロップ
８２…スキャンフリップフロップ
８３、８４…セレクタ
８５、８６…スキャンフリップフロップ
８７、８９…ロジック回路
９０…ＩＰマクロ
９１…試験回路
９２…顧客側設計回路
９３、９４…ロジック回路
９５、９６…スキャンフリップフロップ
９７、９８…インバータ
９９〜１０２…ラッチ
１０３、１０４…スキャンフリップフロップ
１０５、１０６…セレクタ
１０７、１０８…スキャンフリップフロップ
１０９、１１０…ロジック回路
１３０…ＩＰマクロ
１３１…試験回路
１３２…顧客側設計回路
１３３〜１３６…ロジック回路
１３７〜１４０…スキャンフリップフロップ
１４１…インバータ
１４２〜１４７…フリップフロップ
１４８、１４９…スキャンフリップフロップ
１５０〜１５３…セレクタ
１５４〜１５７…スキャンフリップフロップ
１５８〜１６１…ロジック回路
１６２〜１６８…信号配線
【図１】
2010203829.tif 000003
【図２】
2010203829.tif 000004
【図３】
2010203829.tif 000005
【図４】
2010203829.tif 000006
【図５】
2010203829.tif 000007
【図６】
2010203829.tif 000008
【図７】
2010203829.tif 000009
【図８】
2010203829.tif 000010
【図９】
2010203829.tif 000011
【図１０】
2010203829.tif 000012
【図１１】
2010203829.tif 000013
【図１２】
2010203829.tif 000014
【図１３】
2010203829.tif 000015
【図１４】
2010203829.tif 000016
【図１５】
2010203829.tif 000017
【図１６】
2010203829.tif 000018
【図１７】
2010203829.tif 000019
【図１８】
2010203829.tif 000020
【図１９】
2010203829.tif 000021
【図２０】
2010203829.tif 000022
【図２１】
2010203829.tif 000023
【図２２】
2010203829.tif 000024
【図２３】
2010203829.tif 000025
【図２４】
2010203829.tif 000026