JPH09198272A - Processor for emulation and emulator - Google Patents

Processor for emulation and emulator

Info

Publication number
JPH09198272A
JPH09198272A JP8005036A JP503696A JPH09198272A JP H09198272 A JPH09198272 A JP H09198272A JP 8005036 A JP8005036 A JP 8005036A JP 503696 A JP503696 A JP 503696A JP H09198272 A JPH09198272 A JP H09198272A
Authority
JP
Japan
Prior art keywords
cpu
cpus
emulation
signal
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8005036A
Other languages
Japanese (ja)
Inventor
Naomiki Mitsuishi
直幹 三ッ石
Kenichi Ishibashi
謙一 石橋
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
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8005036A priority Critical patent/JPH09198272A/en
Publication of JPH09198272A publication Critical patent/JPH09198272A/en
Pending legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

PROBLEM TO BE SOLVED: To attain the emulation of plural CPUs having respectively different functions by an emulator based upon a user's selection by providing the processor with a selector circuit capable of selectively driving plural CPUs and executing the emulation of plural CPUs. SOLUTION: When CPUs 1, 2 in an operating state are transmitted to a low power consumption state by executing a SLEEP instruction or the like, the CPUs 1, 2 are turned to a stop state by a stop signal outputted from a system controller 16. When a low power consumption state releasing signal is outputted, the CPU selected by a CPU selection signal out of the CPUs 1, 2 is turned to an operating state by releasing the stop signal. An emulation interface 18 selectively inputs CPU status signals or the like from the CPUs 1, 2 and executes bus control. A selector circuit SEL1 selects the input of control signals outputted from the CPUs 1, 2 based upon a CPU selection signal outputted from an emulation control circuit 19.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、半導体集積回路装
置、マイクロコンピュータまたはマイクロコンピュータ
応用システムの開発装置を構成するエミュレータにかか
り、例えば、マイクロコンピュータのエミュレーション
用プロセッサおよびそのようなエミュレーション用プロ
セッサを搭載してなるエミュレータに利用して有効な技
術に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an emulator constituting a development device for a semiconductor integrated circuit device, a microcomputer or a microcomputer application system, for example, an emulation processor for a microcomputer and such an emulation processor. It is related to the technology effectively used for the emulator.

【0002】[0002]

【従来の技術】シングルチップマイクロコンピュータを
用いた応用システムの開発を行うため、いわゆる、イン
サーキットエミュレータと呼ばれるマイクロコンピュー
タ開発装置が用いられる。マイクロコンピュータ開発装
置は、いわゆるパーソナルコンピュータなどのシステム
開発装置と、開発中の応用システム(ユーザシステム)
との間に接続され、その応用システムに装着されるべき
シングルチップマイクロコンピュータ(ターゲットマイ
クロコンピュータ)の機能を代行しつつ、デバッガとし
ての機能を有し、ソフトウェア或いは応用システムの開
発を支援するものである。このマイクロコンピュータ開
発装置には、上記シングルチップマイクロコンピュータ
に対応したエバリュエーションチップと呼ばれる評価用
のエミュレーション用プロセッサに、シングルチップマ
イクロコンピュータの機能を包含した機能と、マイクロ
コンピュータの内部状態を出力したりマイクロコンピュ
ータの動作を制御したりする専用の機能を設けることに
より、マイクロコンピュータ開発装置の開発が容易にさ
れる。マイクロコンピュータ開発装置乃至インサーキッ
トエミュレータについては、例えば、昭和59年11月
30日オーム社発行の「LSIハンドブック」P562
およびP563などによって、また、エミュレーション
用プロセッサについては、例えば、特開昭63−106
840号などによって、公知であるので詳細な説明は省
略する。
2. Description of the Related Art In order to develop an application system using a single-chip microcomputer, a so-called in-circuit emulator microcomputer development device is used. The microcomputer development device includes a system development device such as a so-called personal computer and an application system (user system) under development.
It has a function as a debugger, acting as a substitute for the function of a single-chip microcomputer (target microcomputer) that should be installed in the application system connected between the and, and supports the development of software or application systems. is there. In this microcomputer development device, an emulation processor for evaluation called an evaluation chip corresponding to the above single chip microcomputer outputs the function including the function of the single chip microcomputer and the internal state of the microcomputer. Providing a dedicated function for controlling the operation of the microcomputer facilitates the development of the microcomputer development device. For the microcomputer development device or the in-circuit emulator, see, for example, "LSI Handbook" P562, issued by Ohmsha, Ltd. on November 30, 1984.
And P563, and for an emulation processor, see, for example, JP-A-63-106.
No. 840 or the like is well known, and detailed description thereof will be omitted.

【0003】エミュレーション用プロセッサ専用の機能
としては、中央処理装置(以下、CPUと称する)が所
定のアドレスをアクセスした場合に、CPUを停止し、
エミュレータ側に制御を移したりする(ブレーク)機能
や、かかるブレーク時に、エミュレーション専用のプロ
グラムを実行したり、また、ユーザのメモリをモニタし
たり、使用するメモリ等を変更したりする機能がある。
The function dedicated to the emulation processor is to stop the CPU when a central processing unit (hereinafter referred to as CPU) accesses a predetermined address,
It has a function of transferring control to the emulator side (break), a program dedicated to emulation at the time of such a break, a function of monitoring a user's memory, and a function of changing a memory to be used.

【0004】また、アドレスバスやデータバス、さらに
はCPUにステータス信号などを出力して、CPUの動
作状態を解析することを可能にする。
Further, a status signal or the like is output to the address bus or data bus, and further to the CPU, so that the operating state of the CPU can be analyzed.

【0005】エミュレータに搭載するエミュレーション
用プロセッサにおいて、サポート可能なマイクロコンピ
ュータを選択できるようにすることによって、開発期間
や開発効率を向上させた例に、特開平3−27183
4、特開平6−150026などがある。かかる例で
は、エミュレーション用プロセッサやエミュレータの開
発効率を向上し、使用者にいち早く、エミュレータを提
供することができる。一方、CPUの互換性を維持しつ
つアドレス空間を拡張した例に、特開平4−33315
3号、特開平5−241826号などがある。
An example of improving the development period and development efficiency by making it possible to select a microcomputer that can be supported by the emulation processor mounted on the emulator is disclosed in Japanese Patent Laid-Open No. 3-27183.
4, JP-A-6-150026 and the like. In such an example, the development efficiency of the emulation processor and the emulator can be improved, and the emulator can be promptly provided to the user. On the other hand, an example in which the address space is expanded while maintaining the compatibility of CPUs is disclosed in Japanese Patent Laid-Open No. 4-33315.
3 and JP-A-5-241826.

【0006】マイクロコンピュータが組み込まれるシス
テムの高機能化や、マイクロコンピュータの高性能化に
よる複数チップのマイクロコンピュータによる制御から
1チップのマイクロコンピュータによる制御への移行な
どによって、マイクロコンピュータのメモリ容量は増大
している。これに伴って、マイクロコンピュータに要求
される内蔵メモリの容量の範囲も広がっている。例え
ば、32kBから128kBなどである。すなわち、応
用システムによっては、CPUの主要機能が同一で、接
続される周辺機器なども共通の使用となっていても、内
蔵メモリ容量の異なるものが最適とされることがある。
[0006] The memory capacity of the microcomputer is increased due to the higher function of the system in which the microcomputer is incorporated and the shift from the control by the microcomputer of a plurality of chips to the control by the microcomputer of a single chip due to the higher performance of the microcomputer. doing. Along with this, the range of the capacity of the built-in memory required for the microcomputer is expanding. For example, it is 32 kB to 128 kB. That is, depending on the application system, even if the main functions of the CPU are the same and the connected peripheral devices are also commonly used, those having different built-in memory capacities may be optimal.

【0007】例えば前記特開平4−333153号、特
開平5−241826号などに記載されるように、アド
レス空間が64kB以下で十分であれば、比較的小さい
レジスタ構成でアドレッシングモード等も比較的少ない
CPUでよい。一方、アドレス空間が64kB以上であ
れば、比較的大きいレジスタ構成でアドレッシングモー
ドなども比較的多いCPUでなければならない。メモリ
容量が少なくてもよければ、CPUも比較的内蔵メモリ
容量が小さいものを用い、マイクロコンピュータの論理
的・物理的規模を縮小して、製造費用を縮小することが
可能である。
For example, as described in JP-A-4-333153 and JP-A-5-241826, if an address space of 64 kB or less is sufficient, a relatively small register configuration and relatively few addressing modes and the like. CPU is sufficient. On the other hand, if the address space is 64 kB or more, the CPU must have a relatively large register configuration and a relatively large number of addressing modes. If the memory capacity may be small, the CPU having a relatively small built-in memory capacity may be used to reduce the logical / physical scale of the microcomputer and reduce the manufacturing cost.

【0008】これらのマイクロコンピュータを1つのエ
ミュレータ、エミュレーション用プロセッサで評価でき
るようにすれば、前期同様に、開発効率の向上を実現
し、開発装置をいち早く、使用者に提供することができ
る。また、使用者も、プログラム開発の結果に基づい
て、メモリ容量を選択し、その結果に基づいて、エミュ
レータを変更することなく、CPUを選択することがで
き、都合がよい。
If these microcomputers can be evaluated by one emulator and emulation processor, the development efficiency can be improved and the development device can be provided to the user as quickly as possible. Moreover, the user can conveniently select the memory capacity based on the result of the program development and select the CPU based on the result without changing the emulator.

【0009】[0009]

【発明が解決しようとする課題】前記従来のエミュレー
タにおける拡張性は、CPUの周辺装置をいくつか選択
可能にするかアドレス空間の大きさのみ異なるCPUの
互換性を維持しているに過ぎず、あくまでもCPUは同
一機能のものについてしか互換性がなかった。
The extensibility of the conventional emulator is that the peripherals of the CPU are selectable or the compatibility of the CPUs differing only in the size of the address space is maintained. The CPUs were compatible only with those having the same function.

【0010】本発明の目的は、1つのエミュレータにお
いて、使用者の選択に基づいて、機能の異なる複数のC
PUのエミュレーションを可能にし、マイクロコンピュ
ータ応用システムの開発効率の向上を実現し、また、使
用者にシステム開発装置をいち早く提供することを可能
にし、かつ使い勝手を向上することにある。
An object of the present invention is to provide a plurality of Cs having different functions in one emulator based on a user's selection.
It is intended to enable PU emulation, to improve the development efficiency of a microcomputer application system, to promptly provide a user with a system development device, and to improve usability.

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

【0012】[0012]

【課題を解決するための手段】本願において開示される
代表的なものの概要を簡単に説明すれば下記の通りであ
る。
The outline of the representative one disclosed in the present application will be briefly described as follows.

【0013】すなわち、オブジェクトコード・セットの
一部または全部、内部のステータス信号、インターフェ
ースなどが共通化されるとともに動作タイミングが同一
である複数の異なるCPUを内蔵させて、選択的に動作
可能に構成することによって複数のCPUのエミュレー
ションを行うことができるエミュレーション用プロセッ
サを実現する。
That is, a part or all of the object code set, internal status signals, interfaces, and the like are made common, and a plurality of different CPUs having the same operation timing are built in to enable selective operation. By doing so, an emulation processor capable of emulating a plurality of CPUs is realized.

【0014】また、上記複数のCPUへの割込み制御も
共通化し、各々のCPUはそのうち1つをメインとし他
のCPUはそのサブセットになるように構成するとよ
い。さらに、バス制御を共通化すれば、エミュレーショ
ン対象のCPUを排他的に動作するCPUとみなすこと
ができ、ダイレクトメモリアクセスコントローラなどの
バスマスタを周辺モジュールとして内蔵する場合に、こ
れらのいわゆるバスアービトレーション制御と共通化す
ることができ、システム開発を容易にすることができる
とともに、制御論理を共通化することでチップサイズを
縮小できる。周辺モジュールやメモリとのインターフェ
ースも共通化するとよい。
Further, it is preferable that the interrupt control for the plurality of CPUs is also made common, and each CPU is configured such that one of them is the main and the other CPU is a subset thereof. Further, if the bus control is shared, the CPU to be emulated can be regarded as a CPU that operates exclusively, and when a bus master such as a direct memory access controller is built in as a peripheral module, these so-called bus arbitration control and The chip size can be reduced by sharing the control logic and simplifying the system development. It is advisable to make the interface with the peripheral module and the memory common.

【0015】さらに、上記複数のCPUは、制御フラグ
もしくはコントロールレジスタの制御ビットで選択可能
にし、制御ビットの設定後、リセットを行って、制御ビ
ットの情報が反映されるようにするとよい。また、リセ
ット後に動作するCPUを、外部から制御信号で指定で
きるようにするとよい。
Further, it is preferable that the plurality of CPUs be made selectable by a control flag or a control bit of a control register, and after the control bit is set, reset is performed so that the information of the control bit is reflected. Further, it is preferable that the CPU operating after the reset can be designated by a control signal from the outside.

【0016】上記した手段によれば、相異なるCPUを
内蔵し、いずれか一つのCPUを選択してエミュレーシ
ョンできるため、マイクロコンピュータ応用システムの
開発装置を、いち早く提供でき、開発期間の短縮を図
り、かつ、使用者がCPUを自由に選択することがで
き、使い勝手が向上する。
According to the above-mentioned means, different CPUs are built in, and any one of the CPUs can be selected and emulated, so that the development apparatus of the microcomputer application system can be provided promptly and the development period can be shortened. In addition, the user can freely select the CPU, which improves usability.

【0017】また、CPUのバス制御、割込制御、エミ
ュレーションインターフェース信号を共通化することに
よって、エミュレーション用プロセッサやエミュレータ
の開発効率を向上することができる。
Further, by making the bus control, interrupt control and emulation interface signal of the CPU common, the development efficiency of the emulation processor and emulator can be improved.

【0018】[0018]

【発明の実施の形態】図1に、本発明の適用されたエミ
ュレーション用プロセッサのブロック図を示す。特に制
限されないが、この実施例のエミュレーション用プロセ
ッサ10は単結晶シリコンのような1個の半導体基板上
において形成される。
FIG. 1 is a block diagram of an emulation processor to which the present invention is applied. Although not particularly limited, the emulation processor 10 of this embodiment is formed on one semiconductor substrate such as single crystal silicon.

【0019】この実施例のエミュレーション用プロセッ
サ10は、エミュレーション対象マイクロプロセッサC
PU1およびCPU2、ROM(リード・オンリ・メモ
リ)11、RAM(ランダム・アクセス・メモリ)1
2、データ転送を行うデータトランスファコントローラ
(DTC)13、バスの切替えやバス使用権の制御等を
行うバスコントローラ(BSC)14、CPUに対する
割込み制御を行う割込コントローラ15、CPU1,C
PU2に対する停止信号等チップ全体の制御を行うシス
テムコントローラ16、エミュレーション用プロセッサ
10がユーザシステムとの間で信号の送受信を行なうた
めのユーザインターフェース17およびエミュレータを
構成する他の装置との間で信号の送受信を行うエミュレ
ーションインターフェース18などを備えたエミュレー
ション制御回路19等の機能ブロック乃至はモジュール
から構成される。これらの機能ブロックは、内部バスI
AB,IDB;PAB,PDBによって相互に接続され
る。更に、図示しないが、クロック発振器(CPG)な
ども含まれている。
The emulation processor 10 of this embodiment is a microprocessor C to be emulated.
PU1 and CPU2, ROM (read only memory) 11, RAM (random access memory) 1
2. A data transfer controller (DTC) 13 that performs data transfer, a bus controller (BSC) 14 that performs bus switching and control of the bus use right, an interrupt controller 15 that performs interrupt control for the CPU, CPUs 1, C
A system controller 16 for controlling the entire chip such as a stop signal for the PU 2, a user interface 17 for the emulation processor 10 to transmit and receive signals to and from a user system, and a signal for transmission and reception to and from other devices constituting the emulator. It is composed of functional blocks or modules such as an emulation control circuit 19 having an emulation interface 18 for transmitting and receiving. These functional blocks are the internal bus I
AB, IDB; PAB, PDB are connected to each other. Further, although not shown, a clock oscillator (CPG) and the like are also included.

【0020】ユーザインターフェース17は、ユーザシ
ステム上のバスと接続されるバッファBUFやタイマ、
シリアルコミュニケーションインターフェース(SC
I)、A/D変換器(A/D)、入出力ポートI/Oな
どを含む。ユーザシステムからの割込み要求は入出力ポ
ートI/Oを介して上記割込みコントローラ15に供給
される。
The user interface 17 is a buffer BUF or timer connected to a bus on the user system,
Serial communication interface (SC
I), A / D converter (A / D), input / output port I / O, and the like. The interrupt request from the user system is supplied to the interrupt controller 15 via the input / output port I / O.

【0021】CPU1およびCPU2は、システムコン
トローラ16の出力するストップ信号に応じて、停止状
態/動作状態が指定される。また、エミュレーション制
御回路19から出力されるCPU選択信号に基づいて、
CPU1またはCPU2のいずれか一方は、必ず停止状
態とされる。即ち、CPU1には、CPUストップ信号
とCPU選択信号との論理和信号が、CPU2には、C
PUストップ信号とCPU選択信号の反転信号との論理
和信号が与えられる。この実施例では、特に制限されな
いが、CPU選択信号が“0”レベルのときにCPU2
が停止状態、CPU選択信号が“1”レベルのときCP
U1が停止状態に固定される。
The CPU 1 and the CPU 2 are designated in a stopped state / operating state according to a stop signal output from the system controller 16. Further, based on the CPU selection signal output from the emulation control circuit 19,
Either one of the CPU 1 and the CPU 2 is always in the stopped state. That is, the CPU1 receives the logical sum signal of the CPU stop signal and the CPU selection signal, and the CPU2 receives the C signal.
A logical sum signal of the PU stop signal and the inverted signal of the CPU selection signal is given. In this embodiment, although not particularly limited, when the CPU selection signal is at "0" level, the CPU2
When the CPU is stopped and the CPU selection signal is at "1" level, CP
U1 is fixed in a stopped state.

【0022】動作状態にあるCPUが、SLEEP命令
などを実行して、低消費電力状態に遷移する場合はシス
テムコントローラ16の出力するストップ信号によって
両方のCPUが停止状態になる。低消費電力状態解除信
号が発生した場合、CPU選択信号で選択されているC
PUのストップ信号が解除されて、動作状態になる。エ
ミュレーションインターフェース18は、CPU1また
はCPU2から出力されるCPUステータス信号などが
選択的に入力されてバス動作の制御を行う。いずれのC
PUから出力された制御信号を入力するかの選択は、エ
ミュレーション制御回路19から出力されるCPU選択
信号に基づいて選択回路SEL1が行う。また、エミュ
レーションインターフェース18は、制御信号を選択的
にCPU1、CPU2に供給する。
When the CPUs in the operating state execute the SLEEP instruction or the like and transit to the low power consumption state, both CPUs are stopped by the stop signal output from the system controller 16. When the low power consumption state release signal is generated, the C selected by the CPU selection signal
The PU stop signal is released and the PU enters the operating state. The emulation interface 18 selectively receives a CPU status signal or the like output from the CPU 1 or the CPU 2 to control the bus operation. Any C
The selection circuit SEL1 selects whether to input the control signal output from the PU, based on the CPU selection signal output from the emulation control circuit 19. Further, the emulation interface 18 selectively supplies the control signal to the CPU1 and the CPU2.

【0023】バスコントローラ14は、CPU1、CP
U2から出力される制御信号(リード、ライト、サイズ
など)が選択的に入力されてバス動作の制御を行う。い
ずれのCPUから出力された制御信号を入力するかの選
択は、エミュレーション制御回路19から出力されるC
PU選択信号に基づいて、選択回路SEL2で行われ
る。また、バスコントローラ14は、制御信号(アクノ
リッジ信号、ウェイト信号など)を形成してCPU1、
CPU2に供給する。
The bus controller 14 is composed of the CPU 1 and the CP.
Control signals (read, write, size, etc.) output from U2 are selectively input to control bus operation. The CPU output from the emulation control circuit 19 is selected as to which of the CPUs outputs the control signal.
This is performed by the selection circuit SEL2 based on the PU selection signal. Further, the bus controller 14 forms a control signal (acknowledge signal, wait signal, etc.) to generate the CPU 1,
Supply to CPU2.

【0024】CPU1のアドレス空間がCPU2のアド
レス空間より大きい場合、CPU2が出力しないアドレ
スの上位ビットは、例えば、0あるいは符号拡張とみな
すようにする。CPU1の有するアドレッシングモード
の中にCPU2のアドレス空間に相当するビット数のア
ドレス指定方法があれば、このときのアドレス拡張方法
に従うのがよい。例えば、CPU1のアドレス空間が1
6Mバイト、CPU2のアドレス空間が64kバイトで
ある場合、CPU1はCPU2のアドレス空間に相当す
るビット数(16ビット)の、いわゆる絶対アドレスモ
ードを持ち、この場合、24ビットのアドレスの上位8
ビットは符号拡張され、ビット15と同じ内容とされ
る。CPU2のアドレスの存在しない部分は符号拡張さ
れる。このようなアドレス拡張機能は、例えばバスコン
トローラ14に持たせるようにすると良い。
When the address space of the CPU 1 is larger than the address space of the CPU 2, the upper bits of the address that the CPU 2 does not output are regarded as 0 or sign extension, for example. If there is an addressing method of the number of bits corresponding to the address space of the CPU 2 in the addressing mode of the CPU 1, it is preferable to follow the address extension method at this time. For example, the address space of CPU1 is 1
When the address space of the CPU2 is 6 Mbytes and the address space of the CPU2 is 64 kbytes, the CPU1 has a so-called absolute address mode of the number of bits (16 bits) corresponding to the address space of the CPU2. In this case, the higher 8 bits of the 24-bit address are used.
The bit is sign-extended and has the same content as bit 15. The part of the CPU 2 where the address does not exist is sign-extended. It is preferable that the bus controller 14 has such an address extension function.

【0025】割込みコントローラ15は、ユーザシステ
ムからの割込み信号の他、ユーザインタフェース17内
のDMAコントローラ、タイマ、シリアルコミュニケー
ションインタフェース(SCI)、A/D変換器(A/
D)、入出力ポート(I/O)等からの割込み信号が入
力され、制御信号(割込要求信号、ベクタ番号など)を
CPU1、CPU2に供給する。また、割込みコントロ
ーラ15は、CPU1、CPU2から出力される制御信
号(マスク信号、割込クリア信号など)が選択的に入力
されてそれに対応した制御を行う。いずれのCPUから
出力された制御信号を入力するかの選択は、エミュレー
ション制御回路19から出力されるCPU選択信号に基
づいて、選択回路SEL3で行う。
The interrupt controller 15 includes an interrupt signal from the user system, a DMA controller in the user interface 17, a timer, a serial communication interface (SCI), and an A / D converter (A / D).
D), an interrupt signal from an input / output port (I / O) or the like is input, and a control signal (interrupt request signal, vector number, etc.) is supplied to the CPU1 and CPU2. Further, the interrupt controller 15 selectively receives control signals (mask signal, interrupt clear signal, etc.) output from the CPU 1 and CPU 2, and performs control corresponding thereto. The selection of which CPU the control signal output from is input is performed by the selection circuit SEL3 based on the CPU selection signal output from the emulation control circuit 19.

【0026】上記のようにシステムコントローラ16、
割込みコントローラ15、バスコントローラ14は、C
PU1およびCPU2に共通して用いられる。このため
に、CPU1とCPU2のインタフェースを共通化して
おくことが望ましい。すなわち2つのCPUに入出力さ
れる信号の種類を同じにし、かつタイミングも同一にな
るようにする。或いは、一方のCPUが他方のCPUの
サブセットになるようにしておいてもよい。ここで、サ
ブセットとは、一方のCPUが他方のCPUの有する機
能を全て有し、かつそれ以外の機能も備えているという
意味である。
As described above, the system controller 16,
The interrupt controller 15 and the bus controller 14 are C
Commonly used by PU1 and CPU2. For this reason, it is desirable to make the interfaces of the CPU 1 and the CPU 2 common. That is, the types of signals input to and output from the two CPUs are the same, and the timings are also the same. Alternatively, one CPU may be a subset of the other CPU. Here, the subset means that one CPU has all the functions of the other CPU and also has other functions.

【0027】表1に、図1のエミュレーション用プロセ
ッサ10における各機能ブロックもしくはモジュール間
の信号の種類と各信号の機能の一例を示す。なお、この
表1においては、内部バスIABのビット数がCPU1
では24ビット、CPU2では16ビットとされるほか
は、CPU1とCPU2に共通である。表1において、
例えばCPUCKSTPは、図1のストップ信号に相当
する信号である。表1において最後にNが付いている信
号はロウアクティブ(“0”が有効レベル)の信号であ
ることを意味している。また、符号CPGはクロックパ
ルスジェネレータ、SYSCはシステムコントローラ、
BSCはバスコントローラ、ASEはエミュレーション
制御回路、INTは割込みコントローラ、PORTはユ
ーザインタフェースおよびエミュレーションインタフェ
ースのポートを指す。
Table 1 shows an example of the types of signals between the functional blocks or modules in the emulation processor 10 of FIG. 1 and the functions of the signals. In Table 1, the number of bits of the internal bus IAB is CPU1.
It is common to the CPU1 and the CPU2 except that it is set to 24 bits for the CPU and 16 bits for the CPU2. In Table 1,
For example, CPUCKSTP is a signal corresponding to the stop signal in FIG. In Table 1, a signal with N at the end means that it is a low active signal (“0” is a valid level). Reference symbol CPG is a clock pulse generator, SYSC is a system controller,
BSC is a bus controller, ASE is an emulation control circuit, INT is an interrupt controller, and PORT is a port of a user interface and an emulation interface.

【0028】[0028]

【表1】 [Table 1]

【0029】また、例えばBCMD、BUSRDY、C
PUACKNなどのバス制御信号は、データトランスフ
ァコントローラ13など他のバスマスタとも共通化して
おくとよい。その場合、CPUACKNに相当するデー
タトランスファコントローラ13の応答信号はDTCA
CKNのようになる。このようにすることによって、シ
ステムコントローラ16、割込みコントローラ15、バ
スコントローラ14等は1個のCPU分の開発を行えば
よく、開発効率を向上することができる。エミュレーシ
ョン用プロセッサの開発期間を短縮することによって、
マイクロコンピュータの使用者にいち早くエミュレータ
を提供することができ、ユーザシステムの早期開発に寄
与することができる。
Further, for example, BCMD, BUSRDY, C
Bus control signals such as PUACKN may be shared with other bus masters such as the data transfer controller 13. In that case, the response signal of the data transfer controller 13 corresponding to CPUACKN is DTCA.
It becomes like CKN. By doing so, the system controller 16, the interrupt controller 15, the bus controller 14, etc. need only be developed for one CPU, and the development efficiency can be improved. By reducing the development period of the emulation processor,
The emulator can be promptly provided to the user of the microcomputer, which can contribute to the early development of the user system.

【0030】また、システムコントローラ16、割込み
コントローラ15、バスコントローラ14等の制御回路
が共用化され、1個のCPU分の論理しか内蔵しないこ
とによって、エミュレーション用プロセッサの論理的・
物理的規模を縮小して、製造費用を低減することも可能
になる。
Further, since the control circuits such as the system controller 16, the interrupt controller 15 and the bus controller 14 are shared and only the logic for one CPU is built in, the logical circuit of the emulation processor is
It is also possible to reduce the physical scale and reduce the manufacturing cost.

【0031】一方、図1の実施例におけるいずれのCP
Uを動作状態とするかのCPU選択信号は、エミュレー
ション制御回路19内に設けられているコントロールレ
ジスタMCUCRの中の所定の制御ビットで指定される
ように構成されている。このコントロールレジスタMC
UCRは、リセット信号が入力される毎に変化が許容さ
れる。リセット信号が複数存在する場合には、一または
複数の所定のリセット信号入力時に変更が許容されるよ
うにすればよい。リセットには、パワーオンリセットと
マニュアルリセット、或いは、ブレークリセットとユー
ザリセットなどがある。なお、エミュレーション制御回
路19内のコントロールレジスタMCUCRには、ブレ
ーク制御、バス制御、モジュール選択制御などを制御す
るための制御ビットも設けてもよいし、他のコントロー
ルレジスタに設けても良い。
On the other hand, any CP in the embodiment of FIG.
The CPU selection signal for setting U to the operating state is configured to be designated by a predetermined control bit in the control register MCUCR provided in the emulation control circuit 19. This control register MC
The UCR is allowed to change each time a reset signal is input. When there are a plurality of reset signals, the change may be permitted when one or more predetermined reset signals are input. The reset includes a power-on reset and a manual reset, or a break reset and a user reset. The control register MCUCR in the emulation control circuit 19 may be provided with a control bit for controlling break control, bus control, module selection control, or the like, or may be provided in another control register.

【0032】上記のようなモジュール選択レジスタへの
設定によって、エミュレーション対象となるマイクロコ
ンピュータの選択を行い、エミュレーション制御回路1
9で動作すべきエミュレーション用プロセッサCPU
1,CPU2を指定する制御信号を形成して供給した
り、バスコントローラ(BSC)14に含まれるモジュ
ールセレクト回路やそのほかの周辺モジュール部分に供
給する。例えば、タイマやSCIの使用可能なチャネル
数を指定したり、有効なIOポートの本数等を指定した
り、内蔵ROM12、RAM13の容量を指定したりす
る制御信号もエミュレーション制御回路19から供給す
る。非選択すなわち動作が禁止されるべきモジュール
は、モジュール選択信号が非活性状態に固定されるなど
によって、リード/ライトなどの動作が抑止されるよう
に構成される。
The microcomputer to be emulated is selected by the setting in the module selection register as described above, and the emulation control circuit 1
An emulation processor CPU that should operate on 9
1, it forms and supplies a control signal for designating the CPU 2, and supplies it to a module select circuit included in the bus controller (BSC) 14 and other peripheral module parts. For example, the emulation control circuit 19 also supplies control signals for designating the number of usable channels of a timer or SCI, the number of valid IO ports, and the capacity of the internal ROM 12 and RAM 13. A module which should be unselected, that is, whose operation is prohibited, is configured so that operations such as read / write are suppressed by fixing the module selection signal to the inactive state.

【0033】さらに、エミュレーション用プロセッサ
を、それに内蔵されている一部の機能の禁止や動作の変
更を指定できるように構成して、1個のエミュレーショ
ン用プロセッサによって、複数のマイクロコンピュータ
のエミュレーションを行わせるようにしてもよい。
Further, the emulation processor is configured so that it is possible to specify the prohibition of some of the functions built therein and the change of the operation, and one emulation processor emulates a plurality of microcomputers. You may allow it.

【0034】図2に、エミュレーション制御回路19内
に設けられるCPU選択信号生成回路の一例の概略ブロ
ック図を示す。
FIG. 2 shows a schematic block diagram of an example of a CPU selection signal generation circuit provided in the emulation control circuit 19.

【0035】CPU選択信号は、特に制限はされないも
のの、ブレークモードでのみリード/ライトできるエミ
ュレーション専用コントロールレジスタMCUCRの中
の所定のビットCPUSへの設定で指定される。
Although not particularly limited, the CPU selection signal is designated by setting a predetermined bit CPUS in the emulation-dedicated control register MCUCR which can be read / written only in the break mode.

【0036】エミュレーション専用コントロールレジス
タMCUCRは、エミュレーションプログラム実行状
態、いわゆるブレークモードにおいてのみリード/ライ
トが可能とされる。コントロールレジスタを構成するビ
ットはそれぞれ例えばD型フリップフロップで構成され
る。図2にはそのうちCPU選択用ビットCPUSを構
成するフリップフロップFF1が示されており、このフ
リップフロップFF1のデータ入力端子Dには、データ
バスの所定のビット信号が入力される。また、クロック
入力端子Cには、ブレークモードを示すBRKAK信号
と、コントロールレジスタ指定アドレスが与えられたこ
とを検出するアドレスデコーダからのデコード信号との
論理積をとるANDゲートG1と、該ANDゲートG1
の出力信号とライト信号との論理積をとるANDゲート
G2とで与えられる。即ち、ブレークモードでコントロ
ールレジスタ指定アドレスが与えられライト信号が有効
レベルであるときにデータバス上の所定のビットの状態
がCPU選択ビットCPUSにライトされる。
The emulation-dedicated control register MCUCR can be read / written only in the emulation program execution state, so-called break mode. The bits forming the control register are each formed of, for example, a D-type flip-flop. FIG. 2 shows a flip-flop FF1 constituting the CPU selection bit CPUS, and a predetermined bit signal of the data bus is input to the data input terminal D of the flip-flop FF1. Further, at the clock input terminal C, a BRKAK signal indicating a break mode and an AND gate G1 that performs a logical product of a decode signal from an address decoder that detects that the address designated by the control register is applied, and the AND gate G1.
AND gate G2 which takes the logical product of the output signal of the above and the write signal. That is, when the address designated by the control register is applied in the break mode and the write signal is at the effective level, the state of a predetermined bit on the data bus is written to the CPU selection bit CPUS.

【0037】更に、特に制限されないが、上記フリップ
フロップFF1の出力端子Qには、データバス上にCP
U選択ビットCPUSの内容を出力するためのバッファ
BF1が接続されており、このバッファBF1は上記A
NDゲートG1の出力信号とリード信号との論理積をと
るANDゲートG3の出力信号によって制御される。即
ち、ブレークモードでコントロールレジスタ指定アドレ
スが与えられリード信号が有効レベルであるときにデー
タバス上へCPU選択ビットCPUSの内容を出力す
る。
Further, although not particularly limited, the output terminal Q of the flip-flop FF1 has a CP on the data bus.
A buffer BF1 for outputting the contents of the U selection bit CPUS is connected, and this buffer BF1 is connected to the above A
It is controlled by the output signal of the AND gate G3 which takes the logical product of the output signal of the ND gate G1 and the read signal. That is, the contents of the CPU selection bit CPUS are output onto the data bus when the address designated by the control register is applied in the break mode and the read signal is at a valid level.

【0038】一方、CPU選択ビットCPUSを構成す
るフリップフロップFF1の出力は、第2のフリップフ
ロップFF2を介してマイクロコンピュータの各部に与
えられる。フリップフロップFF2もいわゆるD型フリ
ップフロップで構成されており、リセット信号がクロッ
ク端子Cに入力されている。このため、CPU選択ビッ
トCPUSが書き替えられてフリップフロップFF1の
出力が変化しても、リセット信号が与えられるまではフ
リップフロップFF2の出力は変化しない。特に制限は
されないものの、フリップフロップFF2に与えられる
リセット信号は、ブレークリセット信号とするとよい。
特に制限されないが、上記フリップフロップFF2から
出力されるCPU選択信号を外部からモニタできるよう
にするため、出力バッファBF2と、モニタ端子MPと
が設けられている。
On the other hand, the output of the flip-flop FF1 constituting the CPU selection bit CPUS is given to each part of the microcomputer via the second flip-flop FF2. The flip-flop FF2 is also composed of a so-called D-type flip-flop, and the reset signal is input to the clock terminal C. Therefore, even if the CPU selection bit CPUS is rewritten and the output of the flip-flop FF1 changes, the output of the flip-flop FF2 does not change until the reset signal is applied. Although not particularly limited, the reset signal provided to the flip-flop FF2 may be a break reset signal.
Although not particularly limited, an output buffer BF2 and a monitor terminal MP are provided so that the CPU selection signal output from the flip-flop FF2 can be externally monitored.

【0039】以上、CPU選択をレジスタで指定するよ
うにした実施例を説明したが、レジスタで指定する代わ
りに外部端子入力で行ってもよい。図3にそのような実
施例を示す。この実施例は、CPU選択ビットCPUS
を構成するフリップフロップFF1のデータ端子Dへの
入力を、外部端子Pから入力バッファ回路(入力保護回
路Q3,Q4およびインバータQ1,Q2)を介して入
力される信号に変更したものである。また、入力回路に
はプルアップ抵抗Rが設けられており、外部端子Pを解
放状態にすると、CPU2が選択され、外部端子Pをグ
ランド(接地)端子などのリードLに接続すれば、CP
U1が選択されるように構成されている。かかる外部端
子Pは、半導体集積回路装置としてのエミュレーション
用プロセッサの専用の外部端子として設けられる必要は
なく、例えば、図3に示されているように隣り合うグラ
ンド端子などのリードと共有させるようにしてもよい。
また、外部端子の入力や、レジスタの出力や、或いはC
PU選択信号を、半導体集積回路装置の配線変更で形成
できるように構成して、“1”レベル/“0”レベルを
固定的に生成するようにしてもよい。
Although the embodiment in which the CPU selection is designated by the register has been described above, the CPU selection may be made by the external terminal input instead of the register designation. FIG. 3 shows such an embodiment. In this embodiment, the CPU selection bit CPUS
The input to the data terminal D of the flip-flop FF1 constituting the above is changed to a signal input from the external terminal P via the input buffer circuits (input protection circuits Q3 and Q4 and inverters Q1 and Q2). Further, the input circuit is provided with a pull-up resistor R, and when the external terminal P is released, the CPU 2 is selected, and when the external terminal P is connected to the lead L such as a ground (ground) terminal, CP
U1 is configured to be selected. The external terminal P does not need to be provided as a dedicated external terminal of the emulation processor as the semiconductor integrated circuit device, and may be shared with the leads such as adjacent ground terminals as shown in FIG. May be.
Also, input of external terminal, output of register, or C
The PU selection signal may be configured so as to be formed by changing the wiring of the semiconductor integrated circuit device, and the "1" level / "0" level may be fixedly generated.

【0040】このように固定的に指定するように構成し
た場合、エミュレーション用プロセッサやエミュレータ
を2つのCPUのエミュレーションに任意に選択して使
用することはできないが、実質的に1種類の半導体集積
回路を開発し、このボンディングの変更や配線変更によ
って、2種類のCPUに対応するエミュレーション用プ
ロセッサを得ることができるので、開発期間の短縮化の
効果を得ることができる。
When the fixed designation is used, the emulation processor or emulator cannot be arbitrarily selected and used for emulation of the two CPUs, but substantially one type of semiconductor integrated circuit is used. By developing this, and by changing the bonding and wiring, it is possible to obtain an emulation processor corresponding to two types of CPUs, so that the effect of shortening the development period can be obtained.

【0041】また、いずれのCPUが選択されているか
を表示する手段を持たせるようにしてもよい。かかる表
示手段による表示内容は、コントロールレジスタMCU
CRの他のビットをリードすることによって得られるよ
うにしてもよいし、外部端子から出力されるようにして
もよい。
It is also possible to provide a means for displaying which CPU is selected. The contents displayed by the display means are controlled by the control register MCU.
It may be obtained by reading another bit of CR, or may be output from an external terminal.

【0042】表2〜表4に、エミュレーションインター
フェース18に設けられる制御信号入出力端子の機能の
一覧表を示す。表2〜表4において、最後に#が付され
ている信号は、ロウアクティブ(“0”が有効レベル)
の信号であることを意味している。
Tables 2 to 4 show a list of functions of control signal input / output terminals provided in the emulation interface 18. In Tables 2 to 4, the signals with # at the end are row active (“0” is a valid level).
It means that the signal is.

【0043】[0043]

【表2】 [Table 2]

【0044】[0044]

【表3】 [Table 3]

【0045】[0045]

【表4】 [Table 4]

【0046】図4にエミュレータおよびおよびこれを含
むシステム開発装置の全体の概略構成を示す。
FIG. 4 shows an overall schematic configuration of the emulator and the system development apparatus including the emulator.

【0047】エミュレーション用プロセッサ10から延
長されたインタフェースケーブル21先端のコネクタ2
2が、シングルチップマイクロコンピュータの代わりに
応用システム(ユーザシステム)30上のCPUソケッ
ト31に装着される。エミュレーション用プロセッサ1
0は、上記コネクタ22とインターフェースケーブル2
1を介し、上記ユーザインターフェース17(図1参
照)を用いて上記応用システム30と信号の入出力を行
う。
Connector 2 at the end of the interface cable 21 extended from the emulation processor 10
2 is attached to the CPU socket 31 on the application system (user system) 30 instead of the single-chip microcomputer. Emulation processor 1
0 is the connector 22 and the interface cable 2
The user interface 17 (see FIG. 1) is used to input and output signals to and from the application system 30 via the user interface 1.

【0048】ユーザシステム30には、特に制限はされ
ないものの、ユーザバスが存在し、ユーザメモリが接続
されている。エミュレーション用プロセッサ10が出力
し、インターフェースケーブル21を介して供給される
ユーザストローブ信号に従って、ユーザメモリはリード
/ライトされる。ユーザシステム30で発生したリセッ
ト信号は、ユーザリセット信号URSとしてインターフ
ェースケーブル21を介してエミュレーション用プロセ
ッサ10に供給される。このユーザリセット信号URS
はエミュレータ側のリセット信号SRS,ERSととも
に、ORゲートG4を介してエミュレーション用プロセ
ッサのリセット端子RESに入力されるようになってい
る。
Although not particularly limited, the user system 30 has a user bus and a user memory connected thereto. The user memory is read / written according to the user strobe signal output from the emulation processor 10 and supplied via the interface cable 21. The reset signal generated by the user system 30 is supplied to the emulation processor 10 as the user reset signal URS via the interface cable 21. This user reset signal URS
Together with the reset signals SRS and ERS on the emulator side are input to the reset terminal RES of the emulation processor via the OR gate G4.

【0049】なお、エミュレータ側のリセット信号とし
ては、エミュレータの電源投入時などにエミュレータ全
体をリセットするシステムリセット信号SRSと、ホス
トコンピュータ40のコンソールからの指令によってエ
ミュレータ20にリセットをかけるためのエミュレーシ
ョンリセット信号ERSとがある。エミュレーションリ
セットは、エミュレータのコマンドとしてホストコンピ
ュータ40から入力された情報を基にユーザリセットを
与えるものである。エミュレータリセット信号ERSは
遅延回路DLYを経てウェイト信号ASEWAITとし
てエミュレーション用プロセッサ10に入力されてい
る。これによって、ウェイト信号ASEWAITがロウ
レベルのときにエミュレータのシステムリセット信号が
入ったときにのみ、図2の回路においてフリップフロッ
プFF1の内容をFF2に移してCPUの選択を行なう
ようにし、ウェイト信号ASEWAITがハイレベルの
ときにユーザリセット信号URSが入ってもCPUの選
択は行なわれないようにしている。
As the reset signal on the emulator side, a system reset signal SRS for resetting the entire emulator when the power of the emulator is turned on, and an emulation reset for resetting the emulator 20 by a command from the console of the host computer 40 are used. There is a signal ERS. The emulation reset gives a user reset based on information input from the host computer 40 as a command of the emulator. The emulator reset signal ERS is input to the emulation processor 10 as a wait signal ASEWAIT through the delay circuit DLY. As a result, the contents of the flip-flop FF1 in the circuit of FIG. 2 are moved to FF2 in the circuit of FIG. 2 to select the CPU only when the system reset signal of the emulator is input when the wait signal ASEWAIT is at the low level, and the wait signal ASEWAIT Even if the user reset signal URS is input at the high level, the CPU is not selected.

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

【0051】さらに、上記エミュレーションバス23に
は、特に制限はされないものの、応用システム又はター
ゲットマイクロコンピュータ内蔵のメモリを代行するた
めのRAMからなるようなエミュレーションメモリ24
が接続されている。エミュレーションメモリ24には、
内蔵ROMの代行をなす高速メモリと、ユーザに解放す
る貸出しメモリとが存在する。ユーザのプログラム作成
時には、容量的に余裕を持った設計をすることが多く、
内蔵ROMなどの記憶容量に収まらない場合がある。こ
のような場合にも、ユーザはエミュレータの貸出しメモ
リを利用して、実質的にプログラムメモリを拡張して、
デバックを開始することができる。デバックの進行に伴
ってプログラムを最適化し、所定の容量に収めるように
することができる。貸出しメモリは、その特性上、必ず
しも高速性は必要ない。エミュレーションメモリ24の
うち低速メモリからは、エミュレーション用プロセッサ
10に対してデータの読込みを待たせるウェイト要求信
号ASEWAITが出力される。エミュレーションメモ
リ24にはエミュレーション用プログラムも格納され
る。
Further, although not particularly limited, the emulation bus 23 is composed of a RAM for substituting a memory built in the application system or the target microcomputer, instead of the emulation memory 24.
Is connected. In the emulation memory 24,
There are a high-speed memory that acts as a substitute for the built-in ROM and a lending memory that is released to the user. When creating a user program, it is often designed with ample capacity,
It may not fit in the storage capacity of the built-in ROM. Even in such a case, the user can use the rental memory of the emulator to substantially expand the program memory,
You can start debugging. As the debugging progresses, the program can be optimized so that it fits in a predetermined capacity. The rental memory does not necessarily need high speed because of its characteristics. From the low-speed memory of the emulation memory 24, a wait request signal ASEWAIT that causes the emulation processor 10 to wait for the reading of data is output. An emulation program is also stored in the emulation memory 24.

【0052】また、エミュレーション用プロセッサ10
の制御状態やエミュレーションバスの状態を監視して、
その状態が予め設定された状態に達したときに、上記エ
ミュレータ専用割込みを入力して、CPUによるユーザ
プログラムの実行を停止させ、エミュレーション用プロ
グラム実行状態に遷移させる(ブレーク)ためのブレー
ク制御回路25と、上記CPUのリード動作またはライ
ト動作を示す信号、命令リード動作を示す信号などに基
づき、エミュレーションバスに与えられるアドレスやデ
ータさらには制御情報を逐次蓄えるリアルタイムトレー
ス回路26などがエミュレーションバス23に接続され
ている。エミュレーションバス23によって、エミュレ
ーションメモリ24、ブレーク制御回路25、リアルタ
イムトレース回路26間が相互に接続されている。ブレ
ーク制御回路25は、ブレーク信号ASEBRKをエミ
ュレーション用プロセッサ10に供給する。
Further, the emulation processor 10
Monitor the control status and emulation bus status of
When the state reaches a preset state, the break control circuit 25 for inputting the emulator-specific interrupt to stop the execution of the user program by the CPU and transition to the emulation program execution state (break) And a real-time trace circuit 26 for sequentially storing addresses and data, and further control information given to the emulation bus based on a signal indicating a read operation or a write operation of the CPU, a signal indicating an instruction read operation, etc. are connected to the emulation bus 23. Has been done. The emulation memory 23, the break control circuit 25, and the real-time trace circuit 26 are mutually connected by the emulation bus 23. The break control circuit 25 supplies the break signal ASEBRK to the emulation processor 10.

【0053】一方、上記エミュレーションメモリ24、
ブレーク制御回路25、リアルタイムトレース回路26
は、コントロールバス27を介してコントロールプロセ
ッサ28に接続されてその制御を受けるようになってい
る。上記コントロールバス27には、エミュレーション
用プロセッサ制御回路に接続されるとともに、ホストイ
ンターフェース回路29を介して、特に制限はされない
もののホストコンピュータ40に接続される。
On the other hand, the emulation memory 24,
Break control circuit 25, real-time trace circuit 26
Is connected to the control processor 28 via the control bus 27 and is controlled by the control processor 28. The control bus 27 is connected to the emulation processor control circuit, and is also connected to the host computer 40 via the host interface circuit 29, although not particularly limited thereto.

【0054】ホストコンピュータ40から入力されたプ
ログラムをエミュレーションメモリ24に転送し、内蔵
ROM上に配置されるべきプログラムをエミュレーショ
ン用プロセッサ10がリードすると、エミュレーション
メモリ24上のプログラムがリードされる。また、ブレ
ーク条件や、リアルタイムトレース条件などもホストコ
ンピュータ40から与えることができる。
When the program input from the host computer 40 is transferred to the emulation memory 24 and the emulation processor 10 reads the program to be placed on the built-in ROM, the program on the emulation memory 24 is read. In addition, break conditions and real-time trace conditions can be given from the host computer 40.

【0055】図5に、エミュレータの動作手順の概略を
示す。電源投入後、まず、エミュレータ全体のリセット
処理が実行される(ステップS1)。次に、CPUを選
択するためコントロールレジスタMCUCRのCPU選
択用ビットCPUSを設定する処理を行う(ステップS
2)。いずれのCPUがエミュレーション用プロセッサ
として動作するかは、ホストコンピュータ40から入力
され、ホストインターフェース29、コントロールプロ
セッサ28、エミュレーションメモリ25を介して、モ
ジュール制御レジスタMCUCRに設定される。モジュ
ールの選択も行われる。
FIG. 5 shows an outline of the operation procedure of the emulator. After the power is turned on, first, a reset process for the entire emulator is executed (step S1). Next, a process for setting the CPU selection bit CPUS of the control register MCUCR to select the CPU is performed (step S
2). Which CPU operates as the emulation processor is input from the host computer 40, and is set in the module control register MCUCR via the host interface 29, the control processor 28, and the emulation memory 25. Module selection is also done.

【0056】CPU選択用ビットはフリップフロップで
構成されているため電源投入直後は不定であるため、最
初のリセット後のレジスタ設定等のイニシャライズプロ
グラムは、CPU1およびCPU2のいずれもが実行可
能な命令(共通の命令)で構成されるようにする。アド
レスも、いずれのCPUもアクセス可能な範囲に配置す
るようにする。また、CPU2のアドレス上位ビットを
符号拡張する場合、アドレス範囲は例えば16進数表示
でCPU1のアドレス空間のH’000000〜H’0
07FFF、H’FF8000〜H’FFFFFFに対
応するようにする。エミュレータ専用コントロールレジ
スタの指定アドレスも上記範囲内に配置する。
Since the CPU selection bit is composed of flip-flops, it is undefined immediately after the power is turned on. Therefore, the initialization program such as register setting after the first reset can be executed by both CPU1 and CPU2. Common instructions). The address is arranged in a range accessible by any CPU. When sign-extending the upper address bits of the CPU 2, the address range is, for example, in hexadecimal notation, H'000000 to H'0 of the address space of the CPU 1.
07FFF, H'FF8000 to H'FFFFFF. Place the specified address of the emulator dedicated control register within the above range.

【0057】CPU選択後、貸出しメモリの設定や各種
制御レジスタの設定(ステップS3)が行われてから、
ユーザシステムをリセットさせるためのリセット処理
(ステップS4)を行なってから、エミュレーションプ
ログラムが実行される(ステップS5)。このエミュレ
ーションプログラム実行中にユーザプログラムを実行す
べき指令があると、エミュレーションプログラムの実行
を停止してユーザプログラム実行へ移行する(ステップ
S6−S7)。
After the CPU is selected and the lending memory and various control registers are set (step S3),
After performing the reset process (step S4) for resetting the user system, the emulation program is executed (step S5). If there is a command to execute the user program during execution of the emulation program, the execution of the emulation program is stopped and the process proceeds to execution of the user program (steps S6-S7).

【0058】ここで、上記エミュレータの動作開始前に
行われるエミュレーション対象のマイクロコンピュータ
の選択方法の一例を説明する。
Here, an example of a method of selecting the microcomputer to be emulated which is performed before the operation of the emulator is started will be described.

【0059】先ず、ホストコンピュータ40の表示装置
の画面上にコマンド入力待ちの状態を示す「:」が表示
される。この状態で、エミュレーション対象のマイクロ
コンピュータの選択を行うためにMODE;Cを入力し
実行キーを操作する。すると、エミュレータは、エミュ
レーション可能なマイクロコンピュータの選択メニュー
として、マイクロコンピュータの形式などを一覧表示す
る。ここで使用者は所望のマイクロコンピュータの番号
を入力する。例えば、CPU1を内蔵したマイクロコン
ピュータとして、1:MCU1A,2:MCU1B,
3:MCU1C,4:MCU1D,5:MCU1E,
6:MCU1Fのように、またCPU2を内蔵したマイ
クロコンピュータとして、7:MCU2A,8:MCU
2B,9:MCU2Cのようにそれぞれ表示されている
場合に、MCU1Aを指定するには「1」を入力する。
First, ":" indicating a command input waiting state is displayed on the screen of the display device of the host computer 40. In this state, MODE; C is input and the execution key is operated in order to select the microcomputer to be emulated. Then, the emulator displays a list of microcomputer types and the like as a selection menu of microcomputers that can be emulated. Here, the user inputs the desired microcomputer number. For example, as a microcomputer with a built-in CPU1, 1: MCU1A, 2: MCU1B,
3: MCU1C, 4: MCU1D, 5: MCU1E,
6: Like MCU1F, and as a microcomputer incorporating CPU2, 7: MCU2A, 8: MCU
2B, 9: Enter "1" to designate MCU1A when displayed like MCU2C.

【0060】すると、エミュレータは入力された番号に
対応して、予め、内部に登録されている情報に基づい
て、CPUの選択、メモリ容量の選択、内蔵周辺機能の
選択、パッケージなどの解析を行い、エミュレーション
用プロセッサ内部のCPUにプログラムを与えて、MC
UCRなどの所定のレジスタに書き込みを行う。なお、
マイクロコンピュータの選択は、形式などをメニューと
して選択させるほか、CPUの種類、メモリ容量などを
表示させて、使用者に個別に選択させるようにしてもよ
い。
Then, the emulator performs a CPU selection, a memory capacity selection, a built-in peripheral function selection, a package analysis, etc. based on the information registered internally in advance corresponding to the input number. , Give a program to the CPU inside the emulation processor, and
Write to a predetermined register such as UCR. In addition,
In selecting the microcomputer, the format and the like may be selected as a menu, or the type of the CPU, the memory capacity, and the like may be displayed so that the user can individually select.

【0061】上記マイクロコンピュータの選択の他にも
例えば拡張モードやシングルチップモードのような動作
モード設定等、エミュレータ設定処理が行われ、ホスト
コンピュータ40から入力されるコマンドなどに基づ
き、ユーザプログラムの実行が要求されると、図5のス
テップS6でエミュレーション用プロセッサがそれを検
知してリターン命令を実行し、ユーザモードに遷移して
ユーザプログラムを実行する。この状態で、ユーザシス
テムからリセットが要求されれば、ユーザプログラムの
リセット処理を行う(ステップS8,S9)。このと
き、ウェイト信号ASEWAITがハイレベルにされて
いるため、エミュレーション専用レジスタMCUCRは
リセットされずその内容が保持される。つまりCPUの
選択は行われない。実行すべきユーザプログラムが終了
したり、ユーザが設定した条件が成立したりすると、ユ
ーザプログラムの実行は中断(ブレーク)され、エミュ
レーションプログラム実行へ移行する(ステップS10
−S5)。
In addition to the above microcomputer selection, emulator setting processing such as operation mode setting such as extended mode and single chip mode is performed, and the user program is executed based on commands input from the host computer 40. Is requested, the emulation processor detects it in step S6 of FIG. 5 and executes a return instruction, transitions to the user mode and executes the user program. In this state, if reset is requested from the user system, reset processing of the user program is performed (steps S8 and S9). At this time, since the wait signal ASEWAIT is set to the high level, the emulation-dedicated register MCUCR is not reset but its contents are held. That is, no CPU is selected. When the user program to be executed is terminated or the condition set by the user is satisfied, the execution of the user program is interrupted (break) and the emulation program execution is started (step S10).
-S5).

【0062】CPUの選択は、エミュレーションプログ
ラム実行中のみ変更可能である。ただし、前述したよう
に、CPU選択ビットCPUSの出力はフリップフロッ
プFF2を介してマイクロコンピュータの各部に与えら
れるように構成されている(図2参照)ので、選択を変
更しても次のリセットが投入されるまでは有効にならな
い。CPUは、必ずリセット状態から起動されるので、
特殊な処理を行なわなくてよい。しかも、ターゲットと
なるマイクロコンピュータは、CPU1またはCPU2
のいずれか一方のみを内蔵するものであり、いずれかの
CPUを内蔵したマイクロコンピュータのエミュレーシ
ョンを行なうものであるから、動作中にCPUの変更を
行うことは意味がなく、上記のようにリセットによって
変更を許可するようにしても、使用者の使い勝手を損な
うことはない。
The CPU selection can be changed only while the emulation program is being executed. However, as described above, the output of the CPU selection bit CPUS is configured to be given to each part of the microcomputer through the flip-flop FF2 (see FIG. 2), so that the next reset is performed even if the selection is changed. It is not effective until it is input. Since the CPU is always started from the reset state,
No special processing is required. Moreover, the target microcomputer is CPU1 or CPU2.
It does not make sense to change the CPU during operation because it emulates only one of the CPUs and emulates a microcomputer containing any of the CPUs. Even if the change is permitted, the usability of the user is not impaired.

【0063】図6〜図11にバスタイミングおよびCP
Uステータス信号タイミングの一例を示す。このうち図
6はアドレスバス、データバス動作タイミングを示す。
ASEφはエミュレータ内部の動作クロック、ASEA
23-0は24ビットのアドレスバス信号、ASED15-0は
16ビットのデータバス信号を表している。
Bus timing and CP are shown in FIGS.
An example of U status signal timing is shown. Of these, FIG. 6 shows the operation timing of the address bus and the data bus.
ASEφ is the operating clock inside the emulator, ASEA
23-0 represents a 24-bit address bus signal, and ASED15-0 represents a 16-bit data bus signal.

【0064】図7はリード動作時のタイミングを示す。
ASERD#はCPU1,CPU2または他のバスマス
タが内部のモジュールに対して読込みを行なうときにロ
ウレベルにされるバスステータス信号としてのリード信
号、エミュレーション用プロセッサ10から外部へ出力
される。リフレッシュサイクルと他のバスサイクルを並
行して実行する場合、ASERD#信号はバスサイクル
優先となる。したがって、エミュレータ側ではリフレッ
シュサイクルの実行を知ることができないようになって
いる。
FIG. 7 shows the timing of the read operation.
ASERD # is a read signal as a bus status signal which is set to a low level when the CPU1, CPU2 or another bus master reads an internal module, and is output from the emulation processor 10 to the outside. When the refresh cycle and another bus cycle are executed in parallel, the ASERD # signal has the bus cycle priority. Therefore, the emulator side cannot know the execution of the refresh cycle.

【0065】図8はライト動作時のタイミングを示す。
ASEWR#はCPU1,CPU2または他のバスマス
タが内部のモジュールに対して書込みを行なうときにロ
ウレベルにされるバスステータス信号としてのライト信
号、ASEEXWR#は外部空間書込み時にロウレベル
にされるライト信号であり、エミュレーション用プロセ
ッサ10から出力される。ワードサイズのライトを、バ
イトサイズの2回のライトに分けて実行する場合、AS
EWR#信号はワードサイズアクセスについて1回ロウ
レベルを出力する。
FIG. 8 shows the timing of the write operation.
ASEWR # is a write signal as a bus status signal which is set to a low level when the CPU1, CPU2 or another bus master writes to an internal module, and ASEEXWR # is a write signal which is set to a low level when writing to an external space, It is output from the emulation processor 10. When executing a word-size write by dividing it into two byte-size writes,
The EWR # signal outputs a low level once for word size access.

【0066】図9は命令取り込み時の動作タイミングを
示す。ASELIR#はオペコードフェッチ信号で、C
PUの命令フェッチサイクル時にロウレベルを出力する
CPUステータス信号である。ASELID1#はオペ
コード実行信号で、CPUの命令実行開始時にロウレベ
ルにされるCPUステータス信号である。
FIG. 9 shows the operation timing at the time of fetching an instruction. ASELIR # is an opcode fetch signal, C
It is a CPU status signal that outputs a low level during a PU instruction fetch cycle. ASELID1 # is an operation code execution signal, which is a CPU status signal that is set to a low level when the CPU starts executing instructions.

【0067】図10は分岐命令実行時の動作タイミング
を示す。ASEBCCB#は分岐条件不成立時にロウレ
ベルにされるCPUステータス信号としての分岐条件不
成立信号である。CPUが条件分岐命令を実行すると、
分岐先の命令が必ずフェッチされ、条件判定の結果、分
岐条件が成立するとASEBCCB#はハイレベルのま
まとされプリフェッチされている次の命令は実行されず
に分岐先の命令が実行される。一方、条件判定の結果、
分岐条件が不成立になった場合、分岐先命令フェッチサ
イクルでASEBCCB#信号がロウレベルにされ、分
岐先の命令はフェッチされるのみで実行されず、既にプ
リフェッチされている次の命令が実行される。
FIG. 10 shows the operation timing when executing a branch instruction. ASEBCCB # is a branch condition not satisfied signal as a CPU status signal which is set to a low level when the branch condition is not satisfied. When the CPU executes a conditional branch instruction,
The instruction at the branch destination is always fetched, and as a result of the condition determination, if the branch condition is satisfied, ASEBCCB # remains high level, and the instruction at the branch destination is executed without executing the next prefetched instruction. On the other hand, as a result of the condition determination,
When the branch condition is not satisfied, the ASEBCCB # signal is set to the low level in the branch destination instruction fetch cycle, the branch destination instruction is only fetched and not executed, and the next prefetched next instruction is executed.

【0068】図11は割込み動作時のタイミングを示
す。ASELID1#は前述したようにCPUの命令実
行開始時にロウレベルにされるオペコード実行信号、A
SEIACK#は割込み要求に対する応答信号としての
割込みアクノリッジ信号である。ASEIACK#信号
はASELID#信号に半クロック遅れてロウレベル
(有効)に変化し、ASEIACK#信号がロウレベル
になった時のASELID#信号に対応する命令は実行
されないようになっている。
FIG. 11 shows the timing of the interrupt operation. As described above, ASELID1 # is an opcode execution signal that is set to a low level when the CPU starts executing an instruction, A
SEIACK # is an interrupt acknowledge signal as a response signal to the interrupt request. The ASEIACK # signal changes to the low level (valid) with a delay of half a clock from the ASELID # signal, and the instruction corresponding to the ASELID # signal when the ASEIACK # signal becomes the low level is not executed.

【0069】上記のようなバスタイミングやCPUステ
ータス信号は、CPU1とCPU2は共通のタイミング
で実行される。すなわち、CPU1とCPU2の共通の
命令を実行する場合には、上記タイミングが同一にな
る。CPU2のアドレス空間がCPU1にくらべて小さ
い場合、エミュレータは、CPU2のエミュレーション
をする場合には上位アドレスを無視するようにする。ま
た、CPU1にのみ存在する命令をCPU2が実行した
場合には、未定義の命令実行として表示する。このとき
に、いずれのCPUが選択されているかを示す信号を参
照すればよい。
The bus timing and the CPU status signal as described above are executed by the CPU 1 and the CPU 2 at a common timing. That is, when the common instructions of the CPU 1 and the CPU 2 are executed, the above timings are the same. When the address space of the CPU2 is smaller than that of the CPU1, the emulator ignores the upper address when emulating the CPU2. If the CPU 2 executes an instruction that exists only in the CPU 1, the unexecuted instruction is displayed. At this time, the signal indicating which CPU is selected may be referred to.

【0070】図12に、エミュレータのトレースおよび
逆アセンブルリストの一例を示す。ABはアドレスバ
ス、DBはデータバスである。MAはメモリアクセス対
象を示し、EXTは外部アドレスである。R/Wはリー
ド/ライトを示し、Rはリードサイクルである。STは
ステータスを示し、PRGはプログラムフェッチであ
る。IRQ、NMI、RESは、図示されていないユー
ザインターフェースに含まれる割込みないしシステム制
御信号の状態である。
FIG. 12 shows an example of the emulator trace and disassemble list. AB is an address bus and DB is a data bus. MA indicates a memory access target, and EXT is an external address. R / W indicates read / write, and R is a read cycle. ST indicates the status, and PRG is the program fetch. IRQ, NMI, and RES are states of interrupts or system control signals included in a user interface (not shown).

【0071】アドレスバス、データバスそのほかの内容
が順次トレースメモリに格納されていて、これをコント
ロールプロセッサ28の指示で、ホストコンピュータ4
0の表示画面上に図12に示すようなリストの形式で表
示したり、付属のプリンタから出力することができる。
Address bus, data bus, and other contents are sequentially stored in the trace memory, which is instructed by the control processor 28 to the host computer 4.
It can be displayed in the form of a list as shown in FIG. 12 on the display screen of 0 or can be output from the attached printer.

【0072】アドレスバスやデータバスのほか、リード
信号、ライト信号、CPUステータス信号もトレースさ
れている。図12のリストでは、アドレスバスやデータ
バスの内容はそのまま表示され、リード信号/ライト信
号はそれぞれ対応して、RまたはWの表示がなされる。
CPUステータス信号は、直接表示したり、出力したり
はせず、コントロールプロセッサの解析に提供される。
例えば、ASELIRで示される信号は、CPUがフェ
ッチした命令コードであるとされ、PRGの表示がなさ
れる。また、ASELIDで示される信号は、CPUが
実行した命令コードを示しており、これはアセンブラソ
ースとして表示される。例えば、7A07,00FF,
FF0Eに対して、ASELIRが出力され、7A07
に対してASELIDが出力される。これを解析して、
MOV.L #00FFFF0E,ER7として表示さ
れる。
In addition to the address bus and data bus, read signals, write signals and CPU status signals are also traced. In the list of FIG. 12, the contents of the address bus and the data bus are displayed as they are, and the read signal / write signal is displayed correspondingly to R or W.
The CPU status signal is not directly displayed or output, but is provided to the analysis of the control processor.
For example, the signal indicated by ASELIR is assumed to be the instruction code fetched by the CPU, and PRG is displayed. The signal indicated by ASELID indicates the instruction code executed by the CPU, which is displayed as an assembler source. For example, 7A07,00FF,
ASELIR is output to FF0E, and 7A07
Is output to ASELID. Analyze this,
MOV. It is displayed as L # 00FFFF0E, ER7.

【0073】CPU2のトレースの表示や出力時には、
エミュレーション用プロセッサがアドレスの上位ビット
を符号拡張していても、トレース表示上にこれを用いて
しまうと使用者にはわかりにくいので、アドレスの上位
を表示しないようにする。または、上位ビットを0とし
て表示してもよい。
When displaying or outputting the trace of the CPU 2,
Even if the emulation processor sign-extends the high-order bits of the address, it is difficult for the user to understand if they are used on the trace display. Therefore, do not display the high-order address. Alternatively, the upper bits may be displayed as 0.

【0074】図13に、エミュレーション用プロセッサ
に内蔵されるCPUの他の構成例を示す。
FIG. 13 shows another configuration example of the CPU incorporated in the emulation processor.

【0075】CPU1とCPU2は物理的に別のCPU
でなくともよく、CPU1の機能がCPU2の機能を包
含するような場合、CPU1のみを内蔵し、このうちC
PU1でのみ使用する機能には、禁止信号としてCPU
選択信号を与えるようにしたものである。即ち、CPU
1を選択していれば、CPUのすべての機能の動作を許
可し、CPU2を選択していれば、CPU2では使用で
きない機能を禁止するようにしたものである。例えば、
CPU2を選択した場合、汎用レジスタの上位に相当す
る部分のリード/ライトが禁止されるようにする。
CPU1 and CPU2 are physically different CPUs.
However, if the functions of CPU1 include the functions of CPU2, only CPU1 is built in, and
For functions used only by PU1, CPU is used as a prohibition signal.
The selection signal is given. That is, CPU
If 1 is selected, the operation of all the functions of the CPU is permitted, and if CPU 2 is selected, the functions that cannot be used by the CPU 2 are prohibited. For example,
When the CPU 2 is selected, the reading / writing of the portion corresponding to the higher order of the general-purpose register is prohibited.

【0076】図13において、IRは読み込まれた命令
を保持する命令レジスタ、CONTは読み込まれた命令
に対応した制御信号を実行部に対して供給する制御部、
MABはアドレス出力レジスタ、VAGは割込み時に供
給されるベクタ番号を取り込むベクタ番号入力レジス
タ、MCRはモード制御レジスタ、R0〜R7は汎用レ
ジスタ、PCはプログラムカウンタ、ALUは演算論理
ユニット、DBRはデータ入力レジスタ、DBWはデー
タ出力レジスタである。図13において、斜線が付され
ている部分が、CPU2が選択された場合に回路動作が
禁止される部分であり、CPU選択信号が禁止信号とし
て与えられる。すなわちCPU選択信号が“0”とされ
ることによりCPU1が選択されている場合は、斜線部
の動作が許可される。CPU選択信号が“1”とされて
CPU2が選択されている場合は、斜線部の動作が禁止
される。
In FIG. 13, IR is an instruction register that holds the read instruction, CONT is a control section that supplies a control signal corresponding to the read instruction to the execution section,
MAB is an address output register, VAG is a vector number input register that takes in the vector number supplied at interrupt, MCR is a mode control register, R0 to R7 are general-purpose registers, PC is a program counter, ALU is an arithmetic logic unit, and DBR is a data input. The register and DBW are data output registers. In FIG. 13, the shaded portion is the portion where the circuit operation is prohibited when the CPU 2 is selected, and the CPU selection signal is given as the prohibition signal. That is, when the CPU 1 is selected by setting the CPU selection signal to "0", the operation in the shaded area is permitted. When the CPU selection signal is set to "1" and the CPU 2 is selected, the operation in the shaded area is prohibited.

【0077】一例として、汎用レジスタの上位ビット
(ビット16〜31)の1ビット分の許可/禁止の仕方
を図14に示す。汎用レジスタの上位ビットは、クリア
端子付きのD型フリップフロップFF3で構成される。
このフリップフロップFF3のクリア端子CにCPU選
択信号が与えられる。これによって、CPU2を選択し
た場合は、CPU選択信号が“1”とされることによっ
てフリップフロップFF3は出力がロウレベルに固定さ
れる。その結果、汎用レジスタの上位ビット(ビット1
6〜31)は“0”に固定される。
As an example, FIG. 14 shows a method of permitting / prohibiting one high-order bit (bits 16 to 31) of a general-purpose register. The upper bit of the general-purpose register is composed of a D-type flip-flop FF3 with a clear terminal.
The CPU selection signal is applied to the clear terminal C of the flip-flop FF3. As a result, when the CPU 2 is selected, the output of the flip-flop FF3 is fixed to the low level by setting the CPU selection signal to "1". As a result, the high-order bit (bit 1
6 to 31) are fixed to "0".

【0078】内蔵される2つのCPUのうち必ずしも一
方が他方を包含しない場合にも、両方の機能を包含する
CPUを構成し、一方のCPUを選択した場合に、その
CPUでは使用しない機能を禁止するように構成すれば
よい。かかるCPUを内蔵したエミュレーション用プロ
セッサを開発すれば、いわゆる論理合成によって、必要
でないCPU論理回路を削除して最適化されたCPU論
理回路を得ることができる。
Even when one of the two built-in CPUs does not necessarily include the other, a CPU including both functions is configured, and when one of the CPUs is selected, the function not used by the CPU is prohibited. It may be configured to do so. If an emulation processor incorporating such a CPU is developed, unnecessary CPU logic circuits can be deleted by so-called logic synthesis to obtain an optimized CPU logic circuit.

【0079】一方、禁止機能を設けないようにすること
もできる。しかしながら、例えば、CPU2をエミュレ
ーションするときに、CPU1にのみ存在する機能を使
った場合、実際のマイクロコンピュータとエミュレーシ
ョン用プロセッサの動作が対応し、矛盾しないようにし
なければならない。例えば、CPU1のみに存在するア
ドレス24ビットのアドレッシングモードを使用した場
合、CPU2でも実行可能であり、実行結果、上位アド
レスが無視されるだけなどであれば問題はない。しかし
ながら、エミュレーション用プロセッサでは動作する
が、実際のマイクロコンピュータでは未定義の命令とし
て暴走したりしてしまってはプログラムのデバックを行
うエミュレータ本来の機能を実現できなくなってしまう
ので、避けるようにすべきである。少なくとも未定義の
命令として表示すべきである。例えば、図12の7A0
7,00FF,FF0Eに対してCPU2が選択されて
おり、CPU2では、MOV.L #00FFFF0
E,ER7が未定義命令であれば、MOV.L #00
FFFF0E,ER7とは表示せず、未定義命令として
表示するようにする。
On the other hand, the prohibition function may not be provided. However, for example, when the function existing only in the CPU 1 is used when emulating the CPU 2, it is necessary to make the actual microcomputer correspond to the operation of the emulation processor so that they do not conflict with each other. For example, when the address 24-bit addressing mode that exists only in the CPU 1 is used, it can be executed in the CPU 2, and if the execution result indicates that the upper address is ignored, there is no problem. However, the emulation processor works, but in an actual microcomputer, if it runs out as an undefined instruction, the emulator's original function of debugging the program cannot be realized. Is. At least it should be displayed as an undefined instruction. For example, 7A0 in FIG.
CPU2 is selected for 7,000 FF and FF0E. L # 00FFFF0
If E and ER7 are undefined instructions, MOV. L # 00
Instead of displaying FFFF0E and ER7, they are displayed as undefined instructions.

【0080】上記実施例をCPUを内蔵したセルベース
ICなどのエミュレータに適用すれば、最適なCPUを
随時選択することができ、使用者は最適なCPUを用い
たセルベースICを設計することができるようになり、
好適である。その結果、開発効率を向上し、設計できた
セルベースICの物理的規模、ひいては製造費用を低減
することが可能になる。
If the above embodiment is applied to an emulator such as a cell-based IC having a built-in CPU, the optimum CPU can be selected at any time, and the user can design a cell-based IC using the optimum CPU. To be able to
It is suitable. As a result, it becomes possible to improve the development efficiency and reduce the physical scale of the designed cell-based IC, and hence the manufacturing cost.

【0081】以上の実施例によれば以下の作用効果を得
ることができる。
According to the above embodiment, the following operational effects can be obtained.

【0082】(1)使用者は、一つのエミュレータで、
複数のCPUを選択的にエミュレーションすることがで
きる。
(1) The user can use one emulator
Multiple CPUs can be selectively emulated.

【0083】(2)一つのエミュレータで、複数のマイ
クロコンピュータのエミュレーションを行うことがで
き、2種類目以降のマイクロコンピュータの開発装置
を、いち早く提供でき、開発効率を向上することができ
る。
(2) A plurality of microcomputers can be emulated by one emulator, development devices for the second and subsequent microcomputers can be provided promptly, and development efficiency can be improved.

【0084】(3)アドレス空間の大きさが異なる2つ
のCPUのエミュレーションを一つのエミュレーション
用プロセッサで行なえるようにしたので、使用者のプロ
グラム開発に従って、プログラムサイズが大きくなった
り小さくなったりしても、直ちにCPUを変更して、エ
ミュレーションを行うことができ、また、容易に最適な
CPUに移行することができる。その結果、開発効率を
向上することができる。
(3) Since two CPUs having different address spaces can be emulated by one emulation processor, the program size may increase or decrease according to the user's program development. Also, the CPU can be immediately changed to perform emulation, and the CPU can be easily switched to the optimum CPU. As a result, development efficiency can be improved.

【0085】(4)複数のCPUのバスタイミングや、
エミュレーション用のCPUステータス信号などの種類
とタイミングを共通化することによって、また、複数の
CPUのオブジェクトコードを共通化することによって
エミュレータの開発を容易にすることができる。
(4) Bus timing of a plurality of CPUs,
Emulator development can be facilitated by sharing the type and timing of the emulation CPU status signal and the like, and by sharing the object code of a plurality of CPUs.

【0086】(5)複数のCPUに対して、共通のバス
コントローラや割込コントローラなどを設けることによ
って、エミュレーション用プロセッサの開発効率を向上
することができる。
(5) By providing a common bus controller or interrupt controller for a plurality of CPUs, the development efficiency of the emulation processor can be improved.

【0087】(6)CPUの選択変更をリセット時にの
み可能にすることによって、CPUの選択制御を容易に
し、エミュレーション用プロセッサの開発効率を向上す
ることができる。
(6) By making it possible to change the CPU selection only at the time of reset, the CPU selection control can be facilitated and the development efficiency of the emulation processor can be improved.

【0088】以上本発明者等によってなされた発明を実
施例に限定されるものではなく、その要旨を逸脱しない
範囲において種々変更可能である。例えば、CPUの数
は2つに制限されない。アドレス空間の相違のほか、ハ
ードウェアアクセラレータ(乗算器や除算器など)の有
効/無効を選択できるようにしてもよい。アドレス空間
の大きさ、命令セット、CPUステータス信号の種類や
バスタイミングなど、或いは、内蔵される機能ブロック
乃至モジュールの数・種類、ピン数などについては何等
限定されない。また、制御レジスタやエミュレーション
用プロセッサ専用ブロックの具体的構成、エミュレータ
の具体的構成などは上記実施例に限定されず、その他、
種々変更可能である。
The invention made by the inventors of the present invention is not limited to the embodiments, and various modifications can be made without departing from the scope of the invention. For example, the number of CPUs is not limited to two. In addition to the difference in address space, it may be possible to select enable / disable of a hardware accelerator (multiplier, divider, etc.). The size of the address space, the instruction set, the type of the CPU status signal and the bus timing, or the number and type of built-in functional blocks or modules, the number of pins, etc. are not particularly limited. Further, the specific configuration of the control register and the block dedicated to the emulation processor, the specific configuration of the emulator, etc. are not limited to the above embodiments, and
Various changes are possible.

【0089】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野であるエミュ
レーション用プロセッサ及びエミュレータに適用した場
合について説明したが、それに限定されるものではな
く、EPROM搭載型マイクロコンピュータなど、主に
開発用途で製造費用などより開発期間などが重要視され
るものに利用することができる。また、その他の半導体
集積回路装置にも適用可能であり、本発明は少なくと
も、複数のCPUを有したり、排他的に動作したりする
半導体集積回路装置に適用することができる。
In the above description, the case where the invention made by the present inventor is mainly applied to the emulation processor and the emulator, which are the fields of application which are the background of the invention, is not limited to the emulation processor and the emulator. It can be used for microcomputers and the like, which are mainly used for development and whose development period and the like are more important than manufacturing costs. Further, the present invention can be applied to other semiconductor integrated circuit devices, and at least the present invention can be applied to a semiconductor integrated circuit device having a plurality of CPUs or operating exclusively.

【0090】[0090]

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

【0091】すなわち、1つのエミュレータにおいて、
使用者の選択に基づいて複数のCPUのエミュレーショ
ンが可能になり、マイクロコンピュータ応用システムの
開発装置をいち早く提供でき、応用システムの開発効率
を向上し、かつ使用者が自由にCPUの選択でき、使い
勝手が向上する。
That is, in one emulator,
Emulation of multiple CPUs is possible based on the user's selection, the microcomputer application system development device can be provided quickly, the application system development efficiency is improved, and the user can freely select the CPU, which is convenient for use. Is improved.

【0092】また、CPUのバス制御、割込制御、エミ
ュレーションインターフェース信号を共通化することに
よって、エミュレーション用プロセッサやエミュレータ
の開発効率が向上する。
Further, by making the bus control, interrupt control and emulation interface signal of the CPU common, the development efficiency of the emulation processor and emulator is improved.

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

【図1】本発明の実施例を示すエミュレーション用プロ
セッサのブロック図である。
FIG. 1 is a block diagram of an emulation processor showing an embodiment of the present invention.

【図2】CPU選択信号生成回路の一例を示す概略ブロ
ック図である。
FIG. 2 is a schematic block diagram showing an example of a CPU selection signal generation circuit.

【図3】CPU選択信号生成回路の他の例を示す概略ブ
ロック図である。
FIG. 3 is a schematic block diagram showing another example of a CPU selection signal generation circuit.

【図4】エミュレータおよびこれを使用したシステム開
発装置全体の概略構成を示すブロック図である。
FIG. 4 is a block diagram showing a schematic configuration of an emulator and an entire system development apparatus using the emulator.

【図5】エミュレータの動作手順の概略を示すフローチ
ャートである。
FIG. 5 is a flowchart showing an outline of an operation procedure of the emulator.

【図6】バスタイミングおよびCPUステータス信号の
タイミングの一例を示すタイムチャートである。
FIG. 6 is a time chart showing an example of bus timing and timing of a CPU status signal.

【図7】バスタイミングおよびCPUステータス信号の
タイミングの一例を示すタイムチャートである。
FIG. 7 is a time chart showing an example of bus timing and timing of a CPU status signal.

【図8】バスタイミングおよびCPUステータス信号の
タイミングの一例を示すタイムチャートである。
FIG. 8 is a time chart showing an example of bus timing and timing of a CPU status signal.

【図9】バスタイミングおよびCPUステータス信号の
タイミングの一例を示すタイムチャートである。
FIG. 9 is a time chart showing an example of bus timing and timing of a CPU status signal.

【図10】バスタイミングおよびCPUステータス信号
のタイミングの一例を示すタイムチャートである。
FIG. 10 is a time chart showing an example of bus timing and timing of a CPU status signal.

【図11】バスタイミングおよびCPUステータス信号
のタイミングの一例を示すタイムチャートである。
FIG. 11 is a time chart showing an example of bus timing and timing of a CPU status signal.

【図12】エミュレータのトレース及び逆アセンブルリ
ストの一例である。
FIG. 12 is an example of a trace and disassemble list of an emulator.

【図13】エミュレーション用プロセッサに内蔵される
CPUの他の構成例を示すブロック図である。
FIG. 13 is a block diagram showing another configuration example of a CPU incorporated in the emulation processor.

【図14】汎用レジスタの許可/禁止可能なビットの構
成例を示す回路図である。
FIG. 14 is a circuit diagram showing a configuration example of bits that can be enabled / disabled in a general-purpose register.

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

11 データトランスファコントローラ 12 リードオンリメモリ 13 ランダムアクセスメモリ 14 バスコントローラ 19 エミュレーション制御回路 22 コネクタ 30 ユーザシステム(マイクロコンピュータ応用シス
テム) 31 シングルチップマイクロコンピュータの実装領域 SEL1〜SEL3 選択回路 MCUCR コントロールレジスタ MP モニタ用外部端子 FF1〜FF3 フリップフロップ(ラッチ回路)
11 data transfer controller 12 read only memory 13 random access memory 14 bus controller 19 emulation control circuit 22 connector 30 user system (microcomputer application system) 31 single-chip microcomputer mounting area SEL1 to SEL3 selection circuit MCUCR control register MP monitor external Terminals FF1 to FF3 Flip-flop (latch circuit)

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 オブジェクトコード・セットの少なくと
も一部、内部のステータス信号、インターフェースが共
通化されるとともに動作タイミングが同一である複数の
異なるCPUと、これらのCPUを選択的に動作可能に
する選択回路とを備え、複数のCPUのエミュレーショ
ンが実行可能であることを特徴とするエミュレーション
用プロセッサ。
1. A plurality of different CPUs having at least a part of an object code set, an internal status signal, an interface in common and the same operation timing, and a selection for selectively operating these CPUs. An emulation processor comprising a circuit and capable of executing emulation of a plurality of CPUs.
【請求項2】 上記複数のCPUへの割込み制御を選択
的に行う共通の割込み制御回路を備えてなることを特徴
とする請求項1に記載のエミュレーション用プロセッ
サ。
2. The emulation processor according to claim 1, further comprising a common interrupt control circuit that selectively controls interrupts to the plurality of CPUs.
【請求項3】 バスマスタとなる周辺モジュールを内蔵
し、これらの周辺モジュールと上記複数のCPUとのバ
ス使用権を制御する共通のバス制御回路を備えてなるこ
とを特徴とする請求項1または2に記載のエミュレーシ
ョン用プロセッサ。
3. A peripheral module which is a bus master is built-in, and a common bus control circuit for controlling the bus usage right between these peripheral modules and the plurality of CPUs is provided. An emulation processor described in.
【請求項4】 上記複数のCPUのうち一つを選択指定
するための制御フラグもしくはコントロールレジスタを
備えるとともに、前記制御フラグもしくはコントロール
レジスタの所定の制御ビットにはリセット信号によって
該制御ビットの情報が反映されるラッチ回路が設けられ
てなることを特徴とする請求項1、2または3に記載の
エミュレーション用プロセッサ。
4. A control flag or control register for selectively designating one of the plurality of CPUs is provided, and a predetermined control bit of the control flag or control register is provided with information of the control bit by a reset signal. The emulation processor according to claim 1, 2 or 3, wherein a reflected latch circuit is provided.
【請求項5】 上記複数のCPUのうちいずれを選択し
ているか外部へ出力する外部端子を備えてなることを特
徴とする請求項1、2、3または4に記載のエミュレー
ション用プロセッサ。
5. The emulation processor according to claim 1, further comprising an external terminal for outputting to the outside which one of the plurality of CPUs is selected.
【請求項6】 上記複数のCPUのうち一つを外部から
選択指定するための外部端子を備えてなることを特徴と
する請求項1、2または3に記載のエミュレーション用
プロセッサ。
6. The emulation processor according to claim 1, further comprising an external terminal for externally selecting and designating one of the plurality of CPUs.
【請求項7】 上記複数のCPUは互いにアドレス空間
を異にする場合において、アドレス空間の小さなCPU
が出力しないアドレスの上位ビットは、上記バス制御回
路によって0あるいは符号拡張されるように構成されて
いることを特徴とする請求項3、4、5または6に記載
のエミュレーション用プロセッサ。
7. The CPU having a small address space when the plurality of CPUs have different address spaces
The emulation processor according to claim 3, 4, 5 or 6, wherein the upper bit of an address not output by is configured to be 0 or sign-extended by the bus control circuit.
【請求項8】 選択信号によって一部の機能が禁止可能
にされたCPUを備え、上記一部の機能が禁止または許
可されることにより実質的に複数のCPUのエミュレー
ションが実行可能であることを特徴とするエミュレーシ
ョン用プロセッサ。
8. A CPU having a part of functions prohibited by a selection signal, wherein emulation of a plurality of CPUs can be substantially executed by prohibiting or allowing the parts of functions. Characteristic emulation processor.
【請求項9】 請求項1〜8に記載のエミュレーション
用プロセッサと、該プロセッサ内のいずれかのCPUが
動作中のバス上の信号を逐次蓄えるトレース回路と、所
定の状態を検出して上記CPUによるプログラムの実行
を停止させるブレーク制御回路とを備えてなることを特
徴とするエミュレータ。
9. The emulation processor according to any one of claims 1 to 8, a trace circuit for sequentially accumulating signals on a bus in which one of the CPUs in the processor is operating, and the CPU for detecting a predetermined state. And a break control circuit for stopping the execution of the program by the emulator.
JP8005036A 1996-01-16 1996-01-16 Processor for emulation and emulator Pending JPH09198272A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8005036A JPH09198272A (en) 1996-01-16 1996-01-16 Processor for emulation and emulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8005036A JPH09198272A (en) 1996-01-16 1996-01-16 Processor for emulation and emulator

Publications (1)

Publication Number Publication Date
JPH09198272A true JPH09198272A (en) 1997-07-31

Family

ID=11600239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8005036A Pending JPH09198272A (en) 1996-01-16 1996-01-16 Processor for emulation and emulator

Country Status (1)

Country Link
JP (1) JPH09198272A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6745320B1 (en) 1999-04-30 2004-06-01 Renesas Technology Corp. Data processing apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6745320B1 (en) 1999-04-30 2004-06-01 Renesas Technology Corp. Data processing apparatus

Similar Documents

Publication Publication Date Title
US6449709B1 (en) Fast stack save and restore system and method
US5325512A (en) Circuit emulator
US4112490A (en) Data transfer control apparatus and method
US5675772A (en) Device and method for reconfiguring a computer system with an incompatible CPU
US5577230A (en) Apparatus and method for computer processing using an enhanced Harvard architecture utilizing dual memory buses and the arbitration for data/instruction fetch
JPH06250871A (en) Cpu core, asic having the cpu core and emulation system provided with the asic
JP4226085B2 (en) Microprocessor and multiprocessor system
US20010018721A1 (en) Upgrade card for a computer system
JPH08202563A (en) Computer system
JPH08171500A (en) Computer system
US20040153811A1 (en) Computer system equipped with a BIOS debugging card
JP2001202243A (en) Data processor
JP2006313561A (en) Data processor
KR20010006839A (en) Microcomputer, electronic equipment and emulation method
JPH09198272A (en) Processor for emulation and emulator
JPH08255096A (en) Microprocessor and debugging system
JPH0855097A (en) Data processing system and its memory access method
JP3323341B2 (en) Emulation processor and emulator equipped with it
US20040153810A1 (en) Computer system equipped with a BIOS debugging card
JP3839835B2 (en) Data processing apparatus and microcomputer
US6560698B1 (en) Register change summary resource
JP2001109708A (en) Microcomputer
JP3839068B2 (en) Semiconductor integrated circuit device
JP2002541582A (en) Method and system for updating user memory in an emulator system
JP2001084161A (en) Data processor