JPH0934748A - エミュレーション用マイクロコンピュータ - Google Patents

エミュレーション用マイクロコンピュータ

Info

Publication number
JPH0934748A
JPH0934748A JP7180146A JP18014695A JPH0934748A JP H0934748 A JPH0934748 A JP H0934748A JP 7180146 A JP7180146 A JP 7180146A JP 18014695 A JP18014695 A JP 18014695A JP H0934748 A JPH0934748 A JP H0934748A
Authority
JP
Japan
Prior art keywords
ram
signal
data
emulation
virtual
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.)
Pending
Application number
JP7180146A
Other languages
English (en)
Inventor
Daijiro Harada
大次郎 原田
Katsunobu Hongo
勝信 本郷
Masato Koura
正人 小浦
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP7180146A priority Critical patent/JPH0934748A/ja
Priority to US08/574,142 priority patent/US5826059A/en
Publication of JPH0934748A publication Critical patent/JPH0934748A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3652Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【課題】 内部機能回路へのアクセスと外部メモリ領域
へのアクセスとではバス制御, ウェイト条件等が異なる
ため、内蔵 RAM容量が異なる場合にはエミュレーション
用マイクロコンピュータを流用することは不可能であっ
た。 【解決手段】内蔵RAM 17と、この内蔵RAM 17の実装容量
を最大値とし、その範囲内で複数の仮想 RAM容量に対応
する仮想 RAMアドレス空間を生成する上位アドレスデコ
ーダ (仮想 RAMアドレスデコーダ) と、これが生成し得
る複数の仮想 RAMアドレス空間の内のいずれかを指定す
る RAM容量選択フラグ36とを備えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はマイクロコンピュー
タのプログラムデバッグに使用されるデバッガを構成す
るエミュレーションポッドの一部品であるエミュレーシ
ョン用のマイクロコンピュータ(以下、エミュレーショ
ンMCU と言う) に関する。
【0002】
【従来の技術】まず、従来の技術について説明する。図
11は従来のプログラムデバッガの一構成例を示すブロッ
ク図である。
【0003】図11において、参照符号1はエミュレーシ
ョンポッドを示している。このエミュレーションポッド
1は、ソケット9に接続されてデバッグのターゲットと
なるチップの挙動をエミュレートするための装置であ
り、エミュレーションMCU,メモリ及び他の周辺回路で構
成されている。
【0004】参照符号2はホストコンピュータを、参照
符号3はホストコンピュータ2と接続されたエミュレー
タをそれぞれ示しており、いずれもエミュレーションポ
ッド1の外部に位置する。
【0005】エミュレーションポッド1の内部は以下の
ように構成されている。参照符号4はポッドコントロー
ルユニットを示しており、外部に位置するエミュレータ
3とはポッドコントロールユニット4で接続されてお
り、ホストコンピュータ2,エミュレータ3を経由して
エミュレーションポッド1に供給されるプログラムある
いはデータを一時的に格納する。
【0006】参照符号6はエミュレーションMCU を示し
ており、上述のポッドコントロールユニット4と接続さ
れると共にゲートアレイ7, セレクタ8, ソケット9と
も接続されている。ゲートアレイ7は、エミュレーショ
ンMCU 6の一部のポート機能をエミュレートする。セレ
クタ8は、エミュレーションMCU 6の動作モード(シン
グルチップモード,テストモード等)に応じてゲートア
レイ7からのポートエミュレーション出力とエミュレー
ションMCU 6からのポート出力とを切り換えてソケット
9に接続する。このソケット9は、前述のように、デバ
ッグ対象であるターゲット基板と接続するために備えら
れている。
【0007】図12は上述のエミュレーションMCU 6の従
来の構成例を示すブロック図である。図12において、参
照符号15は中央演算処理装置(以下、CPU:Central Proc
essing Unit と言う) を示しており、プログラムをメモ
リ5から取り込んで演算実行し、その結果を出力する等
の処理を実行する。
【0008】参照符号16はタイマ, シリアルI/O 等の内
蔵周辺機能ブロックを、参照符号17はプログラム, デー
タを一時的に格納するランダムアクセスメモリ(RAM)
を、参照符号18は読み出し専用メモリ(ROM) をそれぞれ
示している。これらの内蔵周辺機能ブロック16, 内蔵RA
M 17, 内蔵ROM 18とCPU 15とは内部データバス19及び内
部アドレスバス20で相互に接続されている。内部データ
バス19は、CPU 15と内蔵周辺機能ブロック16, 内蔵RAM
17, 内蔵ROM 18との間のデータ交換のための信号線であ
り、内部アドレスバス20はCPU 15がRAM 17, ROM 18, 内
蔵周辺機能ブロック16等をアクセスする際のアドレスを
与える信号線である。
【0009】なお、参照符号21は上位アドレスバスを示
しており、この例では24ビット(AD0〜AD23) バスである
内部アドレスバス20の内の上位の17ビット(AD7〜AD23)
の信号線である。この上位アドレスバス21には上位アド
レスデコーダ22が接続されている。
【0010】上位アドレスデコーダ22は、上位アドレス
バス21から与えられる上位アドレス(AD7〜AD23) をデコ
ードしてRAM 17, ROM 18, 内蔵周辺機能ブロック16等を
特定する信号を生成する。具体的には後述するが、上位
アドレスデコーダ22は、内蔵周辺機能ブロック16を指定
する SFRarea信号23と、RAM 17を指定する RAMarea信号
24と、ROM 18を指定する ROMarea信号25とを生成する。
【0011】参照符号26は SFRarea信号23,RAMarea信号
24,ROMarea信号25の論理和を求めてバスウェイトサイク
ルコントローラ27へ出力するORゲートを示している。バ
スウェイトサイクルコントローラ27は、ORゲート26の出
力に従って、CPU 15がアクセスしようとしているアドレ
スが外部領域であればCPU 15をウェイト (一般に外部領
域のメモリ等は内部領域のメモリ等に比してアクセスス
ピードが低いためCPU15が外部領域からのデータをウェ
イトする必要がある) させ、内部領域であればノーウェ
イトの指示を出力する。
【0012】参照符号28はバスウェイトサイクルコント
ローラ27からの出力信号(以下、 BSC信号と言う) を、
参照符号29は BSC信号28に従って、内部バス (内部アド
レスバス20, 内部データバス19) と複数のポート端子30
との間を接続/遮断する入出力ポート制御回路をそれぞ
れ示している。なお、各ポート端子30は内部バスと外部
のメモリ等とを接続するために備えられている。
【0013】図13は図12に示されているエミュレーショ
ンMCU 6の上位アドレスデコーダ22の従来の構成例を示
す回路図である。各デコーダは、説明を簡単にするため
に、以下のような配置の内部領域をアクセス可能である
とする。なお、”H ”はそれが付加された数が16進数で
あることを示している。
【0014】 SFR (周辺機能) エリア 00H 〜7FH RAMエリア 80H 〜7FFH ROMエリア 8000H 〜FFFFH
【0015】上位アドレスデコーダ22の内部には SFRar
eaデコーダ31,RAMareaデコーダ32及び ROMareaデコーダ
33が備えられている。
【0016】SFRareaデコーダ31は、上位アドレスバス2
1から与えられる上位アドレスの内のAD7 〜AD23をデコ
ードし、全てのビットが”0”であれば内蔵周辺機能ブ
ロック16が指定されていると判断して”1”の SFRarea
信号23を生成する。この SFRareaデコーダ31は具体的に
は、上位アドレスバス21から与えられる上位アドレスの
内のAD7 〜AD23の全てを入力してそれらの否定論理積を
SFRarea信号23として出力するNANDゲート311 で構成さ
れている。
【0017】RAMareaデコーダ32は、上位アドレスバス2
1から与えられる上位アドレスの内のAD7 〜AD23をデコ
ードし、AD11〜AD23が全て”0”であり且つAD7 〜AD10
の内のいずれか一つ以上が”1”であれば内蔵RAM 17が
指定されていると判断して”1”の RAMarea信号24を生
成する。この RAMareaデコーダ32は具体的には、上位ア
ドレスバス21から与えられる上位アドレスの内のAD7 〜
AD23の全てを入力してそれらの否定論理積を求めるNAND
ゲート321 と、AD7 〜AD10の全てを入力してそれらの論
理和を求めるORゲート322 と、NANDゲート321 の出力信
号とORゲート322 の出力信号とを入力して両者の論理積
を RAMarea信号24として出力する ANDゲート323 とで構
成されている。
【0018】ROMareaデコーダ33は、上位アドレスバス2
1から与えられる上位アドレスの内のAD15〜AD23をデコ
ードし、AD16〜AD23が全て”0”であり且つAD15が”
1”であれば内蔵ROM 18が指定されていると判断して”
1”の ROMarea信号25を生成する。この ROMareaデコー
ダ33は具体的には、上位アドレスバス21から与えられる
上位アドレスの内のAD16〜AD23の全てを入力してそれら
の否定論理積を求めるNANDゲート331 と、このNANDゲー
ト331 の出力信号とAD15とを入力して両者の論理積を求
める ANDゲート332 と、この ANDゲート332 の出力信号
と後述するテストモードフラグ34の出力信号とを入力し
て ROMarea信号25を出力する ROMarea信号制御回路35と
で構成されている。
【0019】テストモードフラグ34は、エミュレーショ
ンMCU 6がテストモードで動作する場合に”1”にセッ
トされる。このテストモードフラグ34の値は ROMareaデ
コーダ33内の ROMarea信号制御回路35に与えられる。 R
OMarea信号制御回路35は、テストモードフラグ34にセッ
トされている値が”1”であれば ANDゲート332 の出力
信号には拘わらずに ROMarea信号25を強制的に”0”に
して内蔵ROM 18へのアクセスを禁止し、テストモードフ
ラグ34の値が”0”にセットされていれば ANDゲート33
2 の出力信号をそのまま ROMarea信号25として出力する
ことにより内蔵ROM 18へのアクセスを許可する。但し、
内蔵ROM 18へのアクセスが許可された場合においても、
実際に内蔵ROM 18がアクセスされるとは限らない。
【0020】図14は同一グループ品種ではあるが RAM容
量が異なる二つのエミュレーションMCU のアドレスマッ
プを示す模式図である。
【0021】図14において、参照符号10は一方の品種
(以下、品種Aと言う) の RAM領域を、参照符号11は品
種Aがテストモードである場合に外部領域として認識す
るアドレス空間を、参照符号12は他方の品種(以下、品
種Bと言う) の RAM領域を、参照符号13は品種Bがテス
トモードである場合に外部領域として認識するアドレス
空間を、参照符号14は品種Aでは RAM領域10であるが品
種Bでは RAM領域13外となるアドレスをそれぞれ示して
いる。
【0022】以下に、上述のような従来のエミュレーシ
ョンMCU の動作について説明する。まず、図11を参照し
てデバッガの動作を説明する。
【0023】まず、ホストコンピュータ2を用いてエミ
ュレータ3を制御することにより、エミュレータ3に接
続されたエミュレーションポッド1に任意のプログラム
を転送してポッドコントロールユニット4経由でメモリ
5に一時的に格納させる。
【0024】エミュレーションMCU 6は、アドレス端
子,データ端子等と兼用している一部の入出力ポートが
入出力ポートとして使用不可能なマイクロプロセッサモ
ード,テストモード等と称されるモードと、全ての入出
力ポートを入出力ポートとして使用可能なシングルチッ
プモードとのいずれかのモードを選択可能である。な
お、マイクロプロセッサモード,テストモード等と称さ
れるモードでは、主として外部メモリをアクセスするた
めにアドレス端子,データ端子等と兼用している一部の
入出力ポートを常時アドレス端子,データ端子として使
用する必要があるため、それらを入出力ポートとして使
用することが出来ない。このために、一部の入出力ポー
トが入出力ポートとしては使用不可能になる。
【0025】しかしいずれにしても、エミュレーション
ポッド1内は通常はテストモードで動作しており、メモ
リ5からポッドコントロールユニット4を介して供給さ
れるプログラムが実行される。実行されるプログラムに
よってはシングルチップモードをエミュレートする必要
があるため、その際にはゲートアレイ7がテストモード
では使用出来なくなった一部の入出力ポートの機能をエ
ミュレートする。そして、プログラムの要求するエミュ
レーションMCU 6のモードに応じて、エミュレーション
MCU 6の入出力ポートをそのままソケット9に接続する
か、エミュレーションMCU 6の一部の入出力ポートをゲ
ートアレイ7で代替して接続するかをセレクタ8が制御
する。
【0026】以上のような要領でプログラムを実行する
ことにより、ターゲットチップのデバッグが実行され
る。
【0027】次に、図11及び図13を参照して、エミュレ
ーションMCU 6内部の動作について説明する。エミュレ
ーションMCU 6は、外部からプログラムを読み込む際等
に外部メモリをアクセスする場合と、プログラムの実行
時及びその実行結果の一時格納等のために内部機能回路
をアクセスする場合とではそのアクセス動作が異なる。
【0028】まず、外部メモリがアクセスされる場合に
ついて説明する。CPU 15は内部アドレスバス20及び上位
アドレスバス21へアドレスデータを出力する。この際、
上位アドレスデコーダ22が上位アドレスバス21のAD7 〜
AD23をデコードして、アクセス対象が内部機能回路であ
るか、外部メモリであるかを判定する。
【0029】テストモードでは、図14のアドレスマップ
に示されているように、参照符号10または12で示されて
いる内蔵周辺機能ブロック16及び内蔵RAM 17の領域と、
参照符号11または13で示されている外部メモリ領域とは
明確に分離されていて重複しないため、内蔵周辺機能ブ
ロック16, 内蔵RAM 17へのアクセスに制約は発生しな
い。しかし、内蔵ROM 18と外部メモリ領域とは重複する
場合がある。そこで、テストモードにおいてはテストモ
ードフラグ34に”1”がセットされることにより、 ROM
area信号制御回路35が ROMarea信号25を強制的に”0”
にする。これにより、内蔵ROM 18へのアクセスが禁止さ
れ、実際に内蔵ROM 18へのアクセスが発生しても実際RO
M 18へのアクセスは行なわれない。
【0030】この場合、 ROMarea信号25は強制的に”
0”になるが、CPU 15は内蔵ROM 18に対してアクセスす
るアドレスを発生しているため、内蔵周辺機能ブロック
16, 内蔵RAM 17もアクセスされない。また、 SFRarea信
号23, RAMarea信号24は共に”0”であるから、ORゲー
ト26の出力は”0”になり、バスウェイトサイクルコン
トローラ27はCPU 15と入出力ポート制御回路29に BSC信
号を送る。
【0031】この BSC信号を受けたCPU 15はアクセス時
にウェイトがかけられるようになり、また同時に入出力
ポート制御回路29は内部バス (アドレス, データ) とポ
ート端子30とを接続する。以上の一連の動作により、CP
U 15と外部メモリへのアクセスが可能になる。
【0032】次に、内部機能回路がアクセスされる場合
について説明する。CPU 15は内部アドレスバス20及び上
位アドレスバス21にアドレス及びデータを出力する。こ
の際、上位アドレスデコーダ22が上位アドレスバス21を
デコードして、アクセス対象が内部機能回路であるか、
外部メモリであるかを判定する。内蔵ROM 18へのアクセ
スは、テストモードにおいてはテストモードフラグ34
に”0”がセットされることにより、 ROMarea信号制御
回路35は ANDゲート332 の出力信号”1”をそのまま R
OMarea信号25として出力する。これにより、内蔵ROM 18
へのアクセスが許可される。
【0033】この場合、 ROMarea信号25,SFRarea信号2
3,RAMarea信号24の内のいずれか一つが”1”になるの
でORゲート26の出力は”1”になる。このORゲート26の
出力”1”が与えられることによりバスウェイトサイク
ルコントローラ27はCPU 15と入出力ポート制御回路29に
BSC信号を送り、CPU 15及び入出力ポート制御回路29に
対して内部へのアクセスであることを認識させる。この
BSC信号を受けたCPU 15はウェイトなしにアクセス可能
になり、CPU 15は内部資源である内蔵周辺機能ブロック
16, 内蔵RAM 17, 内蔵ROM 18にアクセスする。
【0034】ところで、エミュレーションMCU 6はエミ
ュレーションポッド1内部で実行されるプログラムを外
部のメモリ5から供給されるが、その際のメモリ配置は
図14に示されているようになる。図14には同一グループ
品種の内の RAM容量が異なる二つのエミュレーションMC
U 6のアドレスマップが示されているが、参照符号10は
品種Aの RAM領域を、11は品種Aがテストモード時に外
部領域として認識するアドレス空間をそれぞれ示してい
る。また、参照符号12は品種Bの RAM領域を、13は品種
Bがテストモード時に外部領域として認識するアドレス
空間をそれぞれ示している。
【0035】従来のエミュレーションMCU 6はテストモ
ード時に内部 RAM領域が固定されている。このため、エ
ミュレーションMCU 6が参照符号14にて示されているア
ドレスをアクセスした場合、エミュレーションMCU 6が
品種Aである場合は内部RAMと認識されるため、ウェイ
トなしで内蔵RAM 17にアクセス可能である。しかし、エ
ミュレーションMCU 6が同じ参照符号14にて示されてい
るアドレスをアクセスしても、エミュレーションMCU 6
が品種Bである場合には外部メモリと認識されるため、
ウェイトありで外部のメモリ5にアクセスすることにな
る。
【0036】即ち、品種AのエミュレーションMCU 6で
品種BのエミュレーションMCU 6を置換した場合、アク
セス時のウェイトの有無, 内部バス (アドレス, デー
タ) とポート端子の接続/遮断の違いがあるために正常
なアクセスが不可能になる。このため、同一グループ品
種であっても、アドレスマップが異なる場合にはエミュ
レーションMCU 6を共用することは不可能であった。
【0037】このような事情から、たとえば特開平6-15
0026号公報には、「特定の実チップとしてのマイクロコ
ンピュータと同一チップで成るエミュレーション用プロ
セッサを用いて、複数種類のマイクロコンピュータに対
応するエミュレーション用プロセッサとして利用できる
マイクロコンピュータ」の発明が提案されている。
【0038】しかし、この特開平6-150026号公報に提案
されている発明では、外部メモリアクセス時のウェイト
制御等に関しては全く考慮されておらず、外部メモリが
余程高速でない限りは実用化不可能と思われる。
【0039】
【発明が解決しようとする課題】従来のエミュレーショ
ンMCU は、前述したように、内部資源である内部 RAM容
量をそのまま認識するため、同一グループ品種であって
も内部 RAM容量が異なった品種に既存のエミュレーショ
ンMCU を流用することが出来ず、デバッガ等のツール開
発の効率を低下させる要因となっていた。
【0040】また、マスク版(予め製造工程においてユ
ーザプログラムをROM に書き込んでしまうため、ユーザ
がプログラムを書き換えることが出来ない)のように一
品種の生産量が多い場合は、内蔵 ROM容量に応じて品種
展開してそれぞれのチップ面積を最小限に抑えなければ
コスト的に無駄が多くなる。しかし、 OTP版 (ワンタイ
ムプログラブル版、即ち出荷時に内蔵EPROM がブランク
状態であり、ユーザが一度だけプログラムを書き換える
ことが出来る) と称される EPROM内蔵マイクロコンピュ
ータでは比較的一品種の生産量が少量であり、且つコス
ト上の問題から内部機能回路へのアクセスと外部メモリ
領域へのアクセスとではバス制御, ウェイト条件等が異
なるため、 OTP版であっても最大内蔵 RAM容量品種を用
意しておいてそれを複数の内蔵 RAM容量品種として流用
することは不可能であった。
【0041】本発明は以上のような事情に鑑みてなされ
たものであり、内部資源である内部RAM容量を疑似的に
可変させてCPU に認識させることにより、同一グループ
品種であれば内部 RAM容量が異なった品種でも既存のエ
ミュレーションMCU の流用を可能とし、また OTP版等で
は最大内蔵 RAM容量品種のみを製造すれば、それを複数
の内蔵 RAM容量品種として流用することを可能とし、ツ
ール開発及び品種展開の効率向上を図ったエミュレーシ
ョン用マイクロコンピュータの提供を目的とする。
【0042】
【課題を解決するための手段】本発明のエミュレーショ
ン用マイクロコンピュータは、内蔵 RAMと、内蔵 RAMの
実装容量を最大値とし、その範囲内で複数の仮想 RAM容
量に対応する仮想 RAMアドレス空間を生成する仮想 RAM
アドレスデコード手段と、仮想 RAMアドレスデコード手
段が生成し得る複数の仮想 RAMアドレス空間の内のいず
れかを指定するRAMアドレス空間指定手段とを備えてい
る。
【0043】また、本発明のエミュレーション用マイク
ロコンピュータは、少なくとも内蔵RAMにアクセス可能
な演算手段と、内蔵 RAMの実装容量を最大値とし、その
範囲内で複数の仮想 RAM容量に対応する仮想 RAMアドレ
ス空間を生成する仮想 RAMアドレスデコード手段と、仮
想 RAMアドレスデコード手段が生成し得る複数の仮想RA
Mアドレス空間の内のいずれかを指定する RAMアドレス
空間指定手段と、いずれかの仮想 RAMアドレス空間を指
定するデータを RAMアドレス空間指定手段に書き込むデ
ータ書き込み手段とを備え、 RAMアドレス空間指定手段
が指定する仮想RAM容量に対応する仮想 RAMアドレス空
間を仮想 RAMアドレスデコード手段がデコードした場合
に、演算手段による内部 RAMに対するアクセスを可能に
してある。
【0044】更に、本発明のエミュレーション用マイク
ロコンピュータは、データ書き込み手段による RAMアド
レス空間指定手段に対するデータの書き込みを演算手段
の制御により許可する書き込み許可手段を備え、演算手
段がデータ書き込み手段にデータの書き込みを許可して
いる状態においてのみ、データ書き込み手段による RAM
アドレス空間指定手段に対するデータの書き込みを可能
としてある。
【0045】更に、本発明のエミュレーション用マイク
ロコンピュータは、外部との間で信号の送受を行なう外
部端子と、外部から有意な信号が与えられることにより
全体がリセットされるリセット端子とを備え、データ書
き込み手段は、リセット端子に有意な信号が入力されて
いる状態において外部端子の信号の状態をデータとして
取り込む手段を有する。
【0046】更に、本発明のエミュレーション用マイク
ロコンピュータは、外部から有意な信号が与えられるこ
とにより全体がリセットされるリセット端子と、演算手
段によりアクセス可能な内蔵ROM とを備え、データ書き
込み手段は、リセット端子に有意な信号が入力されてい
る状態において内蔵ROM の特定ビットの状態を取り込む
手段を有する。
【0047】また、本発明のエミュレーション用マイク
ロコンピュータは、半導体基板上に集積回路として構成
されており、データ書き込み手段は、半導体基板上のレ
イアウトパターンの設定により複数の仮想 RAM容量の内
のいずれかを指定するように構成されている。
【0048】
【発明の実施の形態】以下、本発明をその実施の形態を
示す図面に基づいて詳述する。
【0049】〔第1の実施の形態〕図1は本発明に係る
エミュレーション用マイクロコンピュータ(以下、エミ
ュレーションMCU と言う)の第1の実施の形態の構成例
を示すブロック図である。なお、この図1においては、
前述の従来例の説明で参照した図12と同一の参照符号は
同一又は相当部分を示している。
【0050】図1において、参照符号15は演算手段とし
て機能する中央演算処理装置(以下、CPU:Central Proc
essing Unit と言う) を示しており、プログラムをメモ
リから取り込んで演算実行し、その結果を出力する等の
処理を実行する。
【0051】参照符号16はタイマ, シリアルI/O 等の内
蔵周辺機能ブロックを、参照符号17はプログラム, デー
タを一時的に格納するランダムアクセスメモリ(RAM)
を、参照符号18は読み出し専用メモリ(ROM) をそれぞれ
示している。これらの内蔵周辺機能ブロック16, 内蔵RA
M 17, 内蔵ROM 18とCPU 15とは内部データバス19及び内
部アドレスバス20で相互に接続されている。内部データ
バス19は、CPU 15と内蔵周辺機能ブロック16, 内蔵RAM
17, 内蔵ROM 18との間のデータ交換のための信号線で
り、内部アドレスバス20はCPU 15がRAM 17, ROM 18, 内
蔵周辺機能ブロック16等をアクセスする際のアドレスを
与える信号線である。
【0052】なお、参照符号21は上位アドレスバスを示
しており、この例では24ビット(AD0〜AD23) バスである
内部アドレスバス20の内の上位の17ビット(AD7〜AD23)
の信号線である。この上位アドレスバス21には上位アド
レスデコーダ22が接続されている。
【0053】上位アドレスデコーダ22は、上位アドレス
バス21から与えられる上位アドレス(AD7〜AD23) をデコ
ードしてRAM 17, ROM 18, 内蔵周辺機能ブロック16等を
特定する信号を生成する。具体的には後述するが、上位
アドレスデコーダ22は、内蔵周辺機能ブロック16を指定
する SFRarea信号23と、RAM 17を指定する RAMarea信号
24と、ROM 18を指定する ROMarea信号25とを生成する。
【0054】参照符号26は SFRarea信号23,RAMarea信号
24,ROMarea信号25の論理和を求めてバスウェイトサイク
ルコントローラ27へ出力するORゲートを示している。バ
スウェイトサイクルコントローラ27は、ORゲート26の出
力に従って、CPU 15がアクセスしようとしているアドレ
スが外部領域であればCPU 15をウェイト (一般に外部領
域のメモリ等は内部領域のメモリ等に比してアクセスス
ピードが低いためCPU15が外部領域からのデータをウェ
イトする必要がある) させ、内部領域であればノーウェ
イトの指示を出力する。
【0055】参照符号28はバスウェイトサイクルコント
ローラ27からの出力信号(以下、 BSC信号と言う) を、
参照符号29は BSC信号28に従って、内部バス (内部アド
レスバス20, 内部データバス19) と複数のポート端子30
との間を接続/遮断する入出力ポート制御回路をそれぞ
れ示している。なお、各ポート端子30は内部バスと外部
のメモリ等とを接続するために備えられている。
【0056】以上の構成は前述の従来技術として示した
図12に示されている構成と同一であるが、本発明のエミ
ュレーション用マイクロコンピュータであるエミュレー
ションMCU 6では更に、参照符号36乃至39で示されてい
る構成要素が追加されている。
【0057】参照符号36は RAM容量選択フラグ(F) を示
しており、 RAMアドレス空間指定手段として機能する
が、この例では極く一般的な1ビットのラッチ回路であ
る。 RAM容量選択フラグ36は、内部データバス19とはデ
ータ信号線38にて、内部アドレスバス20とはアドレス信
号線39にてそれぞれ接続されている。従って、 RAM容量
選択フラグ36に予め適宜のアドレスを割り当てておくこ
とにより、CPU 15から任意の値をセットすることが可能
になる。この RAM容量選択フラグ36にCPU 15からセット
された値は RAM容量選択フラグ信号37として上位アドレ
スデコーダ22に与えられる。
【0058】図2は図1に示されている本発明のエミュ
レーション用マイクロコンピュータであるエミュレーシ
ョンMCU 6の上位アドレスデコーダ22の構成例を示す回
路図である。各デコーダは、説明を簡単にするために、
以下のような配置の内部領域をアクセス可能であるとす
る。なお、”H ”はそれが付加された数字が16進数であ
ることを示している。
【0059】 SFR(周辺機能) エリア 00H 〜7FH RAMエリア 80H 〜7FFH ROMエリア 8000H 〜FFFFH
【0060】上位アドレスデコーダ22の内部には SFRar
eaデコーダ31, 仮想 RAMアドレスデコード手段としての
仮想 RAMアドレスデコーダ40,ROMareaデコーダ33及びセ
レクタ回路41が備えられている。これらの内の SFRarea
デコーダ31及び ROMareaデコーダ33は前述の図13に示さ
れている従来例の上位アドレスデコーダ22と同一構成で
ある。本発明のエミュレーションMCU 6では、従来例の
RAMareaデコーダ32に代えて、仮想 RAMアドレスデコー
ダ40及びセレクタ回路41が備えられている。
【0061】SFRareaデコーダ31は、上位アドレスバス2
1から与えられる上位アドレスの内のAD7 〜AD23をデコ
ードし、全てのビットが”0”であれば内蔵周辺機能ブ
ロック16が指定されていると判断して”1”の SFRarea
信号23を生成する。この SFRareaデコーダ31は具体的に
は、上位アドレスバス21から与えられる上位アドレスの
内のAD7 〜AD23の全てを入力してそれらの否定論理積を
SFRarea信号23として出力するNANDゲート311 で構成さ
れている。
【0062】仮想 RAMアドレスデコーダ40は、この図2
に示されている構成例では、上位アドレスバス21から与
えられる上位アドレスの内のAD7 〜AD23をデコードし、
AD11〜AD23が全て”0”であり且つAD7 〜AD10の内のい
ずれか一つ以上が”1”である場合 (内蔵 RAM領域が”
80F ”〜”7FFH”) は”1”の第1の RAMarea信号42を
生成し、AD10〜AD23が全て”0”であり且つAD7 〜AD9
の内のいずれか一つ以上が”1”である場合 (内蔵 RAM
領域が”80F ”〜”3FFH”) は”1”の第2のRAMarea
信号43を生成する。
【0063】この仮想 RAMアドレスデコーダ40は具体的
には、上位アドレスバス21から与えられる上位アドレス
の内のAD11〜AD23を入力してそれらの否定論理積を求め
るNANDゲート321 と、AD7 〜AD10を入力してそれらの論
理和を求めるORゲート322 と、NANDゲート321 の出力信
号とORゲート322 の出力信号とを入力して両者の論理積
を第1の RAMarea信号42 (”1”である場合に内蔵 RAM
領域が”80F ”〜”7FFH”であることを示す) として出
力する ANDゲート323 と、NANDゲート321 の出力信号と
ORゲート322 の出力信号とAD10をインバータ325 で反転
した信号とを入力して3者の論理積を第2の RAMarea信
号43 (”1”である場合に内蔵 RAM領域が”80F ”〜”
3FFH”であることを示す) として出力する ANDゲート32
4 とで構成されている。
【0064】セレクタ回路41は、上述の仮想 RAMアドレ
スデコーダ40の出力信号である第1の RAMarea信号42及
び第2の RAMarea信号43と、 RAM容量選択フラグ36の出
力信号である RAM容量選択フラグ信号37とを入力し、 R
AM容量選択フラグ信号37に従って第1の RAMarea信号42
または第2の RAMarea信号43のいずれかを RAMarea信号
24として出力する。
【0065】ROMareaデコーダ33は、上位アドレスバス2
1から与えられる上位アドレスの内のAD15〜AD23をデコ
ードし、AD16〜AD23が全て”0”であり且つAD15が”
1”であれば内蔵ROM 18が指定されていると判断して”
1”の ROMarea信号25を生成する。この ROMareaデコー
ダ33は具体的には、上位アドレスバス21から与えられる
上位アドレスの内のAD16〜AD23の全てを入力してそれら
の否定論理積を求めるNANDゲート331 と、このNANDゲー
ト331 の出力信号とAD15とを入力して両者の論理積を求
める ANDゲート332 と、この ANDゲート332 の出力信号
と後述するテストモードフラグ(T) 34の出力信号とを入
力して ROMarea信号25を出力する ROMarea信号制御回路
35とで構成されている。
【0066】テストモードフラグ34は、エミュレーショ
ンMCU 6がテストモードで動作する場合に”1”がセッ
トされる。このテストモードフラグ34の値は ROMareaデ
コーダ33内の ROMarea信号制御回路35に与えられる。 R
OMarea信号制御回路35は、テストモードフラグ34の値
が”1”にセットされていれば ANDゲート332 の出力信
号には拘わらずに ROMarea信号25を強制的に”0”にし
て内蔵ROM 18へのアクセスを禁止し、テストモードフラ
グ34の値が”0”にセットされていれば ANDゲート332
の出力信号をそのまま ROMarea信号25として出力するこ
とにより内蔵ROM18へのアクセスを許可する。但し、内
蔵ROM 18へのアクセスが許可された場合においても、実
際に内蔵ROM 18がアクセスされるとは限らない。
【0067】なお、テストモードフラグ34は、たとえば
内部データバス19, 内部アドレスバス20と接続されてい
てCPU 15からテストモード時には”1”のデータが、テ
ストモード時以外には”0”のデータがそれぞれセット
されるように構成することも、あるいは外部端子から”
1”または”0”のデータがセットされるように構成す
ることも可能である。
【0068】以下に、上述のような本発明の第1の実施
の形態のエミュレーションMCU の動作について、図1,
図2を参照して説明する。
【0069】CPU 15がデータ信号線38及びアドレス信号
線39を介して RAM容量選択フラグ36に任意の値 (この例
では”1”または”0”) をセットする。 RAM容量選択
フラグ36にセットされた値に従って、仮想 RAMアドレス
デコーダ40が生成する複数 (この例では二つ) の RAMar
ea信号42, 43の内の一つがセレクタ回路41で選択されて
RAMarea信号24として出力されることにより、内蔵 RAM
容量を疑似的に変化させてCPU 15に認識させることが可
能になる。
【0070】図2には一例として、実装 RAM容量が”80
H ”〜”7FFH”であるが、 RAM容量選択フラグ36に”
1”をセットすることにより”80H ”から”3FFH”まで
を仮想RAM領域として選択可能な仮想 RAMアドレスデコ
ーダ40が示されている。
【0071】仮想 RAMアドレスデコーダ40は上位アドレ
スバス21を介してCPU 15から与えられる上位アドレスの
内のAD7 〜AD23をデコードし、AD11〜AD23が全て”0”
であり且つAD7 〜AD10の内のいずれか一つ以上が”1”
である場合に”1”の第1のRAMarea信号42を出力す
る。この場合に更に RAM容量選択フラグ36に”0”がセ
ットされていれば、”80H ”〜”7FFH”までの領域を有
する内蔵 RAMであると判断されて第1の RAMarea信号42
をセレクタ回路41が選択して RAMarea信号24として出力
する。
【0072】この場合には、AD11〜AD23が全て”0”で
あるのでNANDゲート321 の出力信号は”1”になり、AD
7 〜AD10の内のいずれか一つ以上が”1”であるのでOR
ゲート322 の出力信号も”1”になる。従って、 ANDゲ
ート323 の出力信号、即ち第1の RAMarea信号42が”
1”になり、この第1の RAMarea信号42がセレクタ回路
41により選択されて RAMarea信号24として出力される。
【0073】一方、仮想 RAMアドレスデコーダ40は、AD
10〜AD23が全て”0”であり且つAD7 〜AD9 の内のいず
れか一つ以上が”1”である場合に”1”の第2の RAM
area信号43を出力する。この場合に更に RAM容量選択フ
ラグ36に”1”がセットされていれば、”80H ”〜”3F
FH”までの領域を有する内蔵 RAMであると判断されて第
2の RAMarea信号43をセレクタ回路41が選択して RAMar
ea信号24として出力する。
【0074】この場合には、AD10〜AD23が全て”0”で
あるのでNANDゲート321 の出力信号は”1”になり、AD
7 〜AD9 の内のいずれか一つ以上が”1”であるのでOR
ゲート322 の出力信号も”1”になるが、AD10は”0”
であるのでインバータ325 の出力信号は”1”になる。
従って、 ANDゲート324 の出力信号、即ち第2の RAMar
ea信号43が”1”になり、この第2の RAMarea信号43が
セレクタ回路41により選択されて RAMarea信号24として
出力される。
【0075】図2に示されている上位アドレスデコーダ
22の構成例では、以上の二通りの動作により、内蔵 RAM
容量を任意に選択することが可能である。即ち、図14に
示されている従来例では、正常にアクセスすることが不
可能であった参照符号14にて示されている品種Aでは R
AM領域内であるが品種Bでは RAM領域外となるアドレス
に対して、本発明のエミュレーションMCU 6では正常に
アクセスすることが可能になる。
【0076】なお、上述の図2に示されている上位アド
レスデコーダ22の構成例では、仮想RAMアドレスデコー
ダ40は二種類の RAMarea信号42, 43を発生するように構
成されているが、 RAM容量選択フラグ36のビット数を増
加させると共に仮想 RAMアドレスデコーダ40により検出
可能なアドレス範囲の数を増加させることにより、内蔵
RAM容量の選択幅を拡大することが可能である。
【0077】なお、 RAM容量選択フラグ36の具体的な構
成例について、その一例を示す図3の回路図を参照して
説明する。
【0078】図3において、参照符号200 はアドレスデ
コーダであり、内部アドレスバス20へCPU 15が出力して
いるアドレス信号が RAM容量選択フラグ36に割り付けら
れているアドレスである場合に”1”の信号をアドレス
信号線39へ出力する。
【0079】参照符号361 は1ビットラッチであり、そ
の構成自体は従来公知である。参照符号362 はデータ書
き込み手段として機能するトランスミッションゲートで
あり、アドレス信号線39から信号”1”が与えられた場
合にのみ開いてデータ信号線38から与えられているデー
タを1ビットラッチ361 に書き込む。なお、参照符号36
3 はアドレス信号線39の反転信号を生成してトランスミ
ッションゲート362 に与えるインバータである。
【0080】従って、CPU 15が RAM容量選択フラグ36に
割り付けられているアドレスを内部アドレスバス20へ出
力すると共に”1”または”0”のデータを内部データ
バス19へ出力すると、アドレスデコーダ200 から信号”
1”がアドレス信号線39へ出力されてトランスミッショ
ンゲート362 が開く。これにより、CPU 15が内部データ
バス19へ出力している”1”または”0”のデータがデ
ータ信号線38から1ビットラッチ361 に取り込まれる。
この後にCPU 15が別のアドレスを内部アドレスバス20へ
出力すれば、アドレスデコーダ200 はアドレス信号線39
へ”0”を出力するのでトランスミッションゲート362
が閉じる。これにより、それまでにデータ信号線38から
与えられていたデータが1ビットラッチ361 にラッチさ
れる。
【0081】この図3に示されているような構成の RAM
容量選択フラグ36を複数備えることは容易であり、それ
により前述のように内蔵 RAM容量の選択幅を拡大するこ
とも容易である。
【0082】〔第2の実施の形態〕図4は本発明に係る
エミュレーション用マイクロコンピュータであるエミュ
レーションMCU 6の第2の実施の形態の RAM容量選択フ
ラグ36の構成例を示す回路図である。なお、この第2の
実施の形態においては、全体の構成は図1に示されてい
る構成と同一であり、 RAM容量選択フラグ36の構成のみ
が異なる。また、この図4においては、前述の第1の実
施の形態説明で参照した図3と同一の参照符号は同一又
は相当部分を示している。
【0083】図4において、参照符号45は書き込み許可
手段として機能する書き込み許可フラグ45であり、内部
アドレスバス20へCPU 15が出力しているアドレス信号が
この書き込み許可フラグ45に割り付けられているアドレ
スである場合に内部データバス19からデータ信号線38を
介して”1”または”0”の信号を取り込んで記憶す
る。
【0084】参照符号364 はトランスミッションゲート
であり、書き込み許可フラグ45から信号”1”が与えら
れた場合にのみ開いてデータ信号線38から与えられてい
るデータを1ビットラッチ361 に書き込む。なお、参照
符号365 は書き込み許可フラグ45の出力信号の反転信号
を生成してトランスミッションゲート364 に与えるイン
バータである。他の構成要素は図3に示されている回路
図と同様である。
【0085】このような本発明のエミュレーションMCU
6の第2の実施の形態の動作は以下の如くである。
【0086】CPU 15が書き込み許可フラグ45に割り付け
られているアドレスを内部アドレスバス20へ出力すると
共に、”1”または”0”のデータを内部データバス19
へ出力すると、アドレスデコーダ200 から信号”1”が
アドレス信号線390 へ出力されて書き込み許可フラグ45
にそのデータがセットされる。この書き込み許可フラグ
45にセットされたデータが”1”である場合には、トラ
ンスミッションゲート364 が開く。
【0087】この状態において、CPU 15が RAM容量選択
フラグ36に割り付けられているアドレスを内部アドレス
バス20へ出力すると共に、”1”または”0”のデータ
を内部データバス19へ出力すると、アドレスデコーダ20
0 から信号”1”がアドレス信号線39へ出力されてトラ
ンスミッションゲート362 が開く。
【0088】以上により、CPU 15が内部データバス19へ
出力している”1”または”0”のデータがデータ信号
線38からトランスミッションゲート362, 364を経由して
1ビットラッチ361 に書き込まれる。他の動作は前述の
第1の実施の形態と同様である。
【0089】このような本発明のエミュレーションMCU
6の第2の実施の形態では、CPU 15が書き込み許可フラ
グ45に割り付けられているアドレスを内部アドレスバス
20へ出力すると共にデータとして”1”を内部データバ
ス19へ出力することにより、書き込み許可フラグ45にデ
ータ”1”がセットされる。この状態で更に、CPU 15が
RAM容量選択フラグ36に割り付けられているアドレスを
内部アドレスバス20へ出力すると共にデータとして”
1”または”0”を内部データバス19へ出力することに
より RAM容量選択フラグ36に”1”または”0”のデー
タが書き込まれる。
【0090】従って、万一本発明のエミュレーションMC
U 6が暴走したような場合においても、 RAM容量選択フ
ラグ36に誤ったデータがセットされる虞は極めて少な
い。
【0091】〔第3の実施の形態〕図5は本発明に係る
エミュレーション用マイクロコンピュータであるエミュ
レーションMCU 6の第3の実施の形態の全体の構成例を
示すブロック図、図6はその RAM容量選択フラグ36の構
成例を示す回路図である。なお、この図5及び図6にお
いては、前述の第1の実施の形態説明で参照した図1及
び図2と同一の参照符号は同一又は相当部分を示してい
る。
【0092】この第3の実施の形態では、リセット期間
中の外部端子、即ちポート端子30の設定状態を RAM容量
選択フラグ36にデータとしてセット可能に構成されてい
る。以下、具体的に説明する。
【0093】図5において、参照符号54はリセット端子
を示しており、これに外部からローレベルの信号が与え
られると、図5に示されている本発明のエミュレーショ
ンMCU 6の第3の実施の形態はリセット状態になる。ま
た、この第3の実施の形態においては、 RAM容量選択フ
ラグ36はポート端子30と入出力ポート制御回路29との間
に接続されており、更に上述のリセット端子54からの信
号入力が RAM容量選択フラグ36に入力されるように構成
されている。
【0094】この第3の実施の形態の RAM容量選択フラ
グ36の構成は図6に示されているように、各ポート端子
30に対して一組の回路57が備えられている。図6におい
て、参照符号55はデータ書き込み手段として機能するト
ランスミッションゲートを、参照符号56はリセット端子
54から入力される信号を反転してトランスミッションゲ
ート55に与えるインバータをそれぞれ示している。トラ
ンスミッションゲート55の一方の制御端子には直接、他
方の制御端子にはインバータ56を介してそれぞれリセッ
ト端子54からの入力信号が与えられており、トランスミ
ッションゲート55はリセット端子54から入力される信号
により開閉制御される。具体的には、本発明のエミュレ
ーションMCU 6をリセットするためにリセット端子54へ
ローレベルのリセット信号が与えられている間にはトラ
ンスミッションゲート55は開き、リセットが解除されて
ハイレベルのリセット信号が与えられている間にはトラ
ンスミッションゲート55は閉じる。
【0095】また、図6において参照符号361 にて示さ
れているのは前述の図3に参照符号361 にて示されてい
る1ビットラッチと同一構成の1ビットラッチである。
この1ビットラッチ361 の出力は RAM容量選択フラグ信
号37として、前述の図1に示されている第1の実施の形
態の場合と同様に、上位アドレスデコーダ22のセレクタ
回路41に与えられている。
【0096】更に、図6において参照符号58はバイパス
信号線を示しており、各ポート端子30と入出力ポート制
御回路29との間を直接接続している。
【0097】このような本発明のエミュレーション用マ
イクロコンピュータであるエミュレーションMCU 6の第
3の実施の形態の動作は以下の如くである。
【0098】図5に示されている本発明のエミュレーシ
ョンMCU 6がリセットされる場合はリセット端子54に入
力されているリセット信号はローレベルになる。これに
より、トランスミッションゲート55が開いて各ポート端
子30へ入力されている信号の状態 (ハイレベルであるか
ローレベルであるか) がそれぞれのポート端子30に接続
している1ビットラッチ361 に取り込まる。リセットが
解除されるとリセット端子54へ入力されているリセット
信号はハイレベルになる。これにより、トランスミッシ
ョンゲート55が閉じて各ポート端子30に接続している1
ビットラッチ361 に取り込まれていた信号の状態がその
時点でラッチされる。この各1ビットラッチ361 がラッ
チした信号の状態は次にリセット端子54にローレベルの
リセット信号が入力されるまで、換言すれば図5に示さ
れている本発明のエミュレーションMCU 6の第3の実施
の形態が次にリセットされるまで維持される。
【0099】これらの各ポート端子30から入力されてそ
れぞれに接続されている1ビットラッチ361 にラッチさ
れた信号の状態、具体的には信号のレベルは RAM容量選
択フラグ信号37として上位アドレスデコーダ22に与えら
れている。従って、図5に示されている本発明のエミュ
レーションMCU 6の第3の実施の形態がリセットされて
いる間、即ちリセット端子54にローレベルのリセット信
号が与えられている間に各ポート端子30に外部から適宜
の信号を入力することにより、リセット解除時点でそれ
らの信号が上位アドレスデコーダ22のセレクタ回路41に
与えられるので、それらの値に応じて任意の内蔵 RAM容
量を上位アドレスデコーダ22で選択することが可能にな
る。
【0100】なお、図5に示されている本発明のエミュ
レーションMCU 6の第3の実施の形態がリセット信号
が”1”である通常の動作期間中において外部メモリに
アクセスする場合には、バイパス信号線58を介して各ポ
ート端子30と外部メモリとが接続される。
【0101】〔第4の実施の形態〕図7は本発明に係る
エミュレーション用マイクロコンピュータであるエミュ
レーションMCU 6の第4の実施の形態の全体の構成例を
示すブロック図、図8はその RAM容量選択フラグ36の構
成例を示す回路図である。なお、この図7及び図8にお
いては、前述の第1の実施の形態説明で参照した図1及
び図2と同一の参照符号は同一又は相当部分を示してい
る。
【0102】この第4の実施の形態では、EPROM(内蔵RO
M 18の全部または一部) の特定のビットの状態がデータ
としてリセット解除時点において RAM容量選択フラグ36
に取り込まれるように構成されている。以下、具体的に
説明する。
【0103】図7において、参照符号54はリセット端子
を示しており、これに外部からローレベルの信号が与え
られると、図7に示されている本発明のエミュレーショ
ンMCU 6の第4の実施の形態はリセット状態になる。ま
た、参照符号59はEPROM を示しており、本発明のエミュ
レーションMCU 6の第4の実施の形態では内蔵ROM 18の
一部として構成されているが、全部であってもよい。こ
のEPROM 59の特定のビットの値は RAM容量選択フラグ36
に与えられている。
【0104】この第4の実施の形態の RAM容量選択フラ
グ36の構成は図8に示されているように、EPROM 59の特
定のビット (図8に示されている例では3ビット)それ
ぞれについて一組の回路63が備えられている。
【0105】図8において、参照符号61はデータ書き込
み手段として機能するトランスミッションゲートを、参
照符号62はリセット端子54から入力される信号を反転し
てトランスミッションゲート61に与えるインバータをそ
れぞれ示している。トランスミッションゲート61の一方
の制御端子には直接、他方の制御端子にはインバータ62
を介してそれぞれリセット端子54からの入力信号が与え
られており、トランスミッションゲート61はリセット端
子54から入力される信号により開閉制御される。具体的
には、本発明のエミュレーションMCU 6をリセットする
ためにリセット端子54へローレベルのリセット信号が与
えられている間にはトランスミッションゲート61は開
き、リセットが解除されてハイレベルのリセット信号が
与えられている間間にはトランスミッションゲート61は
閉じる。
【0106】また、図8において参照符号361 にて示さ
れているのは前述の図3に示されている1ビットラッチ
と同一構成の1ビットラッチである。この1ビットラッ
チ361 の出力は RAM容量選択フラグ信号37として、前述
の図1に示されている第1の実施の形態の場合と同様
に、上位アドレスデコーダ22のセレクタ回路41に与えら
れている。
【0107】このような本発明のエミュレーションMCU
6の第4の実施の形態の動作は以下の如くである。
【0108】図7に示されている本発明のエミュレーシ
ョンMCU 6がリセットされる場合はリセット端子54に入
力されているリセット信号はローレベルになる。これに
より、トランスミッションゲート61が開いてEPROM 59の
各特定ビットのデータ (”1”であるか”0”である
か) がそれぞれのビットに接続している1ビットラッチ
361 に取り込まる。リセットが解除されるとリセット端
子54へ入力されているリセット信号はハイレベルにな
る。これにより、トランスミッションゲート61が閉じて
EPROM 59の各特定のビットに接続している1ビットラッ
チ361 に取り込まれていた信号の状態がラッチされる。
この各1ビットラッチ361 がラッチした信号の状態は次
にリセット端子54にローレベルのリセット信号が入力さ
れるまで、換言すれば図7に示されている本発明のエミ
ュレーションMCU 6の第4の実施の形態がリセットされ
るまで維持される。
【0109】これらのEPROM 59の各特定のビットのデー
タはそれぞれに接続されている1ビットラッチ361 にラ
ッチされて RAM容量選択フラグ信号37として上位アドレ
スデコーダ22に与えられている。従って、図7に示され
ている本発明のエミュレーションMCU 6の第4の実施の
形態では、リセット解除時点でEPROM 59の各特定のビッ
トのデータが上位アドレスデコーダ22のセレクタ回路41
に与えられるので、それらの値に応じて任意の内蔵 RAM
容量を上位アドレスデコーダ22で選択することが可能に
なる。
【0110】〔第5の実施の形態〕図9は本発明に係る
エミュレーション用マイクロコンピュータであるエミュ
レーションMCU 6の第5の実施の形態の全体の構成例を
示すブロック図、図10はその RAM容量選択フラグ36の構
成例を示す回路図である。なお、この図9及び図10にお
いては、前述の第1の実施の形態説明で参照した図1及
び図2と同一の参照符号は同一又は相当部分を示してい
る。
【0111】この第5の実施の形態では、ハードウェア
により RAM容量選択フラグ36のデータを固定するように
構成されている。以下、具体的に説明する。
【0112】図9において、参照符号54はリセット端子
を示しており、これに外部からローレベルの信号が与え
られると、図9に示されている本発明のエミュレーショ
ンMCU 6の第5の実施の形態はリセット状態になる。な
お、この第5の実施の形態においては、 RAM容量選択フ
ラグ36は、詳細は後述するが、所謂マスクオプションと
称される手法を利用して構成されている。
【0113】図10において、参照符号66はPチャネルト
ランジスタを、67はNチャネルトランジスタをそれぞれ
示している。Pチャネルトランジスタ66のソースは直流
電源65と接点68とに接続され、ドレインは NORゲート72
の一方の入力端子とNチャネルトランジスタ67のソース
及びドレインと接続され、ゲートは選択スイッチ70に接
続されている。Nチャネルトランジスタ67のドレインは
接地されると共に接点69に接続されている。なお、選択
スイッチ70は接点68と69との内のいずれか一方をPチャ
ネルトランジスタ66のゲートに接続することが可能であ
り、実際の接続はマスクオプションを利用してチップの
製造時に固定される。また、 NORゲート72の他方の入力
端子にはリセット端子54が接続されている。
【0114】このような本発明のエミュレーションMCU
6の第5の実施の形態の動作は以下の如くである。
【0115】マスクオプションにより選択スイッチ70が
接点69側に固定されているとすると、Pチャネルトラン
ジスタ66がオンし、Nチャネルトランジスタ67はオフす
る。このため、 NORゲート72の一方の入力端子に入力さ
れる信号はハイレベルになる。逆に、マスクオプション
により選択スイッチ70が接点68側に固定されているとす
ると、Pチャネルトランジスタ66がオフし、Nチャネル
トランジスタ67はオンする。このため、 NORゲート72の
一方の入力端子に入力される信号はローレベルになる。
【0116】図9に示されている本発明のエミュレーシ
ョンMCU 6がリセットされた場合はリセット端子54に入
力されているリセット信号はローレベルになる。これに
より、 NORゲート72の他方の入力端子にはリセット端子
54からローレベルの信号が入力するので、他方の入力端
子への入力信号の状態、換言すれば選択スイッチ70が接
点68または69のいずれの側に固定されているかには拘わ
らず、 NORゲート72の出力信号、換言すれば RAM容量選
択フラグ信号37はハイレベルになる。
【0117】リセットが解除されるとリセット端子54へ
入力されているリセット信号はハイレベルになる。この
場合、選択スイッチ70が接点69側に固定されているとす
ると、 NORゲート72の出力信号である RAM容量選択フラ
グ信号37はローレベルになり、選択スイッチ70が接点68
側に固定されているとすると、 NORゲート72の出力信号
である RAM容量選択フラグ信号37はハイレベルになる。
【0118】このようにして NORゲート72の出力信号と
して生成された RAM容量選択フラグ信号37は、上位アド
レスデコーダ22のセレクタ回路41に与えられている。従
って、図9に示されている本発明のエミュレーションMC
U 6の第5の実施の形態では、チップの製造時点で選択
スイッチ70がいずれの接点の側に固定されているかに応
じて、リセット状態が解除された時点で任意の内蔵 RAM
容量を上位アドレスデコーダ22で選択することが可能に
なる。
【0119】〔他の実施の形態〕上述した第1乃至第5
の実施の形態では、仮想 RAM容量を設定し、同一グルー
プ品種であれば内部 RAM容量が異なっている品種に対し
ても流用が可能なエミュレーションMCU 6の例の内の仮
想 RAM容量を設定する要因が一つである場合について説
明したが、それらを組み合わせて構成することは勿論可
能である。
【0120】
【発明の効果】以上に詳述したように、本発明のエミュ
レーション用マイクロコンピュータによれば、内部資源
である内部 RAM容量を疑似的に可変させてCPU に認識さ
せることにより、内部機能回路へのアクセスと外部メモ
リ領域へのアクセスとでは異なるバス制御, ウェイト条
件等には拘わらずに、同一グループ品種であれば内部 R
AM容量が異なった品種でも既存のエミュレーションMCU
の流用が可能になる。
【0121】また、所謂 OTP版においては最大内蔵 RAM
容量品種を用意しておいてそれを複数の内蔵 RAM容量品
種として流用することが可能になる。
【0122】更に、データ書き込み手段による RAMアド
レス空間指定手段に対するデータの書き込みを演算手段
の制御により許可する書き込み許可手段を備えているの
で、本体が暴走した場合に RAM容量選択フラグに誤った
データがセットされる虞は極めて少ない。
【0123】更に、リセット端子に有意な信号が入力さ
れている状態において外部端子の信号の状態が RAMアド
レス空間指定手段に設定されるので、 RAMアドレス空間
の設定をリセットと同時に行なうことが出来る。
【0124】更に、前記リセット端子に有意な信号が入
力されている状態において前記内蔵ROM の特定ビットの
状態が RAMアドレス空間指定手段に設定されるので、予
めROM に書き込まれている RAMアドレス空間の設定をリ
セットと同時に行なうことが出来る。
【0125】また、半導体基板上のレイアウトパターン
の設定により複数の仮想 RAM容量の内のいずれかを指定
するデータが RAMアドレス空間指定手段に予め設定され
ているので、最大内蔵 RAM容量品種を複数の内蔵 RAM容
量品種として使用することが可能になる。
【図面の簡単な説明】
【図1】 本発明に係るエミュレーション用マイクロコ
ンピュータの第1の実施の形態の構成例を示すブロック
図である。
【図2】 本発明に係るエミュレーション用マイクロコ
ンピュータの第1の実施の形態の上位アドレスデコーダ
(仮想 RAMアドレスデコード手段)の構成例を示す回路
図である。
【図3】 本発明に係るエミュレーション用マイクロコ
ンピュータの第1の実施の形態の RAM容量選択フラグ(R
AMアドレス空間指定手段) の具体的な構成例を示す回路
図である。
【図4】 本発明に係るエミュレーション用マイクロコ
ンピュータの第2の実施の形態の RAM容量選択フラグの
具体的な構成例を示す回路図である。
【図5】 本発明に係るエミュレーション用マイクロコ
ンピュータの第3の実施の形態の構成例を示すブロック
図である。
【図6】 本発明に係るエミュレーション用マイクロコ
ンピュータの第3の実施の形態の RAM容量選択フラグの
具体的な構成例を示す回路図である。
【図7】 本発明に係るエミュレーション用マイクロコ
ンピュータの第4の実施の形態の構成例を示すブロック
図である。
【図8】 本発明に係るエミュレーション用マイクロコ
ンピュータの第4の実施の形態の RAM容量選択フラグの
具体的な構成例を示す回路図である。
【図9】 本発明に係るエミュレーション用マイクロコ
ンピュータの第5の実施の形態の構成例を示すブロック
図である。
【図10】 本発明に係るエミュレーション用マイクロ
コンピュータの第5の実施の形態の RAM容量選択フラグ
の具体的な構成例を示す回路図である。
【図11】 従来のプログラムデバッガの一構成例を示
すブロック図である。
【図12】 従来のエミュレーション用マイクロコンピ
ュータの構成例を示すブロック図である。
【図13】 従来のエミュレーション用マイクロコンピ
ュータの上位アドレスデコーダの構成例を示す回路図で
ある。
【図14】 同一グループ品種ではあるが RAM容量が異
なる二つのエミュレーションMCU のアドレスマップを示
す模式図である。
【符号の説明】
15 CPU 、17 内蔵RAM 、18 内蔵ROM 、22 上位アド
レスデコーダ、30 ポート端子、 36 RAM容量選択フラ
グ、40仮想 RAMアドレスデコーダ、 45 書き込み許可フ
ラグ、54 リセット端子、55 トランスミッションゲー
ト、61 トランスミッションゲート、66, 67 トランジ
スタ、68, 69 接点、70 選択スイッチ、361 1ビット
ラッチ、362 トランスミッションゲート。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 内蔵 RAMと、 該内蔵 RAMの実装容量を最大値とし、その範囲内で複数
    の仮想 RAM容量に対応する仮想 RAMアドレス空間を生成
    する仮想 RAMアドレスデコード手段と、 該仮想 RAMアドレスデコード手段が生成し得る複数の仮
    想 RAMアドレス空間の内のいずれかを指定する RAMアド
    レス空間指定手段とを備えたことを特徴とするエミュレ
    ーション用マイクロコンピュータ。
  2. 【請求項2】 少なくとも内蔵 RAMにアクセス可能な演
    算手段と、 該内蔵 RAMの実装容量を最大値とし、その範囲内で複数
    の仮想 RAM容量に対応する仮想 RAMアドレス空間を生成
    する仮想 RAMアドレスデコード手段と、 該仮想 RAMアドレスデコード手段が生成し得る複数の仮
    想 RAMアドレス空間の内のいずれかを指定する RAMアド
    レス空間指定手段とを備え、 前記 RAMアドレス空間指定手段が指定する仮想 RAM容量
    に対応する仮想 RAMアドレス空間を前記仮想 RAMアドレ
    スデコード手段がデコードした場合に、前記演算手段に
    よる前記内部 RAMに対するアクセスを可能になしてある
    ことを特徴とするエミュレーション用マイクロコンピュ
    ータ。
  3. 【請求項3】 更に、いずれかの仮想 RAMアドレス空間
    を指定するデータを前記 RAMアドレス空間指定手段に書
    き込むデータ書き込み手段と、前記データ書き込み手段
    による前記 RAMアドレス空間指定手段に対するデータの
    書き込みを前記演算手段の制御により許可する書き込み
    許可手段を備え、 前記演算手段が前記データ書き込み手段にデータの書き
    込みを許可している状態においてのみ、前記データ書き
    込み手段による前記 RAMアドレス空間指定手段に対する
    データの書き込みを可能としてあることを特徴とする請
    求項2に記載のエミュレーション用マイクロコンピュー
    タ。
  4. 【請求項4】 更に、いずれかの仮想 RAMアドレス空間
    を指定するデータを前記 RAMアドレス空間指定手段に書
    き込むデータ書き込み手段と、外部との間で信号の送受
    を行なう外部端子と、外部から有意な信号が与えられる
    ことにより全体がリセットされるリセット端子とを備
    え、 前記データ書き込み手段は、前記リセット端子に有意な
    信号が入力されている状態において前記外部端子の信号
    の状態をデータとして書き込むべくなしてあることを特
    徴とする請求項2に記載のエミュレーション用マイクロ
    コンピュータ。
  5. 【請求項5】 更に、いずれかの仮想 RAMアドレス空間
    を指定するデータを前記 RAMアドレス空間指定手段に書
    き込むデータ書き込み手段と、外部から有意な信号が与
    えられることにより全体がリセットされるリセット端子
    と、前記演算手段によりアクセス可能な内蔵ROM とを備
    え、 前記データ書き込み手段は、前記リセット端子に有意な
    信号が入力されている状態において前記内蔵ROM の特定
    ビットの状態をデータとして書き込むべくなしてあるこ
    とを特徴とする請求項2に記載のエミュレーション用マ
    イクロコンピュータ。
  6. 【請求項6】 半導体基板上に集積回路として構成され
    ており、 前記 RAMアドレス空間指定手段は、半導体基板上のレイ
    アウトパターンの設定により複数の仮想 RAM容量の内の
    いずれかを指定するデータが予め設定されていることを
    特徴とする請求項2に記載のエミュレーション用マイク
    ロコンピュータ。
JP7180146A 1995-07-17 1995-07-17 エミュレーション用マイクロコンピュータ Pending JPH0934748A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP7180146A JPH0934748A (ja) 1995-07-17 1995-07-17 エミュレーション用マイクロコンピュータ
US08/574,142 US5826059A (en) 1995-07-17 1995-12-18 Microcomputer for emulation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7180146A JPH0934748A (ja) 1995-07-17 1995-07-17 エミュレーション用マイクロコンピュータ

Publications (1)

Publication Number Publication Date
JPH0934748A true JPH0934748A (ja) 1997-02-07

Family

ID=16078211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7180146A Pending JPH0934748A (ja) 1995-07-17 1995-07-17 エミュレーション用マイクロコンピュータ

Country Status (2)

Country Link
US (1) US5826059A (ja)
JP (1) JPH0934748A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4083903B2 (ja) * 1998-12-16 2008-04-30 株式会社ルネサステクノロジ マイクロコンピュータ
US6611796B1 (en) * 1999-10-20 2003-08-26 Texas Instruments Incorporated Method and apparatus for combining memory blocks for in circuit emulation
DE10116862A1 (de) * 2001-04-04 2002-10-17 Infineon Technologies Ag Programmgesteuerte Einheit
FI20030929A (fi) * 2003-06-19 2004-12-20 Nokia Corp Menetelmä ja järjestelyjä langattoman tiedonsiirron toteuttamiseksi kulkuvälineessä
TWI254855B (en) * 2004-10-08 2006-05-11 Via Tech Inc Memory simulation device and method thereof

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4155119A (en) * 1977-09-21 1979-05-15 Sperry Rand Corporation Method for providing virtual addressing for externally specified addressed input/output operations
US5230045A (en) * 1986-11-12 1993-07-20 Xerox Corporation Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
US5317706A (en) * 1989-11-15 1994-05-31 Ncr Corporation Memory expansion method and apparatus in a virtual memory system
WO1992002879A1 (en) * 1990-08-03 1992-02-20 Du Pont Pixel Systems Limited Virtual memory system
JP2617813B2 (ja) * 1990-10-08 1997-06-04 三菱電機株式会社 アドレス変換装置
US5454092A (en) * 1991-02-04 1995-09-26 Motorola, Inc. Microcomputer having an improved internal address mapping apparatus
US5353431A (en) * 1991-04-29 1994-10-04 Intel Corporation Memory address decoder with storage for memory attribute information
US5381537A (en) * 1991-12-06 1995-01-10 International Business Machines Corporation Large logical addressing method and means
US5627986A (en) * 1992-08-31 1997-05-06 Rockwell International Corporation Device and method for selecting and addressing extended memory addresses
JPH06150026A (ja) * 1992-10-30 1994-05-31 Hitachi Ltd マイクロコンピュータ、及びエミュレータ

Also Published As

Publication number Publication date
US5826059A (en) 1998-10-20

Similar Documents

Publication Publication Date Title
US5438672A (en) Microcontroller emulator for plural device architecture configured by mode control data and operated under control code transmitted via same switching bus
KR100303947B1 (ko) 다중프로세서시스템그리고그의초기화기능분산및자체진단시스템그리고그방법
US5566303A (en) Microcomputer with multiple CPU'S on a single chip with provision for testing and emulation of sub CPU's
CN111033630B (zh) 具有mbist的多处理器内核设备
JPS61241841A (ja) エミユレ−タ
JPS6331220A (ja) ダイナミツク再構成アレ−論理装置
JPH04229337A (ja) エミュレータ
JPH0934748A (ja) エミュレーション用マイクロコンピュータ
US7340575B2 (en) Method and a circuit for controlling access to the content of a memory integrated with a microprocessor
JPH11282671A (ja) コンピュータシステム
JPS5835661A (ja) ワンチツプマイクロコンピユ−タ
KR20010052868A (ko) 에뮬레이터 시스템에서 사용자 메모리를 업데이트하기위한 방법 및 시스템
JP3093642B2 (ja) シングルチップマイクロコンピュータおよびそのテスト方法
JPS6362778B2 (ja)
JP3547012B2 (ja) マイクロコンピュータ
JP2004013289A (ja) マイクロコントローラのオンチップデバッグ方法
JPS63108438A (ja) シングルチツプマイクロコンピユ−タ
JP2003296130A (ja) マイクロコンピュータ
JPH06103106A (ja) プログラムデバッグ装置
JPH03271834A (ja) 半導体集積回路
JPH06150024A (ja) マイクロコンピュータ
JP3006487B2 (ja) エミュレーション装置
JPH0815387A (ja) マイクロコンピュータテスト回路
JPH0442329A (ja) データ処理装置
JPH06150026A (ja) マイクロコンピュータ、及びエミュレータ