JP3323341B2 - Emulation processor and emulator equipped with it - Google Patents

Emulation processor and emulator equipped with it

Info

Publication number
JP3323341B2
JP3323341B2 JP29823494A JP29823494A JP3323341B2 JP 3323341 B2 JP3323341 B2 JP 3323341B2 JP 29823494 A JP29823494 A JP 29823494A JP 29823494 A JP29823494 A JP 29823494A JP 3323341 B2 JP3323341 B2 JP 3323341B2
Authority
JP
Japan
Prior art keywords
emulation
break
emulator
signal
user
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.)
Expired - Fee Related
Application number
JP29823494A
Other languages
Japanese (ja)
Other versions
JPH08161190A (en
Inventor
直幹 三ッ石
敦 廣瀬
達也 鈴木
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 Ltd
Hitachi Solutions Technology Ltd
Original Assignee
Hitachi Ltd
Hitachi ULSI Systems Co 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 Ltd, Hitachi ULSI Systems Co Ltd filed Critical Hitachi Ltd
Priority to JP29823494A priority Critical patent/JP3323341B2/en
Publication of JPH08161190A publication Critical patent/JPH08161190A/en
Application granted granted Critical
Publication of JP3323341B2 publication Critical patent/JP3323341B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、マイクロコンピュータ
およびマイクロコンピュータ応用システムの開発装置で
あるエミュレータに関し、たとえばマイクロコンピュー
タのエミュレーション用プロセッサ、さらにこのエミュ
レーション用プロセッサを搭載してなるエミュレータに
適用して有効な技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microcomputer and an emulator which is an apparatus for developing a microcomputer application system, and is effective when applied to, for example, a microcomputer emulation processor and an emulator equipped with the emulation processor. Technology.

【0002】[0002]

【従来の技術】たとえば、シングルチップマイクロコン
ピュータを用いた応用システムの開発を行うために、い
わゆるインサーキットエミュレータと呼ばれるマイクロ
コンピュータ開発装置が用いられる。このマイクロコン
ピュータ開発装置は、いわゆるパーソナルコンピュータ
などのシステム開発装置と開発中の応用システム(ユー
ザシステム)との間に接続され、その応用システムに装
着されるべきシングルチップマイクロコンピュータ(タ
ーゲットマイクロコンピュータ)の機能を代行しつつデ
バッガとしての機能を有し、ソフトウェア或いは応用シ
ステムの開発を支援するものである。
2. Description of the Related Art For example, in order to develop an application system using a single-chip microcomputer, a microcomputer development apparatus called an in-circuit emulator is used. This microcomputer development device is connected between a system development device such as a so-called personal computer and an application system (user system) under development (single chip microcomputer (target microcomputer)) to be mounted on the application system. It has the function of a debugger while acting on behalf of the function, and supports the development of software or application systems.

【0003】このマイクロコンピュータ開発装置には、
上記シングルチップマイクロコンピュータに対応したエ
バリュエーションチップと呼ばれる評価用のエミュレー
ション用プロセッサにシングルチップマイクロコンピュ
ータを包含する機能と、マイクロコンピュータの内部状
態を出力したり、マイクロコンピュータの動作を制御し
たりする専用の機能を追加することにより、マイクロコ
ンピュータ開発装置の開発が容易にされる。
[0003] This microcomputer development device includes:
A function that includes a single-chip microcomputer in an emulation processor for evaluation called an evaluation chip corresponding to the single-chip microcomputer, and is dedicated to outputting the internal state of the microcomputer and controlling the operation of the microcomputer. By adding the function described above, the development of the microcomputer development device is facilitated.

【0004】このようなマイクロコンピュータ開発装
置、またはインサーキットエミュレータについては、た
とえば昭和59年11月30日オーム社発行の『LSI
ハンドブック』P562およびP563などによって、
またエミュレーション用プロセッサについては、たとえ
ば特開昭63−106840号公報などによって公知で
あるので詳細な説明は省略する。
[0004] Such a microcomputer development device or in-circuit emulator is described in, for example, "LSI" issued by Ohmsha on November 30, 1984.
Handbook ”P562 and P563
The emulation processor is known, for example, from JP-A-63-106840, and will not be described in detail.

【0005】また、エミュレーション用プロセッサ専用
の機能としては、CPUが所定のアドレスをアクセスし
た場合にCPUを停止し、エミュレータ側に制御を移し
たりする(ブレーク)機能や、かかるブレーク時にエミ
ュレーション専用のプログラムを実行したり、またユー
ザのメモリをモニタしたり、変更したりする機能があ
る。ブレーク時にすることは、たとえば特願平4−10
5779号などに記載されている。
[0005] Further, functions dedicated to the emulation processor include a function of stopping the CPU when the CPU accesses a predetermined address and transferring control to the emulator (break), and a program dedicated to emulation at the time of such a break. And monitor and modify the user's memory. What to do during a break is, for example,
No. 5,779, and the like.

【0006】[0006]

【発明が解決しようとする課題】ところが、前記のよう
なエミュレーション用プロセッサにおいては、マイクロ
コンピュータの高速化によって、エミュレーション用プ
ロセッサを制御する外部回路の設計が困難になってい
る。たとえば、エミュレーション用プロセッサをリセッ
トする場合には、リセット要求がユーザ側の要因による
ものか、エミュレータ側の要因によるものかによってエ
ミュレーション用プロセッサがユーザプログラムを実行
するか、変更する。
However, in the above-described emulation processor, it is difficult to design an external circuit for controlling the emulation processor due to the speeding up of the microcomputer. For example, when resetting the emulation processor, the emulation processor executes or changes the user program depending on whether the reset request is caused by the user or the emulator.

【0007】かかる変更を、公知とされた技術ではない
が、エミュレーション用プロセッサ外部の外部回路によ
って、エミュレーション用プロセッサのリードするベク
タ(スタートアドレス)を変更することによって行って
いた。マイクロコンピュータの高速化によってアクセス
時間が高速化すると、かかるベクタの変更に許容される
時間も短くなってしまう。
Although such a change is not a known technique, it has been performed by changing a vector (start address) read by the emulation processor by an external circuit external to the emulation processor. If the access time is shortened by the speeding up of the microcomputer, the time allowed for such vector change is also shortened.

【0008】また、CPUのアドレス空間上にエミュレ
ーション用メモリを配置するが、これはユーザメモリと
重なりあってしまう。CPUの出力したアドレスに対し
てエミュレーション用メモリをアクセスするか、ユーザ
メモリをアクセスするかを判定して、エミュレーション
バスとユーザバスを有する場合はいずれかのバスを有効
にしなければならない。マイクロコンピュータの高速化
によってアクセス時間が高速化すると、かかるアドレス
の判定やバスの制御に許容される時間も短くなってしま
う。
An emulation memory is arranged in the address space of the CPU, but this overlaps with the user memory. It is necessary to determine whether to access the emulation memory or the user memory with respect to the address output from the CPU, and to enable the emulation bus and the user bus when the CPU has the emulation bus and the user bus. When the access time is shortened due to the speeding up of the microcomputer, the time allowed for such address determination and bus control is also shortened.

【0009】さらに、CPUのアクセス状態に応じてC
PUのプログラムの実行を中断し、エミュレーション側
に制御を移す(ブレーク)ためにブレーク割込を要求す
るが、エミュレーション用プロセッサ外部でCPUのア
クセス状態を判定して、ブレーク割込を要求したのでは
所望の命令実行状態でCPUをブレークさせることが困
難である。たとえば、所望の命令実行状態よりも数命令
余分に実行したところでブレークするようになってしま
う。シングルステップ動作のような所望の命令実行直後
にブレークさせるようなことが困難になる。
Further, C is set according to the access state of the CPU.
A break interrupt is requested to interrupt the execution of the PU program and transfer control to the emulation side (break). However, if the access state of the CPU is determined outside the emulation processor and the break interrupt is requested, It is difficult to break the CPU in a desired instruction execution state. For example, a break occurs when a command is executed by several instructions more than a desired instruction execution state. It becomes difficult to cause a break immediately after execution of a desired instruction such as a single step operation.

【0010】また、エミュレーション用プロセッサとエ
ミュレータ間は、入出力できる信号本数が、半導体集積
回路装置としてのエミュレーション用プロセッサの端子
数に制約されてしまう。このため、エミュレーション用
プロセッサ内部の、たとえばCPUの命令実行状態を示
す信号などを十分にエミュレータに出力できるとは限ら
ない。また、エミュレータのエミュレーション用プロセ
ッサへの制御信号も十分な本数を入力できるとは限らな
い。
Further, the number of signals that can be input and output between the emulation processor and the emulator is limited by the number of terminals of the emulation processor as a semiconductor integrated circuit device. For this reason, it is not always possible to sufficiently output, for example, a signal indicating the instruction execution state of the CPU inside the emulation processor to the emulator. Also, it is not always possible to input a sufficient number of control signals to the emulation processor of the emulator.

【0011】さらに、エミュレーション用信号の増加
は、エミュレーション用プロセッサのパッケージサイズ
の増加をする。さらに、エミュレータ自体のサイズを大
きくし、たとえば応用システムを実動作状態にして評価
するようなことが困難になってしまう。
Further, the increase in emulation signals increases the package size of the emulation processor. Further, it becomes difficult to increase the size of the emulator itself, for example, to put the application system into an actual operation state and evaluate the system.

【0012】そこで、本発明の目的は、エミュレーショ
ン用プロセッサとエミュレータ間の信号本数を増加させ
ることなく(エミュレータの大きさを大きくせず、実装
状態でも評価可能としつつ)、外部回路に対する負荷を
さほど増加させずに、高速かつ容易にエミュレーション
用プロセッサを制御し、エミュレーションを実現できる
エミュレータを構成するエミュレーション用プロセッ
サ、さらにこれを搭載したエミュレータを提供すること
にある。
Therefore, an object of the present invention is to reduce the load on external circuits without increasing the number of signals between the emulation processor and the emulator (without increasing the size of the emulator and enabling evaluation even in a mounted state). An object of the present invention is to provide an emulation processor that forms an emulator capable of realizing emulation by controlling the emulation processor quickly and easily without increasing the number of emulation processors, and to provide an emulator equipped with the emulation processor.

【0013】本発明の前記ならびにその他の目的と新規
な特徴は、本明細書の記述および添付図面から明らかに
なるであろう。
The above and other objects and novel features of the present invention will become apparent from the description of the present specification and the accompanying drawings.

【0014】[0014]

【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
以下のとおりである。
SUMMARY OF THE INVENTION Among the inventions disclosed in the present application, the outline of a representative one will be briefly described.
It is as follows.

【0015】すなわち、本発明のエミュレーション用プ
ロセッサは、マイクロコンピュータをエミュレートでき
るプロセッサに適用されるものであり、エミュレーショ
ン用プログラムが動作する第1のモードであるブレーク
モードと、エミュレート対象となるユーザプログラムが
動作する第2のモードであるユーザモードとを有し、か
つそれぞれのモードに対応するブレークリセット、ユー
ザリセットを有し、リセット後に直ちにブレークモード
に遷移するか、ユーザモードとするかを入力端子の状態
で選択可能にしたものである。
That is, the emulation processor of the present invention is applied to a processor capable of emulating a microcomputer, and includes a break mode as a first mode in which an emulation program operates, and a user to be emulated. A user mode, which is a second mode in which the program operates, and a break reset and a user reset corresponding to each mode, and inputting whether to immediately transition to the break mode or to enter the user mode after the reset It can be selected depending on the state of the terminal.

【0016】また、エミュレート対象となるマイクロコ
ンピュータのアドレス空間を分割し、ブレークモード時
に、エリア毎にエミュレーションメモリをアクセスする
か、ユーザメモリをアクセスするかを指定する手段とし
てメモリ選択レジスタ(MEMCR)を有するものであ
る。
Further, a memory selection register (MEMCR) is provided as a means for dividing an address space of a microcomputer to be emulated and specifying whether to access an emulation memory or a user memory for each area in a break mode. It has.

【0017】さらに、エミュレーション内部にブレーク
条件を設定するようにし、特にシングルステップ処理を
要求する制御ビット(SSTP)を有する場合には、か
かるビットが所定の状態である場合にユーザプログラム
の1命令毎にブレーク割込を自動的に要求可能にし、ま
たブレーク割込制御ビット(BIEA,B)を有する場
合にはPCブレークを可能にし、さらに多重ブレーク割
込制御ビット(BMBE)を有する場合には多重割込を
禁止するようにしたものである。
Further, a break condition is set in the emulation. In particular, when a control bit (SSTP) for requesting a single step process is provided, when the bit is in a predetermined state, each instruction of the user program is set. Automatically when a break interrupt control bit (BIEA, B) is provided, and a PC break is enabled when a multiple break interrupt control bit (BMBE) is provided. The interrupt is prohibited.

【0018】また、本発明のエミュレータは、前記エミ
ュレーション用プロセッサを搭載したものであり、ユー
ザシステムのリセット信号が活性状態のときはユーザリ
セットが選択される状態にし、エミュレータのリセット
信号が活性状態のときはブレークリセットが選択される
状態にする手段としてのブレークリセット制御回路を有
したり、さらにマイクロコンピュータが指定したバスサ
イクルによってユーザシステムのメモリのリードまたは
ライトを行い、エミュレーション用のバスサイクルによ
ってエミュレータシステムの貸し出しメモリのリードま
たはライトを行うことを可能とするものである。
The emulator according to the present invention is provided with the emulation processor. When the reset signal of the user system is in the active state, the user reset is selected, and the reset signal of the emulator is in the active state. In some cases, the microcomputer has a break reset control circuit as a means for setting a state in which a break reset is selected, and further reads or writes the memory of the user system by a bus cycle specified by the microcomputer, and executes an emulator by a bus cycle for emulation. It enables reading or writing of the rental memory of the system.

【0019】[0019]

【作用】前記したエミュレーション用プロセッサおよび
それを搭載したエミュレータによれば、エミュレーショ
ン用プロセッサ外部で制御していたものをエミュレーシ
ョン用プロセッサに取り込むことによって、エミュレー
ション用プロセッサ内部の豊富な情報を用いることがで
き、またエミュレーション用プロセッサからエミュレー
タへの信号の遅延やエミュレータからエミュレーション
用プロセッサへの信号の遅延に影響されることがなくな
り、さらにエミュレーション用プロセッサとエミュレー
タ間の入出力信号を増加させずに、容易かつ高速にエミ
ュレーション用プロセッサの制御を行うことができる。
According to the emulation processor and the emulator equipped with the emulation processor, the information controlled outside the emulation processor is taken into the emulation processor, so that abundant information inside the emulation processor can be used. Also, it is not affected by the delay of the signal from the emulation processor to the emulator or the delay of the signal from the emulator to the emulation processor. The emulation processor can be controlled at high speed.

【0020】[0020]

【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0021】図1は本発明の一実施例であるエミュレー
ション用プロセッサのエミュレート対象となるマイクロ
コンピュータの一例を示すブロック図、図2は本実施例
におけるエミュレーション用プロセッサを示すブロック
図、図3〜図20はエミュレーション用プロセッサの詳
細のブロック図、タイミング図、または動作フローチャ
ート、図21は本実施例におけるエミュレーション用プ
ロセッサを搭載したエミュレータのブロック図、図22
はエミュレータの動作フローチャートである。
FIG. 1 is a block diagram showing an example of a microcomputer to be emulated by an emulation processor according to one embodiment of the present invention, FIG. 2 is a block diagram showing an emulation processor according to this embodiment, and FIGS. FIG. 20 is a detailed block diagram, timing diagram, or operation flowchart of the emulation processor. FIG. 21 is a block diagram of an emulator having the emulation processor according to the present embodiment.
7 is an operation flowchart of the emulator.

【0022】まず、図1により本実施例のエミュレーシ
ョン用プロセッサのエミュレート対象となるマイクロコ
ンピュータの構成を説明する。
First, the configuration of a microcomputer to be emulated by the emulation processor of this embodiment will be described with reference to FIG.

【0023】本実施例におけるマイクロコンピュータ
は、たとえばシングルチップマイクロコンピュータとさ
れ、中央処理装置CPU、データトランスファコントロ
ーラDTC、リードオンリメモリROM、ランダムアク
セスメモリRAM、タイマ、シリアルコミュニケーショ
ンインタフェースSCI、A/D変換器A/D、入出力
ポートIOP1〜11、割込コントローラ、バスコント
ローラBSC、クロック発振器CPGの機能ブロック
(またはモジュール)から構成され、これらの機能ブロ
ックは内部バスによって相互に接続されている。
The microcomputer in this embodiment is, for example, a single-chip microcomputer, and includes a central processing unit CPU, a data transfer controller DTC, a read-only memory ROM, a random access memory RAM, a timer, a serial communication interface SCI, and an A / D converter. A / D, input / output ports IOP1 to IOP11, an interrupt controller, a bus controller BSC, and a clock oscillator CPG function blocks (or modules), which are interconnected by an internal bus.

【0024】バスコントローラは、アドレスの内容を判
定するモジュールセレクト部MSを含む。図示はされな
いものの、タイマは5チャネル分、SCIは3チャネル
分のブロックを含んでいる。
The bus controller includes a module select section MS for determining the contents of an address. Although not shown, the timer includes blocks for five channels and the SCI includes blocks for three channels.

【0025】内部バスはアドレスバス・データバスの
他、リード信号・ライト信号を含み、さらにバスサイズ
信号あるいはシステムクロックを含んでもよい。内部ア
ドレスバスには、IAB、PABが存在する。内部デー
タバスにはIDB、PDBが存在する。IABとPA
B、IDBとPDBはバスコントローラでインタフェー
スされる。
The internal bus includes a read signal and a write signal in addition to an address bus and a data bus, and may further include a bus size signal or a system clock. IAB and PAB exist on the internal address bus. IDB and PDB exist in the internal data bus. IAB and PA
B, IDB and PDB are interfaced by a bus controller.

【0026】内部データバスIDB、PDBは16ビッ
ト構成である。CPUの命令は16ビット単位としてい
る。また、CPUのアドレス空間は16MBとする。P
AB、PDBは、バスコントローラ、タイマ、SCI、
A/D変換器、割込コントローラ、IOP1〜11に接
続される。割込コントローラは、タイマ、SCI、入出
力ポートの出力する割込信号を入力し、CPUおよびD
TCに割込要求信号とベクタ番号を出力する。
The internal data buses IDB and PDB have a 16-bit configuration. CPU instructions are in 16-bit units. The address space of the CPU is 16 MB. P
AB and PDB are bus controller, timer, SCI,
A / D converter, interrupt controller, connected to IOP1 to IOP11. The interrupt controller inputs a timer, an SCI, an interrupt signal output from an input / output port,
An interrupt request signal and a vector number are output to the TC.

【0027】入出力ポートは、外部バス信号、入出力回
路の入出力信号と兼用とされている。IOP1〜3はア
ドレスバス出力、IOP4,5はデータバス入出力、I
OP6,7はバス制御信号入出力信号と兼用されてい
る。外部アドレス、外部データは、それぞれこれらの入
出力ポートに含まれるバッファ回路を介してIAB、I
DBと接続されている。
The input / output port is also used as an external bus signal and an input / output signal of an input / output circuit. IOP1 to 3 are address bus outputs, IOP4 and 5 are data bus input / output,
OPs 6 and 7 are also used as bus control signal input / output signals. External addresses and external data are respectively transmitted to IAB, IAB via buffer circuits included in these input / output ports.
Connected to DB.

【0028】PAB、PDBは入出力ポートのレジスタ
をリード/ライトするために使用し、外部バスとは直接
の関係はない。バス制御信号出力は、チップセレクト、
アドレスストローブ、ハイ/ロウデータストローブ、リ
ードストローブ、ライトストローブ、カラムアドレスス
トローブ、バスアクノリッジ信号などがある。バス制御
入力信号にはウェイト信号、バスリクエスト信号などが
ある。これらの入出力信号は図示はされない。外部バス
拡張を行うことは動作モードなどで選択され、これらの
入出力ポートの機能も選択される。
PAB and PDB are used to read / write the register of the input / output port, and have no direct relation to the external bus. The bus control signal output is chip select,
There are an address strobe, a high / low data strobe, a read strobe, a write strobe, a column address strobe, a bus acknowledge signal, and the like. The bus control input signal includes a wait signal, a bus request signal, and the like. These input / output signals are not shown. The extension of the external bus is selected depending on the operation mode and the like, and the functions of these input / output ports are also selected.

【0029】また、IOP8はタイマ入出力、IOP9
はSCI入出力、IOP10はアナログ入力、IOP1
1は外部割込要求IRQ入力と兼用されている。タイ
マ、SCI、A/D変換器とIOP8〜IOP10との
入出力信号は図示はされない。そのほか、電源端子Vc
c、Vss、アナログ電源端子AVcc、AVss、リ
セット入力端子RES、スタンバイ入力端子STBY、
割込入力端子NMI、クロック入力端子EXTAL、X
TAL、動作モード入力端子MD0、MD1、MD2な
どの入力端子がある。
IOP8 is a timer input / output, IOP9
Is SCI input / output, IOP10 is analog input, IOP1
Reference numeral 1 is also used as an external interrupt request IRQ input. The input / output signals of the timer, SCI, A / D converter and IOP8 to IOP10 are not shown. In addition, power supply terminal Vc
c, Vss, analog power supply terminals AVcc, AVss, reset input terminal RES, standby input terminal STBY,
Interrupt input terminal NMI, clock input terminal EXTAL, X
There are input terminals such as TAL and operation mode input terminals MD0, MD1, and MD2.

【0030】続いて、図2のブロック図によりエミュレ
ーション用プロセッサの構成を説明する。
Next, the configuration of the emulation processor will be described with reference to the block diagram of FIG.

【0031】エミュレーション用プロセッサは、前記マ
イクロコンピュータ部分、および図示はされないバッフ
ァ回路などを含むエミュレーション用プロセッサ専用ブ
ロックから構成され、公知の半導体製造技術によって1
つの半導体基板上に形成されている。マイクロコンピュ
ータ部分の本発明に直接の関係のない信号などは省略さ
れている。I/Oはタイマ、SCI、A/D、IOPを
含む。BUFは、IOP1〜7に含まれるアドレスバス
・データバス・バス制御信号のバッファ部分である。
The emulation processor is composed of the microcomputer part and a block dedicated to the emulation processor including a buffer circuit (not shown) and the like.
Formed on one semiconductor substrate. Signals and the like not directly related to the present invention in the microcomputer portion are omitted. I / O includes a timer, SCI, A / D, and IOP. BUF is a buffer portion of the address bus / data bus / bus control signals included in IOP1 to IOP7.

【0032】上記エミュレーション用プロセッサは、応
用システムと信号の送受信を行うユーザインタフェー
ス、およびマイクロコンピュータ開発装置と信号の送受
信を行うエミュレーションインタフェースを有してい
る。
The emulation processor has a user interface for transmitting and receiving signals to and from the application system, and an emulation interface for transmitting and receiving signals to and from the microcomputer development device.

【0033】エミュレーションインタフェースには、入
力信号としてブレーク割込信号BRK、エミュレータ割
込信号EMLIRQ、エミュレータウェイト信号EML
WAITが存在し、出力信号としてブレークアクノリッ
ジ信号BRKAK、トリガ出力信号TOA、TOBが存
在する。そのほかに、アドレスバス、データバス、リー
ド信号、ライト信号などが含まれる。
The emulation interface receives as input signals a break interrupt signal BRK, an emulator interrupt signal EMIRQ, and an emulator wait signal EML.
WAIT is present, and a break acknowledge signal BRKAK and trigger output signals TOA and TOB are present as output signals. In addition, an address bus, a data bus, a read signal, a write signal, and the like are included.

【0034】エミュレーション用プロセッサ専用ブロッ
クには、エミュレーション専用制御レジスタを有し、ブ
レーク制御、バス制御、モジュール選択制御などを行
う。たとえば、特開平3−271834号公報あるいは
特願平4−316068号に記載されているように、エ
ミュレーション用プロセッサに内蔵の機能の禁止や動作
の変更を指定して、1個のエミュレーション用プロセッ
サによって複数のマイクロコンピュータのエミュレーシ
ョンを行わせることができる。
The emulation processor dedicated block has an emulation dedicated control register, and performs break control, bus control, module selection control, and the like. For example, as described in Japanese Patent Application Laid-Open No. 3-271834 or Japanese Patent Application No. 4-316068, prohibition of a function built into the emulation processor or change of operation is designated by one emulation processor. Emulation of a plurality of microcomputers can be performed.

【0035】モジュール選択制御は、モジュール選択レ
ジスタMSELRによって指定され、かかるモジュール
選択レジスタの設定によってかかるエミュレーション対
象となるマイクロコンピュータの選択を行い、エミュレ
ーション用プロセッサに内蔵の機能の禁止や動作の変更
を指定する制御信号を、バスコントローラBSCに含ま
れる前記モジュールセレクト回路や、そのほかのマイク
ロコンピュータ部分に供給する。
The module selection control is specified by the module selection register MSELR, the microcomputer to be emulated is selected by setting the module selection register, and the prohibition of functions built into the emulation processor and the change of operation are specified. Is supplied to the module select circuit included in the bus controller BSC and other microcomputer parts.

【0036】たとえば、タイマやSCIの使用可能なチ
ャネル数を指定したり、有効なIOPの本数を指定した
りする。また、内蔵ROM、RAMの容量を指定したり
する。禁止されたモジュールは、モジュール選択信号が
非活性状態に固定されるなどによって、リード/ライト
などの動作が抑止される。
For example, the number of available channels of the timer or the SCI is specified, or the number of valid IOPs is specified. Also, the capacity of the built-in ROM and RAM is specified. For the prohibited module, operations such as read / write are suppressed by fixing the module selection signal to an inactive state.

【0037】バス制御は、メモリ制御レジスタMEMC
Rとウェイト制御レジスタEWTCR、ウィンドウ制御
ビットWD1,0と、ブレークアクノリッジ信号BRK
AKとによって指定され、ユーザバスとエミュレーショ
ンバスの制御や、エミュレーション側からのウェイト要
求の許可/禁止などをバスコントローラに指示をする。
バスコントローラは、モジュールセレクト回路のアドレ
ス判定結果とによってバス制御を行う。
The bus control is performed by a memory control register MEMC.
R, the wait control register EWTCR, the window control bits WD1, 0, and the break acknowledge signal BRK.
AK, and instructs the bus controller to control the user bus and the emulation bus, and to permit / prohibit a wait request from the emulation side.
The bus controller controls the bus based on the address determination result of the module select circuit.

【0038】ブレーク制御は、BRK割込信号と、ブレ
ーク制御レジスタBRKCR、ブレークアドレスレジス
タBAR、ブレークアドレスマスクレジスタBAMRに
よって行われ、かかるレジスタとアドレスなどの情報に
応じてブレーク要求、およびシングルステップブレーク
要求をCPUに要求する。
The break control is performed by a BRK interrupt signal, a break control register BRKCR, a break address register BAR, and a break address mask register BAMR. A break request and a single-step break request are made in accordance with information such as the register and the address. To the CPU.

【0039】EMLWAIT信号がバスコントローラと
リセット制御回路に与えられる。リセット制御回路は特
に制限はされないものの、ユーザリセットRST信号と
ブレークリセットBRST信号を出力し、マイクロコン
ピュータ部分にはユーザリセットRSTが供給され、エ
ミュレーション用プロセッサ専用ブロックにはユーザリ
セットRSTとブレークリセットBRST信号が供給さ
れる。
An EMLWAIT signal is supplied to a bus controller and a reset control circuit. Although the reset control circuit is not particularly limited, it outputs a user reset RST signal and a break reset BRST signal, a microcomputer part is supplied with a user reset RST, and a user dedicated RST and a break reset BRST signal are supplied to a dedicated emulation processor block. Is supplied.

【0040】エミュレータ専用割込制御は、EMLIR
Q信号とエミュレータ専用割込制御レジスタIRQCR
によって制御され、マイクロコンピュータ部分の割込コ
ントローラを介してCPUに割込を要求する。
The emulator-specific interrupt control is performed by the EMLIR
Q signal and emulator dedicated interrupt control register IRQCR
And requests an interrupt to the CPU via an interrupt controller of the microcomputer part.

【0041】続いて、図3〜図9のレジスタ構成図によ
り、エミュレータ専用ブロックに含まれるエミュレータ
専用レジスタの構成を説明する。
Next, the configuration of the emulator dedicated register included in the emulator dedicated block will be described with reference to the register configuration diagrams of FIGS.

【0042】リセット初期値が、ユーザリセットとブレ
ークリセットとで相違される。ユーザリセットでは初期
化されず、前値保持とされる。ブレークリセットではエ
ミュレーション用専用レジスタが全て初期化される。
The reset initial value differs between the user reset and the break reset. It is not initialized by a user reset and is held at the previous value. At the break reset, all the dedicated registers for emulation are initialized.

【0043】(1).モジュール選択レジスタMSELRは
8ビット構成のレジスタで、DTCの許可禁止、タイマ
のチャネル数、SCIのチャネル数、パッケージ(入出
力ポートの本数)、ROM容量、RAM容量の指定を行
う。
(1). The module select register MSELR is an 8-bit register, and specifies the enable / disable of DTC, the number of timer channels, the number of SCI channels, the package (number of input / output ports), the ROM capacity, and the RAM capacity. I do.

【0044】ブレークモードでのみリード/ライト可能
である。かかる指定方法や制御方法は、前記特開平3−
271834号公報あるいは特願平4−316068号
に記載されているので、詳細な説明は省略する。
Reading / writing is possible only in the break mode. Such a designation method and a control method are described in Japanese Patent Application Laid-Open No. Hei.
It is described in Japanese Patent Application No. 271834 or Japanese Patent Application No. 4-316068, and a detailed description thereof will be omitted.

【0045】モジュール選択レジスタはBRES信号に
よって初期化される。ユーザリセットでは保持されるの
で、エミュレータの動作開始後に一度設定すれば、対象
とするマイクロコンピュータを変更しない限り再設定の
必要がない。
The module selection register is initialized by the BRES signal. Since the setting is retained by the user reset, once the setting is performed after the operation of the emulator starts, it is not necessary to reset the setting unless the target microcomputer is changed.

【0046】(2).メモリ選択レジスタMEMCRは16
ビット構成のレジスタで、アドレス空間を16分割した
ものに対応し、それぞれの領域にユーザメモリを割り当
てるか、エミュレーションメモリ(貸し出しメモリ)を
割り当てるかを指定する。
(2). The memory selection register MEMCR is 16
A register having a bit configuration, which corresponds to one obtained by dividing the address space into 16, specifies whether to allocate a user memory or an emulation memory (rental memory) to each area.

【0047】(3).ウェイト制御レジスタEWTCRは1
6ビット構成のレジスタで、前記同様にアドレス空間を
16分割したものに対応し、それぞれの領域にEMLW
AITを許可するか、禁止するかを指定する。一般的に
は、エミュレーションメモリ(貸し出しメモリ)を割り
当てた領域はEMLWAITを許可し、十分なアクセス
時間を確保できるようにする。
(3) The wait control register EWTCR is 1
A 6-bit register corresponding to the address space divided into 16 in the same manner as described above.
Specify whether to allow or prohibit AIT. In general, an area to which an emulation memory (lending memory) is allocated is allowed to have EMLWAIT so that a sufficient access time can be secured.

【0048】バス制御レジスタ・ウェイト制御レジスタ
はBRES信号によって初期化される。ユーザリセット
では保持されるので、エミュレータの動作開始後に一度
設定すれば、対象とするメモリ配置を変更しない限り再
設定の必要がない。ブレークモードでのみリード/ライ
ト可能である。
The bus control register / wait control register is initialized by the BRES signal. Since it is held by a user reset, if it is set once after the operation of the emulator starts, there is no need to reset it unless the target memory arrangement is changed. Read / write is possible only in the break mode.

【0049】(4).エミュレータ専用割込制御レジスタI
RQCRは8ビット構成のレジスタである。エミュレー
タ割込要求フラグIRQFは、エミュレータ専用割込E
IRQ端子に所定の入力が発生したとき、たとえば立ち
上がりエッジが発生したときに“1”にセットされる。
“1”の状態をリード後、“0”をライトすると“0”
にクリアされる。
(4) Emulator dedicated interrupt control register I
RQCR is an 8-bit register. The emulator interrupt request flag IRQF is
It is set to "1" when a predetermined input occurs at the IRQ terminal, for example, when a rising edge occurs.
When "0" is written after reading "1", "0"
Is cleared.

【0050】エミュレータ割込許可ビットIRQEは、
エミュレータ専用割込を許可する。IRQFおよびIR
QEがいずれも“1”にセットされているとき、エミュ
レータ専用割込が要求される。エミュレータ専用割込は
ユーザ割込と相違され、受け付けられてもブレークモー
ドに遷移しない。ユーザ側の割込要求と同等に扱われ
る。かかるレジスタはユーザモードまたはブレークモー
ドに拘わらず、リード/ライト可能である。
The emulator interrupt permission bit IRQE is
Allows emulator-specific interrupts. IRQF and IR
When both QEs are set to "1", an emulator-specific interrupt is requested. Emulator-specific interrupts are different from user interrupts, and do not transition to break mode when accepted. Treated in the same way as a user interrupt request. Such a register can be read / written regardless of the user mode or the break mode.

【0051】かかるエミュレータ割込制御レジスタは、
ユーザモード/ブレークモードに拘わらずリード/ライ
ト可能とされる。エミュレータに搭載したOSのデバッ
ガがユーザプログラム実行中に、このエミュレータ専用
割込を入れることにより割り込みハンドラがタスクの状
態などを調べたりすることに好適である。OSはユーザ
モードでも動作するために、エミュレータ割込制御レジ
スタをユーザモードでリード/ライトすることは都合が
よい。このためにマイクロコンピュータの資源を利用す
ることがない。
The emulator interrupt control register includes:
Read / write is enabled regardless of the user mode / break mode. When the debugger of the OS mounted on the emulator is executing the user program, it is suitable for the interrupt handler to check the state of the task or the like by interrupting the emulator. Since the OS operates even in the user mode, it is convenient to read / write the emulator interrupt control register in the user mode. Therefore, the resources of the microcomputer are not used.

【0052】ユーザリセットによって、OSも初期化さ
れることに対応してエミュレータ割込制御レジスタもU
RESで初期化される。OSについては、平成3年8月
(株)日立製作所発行『HI8−3X』などに記載され
ている。
When the OS is also initialized by the user reset, the emulator interrupt control register is set to U
Initialized by RES. The OS is described in "HI8-3X" issued by Hitachi, Ltd. in August 1991.

【0053】(5).ブレーク制御レジスタBRKCRは1
6ビット構成のレジスタである。ウィンドウ制御ビット
WD0,1は、ブレークモード中にユーザバスのアクセ
スを許可する。WD0ビットが“1”にセットされてい
る時はリードデータアクセス時、WD1ビットが“1”
にセットされている時はライトデータアクセス時にユー
ザバスのアクセスが行われる。ユーザモードのときは無
視される。
(5) The break control register BRKCR is 1
This is a 6-bit register. Window control bits WD0 and WD1 permit access to the user bus during the break mode. When the WD0 bit is set to “1”, the WD1 bit is set to “1” during read data access.
Is set, the user bus is accessed at the time of write data access. Ignored in user mode.

【0054】ブレークモードでは、ユーザの指定に関わ
らずアクセスステートは3ステートとされ、DRAMイ
ンタフェース用のアドレスマルチプレクスなどは行わな
い。このとき、WD0、WD1ビットを“1”にセット
するとユーザの指定通りのアクセスを行う。エミュレー
タのメモリコマンドなどで、ブレークモードにおいてユ
ーザメモリをリードして表示したり、指定された値をユ
ーザメモリにライトしたりすることに好適である。
In the break mode, the access state is set to three states irrespective of the designation by the user, and the address multiplexing for the DRAM interface is not performed. At this time, if the WD0 and WD1 bits are set to "1", access is performed as specified by the user. It is preferable to read and display the user memory in the break mode by using a memory command of the emulator or to write a specified value to the user memory.

【0055】DRAMアクセス用のアドレスマルチプレ
クスは、平成5年3月(株)日立製作所発行『H8/3
003 ハードウェアマニュアル』p155〜p194
などに記載されている。また、メモリコマンドについて
は、平成6年3月(株)日立製作所発行『H8/300
Hシリーズ エミュレータE7000ユーザーズマニュ
アル』p12−56〜p12−57に記載されている。
The address multiplex for DRAM access is described in “H8 / 3” issued by Hitachi, Ltd. in March 1993.
003 Hardware Manual ”p155-p194
And so on. Regarding memory commands, see “H8 / 300” issued by Hitachi, Ltd. in March 1994.
H Series Emulator E7000 User's Manual ”, pp. 12-56 to 12-57.

【0056】ウィンドウ制御ビットは、URESで初期
化される。シングルステップビットSSTPは、ユーザ
プログラム1命令実行後にBRK割込を内部で要求す
る。すなわちSSTPビットを“1”にセットした状
態、かつBRKAKが非活性状態のときにシングルステ
ップBRK割込が要求される。ただし、RTB命令実行
後はかかるシングルステップBRK割込要求は無視され
る。
The window control bits are initialized with URES. The single step bit SSTP internally requests a BRK interrupt after executing one instruction of the user program. That is, a single-step BRK interrupt is required when the SSTP bit is set to "1" and BRKAK is inactive. However, after execution of the RTB instruction, such a single-step BRK interrupt request is ignored.

【0057】SSTPビットは、CPUの内部状態に影
響を与えず、エミュレータ専用の資源として扱われるか
らデバックに好適である。シングルステップについて
は、平成6年3月(株)日立製作所発行『H8/300
Hシリーズ エミュレータE7000ユーザーズマニュ
アル』p12−76〜p12−78に記載されている。
The SSTP bit is suitable for debugging because it does not affect the internal state of the CPU and is treated as a resource dedicated to the emulator. For the single step, see “H8 / 300” issued by Hitachi, Ltd. in March 1994.
H Series Emulator E7000 User's Manual ”, pp. 12-76 to 12-78.

【0058】ブレーク割込許可ビットBMBEは、ユー
ザモードで常に禁止状態に初期化されている。これによ
って、ユーザモードからブレークモードへの遷移時のブ
レークの多重例外処理を禁止することができる。多重例
外処理は、たとえばBRK命令とBRK割込の競合があ
る。BRK命令は、たとえばユーザプログラムの最後の
命令の次に配置される。
The break interrupt enable bit BMBE is always initialized to a disabled state in the user mode. This makes it possible to prohibit multiple exception handling of a break when transitioning from the user mode to the break mode. In the multiple exception processing, for example, there is a conflict between the BRK instruction and the BRK interrupt. The BRK instruction is arranged, for example, next to the last instruction of the user program.

【0059】このユーザプログラム終了後のBRK命令
の実行とブレーク条件が成立し、BRK割込が要求され
たとき、BRK命令実行後、すなわちブレークモード遷
移後にBRK割込を実行してしまうと、エミュレータ専
用スタックメモリを内蔵している場合、一旦スタックし
た内容を2回めの例外処理で破壊してしまう可能性があ
る。これをブレーク割込許可ビットによってユーザモー
ドからブレークモードへの遷移時のブレークの多重例外
処理を禁止することによって回避することができる。
When the execution of the BRK instruction and the break condition are satisfied after the end of the user program and the BRK interrupt is requested, if the BRK interrupt is executed after the execution of the BRK instruction, that is, after the transition to the break mode, the emulator is activated. When a dedicated stack memory is provided, the contents once stacked may be destroyed by the second exception processing. This can be avoided by prohibiting multiple exception handling of a break at the time of transition from the user mode to the break mode using the break interrupt enable bit.

【0060】また、ブレークモード遷移後、BRK命令
は使用しないから、その後ブレーク割込許可ビットを許
可状態にすればブレークモード中であってもBRK割込
を使用することができる。
Since the BRK instruction is not used after the transition to the break mode, the BRK interrupt can be used even during the break mode if the break interrupt enable bit is set to the enable state thereafter.

【0061】トリガ出力許可ビットTOEは、ブレーク
条件が成立したときに、トリガ出力端子BTOA、B端
子にトリガ出力を行うことを許可する。ブレーク条件A
が成立するとBTOA端子に、ブレーク条件Bが成立す
るとBTOB端子に、1ステートのハイレベルのパルス
出力を行う。
The trigger output permission bit TOE permits the trigger output to the trigger output terminals BTOA and BTOA when the break condition is satisfied. Break condition A
Is satisfied, a one-state high-level pulse is output to the BTOA terminal when the break condition B is satisfied.

【0062】かかる端子を観測することによって、プロ
グラムの第1の所望のステップから第2の所望のステッ
プまでの時間を容易に計測できる。プログラムの第1の
所望のステップのアドレスをBARAに、第2の所望の
ステップのアドレスをBARBに設定し、BIEA、B
IEBビットを“0”にクリアし、命令実行を選択して
TOEビットを“1”にセットした状態でプログラムを
実行させ、BTOA端子に1ステートのハイレベルが出
力されてからBTOB端子に1ステートのハイレベルが
出力されるまでの時間を計測することができる。あるい
は、プログラムの実行回数を計測することができる。こ
の結果に基づき、BRK端子によってブレークを要求す
ることができる。
By observing such terminals, the time from the first desired step to the second desired step of the program can be easily measured. The address of the first desired step of the program is set to BARA and the address of the second desired step is set to BARB, and BIEA, B
The IEB bit is cleared to "0", the instruction execution is selected, and the program is executed in a state where the TOE bit is set to "1". After the high level of one state is output to the BTOA terminal, one state is output to the BTOB terminal. Can be measured until a high level is output. Alternatively, the number of executions of the program can be measured. Based on this result, a break can be requested by the BRK terminal.

【0063】ブレーク割込A,B許可ビットBIEA,
Bは、ブレーク条件A,Bによるブレーク要求を許可す
る。禁止状態でもブレーク条件の判定を行い、BTO
A,B端子のパルス出力を行うことができる。
Break interrupt A and B enable bits BIEA,
B permits a break request based on the break conditions A and B. Even in the disabled state, the break condition is determined and the BTO
Pulse output from the A and B terminals can be performed.

【0064】条件選択ビットCSA1,0およびCSB
1,0は、ブレーク条件を設定する。命令の実行、リー
ドアクセス、ライトアクセス、リードまたはライトアク
セスから選択できる。たとえば、命令の実行を選択する
とCPUがBARおよびBAMRで指定したアドレスの
命令をフェッチし、実行したときにブレークが要求され
当該命令の実行後にブレークするようにされる。ブレー
クについては、平成6年3月(株)日立製作所発行『H
8/300Hシリーズ エミュレータE7000ユーザ
ーズマニュアル』p12−56〜p12−57に記載さ
れている。かかるレジスタは、ブレークモードでのみリ
ード/ライト可能である。
Condition selection bits CSA1, 0 and CSB
1, 0 sets a break condition. Instruction execution, read access, write access, read or write access can be selected. For example, when execution of an instruction is selected, the CPU fetches an instruction at an address specified by BAR and BAMR, a break is requested when the instruction is executed, and a break occurs after execution of the instruction. Regarding the break, "H" issued by Hitachi, Ltd. in March 1994
8 / 300H Series Emulator E7000 User's Manual ”, pp. 12-56 to 12-57. Such a register can be read / written only in the break mode.

【0065】(6).アドレスレジスタBAR・アドレスマ
スクレジスタBAMRは、CPUのアドレス空間に対応
して24ビットのレジスタとされる。A,Bの2チャネ
ル分が存在する。
(6) The address register BAR and the address mask register BAMR are 24-bit registers corresponding to the address space of the CPU. There are two channels A and B.

【0066】アドレスレジスタはアドレスを指定する。
この内、アドレスマスクレジスタの対応するビットが
“1”にセットされているビットは無視される。この指
定されたアドレスとCPUの出力するアドレスとを比較
し、一致しているかどうかの判定を行う。かかる判定
は、(CA23・AR23+¬CA23・¬AR23+
AMR23)・…・(CAn・ARn+¬CAn・¬A
Rn+AMRn)・…・(CA0・AR0+¬CA0・
¬AR0+AMR0)と表現される。¬は論理反転を示
す。なお、CA23−0はCPUの出力するビット23
−0である。
The address register specifies an address.
Of these, bits for which the corresponding bit of the address mask register is set to "1" are ignored. The specified address is compared with the address output by the CPU to determine whether they match. This determination is (CA23 / AR23 + @ CA23 / @ AR23 +
(AMR23) ···· (CAn · ARn + nCAn · ¬A
Rn + AMRn) ···· (CA0 · AR0 + ¬CA0 ·
¬AR0 + AMR0). ¬ indicates logical inversion. Note that CA23-0 is bit 23 output by the CPU.
−0.

【0067】(7).エミュレータスタックメモリレジスタ
EMLSTKRは、ブレーク時のスタック領域とされ
る。CPUの1回分の例外処理スタックに対応する容
量、たとえば4バイトが設けられている。たとえば、C
PUのコンディションコードレジスタCCRの1バイ
ト、プログラムカウンタPCの3バイトである。かかる
スタックについては、平成5年3月(株)日立製作所発
行『H8/3003 ハードウェアマニュアル』p79
〜p88などに記載されている。
(7) The emulator stack memory register EMLSTKR is used as a stack area at the time of a break. A capacity corresponding to one exception processing stack of the CPU, for example, 4 bytes is provided. For example, C
One byte of the condition code register CCR of the PU and three bytes of the program counter PC. For such a stack, see “H8 / 3003 Hardware Manual”, p. 79, issued by Hitachi, Ltd. in March 1993.
To p88.

【0068】ブレーク時には、CPUのスタックポイン
タSPは無視されて、必ずエミュレータスタックメモリ
にスタックが行われる。ブレーク割込許可ビットによっ
て、ブレークが多重に発生してエミュレーションスタッ
クメモリを破壊してしまうことは防止される。リセット
初期値は、特に制限はされないものの不定とされる。
At the time of a break, the stack pointer SP of the CPU is ignored, and the stack is always stored in the emulator stack memory. The break interrupt enable bit prevents the break from occurring multiple times and destroying the emulation stack memory. The reset initial value is not specified, but is undefined.

【0069】続いて、図10のアドレスマップによりア
ドレス空間を説明する。
Next, the address space will be described with reference to the address map shown in FIG.

【0070】CPUのアドレス空間は16Mバイトとさ
れ、これを128kバイト8エリア、1Mバイト1エリ
ア、2Mバイト7エリアに分割されており、それぞれの
エリアの属性をMEMCR、EWTCRの各ビットで指
定する。内蔵ROM、内蔵RAM、および内部I/Oレ
ジスタと重なっている領域は内蔵ROM、内蔵RAM、
および内部I/Oレジスタの指定が優先され、上記制御
ビットは無視される。
The address space of the CPU is 16 Mbytes, which is divided into 8 areas of 128 Kbytes, 1 area of 1 Mbytes, and 7 areas of 2 Mbytes, and the attribute of each area is specified by each bit of MEMCR and EWTCR. . The areas overlapping the internal ROM, the internal RAM, and the internal I / O register are the internal ROM, the internal RAM,
And the specification of the internal I / O register is prioritized, and the control bit is ignored.

【0071】バス制御指定レジスタが、バスコントロー
ラの制御を行う。エミュレーションメモリの領域を指定
する。これはユーザモードで有効になる。内蔵ROMに
連続し、プログラム領域となることが多い領域を細分
し、プログラム用の貸し出しメモリを設定できるのは都
合が良い。
The bus control designation register controls the bus controller. Specify the emulation memory area. This is enabled in user mode. It is convenient to be able to subdivide an area that is often connected to the built-in ROM and become a program area, and set a program lending memory.

【0072】そのほかの領域を2Mバイトずつとし、ユ
ーザ側のバス制御の設定と共通化できれば都合が良い。
かかるユーザ側のバス制御については、平成5年3月
(株)日立製作所発行『H8/3003 ハードウェア
マニュアル』p121〜p154に記載されている。
It is convenient if the other area is set to 2 Mbytes and can be shared with the bus control setting on the user side.
The bus control on the user side is described in "H8 / 3003 Hardware Manual" published by Hitachi, Ltd., March 1993, p121 to p154.

【0073】ブレークモードでは基本的にエミュレーシ
ョンバスを用いたアクセスを行う。エミュレータがユー
ザメモリのモニタや変更を行う場合には、ウィンドウビ
ットを用いてユーザメモリをアクセスすることができ
る。これはユーザメモリのモニタや変更を行う目的に則
してデータアクセスのみが対象になる。
In the break mode, access is basically made using an emulation bus. When the emulator monitors or changes the user memory, the user memory can be accessed using the window bits. This applies only to data access in order to monitor and change the user memory.

【0074】続いて、図11,12の状態図によりアク
セス方法を説明する。
Next, the access method will be described with reference to the state diagrams of FIGS.

【0075】ユーザモードで、対応するMEMCRが
“0”にクリアされた状態では、マイクロコンピュータ
の、たとえばバスコントローラで指定したバスサイクル
となる。外部メモリに対するアクセス時には、ユーザ側
のストローブ信号が有効になる。シーケンス出力は、マ
イクロコンピュータの指定に従ったストローブ信号が出
力されることを示す。ユーザ側WAIT端子もマイクロ
コンピュータの指定に従って有効になる。さらに、EW
TCRによってEMLWAITが許可されるか禁止され
るかが指定される。
In the user mode, when the corresponding MEMCR is cleared to "0", a bus cycle of the microcomputer, for example, specified by a bus controller is performed. When accessing the external memory, the strobe signal on the user side becomes valid. The sequence output indicates that a strobe signal according to the specification of the microcomputer is output. The user side WAIT terminal is also enabled according to the specification of the microcomputer. Furthermore, EW
The TCR specifies whether EMLWAIT is allowed or prohibited.

【0076】ユーザモードで、外部メモリに対するアク
セス時には、対応するMEMCRが“1”にセットされ
た状態ではマイクロコンピュータの指定したバスサイク
ルは無効になり、エミュレーション用バスサイクルとな
る。エミュレーションバスを介してリード/ライトが行
われる。基本バスステート数は3ステートになる。ユー
ザ側のストローブ信号は非活性状態(ハイレベル固定)
とされ、またユーザ側WAIT端子は無視される。ユー
ザ側のストローブ信号はリード信号RD、ライト信号H
WR,LWR、カラムアドレスストローブCASなどが
含まれる。前記同様にEWTCRによってEMLWAI
Tが許可されるか禁止されるかが指定される。
In the user mode, when an external memory is accessed, the bus cycle specified by the microcomputer is invalidated when the corresponding MEMCR is set to "1", and the bus cycle becomes an emulation bus cycle. Read / write is performed via the emulation bus. The number of basic bus states is three. User side strobe signal is inactive (fixed to high level)
And the user side WAIT terminal is ignored. The strobe signal on the user side is read signal RD, write signal H
WR, LWR, column address strobe CAS and the like are included. EMLWAI by EWTCR as before
Whether T is permitted or prohibited is specified.

【0077】すなわち、ユーザモードであっても対応す
るMEMCRが“1”にセットされた領域については、
エミュレータ側のメモリをリード/ライトすることがで
きる。エミュレータ側のメモリの内、ユーザの使用を許
しているメモリ(貸し出しメモリ)の存在するアドレス
について、予め対応するMEMCRを“1”にセットす
るようにしておけばよい。ウェイトを挿入しなければア
クセスできない場合には、EWTCRによってEMLW
AITを許可しておく。
That is, even in the user mode, in the area where the corresponding MEMCR is set to “1”,
The memory on the emulator side can be read / written. Among the memories on the emulator side, the MEMCR corresponding to the address at which the memory (rental memory) permitted to be used by the user may be set to “1” in advance. If access is not possible without inserting a wait, EMLW
Allow AIT.

【0078】ブレークモードでは、基本的にマイクロコ
ンピュータの指定したバスサイクルは無効になり、エミ
ュレーション用バスサイクルとなる。エミュレーション
バスを介してリード/ライトが行われる。基本バスステ
ート数は3ステートになる。EMLWAITが許可され
る。ユーザ側のストローブ信号は非活性状態とされ、ま
たユーザ側WAIT端子は無視される。
In the break mode, the bus cycle specified by the microcomputer is basically invalidated, and becomes a bus cycle for emulation. Read / write is performed via the emulation bus. The number of basic bus states is three. EMLWAIT is allowed. The user side strobe signal is deactivated, and the user side WAIT terminal is ignored.

【0079】ブレークモードで、WD1,0ビットで指
定したデータアクセスが発生すると、マイクロコンピュ
ータの指定したバスサイクルとなる。外部アドレスがア
クセスされていればユーザ側のストローブ信号が有効に
なる。ユーザ側WAIT端子もマイクロコンピュータの
指定に従って有効になる。
When a data access specified by the WD1,0 bits occurs in the break mode, a bus cycle specified by the microcomputer occurs. If the external address is accessed, the strobe signal on the user side becomes valid. The user side WAIT terminal is also enabled according to the specification of the microcomputer.

【0080】たとえば、エミュレーション用バスサイク
ルとする条件は、¬(ROM+RAM+IO)・(BR
KAK・(PF+DRD・¬WD0+DWR・¬WD
1)+・¬BRKAK・MCi)と表現される。MCi
は選択されたアドレスに対応するMEMCRのビットを
示す。PFは命令リード、DRDはデータリード、DW
Rはデータライトを示す。¬は論理反転を示す。
For example, the condition for the emulation bus cycle is as follows: (ROM + RAM + IO). (BR
KAK ・ (PF + DRD ・ ¬WD0 + DWR ・ ¬WD
1) It is expressed as + · ・ BRAKAK · MCi). MCi
Indicates a MEMCR bit corresponding to the selected address. PF is instruction read, DRD is data read, DW
R indicates data write. ¬ indicates logical inversion.

【0081】続いて、図13のブロック図によりエミュ
レーション用プロセッサのバス構成を説明する。
Next, the bus configuration of the emulation processor will be described with reference to the block diagram of FIG.

【0082】バスコントローラは、PAB・PDBから
なるバスを制御するP−BUF、バス制御レジスタを含
む。バス制御レジスタは、たとえば特願平4−1379
56号に記載されている。エミュレーション用バスサイ
クルが選択されると、バス制御レジスタの内容などは無
視される。エミュレーションインタフェースは、エミュ
レーションバスを制御するEMLBUFを含む。
The bus controller includes a P-BUF for controlling a bus composed of PAB and PDB, and a bus control register. The bus control register is disclosed in, for example, Japanese Patent Application No. Hei 4-1379.
No. 56. When the emulation bus cycle is selected, the contents of the bus control register and the like are ignored. The emulation interface includes an EMLBUF that controls the emulation bus.

【0083】MSは、CPUまたはDTCが出力する起
動信号とIABを入力し、バス制御レジスタ、MEMC
R・EWTCRの各レジスタ、およびWD1,0ビット
によってアクセス先とアクセス方法を判定し、P−BU
F、ユーザBUF、EMLBUFの各バッファのいずれ
かを起動する。
The MS receives a start signal and IAB output from the CPU or DTC, and inputs a bus control register, MEMC
An access destination and an access method are determined based on each register of the R • EWTCR and the WD1,0 bits, and the P-BU
Activate any of the buffers F, user BUF, and EMLBUF.

【0084】P−BUF、ユーザBUFが起動されてい
てもEMLBUFは出力用に起動を行う。P−BUF、
ユーザBUF、EMLBUFが起動されると、所定のタ
イミングでアドレスバス・各種ストローブ信号を出力し
データバスの入出力を行う。各バッファがバスサイクル
を終了するとMSに終了信号を出力する。MSはCPU
またはDTCに終了信号を出力する。CPUまたはDT
Cが次のバスサイクルを開始する。
Even if the P-BUF and the user BUF are activated, the EMLBUF activates for output. P-BUF,
When the user BUF and the EMLBUF are activated, an address bus and various strobe signals are output at a predetermined timing to input / output a data bus. When each buffer ends the bus cycle, it outputs an end signal to the MS. MS is CPU
Alternatively, an end signal is output to the DTC. CPU or DT
C starts the next bus cycle.

【0085】なお、各バッファのバス制御およびバス制
御レジスタについては、たとえば特願平4−13795
6号に記載されている。
The bus control of each buffer and the bus control register are described in, for example, Japanese Patent Application No. 4-13795.
No. 6.

【0086】続いて、図14のタイミング図によりバス
タイミングの一例を説明する。これは、バス制御レジス
タで2ステートアクセス空間に指定された外部アドレス
をユーザモードでリードする場合の例である。
Next, an example of the bus timing will be described with reference to the timing chart of FIG. This is an example in which an external address specified in the two-state access space by the bus control register is read in the user mode.

【0087】MCビットが“0”にクリアされ、マイク
ロコンピュータの指定したバスサイクルが有効であれば
2ステートでアクセスし、ユーザ側のストローブ信号A
S、RDなどが所定の出力を行いユーザデータバスから
データをリードする。エミュレータ用ストローブ信号は
有効であり、エミュレーション用データバスにはユーザ
データバスのリードデータが出力される。
If the MC bit is cleared to "0" and the bus cycle specified by the microcomputer is valid, access is made in two states, and the strobe signal A on the user side is accessed.
S, RD, etc. perform predetermined output and read data from the user data bus. The emulator strobe signal is valid, and read data of the user data bus is output to the emulation data bus.

【0088】MCビットが“1”にセットされ、エミュ
レーション用バスサイクルが行われると基本バスサイク
ルは3ステートとされる。WCビットを“1”にセット
しておけば、EMLWAITによりウェイトが要求さ
れ、たとえば1ステートのウェイトステートが挿入され
4ステートアクセスとされる。ユーザ側のストローブ信
号は非活性状態に固定され、ユーザデータバスはハイイ
ンピーダンス状態とされる。エミュレータ用ストローブ
信号は有効であり、エミュレーション用データバスから
データをリードする。
When the MC bit is set to "1" and an emulation bus cycle is performed, the basic bus cycle is set to three states. If the WC bit is set to "1", a wait is requested by EMLWAIT, and, for example, one wait state is inserted and four-state access is performed. The strobe signal on the user side is fixed in an inactive state, and the user data bus is set to a high impedance state. The emulator strobe signal is valid, and data is read from the emulation data bus.

【0089】続いて、図15のタイミング図によりブレ
ークリセットのタイミングを説明する。
Next, the timing of the break reset will be described with reference to the timing chart of FIG.

【0090】EMLWAIT信号が活性状態のとき、R
ES信号が活性状態になるとブレークリセットとされ、
CPUがリセット例外処理を実行するに先立ってBRK
AK信号が活性状態とされる。かかるBRKAK信号が
活性状態の状態で、CPUはベクタ(スタートアドレ
ス)のリードと、これに引き続いた命令フェッチを行
う。BRKAK信号が活性状態であるために、ベクタお
よび命令フェッチはエミュレーションメモリが選択され
る。従って、エミュレータ側の任意のプログラムを実行
させることができる。
When the EMLWAIT signal is active, R
When the ES signal becomes active, a break reset is performed,
BRK before the CPU executes reset exception handling
The AK signal is activated. While the BRKAK signal is in an active state, the CPU reads a vector (start address) and performs an instruction fetch following the read vector. Since the BRKAK signal is active, emulation memory is selected for vector and instruction fetch. Therefore, any program on the emulator side can be executed.

【0091】メモリアクセスは全て3ステートアクセス
とされ、EMLWAITも含めたウェイトが許可され
る。BRKAK信号が活性状態とされ、ユーザ側ストロ
ーブ信号は非活性状態に固定される。
All memory accesses are three-state accesses, and waits including EMLWAIT are permitted. The BRKAK signal is activated, and the user-side strobe signal is fixed at an inactive state.

【0092】続いて、図16のタイミング図によりユー
ザリセットのタイミングを説明する。
Next, the timing of the user reset will be described with reference to the timing chart of FIG.

【0093】EMLWAIT信号が非活性状態のとき、
RES信号が活性状態になるとユーザリセットとされ、
BRKAK信号が非活性状態のままCPUがリセット例
外処理を実行する。かかるBRKAK信号が非活性状態
の状態で、CPUはベクタ(スタートアドレス)のリー
ドと、これに引き続いた命令フェッチを行う。BRKA
K信号が非活性状態であるために、ベクタおよび命令フ
ェッチはユーザメモリが選択される。
When the EMLWAIT signal is inactive,
When the RES signal becomes active, the user is reset,
The CPU executes the reset exception processing while the BRKAK signal is in the inactive state. When the BRKAK signal is in an inactive state, the CPU reads a vector (start address) and fetches an instruction following the vector (start address). BRKA
Since the K signal is inactive, user memory is selected for vector and instruction fetch.

【0094】メモリアクセスはユーザの指定に従ったア
クセス、特に制限はされないものの図16においては、
ベクタおよび最初の命令が内蔵ROMに存在するものと
し、1ステートでアクセスとされEMLWAITも含め
たウェイトが禁止される。ベクタまたは最初の命令が外
部メモリに存在する場合には、ユーザ側ストローブ信号
が所定の出力状態になる。
The memory access is an access according to the user's specification. Although not particularly limited, in FIG.
It is assumed that the vector and the first instruction exist in the built-in ROM, and are accessed in one state, and the wait including EMLWAIT is prohibited. When the vector or the first instruction exists in the external memory, the user-side strobe signal goes into a predetermined output state.

【0095】リセットを2種類有するエミュレーション
用プロセッサは、特願平4−316068号に記載され
ている。これはエミュレーション専用レジスタの初期化
と、バスステート数の変更についてのみ検討されてい
る。この例では、エミュレーション用プロセッサのユー
ザバスとエミュレーションバスが共通である。また、エ
ミュレーション専用レジスタとしては、エミュレーショ
ン対象となるマイクロコンピュータを指定するレジスタ
のみが検討されている。
An emulation processor having two types of resets is described in Japanese Patent Application No. 4-316068. This is only considered for the initialization of the emulation dedicated register and the change of the number of bus states. In this example, the user bus and the emulation bus of the emulation processor are common. As registers dedicated to emulation, only registers that specify a microcomputer to be emulated have been studied.

【0096】本発明においては、2種類のリセットに対
応してBRKAK信号を活性状態にしたり、非活性状態
にしたりすることによってユーザバスとエミュレーショ
ンバスが独立であっても制御を容易にすることができ
る。リセット後にブレークモードに遷移する手間を省く
ことができる。
In the present invention, the BRKAK signal is activated or deactivated in response to two types of resets, thereby facilitating control even when the user bus and the emulation bus are independent. it can. The trouble of transitioning to the break mode after reset can be saved.

【0097】また、マイクロコンピュータを指定するレ
ジスタのみに限らず、エミュレータシステム全体に関わ
るレジスタ、たとえばMEMCRやEWTCRなどもユ
ーザリセットで保持するようにすることによってソフト
ウェアによる再設定の手間を省くことができる。
Further, not only the register for designating the microcomputer but also registers relating to the entire emulator system, for example, MEMCR and EWTCR are held by user reset, so that the trouble of resetting by software can be saved. .

【0098】続いて、図17のブロック図によりブレー
クリセット制御回路を説明する。
Next, the break reset control circuit will be described with reference to the block diagram of FIG.

【0099】EMLWAITは、ウェイト要求信号とし
てバスコントローラに要求されるほか、クロックトバッ
ファまたはフリップフロップ3段を介してリセット制御
に用いられる。
EMLWAIT is requested from the bus controller as a wait request signal, and is used for reset control via a clocked buffer or three stages of flip-flops.

【0100】また、リセット信号RESは、クロックト
バッファまたはフリップフロップ3段を介して内部リセ
ット信号RSTを生成する。また、内部リセット信号R
STと、クロックトバッファまたはフリップフロップ3
段を介したEMLWAIT信号とが論理積回路に入力さ
れ、さらにこの出力の反転と、前記出力をクロックトバ
ッファまたはフリップフロップ2段を介した信号とが論
理積回路に入力され、かかる出力がBRST信号とされ
る。
The reset signal RES generates an internal reset signal RST via a clocked buffer or three stages of flip-flops. Also, the internal reset signal R
ST and clocked buffer or flip-flop 3
The EMLWAIT signal passed through the stage is input to the AND circuit, and the output is inverted and the output is passed through a clocked buffer or a flip-flop to the AND circuit. Signal.

【0101】従って、RES#端子が非活性状態に遷移
するときのEMLWAIT#信号の状態によってBRS
T信号が活性状態になるかならないかが設定される。B
RST信号はブレークアクノリッジ信号BRKAKの遷
移信号としても用いられる。前記ユーザリセットで初期
化される部分はRST信号によって初期化される。ま
た、ブレークリセットで初期化される部分はBRST信
号によって初期化される。
Therefore, BRS is changed according to the state of the EMLWAIT # signal when the RES # terminal transits to the inactive state.
Whether the T signal is activated or not is set. B
The RST signal is also used as a transition signal of the break acknowledge signal BRKAK. The part initialized by the user reset is initialized by the RST signal. The part initialized by the break reset is initialized by the BRST signal.

【0102】RES#端子が非活性状態に遷移するとき
のEMLWAIT#信号の状態を参照することによっ
て、任意の状態でRES#が活性状態になっても誤って
ブレークリセットとされることがない。エミュレータは
RES 信号が活性状態になった時点で、EMLWAI
T#信号を非活性状態にすればユーザリセットとされ、
エミュレータ専用レジスタの相当部分は保持される。#
は負論理信号を示す。
By referring to the state of the EMLWAIT # signal when the RES # terminal transitions to the inactive state, break reset is not erroneously made even if RES # is activated in any state. When the RES signal is activated, the emulator
When the T # signal is deactivated, the user is reset.
A significant portion of the emulator dedicated registers are retained. #
Indicates a negative logic signal.

【0103】続いて、図18のブロック図によりブレー
クアクノリッジBRKAK信号制御回路を説明する。
Next, the break acknowledge BRKAK signal control circuit will be described with reference to the block diagram of FIG.

【0104】BRKAK信号はフリップフロップ回路で
制御される。かかるフリップフロップ回路の出力がBR
KAK信号である。フリップフロップのセット信号とし
て、論理積回路の出力が与えられる。かかる論理積回路
の一方の入力はクロックφ2とされ、他方の入力は論理
和回路の出力であり、かかる論理和回路の入力は前記B
RST信号と、CPUがブレーク例外処理を実行したと
きに所定のタイミングで出力するSETBRKAK信号
とされる。
The BRKAK signal is controlled by a flip-flop circuit. The output of such a flip-flop circuit is BR
This is a KAK signal. The output of the AND circuit is provided as a set signal of the flip-flop. One input of the AND circuit is the clock φ2, the other input is the output of the OR circuit, and the input of the OR circuit is the B
An RST signal and a SETBRAKAK signal output at a predetermined timing when the CPU executes break exception processing.

【0105】なお、ブレーク例外処理は、ブレーク命令
BRKを実行したとき、BRK端子によるブレーク要求
によってブレーク割込を実行したとき、BRKCR・B
AR・BAMRによる条件が成立したことによるブレー
ク要求によってブレーク割込を実行したとき、およびシ
ングルステップブレークを実行したときに行われる。
Note that the break exception processing is performed when a break instruction BRK is executed, when a break interrupt is executed by a break request from the BRK terminal, and when BRKCR · B
This is performed when a break interrupt is executed by a break request due to the satisfaction of the AR / BAMR condition and when a single-step break is executed.

【0106】また、フリップフロップのセット信号とし
て論理積回路の出力が与えられる。かかる論理積回路の
一方の入力はクロックφ2とされ、他方の入力はCPU
がブレークからのリターン命令RTBを実行したときに
所定のタイミングで出力するRESBRKAK信号とさ
れる。
The output of the AND circuit is given as a set signal of the flip-flop. One input of the AND circuit is a clock φ2, and the other input is a CPU φ2.
Is a RESBRKAK signal output at a predetermined timing when a return instruction RTB from a break is executed.

【0107】従って、ブレークリセットのとき、または
CPUがブレーク例外処理を起動したときにBRKAK
信号は活性状態になる。CPUがブレーク例外処理を実
行したときにBRKAK信号は非活性状態になる。
Therefore, at the time of a break reset or when the CPU activates the break exception handling, the BRKAK
The signal goes active. When the CPU executes the break exception processing, the BRKAK signal becomes inactive.

【0108】続いて、図19のブロック図によりエミュ
レーション専用制御レジスタの一例を説明する。
Next, an example of the emulation-dedicated control register will be described with reference to the block diagram of FIG.

【0109】制御レジスタはフリップフロップを中心に
構成される。かかるフリップフロップの出力Qが制御信
号として用いられる。また、かかる出力はクロックトバ
ッファを介してデータバスに接続される。かかるクロッ
クトバッファのクロックは、アドレスデコード信号およ
びブレークモード信号の論理積信号とリード信号との論
理積信号とされる。
The control register is mainly composed of flip-flops. The output Q of such a flip-flop is used as a control signal. The output is connected to a data bus via a clocked buffer. The clock of the clocked buffer is an AND signal of the AND signal of the address decode signal and the break mode signal and the read signal.

【0110】フリップフロップの入力Dは前記データバ
スであり、クロックCは前記アドレスデコード信号およ
びブレークモード信号の論理積信号とライト信号との論
理積信号とされる。かかるアドレスデコード信号は、C
PUの出力するアドレスが制御レジスタの存在するアド
レスになったとき活性状態とされる。すなわち、ブレー
クモードでのみリード/ライト可能とされる。IRQC
Rについては、ユーザモードでもリード/ライト可能と
したことにより上記ブレークモード信号は除かれる。
The input D of the flip-flop is the data bus, and the clock C is a logical product signal of the logical product signal of the address decode signal and the break mode signal and the write signal. Such an address decode signal is C
When the address output by the PU becomes the address where the control register exists, the PU is activated. That is, read / write is enabled only in the break mode. IRQC
As for R, the break mode signal is removed by enabling read / write in the user mode.

【0111】フリップフロップのリセット入力Rは、ブ
レークリセット信号とされる。ブレークリセット時に
“0”にクリアされる。ブレークリセット時に“1”に
セットすべき制御レジスタについては、フリップフロッ
プのセット入力にブレークリセット信号を入力するよう
にする。
A reset input R of the flip-flop is used as a break reset signal. Cleared to "0" at break reset. For a control register to be set to "1" at the time of a break reset, a break reset signal is input to the set input of the flip-flop.

【0112】IRQCRについては、ユーザリセットで
初期化としたことにより、リセット入力Rはユーザリセ
ット信号とされる。また、EMLSTKRはリセット入
力は除かれ、ユーザリセットでもブレークリセットでも
初期化されない。
Since the IRQCR is initialized by a user reset, the reset input R is a user reset signal. EMLSTKR does not have a reset input and is not initialized by a user reset or a break reset.

【0113】続いて、図20のブロック図によりブレー
ク割込制御回路を説明する。
Next, the break interrupt control circuit will be described with reference to the block diagram of FIG.

【0114】CPUに対するブレーク要求は3要因が存
在する。第1はBRK端子による要求である。第2はア
ドレス比較Aによる要求であり、これはBRKCRのB
IEAビットによって許可される。第3はアドレス比較
Bによる要求であり、これはBRKCRのBIEBビッ
トによって許可される。
There are three causes of a break request to the CPU. The first is a request by the BRK terminal. The second is a request by address comparison A, which is BRKCR B
Permitted by the IEA bit. The third is a request by address comparison B, which is granted by the BIEB bit of BRKCR.

【0115】なお、かかるアドレス比較は前記の通り、
(CA23・AR23+¬CA23・¬AR23+AM
R23)・…・(CAn・ARn+¬CAn・¬ARn
+AMRn)・…・(CA0・AR0+¬CA0・¬A
R0+AMR0)と表現される。これらの論理和信号
が、ブレーク要求としてCPUに与えられる。
Note that this address comparison is as described above.
(CA23 / AR23 + @ CA23 / @ AR23 + AM
R23) · · · (CAn · ARn + $ CAn · @ARn
+ AMRn) ···· (CA0 · AR0 + ¬CA0 · ¬A
R0 + AMR0). These OR signals are supplied to the CPU as a break request.

【0116】ブレークモードでは、BMBEビットの状
態によってBRK端子によるブレーク要求の許可禁止が
選択される。すなわち、ブレークモードでBMBEビッ
トが“0”にクリアされている場合はブレーク要求が抑
止される。アドレス比較によるブレーク要求はブレーク
モードで禁止される。
In the break mode, permission / prohibition of the break request by the BRK terminal is selected according to the state of the BMBE bit. That is, when the BMBE bit is cleared to "0" in the break mode, the break request is suppressed. Break requests due to address comparison are prohibited in break mode.

【0117】また、BMBEビットはフリップフロップ
で構成され、BMBEK信号の反転信号で“0”にクリ
アされる。かかるフリップフロップの入力は所定のデー
タバスのビットであって、クロックはブレークモード信
号とアドレスデコード信号とライト信号の論理積信号と
される。かかるアドレスデコード信号は、CPUの出力
するアドレスがBRKCRの存在するアドレスになった
とき活性状態とされる。すなわち、ブレークモードでの
みライト可能とされる。すなわち、ブレークモードに遷
移した直後は、ブレーク要求が禁止状態であって、不所
望のブレークの多重例外処理が禁止される。
The BMBE bit is constituted by a flip-flop, and is cleared to "0" by an inverted signal of the BMKE signal. The input of the flip-flop is a bit of a predetermined data bus, and the clock is an AND signal of a break mode signal, an address decode signal, and a write signal. Such an address decode signal is activated when the address output from the CPU becomes the address where BRKCR exists. That is, writing is enabled only in the break mode. That is, immediately after the transition to the break mode, the break request is in the disabled state, and the multiple exception processing of the undesired break is prohibited.

【0118】また、BRKCRのSSTPビットと、B
RKAK信号の反転信号との論理積がシングルステップ
ブレーク要求としてCPUに与えられる。シングルステ
ップブレーク要求と、RTB命令実行信号との論理積信
号と、ブレーク要求がCPU内部でCPUブレーク例外
処理要求として認識される。これらの例外処理の内容は
共通とされる。CPUはRTB命令実行時には、かかる
シングルステップブレーク要求を無視する。
Also, the SSTP bit of BRKCR and B
The logical product of the RKAK signal and the inverted signal is given to the CPU as a single step break request. The logical product signal of the single step break request, the RTB instruction execution signal, and the break request are recognized inside the CPU as a CPU break exception processing request. The contents of these exception processes are common. When executing the RTB instruction, the CPU ignores the single step break request.

【0119】続いて、図21のブロック図によりエミュ
レータの概略を説明する。
Next, the outline of the emulator will be described with reference to the block diagram of FIG.

【0120】コネクタ部が、シングルチップマイクロコ
ンピュータの代わりに応用システム(ユーザシステム)
に装着される。エミュレーション用プロセッサは上記コ
ネクタ部とインタフェースケーブルを介し、上記ターゲ
ットシステムインタフェースを用いて上記応用システム
と信号の入出力を行う。
The connector part is an application system (user system) instead of a single-chip microcomputer.
Attached to. The emulation processor inputs and outputs signals to and from the application system using the target system interface via the connector section and the interface cable.

【0121】ユーザシステムには、特に制限はされない
ものの、ユーザバスが存在してユーザメモリが接続され
る。エミュレーション用プロセッサが出力し、インタフ
ェースケーブルを介して供給されるユーザストローブ信
号に従ってユーザメモリはリード/ライトされる。リセ
ット信号は、インタフェースケーブルを介して、ユーザ
システムから供給される。
Although not particularly limited, the user system has a user bus and is connected to a user memory. The user memory is read / written according to a user strobe signal output from the emulation processor and supplied via the interface cable. The reset signal is supplied from the user system via the interface cable.

【0122】エミュレータリセット信号との論理和信号
とが、エミュレーション用プロセッサのRES端子に供
給される。また、エミュレータリセット信号は、遅延回
路とエミュレータメモリウェイト信号との論理和信号が
エミュレーション用プロセッサのEMLWAIT端子に
供給される。かかるエミュレータリセット信号はエミュ
レータの電源投入など、エミュレータ全体をリセットす
る場合に発生するようにする。また、エミュレータのコ
マンドとして、システム開発装置から入力される情報を
基にユーザリセットを与えることができる。
A logical sum signal with the emulator reset signal is supplied to the RES terminal of the emulation processor. As the emulator reset signal, a logical sum signal of the delay circuit and the emulator memory wait signal is supplied to the EMLWAIT terminal of the emulation processor. The emulator reset signal is generated when the entire emulator is reset, such as when the emulator is turned on. Further, a user reset can be given as a command of the emulator based on information input from the system development device.

【0123】一方、エミュレーション用プロセッサは上
記エミュレーションインタフェースを用いてエミュレー
ションバスに接続される。エミュレーションバスには図
示はされない状態信号・制御信号などを含む。上記エミ
ュレーションバスを用いて、エミュレーション用プロセ
ッサから応用システムとエミュレーション用プロセッサ
の内部状態に応じた情報などが出力され、またエミュレ
ーション用プロセッサに対してエミュレーションのため
の各種制御信号が入力される。エミュレーション用プロ
セッサの図示はされないエミュレートモード端子が電源
レベルに固定され、エミュレーション用プロセッサ内部
ではエミュレートモードが設定される。
On the other hand, an emulation processor is connected to an emulation bus using the above emulation interface. The emulation bus includes status signals and control signals (not shown). Using the emulation bus, information and the like according to the application system and the internal state of the emulation processor are output from the emulation processor, and various control signals for emulation are input to the emulation processor. An emulation mode terminal (not shown) of the emulation processor is fixed at the power supply level, and the emulation mode is set inside the emulation processor.

【0124】さらに、上記エミュレーションバスには、
特に制限はされないものの、応用システムまたはターゲ
ットマイクロコンピュータ内蔵のメモリを代行するため
のRAMでなるようなエミュレーションメモリがある。
エミュレーションメモリには、内蔵ROMの代行をなす
べき高速メモリとユーザに解放する貸し出しメモリとが
存在する。
Further, the emulation bus includes:
Although there is no particular limitation, there is an emulation memory such as a RAM for substituting a memory built in an application system or a target microcomputer.
The emulation memory includes a high-speed memory that acts as a substitute for the built-in ROM and a lending memory that is released to the user.

【0125】ユーザのプログラム作成時には、容量的に
余裕を持った設計をすることが多く、内蔵ROMなどに
収まらない場合がある。このような場合にも、ユーザは
エミュレータの貸し出しメモリを利用して実質的にプロ
グラムメモリを拡張してデバックを開始することができ
る。デバックの進行に伴って、プログラムを最適化して
所定の容量に収めるようにすることができる。貸し出し
メモリは、その特性上必ずしも高速性は必要ない。
When a user program is created, a design is often made with a margin in capacity, and may not fit in a built-in ROM or the like. Also in such a case, the user can use the lending memory of the emulator to substantially expand the program memory and start debugging. As the debugging progresses, the program can be optimized so as to fit in a predetermined capacity. The rental memory does not necessarily require high speed due to its characteristics.

【0126】また、エミュレーション用プロセッサは制
御状態やエミュレーションバスの状態を監視して、その
状態が予め設定された状態に達した時に上記エミュレー
タ専用割込みを入力してCPUによるユーザプログラム
の実行を停止させ、エミュレーション用プログラム実行
状態に遷移させる(ブレーク)ためのブレーク制御回路
と、上記CPUのリード動作またはライト動作を示す信
号、命令リード動作を示す信号などに基づきエミュレー
ションバスに与えられるアドレスやデータ、さらには制
御情報を逐次蓄えるリアルタイムトレース回路などが接
続される。上記エミュレーションバスがエミュレーショ
ンメモリ、ブレーク制御回路、リアルタイムトレース回
路などにそれぞれ接続される。
The emulation processor monitors the control state and the state of the emulation bus, and when the state reaches a preset state, inputs the emulator-dedicated interrupt to stop the execution of the user program by the CPU. A break control circuit for causing a transition to an emulation program execution state (break), an address and data provided to an emulation bus based on a signal indicating a read operation or a write operation of the CPU, a signal indicating an instruction read operation, and the like. Is connected to a real-time trace circuit for sequentially storing control information. The emulation bus is connected to an emulation memory, a break control circuit, a real-time trace circuit, and the like.

【0127】ブレーク制御回路は、BRK信号をエミュ
レーション用プロセッサに供給する。
The break control circuit supplies the BRK signal to the emulation processor.

【0128】上記エミュレーションメモリ、ブレーク制
御回路、リアルタイムトレース回路はコントロールバス
に接続され、コントロールバスを介してコントロールプ
ロセッサの制御を受けるようになっている。上記コント
ロールバスは、エミュレーション用プロセッサ制御回路
に接続されるとともに、インタフェース回路を介して、
特に制限はされないもののパーソナルコンピュータなど
のシステム開発装置に接続される。
The emulation memory, the break control circuit, and the real-time trace circuit are connected to a control bus, and are controlled by a control processor via the control bus. The control bus is connected to an emulation processor control circuit, and via an interface circuit.
Although not particularly limited, it is connected to a system development device such as a personal computer.

【0129】たとえば、システム開発装置から入力され
たプログラムをエミュレーションメモリに転送し、内蔵
ROM上に配置されるべきかかるプログラムをCPUが
リードするとエミュレーションメモリ上のプログラムが
リードされる。また、ブレーク条件やリアルタイムトレ
ース条件などもシステム開発装置から与えることができ
る。
For example, a program input from the system development device is transferred to the emulation memory, and when the CPU reads such a program to be arranged in the built-in ROM, the program on the emulation memory is read. Further, break conditions, real-time trace conditions, and the like can also be given from the system development device.

【0130】コントロールプロセッサは、EMLIRQ
信号をエミュレーション用プロセッサに供給する。所望
のタイミングでEMLIRQを要求して、エミュレーシ
ョン用プロセッサに所定のEMLIRQ割込処理ルーチ
ンを実行させることができる。
The control processor has the EMIRQ
Supply the signal to the emulation processor. The EMIRQ can be requested at a desired timing to cause the emulation processor to execute a predetermined EMIRQ interrupt processing routine.

【0131】続いて、図22の動作フローチャートによ
りエミュレータの動作を説明する。
Next, the operation of the emulator will be described with reference to the operation flowchart of FIG.

【0132】電源投入後、まずブレークリセットとさ
れ、直ちにブレークモードになり、エミュレーションプ
ログラムが実行される。いずれのマイクロコンピュータ
のエミュレーション用プロセッサとして動作するかがシ
ステム開発装置から入力され、ホストインタフェース、
コントロールプロセッサ、エミュレーションメモリを介
してモジュール制御レジスタに設定される(S1〜S
3)。
After the power is turned on, a break reset is first performed, and the mode is immediately set to the break mode, and the emulation program is executed. Which microcomputer operates as the emulation processor is input from the system development device, and the host interface,
It is set in the module control register via the control processor and the emulation memory (S1 to S
3).

【0133】所望のエミュレータ用の処理が行われ、シ
ステム開発装置から入力されるコマンドなどに基づき、
ユーザプログラムの実行が要求されればエミュレーショ
ン用プロセッサはリターン命令RTB命令を実行してユ
ーザモードに遷移し、ユーザプログラムを実行する(S
4〜S6)。
The processing for the desired emulator is performed, and based on the command input from the system development device, etc.
If the execution of the user program is requested, the emulation processor executes the return instruction RTB instruction, transits to the user mode, and executes the user program (S
4-S6).

【0134】この状態で、ユーザシステムからリセット
が要求されれば、ユーザプログラムのリセット処理を行
う。このとき、エミュレーション専用レジスタは保持さ
れる。実行すべきユーザプログラムが終了したり、ユー
ザが設定した条件が成立したりするとユーザプログラム
の実行は中断(ブレーク)され、エミュレーションプロ
グラムを実行する(S7、S8、S6〜S9)。
In this state, if a reset is requested from the user system, the user program is reset. At this time, the emulation dedicated register is held. When the user program to be executed ends or the condition set by the user is satisfied, the execution of the user program is interrupted (break), and the emulation program is executed (S7, S8, S6 to S9).

【0135】図4に示すように、ブレークモード中はユ
ーザの指定によらず、ウィンドウを除き3ステートアク
セス、EMLWAIT許可とされる。エミュレーション
プログラムは全てウェイト許可とされるため、エミュレ
ーションメモリのアクセス速度やエミュレータ上の配置
に制限を与えない。これによりエミュレータの設計を容
易にする。
As shown in FIG. 4, during the break mode, 3-state access and EMLWAIT are permitted except for the window regardless of the user's designation. Since all emulation programs are allowed to wait, there is no restriction on the access speed of the emulation memory or the arrangement on the emulator. This facilitates the design of the emulator.

【0136】以上のように構成され、かつ動作されるエ
ミュレーション用プロセッサおよびエミュレータによれ
ば以下の作用効果を得ることができる。
According to the emulation processor and emulator configured and operated as described above, the following effects can be obtained.

【0137】(1).リセット後に、ブレークモードとする
かユーザモードとするかを制御端子で指定することによ
り、エミュレータの制御を必要とせず、リセット後に所
望のプログラムを実行させることができる。また、かか
る制御端子をEMLWAIT信号とすることにより、エ
ミュレーション用プロセッサの入出力端子数を増やさず
に済む。
(1) By specifying whether to set the break mode or the user mode after the reset by the control terminal, it is possible to execute a desired program after the reset without requiring the control of the emulator. Further, by making the control terminal an EMLWAIT signal, it is not necessary to increase the number of input / output terminals of the emulation processor.

【0138】さらに、エミュレータ制御レジスタを、ブ
レークリセット時は初期化し、ユーザリセット時には初
期化しないことによって電源投入後の動作を確定し、初
期設定を行うソフトウェアの手間を省くことができる。
Furthermore, since the emulator control register is initialized at the time of a break reset and not initialized at the time of a user reset, the operation after the power is turned on can be determined, and the software for performing the initial setting can be omitted.

【0139】(2).アドレス空間を分割して、これに対応
するバス制御レジスタを設けて、このバス制御レジスタ
によってユーザバスを用いてアクセスするか、エミュレ
ーションバスを用いてアクセスするかを指定することに
より、エミュレータ側のアドレス判定回路やバス制御回
路を必要とせず、CPUのアドレス空間上にユーザメモ
リとエミュレーションメモリを混在させることができ
る。制御端子を省くことができる。
(2) The address space is divided, and a bus control register corresponding to the divided address space is provided. The bus control register specifies whether access is to be made using a user bus or an emulation bus. Thus, the user memory and the emulation memory can be mixed in the address space of the CPU without requiring the address determination circuit and the bus control circuit on the emulator side. The control terminal can be omitted.

【0140】また、アドレス空間の分割を非対称にし、
最小エリアの大きさを128kBなどとすることによっ
て外部に接続できるメモリの容量と対応させることがで
き、貸し出しメモリ(エミュレーションメモリ)とユー
ザメモリの配置する場合の融通性を向上することができ
る。
Further, the division of the address space is made asymmetric,
By setting the size of the minimum area to 128 kB or the like, it is possible to correspond to the capacity of the memory that can be connected to the outside, and the flexibility in arranging the rental memory (emulation memory) and the user memory can be improved.

【0141】(3).PCブレーク機能を内蔵することによ
って、エミュレータ側のアドレス判定回路や命令実行判
定回路を必要とせず、ブレークを要求することができ
る。また、外部回路を必要としないから判定や制御に必
要な時間を短縮することができ、所望の命令実行状態で
ブレークさせることが容易になり、数命令余分に実行し
たりすることを防ぐことができる。
(3) By incorporating a PC break function, a break can be requested without the need for an address determination circuit or instruction execution determination circuit on the emulator side. In addition, since no external circuit is required, the time required for determination and control can be reduced, and it is easy to cause a break in a desired instruction execution state, thereby preventing the execution of several extra instructions. it can.

【0142】また、一致検出機能を出力することによっ
て、所定の実行状態から所定の実行状態までの時間を計
測したりすることが容易に実現できる。所定のプログラ
ムの実行回数などの計測を容易に行うことができる。か
かる計測結果に基づき、ブレーク割込を要求することに
よって所望の回数のユーザプログラムの実行時点でユー
ザプログラムを停止することを容易に実現できる。
By outputting the coincidence detection function, it is possible to easily measure the time from a predetermined execution state to a predetermined execution state. Measurement such as the number of executions of a predetermined program can be easily performed. By requesting a break interrupt based on the measurement result, the user program can be easily stopped at a desired number of times of execution of the user program.

【0143】さらに、シングルステップ指定ビットを設
けることによって、エミュレータ側のアドレス判定回路
や命令実行判定回路を必要とせず、ブレークを要求する
ことができる。また、判定や制御に必要な時間を短縮す
ることができ、命令の実行毎にブレークさせることが容
易になる。
Further, by providing a single step designation bit, a break can be requested without the need for an address determination circuit or an instruction execution determination circuit on the emulator side. In addition, the time required for determination and control can be reduced, and a break can be easily performed each time an instruction is executed.

【0144】(4).エミュレータ用スタック領域を設け、
ブレークの多重割込を禁止するか、許可するかを指定可
能にし、かかる初期値を禁止状態にすることによってリ
ターンすべきアドレスを失ってしまうことがない。
(4) An emulator stack area is provided,
It is possible to specify whether multiple interrupts of the break are prohibited or permitted, and by setting the initial value to the prohibited state, the address to be returned is not lost.

【0145】また、かかる制御ビットでブレークの多重
割込を許可することによって、ブレークモード中でブレ
ーク割込を要求することができ、融通性が向上する。
By permitting multiple interrupts for breaks with such control bits, a break interrupt can be requested in the break mode, and the flexibility is improved.

【0146】(5).ブレーク割込の他に、エミュレータ側
から要求できる一般割込を設けることにより、ユーザ側
の資源を使用することなくモニタソフトを起動したりす
ることができる。
(5) In addition to the break interrupt, by providing a general interrupt that can be requested from the emulator, the monitor software can be started without using resources on the user side.

【0147】以上、本発明者によってなされた発明を実
施例に基づき具体的に説明したが、本発明は前記実施例
に限定されるものではなく、その要旨を逸脱しない範囲
で種々変更可能であることはいうまでもない。
As described above, the invention made by the inventor has been specifically described based on the embodiments. However, the present invention is not limited to the above embodiments, and can be variously modified without departing from the gist thereof. Needless to say.

【0148】たとえば、アドレス空間の大きさ、分割数
など、あるいは内蔵される機能ブロックまたはモジュー
ルの数・種類、ピン数などについては何等限定されな
い。また、制御レジスタの配置やエミュレーション用プ
ロセッサ専用ブロックの具体的構成、エミュレータの具
体的構成などは上記実施例に限定されず、その他、種々
変更可能である。
For example, there is no limitation on the size of the address space, the number of divisions, or the number and type of function blocks or modules to be incorporated, the number of pins, and the like. The arrangement of the control registers, the specific configuration of the emulation processor dedicated block, the specific configuration of the emulator, and the like are not limited to the above-described embodiment, and may be variously modified.

【0149】また、マイクロコンピュータが指定したバ
スサイクルは、バス幅、バスステート数、アドレスマル
チプレクスのほか、有効となるアドレスのビット数、ア
ドレスデコード信号の出力、データとアドレスのマルチ
プレクスなども含めることができる。これらの内、一部
はエミュレーション用バスサイクルでも共通にすること
ができる。バス幅などは共通にしてもよい。ユーザ側の
メモリの内容を破壊しないようにすればよい。アドレス
デコード信号などの出力は行うようにしてもよい。
The bus cycle specified by the microcomputer includes, in addition to the bus width, the number of bus states and the address multiplex, the number of valid address bits, the output of an address decode signal, the multiplex of data and address, and the like. be able to. Some of these can be shared by emulation bus cycles. The bus width and the like may be common. What is necessary is just to prevent the contents of the memory on the user side from being destroyed. Output of an address decode signal or the like may be performed.

【0150】さらに、基本的な外部バスサイクルや、内
蔵ROM・内蔵RAM・内部I/Oレジスタのバスサイ
クルも任意とすることができる。ブレークリセットでの
み初期化するレジスタも任意に変更することができる。
初期値も任意にすることができる。たとえば、外部ST
BY端子によるハードウェアスタンバイモードを有する
場合に、ハードウェアスタンバイモードでは全ての制御
レジスタを初期化するようにしてもよい。
Further, the basic external bus cycle and the bus cycle of the internal ROM, the internal RAM, and the internal I / O register can be arbitrarily set. The register initialized only by a break reset can be arbitrarily changed.
The initial value can also be set arbitrarily. For example, external ST
When a hardware standby mode using the BY terminal is provided, all control registers may be initialized in the hardware standby mode.

【0151】また、エミュレータ用も制御信号の数や種
類も任意に変更することができる。エミュレータ専用割
込の入力検出も変更可能である。入力検出を選択するビ
ットを設けてもよい。
The number and types of control signals for the emulator can also be arbitrarily changed. The input detection of the emulator dedicated interrupt can also be changed. A bit for selecting input detection may be provided.

【0152】以上の説明では、主として本発明者によっ
てなされた発明をその利用分野であるエミュレーション
用プロセッサおよびそれを搭載したエミュレータに適用
した場合について説明したが、これに限定されるもので
はなく、その他の半導体集積回路装置にも適用可能であ
り、本発明は少なくとも2つの動作状態を有したり、ア
ドレス空間上に2重にメモリを配置したりする半導体集
積回路装置に広く適用可能である。
In the above description, the case where the invention made by the present inventor is mainly applied to an emulation processor and an emulator having the emulator, which are fields of application, has been described. However, the present invention is not limited to this. The present invention can be widely applied to a semiconductor integrated circuit device having at least two operation states and arranging memories twice in an address space.

【0153】[0153]

【発明の効果】本願において開示される発明のうち、代
表的なものによって得られる効果を簡単に説明すれば、
以下のとおりである。
Advantageous effects obtained by typical ones of the inventions disclosed in the present application will be briefly described.
It is as follows.

【0154】(1).リセット後に直ちにブレークモードに
遷移するか、ユーザモードとするかを入力端子の状態で
選択可能にする手段、またブレークモード時に、エリア
毎にエミュレーションメモリをアクセスするか、ユーザ
メモリをアクセスするかを指定する手段、エミュレーシ
ョン内部にブレーク条件を設定するようにし、特にシン
グルステップ処理を要求するビットを有し、かかるビッ
トが所定の状態である場合にユーザプログラムの1命令
毎にブレーク割込を自動的に要求可能にする手段を設け
ることにより、エミュレーション用プロセッサ外部で制
御していたものをエミュレーション用プロセッサに取り
込むことができるので、エミュレーションにおいてエミ
ュレーション用プロセッサ内部の豊富な情報を用いるこ
とが可能となる。
(1) Means enabling selection of the transition to the break mode immediately after reset or the user mode by the state of the input terminal, and the access to the emulation memory for each area in the break mode Means for designating whether to access the memory, setting a break condition inside the emulation, particularly having a bit for requesting single-step processing, and when such a bit is in a predetermined state, for each instruction of the user program By providing a means for automatically requesting a break interrupt, data controlled outside the emulation processor can be taken into the emulation processor, so that abundant information inside the emulation processor is used in emulation. It becomes possible.

【0155】(2).前記(1) により、外部で制御していた
ものがエミュレーション用プロセッサに取り込まれるの
で、エミュレーション用プロセッサからエミュレータへ
の信号の遅延や、エミュレータからエミュレーション用
プロセッサへの信号の遅延による影響を排除することが
可能となる。
(2) According to the above (1), what is controlled externally is taken into the emulation processor, so that a signal delay from the emulation processor to the emulator and a signal from the emulator to the emulation processor are delayed. The effect of the delay can be eliminated.

【0156】(3).前記(1) により、外部で制御していた
ものがエミュレーション用プロセッサに取り込まれるの
で、エミュレーション用プロセッサとエミュレータ間の
入出力信号を増加させずに、容易かつ高速にエミュレー
ション用プロセッサの制御を行うことが可能となる。
(3) According to the above (1), what is controlled externally is taken into the emulation processor, so that emulation can be performed easily and at high speed without increasing the number of input / output signals between the emulation processor and the emulator. It is possible to control the processor for use.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施例であるエミュレーション用プ
ロセッサのエミュレーション対象となるマイクロコンピ
ュータの一例を示すブロック図である。
FIG. 1 is a block diagram illustrating an example of a microcomputer to be emulated by an emulation processor according to an embodiment of the present invention.

【図2】本実施例におけるエミュレーション用プロセッ
サを示すブロック図である。
FIG. 2 is a block diagram illustrating an emulation processor according to the embodiment.

【図3】本実施例において、エミュレータ専用レジスタ
の構成を示す説明図である。
FIG. 3 is an explanatory diagram showing a configuration of an emulator dedicated register in the embodiment.

【図4】本実施例において、エミュレータ専用レジスタ
の構成(図3に続く)を示す説明図である。
FIG. 4 is an explanatory diagram showing a configuration of an emulator dedicated register (continued from FIG. 3) in the embodiment.

【図5】本実施例において、エミュレータ専用レジスタ
の構成(図4に続く)を示す説明図である。
FIG. 5 is an explanatory diagram showing a configuration of an emulator dedicated register (continued from FIG. 4) in the embodiment.

【図6】本実施例において、エミュレータ専用レジスタ
の構成(図5に続く)を示す説明図である。
FIG. 6 is an explanatory diagram showing a configuration of an emulator dedicated register (continued from FIG. 5) in the embodiment.

【図7】本実施例において、エミュレータ専用レジスタ
の構成(図6に続く)を示す説明図である。
FIG. 7 is an explanatory diagram showing a configuration of an emulator dedicated register (continued from FIG. 6) in the embodiment.

【図8】本実施例において、エミュレータ専用レジスタ
の構成(図7に続く)を示す説明図である。
FIG. 8 is an explanatory diagram showing a configuration of an emulator dedicated register (continued from FIG. 7) in the embodiment.

【図9】本実施例において、エミュレータ専用レジスタ
の構成(図8に続く)を示す説明図である。
FIG. 9 is an explanatory diagram showing a configuration of an emulator dedicated register (continued from FIG. 8) in the embodiment.

【図10】本実施例において、アドレス空間のアドレス
マップを示す説明図である。
FIG. 10 is an explanatory diagram showing an address map of an address space in the embodiment.

【図11】本実施例において、MEMCR、EWTCR
によるアクセス状態を示す説明図である。
FIG. 11 shows a MEMCR, an EWTCR in this embodiment.
FIG. 7 is an explanatory diagram showing an access state by the STA.

【図12】本実施例において、MEMCR、EWTCR
によるアクセス状態(図11に続く)を示す説明図であ
る。
FIG. 12 shows a MEMCR, an EWTCR in this embodiment.
FIG. 12 is an explanatory diagram showing an access state (continued from FIG. 11) according to FIG.

【図13】本実施例において、エミュレーション用プロ
セッサのバス構成を示すブロック図である。
FIG. 13 is a block diagram illustrating a bus configuration of an emulation processor in the present embodiment.

【図14】本実施例において、バスタイミングの一例を
示すタイミング図である。
FIG. 14 is a timing chart showing an example of bus timing in the present embodiment.

【図15】本実施例において、ブレークリセットのタイ
ミング図である。
FIG. 15 is a timing chart of a break reset in the present embodiment.

【図16】本実施例において、ユーザリセットのタイミ
ング図である。
FIG. 16 is a timing chart of a user reset in the present embodiment.

【図17】本実施例において、ブレークリセット制御回
路のブロック図である。
FIG. 17 is a block diagram of a break reset control circuit in the present embodiment.

【図18】本実施例において、ブレークアクノリッジ信
号制御回路のブロック図である。
FIG. 18 is a block diagram of a break acknowledge signal control circuit in the present embodiment.

【図19】本実施例において、エミュレーション専用制
御レジスタの一例を示すブロック図である。
FIG. 19 is a block diagram illustrating an example of an emulation-dedicated control register in the present embodiment.

【図20】本実施例において、ブレーク制御回路のブロ
ック図である。
FIG. 20 is a block diagram of a break control circuit in the present embodiment.

【図21】本実施例におけるエミュレーション用プロセ
ッサを搭載したエミュレータのブロック図である。
FIG. 21 is a block diagram of an emulator equipped with an emulation processor according to the present embodiment.

【図22】本実施例におけるエミュレーション用プロセ
ッサを搭載したエミュレータの動作フローチャートであ
る。
FIG. 22 is an operation flowchart of an emulator including an emulation processor according to the present embodiment.

【符号の説明】[Explanation of symbols]

CPU 中央処理装置 DTC データトランスファコントローラ ROM リードオンリメモリ RAM ランダムアクセスメモリ SCI シリアルコミュニケーションインタフェース A/D A/D変換器 IOP1〜IOP11 入出力ポート BSC バスコントローラ CPG クロック発振器 MS モジュールセレクト部 IAB,PAB 内部アドレスバス IDB,PDB 内部データバス Vcc,Vss 電源端子 AVcc,AVss アナログ電源端子 RES リセット入力端子 STBY スタンバイ入力端子 NMI 割込入力端子 EXTAL,XTAL クロック入力端子 MD0,MD1,MD2 動作モード入力端子 MSELR モジュール選択レジスタ MEMCR メモリ制御レジスタ EWTCR ウェイト制御レジスタ BRKCR ブレーク制御レジスタ BAR ブレークアドレスレジスタ BAMR ブレークアドレスマスクレジスタ IRQCR エミュレータ専用割込制御レジスタ EMLSTKR エミュレータスタックメモリレジスタ CPU Central processing unit DTC Data transfer controller ROM Read only memory RAM Random access memory SCI Serial communication interface A / D A / D converter IOP1 to IOP11 I / O port BSC bus controller CPG clock oscillator MS module select section IAB, PAB Internal address bus IDB, PDB Internal data bus Vcc, Vss Power supply terminal AVcc, AVss Analog power supply terminal RES Reset input terminal STBY Standby input terminal NMI Interrupt input terminal EXTAL, XTAL Clock input terminal MD0, MD1, MD2 Operation mode input terminal MSELR Module selection register MEMCR Memory control register EWTCR Wait control register BRKCR Break control Register BAR break address register BAMR break address mask register IRQCR emulator dedicated interrupt control register EMLSTKR emulator stack memory register

───────────────────────────────────────────────────── フロントページの続き (72)発明者 鈴木 達也 東京都小平市上水本町5丁目22番1号 株式会社日立マイコンシステム内 (56)参考文献 特開 平6−150026(JP,A) 特開 平5−282471(JP,A) 特開 平5−120053(JP,A) 特開 平2−144733(JP,A) 特開 平6−59909(JP,A) 特開 平6−314213(JP,A) 特開 平2−50230(JP,A) 特開 平1−145740(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 11/22 340 G06F 11/28 ──────────────────────────────────────────────────続 き Continuation of front page (72) Inventor Tatsuya Suzuki 5-2-21-1 Kamimizuhoncho, Kodaira-shi, Tokyo Inside Hitachi Microcomputer System Co., Ltd. (56) References JP-A-6-150026 (JP, A) JP-A-5-282471 (JP, A) JP-A-5-120053 (JP, A) JP-A-2-144733 (JP, A) JP-A-6-59909 (JP, A) JP-A-6-314213 ( JP, A) JP-A-2-50230 (JP, A) JP-A-1-145740 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 11/22 340 G06F 11 / 28

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 マイクロコンピュータをエミュレートで
きるエミュレーション用プロセッサであって、 エミュレーション用プログラムが動作する第1のモー
ド、またはエミュレート対象となるユーザプログラムが
動作する第2のモードを選択する手段と、 エミュレート対象となるマイクロコンピュータのアドレ
ス空間を分割して、分割した領域の少なくとも1つに対
して、前記第2のモードにおいて、マイクロコンピュー
タが指定したバスサイクルを行うか、エミュレーション
用のバスサイクルを行うかを指定する手段とを有し、 前記分割したアドレス空間の少なくとも1つに対応する
メモリ制御ビットを有し、前記第2のモードにおいて、
前記メモリ制御ビットが第1の状態のときにはマイクロ
コンピュータが指定したバスサイクルを行い、前記メモ
リ制御ビットが第2の状態のときにはエミュレーション
用のバスサイクルを行うことを特徴とするエミュレーシ
ョン用プロセッサ。
1. An emulation processor capable of emulating a microcomputer, comprising: means for selecting a first mode in which an emulation program operates or a second mode in which a user program to be emulated operates. The address space of the microcomputer to be emulated is divided, and in at least one of the divided areas, a bus cycle specified by the microcomputer is performed in the second mode, or a bus cycle for emulation is set. Means for specifying whether to perform the operation, comprising a memory control bit corresponding to at least one of the divided address spaces, wherein in the second mode:
An emulation processor wherein a bus cycle specified by a microcomputer is performed when the memory control bit is in a first state, and an emulation bus cycle is performed when the memory control bit is in a second state.
【請求項2】 請求項記載のエミュレーション用プロ
セッサであって、 前記エミュレーション用のバスサイクルにおいては常に
エミュレータウェイトが有効であることを特徴とするエ
ミュレーション用プロセッサ。
2. The emulation processor according to claim 1 , wherein an emulator wait is always valid in said emulation bus cycle.
【請求項3】 請求項1または2記載のエミュレーショ
ン用プロセッサであって、 前記アドレス空間の分割が3以上とされ、少なくとも1
つの分割された領域が他の少なくとも2以上の分割され
た領域とアドレス空間の広さが相違されることを特徴と
するエミュレーション用プロセッサ。
3. The emulation processor according to claim 1 , wherein the address space is divided into three or more, and
An emulation processor characterized in that one divided area is different from at least two or more other divided areas in the size of an address space.
【請求項4】 請求項1、2または3記載のエミュレー
ション用プロセッサを搭載したエミュレータであって、 前記エミュレーション用プロセッサ、ユーザシステムの
メモリのリードまたはライトと、エミュレータシステム
のメモリのリードまたはライトとが可能であって、前記
マイクロコンピュータが指定したバスサイクルによって
ユーザシステムのメモリのリードまたはライトを行い、
前記エミュレーション用のバスサイクルによってエミュ
レータシステムのメモリのリードまたはライトを行うこ
とを特徴とするエミュレータ。
4. An emulator equipped with the emulation processor according to claim 1, 2 or 3 , wherein the emulation processor, a user system memory read / write, and an emulator system memory read / write. Read and write the memory of the user system by a bus cycle designated by the microcomputer,
An emulator for reading or writing a memory of an emulator system by the emulation bus cycle.
JP29823494A 1994-12-01 1994-12-01 Emulation processor and emulator equipped with it Expired - Fee Related JP3323341B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29823494A JP3323341B2 (en) 1994-12-01 1994-12-01 Emulation processor and emulator equipped with it

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29823494A JP3323341B2 (en) 1994-12-01 1994-12-01 Emulation processor and emulator equipped with it

Publications (2)

Publication Number Publication Date
JPH08161190A JPH08161190A (en) 1996-06-21
JP3323341B2 true JP3323341B2 (en) 2002-09-09

Family

ID=17856977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29823494A Expired - Fee Related JP3323341B2 (en) 1994-12-01 1994-12-01 Emulation processor and emulator equipped with it

Country Status (1)

Country Link
JP (1) JP3323341B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4264422B2 (en) * 2005-03-16 2009-05-20 富士通株式会社 Speed converter with load control function
US11900135B1 (en) * 2018-12-06 2024-02-13 Cadence Design Systems, Inc. Emulation system supporting representation of four-state signals

Also Published As

Publication number Publication date
JPH08161190A (en) 1996-06-21

Similar Documents

Publication Publication Date Title
US5640542A (en) On-chip in-circuit-emulator memory mapping and breakpoint register modules
EP0776504B1 (en) Integrated circuit with multiple functions sharing multiple internal signal buses for distributing bus access control and arbitration control
US6449709B1 (en) Fast stack save and restore system and method
US5664199A (en) Microcomputer free from control of central processing unit (CPU) for receiving and writing instructions into memory independent of and during execution of CPU
US6272582B1 (en) PCI-PCI bridge allowing controlling of a plurality of PCI agents including a VGA device
US6401197B1 (en) Microprocessor and multiprocessor system
US5577230A (en) Apparatus and method for computer processing using an enhanced Harvard architecture utilizing dual memory buses and the arbitration for data/instruction fetch
EP0664897B1 (en) High speed programmable logic controller
US6678838B1 (en) Method to track master contribution information in a write buffer
JPH05324348A (en) Single chip microcomputer
US5212775A (en) Method and apparatus for observing internal memory-mapped registers
JP3323341B2 (en) Emulation processor and emulator equipped with it
US5586336A (en) Microcomputer capable of monitoring internal resources from external
KR100223096B1 (en) Method and apparatus for observing internal memory-mapped registers
JPH0855097A (en) Data processing system and its memory access method
JP2001109708A (en) Microcomputer
US7237099B2 (en) Multiprocessor system having a plurality of control programs stored in a continuous range of addresses of a common memory and having identification registers each corresponding to a processor and containing data used in deriving a starting address of a CPU-linked interrupt handler program to be executed by the corresponding processor
JP3839068B2 (en) Semiconductor integrated circuit device
US7130950B1 (en) Providing access to memory configuration information in a computer
EP0813152B1 (en) Memory protection mechanism
JPH09198272A (en) Processor for emulation and emulator
JP4322284B2 (en) Single chip microcomputer
JP2876909B2 (en) Interrupt emulator
JP3168845B2 (en) Digital signal processor
JP3199138B2 (en) Microprocessor

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020212

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020521

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080628

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080628

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090628

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100628

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110628

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110628

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110628

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120628

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees