(57)【要約】【課題】競合評価に要する時間を短縮し、タイミング競合評価を実現する半導体装置の提供。【解決手段】  上位装置であるＣＰＵ（２００）から評価対象マクロ（１２０）に対するアクセスを受け、前記アクセスが予め定められた競合評価開始アクセスであることを検出すると、前記アクセスに対して、所定のタイミングで、競合評価用の命令を前記評価対象マクロに投入するテストマスタ（１１０）を備える。テストマスタは、前記アクセスに対する評価対象マクロの動作の開始時点から終了直前までの時間範囲の一部又は全部にわたって、前記評価対象マクロに対する前記競合評価用の命令の投入のタイミングを可変させる。【選択図】図１
2011047826.tif 000002
【特許請求の範囲】
【請求項１】
上位装置から評価対象回路に対するアクセスを監視し、予め定められた競合評価開始アクセスの到来を検出すると、競合テスト用に予め記憶保持している所定の命令を、前記上位装置からの前記アクセスに対して所定のタイミング関係にて前記評価対象回路に投入するテスト回路を備えたことを特徴とする半導体装置。
【請求項２】
前記テスト回路が、前記アクセスに対する前記評価対象回路の動作開始から終了直前までのタイミング区間の一部又は全範囲にわたって、前記評価対象回路に対する前記競合テスト用の命令の投入のタイミングを可変させる回路を備えたことを特徴とする請求項１記載の半導体装置。
【請求項３】
前記テスト回路は、前記競合評価開始アクセスの到来後、競合テスト期間に対応する所定のクロックサイクル数のカウントを開始し、前記競合評価開始アクセスの到来後、前記競合テスト期間分クロックサイクル数をカウントした時点で、前記上位装置に対して競合評価完了割り込みを通知する割り込み回路を備えたことを特徴とする請求項２記載の半導体装置。
【請求項４】
前記テスト回路は、前記競合評価開始アクセスの到来後、競合テスト期間に対応する所定のクロックサイクル数のカウントを開始し、前記競合評価開始アクセスの到来後、前記競合テスト期間分クロックサイクル数をカウントした時点で、又は、前記評価対象回路から前記アクセスに対応する動作終了の通知を受けた場合に、前記上位装置に対して競合評価完了割り込みを通知する、ことを特徴とする請求項２記載の半導体装置。
【請求項５】
前記テスト回路から前記競合評価完了割り込みを受け付けた前記上位装置は、前記評価対象回路から、前記上位装置からの前記アクセスに対応する動作結果と前記競合テスト用の所定の命令の動作結果とを読み出して競合評価を行う、ことを特徴とする請求項３又は４記載の半導体装置。
【請求項６】
１回目のテストでは、前記テスト回路に前記競合評価開始アクセスが到来してから予め定められた時間であるウェイト初期値経過後、前記アクセスに対する動作が前記評価対象回路で実行され、
前記テスト回路において、前記競合評価開始アクセスが到来してから前記ウェイト初期値経過時点で、前記競合テスト用の所定の命令を、前記評価対象回路に投入し、
２回目以降のテストでは、前記テスト回路において、前記競合テスト用の所定の命令を、前記競合評価開始アクセスが到来してから前記ウェイト初期値に単位時間ずつ遅らせたタイミングで前記評価対象回路に投入する、ことを特徴とする請求項１乃至５のいずれか１項に記載の半導体装置。
【請求項７】
前記テスト回路が、前記上位装置から評価対象回路に対するバスアクセスを入力してデコードするデコーダと、
前記競合テスト用の所定の命令を記憶保持する記憶部と、
前記上位装置から前記評価対象回路に対するバスアクセスを第１の入力に受けるセレクタと、
前記記憶部に記憶保持された前記競合テスト用の所定の命令を所定のタイミングで前記セレクタの第２の入力に出力するタイマカウンタと、
を備え、
前記セレクタは、前記デコーダで前記競合評価開始アクセスの到来の検出結果を選択制御信号として入力し、前記デコーダにおいて競合評価開始アクセスの到来が検出されると、前記所定のタイミングで、前記第２の入力に供給される前記競合テスト用の所定の命令を、前記評価対象回路に供給する、ことを特徴とする請求項１乃至６のいずれか１項に記載の半導体装置。
【請求項８】
前記評価対象回路と前記評価対象回路の競合評価を行う前記テスト回路が、同一あるいは異なるＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）チップ上に搭載され、同一クロック上で動作することを特徴とする請求項１乃至７のいずれか１項に記載の半導体装置。
【請求項９】
テスト回路が、上位装置から評価対象回路に対するアクセスを監視し、
前記テスト回路が、予め定められた競合評価開始アクセスの到来を検出すると、競合テスト用に予め記憶保持している所定の命令を、前記上位装置からの前記アクセスに対して所定のタイミング関係にて前記評価対象回路に投入する、ことを特徴とするテスト方法。
【請求項１０】
前記テスト回路が、前記アクセスに対する前記評価対象回路の動作開始から終了直前までのタイミング区間の一部又は全範囲にわたって、前記評価対象回路に対する前記競合テスト用の命令の投入のタイミングを可変させる、ことを特徴とする請求項９記載のテスト方法。
【請求項１１】
前記テスト回路は、前記競合評価開始アクセスの到来後、競合テスト期間に対応する所定のクロックサイクル数のカウントを開始し、前記競合評価開始アクセスの到来後、前記競合テスト期間分クロックサイクル数をカウントした時点で、前記上位装置に競合評価完了割り込みを通知する、ことを特徴とする請求項１０記載のテスト方法。
【請求項１２】
前記テスト回路は、前記競合評価開始アクセスの到来後、競合テスト期間に対応する所定のクロックサイクル数のカウントを開始し、前記競合評価開始アクセスの到来後、前記競合テスト期間分クロックサイクル数をカウントした時点で、又は、前記評価対象回路から前記アクセスに対応する動作終了の通知を受けた場合に、前記上位装置に競合評価完了割り込みを通知する、ことを特徴とする請求項１０記載のテスト方法。
【請求項１３】
前記テスト回路からの前記競合評価完了割り込みを受け付けた前記上位装置は、前記評価対象回路から、前記上位装置からの前記アクセスに対応する動作結果と前記競合テスト用の所定の命令の動作結果とを読み出し、競合評価を行う、ことを特徴とする請求項１１又は１２記載のテスト方法。
【請求項１４】
１回目のテストでは、前記テスト回路に前記競合評価開始アクセスが到来してから予め定められた時間であるウェイト初期値経過後、前記アクセスに対する動作が前記評価対象回路で実行され、
前記テスト回路において、前記競合評価開始アクセスが到来してから前記ウェイト初期値経過時点で、前記競合テスト用の所定の命令を、前記評価対象回路に投入し、
２回目以降のテストでは、前記テスト回路において、前記競合テスト用の所定の命令を、前記競合評価開始アクセスが到来してから前記ウェイト初期値に単位時間ずつ遅らせたタイミングで前記評価対象回路に投入する、ことを特徴とする請求項９乃至１３のいずれか１項に記載のテスト方法。
【請求項１５】
前記評価対象回路と前記評価対象回路の競合評価を行う前記テスト回路が、同一あるいは異なるＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）チップ上に搭載され、同一クロックで動作することを特徴とする請求項９乃至１４のいずれか１項に記載のテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置のテスト技術に関し、特に、タイミング競合テストに好適な半導体装置とテスト方法に関する。
【背景技術】
【０００２】
ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）で実現されたマクロ等に対するアクセスのタイミング競合条件の評価を行う場合、一般に、シミュレーション等が用いられる。タイミング競合の評価は、典型的には、ＣＰＵ等上位装置から評価対象マクロに対して発行されたアクセス要求（命令、コマンド）に対して、当該評価対象マクロにおいて共通資源等の競合が発生するように別のアクセス要求（命令、コマンド）を当該評価対象マクロに与え、当該評価対象マクロでのアクセス要求の実行状況を評価することで行われる。
【０００３】
なお、ＦＰＧＡのテストに関して、例えば特許文献１には、テスト時間の短縮化を目的として、テスト回路として任意の論理を書き換え可能な可変論理回路（ＦＰＧＡ）を複数用いる。図６において、テスト内容を実行可能なテスト回路ＦＰＧＡａ／ｂ／ｃ（１１−１３）を搭載し、ＭＵＸ（１０）がこれらの１つとテスト対象である半導体集積回路（１７）を接続し、テストを行う。テスト実行中に、テストを実行していないＦＰＧＡに１４または１５経由でテスト内容を書き込むことによりプログラム書き換え時間を無視することが可能になり、結果的にテスト時間の短縮を実現できる。しかしながら、テストプログラムの書き換えを並行に行うことでテスト時間が短縮された分、テストプログラムの微調整は可能になるが、タイミング競合評価については全く記載されていない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３６３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以下に関連技術の分析を与える。
【０００６】
シミュレーションを用いてタイミング競合評価を行う場合、時間がかかる。このため、ＦＰＧＡを用いたテスト装置でのタイミング競合評価の実現が望まれる。
【０００７】
したがって本発明の目的は、シミュレーション等を用いた場合と較べて、評価に要する時間を短縮し、タイミング競合評価の実現を可能とする装置とテスト方法を提供することにある。
【課題を解決するための手段】
【０００８】
前記課題を解決するため本発明は概略以下の構成とされる。
【０００９】
本発明によれば、上位装置から評価対象回路に対するアクセスを監視し、予め定められた競合評価開始アクセスの到来を検出すると、競合テスト用に予め記憶保持している所定の命令を、前記上位装置からの前記アクセスに対して所定のタイミング関係にて前記評価対象回路に投入するテスト回路を備えた半導体装置が提供される。
【００１０】
本発明によれば、前記テスト回路が、前記アクセスに対する前記評価対象回路の動作開始から終了直前までのタイミング区間の一部又は全範囲にわたって、前記評価対象回路に対する前記競合テスト用の命令の投入のタイミングを可変させる回路を備えている。
【発明の効果】
【００１１】
本発明によれば、シミュレーション等を用いた場合と較べて、評価に要する時間を短縮し、半導体装置のタイミング競合評価を可能としている。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の一実施形態のテストマスタの構成を示す図である。
【図３】本発明の一実施形態のタイミング動作を示す図である。
【図４】本発明の一実施形態の動作手順を示す流れ図である。
【図５】本発明の一実施例を説明する図である。
【図６】特許文献１の構成を示す図である。
【発明を実施するための形態】
【００１３】
本発明の実施形態について説明する。本発明において、半導体装置は、ＣＰＵ等の上位装置から評価対象回路（評価対象）に対するアクセスを監視し、予め定められた競合評価開始アクセスの到来を検出すると、競合テスト用に予め記憶保持している所定の命令を、前記上位装置からの前記アクセスに対して所定のタイミング関係にて前記評価対象回路に投入するテスト回路（テストマスタ）を備え、これまで実現されていないタイミング競合評価を実現する。
【００１４】
図１は、本発明の一実施形態の半導体装置の構成を示す図である。テスト装置１００は、ＦＰＧＡで構成され、ＣＰＵ２００とバス２１０で接続される。テスト装置１００は、アクセスのタイミング競合条件を評価するテスト（「競合評価テスト」という）を実行するテストマスタ１１０と、テストマスタ１１０と接続された評価対象マクロ１２０を備える。評価対象マクロ１２０は、例えば通信マクロ、信号処理マクロ等、ＦＰＧＡ製品本来の機能を実現するマクロである。図１に示した一実施形態では、テストマスタ１１０は、評価対象マクロ１２０と同一のＦＰＧＡ内に組み込まれているが、本発明はかかる構成に制限されるものでない。例えばテストマスタ１１０を、評価対象マクロ１２０と異なるＦＰＧＡに搭載してもよいことは勿論である（好ましくは、共通のクロックで駆動される）。
【００１５】
テストマスタ１１０は、競合評価テストの実行時、ＣＰＵ２００からの評価対象マクロ１２０へのアクセス（コマンド）に対して、該アクセスに競合させるアクセス（コマンド）を生成して、評価対象マクロ１２０に与える。また、テストマスタ１１０は、ＣＰＵ２００に対して競合評価完了割り込みをかける。
【００１６】
テストマスタ１１０は、ＣＰＵ２００からの評価対象マクロ１２０へのアクセス（コマンド）にぶつける評価用のアクセスを、タイミングをずらして生成する。
【００１７】
評価対象マクロ１２０に対して競合タイミングをそれぞれ変化させた場合のそれぞれの動作結果をＣＰＵ２００で解析することで、評価対象マクロ１２０の競合評価を可能としている。評価対象マクロ１２０がアクセス競合のタイミング如何によっては、アクセス性能が劣化し、所定の基準を満たさなくなる場合、本発明によって競合のタイミング条件を検出することができる。
【００１８】
図２は、テストマスタ１１０の構成の一例を示す図である。図２を参照すると、テストマスタ１１０は、デコーダ１１１と、セレクタ１１２と、動作Ｂ命令記憶部１１３と、ウェイトプラス１（ｗａｉｔ＋１）手段１１４と、割り込み発生回路１１５を備えている。
【００１９】
デコーダ１１１は、ＣＰＵ２００からのバスアクセス１３０を入力する。ＣＰＵ２００から評価対象マクロ１２０に投入されるアクセス（コマンド、命令）は、ＣＰＵ２００からバスアクセス１３０として転送され、セレクタ１１２を介して、評価対象マクロ１２０に出力される。デコーダ１１１は、バスアクセス１３０として転送されるＣＰＵ２００からのアクセスを入力してデコードする（監視する）。デコーダ１１１は、デコードの結果、競合評価開始アクセスを認識すると、競合評価開始アクセス１１６を、ウェイトプラス１（ｗａｉｔ＋１）手段１１４とセレクタ１１２に出力する。
【００２０】
セレクタ１１２は、デコーダ１１１によるデコード結果（競合評価開始アクセス１１６）を、選択制御信号として入力し、競合評価開始アクセスの到来が検出された場合以外、ＣＰＵ２００からのバスアクセス１３０を選択し、そのまま評価対象マクロへのアクセス１４０として、評価対象マクロ１２０に出力する。
【００２１】
セレクタ１１２は、ＣＰＵ２００から競合評価開始アクセスが到来した場合、競合評価開始アクセス１１６の活性化を受け、評価対象マクロ１２０の競合評価用に用いられる動作Ｂ命令を選択し、評価対象マクロへのアクセス１４０として、評価対象マクロ１２０に出力する。なお、ＣＰＵ２００からの評価対象マクロ１２０に対するアクセスを、便宜上、「動作Ａ」といい、当該動作Ａに対して、テストマスタ１１０によってタイミング競合テスト用に挿入されるアクセスを「動作Ｂ」という。そして、評価対象マクロ１２０に動作Ｂを実行させる命令を「動作Ｂ命令」という。
【００２２】
テストマスタ１１０にＣＰＵ２００から競合評価開始アクセスが到来した場合、セレクタ１１２は、競合評価開始アクセスを選択してそのまま評価対象マクロ１２０に供給し、つづいて、当該競合評価開始アクセスをデコーダ１１１でデコーダした結果に基づき、ウェイトプラス１（ｗａｉｔ＋１）手段１１４で規定される所定のタイミングで、動作Ｂ命令が評価対象マクロ１２０に供給される。
【００２３】
動作Ｂ命令記憶部１１３には、この動作Ｂ命令が予め記憶されている。動作Ｂ命令記憶部１１３に記憶された動作Ｂ命令は、ＣＰＵ２００からの競合評価開始アクセスの到来時（競合評価開始アクセス１１６の活性化時）、ウェイトプラス１（ｗａｉｔ＋１）手段１１４で設定されたタイミングで読み出され、セレクタ１１２で選択される。
【００２４】
ウェイトプラス１（ｗａｉｔ＋１）手段１１４（タイマカウンタ）は、ＣＰＵ２００から競合評価開始アクセスが到来すると（競合評価開始アクセス１１６の活性化時）、現在のウェイト（ｗａｉｔ）に評価対象マクロ１２０のクロックの１クロックサイクル分の遅延を加算する（ｗａｉｔ＋１）。そして、競合評価開始アクセスの到来時点から、当該（ｗａｉｔ＋１）サイクルの遅延時間経過後に、セレクタ１１２（このとき、セレクタ１１２は動作Ｂ命令を選択する）を介して、動作Ｂ命令を評価対象マクロ１２０に与える。なお、テストマスタ１１０は、評価対象マクロ１２０のクロックを入力するか、あるいは、評価対象マクロ１２０のクロックとテストマスタ１１０のクロックとはＦＰＧＡ内の共通の内部クロックとしてもよい。
【００２５】
割り込み発生回路１１５（カウンタ）は、競合評価開始アクセス到来から競合テスト期間ｎ（評価対象マクロ１２０において動作Ａ、及び、動作Ｂの実行が終了するまでの時間）が終了すると、ＣＰＵ２００に対して、競合評価完了割り込みを出力する。すなわち、割り込み発生回路１１５は、競合評価開始アクセス到来時点から、ウェイト（ｗａｉｔ）時間、動作Ａ、Ｂの実行時間を加算した時間（競合テスト期間）分のクロックサイクル数が経過したのち競合評価完了割り込みを出力する。割り込み発生回路１１５（カウンタ）は、例えば、競合評価開始アクセス到来から競合テスト期間分のクロックサイクル数をカウントするカウンタを備え、競合テスト期間分のクロックサイクル数をカウントした時点で、ＣＰＵ２００に対して、競合評価完了割り込みをかける。
【００２６】
ＣＰＵ２００は、テストマスタ１１０からｉ回目の競合評価完了割り込みを受けると、評価対象マクロ１２０に対して、（ｉ＋１）回目（ただし、ｉ＋１≦ｎ）の競合評価開始アクセス（動作Ａ）を行う。ただし、（ｉ＋１）＞ｎのとき、競合テストは終了する。
【００２７】
図３は、本実施形態におけるタイミング競合評価を模式的に示す図である。図３には、評価対象マクロ１２０のクロックと、ＣＰＵ２００からのアクセス（動作Ａ）のタイミングと、テストマスタ１１０からの競合アクセス（動作Ｂ）のタイミング、テストマスタ１１０で生成される競合評価完了割り込みのタイミングを、１回目、２回目、・・・ｎ回目のそれぞれについて示している。
【００２８】
図３において、動作Ａの一端（左端）は、ＣＰＵ２００からテストマスタ１１０を介して評価対象マクロ１２０に投入されたアクセスである動作Ａのタイミングに対応する。一方、図３の動作Ｂの一端（左端）は、テストマスタ１１０からの動作Ｂ命令の評価対象マクロ１２０への投入タイミングに対応する。初期ｗａｉｔ値（初期ウェイト値）は、ＣＰＵ２００の該競合評価開始アクセスがテストマスタ１１０に到来し、評価対象マクロ１２０に供給した後、評価対象マクロ１２０において該アクセスに対応する動作Ａを開始するまでの時間である。
【００２９】
なお、図３では、簡単のため、動作Ａと動作Ｂとが並列に表現されているが、必ずしも、動作Ａと動作Ｂは並列動作しなくてもよい。動作Ａと動作Ｂとが、評価対象マクロ１２０において共通の１つの資源に関して競合する場合、評価対象マクロ１２０内の不図示のアービタ回路、スケジューラ等の制御のもと、適宜、待機、あるいは時分割処理等、スケジューリング実行するようにしてもよいことは勿論である。また、評価対象マクロ１２０において、動作Ａ、動作Ｂそれぞれのアクセス要求(命令)が投入された時点で、動作Ａ、動作Ｂをただちに実行するようにしてもよいし、あるいは、しなくてもよい（例えば動作Ｂ命令の投入時、動作Ａを実行中の場合、動作Ｂの実行を待機又はサスペンドするようにしてもよい）。あるいは、ＣＰＵ２００からのアクセス要求に対応した動作Ａをテストマスタ１１０からの動作Ｂ命令に対応した動作Ｂに対して優先するようにしてもよいし、テスト仕様によっては、逆に動作Ｂを動作Ａに優先するようにしてもよい。
【００３０】
ＣＰＵ２００から１回目の競合評価開始アクセスが到来した後、テストマスタ１１０上に設定された、初期ｗａｉｔ値経過後、動作Ｂ命令がセレクタ１１２を介して、評価対象マクロ１２０に投入される。評価対象マクロ１２０において、動作Ａは、テストマスタ１１０に競合評価開始アクセスが到来した後、初期ｗａｉｔ値後に実行されるため、１回目のテストでは、評価対象マクロ１２０において動作Ａの実行開始と同時に、動作Ｂ命令が投入される。１回目のテストにおいて、競合評価開始アクセス到来後のウェイトプラス１（ｗａｉｔ＋１）手段１１４でのウェイト時間は、初期ｗａｉｔ値となる。
【００３１】
競合評価開始アクセスの到来後、テストマスタ１１０に設定された競合テスト期間が経過するか、または、評価対象マクロ１２０から、動作Ａの終了を示すバスアクセスがテストマスタ１１０に入力された場合、テストマスタ１１０は、ＣＰＵ２００に競合評価完了割り込みを出力する。
【００３２】
競合テスト期間の経過は、テストマスタ１１０の割り込み発生回路１１５で評価対象マクロのクロックサイクル数をカウントし、カウント値が所定値に達した場合、割り込み発生回路１１５は、ＣＰＵ２００に競合評価完了割り込みを出力する。あるいは、割り込み発生回路１１５で評価対象マクロのクロックサイクル数をカウント中に、評価対象マクロ１２０から、動作Ａの終了を示すバスアクセスがテストマスタ１１０に入力された場合、割り込み発生回路１１５はクロックサイクルのカウント動作を停止し、ＣＰＵ２００に競合評価完了割り込みを出力する。あるいは、動作Ａは動作Ｂよりも処理に要するクロックサイクル数が長いことを前提としている。あるいは、評価対象マクロ１２０から、動作Ａと動作Ｂの両者の終了を示すバスアクセスがテストマスタ１１０に入力された場合、割り込み発生回路１１５はクロックサイクルのカウント動作を停止し、ＣＰＵ２００に競合評価完了割り込みを出力するようにしてもよい。
【００３３】
ＣＰＵ２００は、テストマスタ１１０から競合評価完了割り込みを受け付けると、評価対象マクロ１２０の動作Ａと動作Ｂの結果を読み出し、評価対象マクロ１２０で動作Ａ、動作Ｂが正しく行われたか否かをチェックする。評価対象マクロ１２０は、動作Ａと動作Ｂの結果を、不図示の記憶部に保持しているものとする。
【００３４】
動作Ａと動作Ｂは、ともにＲＡＭ（ランダムアクセスメモリ）のような共通の資源にアクセスする調停済み（アクセス競合が調停された）の動作である。特に制限されないが、動作Ａは比較的時間のかかるバスアクセス、動作Ｂは例えば単発のアクセスとする。
【００３５】
２回目のテストでは、ＣＰＵ２００から競合評価開始アクセスが到来すると、テストマスタ１１０では、デコーダ１１１で競合評価開始アクセスの到来を検出し、ウェイトプラス１（ｗａｉｔ＋１）手段１１４により、ウェイト時間として、初期ｗａｉｔ値に、評価対象マクロ１２０のクロックの１クロックサイクル分の時間を加算する。そして、動作Ｂ命令は、評価対象マクロ１２０において動作Ａを開始してから、評価対象マクロ１２０の１クロックサイクル分遅延した時点で、テストマスタ１１０のセレクタ１１２を介して、評価対象マクロ１２０に投入される。テストマスタ１１０は、競合テスト期間が終了するか、動作Ａの終了を示すバスアクセスが到来すると、ＣＰＵ２００に対して競合評価完了割り込みを出力する。ＣＰＵ２００は、テストマスタ１１０から競合評価完了割り込みを受けてから、評価対象マクロ１２０の動作Ａと動作Ｂの結果を読み出し、評価対象マクロ１２０において動作Ａ、動作Ｂが正しく行われたか否かをチェックする。
【００３６】
ＣＰＵ２００から３回目の競合評価開始アクセスが到来すると、テストマスタ１１０では、デコーダ１１１競合評価開始アクセスの到来を検出し、ウェイトプラス１（ｗａｉｔ＋１）手段１１４により、ウェイト時間として、初期ｗａｉｔ値に、評価対象マクロ１２０のクロックの２クロックサイクル分の時間を加算する。そして、動作Ｂ命令は、評価対象マクロ１２０において動作Ａを開始してから、評価対象マクロ１２０の２クロックサイクル分遅延した時点で、テストマスタ１１０のセレクタ１１２を介して、評価対象マクロ１２０に投入される。テストマスタ１１０は、競合テスト期間が終了するか、動作Ａの終了を示すバスアクセスが到来すると、ＣＰＵ２００に対して競合評価完了割り込みを出力する。ＣＰＵ２００はテストマスタ１１０から競合評価完了割り込みを受けると、評価対象マクロ１２０での動作Ａ、動作Ｂの実行結果ビットを読み出し、評価対象マクロ１２０で動作Ａ、動作Ｂが正しく行われたか否かをチェックする。
【００３７】
ＣＰＵからｎ回目の競合評価開始アクセスが到来した後、テストマスタ１１０に設定した、初期ウェイト値＋（ｎ−１）クロックサイクル経過後、動作Ｂ命令が、セレクタ１１２を介して評価対象マクロ１２０に供給される。テストマスタ１１０は、競合テスト期間が終了するか、動作Ａの終了を示すバスアクセスが到来すると、ＣＰＵ２００に対して競合評価完了割り込みを出力する。ＣＰＵ２００は、テストマスタ１１０から競合評価完了割り込みを受けると、評価対象マクロ１２０での動作Ａ、動作Ｂの実行結果ビットを読み出し、評価対象マクロ１２０において、動作Ａ、動作Ｂが正しく行われたか否かをチェックする。
【００３８】
なお、テストマスタ１１０のウェイトプラス１（ｗａｉｔ＋１）手段１１４により、動作Ｂ命令の評価対象マクロ１２０への投入タイミングを１クロックサイクルずつ遅らせ、ｎ回目のテストでは、動作Ａの開始時点（初期ｗａｉｔ値）から（ｎ−１）クロックサイクル遅れて動作Ｂ命令の評価対象マクロ１２０へ投入される。
【００３９】
図３に示すように、動作Ａの開始時点（競合評価開始アクセスの到来から初期ｗａｉｔ値経過時点）からｎクロックサイクルで動作Ａが終了する。すなわち、上記実施形態では、動作Ａの開始時点から終了直前の各クロックサイクルまでの全時間範囲で、動作Ｂ命令の投入時刻を１クロックサイクル単位に遅らせて、順次、競合評価を行っている。このようにすることで精度良く競合評価を行うとともに、競合評価に要する時間をシミュレーションによる場合と比較して特段に短縮している。なお、本実施例においては、動作Ｂ命令の投入時刻を最小分解能の１クロックサイクルでなく、２クロックサイクル単位、あるいはそれ以上の時間単位で遅らせるようにしてもよいことは勿論である。あるいは、動作Ａの開始時点から終了直前の各クロックサイクルまでの時間範囲で、動作Ｂ命令の投入を、時間軸上、前から後ろでなく、後ろから前に変化させるようにしてもよい。
【００４０】
図４は、本実施形態における評価対象マクロのタイミング競合評価の処理手順を示す流れ図である。なお、図４には、競合評価開始アクセステスト１回分の処理手順が示されており、図３のように、ｎ回のテストを実行する場合、図４の処理がｎ回繰り返される。
【００４１】
図４を参照すると、テストマスタ１１０は、ＣＰＵから競合評価開始アクセスが到来する（ステップＳ１）。テストが一回目の場合（ステップＳ２のＹＥＳ）、テストマスタ１１０は、初期ｗａｉｔ値後に動作Ｂ命令を投入する（ステップＳ３）。一定時間（競合テスト期間）後、テストマスタ１１０が競合評価完了割り込みを発行する（ステップＳ４）。テストマスタ１１０が出力する競合評価完了割り込み後、ＣＰＵ２００が、動作Ａ及び動作Ｂの実行結果ビットを読み出す（ステップＳ５）。テストマスタ１１０は、ｗａｉｔ値に１クロックサイクル分の遅延を加算する（ステップＳ６）。つづいて２回目以降、ステップＳ１からの処理が実行される。テストマスタ１１０は、競合評価開始アクセス到来以外は、ＣＰＵ２００のデータをそのまま評価対象マクロに出力する。テストマスタ１１０は、競合評価開始アクセスが到来すると、該到来から動作Ａ開始までの時間に合わせて設定された初期ｗａｉｔ値の後、評価対象マクロで動作Ａと動作Ｂの競合評価を実行する。競合評価開始アクセス到来後、テストマスタ１１０に設定された競合テスト期間が経過するか、又は、動作Ａの終了を示すバスアクセスが到来することで、テストマスタ１１０はＣＰＵに、競合評価完了割り込みを出力する。ＣＰＵ２００はこの割り込みを受けてから、動作Ａと動作Ｂの結果を読み出し、結果の判定を行う。競合評価開始アクセスが到来する度に動作Ｂの実行を評価対象マクロの１クロックサイクル分遅らせて、競合評価が行なわれる。
【００４２】
本発明によれば、関連技術等では、実現不可能とされたタイミング競合評価を可能とし、動作Ｂ命令の投入タイミングを制御することで、ランダムな競合評価開始にも対応可能である。
【００４３】
次に本発明の一実施例として、図１の評価対象マクロ１２０を通信マクロとした場合について図５を参照して説明する。本実施例において、動作Ａは、通信マクロの送信動作とする。ＣＰＵ２００から通信マクロ１２１に送信命令が来ると、通信マクロ１２１は、ＲＡＭ１２２内のメッセージバッファレジスタの中から、送信候補となるメッセージを検索し、検索された送信候補のメッセージの中から送信メッセージを決定し、決定したメッセージを送信する。動作Ａのほとんどの期間、通信マクロ１２１はＲＡＭ１２２にアクセスし、送信候補の検索を行う。動作Ａの送信動作の結果は、通信マクロ１２１からのＡＣＫ（肯定応答）等が送信されたか否かで判定する。
【００４４】
動作Ｂは、ＲＡＭ１２２内の所定ビットを書き換える動作とする。動作ＢのＲＡＭ１２２に対するアクセスは、動作ＡによるＲＡＭ１２２の検索動作Ａと、競合する。テストマスタ１１０が通信マクロ１２１に書換命令が来ると、通信マクロ１２１は、ＲＡＭ１２２にアクセスする。動作Ｂによる書換結果の成否は、対象ビットが正しく書き換えられているか否かで判定することができる。
【００４５】
本実施例では、動作Ａのどの時点（評価対象マクロのクロックサイクル単位）で動作Ｂが割り込んでも、動作Ａと動作Ｂがともに正常に終了するかを評価することができる。また、動作Ａのどの時点（評価対象マクロのクロックサイクル単位）で動作Ｂが割り込むと、いずれかが異常終了するかも評価することができる。
【００４６】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００４７】
２  テスト装置
１０  マルチプレクサ（ＭＵＸ）
１１〜１３  ＦＰＧＡ−ａ〜ｃ
１７  半導体集積回路  
１００  テスト装置（ＦＰＧＡ）
１１０  テストマスタ
１１１  デコーダ
１１２  セレクタ
１１３  動作Ｂ命令記憶部
１１４  ウェイトプラス１（ｗａｉｔ＋１）手段
１１５  割り込み発生回路（カウンタ）
１１６  競合評価開始アクセス  
１２０  評価対象マクロ
１２１  通信マクロ
１２２  ＲＡＭ
１３０  バスアクセス
１４０  テストマスタと評価対象マクロとのアクセス  
１５０  競合評価完了割り込み
２００  ＣＰＵ
２１０  バス
【図１】
2011047826.tif 000003
【図２】
2011047826.tif 000004
【図３】
2011047826.tif 000005
【図４】
2011047826.tif 000006
【図５】
2011047826.tif 000007
【図６】
2011047826.tif 000008