(57)【特許請求の範囲】
【請求項１】
デバイスの動作が記述されたモデルの情報を記憶する記憶部と、
前記モデルとテスト入力情報とに基づいて検証対象デバイスのシミュレーション処理を行うシミュレーション処理部とを含み、
前記モデルは、
表示ドライバの動作が記述された表示ドライバモデルと、前記表示ドライバにより駆動される表示パネルの動作が記述された表示パネルモデルとを含み、
前記シミュレーション処理部は、
階調クロックに基づきカウント値のカウント処理を行い、前記表示ドライバモデルからのＰＷＭ（Pulse Width Modulation）データ信号のデータを前記表示パネルモデルに入力し、ＰＷＭデータ信号の変化点を特定し、特定された変化点に対応するカウント値を取得し、取得されたカウント値に基づいて、ＰＷＭデータ信号の階調データを求めるシミュレーション処理を行い、
前記表示ドライバモデルはデータドライバモデルを含み、前記データドライバモデルは、階調データをラッチするデータラッチ回路と、ラッチされた階調データに基づいてＰＷＭ方式で変調されたＰＷＭデータ信号を生成するＰＷＭデータ信号生成回路と、前記ＰＷＭデータ信号生成回路で生成されたＰＷＭデータ信号をデータ線に出力する出力回路のモデルを含み、
前記シミュレーション処理部は、
前記データラッチ回路、前記ＰＷＭデータ信号生成回路、前記出力回路のモデルとして、前記データラッチ回路、前記ＰＷＭデータ信号生成回路、前記出力回路のネットリストを使用することを特徴とする検証シミュレータ。
【請求項２】
請求項１において、
前記シミュレーション処理部は、
前記階調クロックにより得られたサンプリングクロックに基づいて、ＰＷＭデータ信号の変化点を特定することを特徴とする検証シミュレータ。
【請求項３】
請求項２において、
前記シミュレーション処理部は、
前記サンプリングクロックにより第Ｋ−１のタイミングでＰＷＭデータ信号をサンプリングした時の論理レベルと、第ＫのタイミングでＰＷＭデータ信号をサンプリングした時の論理レベルが異なる場合に、第Ｋのタイミングでのカウント値に基づいて、ＰＷＭデータ信号の階調データを求めることを特徴とする検証シミュレータ。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記シミュレーション処理部は、
求められた階調データを、前記表示ドライバモデルからの走査信号のデータに基づいて、前記表示パネルモデルの内部レジスタ部のレジスタに格納することを特徴とする検証シミュレータ。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記表示パネルモデルは、
階調クロックに基づきカウント値のカウント処理を行うカウント部と、
前記表示ドライバモデルからのＰＷＭデータ信号の変化点を特定し、前記カウント部からのカウント値に基づいて、ＰＷＭデータ信号の階調データを求める階調データ演算部を含むことを特徴とする検証シミュレータ。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記シミュレーション処理部は、
前記テスト入力情報と前記表示ドライバモデルと前記表示パネルモデルに基づいてシミュレーション処理を行い、前記表示パネルに表示されるべき画像を表示装置に表示するための画像データファイルに、シミュレーション結果データである階調データをフォーマット変換して出力することを特徴とする検証シミュレータ。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記表示ドライバモデルは、
表示制御信号を生成するロジック回路の動作が記述されたロジック回路モデルを含み、
前記シミュレーション処理部は、
前記ロジック回路モデルとして前記ロジック回路のネットリストを使用することを特徴とする検証シミュレータ。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記モデルは、
前記表示ドライバの外部デバイスが含む外部インターフェース回路の動作が記述された外部インターフェース回路モデルを含み、
前記テスト入力情報は、
前記表示ドライバを動作させるためのコマンドが少なくとも記述されたコマンドファイルを含み、
前記シミュレーション処理部は、
前記コマンドファイルを前記外部インターフェース回路モデルに入力し、前記コマンドファイルに基づき前記外部インターフェース回路モデルにより生成された所与の形式のインターフェース信号のデータを、前記表示ドライバモデルに入力するシミュレーション処理を行うことを特徴とする検証シミュレータ。
【請求項９】
請求項８において、
前記インターフェース信号は、ＭＰＵインターフェース信号、ＲＧＢインターフェース信号、シリアルインターフェース信号及びＹＵＶインターフェース信号の少なくとも１つを含み、
前記シミュレーション処理部は、
前記外部インターフェース回路モデルにより生成された前記ＭＰＵインターフェース信号、前記ＲＧＢインターフェース信号、前記シリアルインターフェース信号及び前記ＹＵＶインターフェース信号の少なくとも１つのインターフェース信号のデータを、前記表示ドライバモデルに入力するシミュレーション処理を行うことを特徴とする検証シミュレータ。
【請求項１０】
請求項８又は９において、
前記コマンドファイルは、インターフェースモード指定コマンドを含み、
前記シミュレーション処理部は、
前記インターフェースモード指定コマンドで指定される形式のインターフェース信号のデータを、前記表示ドライバモデルに入力するシミュレーション処理を行うことを特徴とする検証シミュレータ。
【請求項１１】
検証シミュレータのための検証シミュレーション方法であって、
前記検証シミュレータは、
デバイスの動作が記述されたモデルの情報を記憶する記憶部と、
前記モデルとテスト入力情報とに基づいて検証対象デバイスのシミュレーション処理を行うシミュレーション処理部とを含み、
前記モデルは、
表示ドライバの動作が記述された表示ドライバモデルと、前記表示ドライバにより駆動される表示パネルの動作が記述された表示パネルモデルとを含み、
前記シミュレーション処理部は、
階調クロックに基づきカウント値のカウント処理を行い、前記表示ドライバモデルからのＰＷＭ（Pulse Width Modulation）データ信号のデータを前記表示パネルモデルに入力し、入力されたＰＷＭデータ信号の変化点を特定し、特定された変化点に対応するカウント値を取得し、取得されたカウント値に基づいて、ＰＷＭデータ信号の階調データを求めるシミュレーション処理を行い、
前記表示ドライバモデルはデータドライバモデルを含み、前記データドライバモデルは、階調データをラッチするデータラッチ回路と、ラッチされた階調データに基づいてＰＷＭ方式で変調されたＰＷＭデータ信号を生成するＰＷＭデータ信号生成回路と、前記ＰＷＭデータ信号生成回路で生成されたＰＷＭデータ信号をデータ線に出力する出力回路のモデルを含み、
前記シミュレーション処理部は、
前記データラッチ回路、前記ＰＷＭデータ信号生成回路、前記出力回路のモデルとして、前記データラッチ回路、前記ＰＷＭデータ信号生成回路、前記出力回路のネットリストを使用することを特徴とする検証シミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証シミュレータ及び検証シミュレーション方法に関する。
【背景技術】
【０００２】
液晶パネルなどの表示パネルを駆動するデバイスとして表示ドライバ（ＬＣＤドライバ）がある。この表示ドライバでは、実際にその製造を開始する前に、動作確認のための検証シミュレーションが必要になる。そして表示ドライバには、ＰＷＭ（Pulse Width Modulation）方式で階調を表現するタイプのものがある。
【０００３】
このようなＰＷＭ方式の表示ドライバの検証シミュレーション手法として、表示ドライバのデータドライバ（セグメントドライバ）の全ての回路を、擬似的なビヘイビアモデルに置き換えて検証する手法が考えられる。
【０００４】
しかしながら、この手法では、データドライバの実回路の検証ができず、検証の正当性を十分に保証できないという課題がある。
【特許文献１】特開平１１−２５１４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、検証精度の高い検証シミュレータ及び検証シミュレーション方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、デバイスの動作が記述されたモデルの情報を記憶する記憶部と、前記モデルとテスト入力情報とに基づいて検証対象デバイスのシミュレーション処理を行うシミュレーション処理部とを含み、前記モデルは、表示ドライバの動作が記述された表示ドライバモデルと、前記表示ドライバにより駆動される表示パネルの動作が記述された表示パネルモデルとを含み、前記シミュレーション処理部は、階調クロックに基づきカウント値のカウント処理を行い、前記表示ドライバモデルからのＰＷＭ（Pulse Width Modulation）データ信号のデータを前記表示パネルモデルに入力し、ＰＷＭデータ信号の変化点を特定し、特定された変化点に対応するカウント値を取得し、取得されたカウント値に基づいて、ＰＷＭデータ信号の階調データを求めるシミュレーション処理を行う検証シミュレータに関係する。
【０００７】
本発明によれば、表示ドライバモデルからのＰＷＭデータ信号の変化点が特定され、特定された変化点に対応するカウント値が取得され、取得されたカウント値に基づいて、ＰＷＭデータ信号の階調データが求められる。このようにすれば、表示ドライバのデータドライバをアナログの動作モデルにモデル化せずに、シミュレーション処理を行った場合にも、表示ドライバモデルからのＰＷＭデータ信号の階調データを求めることが可能になる。従って、アナログの動作モデルの不具合を原因とするシミュレーションの誤動作を防止でき、検証精度を向上できる。
【０００８】
また本発明では、前記シミュレーション処理部は、前記階調クロックにより得られたサンプリングクロックに基づいて、ＰＷＭデータ信号の変化点を特定するようにしてもよい。
【０００９】
このようにすれば、階調クロックそのもの或いは階調クロックと所与の信号との合成により得られたサンプリングクロックにより、ＰＷＭデータ信号を解析し、その変化点を特定できる。
【００１０】
また本発明では、前記シミュレーション処理部は、前記サンプリングクロックにより第Ｋ−１のタイミングでＰＷＭデータ信号をサンプリングした時の論理レベルと、第ＫのタイミングでＰＷＭデータ信号をサンプリングした時の論理レベルが異なる場合に、第Ｋのタイミングでのカウント値に基づいて、ＰＷＭデータ信号の階調データを求めるようにしてもよい。
【００１１】
このようにすれば、第Ｋ−１、第ＫのタイミングでのＰＷＭデータ信号の論理レベルの解析し、第Ｋのタイミングでのカウント値を取得するという簡素な処理で、ＰＷＭデータ信号の階調データを求めることが可能になる。
【００１２】
また本発明では、前記シミュレーション処理部は、求められた階調データを、前記表示ドライバモデルからの走査信号のデータに基づいて、前記表示パネルモデルの内部レジスタ部のレジスタに格納するようにしてもよい。
【００１３】
このようにすれば、表示ドライバモデルからの走査信号のデータも加味して、シミュレーションが行われるため、表示パネルモデルを加えた実装イメージでのシステムシミュレーションを実現できる。
【００１４】
また本発明では、前記表示パネルモデルは、階調クロックに基づきカウント値のカウント処理を行うカウント部と、前記表示ドライバモデルからのＰＷＭデータ信号の変化点を特定し、前記カウント部からのカウント値に基づいて、ＰＷＭデータ信号の階調データを求める階調データ演算部を含むようにしてもよい。
【００１５】
このようにすれば、簡素なモデルを使用しながらも、デジタル論理シミュレーションで表示パネルの動作を検証できるようになり、検証効率を向上できる。
【００１６】
また本発明では、前記シミュレーション処理部は、前記テスト入力情報と前記表示ドライバモデルと前記表示パネルモデルに基づいてシミュレーション処理を行い、前記表示パネルに表示されるべき画像を表示装置に表示するための画像データファイルに、シミュレーション結果データである階調データをフォーマット変換して出力するようにしてもよい。
【００１７】
本発明によれば、画像データファイルは、表示パネルに表示されるべき画像を表示装置に表示するためのファイルになっている。従って、設計者は、この画像データファイルに基づいて表示装置に画像を表示することで、表示ドライバの動作を検証できる。従って設計者は、シミュレーション結果を、表示画像という形で視覚的に瞬時に捉えることが可能になるため、バグ発見や検証作業を容易化できる。
【００１８】
また本発明では、前記表示ドライバモデルは、表示制御信号を生成するロジック回路の動作が記述されたロジック回路モデルを含み、前記シミュレーション処理部は、前記ロジック回路モデルとして前記ロジック回路のネットリストを使用するようにしてもよい。
【００１９】
このようにすれば、様々な仕様の表示ドライバに対して本発明の検証シミュレーション手法を容易に適用できるようになる。
【００２０】
また本発明では、前記モデルは、前記表示ドライバの外部デバイスが含む外部インターフェース回路の動作が記述された外部インターフェース回路モデルを含み、前記テスト入力情報は、前記表示ドライバのレジスタに設定されるべきコマンドが記述されたコマンドファイルを含み、前記シミュレーション処理部は、前記コマンドファイルを前記外部インターフェース回路モデルに入力し、前記コマンドファイルに基づき前記外部インターフェース回路モデルにより生成された所与の形式のインターフェース信号のデータを、前記表示ドライバモデルに入力するシミュレーション処理を行うようにしてもよい。
【００２１】
このようにすれば、コマンドが羅列されたコマンドファイルを作成するだけで、様々な形式のインターフェース信号のデータが生成されて表示ドライバモデルに入力されるようになり、テスト入力情報の作成を容易化できる。
【００２２】
また本発明では、前記インターフェース信号は、ＭＰＵインターフェース信号、ＲＧＢインターフェース信号、シリアルインターフェース信号及びＹＵＶインターフェース信号の少なくとも１つを含み、前記シミュレーション処理部は、前記外部インターフェース回路モデルにより生成された前記ＭＰＵインターフェース信号、前記ＲＧＢインターフェース信号、前記シリアルインターフェース信号及び前記ＹＵＶインターフェース信号の少なくとも１つのインターフェース信号のデータを、前記表示ドライバモデルに入力するシミュレーション処理を行うようにしてもよい。
【００２３】
また本発明では、前記コマンドファイルは、インターフェースモード指定コマンドを含み、前記シミュレーション処理部は、前記インターフェースモード指定コマンドで指定される形式のインターフェース信号のデータを、前記表示ドライバモデルに入力するシミュレーション処理を行うようにしてもよい。
【００２４】
このようにすれば、インターフェースモード指定コマンドを変更するだけで、同じ画像データを用いながらも、様々な形式のインターフェース信号のデータを生成して、表示ドライバモデルに入力できるようになる。
【００２５】
また本発明は、デバイスの動作が記述されたモデルとテスト入力情報とに基づいて検証対象デバイスのシミュレーション処理を行う検証シミュレーション方法であって、前記モデルは、表示ドライバの動作が記述された表示ドライバモデルと、前記表示ドライバにより駆動される表示パネルの動作が記述された表示パネルモデルとを含み、階調クロックに基づきカウント値のカウント処理を行い、前記表示ドライバモデルからのＰＷＭ（Pulse Width Modulation）データ信号のデータを前記表示パネルモデルに入力し、入力されたＰＷＭデータ信号の変化点を特定し、特定された変化点に対応するカウント値を取得し、取得されたカウント値に基づいて、ＰＷＭデータ信号の階調データを求めるシミュレーション処理を行う検証シミュレーション方法に関係する。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００２７】
１．表示ドライバ
図１に、本実施形態の検証シミュレータの検証対象デバイスである表示ドライバ５１０の構成例を示す。なお表示ドライバ５１０の構成は図１に限定されるものではなく、種々の変形実施が可能である。
【００２８】
表示パネル５１２は、複数のデータ線（ソース線）と、複数の走査線（ゲート線）と、データ線及び走査線により特定される複数の画素を有する。そして各画素領域における電気光学素子（狭義には、液晶素子）の光学特性を変化させることで、表示動作を実現する。この表示パネル５１２は、ＴＦＤ、ＴＦＴなどのスイッチング素子を用いたアクティブマトリクス方式のパネルにより構成できる。なお表示パネル５１２は、アクティブマトリクス方式以外のパネルであってもよいし、液晶パネル以外のパネル（有機ＥＬパネル等）であってもよい。
【００２９】
表示メモリ５２０（ＲＡＭ）は画像データを記憶する。メモリセルアレイ５２２は複数のメモリセルを含み、少なくとも１フレーム（１画面）分の画像データ（表示データ）を記憶する。ローアドレスデコーダ５２４（ＭＰＵ／ＬＣＤローアドレスデコーダ）はローアドレスについてのデコード処理を行い、メモリセルアレイ５２２のワード線の選択処理を行う。カラムアドレスデコーダ５２６（ＭＰＵカラムアドレスデコーダ）はカラムアドレスについてのデコード処理を行い、メモリセルアレイ５２２のビット線の選択処理を行う。ライト／リード回路５２８（ＭＰＵライト／リード回路）はメモリセルアレイ５２２への画像データのライト処理や、メモリセルアレイ５２２からの画像データのリード処理を行う。
【００３０】
ロジック回路５４０（例えば自動配置配線回路）は、表示タイミングやデータ処理タイミングを制御するための表示制御信号を生成する。このロジック回路５４０は例えばゲートアレイ（Ｇ／Ａ）などの自動配置配線により形成できる。制御回路５４２は各種制御信号を生成したり、装置全体の制御を行う。表示タイミング制御回路５４４は表示タイミングの制御信号を生成し、表示メモリ５２０から表示パネル５１２側への画像データの読み出しを制御する。
【００３１】
内部インターフェース回路５４５（ドライバ側インターフェース回路）は、外部デバイス（ホストデバイス等）とのインターフェース処理を行う回路であり、ホストインターフェース回路５４６、ＲＧＢインターフェース回路５４８を含む。ホスト（ＭＰＵ）インターフェース回路５４６は、ホストからのアクセス毎に内部パルスを発生して表示メモリ５２０にアクセスするホストインターフェースを実現する。ＲＧＢインターフェース回路５４８は、ドットクロックにより動画のＲＧＢデータを表示メモリ５２０に書き込むＲＧＢインターフェースを実現する。なおホストインターフェース回路５４６、ＲＧＢインターフェース回路５４８のいずれか一方のみを設ける構成としてもよい。或いは、カメラデバイス等とのインターフェースを実現するＹＵＶインターフェース回路を設けてもよい。或いは、シリアルバスを介した高速シリアル転送を実現する高速シリアルインターフェース回路を設けてもよい。この高速シリアル転送では、シリアルバスの差動信号線を電流駆動又は電圧駆動することにより、外部デバイス（ホストデバイス等）との間での高速シリアル転送が実現される。
【００３２】
データドライバ５５０は、表示パネル５１２のデータ線を駆動するためのデータ信号を生成する回路である。具体的にはデータドライバ５５０は、表示メモリ５２０から画像データである階調データを受ける。そしてこの階調データに基づいてパルス幅変調を行い、ＰＷＭ（Pulse Width Modulation）データ信号を生成し、表示パネル５１２の各データ線に出力する。
【００３３】
走査ドライバ５７０は表示パネルの走査線を駆動するための走査信号を生成する回路である。具体的には、内蔵するシフトレジスタにおいて信号（イネーブル入出力信号）を順次シフトし、このシフトされた信号をレベル変換した信号を、走査信号（走査電圧）として表示パネル５１２の各走査線に出力する。なお走査ドライバ５７０に、走査アドレス生成回路やアドレスデコーダを含ませ、走査アドレス生成回路が走査アドレスを生成して出力し、アドレスデコーダが走査アドレスのデコード処理を行うことで、走査信号を生成してもよい。
【００３４】
電源回路５９０は各種の電源電圧を生成する回路である。具体的には、入力電源電圧や内部電源電圧を、内蔵する昇圧回路が含む昇圧用キャパシタや昇圧用トランジスタを用いてチャージポンプ方式で昇圧する。そして昇圧により得られた電圧を電源電圧として、データドライバ５５０、走査ドライバ５７０に供給する。
【００３５】
２．検証シミュレータ
図２に本実施形態の検証シミュレータの構成例を示し、図３に検証シミュレータのシミュレーション環境の例を示す。
【００３６】
図２において、記憶部２００は、表示ドライバ、表示パネル、外部デバイス（ホストデバイス）などのデバイスの動作が記述されたモデルの情報を記憶する。この記憶部２００の機能は、検証用のワークステーション（広義にはコンピュータシステム）に組み込まれるメモリ（ＲＡＭ）やハードディスクなどのハードウェアにより実現される。また記憶部２００にその情報が記憶されるモデルとしては、Verilogのビヘイビア（Behavior)モデルなどの抽象度が高いビヘイビアレベルのモデルや、ビヘイビアレベルより抽象度が低いＲＴＬ（Register Transfer Level）のモデルや、ＲＴＬよりも抽象度が低いネットリストなどの論理レベルのモデルを用いることができる。
【００３７】
シミュレーション処理部２１０（シミュレーション実行部）は、記憶部２００に記憶されたモデルと、テスト入力情報１５０とに基づいて、検証対象デバイスのシミュレーション処理を行う。このシミュレーション処理部２１０の機能は、検証用ワークシステムに組み込まれるＣＰＵなどのハードウェアと、検証用ソフトウェアにより実現できる。そして検証用ソフトウェアとしては、Verilogなどの論理シミュレーションのソフトウェアを使用してもよいし、ＳＰＩＣＥなどのアナログシミュレーションのソフトウェアを使用したり、論理シミュレーションのソフトウェアとアナログシミュレーションのソフトウェアを混在させたものを使用してもよい。
【００３８】
テスト入力情報１５０（テストベンチ、テストデータ）は、コマンドファイル１５２を含むことができる。このコマンドファイル１５２には、表示ドライバ（広義には検証対象デバイス）を動作させるためのコマンドとレジスタ（コマンドレジスタ）に設定されるべきパラメータが記述されている。即ちコマンドファイル１５２には、これらのコマンドが羅列されて記述される。またテスト入力情報１５０は、ＲＧＢデータなどの画像データ１５４を含むことができる。この画像データ１５４は、テスト入力用の画像データファイル１５６から抽出できる。
【００３９】
シミュレーション処理部２１０が出力する画像データファイル１６０は、テスト入力情報１５０が含む画像データ１５４により表示パネルに表示されるべき画像を、検証用ワークステーションの表示装置（ＣＲＴ、モニタ）に表示するためのものである。この画像データファイル１６０としては、ＡＳＣＩＩ形式で最も簡単なＰＰＭ（Portable Pix Map）の画像形式などを用いることができる。ＰＰＭを用いればＵＮＩＸ（登録商標）のユーティリティソフトなどにより、ワークステーションの表示装置に画像データを容易に表示できる。
【００４０】
図３に示すようにシミュレーション環境を構成するモデルとしては、表示ドライバの動作が記述された表示ドライバモデル１０や、表示ドライバにより駆動される表示パネルの動作が記述された表示パネルモデル９０がある。また表示ドライバの外部デバイスが含む外部インターフェース回路（ホスト側インターフェース回路）の動作が記述された外部インターフェース回路モデル１３０がある。
【００４１】
なお表示ドライバの初期状態を設定するための不揮発性メモリ（ＥＥＰＲＯＭ）の動作が記述された不揮発性メモリモデルを用いてもよい。また外部インターフェース回路を含む外部デバイスとしては、ＭＰＵ（Micro Processor Unit）、ベースバンドエンジン、アプリケーションプロセッサ、画像処理コントローラ（表示コントローラ）などのデバイス（ホストデバイス）がある。
【００４２】
図３では表示ドライバモデル１０は、データ信号を出力するデータドライバの動作が記述されたデータドライバモデル２０を含む。また走査信号を出力する走査ドライバの動作が記述された走査ドライバモデル３０や、画像データである階調データを記憶する表示メモリの動作が記述された表示メモリモデル４０を含む。また表示ドライバモデル１０は、電源回路の動作が記述された電源回路モデル５０や、表示制御信号を少なくとも生成するロジック回路の動作が記述されたロジック回路モデル７０を含む。またＭＰＵインターフェース回路やＲＧＢインターフェース回路やＹＵＶインターフェース回路や高速シリアルインターフェース回路などの内部インターフェース回路の動作が記述された内部インターフェース回路モデル８０を含む。
【００４３】
そして本実施形態では図３のシミュレーション処理部２１０が、テスト入力情報１５０と表示ドライバモデル１０と表示パネルモデル９０に基づいてシミュレーション処理を行う。具体的には、階調クロック（階調を刻むためのクロック）に基づきカウント値のカウント処理（カウント値のインクリメント又はデクリメント処理）を行う。そして表示ドライバモデル１０からのＰＷＭ（Pulse Width Modulation）のデータ信号のデータを表示パネルモデル９０に入力する。次に、表示パネルモデル９０により、ＰＷＭデータ信号の変化点（立ち上がりエッジ又は立ち下がりエッジ）を特定し、特定された変化点に対応するカウント値を取得し、取得されたカウント値に基づいて、ＰＷＭデータ信号の階調データを求める。具体的には、階調クロックにより得られたサンプリングクロック（階調クロックそのもの或いは階調クロックと所与の信号により得られたクロック）により、ＰＷＭデータ信号の変化点を特定する。例えばサンプリングクロックにより第Ｋ−１のタイミングでＰＷＭデータ信号をサンプリングした時の論理レベルと、次の第ＫのタイミングでＰＷＭデータ信号をサンプリングした時の論理レベルが異なる場合に、第Ｋのタイミングでのカウント値に応じて、ＰＷＭデータ信号の階調データを求める。この場合、表示ドライバモデルからの走査信号のデータに基づいて（走査信号のエッジにより）、求められた階調データが内部レジスタ部のレジスタに格納される。そして表示パネルに表示されるべき画像を検証用ワークステーションの表示装置に表示するための画像データファイル１６０に、求められた階調データ（シミュレーション結果データ）をフォーマット変換して出力する。
【００４４】
図３に示すように本実施形態によれば、表示パネルモデル９０、外部インターフェース回路モデル１３０などの周辺デバイスのモデルを加えた実装イメージでのシステムシミュレーションを実現できる。また表示ドライバ内部のアナログブロック（データドライバ、走査ドライバ、電源回路等）を、Verilogのビヘイビアモデルなどでモデル化している。またシミュレーション結果の変換を行い、表示イメージでの視覚検証を可能にしている。
【００４５】
例えば外部インターフェース回路モデル１３０（ＭＰＵモデル）に、テストベンチとして記述されたコマンドファイル１５２（ＭＰＵコマンド）を入力し、外部インターフェース回路モデル１３０の変換処理により、ＭＰＵインターフェース信号やＲＧＢインターフェース信号などのインターフェース信号のデータを生成する。そして、表示ドライバモデル１０の端子に、インターフェース信号のバイナリデータを入力する。同様に、画面に表示させる画像データ１５４も、外部インターフェース回路モデル１３０を介して表示ドライバモデル１０に入力する。この画像データ１５４としては例えばＲＧＢフォーマットのデータを使用する。なおＹＵＶフォーマットのデータを使用してもよい。
【００４６】
また表示ドライバの内部ブロックは、ロジック回路（ゲートアレイ）以外は、アナログ回路を含むアナログブロックが大半を占める。そしてアナログブロックは、ネットリスト出力によるVerilogの論理シミュレーションでは正しい動作を検証できないため、ブロックレベルの動作を記述したVerilogのビヘイビアモデルを使用する。このアナログブロックのビヘイビアモデルの作り方により、アナログ動作の検証レベルが変わってくるが、本実施形態では、例えばパワーオンシーケンスなどのアナログ制御動作を、論理シミュレーションで検証可能にしている。
【００４７】
具体的にはアナログブロックのビヘイビアモデルの特殊表現としては以下のものがある。
【００４８】
例えば表示パネルの走査信号に出力される走査電圧値はアナログ値であり、論理シミュレーションでは表現できない。そこで走査ドライバモデル３０では、走査電圧（選択電圧）の発生を論理「１」で表現している。
【００４９】
また昇圧動作による発生電圧の電位差はアナログ値であり、論理シミュレーションでは表現できない。そこで電源回路モデル５０では、昇圧条件を判定し、昇圧電圧の発生を論理「１」で表現している。即ち昇圧条件が満たされると、論理「１」を出力するようにしている。そして電源回路等が正常に動作していないと、電源回路等から信号を受けて動作するデータドライバや走査ドライバが動作しないように、データドライバや走査ドライバのビヘイビアモデルを作成する。即ち電源回路モデル５０から論理「１」が出力されていないと動作を開始しないようなモデルに、データドライバモデル２０や走査ドライバモデル３０を作成する。こうすることで、パワーオンシーケンスなどのアナログ制御動作が、論理シミュレーションで検証可能になる。
【００５０】
なお図３では、ロジック回路モデル７０として、ロジック回路（ゲートアレイ）のネットリストを使用している。即ちロジック回路（図１の５４０）は、アナログ要素を含まず、ネットリストをそのままVerilog等の論理シミュレータに入力できる。またロジック回路の構成、動作は、仕様により随時変更される。従って、ロジック回路モデル７０については、ロジック回路のネットリストをそのまま使用してVerilog等の論理シミュレーションを行うようにする。こうすることでシミュレーション精度を向上できると共に、様々な仕様の表示ドライバに対して本実施形態の検証シミュレーション手法を容易に適用できるようになる。なお内部インターフェース回路モデル８０についても、少なくともその一部に内部インターフェース回路のネットリストを使用するようにしてもよい。
【００５１】
３．ＰＷＭ方式の表示ドライバのシミュレーション
ＴＦＤ（Thin Film Diode）ドライバなどの表示ドライバでは、ＰＷＭ方式の駆動方式が採用されている。ＰＷＭ方式は、信号の時間幅で階調を変調する変調方式である。
【００５２】
この場合、ＰＷＭ方式の表示ドライバの表示検証シミュレーションを実現する手法として、データドライバ（セグメントドライバ）におけるＰＷＭの変調前のデータを階調データとして、画像データファイルを作成する手法が考えられる。
【００５３】
しかしながら、この手法では、データドライバを擬似的なビヘイビアモデルに置き換えてシミュレーションを行うため、データドライバの実回路の検証ができないという課題がある。即ちビヘイビアモデル自身が疑似モデルである以上、設計者が表示ドライバの動作、仕様を誤認したり、誤った動作モデルを作成してしまう可能性があり、検証の正当性を十分に保証できないおそれがある。
【００５４】
そこで本実施形態では、データドライバ（セグメントドライバ）のモデルとして、抽象度が低い実回路のモデルを用いる。即ちデータドライバのモデルについては、ブロックレベルの動作を記述したVerilogのビヘイビアモデルを使用せずに、レベルシフタなどの一部の回路を除いて、実回路のスケマチックにより出力したVerilogのネットリスト（及びVerilogのライブラリ）を使用して、シミュレーションを実行する。こうすれば、データドライバについては、設計者が意図した動作を確実に行うようになるため、モデルに起因する異常動作はほとんど生じなくなり、検証精度を向上できる。
【００５５】
ところで、ＰＷＭ方式では、データドライバの出力データ信号のパルス幅により階調が決められるため、パルス幅を階調データに逆変換することが課題となる。しかしながら、Verilogはデジタル論理シミュレーションであるため、時間の概念を「０」、「１」のシミュレーション結果に反映することはできない。そこで本実施形態では以下の手法により、ＰＷＭ方式の表示ドライバのシミュレーションを実現している。
【００５６】
図４、図５に本実施形態の表示ドライバモデル１０、表示パネルモデル９０の構成例を示す。図４に示すように表示ドライバモデル１０は表示メモリモデル４０とデータドライバモデル２０を含む。そしてデータドライバモデル２０はデータラッチ回路２２、ＰＷＭデータ信号生成回路２４、出力回路２６を含む。これらの回路については、実回路のスケマチックにより出力したVerilogのネットリストを用いる。
【００５７】
データラッチ回路２２は、表示メモリモデル４０からの６ビットの階調データをラッチする。例えばデータ線ＳＳ１に対応して設けられたデータラッチ回路２２は階調データＧＤ１［５：０］をラッチし、データ線ＳＳ２に対応して設けられたデータラッチ回路２２は階調データＧＤ２［５：０］をラッチする。この場合に必要であればラッチされた階調データの変換処理も行う。
【００５８】
ＰＷＭデータ信号生成回路２４は、ラッチされた階調データに基づいてＰＷＭ方式で変調されたＰＷＭデータ信号を生成する。具体的にはＰＷＭデータ信号生成回路２４は、階調クロックによりカウント値のカウント処理を行うカウンタと、カウンタからのカウント値と階調データの一致を検出し、一致した時にＰＷＭデータ信号を変化させる一致検出回路を含むことができる。
【００５９】
出力回路２６は、ＰＷＭデータ信号生成回路２４で生成されたＰＷＭデータ信号をデータ線ＳＳ１（ＳＳ２、ＳＳ３）に出力し、表示パネルのデータ線を駆動する。
【００６０】
表示パネルモデル９０は、データキャプチャ部９２、画像データファイル作成部９６を含む。そして図５に示すようにデータキャプチャ部９２は、カウント部１１０、サンプリングクロック生成部１１２、階調データ演算部１１４、内部レジスタ部１１６を含む。なおこれらの一部を省略する構成としてもよい。
【００６１】
カウント部１１０は、表示ドライバモデル１０からの階調クロック（階調クロックパルス）ＧＣＰに基づきカウント値ＣＮＴのカウント処理を行う。具体的には階調クロックＧＣＰの立ち上がりエッジに同期してカウント値ＣＮＴのインクリメント処理を行う。サンプリングクロック生成部１１２は、階調クロックＧＣＰと表示ドライバモデル１０からの階調リセット信号ＧＲＥＳに基づいてサンプリングクロックＳＣＫを生成する。具体的には階調クロックＧＣＰと階調リセット信号ＧＲＥＳの論理和によりサンプリングクロックＳＣＫを生成する。階調データ演算部１１４は、表示ドライバモデル１０からデータ線ＳＳ１、ＳＳ２、ＳＳ３・・・を介して出力されるＰＷＭデータ信号ＳＤ１、ＳＤ２、ＳＤ３・・・の変化点を特定し、カウント部１１０からのカウント値ＣＮＴに基づいて、ＰＷＭデータ信号の階調データを求める。そして求められた階調データＳＧＤ１［５：０］、ＳＧＤ２［５：０］、ＳＧＤ３［５：０］・・・ＳＧＤＬ［５：０］を内部レジスタ部１１６に出力する。
【００６２】
内部レジスタ部（記憶部）１１６は、表示パネルの全ての画素分の階調データを記憶するレジスタを有する。例えば表示パネルの走査線（コモン線）の本数が３２０本、データ線（セグメント線）の本数が２４０×３（ＲＧＢ）＝７２０本だとすると、３２０×７２０個のレジスタ（例えば６ビットのレジスタ）を有する。そして表示ドライバモデル１０からの走査信号ＧＳ１のデータが「１」から「０」に変化すると、内部レジスタ部１１６のレジスタのうち走査信号ＧＳ１に対応するレジスタに対して、階調データ演算部１１４からの階調データが格納されてキャプチャされる。同様に、表示ドライバモデル１０からの走査信号ＧＳ２のデータが「１」から「０」に変化すると、内部レジスタ部１１６のレジスタのうち走査信号ＧＳ２に対応するレジスタに対して、階調データ演算部１１４からの階調データが格納されてキャプチャされる。
【００６３】
画像データファイル作成部９６は、表示ドライバモデル１０からの信号ＶＳＹＮＣ（垂直同期信号）をトリガとして、内部レジスタ部１１６のレジスタに格納される階調データに基づき画像データファイル１６０を生成して出力する。
【００６４】
図６に本実施形態のシミュレーション処理のフローチャートを示し、図７に信号波形例を示す。
【００６５】
まずカウント部１１０のカウント値ＣＮＴのカウント処理を行う（ステップＳ１）。具体的には、図７のＤ１に示すようにカウント値ＣＮＴはリセット信号ＣＴＲＥＳによりリセットされて「０」になり、Ｄ２、Ｄ３に示すように階調クロックＧＣＰの立ち下がりエッジに同期して、「１」、「２」・・・というように順次インクリメントされる。そして６４階調の場合には例えばＤ４に示すように、カウント値ＣＮＴは「６２」になった後に、「０」にリセットされる。
【００６６】
そして表示ドライバモデル１０からのＰＷＭデータ信号のデータ（デジタルデータ）を表示パネルモデル９０に入力する（ステップＳ２）。そして、サンプリングクロックＳＣＫに基づき、ＰＷＭデータ信号の変化点を特定し、特定された変化点に対応するカウント値ＣＮＴをカウント部１１０から取得する（ステップＳ３、Ｓ４）。
【００６７】
具体的には図７ではＤ５、Ｄ６、Ｄ７に示すように、ＰＷＭデータ信号ＳＤ１、ＳＤ２、ＳＤ３の階調データＳＧＤ１、ＳＧＤ２、ＳＧＤ３は、各々、「０」、「１」、「２」になっている。またサンプリングクロックＳＣＫは、階調クロックＧＣＰと階調リセット信号ＧＲＥＳの論理和により生成される。そしてＤ８、Ｄ９、Ｄ１０、Ｄ１１に示すようにサンプリングクロックＳＣＫの立ち上がりエッジで、ＰＷＭデータ信号ＳＤ１、ＳＤ２、ＳＤ３・・・がサンプリングされて、解析される。
【００６８】
例えば、サンプリングクロックＳＣＫによりＤ８のタイミング（第Ｋ−１のタイミング）でＰＷＭデータ信号ＳＤ１をサンプリングした時の論理レベルは「０」であり、Ｄ９のタイミング（第Ｋのタイミング）でＳＤ１をサンプリングした時の論理レベルは「１」であり、異なっている。この場合には、Ｄ９のタイミング（第Ｋのタイミング）でのカウント値ＣＮＴ＝０がカウント部１１０から取得され、ＰＷＭデータ信号ＳＤ１の階調データＳＧＤ１＝ＣＮＴ＝０として求められる。
【００６９】
またサンプリングクロックＳＣＫによりＤ９のタイミング（第Ｋ−１のタイミング）でＰＷＭデータ信号ＳＤ２をサンプリングした時の論理レベルは「０」であり、Ｄ１０のタイミング（第Ｋのタイミング）でＳＤ２をサンプリングした時の論理レベルは「１」であり、異なっている。この場合には、Ｄ１０のタイミング（第Ｋのタイミング）でのカウント値ＣＮＴ＝１がカウント部１１０から取得され、ＰＷＭデータ信号ＳＤ２の階調データＳＧＤ２＝ＣＮＴ＝１として求められる。
【００７０】
次に、取得されたカウント値ＣＮＴを階調データとして内部レジスタ部１１６のレジスタに格納する（ステップＳ５）。そして格納された階調データに基づいて画像データファイルを作成する（ステップＳ６）。即ち１フレーム（１画面）分の階調データが内部レジスタ部１１６のレジスタに格納されると、格納された１フレーム分の階調データに基づき、画像データファイルが作成される。
【００７１】
以上の本実施形態の手法によれば、データドライバモデル２０のデータラッチ回路２２、ＰＷＭデータ信号生成回路２４、出力回路２６等は、例えば一部の回路を除いて、Verilogのビヘイビアモデルを使用せずに、Verilogのネットリストにより構成される。従って、実回路によりデータドライバのシミュレーションを実行できるため、アナログ動作モデルの不具合を原因とするシミュレーションの誤動作を効果的に防止できる。即ち仕様を誤認してモデル動作記述を行ってしまう確率も低くなり、検証精度を向上できる。
【００７２】
そしてこのようにデータドライバモデル２０として実回路のネットリストを用いた場合には、データ線ＳＳ１、ＳＳ２、ＳＳ３・・・には図７のＤ５、Ｄ６、Ｄ７・・・に示すようなＰＷＭで変調されたデータ信号ＳＤ１、ＳＤ２、ＳＤ３・・・が出力される。これらのＰＷＭデータ信号ＳＤ１、ＳＤ２、ＳＤ３・・・では、Ｄ５、Ｄ６、Ｄ７のタイミングまでの時間の長さ（論理レベル「０」の期間の長さ）が、階調データに対応する。
【００７３】
ところが、Verilogのようなデジタル論理シミュレーションを用いると、このような時間の長さを「０」、「１」のシミュレーション結果に反映させることができない。
【００７４】
この点、本実施形態では、表示パネルモデル９０側にカウント部１１０を設け、階調クロックＧＣＰに応じたサンプリングクロックＳＣＫでＰＷＭデータ信号ＳＤ１、ＳＤ２、ＳＤ３を解析し、カウント部１１０のカウント値ＣＮＴにより階調データを得ている。従って、図３に示すような実装イメージでのシステムシミュレーションを、Verilogなどのデジタル論理シミュレーションを用いて実現でき、検証効率を向上できる。
【００７５】
４．表示検証機能
さて、従来の検証シミュレーション手法では、図８に示すような信号波形を出力し、設計者がこれを目視で確認していた。しかしながら、このような信号波形の目視確認のみでは、バグ発見が複雑且つ困難であり、全ての信号波形を目視確認する作業も容易ではないという問題があった。
【００７６】
そこで本実施形態では図２、図３に示すように、シミュレーション結果データを、ワークステーションの表示装置に表示可能な形式の画像データファイル１６０に変換して出力し、これまでの検証シミュレータでは実現できなかった表示検証機能を実現している。
【００７７】
図９に画像データファイル１６０の一例を示す。なお本実施形態の画像データファイル１６０は図９のフォーマットに限定されず、種々の変形実施が可能である。
【００７８】
図９の画像データファイル１６０は、ＰＰＭ（Portable Pix Map）と呼ばれるＡＳＣＩＩ形式で最も簡単な画像フォーマットのファイルである。具体的には画像データファイル１６０は、フォーマット識別子（Ｐ１：２値ＡＳＣＩＩ、Ｐ２：グレースケールＡＳＣＩＩ、Ｐ３：フルカラーＡＳＣＩＩ）、画像サイズ（横、縦）、階調数（最大色調値）、画像データ（１０進の階調値で表されたＲＧＢの画像データ）を含む。そしてシミュレーション終了後に、作成された画像データファイル１６０を、ＵＮＩＸ（登録商標）のユーティリティソフト等を用いてワークステーションの表示装置の画面に画像表示して、表示ドライバの動作検証を行う。
【００７９】
図１０（Ａ）（Ｂ）に本実施形態の検証シミュレータの表示検証機能により発見されたバグの例を示す。例えば図１０（Ａ）では、白黒のチェッカーパターンを表示した画面の最終表示ブロックが、緑色になってしまうという異常表示のバグが発生している。このバグは、ロジック回路（ゲートアレイ）により制御されるデータドライバのデータ信号が、最終表示ブロックの表示タイミングで出力されなかったことが原因で発生したものである。このようなバグは、図８のような信号波形の目視では到底発見することができない。
【００８０】
このような場合にも本実施形態の表示検証機能によれば、表示パネルの表示画像と同様の画像を表示装置に表示するための画像データファイル１６０に、シミュレーション結果データがフォーマット変換される。従って、ワークステーションの表示装置に表示される画像にも、図１０（Ａ）と同様の異常な緑色表示が発生するようになるため、設計者はバグを確実且つ容易に発見できる。
【００８１】
また図１０（Ｂ）では、通常の１画面表示であるべきものが２画面表示になってしまうバグが発生している。このバグは、コマンドにより上下駆動が選択されていたにもかかわらず、櫛歯駆動で表示させるデータが出力されていたため、発生したものである。具体的には、ハードリセットの解除時間が長すぎたため、表示ドライバへのコマンドが受け付けられず、駆動モード選択回路が正しく動作しなかったことが原因で、バグが発生した。
【００８２】
このような場合にも本実施形態の表示検証機能によれば、表示パネルの表示画像と同様の２画面表示画像がワークステーションの表示装置に表示されるようになるため、設計者はバグを確実且つ容易に発見できる。
【００８３】
これ以外にも例えば、ＲＧＢデータのＲデータが消失し、色褪せた画像が表示されてしまうようなバグについても、本実施形態の表示検証機能によれば確実且つ容易に発見できる。
【００８４】
以上のように、本実施形態の表示検証機能によれば、シミュレーション結果を、表示画像という形で視覚的に瞬時に捉えることが可能になる。また複雑な制御信号の全てを波形表示で目視確認しなくても済むため、設計効率を向上できる。また仕様を熟知した設計者でも発見が困難なバグについても、発見が可能になる。また細かな動作仕様を理解していない設計者でも検証作業に携わることが可能になり、作業の分業化が可能になる。このように本実施形態の表示検証機能によれば、信号波形を確認する手法に比べて検証精度の向上と検証作業の効率化を図れるという利点がある。
【００８５】
５．外部インターフェース回路モデル
これまでの検証シミュレーション手法では、論理検証言語の１つであるVerilogの記述を用いて、テストパターン（テスト入力情報）を（１、０）のバイナリデータで作成していた。或いは、テストパターンの信号タイミングをタスク記述し、それを繰り返し使用することで、信号入力の簡略化を図っていた。
【００８６】
しかしながら、検証対象デバイスである表示ドライバの仕様は、年々、複雑になって来ており、テストパターンをバイナリデータの信号入力で作成することは、非現実的になっている。またタスク記述を用いる手法においても、複数の形式のインターフェース信号の記述を個別に用意してしまうと、仕様毎に異なるテストパターンの記述が必要になってしまう。このためテストパターンの管理が煩雑化するなどの問題が生じる。
【００８７】
そこで本実施形態では図２、図３に示すように、表示ドライバ（検証対象デバイス）の外部デバイス（ホストデバイス）が含む外部インターフェース回路の動作が記述された外部インターフェース回路モデル１３０を用意する。即ち内部インターフェース回路モデル８０に入力されるインターフェース信号を生成する外部インターフェース回路モデル１３０を用意する。またテスト入力情報１５０（テストベンチ）に、表示ドライバのレジスタに設定されるべきコマンドが記述されたコマンドファイル１５２を含ませる。
【００８８】
そしてコマンドファイル１５２を外部インターフェース回路モデル１３０に入力し、コマンドファイルに基づき外部インターフェース回路モデル１３０により生成されたインターフェース信号のデータ（バイナリデータ）を、表示ドライバモデル１０に入力するシミュレーション処理を行う。この場合、外部インターフェース回路モデル１３０によりデータを生成できるインターフェース信号としては、ＭＰＵインターフェース信号、ＲＧＢインターフェース信号がある。或いはシリアルインターフェース信号（ＣＭＯＳレベルのシリアルインターフェース信号、差動シリアルインターフェース信号）やＹＵＶインターフェース信号であってもよい。
【００８９】
例えば図１１にコマンドファイル１５２の一例を示す。図１１のＣ１に示すＩＭＯＤＥは、インターフェースモードを指定するコマンドである。外部インターフェース回路モデル１３０では、このＩＭＯＤＥで指定される形式のインターフェース信号のデータが生成され、表示ドライバモデル１０に入力される。例えば図１１のＣ１では、１６ビットのバス幅で、ＲＡＭのリード、ライトが可能なＭＰＵインターフェース信号のモードが指定されている。
【００９０】
図１１のＣ２に示すＣｍｄＶＤＤＯＮは、ＶＤＤのレギュレータを動作状態にし、内部の基準電圧発生回路を起動するためのコマンドである。Ｃ３に示すＣｍｄＳｏｆｔＲｅｓｅｔは、ハードリセットを行うことなくハードリセットと同様のリセット（ソフトリセット）を行うためのコマンドである。Ｃ４に示すＣｍｄＳｅｔＰｗｒＣｔｌは、電源回路の機能のオン、オフや能力を制御する電源設定を行うためのコマンドであり、電源設定の詳細についてはパラメータで指定される。Ｃ５に示すＣｍｄＳｅｔＰｔｌＰｗｒＣｔｌは、パーシャル表示時の非表示領域及びフロントポーチ期間の電源設定を行うためのコマンドであり、電源設定の詳細についてはパラメータで指定される。
【００９１】
Ｃ６に示すＣｍｄＳｅｔＳｃａｎＭｏｄは、走査ドライバのスキャンモードを設定するためのコマンドであり、例えばパラメータにより順方向スキャンや逆方向スキャンが設定される。Ｃ７に示すＣｍｄＳｅｔＡｌｔＤｒｖは、交流駆動の状態を設定するためのコマンドであり、例えばパラメータにより１ライン反転駆動、２ライン反転駆動、フレーム反転駆動、インターレス駆動が設定される。Ｃ８に示すＣｍｄＳｌｅｅｐＯｕｔは、自動オンシーケンスを実行するためのコマンドである。Ｃ９に示すＣｍｄＷｒＲａｍは、表示メモリであるＲＡＭへのライトコマンドである。Ｃ１０に示すｔａｓｋＦｉｌｌＭｅｍは画像データを指定して送るためのコマンドである。Ｃ１１に示すＣｍｄＯｎＤｉｓｐは、表示パネルをオンにするためのコマンドであり、このコマンドにより、表示メモリに格納された画像データがＰＷＭデータ信号に変換され、表示パネルへの画像表示が開始する。Ｃ１２、Ｃ１３に示すＣｍｄＰａｒｔｉａｌＩｎは、パーシャル表示状態の設定を行うためのコマンドであり、パラメータによりパーシャル開始ラインやパーシャル終了ラインなどが設定される。なおＣ１４、Ｃ１５はウェイト時間を指定するためのものである。
【００９２】
本実施形態では図１１に示すようなコマンドファイル１５２に記述されたコマンドにより、表示ドライバ（検証対象デバイス）の動作モードが指定される。そして、これらのコマンドで指定される動作モードに表示ドライバを設定するためのインターフェース信号のデータが、表示ドライバモデル１０に入力されるようになる。
【００９３】
図１２（Ａ）（Ｂ）にＭＰＵインターフェース信号の例を示す。図１２（Ａ）はライト時の例であり、図１２（Ｂ）はリード時の例である。図１２（Ａ）（Ｂ）に示すように、データ／コマンド識別信号Ａ０が「０」（ローレベル）でライト信号ＸＷＲ（Ｘは負論理を表す）が「０」である場合には、コマンドライトが行われ、信号Ａ０が「０」でリード信号ＸＲＤが「０」である場合には、リビジョンリードが行われる。また信号Ａ０が「１」（ハイレベル）で信号ＸＷＲが「０」である場合には、ＲＡＭライト（表示メモリへの画像データのライト）又はコマンドパラメータのライトが行われ、信号Ａ０が「１」で信号ＸＲＤが「０」である場合には、ＲＡＭリード（表示メモリからの画像データのリード）が行われる。
【００９４】
図１２（Ｃ）にシリアルインターフェース信号の例を示す。図１２（Ｃ）はライト時のシリアルインターフェース信号の例である。図１２（Ｃ）において、Ｄ／Ｃはデータとコマンドを識別を意味し、Ｃｎはコマンドのビットｎを意味する。またＰｎはコマンドパラメータのビットｎを意味する。９ビットのシリアルデータ（１パケット）の転送中は、チップセレクト信号ＸＣＳを「０」に保つ必要があり、１パケットの転送中に信号ＸＣＳを「１」にすると、転送中のパケットはキャンセルされる。そして再び信号ＸＣＳを「０」にすることで、パケットの再転送の受け付け状態になる。
【００９５】
図１２（Ｄ）にＲＧＢインターフェース信号の例を示す。ＲＧＢインターフェースは動画表示に最適なインターフェースであり、表示メモリへの画像データのライトが行われる。図１２（Ｄ）に示すように、ＲＧＢインターフェースでは、表示タイミング基準クロック信号にＤＯＴＣＬＫを用いる。また垂直同期信号ＶＳＹＮＣＩの立ち下がりエッジの検出後、水平同期信号ＨＳＹＮＣの立ち下がりエッジを検出した時点で、強制的にフレーム先頭（バックポーチの１ライン目）に同期を行う。バックポーチライン数、表示ライン数は、表示ドライバのレジスタへのコマンドで設定する。またＲＧＢインターフェースでは、信号ＶＳＹＮＣＩ、ＨＳＹＮＣ、ＥＮＡＢＬＥ、画像データＤ１７〜Ｄ０は、クロック信号ＤＯＴＣＬＫの立ち下がりエッジで読み込まれる。そして信号ＥＮＡＢＬＥが「０」の期間でのみ、１画素（ＲＧＢ）の画像データを表示メモリに書き込む。
【００９６】
なお外部インターフェース回路モデル１３０により生成できるインターフェース信号は、図１２（Ａ）〜（Ｄ）に示すようなＭＰＵインターフェース信号、シリアルインターフェース信号、ＲＧＢインターフェース信号に限定されない。例えば図１２（Ｅ）に示すようなＹＵＶインターフェース信号（カメラインターフェース信号）を生成するようにしてもよい。またシリアルインターフェース信号は図１２（Ｃ）に示すようなＣＭＯＳ電圧レベルの信号に限定されず、差動信号等を用いた小振幅のシリアル信号（ＬＶＤＳ）であってもよい。
【００９７】
図１３（Ａ）（Ｂ）に外部インターフェース回路モデル１３０の構成例を示す。図１３（Ａ）は、図１２（Ａ）（Ｂ）のＭＰＵインターフェース信号や図１２（Ｃ）のシリアルインターフェース信号の生成を実現するモデルの例である。なお図１２（Ｄ）のＲＧＢインターフェース信号の生成についても同様のモデルにより実現できる。
【００９８】
コマンド処理タスク部１３２は、テスト入力情報１５０（コマンドファイル、画像データ）に基づいてコマンドレベルのタスク処理を行う。具体的にはコマンドとパラメータの識別処理を行う。またインターフェースモード指定コマンド（ＩＭＯＤＥ）により指定されるインターフェースが、パラレル転送なのかシリアル転送なのかを識別したり、ライトなのかリードなのかを識別する処理を行う。
【００９９】
信号生成タスク部１３４は、コマンド処理タスク部１３２からの変数レベルでの入力を受け、信号レベルでの処理を行う。即ち入力されたコマンドファイルのコマンドや画像データに基づいて、タイミング等を考慮しながら、インターフェース信号ＸＣＳ、ＸＲＥＳ、Ａ０、ＸＲＤ、ＸＷＲ、ＩＦ１、ＩＦ２、ＩＦ３、ＤＡＴＡ［Ｎ：０］、ＳＣＬ、ＳＤに対してバイナリデータ「１」「０」の割り振りを行う。これにより図１２（Ａ）（Ｂ）（Ｃ）に示すようなＭＰＵインターフェース信号、シリアルインターフェース信号のデータが生成されて、表示ドライバモデル１０に入力されるようになる。なお図１３（Ｂ）は、高速シリアルインターフェース信号の生成を実現するモデルの例である。
【０１００】
以上のような外部インターフェース回路モデル１３０を用いる本実施形態の手法によれば以下の利点がある。即ちVerilog記述やタスク記述を用いてテストパターンを生成する手法では、検証対象デバイスの仕様が複雑になるにつれて、テストパターンの作成が非現実的になったり、テストパターンの管理が繁雑化するなどの問題があった。
【０１０１】
これに対して外部インターフェース回路モデル１３０を用いる本実施形態の手法によれば、設計者が簡単なモード設定を行うことで、様々なＭＰＵタイプ（Ｃ８０系、６８系）、転送モード（パラレル転送、シリアル転送）、バス幅（８、９、１６、１８ビット）のインターフェース信号のデータが自動生成されて、表示ドライバモデル１０に入力されるようになる。従ってテスト入力情報（テストパターン）の作成の工数を大幅に減らすことができ、開発期間の短縮化を図れる。
【０１０２】
また、設計者が、図１１に示すようなコマンドが羅列されたコマンドファイルを作成するだけで、図１２（Ａ）〜（Ｅ）に示すような様々なタイプのインターフェース信号が生成されるようになる。即ち設計者は、表示ドライバの設計仕様書に従ったコマンドを記述して、図１１に示すようなコマンドファイルを作成するだけで、様々なタイプのインターフェース信号が自動生成される。従って設計者は、Verilogの記述フォーマットを熟知していなくても、容易にテスト入力情報を作成できるようになり、テスト入力情報の作成を容易化できる。
【０１０３】
また同じ画像データを用いながら、コマンドファイルのコマンド記述を変えるだけで、異なる形式の様々なインターフェース信号のデータが自動生成されるようになるため、テスト入力情報の作成工数の更なる低減化を図れる。
【０１０４】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。
【０１０５】
また検証シミュレータの構成や検証シミュレーション手法も本実施形態で説明したものに限定されるものでない。例えばシミュレーション結果データを画像データファイルとして出力しない手法や、外部インターフェース回路モデルを利用しない手法を採用してもよい。またシミュレーション手法も、Verilogなどのデジタル論理シミュレーション手法に限定されるものではない。
【図面の簡単な説明】
【０１０６】
【図１】検証対象デバイスである表示ドライバの構成例。
【図２】本実施形態の検証シミュレータの構成例。
【図３】本実施形態の検証シミュレータのシミュレーション環境。
【図４】データドライバモデル、表示パネルモデルの例。
【図５】表示パネルモデルの詳細例。
【図６】本実施形態のシミュレーション処理のフローチャート。
【図７】本実施形態のシミュレーション処理の信号波形例。
【図８】シミュレーション結果として信号波形を出力する手法の説明図。
【図９】画像データファイルの例。
【図１０】図１０（Ａ）（Ｂ）は検証シミュレータにより発見されたバグの例。
【図１１】コマンドファイルの例。
【図１２】図１２（Ａ）〜図１２（Ｅ）は種々の形式のインターフェース信号の例。
【図１３】図１３（Ａ）（Ｂ）はインターフェース信号の説明図。
【符号の説明】
【０１０７】
１０  表示ドライバモデル、２０  データドライバモデル、３０  走査ドライバモデル、４０  表示メモリモデル、５０  電源回路モデル、７０  ロジック回路モデル、
８０  内部インターフェース回路モデル、９０  表示パネルモデル、
９２  データキャプチャ部、９６  画像データファイル作成部、１１０  カウント部、
１１２  サンプリングクロック生成部、１１４  階調データ演算部、
１１６  内部レジスタ部、１３０  外部インターフェース回路モデル、
１５０  テスト入力情報、１５２  コマンドファイル、１５４  画像データ、
１６０  画像データファイル、
【図１】
0004561666.tif 000002
【図２】
0004561666.tif 000003
【図３】
0004561666.tif 000004
【図４】
0004561666.tif 000005
【図５】
0004561666.tif 000006
【図６】
0004561666.tif 000007
【図７】
0004561666.tif 000008
【図８】
0004561666.tif 000009
【図９】
0004561666.tif 000010
【図１０】
0004561666.tif 000011
【図１１】
0004561666.tif 000012
【図１２】
0004561666.tif 000013
【図１３】
0004561666.tif 000014