(57)【要約】【課題】  LSIのメモリ上で実際に各種検証プログラムを動作させて、LSIの動作検証を行う際の検証効率を向上させる。【解決手段】  LSI2の動作を検証する場合、共通処理プログラム展開手段111が、書き込み装置４を用いて、共通処理プログラムをLSI2のメモリ上に展開し、起動する。共通処理プログラムは、LSI2の動作を検証する検証プログラムを、LSI2のメモリ上の指示された展開先アドレスに展開する機能と、メモリ上に展開されている検証プログラムの内の指示された検証プログラムを起動する機能とを有する。従ってこれ以後は、共通処理プログラムを利用して検証プログラムをLSI2のメモリ上に展開し、実行させることが可能となるので、LSI2の動作検証に複数の検証プログラムが必要になる場合、検証効率を向上させることが可能になる。【選択図】      図１
2006331277.tif 000002
【特許請求の範囲】
【請求項１】
ＬＳＩの動作を検証するＬＳＩ検証システムにおいて、
前記ＬＳＩの動作を検証する検証プログラムを前記ＬＳＩのメモリ上の指示された展開先アドレスに展開する機能と、前記メモリ上に展開されている検証プログラムの内の指示された検証プログラムを起動する機能とを有する共通処理プログラムを、前記ＬＳＩのメモリ上に展開して起動する共通処理プログラム展開手段を備えたことを特徴とするＬＳＩ検証システム。
【請求項２】
請求項１記載のＬＳＩ検証システムにおいて、
前記メモリ上に展開させる検証プログラムおよびその展開先アドレスを指示する第１の命令と、起動させる検証プログラムを指示する第２の命令とを含んだ検証シナリオから順次命令を読み込み、第１の命令を読み込んだ場合は、該第１の命令によって指示されている検証プログラムを前記ＬＳＩに転送すると共に、前記メモリ上に展開されている共通処理プログラムに対して前記第１の命令中の展開先アドレスを指示し、前記第２の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対して、前記第２の命令によって指定されている検証プログラムの起動を指示する検証シナリオ処理手段とを備えたことを特徴とするＬＳＩ検証システム。
【請求項３】
請求項２記載のＬＳＩ検証システムにおいて、
前記検証シナリオが、
ログを収集する前記メモリ上のアドレスを含んだ第３の命令と、ログの収集周期を指示する第４の命令とを含み、
前記検証シナリオ処理手段が、
第３の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対してログの収集対象アドレスとして前記第３の命令中のアドレスを指示し、第４の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対して前記第４の命令中の収集周期を指示する構成を有し、
前記共通処理プログラムが、
前記検証シナリオ処理手段から収集対象アドレスが指示されたとき、該収集対象アドレスを保持し、収集周期が指示されたとき、前記メモリ上の前記収集対象アドレスからの前記収集周期でのログの収集処理を開始する構成を有することを特徴とするＬＳＩ検証システム。
【請求項４】
請求項３記載のＬＳＩ検証システムにおいて、
前記検証シナリオが、
書き込むべき値とその書き込み先のアドレスとを含んだ第５の命令と、読み出し先のアドレスを含んだ第６の命令とを含み、
前記検証シナリオ処理手段が、
前記第５の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対して、前記第５の命令に含まれている書き込むべき値と書き込み先のアドレスとを指示し、前記第６の命令を読み込んだ場合は、前記共通処理プログラムに対して前記第６の命令に含まれている読み出し先のアドレスを指示する構成を有し、
前記共通処理プログラムが、
前記検証シナリオ処理手段から、書き込むべき値と書き込み先のアドレスとが指示されたとき、前記値を前記アドレスに書き込み、読み出し先のアドレスが指示されたとき、前記アドレスの値を前記検証シナリオ処理手段に返却する構成を有することを特徴とするＬＳＩ検証システム。
【請求項５】
請求項３記載のＬＳＩ検証システムにおいて、
シンボルとアドレスとの対応関係が登録されたシンボル・アドレス対応テーブルと、
該シンボル・アドレス対応テーブルの内容を更新するテーブル更新手段とを備え、且つ、
前記第３の命令が、収集対象アドレスの代わりに該収集対象アドレスに対応するシンボルを含み、
前記検証シナリオ処理手段が、
前記第３の命令を読み込んだ場合、前記シンボル・アドレス対応テーブルから前記第３の命令中のシンボルに対応するアドレスを検索し、該検索したアドレスを前記共通処理プログラムに指示する収集対象アドレスとする構成を有することを特徴とするＬＳＩ検証システム。
【請求項６】
請求項４記載のＬＳＩ検証システムにおいて、
シンボルとアドレスとの対応関係が登録されたシンボル・アドレス対応テーブルと、
該シンボル・アドレス対応テーブルの内容を更新するテーブル更新手段とを備え、且つ、
前記第３の命令が、収集対象アドレスの代わりに該収集対象アドレスに対応するシンボルを含み、
前記第５の命令が、書き込み先のアドレスの代わりに該書き込み先のアドレスに対応するシンボルを含み、
前記第６の命令が、読み出し先のアドレスの代わりに該読み出し先のアドレスに対応するシンボルを含み、
前記検証シナリオ処理手段が、
前記第３の命令を読み込んだ場合、前記シンボル・アドレス対応テーブルから前記第３の命令中のシンボルに対応するアドレスを検索し、該検索したアドレスを前記共通処理プログラムに指示する収集対象アドレスとし、前記第５の命令を読み込んだ場合、前記シンボル・アドレス対応テーブルから前記第５の命令中のシンボルに対応するアドレスを検索し、該検索したアドレスを前記共通処理プログラムに対して指示する書き込み先アドレスとし、前記第６の命令を読み込んだ場合、前記シンボル・アドレス対応テーブルから前記第６の命令中のシンボルに対応するアドレスを検索し、該検索したアドレスを前記共通処理プログラムに対して指示する読み出し先アドレスとする構成を有することを特徴とするＬＳＩ検証システム。
【請求項７】
ＬＳＩの動作を検証するＬＳＩ検証方法において、
共通処理プログラム展開手段が、前記ＬＳＩの動作を検証する検証プログラムを前記ＬＳＩのメモリ上の指示された展開先アドレスに展開する機能と、前記メモリ上に展開されている検証プログラムの内の指示された検証プログラムを起動する機能とを有する共通処理プログラムを、前記ＬＳＩのメモリ上に展開して起動することを特徴とするＬＳＩ検証方法。
【請求項８】
請求項７記載のＬＳＩ検証方法において、
検証シナリオ処理手段が、前記メモリ上に展開させる検証プログラムおよびその展開先アドレスを指示する第１の命令と、起動させる検証プログラムを指示する第２の命令とを含んだ検証シナリオから順次命令を読み込み、第１の命令を読み込んだ場合は、該第１の命令によって指示されている検証プログラムを前記ＬＳＩに転送すると共に、前記メモリ上に展開されている共通処理プログラムに対して前記第１の命令中の展開先アドレスを指示し、前記第２の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対して、前記第２の命令によって指定されている検証プログラムの起動を指示することを特徴とするＬＳＩ検証方法。
【請求項９】
請求項８記載のＬＳＩ検証方法において、
前記シナリオが、
ログを収集する前記メモリ上のアドレスを含んだ第３の命令と、ログの収集周期を指示する第４の命令とを含み、
前記検証シナリオ処理手段が、
第３の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対してログの収集対象アドレスとして前記第３の命令中のアドレスを指示し、第４の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対して前記第４の命令中の収集周期を指示し、
前記共通処理プログラムが、
前記検証シナリオ処理手段から収集対象アドレスが指示されたとき、該収集対象アドレスを保持し、収集周期が指示されたとき、前記メモリ上の前記収集対象アドレスからの前記収集周期でのログの収集処理を開始することを特徴とするＬＳＩ検証方法。
【請求項１０】
請求項９記載のＬＳＩ検証方法において、
前記検証シナリオが、
書き込むべき値とその書き込み先のアドレスとを含んだ第５の命令と、読み出し先のアドレスを含んだ第６の命令とを含み、
前記検証シナリオ処理手段が、
前記第５の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対して、前記第５の命令に含まれている書き込むべき値と書き込み先のアドレスとを指示し、前記第６の命令を読み込んだ場合は、前記共通処理プログラムに対して前記第６の命令に含まれている読み出し先のアドレスを指示し、
前記共通処理プログラムが、
前記検証シナリオ処理手段から、書き込むべき値と書き込み先のアドレスとが指示されたとき、前記値を前記アドレスに書き込み、読み出し先のアドレスが指示されたとき、前記アドレスの値を前記検証シナリオ処理手段に返却することを特徴とするＬＳＩ検証方法。
【請求項１１】
請求項９記載のＬＳＩ検証方法において、
シンボルとアドレスとの対応関係が登録されたシンボル・アドレス対応テーブルを有し、
前記第３の命令が、収集対象アドレスの代わりに該収集対象アドレスに対応するシンボルを含み、
前記検証シナリオ処理手段が、前記第３の命令を読み込んだ場合、前記シンボル・アドレス対応テーブルから前記第３の命令中のシンボルに対応するアドレスを検索し、該検索したアドレスを前記共通処理プログラムに指示する収集対象アドレスとし、
テーブル更新手段が、検証者の指示に従って前記シンボル・アドレス対応テーブルの内容を更新することを特徴とするＬＳＩ検証方法。
【請求項１２】
請求項１０記載のＬＳＩ検証方法において、
シンボルとアドレスとの対応関係が登録されたシンボル・アドレス対応テーブルを有し、
前記第３の命令が、収集対象アドレスの代わりに該収集対象アドレスに対応するシンボルを含み、
前記第５の命令が、書き込み先のアドレスの代わりに該書き込み先のアドレスに対応するシンボルを含み、
前記第６の命令が、読み出し先のアドレスの代わりに該読み出し先のアドレスに対応するシンボルを含み、
前記検証シナリオ処理手段が、前記第３の命令を読み込んだ場合、前記シンボル・アドレス対応テーブルから前記第３の命令中のシンボルに対応するアドレスを検索し、該検索したアドレスを前記共通処理プログラムに指示する収集対象アドレスとし、前記第５の命令を読み込んだ場合、前記シンボル・アドレス対応テーブルから前記第５の命令中のシンボルに対応するアドレスを検索し、該検索したアドレスを前記共通処理プログラムに対して指示する書き込み先アドレスとし、前記第６の命令を読み込んだ場合、前記シンボル・アドレス対応テーブルから前記第６の命令中のシンボルに対応するアドレスを検索し、該検索したアドレスを前記共通処理プログラムに対して指示する読み出し先アドレスとし、
テーブル更新手段が、検証者の指示に従って前記シンボル・アドレス対応テーブルの内容を更新することを特徴とするＬＳＩ検証方法。
【請求項１３】
コンピュータを、
ＬＳＩの動作を検証する検証プログラムをＬＳＩのメモリ上の指示された展開先アドレスに展開する機能と、前記メモリ上に展開されている検証プログラムの内の指示された検証プログラムを起動する機能とを有する共通処理プログラムを、前記ＬＳＩのメモリ上に展開して起動する共通処理プログラム展開手段として機能させるためのプログラム。
【請求項１４】
請求項１３のプログラムにおいて、
前記コンピュータを、
前記メモリ上に展開させる検証プログラムおよびその展開先アドレスを指示する第１の命令と、起動させる検証プログラムを指示する第２の命令とを含んだ検証シナリオから順次命令を読み込み、第１の命令を読み込んだ場合は、該第１の命令によって指示されている検証プログラムを前記ＬＳＩに転送すると共に、前記メモリ上に展開されている共通処理プログラムに対して前記第１の命令中の展開先アドレスを指示し、前記第２の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対して、前記第２の命令によって指定されている検証プログラムの起動を指示する検証シナリオ処理手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証対象にするＬＳＩ上で実際に検証プログラムを動作させてＬＳＩの動作を検証するＬＳＩ検証技術に関する。
【背景技術】
【０００２】
従来からＬＳＩの動作を検証する場合、ＬＳＩの入力端子にテストパターンを入力し、出力端子から出力された出力パターンと予め求めておいた期待値とを比較することにより、ＬＳＩの動作を検証するということが行われている（例えば、特許文献１参照）。しかし、この方法は、外部からＬＳＩにテストパターンを入力するようにしているため、検証効率を高いものにすることが難しかった。
【０００３】
通信制御ＬＳＩ等のように、ＣＰＵやメモリを有し、メモリに格納されたプログラムに従った処理を実行することが可能なＬＳＩの動作を検証する場合には、ＬＳＩのメモリ上で実際に検証プログラム（例えば、データの送受信動作や、ログの収集動作を行うプログラム）を動作させ、ＬＳＩの動作を検証するようにすると、検証効率を高いものとすることができると考えられる。
【０００４】
ところで、上記したように、ＬＳＩ上で検証プログラムを実行してＬＳＩの動作を検証する場合には、検証プログラムをＬＳＩのメモリ上に展開することが必要になり、展開方法としては、フラッシュライタ等の書き込み装置を用いて、人手で検証プログラムをメモリ上に展開する方法が考えられる。
【特許文献１】特開２００３−２４２１９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、フラッシュライタ等の専用の書き込み装置を用いて検証プログラムをＬＳＩのメモリ上に展開すると、メモリ上には１種類の検証プログラムしか展開することができない。このため、或るＬＳＩについて複数の検証プログラムが存在する場合、１つの検証プログラムによる検証が終了する毎に、次の検証プログラムを書き込み装置を用いて人手でメモリ上に展開しなければならず、検証作業を効率的に行うことができないという問題がある。例えば、複数ある検証項目の検証順を代えて検証を行うことが必要になる場合は、項目毎に検証プログラムを用意しておき、１つの検証項目の検証プログラムが終了する毎に、次の検証項目を検証するための検証プログラムを書き込み装置を用いて人手でメモリ上に展開しなければならないので、検証効率が悪いという問題があった。
【０００６】
〔発明の目的〕
そこで、本発明の目的は、ＬＳＩの動作検証を効率的に行えるようにすることにある。
【課題を解決するための手段】
【０００７】
本発明にかかる第１のＬＳＩ検証システムは、
ＬＳＩの動作を検証するＬＳＩ検証システムにおいて、
前記ＬＳＩの動作を検証する検証プログラムを前記ＬＳＩのメモリ上の指示された展開先アドレスに展開する機能と、前記メモリ上に展開されている検証プログラムの内の指示された検証プログラムを起動する機能とを有する共通処理プログラムを、前記ＬＳＩのメモリ上に展開して起動する共通処理プログラム展開手段を備えたことを特徴とする。
【０００８】
本発明にかかる第２のＬＳＩ検証システムは、第１のＬＳＩ検証システムにおいて、
前記メモリ上に展開させる検証プログラムおよびその展開先アドレスを指示する第１の命令と、起動させる検証プログラムを指示する第２の命令とを含んだ検証シナリオから順次命令を読み込み、第１の命令を読み込んだ場合は、該第１の命令によって指示されている検証プログラムを前記ＬＳＩに転送すると共に、前記メモリ上に展開されている共通処理プログラムに対して前記第１の命令中の展開先アドレスを指示し、前記第２の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対して、前記第２の命令によって指定されている検証プログラムの起動を指示する検証シナリオ処理手段とを備えたことを特徴とする。
【０００９】
本発明にかかる第３のＬＳＩ検証システムは、第２のＬＳＩ検証システムにおいて、
前記検証シナリオが、
ログを収集する前記メモリ上のアドレスを含んだ第３の命令と、ログの収集周期を指示する第４の命令とを含み、
前記検証シナリオ処理手段が、
第３の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対してログの収集対象アドレスとして前記第３の命令中のアドレスを指示し、第４の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対して前記第４の命令中の収集周期を指示する構成を有し、
前記共通処理プログラムが、
前記検証シナリオ処理手段から収集対象アドレスが指示されたとき、該収集対象アドレスを保持し、収集周期が指示されたとき、前記メモリ上の前記収集対象アドレスからの前記収集周期でのログの収集処理を開始する構成を有することを特徴とする。
【００１０】
本発明にかかる第４のＬＳＩ検証システムは、第３のＬＳＩ検証システムにおいて、
前記検証シナリオが、
書き込むべき値とその書き込み先のアドレスとを含んだ第５の命令と、読み出し先のアドレスを含んだ第６の命令とを含み、
前記検証シナリオ処理手段が、
前記第５の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対して、前記第５の命令に含まれている書き込むべき値と書き込み先のアドレスとを指示し、前記第６の命令を読み込んだ場合は、前記共通処理プログラムに対して前記第６の命令に含まれている読み出し先のアドレスを指示する構成を有し、
前記共通処理プログラムが、
前記検証シナリオ処理手段から、書き込むべき値と書き込み先のアドレスとが指示されたとき、前記値を前記アドレスに書き込み、読み出し先のアドレスが指示されたとき、前記アドレスの値を前記検証シナリオ処理手段に返却する構成を有することを特徴とする。
【００１１】
本発明にかかる第５のＬＳＩ検証システムは、第３のＬＳＩ検証システムにおいて、
シンボルとアドレスとの対応関係が登録されたシンボル・アドレス対応テーブルと、
該シンボル・アドレス対応テーブルの内容を更新するテーブル更新手段とを備え、且つ、
前記第３の命令が、収集対象アドレスの代わりに該収集対象アドレスに対応するシンボルを含み、
前記検証シナリオ処理手段が、
前記第３の命令を読み込んだ場合、前記シンボル・アドレス対応テーブルから前記第３の命令中のシンボルに対応するアドレスを検索し、該検索したアドレスを前記共通処理プログラムに指示する収集対象アドレスとする構成を有することを特徴とする。
【００１２】
本発明にかかる第６のＬＳＩ検証システムは、第４のＬＳＩ検証システムにおいて、
シンボルとアドレスとの対応関係が登録されたシンボル・アドレス対応テーブルと、
該シンボル・アドレス対応テーブルの内容を更新するテーブル更新手段とを備え、且つ、
前記第３の命令が、収集対象アドレスの代わりに該収集対象アドレスに対応するシンボルを含み、
前記第５の命令が、書き込み先のアドレスの代わりに該書き込み先のアドレスに対応するシンボルを含み、
前記第６の命令が、読み出し先のアドレスの代わりに該読み出し先のアドレスに対応するシンボルを含み、
前記検証シナリオ処理手段が、
前記第３の命令を読み込んだ場合、前記シンボル・アドレス対応テーブルから前記第３の命令中のシンボルに対応するアドレスを検索し、該検索したアドレスを前記共通処理プログラムに指示する収集対象アドレスとし、前記第５の命令を読み込んだ場合、前記シンボル・アドレス対応テーブルから前記第５の命令中のシンボルに対応するアドレスを検索し、該検索したアドレスを前記共通処理プログラムに対して指示する書き込み先アドレスとし、前記第６の命令を読み込んだ場合、前記シンボル・アドレス対応テーブルから前記第６の命令中のシンボルに対応するアドレスを検索し、該検索したアドレスを前記共通処理プログラムに対して指示する読み出し先アドレスとする構成を有することを特徴とする。
【００１３】
本発明にかかる第１のＬＳＩ検証方法は、
ＬＳＩの動作を検証するＬＳＩ検証方法において、
共通処理プログラム展開手段が、前記ＬＳＩの動作を検証する検証プログラムを前記ＬＳＩのメモリ上の指示された展開先アドレスに展開する機能と、前記メモリ上に展開されている検証プログラムの内の指示された検証プログラムを起動する機能とを有する共通処理プログラムを、前記ＬＳＩのメモリ上に展開して起動することを特徴とする。
【００１４】
本発明にかかる第２のＬＳＩ検証方法は、第１のＬＳＩ検証方法において、
検証シナリオ処理手段が、前記メモリ上に展開させる検証プログラムおよびその展開先アドレスを指示する第１の命令と、起動させる検証プログラムを指示する第２の命令とを含んだ検証シナリオから順次命令を読み込み、第１の命令を読み込んだ場合は、該第１の命令によって指示されている検証プログラムを前記ＬＳＩに転送すると共に、前記メモリ上に展開されている共通処理プログラムに対して前記第１の命令中の展開先アドレスを指示し、前記第２の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対して、前記第２の命令によって指定されている検証プログラムの起動を指示することを特徴とする。
【００１５】
本発明にかかる第３のＬＳＩ検証方法法は、第２のＬＳＩ検証方法において、
前記検証シナリオが、
ログを収集する前記メモリ上のアドレスを含んだ第３の命令と、ログの収集周期を指示する第４の命令とを含み、
前記検証シナリオ処理手段が、
第３の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対してログの収集対象アドレスとして前記第３の命令中のアドレスを指示し、第４の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対して前記第４の命令中の収集周期を指示し、
前記共通処理プログラムが、
前記検証シナリオ処理手段から収集対象アドレスが指示されたとき、該収集対象アドレスを保持し、収集周期が指示されたとき、前記メモリ上の前記収集対象アドレスからの前記収集周期でのログの収集処理を開始することを特徴とする。
【００１６】
本発明にかかる第４のＬＳＩ検証方法は、第３のＬＳＩ検証方法において、
前記検証シナリオが、
書き込むべき値とその書き込み先のアドレスとを含んだ第５の命令と、読み出し先のアドレスを含んだ第６の命令とを含み、
前記検証シナリオ処理手段が、
前記第５の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対して、前記第５の命令に含まれている書き込むべき値と書き込み先のアドレスとを指示し、前記６の命令を読み込んだ場合は、前記共通処理プログラムに対して前記第６の命令に含まれている読み出し先のアドレスを指示し、
前記共通処理プログラムが、
前記検証シナリオ処理手段から、書き込むべき値と書き込み先のアドレスとが指示されたとき、前記値を前記アドレスに書き込み、読み出し先のアドレスが指示されたとき、前記アドレスの値を前記検証シナリオ処理手段に返却することを特徴とする。
【００１７】
本発明にかかる第５のＬＳＩ検証方法は、第３のＬＳＩ検証方法において、
シンボルとアドレスとの対応関係が登録されたシンボル・アドレス対応テーブルを有し、
前記第３の命令が、収集対象アドレスの代わりに該収集対象アドレスに対応するシンボルを含み、
前記検証シナリオ処理手段が、前記第３の命令を読み込んだ場合、前記シンボル・アドレス対応テーブルから前記第３の命令中のシンボルに対応するアドレスを検索し、該検索したアドレスを前記共通処理プログラムに指示する収集対象アドレスとし、
テーブル更新手段が、検証者の指示に従って前記シンボル・アドレス対応テーブルの内容を更新することを特徴とする。
【００１８】
本発明にかかる第６のＬＳＩ検証方法は、第４のＬＳＩ検証方法において、
シンボルとアドレスとの対応関係が登録されたシンボル・アドレス対応テーブルを有し、
前記第３の命令が、収集対象アドレスの代わりに該収集対象アドレスに対応するシンボルを含み、
前記第５の命令が、書き込み先のアドレスの代わりに該書き込み先のアドレスに対応するシンボルを含み、
前記第６の命令が、読み出し先のアドレスの代わりに該読み出し先のアドレスに対応するシンボルを含み、
前記検証シナリオ処理手段が、前記第３の命令を読み込んだ場合、前記シンボル・アドレス対応テーブルから前記第３の命令中のシンボルに対応するアドレスを検索し、該検索したアドレスを前記共通処理プログラムに指示する収集対象アドレスとし、前記第５の命令を読み込んだ場合、前記シンボル・アドレス対応テーブルから前記第５の命令中のシンボルに対応するアドレスを検索し、該検索したアドレスを前記共通処理プログラムに対して指示する書き込み先アドレスとし、前記第６の命令を読み込んだ場合、前記シンボル・アドレス対応テーブルから前記第６の命令中のシンボルに対応するアドレスを検索し、該検索したアドレスを前記共通処理プログラムに対して指示する読み出し先アドレスとし、
テーブル更新手段が、検証者の指示に従って前記シンボル・アドレス対応テーブルの内容を更新することを特徴とする。
【００１９】
本発明にかかる第１のプログラムは、
コンピュータを、
ＬＳＩの動作を検証する検証プログラムをＬＳＩのメモリ上の指示された展開先アドレスに展開する機能と、前記メモリ上に展開されている検証プログラムの内の指示された検証プログラムを起動する機能とを有する共通処理プログラムを、前記ＬＳＩのメモリ上に展開して起動する共通処理プログラム展開手段として機能させる。
【００２０】
本発明にかかる第２のプログラムは、第１のプログラムにおいて、
前記コンピュータを、
前記メモリ上に展開させる検証プログラムおよびその展開先アドレスを指示する第１の命令と、起動させる検証プログラムを指示する第２の命令とを含んだ検証シナリオから順次命令を読み込み、第１の命令を読み込んだ場合は、該第１の命令によって指示されている検証プログラムを前記ＬＳＩに転送すると共に、前記メモリ上に展開されている共通処理プログラムに対して前記第１の命令中の展開先アドレスを指示し、前記第２の命令を読み込んだ場合は、前記メモリ上に展開されている共通処理プログラムに対して、前記第２の命令によって指定されている検証プログラムの起動を指示する検証シナリオ処理手段として機能させる。
【００２１】
〔作用〕
ＬＳＩの動作を検証する検証プログラムをＬＳＩのメモリ上の指示された展開先アドレスに展開する機能と、メモリ上に展開されている検証プログラムの内の指示された検証プログラムを起動する機能とを有する共通処理プログラムを、共通処理プログラム展開手段を用いて、ＬＳＩのメモリ上に展開し起動しておく。これ以後は、共通処理プログラムを利用して検証プログラムをＬＳＩのメモリ上に展開し、実行させることが可能となるので、フラッシュライタ等の書き込み装置を用いて人手で検証プログラムを展開する場合に比較して、検証効率を向上させることが可能になる。
【発明の効果】
【００２２】
本発明によれば、ＬＳＩの動作を検証する際の検証効率を向上させることが可能になる。その理由は、ＬＳＩの動作を検証する検証プログラムをＬＳＩのメモリ上の指示された展開先アドレスに展開する機能と、メモリ上に展開されている検証プログラムの内の指示された検証プログラムを起動する機能とを有する共通処理プログラムを、ＬＳＩのメモリ上に展開し起動する共通処理プログラム展開手段を備えているからである。つまり、共通処理プログラムをＬＳＩのメモリ上に展開した後は、共通処理プログラムを利用して検証プログラムをＬＳＩのメモリ上に展開し起動することができるので、フラッシュライタ等の書き込み装置を用いて人手で検証プログラムを展開する場合に比較して、検証効率を向上させることが可能になる。
【発明を実施するための最良の形態】
【００２３】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００２４】
〔実施の形態の構成〕
図１は、本発明にかかるＬＳＩ検証システムの実施の形態の構成例を示すブロック図であり、ＬＳＩ検証装置１と、検証対象となるＬＳＩ２と、ＬＳＩ２が搭載された検証ボード３と、フラッシュライタ等の書き込み装置４とから構成されている。
【００２５】
検証対象となるＬＳＩ２は、図２に示すように、メモリ２１と、レジスタ群２２と、ＬＳＩ固有の回路２３と、ＣＰＵ２４とを含んでいる。検証ボード３は、ＬＳＩ２に電源を供給する機能などを有する。
【００２６】
ＬＳＩ検証装置１は、検証処理部１１と、検証シナリオ格納部１２と、検証プログラム格納部１３と、共通処理プログラム格納部１４と、シンボル・アドレス対応テーブル１５と、キーボード等の入力部１６と、ＬＣＤ等の表示部１７とを備えている。
【００２７】
検証シナリオ格納部１２には、ＬＳＩの検証手順を示す、テキスト形式の検証シナリオが格納されている。検証シナリオには、図３に示す各種命令が記述でき、検証者はこれらの命令を組み合わせて検証シナリオを作成する。なお、検証シナリオ格納部１２には、ＬＳＩ２に対する検証シナリオの他に、他のＬＳＩに対する検証シナリオを格納しておくこともできる。また、ＬＳＩ２に対する複数の検証シナリオを格納しておくことができる。
【００２８】
図３を参照すると、検証シナリオに記述できる命令の一覧が示されている。
【００２９】
項番１の命令set val（シンボル情報,value）は、ＬＳＩのメモリ領域（メモリ及びレジスタ群）の任意のアドレスに値を設定する命令であり、パラメータとして上記アドレスに対応するシンボル情報と、設定する値valueとを含んでいる。この命令は、例えば、ＬＳＩ２の動作モードを指定する場合などに使用される。
【００３０】
項番２の命令get val（シンボル情報）は、ＬＳＩのメモリ領域の任意のアドレスから値を取得する命令であり、パラメータとして上記アドレスに対応するシンボル情報を含んでいる。この命令は、例えば、項番１の命令で設定した値を確認する場合などに使用される。
【００３１】
項番３の命令log symbol（シンボル情報）は、ログ収集を行うＬＳＩのメモリ領域上のアドレスを指定する命令であり、パラメータとして上記アドレスに対応するシンボル情報を含んでいる。
【００３２】
項番４の命令prog download（検証プログラム情報）は、検証プログラムをＬＳＩのメモリに展開することを指示する命令であり、パラメータとして、展開するプログラムのプログラム名、展開先アドレスおよびサイズからなる検証プログラム情報を含んでいる。
【００３３】
項番５のrun test（検証プログラム名）は、検証プログラムの実行を指示する命令であり、パラメータとして、実行する検証プログラムのプログラム名を含んでいる。
【００３４】
項番６の命令log start（収集周期）は、ログ収集開始および収集周期を指示する命令であり、パラメータとしてログの収集周期を含んでいる。
【００３５】
項番７の命令log endは、ログ収集終了を指示する命令である。
【００３６】
項番８の命令wait（待ち時間）は、次の命令の読み込みを待たせるための命令であり、パラメータとして待ち時間が含まれている。
【００３７】
項番９の命令prog clearは、ＬＳＩのメモリ上に展開されている全ての検証プログラムの削除を指示する命令である。
【００３８】
項番１０の命令log upload（ファイル名）は、ログ収集結果を取得する命令であり、パラメータとしてログ収集結果が格納されているファイルのファイル名を含んでいる。
【００３９】
検証プログラム格納部１３には、ＬＳＩ２の動作を検証するための、ＬＳＩ２固有の検証プログラムが任意の個数格納されている。検証プログラムは、例えば、検証対象にするＬＳＩ２が通信制御ＬＳＩである場合には、通信プロトコルのパラメータ設定、通信データバッファの設定、通信データのヘッダ情報の設定、通信データの設定、送信動作、受信動作などを行わせるものである。
【００４０】
シンボル・アドレス対応テーブル１５には、図３に示した命令に含まれているシンボル情報と、ＬＳＩ２上の物理アドレスとの対応関係が記録されている。図４にシンボル・アドレス対応テーブル１５の内容例を示す。同図の例において、例えば、１行目は、シンボル情報「abc」が物理アドレス「0x010000000」に対応していることを示している。
【００４１】
検証処理部１１は、共通処理プログラム展開手段１１１と、検証シナリオ処理手段１１２と、テーブル更新手段１１３とを備えている。
【００４２】
共通処理プログラム展開手段１１１は、入力部１６から共通プログラムの展開指示が入力されたとき、共通処理プログラム格納部１４に格納されている共通処理プログラムを、書き込み装置４を利用してＬＳＩ２のメモリ２１上に展開した後、起動する機能を有する。
【００４３】
検証シナリオ処理手段１１２は、検証シナリオ格納部１２に格納されている検証シナリオの内の、入力部１６から指示されたシナリオ中の命令を順次読み込み、読み込んだ命令に従った処理を行う機能を有する。より具体的には、次のような機能を有する。
【００４４】
・項番１の命令set val（シンボル情報,value）を読み取った場合は、パラメータ中のシンボル情報を、シンボル・アドレス対応テーブル１５を検索することにより得られるアドレスで置き換えた後、置き換え後の命令set val（アドレス,value）をＬＳＩ２上で動作している共通処理プログラムに送信する機能。
・項番２の命令get val（シンボル情報）を読み取った場合は、パラメータ中のシンボル情報を、シンボル・アドレス対応テーブル１５を検索することにより得られるアドレスで置き換えた後、置き換え後の命令get val（アドレス）をＬＳＩ２上で動作している共通プログラムに送信する機能。
・項番３の命令log symbol（シンボル情報）を読み取った場合は、パラメータ中のシンボル情報を、シンボル・アドレス対応テーブル１５を検索することにより得られるアドレスで置き換えた後、置き換え後の命令log symbol（アドレス）をＬＳＩ２上で動作している共通プログラムに送信する機能。
・項番４,５,６,７，９，１０の命令prog download（検証プログラム情報）,run test（検証プログラム名）,log start（収集周期）,log end,prog clear,log upload（ファイル名）を読み取った場合は、その命令をＬＳＩ２上で動作している共通処理プログラムに送信する機能。
・項番８の命令wait（待ち時間）を読み取った場合は、パラメータで指定されている待ち時間だけ、次の命令の読み込みを待つ機能。
【００４５】
テーブル更新手段１１３は、入力部１６からの指示に従って、シンボル・アドレス対応テーブル１５の内容を更新する機能を有する。
【００４６】
共通処理プログラム格納部１４には、検証対象となる全てのＬＳＩにおいて利用される共通処理プログラムが格納されている。この共通処理プログラムは、ＬＳＩの検証に先立ってＬＳＩのメモリ上に展開され、起動されるものであり、次のような機能を有する。
【００４７】
・ＬＳＩ検証装置１からシンボル情報をアドレスに置き換えた後の命令set val（アドレス,value）が送られてきたとき、上記命令のパラメータによって指定されているアドレスに、上記パラメータによって指定されている値valueを設定する機能。
・ＬＳＩ検証装置１からシンボル情報をアドレスに置き換えた後の命令get val（アドレス）が送られてきたとき、上記命令のパラメータによって指定されているアドレスから値を読み込み、ＬＳＩ検証装置１に返却する機能。
・ＬＳＩ検証装置１からシンボル情報をアドレスに置き換えた後の命令log symbol（アドレス）が送られてきたとき、その命令のパラメータに含まれているアドレスを収集対象アドレスとして、自プログラム内に設けられているログ収集アドレステーブル（図示せず）に設定する機能。
・ＬＳＩ検証装置１から命令prog download（検証プログラム情報）及び検証プログラムが送られてきたとき、検証プログラム情報よって指定されているメモリ２１上の展開先アドレスから上記検証プログラムを展開する機能。
・ＬＳＩ検証装置１から命令run test（検証プログラム名）が送られてきたとき、その命令のパラメータによって指定されている検証プログラムを起動する機能。
・ＬＳＩ検証装置１から命令log start（収集周期）が送られてきたとき、その命令のパラメータに含まれている収集周期でログ収集を開始する機能。
・ＬＳＩ検証装置１から命令log endが送られてきたとき、ログ収集を終了する機能。
・ＬＳＩ検証装置１から命令prog clearが送られてきたとき、ＬＳＩ２のメモリ２１上に展開されている検証プログラムを全て削除する機能。
・ＬＳＩ検証装置１から命令log upload（ファイル名）が送られてきたとき、パラメータ中のファイル名によって特定されるファイルに書き込まれているログ収集結果をＬＳＩ検証装置１に返却する機能。
【００４８】
なお、ＬＳＩ検証装置１は、パーソナルコンピュータなどのコンピュータによって実現可能なものであり、コンピュータによって実現する場合は、例えば、次のようにする。コンピュータをＬＳＩ検証装置１として機能させるためのプログラムを記録したディスク，半導体メモリ，その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に共通処理プログラム展開手段１１１、検証シナリオ処理手段１１２、テーブル更新手段１１３を実現する。
【００４９】
〔実施の形態の動作〕
次に、本実施の形態の動作について詳細に説明する。
【００５０】
ＬＳＩ２の動作を検証する場合、検証者は、先ず、ＬＳＩ検証装置１と検証ボード３とを通信ケーブルを介して接続し、検証ボード３上にＬＳＩ２を実装する。次いで、検証者は、ＬＳＩ検証装置１と検証ボード３とを書き込み装置４を介して接続する。その後、検証者は、入力部１６から検証処理部１１に対して共通処理プログラムの展開，起動を指示する。
【００５１】
これにより、検証処理部１１内の共通処理プログラム展開手段１１１は、共通処理プログラム格納部１４から共通プログラム１４１を読み出し、書き込み装置４を利用してＬＳＩ２のメモリ２１上のプログラム展開領域２１１に、図５に示すように共通処理プログラム１４１を展開し、その後、共通処理プログラム１４１を起動する。
【００５２】
その後、検証者は、ＬＳＩ検証装置１の入力部１６からＬＳＩ２の検証に使用する検証シナリオを指定する（図６のステップＡ１）。これにより、検証シナリオ処理手段１１２は、指定された検証シナリオから、そこに記述されている命令を１つ入力する（ステップＡ２）。その後、検証シナリオ処理手段１１２は、入力した命令に対応する処理を行う（ステップＡ３）。このような処理を、検証シナリオ処理手段１１２は未実行の命令がなくなるまで（ステップＡ４がノーとなるまで）、繰り返し行う。
【００５３】
今、例えば、ステップＡ２で入力した命令が、、図３に示した項番１の命令set val（シンボル情報,value）である場合は、検証シナリオ処理手段１１２は、図７のフローチャートに示すように、先ず、パラメータ中のシンボル情報に対応するアドレスをシンボル・アドレス対応テーブル１５から検索する（ステップＢ１）。例えば、シンボル情報が「def」であり、シンボル・アドレス対応テーブル１５の内容が図４に示すものであるとすると、検証シナリオ処理手段１１２は、アドレス「0x010000010」を検索することになる。
【００５４】
そして、シンボル情報に対応するアドレスを検索することができた場合（ステップＢ２がイエス）は、パラメータ中のシンボル情報を、ステップＢ１で検索したアドレスで置き換えた後、置き換え後の命令をＬＳＩ２上で動作している共通処理プログラム１４１へ送信する。上記の例では、パラメータ中のシンボル情報「def」をアドレス「0x010000010」に置き換えた後の命令set val（0x010000010,value）を共通処理プログラム１４１へ送信することになる。これに対して、シンボル情報に対応するアドレスを検索することができなかった場合（ステップＢ２がノー）は、表示部１７にエラーを表示する等のエラー処理を行った後（ステップＢ５）、その処理を終了する。
【００５５】
共通処理プログラム１４１は、命令set val（0x010000010,value）が送られてくると、命令のパラメータによって指定されているアドレス「0x010000010」に、上記パラメータによって指定されている値「value」を設定する設定処理を行い、その後、設定処理が成功したか否かを検証シナリオ処理手段１１２に通知する（ステップＢ３）。
【００５６】
検証シナリオ処理手段１１２は、設定失敗が通知された場合（ステップＢ４がノー）は、エラー処理を行った後（ステップＢ５）、処理を終了する。これに対して、設定成功が通知された場合（ステップＢ４がイエス）は、図６のステップＡ４の処理を行う。
【００５７】
また、図６のステップＡ２で入力した命令が、図３に示した項番２の命令get val（シンボル情報）であった場合は、検証シナリオ処理手段１１２は、図８のフローチャートに示すように、命令に付加されているパラメータ中のシンボル情報に対応するアドレスをシンボル・アドレス対応テーブル１５から検索する（ステップＣ１）。
【００５８】
そして、シンボル情報に対応するアドレスを検索することができた場合（ステップＣ２がイエス）は、命令に付加されているパラメータ中のシンボル情報を、ステップＣ１で検索したアドレスで置き換えた後、ＬＳＩ２上で動作している共通処理プログラム１４１へ送信する。これに対して、シンボル情報に対応するアドレスを検索することができなかった場合（ステップＣ２がノー）は、エラー処理を行った後（ステップＣ５）、その処理を終了する。
【００５９】
共通処理プログラム１４１は、命令get val（アドレス）が送られてくると、上記命令get val（アドレス）のパラメータによって指定されているアドレスから値を取得する取得処理を行い、取得できた場合は、取得した値を検証シナリオ処理手段１１２に返却し、取得できなかった場合は、その旨を検証シナリオ処理手段１１２に通知する（ステップＣ３）。
【００６０】
検証シナリオ処理手段１１２は、値の取得失敗が通知された場合（ステップＣ４がノー）は、エラー処理を行った後（ステップＣ５）、処理を終了する。これに対して、値が返却された場合（ステップＣ４がイエス）は、その値を表示部１７に表示する等した後、図６のステップＡ４の処理を行う。
【００６１】
また、図６のステップＡ２で入力した命令が、図３に示した項番３の命令log symbol（シンボル情報）であった場合は、検証シナリオ処理手段１１２は、上記命令のパラメータ中のシンボル情報に対応するアドレスをシンボル・アドレス対応テーブル１５から検索する（ステップＤ１）。
【００６２】
そして、シンボル情報に対応するアドレスを検索することができた場合（ステップＤ２がイエス）は、命令に付加されているパラメータ中のシンボル情報を、ステップＤ１で検索したアドレスで置き換えた後、ＬＳＩ２上で動作している共通処理プログラム１４１へ送信する。これに対して、シンボル情報に対応するアドレスを検索することができなかった場合（ステップＤ２がノー）は、エラー処理を行った後（ステップＤ４）、その処理を終了する。
【００６３】
共通処理プログラム１４１は、命令log symbol（アドレス）が送られてくると、自プログラム１４１内に設けられているログ収集アドレステーブルに、上記命令のパラメータ中のアドレス（ログの収集対象アドレス）を設定すると共に、設定完了を検証シナリオ処理手段１１２に通知する（ステップＤ３）。この通知を受けると、検証シナリオ処理手段１１２は、図６のステップＡ４の処理を行う。
【００６４】
また、図６のステップＡ２で入力された命令が、図３の項番４の命令prog download（検証プログラム情報）であった場合は、検証シナリオ処理手段１１２は、図１０のフローチャートに示すように、上記命令をＬＳＩ２上で動作している共通処理プログラム１４１に送る（ステップＥ１）。なお、検証プログラム情報には、検証プログラムのプログラム名、展開先アドレス及びサイズが含まれている。
【００６５】
共通処理プログラム１４１は、送られてきた命令prog download（検証プログラム情報）に付加されている検証プログラム情報から展開先アドレス及びサイズを抽出し（ステップＥ２）、それらと自プログラム１４１内部に設定されている検証プログラム管理テーブル１４１１（図１１参照）の内容に基づいて、上記命令によって特定される検証プログラムをプログラム展開領域２１１に展開可能であるか否かを判断する（ステップＥ４）。なお、ステップＥ２において、展開先アドレス及びサイズを抽出できなかった場合（ステップＥ３がノー）は、共通処理プログラム１４１は、エラー通知を検証シナリオ処理手段１１２に送り、検証シナリオ処理手段１１２は、上記通知を受けると、表示部１７にエラー表示を行うなどのエラー処理を行った後（ステップＥ８）、処理を終了する。
【００６６】
図１１は、検証プログラム管理テーブル１４１１の内容例を示す図であり、プログラム展開領域２１１に展開済みの検証プログラムのプログラム名と、展開先アドレスと、サイズとが登録されている。この例は、プログラム名「検証プログラム１３１」，「検証プログラム１３２」の検証プログラムが既にプログラム展開領域２１１に展開されており、展開先アドレスがそれぞれ「0x00000200」，「0x00000350」、サイズがそれぞれ「256Kb」，「256Kb」であることを示している。図１２は、図１１に対応したメモリマップである。
【００６７】
今、例えば、命令prog download（検証プログラム情報）の検証プログラム情報が示しているプログラム名，展開先アドレス，サイズが「検証プログラム１３３」，「0x00000300」，「256Kb」であり、検証プログラム管理テーブル１４１１の内容が図１１に示すものであるとすると、共通処理プログラム１４１は、既に展開されている検証プログラム１３２と今回展開しようとしている検証プログラム１３３が重なりあってしまうため（図１２参照）、検証プログラム１３３をプログラム展開領域２１１上に展開できないと判断し（ステップＥ４がＮＯ）、その旨を検証シナリオ処理手段１１２に通知する。この通知を受けると、検証シナリオ処理手段１１２は、エラー処理を行った後（ステップＥ８）、処理を終了する。
【００６８】
また、例えば、命令prog download（検証プログラム情報）の検証プログラム情報が示しているプログラム名，展開先アドレス，サイズが「検証プログラム１３４」，「0x00000100」，「256Kb」であり、検証プログラム管理テーブル１４１１の内容が図１０に示すものであるとすると、共通処理プログラム１４１は、検証プログラム１３４を展開可能と判断し（ステップＥ４がイエス）、ステップＥ５の処理を行う。
【００６９】
今、例えば、検証プログラム１３４をプログラム展開領域２１１上に展開するとすると、共通処理プログラム１４１は、ステップＥ５において、先ず、検証プログラム１３４のプログラム名を検証シナリオ処理手段１１２に通知する。この通知を受けた検証シナリオ処理手段１１２は、検証プログラム格納部１３から検証プログラム１３４を検索して、共通処理プログラム１４１へ送信する。共通処理プログラム１４１は、検証プログラム１３４がＬＳＩ検証装置１から送られてくると、それをプログラム展開領域２１１上の、ステップＥ２で抽出した展開先アドレスに展開する。以上が、ステップＥ５で行う処理である。
【００７０】
そして、ステップＥ５において、検証プログラム１３４の展開に失敗した場合（ステップＥ６がノー）は、そのことを検証シナリオ処理手段１１２に通知し、この通知を受けた検証シナリオ処理手段１１２は、エラー処理を行った後（ステップＥ８）、その処理を終了する。
【００７１】
これに対して、ステップＥ５において、検証プログラム１３４の展開に成功した場合は（ステップＥ６がイエス）は、検証プログラム管理テーブル１４１１に今回展開した検証プログラム１３４のプログラム名、展開先アドレス及びサイズを追加すると共に、展開成功を検証シナリオ処理手段１１２に通知する（ステップＥ７）。この通知を受けると、検証シナリオ処理手段１１２は、図６のステップＡ４の処理を行う。
【００７２】
また、図６のステップＡ２で入力した命令が、図３に示す項番５の命令run test（検証プログラム名）であった場合は、検証シナリオ処理手段１１２は、図１３のフローチャートに示すように、上記命令を共通処理プログラム１４１へ送信する（ステップＦ１）。
【００７３】
共通処理プログラム１４１は、ＬＳＩ検証装置１から送られてきた命令run test（検証プログラム名）に付加されているパラメータからプログラム名を抽出し、そのプログラム名をキーにして検証プログラム管理テーブル１４１１を検索し、上記プログラム名を有する検証プログラムの展開先アドレスを取得する（ステップＦ２）。
【００７４】
そして、展開先アドレスを取得できなかった場合（ステップＦ３がノー）、即ち該当する検証プログラムがプログラム展開領域２１１に展開されていない場合は、その旨を検証シナリオ処理手段１１２に通知し、この通知を受けた検証シナリオ処理手段１１２は、エラー処理を行った後（ステップＦ５）、その処理を終了する。これに対して、展開先アドレスを取得できた場合（ステップＦ３がイエス）は、上記展開先アドレスに展開されている検証プログラムを起動した後、その旨を検証シナリオ処理手段１１２に通知する（ステップＦ４）。但し、既に他の検証プログラムが実行中である場合は、共通処理プログラム１４１は、その検証プログラムが終了するのを待って、新たな検証プログラムを起動する。
【００７５】
検証シナリオ処理手段１１２は、検証プログラムの起動が通知されると、図６のステップＡ４の処理を行う。
【００７６】
また、図６のステップＡ２で入力した命令が、図３に示した項番６の命令log start（収集周期）であった場合は、検証シナリオ処理手段１１２は、図１４のフローチャートに示すように、上記命令log start（収集周期）を共通処理プログラム１４１へ送信する（ステップＧ１）。
【００７７】
共通処理プログラム１４１は、上記命令log start（収集周期）に付加されているパラメータから収集周期を抽出し、ＬＳＩ２が備えているタイマ機能に対してタイムアウト時間として上記収集周期に対応した時間を設定した後、検証シナリオ処理手段１１２に対して、設定完了を通知する（ステップＧ２）。この通知を受けると、検証シナリオ処理手段１１２は、図６のステップＡ４の処理を行う。
【００７８】
一方、ＬＳＩ２のタイマ機能は、タイムアウト時間が設定されると、設定されたタイムアウト時間が経過する毎にタイムアウト信号を出力する。共通処理プログラム１４１は、タイマ機能からタイムアウト信号が出力される毎に、図１５のフローチャートに示すように、自プログラム内部に設けられているログ収集アドレステーブルからログの収集対象アドレスを１つ取得し（ステップＨ１）、そのアドレスに対して値の取得処理を行い（ステップＨ２）、取得した値をログ結果として、自プログラム内に設けられているファイルに書き込む（ステップＨ３）。その後、共通処理プログラム１４１は、ログ収集アドレステーブルに未処理のアドレスが存在するか否かを判断し（ステップＨ４）、存在する場合は、次のアドレスに対して上述した処理と同様の処理を行い、存在しない場合は、その処理を終了する。
【００７９】
また、図６のステップＡ２で入力した命令が、図３に示した項番７の命令log endであった場合は、検証シナリオ処理手段１１２は、上記命令log endを共通処理プログラム１４１へ送信する（ステップＩ１）。
【００８０】
共通処理プログラム１４１は、命令log endを受信すると、図１４のステップＧ２で起動したタイマ機能を停止させると共に、そのことを検証シナリオ処理手段１１２に通知する（ステップＩ２）。この通知を受けると、検証シナリオ処理手段１１２は、図６のステップＡ４の処理を行う。
【００８１】
また、図６のステップＡ２で入力した命令が、図３に示した項番８の命令wait（待ち時間）である場合は、検証シナリオ処理手段１１２は、図１７のフローチャートに示すように、指定された待ち時間だけ待ち状態となり（ステップＪ１）、その後、図６のステップＡ４の処理を行う。
【００８２】
また、図６のステップＡ２で入力した命令が、図３に示した項番９の命令prog clearである場合は、検証シナリオ処理手段１１２は、図１８のフローチャートに示すように、上記命令を共通処理プログラム１４１へ送信する（ステップＫ１）。
【００８３】
共通処理プログラム１４１は、命令prog clearが送られてくると、検証プログラム管理テーブル１４１１の内容を全て削除することにより、プログラム展開領域２１１に展開されている検証プログラムを全て削除し、更に、検証シナリオ処理手段１１２に対して削除完了を通知する（ステップＫ２）。この通知を受けた検証シナリオ処理手段１１２は、図６のステップＡ４の処理を行う。
【００８４】
また、図６のステップＡ２で入力した命令が、図３に示した項番１０の命令log upload（ファイル名）である場合は、検証シナリオ処理手段１１２は、図２１のフローチャートに示すように、上記命令を共通処理プログラム１４１へ送信する（ステップＬ１）。
【００８５】
共通処理プログラム１４１は、命令log upload（ファイル名）が送られてくると、パラメータ中のファイル名によって特定されるファイルに格納されているログ収集結果を検証シナリオ処理手段１１２に返却する（ステップＬ２）。ログ収集結果を格納しておくファイルのファイル名は予め決められているものである。
【００８６】
検証シナリオ処理手段１１２は、共通処理プログラム１４１から送られてきたログ収集結果を表示部１７に表示した後（ステップＬ３）、図６のステップＡ４の処理を行う。
【００８７】
次に、具体例を挙げて本実施の形態の動作について説明する。
【００８８】
先ず、検証者は、共通処理プログラム展開手段１１１を使用して、図５に示すように、ＬＳＩ２のメモリ２１上のプログラム展開領域２１１に共通処理プログラム１４１を展開し、起動する。
【００８９】
その後、検証者は、ＬＳＩ２の検証に使用する検証シナリオを選択する。今、例えば、検証者によって、検証シナリオ格納部１２に格納されている検証シナリオの内の、図１９に示す検証シナリオ１２１が選択されたとする。また、シンボル・アドレス対応テーブル１５の内容が、図４に示すものになっているとする。
【００９０】
検証シナリオ処理手段１１２は、検証シナリオ１２１から第１番目のset val(abc,1)を読み込むと、図７のフローチャートに示すように、図４のシンボル・アドレス対応テーブル１５からシンボル「abc」に対応したアドレス「0x010000000」を検索し、シンボルをアドレスで置き換えた命令set val(0x010000000,1)を共通処理プログラム１４１へ送信する。これにより、共通処理プログラム１４１は、アドレス「0x010000000」に値「１」を書き込む。
【００９１】
その後、第２番目のget val(abc)を読み込むと、検証シナリオ処理手段１１２は、図８のフローチャートに示すように、シンボル・アドレス対応テーブル１５からシンボル「abc」に対応したアドレス「0x010000000」を検索し、シンボルをアドレスで置き換えた命令get val(0x010000000）を共通処理プログラム１４１へ送信する。これにより、共通処理プログラム１４１は、アドレス「0x010000000」から値を読み込み、その値を検証シナリオ処理手段１１２に返却する。
【００９２】
第３番目の命令log symbol(pqr)を読み込むと、検証シナリオ処理手段１１２は、図９のフローチャートに示すように、シンボル・アドレス対応テーブル１５からシンボル「pqr」に対応したアドレス「0x010000050」を検索し、シンボルをアドレスで置き換えた命令log symbol(0x010000050)を共通処理プログラム１４１へ送る。これにより、共通処理プログラム１４１は、命令のパラメータ中のアドレス「0x010000050」をログ収集アドレステーブルへ設定する。
【００９３】
第４番目の命令prog download(name1,0x00000200,256Kb)を読み込むと、検証シナリオ処理手段１１２は、図１０のフローチャートに示すように、上記命令を共通処理プログラム１４１に送る。これにより、共通処理プログラム１４１は、検証シナリオ処理手段１１２と協働してプログラム名name１の検証プログラムをプログラム展開領域２１１上のアドレス「0x00000200」から展開する。
【００９４】
第５番目の命令run test(name1)を読み込むと、検証シナリオ処理手段１１２は、図１３のフローチャートに示すように、上記命令を共通処理プログラム１４１へ送信する。これにより、共通処理プログラム１４１は、既に展開済みの、プログラム名name1の検証プログラムを起動する。
【００９５】
第６番目のlog start(t1)を読み込むと、検証シナリオ処理手段１１２は、図１４のフローチャートに示すように、上記命令を共通処理プログラム１４１へ送信する。これにより、共通処理プログラム１４１は、ＬＳＩ２のタイマ機能に、タイムアウト時間としてパラメータにより指定されている収集周期t1を設定する。なお、ＬＳＩ２のタイマ機能は、収集周期t1毎にタイムアウト信号を出力する。
【００９６】
共通処理プログラム１４１は、タイマ機能からタイムアウト信号が出力される毎に、図１５のフローチャートに示すように、ログ収集アドレステーブルに設定されているアドレスから、ログを収集し、ファイル（このファイルのファイル名は、予め決められており、検証者もそのファイル名を認識している）に書き込む。
【００９７】
第７番目の命令wait(tw1)を読み込むと、検証シナリオ処理手段１１２は、図１７のフローチャートに示すように、パラメータによって指定されている待ち時間tw1だけ待ち状態となり、その後、図６のステップＡ４の処理を行う。
【００９８】
第８番目の命令log endを読み込むと、検証シナリオ処理手段１１２は、図１６のフローチャートに示すように、その命令を共通処理プログラム１４１へ送り、共通処理プログラム１４１は、タイマ機能を終了させることにより、ログ収集動作を停止させる。
【００９９】
第９番目の命令log upload（Flog）を読み込むと、検証シナリオ処理手段１１２は、図２１のフローチャートに示すように、その命令log upload（Flog）を共通処理プログラム１４１へ送信する。共通処理プログラム１４１は、命令log upload（Flog）が送られてくると、パラメータ中のファイル名Flogによって特定されるファイルに格納されているログ収集結果を検証シナリオ処理手段１１２に送信する。検証シナリオ処理手段１１２は、共通処理プログラム１４１から送られてきたログ収集結果を表示部１７に表示する。
【０１００】
検証シナリオ処理手段１１２は、第１０番目〜第１４番目の命令を入力した場合、前述した第４番目〜第８番目の命令を入力した時と同様の処理を行う。第１４番目の命令の処理が完了すると、図６のステップＡ４の判断結果がノーとなるので、検証シナリオ処理手段１１２は、その処理を終了する。
【０１０１】
なお、図１９に示した検証シナリオ１２１は、あくまで一例であり、検証者が検証するＬＳＩに合った任意の検証シナリオを作成し利用することができる。また、図１９の検証シナリオ１２１には記述しなかったが、検証プログラムの展開を要求する命令prog download（検証プログラム情報）の前に、検証プログラムの削除を要求する命令prog clearを記述しておいても良い。このようにすることにより、図１０のステップＥ４の判断結果を確実にイエスとすることができる（確実に検証プログラムをプログラム展開領域２１１に展開することができる）。
【０１０２】
次に、ＬＳＩ２の設計仕様が変更され、ＬＳＩ２とはメモリ配置情報が異なるＬＳＩ２newが作成されたとする。今、例えば、ＬＳＩ２においては、シンボル「abc」「def」「ghi」「jkl」「mno」「pqr」に対応していたレジスタのアドレス「0x010000000」「0x010000010」「0x010000020」「0x010000030」「0x010000040」「0x010000050」が、新たなＬＳＩ２newでは、アドレス「0x050000000」「0x050000010」「0x050000020」「0x050000030」「0x050000040」「0x050000050」に変更されていたとする。なお、それ以外に、設計仕様に変更はないとする。
【０１０３】
この新たに作成されたＬＳＩ２newの動作を検証する場合、検証者は、テーブル更新手段１１３を利用して、シンボル・アドレス対応テーブル１５の内容を図２０に示すものに更新する。この図２０に示すようにシンボル・アドレス対応テーブル１５を更新すれば、それ以外は、ＬＳＩ２と同様にしてその動作を検証することができる。
【０１０４】
〔実施の形態の効果〕
本実施の形態によれば、ＬＳＩの動作の検証効率を向上させることが可能になる。その理由は、ＬＳＩ２の動作を検証する検証プログラムをＬＳＩ２のメモリ２１上の指示された展開先アドレスに展開する機能と、メモリ上に展開されている検証プログラムの内の指示された検証プログラムを起動する機能とを有する共通処理プログラム１４１を、ＬＳＩ２のメモリ２１上に展開し起動する共通処理プログラム展開手段１１１を備えているからである。つまり、共通処理プログラム１４１をＬＳＩ２のメモリ２１上に展開した後は、共通処理プログラム１４１を利用して検証プログラムをＬＳＩ２のメモリ２１上に展開し起動することができるので、フラッシュライタ等の書き込み装置を用いて人手で検証プログラムを展開する場合に比較して、検証効率を向上させることが可能になる。
【０１０５】
更に、既に動作検証済みのＬＳＩと、メモリ配置情報だけが変更された新しいＬＳＩの動作検証を容易に行うことが可能になる。その理由は、シンボル・アドレス対応テーブル１５の内容を更新するだけで、対処することができるからである。
【産業上の利用可能性】
【０１０６】
通信制御ＬＳＩ等のように、ＣＰＵ及びメモリを有するＬＳＩの動作検証に利用できる。
【図面の簡単な説明】
【０１０７】
【図１】本発明にかかるＬＳＩ検証システムの実施の形態の構成例を示すブロック図である。
【図２】ＬＳＩ２の構成例を示すブロック図である。
【図３】検証シナリオに記述可能な命令の一覧を示す図である。
【図４】シンボル・アドレス対応テーブル１５の内容例を示す図である。
【図５】共通処理プログラム展開手段１１１の動作を説明するための図である。
【図６】本実施の形態の処理例の概要を示すフローチャートである。
【図７】検証シナリオ処理手段１１２が命令set val（シンボル情報value)を入力した時の処理例を示すフローチャートである。
【図８】検証シナリオ処理手段１１２が命令get val（シンボル情報）を入力したときの処理例を示すフローチャートである。
【図９】検証シナリオ処理手段１１２が命令log symbol（シンボル情報）を読み込んだ時の処理例を示すフローチャートである。
【図１０】検証シナリオ処理手段１１２が命令prog download（検証プログラム情報）を入力したときの処理例を示すフローチャートである。
【図１１】検証プログラム管理テーブル１４１１の内容例を示す図である。
【図１２】図１１に対応するメモリマップである。
【図１３】検証シナリオ処理手段１１２が命令run test（検証プログラム名）を入力したときの処理例を示すフローチャートである。
【図１４】検証シナリオ処理手段１１２が命令log start（収集周期）を入力したときの処理例を示すフローチャートである。
【図１５】ＬＳＩ２のタイマ機能がタイムアウトしたときの共通処理プログラム１４１の処理例を示すフローチャートである。
【図１６】検証シナリオ処理手段１１２が命令log endを入力したときの処理例を示すフローチャートである。
【図１７】検証シナリオ処理手段１１２が命令wait(待ち時間）を入力したときの処理例を示すフローチャートである。
【図１８】検証シナリオ処理手段１１２が命令prog clearを入力したときの処理例を示すフローチャートである。
【図１９】検証シナリオ１２１の一例を示す図である。
【図２０】ＬＳＩ２とメモリ配置情報が異なる新たなＬＳＩ２newの動作を検証する際に使用するシンボル・アドレス対応テーブル１５の内容例を示す図である。
【図２１】検証シナリオ処理手段１１２が命令log upload（ファイル名）を入力したときの処理例を示すフローチャートである。
【符号の説明】
【０１０８】
１…ＬＳＩ検証装置
１１…検証処理部
１１１…共通処理プログラム展開手段
１１２…検証シナリオ処理手段
１１３…テーブル更新手段
１２…検証シナリオ格納部
１３…検証プログラム格納部
１４…共通処理プログラム格納部
１５…シンボル・アドレス対応テーブル
１６…入力部
１７…表示部
２…ＬＳＩ
３…検証ボード
４…書き込み装置
【図１】
2006331277.tif 000003
【図２】
2006331277.tif 000004
【図３】
2006331277.tif 000005
【図４】
2006331277.tif 000006
【図５】
2006331277.tif 000007
【図６】
2006331277.tif 000008
【図７】
2006331277.tif 000009
【図８】
2006331277.tif 000010
【図９】
2006331277.tif 000011
【図１０】
2006331277.tif 000012
【図１１】
2006331277.tif 000013
【図１２】
2006331277.tif 000014
【図１３】
2006331277.tif 000015
【図１４】
2006331277.tif 000016
【図１５】
2006331277.tif 000017
【図１６】
2006331277.tif 000018
【図１７】
2006331277.tif 000019
【図１８】
2006331277.tif 000020
【図１９】
2006331277.tif 000021
【図２０】
2006331277.tif 000022
【図２１】
2006331277.tif 000023