(57)【要約】　　　（修正有）【課題】マイコンで制御され、様々な制御を行うＬＳＩ等の論理装置を備えた機器において、機器の検証をするためのテスト用プログラムを、搭載されているＬＳＩ毎に開発する必要があった。【解決手段】マイコン・ＬＳＩ機能検証装置１１は、マイコン１２と、ＬＳＩ１１Ａ，１１Ｂと、テスト用インタプリタ・プログラム１３ａと、テスト用インタプリタ・プログラムの作業領域１４ａと、ＬＳＩ１１Ａ，１１Ｂの制御をする評価スクリプトを格納してなる記録媒体１６を着脱自在に装着する外部記録装置１５と、を有し、マイコン１２は、テスト用インタプリタ・プログラム１３ａを解析し、外部記録装置１５に装着された記録媒体に記録されている制御記述ファイルを第２メモリ１４に展開して解釈し、この解釈した結果によりＬＳＩ１１Ａ，１１Ｂに対して制御が行える手段を備えた。これにより、各ＬＳＩに共通のスクリプトを作成、記録できるようにした。【選択図】　　図１
2004133614.tif 000002
【特許請求の範囲】
【請求項１】
マイコンと、該マイコンにバスラインを介して接続してあるＬＳＩと、テスト用インタプリタ・プログラムを格納する第１メモリと、前記テスト用インタプリタ・プログラムの作業領域を有する第２メモリと、前記ＬＳＩの制御をする評価スクリプトをファイル化した制御記述ファイルを格納してなる記録媒体を着脱自在に装着する外部記録装置と、を有し、
前記マイコンは、前記第１メモリに格納されているテスト用インタプリタ・プログラムを解析し、前記外部記録装置に装着された記録媒体に記録されている制御記述ファイルを前記第２メモリに展開して解釈し、該解釈した結果により前記ＬＳＩに対して制御が行える手段を備えたことを特徴とするマイコン・ＬＳＩ機能検証装置。
【請求項２】
上記ＬＳＩに対して行う制御は、前記ＬＳＩのレジスタへの書き込み及び読み出す機能、読み出したデータを演算して再度書き込む機能、読み出したデータを外部記録装置に記録する機能、割り込み待ちやＬＳＩのレジスタ値の一致などの条件待ちが行える機能、を含むことを特徴とする請求項１に記載のマイコン・ＬＳＩ機能検証装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイコン・ＬＳＩ機能検証装置に関し、詳しくは多数の機能をチップ上に集積したＬＳＩ（Ｌａｒｇｅ　Ｓｃａｌｅ　Ｉｎｔｅｇｒａｔｅｄ　ｃｉｒｃｕｉｔ）の機能を検証するための制御記述ファイルを外部記録装置に記録しておくことで、解釈プログラムはＬＳＩの特定の機能に依存せず、その検証項目の増加に伴ったマイコン側のプログラムの変更を必要としないマイコン・ＬＳＩ機能検証装置に関する。
【０００２】
【従来の技術】
従来技術におけるマイコン・ＬＳＩ機能検証装置は、図１０に示すように、演算するマイコン（ＣＰＵ）１１２にＣＰＵ制御バスで接続されているＬＳＩ１（１１１Ａ）、ＬＳＩ２（１１１Ｂ）、制御テストプログラムを格納してある第１メモリ（ＲＯＭ）１１３、テストプログラム用作業領域を有する第２メモリ（ＲＡＭ）１１４、外部記録装置１１５とから大略構成されている。
【０００３】
第１メモリ（ＲＯＭ）１１３には、搭載されているＬＳＩぶんのテストプログラムが格納されており、実施例においてはＬＳＩ１（１１１Ａ）、ＬＳＩ２（１１１Ｂ）が存在し、これら専用のＬＳＩ１用制御テストプログラム（１１３ａ）、ＬＳＩ２用制御テストプログラム（１１３ｂ）が格納されている。
【０００４】
第２メモリ（ＲＡＭ）１１４には、ＬＳＩぶんのテストで使用する作業領域が確保されており、実施例においてはＬＳＩ１制御テストプログラム用作業領域１１４ａとＬＳＩ２制御テストプログラム用作業領域１１４ｂとが確保されている。
【０００５】
このように、マイコン（ＣＰＵ）１１２は、このシステムを制御するマイコンであり、第１メモリ（ＲＯＭ）１１３に記録されているＬＳＩ１用制御テストプログラム１１３ａ又はＬＳＩ２用制御テストプログラム１１３ｂにより、ＬＳＩ１（１１１Ａ）やＬＳＩ２（１１１Ｂ）を制御する。第２メモリ（ＲＡＭ）１１４は、マイコン（ＣＰＵ）１１２がアクセス可能なメモリであり、システムのアプリケーションによって使用される。外部記録装置１１５はＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ　Ｍｅｍｏｒｙ　Ｃａｒｄ　Ｉｎｔｅｒｎａｔｉｏｎａｌ　Ａｓｓｏｃｉａｔｉｏｎ）などの着脱可能な記録メモリやハードディスク等の記録媒体を着脱自在に装着できる。
【０００６】
上記のようなシステムにおいて、ＬＳＩ１（１１１Ａ）若しくはＬＳＩ２（１１１Ｂ）を開発及び検証するためのフローについて、図１１に示すフローチャートを参照して説明する。
【０００７】
先ず、ＬＳＩ設計者は、ＬＳＩの仕様書を作成し、制御に関わるものをソフトウェア開発者に提出する（ステップＳＴ１１１）。
このＬＳＩ仕様書を受け取ったソフトウェア開発者は、このＬＳＩ仕様書に基づくプログラムの開発を行う（ステップＳＴ１１２）。
【０００８】
ＬＳＩ設計者側において、ＬＳＩの設計仕様がまとまった段階で、ハードウェア記述言語によるＲＴＬ（Ｒｅｇｉｓｔｅｒ　Ｔｒａｎｓｆｅｒ　Ｌｅｖｅｌ）設計を開始する（ステップＳＴ１１３）。
設計が完了したならば、論理シュミレーションを行い、ロジックを合成したネット情報ＬＳＩ製造ベンダーへ渡す（ステップＳＴ１１４、ＳＴ１１５）。ＬＳＩ製造ベンダーはネット情報をもとにエンジニアリングサンプル（試作）を製造する。
そして、ＬＳＩ設計者は、論理シュミレーションで検証しきれない複雑な動作を試作システムによって検証する。このときＬＳＩを制御するテストプログラムが完成していることが望ましいが、近年のＬＳＩの大規模化と開発スケジュールの短縮により、難しい状況となっている。そのため、ＬＳＩ設計者はソフトウェア開発者にテスト用仕様書を作成し、ソフトウェア開発者にテスト・プログラムの開発を依頼する（ステップＳＴ１１６）。
【０００９】
ソフトウェア開発者は、ＬＳＩテスト仕様書に基づいてテスト・プログラムを開発し、開発したテスト・プログラムをコンパイルして実装する（ステップＳＴ１１７、ＳＴ１１８）。
ＬＳＩ設計者は、このテスト・プログラムを動作させながら、ＬＳＩが実装されている機器の機能検証を行って評価する（ステップＳＴ１１９）。
ここで、ＬＳＩテスト仕様書が不完全で、検証しきれない場合は再びテスト仕様書を作成し、ソフトウェア開発者にプログラムを再作成してもらうことを繰り返し行う（ステップＳＴ１２０）。
【００１０】
ステップＳＴ１２０において、テスト・プログラムによる評価が完了したならば、次に、テストによる不具合を訂正したＬＳＩ仕様書をソフトウェア開発者側に提出する（ステップＳＴ１２１）。
ソフトウェア開発者側は、この変更されたＬＳＩ仕様書に基づいて、仕様変更したプログラムの開発を行い、コンパイルして実装する（ステップＳＴ１２２、ＳＴ１２３）。
【００１１】
ＬＳＩ開発者側において、ＬＳＩ仕様書変更に基づく、ＲＴＬ不具合を修正し、論理シュミレーションを行って、ネットアウトし、一連のＬＳＩの検証は完了する（ステップＳＴ１２４、ＳＴ１２５、ＳＴ１２６）。
【００１２】
【発明が解決しようとする課題】
しかしながら、従来技術で説明したマイコン・ＬＳＩ機能検証装置においては、次に示すような問題点が存在する。
▲１▼ソフトウェア開発者は、最終的に開発するものに加えて、テスト用のプログラムも作成しなければならない。又、ＬＳＩ実機検証によって追加・変更を要求されるテスト・プログラムの開発を維持する必要がある。これは、ソフトウェア開発工数を増大させてしまうとう問題がある。又、要求をしてもＬＳＩ設計者は、テスト・プログラムが完成するまで検証をストップしなければならないという問題も存在する。
▲２▼テスト専用のＲＯＭとすればよいが、最終的なプログラムを同時並行して開発することや、ＬＳＩ量産時にでた不具合を解析することを考えると、テスト・プログラムを組み込む必要がある。この場合、システムの第１メモリ（ＲＯＭ）１１３には、「テスト項目×ＬＳＩの数」だけテスト・プログラムが存在する。近年の大規模、複雑化するＬＳＩに対して、全ての検証項目に対して、特定の検証プログラムを組み込むことは困難であるという問題がある。
これら、▲１▼、▲２▼の問題に対して、外部記録装置１１５からプログラムを第２メモリ（ＲＡＭ）１１４へ読み込んで実行することも可能であるが、▲１▼の問題は残ってしまう。
【００１３】
従って、マイコンで制御され、様々な制御を行うＬＳＩの機能検証装置を備えた機器において、機能が異なる複数のＬＳＩの機能評価するテスト用プログラムを簡単に作成でき且つ外部から取り入れ、実行できる構成に解決しなければならない課題を有する。
【００１４】
【課題を解決するための手段】
上記課題を達成するために、本発明に係るマイコン・ＬＳＩ機能検証装置は、次に示す構成にすることである。
【００１５】
（１）マイコン・ＬＳＩ機能検証装置は、マイコンと、該マイコンにバスラインを介して接続してあるＬＳＩと、テスト用インタプリタ・プログラムを格納する第１メモリと、前記テスト用インタプリタ・プログラムの作業領域を有する第２メモリと、前記ＬＳＩの制御をする評価スクリプトをファイル化した制御記述ファイルを格納してなる記録媒体を着脱自在に装着する外部記録装置と、を有し、前記マイコンは、前記第１メモリに格納されているテスト用インタプリタ・プログラムを解析し、前記外部記録装置に装着された記録媒体に記録されている制御記述ファイルを前記第２メモリに展開して解釈し、該解釈した結果により前記ＬＳＩに対して制御が行える手段を備えたことである。
（２）上記ＬＳＩに対して行う制御は、前記ＬＳＩのレジスタへの書き込み及び読み出す機能、読み出したデータを演算して再度書き込む機能、読み出したデータを外部記録装置に記録する機能、割り込み待ちやＬＳＩのレジスタ値の一致などの条件待ちが行える機能、を含むことを特徴とする（１）に記載のマイコン・ＬＳＩ機能検証装置。
【００１６】
このように、ＬＳＩの機能を検証するための制御記述ファイルを外部記録装置から読み出すようにし且つマイコンが解釈するようにしたことにより、ソフトウェア開発者が特定のシステム検証プログラムを開発する必要をなくすことができ、そのぶんマイコンのプログラムＲＯＭを減らすことが可能になる。
【００１７】
【発明の実施の形態】
次に、本願発明に係るマイコン・ＬＳＩ機能検証装置の実施形態について、図面を参照して説明する。
【００１８】
本願発明のマイコン・ＬＳＩ機能検証装置は、図１に示すように、半導体素子で形成されたメモリ媒体或いはハードディスク等で形成された記録媒体を着脱自在に装着できる外部記録装置を備えた電子機器１０して、演算処理するマイコン（ＣＰＵ）１２、マイコン（ＣＰＵ）１２にＣＰＵ制御バスを介して接続してなるＬＳＩ１（１１Ａ）．ＬＳＩ２（１１Ｂ）、テスト用インタプリタ・プログラム（１３ａ）を格納してある第１メモリ（ＲＯＭ）１３、テスト用インタプリタ・プログラムの作業領域（１４ａ）を有する第２メモリ（ＲＡＭ）１４、ＬＳＩ１（１１Ａ）若しくはＬＳＩ２（１１Ｂ）の制御をする評価スクリプトをファイル化した制御記述ファイルを格納してなる記録媒体１６を装着自在な外部記録装置１５とからなる。
尚、実施例において、ＬＳＩはＬＳＩ１（１１Ａ）とＬＳＩ２（１１Ｂ）の２つのＬＳＩであるが、是に限定されることなく、搭載されているＬＳＩ全てが対象になることは勿論のことである。
【００１９】
このような構成において、外部記録装置１５は、マイコン（ＣＰＵ）１２とソフトウェアに依存しないテスト用評価スクリプト（ＬＳＩ評価記述言語）をファイルとして保存する記録媒体１６を装着することができる。マイコン（ＣＰＵ）１２は指定されたテスト用評価スクリプトを外部記録装置１５にアクセスして、第２メモリ１４の作業領域（１４ａ）へ読み込み、第１メモリ（ＲＯＭ）１３内のテスト用インタプリタ・プログラム（１３ａ）によって、構文解釈を行い、ＬＳＩ１（１１Ａ）若しくはＬＳＩ２（１１Ｂ）に対して制御を行う。
この、ＬＳＩ１（１１Ａ）若しくはＬＳＩ２（１１Ｂ）に対する制御は、ＬＳＩのレジスタへの書き込み及び読み出す機能、読み出したデータを演算して再度書き込む機能、読み出したデータを外部記録装置１５に装着してある記録媒体１６に記録する機能、割り込み待ちやＬＳＩのレジスタ値の一致などの条件待ちが行える機能、を含んだ構成になっている。
【００２０】
外部記録装置１５に装着される記録媒体１６にファイル化されて記録されているテスト用評価スクリプトの構文仕様は、高速に解釈できるように、単純なスクリプト構文になっており、それは、図３（Ａ）に示すように、５種類の構文から構成されている。
▲１▼￥コマンド（式１、式２、…）；
▲２▼￥オブジェクト［式１］＝式２；
▲３▼＄レジスタ＝オブジェクト［式］；
▲４▼＄レジスタ＝式；
▲５▼＃
【００２１】
▲１▼は、コマンドであり、制御や検証を容易にするための命令群で構成され、パラメータとして、式１、式２、…の計算結果を渡す。
このコマンドは、図４（Ａ）に示すように、代表的なものとして、例えば、￥ＩＮＩＴ（アドレス、サイズ）；、￥ＢＰＲＩＮＴ（式）；、￥ＷＰＲＩＮＴ（式）；、￥ＬＰＲＩＮＴ（式）；、￥ＳＡＶＥ（）；、￥ＩＮＴＲ（値）；である。
【００２２】
￥ＩＮＩＴ（アドレス、サイズ）；は、第２メモリ（ＲＡＭ）１４のアドレスからサイズ（バイト単位）分、作業メモリを確保するものであり、確保したメモリの先頭はｗｏｒｋＰとなる。
￥ＢＰＲＩＮＴ（式）；は、式の結果を１バイトデータとして、アドレスｗｏｒｋＰに書き込み、ｗｏｒｋＰを１インクリメントする。
￥ＷＰＲＩＮＴ（式）；は、式の結果を２バイトデータとして、アドレスｗｏｒｋＰに書き込み、ｗｏｒｋＰを２インクリメントする。
￥ＬＰＲＩＮＴ（式）；は、式の結果を４バイトデータとして、アドレスｗｏｒｋＰに書き込み、ｗｏｒｋＰを４インクリメントする。
￥ＳＡＶＥ（）；は、ＩＮＩＴで確保したデータを外部記録装置１５に保存する。
￥ＩＮＴＲ（値）；は、「値」で定義されるマイコン（ＣＰＵ）１２の内部割り込みが発生するまで待つ。
【００２３】
▲２▼は、オブジェクトであり、制御するＬＳＩ１（１１Ａ）若しくはＬＳＩ２（１１Ｂ）のことを指す。オブジェクト予約語を介してデータをアクセスすることにより、マイコン（ＣＰＵ）１２とＬＳＩ間のデータバス幅に合わせてアクセスすることができる。具体的には、オブジェクトのアドレス（「式１」の計算結果）に「式２」の計算結果を代入する。
このオブジェクトは、図４（Ｂ）に示すように、ＬＳＩ１［アドレス］、ＬＳＩ２［アドレス］、のようにしてＬＳＩ毎のアドレスを指定するときに使用される。
【００２４】
▲３▼は、レジスタであり、テスト用評価スクリプト内で使える汎用変数を意味する。又、レジスタもマイコン（ＣＰＵ）１２に接続されるＲＡＭオブジェクトと考えられる。
具体的には、オブジェクトのアドレス「式」の計算結果に格納されている値をレジスタに代入する。
このレジスタは、図４（Ｃ）に示すように、５個のレジスタを指定するものであり、４バイトのレジスタＡであれば「＄Ａ＿ＲＥＧ」、４バイトのレジスタＢであれば「＄Ｂ＿ＲＥＧ」、４バイトのレジスタＣであれば「＄Ｃ＿ＲＥＧ」、４バイトのレジスタＤであれば「＄Ｄ＿ＲＥＧ」、４バイトのレジスタＥであれば「＄Ｅ＿ＲＥＧ」、のように指定する。
【００２５】
▲４▼は、「式」の計算結果をレジスタに代入する。
▲５▼は、「＃」以降から改行までの１行をコメントとするものである。
【００２６】
式は、図３（Ｂ）に示すように、▲１▼定数と▲２▼演算子とから構成されている。
▲１▼定数は、０ｘから始まる定数は１６進定数とし、０ｂから始まる定数は２進定数とする。
▲２▼演算子は、和「＋」、差「−」、積「＊」、除「／」、ビット積「＆」、ビット和「｜」が使用できる。
例えば、
例１）＄Ａ＿ＲＥＧ＝０ｂ００１０＿０１００；
であれば、Ａレジスタに３６を２進数表記で代入する。
例２）＄Ａ＿ＲＥＧ＝＄Ｂ＿ＲＥＧ；
であれば、ＡレジスタにＢレジスタの値を代入する。
例３）＄Ａ＿ＲＥＧ＝＄Ａ＿ＲＥＧ＋１；
であれば、Ａレジスタの値を＋１加算することを意味する。
例４）＄Ａ＿ＲＥＧ＝＄Ｂ＿ＲＥＧ＊０ｘ１００；
であれば、ＡレジスタにＢレジスタの値を１６進数表記で２５６倍して代入する。
【００２７】
このような構文、式からなるテスト用評価スクリプトについて、実際に「ＬＳＩ１（１１Ａ）のアドレス１０のレジスタ値を＋１したものをＬＳＩ１（１１Ａ）のアドレス１１に書き込む」という制御は、下記に示す構文により達成することができる。
＄Ａ＿ＲＥＧ＝ＬＳＩ１［１０］；
＄Ａ＿ＲＥＧ＝＄Ａ＿ＲＥＧ＋１；
ＬＳＩ１［１１］＝＄Ａ＿ＲＥＧ；
【００２８】
このような構文及び式からなるスクリプトに対するＬＳＩ１、ＬＳＩ２、マイコン及びメモリとの関係は、例えば、図５に示すように、１６ｂｉｔバスであり、ＬＳＩ１に対するオブジェクトがＬＳＩ１［値］とマイコンのアドレスとの関係は、例えば、
ＬＳＩ１［０ｘ００］　　０ｘ３０００００
ＬＳＩ１［０ｘ０１］　　０ｘ３００００２
ＬＳＩ１［０ｘ０２］　　０ｘ３００００４
・
・
・
ＬＳＩ１［０ｘＦＦ］　　０ｘ３００１ＦＥ
である。
【００２９】
８ｂｉｔバスで、オブジェクトがＬＳＩ２［値］とマイコンのアドレスとの関係は、例えば、
ＬＳＩ２［０ｘ００］　　０ｘ４０００００
ＬＳＩ２［０ｘ０１］　　０ｘ４００００１
ＬＳＩ２［０ｘ０２］　　０ｘ４００００２
・
・
・
ＬＳＩ２［０ｘＦＦ］　　０ｘ４０００ＦＦ
である。
【００３０】
３２ｂｉｔバスで、第２メモリに格納されるレジスタとマイコンのアドレスとの関係は、例えば、
Ａ＿ＲＥＧ　　　０ｘ１０００００
Ｂ＿ＲＥＧ　　　０ｘ１００００４
Ｃ＿ＲＥＧ　　　０ｘ１００００８
である。
【００３１】
次に、上記構成による評価スクリプトを用いたＬＳＩの検証について、図２に示すフローチャートに基づいて、以下説明する。
【００３２】
先ず、ＬＳＩ設計者は、ＬＳＩ仕様書を作成し、その仕様書をソフトウェア開発者に提出する（ステップＳＴ１１）。
ソフトウェア開発者側は、このＬＳＩ仕様書に基づいてプログラムを開発する（ステップＳＴ１２）。
【００３３】
ＬＳＩ設計者は、そのＬＳＩ仕様書に基づいてＲＴＬ（Ｒｅｇｉｓｔｅｒ　Ｔｒａｎｓｆｅｒ　Ｌｅｖｅｌ）の設計を行い、論理シュミレーションを行って、ネット情報ＬＳＩ製造ベンダーへ渡す（ステップＳＴ１３、ＳＴ１４、ＳＴ１５）。ＬＳＩ製造ベンダーはネット情報をもとにエンジニアリングサンプル（試作）を製造する。
【００３４】
ＬＳＩ設計者側は、論理シミュレーション等を行った後に、ＬＳＩテスト仕様書を作成してテスト用評価スクリプトを作成する（ステップＳＴ１６、ＳＴ１７）。この作成されたテスト用評価スクリプトは記録媒体１６に制御記述ファイルとして格納される。
【００３５】
次に、テスト用評価スクリプトを格納してある記録媒体１６を外部記録装置１５に装着することによりＬＳＩ実機の評価を行う（ステップＳＴ１７）。
ここでは、上述したように、マイコン（ＣＰＵ）１２が外部記録装置１５に装着されているテスト用評価スクリプトを読み出して第２メモリ（ＲＡＭ）１４の作業領域１４ａに格納し、第１メモリ（ＲＯＭ）１３に格納されているテスト用インタプリタ・プログラムにより、構文解釈を行って、所望のＬＳＩの制御を行う。ここでのＬＳＩの制御は、上述したように、ＬＳＩのレジスタへの書き込み及び読み出す機能、読み出したデータを演算して再度書き込む機能、読み出したデータを外部記録装置１５に装着してある記録媒体１６に記録する機能、割り込み待ちやＬＳＩのレジスタ値の一致などの条件待ちが行える機能、を含んだものである。
【００３６】
ステップＳＴ１８において、評価が完了していないばあいには、評価項目を増やす等して、その都度、テスト評価スクリプトを作成して実行することを繰り返し行う（ステップＳＴ１９）。
そして、評価が完了すると、ＬＳＩ仕様の変更をソフトウェア開発者に提出する（ステップＳＴ２０）。
【００３７】
ソフトウェア開発者側は、変更したＬＳＩ仕様書を受け取ると、プログラム開発の仕様変更を行い、最終的なプログラムを完成させ、コンパイルを行って実装する（ステップＳＴ２１、ＳＴ２２）。
【００３８】
ＬＳＩ設計者側においては、ＲＴＬ不具合の修正を行い、論理シュミレーションを行って、ネット・アウトする（ステップＳＴ２３、ＳＴ２４、ＳＴ２５）。
【００３９】
このようにして、ソフトウェア開発者側においてはＬＳＩ仕様書に基づくプログラムを開発するのみで、ＬＳＩ設計者側では、設計したＬＳＩの仕様に応じたスクリプトを作成して実装しているＬＳＩの評価をすることができ、ＬＳＩを評価するためのプログラムが出来あがるのを待つ必要がなくなり、又、実際にテスト・プログラムを格納するメモリを不要にできるため、そのぶん回路構成を簡略化できるのである。
【００４０】
次に、ＬＳＩ設計者側で作成したテスト用評価スクリプトを実行するためのフローに付き、図６を参照して説明する。
ここで、演算子は、和「＋」、差「−」、積「＊」、除「／」、ビット積「＆」、ビット和「｜」が使用できるが、このフローでは説明のため和「＋」、差「−」のみに省略してある。又、「＊ａ」は変数ａが示すアドレスの中身を表し、「＊ａｄｒ」は変数ａｄｒが示すアドレスの中身を表している。
先ず、エラーｅｒｒを０にリセットし、外部記録装置１５に装着されている記録媒体１６に格納されている制御記述ファイルを読み込む（ステップＳＴ４１）。
次に、エラーｅｒｒが０であるときには、１行解釈をする（ステップＳＴ４３）。エラーｅｒｒが０でないときには、エラーの処理を行う（ステップＳＴ４６）。
次に、行末でないならば、命令を実行し、ステップＳＴ４２に戻り、行末まで１行解釈をして命令の実行することを繰り返す（ステップＳＴ４５）。
【００４１】
上記の命令の実行について、図７に示すフローチャートを参照して以下説明する。
先ず、コマンド予約語である場合には、コマンドのパラメータ数ｉを取得する（ステップＳＴ５１、ＳＴ５２）。
パラメータ数ｉが０以上の場合には、代入する値を取得する（ｐａｒｍ←ＧｅｔＶａｌｕｅ（））ことをパラメータ数ｉがなくなるまで行う（ステップＳＴ５３、ＳＴ５４）。
ステップＳＴ５３において、パラメータ数ｉが０になったときに、コマンドを実行する（ステップＳＴ５５）。
【００４２】
ステップＳＴ５１に戻って、コマンド予約語でなく、オブジェクト予約語である場合には、代入するアドレスとバスサイズの取得を行う（ステップＳＴ５６、ＳＴ５７）。
代入する値を取得（ｐａｒｍ←ＧｅｔＶａｌｕｅ（））する（ステップＳＴ５８）。そして、この値を代入（＊ａｄｒ←ｐａｒｍ）する（ステップＳＴ５９）。
【００４３】
ステップＳＴ５６に戻って、オブジェクト予約語でなくレジスタ予約語である場合には、レジスタのアドレスａｄｒを取得する（ステップＳＴ６０．ＳＴ６１）。
そして、代入する値を取得（ｐａｒｍ←ＧｅｔＶａｌｕｅ（））する（ステップＳＴ６２）。そして、取得した値を代入（＊ａｄｒ←ｐａｒｍ）する。
【００４４】
ステップＳＴ６０に戻って、レジスタ予約語でない場合には、エラー処理（ｅｒｒ←１）をする（ステップＳＴ６４）。
【００４５】
次に、上記代入する値の取得（ＧｅｔＶａｌｕｅ（））について、図８に示すフローチャートを参照して以下説明する。
【００４６】
先ず、オブジェクト予約語である場合には、オブジェクトのアドレス値を取得（ａ←ＧｅｔＶａｌｕｅ（））する（ステップＳＴ７１、ＳＴ７２）。
【００４７】
この値＊ａを取得（ｄａｔａ←＊ａ）する（ステップＳＴ７３）。
次に、演算子である場合には、演算子が“＋”である場合には、値の取得と計算（ｄａｔａ←ｄａｔａ＋ＧｅｔＶａｌｕｅ（））をする（ステップＳＴ７４、ＳＴ７５、ＳＴ７６）。
ステップＳＴ７５において、演算子が“＋”でなく、演算子が“−”であるときには、値の取得と計算（ｄａｔａ←ｄａｔａ−ＧｅｔＶａｌｕｅ（））をする（ステップＳＴ７７、ＳＴ７８）。
ステップＳＴ７７において、演算子が“−”でない場合にはエラーとして処理（ｅｒｒ←１）する（ステップＳＴ７９）。
【００４８】
ステップＳＴ７１に戻って、オブジェクト予約語でなく、レジスタ予約語である場合には、レジスタのアドレスを取得（ａ）する（ステップＳＴ８０、ＳＴ８１）。
そして、この値を取得（ｄａｔａ←＊ａ）して、演算子に基づく計算を行う（ステップＳＴ８２、ＳＴ７４、ＳＴ７５、ＳＴ７６、ＳＴ７７、ＳＴ７８、ＳＴ７９）。
【００４９】
ステップＳＴ８０に戻って、レジスタ予約語でなく数字である場合には、文字列データの変換（ｄａｔａ←数字）を行う（ステップＳＴ８３、ＳＴ８４）。ここで、数字でない場合には、エラー処理（ｅｒｒ←１）が行われる（ステップＳＴ７９）。
【００５０】
このようにして、テスト用評価スクリプトを構文解釈することにより、ＬＳＩの制御を行い、評価することができるのである。
【００５１】
ここで、マイコン（ＣＰＵ）のスピードが遅く、上述した１行の構文解釈に時間がかかり、レジスタ設定の同期がとれない場合がある。例えば、図９（Ａ）に示すように、スクリプトが、
￥ＩＮＴＲ（１）；　　　　　　　１行目；垂直同期割り込み待ち
ＬＳＩ１［１］＝０ｘ０２；　　　２行目
ＬＳＩ１［２］＝０ｘ０３；　　　３行目
ＬＳＩ１［３］＝０ｘ０４；　　　４行目
ＬＳＩ１［４］＝０ｘ０５；　　　５行目
であるときに、垂直同期にマイコンが割り込むため、垂直同期を待ち、その後に、２行目〜５行目の構文を１行ごと解釈してレジスタ書き込みを行うと、垂直同期区間内でのレジスタ書き込みが終わらない。
【００５２】
このような場合には、先ず、ＬＳＩ１に書き込むレジスタ値を、先ず、シャドウＲＡＭ（１４ｂ）といわれる第２メモリ（ＲＡＭ）１４に書き込みを行う。その後、同期待ちのコマンドを処理した後に、シャドウＲＡＭ（１４ｂ）のデータをＬＳＩ１へ書き込むコマンドを処理すればよい。
具体的には、図９（Ｂ）に示すように、書き込みを終わらせたい垂直同期区間内の前段でシャドウＲＡＭ（１４ｂ）にレジスタ書き込みを行い、垂直同期が到来したときに、シャドウＲＡＭ（１４ｂ）の内容をＬＳＩ１に書き込みを行えばよい。
そのスクリプトは、
ＬＳＩ１［１］＝０ｘ０２；　　　１行目
ＬＳＩ１［２］＝０ｘ０３；　　　２行目
ＬＳＩ１［３］＝０ｘ０４；　　　３行目
ＬＳＩ１［４］＝０ｘ０５；　　　４行目
￥ＩＮＴＲ（１）；　　　　　　　５行目；垂直同期割り込み待ち
￥ＵＰＤＡＴＥ（１、４）；　　　６行目；１〜４レジスタ書き込み
という構文にする。
【００５３】
そうすると、先ず、１行目〜４行目の構文を解釈してシャドウＲＡＭ（１４ｂ）にＬＳＩ１のレジスタに書き込むデータを格納しておき、５行目の構文を解釈して垂直同期を待つ。そして、垂直同期がきたときに、６行目の構文を解釈してシャドウＲＡＭ（１４ｂ）の内容をＬＳＩ１のレジスタに書き込む。このようにすれば、１行づつの構文解釈を行う必要がなくなり、例え、マイコンの処理スピードが遅くとも、構文解釈する時間を短縮することで、実際の処理スピードを上げることができ、所望の垂直同期区間におけるレジスタ書き込みを行うことができるのである。
【００５４】
以上、ＬＳＩの開発についての機能評価について説明したが、これに限定されることなく、例えば、機器に搭載されているＬＳＩの機能評価することもできる。これは機器に搭載されているＬＳＩに適応した評価スクリプトを、記録媒体に予め格納しておき、機器の動作確認をするときや、保守等のときに、記録媒体を外部記録装置に装着し、テストモードにすることで、極めて容易に機能評価をすることができるのである。
【００５５】
【発明の効果】
上記説明したように、本発明に係るマイコン・ＬＳＩ機能検証装置は、ＬＳＩ設計者はマイコンとソフトウェアに依存しないテスト用評価スクリプトを記述することが容易であり、テストプログラムを待たずに、様々なＬＳＩの検証を行うことができるという効果がある。
【００５６】
又、ソフトウェア開発者が特定のＬＳＩ検証プログラムを開発・メンテナンスする必要がなくなり、ソフトウェア開発工数を減少させることができるという効果もある。
【図面の簡単な説明】
【図１】本発明に係るマイコン・ＬＳＩ機能検証装置を略示的に示したブロック図である。
【図２】同ＬＳＩの機能を検証するためのフローチャートである。
【図３】同、テスト用評価スクリプトの構成を示したもので、図３（Ａ）は構文を、図３（Ｂ）は式を示したものである。
【図４】同、テスト用評価スクリプトの構成を示したもので、図４（Ａ）はコマンドの例、図４（Ｂ）はオブジェクトの例、図４（Ｃ）はレジスタの例を示したものである。
【図５】同、ＬＳＩ、第２メモリに蓄積されているデータを示した説明図である。
【図６】同、テスト用評価スクリプトを実行したときのフローチャートである。
【図７】同、テスト用評価スクリプトの命令を実行したときのフローチャートである。
【図８】同、テスト用評価スクリプトの代入する値を取得するときのフローチャートである。
【図９】同、スクリプトを処理する時間を早くするための実施例を示したもので、図９（Ａ）は時内に処理できないときの例を示し、図９（Ｂ）は、所定の時間内に処理を終了させるようにした例を示したものである。
【図１０】従来技術におけるマイコン・ＬＳＩ機能検証装置を示した略示的なブロック図である。
【図１１】従来技術におけるＬＳＩの機能を検証するためのフローチャートである。
【符号の説明】
１１Ａ；ＬＳＩ１、１１Ｂ；ＬＳＩ２、１２；マイコン、１３；第２メモリ、１３ａ；テスト用インタプリタ・プログラム、１４；第２メモリ、１４ａ；テスト用インタプリタ・プログラム作業領域、１４ｂ；シャドウＲＡＭ、１５；外部記録装置、１６；記録媒体。
【図１】
2004133614.tif 000003
【図２】
2004133614.tif 000004
【図３】
2004133614.tif 000005
【図４】
2004133614.tif 000006
【図５】
2004133614.tif 000007
【図６】
2004133614.tif 000008
【図７】
2004133614.tif 000009
【図８】
2004133614.tif 000010
【図９】
2004133614.tif 000011
【図１０】
2004133614.tif 000012
【図１１】
2004133614.tif 000013