JP2002358249A - デバイスのバス・プロトコル準拠試験方法およびシステム - Google Patents

デバイスのバス・プロトコル準拠試験方法およびシステム

Info

Publication number
JP2002358249A
JP2002358249A JP2002098913A JP2002098913A JP2002358249A JP 2002358249 A JP2002358249 A JP 2002358249A JP 2002098913 A JP2002098913 A JP 2002098913A JP 2002098913 A JP2002098913 A JP 2002098913A JP 2002358249 A JP2002358249 A JP 2002358249A
Authority
JP
Japan
Prior art keywords
test
bus
compliance
protocol
configuration file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002098913A
Other languages
English (en)
Other versions
JP4112886B2 (ja
Inventor
Andrew Mark Nightingale
マーク ナイティンゲイル アンドリュー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Ltd
Original Assignee
ARM Ltd
Advanced Risc Machines Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB0109283.2A external-priority patent/GB0109283D0/en
Application filed by ARM Ltd, Advanced Risc Machines Ltd filed Critical ARM Ltd
Publication of JP2002358249A publication Critical patent/JP2002358249A/ja
Application granted granted Critical
Publication of JP4112886B2 publication Critical patent/JP4112886B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【課題】 デバイスのバス・プロトコル準拠性を試験す
る特に使い易く効率的な方式を提供する。 【解決手段】 本方法は、デバイスのタイプおよびデバ
イスの機能を規定する予め定められたパラメータを含む
コンフィギュレーション・ファイルを読み込み、次に、
コンフィギュレーション・エンジンを採用して、前記コ
ンフィギュレーション・ファイルに従って選ばれ、バス
を介してデバイス表現と接続されることによって試験環
境を生成する試験部品を生成することによって前記デバ
イスのための試験環境を動的に生成する工程を含む。次
に、テスト・シーケンスを実行させ、その間に前記デバ
イス表現と1個以上の前記試験部品との間で受け渡され
る信号をモニタして、前記バス・プロトコルへの準拠性
を示す結果のデータを作成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデバイスのバス・プ
ロトコル準拠を試験するための方法およびシステムに関
する。
【0002】
【従来の技術】システムに統合するための部品を開発す
る場合、その部品がシステムに統合されたときに所定の
動作をするかどうかを確認するために複数の試験手順が
実行されるのが普通である。しばしばシステムは1以上
のバスを介して互いに接続された複数個の個別部品で構
成される。バス仕様が各部品に標準インタフェースを提
供することによって、部品供給業者はその部品を最終的
に統合するシステムに関する知識なしでもその部品を設
計および試験できる場合が多い。
【0003】しかし、システム内で特別なバス仕様に従
うバスへ接続する部品を開発する場合には、その部品
が、その定義されたバス仕様に従うそのバスとインタフ
ェースすることをチェックする必要があるのは明らかで
ある。
【0004】ハード的な部品開発は複数の段階を経て行
なわれるのが一般的である。まず最初に、その部品の機
能的な動作/ビヘイビアが、例えばレジスタ・トランス
ファ・ランゲージ(RTL)を使用して定義される。広
く用いられる2つのRTLはVHDLおよびVeril
ogである。更に、そのようなRTLコーディングの前
に、設計意図が正しいことをトランザクション・レベル
で検証するために、UML(ユニバーサル・モデリング
・ランゲージ)を用いてビヘイビア・モデルを構築して
も良い。
【0005】一旦ハードウエア部品のRTL表現が開発
されれば、次にこれを複数個の既知の合成ツールの任意
のものを用いて一連のハードウエア要素の形に合成す
る。次に、この合成で得られるハードウエア設計を用い
て、例えばシリコン上へ部品を適切に作製することによ
って実際のハードウエア部品が作製される。部品が実際
にハードウエアの形に実現された後でその部品に対して
試験手順を施すのは明らかにコストを要するので、その
代わりに、RTL表現から生成される実際のハードウエ
アが正しく動作することを確認するために、部品のRT
L表現に対して厳格な試験を行なうのが一般的である。
【0006】従って、1つの部品が既知のバス仕様と正
しくインタフェースすることをチェックするプロセスが
部品のRTL表現に対して適用され、それがバス仕様に
定義されたバス・プロトコルに従っていることをチェッ
クするようになっている。そのようなプロトコル・チェ
ックを実行する複数の方法が知られている。
【0007】まず、その中に被験デバイス(DUT)と
呼ぶ試験すべき部品のRTL表現を含むRTLテストベ
ンチを生成することができる。次に、その他のデバイス
のRTL表現も準備され、バスを介してDUTのRTL
表現と互いにつながれてRTLテストベンチ内にシステ
ム・シミュレーションが生成される。次に、1つのデバ
イスから別のデバイスへスティミュラスが与えられて、
その結果の波形が目で見える形で観測されるか、あるい
はシステム・シミュレーションに統合される自己点検機
構またはモジュールによって観測される。このプロセス
はバス・プロトコルで定義されたトランザクションをチ
ェックできるし、また一般的にすべてのバス・プロトコ
ル・トランザクションが正しく記録されるまでそのチェ
ックを徹底的に繰り返すことができる。
【0008】上で述べたRTLテストベンチでバス・プ
ロトコル準拠をチェックするために利用できる別の方法
は、RTLで精巧なバス・フォロワを構築し、次にバス
・トラフィックをモニタすることによってバス・フォロ
ワ内部のステート・マシンが任意の有効なポイントにお
いて実際のシステム・シミュレーションで観測されるも
のと合致することを確認するものである。
【0009】準拠性をチェックする別の代替法はインテ
グレーション試験コードを使用するもので、マスタ・デ
バイスに対してスレーブ・デバイスへのバス上で読出し
および書込みトランザクションを実行させ、次に目標デ
ータが正しく読出しおよび/または書込みされたことを
チェックするものである。マスタ・デバイスはバスを介
してトランスファ要求を発行するように設計されたデバ
イスであると考えることができ、またスレーブ・デバイ
スはそのようなトランスファ要求の受け手のデバイスで
あると考えることができる。一例として、プロセッサ・
コアはマスタ・デバイスとして使用され、メモリからイ
ンテグレーション試験コードを読み出すように、またそ
の後でバス・プロトコル準拠性をチェックするために予
め定められた一連の読出しおよび書込みトランザクショ
ンを実行する試験コードを実行するように構成すること
ができる。そのようなコード・シーケンスはデバイス間
の調停を引き起こし、またバス・プロトコルのその他の
仕様をチェックするためにデバイスからの特定の応答を
誘発するためにも実行することができる。このやり方
は、一般に比較的低速であること、またバス・プロトコ
ルを直接的にモニタせずに、バスを介して誘発されたア
クションの結果をモニタすることでバス・プロトコル準
拠性について仮定する点で既に述べた2つの方法に比べ
て満足度は劣る。それにも拘らず、このやり方はバス上
でのデバイス相互接続を試験する形式として現在でも使
用されている。
【0010】先に述べたRTLテストベンチ方式の代わ
りに使用できるプロトコル・チェックを実行する別の既
知の方法は、例えばVeraまたはSpecmanのよ
うなHVL(ハイレベル・ベリフィケーション・ランゲ
ージ)開発ツールを使用してアブストラクト・レベルで
バス・トランザクションをモニタするものである。シス
テム・シミュレーション中の各デバイスのRTL表現を
生成する代わりに、それをRTLで書き下ろすことなし
に、HVL開発ツールを用いてデバイスをモデル化でき
る。次にそれは例えば開始されたトランスファや進行中
のトランスファ等のアブストラクト情報を記録すること
によってバス・トランザクションをモニタすることがで
きる。
【0011】
【発明の解決しようとする課題】当業者には理解される
ように、上述の方法の任意のものを用いる場合でも、特
に例えば、各デバイスの多数のコンフィグレーションお
よび機能を考慮すると、インクリメント・バーストのみ
をサポートするマスタ・デバイスや書込みトランザクシ
ョンを受け付けないスレーブ・デバイスのように、特別
なマスタ・デバイスやスレーブ・デバイス、あるいはマ
スタ・デバイスとスレーブ・デバイスとの組合せを試験
するプロセスは時間の掛かるプロセスである。最初の2
つの方法について考えると、これらのパラメータを提供
するためにスティミュラス発生またはRTLバス・フォ
ロワに対して一定のコンフィギュレーションを追加する
ことはできるが、それでもRTLテストベンチは例えば
VHDLやVerilogのような特別なRTLで表現
したDUTのみを試験できるのが普通である。従って、
一例として、VerilogDUT用にVerilog
テストベンチを構築すれば、そのDUTのVHDLバー
ジョンを検証するためにVHDLテストベンチも必要に
なるのが普通である。更に、バス・ハンドオーバやアー
リー・バースト・ターミネーションのような特定のバス
活動が必要となれば、専用のRTLなしにそのタスクの
実行を励起することは極めて困難で、デバイスを設計お
よび検証するために要する時間が更に追加されることに
なる。
【0012】HVL開発ツール方式はRTL言語依存性
の問題を軽減するが、要求されるチェック・ルーチンを
実現するためには高度な技能が必要である。更に、その
ようなチェック・ルーチンが再利用できるようにライブ
ラリ・モジュールとして実現できたとしても、各々のチ
ェック環境のコンフィギュレーションおよびデバッグは
必要である。
【0013】従って、デバイスのバス・プロトコル準拠
を試験するための進歩した方法を提供することが望まし
い。
【0014】
【課題を解決するための手段】第1の態様から眺める
と、本発明はデバイスのバス・プロトコル準拠を試験す
る方法を提供し、その方法は:(a)そのデバイスのタ
イプおよびそのデバイスの機能を規定する予め定められ
たパラメータを含むコンフィギュレーション・ファイル
を読み出す工程;(b)コンフィギュレーション・エン
ジンを採用して、前記コンフィギュレーション・ファイ
ルに従って選ばれ、バスを介してデバイス表現と接続さ
れる試験部品を生成することによってデバイス用の試験
環境を動的に生成する工程;(c)テスト・シーケンス
を実行させる工程;および(d)テスト・シーケンスの
実行中に前記デバイス表現と1個以上の前記試験部品と
の間で受け渡される信号をモニタすることによってバス
・プロトコル準拠性を表示する結果のデータを生成する
工程;を含む。
【0015】本発明に従えば、デバイスのタイプおよび
そのデバイスの機能を規定する予め定められたパラメー
タを含むコンフィギュレーション・ファイルが用意さ
れ、次に、バスを介してデバイス表現とつながれて試験
環境を生成するための選ばれた試験部品を生成すること
によって、試験すべきデバイス用の試験環境が動的に生
成される。試験部品はコンフィギュレーション・ファイ
ルに従って選ばれる。次に、テスト・シーケンスを実行
でき、テスト・シーケンスの実行中に、デバイス表現と
1個以上の試験部品との間で受け渡される信号をモニタ
してバス・プロトコル準拠性を表示する結果のデータを
生成することができる。
【0016】従って、本発明に従えば、コンフィギュレ
ーション・ファイルに定義された被験デバイス(DU
T)に関連する試験環境が自動的に生成される。コンフ
ィギュレーション・エンジンは多様な異なる試験部品に
アクセスし、コンフィギュレーション・ファイルに含ま
れる情報に基づいて、試験環境へ取り込むために選択で
きることが好ましい。例えば、コンフィギュレーション
・ファイルが試験すべきデバイスをマスタ・デバイスと
指定してあれば、コンフィギュレーション・エンジンは
試験環境中にデコーダ、アービタ、複数のスレーブ・デ
バイス、およびダミー・マスタ・デバイスを生成および
コンフィギュアするように構成されよう。アービタは複
数のマスタ・デバイス間で行なわれるバス・アクセス要
求を調停するために使用され、デコーダはバス上へ発行
された任意の特定のトランスファ要求が指しているスレ
ーブ・デバイスを同定するために使用される。
【0017】1つの実施の形態では、試験部品はオブジ
ェクト指向型プログラミング(OOP)のオブジェクト
として書かれ、試験環境に含めるための試験部品を生成
する工程には、試験部品のインスタンス化(すなわち、
オブジェクトのインスタンス生成)が含まれ、このオブ
ジェクトのメソッドがインスタンス化された試験部品の
試験環境内でのビヘイビアを定義する。しかし明らかな
ように、OOP技術を使用する必要は必ずしもなく、試
験部品は任意のその他の適当なやり方で表現することが
できる。
【0018】本発明の方法に従ってデバイスの試験準備
を行なう場合、ユーザはコンフィギュレーション・エン
ジンがそのデバイスに適した試験環境を動的に生成する
ために知っておく必要があるパラメータを含むコンフィ
ギュレーション・ファイルを用意する必要がある。好適
な実施の形態では、コンフィギュレーション・ファイル
は1組のコンフィギュレーション・ファイル・テンプレ
ートから選ばれる。その組には各デバイス・タイプにつ
いてのコンフィギュレーション・ファイル・テンプレー
トが含まれ、各コンフィギュレーション・ファイルには
そのデバイスに特有なコンフィギュレーション情報を提
供するための複数のエントリが含まれる。コンフィギュ
レーション情報は多様な形態を取るが、典型的にはその
デバイスのタイプの同定、およびそのデバイスの機能を
含む。すなわち一例として、デバイスのタイプはマス
タ、スレーブ、アービタ、デコーダ等と指定される。デ
バイスの機能は、例えば、そのデバイスがサポートする
必要のあるバス・プロトコルのサブセットを指定する。
すなわち、DUTは必ずしもそのバスの性能のすべてを
利用する必要はなく、デバイスによって利用されないバ
ス・プロトコル部分に関する準拠性を試験する必要はな
い。
【0019】デバイスのタイプおよびデバイスの機能に
加えて、コンフィギュレーション・ファイル中のその他
のコンフィギュレーション情報には、DUT内で使用さ
れる信号名がバス仕様の信号名とどのように対応するか
を示す信号マップのほかに、例えば、デバッグやシステ
ム環境設定に関連する一般的なテストベンチ・パラメー
タが含まれる。
【0020】明らかなように、テスト・シーケンス実行
中にデバイス表現と1個以上の試験部品との間で受け渡
される信号をモニタするために使用できる複数のプロセ
スが存在する。好適な実施の形態では、このモニタ工程
には、プロトコル・チェック・コンポネントを採用し
て、テスト・シーケンス実行中にデバイス表現と1個以
上の試験部品との間で受け渡される信号が、バス・プロ
トコルの予め定められた1組の規則に違反しないことを
チェックする工程が含まれる。そのようなプロトコル・
チェックには、被験デバイスが予め定められた1組の規
則に従うことを確認するためのサイクル毎のチェックが
含まれる。試験されるデバイスはそれがバス・プロトコ
ルに準拠すると判断されるためには、それらの規則のい
ずれにも違反してはならない。典型的は、予め定められ
た規則の組は試験されるデバイスに拘わらず同一であ
り、従って予め定められた規則の組は好適な実施の形態
のコンフィギュレーション・ファイルの内容によって影
響されない。
【0021】好適な実施の形態で採用できる別のモニタ
・プロセスは、カバレッジ・モニタ・コンポネントを採
用して、テスト・シーケンスの実行中にデバイス表現と
1個以上の試験部品との間で受け渡される信号をモニタ
して、1組のカバレッジ・ポイントが観測されるかどう
かを判定する工程を含む。カバレッジ・ポイントは典型
的には、バス・プロトコル準拠を表明する前に試験環境
内で確認すべき各種バス・トランザクションのリストで
ある。カバレッジ・ポイントの目的は、実行されるテス
ト・シーケンス(単数または複数)が試験されるデバイ
スを十分活用して準拠性が表明できることを保証するこ
とである。
【0022】好適な実施の形態では、カバレッジ・ポイ
ントの組は試験方法の工程(a)で読み出されるコンフ
ィギュレーション・ファイルに依存してコンフィギュア
される。従って、試験される任意の特定デバイスはバス
・プロトコルのすべての機能を使用しなくてもよく、カ
バレッジ・ポイントはコンフィギュレーション・ファイ
ルに基づいて、試験されるデバイスに関連するカバレッ
ジ・ポイントの組を指定するように調整することができ
る。標準的な予め定義されたバス・トランザクションの
シーケンスの代わりにカバレッジ・ポイントを使用する
ことの利点は、そうすることによって、特別なトランザ
クション・シーケンスを必要とするだけで特定デバイス
がバス・インタフェースを完全に活用することができる
ということである。
【0023】好適な実施の形態では、試験方法の工程
(d)でプロトコル・チェック・コンポネントおよびカ
バレッジ・モニタ・コンポネントの両方が使用され、そ
れによって、前記組中のすべてのカバレッジ・ポイント
がバス・プロトコルの予め定められた規則に違反せずに
観測されれば、この方法は更にバス・プロトコル準拠を
確認する出力を発生する工程を含む。この出力は、例え
ばコンフィギュレーション・ファイルに規定された元の
デバイス性能を与えた場合にバス・プロトコル準拠を保
証するチェック・サム証明のような準拠性証明の形を取
る。
【0024】先に述べたように、コンフィギュレーショ
ン・エンジンは、コンフィギュレーション・ファイルに
従って選ばれた試験部品を生成するように構成される。
好適な実施の形態では、生成すべき試験部品は試験すべ
きデバイスのタイプに従って選ばれる。このデバイス・
タイプはコンフィギュレーション・ファイルに規定され
る。
【0025】更に好適な実施の形態では、少なくとも1
つの試験部品はそれに付随してそれが示すであろう複数
のビヘイビアを有しており、ビヘイビアの選択は試験す
べきデバイスのタイプに依存してその試験部品が生成さ
れるときに決まる。例えば、試験すべきそのデバイスが
スレーブ・デバイスで、試験部品の1つとしてデコーダ
が生成される場合、好適な実施の形態では、試験すべき
デバイスの選択を解除して、別のスレーブを選択させる
ようなビヘイビアを採用する。これは明らかに、スレー
ブ・デバイスを試験するときに、デコーダに含めるべき
有用なビヘイビアである。しかし、試験すべきデバイス
がマスタ・デバイスである場合には、デコーダのこのビ
ヘイビアは関連性がなく、デコーダ試験部品のビヘイビ
ア全体から省くことができる。先に述べたように、好適
な実施の形態では、各試験部品はOOPオブジェクトと
して書かれ、それらのオブジェクトのインスタンス化
は、次に、試験環境を生成するときにコンフィギュレー
ション・エンジンによって生成される。そのような実施
の形態では、複数のビヘイビアがOOPオブジェクトの
個別メソッドとして実現され、そのメソッド(単数また
は複数)はインスタンスを作成する場合に選ばれる任意
のインスタンスに適用可能である。これをOOP用語で
は“継承”と呼ぶ。
【0026】明らかなように、工程(c)で試験方法が
実行するテスト・シーケンスは多様な形態を取ることが
できる。例えば、テスト・シーケンスは予め決められた
テスト・シーケンスの組から選ぶことができる。しか
し、好適な実施の形態では、テスト・シーケンスは試験
すべきデバイス用に特別に開発されたユーザ定義のテス
ト・シーケンスであり、試験すべきその特別なデバイス
に関連するバス・プロトコル部分への準拠性を試験する
目的を持つ。試験方法の工程(c)および(d)は、バ
ス・プロトコルとの準拠性を確定するため十分なトラン
ザクションが観測されるまで、工程(c)において毎回
テスト・シーケンスを変更または修正しながら繰り返し
てよい。
【0027】明らかなように、デバイス表現は複数のや
り方で試験環境に取り込むことができる。しかし、好適
な実施の形態では、デバイス表現はインタフェース・モ
ジュール中に生成され、試験環境を生成する前記工程
(b)にはインタフェース・モジュール中の信号を試験
環境中の信号へマッピングする工程が含まれる。このマ
ッピングはコンフィギュレーション・ファイルに定義さ
れている。インタフェース・モジュールはデバイス表現
を取り巻く“ラッパ”として機能し、試験環境の残りの
部分に対してインタフェースを提供する。
【0028】典型的には、デバイス表現はインタフェー
ス・モジュールの唯一の要素ではない。例えば、インタ
フェース・モジュールの一部として何らかのクロックお
よび多重化機能を提供することも可能であり、実際に或
る実施の形態ではその他のデバイス表現がインタフェー
ス・モジュールに含まれている。従って、本発明の好適
な実施の形態では、信号のマッピングを容易にするため
に、インタフェース・モジュール内のデバイス表現の階
層レベルをコンフィギュレーション・ファイルが指定す
る。
【0029】好ましくは、本方法は更に、バス・プロト
コルと互換性を持ち、汎用の入力/出力インタフェース
を備えるトリックボックス・コンポネントを提供する工
程を含む。トリックボックスは、バス・プロトコルには
関連しないが被験デバイスに関連する信号の制御および
観測を許容する。トリックボックスは一般に、そのよう
な信号を入力および出力するための入力および出力ポー
トを持ち、そのほかにトリックボックスを制御するため
の、バスへのスレーブ・インタフェースを備える。スレ
ーブ・インタフェースは、トリックボックスが試験環境
内でインスタンス化できて、被験デバイスよりもトリッ
クボックスにアクセスするテスト・シーケンスを用いて
制御できることを意味する。好適な実施の形態では、ト
リックボックスは試験すべきデバイス表現を含むインタ
フェース・モジュールに含まれている。明らかなよう
に、或る実施例では、異なる試験手順を容易にするため
に複数のトリックボックス・コンポネントが採用されよ
う。
【0030】先に述べたように、試験すべきデバイスの
タイプは好ましくはマスタ、スレーブ、アービタ、ある
いはデコーダのいずれかである。好適な実施の形態で
は、バス・プロトコルはARM AMBAバス・プロト
コルであり、バスはシステム・バスおよびペリフェラル
・バスを含み、試験されるデバイスのタイプにはシステ
ム・バス・マスタ、システム・バス・スレーブ、ペリフ
ェラル・バス・マスタ、ペリフェラル・バス・スレー
ブ、アービタ、あるいはデコーダが含まれる。当業者に
は明らかなように、ペリフェラル・バス・マスタはペリ
フェラル・バスとシステム・バスとを接続するブリッジ
である。
【0031】試験環境に取り込まれるデバイス表現は多
様な形態を取る。しかし、好適な実施の形態では、デバ
イス表現はレジスタ・トランスファ・ランゲージ(RT
L)表現である。
【0032】第2の態様から眺めると、本発明は、本発
明の第1の態様に従う、デバイス準拠性を試験する方法
を実行するように処理ユニットをコンフィギュアするよ
うに働くコンピュータ・プログラムを提供する。本発明
はまた、本発明の第2の態様に従うコンピュータ・プロ
グラムを含む運搬媒体を提供する。
【0033】第3の態様から眺めた場合、本発明はデバ
イスのバス・プロトコル準拠を試験するためのデータ処
理システムを提供する。本システムは:デバイスのタイ
プおよびデバイスの機能を規定する予め定められたパラ
メータを含むコンフィギュレーション・ファイルを記憶
するためのメモリ;および次の:(i)コンフィギュレ
ーション・ファイルに従って選ばれ、バスを介してデバ
イス表現と接続されて試験環境を形成する試験部品を生
成することによって、デバイスのための試験環境を動的
に生成する工程;(ii)テスト・シーケンスを実行する
工程;および(iii)前記テスト・シーケンスの実行中
にデバイス表現と1個以上の試験部品との間で受け渡さ
れる信号をモニタして、バス・プロトコル準拠性を表示
する結果のデータ生成する工程;を実行するように構成
された処理ユニット;を含む。
【0034】本発明は試験すべきデバイスが1個の場合
について説明してきたが、明らかなように、本方法を複
数デバイスの同時試験に適用することを妨げるものは原
理的に何もない。
【0035】本発明は試験すべきデバイスのための試験
環境を動的に生成する。試験環境は試験すべきデバイス
に関連するコンフィギュレーション・ファイルに含まれ
る情報に従って生成される。この試験法を今後は“能
動”モードと呼ぶことにする。しかし、好適な実施の形
態では、既述の試験法を提供するために用いるソフトウ
エア・ツールを、システム・シミュレーション環境が既
に存在し、従って試験環境を動的に生成する必要がない
過去のシミュレーション環境に対しても互換的に使用す
ることができる。このモードを今後“受動”動作モード
と呼ぶ。このような動作モードでもコンフィギュレーシ
ョン・ファイルが定義され、それを用いて、試験中にシ
ステム・シミュレーション環境内の各種デバイス間で受
け渡される信号をモニタするために使用されるプロセス
をコンフィギュアする。
【0036】本発明は更に、一例として添付図面に示す
本発明の好適な実施の形態を参照しながら説明する。
【0037】
【発明の実施の形態】本発明の好適な実施の形態を説明
するために、ARM社によって開発された“アドバンス
ト・マイクロコントローラ・バス・アーキテクチャ”
(AMBA)仕様に従って動作するバスへつながるデバ
イスの試験について説明する。試験手順を詳しく説明す
る前に、AMBA仕様に従って動作するバスを採用する
デバイスの実現について図1を参照しながら簡単に説明
する。
【0038】図1はマイクロコントローラ・チップある
いはシステム・オン・チップ(SoC)10の形の集積
回路を示しており、それはパーソナル・オーガナイザ、
移動電話、テレビ用トップボックス等の装置に使用され
よう。チップ10は、ブリッジ回路170を介してつな
がれたシステム・バス110(今後はAHBとも呼ぶ)
およびペリフェラル・バス195(今後はAPBとも呼
ぶ)を含む。これらのバスはAMBA仕様に従って動作
する。AMBA仕様は高性能の32ビットおよび16ビ
ット埋め込みマイクロコントローラを設計するためのオ
ンチップ通信標準を定義しており、システム・バス11
0は高性能なシステム・モジュール用に、またペリフェ
ラル・バスは低電力周辺デバイス用に用いられる。高性
能システム・バス110は、CPUおよびその他のダイ
レクト・メモリ・アクセス・デバイスをシステム・バス
上においたままで外部メモリ帯域幅を維持することがで
き、他方ブリッジ回路170はシステム・バスをより狭
いペリフェラル・バス195へ接続し、ペリフェラル・
バス上には狭帯域幅の周辺デバイスが配置される。ブリ
ッジ回路170はシステム・バス110とペリフェラル
・バス195との間で必要なプロトコル変換を実行す
る。
【0039】チップ10は例えばCPU140やDMA
コントローラ145のような、システム・バス110へ
つながれる複数のマスタ論理ユニットを含むことができ
る。ここでは説明の便宜上、“マスタ”論理ユニットと
いう用語は処理要求を発行するように設計された論理ユ
ニットを意味し、他方そのような処理要求の受け手とし
て設計された論理ユニットを“スレーブ”論理ユニット
と呼ぶことにする。時間的に任意の瞬間にシステム・バ
スへアクセスするのはマスタ論理ユニットのうちの1つ
だけであり、このためシステム・バス110への各種マ
スタ論理ユニットによるアクセスを制御するためにアー
ビタ120が提供される。1つのマスタ論理ユニットが
システム・バス110へアクセスしようとするときは、
それはアービタ120に対してバス要求信号を発行す
る。時間的に任意の瞬間にアービタ120によって受信
されるバス要求信号が1つのみであれば、それはそのバ
ス要求信号を発行したマスタ論理ユニットに対してアク
セスを許可する。しかし、時間的に任意の瞬間にアービ
タ120によって2つ以上のバス要求信号が受信されれ
ば、アービタはどのマスタ論理ユニットにシステム・バ
ス110へのアクセスを与えるかを決めるために、予め
定められた優先基準を適用するようになっている。バス
へのアクセスを要求するすべてのマスタ論理ユニットの
うちで、アービタ120は最も高い優先度を有するマス
タ論理ユニットにアクセスを許可する。
【0040】マスタ論理ユニットに加えて、1以上のス
レーブ論理ユニットをシステム・バス110へつなぐこ
ともある。分かり易いように、1つのスレーブ論理ユニ
ット、例えばランダム・アクセス・メモリ(RAM)1
60だけが図1には示されている。トランスファ要求が
スレーブ論理ユニットに対して発行された場合、アドレ
スがシステム・バス110上へ出力され、それがデコー
ダ論理165で復号されてどのスレーブ論理ユニットが
そのトランスファ要求を処理することになっているかが
決められる。デコーダは次にそれに従って適当なスレー
ブ論理ユニットを指定する。
【0041】システム・バス110はまた外部バス・イ
ンタフェース130を介して外部バス115へつなぐこ
とができる。好適な実施の形態では、外部バス115は
32ビットのベクトル・バスである。
【0042】また、システム・バス110へつながれる
各種の論理ユニットの動作周波数を制御するためにクロ
ック発生器175が設けられる。これによって、マスタ
論理ユニットによって出力されるトランスファ要求信号
のタイミングはクロック発生器175のクロック周波数
で決まることになる。
【0043】ペリフェラル・バス195には複数の周辺
デバイスが接続されよう。そのような周辺デバイスの例
は、シリアル・データを受信および送信するための“ユ
ニバーサル非同期受信および送信”(UART)論理ユ
ニット150、例えば割り込みを発生するために用いら
れるタイマ155、短距離の高速赤外通信のために用い
られる赤外線通信(IrDA)インタフェース180、
ユニバーサル・シリアル・バス(USB)185、同期
データ・リンク制御(SDLC)インタフェース20
0、およびアナログ・ディジタル(A/D)およびディ
ジタル・アナログ(D/A)変換器205および210
である。
【0044】図1に示すマイクロコントローラ・チップ
10では、ペリフェラル・バス195はシステム・バス
110と同じクロック速度で動作するように構成されて
いる。従って、システム・バス110用としてクロック
発生器175で生成されるクロック信号はブリッジ17
0にも送られ、ブリッジ170は周辺ユニット150、
155、180、185、200、205、および21
0の動作を制御するために必要なクロック信号を発生さ
せるように構成されている。
【0045】マスタ論理ユニット140、145が、ペ
リフェラル・バス195へつながれた周辺ユニットによ
るハンドリングを要求する処理要求をシステム・バス1
10上へ発行するときは、ブリッジ170がその処理要
求信号を受信し、周辺ユニット150、155、18
0、185、200、205、210のどれに対してそ
の処理要求が向けられているかを判断し、正しい周辺ユ
ニットに対して、その周辺ユニットの動作を制御するた
めに必要なクロック信号と一緒にその処理要求を出力す
る。更に、その処理要求をペリフェラル・バス上へ出力
する前に、システム・バス110で使用されるプロトコ
ルと、ペリフェラル・バス195で使用されるプロトコ
ルとの間で必要なプロトコル変換工程がブリッジ170
によって実行される。
【0046】図1に示す構造では、メイン・システム・
バス110に負荷を掛けずに複数の周辺ユニットをペリ
フェラル・バス195へつなぐことができ、ペリフェラ
ル・バス195は1つの周辺ユニットへアクセスする必
要が生じたときだけ使用されるので、全体として電力消
費が削減される。
【0047】AMBA仕様は、複数の異なる部品を集積
化することによって迅速にSoCデバイスを構築するこ
とを目的にしている。AMBA仕様は、標準インタフェ
ースを提供することでこのプロセスを可能にする。これ
により、個々の個別部品の開発業者は標準インタフェー
スを利用することで、その部品が最終的に統合されるシ
ステムに関して知識を何ら持たなくても、その部品(こ
こでは被験デバイス(DUT)とも呼ぶ)を設計および
試験することができるようになる。従って、一例とし
て、図1のCPU140をSoC10へ統合するように
設計する場合、設計者はSoC10にはそのほかにどの
ようなデバイスが組み込まれるかを知る必要がない。
【0048】しかし、AMBA仕様に従うバスを利用し
て後にSoCへ組み込まれる個別デバイスを設計する場
合には、設計者がそのデバイスがAMBA仕様によって
規定されるバス・プロトコルに従っていることを確認す
るための試験を実行することは明らかに重要なことであ
る。実際に、SoC設計者は、集積業者に対してその部
品がSoC設計の残りの部分と統合されたときに正しく
機能することを確信させるために、個別部品がAMBA
バス・プロトコルに準拠するという何らかの確証を得た
いと思うのが普通である。
【0049】
【実施例】図2は、DUTがAMBAバス・プロトコル
に準拠することを本発明の好適な実施の形態の能動モー
ドにおいて試験するために提供される論理要素を模式的
に示すブロック図である。図2に示すように、DUT3
30は、DUT330用の試験環境を生成するために使
用されるAMBA部品テストベンチ300へバス340
を介してつながれる。好適な実施の形態では、AMBA
部品テストベンチはソフトウエア的に実現され、ユーザ
が定義するテスト・シーケンス・ファイル305からス
ティミュラス発生および応答チェック情報を読み出すよ
うに構成されている。このファイルはそのDUTが利用
するAMBAバス・プロトコル部分に対するDUTの準
拠性を試験する目的を持ってそのDUT330に関心を
持つユーザによって提供される。
【0050】図2に示すシミュレーション環境はまた、
プロトコル・チェック・コンポネント320およびカバ
レッジ・モニタ・コンポネント310を含む。プロトコ
ル・チェック・コンポネント320は好適な実施の形態
では、DUT330がAMBA仕様の規則に従うことを
確認するためのチェックをサイクル毎の実行するように
構成されている。プロトコル・チェックはAMBA仕様
から取り出された一定の規則群であり、DUTはAMB
A仕様に準拠することを主張するためにはそれらの規則
のどれにも違反してならない。それらの規則はDUT3
30がどのようなタイプのものであろうとも従わなけれ
ばならないし、従ってDUT330に依存してプロトコ
ル規則をコンフィギュアするようなことはない。
【0051】当業者には明らかなように、どんな特殊な
バス・プロトコルに対しても、チェックする必要のある
そのような規則はかなり多いのが普通である。AMBA
AHBマスタ・プロトコル規則の一例は、“Spli
tあるいはRetry応答の第2サイクルで、マスタは
HTRANSをIDLEにドライブしなければならな
い”である。SplitまたはRetry応答はスレー
ブ・デバイスからマスタ・デバイスへの応答であって、
スレーブ・デバイスがその時点に行なわれたマスタから
のトランスファ要求を処理できないことを示す。HTR
ANS信号はマスタによって発行される制御信号であっ
て、マスタが実行しているバス・トランスファのタイ
プ、例えばノンシーケンシャル、シーケンシャル、アイ
ドル、あるいはビジーを示す。トランスファ要求のre
tryを試みる前に、スレーブ・デバイスが別のトラン
スファ要求を受信する準備ができている状態に戻る機会
を与えるためには、SplitまたはRetry応答に
続くサイクルでアイドル・トランスファをアサートする
必要がある。
【0052】カバレッジ・モニタ・コンポネント310
は、テスト・シーケンス305実行中に、AMBA部品
テストベンチ300によって生成される試験環境内でD
UT330とその他の任意の試験部品との間で受け渡さ
れる信号をモニタすることによって1組のカバレッジ・
ポイントが観測されるかどうか決定するために使用され
る。カバレッジ・ポイントは、準拠性を主張できる前
に、試験環境内で観測すべき各種バス・トランザクショ
ンのリストである。従って、カバレッジ・ポイントの目
的は、準拠性を主張できる前に、試験によってDUTが
十分に調べられたことを保証することである。カバレッ
ジ・ポイントの一例は、“バス・スレーブは同じアドレ
スへの書込みトランスファが直後に続く読出しトランス
ファによってアクセスされなければならない”である。
【0053】明らかなように、確認する必要のあるカバ
レッジ・ポイントはDUT330に依存する。例えば、
マスタDUTは異なるやり方でスレーブDUTとインタ
フェースするであろうから、準拠性を保証するために確
認すべき各種バス・トランザクションはDUTのタイプ
毎に異なるであろう。従って、カバレッジ・モニタ・コ
ンポネント310は試験される特定のDUT330に関
連して得られるコンフィギュレーション情報315に従
ってコンフィギュアされる。
【0054】従って、理解されるように、標準的な予め
定義されたバス・トランザクションのシーケンスの代わ
りにカバレッジ・ポイントを使用する利点は、カバレッ
ジ・ポイントを利用することによって、バス・インタフ
ェースを完全に活用するためには特定のDUTが1つの
特別なトランザクション・シーケンスを必要とするだけ
でよいということである。
【0055】注意すべきことは、プロトコル・チェック
・コンポネント320およびカバレッジ・モニタ・コン
ポネント310は準拠性試験中にトランスファされる実
際のデータの完全性を自動的にはチェックしないという
ことである。ユーザは準拠性実行中にDUTが正しく動
作することを確認しなければならない。しかし、図2の
ようにコンフィギュアされたときは、シミュレーション
環境は、ユーザが定義するテスト・シーケンス入力ファ
イルの“データ・チェック・コマンド”をサポートする
ことによってDUTの動作試験を支援する。例えば、デ
ータがスレーブDUTに記憶され、そしてその後でスレ
ーブDUTから読み戻される場合、ユーザが定義するテ
スト・シーケンスはスレーブDUTから返されると期待
されるデータの値を指定することができ、それをチェッ
クして正しい動作を確認することができる。
【0056】後でもっと詳細に説明することになるが、
図2に模式的に示す能動モードのシミュレーション環境
を利用する場合、ユーザはユーザが定義するテスト・シ
ーケンス305、DUT330のRTL実現、およびD
UTに特有なコンフィギュレーション情報を提供するユ
ーザ・コンフィギュレーション・ファイルを提供するこ
とが好ましい。これら3つのアイテムは好適な実施の形
態ではテストベンチのアプリケーション・プログラミン
グ・インタフェース(API)を通して供給され、それ
らがその後に試験環境を生成する。このプロセスは後で
もっと詳しく説明する。
【0057】上で述べた能動動作モードでは、DUT3
30のバス・プロトコル準拠を試験するためにDUT3
30と相互作用するために必要な各種のその他部品に対
してユーザがRTLモデルを生成する必要はない。好適
な実施の形態では、好適な実施の形態のテストベンチA
PIが準拠性ツールの中に組み込まれ、このツールが次
に既知のハイレベル・ベリフィケーション・ランゲージ
(HVL)シミュレーション・ツール、例えばVera
やSpecmanとインタフェースする。準拠性ツー
ル、およびこのツールの一部を構成するコンフィギュレ
ーションAPIの存在は、ユーザによって与えられる入
力、すなわちユーザ・コンフィギュレーション・ファイ
ル、ユーザが定義するテスト・シーケンス、およびDU
TのRTL表現に基づく試験環境の動的生成を可能にす
る。従って、準拠性ツールは、さもなければHVLシミ
ュレーション・ツールを使用して必要とされるチェック
・ルーチンを実現するために要したであろう高度な技能
を不要とし、また各チェック環境のコンフィギュレーシ
ョンおよびデバッグを不要とする。
【0058】上で図2を参照しながら説明した準拠性ツ
ールの能動モードは最初からDUT330を生成する場
合には明らかに有利であるが、例えばバスを介してイン
タリンクされた部品の複数のRTL実現を含めて、ユー
ザがかなりうまくシステム・シミュレーション環境を既
に開発している状況も多いと思われる。好適な実施の形
態では、そのようなシステム・シミュレーション環境を
利用できるようにするために、準拠性ツールは図5に示
す受動的な動作モードもサポートする。図5に示すよう
に、既存のシステム・シミュレーション環境500を準
拠性ツールにロードし、バス340を介してDUT51
0へ接続することができる。それでもなお、カバレッジ
・モニタ310およびプロトコル・チェッカ320は維
持され、試験中に各種デバイス間で受け渡される信号に
対して必要なチェックを実行できるし、またカバレッジ
・モニタ310もDUT510に関連するコンフィギュ
レーション情報315に基づいてコンフィギュアでき
る。従って、図5の受動モード実施例では、ユーザがコ
ンフィギュレーションAPIを介して、ユーザ・コンフ
ィギュレーション・ファイル、既存のシステム・シミュ
レーション環境500、およびDUT510のRTL実
現を提供する。
【0059】従って、要約すれば、好適な実施の形態の
準拠性ツールは、図2に示すような能動モードか、ある
いは図5に示すような受動モードのいずれかで動作する
ようにコンフィギュアできる。ここでコンフィギュレー
ションAPIが提供されるため、ユーザはそれら2つの
異なるコンフィギュレーションを指定するために必要な
情報を入力できる。
【0060】能動モードのコンフィギュレーションを実
現する2つの例が図3および図4に示されている。これ
らの好適な実施の形態では、能動モードのコンフィギュ
レーションは次のようなデバイスをサポートする:AH
Bマスタ、AHBスレーブ、APBマスタ(すなわち、
ブリッジ)、APBスレーブ、アービタ、およびデコー
ダ。図3はDUT330がスレーブDUTである能動モ
ードのコンフィギュレーションを示している。このコン
フィギュレーションでは、準拠性ツールのAMBA部品
テストベンチ・コア350内のコンフィギュレーション
・エンジンは、例えばデコーダのような必要とされる任
意のその他の試験部品とともに、適当なAHB/APB
マスタ部品355を動的に生成しよう。スレーブDUT
330はそれがマスタ・デバイスに応答するかのように
バスにアクセスする。しかし、その回りに生成される試
験環境はユーザが定義するテスト・シーケンス305に
よって指図されるような命令された応答をドライブす
る。プロトコル・チェック・コンポネント320および
カバレッジ・モニタ・コンポネント310は、それに従
ってテスト・シーケンスの実行中にバス上で受け渡され
る信号をモニタすることによって、スレーブDUTがバ
ス・プロトコルに準拠するかどうかを示すデータを生成
する。
【0061】好適な実施の形態では、ユーザ・トリック
ボックス・コンポネント360も提供されて、ビヘイビ
アを追加できるようにスレーブ応答信号との多重化が行
なわれる。ユーザ・トリックボックス360は好適な実
施の形態ではRTLで書かれ、ユーザ・トリックボック
ス360とスレーブDUT330の両方を含むインタフ
ェース・モジュール内でインスタンス化される。後で詳
しく説明するように、このインタフェース・モジュール
は次に、適当な信号のマッピングを介して準拠性ツール
によって生成される試験環境の残りの部分とインタフェ
ースする。従って、RTLトリックボックス360はD
UT330とインタフェースすることができ、DUTの
非AMBA信号を制御および観測することを可能にす
る。
【0062】好適な実施の形態のトリックボックスは、
トリックボックスを制御するための標準的なAHB/A
PBスレーブ・インタフェースのほかに、32ビット出
力ポートおよび32ビット入力ポートを有する。AHB
/APBインタフェースはトリックボックスがテストベ
ンチでインスタンス化され、DUTではなくトリックボ
ックスにアクセスするテストベクトルを用いて制御され
ることを可能にする。この文脈で用いられるように、
“ベクトル”という用語はユーザが定義するテスト・シ
ーケンス305の1要素を意味し、それはバス上で実行
されるアクションおよび/または特別な時間におけるバ
ス・ステータスを定義する。トリックボックス360を
用いて導入される付加的なビヘイビアの一例として、も
しも図3の能動モードがAHB能動モードであると仮定
すれば、トリックボックス360を用いて別のスレーブ
・デバイスのような期待される応答を提供することがで
き、デコーダ試験部品を用いてスレーブDUT330の
選択を解除し、トリックボックス・スレーブ・デバイス
を選択することができる。
【0063】図4はマスタDUT400を試験するため
に実現される別の能動モードを示す。この構成では、準
拠性ツールのAMBA部品テストベンチ・コア350内
のコンフィギュレーション・エンジンを使用して、例え
ばアービタ、デコーダ、およびダミー・マスタのような
必要とされるその他任意の試験部品と一緒にAHB/A
PBスレーブ部品410が生成されよう。コンフィギュ
レーションおよび/またはDUTのタイプに依存して準
拠性ツールの中からある種のファシリティを追加するこ
ともできる。例えば、AHBマスタ・コンフィギュレー
ションの場合は、メモリ初期化ファイル420を有する
ビヘイビア・メモリ・スレーブ・デバイスを生成するこ
とが好ましく、それはそれ自身が同じフォーマットのメ
モリ・ダンプを生成する。メモリ・ダンプ・ファイルは
テストベンチ・コア350内に実現されたメモリ・モデ
ルの内容のファイル表現であり、試験が完了した後で生
成される。試験中にメモリ・モデルに対して修正がなけ
れば、結果のメモリ・ダンプ・ファイルはメモリ初期化
ファイルと同じ内容を有することになる。
【0064】図4のマスタDUT400はあたかもスレ
ーブ・デバイスを通信しているようにバスにアクセスす
る。しかし、その回りに生成される試験環境はユーザが
定義するテスト・シーケンス305によって定義される
ような命令された応答をドライブ・バックする。図3の
例と同じように、ユーザ・トリックボックス・コンポネ
ント360を提供して、それをスレーブ応答信号と多重
化することによってビヘイビアを追加することができ
る。
【0065】上の能動モードの説明から明らかなよう
に、準拠性ツールの能動モードコンフィギュレーション
は各DUTに対してポイント・ソリューションとなるテ
ストベンチを生成しなければならないという負担を大幅
に軽減する。準拠性ツールそれ自身は、ユーザが供給す
るスティミュラスを準拠性試験の過程で提供するよう
に、DUTを取り巻く、必要なすべてのAMBA“ファ
ブリック”を生成する。
【0066】これとは対照的に、先に述べた受動モード
は、主としてシステム中の試験環境を目的としている。
受動モードは準拠性ツールによるAMBAファブリック
の動的生成という概念を等価的に禁止し、そうでなけれ
ば能動モードで利用できたスティミュラス・ドライブ機
能を禁止する。既に述べたように、同じユーザ・コンフ
ィギュレーション・ファイルをDUTそれ自身に関する
詳細を指定するためにも使用することが好ましい。しか
し受動モードでは、能動モード特有のコンフィギュレー
ション・オプションはすべて無視される。
【0067】受動モードはまた過去の設計を検証するた
めにも理想的であり、ユーザは準拠性試験のためにDU
Tを能動モードのテストベンチへ分離する必要がない。
しかし注意すべきことは、DUTへのスティミュラスの
発生源が限られたトランザクションまたはシナリオ生成
能力しか持たない場合は(すなわち、能動モードにおい
て使用される、ユーザが定義するテスト・シーケンスの
場合ほどにはDUTに対して適するように調整されてい
ないのが普通である)、全カバレッジを達成することは
受動モードのほうがより困難であろうということであ
る。もっと可能性の高いシナリオは、受動モードを使用
して、試験実行シーケンスの過程でDUTがAMBAプ
ロトコル違反を何ら行なわなかったことを保証すること
であろう。
【0068】いずれの動作モードでも、準拠性ツールは
試験実行の終わりにオプションで目に見える形でカバレ
ッジ・レポートを生成することが好ましい。これはその
DUTに付随する、完了し傑出した準拠性カバレッジ目
標とその特別な機能に関するコンフィギュレーションの
両方を表示するグラフィカル・ユーザ・インタフェース
(GUI)の形であることが好ましい。このデータから
AMBA準拠性の証明を発行できる。好適な実施の形態
では、AMBA準拠性証明は、AMBA仕様改訂版番
号、準拠性コンフィギュレーション、および試験しなか
ったすべての準拠性カバレッジ・ポイントの説明を指定
するであろう。好適な実施の形態では、準拠性ツールは
また、DUT用の試験環境を許可し、それとともにユー
ザが準拠性試験を繰り返すことができるように必要な任
意のテストベクトルを出力することを許可する。
【0069】既に述べたように、好適な実施の形態で
は、準拠性ツールは標準的なHVLシミュレーション・
ツールと組み合わせて実行するのが好ましい。ここで、
シミュレーション・ツールと準拠性ツールとが一緒にな
って準拠性チェックを実行するプロセスについて、図6
および図7のフロー図を参照しながら詳細に説明する。
【0070】図6に示すように、準拠性チェックは工程
600から始まり、工程605へ進んでそこからシミュ
レーション・ツールが始動する。シミュレーション・ツ
ールが始動すると、それは準拠性ツールを使用すべきこ
とを指示する。プロセスは次に工程610へ進み、DU
Tインタフェース・モジュールがロードされる。既に述
べたように、このインタフェース・モジュールはその中
へDUTのRTL表現をインスタンス化するモジュール
である。好適な実施の形態では、インタフェース・モジ
ュールはまたユーザ・トリックボックスのRTL表現も
含む。更に、インタフェース・モジュールはオプション
のクロックおよびリセット信号を提供し、それと一緒
に、RTLと準拠性ツールの試験環境それ自身との間の
付随する信号多重化も提供する。このことから、インタ
フェース・モジュールは、与えられたユーザ・コンフィ
ギュレーション・ファイルに基づいてシミュレーション
時点で能動モードにおいて動的に生成される準拠性ツー
ル試験環境とのインタフェースを構成する簡単なRTL
の最上位モジュールとみなすことができる。
【0071】工程615では準拠性ツールがロードされ
るが、これは能動あるいは受動のいずれかのモードにツ
ールをコンフィギュアするために使用されるコンフィギ
ュレーションAPIを、カバレッジ・モニタおよびプロ
トコル・チェック機能と一緒に導入する。工程620で
は、シミュレーション・ツールが準拠性ツールに処理を
渡し、その後プロセスは工程625へ進む。
【0072】工程625では、準拠性ツールが、ユーザ
によってコンフィギュレーションAPIを介して与えら
れるユーザ・コンフィギュレーション・ファイルを読み
込んでチェックする。好適な実施の形態では、各々の準
拠性ツールの動作モード、例えばAHB_マスタ、AH
B_スレーブ、APB_マスタ、APB_スレーブ、ア
ービタ、あるいはデコーダに対してテンプレートのユー
ザ・コンフィギュレーション・ファイルが提供される。
従って、ユーザがAHBマスタ・デバイスを試験しよう
とする場合には、ユーザはAHB_マスタのテンプレー
ト・ユーザ・コンフィギュレーション・ファイルを選
ぶ。コンフィギュレーション・ファイルにはそのデバイ
スに特有なコンフィギュレーション情報を規定する予め
定められたパラメータが含まれる。それらのエントリの
少なくともいくつかは、試験される特定デバイスに関心
を持つユーザによって入力される必要がある。好適な実
施の形態では、コンフィギュレーション・ファイルに含
まれるエントリは次のものを規定する:
【0073】1.DUT名およびオプションID; 2.DUT設計の階層構造のHDLパス/レベル 3.DUT信号マップ、例えばHCLK=HCLKsy
s、あるいは上記2をオーバーライドするためのHCL
K=〜/top/HCLK 4.一般的なテストベンチ・パラメータ、例えばEND
IANESS=LITTLE、ERRORSTOP=Y
ES、VERBOSITY=ERRORS_ONLY;
および 5.カバレッジ・コンフィギュレーション、例えば読出
し専用デバイスに対してDIRECTION=NO_W
RITE
【0074】AHBマスタDUT用のユーザ・コンフィ
ギュレーション・ファイルの一例を次に示す。
【0075】
【表1】
【0076】上のことから明らかなように、このファイ
ルの第1エントリは試験されるデバイス名を示してお
り、ここではARMプロセッサ・コアとなっている。第
2エントリの“HDLPATH”はDUTの階層構造の
レベルを示す。次には、マスタDUTによって使用さ
れ、DUT内部で使用される名前をAMBA信号名に対
してどのようにマッピングするかを示すすべての信号を
示す複数のエントリが続く。例えば、DUTによって使
用される信号HWRITEoutはAMBAバス信号H
WRITEにマッピングされる。
【0077】コンフィギュレーション・ファイル中の次
のエントリはデバイスを能動モードと受動モードのどち
らで試験すべきかを指定する。ここでは受動モードを使
用することが確認されている。次のエントリはスティミ
ュラスとして使用すべきユーザが定義するテスト・シー
ケンスを指定する。この例では、2つのテストベクトル
・ファイル、すなわちmemory.vecおよびpe
ripheral.vecが指定されている。図4を参
照すると、ベクトル・ファイルperipheral.
vecはユーザが定義するテスト・シーケンス305で
あり、ベクトル・ファイルmemory.vecはメモ
リ420に置くべきデータを含んでいる。試験が始まる
と、プロセッサ・コアのDUTはメモリ420からデー
タを読み込む。このデータはコアによって実行すべき一
連の命令を規定する。これはバス340上でバス・トラ
ンスファを引き起こし、ユーザが定義するテスト・シー
ケンス305、すなわちこの例ではperiphera
l.vecがスレーブ試験部品によって提供される応答
を命令する。このエントリはまた試験ランを開始する前
に入力ファイルの文法チェックをすべきかどうかを指定
する。
【0078】好適な実施の形態では、スティミュラス・
ベクトル・ファイルのフォーマットは、それをPerl
やCのような言語を使用して手書き、あるいはもっと便
利な自動生成できるように特別に設計されている。
【0079】ユーザ・コンフィギュレーション・ファイ
ルの次のエントリは、受動モードにおいて特別に使用さ
れるいくつかの追加信号を指定する。その次には、試験
に関連するデバッグおよびシステム環境設定を提供する
いくつかの一般的なパラメータが続く。例えば、特定例
では、バス幅が32ビットであると指定される。
【0080】その後には能動モードに特有なコンフィギ
ュレーション情報を提供するエントリが続く。最後に、
ファイル中の最後に3つのエントリは、例えばカバレッ
ジ・モニタによってチェックすべきカバレッジ・ポイン
トを決めるときに使用されるデバイス機能を規定する。
【0081】図6に戻って、ユーザ・コンフィギュレー
ション・ファイルが一旦読み込まれチェックされると、
次に準拠性ツールはプロトコル・チェック・コンポネン
トを生成し、またカバレッジ・モニタ・コンポネントを
生成およびコンフィギュアする。上で述べたように、カ
バレッジ・モニタのコンフィギュレーションはユーザ・
コンフィギュレーション・ファイルに規定されたデバイ
ス機能を考慮して行われる。
【0082】準拠性ツールは次に工程630においてD
UTを能動モードで実行させるべきかどうかを決定す
る。先に述べたように、この情報はユーザ・コンフィギ
ュレーション・ファイルに与えられている。もしDUT
を受動モードで実行させるべきであれば、プロセスは工
程635へ分岐して、カバレッジおよびプロトコル・チ
ェックに関する信号マッピングが実行される。これはユ
ーザ・コンフィギュレーション・ファイルに与えられる
信号マッピング情報を用いて行なわれる。次にプロセス
は分岐して工程650のシミュレータ・ツールへ戻り、
その後で工程660で試験が実行される。受動モードで
は、この試験は既存のシステム・シミュレーション環境
内に定義されよう。
【0083】しかし工程630でDUTが能動モードで
実行すべきことが決まった場合には、プロセスは工程6
40へ進み、準拠性ツールによってDUT用の試験環境
が動的に生成される。このプロセスは図7に関してもっ
と詳細に説明する。
【0084】図7に示すように、第1工程(工程70
0)は生成する必要のある環境のタイプを規定する。こ
の情報は被験デバイスのタイプから決まる。例えば、試
験すべきデバイスがAHBマスタ・デバイスであれば、
好適な実施の形態では試験環境はアービタ、デコーダ、
デフォルト・マスタ、および1以上のスレーブ・モデル
を含む必要がある。あるいは、DUTがAHBスレーブ
であれば、試験環境は少なくともデコーダおよびマスタ
・モデルを含む必要がある。
【0085】一旦環境のタイプが指定されれば、次には
必要なオブジェクトのインスタンスが工程710で生成
される。従って、この時点で試験環境に必要な試験部品
が生成され、好適な実施の形態では各試験部品がOOP
オブジェクトとしてインスタンス化される。次に、すぐ
上で述べたAHBマスタDUTの例に戻って、工程71
0でDUTと組み合わせることによって試験環境を形成
するためにアービタ、デフォルト・マスタ、およびスレ
ーブ・オブジェクトが生成される。
【0086】当業者には明らかなように、OOPプログ
ラミングでは、各オブジェクトにはそれの関数を定義す
る複数のメソッドが付随する。本発明の好適な実施の形
態に従えば、オブジェクトの各インスタンスに付随させ
るべき実際のメソッドは工程700で検出される環境の
タイプに依存する。例えば、DUTがマスタ・デバイス
であれば、生成されるデコーダ・オブジェクトは単にマ
スタからの要求に応答するスレーブを選ぶことができれ
ばよい。しかし、DUTがスレーブ・デバイスであれ
ば、デコーダもDUTの選択を解除して、別のスレーブ
を選択することができ、それによってスレーブDUTが
ビヘイビアをデコーダによる選択解除時に決定できるよ
うにする機能も含むことが好ましい。
【0087】プロセスは次に工程720へ進み、そこで
デバイス間の信号マッピングが更新される。既に説明し
たように、これにはユーザ・コンフィギュレーション・
ファイルに与えられる信号マッピング情報への参照が含
まれ、またDUTによって使用される信号名を試験環境
の残りの部分で使用されるAMBA信号名へマッピング
することが含まれる。
【0088】プロセスは次に工程730へ進んで、各信
号の初期値が設定される。例えば、DUTがスレーブ・
デバイスの場合、それがマスタ・デバイスからトランス
ファ要求を受信する準備ができていることを確認する論
理1のHREADY信号をアサートする必要がある。
【0089】工程730の完了に続いて、プロセスは図
6の工程650へ戻って、処理がシミュレータ・ツール
へ戻される。工程660では、シミュレータは能動モー
ドで試験を実行する。これはユーザが定義するテスト・
シーケンスであるか、あるいはユーザ・コンフィギュレ
ーション・ファイルに定義されたテスト・シーケンスで
ある。オプションとして、準拠性ツールはユーザ・コン
フィギュレーション・ファイルをチェックするときに、
ユーザが定義するテスト・シーケンスが有効であること
をチェックするためにユーザ・コンフィギュレーション
・ファイルに定義されたユーザが定義するテスト・シー
ケンスのチェックを実際に実行するように構成できる。
そのような工程は工程625において行われることが多
い。この時点でこのチェックを実行することは有益であ
る。それは、後の都合のよい時点、例えば夜通しで実際
の試験を実行するように考えているし、また工程660
において試験を開始する前にテスト・シーケンスには何
も悪いところは基本的にないことを知るのが好ましいの
は明らかだからである。
【0090】能動または受動モードのいずれかで準拠性
試験を実行させるために好適な実施の形態で実行される
プロセスについて説明してきたが、好適な実施の形態で
実行されるプロトコル・チェックおよびカバレッジ・モ
ニタのより詳しいことについて次に説明する。
【0091】既に述べたように、プロトコル規則のコン
フィギュレーションは行なわれない。またAMBAバス
準拠性を主張するためにはDUTはAMBAプロトコル
規則のどれにも違反してはならない。
【0092】しかし、これとは対照的に、好適な実施の
形態ではカバレッジ・ポイントは、いくつかのDUTは
AMBAバスの機能のすべてを利用しなくてもよいこと
を想定してコンフィギュアされる。DUTに対して許容
できるコンフィギュレーションは、SoCに組み込まれ
るすべての部品が常に一緒に正しく動作するように定義
されることが重要である。
【0093】基本的な規則として、AMBA部品は考え
うるすべての入力組合せを受け入れる必要があるが、考
えうるすべての出力の組合せを生成する必要はない。
【0094】一例として、Transfer Read
y、Transfer Response、およびBu
s Grantに関する入力信号を有するバス・マスタ
はそれら入力の考えうるすべての組合せを処理できなけ
ればならない。しかし、考えうるすべての出力組合せを
生成する必要はなく、それの動作にとって適切なタイプ
のバーストおよびトランスファ・サイズを生成するだけ
でよい。
【0095】注意すべき点は、或るカバレッジ・ポイン
トをターン・オフさせればプロトコル・チェックを付加
できるということである。例えば、もしもバス・マスタ
準拠性チェックが4ビート・ラッピング・バーストをサ
ポートしないバス・マスタとしてコンフィギュアされれ
ば、このコンフィギュレーション・オプションは各種タ
イプの4ビート・ラッピング・バーストを観測するカバ
レッジ・ポイントを除去する効果を持つ。しかし、これ
はマスタがこの種のトランスファを決して実行しないこ
とを保証する付加的なチェックを許容する。
【0096】スレーブ・デバイスもまた、考えうるすべ
ての入力を受け入れることができ、トランスファのすべ
ての異なる組合せを正しく処理できなければならない。
しかし、バス上で利用可能なトランスファ情報のすべて
を利用するわけではないスレーブ・デバイスを構築する
ことは認められる。この典型的な例はバースト情報を利
用しないスレーブ・デバイスであろう。そのようなスレ
ーブ・デバイスの準拠性試験を簡略化するために、スレ
ーブ・デバイスの入力に特定の信号が含まれない場合に
は、それらの入力の異なる組合せに関連するカバレッジ
・ポイントを省略することができる。
【0097】ここでプロトコル・チェック関数の詳細に
ついて詳しく見てみると、AMBAバスのプロトコルを
チェックする基本原理は、AMBAバス・プロトコルが
トランザクション中に観測されることを確認するチェッ
ク・シーケンスを採用することであり、それには個別ト
ランスファのバーストが複数個含まれる。好適な実施の
形態では、準拠性ツールは、シミュレーション・イベン
トがそれらのプロトコル・チェックを記述する発見的方
法をトリガすることを許容する時間表現を利用する。
【0098】時間表現はビヘイビアを記述するイベント
および時間的オペレータの組合せである。時間表現は試
験中にイベント、フィールドの値、変数、あるいはその
他のアイテム間の時間的関係を取り込む。
【0099】明らかなように、好適な実施の形態の準拠
性ツールには非常に多い可変数個の時間表現が用いられ
る。説明のために、そのような構成をどのように使用す
るかについて以下に簡単に見てみよう。
【0100】好適な実施の形態では、Verisity
Specman“e”言語を使用して時間表現が定義
される。図8の一番上には時間経過のグラフィカルな表
現として使用できる4つの凡例が示されている。図8の
残りの部分は、一例としてAMBA AHBシーケンス
評価を提供しており、HTRANS信号がIDLEにセ
ットされた場合(htrans.idleイベント)の
hgrantイベントのモニタリングの様子を示してい
る。
【0101】図8を参照すると、HCLKイベントはh
grantおよびhtrans.idleイベントを含
む2つのシーケンスについてのサンプリング・イベント
である。hclkイベントそれ自身はHCLK信号の立
ち上がりで発生される。
【0102】図8から分かるように、示されたいくつか
のイベントは信号値に直接関連しており、他方、その他
のイベントは基準イベントでサンプリングされた信号状
態の組合せで定義される。この例では、基準イベントは
HCLKの立ち上がり端である。
【0103】{@hgrant;@htrans.id
le}シーケンスはhclkにおいてhgrantが発
生する度に評価をスタートさせる。hgrantのhc
lk1個分後でhtrans.idleがサンプリング
されるとき、このシーケンスは成功である。
【0104】{@hgrant;[1];@htran
s.idle}シーケンスもまたhclkでの最初のh
grantの発生によって評価を開始するが、“1サイ
クル続く”文節([1])のために次のhclkが発生
するとシフトする。第3のhclkが発生すると、シー
ケンスはhtrans.idleイベントが存在すれば
成功する。しかし図8から分かるように、この時間表現
は第5サイクルの後は評価しない。それはhtran
s.idleイベントが存在しないためである。
【0105】このように、図8に関連して上述したイベ
ントを用いて特定の規則が観測されない条件を捉えるこ
とによってプロトコル・エラーを定義できるのが普通で
ある。そのようなイベントは更に別のイベント・シーケ
ンスを構築するために用いられたり、あるいは論理的に
組み合わせてアサート・ステートメントを生成するため
に用いられたりする。準拠性ツールのプロトコル規則の
典型的な形式は次のようになっている:
【0106】
【数1】expect<規則>is{<時間表現>}@
hclk;
【0107】時間表現を使用する代わりに採用できる別
の方式は形式論的な数学技法に基づいて利用できるプロ
パティ・チェッカ・ツールを使用するものである。フォ
ーマル・プロパティ・チェックにはシステム要求に密接
に合致するプロパティを書くこと、そして次にそのプロ
パティがその設計で確保されていることを完全に証明す
ることが含まれる。この方法が完全であるということは
機能シミュレーションによってカバーできないバグを見
出すことができるということを意味する。
【0108】プロパティ・チェッカ・ツールはブロック
・レベルで最も良く働く。100Kゲートより小さいブ
ロックが理想的である。
【0109】プロパティ・チェック・ツールによってチ
ェックされるプロパティの例は、AHBマスタが認めら
れない場合にHTRANS信号出力がIDLEまたはN
ON−SEQUENTIALになるという要求である。
このプロパティは図9Aに示すタイミング図と合致する
ように書くことができる。図9Aのタイミング図で、時
間tおよびt+1はクロック・サイクルを表す。ドット
領域の値が仮定であり、続くIDLE/NSEQ部が証
明しなければならない部分である。タイミング図が意味
することは、もしもHGRANT信号が1つのクロック
・サイクル(時間t)で低レベルであれば、次のクロッ
ク・サイクルではHTRANS信号はIDLEまたはN
SEQでなければならないということである。この証明
は時間tが任意のクロック・サイクルで成り立つように
徹底的に行われなければならない。すなわち、プロパテ
ィ・チェックはシミュレーション全体でタイミング図を
スライドさせるようにみなすことができる。仮定が成り
立つ場合はいつでもオブリゲーション部も成り立たなけ
ればならない。
【0110】もしプロパティが保持されることが分かれ
ば、DUTのRTL表現はそのプロパティによって指定
される要求を常に満たさなければならない。どこかの瞬
間にプロパティが保持されなければ、プロパティ・チェ
ッカはエラーを指摘する短い波形ファイルを出力するの
が好ましく、それを用いてデバッグが可能となる。
【0111】そのようなデバッグの一例として、図9A
のプロパティを試験環境にあるDUTに適用した場合の
デバッグ波形を観測したら、それは時間tにおいてHG
RANT信号が低レベルで、t+1ではHTRANS信
号がSEQであるというプロパティの誤りをハイライト
表示した。実際にはDUTのRTL表現にはバグがない
が、その代わりにプロパティそれ自身が不完全であっ
た。事実、もしAHBマスタが待機していれば(HRE
ADY信号入力が低レベル)、HTRANSは保持され
るべきであるという状況が存在する。すなわち、図9B
のタイミング図改訂版によって、正しいプロパティを示
すことができる。
【0112】図9Bのタイミング図によって示されるプ
ロパティは、もしマスタが認められずまた待機状態でな
ければ、HTRANS信号は続くクロック・サイクルで
IDLEまたはNSEQでなければならないことを言っ
ている。
【0113】プロパティ・チェックについて議論してき
たが、ここでカバレッジ・モニタについて簡単に説明し
よう。既に述べたように、カバレッジはバス活動の特定
のシーケンスを観測するプロセスである。好適な実施の
形態では、VerisitySpecmanツールが用
いられる。これはカバレッジ・グループの定義を通して
カバレッジ・モニタを可能とする。1つのカバレッジ・
グループは、時間的にデータを収集したデータ・アイテ
ムのリストを含むプログラム構造/オブジェクト・メン
バである。
【0114】Specmanツールはまた、カバレッジ
・データ・アイテム間相互作用の観測を可能とするクロ
ス・カバレッジを実行できる。クロス・カバレッジを利
用するAMBA AHBマスタの例は、バーストの各タ
イプ(SINGLE、INCR、WRAP4、INCR
4、WRAP8、INCR8、WRAP16、INCR
16)について、読出しおよび書込みの両バーストに対
して異なるタイプのスレーブ応答が観測されることを確
認することであろう。先に述べたように、試験実行のラ
ンの終わりに、すべてのカバレッジ情報は1つのGUI
に順序正しくまとめられる。このGUIはそのDUTに
ついて要求されるカバレッジ・ポイントのうちどのくら
いがモニタされたかをユーザに対して表示することがで
きるようになっている。
【0115】好適な実施の形態の試験準拠性ツールにつ
いて詳細に説明してきたが、準拠性ツールをその中で使
用できるデータ処理システムについても図10を参照し
ながら簡単に説明しよう。
【0116】図10はデータ処理装置を示しており、そ
れはプロセッサ・コア800、読出し専用メモリ(RO
M)810、ランダム・アクセス・メモリ(RAM)8
30、入力/出力(I/O)デバイス840、およびデ
ィスプレイ850を含んでおり、それらは適当なバス・
ネットワーク820を介して相互に接続されている。明
らかなように、バス820は単一バスでもよいが、部品
を互いに接続するために必要なバスの任意の組合せで構
わない。
【0117】好適な実施の形態では、好適な実施の形態
のシミュレータ・ツールおよび準拠性ツールはRAM8
30へロードされ、次にプロセッサ・コア800上で実
行される。オペレーティング・システム、例えばBIO
SはROM810に記憶されるのが普通である。
【0118】任意の特定の試験を実行するために必要な
入力は一般的にはユーザによってI/Oデバイス840
を介して入力され、RAM830に記憶される。従っ
て、能動モードでは、ユーザはI/Oデバイス840を
介して、DUTを含むインタフェース・モジュール、ユ
ーザ・コンフィギュレーション・ファイル、およびユー
ザが定義するテスト・シーケンスを入力する。これらは
例えばディスクからI/Oデバイス840によって読み
出される。この情報は次に、シミュレータ・ツールおよ
び準拠性ツールの実行中に必要に応じてプロセッサ・コ
ア800によってRAM830から取り出される。試験
実行中あるいは実行後に、試験結果は例えばVDUのよ
うなディスプレイ・デバイス850上へ表示されよう。
プロトコル規則のどれも違反されずにカバレッジ・ポイ
ントすべてがモニタされれば、任意の適当な出力デバイ
スへI/Oデバイス840を介して出力するための準拠
性証明を作製できる。
【0119】要約すれば、理解されるように、好適な実
施の形態の準拠性ツールはデバイスのバス・プロトコル
準拠性を試験するための特に使いやすく効率的な方法を
提供する。能動モードでは、DUTは非AMBAのI/
O信号とインタフェースするために試験者が利用できる
トリックボックス・デバイスをオプションとした、単独
ユニットとして試験される。このオプションのトリック
ボックスは試験者の制御下でデバイスの或る要求される
ビヘイビアを誘発するために使用できる。能動モードで
は、ユーザが生成するスティミュラス・ファイルを準拠
性ツールによって読み出して、ユーザ・コンフィギュレ
ーション・ファイルに指定されたバス・インタフェース
信号上の所望のスティミュラスをドライブする。マスタ
DUTの場合には、ベクトル・スティミュラス・ファイ
ルが供給され、それによって、データ・チェックのため
のデバイスへの予期されるアクセスとともに、待機ステ
ータス、応答タイプ、グラント・ステータスを含むスレ
ーブ応答ビヘイビアを決定する。スレーブDUTの場合
は、ユーザによって与えられるベクトル・スティミュラ
ス・ファイルが有効なマスタ・バス・トランザクション
を指定する。両方のタイプの入力スティミュラス・ファ
イルで、ユーザは試験環境がランダムに生成されるビヘ
イビアで以ってユーザが定義するスティミュラスをオー
バライドするかどうかを制御できる。スレーブ・テスト
ベンチの場合は、ランダム生成は待機ステータス、応
答、およびグラント・ステータス等をカバーできる。
【0120】受動モードでは、デバイスはシステムの一
部として試験される。すなわち、準拠性ツールはドライ
ブ機能を何も提供しないし、またデコーダ、アービタ、
マスタ、およびスレーブのような試験部品の動的生成を
サポートしない。ドライブすべきDUTのためのサポー
ト用インフラストラクチャ全体を提供するのは試験者の
テストベンチである。このことは過去のSoC設計の準
拠性試験において、また初めて周辺機器を一緒に統合す
る場合に特に有用である。準拠性ツールのドライブ機能
が停止している状態では、プロトコル・チェックおよび
カバレッジ・ポイント収集機構は能動モードで使用され
たものと同じように働く。
【0121】好適な実施の形態では、バス・プロトコル
・エラーが発生せずに試験ランが完了したときは、DU
Tに関するカバレッジの詳細を表示するGUIがロード
される。ここでカバレッジ・ホールを同定することがで
きるため、後続の試験ランで前に見逃したカバレッジ・
ポイントを満たすように、DUTをより明確な方向にド
ライブすることができる。このように準拠性を実現する
ことに成功した後で、元の指定されたデバイス機能が与
えられれば、バス・プロトコルに準拠することを認める
チェック・サムの準拠性証明が発行されよう。例えば、
もしマスタDUTがインクリメント・バーストのみをサ
ポートすると指定されれば、それの準拠性証明はその事
実を明確に述べる。
【0122】本発明の特別な実施の形態についてここに
述べてきたが、本発明がそれらに限定されず、本発明の
範囲内で多くの修正および追加が可能であることは明ら
かであろう。例えば、本発明の範囲から外れることなし
に、クレームの従属項の特徴を独立項の特徴と組み合わ
せることができる。
【図面の簡単な説明】
【図1】ARM社によって開発されたアドバンスト・マ
イクロコントローラ・バス・アーキテクチャ仕様に従っ
て動作するバスを介して相互接続されたデバイスを含む
システム・オン・チップを示すブロック図。
【図2】本発明の好適な実施の形態の能動モードに従う
試験手順を実行するときに用いられる論理要素を模式的
に示すブロック図。
【図3】スレーブ・デバイスを試験するときに、好適な
実施の形態の能動モードで用いられる論理要素の更に詳
細を示すブロック図。
【図4】マスタ・デバイスを試験するときに、好適な実
施の形態の能動モードで用いられる論理要素の更に詳細
を示すブロック図。
【図5】本発明の好適な実施の形態の受動モードに従っ
て試験を実行するときに用いられる論理要素を模式的に
示すブロック図。
【図6】本発明の好適な実施の形態に従って準拠性チェ
ックを実行するために実行される工程を示すフロー図。
【図7】被験デバイス用の準拠性試験環境を生成するプ
ロセスの詳細を示すブロック図。
【図8】本発明の好適な実施の形態に従ってプロトコル
・チェックを実行するときの時間シーケンスの評価を表
すために用いられるグラフ表記の例。
【図9】プロトコル・チェックを実行するときに、チェ
ックされるプロパティを表すタイミング図。
【図10】好適な実施の形態の試験手順が実行されるデ
ータ処理システムを模式的に示すブロック図。
【符号の説明】
10 SoC 110 システム・バス 115 外部バス 120 アービタ 130 外部バス・インタフェース 140 CPU 145 DMAコントローラ 150 UART論理ユニット 155 タイマ 160 RAM 165 デコーダ論理 170 ブリッジ回路 175 クロック発生器 180 赤外通信インタフェース 185 USB 195 ペリフェラル・バス 200 SDLCインタフェース 205 A/Dコンバータ 210 D/Aコンバータ 300 テストベンチ 305 テスト・シーケンス・ファイル 310 カバレッジ・モニタ・コンポネント 315 コンフィギュレーション情報 320 プロトコル・チェック・コンポネント 330 DUT 340 バス 350 AMBA部品テストベンチ・コア 355 AHB/APBマスタ部品 360 ユーザ・トリックボックス部品 400 マスタDUT 410 AHB/APBスレーブ部品 420 メモリ初期化ファイル 500 システム・シミュレーション環境 510 DUT 800 プロセッサ・コア 810 ROM 820 バス 830 RAM 840 入力/出力デバイス 850 ディスプレイ

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 デバイスのバス・プロトコル準拠性を試
    験する方法であって: (a)前記デバイスのタイプおよび前記デバイスの機能
    を規定する予め定められたパラメータを含むコンフィギ
    ュレーション・ファイルを読み込む工程; (b)コンフィギュレーション・エンジンを採用して、
    前記コンフィギュレーション・ファイルに従って選ば
    れ、デバイス表現とバスを介して接続されて試験環境を
    形成するための試験部品を生成することによって前記デ
    バイスのための試験環境を動的に生成する工程; (c)テスト・シーケンスを実行させる工程;および (d)前記テスト・シーケンスの実行中に前記デバイス
    表現と1個以上の前記試験部品との間で受け渡される信
    号をモニタして、前記バス・プロトコルへの準拠性を示
    す結果のデータを作成する工程;を含む方法。
  2. 【請求項2】 請求項1に記載の方法であって、前記コ
    ンフィギュレーション・ファイルがコンフィギュレーシ
    ョン・ファイルの1組のテンプレートから選ばれたもの
    であり、また前記組が各デバイス・タイプ毎に1つのコ
    ンフィギュレーション・ファイル・テンプレートを含ん
    でおり、また各コンフィギュレーション・ファイルには
    そのデバイスに特有のコンフィギュレーション情報を提
    供するための複数のエントリが含まれている方法。
  3. 【請求項3】 請求項1に記載の方法であって、前記工
    程(d)が、プロトコル・チェック・コンポネントを採
    用して、前記テスト・シーケンス実行中に前記デバイス
    表現と1個以上の前記試験部品との間で受け渡される信
    号が、前記バス・プロトコルの予め定められた規則の組
    のどれにも違反しないことをチェックする工程を含んで
    いる方法。
  4. 【請求項4】 請求項1に記載の方法であって、前記工
    程(d)が、カバレッジ・モニタ・コンポネントを採用
    して、前記テスト・シーケンス実行中に前記デバイス表
    現と1個以上の前記試験部品との間で受け渡される信号
    をモニタして、1組のカバレッジ・ポイントが観測され
    るかどうかを決定する工程を含んでいる方法。
  5. 【請求項5】 請求項4に記載の方法であって、前記カ
    バレッジ・ポイントの組が前記工程(a)において読み
    込まれる前記コンフィギュレーション・ファイルに従っ
    てコンフィギュアされる方法。
  6. 【請求項6】 請求項5に記載の方法であって、前記工
    程(d)が、プロトコル・チェック・コンポネントを採
    用して、前記テスト・シーケンス実行中に前記デバイス
    表現と1個以上の前記試験部品との間で受け渡される信
    号が前記バス・プロトコルの予め定められた規則の組の
    どれにも違反しないことをチェックする工程を含んでお
    り、また前記バス・プロトコルの予め定められた規則の
    組に違反しないで前記組中のすべてのカバレッジ・ポイ
    ントが観測された場合には、前記方法が更に前記バス・
    プロトコル準拠性を確認する出力を生成する工程を含ん
    でいる方法。
  7. 【請求項7】 請求項1に記載の方法であって、前記工
    程(b)において、選ばれた試験部品を生成する前記工
    程が、試験すべきデバイスのタイプに依存して生成すべ
    き前記試験部品を選択する工程を含んでいる方法。
  8. 【請求項8】 請求項7に記載の方法であって、少なく
    とも1個の試験部品が、それに付随してそれが呈する複
    数のビヘイビアを有しており、試験すべきデバイスのタ
    イプに依存して前記試験部品が生成されるときにビヘイ
    ビアの選択が決まるようになった方法。
  9. 【請求項9】 請求項1に記載の方法であって、前記テ
    スト・シーケンスが、試験すべきデバイス用に開発され
    たユーザが定義可能なテスト・シーケンスである方法。
  10. 【請求項10】 請求項1に記載の方法であって、前記
    デバイス表現がインタフェース・モジュール内に生成さ
    れ、試験環境を生成する前記工程(b)が、前記インタ
    フェース・モジュール内の信号を前記試験環境内の信号
    へ、前記コンフィギュレーション・ファイルに定義され
    たやり方に従ってマッピングする工程を含んでいる方
    法。
  11. 【請求項11】 請求項10に記載の方法であって、前
    記コンフィギュレーション・ファイルが、前記信号のマ
    ッピングを容易にするために、前記インタフェース・モ
    ジュール内の前記デバイス表現の階層構造レベルを規定
    している方法。
  12. 【請求項12】 請求項1に記載の方法であって、更
    に:前記バス・プロトコルと互換性を有し、汎用の入力
    /出力インタフェースを備えたトリックボックス・コン
    ポネントを提供する工程;を含む方法。
  13. 【請求項13】 請求項1に記載の方法であって、試験
    されるデバイスのタイプがマスタ、スレーブ、アービ
    タ、またはデコーダを含んでいる方法。
  14. 【請求項14】 請求項1に記載の方法であって、前記
    バス・プロトコルがARM AMBAバス・プロトコル
    であり、前記バスがシステム・バスとペリフェラル・バ
    スとを含んでおり、試験されるデバイスのタイプがシス
    テム・バス・マスタ、システム・バス・スレーブ、ペリ
    フェラル・バス・マスタ、ペリフェラル・バス・スレー
    ブ、アービタ、またはデコーダを含んでいる方法。
  15. 【請求項15】 請求項1に記載の方法であって、前記
    デバイス表現がレジスタ・トランスファ・ランゲージ
    (RTL)表現である方法。
  16. 【請求項16】 請求項1に記載されたデバイスの準拠
    性を試験する方法を実行するように処理ユニットをコン
    フィギュアするように動作するコンピュータ・プログラ
    ム。
  17. 【請求項17】 請求項16に記載のコンピュータ・プ
    ログラムを含む運搬媒体。
  18. 【請求項18】 デバイスのバス・プロトコル準拠性を
    試験するためのデータ処理システムであって:前記デバ
    イスのタイプおよび前記デバイスの機能を規定する予め
    定められたパラメータを含むコンフィギュレーション・
    ファイルを記憶するためのメモリ;および処理ユニット
    であって: (i)バスを介してデバイス表現と接続されて試験環境
    を形成する、前記コンフィギュレーション・ファイルに
    従って選ばれた試験部品を生成することによって前記デ
    バイスのための試験環境を動的に生成する工程; (ii)テスト・シーケンスを実行する工程;および (iii)前記テスト・シーケンス実行中に前記デバイス
    表現と1個以上の試験部品との間で受け渡される信号を
    モニタして、前記バス・プロトコルとの準拠性を示す結
    果のデータを作成する工程;を実行するように構成され
    た処理ユニット;を含むデータ処理システム。
JP2002098913A 2001-04-12 2002-04-01 デバイスのバス・プロトコル準拠試験方法およびシステム Expired - Fee Related JP4112886B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB0109283.2 2001-04-12
GBGB0109283.2A GB0109283D0 (en) 2001-04-12 2001-04-12 Testing for compliance
GB0111195A GB2374434B (en) 2001-04-12 2001-05-08 Testing compliance of a device with a bus protocol
GB0111195.4 2001-05-08

Publications (2)

Publication Number Publication Date
JP2002358249A true JP2002358249A (ja) 2002-12-13
JP4112886B2 JP4112886B2 (ja) 2008-07-02

Family

ID=26245977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002098913A Expired - Fee Related JP4112886B2 (ja) 2001-04-12 2002-04-01 デバイスのバス・プロトコル準拠試験方法およびシステム

Country Status (2)

Country Link
US (1) US6876941B2 (ja)
JP (1) JP4112886B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4546468B2 (ja) * 2004-03-04 2010-09-15 アンリツ株式会社 プロトコルメッセージを簡易に制御可能な通信システムのシミュレーション装置及びシミュレーション方法
JP2011502265A (ja) * 2007-10-30 2011-01-20 テラダイン、 インコーポレイテッド プロトコル認識デジタルチャネル装置
JP2014098698A (ja) * 2012-11-13 2014-05-29 Tektronix Inc 信号状態分析方法及びシステム

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US7542867B2 (en) * 2001-08-14 2009-06-02 National Instruments Corporation Measurement system with modular measurement modules that convey interface information
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US7010773B1 (en) 2001-11-19 2006-03-07 Cypress Semiconductor Corp. Method for designing a circuit for programmable microcontrollers
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US6966039B1 (en) * 2001-11-19 2005-11-15 Cypress Semiconductor Corp. Method for facilitating microcontroller programming
US20030145290A1 (en) * 2002-01-30 2003-07-31 International Business Machines Corporation System for controlling external models used for verification of system on a chip (SOC) interfaces
JP3510618B2 (ja) * 2002-02-05 2004-03-29 沖電気工業株式会社 バスブリッジ回路及びそのアクセス制御方法
US7577540B2 (en) * 2002-03-01 2009-08-18 Nec Corporation Re-configurable embedded core test protocol for system-on-chips (SOC) and circuit boards
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US6661724B1 (en) 2002-06-13 2003-12-09 Cypress Semiconductor Corporation Method and system for programming a memory device
US6698004B2 (en) * 2002-06-20 2004-02-24 Sun Microsystems, Inc. Pin toggling using an object oriented programming language
EP1447759A1 (en) * 2003-02-07 2004-08-18 ARM Limited Generation of a testbench for a representation of a device
US7137078B2 (en) * 2003-03-27 2006-11-14 Jasper Design Automation, Inc. Trace based method for design navigation
US7206387B2 (en) * 2003-08-21 2007-04-17 International Business Machines Corporation Resource allocation for voice processing applications
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
JP2005346513A (ja) * 2004-06-04 2005-12-15 Renesas Technology Corp 半導体装置
GB2415270A (en) * 2004-06-16 2005-12-21 Argo Interactive Ltd A method of generating a test routine
US20060025984A1 (en) * 2004-08-02 2006-02-02 Microsoft Corporation Automatic validation and calibration of transaction-based performance models
US7743151B2 (en) * 2004-08-05 2010-06-22 Cardiac Pacemakers, Inc. System and method for providing digital data communications over a wireless intra-body network
US7332976B1 (en) * 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7440863B2 (en) * 2005-04-29 2008-10-21 Agilent Technologies, Inc. Integrated tool for compliance testing within an enterprise content management system
US7890285B2 (en) * 2005-04-29 2011-02-15 Agilent Technologies, Inc. Scalable integrated tool for compliance testing
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US7506281B1 (en) 2005-05-18 2009-03-17 Xilinx, Inc. Two-pass method for implementing a flexible testbench
US20070027669A1 (en) * 2005-07-13 2007-02-01 International Business Machines Corporation System and method for the offline development of passive simulation clients
US7610444B2 (en) * 2005-09-13 2009-10-27 Agere Systems Inc. Method and apparatus for disk address and transfer size management
US8218770B2 (en) * 2005-09-13 2012-07-10 Agere Systems Inc. Method and apparatus for secure key management and protection
US20070204076A1 (en) * 2006-02-28 2007-08-30 Agere Systems Inc. Method and apparatus for burst transfer
US7461214B2 (en) * 2005-11-15 2008-12-02 Agere Systems Inc. Method and system for accessing a single port memory
US7599364B2 (en) * 2005-09-13 2009-10-06 Agere Systems Inc. Configurable network connection address forming hardware
US8521955B2 (en) 2005-09-13 2013-08-27 Lsi Corporation Aligned data storage for network attached media streaming systems
US7912060B1 (en) 2006-03-20 2011-03-22 Agere Systems Inc. Protocol accelerator and method of using same
US7797467B2 (en) * 2005-11-01 2010-09-14 Lsi Corporation Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US7526742B1 (en) 2006-01-31 2009-04-28 Xilinx, Inc. One-pass method for implementing a flexible testbench
CN100448239C (zh) * 2006-02-28 2008-12-31 西安西电捷通无线网络通信有限公司 鉴别服务实体的安全接入协议符合性测试的方法及其系统
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US20080133165A1 (en) * 2006-12-04 2008-06-05 Advantest Corporation Test apparatus and device interface
US8040266B2 (en) * 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8092083B2 (en) * 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8615673B2 (en) * 2009-11-18 2013-12-24 National Instruments Corporation Device synchronization using independent clocks
US20130024178A1 (en) * 2011-07-20 2013-01-24 Narendran Kumaragurunathan Playback methodology for verification components
US8639981B2 (en) 2011-08-29 2014-01-28 Apple Inc. Flexible SoC design verification environment
US8788886B2 (en) 2011-08-31 2014-07-22 Apple Inc. Verification of SoC scan dump and memory dump operations
US9218271B2 (en) * 2011-10-04 2015-12-22 International Business Machines Corporation Test planning based on dynamic coverage analysis
US9495281B2 (en) * 2012-11-21 2016-11-15 Hewlett Packard Enterprise Development Lp User interface coverage
KR20140113175A (ko) * 2013-03-15 2014-09-24 삼성전자주식회사 버스 프로토콜 검사기, 이를 포함하는 시스템 온 칩 및 버스 프로토콜 검사 방법
CN105447212A (zh) * 2014-08-25 2016-03-30 联发科技(新加坡)私人有限公司 产生集成电路的验证平台文件的方法与编译系统
US9506982B2 (en) 2014-11-14 2016-11-29 Cavium, Inc. Testbench builder, system, device and method including a generic monitor and transporter
US10126362B2 (en) * 2014-12-15 2018-11-13 International Business Machines Corporation Controlling a test run on a device under test without controlling the test equipment testing the device under test
US10282315B2 (en) 2015-03-27 2019-05-07 Cavium, Llc Software assisted hardware configuration for software defined network system-on-chip
US9672127B2 (en) * 2015-04-16 2017-06-06 Teradyne, Inc. Bus interface system for interfacing to different buses
US10031991B1 (en) * 2016-07-28 2018-07-24 Cadence Design Systems, Inc. System, method, and computer program product for testbench coverage
US11394633B2 (en) * 2018-12-13 2022-07-19 Microsoft Technology Licensing, Llc Internet of things (IOT) device and solution certification as a service
US11144693B1 (en) * 2019-11-27 2021-10-12 Cadence Design Systems, Inc. Method and system for generating verification tests at runtime
CN115470752B (zh) * 2022-09-22 2023-07-14 沐曦科技(北京)有限公司 基于追踪文件的芯片功能验证系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6457152B1 (en) 1998-10-16 2002-09-24 Insilicon Corporation Device and method for testing a device through resolution of data into atomic operations
US6366973B1 (en) * 1999-05-03 2002-04-02 3Com Corporation Slave interface circuit for providing communication between a peripheral component interconnect (PCI) domain and an advanced system bus (ASB)
US6425071B1 (en) * 1999-05-03 2002-07-23 3Com Corporation Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus
US6574691B1 (en) * 1999-07-28 2003-06-03 Koninklijke Philips Electronics N.V. Apparatus and method for interfacing a non-sequential 486 interface burst interface to a sequential ASB interface
US6678645B1 (en) * 1999-10-28 2004-01-13 Advantest Corp. Method and apparatus for SoC design validation
US6581019B1 (en) * 2000-03-20 2003-06-17 Koninklijke Philips Electronics N.V. Computer-system-on-a-chip with test-mode addressing of normally off-bus input/output ports

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4546468B2 (ja) * 2004-03-04 2010-09-15 アンリツ株式会社 プロトコルメッセージを簡易に制御可能な通信システムのシミュレーション装置及びシミュレーション方法
JP2011502265A (ja) * 2007-10-30 2011-01-20 テラダイン、 インコーポレイテッド プロトコル認識デジタルチャネル装置
JP2014098698A (ja) * 2012-11-13 2014-05-29 Tektronix Inc 信号状態分析方法及びシステム

Also Published As

Publication number Publication date
US6876941B2 (en) 2005-04-05
US20020183956A1 (en) 2002-12-05
JP4112886B2 (ja) 2008-07-02

Similar Documents

Publication Publication Date Title
JP4112886B2 (ja) デバイスのバス・プロトコル準拠試験方法およびシステム
US8180620B2 (en) Apparatus and method for performing hardware and software co-verification testing
CN115841089B (zh) 一种基于uvm的系统级芯片验证平台及验证方法
US7240268B2 (en) Test component and method of operation thereof
US20220292248A1 (en) Method, system and verifying platform for system on chip verification
JPH07175780A (ja) マイクロプロセッサ
US20050144436A1 (en) Multitasking system level platform for HW/SW co-verification
US20060212768A1 (en) Verification circuitry for master-slave system
CN117422026B (zh) 一种基于risc-v架构的处理器验证系统
CN106844118B (zh) 一种基于Tbus总线标准的片内总线测试系统
Kang et al. A design and test technique for embedded software
US7231568B2 (en) System debugging device and system debugging method
Ke et al. Verification of AMBA bus model using SystemVerilog
US9581643B1 (en) Methods and circuits for testing partial circuit designs
Chang et al. A unified GDB-based source-transaction level SW/HW co-debugging
Crouch et al. Generalizing access to instrumentation embedded in a semiconductor device
GB2374434A (en) Testing compliance of device with bus protocol
CN113204929A (zh) 基于sv和uvm实现ahb vip的方法、电子装置及存储介质
Carbognani et al. Qualifying precision of abstract systemc models using the systemc verification standard
Grosso et al. A software-based self-test methodology for system peripherals
CN114169287B (zh) 生成验证环境的连接示意图的方法、电子设备及存储介质
Sutherland et al. UVM Rapid Adoption: A Practical Subset of UVM
Deng et al. A Standalone FPGA-test Platform with Bi-directional Ports Supported
JP2002229814A (ja) デバッグ方法及び情報処理システム
Nithin et al. Development of Flexible Verification Environment for AMBA APB

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070330

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080410

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110418

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120418

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140418

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees