(57)【要約】【課題】ＲＡＭなどのハードマクロを搭載したＬＳＩにおいてスキャン設計を実施した場合、ハードマクロ周辺回路の故障検出率が低下する。これを防ぐため、制御用スキャンＦＦや観測用スキャンＦＦを追加するとチップ面積の増加やハードマクロ接続部分の速度性能低下を招く。【解決手段】ＲＡＭやハードマクロコア内のデータ蓄積回路にスキャンデータを蓄積し、スキャンテストのシフト時にスキャンデータをスキャンチェーンにシフトインする。あるいはスキャンテストのキャプチャ動作時にＲＡＭやハードマクロコアのデータ蓄積回路へキャプチャデータを順次蓄積しスキャンテスト後にＬＳＩ外部へ読み出して外部のＬＳＩテスタで期待値照合することでＲＡＭやハードマクロコアのアクセスパスの速度性能やテスト回路追加に伴うチップ面積増加を招くことなく、高い故障検出率のスキャンテスト設計を実現できる。【選択図】　図１
2004012374.tif 000002
【特許請求の範囲】
【請求項１】
ＲＡＭとその周辺回路と前記ＲＡＭに対する制御回路とが搭載されている半導体集積回路において、
前記ＲＡＭのデータ出力端子と前記周辺回路のスキャンチェーンとの接続につき、前記データ出力端子が前記スキャンチェーンにおける初段のフリップフロップに接続され、
前記制御回路は、前記周辺回路に対するスキャンモードのパターンシフト動作時に前記ＲＡＭをリード状態に制御するように構成され、
前記パターンシフト動作時において、前記ＲＡＭから前記初段のフリップフロップに対してスキャンテストパターンを供給するように構成されていることを特徴とする半導体集積回路のテストシステム。
【請求項２】
ＲＡＭとその周辺回路と前記ＲＡＭに対する制御回路とが搭載されている半導体集積回路において、
前記周辺回路のスキャンチェーンと前記ＲＡＭのデータ入力端子との接続につき、前記入力データ端子が前記スキャンチェーンにおける最終段のフリップフロップに接続され、
前記制御回路は、前記周辺回路に対するキャプチャ動作時に前記ＲＡＭをライト状態に制御するように構成され、
前記キャプチャ動作時において、前記最終段のフリップフロップから前記ＲＡＭの所要の記憶領域に前記キャプチャデータを格納するように構成されていることを特徴とする半導体集積回路のテストシステム。
【請求項３】
ＲＡＭとその周辺回路と前記ＲＡＭに対する制御回路とが搭載されている半導体集積回路において、
前記ＲＡＭをデュアルポート構成とし、前記ＲＡＭの入力データ端子が前記周辺回路のスキャンチェーンにおけるフリップフロップに接続されているとともに、前記ＲＡＭのデータ出力端子が前記周辺回路のスキャンチェーンにおける別のフリップフロップに接続され、
前記制御回路は、前記前者のフリップフロップから前記ＲＡＭをスルーして前記後者のフリップフロップへスキャンテストパターンのシフト動作を行うように構成されていることを特徴とする半導体集積回路のテストシステム。
【請求項４】
ノンスキャン設計でデータ蓄積機能を有するＣＰＵやＤＳＰ等のハードマクロコアとその周辺回路と前記周辺回路および前記ハードマクロコアに対する制御回路とが搭載されている半導体集積回路において、
前記ハードマクロコアのデータ出力端子と前記周辺回路のスキャンチェーンとの接続につき、前記データ出力端子が前記スキャンチェーンにおける初段のフリップフロップに接続され、
前記制御回路は、前記周辺回路に対するスキャンモードのパターンシフト動作時に、前記ハードマクロコアに蓄積したスキャンテストパターンを前記初段のフリップフロップから前記スキャンチェーンに供給するように構成されていることを特徴とする半導体集積回路のテストシステム。
【請求項５】
前記ハードマクロコアは、所望のスキャンテストパターンを生成する機能を内蔵している請求項４に記載の半導体集積回路のテストシステム。
【請求項６】
ノンスキャン設計でデータ蓄積機能を有するＣＰＵやＤＳＰ等のハードマクロコアとその周辺回路と前記周辺回路および前記ハードマクロコアに対する制御回路とが搭載されている半導体集積回路において、
前記周辺回路のスキャンチェーンと前記ハードマクロコアのデータ入力端子との接続につき、前記入力データ端子が前記スキャンチェーンにおける最終段のフリップフロップに接続され、
前記制御回路は、前記周辺回路に対するキャプチャ動作時に前記最終段のフリップフロップから前記ハードマクロコアの記憶領域に前記キャプチャデータを格納するように構成されていることを特徴とする半導体集積回路のテストシステム。
【請求項７】
ノンスキャン設計でデータ蓄積機能はもたないＡＤＣやＰＬＬ等のハードマクロコアとその周辺回路と前記周辺回路および前記ハードマクロコアに対する制御回路とが搭載されている半導体集積回路において、
前記ハードマクロコアのデータ出力端子と前記周辺回路のスキャンチェーンとの接続につき、前記データ出力端子が前記スキャンチェーンにおける初段のフリップフロップに接続され、
前記制御回路は、前記周辺回路に対するスキャンモードのパターンシフト動作時に、前記ハードマクロコアで生成されたスキャンテストパターンを前記初段のフリップフロップから前記スキャンチェーンに供給するように構成されていることを特徴とする半導体集積回路のテストシステム。
【請求項８】
ＲＡＭとその周辺回路とが搭載されている半導体集積回路の検査方法であって、前記ＲＡＭにスキャンテストパターンをダウンロードする工程と、次いで前記ＲＡＭにダウンロードされている前記スキャンテストパターンを前記周辺回路のスキャンチェーンにシフトインする工程とを含むことを特徴とする半導体集積回路の検査方法。
【請求項９】
前記スキャンテストパターンのシフトインの工程において、このシフトインと並行してスキャンテストパターンの追加分を前記ＲＡＭにダウンロードすることを特徴とする請求項８に記載の半導体集積回路の検査方法。
【請求項１０】
ＲＡＭとその周辺回路とが搭載されている半導体集積回路の検査方法であって、スキャンテストパターンをスキャンチェーンを介して前記周辺回路にシフトインする工程と、次いで前記シフトインされたスキャンテストパターンを前記周辺回路でキャプチャする工程と、次いで前記キャプチャされたキャプチャデータを前記ＲＡＭに対してシフトアウトし、前記シフトアウトされた前記キャプチャデータを前記ＲＡＭに格納する工程とを含むことを特徴とする半導体集積回路の検査方法。
【請求項１１】
前記シフトアウトされたキャプチャデータをＲＡＭに格納する工程において、このキャプチャデータ格納と並行してスキャンテストパターンの追加分を前記ＲＡＭにダウンロードすることを特徴とする請求項１０に記載の半導体集積回路の検査方法。
【請求項１２】
スキャンチェーンの始点のスキャンイン端子が内部ノードとなっているネットリストを抽出する工程と、次いで前記抽出したネットリストにおける前記内部ノードを仮想外部端子とみなす処理を行う工程と、次いでスキャンテストパターン生成ツールを用いて前記仮想外部端子にみなしたネットリストに基づいて仮のスキャンテストパターンを生成する工程と、次いで前記生成した仮のスキャンテストパターンをハードマクロコアのスキャンテストパターンと比較し、前記仮想外部端子に対応するパターンを前記ハードマクロコアの入力端子のパターンに置換して最終のスキャンテストパターンを生成する工程とを含むことを特徴とする半導体集積回路のスキャンテストパターン作成方法。
【請求項１３】
ノンスキャン設計でデータ蓄積機能はもたず入力信号に対応して出力信号が一意に決まるＡＤＣやＰＬＬ等のハードマクロコアについて、前記の入出力の対応関係を示す情報を入力データとしてスキャンパターン自動生成ツールに与えることにより、前記ハードマクロコアをブラックボックス扱いでスキャンテストパターンを自動生成することを特徴とする半導体集積回路のスキャンテストパターン作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体集積回路のテストシステムおよび検査方法およびスキャンテストパターン作成方法にかかわり、特には、テスト容易化設計の一環としてのスキャンテスト設計において、観測用スキャンＦＦや制御用スキャンＦＦの付加に起因する回路規模の増大および信号伝搬遅延を抑制しつつ、高い故障検出率を実現するための技術に関する。
【０００２】
【従来の技術】
テスト容易化設計として、ランダムロジック部をスキャンテスト設計する方法がある。ＲＡＭを搭載するＬＳＩにおいては、ＲＡＭと周辺回路の接続部分に関して故障検出率が低下する傾向がある。
【０００３】
特に、ＲＡＭがハードマクロとして提供された場合は、システムＬＳＩやＤＳＰ、ＣＰＵなどのプロセッサを設計する段階で、ＲＡＭ内部にスキャンテスト設計を施すことはタイミング設計上困難である。また、ＲＡＭの動作速度や消費電力などの性能を保証する上でも困難である。
【０００４】
したがって、このようなノンスキャン設計のＲＡＭを搭載するＬＳＩのスキャンテスト設計においては、ＲＡＭを含めてのスキャンテストを可能とするために、一般的に故障検出率が低下するノードに観測用スキャンＦＦや制御用スキャンＦＦを接続し、さらに観測用スキャンＦＦや制御用スキャンＦＦを周辺回路のスキャンチェーンに接続している（アドホック方式）。これにより、ＲＡＭマクロとＲＡＭマクロの入出力端子に接続されたフリップフロップとの間にある論理回路を間接的にスキャンテストすることができるようになり、この部分の故障検出率が改善される。
【０００５】
従来のアドホック方式の一例を図８に示す。図８において、２００はＳＲＡＭ、２０１はＳＲＡＭ２００のリード／ライトを制御する制御回路（ここでは内蔵されたＢＩＳＴ（Ｂｕｉｌｔ−ｉｎ　Ｓｅｌｆ　Ｔｅｓｔ）が制御回路である）、２０２ａ，２０２ｂはスキャン設計されたＲＡＭ周辺回路、２０３はマルチプレクサ（セレクタ）、２０４はスキャンテストでの故障検出対象となる組合せ回路、２０５はスキャンチェーン、２０６はスキャンイン外部端子、２０７はスキャンフリップフロップ、２０８は観測用スキャンＦＦ、２０９は制御用スキャンＦＦである。
【０００６】
ＳＲＡＭ２００における入力データ端子、アドレス入力端子、チップセレクト端子、リード・ライト制御入力端子にそれぞれ観測用スキャンＦＦ２０８が接続され、データ出力端子に制御用スキャンＦＦ２０９が接続されている。これら観測用スキャンＦＦ２０８や制御用スキャンＦＦ２０９をスキャンチェーン２０５に接続することで、ＲＡＭマクロとＲＡＭマクロの入出力端子に接続されたフリップフロップ間にある論理回路をスキャンテスト可能とし、この部分の故障検出能力を向上させる。
【０００７】
【発明が解決しようとする課題】
しかし、上記従来の方法では、アドレスのビット幅およびデータビット幅に相当する数の観測用スキャンＦＦや制御用スキャンＦＦを追加しなければならず、チップ面積の増加が避けられない。
【０００８】
また、特にＤＳＰやＣＰＵなどの大容量のＲＡＭを搭載するシステムＬＳＩにおいては、所望のメモリ容量を実現するために基本単位のＲＡＭマクロを複数個搭載している。この場合、ＲＡＭマクロのフロアプランでは、複数個のアドレス生成ブロックやＩＯ制御ブロックを設計する必要がある。しかし、追加する観測用スキャンＦＦや制御用スキャンＦＦは、アドレス生成ブロックやＩＯ制御ブロックを単位として、各ブロックごとに個別的に必要であることから、回路規模の増加は膨大なものとなる。その一例を図９に示す。
【０００９】
図９において、３００ａは命令ＲＡＭ、３００ｂはデータＲＡＭ、３０１ａ，３０１ｂ，３０１ｃ，３０１ｄ，３０１ｅはそれぞれスキャン設計された機能ブロック、３０２ａ，３０２ｂはＲＡＭＩ／Ｏインターフェース回路、３０３ａ，３０３ｂはメモリＢＩＳＴ回路、３０４はバス、３０５はマルチプレクサ、３０６は観測用スキャンＦＦ、３０７は制御用スキャンＦＦである。ＲＡＭ３００ａ，３００ｂの数が多いために、観測用スキャンＦＦ３０６、制御用スキャンＦＦ３０７の個数が非常に多くなっている。
【００１０】
また、観測用スキャンＦＦや制御用スキャンＦＦの追加は、負荷の増加を招き、これに伴ってＲＡＭへのアクセスパスの信号伝搬遅延が大きくなり、ＬＳＩの動作速度性能低下を招くという問題がある。
【００１１】
ところで、システムＬＳＩの設計においては複数の機能ブロック（ＩＰ）やハードマクロコアを搭載する場合がある。このとき、スキャン設計されていないハードマクロコアが提供されることが多い。例えば、ＣＰＵやＤＳＰなどのプロセッサはそうである。このような場合には、前述のＲＡＭマクロ同様に、ハードマクロコアを後からスキャン設計することは極めて困難である。そのため、従来では、システムＬＳＩ内のハードマクロコアの周辺回路においてスキャンテストの故障検出率が大きく低下している。
【００１２】
そこで、故障検出率の向上を目指して、ハードマクロコアのインターフェース部について全部または大部分の入出力ノードに観測用スキャンＦＦや制御用スキャンＦＦを追加することが考えられる。しかし、この場合、ＤＳＰやＣＰＵの入出力ノードの数が膨大であるため、追加する観測用スキャンＦＦや制御用スキャンＦＦの数が多すぎる。その結果、チップ面積増加が著しく増加する。また、負荷増加に起因して動作速度性能の低下を招く。したがって、実際的には実現困難となる。
【００１３】
このため、ＤＳＰやＣＰＵ、その他スキャン設計されていないハードマクロコアの接続部分に関しては、一般的には、スキャンテストとは別に、ファンクションテストを実施するようにしている。しかし、回路規模が小さなハードマクロコアの場合は良いが、ＤＳＰやＣＰＵなどの比較的回路規模が大きく動作が複雑なハードマクロコアについては、ファンクションパターン数が膨大なものになる。すなわち、テスト時間が肥大化するという問題、あるいは故障検出率が十分な水準に達しない等の問題が残る。
【００１４】
さらには、動作速度性能や消費電力についての設計制約があるためにコア内部をスキャン設計することが困難な場合もある。また、コア内の回路構成上、スキャン設計が向かない場合もある。これらの場合にも、システムＬＳＩのコア境界における故障検出率向上が課題となる。
【００１５】
以上のような実情に鑑みて、本発明は、ＲＡＭマクロあるいは、ＤＳＰやＣＰＵなどのハードマクロコアに対して、観測用スキャンＦＦや制御用スキャンＦＦの追加に伴うチップ面積の増加を生じることなく、また、接続されるパスの信号伝搬遅延を増加させることなく、ＲＡＭマクロ周辺やハードマクロコア周辺に対するスキャンテストを高い故障検出率のもとで遂行できるようにすることを目的としている。
【００１６】
【課題を解決するための手段】
本発明は、次のような手段を講じることにより上記の課題を解決する。
【００１７】
第１の解決手段として、本発明による半導体集積回路のテストシステムは次のような手段を講じる。すなわち、ＲＡＭとその周辺回路と前記ＲＡＭに対する制御回路とが搭載されている半導体集積回路において、次のように構成する。前記ＲＡＭのデータ出力端子と前記周辺回路のスキャンチェーンとの接続につき、前記データ出力端子を前記スキャンチェーンにおける初段のフリップフロップに接続する。また、前記ＲＡＭに対する制御回路を、周辺回路に対するスキャンモードのパターンシフト動作時に前記ＲＡＭをリード状態に制御するように構成する。これにより、パターンシフト動作時において、あらかじめＲＡＭにスキャンテストパターンをダウンロードしておき、パターンシフト動作に際して、ＲＡＭからスキャンチェーンにおける初段のフリップフロップに対して、ＲＡＭのデータ出力端子よりスキャンテストパターンを供給（シフトイン）する。
【００１８】
この構成によると、スキャンモードのパターンシフト動作時に、ＲＡＭの制御回路は、ＲＡＭをリード状態に制御することによって、ＲＡＭにダウンロードされているスキャンテストパターンを読み出し、テスト対象の周辺回路のスキャンチェーンの初段のフリップフロップに対してＲＡＭのデータ出力端子からスキャンテストパターンを供給（シフトイン）する。すなわち、ＲＡＭ内部がノンスキャン設計であっても、ＲＡＭからＲＡＭのデータ出力端子に接続されているフリップフロップまでを含める状態で周辺回路のスキャンテストを容易に実施することができる。この場合、従来、ＲＡＭのリードパスに接続していた制御用スキャンＦＦについては、これを省略することができる。したがって、部品点数増加に伴うチップ面積増加、構造複雑化およびコストアップを抑制する状態で、また、ＲＡＭリードパスの信号伝搬遅延の増加を抑制してＲＡＭのリード速度性能の低下を招くことのない状態で、ＲＡＭを含めたテスト対象周辺回路の故障検出率を向上させることができる。この発明は、特に、ＲＡＭがハードマクロとして供給された場合に、そのノンスキャン設計のＲＡＭマクロを用いてシステムＬＳＩを構築する上で非常に有効な技術である。
【００１９】
また、第２の解決手段として、本発明による半導体集積回路のテストシステムは次のような手段を講じる。すなわち、ＲＡＭとその周辺回路と前記ＲＡＭに対する制御回路とが搭載されている半導体集積回路において、次のように構成する。前記周辺回路のスキャンチェーンと前記ＲＡＭのデータ入力端子との接続につき、前記入力データ端子を前記スキャンチェーンにおける最終段のフリップフロップに接続する。また、前記ＲＡＭに対する制御回路を、前記周辺回路に対するキャプチャ動作時に前記ＲＡＭをライト状態に制御するように構成する。これにより、前記キャプチャ動作時において、前記最終段のフリップフロップから前記ＲＡＭの所要の記憶領域に前記キャプチャデータを格納する。
【００２０】
この構成によると、キャプチャデータをＲＡＭの所要の記憶領域に格納するので、そのＲＡＭに格納されたキャプチャデータを外部出力してＬＳＩテスタで期待値照合することができる。したがって、従来、ＲＡＭのライトパスやアドレスパスに接続していた観測用スキャンＦＦについては、これを省略することができる。したがって、部品点数増加に伴うチップ面積増加、構造複雑化およびコストアップを抑制する状態で、また、ＲＡＭライトパスの信号伝搬遅延の増加を抑制してＲＡＭのライト速度性能の低下を招くことのない状態で、ＲＡＭを含めたテスト対象周辺回路の故障検出率を向上させることができる。この発明は、特に、ＲＡＭがハードマクロとして供給された場合に、そのノンスキャン設計のＲＡＭマクロを用いてシステムＬＳＩを構築する上で非常に有効な技術である。
【００２１】
第３の解決手段として、本発明による半導体集積回路のテストシステムは次のような手段を講じる。すなわち、ＲＡＭとその周辺回路と前記ＲＡＭに対する制御回路とが搭載されている半導体集積回路において、次のように構成する。前記ＲＡＭをデュアルポート構成とし、前記ＲＡＭの入力データ端子を前記周辺回路のスキャンチェーンにおけるフリップフロップに接続するとともに、前記ＲＡＭのデータ出力端子を前記周辺回路のスキャンチェーンにおける別のフリップフロップに接続する。そして、前記制御回路を、前記前者のフリップフロップから前記ＲＡＭをスルーして前記後者のフリップフロップへスキャンテストパターンのシフト動作を行うように構成する。
【００２２】
この構成によると、ＲＡＭを擬似的に周辺のスキャンフリップフロップと同等に扱うことになる。つまり、ＲＡＭを擬似的にスキャンフリップフロップとしてシフトレジスタの一部として利用する。したがって、ＲＡＭ内部がノンスキャン設計であっても、ＲＡＭの周辺回路に対するスキャンテストを実行することができる。
【００２３】
ＲＡＭのデータ入力端子に接続されるフリップフロップからＲＡＭまでを含む状態で、または、ＲＡＭのアドレス入力端子に接続されるフリップフロップからＲＡＭまでを含む状態で、およびＲＡＭからＲＡＭのデータ出力端子に接続されるフリップフロップまでを含む状態で、周辺回路のスキャンテストを容易に実施することができる。この場合に、ＲＡＭのライトパスやアドレスパスに新たな観測用スキャンＦＦを追加する必要がなく、また、リードパスに新たな制御用スキャンＦＦを追加する必要がない。したがって、部品点数増加に伴うチップ面積増加、構造複雑化およびコストアップを抑制する状態で、また、信号伝搬遅延の増加なしの状態で、ＲＡＭを含めたテスト対象周辺回路の故障検出率を向上させることができる。さらに、スキャンテストパターンのスルーによって、ＲＡＭの入力側出力側を同時にスキャンテストできるため、ＲＡＭ内にスキャンテストパターンを蓄積する必要がなく、その蓄積に要する時間を削減できるため、テスト時間の短縮化を図ることができる。
【００２４】
第４の解決手段として、本発明による半導体集積回路のテストシステムは次のような手段を講じる。すなわち、ノンスキャン設計でデータ蓄積機能を有するＣＰＵやＤＳＰ等のハードマクロコアとその周辺回路と前記周辺回路および前記ハードマクロコアに対する制御回路とが搭載されている半導体集積回路において、次のように構成する。前記ハードマクロコアのデータ出力端子と前記周辺回路のスキャンチェーンとの接続につき、前記データ出力端子を、バスを経由して前記スキャンチェーンにおける初段のフリップフロップに接続する。そして、前記制御回路を、前記周辺回路に対するスキャンモードのパターンシフト動作時に、前記ハードマクロコアに蓄積したスキャンテストパターンを前記バスを経由して前記初段のフリップフロップから前記スキャンチェーンに供給するように構成する。
【００２５】
上記において、ハードマクロコアについてのノンスキャン設計とは、ハードマクロコア自身の内部がスキャン設計されていない場合、ハードマクロコアのインターフェース部がスキャン設計されていない場合、またはバウンダリースキャン設計されていない場合等である。上記のハードマクロコアの蓄積機能は、ハードマクロコアに内蔵されているメモリやレジスタユニット等による。
【００２６】
この構成によると、スキャンモードのパターンシフト動作時に、制御回路は、データ蓄積機能を有するハードマクロコアにあらかじめ蓄積されたスキャンテストパターンを読み出し、テスト対象の周辺回路のスキャンチェーンの初段のフリップフロップに対してハードマクロコアのデータ出力端子からスキャンテストパターンを供給する。すなわち、ハードマクロコア内部がノンスキャン設計であっても、ハードマクロコアからハードマクロコアのデータ出力端子に接続されているフリップフロップまでを含める状態で周辺回路のスキャンテストを容易に実施することができる。この場合、ハードマクロコアの出力側のパスに制御用スキャンＦＦを追加する必要はない。したがって、部品点数増加に伴うチップ面積増加、構造複雑化およびコストアップを抑制する状態で、また、ハードマクロコアから周辺回路への信号伝搬における遅延の増加を招くことなしに、故障検出率を向上させることができる。この発明は、特に、供給されたＣＰＵやＤＳＰなどのハードマクロコアがノンスキャン設計であっても、そのハードマクロコアを用いてシステムＬＳＩを構築する上で有効な技術である。
【００２７】
上記において好ましい態様として、前記ハードマクロコアに、所望のスキャンテストパターンを生成する機能を内蔵させることがある。この場合、スキャンテストパターンを外部からダウンロードさせる必要がない。
【００２８】
第５の解決手段として、本発明による半導体集積回路のテストシステムは次のような手段を講じる。すなわち、ノンスキャン設計でデータ蓄積機能を有するＣＰＵやＤＳＰ等のハードマクロコアとその周辺回路と前記周辺回路および前記ハードマクロコアに対する制御回路とが搭載されている半導体集積回路において、次のように構成する。前記周辺回路のスキャンチェーンと前記ハードマクロコアのデータ入力端子との接続につき、前記入力データ端子を前記スキャンチェーンにおける最終段のフリップフロップに接続する。そして、前記制御回路を、前記周辺回路に対するキャプチャ動作時に前記最終段のフリップフロップから前記ハードマクロコアの記憶領域に前記キャプチャデータを格納するように構成する。
【００２９】
この構成によると、テスト対象の周辺回路によるキャプチャデータをハードマクロコアの内部に蓄積することができるため、ハードマクロコアの入力側のパスに観測用スキャンＦＦを追加する必要がない。したがって、部品点数増加に伴うチップ面積増加、構造複雑化およびコストアップを抑制する状態で、また、周辺回路からハードマクロコアへの信号伝搬における遅延の増加を招くことなしに、故障検出率を向上させることができる。この発明は、特に、供給されたハードマクロコアがノンスキャン設計であっても、そのハードマクロコアを用いてシステムＬＳＩを構築する上で有効な技術である。
【００３０】
第６の解決手段として、本発明による半導体集積回路のテストシステムは次のような手段を講じる。すなわち、ノンスキャン設計でデータ蓄積機能はもたないＡＤＣやＰＬＬ等のハードマクロコアとその周辺回路と前記周辺回路および前記ハードマクロコアに対する制御回路とが搭載されている半導体集積回路において、次のように構成する。前記ハードマクロコアのデータ出力端子と前記周辺回路のスキャンチェーンとの接続につき、前記データ出力端子を前記スキャンチェーンにおける初段のフリップフロップに接続する。そして、前記制御回路を、前記周辺回路に対するスキャンモードのパターンシフト動作時に、前記ハードマクロコアでのデータ変換等によって生成されたスキャンテストパターンを前記初段のフリップフロップから前記スキャンチェーンに供給するように構成する。ここでのハードマクロコアは、ＡＤＣやＰＬＬ等のデータ蓄積機能はもたないものを対象としている。
【００３１】
上記において、ハードマクロコアについてのノンスキャン設計とは、ハードマクロコア自身の内部がスキャン設計されていない場合、ハードマクロコアのインターフェース部がスキャン設計されていない場合、またはバウンダリースキャン設計されていない場合等である。
【００３２】
この構成によれば次の作用が発揮される。すなわち、ハードマクロコアにおいて特に高速動作が要求されるＡＤＣやＰＬＬ等では、スキャン設計することがむずかしく、またメモリやレジスタ等のデータ蓄積機能をもたせることもむずかしい。しかし、一方で、ＣＰＵ等のプロセッサとは異なり、入出力の相関関係が１対１に対応している。入力信号の組み合わせが決まれば、出力結果は一意に決まる。このようにデータ変換して得られるデータをスキャンテストパターンとして利用する。したがって、データ蓄積機能を有さず、高速動作するＡＤＣやＰＬＬ等のハードマクロコアであっても、テスト対象の周辺回路のスキャンチェーンの初段のフリップフロップに対してハードマクロコアのデータ出力端子からスキャンテストパターンを供給することが可能となる。すなわち、ハードマクロコア内部がノンスキャン設計であっても、ハードマクロコアのブロックからハードマクロコアのデータ出力端子に接続されているフリップフロップまでを含める状態で周辺回路のスキャンテストを容易に実施することができる。この場合、ハードマクロコアの出力側のパスに制御用スキャンＦＦを追加する必要はない。したがって、部品点数増加に伴うチップ面積増加、構造複雑化およびコストアップを抑制する状態で、また、ハードマクロコアから周辺回路への信号伝搬における遅延の増加を招くことなしに、故障検出率を向上させることができる。この発明は、特に、供給されたハードマクロコアがノンスキャン設計のデータ蓄積機能はもたないものであっても、そのハードマクロコアを用いてシステムＬＳＩを構築する上で有効な技術である。
【００３３】
本発明は、また、半導体集積回路の検査方法に関するものであり、次のような解決手段をとる。
【００３４】
第１の解決手段として、本発明は、ＲＡＭとその周辺回路とが搭載されている半導体集積回路の検査方法において、前記ＲＡＭにスキャンテストパターンをダウンロードする工程と、次いで前記ＲＡＭにダウンロードされている前記スキャンテストパターンを前記周辺回路のスキャンチェーンにシフトインする工程とを含むものである。
【００３５】
これは、上記したとおり、ＲＡＭをスキャンチェーンに直接に関連付けるものである。ＲＡＭからスキャンチェーンにスキャンテストパターンを直接にシフトインする。その前提として、スキャンテストパターンをＲＡＭにダウンロードしておく。ＲＡＭを有効利用してのシフトインであるので、ＲＡＭのリードパスに制御用スキャンＦＦを接続する必要性を解消でき、チップ面積増、コストアップ、信号伝搬遅延を招くことなく、スキャンテストを容易に実施することができる。
【００３６】
上記において好ましい態様は、前記スキャンテストパターンのシフトインの工程において、このシフトインと並行してスキャンテストパターンの追加分を前記ＲＡＭにダウンロードすることである。これによれば、シフトインとダウンロードの並行処理を行うので、検査時間の短縮化を図ることができる。
【００３７】
第２の解決手段として、本発明は、ＲＡＭとその周辺回路とが搭載されている半導体集積回路の検査方法であって、スキャンテストパターンをスキャンチェーンを介して前記周辺回路にシフトインする工程と、次いで前記シフトインされたスキャンテストパターンを前記周辺回路でキャプチャする工程と、次いで前記キャプチャされたキャプチャデータを前記ＲＡＭに対してシフトアウトし、前記シフトアウトされた前記キャプチャデータを前記ＲＡＭに格納する工程とを含むものである。ＲＡＭに格納されたキャプチャデータは、後に外部出力してＬＳＩテスタで期待値照合する。これによれば、スキャンテストパターンのシフトインとキャプチャデータのシフトアウトとにＲＡＭを有効利用している。
【００３８】
上記において好ましい態様は、前記シフトアウトされたキャプチャデータをＲＡＭに格納する工程において、このキャプチャデータ格納と並行してスキャンテストパターンの追加分を前記ＲＡＭにダウンロードすることである。これによれば、シフトアウトとダウンロードの並行処理を行うので、検査時間の短縮化を図ることができる。
【００３９】
上記した本発明の半導体集積回路のテストシステムにおいては、スキャンテストパターンをＲＡＭやハードマクロコアの出力端子からスキャンチェーンに与える構成となっており、スキャンイン端子の少なくとも一部はＬＳＩの外部に引き出されず、内部ノードとなっている。したがって、ＡＴＰＧ（Ａｕｔｏｍａｔｉｃ　Ｔｅｓｔ　Ｐａｔｔｅｒｎ　Ｇｅｎｅｒａｔｏｒ）などの通常の自動スキャンテストパターン生成ツールを用いてスキャンテストパターンを生成すると、シミュレーションに発散が生じ、収斂が困難となってしまう。つまり、パターン生成時間が長時間化するため、このスキャンテストパターン生成ツールを利用することができない。
【００４０】
そこで、本発明は、次のような半導体集積回路のスキャンテストパターン作成方法を提案する。すなわち、スキャンチェーンの始点のスキャンイン端子が内部ノードとなっているネットリストを抽出する工程と、次いで前記抽出したネットリストにおける前記内部ノードを仮想外部端子とみなす処理を行う工程と、次いでスキャンテストパターン生成ツールを用いて前記仮想外部端子にみなしたネットリストに基づいて仮のスキャンテストパターンを生成する工程と、次いで前記生成した仮のスキャンテストパターンをハードマクロコアのスキャンテストパターンと比較し、前記仮想外部端子に対応するパターンを前記ハードマクロコアの入力端子のパターンに置換して最終のスキャンテストパターンを生成する工程とを含むものである。
【００４１】
この場合の作用は次のとおりである。すなわち、内部ノードとしてのスキャンイン端子を外部端子とみなす処理を行うことにより（これが仮想外部端子である）、ＡＴＰＧなどの自動スキャンテストパターン生成ツールを適用できるようにする。これで生成したスキャンテストパターンは仮のパターンである。この仮のスキャンテストパターンをハードマクロコアのスキャンテストパターンと比較照合して、仮想外部端子に対応するパターンをハードマクロコアの入力端子のパターンに置換して最終のスキャンテストパターンを生成する。このようにして、ＡＴＰＧ等のスキャンテストパターン生成ツールの利用を可能にすることにより、生産性を向上させることができる。
【００４２】
また、別の態様として、本発明による半導体集積回路のスキャンテストパターン作成方法は、ノンスキャン設計でデータ蓄積機能はもたず入力信号に対応して出力信号が一意に決まるＡＤＣやＰＬＬ等のハードマクロコアについて、前記の入出力の対応関係を示す情報を入力データとしてスキャンパターン自動生成ツールに与えることにより、前記ハードマクロコアをブラックボックス扱いでスキャンテストパターンを自動生成するものである。
【００４３】
これによれば、データ蓄積機能はもたないノンスキャン設計のハードマクロコアをブラックボックス扱いしながら、システムＬＳＩ全体のスキャンパターンを自動生成することにより、スキャン設計工数の大幅な削減を可能とする。
【００４４】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【００４５】
（実施の形態１）
図１は本発明の実施の形態１における半導体集積回路のテストシステムの構成を示すブロック図である。これは、テスト容易化設計方法で実現したＲＡＭ搭載ＬＳＩの、特にＲＡＭ周辺部のスキャン回路を示す。
【００４６】
図１において、１００はＲＡＭの一種のＳＲＡＭ（スタティックＲＡＭ）、１０１はＳＲＡＭ１００に対するテストでリード／ライトを司る内蔵の制御回路としてのメモリＢＩＳＴ（Ｂｕｉｌｔ−ｉｎ　Ｓｅｌｆ　Ｔｅｓｔ）回路、１０２ａ，１０２ｂはスキャン設計されたＲＡＭ周辺回路、１０３はマルチプレクサ（セレクタ）、１０４はスキャンテストでの故障検出対象となる組合せ回路、１０５はスキャンチェーン、１０６はスキャンイン外部端子、１０７はスキャンフリップフロップ、１０８は観測用スキャンＦＦ、１０９はシフトインされているスキャンテストパターンである。そして、１０７ａはＳＲＡＭ１００のデータ出力端子１００ｂに接続されるスキャンチェーン１０５における初段のフリップフロップ、１０７ｂはＳＲＡＭ１００の入力データ端子１００ａに接続されるスキャンチェーン１０５における最終段のフリップフロップである。
【００４７】
ＳＲＡＭ１００のデータ出力端子１００ｂに最初に接続されるフリップフロップについては、これがスキャンチェーン１０５の初段のフリップフロップ１０７ａとなるように設計してある。また、ＳＲＡＭ１００の入力データ端子１００ａに最初に接続されるフリップフロップについては、これがスキャンチェーン１０５の最終段のフリップフロップ１０７ｂとなるように設計してある。
【００４８】
そして、ＳＲＡＭ１００におけるブロック選択信号（ＣＳ）とリードライトイネーブル信号（Ｒ／Ｗ）のラインに観測用スキャンＦＦ１０８を接続している。データ入力端子（ＤＡＴＡ＿ＩＮ）およびアドレス信号（ＡＤＤＲＥＳＳ）のラインには観測用スキャンＦＦは接続されていない。
【００４９】
ＲＡＭの制御回路（メモリＢＩＳＴ）１０１は、スキャンテストモードにおいて、ＳＲＡＭ１００に対するブロック選択信号（ＣＳ）とアドレス信号（ＡＤＤＲＥＳＳ）とリードライトイネーブル信号（Ｒ／Ｗ）を供給する。これらの信号はマルチプレクサ１０３を介して供給される。
【００５０】
外部のＬＳＩテスタを用いてスキャンテストを実施する場合、あらかじめ用意したスキャンテストパターンをＳＲＡＭ１００にダウンロードして蓄積しておく。
【００５１】
次に、パターンシフト動作に進み、ＲＡＭの制御回路１０１は、ＳＲＡＭ１００をリード状態に設定するとともに、スキャンクロック信号に同期してＳＲＡＭ１００のアドレスを順次にカウントアップする。このような機能がＲＡＭの制御回路１０１には備えられている。これにより、ＳＲＡＭ１００にダウンロードしたスキャンテストパターン１０９が順次に読み出され、ＳＲＡＭ１００のデータ出力端子１００ｂから初段のＦＦ１０７ａを介してスキャンチェーン１０５へスキャンテストパターン１０９がシフトインされる。その結果、ＳＲＡＭ１００のデータ出力端子１００ｂからそこに接続されるフリップフロップまでを含めて周辺回路のスキャンテストを実施することが可能となる。
【００５２】
パターンシフト動作が完了すると、次にキャプチャ動作に移る。ＲＡＭの制御回路１０１は、ＳＲＡＭ１００をライト状態に設定するとともに、ＳＲＡＭ１００に対して特定のアドレス信号をスキャンクロック信号に同期して順次に供給するする。これにより、周辺回路におけるキャプチャデータをＳＲＡＭ１００の所要の記憶領域に格納する。
【００５３】
スキャンテストパターンをダウンロードするＲＡＭとキャプチャデータを格納するＲＡＭとは、同一であってもよいし、異なっていてもよい。アドレス信号はＳＲＡＭ１００のブロック選択信号（ＣＳ）とアドレス信号（ＡＤＤＲＥＳＳ）から構成される。同一ＲＡＭの場合には、アドレス信号（ＡＤＤＲＥＳＳ）も設定により、スキャンテストパターンをダウンロードする記憶領域とキャプチャデータを格納する記憶領域とが区別される。異なるＲＡＭの場合には、ブロック選択信号（ＣＳ）の設定により別々のＲＡＭを選択する。つまり、特定のＳＲＡＭマクロをキャプチャデータ蓄積専用とする。これにより、ダウンロードデータを上書きすることを防ぐことができる。
【００５４】
ただし、アドレス制御信号の一部とリードライトイネーブル信号については、ＲＡＭの周辺回路をスキャンテストすることができない。そこで、ブロック選択信号（ＣＳ）とリードライトイネーブル信号（Ｒ／Ｗ）のラインに観測用スキャンＦＦ１０８を接続している。その他には、観測用スキャンＦＦは用いていない。
【００５５】
観測用スキャンＦＦ１０８については、ＲＡＭの制御回路（メモリＢＩＳＴ）１０１内のフリップフロップと同一のスキャンチェーンを組み、別途にスキャンテストを実施する。なお、キャプチャ動作時にＳＲＡＭ１００に蓄積したデータについては、一連のスキャン動作が完了した後、ＳＲＡＭ１００からデータをＬＳＩ外部へ読み出し、ＬＳＩテスタによって期待値確認を行う。
【００５６】
ＲＡＭの制御回路（メモリＢＩＳＴ）１０１内のフリップフロップについては、これをスキャンチェーンから分離して別モードでスキャンテストする。これにより、新たな回路の増加がほとんどない状態で、スキャンテスト時のＲＡＭ制御を実現している。
【００５７】
（実施の形態２）
図２は本発明の実施の形態２における半導体集積回路のテストシステムの構成を示すブロック図である。これは、テスト容易化設計方法で実現したＲＡＭ搭載ＬＳＩの、特にＲＡＭ周辺部のスキャン回路を示す。
【００５８】
図２において、４００はＲＡＭの一種のＳＲＡＭ、４０１はテスト制御回路、４０２ａ，４０２ｂはスキャン設計されたＲＡＭ周辺回路、４０２ｃはその他のスキャン回路、４０３はマルチプレクサ、４０４はスキャンテストでの故障検出対象となる組合せ回路、４０５はスキャンチェーン、４０６はスキャンイン外部端子、４０７は観測用スキャンＦＦ、ＦＦ１〜ＦＦ４はそれぞれスキャンフリップフロップである。
【００５９】
図３のタイミングチャートはスキャンＦＦ１〜ＦＦ４とＳＲＡＭ４００におけるシフトおよびキャプチャデータの状態を説明している。
【００６０】
本実施の形態２においては、ＳＲＡＭ４００を周辺のスキャンＦＦと擬似的に同等扱いする。具体的には次のとおりである。
【００６１】
スキャンテスト時に、マルチプレクサ４０３の切り替えによってテスト制御回路４０１を選択する。テスト制御回路４０１は、スキャンテスト中のシフト時はＳＲＡＭ４００をリード状態とし、キャプチャ動作時にＳＲＡＭ４００をライト状態に制御する。このとき、アドレスについては、スキャンテストパターンの状態によって任意のアドレスを選択し、テスト制御回路４０１では制御しない。キャプチャ後は、１クロックサイクルだけスキャンクロックを停止し、ＳＲＡＭ４００とスキャンＦＦ３にだけ再度クロックが供給されるように制御する。
【００６２】
これにより、図３に示すとおり、ＳＲＡＭ４００を擬似的にスキャンＦＦとして扱うことが可能になる。これにより、スキャンテストによるＳＲＡＭ周辺の故障検出率を向上することが可能である。観測用スキャンＦＦ４０７は、リード・ライト制御信号のパスに追加するだけよい。また、ＳＲＡＭ周辺の回路に対して負荷増加に伴う信号伝搬遅延増加も発生しない。
【００６３】
また、本実施の形態２においては、実施の形態１の場合のようなＳＲＡＭへのスキャンテストパターンのダウンロードが必要でない上に、キャプチャデータをＳＲＡＭから読み出して期待値照合する必要がないため、実施の形態１に比べてテスト時間の短縮を図ることができる。
【００６４】
（実施の形態３）
図４は本発明の実施の形態３における半導体集積回路のテストシステムの構成を示すブロック図である。これは、テスト容易化設計方法で実現したハードマクロＣＰＵコアとハードマクロＤＳＰコアを搭載したＬＳＩであって、特にハードマクロコアと接続されるスキャン設計ブロックの境界部テストを中心として示している。
【００６５】
図４において、６００は内部がスキャン設計されていないハードマクロコアのＣＰＵ、６０１は内部がスキャン設計されていないハードマクロコアのＤＳＰ、６０２〜６０５はスキャン設計された機能ブロック、６０６はテスト制御回路、６０７はバスである。機能ブロック６０２は、バス６０７を介してＣＰＵコア６００の出力端子に接続され、機能ブロック６０３は、ＤＳＰコア６０１の出力端子とＣＰＵコア６００の入力端子に接続されている。
【００６６】
従来のテスト設計方法では、フリップフロップからコアまでの回路については故障検出率が低下する。本実施の形態３では、ＣＰＵコア６００の出力端子にバス６０７を経由して最初に接続されるフリップフロップについては、これがスキャンチェーンの初段のスキャンＦＦ６０９ａとなるように設計してある。
【００６７】
また、ＤＳＰコア６０１の出力端子に最初に接続されるフリップフロップについては、これがスキャンチェーンの初段のスキャンＦＦ６０９ｂとなるように設計してある。
【００６８】
テスト制御回路６０６は、リクエスト信号を送ることにより、ＣＰＵコア６００、ＤＳＰコア６０１のメモリ読出しを制御するように構成されている。
【００６９】
スキャンテストに際しては、あらかじめスキャンテストパターンをＣＰＵコア６００に内蔵のメモリにダウンロードしておく。次いで、テスト制御回路６０６がＣＰＵコア６００と機能ブロック６０２にリクエスト信号を与え、前記の蓄積しておいたスキャンテストパターン６１０ａをＣＰＵコア６００の出力端子から機能ブロック６０２におけるスキャンチェーンに供給する。これにより、ＣＰＵコア６００からスキャンＦＦ６０９ａまでの間にある回路６０７，６０８ａの故障検出を可能とする。
【００７０】
同様に、あらかじめスキャンテストパターンをＤＳＰコア６０１に内蔵のメモリにダウンロードしておく。次いで、テスト制御回路６０６がＤＳＰコア６０１と機能ブロック６０３にリクエスト信号を与え、前記の蓄積しておいたスキャンテストパターン６１０ｂをＤＳＰコア６０１の出力端子から機能ブロック６０３におけるスキャンチェーンに供給する。これにより、ＤＳＰコア６０１からスキャンＦＦ６０９ｂまでの間にある回路６０８ｂの故障検出を可能とする。
【００７１】
また、機能ブロック６０３におけるスキャンテストのキャプチャ動作時には、スキャンＦＦ６０９ｃから出力されたパターンデータを組合せ回路６０８ｃに通してキャプチャデータを得る。このとき、テスト制御回路６０６がＣＰＵコア６００と機能ブロック６０３にリクエスト信号を与え、組合せ回路６０８ｃで得られたキャプチャデータ６１１をＣＰＵコア６００の内部メモリに転送して蓄積する。この蓄積されたキャプチャデータは、後に外部のＬＳＩテスタで期待値照合する。これにより、組合せ回路６０８ｃの故障検出率を向上することができる。
【００７２】
（実施の形態４）
図５は本発明の実施の形態４における半導体集積回路のテストシステムの構成を示すブロック図である。これは、テスト容易化設計方法で実現したノンスキャン設計のメモリ機能を持たないハードマクロコアを搭載したＬＳＩであって、特にハードマクロコアと接続されるスキャン設計ブロックの境界部テスト方法を中心として示している。
【００７３】
図５において、７００は例えば高速動作が要求されることから内部をスキャン設計することができず、さらに、メモリやレジスタ等のデータ蓄積機能を有していないハードマクロコアである。このハードマクロコア７００においては、外部入力端子７０２，７０３ａ，７０３ｂに信号を入力すると、出力端子７０４，７０８，７０９における出力結果が一意に決まる。
【００７４】
ハードマクロコア７００の出力端子７０４，７０８，７０９に接続されているフリップフロップは、その全てがスキャンチェーン７０５の先頭になるように設計されている。
【００７５】
スキャンテストのシフトイン時には、ハードマクロコア７００の入力端子７０２，７０３ａ，７０３ｂに信号を入力し、ハードマクロコア７００経由で各スキャンチェーン７０５に対してスキャンテストパターン７０７を供給する。これにより、ハードマクロコア７００の出力端子からハードマクロコア７００に接続される次段ブロックのフリップフロップまでに関して、スキャンテストでの故障検出率を向上することができる。
【００７６】
このようなスキャンテスト設計は、例えばシステムＬＳＩにＡＤＣ（ＡＤコンバータ）やＰＬＬを搭載する場合に、ＡＤＣやＰＬＬ（ＰＬＬデジタル部）とその他の論理回路（スキャン設計したロジック部）の境界部において、故障検出率を向上させる上で効果がある。
【００７７】
図６にＡＤＣと周辺回路境界部のスキャンテスト回路の例を示す。図６において、８００はＡＤＣ、８０１はテスト制御回路、８０２はアナログデータの入力端子、８０３はデジタルデータの入力端子、８０４はデジタル出力端子、８０５はスキャンチェーン、８０６はテスト対象の組合せ回路である。
【００７８】
（実施の形態５）
上述したとおり、本発明の半導体集積回路のテストシステムにおいては、スキャンテストパターンをＲＡＭやハードマクロコアの出力端子からスキャンチェーンに与える構成となっており、スキャンイン端子の少なくとも一部はＬＳＩの外部に引き出されない。したがって、通常の自動スキャンテストパターン生成ツール（ＡＴＰＧ）を利用することができない。
【００７９】
図７は本発明のスキャンテスト回路に関する半導体ＣＡＤツール（スキャンテストパターン自動生成ツール）に関するデータ処理フローを示す。
【００８０】
まず、ステップＳ１１において、ＡＴＰＧ（Ａｕｔｏｍａｔｉｃ　Ｔｅｓｔ　Ｐａｔｔｅｒｎ　Ｇｅｎｅｒａｔｏｒ：自動スキャンテストパターン生成ツール）を用いて、ハードマクロコアのネットリスト９００に基づいてハードマクロコアのスキャンテストパターン９０１を生成する。ただし、ダウンロードによりスキャンテストパターンをＲＡＭに蓄積する場合には、このフローによる処理は不要である。
【００８１】
一方、ステップＳ２１において、システムＬＳＩのネットリスト９０２からスキャンチェーンの始点が内部ノードとなっているネットを抽出した上で、抽出した内部ノードを仮想の外部端子とする処理を掛ける。
【００８２】
次いで、ステップＳ２２において、ＡＴＰＧによりシステムＬＳＩの仮のスキャンテストパターン９０３を生成する。
【００８３】
次いで、ステップＳ２３において、仮想外部端子（ハードマクロコア出力端子部分）のパターン抽出処理を行う。
【００８４】
次いで、ＲＡＭにスキャンテストパターンを蓄積する上記の実施の形態１および実施の形態３の場合には、ステップＳ３１へ進み、スキャンテストパターンを蓄積しない実施の形態４の場合には、ステップＳ４１へ進む。以下、具体的に説明する。
【００８５】
ＲＡＭにスキャンテストパターンを蓄積する実施の形態１，３の場合は、ステップＳ３１に進んで、仮のスキャンテストパターン９０３から必要箇所を切り出した上で最終のシステムＬＳＩのスキャンテストパターン９０５ａを生成する。
【００８６】
次いで、ステップＳ３２において、システムＬＳＩスキャンテストパターン９０５ａをフォーマット変換してＬＳＩテスタのテストパターン９０６ａを生成する。
【００８７】
また、スキャンテストパターンの蓄積を行わない実施の形態４の場合は、ステップＳ２３で、生成した仮のスキャンテストパターン９０３中の何処に仮想外部端子のパターンが存在するかを示すマッピング情報すなわちポインタ情報９０４を生成する。
【００８８】
次いで、ステップＳ４１に進んで、ポインタ情報９０４に基づいて、仮スキャンテストパターン９０３とハードマクロのスキャンテストパターン９０１とを比較し、仮想外部端子のパターンとハードマクロ出力端子のパターンが一致する場合、ハードマクロ出力端子のパターンに対応するハードマクロ入力端子のパターンを求め、仮想外部端子のパターンをハードマクロ入力端子のパターンに置き換える処理を掛ける。このようにハードマクロのスキャンテストパターンとシステムＬＳＩの仮スキャンテストパターンを合成して最終のシステムＬＳＩのスキャンテストパターン９０５ｂを作成する。
【００８９】
そして、ステップＳ４２において論理シミュレーションを行い、良好であれば、ステップＳ４３において、システムＬＳＩのスキャンテストパターン９０５ｂをフォーマット変換してＬＳＩテスタのテストパターンを生成する。
【００９０】
【発明の効果】
以上のように、半導体集積回路のテストシステムについての本発明によれば、ＲＡＭマクロのリードパスに新たな制御用スキャンＦＦなどのテスト回路を追加することなく、ＲＡＭマクロブロックからＲＡＭマクロのデータ出力端子に接続されるフリップフロップまでをチップ面積の増加およびＲＡＭのリード速度性能低下なしに、高い故障検出率でスキャンテストすることができる。
【００９１】
また、ＲＡＭマクロのライトパスに新たな観測用スキャンＦＦを追加することなく、ＲＡＭマクロのデータ入力端子またはアドレス入力端子に接続されるフリップフロップからＲＡＭマクロブロックまでをチップ面積および信号遅延時間の増加なしに、高い故障検出率でスキャンテストすることができる。
【００９２】
さらには、ＲＡＭマクロのライトパスとリードパスに新たな観測用スキャンＦＦや制御用スキャンＦＦを追加することなく、ＲＡＭマクロのデータ入力端子またはアドレス入力端子に接続されるフリップフロップからＲＡＭマクロブロックまでと、ＲＡＭマクロブロックからＲＡＭマクロのデータ出力端子に接続されるフリップフロップまでを、チップ面積および信号遅延時間の増加なしに、高い故障検出率でスキャンテストすることができる。加えて、ＲＡＭの入力側出力側を同時にスキャンテストできるため、ＲＡＭ内に周辺回路のスキャンテストパターンを蓄積する時間を削減でき、テスト時間の短縮化を可能とする。
【００９３】
また、データ蓄積機能を持ったハードマクロコアであってコア内部がスキャン設計されていない場合においても、制御用スキャンＦＦを接続することに起因するチップ面積増加および信号伝搬速度低下を招くことなく、ハードマクロコアの出力インターフェースから周辺回路までを高い故障検出率でスキャンテストすることができる。
【００９４】
また、データ蓄積機能を持ったハードマクロコアであってコア内部がスキャン設計されていない場合においても、観測用スキャンＦＦを接続することに起因するチップ面積増加および信号伝搬速度低下を招くことなく、ハードマクロコアの入力インターフェースから周辺回路までを高い故障検出率でスキャンテストすることができる。
【００９５】
また、データ蓄積機能を持たないハードマクロコアであってコア内部がスキャン設計されていない場合においても、制御用スキャンＦＦを接続することに起因するチップ面積増加および信号伝搬速度低下を招くことなく、ハードマクロコアの出力インターフェースから周辺回路までを高い故障検出率でスキャンテストすることができる。
【００９６】
さらには、スキャンチェーンの始点が内部ノードあっても、スキャンテストパターン自動生成ツールのシミュレーション発散、パターン生成時間の長期化、パターン生成の失敗等を防止し、内部ノード始点型のスキャンチェーンの取扱いを可能とした上で、パターン生成時間を短縮化することができる。
【００９７】
また、データ蓄積機能を持たないハードマクロコアであってコア内部がスキャン設計されていない場合において、ハードマクロコアをブラックボックス扱いで、ＡＴＰＧツールによりシステムＬＳＩ全体のスキャンテストパターンを自動生成することにより、スキャン設計工数の大幅な削減を図ることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１における半導体集積回路のテストシステムの構成を示すブロック図
【図２】本発明の実施の形態２における半導体集積回路のテストシステムの構成を示すブロック図
【図３】本発明の実施の形態２におけるシフト・キャプチャ動作を説明するタイミングチャート
【図４】本発明の実施の形態３における半導体集積回路のテストシステムの構成を示すブロック図
【図５】本発明の実施の形態４における半導体集積回路のテストシステムの構成を示すブロック図
【図６】本発明の実施の形態４におけるＡＤＣ搭載の半導体集積回路のテストシステムの構成を示すブロック図
【図７】本発明の実施の形態５における半導体集積回路のスキャンテストパターン作成方法を示すフローチャート
【図８】従来の半導体集積回路のテストシステムの構成を示すブロック図
【図９】従来の半導体集積回路のテストシステムの構成を示すブロック図
【符号の説明】
１００，２００，４００…ＳＲＡＭ
１０１…メモリＢＩＳＴ回路
１０２ａ，１０２ｂ，２０２ａ，２０２ｂ，４０２ａ，４０２ｂ…スキャンテスト設計されＲＡＭ周辺回路
１０３，２０３，３０５，４０３…マルチプレクサ
１０４，２０４，４０４，６０８ａ，６０８ｂ，６０８ｃ，７０６、８０６…組合せ回路
１０５，２０５，４０５，７０５、８０５…スキャンチェーン
１０６，２０６，４０６…スキャンイン外部端子
１０７，２０７…スキャンフリップフロップ
１０７ａ…初段のフリップフロップ
２０１…メモリＢＩＳＴ回路
１０８，２０８，３０６、４０７…観測用スキャンＦＦ
１０９，６１０ａ，６１０ｂ，７０７…スキャンテストパターン
２０９，３０７…制御用スキャンＦＦ
３００ａ…命令ＲＡＭ
３００ｂ…データＲＡＭ
３０１ａ，３０１ｂ，３０１ｃ，３０１ｄ，３０１ｅ…スキャン設計された機能ブロック
３０２ａ，３０２ｂ…ＲＡＭインターフェース回路
３０３ａ，３０３ｂ…メモリＢＩＳＴ回路
３０４，６０７…バス
４０１…テスト制御回路
４０２ｃ…スキャン設計された回路
６００…ノンスキャン設計ＣＰＵコア
６０１…ノンスキャン設計ＤＳＰコア
６０２，６０３，６０４，６０５…スキャン設計された機能ブロック（ランダムロジック回路）
６０６…テスト制御回路
６０９ａ，６０９ｂ，６０９ｃ…ハードマクロと接続されるパスの初段フリップフロップ
６１１…キャプチャデータ
７００…ノンスキャン設計のハードマクロコア
７０１…テスト制御信号
７０２，７０３ａ，７０３ｂ…外部端子入力（ハードマクロの入力端子）
７０４，７０８，７０９…ハードマクロの出力端子
８００…ＡＤＣブロック
８０１…テスト制御回路
８０２…アナログデータ入力端子
８０３…テスト用デジタルデータ入力端子
８０４…デジタル出力端子
９００…ハードマクロコアネットリスト
９０１…ハードマクロコアスキャンテストパターン
９０２…システムＬＳＩのネットリスト
９０３…仮のスキャンテストパターン
９０４…ポインタ情報
９０４…ハードマクロのスキャンテストパターン
９０５…本発明のスキャンテスト回路で用いるシステムＬＳＩのスキャンテストパターン
９０６…ＬＳＩテスタ用テストパターン
【図１】
2004012374.tif 000003
【図２】
2004012374.tif 000004
【図３】
2004012374.tif 000005
【図４】
2004012374.tif 000006
【図５】
2004012374.tif 000007
【図６】
2004012374.tif 000008
【図７】
2004012374.tif 000009
【図８】
2004012374.tif 000010
【図９】
2004012374.tif 000011