JPH08328899A - マイクロコンピュータ及びエミュレータ - Google Patents

マイクロコンピュータ及びエミュレータ

Info

Publication number
JPH08328899A
JPH08328899A JP16146395A JP16146395A JPH08328899A JP H08328899 A JPH08328899 A JP H08328899A JP 16146395 A JP16146395 A JP 16146395A JP 16146395 A JP16146395 A JP 16146395A JP H08328899 A JPH08328899 A JP H08328899A
Authority
JP
Japan
Prior art keywords
data
write
instruction
microcomputer
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP16146395A
Other languages
English (en)
Inventor
Tomoyoshi Ujii
呂圭 氏井
Shinya Kanda
真也 神田
Tadashi Hashimoto
忠士 橋本
Hideya Fujita
秀哉 藤田
Takehiko Yamashita
岳彦 山下
Harutaka Tsukiji
治孝 築地
Takeshi Kataoka
健 片岡
Kaoru Fukada
馨 深田
Yoshitaka Itou
良高 伊東
Yoko Katase
陽子 片瀬
Takanaga Yamazaki
尊永 山崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Microcomputer System Ltd
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Microcomputer System Ltd, Hitachi Ltd filed Critical Hitachi Microcomputer System Ltd
Priority to JP16146395A priority Critical patent/JPH08328899A/ja
Publication of JPH08328899A publication Critical patent/JPH08328899A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 フラッシュメモリに対するプレライト結果と
エミュレーションに際して当該メモリを代替するRAM
に対するプレライト結果との相違を解消する。 【構成】 マイクロコンピュータ11Aは、フラッシュ
メモリの消去に先立って、メモリセルのデータを読み出
し、読み出したデータの論理値を反転し、反転データを
書き込んで、消去状態のメモリセルを書込み状態に転ず
るためのプレライトにおける、前記反転データ書き込み
の専用命令PMOVを命令セットに持ち、該命令をデコ
ードしてプレライトステータス信号49を外部に出力さ
せる命令デコーダ50を備える。エミュレータは前記ス
テータス信号を受けて、マイクロコンピュータが前記専
用命令を実行してデータバスに出力する書込みデータの
全ビットを論理値“0”に強制する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、フラッシュメモリのよ
うな電気的に書き換え可能な不揮発性半導体記憶装置に
対するプレライトをRAMに対して行う場合の不都合を
解消する技術に関し、エミュレーションに用いるマイク
ロコンピュータ、そしてエミュレータに係り、例えばフ
ラッシュメモリ内蔵マイクロコンピュータを用いたシス
テムに対するエミュレーションに適用して有効な技術に
関するものである。
【0002】
【従来の技術】一括消去型EEPROM(エレクトリカ
リ・イレーザブル・アンド・プログラマブル・リード・
オンリ・メモリ)、即ちフラッシュメモリは、EEPR
OMと同様に電気的な消去・書込みによって情報を書換
え可能であり、しかもEPROM(イレーザブル・アン
ド・プログラマブル・リード・オンリ・メモリ)と同様
にそのメモリセルを1個のトランジスタで構成すること
ができ、メモリセルの全てを一括して、またはメモリセ
ルのブロックを一括して電気的に消去する機能を持つ。
したがって、フラッシュメモリは、システムに実装され
た状態(オンボード)でそれの記憶情報を書換えること
ができると共に、その一括消去機能により書換え時間の
短縮を図ることができ、さらに、チップ占有面積の低減
にも寄与する。斯るフラッシュメモリは、単体メモリL
SIの他に、マイクロコンピュータのオンチップメモリ
としても利用することができる。このようなマイクロコ
ンピュータとしては、日立シングルチップマイクロコン
ピュータH8/3048シリーズ,H8/3048F−
ZTATTMハードウェアマニュアル(平成6年6月3日
に株式会社日立製作所発行)に記載されたものがある。
【0003】一般的にフラッシュメモリは消去の際にプ
レライトが行われ、メモリセルの過消去状態を防止して
いる。即ち、全面一括若しくはブロック単位で消去され
るメモリセルは消去状態のものと書込み状態のものとが
混在されているので、消去状態のメモリセルを書込み状
態とし、消去対象メモリセルを予め書込み状態に揃える
ことが行われる。プレライトの処理は、対象データをメ
モリセルからリードし、リードしたデータの反転データ
を書き込む動作を、順次リードアドレスを更新しなが
ら、消去エリア全体に対して行うことによって実現され
る。例えばプレライトに際してフラッシュメモリからリ
ードしたバイトデータがH’55(記号H’は16進数
を意味する)であれば、それを反転したデータH’AA
を同一アドレスにライトすることによって当該アドレス
のデータはH’00とされる。特に制限されないが、本
明細書においてデータは書き込み状態において論理値
“0”、消去状態において論理値“1”とする。
【0004】ところでマイクロコンピュータ応用システ
ムに対してはエミュレータを利用してソフトウェアデバ
ッグやシステムデバッグを行うことができる。このと
き、マイクロコンピュータ応用システムやマイクロコン
ピュータ内蔵メモリに対しては、プログラムやデータを
容易に変更できるように、それらのメモリを代替メモリ
(貸し出しメモリ)で代替することが一般的に行われ
る。代替メモリとしてはSRAM(スタティック・ラン
ダム・アクセス・メモリ)などのRAMを用いることが
殆どであり、例えばフラッシュメモリ内蔵マイクロコン
ピュータにおける当該フラッシュメモリもSRAMのよ
うなRAMで代替される。
【0005】上述のようにフラッシュメモリをRAMで
代替して、システムデバッグやプログラムデバッグを行
うとき、SRAMのような代替メモリに対してフラッシ
ュメモリと同様の命令によってプレライトを行った場合
にはその動作がフラッシュメモリに対する場合とは異な
ってしまう。すなわち、リードデータに対する反転デー
タをフラッシュメモリに書き込めば、消去状態のメモリ
セルに書込みが行われる結果、一群のメモリセルのデー
タは書込み状態例えば論理値“0”の状態に統一される
が、リードデータに対する反転データをSRAMに書き
込んだ場合には当該反転データが単に書き込まれるだけ
である。
【0006】この点について前記日立シングルチップマ
イクロコンピュータH8/3048シリーズ,H8/3
048F−ZTATTMハードウェアマニュアル(平成6
年6月3日に株式会社日立製作所発行)の第643頁に
は、RAMによるフラッシュメモリのエミュレーション
を行う場合(RAMエリアをプレライトする)場合は、
反転したデータでなく、H’00をライトする事を促す
記載がある。更に、エミュレータなどのサポートツール
を使用してフラッシュメモリの消去をRAMによってエ
ミュレートする場合も同様である点が記載されている。
【0007】
【発明が解決しようとする課題】しかしながら、そのよ
うにしなければ、プレライトに対するベリファイにおい
て書込み不良とされ、それによって処理が不所望に分岐
され、システムデバッグやプログラムデバッグを容易に
行えなくなってしまう。そのため、フラッシュメモリに
対するプレライトベリファイ動作においてエミュレータ
などのサポートツールを使用してフラッシュメモリの消
去をRAMに対して行う場合には、ユーザは、プログラ
ムの書換などにより、個別的に対処せざるを得ず、ユー
ザにとって大きな負担になる。
【0008】本発明の目的は、フラッシュメモリに対す
るプレライトやそのベリファイ動作においてエミュレー
タなどのサポートツールを使用してフラッシュメモリの
消去をRAMに対して行う場合に、ユーザに負担をかけ
ず、エミュレータ、又はマイクロコンピュータ側で、リ
ードデータの反転データを例えば論理値“0”のデータ
に強制的に置き換えできる技術を提供することにある。
【0009】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0010】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0011】〔1〕図1に例示されるように、電気的に
書き換え可能な不揮発性半導体記憶装置に対する消去動
作に先立って、メモリセルのデータを読み出し、読み出
したデータを論理値反転させ、反転されたデータを書き
込んで、消去状態のメモリセルを書込み状態に転ずるた
めのプレライトにおける、前記反転データ書き込みのた
めの専用命令(PMOV)を、実行可能な命令セットと
して持ち、当該専用命令をデコードすることによってプ
レライトステータス信号(49)を外部に出力させる命
令デコーダ(50)を備えて成るものであることを特徴
とするマイクロコンピュータ(11A)を構成する。
【0012】上記マイクロコンピュータ(11A)を用
いてユーザ応用システムを代行制御するエミュレータ
は、図4に例示されるように、前記ユーザ応用システム
又はマイクロコンピュータ内蔵のメモリを代替する代替
メモリ(14)を供え、該代替メモリ(14)と前記マ
イクロコンピュータ(11A)を接続するデータバス
(24D)に設けられ、前記プレライトステータス信号
(49)を受け、当該信号が活性化されたとき、マイク
ロコンピュータが前記専用命令を実行してデータバスに
出力する書込みデータの全ビットを、前記不揮発性半導
体記憶装置における書込み状態の論理値例えば論理値
“0”に強制する手段(55,56)を備える。
【0013】〔2〕上記強制する手段(55,56)を
マイクロコンピュータの内部に形成することができる。
図14,図15に例示されるマイクロコンピュータ(1
1D)は、電気的に書き換え可能な不揮発性半導体記憶
装置に対する消去動作に先立って消去メモリセルのデー
タを読み出し、読み出したデータを論理値反転させ、反
転されたデータを書き込んで、消去状態のメモリセルを
書込み状態に転ずるためのプレライトにおける、前記反
転データ書き込みのための専用命令(PMOV)を、実
行可能な命令セットとして持ち、当該専用命令をデコー
ドすることによってプレライトステータス信号(49
A)を生成する命令デコーダ(50A)を備え、更に、
前記プレライトステータス信号が活性化されたとき、前
記専用命令を実行して外部に出力すべき書込みデータの
全ビットを、前記不揮発性半導体記憶装置における書込
み状態の論理値に強制する手段(55,56)を有す
る。
【0014】〔3〕プレライトステータス信号をエミュ
レータで生成する場合にも専用命令を持つマイクロコン
ピュータ(11B)を利用できる。このマイクロコンピ
ュータ(11B)は図5に例示されるように、電気的に
書き換え可能な不揮発性半導体記憶装置に対する消去動
作に先立って、メモリセルのデータを読み出し、読み出
したデータを論理値反転させ、反転されたデータを書き
込んで、消去状態のメモリセルを書込み状態に転ずるた
めのプレライトにおける、前記反転データ書き込みのた
めの専用命令(PMOV)を、実行可能な命令セットと
して持ち、また、実行すべき命令のフェッチサイクルで
あることを示すステータス信号(63)と、書込み動作
サイクルであることを示すステータス信号(67)とを
外部に出力するインタフェース手段(15)を備える。
【0015】上記マイクロコンピュータ(11B)を用
いてユーザ応用システムを代行制御するエミュレータ
は、図5に例示されるように、前記ユーザ応用システム
又はマイクロコンピュータ内蔵のメモリを代替する代替
メモリ(14)を供え、前記マイクロコンピュータにお
ける専用命令の命令コードを記憶するレジスタ手段(6
0)と、前記フェッチサイクルを示すステータス信号
(63)に基づいて当該マイクロコンピュータがフェッ
チする命令をラッチするラッチ手段(62)と、レジス
タ手段が記憶する命令コードとラッチ手段にラッチされ
た命令とを比較する比較手段(61)と、当該比較手段
による比較結果が一致で且つステータス信号(67)が
書込み動作サイクルを示すとき、プレライトステータス
信号(65)を活性化する信号形成手段(66)と、前
記代替メモリと前記マイクロコンピュータを接続するデ
ータバス(24D)に設けられ、前記プレライトステー
タス信号を受け、当該信号が活性化されたとき、マイク
ロコンピュータが前記専用命令を実行してデータバスに
出力する書込みデータの全ビットを例えば論理値“0”
に強制する手段(55,56)とを備えて成る。
【0016】〔4〕専用命令(PMOV)を用いずにプ
レライトステータス信号を出力可能なマイクロコンピュ
ータ(11C)は、図6に例示されるように、中央処理
装置(19)と、電気的に書き換え可能な不揮発性半導
体記憶装置がマッピングされたアドレスに対する前記中
央処理装置によるリード動作を検出して当該リードアド
レス情報をラッチするアドレスラッチ手段(71)と、
前記アドレスラッチ手段にラッチされているアドレス情
報と同一アドレスに対する中央処理装置によるライトア
クセスを検出してプレライトステータス信号(73)を
外部に出力する検出手段(72)とを備えて成る。
【0017】上記マイクロコンピュータ(11C)を用
いてユーザ応用システムを代行制御するエミュレータ
は、図9に例示されるように、前記ユーザ応用システム
又はマイクロコンピュータ内蔵のメモリを代替する代替
メモリ(14)を供え、前記代替メモリと前記マイクロ
コンピュータ(11C)を接続するデータバス(24
D)に設けられ、前記プレライトステータス信号(7
3)を受け、当該信号が活性化されたとき、マイクロコ
ンピュータがデータバス(24D)に出力する書込みデ
ータの全ビットを例えば論理値“0”に強制する手段
(55,56)を有する。
【0018】〔5〕上記手段〔4〕における強制する手
段(55)をマイクロコンピュータの内部に形成するこ
とができる。図16に例示されるマイクロコンピュータ
(11E)は、中央処理装置(19)と、電気的に書き
換え可能な不揮発性半導体記憶装置がマッピングされる
アドレスに対する前記中央処理装置(19)によるリー
ド動作を検出して当該リードアドレス情報とリードデー
タとをラッチするアドレス及びデータラッチ手段(71
A)と、前記アドレス及びデータラッチ手段にラッチさ
れているアドレス情報と同一アドレスに対する中央処理
装置によるライトアクセスを検出してプレライトステー
タス信号(73A)を生成する検出手段(72)と、前
記プレライトステータス信号(73A)が活性化された
とき、外部に出力すべき書込みデータを前記ラッチされ
たデータと論理演算させて全ビットを例えば論理値
“0”に強制する手段とを設けて成る。
【0019】〔6〕消去対象メモリセルのデータ読出
し、読み出されたデータの論理値を反転し、論理値反転
されたデータを書き込むという一連の処理であるプレラ
イトにおける当該論理値反転データ書込みのための命令
アドレスを指定して、プレライトステータスを生成する
エミュレータは、図11に例示されるように、命令フェ
ッチサイクルを示すステータス信号(94)と命令実行
サイクルを示すためのステータス信号(95)を外部に
出力可能なマイクロコンピュータ(11F)を用いてユ
ーザ応用システムを代行制御するものである。そして前
記マイクロコンピュータにデータバス(24D)及びア
ドレスバス(24A)を介して接続され前記ユーザ応用
システム又はマイクロコンピュータ内蔵のメモリを代替
する代替メモリ(4)と、電気的に書き換え可能な不揮
発性半導体記憶装置に対する消去動作に先立って、メモ
リセルのデータを読み出し、読み出したデータを論理値
反転させ、反転されたデータを書き込んで、消去状態の
メモリセルを書込み状態に転ずるためのプレライトにお
ける、前記反転データ書き込みのための命令アドレスを
記憶するレジスタ手段(90)と、前記フェッチサイク
ルを示すステータス信号(94)に基づいて前記アドレ
スバス(24A)のアドレス情報からプログラムカウン
タの値を生成するPC生成手段(27)と、前記実行サ
イクルを示すステータス信号(95)に基づいてPC生
成回路の出力をラッチするラッチ手段(92)と、ラッ
チ手段の出力と前記レジスタ手段の値との一致によって
プレライトステータス信号(96)を活性化する比較手
段(91)と、前記代替メモリと前記マイクロコンピュ
ータを接続するデータバス(24D)に設けられ、前記
プレライトステータス信号(96)を受け、当該信号が
活性化されたとき、マイクロコンピュータがデータバス
に出力する書込みデータの全ビットを、前記不揮発性半
導体記憶装置における書込み状態の論理値に強制する手
段(55,56)とを有する。
【0020】〔7〕また、電気的に書き換え可能な不揮
発性半導体記憶装置に対する消去動作に先立って、消去
対象メモリセルのデータを読み出し、読み出したデータ
を論理値反転させ、反転されたデータを書き込んで、消
去状態のメモリセルを書込み状態に転ずるためのプレラ
イトにおける、前記反転データ書き込みのための第1命
令を代替メモリ上で第2の命令に置き換える制御手段を
エミュレータに採用することができる。このとき前記第
2の命令は、前記消去対象メモリセルに前記不揮発性半
導体記憶装置における書込み状態の論理値に応ずるイミ
ディエイトデータを書き込む命令である。
【0021】
【作用】上記した手段によれば、マイクロコンピュータ
又はエミュレータはプレライトを認識し、それによって
プレライトにおける反転データ書込みのためのデータ
を、前記不揮発性半導体記憶装置における書込み状態の
論理値、例えば論理値“0”に強制する。したがって、
エミュレータによるエミュレーションに際して例えばフ
ラッシュメモリに代えてRAMから成る代替メモリを利
用する場合に、フラッシュメモリへのプレライト及びそ
れに対するベリファイ動作を規定するユーザプログラム
をそのまま用いても、リードデータの反転データに代え
てデータバスの値を論理値“0”に強制することがで
き、ユーザは特別な考慮を一切払わなくても、プレライ
トに対するベリファイにおいて書き込み異常とはされな
い。したがって、フラッシュメモリを含むシステムのデ
バッグ若しくはフラッシュメモリ書換の手順を規定する
プログラムを含むプログラムのデバッグを容易に行うこ
とができる。
【0022】プレライトの認識をマイクロコンピュータ
が行えば、動作速度の速いマイクロコンピュータにも余
裕を持ってプレライトを認識できる。エミュレータには
データバスの値を、前記不揮発性半導体記憶装置におけ
る書込み状態の論理値に強制する回路を追加すればよ
く、エミュレータの回路規模の増大を極力抑えることが
できる。
【0023】プレライトは同一アドレスに対するリー
ド、モディファイ、ライトであることに着目して、マイ
クロコンピュータ内部でプレライトを認識すれば専用命
令を用いなくても済む。
【0024】プレライトの認識それ自体をマイクロコン
ピュータが行うと共に、プレライトにおける書込みデー
タを、前記不揮発性半導体記憶装置における書込み状態
の論理値に強制する回路もマイクロコンピュータに内蔵
すれば、従来のエミュレータをそのまま利用することが
できる。さらにその場合には、エミュレータを用いたシ
ステムデバッグ若しくはプログラムデバッグのときだけ
に限らず、フラッシュメモリとRAMを内蔵したマイク
ロコンピュータにおける当該RAMによるフラッシュメ
モリのエミュレーションにも有用である。すなわち、パ
ラメータ等のデータをリアルタイムに書き換えながらチ
ューニングを行うといった場合、フラッシュメモリの特
定のメモリブロック領域(一括消去単位)にRAMの一
部のアドレスを重ね合わせて使うという、RAMによる
フラッシュメモリのエミュレーション機能において、ア
ドレスが重ね合わせられたフラッシュメモリエリアに対
するアクセスは内蔵RAMへのアクセスとされるので、
プレライトのためのプログラムを変更することなく内蔵
RAMのエミュレーション機能に対応することができ
る。
【0025】プレライトにおけるデータ書込み命令のア
ドレスを用いたりして、プレライトの認識とプレライト
における書込みデータに対する前記不揮発性半導体記憶
装置における書込み状態の論理値への強制とをエミュレ
ータで行うことにより、従来のマイクロコンピュータを
そのまま利用することができる。
【0026】
【実施例】
《フラッシュメモリのメモリセル》 先ずフラッシュメ
モリについて簡単に説明する。図19にはフラッシュメ
モリの原理が示される。同図の(A)に示されたメモリ
セルは、2層ゲート構造の絶縁ゲート型電界効果トラン
ジスタにより構成されている。同図において、1はP型
シリコン基板、2は上記シリコン基板1に形成されたP
型半導体領域、3,4はN型半導体領域である。5はト
ンネル絶縁膜としての薄い酸化膜6(例えば厚さ10n
m)を介して上記P型シリコン基板1上に形成されたフ
ローティングゲート、7は酸化膜8を介して上記フロー
ティングゲート5上に形成されたコントロールゲートで
ある。ソースは4によって構成され、ドレインは3,2
によって構成される。
【0027】メモリセルへの情報の書込み動作は、例え
ばコントロールゲート7及びドレインに高圧を印加し
て、アバランシェ注入によりドレイン側からフローティ
ングゲート5に電子を注入することで実現される。この
書込み動作により記憶トランジスタは、図19の(B)
に示されるように、そのコントロールゲート7から見た
しきい値電圧が、書込み動作を行わなかった消去状態の
記憶トランジスタに比べて高くなる。
【0028】一方消去動作は、例えばソースに高圧を印
加して、トンネル現象によりフローティングゲート5か
らソース側に電子を引き抜くことによって実現される。
図19の(B)に示されるように、消去動作により記憶
トランジスタはそのコントロールゲート7からみたしき
い値電圧が低くされる。図19の(B)では、書込み並
びに消去状態の何れにおいてもメモリセルトランジスタ
のしきい値は正の電圧レベルにされる。すなわちワード
線からコントロールゲート7に与えられるワード線選択
レベルに対して、書込み状態のしきい値電圧は高くさ
れ、消去状態のしきい値電圧は低くされる。双方のしき
い値電圧とワード線選択レベルとがそのような関係を持
つことによって、選択トランジスタを採用することなく
1個のトランジスタでメモリセルを構成することができ
る。記憶情報を電気的に消去する場合においては、フロ
ーティングゲート5に蓄積された電子をソース電極に引
く抜くことにより、記憶情報の消去が行われるため、比
較的長い時間、消去動作を続けると、書込み動作の際に
フローティングゲート5に注入した電子の量よりも多く
の電子が引く抜かれることになる。そのため、電気的消
去を比較的長い時間続けるような過消去を行うと、メモ
リセルトランジスタのしきい値電圧は例えば負のレベル
になって、ワード線の非選択レベルにおいても選択され
るような不都合を生ずる。尚、書込みも消去と同様にト
ンネル電流を利用して行うこともできる。
【0029】読み出し動作においては、上記メモリセル
に対して弱い書込み、すなわち、フローティングゲート
5に対して不所望なキャリアの注入が行われないよう
に、ドレイン及びコントロールゲート7に印加される電
圧が比較的低い値に制限される。例えば、1V程度の低
電圧がドレインに印加されるとともに、コントロールゲ
ート7に5V程度の低電圧が印加される。これらの印加
電圧によってメモリセルトランジスタを流れるチャンネ
ル電流の大小を検出することにより、メモリセルに記憶
されている情報の論理値“0”、“1”を判定すること
ができる。
【0030】《フラッシュメモリのプレライト》 図2
0にはフラッシュメモリに対する消去動作の手順が概略
的に示される。プレライトの処理は、対象データをメモ
リセルからリードし、リードデータを論理値反転し、反
転されたデータを前記リードアドレスに書き込む動作
を、順次リードアドレスを更新しながら、消去エリア全
体に対して行うことによって実現される。反転データの
書込み処理ではその最後にプレライトしたアドレスのデ
ータに対してベリファイを行う。プレライトベリファイ
においてはプレライト後のリードデータが全ビット書き
込み状態(論理値“0”)であれば正常と判定される。
1ビットでも論理値“1”が存在する場合にはプレライ
ト異常とされ、その場合には例えばユーザプログラムで
規定されるエラー処理などに分岐される。プレライト後
に、全面一括若しくはブロック一括で消去が行われる。
消去後は、そのエリアのメモリセルに所望のデータが書
き込まれることになる。
【0031】図21にはプレライトの動作例が示され
る。プレライトは前述のように、消去アドレス毎に、リ
ード(データリード)、モディファイ(リードデータの
反転)、及びライト(反転データの書込み)の動作を含
む。例えば、フラッシュメモリからリードしたバイトデ
ータがH’55であれば、それを反転したデータH’A
Aを同一アドレスにライトすることによって当該アドレ
スのデータはH’00とされる。RAMに対してそれと
同じリード、モディファイ、ライト動作を行うと、メモ
リの内容はH’AAとされ、フラッシュメモリの場合と
は相違される。フラッシュメモリに代えてRAMを利用
する場合としては、例えば、エミュレーションに際して
マイクロコンピュータ内蔵のフラッシュメモリに対する
プログラムやデータの変更を容易化若しくは高速化する
ために、当該内蔵フラッシュメモリをエミュレータ側の
RAMから成る代替メモリ(貸し出しメモリ)で代替す
る場合である。例えば図22のように、フラッシュメモ
リ12を内蔵ROMとして有するマイコンチップ(実チ
ップ)10に対し、それを利用した応用システムのエミ
ュレーションにおいては、前記マイコンチップ10に代
えて、評価用チップとしてのエバチップ11が応用シス
テムを代行制御する。このとき、マイコンチップ10に
内蔵されたフラッシュメモリ12やRAM13は、エバ
チップ11に内蔵されたものに代えて、エミュレータに
備え付けられたSRAM等から成る代替メモリ14で代
替することができる。図22の(B)においてエバチッ
プ11は、マイコンチップ10に比べてエミュレータイ
ンタフェース15とバススイッチ16、17とを付加し
たブロック図によって表されている。エミュレータイン
タフェース15は、エバチップ11の内部状態をエミュ
レータ側とインタフェースさせる回路である。バススイ
ッチ16,17はエバチップ11に設定される動作モー
ドに応じてフラッシュメモリ12、RAM13を内部バ
ス18から切り離す回路である。例えばそのような動作
モードはエバチップモードと称され、エバチップの外部
端子から或いはCPU(中央処理装置)19内部のコン
トロールレジスタの値によって設定される。エバチップ
モードが設定されるとき、代替メモリ14には前記フラ
ッシュメモリ12,RAM13のアドレスがマッピング
されることになる。これにより、エミュレーションにお
いてCPU19がフラッシュメモリ12,RAM13を
アクセスすると、実際には代替メモリ14がアクセスさ
れる。尚、RAM13についてはエバチップモードにお
いてもコントロールレジスタの設定次第で内部バス18
から切り離されないようにバススイッチ17を制御可能
になっている。図22においてエバチップ11にはフラ
ッシュメモリやRAMが内蔵されているが、エバチップ
11には、マイコンチップ10の内蔵メモリを全部又は
選択して内蔵させないようにする事も、エバチップの構
成若しくは機能上可能である。マイコンチップ10とエ
バチップ11は相互に同一機能のCPUを備えている。
【0032】以下、フラッシュメモリ内蔵のマイコンチ
ップを利用した応用システムをエバチップを利用してエ
ミュレーションするとき、フラッシュメモリに対するプ
レライト及びそれに対するベリファイ動作が実際にはR
AMから成る代替メモリに対して行われる場合に、図2
1で説明したプレライトによるメモリの内容がRAMに
対する場合にフラッシュメモリに対する実際の場合と相
違しないように、エミュレータ、又はエバチップ側で、
リードデータの反転データを論理値“0”のデータに強
制的に置き換える、幾つかの実施例を説明する。
【0033】《エミュレータの全体的な構成》 先ず実
施例を詳細に説明する前にエミュレータの一般的な構成
を図23に基づいて概略的に説明する。以降に説明する
各実施例特有の回路ブロックについては図23には図示
を省略してあるものがある。図23において、20はエ
ミュレータであり、エバチップのユーザ側インタフェー
ス(図22の入出力回路)に一端が接続されたインタフ
ェースケーブル21の他端部がユーザ応用システム22
のターゲットマイクロコンピュータのICソケットに接
続される。エミュレーション用マイクロコンピュータと
してのエバチップ11は前記インタフェースケーブル2
1を介してユーザ応用システム22を代行制御する。ま
た、エバチップ11はエミュレーションバス24に接続
される。エバチップ11は前記エミュレーションバス2
4に、ユーザ応用システムへの各種制御情報と同一の制
御情報を評価に資するために出力し、また、エバチップ
11はエミュレーションに先立ってエミュレーションバ
ス24から制御情報を受けることもある。
【0034】上記エミュレーションバス24には、特に
制限はされないが、代替メモリ14、マップ制御回路2
5、ブレーク制御回路26、PC生成回路27、エミュ
レーションメモリ29、トレースメモリ30、パラレル
アクセス制御回路31、及びユーザインタフェース32
が接続される。代替メモリ14は、ユーザ応用システム
22又はターゲットマイクロコンピュータ内蔵のメモリ
を代行するためのRAMで成るようなメモリである。例
えばターゲットマイクロコンピュータがフラッシュメモ
リを内蔵するものであるとき、代替メモリ14はフラッ
シュメモリを代替する。前記マップ制御回路25は代替
メモリ14のアドレス配置をプログラマブルに設定する
回路である。例えば、エバチップ11にエバチップモー
ドが設定されて代替メモリ14がエバチップ11のフラ
ッシュメモリを代替するとき、代替されるべきフラッシ
ュメモリの本来のアドレス配置がマップ制御回路25に
設定され、ユーザプログラムによるフラッシュメモリの
アクセスは、実際には代替メモリ14へのアクセスとさ
れる。前記ブレーク制御回路26は、エバチップ11の
制御状態若しくはエミュレーションバス24の状態を監
視し、その状態が予め設定された状態に達したときにエ
ミュレータ専用割込みを出力してエバチップ11による
ユーザプログラムの実行を停止させ、エミュレーション
用プログラム(エミュレーションを制御するためのコン
トロールプログラム)の実行状態に遷移させる(ブレー
ク)ための回路である。PC生成回路27はエバチップ
11に含まれるプログラムカウンタの値を外部で再生す
るための回路であり、再生されたプログラムカウンタの
値のうち、実際に実行された命令のアドレス(プログラ
ムカウンタの値)に対するフラッグがカバレジメモリ2
8に蓄えられる。例えば、カバレジメモリは×1構成
(データ入出力ビット数が1ビット)のメモリを使用す
る。カバレジは予じめ全てのカバレジメモリ内データを
“1”又は“0”の何れかにしておき、1度でも発生し
たPC(プログラムカウンタ)の値があった所だけに反
転データを書いていく。つまり、メモリのアドレス入力
がPCになる。ユーザがカバレジを見たいならメモリの
全内容を参照し、データが反転しているアドレス(P
C)が実行されたプログラムアドレスであることがわか
る。エミュレーションメモリ29はエバチップ11によ
る代行制御に必要な所定の制御情報が格納されるメモリ
である。トレースメモリ30はエミュレーションバス2
4に与えられるアドレスやデータさらには制御情報をエ
ミュレーションバスのバスサイクルに同期して逐次蓄え
るリアルタイムトレースのための回路である。パラレル
アクセス制御回路31はエバチップ11の命令実行に並
行してエミュレータ制御用マイクロコンピュータ33が
代替メモリ14をアクセス可能にするための回路であ
る。ユーザインタフェース32はインタフェースケーブ
ル21以外のプローブ等にてエミュレータ20をユーザ
応用システム22とインタフェースさせる回路である。
【0035】前記マップ制御回路25、ブレーク制御回
路26、PC生成回路27、カバレジメモリ28、トレ
ースメモリ30、パラレルアクセス制御回路31、及び
ユーザインタフェース32はコントロールバス34に結
合され、エミュレータ制御用マイクロコンピュータ33
及びエミュレータ制御回路35によってその動作が制御
され、またそれら回路ブロックに保持された内容が参照
される。更にコントロールバス34は、ホストコンピュ
ータインタフェース36を介してパーソナルコンピュー
タなどのシステム開発装置、即ちホストコンピュータ3
7に接続される。このように構成されたエミュレータ2
0は、ホストコンピュータ37からダウンロードされた
ユーザプログラムを例えば代替メモリ14に格納し、そ
れをエバチップ11がリードして実行することによって
当該エバチップ11がユーザ応用システム22を代行制
御する。ユーザプログラムの実行開始アドレスやブレー
クポイントなどの制御情報はホストコンピュータ37か
らの指示に従ってエミュレータ制御用マイクロコンピュ
ータ33又はエミュレータ制御回路35が設定する。
【0036】《プレライト専用命令を持つエバチップ》
第1の実施例は、マクロコンピュータの命令セットに
プレライトを認識するための専用命令を追加し、マイク
ロコンピュータはその命令を実行したことを外部に知ら
せる信号の出力機能を有し、エミュレータがそれを受け
ることにより、リードデータの反転データに代えてデー
タバスの値を論理値“0”に強制するものである。
【0037】図1にはエバチップの一例ブロック図が示
される。このエバチップ11Aは単結晶シリコンのよう
な1個の半導体基板に、CPU40、バスコントローラ
41、ユーザインタフェース42、周辺機能モジュール
43、エミュレータ専用信号制御部44、及びエミュレ
ータインタフェース45を備えて成る。同図のエバチッ
プ11Aに対する実チップとしてのマイコンチップは前
記エミュレータ専用信号制御部44及びエミュレータイ
ンタフェース45を備えていない点がエバチップ11A
と相違される。このエバチップ11Aは、図22のエバ
チップと同様にフラッシュメモリを内蔵するマイコンチ
ップに対応されるものであり、当該エバチップ11Aが
フラッシュメモリを内蔵する場合には前記バススイッチ
16、17を含み、エバチップモードによってフラッシ
ュメモリがCPU40から切り離されるようになってい
る。エバチップ11Aがフラッシュメモリを内蔵しない
場合、またエバチップがフラッシュメモリを内蔵してエ
バチップモードが設定されるとき、マイコンチップのフ
ラッシュメモリは代替メモリ14に代替される。前記C
PU40はCPUバス(アドレスバス46AB、データ
バス46DB、コントロールバス46CB)46を介し
てバスコントローラ41に結合され、バスコントローラ
41、ユーザインタフェース42、及び周辺機能モジュ
ール43は内部バス(アドレスバス47AB、データバ
ス47DB、コントロールバス47CB)47に結合さ
れる。マイコンチップ(実チップ)では本来外部には出
力されないCPUの内部状態を示す情報が信号線48を
介してエミュレータ専用信号制御部44に供給される。
このエミュレータ専用信号制御部44には前記内部バス
47のバス情報も供給される。エミュレータ専用信号制
御部44は、エバチップ内部で内部バス47や信号線4
8を介して供給された情報をエミュレータインタフェー
ス45を介してエミュレーション用の情報として外部に
出力し、またエミュレータ側からエミュレータインタフ
ェースに供給される制御情報を内部バス47及び信号線
48に供給する。尚、特に制限されないが、バスコント
ローラ41のないものでは、CPUバス46の各バス4
6AB、46DB、46CBが直接的に内部バス47の
各バス47AB、47DB、47CBへそれぞれ接続さ
れる場合もある。
【0038】図1のエバチップ11Aにおいてその命令
セットにはメモリへのデータ書込みに利用される一般的
なデータ転送命令MOVを有し、フラッシュメモリへの
プレライトにも当該データ転送命令MOVを利用するこ
とができる。本実施例では、フラッシュメモリへのプレ
ライトに専用化されたコードを持つPMOV命令が命令
セットに追加されている。PMOV命令はデータ転送動
作の点においてはMOV命令と同じであるが、プレライ
トステータス信号49を形成して外部に出力する機能が
追加されている。したがって、PMOV命令がCPU4
0にフェッチされ、それが命令デコーダ50にて解読さ
れると、当該PMOV命令のソースオペランド指定フィ
ールドに記述されたアドレスのデータをディスティネー
ションオペランド指定フィールドに記述された位置に転
送させるための制御信号が生成されてデータ転送が行わ
れ、そのとき、プレライトステータス信号49を形成し
てエミュレータインタフェース45から外部に出力され
る。また、エミュレータ専用信号制御部44は、内部バ
ス47におけるアクセスアドレスをアドレスデコーダ5
1で解読して、フラッシュメモリエリアがアクセスされ
る状態を通知するためのフラッシュメモリエリア選択信
号52をエミュレータインタフェース45を介して外部
に出力する機能を備える。
【0039】エバチップ11A及びそれに対応されるマ
イコンチップ(実チップとも称する)の命令セットに上
記PMOV命令が含まれるとき、フラッシュメモリに対
するプレライトのための前記リード、モディファイ、ラ
イトの処理は、図2に示されるように、CPUからメモ
リに反転データを転送するライト処理では従来のMOV
命令に代えてPMOV命令が利用される。PMOV命令
実行時のCPUステータスはプレライトステータス信号
49にてプレライトサイクルとされる。尚、図2におい
て、本発明のプレライト処理はMOV命令、NOT命令
及びPMOV命令の3つの命令から構成されるが、上記
MOV命令、NOT命令及びPMOV命を1つの命令と
して定義することも可能である。MOV命令を実行する
ときのCPUデータアクセスサイクルとPMOV命令を
実行するときのプレライトサイクルとの間で相違する点
は、図3に示されるようにプレライトステータス信号4
9にてプレライトサイクルが示される点である。図3の
制御信号は負論理信号としてその波形が示されている。
【0040】前記プレライトステータス信号49は、エ
ミュレータによるエミュレーションに際してフラッシュ
メモリに代えてRAMから成る代替メモリ14を利用す
る場合にユーザプログラムによるフラッシュメモリへの
プレライトに際してのリードデータの反転データを論理
値“0”のデータに強制的に置き換えるためにエミュレ
ータで利用される。実チップにおいては、そのようなプ
レライトステータス信号49を外部に出力する実質的な
意義はなく、当該ステータス信号49の信号線はボンデ
ィングパッド等の外部接続電極に非接続とされる。
【0041】図4にはプレライトに際してリードデータ
の反転データを論理値“0”のデータに強制的に置き換
えるためのエミュレータ側の構成が示される。同図にお
いてアドレスバス24A及びデータバス24Dは前記エ
ミュレーションバス24に含まれる。エミュレーション
バス24にはエミュレーション用の多数の回路モジュー
ルが接続され、夫々の回路モジュールの前段にはバスバ
ッファ(バスドライバ)が配置される。同図においては
代替メモリ14が代表的に図示され、それに対応される
アドレスバスバッファ54と双方向のデータバスバッフ
ァ55が設けられている。出力端子が代替メモリ14の
データ端子に結合されたバスバッファ56は、プレライ
トステータス信号49が活性状態のローレベル(PMO
V命令が実行されている状態)のとき、論理値“0”を
出力して代替メモリ14の全てのデータ端子を論理値
“0”に強制する回路である。前記アドレスバスバッフ
ァ54はその制御端子(Enable)が接地(GND)され常
時増幅動作を行う。データバスバッファ55は、エバチ
ップ11Aから出力されるリード信号RDにてデータの
入出力方向(Direction)が制御される。リード信号R
Dがローレベル(エバチップへのデータ読込み)のとき
データ転送方向は代替メモリ14からエバチップ11A
へ向かう方向とされる。このデータバスバッファ55
は、フラッシュメモリがマッピングされているアドレス
に対するアクセスによってフラッシュメモリエリア選択
信号52がローレベルにされ、且つ、プレライトステー
タス信号49が非活性状態のハイレベルのとき(PMO
V命令が実行されていない状態)、データバスバッファ
55のイネーブル制御端子(Enable)がローレベルにさ
れて、入出力動作可能にされる。例えば図2のプレライ
トにおけるリードサイクルでは代替メモリ14から読出
されたデータがエバチップ11Aに供給される。一方、
フラッシュメモリがマッピングされているアドレスに対
するアクセスによってフラッシュメモリエリア選択信号
52がローレベルにされた場合であっても、プレライト
ステータス信号49が活性状態のローレベル(PMOV
命令が実行されている状態)のときは、データバスバッ
ファ55のイネーブル制御端子(Enable)がハイレベル
にされ、データバスバッファ55のデータ端子は高イン
ピーダンス状態に制御される。このとき、前記バスバッ
ファ56はその制御端子に活性状態のプレライトステー
タス信号49を受けることによって、代替メモリ14の
全てのデータ端子を論理値“0”に強制する。PMOV
命令は図2のプレライトにおけるライトサイクルに専用
化された命令であるから、当該ライトサイクルにおいて
は全ビット論理値“0”のデータが代替メモリ14に書
き込まれる。
【0042】したがって、エミュレータによるエミュレ
ーションに際してフラッシュメモリに代えてRAMから
成る代替メモリ14を利用する場合に、フラッシュメモ
リへのプレライト及びそれに対するベリファイ動作を規
定するユーザプログラムをそのまま用いても、リードデ
ータの反転データに代えてデータバスの値を論理値
“0”に強制することができ、ユーザは特別な考慮を一
切払わずに、更には特別な付加回路を用意することな
く、フラッシュメモリに対するプレライトやそのベリフ
ァイ動作においてエミュレータなどのサポートツールを
使用してフラッシュメモリの消去をRAMに対して行う
場合の不都合を解消することができる。したがって、フ
ラッシュメモリを利用したシステムのデバッグやそのプ
ログラムデバッグを容易に行うことができる。特に本実
施例においては、エミュレーションに対してはデータバ
スの値を選択的に論理値“0”に強制する回路を従来の
エミュレータに追加すればよく、エミュレータの回路規
模の増大を極力抑えることができる。更に、プレライト
であることを通知する信号形成はエバチップ11A内部
で行うから、動作速度の速いマイクロコンピュータにも
余裕を持って対応できる。但し、マイクロコンピュータ
の命令セットにPMOV命令のような専用命令を追加し
なければならないから、CPUの設計段階から当該命令
をサポートできるように命令デコーダ50等の論理を決
定しておく必要がある。
【0043】《プレライトステータスをエバチップ外部
で生成》 第2の実施例は、第1の実施例同様にマクロ
コンピュータの命令セットにプレライトを認識するため
の専用命令を追加するが、マイクロコンピュータがその
命令を実行したことを認識する回路をエミュレータに設
け、エミュレータがプレライトを認識することにより、
リードデータの反転データに代えてデータバスの値を論
理値“0”に強制するものである。
【0044】図5には第2の実施例に係るエミュレータ
の一部が示される。本実施例においてのエバチップ11
Bはその命令セットに前記と同じPMOV命令を有す
る。但し、エバチップ11Bは、PMOV命令をデコー
ドして内部制御信号を生成しても、プレライトステータ
ス信号を形成して外部に出力する機能は備えていない。
エバチップ11BがPMOV命令を実行することを検出
する回路はエミュレータが備える。即ち、コントロール
バス34に接続されたレジスタ60が設けられ、当該レ
ジスタ60にはエミュレータ制御用マイクロコンピュー
タ33によってPMOV命令のオペコード(オペレーシ
ョンコード)が設定される。このレジスタ60の値はコ
ンパレータ61の一方の入力とされる。コンパレータ6
1の他方の入力はエミュレーションバス24のデータバ
ス24Dに入力が接続されたラッチ回路62の出力に接
続される。このラッチ回路62はエバチップ11Bが外
部に出力する命令フェッチサイクルのステータス信号6
3によって命令フェッチサイクルが通知されるタイミン
グに同期して、データバス24D上の命令をラッチす
る。この実施例ではエバチップ11Bがフェッチすべき
命令は代替メモリ14に格納されている。コンパレータ
61はラッチ回路62がPMOV命令をラッチすると一
致検出信号としてのPMOVオペコードフェッチステー
タス信号64を活性化する。プレライトステータス信号
65は、一致検出信号64が活性化された状態において
エバチップ11Bが命令実行サイクルで且つそれがライ
トサイクルであることを信号67にてナンドゲート66
で検出することによって活性化される。エミュレーショ
ンバス24を構成するアドレスバス24A及びデータバ
ス24Dには第1実施例と同じようにアドレスバスバッ
ファ54、データバスバッファ55、バスバッファ56
が設けられ、プレライトステータス信号65が活性化さ
れると、当該PMOV命令によるメモリライトサイクル
でエバチップ11Bが出力するデータはバスバッファ5
6にて論理“0”に強制されて代替メモリ14に供給さ
れる。
【0045】この第2実施例においても、エミュレータ
によるエミュレーションに際してフラッシュメモリに代
えてRAMから成る代替メモリを利用する場合に、フラ
ッシュメモリへのプレライト及びそれに対するベリファ
イ動作を規定するユーザプログラムをそのまま用いて
も、リードデータの反転データに代えてデータバスの値
を論理値“0”に強制することができ、ユーザは特別な
考慮を一切払わずに、システムデバッグ若しくはプログ
ラムデバッグを行うことができる。特に本実施例におい
ては、マイクロコンピュータの命令セットにPMOV命
令のような専用命令を追加しなければならないから、C
PUの設計段階から当該命令をサポートできるように命
令デコーダ等の論理を決定しておく必要があるが、実チ
ップとしてのマイコンチップそれ自体はプレライトステ
ータス信号65を外部に出力することを要しないため、
エバチップ11Bの外部端子数を特別に増やすことを要
しない。尚、プレライトステータス信号65はTTL等
の外付け回路で形成するから、高速動作への対応という
点においては前記第1実施例の方が優れている。
【0046】《専用命令を用いずにエバチップ内部でプ
レライトを認識》 第3実施例はプレライトがリード、
モディファイ、ライトによって行われること、換言すれ
ば当該リードとライトのアドレスが同一アドレスである
ことに着目してプレライトの発生を監視するようにし
て、PMOVのような専用命令を用いずに、ライトデー
タを論理値“0”に強制するようにしたものである。
【0047】図6には第3実施例に係るエバチップ11
Cの一部が示される。プレライト検出回路70はアドレ
スラッチ制御回路71とアドレスコンペア回路72を備
え、アドレスコンペア回路72がプレライトステータス
信号73をエバチップ11Cの外部に出力する。プレラ
イトを行うプログラムは例えば、 MOV.B @xxxx,Rx(フラッシュメモリのリ
ード) NOT.B Rx(リードデータ反転) MOV.B Rx,@xxxx(反転データのライト) とされ、プレライトの処理では一つのアドレスに対して
リード、モディファイ、ライトの連続処理が行われる。
上記命令記述例においてメモリアドレスは@xxxx、
即ちレジスタxxxxに格納された値である。特に制限
されないが、本実施例のエバチップ11C(これに対応
される実チップも同様である)はフラッシュメモリがア
ドレスH’00000〜H’1FFFFに割り当てら
れ、当該フラッシュメモリエリアは1ステートアクセス
で、ライト/イレーズを8ビット単位で行うものとされ
る。
【0048】このとき、前記アドレスラッチ制御回路7
1は図7に示されるように、アドレスデコーダ74にて
フラッシュメモリエリアのアクセスか否かを内部アドレ
スバス18Aの上位3ビットをデコードして検出する。
更に、当該アクセスがバイトデータに対するリードアク
セスであることをバスコマンド信号及びアクセス制御信
号にてバイトリードデコーダ75にて検出する。バスコ
マンドはバイト、ワード等のアクセスデータビット数を
通知する制御信号であり、アクセス制御信号はリード信
号(RD)とされる。上記各条件が一致すると、アンド
ゲート76の出力がハイレベルに活性化され、それをラ
ッチ制御端子に受けるアドレスラッチ回路77は、内部
アドレスバス18Aの下位側17ビットをラッチする。
これによってアドレスラッチ回路77にラッチされるア
ドレス情報は、フラッシュメモリに対するバイト単位で
のリードアクセスアドレスの下位17ビットの情報とさ
れる。
【0049】アドレスコンペア回路72は図8に示され
るように、前記アドレスラッチ回路77がラッチしたア
ドレス情報を一方の入力端子に受ける比較器78を備え
る。比較器78の他方の入力には内部アドレスバス18
Aの下位17ビットが供給され、双方の入力アドレス情
報が一致するかを検出する。更にアドレスデコーダ79
にてフラッシュメモリエリアのアクセスか否かを内部ア
ドレスバス18Aの上位3ビットをデコードして検出す
る。また、当該アクセスがバイトデータに対するライト
アクセスであることをバスコマンド信号及びアクセス制
御信号にてバイトライトデコーダ80にて検出する。バ
イトライトデコーダ80にてバイトライトアクセスが検
出され、前記アドレスデコーダ79にてフラッシュメモ
リエリアのアクセスが検出され、且つ前記比較器78に
てアドレス情報の一致が検出されると、アンドゲート8
1の出力がハイレベルに活性化され、それを受けるタイ
ミング制御回路82は、CPU(中央処理装置)19に
よる内部データバス18Dへのライトデータの出力タイ
ミングに同期させてプレライトステータス信号73を活
性化して外部に出力する。
【0050】以上より明らかなように一つのアドレスに
対するリード、モディファイ、ライトから成るプレライ
トのライト動作に同期して外部にプレライトステータス
信号73が出力される。前記プレライトステータス信号
73にて、エミュレーションバス24のデータバス24
Dの値を論理値“0”に強制する回路は図9に示される
ように、前記データバス24Dに設けられたデータバス
バッファ55及びバスバッファ56をプレライトステー
タス信号73にて制御することによって行われる。その
動作は上記実施例と同様であるからその詳細な説明は省
略する。尚、上記実施例構成による動作が有効とされる
のは、エバチップ11Cがフラッシュメモリを内蔵する
ときはそれに前記エバチップモードが設定されたときで
あり、フラッシュメモリを内蔵しない場合(実チップに
は内蔵されている)は、エミュレータ側で図9の接続構
成が採られているときである。
【0051】第3実施例においても、エミュレータによ
るエミュレーションに際してフラッシュメモリに代えて
RAMから成る代替メモリを利用する場合に、フラッシ
ュメモリへのプレライト及びそれに対するベリファイ動
作を規定するユーザプログラムをそのまま用いても、リ
ードデータの反転データに代えてデータバスの値を論理
値“0”に強制することができ、ユーザは特別な考慮を
一切払わずに、システムデバッグ若しくはプログラムデ
バッグを行うことができる。特に本実施例においては、
プレライトステータス信号73をエバチップ11Cの内
部で生成してエミュレータに供給することができるの
で、第1実施例のようにマイクロコンピュータの命令セ
ットにPMOV命令のような専用命令を追加しなくて
も、それと同様に高速動作のマイクロコンピュータ若し
くは高速データ処理に対応することができる。
【0052】《命令アドレスを指定してプレライトを認
識》 第4実施例はプレライトのライト命令が存在する
アドレスを予めエミュレータに指定し、エミュレータが
当該指定アドレスを監視し、それが実行される状態を検
出することによってデータバスの値を論理値“0”に強
制する。エミュレータを利用したユーザプログラムの実
行は、通常ホスト装置がエミュレータに対してユーザプ
ログラムの実行コマンドを発行して、実行される。この
とき、フラッシュメモリに対するプレライトは前述のよ
うに、一つのメモリアドレスに対してリード、モディフ
ァイ、ライトの連続処理が行われる。斯る処理の最後の
ライトを指定する命令アドレスを前記ユーザプログラム
の実行コマンドにて指定する。例えばプレライトを行う
プログラム若しくはルーチンが、一つのプレライトアド
レスに対して、 MOV.B @xxxx,Rx(フラッシュメモリのリ
ード) NOT.B Rx(リードデータ反転) MOV.B Rx,@xxxx(反転データのライト) の記述を含むとき、実行コマンドにて指定すべき命令ア
ドレスは図10にも示されるように、MOV.B R
x,@xxxx(反転データのライト)の命令アドレス
とされる。上記3行の命令は消去領域の全メモリアドレ
スに対して順次実行されていく。このとき、@xxxx
で示されるメモリアドレスは図20のフローチャートに
示されるように反転データのライト後に更新されて、再
度データリードの動作に帰還される。即ち、プレライト
の処理ルーチンは一つのサブルーチン若しくはモジュー
ル化されたプログラムとされ、消去領域の全メモリアド
レスに対するプレライトの処理において反転データライ
ト命令(MOV.BRx,@xxxx)のアドレスは同
じ命令アドレスとされる。
【0053】図11には指定された命令アドレスに基づ
いてプレライトを認識可能にしたエミュレータの部分ブ
ロック図が示される。前記実行コマンドにて指定された
命令アドレスはエミュレータ制御用マイクロコンピュー
タ33にてコントロールバス34からレジスタ90に保
持される。レジスタ90に保持された命令アドレスはコ
ンパレータ91の一方の入力に供給される。コンパレー
タ91の他方の入力にはラッチ回路92の出力が結合さ
れる。ラッチ回路92の入力はPC生成回路27の出力
に接続される。PC生成回路27はエバチップ11Fに
内蔵されているプログラムカウンタ(図示せず)の値を
追うためにプログラムカウンタの値を再生する回路であ
り、エミュレーションバス24に含まれるアドレスバス
24Aの値と、エミュレータ専用コントロール信号に含
まれる命令フェッチステータス信号94を受け、当該ス
テータス信号94が命令フェッチを意味するときにアド
レスバス24Aの値を取り込んで出力する。前記ラッチ
回路92はエミュレータ専用コントロール信号に含まれ
る命令実行サイクルステータス信号95をラッチ制御端
子に受け、命令実行サイクルに同期してPC生成回路2
7の出力をラッチする。したがってコンペア回路91
は、命令実行タイミング毎に当該実行される命令のアド
レスと前記レジスタ90に設定された命令アドレスを比
較し、その比較結果をプレライトステータス信号96と
して出力する。これにより、コンペア回路91による比
較結果の一致は、レジスタ90に設定された前記リー
ド、モディファイ、ライトの最後のライト命令をエバチ
ップ11Fが実行する時とされる。プレライトステータ
ス信号96は、前記実施例同様のデータバスバッファ5
5とバスバッファ56に供給され、ライト命令をエバチ
ップ11Fが実行する時にプレライトステータス信号9
6が活性化されることにより、エバチップ11Fが出力
する反転データに代えて全ビット論理値“0”のデータ
が代替メモリ14に供給される。尚、カバレジメモリ2
8はラッチ回路92と同様に命令実行サイクルに同期し
てPC生成回路27の出力を順次蓄積していき、それに
よってエバチップ11Fによる命令実行率のようなPC
カバレジ率を取得可能にする回路である。本来PC生成
回路27はカバレジメモリ28にとって必須の回路構成
であり、この実施例では、PC生成回路27はプレライ
トステータス信号96の生成に流用されていると位置付
けられる。
【0054】第4実施例においても、エミュレータによ
るエミュレーションに際してフラッシュメモリに代えて
RAMから成る代替メモリを利用する場合に、フラッシ
ュメモリへのプレライト及びそれに対するベリファイ動
作を規定するユーザプログラムをそのまま用いても、リ
ードデータの反転データに代えてデータバスの値を論理
値“0”に強制することができ、ユーザは特別な考慮を
一切払わず、システムデバッグ若しくはプログラムデバ
ッグを行うことができる。特に本実施例においては、プ
レライトの検出及びデータバスの論理値“0”への強制
をエバチップの内部回路が一切負わないから、従来のエ
バチップをそのまま流用することができる。また、PC
生成回路など既存の回路を流用できるので、エミュレー
タの回路規模増大も極力抑えることができる。尚、命令
プリフェッチの手法が複雑なマイクロコンピュータや命
令キャッシュメモリを内蔵するマイクロコンピュータ等
の場合には、PCの生成論理が複雑化することが予想さ
れるため、高速動作するマイクロコンピュータへの対応
には限界がある。
【0055】《命令アドレスを指定してライト命令を書
き換え》 第5実施例はプレライトのライト命令が存在
するアドレスを予めエミュレータに指定し、エミュレー
タが当該指定アドレスのライト命令を、論理値“0”の
書込み命令に入れ換えて、プレライトの処理を実行させ
るものである。上記実施例と同様に、例えばプレライト
を行うプログラム若しくはルーチンが一つのプレライト
アドレスに対して、 MOV.B @xxxx,Rx(フラッシュメモリのリ
ード) NOT.B Rx(リードデータ反転) MOV.B Rx,@xxxx(反転データのライト) の記述を含むとき、MOV.B Rx,@xxxx(反
転データのライト)の命令を、例えば、MOV.B #
00,@xxxxに置き換える。この命令は、イミディ
エイトデータ#00(全ビット論理値“0”のバイトデ
ータ)をメモリアドレス@xxxxに直接ライトする命
令である。したがってプレライトが発生した場合にはメ
モリに対して論理値“0”のデータが強制的に書き込ま
れる。
【0056】図12には命令置き換えのためのエミュレ
ータ20Aの構成が示される。命令の書換はエミュレー
タの一つの機能であるパラレルアクセス機能(ショート
ブレーク機能などとも称される)を用いる。このパラレ
ルアクセス機能は、エバチップ11がユーザプログラム
を実行中に、或いはエバチップ11によるユーザプログ
ラムの実行を一時中止させて、代替メモリ14をエミュ
レータ制御用マイクロコンピュータ33にもアクセス可
能にさせる機能である。この機能実現のために、エミュ
レーションバス24はアドレス制御回路100とデータ
制御回路101を介して代替メモリ14に接続される。
アドレス制御回路100及びデータ制御回路101はエ
バチップ11が出力するバスアクセスのための各種ステ
ータス若しくはストローブ信号102を入力する。アド
レス制御回路100は、前記ステータス若しくはストロ
ーブ信号102に基づいて、エバチップ11から代替メ
モリ14へアドレスを供給すべきタイミングを検出して
エミュレーションバス24を代替メモリ14に接続制御
する。データ制御回路101は、前記ステータス若しく
はストローブ信号102に基づき、エバチップ11から
代替メモリ14へライトデータを供給すべきタイミング
を検出してその期間、エミュレーションバス24を代替
メモリ14に接続制御し、代替メモリ14からエバチッ
プ11へリードデータを供給すべきタイミングを検出し
てその期間当該リードデータをラッチしてエミュレーシ
ョンバス24に供給する。したがって、パラレルアクセ
ス機能を活性化した状態において、代替メモリ14はエ
バチップ11が代替メモリ14をアクセスしない期間は
エミュレーションバス24とは非接続状態に制御され
る。
【0057】パラレルアクセス制御回路31は代替メモ
リ14とコントロールバス34との間に配置され、コン
トロールバス34から代替メモリ14に供給すべきアド
レスが設定されるパラレルアドレスレジスタR3、代替
メモリ14とコントロールバス34とを双方向接続する
パラレルデータレジスタR4、3本のワークレジスタR
1,R2,R5、及び制御部103を備えて成る。制御
部103はコントロールバス34から与えられるデータ
及びアドレスに基づいて前記各レジスタR1〜R5の選
択制御及びリードライト制御を行う。制御部103は更
にコントロールバス34を介して指示されるパラレルア
クセス機能の活性状態/非活性状態に応じて前記アドレ
ス制御部100及びデータ制御部101に制御信号を出
力し、また、エバチップ11からの前記ステータス若し
くはストローブ信号102を受け、代替メモリ14がエ
ミュレーションバス24と非接続状態にされていると
き、パラレルアドレスレジスタR3やパラレルデータレ
ジスタR4を代替メモリ14に接続制御する制御信号を
生成する。それら制御内容は、コントロールバス34か
ら前記制御部103に与えられるコマンドのような制御
情報によって規定される。
【0058】パラレルアクセス機能は、アドレス制御回
路100及びデータ制御回路101にて代替メモリ14
がエミュレーションバス24から切り離されている期間
に、パラレルアドレスレジスタR3及びパラレルデータ
レジスタR4を用いて、エミュレータ制御用マイクロコ
ンピュータ33が代替メモリ14をアクセスできるよう
にする。本実施例では一般的なパラレルアクセス機能実
現のためのハードウェアに対し、命令置き換えのために
レジスタR1,R2,R5が追加されている。本実施例
に従えば、レジスタR1には前記置き換え後の命令、M
OV.B #00,@xxxxが格納される。この命令
におけるデータ転送先はレジスタ間接アドレシングにて
指定される。この実施例に従えば、プレライトに際して
のライト命令の置き換えだけを想定しているので、レジ
スタR1は読み出し専用のレジスタであれば十分であ
る。この意味において当該レジスタR1は図12におい
て読み出し専用とされている。レジスタR5にはユーザ
が指定する命令アドレス、即ち、置き換えられるべき命
令MOV.B Rx,@xxxxのアドレスが予めセッ
トされる。
【0059】図13に基づいて命令置き換えの制御手順
を説明する。先ずエミュレーションの全体的な処理にお
ける命令置き換え制御手順の位置付けを説明する。エミ
ュレーションが開始されると、ユーザプログラムに従っ
てフラッシュメモリに対する(実際ににはエミュレータ
の代替メモリ14に対する)書込み消去モードが発生す
るか否かがモニタされ(ステップS1)、フラッシュメ
モリに対する書込み消去である場合は(S1=Ye
s)、命令置き換え制御手順に分岐されてフラッシュメ
モリに対する書込み消去が行われる。フラッシュメモリ
に対する書込み消去でない場合には、フェッチされた命
令がそのまま実行される(ステップS2)。そのような
処理はブレーク割込みが発されるまで繰り返され、ブレ
ーク割込みが発生されたところで(S3=Yes)、エ
ミュレーションが終了される。フラッシュメモリに対す
る書込み消去モードの発生は、エミュレータのモニタ機
能を利用する。例えば書き込み消去プログラムの先頭命
令アドレスを予め条件レジスタに格納し、エバチップ1
1による命令実行中のバスの情報が条件レジスタの値に
一致するか否かを以て検出する。
【0060】前記フラッシュメモリに対する書込み消去
モードが発生すると、レジスタR5に設定されている命
令アドレスがパラレルアドレスレジスタR3に転送され
る(ステップS4)。そして、レジスタR3に転送され
た命令アドレスの命令が代替メモリ14から読出されて
パラレルデータレジスタR4に転送される(ステップS
5)。レジスタR4に転送された命令はレジスタR2に
退避される(ステップS6)。次いで、レジスタR1に
保持されている命令がパラレルデータレジスタR4に内
部転送され(ステップS7)、レジスタR4転送された
命令がパラレルアドレスレジスタR3のアドレスによっ
て代替メモリ14に書き込まれる(ステップS8)。こ
れにより、レジスタR5で指定された代替メモリ上のも
との命令MOV.B Rx,@xxxxはレジスタR2
に退避され、当該命令が配置されていたフラッシュメモ
リ上の元のアドレス位置はMOV.B #00,@xx
xxによって置き換えられる。上記動作は、フラッシュ
メモリのアドレスに対するリード、モディファイ、ライ
トのプレライト処理の当該ライト処理が実行されるまで
に完了される。完了されない場合には、制御部103が
エバチップ11にバス権を要求して当該ライト動作の開
始を遅延させればよい。但し、その場合にはエミュレー
ションのリアルタイム性はある程度損なわれる。命令の
置き換えが完了された後は、置き換えられた命令に従っ
てプレライトが実行される。そのプレライトはRAMか
ら成る代替メモリ14に対して行われるが、上記実施例
同様にそのときの書込みデータは論理値“0”に強制さ
れているので、リードデータの反転データを書き込んだ
ときのような書込みエラーを生じない。書込み消去モー
ドが解除されると(ステップS9)、その後は、レジス
タR2に退避されていた元の命令がレジスタR4に転送
され(ステップS10)、転送された命令は、レジスタ
R3のアドレスを利用して代替メモリ上の元のアドレス
位置に復帰される(ステップS11)。
【0061】第5実施例においても、エミュレータによ
るエミュレーションに際してフラッシュメモリに代えて
RAMから成る代替メモリを利用する場合に、フラッシ
ュメモリへのプレライト及びそれに対するベリファイ動
作を規定するユーザプログラムをそのまま用いても、エ
ミュレータ内部で命令の置き換えを行ってリードデータ
の反転データに代えてデータバスの値を論理値“0”に
強制することができ、プレライトが終了されると自動的
にその命令が元の命令戻される。したがって、ユーザは
特別な処理を用意することなく、システムデバッグ若し
くはプログラムデバッグを行うことができる。尚、イミ
ディエイトデータをメモリに直接ライトする命令を持た
ないマイクロコンピュータの場合、当該イミディエイト
データを一度汎用レジスタに転送してから当該レジスタ
のデータをメモリに書き込まなければならず、置き換え
られた命令は2命令になってしまう。したがって第5実
施例は、そのようなマイクロコンピュータのエミュレー
タには適用することができない。
【0062】《プレライト専用命令とバス強制手段を持
つエバチップ》 第6の実施例は、マクロコンピュータ
の命令セットにプレライトを認識するための専用命令を
追加し、マイクロコンピュータはその命令を実行したこ
とを検出する事により、リードデータの反転データに代
えてデータバスの値を論理値“0”に強制するものであ
る。即ち第1の実施例に対し、バスの値を論理値“0”
に強制する手段をエバチップが内蔵する点が相違され
る。
【0063】図14にはエバチップ11Dの一例ブロッ
ク図が示される。このエバチップ11Dは単結晶シリコ
ンのような1個の半導体基板に、CPU40、バスコン
トローラ41、ユーザインタフェース42、周辺機能モ
ジュール43、エミュレータ専用信号制御部44A、及
びエミュレータインタフェース45Aを備えて成る。同
図のエバチップ11Dに対する実チップとしてのマイコ
ンチップは前記エミュレータ専用信号制御部44A及び
エミュレータインタフェース45Aを備えていない点が
エバチップ11Dと相違される。このエバチップ11D
は、図22のエバチップと同様にフラッシュメモリを内
蔵するマイコンチップに対応されるものであり、当該エ
バチップ11Dがフラッシュメモリを内蔵する場合には
前記バススイッチ16、17を含み、エバチップモード
によってフラッシュメモリがCPU40から切り離され
るようになっている。エバチップ11Dがフラッシュメ
モリを内蔵しない場合、またエバチップがフラッシュメ
モリを内蔵してエバチップモードが設定されるとき、マ
イコンチップのフラッシュメモリは代替メモリ14に代
替される。前記CPU40はCPUバス(アドレスバ
ス、データバス、コントロールバス)46を介してバス
コントローラ41に結合され、バスコントローラ41、
ユーザインタフェース42、及び周辺機能モジュール4
3は内部バス(アドレスバス、データバス、コントロー
ルバス)47に結合される。本実チップではエミュレー
タ専用信号制御部44AにはCPUバス46と内部バス
47の双方が結合されている。エミュレータ専用信号制
御部44Aは、エバチップ11Dの内部で内部バス46
やCPUバス47を介して供給された情報をエミュレー
タインタフェース45Aを介してエミュレーション用の
情報として外部に出力し、またエミュレータ側からエミ
ュレータインタフェース45Aに供給される制御情報を
内部バスに供給する。
【0064】図14のエバチップ11Dにおいてその命
令セットにはメモリへのデータ書込みに利用される一般
的なデータ転送命令MOVを有する。フラッシュメモリ
へのプレライトにも当該データ転送命令MOVを利用す
ることができるが、本実施例では、フラッシュメモリへ
のプレライトに専用化されたコードを持つPMOV命令
が命令セットに追加されている。PMOV命令はデータ
転送動作の点においてはMOV命令と同じであるが、プ
レライトステータス信号49Aを形成してエミュレータ
専用信号制御部44Aに供給する機能が追加されてい
る。したがって、PMOV命令がCPU40にフェッチ
され、それが命令デコーダ50Aにて解読されると、当
該PMOV命令のソースオペランド指定フィールドに記
述されたアドレスのデータをディスティネーションオペ
ランド指定フィールドに記述された位置に転送させるた
めの制御信号が生成されてデータ転送が行われ、そのと
き、プレライトステータス信号49Aを形成してエミュ
レータ専用信号制御部44Aに供給される。エミュレー
タ専用信号制御部44Aは、図15に示されるようにデ
ータバスに介在されたデータバスバッファ55とバスバ
ッファ56を備える。データバスバッファ55は、リー
ド信号RDにてデータの入出力方向が制御される。この
データバスバッファ55は、プレライトステータス信号
49Aが非活性状態のハイレベルのとき(PMOV命令
が実行されていない状態)、データバスバッファ55の
イネーブル制御端子がローレベルにされて、入出力動作
可能にされる。プレライトステータス信号49Aが活性
状態のローレベルのときは(PMOV命令が実行される
状態)、データバスバッファ55は高インピーダンス状
態にされる。このとき、前記バスバッファ56はその制
御端子に活性状態のプレライトステータス信号49Aを
受けることによって、データバスを論理値“0”に強制
する。PMOV命令はプレライトにおけるライトサイク
ルに専用化された命令であるから、当該ライトサイクル
においては全ビット論理値“0”のデータが代替メモリ
14に書き込まれる。
【0065】したがって、エミュレータによるエミュレ
ーションに際してフラッシュメモリに代えてRAMから
成る代替メモリを利用する場合に、フラッシュメモリへ
のプレライト及びそれに対するベリファイ動作を規定す
るユーザプログラムをそのまま用いても、リードデータ
の反転データに代えてデータバスの値を論理値“0”に
強制することができ、ユーザは特別な考慮を一切払わず
にシステムデバッグ若しくはプログラムデバッグを行う
ことができる。特に本実施例においては、データバスの
値を選択的に論理値“0”に強制する回路をエバチップ
11Dが内蔵するので、エミュレータの開発においては
データバスの値を選択的に論理値“0”に強制する回路
などを一切考慮する必要はない。
【0066】さらに、本実施例の構成はエバチップに限
らず実チップにおけるRAMによるフラッシュメモリの
エミュレーションにも有用である。フラッシュメモリ
は、その消去や書き込みに時間がかかるため、パラメー
タ等のデータをリアルタイムに書き換えながらチューニ
ングを行うといった使い方が難しい場合がある。このよ
うな場合、フラッシュメモリの特定のメモリブロック領
域(一括消去単位)にRAMの一部のアドレスを重ね合
わせて使うことができる。これがRAMによるフラッシ
ュメモリのエミュレーション機能である。アドレス重ね
合わせのためのRAMエリアの設定及び当該エミュレー
ション機能の設定はマイクロコンピュータ内部のコント
ロールレジスタに対する制御データの書込みによって行
うことができる。このエミュレーション機能が設定され
ると、アドレスが重ね合わせられたフラッシュメモリエ
リアに対するアクセスは内蔵RAMへのアクセスとされ
る。このような場合にも本実施例のようにPMOV命令
を採用し且つプレライトに際しての書込みデータを論理
値“0”に強制する手段を実チップが備えることによ
り、プレライトのためのプログラムを変更することなく
内蔵RAMのエミュレーション機能に対応することがで
きる。
【0067】《専用命令を用いずエバチップ内部でプレ
ライトを認識し且つバス強制手段を持つエバチップ》
第7実施例はプレライトがリード、モディファイ、ライ
トによって行われることに着目してプレライトの発生を
監視するようにして、PMOVのような専用命令を用い
ないようにし、更に、前記ライトデータを論理値“0”
に強制する手段をエバチップに内蔵したものである。即
ち第3実施例に対し、更に前記ライトデータを論理値
“0”に強制する手段をエバチップに内蔵したものであ
る。
【0068】図16には第7実施例に係るエバチップ1
1Eの一部が示される。プレライト検出回路70Aはア
ドレス/データラッチ制御回路71A、アドレスコンペ
ア回路72によって構成され、アドレスコンペア回路7
2がプレライトステータス信号をデータ制御回路110
に出力する。データ制御回路10はエミュレーション用
のデータ出力回路であり、プレライトステータス信号7
3Aと内部データバス18Dの値に基づいて、プレライ
トにおけるリード、モディファイ、ライトに際してのラ
イトデータを全ビット論理値“0”に強制する制御を行
う。データ制御回路110の出力はエミュレータ専用デ
ータバス入出力制御回路111を介して外部に与えられ
る。外部から供給されるデータはエミュレータ専用デー
タバス入出力制御回路111を介して内部データバス1
8Dに与えられる。エミュレータ専用データバス入出力
制御回路111におけるデータ伝送方向はCPU(中央
処理装置)19等が出力するアクセス制御信号によって
行われる。
【0069】ここで、プレライトを行うプログラムは例
えば第3実施例と同様に、 MOV.B @xxxx,Rx(フラッシュメモリのリ
ード) NOT.B Rx(リードデータ反転) MOV.B Rx,@xxxx(反転データのライト) とされ、プレライトの処理では一つのアドレスに対して
リード、モディファイ、ライトの連続処理が行われる。
上記命令記述例においてメモリアドレスは@xxxx、
即ちレジスタxxxxに格納された値である。特に制限
されないが、本実施例のエバチップ(これに対応される
実チップも同様である)11Eはフラッシュメモリがア
ドレスH’00000〜H’1FFFFに割り当てら
れ、当該フラッシュメモリエリアは1ステートアクセス
で、ライト/イレーズを8ビット単位で行うものとされ
る。
【0070】このとき、前記アドレス/データラッチ制
御回路71Aは図17に示されるように、アドレスデコ
ーダ74にてフラッシュメモリエリアのアクセスか否か
を内部アドレスバス18Aの上位3ビットをデコードし
て検出する。更に、当該アクセスがバイトデータに対す
るリードアクセスであることをバスコマンド信号及びア
クセス制御信号にてバイトリードデコーダ75にて検出
する。バスコマンドはバイト、ワード等のアクセスデー
タビット数を通知する制御信号であり、アクセス制御信
号はリード信号とされる。上記各条件が一致すると、ア
ンドゲート76の出力がハイレベルに活性化され、それ
をラッチ制御端子に受けるアドレスラッチ回路77は、
内部アドレスバス18Aの下位側17ビットをラッチす
る。また、アンドゲート76の出力はタイミング制御回
路112に供給され、アドレスラッチに同期してそのと
きのデータバス18D上の確定されたデータをデータラ
ッチ回路113にラッチさせる。これによってアドレス
ラッチ回路77にラッチされるアドレス情報は、フラッ
シュメモリに対するバイト単位でのリードアクセスアド
レスの下位17ビットの情報とされ、データラッチ回路
113にはそのときのリードデータがラッチされる。タ
イミング制御回路112はリードアドレスが確定されて
からリードデータがデータバス18D上で確定するまで
のタイミングを待ってデータラッチ回路113にラッチ
動作させるものである。前記アドレスコンペア回路72
は図8で説明したものと同様であるのでその詳細な説明
は省略する。
【0071】データ制御回路110の一例は図18に示
される。図18は内部データバス18Dの1ビットに対
応する構成が代表的に示され、全ビットが同様に構成さ
れる。前記データラッチ回路113の出力はプレライト
ステータス信号73Aの反転信号と共にノアゲート11
4に供給され、プレライトステータス信号73Aが論理
値“0”の非活性化レベルにされている状態において前
記ノアゲート114の出力は論理値“0”に固定され、
その結果ノアゲート115は内部データバス18Dの値
を出力する。一方、プレライトステータス信号73Aが
論理値“1”の活性化レベルにされている状態ではノア
ゲート114はデータラッチ回路11にラッチされてい
るデータの論理値反転された値を出力する。即ちその出
力はリード、モディファイ、ライトにおけるライトデー
タに等しくされる。このとき内部データバス18Dには
当該ライトデータが供給される。これにより、ノアゲー
ト115には、内部データバス18Dの値(ライトデー
タ)をインバータ116で反転した値(リードデータの
論理値に等しい)と、ノアゲート114から出力される
値(ライトデータの論理値に等しい)が入力される。リ
ードデータとライトデータは相互に論理値反転されたデ
ータであるから、ノアゲート115の出力は論理値
“0”に強制され、これが書き込みデータとして外部の
代替メモリ14に供給される。本実施例における論理値
“0”への強制機能は、エバチップ11Eがフラッシュ
メモリを内蔵するときは前記エバチップモードが設定さ
れたときに有効とされる。
【0072】したがって本実施例においても、エミュレ
ータによるエミュレーションに際してフラッシュメモリ
に代えてRAMから成る代替メモリを利用する場合に、
フラッシュメモリへのプレライト及びそれに対するベリ
ファイ動作を規定するユーザプログラムをそのまま用い
ても、リードデータの反転データに代えてデータバスの
値を論理値“0”に強制することができ、ユーザは特別
な考慮を一切払わずシステムデバッグ若しくはプログラ
ムデバッグを行うことができる。特に本実施例において
は、データバスの値を選択的に論理値“0”に強制する
回路をエバチップ11Eが内蔵するので、エミュレータ
の開発においてはデータバスの値を選択的に論理値
“0”に強制する回路などを一切考慮する必要はない。
そしてエバチップ若しくはマイクロコンピュータは、命
令セットにPMOVのような特別な命令コードを割り当
てたアーキテクチャーを採用する必要もない。
【0073】以上本発明者によってなされた発明を実施
例に基づいて具体的に説明したが、本発明はそれに限定
されるものではなく、その要旨を逸脱しない範囲におい
て種々変更可能であることは言うまでもない。例えば、
プレライトにおける書込みデータを論理値“0”に強制
する手段は実施例のバスバッファ56に限定されず、種
々変更可能である。また、フラッシュメモリに対するア
ドレスマッピングも上記実施例に限定されず適宜変更可
能である。また電気的に書き換え可能な不揮発性半導体
記憶装置はフラッシュメモリに限定されず、MNOSを
記憶トランジスタとするようなEEPROMであっても
よい。また、プレライトのライト命令のアドレスを指定
して書き込みデータの論理値を論理値“0”に強制する
第5実施例ではエミュレータのパラレルアクセス機能を
利用したが、エミュレーションのリアルタイム性を要し
ない場合には、パラレルアクセス機能を利用せず、エミ
ュレーション制御用のマイクロコンピュータがエバチッ
プにバス権を要求して命令置き換えを行うことも可能で
ある。
【0074】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0075】すなわち、マイクロコンピュータ又はエミ
ュレータはプレライトを認識し、それによってプレライ
トにおける反転データ書込みのためのデータを、前記不
揮発性半導体記憶装置における書込み状態の論理値に強
制する。したがって、エミュレータによるエミュレーシ
ョンに際してフラッシュメモリ等の電気的に書き換え可
能な不揮発性半導体記憶装置に代えてRAMから成る代
替メモリを利用する場合に、フラッシュメモリへのプレ
ライト及びそれに対するベリファイ動作を規定するユー
ザプログラムをそのまま用いても、リードデータの反転
データに代えてデータバスの値を前記不揮発性半導体記
憶装置における書込み状態の論理値に強制することがで
き、ユーザは特別な考慮を一切払わなくても、プレライ
トに対するベリファイにおいて書き込み異常とはされな
い。したがって、フラッシュメモリを含むシステムのデ
バッグ若しくはフラッシュメモリ書換の手順を規定する
プログラムを含むプログラムのデバッグを容易に行うこ
とができる。
【0076】プレライトの認識をマイクロコンピュータ
が行えば、動作速度の速いマイクロコンピュータにも余
裕を持ってプレライトを認識できる。エミュレータには
データバスの値を選択的に、前記不揮発性半導体記憶装
置における書込み状態の論理値に例えば論理値“0”に
強制する回路を追加すればよく、エミュレータの回路規
模の増大を極力抑えることができる。
【0077】プレライトは同一アドレスに対するリー
ド、モディファイ、ライトであることに着目して、マイ
クロコンピュータ内部でプレライトを認識すれば専用命
令を用いなくても済む。
【0078】プレライトの認識それ自体をマイクロコン
ピュータが行うと共に、プレライトにおける書込みデー
タを選択的に前記不揮発性半導体記憶装置における書込
み状態の論理値に強制する回路もマイクロコンピュータ
に内蔵すれば、従来のエミュレータをそのまま利用する
ことができる。さらにその場合には、エミュレータを用
いたシステムデバッグ若しくはプログラムデバッグのと
きだけに限らず、フラッシュメモリとRAMを内蔵した
マイクロコンピュータにおける当該RAMによるフラッ
シュメモリのエミュレーションにも対応できる。
【0079】プレライトにおけるデータ書込み命令のア
ドレスを用いたりして、プレライトの認識とプレライト
における書込みデータに対する前記不揮発性半導体記憶
装置における書込み状態の論理値への強制とをエミュレ
ータで行うことにより、従来のマイクロコンピュータを
そのまま利用することができる。
【図面の簡単な説明】
【図1】プレライト専用命令を持つエバチップの実施例
ブロック図である。
【図2】フラッシュメモリに対するプレライトのための
リード、モディファイ、ライトの処理にMOV命令を用
いる場合とPMOV命令を用いる場合を示した説明図で
ある。
【図3】MOV命令を実行するときのCPUデータアク
セスサイクルとPMOV命令を実行するときのプレライ
トサイクルとの間での相違を示すタイミングチャートで
ある。
【図4】図1のエバチップを用いプレライトに際してリ
ードデータの反転データを論理値“0”のデータに強制
的に置き換えるためのエミュレータ側の構成説明図であ
る。
【図5】プレライト専用命令を持つエバチップを用いる
ときにプレライトステータスを当該エバチップ外部で生
成するエミュレータの実施例ブロック図である。
【図6】プレライト専用命令を用いることなくエバチッ
プ内部でプレライトを認識可能にしたエバチップの実施
例ブロック図である。
【図7】図6のエバチップが含むアドレスラッチ制御回
路の一例ブロック図である。
【図8】図6のエバチップが含むアドレスコンペア回路
の一例ブロック図である。
【図9】図6のエバチップが生成するプレライトステー
タス信号でエミュレーションバスのデータバスの値を論
理値“0”に強制する回路の一例ブロック図である。
【図10】プレライトのライト命令が存在するアドレス
をエミュレータに指定してプレライトを認識する手順を
示す説明図である。
【図11】指定された命令アドレスに基づいてプレライ
トを認識可能にしたエミュレータの実施例ブロック図で
ある。
【図12】命令置き換えによってプレライトの書込みデ
ータを理値“0”に強制するエミュレータの実施例ブロ
ック図である。
【図13】図12のエミュレータにおける命令置き換え
の制御手順を示すフローチャートである。
【図14】プレライト専用命令とバス強制手段を持つマ
イクロコンピュータの実施例ブロック図である。
【図15】図14のマイクロコンピュータにおけるバス
強制手段の一例ブロック図である。
【図16】専用命令を用いずエバチップ内部でプレライ
トを認識し且つバス強制手段を持つマイクロコンピュー
タの実施例ブロック図である。
【図17】図16のマイクロコンピュータに含まれるア
ドレス/データラッチ制御回路の一例ブロック図であ
る。
【図18】図16のマイクロコンピュータに含まれるデ
ータ制御回路一例ブロック図である。
【図19】フラッシュメモリのデバイス構造と情報記憶
原理の説明図である。
【図20】フラッシュメモリに対する消去動作の手順説
明図である。
【図21】フラッシュメモリに対するプレライトの結果
及びそれと同じ手順をSRAMに適用した場合の結果と
の比較例を示す説明図である。
【図22】フラッシュメモリ内蔵のマイコンチップとそ
れに対応されるエバチップとの比較説明図である。
【図23】エミュレータの全体的な一例ブロック図であ
る。
【符号の説明】
10 マイコンチップ 11 エバチップ 11A エバチップ 11B エバチップ 11C エバチップ 11D エバチップ 11E エバチップ 11F エバチップ 12 フラッシュメモリ 13 RAM 14 代替メモリ 19 CPU 20 エミュレータ 25 マップ制御回路 27 PC生成回路 31 パラレルアクセス制御回路 33 エミュレータ制御用マイクロコンピュータ 40 CPU 44 エミュレータ専用信号制御部 44A エミュレータ専用信号制御部 49 プレライトステータス信号 49A プレライトステータス信号 50,50A 命令デコーダ 52 フラッシュメモリエリア選択信号 55 データバスバッファ 56 バスバッファ 60 レジスタ 61 コンパレータ 62 ラッチ回路 65 プレライトステータス信号 70 プレライト検出回路 71 アドレスラッチ制御回路 71A アドレス/データラッチ制御回路 72 アドレスコンペア回路 73 プレライトステータス信号 73A プレライトステータス信号 90 レジスタ 91 コンパレータ 92 ラッチ回路 96 プレライトステータス信号 R1〜R5 レジスタ 100 制御回路 110 データ制御回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 橋本 忠士 東京都小平市上水本町5丁目20番1号 株 式会社日立製作所半導体事業部内 (72)発明者 藤田 秀哉 東京都小平市上水本町5丁目20番1号 株 式会社日立製作所半導体事業部内 (72)発明者 山下 岳彦 東京都小平市上水本町5丁目20番1号 株 式会社日立製作所半導体事業部内 (72)発明者 築地 治孝 東京都小平市上水本町5丁目22番1号 株 式会社日立マイコンシステム内 (72)発明者 片岡 健 東京都小平市上水本町5丁目20番1号 株 式会社日立製作所半導体事業部内 (72)発明者 深田 馨 東京都小平市上水本町5丁目20番1号 株 式会社日立製作所半導体事業部内 (72)発明者 伊東 良高 東京都小平市上水本町5丁目20番1号 株 式会社日立製作所半導体事業部内 (72)発明者 片瀬 陽子 東京都小平市上水本町5丁目20番1号 株 式会社日立製作所半導体事業部内 (72)発明者 山崎 尊永 東京都小平市上水本町5丁目20番1号 株 式会社日立製作所半導体事業部内

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 電気的に書き換え可能な不揮発性半導体
    記憶装置に対する消去動作に先立って、消去対象メモリ
    セルのデータを読み出し、読み出したデータを論理値反
    転させ、反転されたデータを書き込んで、消去状態のメ
    モリセルを書込み状態に転ずるためのプレライトにおけ
    る、前記反転データ書き込みのための専用命令を、実行
    可能な命令セットとして持ち、当該専用命令をデコード
    することによってプレライトステータス信号を外部に出
    力させる命令デコーダを備えて成るものであることを特
    徴とするマイクロコンピュータ。
  2. 【請求項2】 請求項1記載のマイクロコンピュータを
    用いてユーザ応用システムを代行制御するエミュレータ
    であって、前記ユーザ応用システム又はマイクロコンピ
    ュータ内蔵のメモリを代替する代替メモリを供え、該代
    替メモリと前記マイクロコンピュータを接続するデータ
    バスに設けられ、前記プレライトステータス信号を受
    け、当該信号が活性化されたとき、マイクロコンピュー
    タが前記専用命令を実行してデータバスに出力する書込
    みデータの全ビットを、前記不揮発性半導体記憶装置に
    おける書込み状態の論理値に強制する手段を設けて成る
    ものであることを特徴とするエミュレータ。
  3. 【請求項3】 電気的に書き換え可能な不揮発性半導体
    記憶装置に対する消去動作に先立って、消去対象メモリ
    セルのデータを読み出し、読み出したデータを論理値反
    転させ、反転されたデータを書き込んで、消去状態のメ
    モリセルを書込み状態に転ずるためのプレライトにおけ
    る、前記反転データ書き込みのための専用命令を、実行
    可能な命令セットとして持ち、当該専用命令をデコード
    することによってプレライトステータス信号を生成する
    命令デコーダを備え、更に、前記プレライトステータス
    信号が活性化されたとき、前記専用命令を実行して外部
    に出力すべき書込みデータの全ビットを、前記不揮発性
    半導体記憶装置における書込み状態の論理値に強制する
    手段を有して成るものであることを特徴とするマイクロ
    コンピュータ。
  4. 【請求項4】 電気的に書き換え可能な不揮発性半導体
    記憶装置に対する消去動作に先立って、消去対象メモリ
    セルのデータを読み出し、読み出したデータを論理値反
    転させ、反転されたデータを書き込んで、消去状態のメ
    モリセルを書込み状態に転ずるためのプレライトにおけ
    る、前記反転データ書き込みのための専用命令を、実行
    可能な命令セットとして持ち、また、実行すべき命令の
    フェッチサイクルであることを示すステータス信号と、
    書込み動作サイクルであることを示すステータス信号と
    を外部に出力可能にするインタフェース手段を備えて成
    るものであることを特徴とするマイクロコンピュータ。
  5. 【請求項5】 請求項4記載のマイクロコンピュータを
    用いてユーザ応用システムを代行制御するエミュレータ
    であって、前記ユーザ応用システム又はマイクロコンピ
    ュータ内蔵のメモリを代替する代替メモリを供え、前記
    マイクロコンピュータにおける専用命令の命令コードを
    記憶するレジスタ手段と、前記フェッチサイクルを示す
    ステータス信号に基づいて当該マイクロコンピュータが
    フェッチする命令をラッチするラッチ手段と、レジスタ
    手段が記憶する命令コードとラッチ手段にラッチされた
    命令とを比較する比較手段と、当該比較手段による比較
    結果が一致で且つステータス信号が書込み動作サイクル
    を示すとき、プレライトステータス信号を活性化する信
    号形成手段と、前記代替メモリと前記マイクロコンピュ
    ータとを接続するデータバスに設けられ、前記プレライ
    トステータス信号を受け、当該信号が活性化されたと
    き、マイクロコンピュータが前記専用命令を実行してデ
    ータバスに出力する書込みデータの全ビットを、前記不
    揮発性半導体記憶装置における書込み状態の論理値に強
    制する手段とを設けて成るものであることを特徴とする
    エミュレータ。
  6. 【請求項6】 中央処理装置と、電気的に書き換え可能
    な不揮発性半導体記憶装置がマッピングされたアドレス
    に対する前記中央処理装置によるリード動作を検出して
    当該リードアドレス情報をラッチするアドレスラッチ手
    段と、前記アドレスラッチ手段にラッチされているアド
    レス情報と同一アドレスに対する中央処理装置によるラ
    イトアクセスを検出してプレライトステータス信号を外
    部に出力する検出手段と、を備えて成るものであること
    を特徴とするマイクロコンピュータ。
  7. 【請求項7】 請求項6記載のマイクロコンピュータを
    用いてユーザ応用システムを代行制御するエミュレータ
    であって、前記ユーザ応用システム又はマイクロコンピ
    ュータ内蔵のメモリを代替する代替メモリを供え、該代
    替メモリと前記マイクロコンピュータを接続するデータ
    バスに設けられ、前記プレライトステータス信号を受
    け、当該信号が活性化されたとき、マイクロコンピュー
    タがデータバスに出力する書込みデータの全ビットを、
    前記不揮発性半導体記憶装置における書込み状態の論理
    値に強制する手段を設けて成るものであることを特徴と
    するエミュレータ。
  8. 【請求項8】 中央処理装置と、電気的に書き換え可能
    な不揮発性半導体記憶装置がマッピングされたアドレス
    に対する前記中央処理装置によるリード動作を検出して
    当該リードアドレス情報とリードデータとをラッチする
    アドレス及びデータラッチ手段と、前記アドレス及びデ
    ータラッチ手段にラッチされているアドレス情報と同一
    アドレスに対する中央処理装置によるライトアクセスを
    検出してプレライトステータス信号を生成する検出手段
    と、前記プレライトステータス信号が活性化されたと
    き、外部に出力すべき書込みデータを前記ラッチされた
    データと論理演算させて全ビットを、前記不揮発性半導
    体記憶装置における書込み状態の論理値に強制する手段
    を設けて成るものであることを特徴とするマイクロコン
    ピュータ。
  9. 【請求項9】 命令フェッチサイクルを示すステータス
    信号と命令実行サイクルを示すためのステータス信号を
    外部に出力可能なマイクロコンピュータを用いてユーザ
    応用システムを代行制御するエミュレータであって、前
    記マイクロコンピュータにデータバス及びアドレスバス
    を介して接続され前記ユーザ応用システム又はマイクロ
    コンピュータ内蔵のメモリを代替する代替メモリと、電
    気的に書き換え可能な不揮発性半導体記憶装置に対する
    消去動作に先立って、消去対象メモリセルのデータを読
    み出し、読み出したデータを論理値反転させ、反転され
    たデータを書き込んで、消去状態のメモリセルを書込み
    状態に転ずるためのプレライトにおける、前記反転デー
    タ書き込みのための命令アドレスを記憶するレジスタ手
    段と、前記フェッチサイクルを示すステータス信号に基
    づいて前記アドレスバスのアドレス情報からプログラム
    カウンタの値を生成するPC生成手段と、前記実行サイ
    クルを示すステータス信号に基づいてPC生成回路の出
    力をラッチするラッチ手段と、ラッチ手段の出力と前記
    レジスタ手段の値との一致によってプレライトステータ
    ス信号を活性化する比較手段と、前記代替メモリと前記
    マイクロコンピュータを接続するデータバスに設けら
    れ、前記プレライトステータス信号を受け、当該信号が
    活性化されたとき、マイクロコンピュータがデータバス
    に出力する書込みデータの全ビットを、前記不揮発性半
    導体記憶装置における書込み状態の論理値に強制する手
    段と、を設けて成るものであることを特徴とするエミュ
    レータ。
  10. 【請求項10】 マイクロコンピュータを用いてユーザ
    応用システムを代行制御するエミュレータであって、前
    記マイクロコンピュータにデータバス及びアドレスバス
    を介して接続され前記ユーザ応用システム又はマイクロ
    コンピュータ内蔵のメモリを代替する代替メモリと、電
    気的に書き換え可能な不揮発性半導体記憶装置に対する
    消去動作に先立って、消去対象メモリセルのデータを読
    み出し、読み出したデータを論理値反転させ、反転され
    たデータを書き込んで、消去状態のメモリセルを書込み
    状態に転ずるためのプレライトにおける、前記反転デー
    タ書き込みのための第1命令を前記代替メモリ上で第2
    の命令に置き換える制御手段とを供え、前記第2の命令
    は、前記消去対象メモリセルに前記不揮発性半導体記憶
    装置における書込み状態の論理値に応ずるイミディエイ
    トデータを書き込む命令であることを特徴とするエミュ
    レータ。
JP16146395A 1995-06-05 1995-06-05 マイクロコンピュータ及びエミュレータ Withdrawn JPH08328899A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16146395A JPH08328899A (ja) 1995-06-05 1995-06-05 マイクロコンピュータ及びエミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16146395A JPH08328899A (ja) 1995-06-05 1995-06-05 マイクロコンピュータ及びエミュレータ

Publications (1)

Publication Number Publication Date
JPH08328899A true JPH08328899A (ja) 1996-12-13

Family

ID=15735586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16146395A Withdrawn JPH08328899A (ja) 1995-06-05 1995-06-05 マイクロコンピュータ及びエミュレータ

Country Status (1)

Country Link
JP (1) JPH08328899A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002214308A (ja) * 2001-01-12 2002-07-31 Sony Corp マイクロコンピュータ及びこれを搭載する電子機器
JP2006024309A (ja) * 2004-07-09 2006-01-26 Renesas Technology Corp 不揮発性メモリ、データプロセッサ及びicカード用マイクロコンピュータ
WO2011132357A1 (ja) * 2010-04-22 2011-10-27 株式会社日立製作所 データ処理方法、データ処理装置及びデータ処理プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002214308A (ja) * 2001-01-12 2002-07-31 Sony Corp マイクロコンピュータ及びこれを搭載する電子機器
JP2006024309A (ja) * 2004-07-09 2006-01-26 Renesas Technology Corp 不揮発性メモリ、データプロセッサ及びicカード用マイクロコンピュータ
WO2011132357A1 (ja) * 2010-04-22 2011-10-27 株式会社日立製作所 データ処理方法、データ処理装置及びデータ処理プログラム
JP5450803B2 (ja) * 2010-04-22 2014-03-26 株式会社日立製作所 データ処理方法、データ処理装置及びデータ処理プログラム

Similar Documents

Publication Publication Date Title
KR100375217B1 (ko) 전기적으로 재기입 가능한 불휘발성 메모리를 구비하는마이크로컨트롤러
US7002853B2 (en) Memory card having a buffer memory for storing testing instruction
US5787484A (en) System and method which compares data preread from memory cells to data to be written to the cells
US6772276B2 (en) Flash memory command abstraction
US20080089161A1 (en) Method for testing flash memory power loss recovery
US5784611A (en) Device and process for in-system programming electrically erasable and programmable non-volatile memory
US20040003167A1 (en) Microcomputer
JPH1050078A (ja) 電気的に消去およびプログラムが可能なリード・オンリ・メモリの消去およびプログラミング保護方法および装置
US6798713B1 (en) Implementing software breakpoints
US6189070B1 (en) Apparatus and method for suspending operation to read code in a nonvolatile writable semiconductor memory
US5768563A (en) System and method for ROM program development
JP2002157235A (ja) マイクロコントローラ
KR20060122064A (ko) 전자장치 및 그 부팅방법
US6738894B1 (en) Data processor
CN111104064B (zh) Flash存储器写保护处理方法及装置、计算机设备、介质
US20030084232A1 (en) Device and method capable of changing codes of micro-controller
JPH08328899A (ja) マイクロコンピュータ及びエミュレータ
JPH0793499A (ja) メモリカード
US6898680B2 (en) Minimization of overhead of non-volatile memory operation
JPH09244915A (ja) マイクロコンピュータ及びデバッグ支援装置
JP4324149B2 (ja) エミュレータ及びそれを用いた開発支援システム
JP3691137B2 (ja) 不揮発性メモリ内蔵マイクロコンピュータ
JPH0249300A (ja) Eeprom内蔵マイクロコンピュータ
JP2000259448A (ja) プログラムデバッグ装置
JPH11212870A (ja) 電子制御装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020806