(57)【要約】【課題】  演算器などを搭載するランダムロジック回路、およびメモリなどの専用マクロを混載する回路において、ランダムロジック回路と専用マクロ間のパスをテストすることが難しかった。【解決手段】  スキャンテスト非対応型のＳＲＡＭ９０は、乗算器６６の出力を受ける。テスト用回路６２、６４、７０、７６、８４、８６は、所定の指示に基づいてテストモードに移行する。テストモードへの移行が指示されると、乗算器６６に与えるデータをテスト用データに切り替えるとともに、ＳＲＡＭ９０の出力値と所定の期待値とを比較する。【選択図】  図２
2006258654.tif 000002
【特許請求の範囲】
【請求項１】
所定の処理を実行する演算回路と、
前記演算回路の出力を受ける、スキャンテスト非対応型の専用マクロ回路と、
所定の指示に基づいてテストモードに移行するテスト用回路と、を備え、
前記テスト用回路は、テストモードへの移行が指示されると、前記演算回路に与えるデータをテスト用データに切り替えるとともに、前記専用マクロ回路の出力値と所定の期待値とを比較することを特徴とするテストシステム。
【請求項２】
前記テスト用回路は、
前記テスト用データを発生させるテストデータ発生回路と、
テストモードにて前記専用マクロ回路を制御するためのテスト用マクロ制御回路と、
通常のデータと前記テストデータ発生回路にて発生されたテスト用データとを切り替える第１切替回路と、
通常のマクロ制御回路と、前記テスト用マクロ制御回路の制御信号を切り替える第２切替回路と、
前記専用マクロ回路の出力データの期待値を保持する期待値テーブルと、
テストモードにて前記専用マクロ回路から実際に出力されたデータと、前記期待値テーブルから出力されたデータとを比較判定することにより、エラーチェックをする判定回路と、
を含むことを特徴とする請求項１に記載のテストシステム。
【請求項３】
前記専用マクロ回路を複数、備え、
前記期待値テーブルおよび前記判定回路を、それら複数の専用マクロ回路を含む複数のパスで共用することを特徴とする請求項２に記載のテストシステム。
【請求項４】
前記期待値テーブルは、前記複数の専用マクロ回路のうち、テストすべき専用マクロ回路を含むパスごとに、前記判定回路に時分割で期待値を設定することを特徴とする請求項３に記載のテストシステム。
【請求項５】
所定のランダムロジック回路にスキャンテストを実施すためのスキャンフリップフロップと、
前記ランダムロジック回路と連携して動作する、セルフテスト機能を内蔵した専用マクロ回路と、
前記ランダムロジック回路と前記専用マクロ回路とを接続するパスをテストするための付加回路と、
を備えることを特徴とするテストシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ(Large Scale Integration)の接続や機能検証、不良品選別などを行うためのテストシステムに関する。
【背景技術】
【０００２】
ＬＳＩのテストは、製造したＬＳＩが正常に動作するか否かを確認するために行う。ＬＳＩの不良は、トランジスタ不良、配線の断線や短絡など多くの原因により発生する。ＬＳＩのテスト手法として、スキャン、ＢＩＳＴ（Built In Self Test)などが用いられている。
【０００３】
ところで、特定の用途や製品のために設計されるカスタムＬＳＩを含め、システムＬＳＩ内部には、専用マクロ回路や、ランダムロジック回路などが搭載される。専用マクロ回路とは、メモリなど、予め特定の機能を果たすよう設計された回路である。他のベンダから提供される専用マクロ回路は、設計がブラックボックスになっているものもあり、外部からのスキャンチェックが難しい場合がある。ただ、汎用メモリなどには、内部でのセルフチェックとしてＢＩＳＴ機能が搭載されているものもある。
【０００４】
ランダムロジック回路は、加算器などの演算器や、その組み合わせ回路などを用いて、所望の機能を実現するようユーザが設計した回路である。ランダムロジック回路のテスト方法としては、スキャン法を用いることが多い。例えば、直列に接続されたフリップフロップ（以下、ＦＦと表記する。）の値をテストパターンとして、外部からランダムロジック回路に書き込んだり、読み出したりしてテストを行うことができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、カスタムＬＳＩなどでは、ランダムロジック回路に対して、その前後にスキャンＦＦを挿入してスキャンテストを行う。一方、ＳＲＡＭ（Static Random Access Memory）などの専用マクロ回路に対して、ＢＩＳＴを行うといったテスト形態が用いられることがある。
【０００６】
しかしながら、このようなテスト形態では、ランダムロジック回路と専用マクロが個別にテストされることになり、両者の接続確認や統合機能の検証を行うには不十分である。そこで、設計者が個別にテスト環境を作成する必要があるが、複雑な機能と膨大な回路規模からなるランダムロジック回路と、各種専用マクロ回路との接続、機能テストをマニュアル作業で正確に構築するには多大な工数を要する。このような作業は、開発期間の長期化、開発工数の増大、テスト信頼性の低下にもつながる。
【０００７】
本発明はこうした状況に鑑みてなされたものであり、その目的は、専用マクロ回路などのスキャンテスト非対応型の回路ブロックと、ランダムロジック回路などのスキャンテストに対応した回路ブロックとの間の接続テストを容易に行うことができるテストシステムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある態様のテストシステムは、所定の処理を実行する演算回路と、演算回路の出力を受ける、スキャンテスト非対応型の専用マクロ回路と、所定の指示に基づいてテストモードに移行するテスト用回路と、を備える。テスト用回路は、テストモードへの移行が指示されると、演算回路に与えるデータをテスト用データに切り替えるとともに、専用マクロ回路の出力値と所定の期待値とを比較する。
【０００９】
この態様によると、演算回路と専用マクロ回路間のパスのテストを行うことができる。すなわち、スキャンテスト非対応型の専用マクロ回路を含む場合、演算回路と専用マクロ回路を統一的にスキャンテストすることが難しく、演算回路と専用マクロ回路を個別にテストする必要がある。その場合、演算回路と専用マクロ回路間のパスのテストが抜けてしまうが、本態様によると、そのパスのテストを行うことができる。
【００１０】
テスト用回路は、テスト用データを発生させるテストデータ発生回路と、テストモードにて専用マクロ回路を制御するためのテスト用マクロ制御回路と、通常のデータとテストデータ発生回路にて発生されたテスト用データとを切り替える第１切替回路と、通常のマクロ制御回路と、テスト用マクロ制御回路の制御信号を切り替える第２切替回路と、専用マクロ回路の出力データの期待値を保持する期待値テーブルと、テストモードにて専用マクロ回路から実際に出力されたデータと、期待値テーブルから出力されたデータとを比較判定することにより、エラーチェックをする判定回路と、を含んでもよい。「期待値テーブル」は、複数のテストパターンに対応するよう、外部または内部から更新可能な構成であってもよい。
【００１１】
専用マクロ回路を複数、備えてもよい。期待値テーブルおよび判定回路を、それら複数の専用マクロ回路を含む複数のパスで共用してもよい。テストデータ発生回路を共用してもよい。期待値テーブルは、複数の専用マクロのうち、テストすべき専用マクロ回路を含むパスごとに、判定回路に時分割で期待値を設定してもよい。
【００１２】
この態様によると、テスト用回路の一部を共用することにより、回路規模を抑制することができる。
【００１３】
本発明の別の態様もまた、テストシステムである。このテストシステムは、所定のランダムロジック回路にスキャンテストを実施すためのスキャンフリップフロップと、ランダムロジック回路と連携して動作する、セルフテスト機能を内蔵した専用マクロ回路と、ランダムロジック回路と専用マクロ回路とを接続するパスをテストするための付加回路と、を備える。
【００１４】
この態様によると、ランダムロジック回路と専用マクロ回路との間のパスを含む網羅的なテストを行うことができる。
【００１５】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１６】
本発明によれば、専用マクロ回路などのスキャンテスト非対応型の回路ブロックと、ランダムロジック回路などのスキャンテストに対応した回路ブロックとの間の接続テストを容易に行うことができる。
【発明を実施するための最良の形態】
【００１７】
本発明を具体的に説明する前に、その前提と概要を述べる。システムＬＳＩメーカは、ＳＲＡＭ、ＲＯＭ、ＦＩＦＯ（First-In First-Out）、およびＩＰ（Intellectual Property)など、変更を加えずに使用する専用マクロ、ならびに独自に設計するランダムロジックなどを混載して、システムＬＳＩを設計するのが一般的である。以下、カスタムＬＳＩの例で説明する。本発明は、このような専用マクロと、ランダムロジックとが混在する回路のテストを行う場合に、専用マクロとランダムロジック間の接続テストを含めて、回路の機能確認を容易に行うためのものである。とくに、専用マクロがスキャンチェック非対応型の場合、専用マクロとランダムロジック間のパスのテストを行うことが難しい。本発明の実施形態では、簡単なテスト用回路を付加することにより、当該パスのテストを容易に行う。
【００１８】
図１は、本発明の実施形態におけるテストシステムの適用対象とすることが可能なカスタムＬＳＩ１００の回路構成を示す。このカスタムＬＳＩ１００は、積和器４２を含む第１ランダムロジック３２、減算器４４を含む第２ランダムロジック３４、および加算器４６を含む第３ランダムロジック３６を搭載する。また、専用マクロとしてＳＲＡＭ５０を搭載する。
【００１９】
第１ランダムロジック３２の前段には第２スキャンＦＦ１４が接続され、後段には第４スキャンＦＦ１８が接続される。また、第２ランダムロジック３４とも接続され、データの入出力が可能な構成としてある。第２ランダムロジック３４の前段には第１スキャンＦＦ１２が接続され、後段には第３スキャンＦＦ１６が接続される。第３ランダムロジック３６の前段には第３スキャンＦＦ１６および第５スキャンＦＦ２０が接続され、後段には第６スキャンＦＦ２２が接続される。ＳＲＡＭ５０の前段には第４スキャンＦＦ１８が接続され、後段には第５スキャンＦＦ２０が接続される。
【００２０】
第１スキャンＦＦ１２〜第６スキャンＦＦ２２には、動作クロックとして、通常のシステムクロックＳＹＣＬＫおよびスキャンテスト用クロックＳＣＣＬＫが入力される。第１スキャンＦＦ１２〜第６スキャンＦＦ２２は、通常のデータ入力に対するラッチ機能に加えて、テスト対象とすべき回路、例えばランダムロジックにテストデータを外部から書き込んだり、読み出したりしてテストをする機能を備える。図示しない内蔵するセレクタにより、通常のシステムクロックＳＹＣＬＫとスキャンテスト用クロックＳＣＣＬＫとを切り替えることができる。
【００２１】
第１スキャンＦＦ１２〜第６スキャンＦＦ２２は、スキャン用データを前段から受けるためのスキャンデータ用端子ＳＩをそれぞれ備える。第１スキャンＦＦ１２の出力データを第２スキャンＦＦ１４のスキャンデータ用端子ＳＩで受け、第２スキャンＦＦ１４の出力データを第３スキャンＦＦ１６のスキャンデータ用端子ＳＩで受けるといったように、第１スキャンＦＦ１２〜第６スキャンＦＦ２２は、順番に接続され、スキャンチェーンを構成する。第１スキャンＦＦ１２のスキャンデータ用端子ＳＩには、外部から順次、所望の値が入力され、第１スキャンＦＦ１２は、その値に応じて所定のテストパターンを発生することができる。スキャンチェーンは、各スキャンＦＦに供給されるスキャンテスト用クロックＳＣＣＬＫにしたがい、シフトレジスタのように動作する。
【００２２】
ＳＲＡＭ５０は、スキャンＦＦを含まず、通常のスキャンテストに対応していない。第４スキャンＦＦ１８および第５スキャンＦＦ２０は、それぞれ第１ランダムロジック３２および第３ランダムロジック３６に対応しており、ＳＲＡＭ５０のスキャンテストには対応していない。ＳＲＡＭ５０は、ＢＩＳＴ機能を備えることができる。ＢＩＳＴ機能付きの専用マクロに対しては、外部からトリガ信号を与えるだけで、それ単体で自動でテストを実施させることができる。
【００２３】
なお、本カスタムＬＳＩ１００では、図１に示す回路中のＦＦをすべてをスキャンＦＦで設計するフルスキャン方式を採用している。この点、一部のＦＦをスキャンＦＦで設計するパーシャルスキャン方式を採用してもよい。
【００２４】
このような回路構成のカスタムＬＳＩ１００にて、通常動作させる場合、第１スキャンＦＦ１２〜第６スキャンＦＦ２２は、システムクロックＳＹＣＬＫにて動作し、通常のＦＦとして機能する。第１スキャンＦＦ１２および第２スキャンＦＦ１４は、それぞれ入力データＤＩＮａおよび入力データＤＩＮｂを受ける。そして、最終的に第６スキャンＦＦ２２は、出力データＤＯＵＴを出力する。
【００２５】
一方、スキャンテストを実施する場合、第１スキャンＦＦは、スキャンデータ用端子ＳＩからスキャン用データＳＣＩＮを受け、最終的に第６スキャンＦＦ２２は、スキャン結果を表すデータＳＣＯＵＴを出力する。
【００２６】
このようなフルスキャンテストは、第１ランダムロジック３２〜第３ランダムロジック３６の不良検出率を向上させることができる。また、ＳＲＡＭ５０では、ＢＩＳＴ機能を用いることで、不良検出率を向上させることができる。これらのテストは、比較的容易に実施することができる。
【００２７】
第１ランダムロジック３２の出力データをラッチする第４スキャンＦＦ１８と、ＳＲＡＭ５０との間の信号パスＰ２、およびＳＲＡＭ５０の出力データと、第３ランダムロジック３６の入力データをラッチする第５スキャンＦＦ２０との間の信号パスＰ４について、上述したテスト方法で接続テストを行うことは難しい。ランダムロジックと専用マクロが個別にテストされることとなるためである。以下、カスタムＬＳＩ１００全体を網羅的にテストするためのテストシステムについて説明する。
【００２８】
図２は、本発明の実施形態におけるテストシステム２００の回路構成を示す。本実施形態におけるランダムロジック６０、８０は、ランダムロジックと専用マクロとの間のパスの接続テストを行う機能を備えることができる。この機能を実現するため、一般的なランダムロジックに対して、テスト用回路として機能する以下に示す付加回路を有する。この付加回路は、テスト用データ生成回路６２、データ用セレクタ６４、テスト用メモリ制御回路７２、制御信号用セレクタ７６、期待値テーブル８４、および比較判定回路８６を含む。そして、テスト用データ生成回路６２、データ用セレクタ６４、テスト用メモリ制御回路７２、および制御信号用セレクタ７６は、ＳＲＡＭ９０などの専用マクロの前段のランダムロジック６０に内蔵されてもよく、期待値テーブル８４、および比較判定回路８６は、専用マクロの後段のランダムロジック８０に内蔵されてもよい。
【００２９】
前段のランダムロジック６０は、通常の機能として、外部からの二系統の入力データＤＩＮａ、ＤＩＮｂを乗算して、ＳＲＡＭ９０に出力する。これに実現するため、乗算器６６、第１ＦＦ６８、通常メモリ制御回路７４、および第２ＦＦ７８を備える。一般的なランダムロジックでは、二系統の入力データＤＩＮａ、ＤＩＮｂが直接、乗算器６６に入力されるが、本実施形態では、二系統の入力データＤＩＮａ、ＤＩＮｂは、データ用セレクタ６４を介して入力される。
【００３０】
乗算器６６は、演算用のデータとして、二系統の入力データＤＩＮａ、ＤＩＮｂを乗算し、第１ＦＦ６８に出力する。なお、乗算器６６は、これに限るものではなくその他の演算器でもよい。例えば、除算器、加算器、減算器、積和器、および比較器などであってもよい。第１ＦＦ６８は、乗算器６６の出力値をラッチし、所定のタイミングでＳＲＡＭ９０に書き込む。
【００３１】
通常メモリ制御回路７４は、外部から供給される所定の制御信号に応じて、アドレス信号ＡＤ、チップセレクト信号ＣＳ、およびライト／リード信号ＷＲを、第２ＦＦ７８を介してＳＲＡＭ９０に出力し、ＳＲＡＭ９０の読み出し制御、および書き込み制御を行う。通常メモリ制御回路７４による制御に応じて、ＳＲＡＭ９０から読み出されるデータは、第３ＦＦ８２にてラッチ後、通常のランダムロジック８８へ出力される。ここで、通常のランダムロジック８８とは、テスト用回路の全部または一部が搭載される前の一般的なランダムロジックを指す。
【００３２】
これらの処理は通常の機能であり、この機能だけで、第１ＦＦ６８とＳＲＡＭ９０間、第２ＦＦ７８とＳＲＡＭ９０間、およびＳＲＡＭ９０と第３ＦＦ８２間の接続テストを行うことは難しい。これらの接続、機能検証を実施するには、本ブロックの上位にてテスト環境を構築し、専用のテストパタンを使用する必要があり、極めて煩雑な作業となる。
【００３３】
本実施形態では、テスト用回路を付加したことにより、その接続、機能検証を容易に実施することができる。本テストシステム２００では、テスト用データ生成回路６２、データ用セレクタ６４、テスト用メモリ制御回路７２、および制御信号用セレクタ７６に外部からテスト用制御信号ＴＣＮＴが入力される。テスト用制御信号ＴＣＮＴは、テスト用クロック、シリアルデータ、およびストローブ信号の３系統で構成される制御信号である。シリアルデータは、テスト用データ生成回路６２の生成するテストパターンの基礎にすることができるデータである。テスト用データ生成回路６２およびテスト用メモリ制御回路７２の少なくとも一方は、テスト用制御信号ＴＣＮＴに含まれるテスト用クロックに同期したバイト単位のシリアルデータをストローブ信号を用いて取り出す。
【００３４】
データ用セレクタ６４には、テスト用データ生成回路６２からテスト用データが入力され、外部から入力データＤＩＮａ、ＤＩＮｂが入力される。データ用セレクタ６４は、テスト制御用信号ＴＣＮＴに応じて、乗算器６６に出力すべきデータを、入力データＤＩＮａ、ＤＩＮｂとテスト用データとの間で切り替える。データ用セレクタ６４は、テスト用制御信号ＴＣＮＴにより、テストモードへの移行を指示されると、テスト用データを選択する。
【００３５】
テスト用データ生成回路６２は、乗算器６６などの非テスト対象回路に入力すべきテストデータを生成する。テスト用データ生成回路６２は、例えば、カウンタを用いて構成し、カウント値を順次出力してもよい。また、テスト制御用信号ＴＣＮＴの指示にしたがい、ランダム値を出力できる構成としてもよい。テスト用データ生成回路６２は、上述したバイト単位のシリアルデータを、その内部処理部にてデコードし、通常動作に使用しているシステムクロックを使用して、テスト動作を自動的に開始することができる。
【００３６】
テスト用データ生成回路６２の生成するテスト用データのビット数は、テストする資源のアドレスや、機能試験の信頼性を考慮して、テスト用制御信号ＴＣＮＴから任意に定義可能である。例えば、ビット数を４ビット程度で繰り返すことでも、接続試験のみであれば、十分に接続検証可能である。また、テスト制御用信号ＴＣＮＴなどにより供給されるシリアルデータを全ビット幅分スイープするかどうかは、カスタムＬＳＩの回路規模、動作速度などにより事前に設定することができる。大容量のＳＲＡＭなどを通す場合、カウンタのロード数を増やすことにより、メモリの全領域をテストすることができる。
【００３７】
メモリ制御回路７０は、テスト用メモリ制御回路７２と通常メモリ制御回路７４を含み、それぞれアドレス信号ＡＤ、チップセレクト信号ＣＳ、およびライト／リード信号ＷＲを制御信号用セレクタ７６に出力する。テスト用メモリ制御回路７２は、テスト制御用信号ＴＣＮＴ、およびテスト用データ生成回路６２から供給されるテスト用データを基に、それらの信号を生成する。
【００３８】
制御信号用セレクタ７６には、テスト用メモリ制御回路７２および通常メモリ制御回路７４から、それぞれ３系統の制御信号群が入力される。制御信号用セレクタ７６は、テスト制御用信号ＴＣＮＴに応じて、第２ＦＦ７８を介してＳＲＡＭ９０に出力すべき制御信号群を切り替える。テストモードではテスト用メモリ制御回路７２からの制御信号群を選択し、通常動作モードでは通常メモリ制御回路７４からの制御信号群を選択する。
【００３９】
このような構成にて、テスト用データ生成回路６２が０から２５５までの８ビットカウントアップデータを生成する例について説明する。テストモードでは、テスト用データ生成回路６２から乗算器６６の２入力端子に、クロックに同期して当該８ビットカウントアップデータが入力される。乗算器６６は、０×０、１×１、２×２．．．．．．．２５５×２５５の乗算処理を順次実行し、乗算結果を第１ＦＦ６８に出力する。
【００４０】
なお、乗算器６６以外の演算器の場合も、同様のデータ入力がされ、所定の演算処理が実行される。例えば、加算器の場合、０＋０、１＋１、２＋２．．．．．２５５＋２５５の加算処理を順次実行する。積和器の場合、（０＋０）×（０＋０）、（１＋１）×（１＋１）、（２＋２）×（２＋２）、．．．．．．．（２５５＋２５５）×（２５５＋２５５）の積和処理を順次実行する。
【００４１】
それとともに、テスト用メモリ制御回路７２は、乗算器６６からの出力データをＳＲＡＭ９０の最下位アドレスから最上位アドレスまで、順次書き込むよう制御する。その際、第１ＦＦ６８および第２ＦＦ７８が同期をとることにより、ＳＲＡＭ９０に対する出力データと制御信号の入力タイミングを調整することができる。なお、テスト用データ生成回路６２の生成するテスト用データのビット数により、書き込みデータがある期間について周期的となるが、データの周期性を避ける場合はビット数を増加させることにより、容易に対応可能である。
【００４２】
テスト用メモリ制御回路７２は、ＳＲＡＭ９０の全アドレスに対して書き込みが終了後、読み出し制御に移行する。テスト用データ生成回路６２は、ＳＲＡＭ９０への書き込み処理後に、読み出し処理に自動的に移行するシーケンスが組み込まれてもよい。ＳＲＡＭ９０は、テスト用メモリ制御回路７２からの読み出し制御にしたがい、第３ＦＦ８２に読み出しデータを出力する。第３ＦＦ８２は、所定のタイミングで当該読み出しデータを、比較判定回路８６およびテスト用回路が付加される前のランダムロジック８８に出力する。
【００４３】
期待値テーブル８４は、テストモードにおけるＳＲＡＭ９０の出力データと比較するためのデータを、期待値として比較判定回路８６に供給する。期待値テーブル８４は、テスト用データ生成回路６２からテスト用データ、またはその他のタイミング信号を受けて、第３ＦＦ８２が比較判定回路８６にＳＲＡＭ９０からのデータを出力するタイミングと同期をとってもよい。この場合、テスト用メモリ制御回路７２、期待値テーブル８４、および比較判定回路８６はクロック同期して動作する。上述したように、テスト用データ生成回路６２の生成するデータは、テスト用制御信号ＴＣＮＴなどを用いて、外部から設定変更可能である。
【００４４】
期待値テーブル８４は、接続、検証する資源が少ない場合、クランプ処理やＲＯＭなどでテーブルを固定してもよい。また、アプリケーション仕様により、カスタムＬＳＩ内部に複数の専用マクロを搭載する場合など、同様の試験を複数回行う必要がある場合、期待値テーブル８４は、ＲＡＭ、レジスタなどを用いて、再書き込み可能に構成されてもよい。期待値テーブル８４は、試験する資源に応じて、カスタムＬＳＩの外部または内部から、テーブルで管理すべき期待値データが入力される。このように、期待値データを再ロード可能な構成とすると、後述する時分割処理にて比較判定回路８６を使用する機能を実現することができる。また、再ロード可能な構成とすることにより、ランダムロジックと専用マクロ間の接続、機能テストを複数パタンで検証することができ、テスト精度を向上させることができる。
【００４５】
期待値データの内容は、事前に検証する演算器の仕様や、データパスの処理機能により、アプリケーションの仕様確定時には容易に算出可能である。また、テスト対象とする演算器が非常に複雑な演算を実行する場合や、多段の演算として実施される場合、演算プログラムを利用したソフトウェア的な処理によって、期待値データを準備することも可能である。
【００４６】
比較判定回路８６は、期待値テーブル８４から供給される期待値データと、第３ＦＦ８２を介してＳＲＡＭ９０から供給される出力データとを比較して、一致しているか否かを判定する。例えば、両者のデータが一致する場合、ハイレベルの信号を出力し、不一致の場合、ローレベルの信号を出力してもよい。比較判定回路８６の判定結果は、外部にてモニタすることができる。また、アプリケーションによって、判定論理の変更、時分割共用化など、ユーザ側で容易に仕様変更して活用可能である。この時分割共用化については後述する。
【００４７】
以上説明したように、テストシステム２００の動作モードを大別すると、通常動作モード、テストモード、テスト用データ設定モード、および期待値入力モードを備える。テスト用データ設定モードは、テスト用データ生成回路６２の生成するテストパターンを外部から設定するモードである。例えば、テスト用データ生成回路６２がカウントアップデータを出力する場合、カウント値の初期値、カウント幅、および最大値を設定してもよい。ユーザは、外部からコマンドなどを入力して、テストモードを設定することにより、内蔵するランダムロジックと専用マクロ間の接続、機能テストを自動で実施することができる。期待値入力モードは、期待値テーブル８４に期待値データを外部から入力するモードである。期待値テーブル８４のデータを固定した場合、このモードは必要ない。
【００４８】
以上説明したように本実施形態によれば、スキャンチェック非対応の専用マクロと、ランダムロジックを混載する回路にて、専用マクロとランダムロジックとの間の接続、機能テストを容易に実行することができる。例えば、通常実装される各種演算器を含むデータパス回路と、外部から入手するメモリなどの専用マクロ間の接続用テスト、および機能テストをスキャンＦＦなどの既存機能を使用することなく、簡易なテスト用回路を用いて、接続情報を含めた回路機能の自動検証を行うことができる。さらに、スキャンＦＦを内蔵しない専用マクロを内蔵するカスタムＬＳＩについても、図１に示したような既存の回路構成に大幅な変更を加えることなく、ランダムロジックと専用マクロ間のパスを含めた、接続、機能検証作業を網羅的に行うことができる。しかも、カスタムＬＳＩのテスト環境作成作業も短期間に抑えることができる。また、回路規模、動作速度などの回路性能に与える影響は軽微である。
【００４９】
また、ＬＳＩに内蔵する乗算、除算、加減算、積和、または比較器などのデータパスを構成する演算ブロックと、メモリなどの専用マクロを同時に動作させることで、演算器や専用マクロの機能テストも行うことができる。出力値と期待値との判定の結果、エラーが検出された場合、演算器、専用マクロ、およびそれらを接続するパスのうちの少なくとも一箇所に不良部分があることを検知することができる。
【００５０】
このように、本実施形態によると、ＬＳＩ開発において、開発期間の短期化、開発工数の削減、およびテスト信頼性の向上に資することができる。
【００５１】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００５２】
期待値テーブル８４、および比較判定回路８６は、複数の試験対象に対して、時分割で利用することができる。図３は、変形例におけるテストシステム３００の構成を示す。変形例におけるテストシステム３００は、同一回路上に複数の専用マクロを備える。図３では、ＳＲＡＭ９０およびＦＩＦＯ９４を備える。ＦＩＦＯ９４およびその前後のランダムロジック９２、９６以外の構成は、上述した図２の構成と同様である。ＦＩＦＯ９４の前段には、ランダムロジック９２を備え、ＦＩＦＯ９４にデータおよび制御信号を出力する。このランダムロジック９２の内部構成は、ＳＲＡＭ９０の前段のランダムロジック６０の構成と基本的に同一である。ＦＩＦＯ９４には、制御信号としてアドレス信号が必要ないので、当該ランダムロジック６０は、制御信号として、チップセレクト信号ＣＳとライト／リード信号ＷＲを供給する。なお当然ながら、乗算器６６以外の演算器を搭載していてもよい。
【００５３】
ＦＩＦＯ９４の前段のランダムロジック９２内のテスト用メモリ制御回路は、ＦＩＦＯ９４の読み出し制御を行い、ＦＩＦＯ９４の出力データを比較判定回路８６および後段のランダムロジック９６に出力する。
【００５４】
ＦＩＦＯ９４のテストモードでは、期待値テーブル８４には、ＦＩＦＯ９４の出力データと比較すべき期待値データが設定される。期待値テーブル８４は、その期待値データを比較判定回路８６に供給する。この動作クロックは、ＦＩＦＯ９４の前段のランダムロジック９２内のテスト用データ生成回路６２から供給されてもよい。比較判定回路８６は、期待値テーブル８４から供給される期待値データと、ＦＩＦＯ９４から供給される出力データとを比較して、一致しているか否かを判定する。このように、本テストシステム３００では、ＳＲＡＭ９０およびＦＩＦＯ９４の両テストモードに対して、期待値テーブル８４、および比較判定回路８６を共用することができる。このように、テスト用回路の一部を共用化することにより、テスト用回路として付加される回路の規模増加をさらに抑制することができる。
【００５５】
さらに、テスト用データ生成回路６２およびテスト用メモリ制御回路７２の少なくとも一方を、ＳＲＡＭ９０の前段のランダムロジック６０とＦＩＦＯ９４の前段のランダムロジック９２で共用してもよい。これによれば、テスト用回路として付加される回路の規模増加をさらに抑制することができる。
【００５６】
また、乗算器６６の出力データがＳＲＡＭ９０およびＦＩＦＯ９４に、パラレルに入力される構成に対しても、本変形例は適用可能である。その場合も、期待値テーブル８４、比較判定回路８６を時分割で共用することができる。
【００５７】
また、ＳＲＡＭ９０とＦＩＦＯ９４とが接続されるよう構成、すなわち専用マクロ間が接続され、パスが形成される場合にも本実施形態は適用可能である。テスト用データ生成回路６２から比較判定回路８６までのパス中にて、専用マクロ間のパスを含め、いずれかの箇所に不良が存在するか否かを検出することができる。
【００５８】
上述した実施形態や変形例では、専用マクロとしてＳＲＡＭ９０やＦＩＦＯ９４の例を説明したが、スキャンＦＦを内蔵しないレジスタ群など、メモリストレージ機能を有している資源や、他のベンダーから供給されるＩＰなどに対しても、同様に適用可能である。
【００５９】
また、付加すべきテスト用回路の全部または一部を、ＬＳＩ外またはランダムロジック外に配置してもよい。例えば、期待値テーブル８４および比較判定回路８６を含む判定ブロックをカスタムＬＳＩの後段に配置してもよい。また、テスト用データ生成回路６２、テスト用メモリ制御回路７２、データ用セレクタ６４、および制御信号用セレクタ７６を含むテスト用データ入力ブロックをＬＳＩの入力段に近いブロックに配置してもよい。これによれば、長い演算パスについても、同等の手法でテストが可能である。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施形態におけるテストシステムの適用対象とすることが可能なカスタムＬＳＩの回路構成を示す図である。
【図２】本発明の実施形態におけるテストシステムの回路構成を示す図である。
【図３】変形例におけるテストシステムの構成を示す図である。
【符号の説明】
【００６１】
６０  ランダムロジック、  ６２  テスト用データ生成回路、  ６４  データ用セレクタ、  ６６  乗算器、  ６８  第１ＦＦ、  ７０  メモリ制御回路、  ７２  テスト用メモリ制御回路、  ７４  通常メモリ制御回路、  ７６  制御信号用セレクタ、  ７８  第２ＦＦ、  ８０  ランダムロジック、  ８２  第３ＦＦ、  ８４  期待値テーブル、  ８６  比較判定回路、  ２００  テストシステム。
【図１】
2006258654.tif 000003
【図２】
2006258654.tif 000004
【図３】
2006258654.tif 000005