(57)【特許請求の範囲】
【請求項１】
不揮発性メモリが内蔵されるマイクロコンピュータの動作プログラムを評価する評価装置において、
前記不揮発性メモリに代えて前記動作プログラムを格納する記憶手段と、
前記不揮発性メモリに格納されることが予定され、前記記憶手段に格納されているデータを変更する命令が発せられたことを検出する検出回路と、
前記検出回路からの検出信号により所定時間の計測を行う計測回路と、
前記計測回路が前記所定時間を計測している間、前記データが変更中であることを報知する報知信号を出力する報知回路と、
前記データが格納されている前記記憶手段の領域に対して、前記検出信号に基づき前記報知信号を出力し、前記所定時間の計測終了に基づき変更後のデータを出力する選択回路とを備えることを特徴とするマイクロコンピュータの評価装置。
【請求項２】
不揮発性メモリが内蔵されるマイクロコンピュータの動作プログラムを評価する評価装置において、
前記不揮発性メモリに代えて前記動作プログラムが格納される状態でマイクロコンピュータによりリード要求される、前記不揮発性メモリの動作速度性能よりも動作速度性能が高速である記憶手段と、
前記マイクロコンピュータがリード要求する際に、データリード用のウエイト時間を発生させるウエイト発生手段と、
前記マイクロコンピュータがリード要求する際に、前記ウェイト時間が前記不揮発性メモリのリード時間に要するウェイト時間より短いか否かを判別する判別手段とを備えたことを特徴とするマイクロコンピュータの評価装置。
【請求項３】
前記判別手段による判別結果を前記マイクロコンピュータまたは判別結果報知用の通報装置へ通知する判別結果通知手段を設けたことを特徴とする請求項２に記載のマイクロコンピュータの評価装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、不揮発性メモリを内蔵したマイクロコンピュータの評価装置に関するものであり、特に、不揮発性メモリを内蔵したマイクロコンピュータ上で動作する動作プログラムの開発・評価に使用する評価装置に関するものである。
【０００２】
【従来の技術】
従来より、マイクロコンピュータ（以下、マイコンと称する）にはＲＯＭが内蔵され、マイコンの動作を制御する動作プログラムが格納される。ここでＲＯＭにはマスクＲＯＭが使用される。マスクＲＯＭはマイコン製造時にフォトマスクによりパターンニングして焼き付けることにより作成される。従って、形成されるマスクＲＯＭ上の動作プログラムは物理的に固定されてしまい変更することはできない。そのため、動作プログラムの開発段階においては、図２４に示すようにマスクＲＯＭを外部ＲＡＭ１１０に置き換えた評価装置１０００を使用して動作プログラムの開発を行うことが一般的である。
【０００３】
図２４において、評価装置１０００は評価用マイコン１００と外部ＲＡＭ１１０とから構成される。評価用マイコン１００には、中央演算処理部（以下、ＣＰＵと称する）４０と内蔵ＲＡＭ３０とがバス２０を介して接続される。このバス２０に外部ＲＡＭ１１０も接続される。
【０００４】
プログラムの開発・評価において外部ＲＡＭ１１０を使用することにより、プログラムの修正・検証等が容易となり、完成した誤りのないプログラムをマスクＲＯＭに焼き付けることを可能としている。この場合外部ＲＡＭ１１０を読み出し専用のメモリとしてプログラムの開発・評価を行えば、その動作プログラムをそのままマスクＲＯＭに焼き付けることができる。
【０００５】
ところで近年、図１０に示すようにマスクＲＯＭに代えて、電気的にデータの消去及び書き込みが可能なフラッシュメモリ等の不揮発性メモリ５が内蔵されたマイコン１が開発されてきている。直接、内蔵の不揮発性メモリ５にアクセスして動作プログラムの消去や書き込みが可能であるため、プログラム動作中に各種のパラメータを変更したり、動作プログラムをそっくり入れ替えたりすることができる。この動作プログラムの開発・評価においては、不揮発性メモリ５内蔵のマイコン１をそのままプログラムの開発・評価段階において使用することもできる。しかしこの場合、フラッシュメモリに代表される不揮発性メモリ５では、その物理的なメカニズムにより、消去や書き込み時間が読み出し時間に比して多大な時間を要するので、動作プログラムの修正の度に動作プログラムの格納に多大な時間がかかってしまう。従って、不揮発性メモリ５内蔵のマイコン１におけるプログラム開発でも、従来と同様に評価用マイコン１００と外部ＲＡＭ１１０とを組み合わせた評価装置１０００が使用されることが一般的となっている。
【０００６】
ここで不揮発性メモリ５は、データ書き込み動作に際して、データを書き込み中か、あるいは書き込みが完了したのかをステータス情報として出力する。このステータス情報として、書き込み中において書き込みデータの反転データを出力するタイプの不揮発性メモリがある。
【０００７】
このタイプの不揮発性メモリを内蔵化したマイコンの評価装置として、例えば、特開平１１−１８４７２５号公報に記載されている評価装置がある。即ち、不揮発性メモリが内蔵される予定の評価用マイコンの動作プログラムを評価する評価装置において、不揮発性メモリに書き込まれるべきプログラムが書き込まれたＲＡＭと、ＲＡＭの特定領域がアドレッシングされたことを検出する検出回路と、検出回路の検出信号に応じて、所定幅のパルス信号を発生するタイマー回路と、パルス信号に応じて、アドレッシングされたＲＡＭの特定領域に書き込まれたデータを反転してマイコンに転送する反転回路とを備え、反転されたデータにより書き込み中を確認する評価装置である。
【０００８】
【発明が解決しようとする課題】
しかしながら、不揮発性メモリが内蔵されるマイコンは、不揮発性メモリへのデータの電気的な消去や書き込みができるため、従来のマスクＲＯＭを内蔵するマイコンにはなかった動作プログラムの消去や書き込みに対応する命令コードをサポートする必要がある。またこれらの消去や書き込み動作は、一般のＲＡＭにおけるデータアクセスとは異なるメカニズムで行われ、更に書き込み命令が無効であることを示すフェイル信号や、メモリ領域を分割するセクタ毎の書き込みプロテクト機能等、不揮発性メモリ特有の機能がある。不揮発性メモリを内蔵するマイコン上で動作する動作プログラムには特有な命令コード、動作確認等が存在する。
【０００９】
例えば、データの消去や書き込みは、読み出しに比して長い所要時間を必要とする。そして消去と書き込みで所要時間が異なることが一般的である。従って、評価装置として外部ＲＡＭを使用した場合には、データの消去や書き込みの動作時間が本来の不揮発性メモリとは異なるものとなってしまい正しいタイミングで動作させることができず問題である。
【００１０】
また、書き込みにおいては、不揮発性メモリ自身が、データの書き込み中か書き込みが完了したのかをステータス情報として出力する。マイコンのＣＰＵは、このステータス情報を受けて書き込み状態を判断することとなる。ステータス情報としては、ＣＰＵからの書き込みデータ確認のための読み出し命令に対して、書き込み中には書き込みデータのうちの特定ビットに反転データを出力しておき、書き込み完了により正規のデータを出力する前述の方法のほか、読み出し命令に対して、書き込み中においては特定ビットにトグル信号を出力し、書き込み完了により正規データを出力する方法もある。従来の評価装置では書き込み中のトグル信号の出力動作が実現できないため正しい評価ができず問題である。
【００１１】
また、特開平１１−１８４７２５号公報に記載の評価装置では、書き込み中の反転データ出力は実現されてはいるものの、この反転データは書き込み指令と同時にＲＡＭに格納された正規の書き込みデータを反転したものであり、書き込み中にも拘らず既にＲＡＭには正規データが格納されることとなる。従って、書き込み動作中にリセットがかかり、あるいは書き込み動作を中断させるような操作を行ってもＲＡＭの書き込み領域には、正規のデータが残っており、後でリセットや中断操作等を確認できず問題である。
【００１２】
更に、不揮発性メモリのなかには、０データが格納されたアドレスに１データの書き込みはできないという禁止事項を有するタイプもある。この場合は一旦０データを消去する必要がある。従って、０データが書き込まれたアドレスに１データを書き込もうとする書き込み命令に対しては、不揮発性メモリはそのような書き込みを受け付けないと共に、この書き込み命令は無効であるとしてフェイル信号を出力する。従来の評価装置では書き込み禁止とフェイル信号の出力動作が実現できないため正しい評価ができず問題である。
【００１３】
また、不揮発性メモリのなかには、記憶領域をいくつかのセクタ領域に分割して管理している場合がある。そしてセクタ毎の書き込みプロテクト機能を有し、セクタ毎に書き込み命令の有効・無効の別を制御できるものがある。従来の評価装置ではセクタ毎の書き込み命令の有効・無効動作が実現できないため正しい評価ができず問題である。
【００１４】
また、外部ＲＡＭを使用した評価装置を使用せず、不揮発性メモリを内蔵するマイコン自身で動作プログラムの開発・評価を行うことも考えられる。しかしながら、この場合には、マイコン製造と平行してプログラム開発ができず、迅速な開発を図ることができず問題である。またプログラム開発・評価中においても、修正・変更したプログラムをメモリに書き込む際、不揮発性メモリの特性から書込みに多大な時間を必要とし迅速な開発の妨げとなり問題である。
【００１５】
不揮発性メモリには、一般的なＲＡＭには存在しない特有な命令コード、動作タイミング、機能等が存在する。従って、これらの命令コードや動作タイミング及び機能が存在しない外部ＲＡＭを使用した評価装置では、不揮発性メモリを内蔵するマイコンで動作する動作プログラムを開発・評価することは困難である。このような評価装置では動作プログラムの完全な開発・評価ができず、評価装置で開発された動作プログラムに誤りを含む虞があり動作プログラムの開発・評価に多大な時間を要することとなって問題である。
また、量産用１チップマイコンには、プログラムデータを記憶するためのＲＯＭまたはフラッシュメモリ等の不揮発性メモリを内蔵するが、プログラムデータの開発時には、一般に量産用１チップマイコンに内蔵する不揮発性メモリに記憶する予定の動作プログラムを、外部メモリ（主にＲＡＭ）に置き換えた評価用マイコンを使用してシステムの評価を行い、プログラムデータに誤りがないことを確認してから、量産用１チップマイコンを製造している。
この場合、量産用１チップマイコンが内蔵するＲＯＭまたはフラッシュメモリ等の不揮発性メモリと、評価用マイコンで使用する外部メモリとは、読み出し時の特性が同じであることが望ましいが、両者は本来異なるデバイスであるので、特性の同一性は満たされない。そのため、量産用１チップマイコンを使用する場合と、評価用マイコンを使用する場合とでは、同一の動作をさせるためには、何らかの工夫が必要となる場合がある。
このタイプのマイコンとして、特開２０００−１２２８９３号公報で公開されているものがあり、その公開特許公報では、エミュレーションメモリとして、ＤＲＡＭを使用したものが開示されている。この場合も、評価用マイコンで使用する外部メモリとしてのＤＲＡＭと、マイコンが内蔵するＲＯＭまたはフラッシュメモリとでは、アクセスサイクルが本来異なるので、量産用マイコンを使用する場合と評価用マイコンを使用する場合とを比べると、両者の動作サイクルに時間的なズレが生じてしまう。そのため、上記公開特許公報では、この動作サイクルの時間的なズレを無くし、量産用マイコンと評価用マイコンが同一動作を行うように構成している。しかし、これら量産用マイコン及び評価用マイコンを使用する場合、わざわざ遅い動作速度のものに、アクセスサイクルを合わせるようにしているので、結果的にマイコンの動作速度が遅いものになって、有効な機能が十分に発揮できないおそれがある。
【００１６】
本発明は前記従来技術の問題点を解消するためになされたものであり、不揮発性メモリを内蔵するマイコン上で実行される動作プログラムの開発・評価を、不揮発性メモリを使用することなく、不揮発性メモリに特有な動作、機能を実現しながら迅速かつ正確に行える評価装置を提供することを目的とする。
また、不揮発性メモリを内蔵するマイコン上で実行される動作プログラムの開発・評価を、不揮発性メモリを使用することなく、記憶手段に動作プログラムを記憶させた状態で行う場合に、データリード用のウエイト時間を発生させて、不具合を起こすかどうかを判別することができ、その動作プログラムの開発・評価を、迅速かつ正確に行える評価装置を提供することを目的とする。
【００１７】
【課題を解決するための手段】
前記目的を達成するために、請求項１に係るマイクロコンピュータの評価装置は、不揮発性メモリが内蔵されるマイクロコンピュータの動作プログラムを評価する評価装置において、不揮発性メモリに代えて動作プログラムを格納する記憶手段と、不揮発性メモリに格納されることが予定され、記憶手段に格納されているデータを変更する命令が発せられたことを検出する検出回路と、検出回路からの検出信号により所定時間の計測を行う計測回路と、計測回路が所定時間を計測している間、データが変更中であることを報知する報知信号を出力する報知回路と、データが格納されている記憶手段の領域に対して、検出信号に基づき報知信号を出力し、所定時間の計測終了に基づき変更後のデータを出力する選択回路とを備えることを特徴とする。
【００１８】
請求項１のマイクロコンピュータの評価装置では、検出回路が、不揮発性メモリに代えて動作プログラムを格納する記憶手段上のデータを変更する命令が発せられたことを検出する。そして計測回路により計測される所定時間の間は、データは変更中であるとして、報知回路から報知信号を出力する。この報知信号は、所定時間の経過後に変更後のデータが格納されるまでこの記憶手段領域に格納される。
【００１９】
これにより、データの変更命令が動作中に、変更すべきデータが格納されている記憶手段領域にアクセスすると、報知信号が読み出されるので、変更命令が完了していないことが確認できる。不揮発性メモリに代えて記憶手段を使用する評価装置により、不揮発性メモリの消去や書き込みのような長い所要時間を要する不揮発性メモリ特有のデータ変更命令に対しても、命令が完了したか否かを判別してその後の動作プログラムを条件分岐することができ、矛盾なく動作プログラムの開発・評価を行うことができる。動作プログラムの修正の度に多大な格納時間を必要とすることなくフラッシュメモリに特有な書き込み命令を含むプログラム開発・評価を迅速、かつ正確に行うことができる。
【００２０】
また、データ変更命令が完了していない期間において、データが格納されている記憶手段の領域には、報知信号が格納される。従って、変更命令中のリセットや、変更命令動作の中断等が発生しても、記憶手段領域には報知信号が残されているため、中断箇所の特定が容易になり動作プログラムの開発・評価において好都合である。
【００２１】
報知信号としては、変更後のデータのうち少なくとも何れか１ビットの反転信号が好ましい。この反転信号を記憶手段領域に書き込めば、変更前後のデータとは異なるデータが変更命令の動作中に書き込まれていることになり、変更命令のリセットや中断が発生した場合の中断箇所の特定が容易になる。
【００２２】
ここで、変更命令としては、データの書き込み命令や、消去命令が考えられる。
【００２３】
また、マイクロコンピュータの評価装置は、請求項１に記載のマイクロコンピュータの評価装置において、命令毎に所定時間を設定する設定回路を備え、計測回路は、設定回路により定められた所定時間の計測を行うことを特徴とする。
前記マイクロコンピュータの評価装置では、設定回路により、命令毎に所定時間を設定して、命令毎に適合した所定時間で動作を行う。
これにより、所定時間の異なる命令毎に的確な所定時間を設定することができ、命令の完了を最適化してその後の動作プログラムを条件分岐することができ、動作プログラムの開発・修正の度に多大な格納時間を必要とすることなく不揮発性メモリ特有の命令を含むプログラム開発・評価を迅速、かつ正確に行うことができる。
不揮発性メモリにおいて、消去時間と書き込み時間とが異なる場合に、各々の動作に最適な所定時間を設定することができ、好都合である。
【００２４】
また、請求項２に係る発明は、不揮発性メモリが内蔵されるマイクロコンピュータの動作プログラムを評価する評価装置において、前記不揮発性メモリに代えて前記動作プログラムが格納される状態でマイクロコンピュータによりリード要求される、前記不揮発性メモリの動作速度性能よりも動作速度性能が高速である記憶手段と、前記マイクロコンピュータがリード要求する際に、データリード用のウエイト時間を発生させるウエイト発生手段と、前記マイクロコンピュータがリード要求する際に、前記ウェイト時間が前記不揮発性メモリのリード時間に要するウェイト時間より短いか否かを判別する判別手段とを備えたことを特徴とする。
【００２５】
請求項２のマイクロコンピュータの評価装置では、不揮発性メモリの動作速度性能よりも動作速度性能が高速である記憶手段に動作プログラムを記憶させた状態で、その動作プログラムを評価する。これは、フラッシュメモリ等の不揮発性メモリに動作プログラムを記憶するには、消去や書き込み時間が読み出し時間に比して多大な時間を要するため、動作プログラムの修正の度に、動作プログラムの記憶に多大な時間がかかることを考慮すれば、エミュレーションメモリであるＲＡＭ等の記憶手段に、動作プログラムを記憶した状態で、マイクロコンピュータの評価装置でもって、動作プログラムを評価するのが、作業効率を向上させる上で好ましいからであるが、エミュレーションメモリのＲＡＭ等の記憶手段の動作速度と不揮発性メモリの動作速度性能とは一般に一致しない。
そして、通常、エミュレーションメモリのＲＡＭ等の記憶手段の動作速度が、量産用１チップマイコンに内蔵する不揮発性メモリの動作速度よりも高速であるため、動作速度が高速なマイクロコンピュータの評価装置でもって、動作速度が高速な記憶手段に記憶された状態の動作プログラムをリードしても、不具合を起こすおそれがないが、不揮発性メモリに記憶された状態の動作プログラムをリードした場合、不揮発性メモリから正しく読み出すことができない等の不具合を起こすおそれがある。
具体的には、マイクロコンピュータを動作させるクロック信号の周期が３０ｎｓ程度である場合、マイクロコンピュータがフラッシュメモリのリードに要するアクセスタイムが例えば６０（ｎｓ）であり、また、エミュレーションメモリのＲＡＭのリードに要するアクセスタイムが２０（ｎｓ）程度であると、マイクロコンピュータがエミュレーションメモリのＲＡＭに対してリード要求する際に、不具合を起こすことがないのに対して、フラッシュメモリにリード要求すると、判別回路は、不具合を起こすおそれがあると判別する。
そのため、マイクロコンピュータのリード要求が、不揮発性メモリの動作速度よりも動作速度が高速な記憶手段に対して、リード要求する際に、動作プログラムを記憶した不揮発性メモリに対して、リード要求することを考慮し、ウエイト発生手段が、データリード用のウエイト時間を発生させることが必要である。具体的には、マイクロコンピュータのリード要求があった時に、不揮発性メモリからデータがリードされるのを待つため、例えば数サイクルのウエイト時間を発生させることが必要である。
【００２６】
そして、マイクロコンピュータは、不揮発性メモリに代えて動作プログラムを記憶した記憶手段にアクセスする場合に、動作プログラムを記憶した不揮発性メモリに対してアクセスすることを考慮し、ウエイト発生手段によるウエイト時間を発生させる。このとき、判別手段は、ウェイト時間が不揮発性メモリのリード時間に要するウェイト時間より短いか否かを判別することができる。
従って、必要なウエイト時間が発生し、動作が確認された動作プログラムを不揮発性メモリに格納した場合、マイクロコンピュータが不揮発性メモリにリード要求した場合であっても、動作が確認されたプログラムについては、量産用マイコンは確実に動作することができる。
このように不揮発性メモリを内蔵するマイコン上で実行される動作プログラムの開発・評価に際し、不揮発性メモリを使用することなく、不揮発性メモリより動作速度が高速な記憶手段に、動作プログラムを記憶させた状態で行う場合に、不揮発性メモリにおける特有な動作を考慮しながら、ウエイト時間を発生させて、不具合を起こすかどうかを判別することができ、その動作プログラムの開発・評価を、迅速かつ正確に行うことができる。
【００２７】
また、請求項３に係る発明は、請求項２に記載のマイクロコンピュータの評価装置において、前記判別手段による判別結果を前記マイクロコンピュータまたは判別結果報知用の通報装置へ通知する判別結果通知手段を設けたことを特徴とする。
請求項３のマイクロコンピュータの評価装置では、判別結果通知手段は、判別手段による判別結果をマイクロコンピュータまたは判別結果報知用の通報装置へ通知するので、不具合を起こすかどうかを判別することができる。
【００２８】
【発明の実施の形態】
以下、本発明のマイクロコンピュータの評価装置について具体化した第１乃至第５実施形態を図１乃至図９に基づき図面を参照しつつ詳細に説明する。図１は、第１実施形態における第１具体例のマイクロコンピュータの評価装置を示すブロック図である。図２は、第１実施形態における第２具体例のマイクロコンピュータの評価装置を示すブロック図である。図３は、第２実施形態における第１具体例のマイクロコンピュータの評価装置を示すブロック図である。図４は、第２実施形態における第２具体例のマイクロコンピュータの評価装置を示すブロック図である。図５は、第２実施形態における第３具体例のマイクロコンピュータの評価装置を示すブロック図である。図６は、第３実施形態のマイクロコンピュータの評価装置を示すブロック図である。図７は、第４実施形態のマイクロコンピュータの評価装置を示すブロック図である。図８は、フラッシュメモリのセクタ構成例を示す概念図である。図９は、第５実施形態のマイクロコンピュータの評価装置を示すブロック図である。以下の説明では不揮発性メモリとしてフラッシュメモリ５を内蔵するマイコン１を例に説明する。
【００２９】
図１に示す第１実施形態における第１具体例の評価装置Ａは、図２４に示す従来技術の評価装置１０００における評価用マイコン１００に代えて、評価用マイコン１Ａを備える。評価用マイコン１Ａには、ＣＰＵ４Ａ、ＲＡＭ３Ａ、バス２Ａに加えて、検出回路７Ａ、タイマー回路８Ａ、反転回路９Ａ、選択回路１０Ａ、及び論理和回路１６Ａを備える。またフラッシュメモリ５の代用として外部ＲＡＭ１１Ａを備える。評価対象となる動作プログラムは、ＲＡＭ１１Ａからバス２Ａを介してＲＡＭ３Ａに転送され、ＣＰＵ４Ａにより実行される。評価装置Ａは、書き込み動作中に書き込みデータの特定ビットにおける信号の反転信号を出力するフラッシュメモリ機能を実現する構成である。
【００３０】
検出回路７Ａは、バス２Ａ上に流れる命令コードをモニタしており、ＣＰＵ４ＡからＲＡＭ１１Ａへの書き込み命令が出力されるか否かを検出する。書き込み命令が検出されると検出信号がタイマー回路８Ａを起動する。この起動信号に基づきタイマー回路８Ａは、予め設定されているフラッシュメモリ５の書き込み時間に相当する時間（例えば、８μｓｅｃ）の時間計測を開始すると共に、時間計測中であることを示すカウント信号を出力する。また検出回路７Ａは、書き込み命令が有効か否かを検出する機能を有しており、書き込み命令が０データが格納されているビットに１データを書き込む等の書き込み無効の場合に、フェイル信号を出力する。
【００３１】
一方、反転回路９Ａは、データが書き込み中であることを宣言する、バス２Ａ上の書き込みデータのうち報知信号に該当する所定ビット位置の書き込みデータを反転する。この反転データはいわゆる反転ビットと称される。反転ビットは同一ビット位置の書き込みデータとの間で選択回路１０Ａにより選択されてＲＡＭ１１Ａに書き込まれる。
【００３２】
論理和回路１６Ａからの出力信号は選択信号として選択回路１０Ａに入力される。この選択信号が活性化状態で反転信号を選択するように設定されている。選択信号は、タイマー回路８Ａが出力するカウント信号と検出回路７Ａからのフェイル信号との論理和である。即ち、書き込み時間に相当する時間を計測中にＲＡＭ１１Ａの該当ビット位置に反転信号を書き込み、計測終了により書き込みデータを書き込むと共に、検出回路７Ａで書き込み無効状態が検出される場合に、ＲＡＭ１１Ａへのデータの書き込みを禁止する。書き込まれた反転信号及び書き込みデータはＣＰＵ４Ａからの読み出し命令に従い、バス２Ａに出力され、ＣＰＵ４Ａにより確認されて書き込み動作が完了したか否かが検出される。
【００３３】
以上のように第１実施形態における第１具体例の評価装置Ａでは、データの書き込み命令が動作中であることを表すタイマー回路８Ａによる時間計測中に、書き込み対象のデータが格納されているＲＡＭ１１Ａ領域を読み出すと、読み出されたデータにおける特定ビットのビット位置のデータが書き込みデータの該当ビットの反転信号となっている。この反転信号を報知信号として書き込み命令が完了していないことが確認できる。そして時間計測終了後に同じ領域を読み出すと、特定ビット位置のデータは書き込みデータと同じとなっており、書き込み命令が完了したことが確認できる。従って、この特定ビットを反転ビットとするフラッシュメモリ５の書き込み命令機能が実現されることとなり、ＣＰＵ４Ａは、フラッシュメモリ５への書き込み動作と同様な動作でＲＡＭ１１Ａへの書き込み動作を行うことができる。
【００３４】
フラッシュメモリ５に代えてＲＡＭ１１Ａを使用する評価装置Ａにより、長い所要時間を要するフラッシュメモリ５特有の書き込み命令に対しても、命令が完了したか否かを判別してその後の動作プログラムを条件分岐することができ、矛盾なく動作プログラムの開発・評価を行うことができる。動作プログラムの修正の度に多大な格納時間を必要とすることなくフラッシュメモリ５特有の命令を含むプログラム開発・評価を迅速、かつ正確に行うことができる。
【００３５】
また、データの書き込み命令が完了していない期間においては、データが格納されているＲＡＭ１１Ａの領域の所定ビット位置には反転信号が格納される。従って、書き込み命令中のリセットや、命令動作の中断等が発生しても、ＲＡＭ１１Ａの該当領域には反転信号が残されているため、中断箇所の特定が容易になり動作プログラムの開発・評価において好都合である。
【００３６】
ここで、ＣＰＵ４Ａ、ＲＡＭ３Ａ、バス２Ａは、従来技術の評価装置１０００における評価用マイコン１００内のＣＰＵ４０、ＲＡＭ３０、バス２０と同様の構成である。また、外部ＲＡＭ１１Ａも、従来技術の評価装置１０００における外部ＲＡＭ１１０と同様の構成である。
【００３７】
尚、反転信号として、書き込みデータのうちの特定ビットを割り付けた場合を例示したが、これに限定されるものではなく、反転信号は、書き込みデータのうちの２ビット以上の複数ビット信号であっても、あるいは書き込みデータ以外の１ビット以上の反転信号専用ビットであってもよく、更にこれらの任意の組み合わせであってもよい。
【００３８】
図２に示す第１実施形態における第２具体例の評価装置Ｂは、図２４に示す従来技術の評価装置１０００における評価用マイコン１００に代えて、評価用マイコン１Ｂを備える。評価用マイコン１Ｂには、ＣＰＵ４Ｂ、ＲＡＭ３Ｂ、バス２Ｂに加えて、検出回路７Ｂ、タイマー回路８Ｂ、及び選択回路１０Ｂを備える。またフラッシュメモリ５の代用として外部ＲＡＭ１１Ｂを備える。第１具体例の評価装置１Ａにおける反転回路９Ａに代えて、０データ信号と１データ信号を備える。評価対象となる動作プログラムは、第１具体例と同様に、ＲＡＭ１１Ｂからバス２Ｂを介してＲＡＭ３Ｂに転送され、ＣＰＵ４Ｂにより実行される。評価装置Ｂは、消去動作中に消去データ（１データで消去）の特定ビットにおける信号の反転信号である０データ信号を出力するフラッシュメモリ機能を実現する構成である。
【００３９】
第１具体例の検出回路７Ａと同様に検出回路７Ｂは、バス２Ｂをモニタして消去命令が出力されるか否かを検出する。消去命令の検出信号は、タイマー回路８Ｂを起動する。タイマー回路８Ｂも、第１具体例のタイマー回路８Ａと同様に、予め設定されているフラッシュメモリ５の消去時間に相当する時間（例えば、１ｓｅｃ）の時間計測を開始すると共に、時間計測中であることを示すカウント信号を出力する。
【００４０】
選択回路１０Ｂは、０データ信号と１データ信号とが入力されており、タイマー回路８Ｂからのカウント信号により何れか一方のデータ信号を出力するように設定される。即ち、タイマー回路８Ｂによる時間計測中においては、０データ信号が選択されて選択回路１０Ｂから出力され、ＲＡＭ１１Ｂに書き込まれる。そして時間計測終了後には、１データ信号が選択されてＲＡＭ１１Ｂに書き込まれる。書き込まれた０データ信号及び１データ信号はＣＰＵ４Ｂからの読み出し命令に従い、バス２Ｂに出力され、ＣＰＵ４Ｂにより確認されて消去動作が完了したか否かが検出される。
【００４１】
以上のように第１実施形態における第２具体例の評価装置Ｂでは、データの消去命令が動作中であることを表すタイマー回路８Ｂによる時間計測中に、消去対象のデータが格納されているＲＡＭ１１Ｂ領域を読み出すと、読み出されたデータにおける特定ビットのビット位置のデータが消去データの反転信号である０データ信号となっている。この０データ信号を報知信号として消去命令が完了していないことが確認できる。そして時間計測終了後に同じ領域を読み出すと、特定ビット位置のデータは消去データの１データ信号となっており、消去命令が完了したことが確認できる。従って、この特定ビットを消去確認ビットとするフラッシュメモリ５の消去命令機能が実現されることとなり、ＣＰＵ４Ｂは、フラッシュメモリ５への消去動作と同様な動作でＲＡＭ１１Ｂへの消去動作を行うことができる。
【００４２】
フラッシュメモリ５に代えてＲＡＭ１１Ｂを使用する評価装置Ｂにより、長い所要時間を要するフラッシュメモリ特有の消去命令に対しても、命令が完了したか否かを判別してその後の動作プログラムを条件分岐することができ、矛盾なく動作プログラムの開発・評価を行うことができる。動作プログラムの修正の度に多大な格納時間を必要とすることなくフラッシュメモリ５に特有な消去命令を含むプログラム開発・評価を迅速、かつ正確に行うことができる。
【００４３】
また、データの消去命令が完了していない期間においては、データが格納されているＲＡＭ１１Ｂの領域の所定ビット位置には消去データの反転信号である０データ信号が格納される。従って、消去命令中のリセットや、命令動作の中断等が発生しても、ＲＡＭ１１Ｂ領域には０データ信号が残されているため、中断箇所の特定が容易になり動作プログラムの開発・評価において好都合である。
【００４４】
ここで、ＣＰＵ４Ｂ、ＲＡＭ３Ｂ、バス２Ｂは、従来技術の評価装置１０００における評価用マイコン１００内のＣＰＵ４０、ＲＡＭ３０、バス２０と同様の構成である。また、外部ＲＡＭ１１Ｂも、従来技術の評価装置１０００における外部ＲＡＭ１１０と同様の構成である。
【００４５】
尚、０データ信号として、消去データのうちの特定ビットを割り付けた場合を例示したが、これに限定されるものではなく、０データ信号は、消去データのうち２ビット以上の複数ビット信号であっても、あるいは消去データ以外の１ビット以上の消去専用ビットであってもよく、更にこれらの任意の組み合わせであってもよい。
【００４６】
図３に示す第２実施形態における第１具体例の評価装置Ｃは、図２４に示す従来技術の評価装置１０００における評価用マイコン１００に代えて、評価用マイコン１Ｃを備える。評価用マイコン１Ｃには、ＣＰＵ４Ｃ、ＲＡＭ３Ｃ、バス２Ｃに加えて、検出回路７Ｃ、タイマー回路８Ｃ、選択回路１０Ｃ、トグル回路１２Ｃ、及び論理和回路１６Ｃを備える。またフラッシュメモリ５の代用として外部ＲＡＭ１１Ｃを備える。評価対象となる動作プログラムは、ＲＡＭ１１Ｃからバス２Ｃを介してＲＡＭ３Ｃに転送され、ＣＰＵ４Ｃにより実行される。評価装置Ｃは、書き込み動作中に書き込みデータの特定ビット位置にトグル信号を出力するフラッシュメモリ機能を実現する構成である。ここで、トグル信号とは、読み出し動作毎に０データ信号と１データ信号とが交互に出力される信号をいう。
【００４７】
検出回路７Ｃは、ＣＰＵ４ＣからのＲＡＭ１１Ｃへの書き込み命令がバス２Ｃ上に出力されるか否かを検出する。書き込み命令が検出されると検出信号がタイマー回路８Ｃを起動する。この起動信号に基づきタイマー回路８Ｃは、予め設定されているフラッシュメモリ５の書き込み時間に相当する時間（例えば、８μｓｅｃ）の時間計測を開始すると共に、時間計測中であることを示すカウント信号を出力する。また検出回路７Ｃは、書き込み命令が有効か否かを検出する機能を有しており、０データが格納されているビットに１データを書き込む等の書き込み無効の場合に、フェイル信号を出力する。更に検出回路７Ｃは、バス２Ｃ上に読み出し命令を検出するとトグル回路１２Ｃにトグルストローブ信号を出力する。
【００４８】
一方、トグル回路１２Ｃは、検出回路７Ｃからのトグルストローブ信号によりトグル信号を出力する。即ち、読み出し命令が出力される度に０データ信号と１データ信号とを交互に出力する。このトグル信号により書き込み動作中であるか否かをバス２Ｃ上に出力する。
【００４９】
論理和回路１６Ｃからの出力信号は選択信号として選択回路１０Ｃに入力され、選択信号が活性化状態でトグル信号を選択するように設定されている。選択信号は、タイマー回路８Ｃが出力するカウント信号と検出回路７Ｃからのフェイル信号との論理和である。即ち、書き込み時間に相当する時間を計測中であるか、あるいは検出回路７Ｃで書き込み無効状態が検出される場合に、ＣＰＵ４Ｃからの読み出し命令に従いトグル信号をバス２Ｃに出力して書き込み動作が完了していないことを報知する。他方の選択信号は、書き込みデータの格納されているＲＡＭ１１Ｃ領域からの読み出し該当ビット位置の信号であり、書き込み終了後に書き込みが無効でない場合にＣＰＵ４Ｃからの読み出し命令に従いバス２Ｃに出力される。バス２Ｃに出力されるトグル信号及び読み出し信号は、ＣＰＵ４Ｃにより確認されて書き込み動作が完了したか否かが検出される。
【００５０】
以上のように第２実施形態における第１具体例の評価装置Ｃでは、データの書き込み命令が動作中であることを示すタイマー回路８Ｃによる時間計測中に、書き込み対象のデータが格納されているＲＡＭ１１Ｃ領域を読み出す毎に、読み出されたデータにおける特定ビット位置のデータがトグル信号となる。このトグル信号を報知信号として書き込み命令が完了していないことが確認できる。そして時間計測終了後に同じ領域を読み出すと、特定ビット位置のデータは書き込みデータになっており、書き込み命令が完了したことが確認できる。従って、この特定ビットをトグルビットとするフラッシュメモリ５の書き込み命令機能が実現されることとなり、ＣＰＵ４Ｃは、フラッシュメモリ５への書き込み動作と同様な動作でＲＡＭ１１Ｃへの書き込み動作を行うことができる。
【００５１】
フラッシュメモリ５に代えてＲＡＭ１１Ｃを使用する評価装置Ｃにより、長い所要時間を要するフラッシュメモリ特有の書き込み命令に対しても、命令が完了したか否かを判別してその後の動作プログラムを条件分岐することができ、矛盾なく動作プログラムの開発・評価を行うことができる。動作プログラムの修正の度に多大な格納時間を必要とすることなくフラッシュメモリ５特有の命令を含むプログラム開発・評価を迅速、かつ正確に行うことができる。
【００５２】
ここで、ＣＰＵ４Ｃ、ＲＡＭ３Ｃ、バス２Ｃは、従来技術の評価装置１０００における評価用マイコン１００内のＣＰＵ４０、ＲＡＭ３０、バス２０と同様の構成である。また、外部ＲＡＭ１１Ｃも、従来技術の評価装置１０００における外部ＲＡＭ１１０と同様の構成である。
【００５３】
尚、トグル回路１２Ｃは常に動作状態にあるとして説明したが、書き込み動作中等の必要なタイミングでのみ動作するように設定することもできる。またトグル信号を、書き込みデータのうちの特定ビット位置に割り付けた場合を例示したが、これに限定されるものではなく、トグル信号は、書き込みデータのうち２ビット以上の複数ビット信号であっても、あるいは書き込みデータ以外の１ビット以上のトグル信号専用ビットであってもよく、更にこれらの任意の組み合わせであってもよい。
【００５４】
図４に示す第２実施形態における第２具体例の評価装置Ｄは、図３に示す第２実施形態における第１具体例の評価装置Ｃにおける評価用マイコン１Ｃに代えて、評価用マイコン１Ｄを備える。評価用マイコン１Ｄでは、評価用マイコン１Ｃにおけるトグル回路に代えて、０データ信号の固定出力を備える。また論理和回路１６Ｃに対応する回路はない。更にＣＰＵ４Ｄ、ＲＡＭ３Ｄ、バス２Ｄ、検出回路７Ｄ、タイマー回路８Ｄ、及び選択回路１０Ｄを備える。またＲＡＭ１１Ｄを備える。評価装置Ｄは、消去動作中に消去データの特定ビット位置に消去データ（１データ）の反転信号である０データ信号を出力するフラッシュメモリ機能を実現する構成である。
【００５５】
検出回路７Ｄが消去命令を検出するとタイマー回路８Ｄを起動し、消去時間に相当する時間（例えば、１ｓｅｃ）の時間計測を開始してカウント信号を出力する。
【００５６】
選択回路１０Ｄは、０データ信号と消去されたＲＡＭ１１Ｄ領域から読み出されるデータの該当ビット位置の信号とを、タイマー回路８Ｄからのカウント信号を選択信号として選択する。タイマー回路８Ｄでの時間計測中の状態は消去動作が完了していない状態を意味し、ＣＰＵ４Ｄからの読み出し命令に従い、カウント信号により報知信号として０データ信号を選択してバス２Ｄに出力する。時間計測が終了すれば消去動作が完了したことを意味し、ＣＰＵ４Ｄからの読み出し命令に従い、消去されたＲＡＭ１１Ｄ領域から読み出された１データ信号をバス２Ｄに出力する。バス２Ｄに出力される０データ信号及び読み出し信号は、ＣＰＵ４Ｄにより確認され消去動作が完了したか否かが検出される。
【００５７】
以上のように第２実施形態における第２具体例の評価装置Ｄでは、データの消去命令が動作中であることを示すタイマー回路８Ｄによる時間計測中には、ＣＰＵ４Ｄからの読み出し命令に従い、０データ信号が選択されてバス２Ｄに出力され、消去命令が完了していないことが確認できる。そして時間計測終了後に同じ領域を読み出すと、特定ビット位置のデータは消去データである１データ信号となっており、消去命令が完了したことが確認できる。従って、この特定ビットを消去ビットとするフラッシュメモリ５の消去命令機能が実現されることとなり、ＣＰＵ４Ｄは、フラッシュメモリ５への消去動作と同様な動作でＲＡＭ１１Ｄへの消去動作を行うことができる。
【００５８】
フラッシュメモリ５に代えてＲＡＭ１１Ｄを使用する評価装置Ｄにより、長い所要時間を要するフラッシュメモリ特有の消去命令に対しても、命令が完了したか否かを判別してその後の動作プログラムを条件分岐することができ、矛盾なく動作プログラムの開発・評価を行うことができる。動作プログラムの修正の度に多大な格納時間を必要とすることなくフラッシュメモリ５特有の命令を含むプログラム開発・評価を迅速、かつ正確に行うことができる。
【００５９】
尚、０データ信号を、消去データのうちの特定ビット位置に割り付けた場合を例示したが、これに限定されるものではなく、０データ信号は、消去データのうち２ビット以上の複数ビット信号であっても、あるいは消去データ以外の１ビット以上の消去信号専用ビットであってもよく、更にこれらの任意の組み合わせであってもよい。
【００６０】
図５に示す第２実施形態における第３具体例の評価装置Ｅは、図３に示す第２実施形態における第１具体例の評価装置Ｃにおける評価用マイコン１Ｃに代えて、評価用マイコン１Ｅを備える。評価用マイコン１Ｅでは、評価用マイコン１Ｃにおけるトグル回路に代えて、バス２Ｅ上の書き込みデータのうち特定ビットを反転する反転回路９Ｅと、反転された信号を格納するレジスタ回路１４Ｅとを備える。またＣＰＵ４Ｅ、ＲＡＭ３Ｅ、バス２Ｅ、検出回路７Ｅ、タイマー回路８Ｅ、選択回路１０Ｅ、及びＲＡＭ１１Ｅを備える。評価装置Ｅは、書き込み動作中に書き込みデータの特定ビット位置のデータの反転信号を出力するフラッシュメモリ機能を実現する構成である。
【００６１】
検出回路７Ｅが書き込み命令を検出するとタイマー回路８Ｅを起動し、書き込み時間に相当する時間（例えば、８μｓｅｃ）の時間計測を開始してカウント信号を出力する。また検出回路７Ｅは、書き込み命令が有効か否かを検出する機能を有しており、書き込み命令が０データが格納されているビットに１データを書き込む等の書き込み無効の場合に、フェイル信号を出力する。
【００６２】
論理和回路１６Ｅからの出力信号は選択信号として選択回路１０Ｅに入力され、選択信号が活性化状態でレジスタ回路１４Ｅに格納された反転信号を選択するように設定されている。選択信号は、タイマー回路８Ｅが出力するカウント信号と検出回路７Ｅからのフェイル信号との論理和である。即ち、書き込み時間に相当する時間を計測中であるか、あるいは検出回路７Ｅで書き込み無効状態が検出される場合に、ＣＰＵ４Ｅからの読み出し命令に従い反転信号をバス２Ｅに出力して書き込み動作が完了していないことを報知する。他方の信号は、書き込みデータが格納されているＲＡＭ１１Ｅ領域から読み出された該当ビット位置の信号であり、書き込み終了後に書き込みが無効でない場合にＣＰＵ４Ｅからの読み出し命令に従いバス２Ｅに出力される。バス２Ｅに出力される反転信号及び読み出し信号は、ＣＰＵ４Ｅにより確認されて書き込み動作が完了したか否かが検出される。
【００６３】
以上のように第２実施形態における第３具体例の評価装置Ｅでは、データの書き込み命令が動作中であることを示すタイマー回路８Ｅによる時間計測中には、ＣＰＵ４Ｅからの読み出し命令に従い、反転信号が選択されてバス２Ｅに出力され、書き込み命令が完了していないことが確認できる。そして時間計測終了後に同じ領域を読み出すと、特定ビット位置のデータは書き込みデータとなっており、書き込み命令が完了したことが確認できる。従って、この特定ビットを反転ビットとするフラッシュメモリ５の書き込み命令機能が実現されることとなり、ＣＰＵ４Ｅは、フラッシュメモリ５への書き込み動作と同様な動作でＲＡＭ１１Ｅへの書き込み動作を行うことができる。
【００６４】
フラッシュメモリ５に代えてＲＡＭ１１Ｅを使用する評価装置Ｅにより、長い所要時間を要するフラッシュメモリ特有の書き込み命令に対しても、命令が完了したか否かを判別してその後の動作プログラムを条件分岐することができ、矛盾なく動作プログラムの開発・評価を行うことができる。動作プログラムの修正の度に多大な格納時間を必要とすることなくフラッシュメモリ５特有の命令を含むプログラム開発・評価を迅速、かつ正確に行うことができる。
【００６５】
尚、反転信号を、書き込みデータのうちの特定ビット位置に割り付けた場合を例示したが、これに限定されるものではなく、書き込みデータのうち２ビット以上の複数ビット信号であっても、あるいは書き込みデータ以外の１ビット以上の書き込み信号専用ビットであってもよく、更にこれらの任意の組み合わせであってもよい。
【００６６】
図６に示す第３実施形態の評価装置Ｆは、図２４に示す従来技術の評価装置１０００における評価用マイコン１００に代えて、評価用マイコン１Ｆを備える。評価用マイコン１Ｆには、ＣＰＵ４Ｆ、ＲＡＭ３Ｆ、バス２Ｆに加えて、検出回路７Ｆ、タイマー回路８Ｆ、及び選択回路１０Ｆ、１３Ｆを備える。またフラッシュメモリ５の代用として外部ＲＡＭ１１Ｆを備える。評価対象となる動作プログラムは、ＲＡＭ１１Ｆからバス２Ｆを介してＲＡＭ３Ｆに転送され、ＣＰＵ４Ｆにより実行される。評価装置Ｆは、無効な書き込み命令に対してフェイル信号を出力するフラッシュメモリ機能を実現する構成である。
【００６７】
検出回路７Ｆは、バス２Ｆ上の命令コードをモニタしており、ＣＰＵ４ＦからのＲＡＭ１１Ｆへの書き込み命令が出力されるか否かを検出する。書き込み命令が検出されると検出信号がタイマー回路８Ｆを起動する。この起動信号に基づきタイマー回路８Ｆは、予め設定されているフラッシュメモリ５の書き込み時間に相当する時間（例えば、８μｓｅｃ）の時間計測を開始すると共に、時間計測中であることを示すカウント信号を出力する。また検出回路７Ｆは、書き込み命令が有効か否かを検出する機能を有している。ＲＡＭ１１Ｆの書き込み対象領域のデータを読み込み、書き込みデータとの比較を行って書き込みデータの中に０データから１データへの書き込みがある場合には書き込み無効と判断してフェイル信号を出力する。
【００６８】
このフェイル信号は、選択回路１３Ｆの選択信号となる。書き込みが無効であるとしてフェイル信号が活性化されていれば選択回路１３Ｆは１データ信号を出力する。逆に、フェイル信号が活性化されていなければ、書き込み命令は有効であるとしてＲＡＭ１１Ｆの対象領域から書き込まれたデータのうちの特定ビット位置のデータを出力する。
【００６９】
選択回路１３Ｆにより選択された信号は、選択回路１０Ｆに入力され、ＣＰＵ４Ｆからの読み出し命令に従い、０データ信号との間で選択的にバス２Ｆに出力される。選択回路１０Ｆは、タイマー回路８Ｆからのカウント信号により選択される。タイマー回路８Ｆが書き込み時間に相当する時間を計測中であれば、選択回路１０Ｆは、０データ信号を選択し、時間計測の終了後には、選択回路１３Ｆからの信号を選択してバス２Ｆに出力する。バス２Ｆに出力される信号は、ＣＰＵ４Ｆにより確認されて書き込み動作が有効であるか無効であるかが検出される。
【００７０】
以上のように第３実施形態の評価装置Ｆでは、データの書き込み命令が動作中であることを表すタイマー回路８Ｆによる時間計測中に、書き込み対象のデータが格納されているＲＡＭ１１Ｆ領域を読み出すと、読み出しデータにおける特定ビットのビット位置の０データ信号がバス２Ｆに出力される。そして時間計測終了後に同じ領域を読み出すと、特定ビット位置のデータは選択回路１３Ｆで選択される信号となる。則ち、書き込み命令が有効である場合にはフェイル信号が活性化していないので、書き込まれたデータの特定ビット位置のデータが出力され、書き込み命令が有効に完了したことが確認できる。書き込み命令が有効でない場合にはフェイル信号が活性化しているので、１データ信号が出力され、書き込み命令が無効であることが確認できる。
【００７１】
ここで、本実施形態については、第１実施形態の評価回路Ａ、第２実施形態の評価回路Ｃ、Ｅ等の書き込み命令に対応する構成を同時に使用することが必要である。書き込み命令が有効に完了した場合にバス２Ｆに出力される書き込みデータが１データである場合があるからである。書き込み命令が無効である場合に出力される１データ信号との区別をするため、フェイル状態では書き込み完了信号が出力されない評価装置Ａ、Ｃ、Ｅ等の構成を同時に使用することにより確実に書き込み無効状態を検出することができる。尚、この状態検出方法は、一般的なフラッシュメモリ５における動作仕様と同様のものである。従って、この特定ビットをフェイルビットとするフラッシュメモリ５の無効書き込み命令機能が実現されることとなり、ＣＰＵ４Ｆは、フラッシュメモリ５への無効書き込み動作と同様な動作を行うことができる。
【００７２】
フラッシュメモリ５に代えてＲＡＭ１１Ｆを使用する評価装置Ｆにより、無効となる場合があるフラッシュメモリ５特有の書き込み命令に対しても、命令が有効であるか否かを判別してその後の動作プログラムを条件分岐することができ、矛盾なく動作プログラムの開発・評価を行うことができる。動作プログラムの修正の度に多大な格納時間を必要とすることなくフラッシュメモリ５特有の無効な書き込み命令に対する処理を含むプログラム開発・評価を迅速、かつ正確に行うことができる。
【００７３】
ここで、ＣＰＵ４Ｆ、ＲＡＭ３Ｆ、バス２Ｆは、従来技術の評価装置１０００における評価用マイコン１００内のＣＰＵ４０、ＲＡＭ３０、バス２０と同様の構成である。また、外部ＲＡＭ１１Ｆも、従来技術の評価装置１０００における外部ＲＡＭ１１０と同様の構成である。
【００７４】
尚、フェイル信号として、書き込みデータのうちの特定ビットを割り付けた場合を例示したが、これに限定されるものではなく、書き込みデータのうち２ビット以上の複数ビット信号であっても、あるいは書き込みデータ以外の１ビット以上のフェイル信号専用ビットであってもよく、更にこれらの任意の組み合わせであってもよい。
また、本実施形態の機能は、セクタ毎の書き込みプロテクト機能に対しても適用することができる。更に無効な書き込み命令以外の無効な命令に対しても適用することができる。
【００７５】
図７に示す第４実施形態の評価装置Ｇは、第１乃至第３実施形態の評価装置Ａ乃至Ｆにおける評価用マイコン１Ａ乃至１Ｆに加えて、計測時間の異なる２つのタイマー回路８Ｇ、１５Ｇと、検出回路７Ｇ、及び論理和回路１６Ｇとを備える。またフラッシュメモリ５の代用として外部ＲＡＭ１１Ｇを備える。評価対象となる動作プログラムは、ＲＡＭ１１Ｇからバス２Ｇを介してＲＡＭ３Ｇに転送され、ＣＰＵ４Ｇにより実行される。評価装置Ｇは、命令毎に異なる実行所要時間に応じて計測時間の異なるタイマー回路８Ｇ、１５Ｇを選択的に起動して複数のフラッシュメモリ機能を実現する構成である。
【００７６】
検出回路７Ｇは、バス２Ｇ上の命令コードをモニタしてＣＰＵ４Ｇからの命令を検出する。本説明では、書き込み命令と消去命令とに対して検出を行う場合を例示する。検出回路７Ｇは、何れの命令を検出したかにより書き込み検出信号あるいは消去検出信号を出力する。これらの信号は、各々タイマー回路８Ｇあるいは１５Ｇを起動する。ここで、タイマー回路８Ｇが起動されると予め設定されているフラッシュメモリ５の書き込み時間に相当する時間（例えば、８μｓｅｃ）の時間計測を開始し、タイマー回路１５Ｇが起動されると予め設定されているフラッシュメモリ５の消去時間に相当する時間（例えば、１ｓｅｃ）の時間計測を開始する。そして時間計測中のタイマー回路８Ｇあるいは１５Ｇからはカウント信号が出力される。
【００７７】
タイマー回路８Ｇ、１５Ｇからのカウント信号は、論理和回路１６Ｇで選択されて何れか一方の信号が機能回路ブロックＧに入力される。
【００７８】
機能回路ブロックＧは、第１乃至第３実施形態の少なくとも何れか１つの機能回路ブロックを表しており、検出回路７Ｇで検出された命令に応じて、書き込み命令機能ブロックあるいは消去命令機能ブロックの何れかが活性化される。
【００７９】
以上のように第４実施形態の評価装置Ｇでは、動作時間の異なる書き込み命令と消去命令とのそれぞれについて、的確な所定時間を設定することができ、命令毎の完了時間を最適化してその後の動作プログラムを条件分岐することができ、動作プログラムの開発・修正の度に多大な格納時間を必要とすることなくフラッシュメモリ５特有の命令を含むプログラム開発・評価を迅速、かつ正確に行うことができる。
【００８０】
尚、本実施形態では、書き込み命令と消去命令との組み合わせについて例示したが、これに限定されるものではなく、これ以外の機能との組み合わせ、あるいは３つ以上の命令の組み合わせ等自由に選択することもできる。この時、タイマー回路も２つに限定されることはなく、必要に応じて計測時間の異なる３つ以上のタイマー回路を備える構成とすることもできる。
また、本実施形態では、個々のタイマー回路が有する計測時間を固定とし、異なる計測時間を要する場合にはタイマー回路を別途備える構成について例示したが、これに限定されるものではなく、１つのタイマー回路を、検出回路からの複数の検出信号により各々異なる計測時間を設定するように構成することもできる。
【００８１】
図９に第５実施形態の評価装置Ｈを示す。評価装置Ｈでは、フラッシュメモリ５内のデータ格納単位であるセクタ毎にデータ書き込みの有効・無効を設定するプロテクト機能に対応する実施形態である。フラッシュメモリ５では、全記憶領域をいくつかのセクタに分割して、セクタ毎にデータの書き込みの有効・無効を設定できる。図８には、フラッシュメモリにおけるセクタマップの例を示す。０００００ｈから０ＦＦＦＦｈまでをセクタ０に設定し、以下１００００ｈから１７ＦＦＦｈまでをセクタ１に、１８０００ｈから１９ＦＦＦｈまでをセクタ２に、１Ａ０００ｈから１ＢＦＦＦｈまでをセクタ３に、１Ｃ０００ｈから１ＦＦＦＦｈまでをセクタ４に設定する構成を示す。フラッシュメモリ５では、これらのセクタ毎にデータ書き込みを許すか否かを設定できる機能を有している。従って、フラッシュメモリ５をＲＡＭ１１Ｈに置き換える評価装置Ｈにおいては、このフラッシュメモリ５に特有な機能を実現することが必要である。
【００８２】
評価装置Ｈは、第１乃至第３実施形態の評価装置Ａ乃至Ｆにおける評価用マイコン１Ａ乃至１Ｆに代えて、検出回路７Ｈ、論理積回路１７Ｈ、２１Ｈを備える。またフラッシュメモリ５の代用として外部ＲＡＭ１１Ｈを備える。評価対象となる動作プログラムは、ＲＡＭ１１Ｈからバス２Ｈを介してＲＡＭ３Ｈに転送され、ＣＰＵ４Ｈにより実行される。
【００８３】
検出回路７Ｈは、バス２Ｈ上の命令コードをモニタしてＣＰＵ４ＨからＲＡＭ１１Ｈへの書き込み命令を検出し、併せて書き込みデータの格納されるべきＲＡＭ１１Ｈのセクタが書き込みプロテクトされているか否かを検出する。検出回路７Ｈからの検出信号が書き込みプロテクトされていないセクタへの書き込み命令であることを論理積回路１７Ｈが確認すると、タイマー回路８Ｈが起動し書き込み時間を計測する（フラッシュメモリ５の書き込み時間に相当する時間として例えば、８μｓｅｃ）。そして時間計測中であることを示すカウント信号を出力する。
【００８４】
論理積回路２１Ｈは、書き込み命令の指示するセクタが書き込みプロテクトされている場合に、書き込み命令をマスクするための回路である。
【００８５】
機能回路ブロックＨは、第１又は第２実施形態のうちの書き込み機能を有する評価装置Ａ、Ｃ、Ｅの何れか１つを表している。これらとの組み合わせにより書き込みプロテクト機能を有する書き込み命令機能を実現する評価装置が実現できる。
【００８６】
次に、上記した評価装置と別の態様の評価装置について具体化した第６乃至第１０の実施の形態を、図１１乃至図２３に基づき図面を参照しつつ詳細に説明する。この場合の評価装置は、動作プログラムを記憶したフラッシュメモリ等の不揮発性メモリを内蔵する量産用１チップマイコンを評価するものである。
図１１は第６実施形態におけるマイクロコンピュータの評価装置の動作原理を示すブロック図である。図１２は第６実施形態におけるマイクロコンピュータの評価装置の具体的構成を示すブロック図である。図１３（Ａ）は必要なウエイト数を示す図である。図１３（Ｂ）は判定回路用デコーダを示す図である。図１４は第７実施形態におけるマイクロコンピュータの評価装置の動作原理を示すブロック図である。図１５は第７実施形態におけるマイクロコンピュータの評価装置の具体的構成を示すブロック図である。図１６は第８実施形態におけるマイクロコンピュータの評価装置の動作原理を示すブロック図である。
図１７は第８実施形態におけるマイクロコンピュータの評価装置の具体的構成を示すブロック図である。図１８は第９実施形態におけるマイクロコンピュータの評価装置の動作原理を示すブロック図である。図１９は第９実施形態におけるマイクロコンピュータの評価装置の具体的構成を示すブロック図である。図２０は第１０実施形態におけるマイクロコンピュータの評価装置の動作原理を示すブロック図である。図２１は第１０実施形態におけるマイクロコンピュータの評価装置の具体的構成を示すブロック図である。図２２はカウント数と、原振周期推定値、２分周クロック周期及び２逓倍クロック周期との関係を示す図である。図２３は必要なウエイト数及び判定回路用デコーダを示す図である。
【００８７】
最初に第６乃至第１０の実施の形態全体の概要を説明する。不揮発性メモリに代えてエミュレーションメモリのＲＡＭに、動作プログラムが格納される場合に、その動作プログラムを評価する際、エミュレーションメモリのＲＡＭの動作速度が、量産用１チップマイコンに内蔵するフラッシュメモリの動作速度よりも高速な場合、マイクロコンピュータの評価装置でもって、評価完成された動作プログラムを、そのままフラッシュメモリに格納すると、マイクロコンピュータがフラッシュメモリにアクセスする際に、判別回路は、不具合を起こすおそれがあると判別する。
具体的には、マイクロコンピュータを動作させるクロック信号の周期が、例えば３０（ｎｓ）程度である場合において、マイクロコンピュータがフラッシュメモリのリードに要するアクセスタイムが例えば６０（ｎｓ）程度であり、また、エミュレーションメモリのＲＡＭのリードに要するアクセスタイムが２０（ｎｓ）程度である場合、判別回路は、クロック信号の周期とアクセスタイムの長短との関係により、エミュレーションメモリのＲＡＭに対してリード要求すると、不具合を起こすことがないのに対して、フラッシュメモリにリード要求すると、不具合を起こすおそれがあると判別する。
【００８８】
そのため、マイクロコンピュータが、動作プログラムを記憶したエミュレーションメモリのＲＡＭにアクセスする場合に、動作プログラムを記憶したフラッシュメモリに対してアクセスすることを考慮し、マイクロコンピュータがリード要求する際に、フラッシュメモリに記憶されたデータの出力が準備できるまで、ウエイト時間を発生させることが必要である。
このように必要なウエイト時間が発生し、不具合を起こすかどうかを判別させるための判別回路等でもって、不具合を起こすことがないと判別された場合、動作が確認された動作プログラムを、フラッシュメモリに格納した場合、マイクロコンピュータがフラッシュメモリにリード要求した場合でも、評価・開発されて動作確認がされた動作プログラムについては、量産用マイコンでは確実に動作することができる。
【００８９】
次に、フラッシュメモリ等の不揮発性メモリを内蔵する量産用１チップマイコンを評価する評価装置Ｉの第６の実施の形態について、図１１乃至図１３を参照して説明する。
図１１に示す第６実施形態における評価装置は、評価用マイコン１００Ａを備える。評価用マイコン１００Ａは、ＣＰＵ１０１Ａ、内部バス１０２Ａ、レジスタ１０３Ａ、及び、判別手段を構成する判別回路１０５Ａを備える。エミュレーションＲＡＭ１０４Ａは、量産時は、例えばＲＯＭまたはフラッシュメモリ等の不揮発性メモリに置き換えられるが、この場合は、フラッシュメモリＦＭ（図１２参照）に置き換えられる。
この評価用マイコン１００Ａには、所定のクロック周波数のクロック信号が入力されるが、ＣＰＵ１０１Ａ等を動作させるクロック信号の周波数は必ずしも一定ではなく、水晶発振子ＳＣ（図１２参照）から出力されるクロック信号の周波数や、逓倍回路または分周回路の使用状況により周波数が変わるので、変更された周波数のクロック信号が、評価用マイコン１００Ａの各部へ出力することになる。
この場合、ＣＰＵ１０１Ａは、図１１に示すように、内部バス１０２Ａと接続され、内部バス１０２Ａを介して、評価用マイコン１００Ａの各部と信号を入出力することになる。また、内部バス１０２Ａは、レジスタ１０３Ａと接続され、そのレジスタ１０３Ａは、内部バス１０２Ａを介して、ＣＰＵ１０１Ａと接続され、信号を入出力することになる。そのレジスタ１０３Ａは、判別回路１０５Ａと接続され、レジスタ１０３Ａの出力信号が、判別回路１０５Ａに入力されることになる。
レジスタ１０３Ａは、評価用マイコン１００Ａのクロック周波数の設定のほか、評価用マイコン１００Ａがリード要求する際における必要なウエイト時間を設定する際に使用される。そして、レジスタ１０３Ａで設定される数値でもって、判別回路１０５Ａは、ＣＰＵ１０１Ａが評価対象となる動作プログラムを記憶したエミュレーションＲＡＭ１０４Ａにアクセスする際に、不具合を起こすかどうかを判別することができる。
【００９０】
評価対象となる動作プログラムは、その評価の際に、エミュレーションＲＡＭ１０４Ａから、内部バス１０２Ａを介して転送され、ＣＰＵ１０１Ａがその動作プログラムを実行することになる。ただし、ＣＰＵ１０１Ａが、ＲＡＭ１０４Ａに対してリード要求する際に、ＲＡＭ１０４Ａのデータリードの出力速度が、フラッシュメモリＦＭの出力速度よりも速いため、ＣＰＵ１０１ＡがフラッシュメモリＦＭにアクセスした場合、不具合を起こすおそれがあっても、ＲＡＭ１０４Ａにアクセスした場合、不具合を起こすことがない。
具体的には、ＣＰＵ１０１Ａのリード要求が高速であって、ＣＰＵ１０１Ａを動作させるクロック信号の周期が、例えば３０（ｎｓ）程度であると仮定した際に、ＣＰＵ１０１ＡがＲＡＭ１０４Ａに対してリードに要するアクセスタイムは２０（ｎｓ）程度であり、また、フラッシュメモリＦＭに対してリードに要するアクセスタイムは、６０（ｎｓ）程度である場合、ＣＰＵ１０１ＡがフラッシュメモリＦＭにアクセスした場合、フラッシュメモリＦＭから読み出されるデータが揃うまでのデータリード用のウエイト時間を設定しても、不具合を起こすおそれがあって、ＲＡＭ１０４Ａにアクセスした場合、不具合を起こすことがないのが分かる。
【００９１】
また、ＣＰＵ１０１Ａを動作させるクロック信号の周期が、例えば６０（ｎｓ）程度である場合、ＲＡＭ１０４Ａに対するアクセスタイムは２０（ｎｓ）程度であり、また、フラッシュメモリＦＭに対するアクセスタイムは、６０（ｎｓ）程度であるので、クロック信号の周期とアクセスタイムの長短との関係により、ＣＰＵ１０１ＡがフラッシュメモリＦＭにアクセスした場合、ＲＡＭ１０４Ａにアクセスした場合、いずれの場合も不具合を起こすことがないことが分かる。
【００９２】
従って、ＣＰＵ１０１Ａが、評価対象となる動作プログラムを記憶したＲＡＭ１０４Ａにアクセスした場合であっても、動作プログラムを記憶したフラッシュメモリＦＭにアクセスした場合を考慮して、データリード用のウエイト時間を設定した上で、不具合を起こすかどうかを判別して評価する必要がある。
図１２は、図１１に示す評価装置Ｉを具体化した一実施形態であり、評価用マイコン１００Ａと、エミュレーションメモリとなるＳＲＡＭ１０４Ａ１を示している。評価用マイコン１００Ａは、ＣＰＵ１０１Ａと、内部バス１０２Ａと、水晶発振子ＳＣと、２分周回路１０６Ａ１と、等倍回路１０６Ａ２と、２逓倍回路１０６Ａ３と、クロック設定レジスタ１０３Ａ１と、ウエイト設定レジスタ１０３Ａ２と、クロック信号セレクタ１０７Ａと、ＳＲＡＭのインタフェース１０８Ａと、判別回路１０５Ａとを備える。この場合、図１２に示す構成要素の機能と、図１１に示す構成要素の機能とがほぼ同一の場合、同一の符号を付して詳細な説明を省略する。
【００９３】
図１２に示す水晶発振子ＳＣは、定まった周波数、例えば２０ＭＨｚのクロック信号を出力する水晶発振子であり、水晶発振子ＳＣから出力するクロック信号は、２分周回路１０６Ａ１、等倍回路１０６Ａ２、及び２逓倍回路１０６Ａ３にそれぞれ出力する。
２分周回路１０６Ａ１は、水晶発振子ＳＣからのクロック信号を、２分の１に分周（すなわち１０ＭＨｚ：周期１００ｎｓ）して、クロック信号セレクタ１０７Ａに出力する。等倍回路１０６Ａ２は、水晶発振子ＳＣからのクロック信号を、そのままの周波数（すなわち２０ＭＨｚ：周期５０ｎｓ）で、クロック信号セレクタ１０７Ａに出力する。２逓倍回路１０６Ａ３は、水晶発振子ＳＣからのクロック信号を２倍に逓倍（すなわち４０ＭＨｚ：周期２５ｎｓ）して、クロック信号セレクタ１０７Ａに出力する。
【００９４】
クロック信号セレクタ１０７Ａは、入力する複数のクロック信号の内から、所定の周波数のクロック信号のいずれかをセレクトして出力するものであって、評価用マイコン１００Ａのクロック周波数を決めるクロック設定レジスタ１０３Ａ１でもって制御される。この場合、クロック信号セレクタ１０７Ａにおける出力信号のセレクトとしては、クロック設定レジスタ１０３Ａ１の設定に従い、１０ＭＨｚ（周期１００ｎｓ）、２０ＭＨｚ（周期５０ｎｓ）、４０ＭＨｚ（周期２５ｎｓ）の周波数のクロック信号のどれかをセレクトして、評価用マイコン１００Ａの各部へ出力することになるが、このクロック設定レジスタ１０３Ａ１の設定は、動作プログラムによって定められることになる。
【００９５】
クロック設定レジスタ１０３Ａ１の出力値は、内部バス１０２Ａに転送されるとともに、判別回路１０５Ａに転送される。また、ウエイト設定手段を構成するウエイト設定レジスタ１０３Ａ２は、内部バス１０２Ａと接続され、データリード用のウエイト時間を定めるウエイト設定レジスタ１０３Ａ２の設定値を、判別回路１０５Ａ及びＳＲＡＭのインタフェース１０８Ａに出力することになる。ウエイト設定レジスタ１０３Ａ２は、例えば「０」乃至「３」のいずれかの数値に設定し、その設定された数値のウエイト信号を、ＣＰＵ１０１Ａに対して出力するものである。そして、ウエイト設定レジスタ１０３Ａ２で設定された数値が、１増える毎に、データリード用のウエイト時間は２５（ｎｓ）増えることになる。
【００９６】
ＳＲＡＭのインタフェース１０８Ａは、ＣＰＵ１０１Ａのアクセスに基づき、ＳＲＡＭ１０４Ａ１から動作プログラムをリードするためのものである。そして、ＳＲＡＭ１０４Ａ１から動作プログラムのリードが行われる時、ウエイト設定レジスタ１０３Ａ２に設定された数のウエイト信号が、ＳＲＡＭのインタフェース１０８ＡからＣＰＵ１０１Ａに対して、後述する態様で必要に応じて出力する。
そのため、ＣＰＵ１０１ＡがＳＲＡＭ１０４Ａ１に記憶された状態の動作プログラムをリードする際に、ウエイト設定レジスタ１０３Ａ２に設定された数のウエイト信号に対応する時間だけウエイトすることになる。そして、ＣＰＵ１０１Ａが、動作プログラムを記憶したエミュレーションメモリのＳＲＡＭ１０４Ａ１にアクセスする際に、動作プログラムが記憶されたフラッシュメモリＦＭに対して、アクセスすることを考慮した上で、ＳＲＡＭ１０４Ａ１に記憶されたデータの出力の準備ができるまで、ウエイト時間が発生することになる。
【００９７】
判別回路１０５Ａは、クロックセレクト用レジスタ１０３Ａ１およびウエイト設定レジスタ１０３Ａ２から、動作プログラムによるレジスタ設定が問題あるかどうかを判別するための回路であって、後述する判別回路１０５Ａのデコーダに基づいて所定の信号を出力する。そして、判別回路１０５Ａは、ウエイト時間が発生する場合であっても、ＳＲＡＭ１０４Ａ１に対してリード要求すると、不具合を起こすことがないのに対して、フラッシュメモリＦＭにリード要求すると、フラッシュメモリＦＭから正しく読み出すことができない等の不具合を起こすおそれがあることを判別することができる。
【００９８】
次に、フラッシュメモリＦＭにリード要求した際の、ウエイト時間に対応するウエイト数について説明する。このウエイト時間は、ＣＰＵ１０１ＡがフラッシュメモリＦＭにリード要求した際に、フラッシュメモリＦＭから正しく読み出すことができない等の不具合を起こすおそれがあって、データリードのために、ウエイト時間が必要となる場合があるので、それを防止するために、ウエイト時間に対応するウエイト数を設定する。もっとも、ウエイト数とウエイト時間との関係は、状況に応じて、このマイクロコンピュータを使用するユーザーが、任意に設定してもよく、任意の数値を設定することができる。
尚、ＳＲＡＭ１０４Ａ１の場合、リードに要するアクセスタイムは２０（ｎｓ）であり、フラッシュメモリＦＭの場合、リードに要するアクセスタイムは６０（ｎｓ）である。
【００９９】
図１３（Ａ）において、クロック設定が２分周（クロック設定が０）である場合、クロック信号の周波数は１０ＭＨｚ（周期は１００ｎｓ）であり、ＣＰＵ１０１ＡがエミュレーションメモリとしてのＳＲＡＭ１０４Ａ１に対してリード要求する際に、その必要なウエイト数は０であり、ＣＰＵ１０１ＡがフラッシュメモリＦＭに対してリード要求する際に、その必要なウエイト数は０である。
クロック設定が等分周（クロック設定が１）の場合、クロック信号の周波数は２０ＭＨｚ（周期は５０ｎｓ）であり、ＣＰＵ１０１ＡがエミュレーションメモリとしてのＳＲＡＭ１０４Ａ１に対してリード要求する際に、その必要なウエイト数は０であり、ＣＰＵ１０１ＡがフラッシュメモリＦＭに対してリード要求する際に、その必要なウエイト数は１である。このウエイト数が１の場合、この実施の形態の場合、ウエイト時間は５０（ｎｓ）以上確保される。
【０１００】
クロック設定が２逓倍（クロック設定が２）の場合、クロック信号の周波数は４０ＭＨｚ（周期は２５ｎｓ）であり、ＣＰＵ１０１ＡがエミュレーションメモリとしてのＳＲＡＭ１０４Ａ１に対してリード要求する際に、その必要なウエイト数は０であり、ＣＰＵ１０１ＡがフラッシュメモリＦＭに対してリード要求する際に、その必要なウエイト数は２である。このウエイト数が２の場合、この実施の形態の場合、ウエイト時間は７５（ｎｓ）以上確保される。
【０１０１】
次に、判別回路１０５Ａにおけるデコーダについて説明する。このデコーダは、クロックセレクト用レジスタ１０３Ａ１におけるクロック設定と、ウエイト設定用レジスタ１０３Ａ２におけるウエイト設定とに基づいて、設定されることになる。
図１３（Ｂ）において、クロックセレクト用レジスタ１０３Ａ１におけるクロック設定が０（周波数は１０ＭＨｚ：周期は１００ｎｓ）であり、ウエイト設定用レジスタ１０３Ａ２におけるウエイト設定が０である場合、判別回路１０５Ａの出力は０となるように構成されている。すなわち、ウエイト時間が発生しない場合でも、この周期のクロック信号であれば、ＣＰＵ１０１ＡがフラッシュメモリＦＭにアクセスした際に、判別回路１０５Ａは、不具合を起こすおそれがないと判別するように構成されている。
【０１０２】
以下同様に、クロックセレクト用レジスタ１０３Ａ１における設定が０（周波数は１０ＭＨｚ：周期は１００ｎｓ）であり、ウエイト設定用レジスタ１０３Ａ２におけるウエイト設定が１である場合、判別回路１０５Ａの出力は０となるように構成されている。すなわち、この周期のクロック信号であれば、ウエイト時間が発生して、ＣＰＵ１０１ＡがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ａは、不具合を起こすおそれがないと判別するように構成されている。
クロックセレクト用レジスタ１０３Ａ１における設定が０（周波数は１０ＭＨｚ：周期は１００ｎｓ）であり、ウエイト設定用レジスタ１０３Ａ２におけるウエイト設定が２である場合、判別回路１０５Ａの出力は０となるように構成されている。すなわち、この周期のクロック信号であれば、ウエイト時間が発生して、ＣＰＵ１０１ＡがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ａは、不具合を起こすおそれがないと判別するように構成されている。
【０１０３】
クロックセレクト用レジスタ１０３Ａ１における設定が０（周波数は１０ＭＨｚ：周期は１００ｎｓ）であり、ウエイト設定用レジスタ１０３Ａ２におけるウエイト設定が３である場合、判別回路１０５Ａの出力は０となるように構成されている。すなわち、この周期のクロック信号であれば、ウエイト時間が発生して、ＣＰＵ１０１ＡがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ａは、不具合を起こすおそれがないと判別するように構成されている。
クロックセレクト用レジスタ１０３Ａ１における設定が１（クロック信号の周波数が等分周であって周期は５０ｎｓ）であり、ウエイト設定用レジスタ１０３Ａ２におけるウエイト設定が０である場合、判別回路１０５Ａの出力は１となるように構成されている。すなわち、この周期のクロック信号であって、ウエイト時間が発生しない場合、ＣＰＵ１０１ＡがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ａは、不具合を起こすおそれがあると判別するように構成されている。
【０１０４】
クロックセレクト用レジスタ１０３Ａ１における設定が１（クロック信号の周波数が等分周であって周期が５０ｎｓ）であり、ウエイト設定用レジスタ１０３Ａ２におけるウエイト設定が１である場合、判別回路１０５Ａの出力は０となるように構成されている。すなわち、この周期のクロック信号であれば、ウエイト時間が発生して、ＣＰＵ１０１ＡがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ａは、不具合を起こすおそれがないと判別するように構成されている。
【０１０５】
クロックセレクト用レジスタ１０３Ａ１における設定が１（クロック信号の周波数が等分周であって周期が５０ｎｓ）であり、ウエイト設定用レジスタ１０３Ａ２におけるウエイト設定が２である場合、判別回路１０５Ａの出力は０となるように構成されている。すなわち、この周期のクロック信号であれば、ウエイト時間が発生して、ＣＰＵ１０１ＡがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ａは、不具合を起こすおそれがないと判別するように構成されている。
クロックセレクト用レジスタ１０３Ａ１における設定が１（クロック信号の周波数が等分周であって周期が５０ｎｓ）であり、ウエイト設定用レジスタ１０３Ａ２におけるウエイト設定が３である場合、判別回路１０５Ａの出力は０となるように構成されている。すなわち、この周期のクロック信号であれば、ウエイト時間が発生して、ＣＰＵ１０１ＡがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ａは、不具合を起こすおそれがないと判別するように構成されている。
クロックセレクト用レジスタ１０３Ａ１における設定が２（クロック信号の周波数が２逓倍であって周期が２５ｎｓ）であり、ウエイト設定用レジスタ１０３Ａ２におけるウエイト設定が０である場合、判別回路１０５Ａの出力は１となるように構成されている。すなわち、この周期のクロック信号であって、ウエイト時間が発生しない場合、ＣＰＵ１０１ＡがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ａは、不具合を起こすおそれがあると判別するように構成されている。
【０１０６】
クロックセレクト用レジスタ１０３Ａ１における設定が２（クロック信号の周波数が２逓倍であって周期が２５ｎｓ）であり、ウエイト設定用レジスタ１０３Ａ２におけるウエイト設定が１である場合、判別回路１０５Ａの出力は１となるように構成されている。すなわち、ウエイト時間が発生して、この周期のクロック信号の場合、ＣＰＵ１０１ＡがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ａは、不具合を起こすおそれがあると判別するように構成されている。
クロックセレクト用レジスタ１０３Ａ１における設定が２（クロック信号の周波数が２逓倍であって周期が２５ｎｓ）であり、ウエイト設定用レジスタ１０３Ａ２におけるウエイト設定が２である場合、判別回路１０５Ａの出力は０となるように構成されている。すなわち、この周期のクロック信号であれば、ウエイト時間が発生して、ＣＰＵ１０１ＡがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ａは、不具合を起こすおそれがないと判別するように構成されている。
【０１０７】
クロックセレクト用レジスタ１０３Ａ１における設定が２（クロック信号の周波数が２逓倍であって周期が２５ｎｓ）であり、ウエイト設定用レジスタ１０３Ａ２におけるウエイト設定が３である場合、判別回路１０５Ａの出力は０となるように構成されている。すなわち、この周期のクロック信号であれば、ウエイト時間が発生して、ＣＰＵ１０１ＡがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ａは、不具合を起こすおそれがないと判別するように構成されている。
そして、ＳＲＡＭ１０４Ａ１は、評価用マイコン１００Ａにおいてのみ用いられ、量産用１チップマイコンのＳＲＡＭ１０４Ａ１は、フラッシュメモリＦＭに置き換えられるが、判別回路１０５Ａが不具合を起こすと判別された場合、ＳＲＡＭ１０４Ａ１に記憶された動作プログラムについては、修正が加えられる。一方、判別回路１０５Ａが不具合を起こすことがないと判別された場合、その動作プログラムは、量産用１チップマイコン内のフラッシュメモリＦＭに内蔵されることになる。
【０１０８】
以上のように第６実施の形態における評価装置Ｉでは、フラッシュメモリＦＭの動作速度性能よりも、動作速度性能が高速であるエミュレーションメモリのＲＡＭに動作プログラムを記憶させた状態で、その動作プログラムを評価するため、ＲＡＭに記憶された動作プログラムをリードする際に、ウエイト時間を必要に応じて設定した上で、判別回路１０５Ａは不具合を起こす否かを判別する。そして、フラッシュメモリＦＭに記憶された状態の動作プログラムをリードしても、判別回路１０５Ｅが不具合を起こすおそれがないと判断した場合、その動作プログラムをフラッシュメモリＦＭに記憶するのに対して、動作プログラムをリードした場合、不具合を起こすおそれがある場合と判断した場合、その動作プログラムを修正して、フラッシュメモリＦＭに記憶する必要がある。それにより、この実施の形態のマイクロコンピュータによる評価装置Ｉでもって評価・開発され、動作確認がされたプログラムが、量産用マイコンでは動作しないという問題が解決できる。
【０１０９】
次に、フラッシュメモリ等の不揮発性メモリを内蔵する量産用１チップマイコンを評価する評価装置Ｊの第７の実施の形態について、図１４及び図１５を参照して説明する。
図１４に示す第７実施形態における評価装置Ｊは、評価用マイコン１００Ｂを備える。評価用マイコン１００Ｂは、ＣＰＵ１０１Ｂ、内部バス１０２Ｂ、レジスタ１０３Ｂ、判別手段を構成する判別回路１０５Ｂ、及び判別結果通知手段を構成するデータ出力回路１１０Ｂを備える。エミュレーションＲＡＭ１０４Ｂは、量産時は、例えばＲＯＭまたはフラッシュメモリ等の不揮発性メモリに置き換えられるが、この場合は、フラッシュメモリＦＭ（図１５参照）に置き換えられる。
【０１１０】
この実施の形態の場合、第６実施形態における評価装置Iと異なり、エミュレーションＲＡＭ１０４ＢからＣＰＵ１０１Ｂへ、内部バス１０２Ｂを介して、データを出力するデータ出力回路１１０Ｂを設ける点で異なるが、ＣＰＵ１０１Ｂは、図１４に示すように、内部バス１０２Ｂを介して、レジスタ１０３Ｂと接続され、そのレジスタ１０３Ｂは、判別回路１０５Ｂと接続される点で、第６実施形態の構成と同様である。
【０１１１】
そして、判別回路１０５Ｂの出力信号は、データ出力回路１１０Ｂに入力されるが、データ出力回路１１０Ｂは、判別回路１０５Ｂが不具合を起こすと判別した場合と、不具合を起こさないと判別した場合とで、出力信号を変更するようになっている。すなわち、判別回路１０５Ｂが不具合を起こさないと判別した場合ＣＰＵ１０１ＢがエミュレーションＲＡＭ１０４Ｂのリード時に、エミュレーションＲＡＭ１０４Ｂに格納された本来のデータを、そのまま出力するように構成されている。一方、判別回路１０５Ｂが不具合を起こすと判別した場合、ＣＰＵ１０１ＢがエミュレーションＲＡＭ１０４Ｂのリード時に、エミュレーションＲＡＭ１０４Ｂに格納された本来のデータではなく、異なったデータを出力するように構成されているので、ＣＰＵ１０１Ｂはその旨を判別することができる。従って、データ出力回路１１０Ｂは、ＣＰＵ１０１Ｂに対して、判別結果通知手段を構成することになる。
【０１１２】
図１５は、図１４に示す評価装置Ｊを具体化した一実施形態であり、評価用マイコン１００Ｂと、エミュレーションメモリとなるＳＲＡＭ１０４Ｂ１を示している。評価用マイコン１００Ｂは、ＣＰＵ１０１Ｂと、内部バス１０２Ｂと、水晶発振子ＳＣと、２分周回路１０６Ｂ１と、等倍回路１０６Ｂ２と、２逓倍回路１０６Ｂ３と、クロック設定レジスタ１０３Ｂ１と、ウエイト設定レジスタ１０３Ｂ２と、クロック信号セレクタ１０７Ｂと、ＳＲＡＭのインタフェース１０８Ｂと、判別回路１０５Ｂと、データ出力回路１１０Ｂとを備える。
この場合、データ出力回路１１０Ｂは、データ反転回路１１０Ｂ１及びデータセレクタ１１０Ｂ２を備える。この場合、図１４に示す構成要素の機能と、図１３に示す構成要素の機能とがほぼ同一の場合、同一の符号を付して詳細な説明を省略する。そして、図１４及び図１５に示す第７実施形態における評価装置Ｊに設けられるその他の構成要素であって、図１１及び図１２に示す第６実施形態における評価装置Ｉの構成要素と同一の名称のものは、ほぼ同一の機能を果たすことになる。
【０１１３】
そして、ＣＰＵ１０１Ｂは、内部バス１０２Ｂ及びＳＲＡＭのインタフェース１０８Ｂと接続され、また、ウエイト設定レジスタ１０３Ｂ２は、内部バス１０２Ｂ及びＳＲＡＭのインタフェース１０８Ｂと接続され、また、クロック設定レジスタ１０３Ｂ１は、内部バス１０２Ｂ、クロック信号セレクタ１０７Ｂ、判別回路１０５Ｂと接続され、また、水晶発振子ＳＣは、２分周回路１０６Ｂ１、等倍回路１０６Ｂ２、２逓倍回路１０６Ｂ３を介して、クロック信号セレクタ１０７Ｂと接続される点で、第６実施の形態と同様である。
データ反転回路１１０Ｂ１は、ＳＲＡＭ１０４Ｂ１のリード時に、ＳＲＡＭ１０４Ｂ１に格納された本来のデータを反転させるためのものである。データセレクタ１１０Ｂ２は、データ反転回路１１０Ｂ１を介してＳＲＡＭ１０４Ｂ１の出力端子に接続されるとともに、ＳＲＡＭ１０４Ｂ１の出力端子に接続されており、判別回路１０５Ｂが不具合を起こすと判別した場合と、不具合を起こさないと判別した場合とで、出力信号を変更するようになっている。
【０１１４】
具体的には、判別回路１０５Ｂは、図１３（Ｂ）における判別回路１０５Ａの判別と同様の判別を行い、出力が０となる場合、判別回路１０５Ｂが不具合を起こさないと判別し、判別回路１０５Ａの出力が１となる場合、判別回路１０５Ｂが不具合を起こすと判別する。図１３（Ｂ）における説明の如く、動作プログラムによって行われたクロック設定レジスタ１０３Ｂ１における所定の周期のクロック信号の設定と、ウエイト設定用レジスタ１０３Ｂ２におけるウエイト設定に基づいて、ウエイト数を必要に応じて設定した上で、判別回路１０５Ｂは不具合を起こすことがない（出力が０の場合）と判別したり、不具合を起こす（出力が１の場合）と判別したりする。
そして、判別回路１０５Ｂが不具合を起こさないと判別した場合、データセレクタ１１０Ｂ２は、ＣＰＵ１０１ＢがＳＲＡＭ１０４Ｂ１のリード時に、データ反転回路１１０Ｂ１を介さずに、ＳＲＡＭ１０４Ｂ１に格納された本来のデータをそのまま出力するように構成されている。それに対して、判別回路１０５Ｂが不具合を起こすと判別した場合、データセレクタ１１０Ｂ２は、ＣＰＵ１０１ＢがＳＲＡＭ１０４Ｂ１のリード時に、データ反転回路１１０Ｂ１を介して、ＳＲＡＭ１０４Ｂ１に格納された本来のデータを反転したデータを、内部バス１０２Ｂを介して出力するように構成されている。
【０１１５】
従って、ＳＲＡＭ１０４Ｂ１に記憶された動作プログラムによって行われたレジスタ１０３Ｂの設定に誤りがある場合、ＳＲＡＭ１０４Ｂ１に対するリードデータとして、ＳＲＡＭ１０４Ｂ１に格納された本来のデータと反転した誤りデータを返すので、動作プログラムが正常に動作しなくなる。そのため、ＣＰＵ１０１Ｂはその動作プログラムでもって正常に動作しないことが容易に判別できる。
そして、第７実施の形態における評価装置Ｊでは、フラッシュメモリＦＭの動作速度性能よりも、動作速度性能が高速であるエミュレーションメモリのＲＡＭに動作プログラムを記憶させた状態で、その動作プログラムを評価するため、ＲＡＭに記憶された動作プログラムをリードする際に、必要に応じてウエイト時間を設定した上で、判別回路１０５Ｂは不具合を起こす否かを判別し、データ出力回路１１０Ｂを用いて、その判別結果をＣＰＵ１０１Ｂに通知するように構成する。
【０１１６】
以上のように第７実施の形態における評価装置Ｊでは、フラッシュメモリＦＭの動作速度性能よりも、動作速度性能が高速であるエミュレーションメモリのＲＡＭに動作プログラムを記憶させた状態で、その動作プログラムを評価するため、ＲＡＭに記憶された動作プログラムをリードする際に、ウエイト時間を必要に応じて設定した上で、判別回路１０５Ｂは不具合を起こす否かを判別する。そして、フラッシュメモリＦＭに記憶された状態の動作プログラムをリードしても、判別回路１０５Ｂが不具合を起こすおそれがないと判断した場合、その動作プログラムをフラッシュメモリＦＭに記憶するのに対して、動作プログラムをリードした場合、不具合を起こすおそれがある場合と判断した場合、データ出力回路１１０Ｂを用いて、その判別結果をＣＰＵ１０１Ｂに通知するので、その動作プログラムを修正して、フラッシュメモリＦＭに記憶する必要がある。
それにより、この実施の形態のマイクロコンピュータによる評価装置Ｊでもって評価・開発され、動作確認がされたプログラムが、量産用マイコンでは動作しないという問題が解決できる。
【０１１７】
次に、フラッシュメモリ等の不揮発性メモリを内蔵する量産用１チップマイコンを評価する評価装置Ｋの第８の実施の形態について、図１６及び図１７を参照して説明する。
図１６に示す第８実施形態における評価装置Ｋは、評価用マイコン１００Ｃを備える。評価用マイコン１００Ｃは、ＣＰＵ１０１Ｃ、内部バス１０２Ｃ、レジスタ１０３Ｃ、及び判別手段を構成する判別回路１０５Ｃを備える。エミュレーションＲＡＭ１０４Ｃは、量産時は、例えばＲＯＭまたはフラッシュメモリ等の不揮発性メモリに置き換えられるが、この場合は、フラッシュメモリＦＭ（図１７参照）に置き換えられる。
この実施の形態の場合、第６実施形態における評価装置Ｉと異なり、判別回路１０５Ｃが不具合を起こすと判別した場合、ＣＰＵ１０１Ｃへのデータの割り込み処理を行うように、電気的な接続がなされており、ＣＰＵ１０１Ｃはその旨を判別することができるので、ＣＰＵ１０１Ｃへのデータの割り込み処理は、判別結果通知手段を構成することになる。但し、ＣＰＵ１０１Ｃは、図１６に示すように、内部バス１０２Ｃを介して、レジスタ１０３Ｃと接続され、そのレジスタ１０３Ｃは、判別回路１０５Ｃと接続される点で、第６実施形態の構成と同様である。
【０１１８】
図１７は、図１６に示す評価装置を具体化した一実施形態であり、評価用マイコン１００Ｃと、エミュレーションメモリとなるＳＲＡＭ１０４Ｃ１を示している。評価用マイコン１００Ｃは、ＣＰＵ１０１Ｃと、内部バス１０２Ｃと、水晶発振子ＳＣと、２分周回路１０６Ｃ１と、等倍回路１０６Ｃ２と、２逓倍回路１０６Ｃ３と、クロック設定レジスタ１０３Ｃ１と、ウエイト設定レジスタ１０３Ｃ２と、クロック信号セレクタ１０７Ｃと、ＳＲＡＭのインタフェース１０８Ｃと、判別回路１０５Ｃとを備える。この場合、図１６に示す構成要素の機能と、図１３に示す構成要素の機能とがほぼ同一の場合、同一の符号を付して詳細な説明を省略する。そして、図１６及び図１７に示す第８実施形態における評価装置Ｋに設けられるその他の構成要素であって、図１１及び図１２に示す第６実施形態における評価装置Ｉの構成要素と同一の名称のものは、ほぼ同一の機能を果たすことになる。
【０１１９】
そして、ＣＰＵ１０１Ｃは、内部バス１０２Ｃ及びＳＲＡＭのインタフェース１０８Ｃと接続され、また、ウエイト設定レジスタ１０３Ｃ２は、内部バス１０２Ｃ及びＳＲＡＭのインタフェース１０８Ｃと接続され、また、クロック設定レジスタ１０３Ｃ１は、内部バス１０２Ｃ、クロック信号セレクタ１０７Ｃ、判別回路１０５Ｃと接続され、また、水晶発振子ＳＣは２分周回路１０６Ｃ１、等倍回路１０６Ｃ２、２逓倍回路１０６Ｃ３を介して、クロック信号セレクタ１０７Ｃと接続される点で、第６実施の形態と同様である。
また、判別回路１０５Ｃは、図１３（Ｂ）における判別回路１０５Ａの判別と同様の判別を行い、出力が０となる場合、判別回路１０５Ｃが不具合を起こさないと判別し、判別回路１０５Ｃの出力が１となる場合、判別回路１０５Ｃが不具合を起こすと判別する。そして、図１３（Ｂ）における説明の如く、動作プログラムによって行われたクロック設定レジスタ１０３Ｃ１における所定の周期のクロック信号の設定と、ウエイト設定用レジスタ１０３Ｃ２におけるウエイト設定に基づいて、判別回路１０５Ｃは不具合を起こすことがない（出力が０の場合）と判別したり、不具合を起こす（出力が１の場合）と判別したりする。そのため、判別回路１０５Ｃは、不具合を起こす（出力が１の場合）と判別した場合、ＣＰＵ１０１Ｃへのデータの割り込み処理する。もっとも、不具合を起こさない（出力が０の場合）と判別した場合、ＣＰＵ１０１Ｃへのデータの割り込み処理をしてもよい。
【０１２０】
このように第８実施の形態における評価装置Ｋでは、フラッシュメモリＦＭの動作速度性能よりも、動作速度性能が高速であるエミュレーションメモリのＲＡＭに動作プログラムを記憶させた状態で、その動作プログラムを評価するため、ＲＡＭに記憶された動作プログラムをリードする際に、必要に応じてウエイト時間を設定した上で、判別回路１０５Ｃは不具合を起こす否かを判別し、割り込み処理を用いて、その判別結果をＣＰＵ１０１Ｃに通知するように構成する。
そして、フラッシュメモリＦＭに記憶された状態の動作プログラムをリードしても、判別回路１０５Ｃが、不具合を起こすおそれがないと判断した場合、その動作プログラムをフラッシュメモリＦＭに記憶するのに対して、動作プログラムをリードした場合、不具合を起こすおそれがある場合と判断した場合、その動作プログラムを修正して、フラッシュメモリＦＭに記憶する必要がある。それにより、この実施の形態のマイクロコンピュータによる評価装置でもって評価・開発され、動作確認がされたプログラムが、量産用マイコンでは動作しないという問題が解決できる。
【０１２１】
次に、フラッシュメモリ等の不揮発性メモリを内蔵する量産用１チップマイコンを評価する評価装置Ｌの第９の実施の形態について、図１８及び図１９を参照して説明する。
図１８に示す第９実施形態における評価装置Ｌは、評価用マイコン１００Ｄを備える。評価用マイコン１００Ｄは、ＣＰＵ１０１Ｄ、内部バス１０２Ｄ、レジスタ１０３Ｄ、判別手段を構成する判別回路１０５Ｄ及び判別結果通知手段を構成する報知用のＬＥＤ１１１Ｄを備える。エミュレーションＲＡＭ１０４Ｄは、量産時は、例えばＲＯＭまたはフラッシュメモリ等の不揮発性メモリに置き換えられるが、この場合は、フラッシュメモリＦＭ（図１９参照）に置き換えられる。
【０１２２】
この実施の形態の場合、第６実施形態における評価装置Ｉと異なり、判別回路１０５Ｄから、判別結果報知用のＬＥＤ１１１Ｄを設けている。そして、判別回路１０５Ｄは、そこからＬＥＤ１１１Ｄへ信号を出力するに際し、判別回路１０５Ｄが不具合を起こすと判別した場合と、不具合を起こさないと判別した場合とで、出力信号を変更するようになっている。すなわち、判別回路１０５Ｂが不具合を起こさないと判別した場合、判別回路１０５Ｄから信号を入力するＬＥＤ１１１Ｄは、点灯しないのに対して、判別回路１０５Ｄが不具合を起こすと判別した場合、判別回路１０５Ｄから信号を入力するＬＥＤ１１１Ｄは、点灯するように構成されている。
この場合、ＣＰＵ１０１Ｄは、図１８に示すように、内部バス１０２Ｄを介して、レジスタ１０３Ｄと接続され、そのレジスタ１０３Ｄは、判別回路１０５Ｄと接続される点で、第６実施形態の構成と同様である。
【０１２３】
図１９は、図１８に示す評価装置Ｌを具体化した一実施形態であり、評価用マイコン１００Ｄと、エミュレーションメモリとなるＳＲＡＭ１０４Ｄ１を示している。評価用マイコン１００Ｄは、ＣＰＵ１０１Ｄと、内部バス１０２Ｄと、水晶発振子ＳＣと、２分周回路１０６Ｄ１と、等倍回路１０６Ｄ２と、２逓倍回路１０６Ｄ３と、クロック設定レジスタ１０３Ｄ１と、ウエイト設定レジスタ１０３Ｄ２と、クロック信号セレクタ１０７Ｄと、ＳＲＡＭのインタフェース１０８Ｄと、判別回路１０５Ｄと、ＬＥＤ１１１Ｄとを備える。この場合、図１９に示す構成要素の機能と、図１３に示す構成要素の機能とがほぼ同一の場合、同一の符号を付して詳細な説明を省略する。この場合、図１８及び図１９に示す第９実施形態における評価装置Ｌに設けられるその他の構成要素であって、図１１及び図１２に示す第６実施形態における評価装置Ｉの構成要素と同一の名称のものは、ほぼ同一の機能を果たすことになる。
【０１２４】
そして、ＣＰＵ１０１Ｄは、内部バス１０２Ｄ及びＳＲＡＭのインタフェース１０８Ｄと接続され、また、ウエイト設定レジスタ１０３Ｄ２は、内部バス１０２Ｄ及びＳＲＡＭのインタフェース１０８Ｄと接続され、また、クロック設定レジスタ１０３Ｄ１は、内部バス１０２Ｄ、クロック信号セレクタ１０７Ｄ、判別回路１０５Ｄと接続され、また、水晶発振子ＳＣは、２分周回路１０６Ｄ１、等倍回路１０６Ｄ２、２逓倍回路１０６Ｄ３を介して、クロック信号セレクタ１０７Ｄと接続される点で、第６実施の形態と同様である。
【０１２５】
具体的には、判別回路１０５Ｄは、図１３（Ｂ）における判別回路１０５Ａの判別と同様の判別を行い、出力が０となる場合、判別回路１０５Ｄが不具合を起こさないと判別し、出力が１となる場合、判別回路１０５Ｄが不具合を起こすと判別する。その判別結果報知用のＬＥＤ１１１Ｄは、評価装置Ｌの出力端子に接続され、判別の結果を示す信号が、その出力端子を介して、ＬＥＤ１１１Ｄへ出力することになる。
そして、図１３（Ｂ）における説明の如く、動作プログラムによって行われたクロック設定レジスタ１０３Ｄ１における所定の周期のクロック信号の設定と、ウエイト設定用レジスタ１０３Ｄ２におけるウエイト設定に基づいて、判別回路１０５Ｄは不具合を起こすことがない（出力が０の場合）と判別したり、不具合を起こす（出力が１の場合）と判別したりする。
そのため、判別回路１０５Ｄは、不具合を起こす（出力が１の場合）と判別した場合、ＣＰＵ１０１Ｄは、判別結果報知用のＬＥＤ１１１Ｄに対してその旨の信号を出力し、ＬＥＤ１１１Ｄは点灯する。もっとも、判別回路１０５Ｄが不具合を起こさない（出力が０の場合）と判別した場合、ＣＰＵ１０１Ｄは、判別結果報知用のＬＥＤ１１１Ｄに対してその旨の信号を出力し、消灯してもよい。
【０１２６】
このように第９実施の形態における評価装置Ｌでは、フラッシュメモリＦＭの動作速度性能よりも、動作速度性能が高速であるエミュレーションメモリのＲＡＭに動作プログラムを記憶させた状態で、その動作プログラムを評価するため、ＲＡＭに記憶された動作プログラムをリードする際に、必要に応じてウエイト時間を設定した上で、判別回路１０５Ｄは不具合を起こす否かを判別し、ＬＥＤ１１１Ｄを用いて、その判別結果を開発設計者等に通知するように構成する。そして、フラッシュメモリＦＭに記憶された状態の動作プログラムをリードしても、判別回路１０５Ｄが、不具合を起こすおそれがないと判断した場合、その動作プログラムをフラッシュメモリＦＭに記憶するのに対して、動作プログラムをリードした場合、不具合を起こすおそれがある場合と判断した場合、その動作プログラムを修正して、フラッシュメモリＦＭに記憶する必要がある。
それにより、この実施の形態のマイクロコンピュータによる評価装置Ｌでもって評価・開発され、動作確認がされたプログラムが、量産用マイコンでは動作しないという問題が解決できる。
【０１２７】
次に、フラッシュメモリ等の不揮発性メモリを内蔵する量産用１チップマイコンを評価する評価装置Ｍの第１０の実施の形態について、図２０乃至図２３を参照して説明する。
【０１２８】
図２０に示す第１０実施形態における評価装置Ｍは、評価用マイコン１００Ｅを備える。評価用マイコン１００Ｅは、ＣＰＵ１０１Ｅ、内部バス１０２Ｅ、レジスタ１０３Ｅ、判別手段を構成する判別回路１０５Ｅ及び周波数の未知のクロック信号をカウントするためのカウント１１２Ｅを備える。エミュレーションＲＡＭ１０４Ｅは、量産時は、例えばＲＯＭまたはフラッシュメモリ等の不揮発性メモリに置き換えられるが、この場合は、フラッシュメモリＦＭ（図２１参照）に置き換えられる。
この実施の形態の場合、第６実施形態における評価装置Ｉと異なり、周波数未知のクロック信号を入力するカウント１１２Ｅを設け、カウント１１２Ｅからの出力信号を、判別回路１０５Ｅに出力するように構成し、判別回路１０５Ｅが不具合を起こすと判別した場合、割り込み処理を用いて、その判別結果をＣＰＵ１０１Ｅに通知するように構成する。但し、ＣＰＵ１０１Ｅは、図２０に示すように、内部バス１０２Ｅを介して、レジスタ１０３Ｅと接続され、そのレジスタ１０３Ｅは、判別回路１０５Ｅと接続される点で、第６実施形態の構成と同様である。
【０１２９】
図２１は、図２０に示す評価装置Ｍを具体化した一実施形態であり、評価用マイコン１００Ｅと、エミュレーションメモリとなるＳＲＡＭ１０４Ｅ１を示している。評価用マイコン１００Ｅは、ＣＰＵ１０１Ｅと、内部バス１０２Ｅと、水晶発振子ＳＣ１と、２分周回路１０６Ｅ１と、等倍回路１０６Ｅ２と、２逓倍回路１０６Ｅ３と、クロック設定レジスタ１０３Ｅ１と、ウエイト設定レジスタ１０３Ｅ２と、クロック信号セレクタ１０７Ｅと、ＳＲＡＭのインタフェース１０８Ｅと、判別回路１０５Ｅと、規定パルス出力回路１１３Ｅと、カウンタ１１２Ｅと、入力回路１１４Ｅとを備える。
この場合、図２０に示す構成要素の機能と、図１３に示す構成要素の機能とがほぼ同一の場合、同一の符号を付して詳細な説明を省略する。そして、図２０及び図２１に示す第１０実施形態における評価装置Ｍに設けられるその他の構成要素であって、図１１及び図１２に示す第６実施形態における評価装置Ｉの構成要素と同一の名称のものは、ほぼ同一の機能を果たすことになる。
【０１３０】
そして、ＣＰＵ１０１Ｅは、内部バス１０２Ｅ及びＳＲＡＭのインタフェース１０８Ｅと接続され、また、ウエイト設定レジスタ１０３Ｅ２は、内部バス１０２Ｅ及びＳＲＡＭのインタフェース１０８Ｅと接続され、また、クロック設定レジスタ１０３Ｅ１は、内部バス１０２Ｅ、クロック信号セレクタ１０７Ｅ、判別回路１０５Ｅと接続され、また、水晶発振子ＳＣ１は、２分周回路１０６Ｅ１、等倍回路１０６Ｅ２、２逓倍回路１０６Ｅ３を介して、クロック信号セレクタ１０７Ｅと接続される点で、第６実施の形態と同様である。
但し、水晶発振子ＳＣ１は、所定の周波数（例えば２０ＭＨｚ）のクロック信号を出力する水晶発振子ＳＣと異なり、出力するクロック信号の周波数が不明であるので、この評価装置Ｍは、水晶発振子ＳＣ１から出力するクロック信号の周波数（周期）を特定するために、入力回路１１４Ｅ、規定パルス出力回路１１３Ｅ、及びカウンタ１１２Ｅを備える。
そして、入力回路１１４Ｅは、規定パルス出力回路１１３Ｅから出力した、１０００（ｎｓ）のパルス幅のクロック信号と、水晶発振子ＳＣ１から出力した、信号の周波数及び周期の不明なクロック信号との両方を入力する。カウンタ１１２Ｅは、入力回路１１４Ｅから出力した信号を入力し、水晶発振子ＳＣ１から出力するクロック信号の周波数をカウントするためのものである。具体的には、規定パルス出力回路１１３Ｅから出力する信号によって設定される所定期間（例えば１０００ｎｓ）に入力されたクロック数をカウントし、その信号を判別回路１０５Ｅに出力する。この場合、判別回路１０５Ｅは、そのデコーダを、カウンタ１１２Ｅからの出力値と、クロックセレクト用レジスタ１０３Ｅ１におけるクロック設定と、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定とに基づいて、設定されることになる。
【０１３１】
ここで、第１０実施形態におけるフラッシュメモリＦＭにリード要求した際のウエイト時間に対応するウエイト数について説明するが、このウエイト数は、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定によって定められることになる。
具体的には、図２３（Ａ）に示すウエイト数とウエイト時間との関係において、クロック信号の周期が６０（ｎｓ）である場合、ＣＰＵ１０１ＥがフラッシュメモリＦＭに対してリード要求する際に、必要なウエイト数は０である。クロック信号の周期が３０（ｎｓ）〜６０（ｎｓ）である場合、ＣＰＵ１０１ＥがエミュレーションメモリとしてのＳＲＡＭ１０４Ｅ１に対してリード要求する際に、必要なウエイト数は１である。クロック信号の周期が２０（ｎｓ）〜３０（ｎｓ）である場合、ＣＰＵ１０１ＥがフラッシュメモリＦＭに対してリード要求する際に、その必要なウエイト数は２である。もっとも、ウエイト数とウエイト時間との関係は、状況に応じて、このマイクロコンピュータを使用するユーザーが、任意に設定してもよく、任意の数値を設定することができる。
【０１３２】
図２３（Ｂ）に示す判定回路用デコーダにおいて、クロック信号の周期が６０（ｎｓ）以上である場合、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０である場合、判別回路１０５Ｅの出力は０となるように構成されている。すなわち、ウエイト時間が発生しない場合でも、この周期のクロック信号であれば、ＣＰＵ１０１ＥがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別するように構成されている。
また、クロック信号の周期が６０（ｎｓ）以上である場合、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が１である場合、判別回路１０５Ｅの出力は０となるように構成されている。すなわち、この周期のクロック信号であれば、ウエイト時間が発生して、ＣＰＵ１０１ＥがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別するように構成されている。
【０１３３】
クロック信号の周期が６０（ｎｓ）以上である場合、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が２である場合は、判別回路１０５Ｅの出力は０となるように構成されている。すなわち、この周期のクロック信号であれば、ウエイト時間が発生して、ＣＰＵ１０１ＥがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別するように構成されている。
クロック信号の周期が６０（ｎｓ）以上である場合であって、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が３である場合は、判別回路１０５Ｅの出力は０となるように構成されている。すなわち、この周期のクロック信号であれば、ウエイト時間が発生して、ＣＰＵ１０１ＥがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別するように構成されている。
図２３（Ｂ）において、クロック信号の周期が３０（ｎｓ）〜６０（ｎｓ）である場合であって、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０である場合は、判別回路１０５Ｅの出力は１となるように構成されている。すなわち、ウエイト時間が発生しない場合、この周期のクロック信号であれば、ＣＰＵ１０１ＥがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ｅは、不具合を起こすおそれがあると判別するように構成されている。
【０１３４】
クロック信号の周期が３０（ｎｓ）〜６０（ｎｓ）である場合であって、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が１である場合は、判別回路１０５Ｅの出力は０となるように構成されている。すなわち、この周期のクロック信号であれば、ウエイト時間が発生して、ＣＰＵ１０１ＥがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別するように構成されている。
クロック信号の周期が３０（ｎｓ）〜６０（ｎｓ）である場合であって、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が２である場合は、判別回路１０５Ｅの出力は０となるように構成されている。すなわち、この周期のクロック信号であれば、ウエイト時間が発生して、ＣＰＵ１０１ＥがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別するように構成されている。
クロック信号の周期が３０（ｎｓ）〜６０（ｎｓ）である場合であって、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が３である場合は、判別回路１０５Ｅの出力は０となるように構成されている。すなわち、この周期のクロック信号であれば、ウエイト時間が発生して、ＣＰＵ１０１ＥがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別するように構成されている。
【０１３５】
図２３（Ｂ）において、クロック信号の周期が２０（ｎｓ）〜３０（ｎｓ）である場合であって、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０である場合は、判別回路１０５Ｅの出力は１となるように構成されている。すなわち、ウエイト時間が発生しない場合、この周期のクロック信号であれば、ＣＰＵ１０１ＥがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ｅは、不具合を起こすおそれがあると判別するように構成されている。
クロック信号の周期が２０（ｎｓ）〜３０（ｎｓ）である場合であって、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が１である場合は、判別回路１０５Ｅの出力は１となるように構成されている。すなわち、この周期のクロック信号であれば、ウエイト時間が発生して、ＣＰＵ１０１ＥがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ｅは、不具合を起こすおそれがあると判別するように構成されている。
【０１３６】
図２３（Ｂ）において、クロック信号の周期が２０（ｎｓ）〜３０（ｎｓ）である場合であって、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が２である場合は、判別回路１０５Ｅの出力は０となるように構成されている。すなわち、ウエイト時間が発生しない場合またはウエイト時間が短い場合、この周期のクロック信号であれば、ＣＰＵ１０１ＥがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別するように構成されている。
クロック信号の周期が２０（ｎｓ）〜３０（ｎｓ）である場合は、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が３である場合は、判別回路１０５Ｅの出力は０となるように構成されている。すなわち、この周期のクロック信号であれば、長いウエイト時間が発生して、ＣＰＵ１０１ＥがフラッシュメモリＦＭにアクセスした場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別するように構成されている。
【０１３７】
そして、カウンタ１１２Ｅでもってカウントされるクロック信号のカウント数から、図２２に示す原振周期推定値用のテーブルを用いて、水晶発振子ＳＣ１から出力する信号の周波数を推定し、その推定した周波数について、判別回路１０５Ｅは、不具合を起こすおそれがあるか否かを判別することができる。この場合、原振周期推定値用のテーブルを用いて周波数を絞り込むことができる。また、２分周回路１０６Ｅ１または２逓倍回路１０６Ｅ３を用いて、ある程度クロックの周波数を絞り込むことができる。
具体的には、クロック信号のカウント数が７以下である場合は、原振周期推定値は、１２５（ｎｓ）以上であると推定でき、その場合の２分周クロック周期は、２５０（ｎｓ）以上であると推定でき、２逓倍クロック信号の周期は、６３（ｎｓ）以上であると推定できる。そして、図２３（Ｂ）に示す判定回路用デコーダによれば、原振周期推定値、２分周クロック信号及び２逓倍クロック信号の周期が、６０（ｎｓ）以上である場合、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０乃至３のいずれであっても、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
【０１３８】
また、クロック信号のカウント数が８である場合は、原振周期推定値は、１１１（ｎｓ）〜１４３（ｎｓ）であると推定でき、その場合の２分周クロック信号の周期は、２２２（ｎｓ）〜２８６（ｎｓ）であると推定でき、２逓倍クロック信号の周期は、５６（ｎｓ）〜７１（ｎｓ）であると推定できる。それにより、図２３（Ｂ）に示す判定回路用デコーダによれば、原振周期推定値、及び２分周クロック信号の周期が、６０（ｎｓ）以上であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０乃至３のいずれであっても、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
また、２逓倍クロック信号の周期５６（ｎｓ）〜７１（ｎｓ）の側方に設けられた符号「＊」は、フラッシュメモリＦＭのリードする際にウエイト数１以上に対応するウエイト時間の設定が、必要か否かを判別する際の基準である周期６０（ｎｓ）を跨いでいることを示す。
【０１３９】
そして、２逓倍クロック信号の周期である５６（ｎｓ）〜７１（ｎｓ）における６０（ｎｓ）以上については、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０乃至３のいずれであっても、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。また、２逓倍クロック信号の周期である５６（ｎｓ）〜７１（ｎｓ）における６０（ｎｓ）〜３０（ｎｓ）については、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０であると、判別回路１０５Ｅは、不具合を起こすおそれがあると判別するのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が１乃至３のいずれの場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
従って、符号「＊」が設けられた周期５６（ｎｓ）〜７１（ｎｓ）の場合、判別回路１０５Ｅは、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定の数値によって、不具合を起こすおそれがないと判別してもよいし、不具合を起こすおそれがあると判別してもよい。もっとも、周期５６（ｎｓ）〜７１（ｎｓ）の場合、６０（ｎｓ）以上か未満か明確に確定していないので、この実施の形態の場合、不具合を起こすおそれがない、または、不具合を起こすおそれがあるとの双方の判別があり得るが、結論としては、不具合を起こすおそれがないと判別するように設定している。
【０１４０】
以下同様に、クロック信号のカウント数が９である場合は、原振周期推定値は、１００（ｎｓ）〜１２５（ｎｓ）であると推定でき、その場合の２分周クロック信号の周期は、２００（ｎｓ）〜２５０（ｎｓ）、２逓倍クロック信号の周期は、５０〜６３（ｎｓ）であると推定できる。それにより、図２３（Ｂ）に示す判定回路用デコーダによれば、原振周期推定値、及び２分周クロック信号の周期が、６０（ｎｓ）以上であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０乃至３のいずれであっても、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
ここで、２逓倍クロック信号の周期５０（ｎｓ）〜６３（ｎｓ）の側方に設けられた「＊」は、ウエイト数１以上に対応するウエイト時間の設定が、必要か否かを判別する際の基準である周期６０（ｎｓ）を跨いでいることを示すが、クロック信号のカウント数が９の２逓倍クロック信号の場合と同様に考えて、この実施の形態の場合、不具合を起こすおそれがないと判別するように設定している。
【０１４１】
クロック信号のカウント数が１０である場合は、原振周期推定値は、９１（ｎｓ）〜１１１（ｎｓ）であると推定でき、その場合の２分周クロック信号の周期は、１８２（ｎｓ）〜２２２（ｎｓ）、２逓倍クロック信号の周期は、４５（ｎｓ）〜５６（ｎｓ）であると推定できる。それにより、図２３（Ｂ）に示す判定回路用デコーダによれば、原振周期推定値、及び２分周クロック信号の周期が、６０（ｎｓ）以上であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０乃至３のいずれであっても、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
また、２逓倍クロック信号の周期が３０（ｎｓ）〜６０（ｎｓ）であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０であると、判別回路１０５Ｅは、不具合を起こすおそれがあるのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が１乃至３のいずれの場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
【０１４２】
また、クロック信号のカウント数が１１である場合は、原振周期推定値は、８３（ｎｓ）〜１００（ｎｓ）であると推定でき、その場合の２分周クロック信号の周期は、１６７（ｎｓ）〜２００（ｎｓ）、２逓倍クロック信号の周期は、４２（ｎｓ）〜５０（ｎｓ）であると推定できる。それにより、図２３（Ｂ）に示す判定回路用デコーダによれば、原振周期推定値、及び２分周クロック信号の周期が、６０（ｎｓ）以上であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０乃至３のいずれであっても、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。また、２逓倍クロック信号の周期が３０（ｎｓ）〜６０（ｎｓ）であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０であると、判別回路１０５Ｅは、不具合を起こすおそれがあるのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が１乃至３のいずれの場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
【０１４３】
また、クロック信号のカウント数が１２である場合は、原振周期推定値は、７７（ｎｓ）〜９１（ｎｓ）であると推定でき、その場合の２分周クロック信号の周期は、１５４〜１８２（ｎｓ）、２逓倍クロック信号の周期は、３８〜４５（ｎｓ）であると推定できる。それにより、図２３（Ｂ）に示す判定回路用デコーダによれば、原振周期推定値、及び２分周クロック信号の周期が、６０（ｎｓ）以上であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０乃至３のいずれであっても、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。また、２逓倍クロック信号の周期が３０（ｎｓ）〜６０（ｎｓ）であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０であると、判別回路１０５Ｅは、不具合を起こすおそれがあるのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が１乃至３のいずれの場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
【０１４４】
また、クロック信号のカウント数が１３である場合は、原振周期推定値は、７１〜８３（ｎｓ）であると推定でき、その場合の２分周クロック信号の周期は、１４３〜１６７（ｎｓ）、２逓倍クロック信号の周期は、３６〜４２（ｎｓ）であると推定できる。それにより、図２３（Ｂ）に示す判定回路用デコーダによれば、原振周期推定値、及び２分周クロック信号の周期が、６０（ｎｓ）以上であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０乃至３のいずれであっても、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。また、２逓倍クロック信号の周期が３０（ｎｓ）〜６０（ｎｓ）であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０であると、判別回路１０５Ｅは、不具合を起こすおそれがあるのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が１乃至３のいずれの場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
【０１４５】
クロック信号のカウント数が１４である場合は、原振周期推定値は、６７（ｎｓ）〜７７（ｎｓ）であると推定でき、その場合の２分周クロック信号の周期は、１３３〜１５４（ｎｓ）、２逓倍クロック信号の周期は、３３（ｎｓ）〜３８（ｎｓ）であると推定できる。それにより、図２３（Ｂ）に示す判定回路用デコーダによれば、原振周期推定値、及び２分周クロック信号の周期が、６０（ｎｓ）以上であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０乃至３のいずれであっても、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。また、２逓倍クロック信号の周期が３０（ｎｓ）〜６０（ｎｓ）であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０であると、判別回路１０５Ｅは、不具合を起こすおそれがあるのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が１乃至３のいずれの場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
【０１４６】
また、クロック信号のカウント数が１５である場合は、原振周期推定値は、６３〜７１（ｎｓ）であると推定でき、その場合の２分周クロック信号の周期は、１２５（ｎｓ）〜１４３（ｎｓ）、２逓倍クロック信号の周期は、３１〜３６（ｎｓ）であると推定できる。それにより、図２３（Ｂ）に示す判定回路用デコーダによれば、原振周期推定値、及び２分周クロック信号の周期が、６０（ｎｓ）以上であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０乃至３のいずれであっても、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
また、２逓倍クロック信号の周期が３０（ｎｓ）〜６０（ｎｓ）であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０であると、判別回路１０５Ｅは、不具合を起こすおそれがあると判別するのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が１乃至３のいずれの場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
【０１４７】
また、クロック信号のカウント数が１６である場合は、原振周期推定値は、５９（ｎｓ）〜６７（ｎｓ）であると推定でき、その場合の２分周クロック信号の周期は、１１８（ｎｓ）〜１３３（ｎｓ）、２逓倍クロック信号の周期は、２９（ｎｓ）〜３３（ｎｓ）であると推定できる。
ここで、原振周期推定値の周期５９（ｎｓ）〜６７（ｎｓ）の側方に設けられた「＊」は、ウエイト数１以上に対応するウエイト時間の設定が、必要か否かを判別する際の基準である周期６０（ｎｓ）を跨いでいることを示す。
そして、原振周期推定値である周期５９（ｎｓ）〜６７（ｎｓ）における６０（ｎｓ）以上については、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０乃至３のいずれであっても、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。また、２逓倍クロック信号の周期である５９（ｎｓ）〜６７（ｎｓ）における６０（ｎｓ）未満については、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０であると、判別回路１０５Ｅは、不具合を起こすおそれがあると判別するのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が１乃至３のいずれの場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
従って、周期５９（ｎｓ）〜６７（ｎｓ）の場合、判別回路１０５Ｅは、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定の数値によって、不具合を起こすおそれがないと判別してもよいし、不具合を起こすおそれがあると判別してもよい。もっとも、周期５９（ｎｓ）〜６７（ｎｓ）の場合、６０（ｎｓ）以上か未満か明確に確定していないので、この実施の形態の場合、不具合を起こすおそれがない、または、不具合を起こすおそれがあるとの双方の判別があり得るが、結論としては、不具合を起こすおそれがないと判別するように設定している。
【０１４８】
また、２逓倍クロック信号の周期２９（ｎｓ）〜３３（ｎｓ）の側方に設けられた「＊＊」は、ウエイト数２以上に対応するウエイト時間の設定が、必要か否かを判別する際の基準である周期３０（ｎｓ）を跨いでいることを示す。
そして、２逓倍クロック信号の周期である２９（ｎｓ）〜３３（ｎｓ）における３０（ｎｓ）以上については、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０であると、判別回路１０５Ｅは、不具合を起こすおそれがあると判別するのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が１乃至３の場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。また、２逓倍クロック信号の周期である２９（ｎｓ）〜３３（ｎｓ）における３０（ｎｓ）未満については、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０または１であると、判別回路１０５Ｅは、不具合を起こすおそれがあると判別するのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が２または３の場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。従って、符号「＊＊」が設けられた周期２９（ｎｓ）〜３３（ｎｓ）の場合、判別回路１０５Ｅは、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定の数値によって、不具合を起こすおそれがない、または、不具合を起こすおそれがあると判別してもよい。
もっとも、周期２９（ｎｓ）〜３３（ｎｓ）の場合、３０（ｎｓ）以上か未満か明確に確定していないので、この実施の形態の場合、不具合を起こすおそれがない、または、不具合を起こすおそれがあるとの双方の判別があり得るが、結論としては、不具合を起こすおそれがないと判別するように設定している。
【０１４９】
クロック信号のカウント数が１７である場合は、原振周期推定値は、５６（ｎｓ）〜６３（ｎｓ）であると推定でき、その場合の２分周クロック信号の周期は、１１１（ｎｓ）〜１２５（ｎｓ）、２逓倍クロック信号の周期は、２８（ｎｓ）〜３１（ｎｓ）であると推定できる。
ここで、原振周期推定値の周期５６（ｎｓ）〜６３（ｎｓ）の側方に設けられた「＊」は、ウエイト数１以上に対応するウエイト時間の設定が、必要か否かを判別する際の基準である周期６０（ｎｓ）を跨いでいることを示す。
【０１５０】
そして、原振周期推定値である周期５６（ｎｓ）〜６３（ｎｓ）における６０（ｎｓ）以上については、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０乃至３のいずれであっても、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。また、２逓倍クロック信号の周期である５６（ｎｓ）〜６３（ｎｓ）における６０（ｎｓ）未満については、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０であると、判別回路１０５Ｅは、不具合を起こすおそれがあると判別するのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が１乃至３のいずれの場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
従って、周期５６（ｎｓ）〜６３（ｎｓ）の場合、判別回路１０５Ｅは、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定の数値によって、不具合を起こすおそれがないと判別してもよいし、不具合を起こすおそれがあると判別してもよい。もっとも、周期５６（ｎｓ）〜６３（ｎｓ）の場合、６０（ｎｓ）以上か未満か明確に確定していないので、この実施の形態の場合、不具合を起こすおそれがない、または、不具合を起こすおそれがあるとの双方の判別があり得るが、結論としては、不具合を起こすおそれがないと判別するように設定している。
【０１５１】
また、２逓倍クロック信号の周期２８（ｎｓ）〜３１（ｎｓ）の側方に設けられた「＊＊」は、ウエイト数２以上に対応するウエイト時間の設定が、必要か否かを判別する際の基準である周期３０（ｎｓ）を跨いでいることを示す。
そして、２逓倍クロック信号の周期である２８（ｎｓ）〜３１（ｎｓ）における３０（ｎｓ）以上については、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０であると、判別回路１０５Ｅは、不具合を起こすおそれがあると判別するのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が１乃至３の場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
また、２逓倍クロック信号の周期である２８（ｎｓ）〜３１（ｎｓ）における３０（ｎｓ）未満については、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０または１であると、判別回路１０５Ｅは、不具合を起こすおそれがあると判別するのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が２または３の場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。従って、符号「＊＊」が設けられた周期２８（ｎｓ）〜３１（ｎｓ）の場合、判別回路１０５Ｅは、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定の数値によって、不具合を起こすおそれがない、または不具合を起こすおそれがあると判別してもよい。
もっとも、周期２８（ｎｓ）〜３１（ｎｓ）の場合、３０（ｎｓ）以上か未満か確定していないので、この実施の形態の場合、不具合を起こすおそれがない、または、不具合を起こすおそれがあるとの双方の判別があり得るが、結論としては、不具合を起こすおそれがないと判別するように設定している。
【０１５２】
クロック信号のカウント数が１８である場合は、原振周期推定値は、５２（ｎｓ）〜５９（ｎｓ）であると推定でき、その場合の２分周クロック信号の周期は、１０５（ｎｓ）〜１１８（ｎｓ）、２逓倍クロック信号の周期は、２６（ｎｓ）〜２９（ｎｓ）であると推定できる。
それにより、図２３（Ｂ）に示す判定回路用デコーダによれば、原振周期推定値５２（ｎｓ）〜５９（ｎｓ）は、３０（ｎｓ）〜６０（ｎｓ）であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０であると、判別回路１０５Ｅは、不具合を起こすおそれがあると判別するのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が１乃至３の場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。また、分周クロック信号の周期１０５（ｎｓ）〜１１８（ｎｓ）は、６０（ｎｓ）以上であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０乃至３のいずれであっても、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。また、２逓倍クロック信号の周期は、２６（ｎｓ）〜２９（ｎｓ）であって、３０（ｎｓ）未満であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０または１であると、判別回路１０５Ｅは、不具合を起こすおそれがあると判別するのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が２または３の場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
【０１５３】
クロック信号のカウント数が１９である場合は、原振周期推定値は、５０（ｎｓ）〜５６（ｎｓ）であると推定でき、その場合の２分周クロック信号の周期は、１００〜１１１（ｎｓ）、２逓倍クロック信号の周期は、２５（ｎｓ）〜２８（ｎｓ）であると推定できる。
それにより、図２３（Ｂ）に示す判定回路用デコーダによれば、原振周期推定値５０（ｎｓ）〜５６（ｎｓ）は、３０（ｎｓ）〜６０（ｎｓ）であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０であると、判別回路１０５Ｅは、不具合を起こすおそれがあると判別するのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が１乃至３の場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。また、２分周クロック信号の周期１００〜１１１（ｎｓ）は、６０（ｎｓ）以上であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０乃至３のいずれであっても、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。また、２逓倍クロック信号の周期２５（ｎｓ）〜２８（ｎｓ）は、３０（ｎｓ）未満であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０または１であると、判別回路１０５Ｅは、不具合を起こすおそれがあると判別するのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が２または３の場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
【０１５４】
クロック信号のカウント数が２０である場合は、原振周期推定値は、４８（ｎｓ）〜５２（ｎｓ）であると推定でき、その場合の２分周クロック信号の周期は、９６（ｎｓ）〜１０５（ｎｓ）、２逓倍クロック信号の周期は、２４（ｎｓ）〜２６（ｎｓ）であると推定できる。
それにより、原振周期推定値４８（ｎｓ）〜５２（ｎｓ）は、３０（ｎｓ）〜６０（ｎｓ）であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０であると、判別回路１０５Ｅは、不具合を起こすおそれがあると判別するのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が１乃至３の場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。また、２分周クロック信号の周期９６（ｎｓ）〜１０５（ｎｓ）は、６０（ｎｓ）以上であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０乃至３のいずれであっても、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。また、２逓倍クロック信号の周期２４（ｎｓ）〜２６（ｎｓ）は、３０（ｎｓ）未満であるため、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が０または１であると、判別回路１０５Ｅは、不具合を起こすおそれがあると判別するのに対して、ウエイト設定用レジスタ１０３Ｅ２におけるウエイト設定が２または３の場合、判別回路１０５Ｅは、不具合を起こすおそれがないと判別する。
【０１５５】
このように第１０実施の形態における評価装置Ｍでは、水晶発振子ＳＣ１から出力したクロック入力の周波数は不明ではある信号と、規定パルス出力回路１１３Ｅから出力した規定パルス幅の入力信号とを比較して、周波数を絞り込み、また、２分周回路１０６Ｅ１または２逓倍回路１０６Ｅ３から、ある程度のクロックの周波数を絞り込むことができるように構成し、フラッシュメモリＦＭの動作速度性能よりも、動作速度性能が高速であるエミュレーションメモリのＲＡＭに動作プログラムを記憶させた状態で、その動作プログラムを評価するため、ＲＡＭに記憶された動作プログラムをリードする際に、必要に応じてウエイト時間を設定した上で、判別回路１０５Ｅは不具合を起こす否かを判別し、割り込み信号を用いて、その判別結果をＣＰＵ１０１Ｅに通知するように構成する。
そして、フラッシュメモリＦＭに記憶された状態の動作プログラムをリードしても、判別回路１０５Ｅが、不具合を起こすおそれがないと判断した場合、その動作プログラムをフラッシュメモリＦＭに記憶するのに対して、動作プログラムをリードした場合、不具合を起こすおそれがある場合と判断した場合、割り込み処理を用いて、その判別結果をＣＰＵ１０１Ｅに通知するので、その後、その動作プログラムを修正して、フラッシュメモリＦＭに記憶する必要がある。
それにより、この実施の形態のマイクロコンピュータによる評価装置Ｍでもって評価・開発されて、動作確認がされたプログラムについては、量産用マイコンのフラッシュメモリＦＭに記憶された場合に、動作しないということが起こりにくい。
このように入力信号のクロック周波数を推定し、動作プログラムによって行われたレジスタ設定が、フラッシュメモリＦＭをアクセスする際に不具合を起こすかどうかを判別回路１０５Ｅが判別することで、クロック入力周波数が未知であっても、不具合の有無が、クロック入力周波数に依存する場合であっても、不具合を起こすおそれがないと判断した場合、その動作プログラムをフラッシュメモリＦＭに記憶するのに対して、動作プログラムをリードした場合、不具合を起こすおそれがある場合と判断した場合、その動作プログラムを修正して、フラッシュメモリＦＭに記憶する必要がある。
【０１５６】
尚、本発明は前記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良、変形が可能であることは言うまでもない。
例えば、本実施形態においては、評価用マイコンとＲＡＭとを別構成とする場合を例にとり説明したが、本発明は、これに限定されるものではなく、ＲＡＭを評価用マイコンに内蔵する構成とすることもできる。
また、各実施形態においては、書き込み命令、消去命令、書き込み無効命令、及び書き込みプロテクト機能を単独で説明したが、各命令、機能等を適宜に組み合わせた状態で評価装置を構成することができることはいうまでもない。
また、第２又は第３実施形態において、フラッシュメモリの代用としてＲＡＭを構成したが、これに限定されるものではなくフラッシュメモリの代用としての機能の他、動作プログラムの開発・評価における各種モニタ情報の格納用としてＲＡＭを使用してもよい。
また、第２実施形態でのデータの書き込み、消去のタイミングは、検出回路における命令の検出後、タイマー回路における動作時間の計測終了までの間であれば行うことができる。
更に、第３実施形態においては、タイマー回路による時間計測終了後にデータの書き込みを行うように設定することが好ましい。書き込み命令が無効であると判断されるのは、タイマー回路における時間計測終了時であるため、書き込み命令の有効・無効が判明した後にＲＡＭへのデータ書き込みを行う設定とすることが好都合である。
また、第６実施形態においては、動作プログラムによって行われたレジスタ設定により、フラッシュメモリをアクセスする際に、不具合を起こすかどうかを判別し、その判別結果から、動作プログラムの誤りを知ることができるようにしているが、必ずしもその態様に限定されるものではない。
また、第７実施形態においては、動作プログラムによって行われたレジスタ設定が、フラッシュメモリをアクセスする際に、不具合を起こすかどうかを判別するようにし、判別の結果、動作プログラムのレジスタ設定に誤りがあると、誤りデータとして本来のデータの反転値を出力しているが、必ずしもその態様に限定されるものではない。例えば、その他の態様として、誤りデータとしては、本来のデータでない値であれば良く、例えば、全ビット０の固定のデータや、割り込みを発生させる命令コードであっても良い。
また、第８実施形態においては、動作プログラムによって行われたレジスタ設定が、フラッシュメモリをアクセスする際に、不具合を起こすかどうかを判別するようにし、判別の結果、動作プログラムのレジスタ設定に誤りがあると、ＣＰＵに対して割り込み信号を出力するようにしているが、必ずしもその態様に限定されるものではない。
また、第９実施形態においては、判別結果を報知する報知装置は、ＬＥＤ１１１Ｄであったが、必ずしもＬＥＤ１１１Ｄに限定されるわけではない。例えば、判別結果をマイコンの端子から出力するものであって、判別結果を視認等により分かるものであれば、その他の報知装置であってもよい。そして、第９実施形態では、ＬＥＤ１１１Ｄ用の１つの専用端子を備えたが、その他の態様として、判別回路の判別の結果を記憶するためのレジスタを用意し、ユーザープログラム実行後に、判別結果を読み出し、汎用ポート等から出力させるようにしても良い。
また、第１０実施形態においては、周波数の不明なクロック信号を用いた場合に周波数を特定するためのカウンタ等を有したが、クロックの周波数を割り出す構成であれば、その回路構成に限定されず、その他の変更が可能である。
【０１５７】
（付記１）  不揮発性メモリが内蔵されるマイクロコンピュータの動作プログラムを評価する評価装置において、
前記不揮発性メモリに代えて前記動作プログラムを格納する記憶手段と、
前記不揮発性メモリに格納されることが予定され、前記記憶手段に格納されているデータを変更する命令が発せられたことを検出する検出回路と、
前記検出回路からの検出信号により所定時間の計測を行う計測回路と、
前記データが変更中であることを報知する報知信号を出力する報知回路と、
前記データが格納されている前記記憶手段の領域に対して、前記検出信号に基づき前記報知信号を出力し、前記所定時間の計測終了に基づき変更後のデータを出力する選択回路とを備えることを特徴とするマイクロコンピュータの評価装置。
（付記２）  前記命令の完了を確認する制御回路を備え、
前記選択回路は、
前記制御回路からの要求信号に対して出力動作をすることを特徴とする付記１に記載のマイクロコンピュータの評価装置。
（付記３）  前記報知回路は、
前記変更後のデータのうち少なくとも何れか１ビットの反転信号を出力する反転回路を備え、
前記選択回路は、
前記データが格納されている前記記憶手段の領域に対して、前記検出信号に基づき前記反転信号を出力し、前記所定時間の計測終了に基づき前記変更後のデータを出力することを特徴とする付記１又は２に記載のマイクロコンピュータの評価装置。
（付記４）  前記記憶手段に格納されている前記データを変更する命令は書き込み命令であり、前記変更後のデータは書き込みデータであり、
前記データが格納されている前記記憶手段の領域に対して、前記選択回路は、前記検出信号に基づき前記書き込みデータのうち少なくとも何れか１ビットの反転信号を出力し、
前記所定時間の計測終了に基づき前記書き込みデータを出力することを特徴とする付記３に記載のマイクロコンピュータの評価装置。
（付記５）  前記記憶手段に格納されている前記データを変更する命令は消去命令であり、前記変更後のデータは消去データであり、
前記データが格納されている前記記憶手段の領域に対して、前記選択回路は、前記検出信号に基づき前記消去データのうち少なくとも何れか１ビットの反転信号を出力し、前記所定時間の計測終了に基づき前記消去データを出力することを特徴とする付記３に記載のマイクロコンピュータの評価装置。
（付記６）  前記要求信号は、読み出し命令であり、
前記選択回路は、
前記読み出し命令に対して出力動作をすることを特徴とする付記４又は５に記載のマイクロコンピュータの評価装置。
（付記７）  不揮発性メモリが内蔵されるマイクロコンピュータの動作プログラムを評価する評価装置において、
前記不揮発性メモリに格納される予定のデータを変更する命令が発せられたことを検出する検出回路と、
前記検出回路からの検出信号により所定時間の計測を行う計測回路と、
前記データが変更中であることを報知する報知信号を出力する報知回路と、
前記検出信号に基づき前記報知信号を出力し、前記所定時間の計測終了に基づき変更後のデータを出力する選択回路とを備えることを特徴とするマイクロコンピュータの評価装置。
（付記８）  前記命令の完了を確認する制御回路を備え、
前記選択回路は、
前記制御回路からの要求信号に対して出力動作をすることを特徴とする付記７に記載のマイクロコンピュータの評価装置。
（付記９）  前記報知回路は、
前記データのビット位置のうち少なくとも何れか１つのビット位置にトグル信号を出力するトグル回路を備え、
前記選択回路は、
前記検出信号に基づき前記トグル信号を出力し、前記所定時間の計測終了に基づき前記トグル信号に対応するビット位置における前記変更後のデータを出力することを特徴とする付記７又は８に記載のマイクロコンピュータの評価装置。
（付記１０）  前記報知回路は、
前記変更後のデータのうち少なくとも何れか１ビットの反転信号を出力する反転回路を備え、
前記選択回路は、
前記検出信号に基づき前記反転信号を出力し、前記所定時間の計測終了に基づき前記反転信号に対応するビット位置における前記変更後のデータを出力することを特徴とする付記７又は８に記載のマイクロコンピュータの評価装置。
（付記１１）  前記不揮発性メモリに格納される予定の前記データを変更する命令は書き込み命令であり、前記変更後のデータは書き込みデータであり、
前記検出信号に基づき前記トグル信号を出力し、前記所定時間の計測終了に基づき前記トグル信号に対応するビット位置における前記書き込みデータを出力することを特徴とする付記９に記載のマイクロコンピュータの評価装置。
（付記１２）  前記不揮発性メモリに格納される予定の前記データを変更する命令は書き込み命令であり、前記変更後のデータは書き込みデータであり、
前記報知回路は、
前記反転信号を格納するレジスタ回路を更に備え、
前記検出信号に基づき前記レジスタ回路からの前記反転信号を出力し、前記所定時間の計測終了に基づき前記反転信号に対応するビット位置における前記書き込みデータを出力
することを特徴とする付記１０に記載のマイクロコンピュータの評価装置。
（付記１３）  前記不揮発性メモリに格納される予定の前記データを変更する命令は消去命令であり、前記変更後のデータは消去データであり、
前記検出信号に基づき前記反転信号を出力し、前記所定時間の計測終了に基づき前記反転信号に対応するビット位置における前記消去データを出力することを特徴とする付記１０に記載のマイクロコンピュータの評価装置。
（付記１４）  前記要求信号は、読み出し命令であり、
前記選択回路は、
前記読み出し命令に対して出力動作をすることを特徴とする付記１１乃至１３の少なくとも何れか１項に記載のマイクロコンピュータの評価装置。
（付記１５）  不揮発性メモリが内蔵されるマイクロコンピュータの動作プログラムを評価する評価装置において、
前記不揮発性メモリに格納される予定のデータに対する命令が発せられたことを検出する検出回路と、
前記検出回路からの検出信号により所定時間の計測を行う計測回路と、
前記命令が無効である場合にフェイル信号を出力する無効検知回路と、
前記検出信号に基づき前記フェイル信号をマスクし、前記所定時間の計測終了に基づき前記フェイル信号を出力する選択回路とを備えることを特徴とするマイクロコンピュータの評価装置。
（付記１６）  前記命令の完了を確認する制御回路を備え、
前記選択回路は、
前記制御回路からの要求信号に対して出力動作をすることを特徴とする付記１５に記載のマイクロコンピュータの評価装置。
（付記１７）  前記無効検知回路は、
前記データのビット位置のうち少なくとも何れか１つのビット位置に前記フェイル信号を出力し、
前記検出信号に基づき前記データにおける前記ビット位置のデータを出力し、前記所定時間の計測終了に基づき前記フェイル信号を出力する選択回路とを備えることを特徴とする付記１５又は１６に記載のマイクロコンピュータの評価装置。
（付記１８）  前記不揮発性メモリに格納される予定のデータに対する命令は書き込み命令であり、前記無効命令は０データが格納されている前記データ上のビットへの１データの書き込み命令であり、
前記検出信号に基づき前記データにおける前記ビット位置のデータを出力し、前記所定時間の計測終了に基づき前記フェイル信号を出力することを特徴とする付記１７に記載のマイクロコンピュータの評価装置。
（付記１９）  前記不揮発性メモリに格納される予定のデータに対する命令は書き込み命令であり、前記無効命令は書き込み禁止領域への書き込み命令であり、
前記書き込み禁止領域への前記書き込み命令をマスクすることを特徴とする付記１７に記載のマイクロコンピュータの評価装置。
（付記２０）  前記要求信号は、読み出し命令であり、
前記選択回路は、
前記読み出し命令に対して出力動作をすることを特徴とする付記１８又は１９に記載のマイクロコンピュータの評価装置。
（付記２１）  前記不揮発性メモリに代えて前記動作プログラムを格納する記憶手段を備え、
前記不揮発性メモリに格納される予定のデータは前記記憶手段上に格納されており、
前記データは、
前記検出信号が出力されてから前記所定時間の計測終了までの何れかの間に、前記命令に従い変更されることを特徴とする付記７乃至２０の少なくとも何れか１項に記載のマイクロコンピュータの評価装置。
（付記２２）  前記不揮発性メモリに代えて前記動作プログラムを格納する記憶手段を備え、
前記不揮発性メモリに格納される予定のデータは前記記憶手段上に格納されており、
前記データは、
前記所定時間の計測終了後に、前記フェイル信号が出力されないことを条件として、前記命令に従い変更されることを特徴とする付記１５又は２０に記載のマイクロコンピュータの評価装置。
（付記２３）  前記命令毎に前記所定時間を設定する設定回路を備え、
前記計測回路は、
前記設定回路により定められた前記所定時間の計測を行うことを特徴とする付記１乃至２２の少なくとも何れか１項に記載のマイクロコンピュータの評価装置。
（付記２４）  不揮発性メモリが内蔵されるマイクロコンピュータの動作プログラムを評価する評価装置において、
前記不揮発性メモリに代えて前記動作プログラムが格納される状態で、マイクロコンピュータがリード要求する際に、前記不揮発性メモリの動作速度性能よりも、動作速度性能が高速である記憶手段と、
前記マイクロコンピュータがリード要求する際に、データリード用のウエイト時間を発生させるウエイト発生手段と、
前記マイクロコンピュータがリード要求する際に、前記ウエイト発生手段によるウエイト時間の経過後、不具合を起こすかどうかを判別する判別手段とを備えたことを特徴とするマイクロコンピュータの評価装置。
（付記２５）  前記判別手段による判別結果を通知する判別結果通知手段を設けたことを特徴とする請求項２４に記載のマイクロコンピュータの評価装置。
（付記２６）  前記判別結果通知手段は、前記記憶手段に格納された本来のデータと異なったデータを出力する出力手段を備えることを特徴とする付記２５に記載のマイクロコンピュータの評価装置。
（付記２７）  前記判別結果通知手段は、前記マイクロコンピュータに割り込みを起こさせる手段を備えることを特徴とする付記２５に記載のマイクロコンピュータの評価装置。
（付記２８）  周波数が未知のクロック信号を入力する未知信号入力端子と、周波数検出の基準となる信号を入力する基準信号入力端子と、前記既知信号入力端子及び前記未知信号入力端子を介して、それぞれ入力した信号と比較することにより、上記未知のクロック信号の周波数を定める手段とを備えることを特徴とする付記２４に記載のマイクロコンピュータの評価装置。
（付記２９）  前記マイクロコンピュータを動作させるクロック信号の周期に応じて、前記ウエイト発生手段によるウエイト時間を発生させるかどうかを設定する設定手段を備えることを特徴とする請求項２４に記載のマイクロコンピュータの評価装置。
【０１５８】
【発明の効果】
本発明によれば、不揮発性メモリを内蔵するマイコン上で実行される動作プログラムの開発・評価を、不揮発性メモリを使用せずに不揮発性メモリに特有な動作、機能を実現しながら迅速かつ正確に行える評価装置を提供することが可能となる。
また、不揮発性メモリを内蔵するマイコン上で実行される動作プログラムの開発・評価を、不揮発性メモリを使用することなく、記憶手段に動作プログラムを記憶させた状態で行う場合に、不揮発性メモリにおける特有な動作としての動作速度性能を考慮しながら、データリード用のウエイト時間を発生させて、不具合を起こすかどうかを判別することができ、その動作プログラムの開発・評価を、迅速かつ正確に行える評価装置を提供することが可能となる。
【図面の簡単な説明】
【図１】  第１実施形態における第１具体例のマイクロコンピュータの評価装置を示すブロック図
である。
【図２】  第１実施形態における第２具体例のマイクロコンピュータの評価装置を示すブロック図である。
【図３】  第２実施形態における第１具体例のマイクロコンピュータの評価装置を示すブロック図である。
【図４】  第２実施形態における第２具体例のマイクロコンピュータの評価装置を示すブロック図である。
【図５】  第２実施形態における第３具体例のマイクロコンピュータの評価装置を示すブロック図である。
【図６】  第３実施形態のマイクロコンピュータの評価装置を示すブロック図である。
【図７】  第４実施形態のマイクロコンピュータの評価装置を示すブロック図である。
【図８】  フラッシュメモリのセクタ構成例を示す概念図である。
【図９】  第５実施形態のマイクロコンピュータの評価装置を示すブロック図である。
【図１０】  フラッシュメモリを内蔵するマイクロコンピュータを示すブロック図である。
【図１１】  第６実施形態におけるマイクロコンピュータの評価装置の動作原理を示すブロック図である。
【図１２】  第６実施形態におけるマイクロコンピュータの評価装置の具体的構成を示すブロック図である。
【図１３】  必要なウエイト数及び判定回路用デコーダを示す図である。
【図１４】  第７実施形態におけるマイクロコンピュータの評価装置の動作原理を示すブロック図である。
【図１５】  第７実施形態におけるマイクロコンピュータの評価装置の具体的構成を示すブロック図である。
【図１６】  第８実施形態におけるマイクロコンピュータの評価装置の動作原理を示すブロック図である。
【図１７】  第８実施形態におけるマイクロコンピュータの評価装置の具体的構成を示すブロック図である。
【図１８】  第９実施形態におけるマイクロコンピュータの評価装置の動作原理を示すブロック図で
ある。
【図１９】  第９実施形態におけるマイクロコンピュータの評価装置の具体的構成を示すブロック図である。
【図２０】  第１０実施形態におけるマイクロコンピュータの評価装置の動作原理を示すブロック図である。
【図２１】  第１０実施形態におけるマイクロコンピュータの評価装置の具体的構成を示すブロック図である。
【図２２】  カウント数と、原振周期推定値、２分周クロック周期及び２逓倍クロック周期との関係を示す図である。
【図２３】  必要なウエイト数及び判定回路用デコーダを示す図である。
【図２４】  従来技術のマイクロコンピュータの評価装置を示すブロック図である。
【符号の説明】
Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈ、Ｉ、Ｊ、Ｋ、Ｌ、Ｍ  評価装置
１Ａ、１Ｂ、１Ｃ、１Ｄ、１Ｅ、１Ｆ、１Ｇ、１Ｈ  評価用マイコン
７Ａ、７Ｂ、７Ｃ、７Ｄ、７Ｅ、７Ｆ、７Ｇ、７Ｈ  検出回路
８Ａ、８Ｂ、８Ｃ、８Ｄ、８Ｅ、８Ｆ、８Ｇ、８Ｈ、１５Ｇ  タイマー回路
９Ａ、９Ｅ  反転回路
１０Ａ、１０Ｂ、１０Ｃ、１０Ｄ、１０Ｅ、１０Ｆ、１３Ｆ  選択回路
１１Ａ、１１Ｂ、１１Ｃ、１１Ｄ、１１Ｅ、１１Ｆ、１１Ｇ、１１Ｈ  ＲＡＭ
１２Ｃ  トグル回路
１４Ｅ  レジスタ回路
１６Ａ、１６Ｃ、１６Ｅ、１６Ｇ  論理和回路
５、ＦＭ  フラッシュメモリ
１００Ａ、１００Ｂ、１００Ｃ、１００Ｄ、１００Ｅ  評価用マイコン
１０１Ａ、１０１Ｂ、１０１Ｃ、１０１Ｄ、１０１Ｅ  ＣＰＵ
１０２Ａ、１０２Ｂ、１０２Ｃ、１０２Ｄ、１０２Ｅ  内部バス
１０３Ａ、１０３Ｂ、１０３Ｃ、１０３Ｄ、１０３Ｅ  レジスタ
１０３Ａ１、１０３Ｂ１、１０３Ｃ１、１０３Ｄ１、１０３Ｅ１  クロック設定レジスタ
１０３Ａ２、１０３Ｂ２、１０３Ｃ２、１０３Ｄ２、１０３Ｅ２  ウエイト設定用レジスタ
１０４Ａ、１０４Ｂ、１０４Ｃ、１０４Ｄ、１０４Ｅ  エミュレーションＲＡＭ
１０４Ａ１、１０４Ｂ１、１０４Ｃ１、１０４Ｄ１、１０４Ｅ１  ＳＲＡＭ
１０５Ａ、１０５Ｂ、１０５Ｃ、１０５Ｄ、１０５Ｅ  判別回路
１０６Ａ１、１０６Ｂ１、１０６Ｃ１、１０６Ｄ１、１０６Ｅ１  ２分周回路
１０６Ａ２、１０６Ｂ２、１０６Ｃ２、１０６Ｄ２、１０６Ｅ２  等倍回路
１０６Ａ３、１０６Ｂ３、１０６Ｃ３、１０６Ｄ３、１０６Ｅ３  ２逓倍回路
１１０Ｂ  データ出力回路
１１２Ｅ  カウンタ
１０８Ａ、１０８Ｂ、１０８Ｃ、１０８Ｄ、１０８Ｅ  ＳＲＡＭインターフェイス
ＳＣ、ＳＣ１  水晶発振子
【図１】
0003968237.tif 000002
【図２】
0003968237.tif 000003
【図３】
0003968237.tif 000004
【図４】
0003968237.tif 000005
【図５】
0003968237.tif 000006
【図６】
0003968237.tif 000007
【図７】
0003968237.tif 000008
【図８】
0003968237.tif 000009
【図９】
0003968237.tif 000010
【図１０】
0003968237.tif 000011
【図１１】
0003968237.tif 000012
【図１２】
0003968237.tif 000013
【図１３】
0003968237.tif 000014
【図１４】
0003968237.tif 000015
【図１５】
0003968237.tif 000016
【図１６】
0003968237.tif 000017
【図１７】
0003968237.tif 000018
【図１８】
0003968237.tif 000019
【図１９】
0003968237.tif 000020
【図２０】
0003968237.tif 000021
【図２１】
0003968237.tif 000022
【図２２】
0003968237.tif 000023
【図２３】
0003968237.tif 000024
【図２４】
0003968237.tif 000025