(57)【要約】【課題】スキャンテストにおけるコストを低減することができる半導体集積回路、半導体集積回路設計方法、スキャンテストパタン生成方法及びそのプログラムを提供すること【解決手段】本発明にかかる半導体集積回路１は、テスト値がスキャンインされ、当該テスト値を組み合わせ回路２０３に出力する制御用スキャンテスト構成回路と、制御用スキャンテスト構成回路にスキャンインされるテスト値が並列的にスキャンインされるとともに、組み合わせ回路２０３が制御用スキャンテスト構成回路から出力されたテスト値に基づいて出力する出力値が入力され、当該出力値をスキャンアウトする観測用スキャンテスト構成回路とを備えたものである。【選択図】図３
2011094986.tif 000002
【特許請求の範囲】
【請求項１】
テスト値がスキャンインされ、当該テスト値を組み合わせ回路に出力する制御用スキャンテスト構成回路と、
前記制御用スキャンテスト構成回路にスキャンインされるテスト値が並列的にスキャンインされるとともに、前記組み合わせ回路が前記制御用スキャンテスト構成回路から出力されたテスト値に基づいて出力する出力値が入力され、当該出力値をスキャンアウトする観測用スキャンテスト構成回路とを備えた半導体集積回路。
【請求項２】
前記制御用スキャンテスト構成回路は、複数の制御用スキャンフリップフロップを含み、最前段の制御用スキャンフリップフロップ以外の制御用スキャンフリップフロップに、前段の制御用スキャンフリップフロップからスキャンアウトされたテスト値がスキャンインされ、
前記観測用スキャンフリップフロップは、複数の観測用スキャンフリップフロップを含み、最前段の観測用スキャンフリップフロップ以外の観測用スキャンフリップフロップに、前段の観測用スキャンフリップフロップからスキャンアウトされたテスト値がスキャンインされる請求項１に記載の半導体集積回路。
【請求項３】
前記制御用スキャンテスト構成回路と前記観測用スキャン構成回路は、同数のスキャンフリップフロップを有する請求項２に記載の半導体集積回路。
【請求項４】
前記半導体集積回路は、前記制御用スキャンテスト構成回路は、第１及び第２の制御用スキャンテスト構成回路を含み、
前記第１の制御用スキャンテスト構成回路は、前記第２の制御用スキャンテスト構成回路にスキャンインされるテスト値が並列的にスキャンインされる請求項１乃至３のいずれか１項に記載の半導体集積回路。
【請求項５】
前記半導体集積回路は、前記半導体集積回路にテスト値をスキャンインするスキャンイン端子と、
前記半導体集積回路から出力値をスキャンアウトするスキャンアウト端子とを有し、
前記制御用スキャンテスト構成回路及び前記観測用スキャンテスト構成回路は、前記スキャンイン端子にスキャンインされたテスト値がスキャンインされ、
前記スキャンアウト端子は、前記制御用スキャンテスト構成回路及び前記観測用スキャンテスト構成回路のうち、前記観測用スキャンテスト構成回路からスキャンアウトされた出力値をスキャンアウトする請求項１乃至４のいずれか１項に記載の半導体集積回路。
【請求項６】
テスト値がスキャンインされる制御用スキャンテスト構成回路のデータ出力と組み合わせ回路のデータ入力とを接続し、
前記組み合わせ回路のデータ出力と観測用スキャンテスト構成回路のデータ入力とを接続し、
前記テスト値が前記制御用スキャンテスト構成回路と並列的にスキャンインされるように、前記制御用スキャンテスト構成回路のスキャンイン入力と観測用スキャンテスト構成回路のスキャンイン入力とを接続する半導体集積回路設計方法。
【請求項７】
テスト値がスキャンインされる制御用スキャンテスト構成回路のデータ出力と組み合わせ回路のデータ入力とを接続する処理と、
前記組み合わせ回路のデータ出力と観測用スキャンテスト構成回路のデータ入力とを接続する処理と、
前記テスト値が前記制御用スキャンテスト構成回路と並列的にスキャンインされるように、前記制御用スキャンテスト構成回路のスキャンイン入力と観測用スキャンテスト構成回路のスキャンイン入力とを接続する処理をコンピュータに実行させる半導体集積回路設計プログラム。
【請求項８】
テスト値がスキャンインされ、当該テスト値を組み合わせ回路に出力する制御用スキャンテスト構成回路と、前記制御用スキャンテスト構成回路にスキャンインされるテスト値が並列的にスキャンインされるとともに、前記組み合わせ回路が前記制御用スキャンテスト構成回路から出力されたテスト値に基づいて出力する出力値が入力され、当該出力値をスキャンアウトする観測用スキャンテスト構成回路とを備えた半導体集積回路のスキャンテストパタンを生成する場合に、前記テスト値がスキャンインされ、当該テスト値を前記組み合わせ回路に出力するとともに、前記組み合わせ回路が当該テスト値に基づいて出力する出力値が入力され、当該出力値をスキャンアウトする観測用スキャンテスト構成回路を備えた半導体集積回路に基づいて、スキャンテストパタンを生成するスキャンテストパタン生成方法。
【請求項９】
テスト値がスキャンインされ、当該テスト値を組み合わせ回路に出力する制御用スキャンテスト構成回路と、前記制御用スキャンテスト構成回路にスキャンインされるテスト値が並列的にスキャンインされるとともに、前記組み合わせ回路が前記制御用スキャンテスト構成回路から出力されたテスト値に基づいて出力する出力値が入力され、当該出力値をスキャンアウトする観測用スキャンテスト構成回路とを備えた半導体集積回路のスキャンテストパタンを生成する場合に、前記テスト値がスキャンインされ、当該テスト値を前記組み合わせ回路に出力するとともに、前記組み合わせ回路が当該テスト値に基づいて出力する出力値が入力され、当該出力値をスキャンアウトする観測用スキャンテスト構成回路を備えた半導体集積回路に基づいて、スキャンテストパタンを生成する処理をコンピュータに実行させるスキャンテストパタン生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路、半導体集積回路設計方法、スキャンテストパタン生成方法、半導体集積回路設計プログラム及びスキャンテストパタン生成プログラムに関する。
【背景技術】
【０００２】
近年、半導体集積回路のテストでは、故障検出率を向上させるため、スキャンテストが一般的に用いられている。しかし、高い故障検出率を得るためには、膨大なスキャンテストパタンが必要である。その一方で、近年、半導体集積回路の大規模化に伴って、必要とされるスキャンテストパタンの数やそのデータ量も増大してきているため、テスト時間が増加する傾向にある。
【０００３】
特許文献１には、スキャンテスト設計において、観測用テストポイントを挿入するノードと、制御用テストポイントを挿入するノードのうち、テスト効率が良くなる方のノードに観測用テストポイント又は制御用テストポイントを挿入することを決定する技術が開示されている。これにより、ノードに挿入するテストポイントの数を減少させて、テスト回路の面積を削減することができ、テスト回路の単位面積当たりの故障検出率を向上させることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−０８４４２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
通常、スキャンテストにおいては、特許文献１に開示されているような観測用テストポイント及び制御用テストポイントとしてスキャンフリップフロップを設けて、これらを接続することでスキャンチェーンを構成することが考えられる。しかし、近年、半導体集積回路が大規模化してきていることに鑑みると、これらのスキャンフリップフロップを１つのスキャンチェーンによって接続して構成した場合、スキャンチェーンが非常に長くなってしまう。そのため、スキャンテストパタンのデータ量が増大してしまうため、テスト時間やスキャンテストパタンを生成する時間が増大してしまうという問題がある。これにより、スキャンテストにおける時間が増大し、スキャンテストにおけるコストが増大してしまうという問題がある。
【０００６】
また、観測用テストポイントとして設けた観測用スキャンフリップフロップと、制御用テストポイントとして設けた制御用スキャンフリップフロップとで分けてスキャンチェーンを構成することもできる。しかし、この場合は、スキャンイン端子及びスキャンアウト端子等の外部端子数が増加してしまい、コストが増大してしまうという問題がある。
【課題を解決するための手段】
【０００７】
本発明の第１の態様にかかる半導体集積回路は、テスト値がスキャンインされ、当該テスト値を組み合わせ回路に出力する制御用スキャンテスト構成回路と、前記制御用スキャンテスト構成回路にスキャンインされるテスト値が並列的にスキャンインされるとともに、前記組み合わせ回路が前記制御用スキャンテスト構成回路から出力されたテスト値に基づいて出力する出力値が入力され、当該出力値をスキャンアウトする観測用スキャンテスト構成回路とを備えたものである。
【０００８】
本発明の第２の態様にかかる半導体集積回路設計方法は、テスト値がスキャンインされる制御用スキャンテスト構成回路のデータ出力と組み合わせ回路のデータ入力とを接続し、前記組み合わせ回路のデータ出力と観測用スキャンテスト構成回路のデータ入力とを接続し、前記テスト値が前記制御用スキャンテスト構成回路と並列的にスキャンインされるように、前記制御用スキャンテスト構成回路のスキャンイン入力と観測用スキャンテスト構成回路のスキャンイン入力とを接続するものである。
【０００９】
本発明の第３の態様にかかる半導体集積回路設計プログラムは、テスト値がスキャンインされる制御用スキャンテスト構成回路のデータ出力と組み合わせ回路のデータ入力とを接続する処理と、前記組み合わせ回路のデータ出力と観測用スキャンテスト構成回路のデータ入力とを接続する処理と、前記テスト値が前記制御用スキャンテスト構成回路と並列的にスキャンインされるように、前記制御用スキャンテスト構成回路のスキャンイン入力と観測用スキャンテスト構成回路のスキャンイン入力とを接続する処理をコンピュータに実行させるものである。
【００１０】
これらにより、スキャンチェーンの長さを短くすることができるため、スキャンテストパタンのデータ量が低減して、テスト時間を低減することができる。そのため、スキャンテストにおける工数を低減し、スキャンテストにおけるコストを低減することができる。
【００１１】
本発明の第４の態様にかかるスキャンテストパタン生成方法は、テスト値がスキャンインされ、当該テスト値を組み合わせ回路に出力する制御用スキャンテスト構成回路と、前記制御用スキャンテスト構成回路にスキャンインされるテスト値が並列的にスキャンインされるとともに、前記組み合わせ回路が前記制御用スキャンテスト構成回路から出力されたテスト値に基づいて出力する出力値が入力され、当該出力値をスキャンアウトする観測用スキャンテスト構成回路とを備えた半導体集積回路のスキャンテストパタンを生成する場合に、前記テスト値がスキャンインされ、当該テスト値を前記組み合わせ回路に出力するとともに、前記組み合わせ回路が当該テスト値に基づいて出力する出力値が入力され、当該出力値をスキャンアウトする観測用スキャンテスト構成回路を備えた半導体集積回路に基づいて、スキャンテストパタンを生成する。
【００１２】
本発明の第５の態様にかかるスキャンテストパタン生成プログラムは、テスト値がスキャンインされ、当該テスト値を組み合わせ回路に出力する制御用スキャンテスト構成回路と、前記制御用スキャンテスト構成回路にスキャンインされるテスト値が並列的にスキャンインされるとともに、前記組み合わせ回路が前記制御用スキャンテスト構成回路から出力されたテスト値に基づいて出力する出力値が入力され、当該出力値をスキャンアウトする観測用スキャンテスト構成回路とを備えた半導体集積回路のスキャンテストパタンを生成する場合に、前記テスト値がスキャンインされ、当該テスト値を前記組み合わせ回路に出力するとともに、前記組み合わせ回路が当該テスト値に基づいて出力する出力値が入力され、当該出力値をスキャンアウトする観測用スキャンテスト構成回路を備えた半導体集積回路に基づいて、スキャンテストパタンを生成する処理をコンピュータに実行させるものである。
【００１３】
これらにより、スキャンチェーンの長さを短くした半導体集積回路において、さらにＡＴＰＧツールによってスキャンテストを自動生成することができるため、スキャンテストパタンを生成する時間を低減することができる。そのため、スキャンテストにおける工数を低減し、スキャンテストにおけるコストを低減することができる。
【発明の効果】
【００１４】
上述した各態様により、スキャンテストにおけるコストを低減することができる半導体集積回路、半導体集積回路設計方法、スキャンテストパタン生成方法、半導体集積回路設計プログラム及びスキャンテストパタン生成プログラムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態１にかかる半導体集積回路設計装置の構成図である。
【図２】本発明の実施の形態１にかかる半導体集積回路設計装置の処理を示すフローチャートである。
【図３】本発明の実施の形態１にかかる半導体集積回路の構成図である。
【図４】本発明の実施の形態１にかかるスキャンテストパタン生成用の半導体集積回路の構成図である。
【図５】本発明の実施の形態２にかかる半導体集積回路設計装置の処理を示すフローチャートである。
【図６】本発明の実施の形態２にかかる半導体集積回路の構成図である。
【図７】本発明の実施の形態２にかかるスキャンテストパタン生成用の半導体集積回路の構成図である。
【図８】本発明の実施の形態３にかかる半導体集積回路設計装置の処理を示すフローチャートである。
【図９】本発明の実施の形態３にかかる半導体集積回路の構成図である。
【図１０】本発明の実施の形態３にかかるスキャンテストパタン生成用の半導体集積回路の構成図である。
【発明を実施するための形態】
【００１６】
本発明の実施の形態１．
図１を参照して、本発明の実施の形態１にかかる半導体集積回路設計装置の構成について説明する。図１は、本発明の実施の形態１にかかる半導体集積回路設計装置の構成図である。
半導体集積回路設計装置１は、ＣＰＵ(Central Processing Unit)１１、メモリ１２及びＨＤＤ(hard disk drive)１３を有する。
【００１７】
ＣＰＵ１１は、ＨＤＤ１３に格納されるＤＦＴ(Design For Testability)ツール２１やＡＴＰＧ(Automatic Test Pattern Generator)ツール２２をメモリ１２にロードして実行することで、半導体集積回路の情報及びこの半導体集積回路に適用するスキャンテストパタン情報を生成する。
【００１８】
メモリ１２は、ＣＰＵ１１によって、ＤＦＴツール２１やＡＴＰＧツール２２の実行に必要な情報が格納される。
ＨＤＤ１３は、ＤＦＴツール２１、ＡＴＰＧツール２２、回路接続情報３１、本回路接続情報３２及び仮想回路接続情報３３を格納する。なお、ＨＤＤ１３は、ＨＤＤや不揮発性メモリ等の記憶装置であればよい。
【００１９】
ＤＦＴツール２１は、本回路接続情報３２及び仮想回路接続情報３３を生成する処理をＣＰＵ１１に実行させるプログラムである。
ＡＴＰＧツール２２は、スキャンテストパタン情報を生成する処理をＣＰＵ１１に実行させるプログラムである。ＡＴＰＧツール２２は、例えば、Ｓｙｎｏｐｓｙｓ社のＴｅｔｒａＭＡＸ ＡＴＰＧである。
【００２０】
回路接続情報３１は、半導体集積回路を示す情報である。回路接続情報３１は、より具体的には、半導体集積回路における配線の接続情報を含んでいる。回路接続情報３１は、例えば、論理合成により生成されたネットリストである。
本回路接続情報３２は、回路接続情報３１が示す半導体集積回路に含まれるスキャンフリップフロップ(以下、フリップフロップを「ＦＦ」とする)によってスキャンテストに必要なスキャンチェーンを構成した半導体集積回路を示す情報である。本回路接続情報３２は、例えば、ネットリストである。
【００２１】
仮想回路接続情報３３は、本回路接続情報３２が示す半導体集積回路をＡＴＰＧツール２２によるスキャンテストパタン情報の生成に適するように変更した半導体集積回路を示す情報である。仮想回路接続情報３３は、本回路接続情報３２に適用するスキャンテストパタンを生成するための情報となる。仮想回路接続情報３３は、例えば、ネットリストである。
スキャンテストパタン情報３４は、本回路接続情報３２が示す半導体集積回路におけるスキャンテストパタンを示す情報である。
【００２２】
続いて、図２〜４を参照して、本発明の実施の形態１にかかる半導体集積回路設計装置の処理について説明する。図２は、本発明の実施の形態１にかかる半導体集積回路設計装置の処理を示すフローチャートである。図３は、本発明の実施の形態１にかかる半導体集積回路の構成図である。図３は、本回路接続情報３２が示す半導体集積回路となる。図４は、本発明の実施の形態１にかかるスキャンテストパタン生成用の半導体集積回路の構成図である。図４は、仮想回路接続情報３３が示す半導体集積回路となる。
【００２３】
以降、ステップＳ７００〜Ｓ７０７までは、スキャンチェーンを構成した半導体集積回路を設計する処理について説明する。なお、ＣＰＵ１１は、ＤＦＴツール２１をメモリ１２にロードして、ＤＦＴツール２１に含まれる命令に従って、ステップＳ７００〜Ｓ７０９の処理を実行する。
ＣＰＵ１１は、テストポイント挿入箇所を決定する(Ｓ７００)。なお、テストポイント挿入箇所の決定は、一般的な方法であればどのように決定してもよい。例えば、故障検出率が向上するような箇所をテストポイント挿入箇所として決定する。
【００２４】
ＣＰＵ１１は、決定したテストポイント挿入箇所に観測専用スキャンＦＦ１１１、１１２及び制御専用フリップフロップ１２１、１２２を追加する(Ｓ７０１)。このとき、ＣＰＵ１１は、制御専用スキャンＦＦ１２１のデータ出力５２１と、組み合わせ回路２０３のデータ入力５０３とを配線によって接続する。また、ＣＰＵ１１は、制御専用スキャンＦＦ１２２のデータ出力５２２と、組み合わせ回路２０３のデータ入力５０４とを配線によって接続する。また、ＣＰＵ１１は、観測専用スキャンＦＦ１１１のデータ入力５１３と、組み合わせ回路２０３のデータ出力５０２とを接続する。また、ＣＰＵ１１は、観測専用スキャンＦＦ１１２のデータ入力５１２と、組み合わせ回路２０３のデータ出力５０１とを配線によって接続する。なお、観測専用スキャンＦＦ１１１、１１２は、観測用スキャンテスト構成回路として機能し、制御専用フリップフロップ１２１、１２２は、制御用スキャンテスト構成回路として機能する。
【００２５】
ＣＰＵ１１は、制御専用スキャンＦＦ１２１、１２２のみを接続するスキャンチェーン１２０を作成する(Ｓ７０２)。具体的には、制御専用スキャンＦＦ１２１のスキャンアウト出力と、制御専用スキャンＦＦ１２２のスキャンイン入力とをスキャンチェーンによって接続する。
ＣＰＵ１１は、観測専用スキャンＦＦ１１１、１１２のみを接続するスキャンチェーン１１０を作成する(Ｓ７０３)。具体的には、観測専用スキャンＦＦ１１１のスキャンアウト出力と、観測専用スキャンＦＦ１１２とのスキャンイン入力とをスキャンチェーンによって接続する。
【００２６】
ＣＰＵ１１は、制御専用スキャンＦＦ１２１、１２２及び観測専用スキャンＦＦ１１１、１１２以外の通常のスキャンＦＦ１０１、１０２、１０３、１０４を接続するスキャンチェーンを作成する(Ｓ７０４)。具体的には、スキャンチェーンによって、スキャンＦＦ１０１のスキャンアウト出力とスキャンＦＦ１０２のスキャンイン入力とを接続し、スキャンＦＦ１０２のスキャンアウト出力とスキャンＦＦ１０３のスキャンイン入力とを接続し、スキャンＦＦ１０３のスキャンアウト出力とスキャンＦＦ１０４のスキャンイン入力とを接続する。
【００２７】
ＣＰＵ１１は、制御専用スキャンＦＦ１２１、１２２を接続したスキャンチェーン１２０と、観測専用スキャンＦＦ１１１、１１２を接続したスキャンチェーン１１０とを並列に接続する(Ｓ７０５)。具体的には、制御専用スキャンＦＦ１２１のスキャンイン入力と、観測専用スキャンＦＦ１１１のスキャンイン入力とをスキャンチェーンによって接続する。言い換えると、制御専用スキャンＦＦ１２１、１２２が接続されるスキャンチェーン１２０において、最前段の制御専用スキャンＦＦ１２１と、観測専用スキャンＦＦ１１１、１１２が接続されるスキャンチェーン１１０において、最前段の観測専用スキャンＦＦ１１１とを接続する。
【００２８】
ＣＰＵ１１は、通常のスキャンＦＦ１０１、１０２、１０３、１０４が接続されたスキャンチェーンと、制御専用スキャンＦＦ１２１、１２２が接続されたスキャンチェーン１２０とを直列に接続する(Ｓ７０６)。ここで、通常のスキャンＦＦ１０１、１０２、１０３、１０４が接続されたスキャンチェーンは、観測専用スキャンＦＦ１１１、１１２が接続されたスキャンチェーン１１０とも直列に接続されることになる。具体的には、通常のスキャンＦＦ１０４のスキャンアウト出力と、制御専用スキャンＦＦ１２１のスキャンイン入力及び観測専用スキャンＦＦ１１１のスキャンイン入力とをスキャンチェーンによって接続する。言い換えると、通常のスキャンＦＦ１０１、１０２、１０３、１０４が接続されたスキャンチェーンにおいて、最後段のスキャンＦＦ１０４のスキャンアウト出力と、スキャンチェーン１１０において最前段の観測専用スキャンＦＦ１１１のスキャンイン入力と、スキャンチェーン１２０において最前段の制御専用スキャンＦＦ１２１のスキャンイン入力とを接続する。
【００２９】
ＣＰＵ１１は、スキャンチェーンをスキャンイン端子４０１と、スキャンアウト端子４０２とに接続する(Ｓ７０７)。具体的には、スキャンイン端子４０１と、通常のスキャンＦＦ１０１のスキャンイン入力とを接続する。言い換えると、スキャンイン端子４０１と、全てのスキャンＦＦ１０１、１０２、１０３、１０４、１１１、１１２、１２１、１２２が接続されるスキャンチェーンにおいて、最前段のスキャンＦＦ１０１のスキャンイン入力とを接続する。また、具体的には、スキャンアウト端子４０２と、観測専用スキャンＦＦ１１２のスキャンイン出力とを接続する。言い換えると、スキャンアウト端子４０２と、全てのスキャンＦＦ１０１、１０２、１０３、１０４、１１１、１１２、１２１、１２２が接続されるスキャンチェーンにおいて、最後段の観測専用スキャンＦＦ１１２のスキャンアウト出力とを接続する。
【００３０】
ここまでの処理によって、図３に示す半導体集積回路が生成される。なお、図示を省略しているが、全てのスキャンＦＦ１０１、１０２、１０３、１０４、１１１、１１２、１２１、１２２は、プライマリ入力からのクロック信号が直接供給されている(図示せず)。そして、ＣＰＵ１１は、この半導体集積回路を示す本回路接続情報３２をＨＤＤ１３に格納する。
【００３１】
以降、ステップＳ７０８〜Ｓ７１０までは、本回路接続情報３２が示す半導体集積回路のスキャンテストパタンを生成する処理について説明する。
ＣＰＵ１１は、組み合わせ回路２０３のデータ入力５０３、５０４に接続される配線を、制御専用スキャンＦＦ１２１、１２２が接続されるスキャンチェーン１２０のうち、スキャンイン端子４０１側からｎ番目(ｎは、正整数)の制御専用スキャンＦＦのデータ出力から、観測専用スキャンＦＦ１１１、１１２が接続されるスキャンチェーン１１０のうち、スキャンイン端子４０１側からｎ番目(ｎは、正整数)の観測専用スキャンＦＦのデータ出力に繋ぎかえる(Ｓ７０８)。
【００３２】
具体的には、ＣＰＵ１１は、組み合わせ回路２０３のデータ入力５０３から、１番目の制御専用スキャンＦＦ１２１のデータ出力５２１に接続される配線を、１番目の観測専用スキャンＦＦ１１１のデータ出力５１１に接続する。なお、組み合わせ回路２０３のデータ入力５０３と制御専用スキャンＦＦ１２１のデータ出力５２１とを接続する配線を一度削除して、組み合わせ回路２０３のデータ入力５０３と観測専用スキャンＦＦ１１１のデータ出力５１１とを接続する配線を追加するようにしてもよい。
【００３３】
また、具体的には、ＣＰＵ１１は、組み合わせ回路２０３のデータ入力５０４から、２番目の制御専用スキャンＦＦ１２２のデータ出力５２２に接続される配線を、２番目の観測専用スキャンＦＦ１１２のデータ出力５１２に接続させるように繋ぎかえる。なお、組み合わせ回路２０３のデータ入力５０４と制御専用スキャンＦＦ１２１のデータ出力５２２とを接続する配線を一度削除して、組み合わせ回路２０３のデータ入力５０４と観測専用スキャンＦＦ１１２のデータ出力５１２とを接続する配線を追加するようにしてもよい。
【００３４】
ＣＰＵ１１は、制御専用スキャンＦＦ１２１、１２２を接続するスキャンチェーン１２０を削除する(Ｓ７０９)。具体的には、制御専用スキャンＦＦ１２１のスキャンアウト出力と、制御専用スキャンＦＦ１２２のスキャンイン入力とを接続するスキャンチェーン１２０を削除する。また、通常のスキャンＦＦ１０４のスキャンアウト出力と、制御専用スキャンＦＦ１２１のスキャンイン入力及び観測専用スキャンＦＦ１１１のスキャンイン入力とを接続するスキャンチェーンのうち、制御専用スキャンＦＦ１２１のスキャンイン入力に分岐している部分を削除する。なお、ステップＳ７０９において、制御専用スキャンＦＦ１２１、１２２も削除してしまってもよい。
ここまでの処理によって、図４に示す半導体集積回路が生成される。そして、ＣＰＵ１１は、この半導体集積回路を示す仮想回路接続情報３３をＨＤＤ１３に格納する。
【００３５】
次に、ＣＰＵ１１は、ＡＴＰＧツール２２をメモリ１２にロードして、ＡＴＰＧツール２２に含まれる命令に従って、ステップＳ７１０の処理を実行する。
ＣＰＵ１１は、ＨＤＤ１３から仮想回路接続情報３３を取得して、取得した仮想回路接続情報３３に基づいて、スキャンテストパタンを生成する(Ｓ７１０)。ここで、一般的なＡＴＰＧツールは、スキャンチェーンが１系統、つまり、分岐することなくスキャンＦＦと接続されており、それらのスキャンＦＦにプライマリ入力からのクロック信号が直接供給されていなければ、スキャンテストパタンを自動生成することができない。図４に示す半導体集積回路では、スキャンイン端子４０１からスキャンアウト端子４０２まで、１系統のスキャンチェーンを構成しているため、ＡＴＰＧツール２２によって、スキャンテストパタンを自動生成することができる。
【００３６】
続いて、図３を参照して、本実施の形態１にかかる半導体集積回路の動作について説明する。
スキャンテストの実行前には、スキャンイン端子４０１からスキャンテストパタンに含まれるテスト値を順次スキャンインしていく。スキャンイン端子４０１にスキャンインしたテスト値は、通常のスキャンＦＦ１０１、１０２、１０３、１０４の順で、それぞれのスキャンＦＦ１０１、１０２、１０３、１０４にシフトインされていく。
【００３７】
そして、通常のスキャンＦＦ１０４にテスト値がスキャンインされた状態で、シフトイン動作が行われた場合、通常のスキャンＦＦ１０４は、次段の観測専用スキャンＦＦ１１１及び制御専用スキャンＦＦ１２１にテスト値をスキャンアウトする。観測専用スキャンＦＦ１１１及び制御専用スキャンＦＦ１２１は、通常のスキャンＦＦ１０４からスキャンアウトされたテスト値が並列的にスキャンインされる。次に、シフトイン動作を行うと、観測専用スキャンＦＦ１１１に格納されたテスト値がスキャンアウトされて、観測専用スキャンＦＦ１１２にスキャンインされる。また、制御専用スキャンＦＦ１２１に格納されたテスト値がスキャンアウトされて、制御専用スキャンＦＦ１２２にスキャンインされる。
【００３８】
つまり、制御専用スキャンＦＦ１２１、１２２が接続されるスキャンチェーン１２０のうち、スキャンイン端子４０１側からｎ番目(ｎは、正整数)の制御専用スキャンＦＦと、観測専用スキャンＦＦ１１１、１１２が接続されるスキャンチェーン１１０のうち、スキャンイン端子４０１側からｎ番目(ｎは、正整数)の観測専用スキャンＦＦには、同じテスト値が格納される。
【００３９】
つまり、図３に示すように、制御専用スキャンＦＦ１２１、１２２から組み合わせ回路２０３にテスト値を出力する半導体集積回路であっても、図４に示すように、観測専用スキャンＦＦ１１１、１１２から組み合わせ回路２０３にテスト値を出力する半導体集積回路であっても、組み合わせ回路２０３に入力されるテスト値は同じ値となる。そのため、図３に示す半導体集積回路と図４に示す半導体集積回路は、構成が異なっていても動作は同じとなるため、図４に示す半導体集積回路の仮想回路接続情報３３に基づいて生成したスキャンテストパタンを図３に示す半導体集積回路に適用することができる。
【００４０】
全ての通常のスキャンＦＦ１０１、１０２、１０３、１０４及び制御専用スキャンＦＦ１２１、１２２にテスト値が格納されると、スキャンテストを実行する。そして、スキャンテスト実行時に、制御専用スキャンＦＦ１２１、１２２は、テスト値を組み合わせ回路２０３に出力する。組み合わせ回路２０３は、制御専用スキャンＦＦ１２１、１２２から出力されたテスト値に基づいた出力値を観測専用スキャンＦＦ１１１、１１２に出力する。観測専用スキャンＦＦ１１１、１１２は、組み合わせ回路２０３から出力された出力値を格納する。具体的には、組み合わせ回路２０３のデータ出力５０１から出力された出力値が観測専用スキャンＦＦ１１２のデータ入力５１４に入力され、組み合わせ回路２０３のデータ出力５０２から出力された出力値が観測専用スキャンＦＦ１１１のデータ入力５１３に入力される。また、組み合わせ回路２０１から出力された出力値が通常のスキャンＦＦ１０１、１０２に格納される。また、組み合わせ回路２０２から出力された出力値が通常のスキャンＦＦ１０３、１０４に格納される。
【００４１】
このように、制御専用スキャンＦＦ１２１、１２２と観測専用スキャンＦＦ１１１、１１２に並列的にテスト値がスキャンインされても、観測専用スキャンＦＦ１１１、１１２は、組み合わせ回路２０３にテスト値を出力しないため、制御専用スキャンＦＦ１２１、１２２と同じテスト値が格納されても、スキャンテストを実施する際に影響を与えない。
【００４２】
スキャンテストの実行後に、シフトイン動作を行うことで、全ての通常のスキャンＦＦ１０１、１０２、１０３、１０４及び観測専用スキャンＦＦ１１１、１１２に格納された出力値がスキャンアウト端子４０２に順次スキャンアウトされる。具体的には、例えば、観測専用スキャンＦＦ１１１は、格納された出力値を観測専用スキャンＦＦ１１２にスキャンアウトし、観測専用スキャンＦＦ１１２は、格納された出力値をスキャンアウト端子４０２にスキャンアウトする。スキャンアウト端子４０２からスキャンアウトされた出力値と期待値とを比較することによって、半導体集積回路の動作結果を確認することができる。
【００４３】
以上に説明したように、本実施の形態１によれば、制御専用スキャンＦＦ１２１、１２２と、観測専用スキャンＦＦ１１１、１１２とに並列的にテスト値がスキャンインされるように構成している。これにより、スキャンチェーンの長さを短くすることができるため、スキャンテストパタンのデータ量が低減して、テスト時間を低減することができる。また、このように構成することで、制御専用スキャンＦＦ１２１、１２２及び観測専用スキャンＦＦ１１１、１１２の前段にスキャンイン端子４０１を１つ接続し、観測専用スキャンＦＦ１１１、１１２の後段にスキャンアウト端子４０２を１つ接続するのみで、制御専用スキャンＦＦ１２１、１２２に対するテスト値にスキャンインと、観測専用スキャンＦＦ１１１、１１２からの組み合わせ回路２０３の出力値のスキャンアウトを行うことができるため、外部端子数が増加することがない。そのため、スキャンテストにおける工数を低減し、スキャンテストにおけるコストを低減することができる。
【００４４】
また、本実施の形態１によれば、制御専用スキャンＦＦ１２１、１２２と、観測専用スキャンＦＦ１１１、１１２とに並列的にテスト値がスキャンインされるように構成した半導体集積回路のスキャンテストパタンを生成する場合に、観測専用スキャンＦＦ１１１、１１２から組み合わせ回路２０３にテスト値を出力するようにした半導体集積回路に基づいてスキャンテストパタンを生成するようにしている。これにより、スキャンチェーンの長さを短くした半導体集積回路において、さらにＡＴＰＧツールによってスキャンテストを自動生成することができるため、スキャンテストパタンを生成する時間を低減することができる。そのため、スキャンテストにおける時間を工数し、スキャンテストにおけるコストを低減することができる。
【００４５】
発明の実施の形態２．
本発明の実施の形態２にかかる半導体集積回路設計装置は、実施の形態１にかかる半導体集積回路設計装置１と同様であるため、説明を省略する。
【００４６】
続いて、図５〜７を参照して、本発明の実施の形態２にかかる半導体集積回路設計装置の処理について説明する。図５は、本発明の実施の形態２にかかる半導体集積回路設計装置の処理を示すフローチャートである。図６は、本発明の実施の形態２にかかる半導体集積回路の構成図である。図６は、本回路接続情報３２が示す半導体集積回路となる。図７は、本発明の実施の形態２にかかるスキャンテストパタン生成用の半導体集積回路の構成図である。図７は、仮想回路接続情報３３が示す半導体集積回路となる。なお、実施の形態１と同様の具体的な処理内容については説明を省略する。
【００４７】
以降、ステップＳ８００〜Ｓ８０７までは、スキャンチェーンを構成した半導体集積回路を設計する処理について説明する。
ＣＰＵ１１は、テストポイント挿入箇所を決定する(Ｓ８００)。ここで、本実施の形態２では、実施の形態１と比較して、さらに制御専用スキャンＦＦ１３１、１３２が追加される箇所をテストポイント挿入箇所として決定する。
【００４８】
ＣＰＵ１１は、決定したテストポイント挿入箇所に観測専用スキャンＦＦ１１１、１１２及び制御専用フリップフロップ１２１、１２２、１３１、１３２を追加する(Ｓ８０１)。このとき、ＣＰＵ１１は、制御専用スキャンＦＦ１３１のデータ出力５３１と、組み合わせ回路２０３のデータ入力５０５とを配線によって接続する。また、ＣＰＵ１１は、制御専用スキャンＦＦ１３２のデータ出力５３２と、組み合わせ回路２０３のデータ入力５０６とを配線によって接続する。
【００４９】
ＣＰＵ１１は、制御専用スキャンＦＦ１２１、１２２のみを接続するスキャンチェーン１２０と、制御専用スキャンＦＦ１３１、１３２のみを接続するスキャンチェーン１３０とを作成する(Ｓ８０２)。具体的には、制御専用スキャンＦＦ１３１のスキャンアウト出力と、制御専用スキャンＦＦ１３２のスキャンイン入力とをスキャンチェーンによって接続する。このように、本実施の形態２では、制御専用スキャンＦＦ１２１、１２２、１３１、１３２の数が、観測専用スキャンＦＦ１１１、１１２の数より多い場合に、観測専用スキャンＦＦ１１１、１１２の数と同数の制御専用スキャンＦＦ１２１、１２２及び１３１、１３２を接続する複数のスキャンチェーン１２０、１３０を作成する。
ＣＰＵ１１は、観測専用スキャンＦＦ１１１、１１２のみを接続するスキャンチェーン１１０を作成する(Ｓ８０３)。
【００５０】
ＣＰＵ１１は、制御専用スキャンＦＦ１２１、１２２、１３１、１３２及び観測専用スキャンＦＦ１１１、１１２以外の通常のスキャンＦＦ１０１、１０２、１０３、１０４を接続するスキャンチェーンを作成する(Ｓ８０４)。
ＣＰＵ１１は、制御専用スキャンＦＦ１２１、１２２を接続したスキャンチェーン１２０と、制御専用スキャンＦＦ１３１、１３２を接続したスキャンチェーン１３０と、観測専用スキャンＦＦ１１１、１１２を接続したスキャンチェーン１１０とを並列に接続する(Ｓ８０５)。具体的には、制御専用スキャンＦＦ１２１のスキャンイン入力と、制御専用スキャンＦＦ１３１のスキャンイン入力と、観測専用スキャンＦＦ１１１のスキャンイン入力とをスキャンチェーンによって接続する。
【００５１】
ＣＰＵ１１は、通常のスキャンＦＦ１０１、１０２、１０３、１０４が接続されたスキャンチェーンと、制御専用スキャンＦＦ１３１、１３２が接続されたスキャンチェーン１３０とを直列に接続する(Ｓ８０６)。ここで、通常のスキャンＦＦ１０１、１０２、１０３、１０４が接続されたスキャンチェーンは、制御専用スキャンＦＦ１２１、１２２が接続されたスキャンチェーン１２０及び観測専用スキャンＦＦ１１１、１１２が接続されたスキャンチェーン１１０とも直列に接続されることになる。具体的には、通常のスキャンＦＦ１０４のスキャンアウト出力と、制御専用スキャンＦＦ１３１のスキャンイン入力とをスキャンチェーンによって接続する。
【００５２】
ＣＰＵ１１は、スキャンチェーンをスキャンイン端子４０１と、スキャンアウト端子４０２とに接続する(Ｓ８０７)。
ここまでの処理によって、図６に示す半導体集積回路が生成される。なお、図示を省略しているが、全てのスキャンＦＦ１０１、１０２、１０３、１０４、１１１、１１２、１２１、１２２、１３１、１３２は、プライマリ入力からのクロック信号が直接供給されている。そして、ＣＰＵ１１は、この半導体集積回路を示す本回路接続情報３２をＨＤＤ１３に格納する。
【００５３】
以降、ステップＳ８０８〜Ｓ８１０までは、本回路接続情報３２が示す半導体集積回路のスキャンテストパタンを生成する処理について説明する。
ＣＰＵ１１は、組み合わせ回路２０３のデータ入力５０３、５０４、５０５、５０６に接続される配線を、制御専用スキャンＦＦ１２１、１２２、１３１、１３２が接続されるスキャンチェーン１２０、１３０のそれぞれのうち、スキャンイン端子４０１側からｎ番目(ｎは、正整数)の制御専用スキャンＦＦのデータ出力から、観測専用スキャンＦＦ１１１、１１２が接続されるスキャンチェーン１１０のうち、スキャンイン端子４０１側からｎ番目(ｎは、正整数)の観測専用スキャンＦＦのデータ出力に繋ぎかえる(Ｓ８０８)。
【００５４】
具体的には、ＣＰＵ１１は、組み合わせ回路２０３のデータ入力５０５から、１番目の制御専用スキャンＦＦ１２１のデータ出力５３１に接続される配線を、１番目の観測専用スキャンＦＦ１１１のデータ出力５１１に接続する。また、具体的には、ＣＰＵ１１は、組み合わせ回路２０３のデータ入力５０６から、２番目の制御専用スキャンＦＦ１３２のデータ出力５３２に接続される配線を、２番目の観測専用スキャンＦＦ１１２のデータ出力５１２に接続させるように繋ぎかえる。
【００５５】
ＣＰＵ１１は、制御専用スキャンＦＦ１２１、１２２を接続するスキャンチェーン１２０と、制御専用スキャンＦＦ１３１、１３２を接続するスキャンチェーン１３０とを削除する(Ｓ８０９)。具体的には、制御専用スキャンＦＦ１３１のスキャンアウト出力と、制御専用スキャンＦＦ１３２のスキャンイン入力とを接続するスキャンチェーン１３０を削除する。また、通常のスキャンＦＦ１０４のスキャンアウト出力と、制御専用スキャンＦＦ１２１のスキャンイン入力、制御専用スキャンＦＦ１３１のスキャンイン入力及び観測専用スキャンＦＦ１１１のスキャンイン入力とを接続するスキャンチェーンのうち、制御専用スキャンＦＦ１２１のスキャンイン入力に分岐している部分と、制御専用スキャンＦＦ１３１のスキャンイン入力に分岐している部分とを削除する。なお、ステップＳ８０９において、制御専用スキャンＦＦ１３１、１３２も削除してしまってもよい。
ここまでの処理によって、図６に示す半導体集積回路が生成される。そして、ＣＰＵ１１は、この半導体集積回路を示す仮想回路接続情報３３をＨＤＤ１３に格納する。
【００５６】
次に、ＣＰＵ１１は、ＨＤＤ１３から仮想回路接続情報３３を取得して、取得した仮想回路接続情報３３に基づいて、スキャンテストパタンを生成する(Ｓ８１０)。図６に示す半導体集積回路では、スキャンイン端子４０１からスキャンアウト端子４０２まで、１系統のスキャンチェーンを構成しているため、ＡＴＰＧツール２２によって、スキャンテストパタンを自動生成することができる。
【００５７】
続いて、図６を参照して、本実施の形態１にかかる半導体集積回路の動作について説明する。なお、実施の形態１と同様の動作については説明を省略する
スキャンテストの実行前には、スキャンイン端子４０１からスキャンテストパタンに含まれるテスト値を順次スキャンインしていく。
【００５８】
そして、通常のスキャンＦＦ１０４にテスト値がスキャンインされた状態で、シフトイン動作が行われた場合、通常のスキャンＦＦ１０４は、次段の観測専用スキャンＦＦ１１１及び制御専用スキャンＦＦ１２１、１３１にテスト値をスキャンアウトする。観測専用スキャンＦＦ１１１及び制御専用スキャンＦＦ１２１、１３１は、通常のスキャンＦＦ１０４からスキャンアウトされたテスト値が並列的にスキャンインされる。次に、シフトイン動作を行うと、制御専用スキャンＦＦ１３１に格納されたテスト値がスキャンアウトされて、制御専用スキャンＦＦ１３２にスキャンインされる。
【００５９】
つまり、制御専用スキャンＦＦ１２１、１２２、１３１、１３２が接続されるスキャンチェーン１２０、１３０のそれぞれのうち、スキャンイン端子４０１側からｎ番目(ｎは、正整数)の制御専用スキャンＦＦのそれぞれと、観測専用スキャンＦＦ１１１、１１２が接続されるスキャンチェーン１１０のうち、スキャンイン端子４０１側からｎ番目(ｎは、正整数)の観測専用スキャンＦＦには、同じテスト値が格納される。つまり、本実施の形態２では、制御専用スキャンＦＦ１２１、１２２と、制御専用スキャンＦＦ１３１、１３２とが同じテスト値が格納されるテストポイントである場合に、制御専用スキャンＦＦ１２１、１２２、１３１、１３２による複数のスキャンチェーン１２０、１３０を作成して並列に接続している。この判定は、ステップＳ８００〜Ｓ８０５のいずれの処理で行ってもよい。
【００６０】
つまり、図６に示すように、制御専用スキャンＦＦ１２１、１２２、１３１、１３２から組み合わせ回路２０３にテスト値を出力する半導体集積回路であっても、図７に示すように、観測専用スキャンＦＦ１１１、１１２から組み合わせ回路２０３にテスト値を出力する半導体集積回路であっても、組み合わせ回路２０３に入力されるテスト値は同じ値となる。そのため、図６に示す半導体集積回路と図７に示す半導体集積回路は、構成が異なっていても動作は同じとなるため、図７に示す半導体集積回路の仮想回路接続情報３３に基づいて生成したスキャンテストパタンを図６に示す半導体集積回路に適用することができる。
【００６１】
全ての通常のスキャンＦＦ１０１、１０２、１０３、１０４及び制御専用スキャンＦＦ１２１、１２２、１３１、１３２にテスト値が格納されると、スキャンテストを実行する。そして、スキャンテスト実行時に、制御専用スキャンＦＦ１３１、１３２は、テスト値を組み合わせ回路２０３に出力する。組み合わせ回路２０３は、制御専用スキャンＦＦ１２１、１２２、１３１、１３２から出力されたテスト値に基づいた出力値を観測専用スキャンＦＦ１１１、１１２に出力する。スキャンテストの実行後の動作は、実施の形態１と同様であるため、説明を省略する。
【００６２】
以上に説明したように、本実施の形態２によれば、制御専用スキャンＦＦ１２１、１２２、１３１、１３２の数が観測専用スキャンＦＦ１１１、１１２の数より多い場合であっても、観測専用スキャンＦＦ１１１、１１２の数と同数の制御専用スキャンＦＦ１２１、１２２及び制御専用スキャンＦＦ１３１、１３２と、観測専用スキャンＦＦ１１１、１１２とに並列的にテスト値がスキャンインされるように構成しているため、実施の形態１よりもさらにスキャンチェーンの長さを短くすることができる。これにより、さらにスキャンテストパタンのデータ量が低減して、テスト時間を低減することができるため、よりスキャンテストにおける工数を低減し、スキャンテストにおけるコストを低減することができる。
【００６３】
発明の実施の形態３．
本発明の実施の形態３にかかる半導体集積回路設計装置は、実施の形態１にかかる半導体集積回路設計装置１と同様であるため、説明を省略する。
【００６４】
続いて、図８〜１０を参照して、本発明の実施の形態３にかかる半導体集積回路設計装置の処理について説明する。図８は、本発明の実施の形態３にかかる半導体集積回路設計装置の処理を示すフローチャートである。図９は、本発明の実施の形態３にかかる半導体集積回路の構成図である。図９は、本回路接続情報３２が示す半導体集積回路となる。図１０は、本発明の実施の形態３にかかるスキャンテストパタン生成用の半導体集積回路の構成図である。図１０は、仮想回路接続情報３３が示す半導体集積回路となる。なお、実施の形態１と同様の具体的な処理内容については説明を省略する。
【００６５】
以降、ステップＳ９００〜Ｓ９０７までは、スキャンチェーンを構成した半導体集積回路を設計する処理について説明する。
ＣＰＵ１１は、テストポイント挿入箇所を決定する(Ｓ９００)。ここで、本実施の形態３では、実施の形態１と比較して、さらに制御専用スキャンＦＦ１２３、１２４が追加される箇所をテストポイント挿入箇所として決定する。
【００６６】
ＣＰＵ１１は、決定したテストポイント挿入箇所に観測専用スキャンＦＦ１１１、１１２及び制御専用フリップフロップ１２１、１２２、１２３、１２４を追加する(Ｓ９０１)。このとき、ＣＰＵ１１は、制御専用スキャンＦＦ１２３のデータ出力５２３と、組み合わせ回路２０３のデータ入力５０７とを配線によって接続する。また、ＣＰＵ１１は、制御専用スキャンＦＦ１２４のデータ出力５２４と、組み合わせ回路２０３のデータ入力５０８とを配線によって接続する。
【００６７】
ＣＰＵ１１は、制御専用フリップフロップ１２１、１２２、１２３、１２４のうち、観測専用スキャンＦＦ１１１、１１２と同数となる制御専用スキャンＦＦ１２１、１２２のみを接続するスキャンチェーン１２０を作成する(Ｓ９０２)。
ＣＰＵ１１は、観測専用スキャンＦＦ１１１、１１２のみを接続するスキャンチェーン１１０を作成する(Ｓ９０３)。
【００６８】
ＣＰＵ１１は、制御専用スキャンＦＦ１２１、１２２、１２３、１２４及び観測専用スキャンＦＦ１１１、１１２以外の通常のスキャンＦＦ１０１、１０２、１０３、１０４と、スキャンチェーン１２０に接続されていない制御専用スキャンＦＦ１２３、１２４とを接続するスキャンチェーンを作成する(Ｓ９０４)。具体的には、通常のスキャンＦＦ１０４のスキャンアウト出力と制御専用スキャンＦＦ１２３のスキャンイン入力とを接続し、制御専用スキャンＦＦ１２３のスキャンアウト出力と制御専用スキャンＦＦ１２４のスキャンイン入力とを接続する。
【００６９】
ＣＰＵ１１は、制御専用スキャンＦＦ１２１、１２２を接続したスキャンチェーン１２０と、観測専用スキャンＦＦ１１１、１１２を接続したスキャンチェーン１１０とを並列に接続する(Ｓ９０５)。
ＣＰＵ１１は、通常のスキャンＦＦ１０１、１０２、１０３、１０４及び制御専用スキャンＦＦ１２３、１２４が接続されたスキャンチェーンと、制御専用スキャンＦＦ１２１、１２２が接続されたスキャンチェーン１２０とを直列に接続する(Ｓ９０６)。具体的には、制御専用スキャンＦＦ１２４のスキャンアウト出力と、制御専用スキャンＦＦ１２１のスキャンイン入力及び観測専用スキャンＦＦ１１１のスキャンイン入力とをスキャンチェーンによって接続する。
【００７０】
ＣＰＵ１１は、スキャンチェーンをスキャンイン端子４０１と、スキャンアウト端子４０２とに接続する(Ｓ９０７)。
ここまでの処理によって、図９に示す半導体集積回路が生成される。なお、図示を省略しているが、全てのスキャンＦＦ１０１、１０２、１０３、１０４、１１１、１１２、１２１、１２２、１２３、１２４は、プライマリ入力からのクロック信号が直接供給されている。そして、ＣＰＵ１１は、この半導体集積回路を示す本回路接続情報３２をＨＤＤ１３に格納する。
【００７１】
以降、ステップＳ９０８〜Ｓ９１０までは、本回路接続情報３２が示す半導体集積回路のスキャンテストパタンを生成する処理について説明する。
ステップＳ９０８の処理は、実施の形態１におけるステップＳ７０８の処理と同様である。
【００７２】
ＣＰＵ１１は、制御専用スキャンＦＦ１２１、１２２を接続するスキャンチェーン１２０を削除する(Ｓ９０９)。具体的には、制御専用スキャンＦＦ１２４のスキャンアウト出力と、制御専用スキャンＦＦ１２１のスキャンイン入力及び観測専用スキャンＦＦ１１１のスキャンイン入力とを接続するスキャンチェーンのうち、制御専用スキャンＦＦ１２１のスキャンイン入力に分岐している部分を削除する。
ここまでの処理によって、図１０に示す半導体集積回路が生成される。そして、ＣＰＵ１１は、この半導体集積回路を示す仮想回路接続情報３３をＨＤＤ１３に格納する。
【００７３】
次に、ＣＰＵ１１は、ＨＤＤ１３から仮想回路接続情報３３を取得して、取得した仮想回路接続情報３３に基づいて、スキャンテストパタンを生成する(Ｓ９１０)。図１０に示す半導体集積回路では、スキャンイン端子４０１からスキャンアウト端子４０２まで、１系統のスキャンチェーンを構成しているため、ＡＴＰＧツール２２によって、スキャンテストパタンを自動生成することができる。
【００７４】
続いて、図３を参照して、本実施の形態１にかかる半導体集積回路の動作について説明する。
スキャンテストの実行前には、スキャンイン端子４０１からスキャンテストパタンに含まれるテスト値を順次スキャンインしていく。スキャンイン端子４０１にスキャンインしたテスト値は、通常のスキャンＦＦ１０１、１０２、１０３、１０４、制御専用スキャンＦＦ１２３、１２４の順で、それぞれのスキャンＦＦ１０１、１０２、１０３、１０４、１２３、１２４にシフトインされていく。
【００７５】
そして、制御専用スキャンＦＦ１２４にテスト値がスキャンインされた状態で、シフトイン動作が行われた場合、制御専用スキャンＦＦ１２４は、次段の観測専用スキャンＦＦ１１１及び制御専用スキャンＦＦ１２１にテスト値をスキャンアウトする。
つまり、実施の形態１と同様で、図９に示すように、制御専用スキャンＦＦ１２１、１２２から組み合わせ回路２０３にテスト値を出力する半導体集積回路であっても、図１０に示すように、観測専用スキャンＦＦ１１１、１１２から組み合わせ回路２０３にテスト値を出力する半導体集積回路であっても、組み合わせ回路２０３に入力されるテスト値は同じ値となる。そのため、図９に示す半導体集積回路と図１０に示す半導体集積回路は、構成が異なっていても動作は同じとなるため、図１０に示す半導体集積回路の仮想回路接続情報３３に基づいて生成したスキャンテストパタンを図９に示す半導体集積回路に適用することができる。
【００７６】
ここで、本実施の形態３では、制御専用スキャンＦＦ１２１、１２２と、制御専用スキャンＦＦ１２３、１２４とが異なるテスト値が格納されるテストポイントであってもよい。例えば、制御専用スキャンＦＦ１２１、１２２と、制御専用スキャンＦＦ１２３、１２４とが異なるテスト値が格納されるべきテストポイントである場合、実施の形態２のように並列に接続すると、同じテスト値が格納されてしまいスキャンテストにおける制御性を損なうことになる。そこで、本実施の形態３のように、観測専用スキャンＦＦ１１１、１１２と同数の制御専用スキャンＦＦ１２１、１２２のみを並列に接続することで、制御専用スキャンＦＦ１２１、１２２と制御専用スキャンＦＦ１２３、１２４とで異なるテスト値を格納できるようにしている。
【００７７】
全ての通常のスキャンＦＦ１０１、１０２、１０３、１０４及び制御専用スキャンＦＦ１２１、１２２、１２３、１２４にテスト値が格納されると、スキャンテストを実行する。そして、スキャンテスト実行時に、制御専用スキャンＦＦ１２１、１２２、１２３、１２４は、テスト値を組み合わせ回路２０３に出力する。組み合わせ回路２０３は、制御専用スキャンＦＦ１２１、１２２、１２３、１２４から出力されたテスト値に基づいた出力値を観測専用スキャンＦＦ１１１、１１２に出力する。スキャンテストの実行後の動作は、実施の形態１と同様であるため、説明を省略する。
【００７８】
以上に説明したように、本実施の形態３によれば、制御専用スキャンＦＦ１２１、１２２、１２３、１２４の数が観測専用スキャンＦＦ１１１、１１２の数より多く、制御専用スキャンＦＦ１２１、１２２と制御専用スキャンＦＦ１２３、１２４とが異なるテスト値が格納されるべきテストポイントである場合であっても、観測専用スキャンＦＦ１１１、１１２の数と同数の制御専用スキャンＦＦ１２１、１２２のみと、観測専用スキャンＦＦ１１１、１１２とに並列的にテスト値がスキャンインされるように構成しているため、スキャンチェーンの長さを短くすることができる。これにより、スキャンテストパタンのデータ量が低減して、テスト時間を低減することができるため、スキャンテストにおける工数を低減し、スキャンテストにおけるコストを低減することができる。
【００７９】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
例えば、設計される半導体集積回路の構成は、本実施の形態において例示したものに限られない。例えば、通常のスキャンＦＦを含んでおらず、観測専用スキャンＦＦ及び制御専用スキャンＦＦでスキャンチェーンが構成されるようにしてもよい。また、例えば、観測専用スキャンＦＦの後段に、通常のスキャンＦＦが接続されるようにスキャンチェーンを構成してもよい。
【００８０】
また、本実施の形態では、ＣＰＵ１１がＤＦＴツール２１を実行することで、論理合成された回路接続情報３１に基づいて、本回路接続情報３２及び仮想回路接続情報３３を生成しているが、ＲＴＬ(Register Transfer Level)ソースに基づいて、論理合成から処理を行うようにしてもよい。
【００８１】
また、本実施の形態では、観測専用スキャンＦＦと並列に接続される制御専用スキャンＦＦの数が同数の場合について例示したが、これに限られない。例えば、観測専用スキャンＦＦと並列に接続される制御専用スキャンＦＦの数は、観測専用スキャンＦＦの数より多くならない数でもよい。
【００８２】
また、半導体集積回路を設計する処理の順序についても本実施の形態に例示したものに限られない。例えば、制御専用スキャンＦＦのみを接続するスキャンチェーンと、観測専用スキャンＦＦのみを接続するスキャンチェーンと、これらのスキャンＦＦ以外のスキャンＦＦを接続するスキャンチェーンを作成する順序は、本実施の形態に例示した順序に限られない。また、例えば、制御専用スキャンＦＦのデータ出力と、組み合わせ回路のデータ入力とを接続する処理や、観測専用スキャンＦＦのデータ入力と、組み合わせ回路のデータ出力とを接続する処理についても、観測専用スキャンＦＦ及び制御専用フリップフロップを追加したときに同時に行わなくてもよい。
【００８３】
以上に説明した本発明にかかる半導体集積回路設計装置は、上述の実施の形態の機能を実現するプログラムを記憶した記憶媒体をシステムもしくは装置に供給し、システムあるいは装置の有するコンピュータ又はＣＰＵ(Central Processing Unit)、ＭＰＵ(Micro Processing Unit)がこのプログラムを実行することによって、構成することが可能である。
【００８４】
また、このプログラムは様々な種類の記憶媒体に格納することが可能であり、通信媒体を介して伝達されることが可能である。ここで、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)、ＤＶＤ(Digital Versatile Disc)、ＢＤ(Blu-ray(登録商標) Disc)、ＲＯＭ(Read Only Memory)カートリッジ、バッテリバックアップ付きＲＡＭ(Random Access Memory)、メモリカートリッジ、フラッシュメモリカートリッジ、不揮発性ＲＡＭカートリッジを含む。また、通信媒体には、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体を含む。また、上述のプログラムは、インターネットを介して伝達することも可能である。
【００８５】
また、コンピュータが上述の実施の形態の機能を実現するプログラムを実行することにより、上述の実施の形態の機能が実現されるだけではなく、このプログラムの指示に基づき、コンピュータ上で稼動しているＯＳ(Operating System)もしくはアプリケーションソフトと共同して上述の実施の形態の機能が実現される場合も、発明の実施の形態に含まれる。
【００８６】
さらに、このプログラムの処理の全てもしくは一部がコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットにより行われて上述の実施の形態の機能が実現される場合も、発明の実施の形態に含まれる。
【符号の説明】
【００８７】
１    半導体集積回路設計装置
１１    ＣＰＵ
１２    メモリ
１３    ＨＤＤ
２１    ＤＦＴツール
２２    ＡＴＰＧツール
３１    回路接続情報
３２    本回路接続情報
３３    仮想回路接続情報
３４    スキャンテストパタン情報
１０１、１０２、１０３、１０４    通常のスキャンＦＦ
１１０、１２０、１３０    スキャンチェーン
１１１、１１２    観測専用スキャンＦＦ
１２１、１２２、１２３、１２４、１３１、１３２    制御専用スキャンＦＦ
４０１    スキャンイン端子
４０２    スキャンアウト端子
５０１、５０２、５１１、５１２、５２１、５２２、５２３、５２４、５３１、５３２    データ出力
５０３、５０４、５０５、５０６、５０７、５０８、５１３、５１４    データ入力
２０１、２０２、２０３    組み合わせ回路
【図１】
2011094986.tif 000003
【図２】
2011094986.tif 000004
【図３】
2011094986.tif 000005
【図４】
2011094986.tif 000006
【図５】
2011094986.tif 000007
【図６】
2011094986.tif 000008
【図７】
2011094986.tif 000009
【図８】
2011094986.tif 000010
【図９】
2011094986.tif 000011
【図１０】
2011094986.tif 000012