(57)【要約】【課題】入力信号のタイミングや順序により動作や出力信号が変化するようなブロックの検証を行う場合の、効率的かつ効果的な検証手法を提供する。【解決手段】入力信号を解析する入力解析テストベンチと出力信号を解析する出力解析テストベンチを、以上２つを関連付けし統合する入出力解析テストベンチを設ける。入出力解析テストベンチは、検証対象ブロック則しの期待の動作と入力信号を解析するテストベンチから期待の出力信号を検出すると、禁止動作の判定をリアルタイムに検証する機構を備える。【選択図】      図１
2004362096.tif 000002
【特許請求の範囲】
【請求項１】
ＬＳＩ開発における検証手法において、検証対象ブロック１０１に対して入力部をモニタするテストベンチ１０３と出力部をモニタするテストベンチ１０４と、入力部、出力部のモニタ事象を関連付けするテストベンチ１０４を備えたＬＳＩ検証手法。
【請求項２】
請求項１に記される検証手法であって、入力部、出力部のモニタ事象を関連付けするテストベンチ１０２において、検証対象ブロック１０１において満たされるべき仕様の動作を確認し、チェックを行う機構を備えたテストベンチ１０２を有するＬＳＩ検証手法。
【請求項３】
請求項２に記される検証手法であって、検証対象ブロック１０１への任意の入出力信号をリアルタイムでモニタリングし、検証対象ブロック１０１において満たされるべき仕様の動作をトランザクションが行われたタイミングにおいてチェックを行う機構を備えた検証手法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＬＳＩ開発における検証手法に関する。
【０００２】
【従来の技術】
ＬＳＩ開発における動作検証が、近年の半導体技術の向上とともに集積度が向上し、ＬＳＩに搭載される機能が複雑化することに伴い、複雑化しており、検証に費やす時間が長くなっており、効率的に検証を行う必要がある。
【０００３】
検証手法としては、検証対象となるブロックに対して、発行されうるトランザクションを発行し、そのトランザクション時の期待する出力が得られているかの期待値比較を行い、動作検証を行う手法が一般的である（例えば、特許文献１を参照）。
【０００４】
画像処理、信号処理を行うようなブロックの検証を行う場合、期待のデータを与えるトランザクションやパターンから割り出すことは容易であるが、メモリコントローラといった入力によりコマンドを発行するようなブロックでは、与えるトランザクションやパターンのほかに与えるタイミング等により動作が異なり、あらかじめ期待の出力を割り出すことは不可能である。
【０００５】
また、メモリモデルといったテストベンチの場合は、メモリバス側のトランザクションをモニタし禁止動作、出力を判別することができるが、メモリコントローラ側の機能が複雑である場合、メモリバスに出力されないトランザクション、メモリバスのトランザクション順序の判定が必要な場合や、読み込みデータの正しさの判定に関してはメモリバス側のみのトランザクションのチェックではメモリコントローラの検証を満足に行うことは不可能である。
【０００６】
【特許文献１】
特開平１０−３１２９１１号公報
【０００７】
【発明が解決しようとする課題】
ＬＳＩ内部に搭載されるブロックで複雑なコマンドの組み合わせにより制御を行うブロックの検証を行う場合は、そのトランザクションの組み合わせを生成する必要があるため、長い時間を費やしてしまう。また、タイミングや組み合わせによる動作が異なるといった場合においては、コーナーケースのバグの発見は非常に難しくなる。
【０００８】
たとえば、Ｒａｍｂｕｓ社のＲＤＲＡＭへのアクセスを制御するメモリコントローラの設計検証においては、トランザクションによりさまざまなコマンドの組み合わせによりメモリにアクセスされる。
【０００９】
また、メモリコントローラの機能でキューイングやスケジューリングあるいはキャッシュのような機能を持つ場合はアクセス順序やアクセスタイミングに依存して内部の動作が決定するため、アクセスが行われた時点で初めて出力信号が決定する。
【００１０】
また、メモリへ書き込まれたデータと書き込んだデータの比較を行うといった手法を用いたとしても、スケジューリングやキャッシュといった機能がある場合、読み込みデータが正しいという保証はない。
【００１１】
また、期待通りの出力が得られない場合のデバック作業において、波形を見てのプロトコル解析を行う必要があるが、プロトコルが複雑な場合においては波形からのプロトコルの解析を行うには、かなりの労力を必要とし、デバック作業に手間どり、しいては開発期間の長期化をもたらしてしまいかねない。
【００１２】
本発明においては、ブロック検証において、タイミングや順序により動作が異なるブロックにおいて効率的な検証手法、かつデバックの容易な検証環境を提供することを目的とする。
【００１３】
【課題を解決するための手段】
検証対象となるあるＬＳＩ内部のブロック１０１で、入力信号と出力信号があるブロックに対する検証において、入力信号をモニタリングしプロトコル解析を行う入力解析手段１０３と、出力信号をモニタリングしてプロトコル解析を行う出力解析手段１０４と、それぞれ入力解析手段と出力解析手段を関連付けし検証対象ブロックの機能を検証する入出力解析手段１０２を備える。
入出力解析手段１０２には、検証対象ブロック１０１の仕様および動作を検出する機構を実装し、入力に対する期待の出力信号の割り出し機構および禁止動作の割り出し機構を備え、入出力のトランザクションが発行される毎にリアルタイムに、期待動作と禁止動作の判定する機構を備える。
【００１４】
【発明の実施の形態】
【実施例】
本発明実施の形態として、Ｒａｍｂｕｓ社により定義されるＲａｍｂｕｓＤＲＡＭに対するメモリコントローラ部２０１に対するテストベンチを定義する。
【００１５】
本メモリコントローラ２０１は、ＬＳＩ内部からのメモリアクセスをＲａｍｂｕｓＤＲＡＭへのアクセスプロトコルに変換し、メモリへのアクセスを制御するものとする。
【００１６】
また、本メモリコントローラ２０１はアクセスをコントローラ内部でキューイングしスケジューリングを行うとともに、キャッシュの機能を含んでいるものと仮定する。
【００１７】
検証対象であるメモリコントローラ２０１に対してＬＳＩ内部よりつながるバスのプロトコル解析を行うバスプロトコルモニタ２０３とＲＤＲＡＭに接続するチャネル上の信号のプロトコル解析を行うランバスプロトコルモニタ２０４を定義する。
【００１８】
バスプロトコルモニタ２０３は、メモリコントローラへのＬＳＩ内部からの信号をデコードし、アクセスアドレス、アクセスタイプ、アクセス長を解析し、アクセスをリストの形式で保持する。
【００１９】
ランバスプロトコルモニタ２０４は、チャネル上の信号のプロトコル解析を行い、ＲＤＲＡＭへのアクセスコマンドを解析する機能を持つ。
【００２０】
以上のバスプロトコルモニタ２０３とランバスプロトコルモニタ２０４の関連付けを行い、メモリコントローラ２０１の動作を解析するメモリコントローラモニタ２０２を定義する。
【００２１】
メモリコントローラモニタ２０２はバスプロトコルモニタ２０３から、メモリコントローラ２０１へのアクセスを検知し、メモリバスへの出力形式を判定する機能をもつ。
【００２２】
メモリコントローラ２０１へのアドレス、アクセス長、タイプより先行アクセスとの比較よりアクセス順序を判定する。
【００２３】
たとえば、先行の同一アドレスに対する書き込みアクセスより先に、読み込みコマンドが発行される、あるいは先行の同一アドレスに対する読み込みアクセスよりも先に、書き込みコマンドが発行されると言ったハザード現象をモニタリングする機能を備える。
【００２４】
また、キャッシュ内のデータである場合はメモリバスへのトランザクションが発生しないため、バスプロトコルモニタ２０３の該当リストに対して、メモリバスに対してアクセスを発行しないものと定義する。
【００２５】
ランバスプロトコルモニタ２０４において、コマンドがＲＤＲＡＭに対して発行されたことを、メモリコントローラモニタ２０２が検知すると、先に判定したアクセス順序との比較を行い、違反したアクセスである場合はエラーとしての処理を行う。
【００２６】
メモリコントローラモニタ２０２はあわせてデータの正確性を判定する。
【００２７】
バスプロトコルモニタ２０３でモニタリングされたアクセスデータ、マスクデータからと、ランバスプロトコルモニタ２０４でモニタリングされたアクセスデータ、マスクデータから、正しいデータが発行されているかの判定を行うことにより、メモリコントローラ２０１に対してアクセスされたデータが正しく発行されているかを検証することが可能となる。
【００２８】
また、メモリコントローラモニタ２０２はメモリコントローラ２０１が独自に発行するコマンドに対するチェック機構を持つ。
【００２９】
メモリコントローラ２０１はある間隔でリフレッシュやキャリブレーション、プリチャージといったコマンドを発行する。
【００３０】
上記のコマンドが発行されたことをランバスプロトコルモニタ２０４を介して検知すると、メモリコントローラモニタ２０４は、正しいタイミングで発行されているかの検証を行う。
【００３１】
以上の機構で検証を行う際にアクセスパターンは任意で与える。
【００３２】
以上、実施例はメモリコントローラ以外にも、たとえばＵＳＢといったあるプロトコルで外部モジュールにアクセスを発行するコントローラなどにも適用可能であり、入出力のモニタテストベンチとコントローラ内部の仕様、動作を判定し２つのモニタを関連付ける入出力解析モニタテストベンチを設けることにより実施可能となる。
【００３３】
【発明の効果】
ＬＳＩ内部回路の入口と出口をモニタリングするモニタと、その二つのモニタをさらにモニタリングし、入口と出口のトランザクションを関連付けるモニタを用いることにより、検証対象となる回路をブラックボックスとして扱うことが可能となり、検証が容易となる。
【００３４】
入口および出口独自のモニタを使用した場合においては、両者の系がまったく同一である場合は禁止事項をチェックすることにより動作判定を行うことはできるが、タイミング、順序で動作が変化し入口と出口の系に変化を及ぼすと言った場合においては、それぞれのプロトコルでは禁止事項ではないものが、検証ブロックの動作においては禁止事項であることがあり、その場合検証はできない。
【００３５】
上記実施例においては、正しいメモリアクセスコマンドであってもスケジューリングにおいてハザード現象を起こすといったトランザクションがありうる。
【００３６】
しかしながら本発明を適用することにより、検証対象ブロックの動作を含めたモニタリングをすることが可能となるため、検証の精度を上げることが出来る。
【００３７】
また、プロトコル解析のモニタを用意することにより、複雑なプロトコルにおいても、波形で検証者あるいは設計者がデコードするといった手間が必要なく、モニタによりデコードされたものを参照することが可能となるため、検証、デバックが用意となる。
【００３８】
また、発生すべき事象を生成し、その都度期待値と比較する従来手法と異なり、一度テストベンチを作成することによって、処理機能全体を検証することが可能となるため、エラーの検知が容易となる。
【００３９】
テンスとベンチ内で行われるべき機能を定義し、検証が行われているため設計者あるいは検証者が予期しないトランザクションや処理が行われた場合においても、動作が定義してあるため、当該トランザクションに対しても検証を行うことができ、コーナーケースのバグを発見することができ、質の高いＬＳＩを開発することが可能となる。
【００４０】
また、機能検証において、入口と出口で行われたトランザクションのプロトコルをチェックしているため、行われたトランザクション、行われていないトランザクション、あるいは入口と出口のトランザクションの組み合わせの確認が容易に行うことができるため、検証事象を確認し、検証漏れを防ぐことができ、質の高いＬＳＩを開発することが可能となる。
【００４１】
また、検証対象のブロックに機能が付加された場合においても、新しくテストを生成し、その都度テストを走らせて検証を行う必要はなく、テストベンチにその付加された機能を加えることにより対応することができるため、検証にかける時間を削減し、短期間のＬＳＩの開発を可能とする。
【図面の簡単な説明】
【図１】本発明を実現するテストベンチを示した概念図である。
【図２】ＲａｍｂｕｓＤＲＡＭを用いたコントローラにおいて本発明を実現するテストベンチの概念図である。
【図１】
2004362096.tif 000003
【図２】
2004362096.tif 000004