JPH10105434A - Emulator - Google Patents

Emulator

Info

Publication number
JPH10105434A
JPH10105434A JP8258214A JP25821496A JPH10105434A JP H10105434 A JPH10105434 A JP H10105434A JP 8258214 A JP8258214 A JP 8258214A JP 25821496 A JP25821496 A JP 25821496A JP H10105434 A JPH10105434 A JP H10105434A
Authority
JP
Japan
Prior art keywords
emulation
bus
sub
buses
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP8258214A
Other languages
Japanese (ja)
Inventor
Hiroyuki Sasaki
宏幸 佐々木
Giichi Aoto
義一 青砥
Hideya Fujita
秀哉 藤田
Tatsuya Suzuki
達也 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Microcomputer System Ltd
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Microcomputer System Ltd, Hitachi Ltd filed Critical Hitachi Microcomputer System Ltd
Priority to JP8258214A priority Critical patent/JPH10105434A/en
Publication of JPH10105434A publication Critical patent/JPH10105434A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide technique for accurately executing brake condition comparison even when the operation frequency of an emulation processor is high. SOLUTION: An emulator is provided with plural sub-emulation buses 51 and 52 respectively capable of being connected to an emulation bus 55, sorting means 31 and 32 which successively sorts the states of the emulation bus to the plural sub-emulation buses at every bus cycle and pluralbrake condition comparing circuits 10A and 10B which are respectively provided in accordance with the plural sub-emulation buses and capable of judging whether or not the states of the respectively corresponding sub-emulation buses coincide with previously set brake conditions. Then, the operation margin of the brake condition comparing circuit is enlarged so as to attain the adequacy of brake detection.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、エミュレーション
技術、さらにはソフトウェアデバッグ対象とされるター
ゲットプログラム(ユーザプログラム)を、ターゲット
プロセッサと同等のエミュレーションプロセッサに実行
させることにより、ユーザシステム上で動作するソフト
ウェアの開発支援を可能とするインサーキットエミュレ
ータに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an emulation technique, and a software program that operates on a user system by causing a target program (user program) to be debugged by software to be executed by an emulation processor equivalent to the target processor. The present invention relates to an in-circuit emulator capable of supporting development of a computer.

【0002】[0002]

【従来の技術】マイクロプロセッサ(マイクロコンピュ
ータ)応用機器の開発において、その応用システムのデ
バッグやそのシステムの詳細な評価を行うため、インサ
ーキットエミユレータが使用されている。インサーキッ
トエミュレータは、ソフトウェア開発用のホストコンピ
ュータと、開発中のユーザシステムとの間に接続され、
そのユーザシステムに含まれるマイクロプロセッサ(タ
ーゲットプロセッサ)の機能を代行する一方でデバッガ
としての機能をもち、詳細なシステムデバッグを支援す
る。かかるエミュレータは、その本体から延長されたケ
ーブルの先端が、ターゲットプロセッサ用ソケットなど
の接栓を介してユーザシステムに結合可能とされ、さら
に、エミュレーション実行中に各種データやステータス
信号などを実時間でサンプリングし、それをトレースメ
モリ部などに格納する実時間トレース機能や、エミュレ
ーション動作を実質的に停止させるブレーク機能、ター
ゲットプログラムにおけるサブルーチン測定及び実行時
間測などのパフォーマンス測定、さらには所定時間毎に
エミュレーション状態を監視するためのエミュレーショ
ンモニタなどの各種デバッグ機能を備える。
2. Description of the Related Art In the development of microprocessor (microcomputer) application equipment, an in-circuit emulator is used to debug an application system and to evaluate the system in detail. The in-circuit emulator is connected between the host computer for software development and the user system under development,
On behalf of the functions of the microprocessor (target processor) included in the user system, it has a function as a debugger and supports detailed system debugging. In such an emulator, the tip of a cable extended from the main body can be connected to a user system via a plug such as a socket for a target processor, and further, various data and status signals can be transmitted in real time during emulation. Real-time tracing function that samples and stores it in the trace memory section, break function that stops emulation operation substantially, performance measurement such as subroutine measurement and execution time measurement in target program, and emulation every predetermined time It has various debugging functions such as an emulation monitor for monitoring the status.

【0003】尚、エミュレータについて記載された文献
の例としては、1989年6月20日に電波新聞社から
発行された「マイコン開発のすべて(第78頁から第9
5頁)」がある。
[0003] As an example of a document describing an emulator, "Everything about microcomputer development (pages 78 to 9)" issued by Dempa Shimbun on June 20, 1989.
5)).

【0004】[0004]

【発明が解決しようとする課題】エミュレーションプロ
セッサにソフトウェアデバッグの対象とされるプログラ
ムを実行させてユーザシステムを代行制御するとき、当
該プロセッサを、それの最高周波数で動作させること
は、当該プロセッサの性能解析において極めて重要とさ
れる。例えばターゲットプロセッサが60MHzで動作
する場合、そのターゲットプロセッサと同等の機能を有
するエミュレーションプロセッサを用いたエミュレーシ
ョンにおいても当該エミュレーションプロセッサを60
MHzで動作させるのが望ましく、しかもその場合に、
ブレーク条件比較や、パフォーマンス測定、さらにはエ
ミュレーションモニタを的確に行える必要がある。
When a user system is executed on behalf of a user system by causing an emulation processor to execute a program to be subjected to software debugging, operating the processor at its highest frequency requires the performance of the processor. It is extremely important in analysis. For example, if the target processor operates at 60 MHz, the emulation processor may be used for emulation using an emulation processor having the same function as the target processor.
It is desirable to operate at MHz, and in that case,
It is necessary to be able to accurately compare break conditions, measure performance, and even perform emulation monitoring.

【0005】しかしながら、プロセッサの動作周波数が
高くなってくると、エミュレータのブレーク条件比較動
作などの各種デバッグ動作がそれに追いつけなくなり、
ブレーク条件比較や、パフォーマンス測定、及びエミュ
レーションモニタにおいて、エミュレーションバスから
本来取得されるはずの情報が欠落することがある。
However, as the operating frequency of the processor increases, various debugging operations such as the emulator break condition comparison operation cannot keep up with it.
In the break condition comparison, the performance measurement, and the emulation monitor, information that should be originally acquired from the emulation bus may be lost.

【0006】本発明の目的は、ターゲットプログラムを
実行するエミュレーションプロセッの動作周波数が高い
場合でもブレーク条件比較を的確に行うための技術を提
供することにある。
An object of the present invention is to provide a technique for accurately comparing break conditions even when the operating frequency of an emulation processor for executing a target program is high.

【0007】また、本発明の別の目的は、ターゲットプ
ログラムを実行するエミュレーションプロセッの動作周
波数が高い場合でもブレーク条件比較、及びパフォーマ
ンス測定を的確に行うための技術を提供することにあ
る。
Another object of the present invention is to provide a technique for accurately performing a break condition comparison and performance measurement even when the operating frequency of an emulation processor that executes a target program is high.

【0008】さらに、本発明の別の目的は、ターゲット
プログラムを実行するエミュレーションプロセッの動作
周波数が高い場合でもブレーク条件比較、パフォーマン
ス測定、及びエミュレーションモニタを的確に行うため
の技術を提供することにある。
Another object of the present invention is to provide a technique for accurately performing break condition comparison, performance measurement, and emulation monitoring even when the operating frequency of an emulation processor for executing a target program is high. .

【0009】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
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.

【0010】[0010]

【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
The following is a brief description of an outline of a typical invention among the inventions disclosed in the present application.

【0011】すなわち、それぞれエミュレーションバス
(55)に結合可能な複数のサブエミュレーションバス
(51,52)と、上記エミュレーションバスの状態を
そのバスサイクル毎に複数のサブエミュレーションバス
に順次振り分けるための振り分け手段(31,32)
と、上記複数のサブエミュレーションバスのそれぞれに
対応して設けられ、それぞれ対応するサブエミュレーシ
ョンバスの状態が予め設定されたブレーク条件と一致す
るか否かを判別可能な複数のブレーク条件比較回路(1
0A,10B)とを含んでエミュレータを形成する。
That is, a plurality of sub-emulation buses (51, 52) which can be respectively coupled to the emulation bus (55), and distribution means for sequentially allocating the state of the emulation bus to the plurality of sub-emulation buses for each bus cycle. (31, 32)
And a plurality of break condition comparison circuits (1) provided corresponding to each of the plurality of sub-emulation buses and capable of determining whether the state of each corresponding sub-emulation bus matches a preset break condition.
0A, 10B) to form an emulator.

【0012】このとき、上記複数のブレーク条件比較回
路での論理和を求め、この論理和に基づいて、上記エミ
ュレーションプロセッサに対してターゲットプログラム
の実行停止を指示するためのブレーク検出回路(50)
を設けることができる。
At this time, a break detection circuit (50) for obtaining a logical sum of the plurality of break condition comparison circuits and instructing the emulation processor to stop the execution of the target program based on the logical sum.
Can be provided.

【0013】また、上記複数のサブエミュレーションバ
スのそれぞれに対応して複数のパフォーマンスカウンタ
回路(30A,30B)を設け、この複数のパフォーマ
ンスカウンタ回路により、それぞれ対応するバスを監視
して上記ターゲットプログラムのサブルーチン測定及び
時間測定を行うように構成することができる。
A plurality of performance counter circuits (30A, 30B) are provided corresponding to the plurality of sub-emulation buses, respectively, and the plurality of performance counter circuits monitor the corresponding buses, respectively. It can be configured to perform subroutine measurements and time measurements.

【0014】さらに、上記複数のサブエミュレーション
バスのそれぞれに対応して複数のエミュレーションモニ
タ回路(70A,70B)設け、この複数のエミュレー
ションモニタ回路により、それぞれ対応するサブエミュ
レーションバスの所定時間毎の状態を監視するように構
成することができる。
Further, a plurality of emulation monitor circuits (70A, 70B) are provided corresponding to each of the plurality of sub-emulation buses, and the states of the corresponding sub-emulation buses at predetermined time intervals are provided by the plurality of emulation monitor circuits. It can be configured to monitor.

【0015】上記振り分け手段は、上記複数のサブエミ
ュレーションバスのそれぞれに対応して設けられ、上記
エミュレーションバスの状態を所定の動作タイミングで
ラッチするとともに、それぞれ対応するサブエミュレー
ションバスに出力可能な複数のラッチ回路(31,3
2)と、上記ラッチ回路の数をnとするとき、上記複数
のラッチ回路を上記エミュレーションバスのバスサイク
ルの1/nの周波数で、且つ、それぞれ互いに異なるタ
イミングで動作させるためのクロック信号を、上記エミ
ュレーションプロセッサから出力される信号に基づいて
形成するためのクロック形成回路(20)とによって、
容易に形成することができる。
The distributing means is provided corresponding to each of the plurality of sub-emulation buses, latches the state of the emulation bus at a predetermined operation timing, and outputs a plurality of outputs to the corresponding sub-emulation bus. Latch circuit (31, 3
2) and when the number of the latch circuits is n, a clock signal for operating the plurality of latch circuits at a frequency of 1 / n of a bus cycle of the emulation bus and at mutually different timings, A clock forming circuit (20) for forming based on a signal output from the emulation processor,
It can be easily formed.

【0016】上記した手段によれば、振り分け手段は、
上記エミュレーションバスの状態をそのバスサイクル毎
に複数のサブエミュレーションバスに順次振り分ける。
このことが、それぞれ上記サブエミュレーションバスで
のバスサイクルを上記エミュレーションバスにおけるそ
れよりも長くして、サブエミュレーションバスに対応し
て設けられたブレーク条件比較回路、パフォーマンスカ
ウンタ回路、及びエミュレーションモニタ回路における
動作マージンを拡大し、ターゲットプログラムを実行す
るエミュレーションプロセッサを高速に動作させた状態
でのターゲットプログラムのエミュレーションを可能と
する。
According to the above means, the distribution means is
The state of the emulation bus is sequentially allocated to a plurality of sub-emulation buses in each bus cycle.
This makes the bus cycle in the sub-emulation bus longer than that in the emulation bus, and the operation in the break condition comparison circuit, performance counter circuit, and emulation monitor circuit provided corresponding to the sub-emulation bus. A margin is enlarged, and emulation of a target program can be performed while an emulation processor that executes the target program is operated at high speed.

【0017】[0017]

【発明の実施の形態】図3には本発明にかかるインサー
キットエミュレータの一例が示される。
FIG. 3 shows an example of an in-circuit emulator according to the present invention.

【0018】インサーキットエミュレータは、ソフトウ
ェア開発用のホストコンピュータと、開発中のユーザシ
ステム27との間に接続され、そのユーザシステム27
に本来搭載されるターゲットプロセッサの機能を代行す
る一方でデバッガとしての機能をもち、詳細なシステム
デバッグを支援する。
The in-circuit emulator is connected between a host computer for software development and a user system 27 under development.
It has the function of a debugger while substituting the function of the target processor originally installed in the system, and supports detailed system debugging.

【0019】インサーキットエミュレータ本体21から
PCインタフェースケーブル22や、ポッドインタフェ
ースケーブル24が引き出され、上記PCインタフェー
スケーブル22の先端はPCインタフェースボード23
に結合される。このPCインタフェースボード23は、
図示されないパーソナルコンピュータなどの拡張スロッ
トに装着されることによって、当該パーソナルコンピュ
ータの機能を拡張してソフトウェア開発用のホストコン
ピュータとして機能させる。
A PC interface cable 22 and a pod interface cable 24 are pulled out from the main body 21 of the in-circuit emulator.
Is combined with This PC interface board 23
By being installed in an expansion slot of a personal computer (not shown) or the like, the functions of the personal computer are expanded to function as a host computer for software development.

【0020】ポッドインタフェースケーブル24の先端
にはコネクタ30が設けられ、このコネクタ30を介し
てポッドインタフェースケーブル24がエミュレーショ
ンポッド26に結合される。エミュレーションポッド2
6の下面には、ユーザシステム27のターゲットプロセ
ッサ搭載用ソケット29に着脱自在に結合可能な複数の
ピンが設けられている。 ユーザシステム27に本来搭
載されるべきターゲットプロセッサに代えて当該ユーザ
システム27のソケット29にエミュレーションポッド
26が結合される。図2では省略されているが、エミュ
レーションポッド26には、ターゲットプロセッサと同
等の機能を有し、当該ターゲットプロセッサに代って、
ソフトウェアデバッグ対象とされるターゲットプログラ
ムを実行するためのエミュレーションプロセッサが搭載
される。
A connector 30 is provided at the tip of the pod interface cable 24, and the pod interface cable 24 is connected to the emulation pod 26 via the connector 30. Emulation pod 2
The lower surface of 6 is provided with a plurality of pins that can be removably coupled to the target processor mounting socket 29 of the user system 27. The emulation pod 26 is connected to the socket 29 of the user system 27 instead of the target processor that is originally mounted on the user system 27. Although omitted in FIG. 2, the emulation pod 26 has a function equivalent to that of the target processor.
An emulation processor for executing a target program targeted for software debugging is mounted.

【0021】尚、エミュレータによっては、エミュレー
ションプロセッサをエミュレータ本体21に搭載する場
合もあるが、そうすると、プロセッサの動作周波数が高
い場合に、ポッドインタフェースケーブル24での信号
伝達遅延によってユーザシステム27の実際の動作から
ずれるおそれがあるため、本例ではエミュレーションプ
ロセッサをエミュレーションポッド26に搭載する方式
が採用されている。
In some emulators, an emulation processor is mounted on the emulator main body 21. However, if the operating frequency of the processor is high, the actual transmission of the user system 27 by the signal transmission delay on the pod interface cable 24 may occur. Since the operation may be deviated, in this example, a method in which an emulation processor is mounted on the emulation pod 26 is employed.

【0022】エミュレータ本体21から外部プローブ2
8が引き出され、この外部プローブ28の先端をユーザ
システム27の適宜箇所に結合することによって、プロ
セッサバスには現れない信号をエミュレータ本体21内
に取り込むことができ、その信号を利用して、エミュレ
ーションの際のトリガを与えることができるようになっ
ている。
From the emulator body 21 to the external probe 2
By connecting the tip of the external probe 28 to an appropriate portion of the user system 27, a signal that does not appear on the processor bus can be taken into the emulator main body 21, and the emulation is performed using the signal. Trigger can be given at the time of.

【0023】図1には上記エミュレータ本体の構成例が
示され、また、図3にはそれにおける主要部の動作タイ
ミングが示される。
FIG. 1 shows an example of the configuration of the emulator main body, and FIG. 3 shows operation timings of main parts in the emulator.

【0024】エミュレータ本体21には、エミュレーシ
ョンバス55が形成される。このエミュレーションバス
55は、双方向バッファ12、ポッドインタフェースケ
ーブル24、及びエミュレーションポッド26に設けら
れた双方向バッファ11を介してエミュレーションプロ
セッサ100のプロセッサバス56に結合される。プロ
セッサバス56は、アドレス信号伝達のためのアドレス
バス、データ伝達のためのデータバスを含んでなり、上
記エミュレーションバスもそれに対応してアドレスバ
ス、データバスが含まれる。それにより、エミュレーシ
ョンプロセッサ100からメモリアクセスのために出力
されるアドレス信号や、演算処理のためにエミュレーシ
ョンプロセッサ100とそれの外部との間でやりとりさ
れる各種データは、エミュレーションバス55にも伝達
される。
An emulation bus 55 is formed in the emulator main body 21. The emulation bus 55 is connected to the processor bus 56 of the emulation processor 100 via the bidirectional buffer 12, the pod interface cable 24, and the bidirectional buffer 11 provided in the emulation pod 26. The processor bus 56 includes an address bus for transmitting an address signal and a data bus for transmitting data, and the emulation bus also includes an address bus and a data bus correspondingly. As a result, address signals output from the emulation processor 100 for memory access and various data exchanged between the emulation processor 100 and the outside thereof for arithmetic processing are also transmitted to the emulation bus 55. .

【0025】エミュレーションプロセッサ100は、図
2に示されるエミュレーションポッド26に搭載される
もので、このエミュレーションポッド26に設けられた
複数のピンがターゲットプロセッサ搭載用ソケット29
に結合されることで、ユーザシステム27に本来搭載さ
れるターゲットプロセッサの機能を代行する。エミュレ
ーションプロセッサ100で実行されるターゲットプロ
グラム(ユーザプログラム)は、双方バッファ14を介
してエミュレーションバス55に結合されたエミュレー
ションRAM(ランダム・アクセス・メモリ)35に記
憶され、エミュレーションプロセッサ100からのメモ
リアクセスによりエミュレーションプロセッサ100に
転送される。
The emulation processor 100 is mounted on the emulation pod 26 shown in FIG. 2, and a plurality of pins provided on the emulation pod 26
, The function of the target processor originally mounted on the user system 27 is performed. A target program (user program) to be executed by the emulation processor 100 is stored in an emulation RAM (random access memory) 35 coupled to an emulation bus 55 via both buffers 14, and by a memory access from the emulation processor 100. The data is transferred to the emulation processor 100.

【0026】エミュレーションRAM35は、システム
バス54にも結合されており、双方向バッファ15を介
してこのシステムバスに結合されたコントロールプロセ
ッサ90からのメモリアクセスも可能とされる。エミュ
レーションRAM35の動作制御は、双方向バッファ1
4を介してエミュレーションバス55に結合されるとと
もに、双方向バッファ15を介してコントロールプロセ
ッサ90に結合されたメモリコントローラ34によって
行われる。
The emulation RAM 35 is also connected to the system bus 54, and a memory access from a control processor 90 connected to the system bus via the bidirectional buffer 15 is also enabled. The operation of the emulation RAM 35 is controlled by the bidirectional buffer 1
4 by the memory controller 34 coupled to the emulation bus 55 and to the control processor 90 via the bidirectional buffer 15.

【0027】さらに、コントロールプロセッサ90で実
行されるエミュレーション制御プログラムが格納された
ファームRAM37や、エミュレーションプロセッサ1
00及びコントロールプロセッサ90の双方からのアク
セスが可能とされるシェアードRAM33が設けられ、
それらがシステムバス54に結合されるとともに、双方
向バッファ14を介してエミュレーションバス55に結
合されている。エミュレーションに関する各種情報は、
システムバス54及び図2に示されるPCインタフェー
スケーブル22やPCインタフェースボード23を介し
てパーソナルコンピュータに伝達され、当該パーソナル
コンピュータのCRTディスプレイ装置に表示される。
Further, the firmware RAM 37 in which an emulation control program executed by the control processor 90 is stored, the emulation processor 1
00 and a shared RAM 33 that can be accessed from both the control processor 90 and the control processor 90.
They are coupled to the system bus 54 and to the emulation bus 55 via the bidirectional buffer 14. For various information on emulation,
The data is transmitted to the personal computer via the system bus 54 and the PC interface cable 22 or the PC interface board 23 shown in FIG. 2, and is displayed on the CRT display device of the personal computer.

【0028】また、エミュレーションプロセッサ100
を高速に動作させた状態でのターゲットプログラムのエ
ミュレーションを可能とするため、サブエミュレーショ
ンバス51,52が設けられ、このサブエミュレーショ
ンバス51,52に、ブレーク条件比較のためのブレー
ク条件比較回路10A,10B、パフォーマンス測定の
ためのパフォーマンスカウンタ回路30A,30B、及
びエミュレーションモニタのためのエミュレーションモ
ニタ回路70A,70Bが結合される。
The emulation processor 100
Sub-emulation buses 51 and 52 are provided to enable emulation of a target program in a state where the CPU is operated at a high speed. The sub-emulation buses 51 and 52 are provided with break condition comparison circuits 10A and 10A for break condition comparison. 10B, performance counter circuits 30A and 30B for performance measurement, and emulation monitor circuits 70A and 70B for emulation monitor.

【0029】サブエミュレーションバス51は、D型ラ
ッチ回路31を介してエミュレーションバス55に結合
され、サブエミュレーションバス52は、D型ラッチ回
路32を介してエミュレーションバス55に結合され
る。D型ラッチ回路31,32は、それぞれ1個の論理
回路のように示されているが、実際には、エミュレーシ
ョンバス55の構成ビット数に対応する数だけ配置され
る。
The sub-emulation bus 51 is connected to the emulation bus 55 via the D-type latch circuit 31, and the sub-emulation bus 52 is connected to the emulation bus 55 via the D-type latch circuit 32. Although the D-type latch circuits 31 and 32 are each shown as one logic circuit, actually, the D-type latch circuits 31 and 32 are arranged in a number corresponding to the number of bits constituting the emulation bus 55.

【0030】エミュレーションバス55は、D型ラッチ
回路31,32のデータ入力端子Dに結合される。サブ
エミュレーションバス51はD型ラッチ回路31の出力
端子Qに結合され、サブエミュレーションバス52はD
型ラッチ回路32の出力端子Qに結合される。D型ラッ
チ回路31,32を動作させるためのクロック信号は、
クロック形成回路20によって生成される。
The emulation bus 55 is connected to the data input terminals D of the D-type latch circuits 31, 32. The sub-emulation bus 51 is connected to the output terminal Q of the D-type latch circuit 31, and the sub-emulation bus 52 is
It is coupled to the output terminal Q of the type latch circuit 32. A clock signal for operating the D-type latch circuits 31 and 32 is as follows.
Generated by the clock forming circuit 20.

【0031】クロック形成回路20は、特に制限されな
いが、エミュレーションプロセッサ100から出力され
る基準タイミング信号ASETS*(*はローアクティ
ブ又は信号反転を意味する)を1/2分周することによ
って、非反転クロック信号CL及び反転クロック信号C
L*を生成する。非反転クロック信号CLは、D型ラッ
チ回路31、ブレーク条件比較回路10A、パフォーマ
ンスカウンタ回路30A、及びエミュレーションモニタ
回路70Aに、それらの動作クロックとして入力され
る。また、反転クロック信号CL*は、D型ラッチ回路
32、ブレーク条件比較回路10B、パフォーマンスカ
ウンタ回路30B、及びエミュレーションモニタ回路7
0Bに、それらの動作クロックとして入力される。上記
非反転クロック信号CL、及び反転クロック信号CL*
は、エミュレーションプロセッサ100から出力される
基準タイミング信号ASETS*の1/2の周波数であ
り、互いに相補レベルの信号とされる。ゆえに、そのよ
うなクロック信号によって動作制御されるD型ラッチ回
路31,32は、それぞれエミュレーションバス55の
状態を、エミュレーションバス55のバスサイクル毎に
交互にラッチする。このため、図3に示されるように、
エミュレーションバス55の状態は、D型ラッチ回路3
1,32のラッチ動作によって、エミュレーションバス
55のバスサイクル毎にサブエミュレーションバス5
1,52に交互に伝達される。そのように、クロック形
成回路20から出力される非反転クロック信号CL,C
L*に基づいて、エミュレーションバス55の状態が、
エミュレーションバス55のバスサイクル毎にサブエミ
ュレーションバス51,52に交互に振り分けられるた
め、サブエミュレーションバス51,52のそれぞれに
おけるバスサイクルは、エミュレーションバス55のそ
れに比べて1/2とされ、クロック形成回路20から出
力される非反転クロック信号CL,CL*に同期動作さ
れるブレーク条件比較回路10A,10B、パフォーマ
ンスカウンタ回路30A,30B、及びエミュレーショ
ンモニタ回路70A,70Bでは、エミュレーションバ
ス55のバスサイクルの1/2のサイクルで、対応する
サブエミュレーションバス51,52の状態を取り込む
ことができる。このため、ブレーク条件比較や、パフォ
ーマンス測定、及びエミュレーションモニタにおいて、
プロセッサの動作周波数が高くなったためにエミュレー
ションバス55からの情報取得が困難な場合でも、上記
のようにエミュレーションバス55のバスサイクルの1
/2のサイクルとされるサブエミュレーションバス5
1,52から情報を取得することにより、エミュレーシ
ョンを的確に行うことができる。
Although not particularly limited, the clock forming circuit 20 performs non-inversion by dividing the reference timing signal ASETS * (* indicates low active or signal inversion) output from the emulation processor 100 by 1/2. Clock signal CL and inverted clock signal C
Generate L *. The non-inverted clock signal CL is input to the D-type latch circuit 31, the break condition comparison circuit 10A, the performance counter circuit 30A, and the emulation monitor circuit 70A as their operation clocks. The inverted clock signal CL * is output to the D-type latch circuit 32, the break condition comparison circuit 10B, the performance counter circuit 30B, and the emulation monitor circuit 7.
0B are input as their operation clocks. The non-inverted clock signal CL and the inverted clock signal CL *
Is a half frequency of the reference timing signal ASETS * output from the emulation processor 100, and is a signal of a complementary level to each other. Therefore, the D-type latch circuits 31 and 32 whose operations are controlled by such a clock signal alternately latch the state of the emulation bus 55 every bus cycle of the emulation bus 55. For this reason, as shown in FIG.
The state of the emulation bus 55 is determined by the D-type latch circuit 3.
The latch operation of the sub-emulation bus 5 in each bus cycle of the emulation bus 55
1, and 52 are transmitted alternately. Thus, the non-inverted clock signals CL and C output from the clock forming circuit 20
Based on L *, the state of the emulation bus 55
Since the signals are alternately allocated to the sub-emulation buses 51 and 52 for each bus cycle of the emulation bus 55, the bus cycle in each of the sub-emulation buses 51 and 52 is halved compared to that of the emulation bus 55, and a clock forming circuit is provided. In the break condition comparison circuits 10A and 10B, the performance counter circuits 30A and 30B, and the emulation monitor circuits 70A and 70B which are operated in synchronization with the non-inverted clock signals CL and CL * output from the bus 20, one of the bus cycles of the emulation bus 55 is used. In the cycle of / 2, the state of the corresponding sub-emulation buses 51 and 52 can be captured. For this reason, in break condition comparison, performance measurement, and emulation monitor,
Even when it is difficult to obtain information from the emulation bus 55 due to an increase in the operating frequency of the processor, as described above, one bus cycle of the emulation bus 55 is used.
/ 5 emulation bus 5
The emulation can be accurately performed by acquiring information from the first and the second information 52.

【0032】ブレーク条件比較回路10Aは、ブレーク
条件を設定するためのレジスタや、このレジスタに設定
されたブレーク条件と、サブエミュレーションバス51
の状態が上記レジスタに設定されたブレーク条件とが一
致するか否かを判別可能なコンパレータを含み、ブレー
ク条件比較回路10Bは、ブレーク条件を設定するため
のレジスタや、このレジスタに設定されたブレーク条件
と、サブエミュレーションバス52の状態とが一致する
か否かを判別可能なコンパレータとを含む。そのような
ブレーク条件比較回路10A,10Bに結合されたブレ
ーク検出回路50は、上記ブレーク条件比較回路10
A,10Bの比較結果の論理和を求める論理和回路を含
んで成る。上記ブレーク条件比較回路10A又はブレー
ク条件比較回路10Bでの比較において、サブエミュレ
ーションバスの状態が、予め設定されたブレーク条件と
一致する場合には、ブレーク検出回路50によってブレ
ーク信号ASEBRK*がローレベルにアサートされ
る。すると、エミュレーションプロセッサ100によっ
てブレークアクノリッジ信号ASEBRKAK*がロー
レベルにアサートされて、ターゲットプログラムの実行
が停止される。ブレークアクノリッジ信号ASEBRK
AK*がローレベルにアサートされると、ランステップ
生成回路36によりランステップ信号RUNSTEP*
がハイレベルにネゲートされて双方向バッファ13が導
通されて、システムバス54が、ブレーク条件比較回路
10A,10B、ブレーク検出回路50、パフォーマン
スカウンタ回路30A,30B、パフォーマンス制御回
路60,エミュレーションモニタ回路70A,70Bに
結合され、ブレークや、パフォーマンス測定、エミュレ
ーションモニタに関する各種設定がコントロールプロセ
ッサ90によって行うことができる。ランステップ生成
回路36によりランステップ信号RUNSTEP*がロ
ーレベルにアサートされているときは、双方向バッファ
13は非導通状態とされ、コントロールプロセッサ90
からブレーク条件比較回路10A,10B、ブレーク検
出回路50、パフォーマンスカウンタ回路30A,30
B、パフォーマンス制御回路60、及びエミュレーショ
ンモニタ回路70A,70Bへのアクセスが禁止され
る。そのような状態は、エミュレーションプロセッサ1
00によりターゲットプログラムが実行されている状態
であり、ユーザ空間とされる。そに対して、エミュレー
ションプロセッサ100によるターゲットプログラム実
行が停止され、双方向バッファ13が導通されてコント
ロールプロセッサ90による各種条件設定や、エミュレ
ーション情報の収集が可能とされる状態はシステム空間
とされる。つまり、ブレーク条件比較やパフォーマンス
測定、及びエミュレーションモニタは、ユーザ空間で行
われ、そのための各種設定などはシステム空間において
行われる。
The break condition comparison circuit 10A includes a register for setting a break condition, a break condition set in this register, and a sub-emulation bus 51.
And a break condition comparison circuit 10B includes a register for setting a break condition and a break for setting a break condition set in this register. It includes a comparator capable of determining whether the condition and the state of the sub-emulation bus 52 match. The break detection circuit 50 coupled to such a break condition comparison circuit 10A, 10B
A logical sum circuit for calculating the logical sum of the comparison results of A and 10B. In the comparison by the break condition comparing circuit 10A or the break condition comparing circuit 10B, when the state of the sub-emulation bus matches the preset break condition, the break detecting circuit 50 sets the break signal ASEBRK * to low level. Asserted. Then, the break acknowledge signal ASEBRKAK * is asserted to a low level by the emulation processor 100, and the execution of the target program is stopped. Break acknowledge signal ASEBRK
When AK * is asserted to a low level, the runstep generation circuit 36 generates a runstep signal RUNSTEP *.
Is negated to the high level, the bidirectional buffer 13 is turned on, and the system bus 54 is connected to the break condition comparison circuits 10A and 10B, the break detection circuit 50, the performance counter circuits 30A and 30B, the performance control circuit 60, and the emulation monitor circuit 70A. , 70B, and various settings relating to breaks, performance measurement, and emulation monitoring can be performed by the control processor 90. When the run step signal RUNSTEP * is asserted to a low level by the run step generation circuit 36, the bidirectional buffer 13 is turned off and the control processor 90
To break condition comparison circuits 10A and 10B, break detection circuit 50, performance counter circuits 30A and 30
B, access to the performance control circuit 60 and the emulation monitor circuits 70A and 70B are prohibited. Such a state is caused by the emulation processor 1
00 indicates that the target program is being executed, which is a user space. On the other hand, the state in which the execution of the target program by the emulation processor 100 is stopped, the bidirectional buffer 13 is turned on, and various conditions can be set by the control processor 90 and emulation information can be collected is defined as a system space. That is, the break condition comparison, the performance measurement, and the emulation monitor are performed in the user space, and various settings for the same are performed in the system space.

【0033】ランステップ生成回路36は、きめ細かな
デバッグを可能とするため、ラン状態、及びステップ状
態の選択設定を可能とするレジスタ36Aが内蔵され
る。このレジスタ36Aの設定は、コントロールプロセ
ッサ90によって行われる。ステップ状態が設定されて
いる場合にはターゲットプログラムが連続的に実行され
るが、ラン状態が設定されている場合にはターゲットプ
ログラムがエミュレーションプロセッサ100において
1命令実行する毎にランステップ信号RUNSTEP*
がハイレベルにネゲートされてユーザ空間からシステム
空間に移行される。
The run step generation circuit 36 has a built-in register 36A for enabling selection of a run state and a step state in order to enable detailed debugging. The setting of the register 36A is performed by the control processor 90. When the step state is set, the target program is continuously executed. When the run state is set, the run step signal RUNSTEP * is executed each time the target program executes one instruction in the emulation processor 100.
Is negated to a high level, and is shifted from the user space to the system space.

【0034】ここで、ブレーク条件比較回路10A,1
0Bへのブレーク条件設定について詳述する。ブレーク
条件比較回路10A,10Bへ設定されるブレーク条件
は互いに等しい。
Here, the break condition comparison circuits 10A, 1
The setting of the break condition to 0B will be described in detail. The break conditions set in the break condition comparison circuits 10A and 10B are equal to each other.

【0035】上記のように双方向バッファ13が導通さ
れているシステム空間で行われるブレーク条件設定とし
ては、特に制限されないが、第1ハードウェアブレーク
条件設定、第2ハードウェアブレーク条件設定、外部プ
ローブ28からのトリガ信号によるブレーク設定、及び
ソフトウェアブレーク条件設定が挙げられる。
The break conditions set in the system space where the bidirectional buffer 13 is conductive as described above are not particularly limited, but the first hardware break condition setting, the second hardware break condition setting, and the external probe Break setting by a trigger signal from the CPU 28 and software break condition setting.

【0036】第1ハードウェアブレーク条件設定では、
指定条件成立で強制的にターゲットプログラム実行停止
を指定することができる(2箇所)他、アドレス、デー
タ条件のマスク指定、2条件の成立順番指定が可能とさ
れる。指定条件成立で強制的にターゲットプログラム実
行停止を指定する場合の条件は、アドレスバス及びデー
タバスの値や、プログラムカウンタの値、リード/ライ
トの条件、ディレイ/カウント、及び通過回数指定など
とされる。アドレス、データ条件のマスク指定では、ア
ドレス、プログラムカウンタ、データ条件には、1ビッ
ト毎の指定が可能とされる。
In the first hardware break condition setting,
Stop of execution of the target program can be forcibly specified when the specified condition is satisfied (two places). In addition, address and data condition mask specification and two condition satisfaction order specification can be performed. When the target program execution stop is forcibly specified when the specified conditions are satisfied, the values of the address bus and data bus, the value of the program counter, the read / write conditions, the delay / count, and the number of times of passing are specified. You. In the mask specification of the address and the data condition, the address, the program counter, and the data condition can be specified for each bit.

【0037】第2ハードウェアブレーク条件設定では、
指定条件成立で強制的にターゲットプログラムの実行の
停止を指定することができる(最大24箇所)他、アド
レス、データバスの値、アクセスタイプ、リードライト
の条件、ディレイカウント(1チャンネル)通過回数指
定(8チャンネル)、外部プローブ、システム制御信
号、否定条件などについての指定が可能とされる。ま
た、最大8条件の成立条件指定と、1条件のリセットポ
イント指定が可能とされる。
In the second hardware break condition setting,
Stopping execution of the target program can be forcibly specified when the specified conditions are satisfied (up to 24 locations). In addition, the address, data bus value, access type, read / write conditions, and delay count (1 channel) pass count can be specified. (8 channels), an external probe, a system control signal, a negative condition, and the like can be specified. Further, it is possible to specify up to eight conditions to be satisfied and to specify one reset point.

【0038】ソフトウェアブレーク条件設定では、最大
255箇所に設定可能とされ、また、通過回数の指定が
可能とされる。
In the software break condition setting, a maximum of 255 places can be set, and the number of passages can be specified.

【0039】次に、パフォーマンスカウンタ回路30
A,30B及びパフォーマンス制御回路60によって実
現されるパフォーマンス機能について詳述する。
Next, the performance counter circuit 30
A, 30B and the performance function realized by the performance control circuit 60 will be described in detail.

【0040】パフォーマンス機能では、ターゲットプロ
グラムにおけるサブルーチン測定や実行時間測定が可能
とされる。ここで、サブルーチン測定には、サブルーチ
ンの実行回数測定、サブルーチン中の指定領域のアクセ
ス回数、上位のサブルーチン(親)から読出される下位
のサブルーチン(子)へのアクセス回数などが含まれ
る。また、実行時間測定には、ターゲットプログラムの
実行開始アドレスを指定して実行されたターゲットプロ
グラムのアドレスから、指定条件が成立するアドレスま
でのプログラム実行時間測定(GO〜POINT時
間)、第1の指定条件が成立するアドレスから第2の指
定条件が成立するアドレスまでのプログラム実行時間測
定(POINT〜POINT時間)、及びその実行時間
積算(POINT〜POINT時間積算)が含まれる。
また、このパフォーマンス測定では、20ns、250
ns、1μSなどのように時間測定の精度を指定するこ
とができる。実行測定回数は最大で65535回とされ
る。そのようなパフォーマンス測定がパフォーマンスカ
ウンタ回路30A,30Bによって行われ、その測定動
作がパフォーマンス制御回路60によって制御される。
The performance function enables subroutine measurement and execution time measurement in the target program. Here, the subroutine measurement includes measurement of the number of executions of the subroutine, the number of accesses to the designated area in the subroutine, the number of accesses to the lower subroutine (child) read from the upper subroutine (parent), and the like. In the execution time measurement, the program execution time measurement (GO to POINT time) from the address of the target program executed by designating the execution start address of the target program to the address where the designated condition is satisfied, the first designation The program execution time measurement (POINT to POINT time) from the address where the condition is satisfied to the address where the second designated condition is satisfied, and the execution time integration (POINT to POINT time integration) are included.
In this performance measurement, 20 ns and 250 ns
The accuracy of the time measurement can be specified, such as ns, 1 μS, etc. The maximum number of execution measurements is 65535. Such performance measurement is performed by the performance counter circuits 30A and 30B, and the measurement operation is controlled by the performance control circuit 60.

【0041】さらに、エミュレーションモニタ70A,
70Bによって実現されるエミュレーション監視機能で
は、ターゲットプログラムの実行が開始された直後か
ら、所定時間毎にサブエミュレーションバス51,52
の状態が監視されて、その監視結果を得ることができ
る。具体的にはエミュレーションバスにおけるアドレス
バスの監視により、例えば200ms毎に1回の割合で
サブエミュレーションバスからのアドレス取得が行われ
る。得られたアドレス情報は、エミュレーションプロセ
ッサ100によるターゲットプログラムの現在の実行状
況を示す情報として、システムバス54及び図2に示さ
れるPCインタフェースケーブル22やPCインタフェ
ースボード23を介してパーソナルコンピュータに伝達
され、当該パーソナルコンピュータのCRTディスプレ
イ装置に表示される。
Further, the emulation monitor 70A,
The emulation monitoring function implemented by the sub-emulation buses 51 and 52 every predetermined time immediately after the execution of the target program is started.
Is monitored, and the monitoring result can be obtained. Specifically, by monitoring the address bus in the emulation bus, an address is acquired from the sub-emulation bus at a rate of, for example, once every 200 ms. The obtained address information is transmitted to the personal computer via the system bus 54 and the PC interface cable 22 and the PC interface board 23 shown in FIG. 2 as information indicating the current execution status of the target program by the emulation processor 100. The information is displayed on the CRT display device of the personal computer.

【0042】上記の例によれば以下の作用効果が得られ
る。
According to the above example, the following functions and effects can be obtained.

【0043】(1)クロック形成回路20から出力され
る非反転クロック信号CL,CL*に基づいて、エミュ
レーションバス55の状態が、エミュレーションバス5
5のバスサイクル毎にサブエミュレーションバス51,
52に交互に振り分けられるため、サブエミュレーショ
ンバス51,52のそれぞれにおけるバスサイクルは、
エミュレーションバス55のそれに比べて1/2とされ
る。そのため、クロック形成回路20から出力される非
反転クロック信号CL,CL*に基づいて動作されるブ
レーク条件比較回路10A,10Bでは、エミュレーシ
ョンバス55のバスサイクルの1/2のサイクルで、対
応するサブエミュレーションバス51,52の状態を取
り込むことができる。このため、プロセッサの動作周波
数が高くなってブレーク条件比較のためのアドレス情報
もしくはデータをエミュレーションバス55から取得す
るのが困難な場合でも、上記のようにエミュレーション
バス55のバスサイクルの1/2のサイクルとされるサ
ブエミュレーションバス51,52から情報を取得する
ことにより、ブレーク検出を的確に行うことができる。
つまり、エミュレーションバス55の状態がそのバスサ
イクル毎にサブエミュレーションバス51,52に順次
振り分けられることにより、サブエミュレーションバス
に対応して設けられたブレーク条件比較回路10A,1
0Bの動作マージンが拡大され、それにより、プロセッ
サが高速動作された場合でも、ブレーク検出を的確に行
うことができる。
(1) The state of the emulation bus 55 is changed based on the non-inverted clock signals CL and CL * output from the clock forming circuit 20.
Every 5 bus cycles, the sub-emulation bus 51,
52, the bus cycle in each of the sub-emulation buses 51 and 52 is
It is 1 / compared to that of the emulation bus 55. Therefore, in the break condition comparison circuits 10A and 10B operated based on the non-inverted clock signals CL and CL * output from the clock forming circuit 20, the corresponding sub-circuits are 1 / of the bus cycle of the emulation bus 55. The state of the emulation buses 51 and 52 can be captured. Therefore, even when the operating frequency of the processor becomes high and it is difficult to obtain address information or data for the break condition comparison from the emulation bus 55, as described above, one half of the bus cycle of the emulation bus 55 is used. By acquiring information from the sub-emulation buses 51 and 52 which are set as a cycle, break detection can be accurately performed.
That is, the state of the emulation bus 55 is sequentially distributed to the sub-emulation buses 51 and 52 for each bus cycle, so that the break condition comparison circuits 10A and 1 provided for the sub-emulation bus are provided.
The operation margin of 0B is expanded, so that even when the processor operates at high speed, break detection can be accurately performed.

【0044】(2)また、エミュレーションバス55の
状態がそのバスサイクル毎に複数のサブエミュレーショ
ンバスに順次振り分けられることにより、サブエミュレ
ーションバスに対応して設けられたパフォーマンスカウ
ンタ回路30A,30Bでの動作マージンが拡大される
ので、プロセッサが高速動作された場合でも、パフォー
マンス測定を的確に行うことができる (3)エミュレーションバス55の状態がそのバスサイ
クル毎に複数のサブエミュレーションバス51,52に
順次振り分けられることにより、上記サブエミュレーシ
ョンバスに対応して設けられたエミュレーションモニタ
の動作マージンが拡大されるので、ターゲットプロセッ
サが高速動作された場合でも、エミュレーションモニタ
を的確に行うことができる。
(2) Since the state of the emulation bus 55 is sequentially distributed to a plurality of sub-emulation buses in each bus cycle, the operation of the performance counter circuits 30A and 30B provided corresponding to the sub-emulation bus is performed. Since the margin is expanded, the performance can be measured accurately even when the processor operates at high speed. (3) The state of the emulation bus 55 is sequentially distributed to a plurality of sub-emulation buses 51 and 52 for each bus cycle. Accordingly, the operation margin of the emulation monitor provided corresponding to the sub-emulation bus is expanded, so that the emulation monitor can be accurately performed even when the target processor operates at high speed.

【0045】(4)上記振り分け手段は、上記複数のサ
ブエミュレーションバス51,52のそれぞれに対応し
て設けられ、上記エミュレーションバ55スの状態を所
定の動作タイミングでラッチするとともに、それぞれ対
応するサブエミュレーションバスに出力可能な複数のラ
ッチ回路31,32と、このラッチ回路31,32の数
をnとするとき、上記複数のラッチ回路を上記エミュレ
ーションバスのバスサイクルの1/nの周波数で、且
つ、それぞれ互いに異なるタイミングで動作させるため
のクロック信号を、上記エミュレーションプロセッサか
ら出力される信号に基づいて形成するためのクロック形
成回路20とから容易に形成することができる。
(4) The distributing means is provided corresponding to each of the plurality of sub-emulation buses 51 and 52. The distributing means latches the state of the emulation bus 55 at a predetermined operation timing, and also corresponds to each of the corresponding sub-emulation buses. When the number of latch circuits 31 and 32 that can be output to the emulation bus is n and the number of the latch circuits 31 and 32 is n, the plurality of latch circuits are operated at a frequency of 1 / n of a bus cycle of the emulation bus, and A clock signal for operating at mutually different timings can be easily formed from the clock forming circuit 20 for forming based on the signal output from the emulation processor.

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

【0047】例えば、上記の例では、エミュレーション
プロセッサ100から出力される基準タイミング信AS
ETS*をクロック形成回路20に取り込んで分周する
ことにより、非反転クロック信号CL、及び反転クロッ
ク信号CL*を生成するようにしたが、上記基準タイミ
ング信ASETS*に代えて、エミュレーションバス5
5に出力されるアドレス信号あるいはデータの有効性を
示すストローブ信号や、メモリのリード/ライトの指示
信号などに基づいて、上記非反転クロック信号CL、及
び反転クロック信号CL*を生成するようにしても良
い。
For example, in the above example, the reference timing signal AS output from the emulation processor 100
The non-inverted clock signal CL and the inverted clock signal CL * are generated by taking ETS * into the clock forming circuit 20 and dividing the frequency. However, instead of the reference timing signal ASETS *, the emulation bus 5 is used.
5, the non-inverted clock signal CL and the inverted clock signal CL * are generated based on an address signal or a strobe signal indicating validity of data, a memory read / write instruction signal, and the like. Is also good.

【0048】上記の例では、図1において51,52で
示されるように、サブエミュレーションバスが2系統形
成され、それに対応してブレーク条件比較回路10A,
10B、ブレーク検出回路50、パフォーマンスカウン
タ回路30A,30Bが設けられたが、サブエミュレー
ションバスを3系統以上形成し、それぞれに対応してブ
レーク条件比較回路や、パフォーマンスカウンタ回路、
及びエミュレーションモニタ回路を設けるようにしても
良い。その場合において、サブエミュレーションバス毎
にラッチ回路(図1の31,32に相当するもの)が設
けられ、このラッチ回路の数をnで示すとき、エミュレ
ーションバス55のバスサイクルの1/nの周波数で、
且つ、それぞれ互いに異なるタイミングで、上記複数の
ラッチ回路の動作を制御するようにする。サブエミュレ
ーションバスや、それぞれに対応して設けられるブレー
ク条件比較回路等が増えるほど、各サブエミュレーショ
ンバスでのバスサイクルがエミュレーションバス55の
それに比べて低下されるから、エミュレータとしては、
より高速のプロセッサに対応することができるようにな
る。
In the above example, as shown by 51 and 52 in FIG. 1, two sub-emulation buses are formed, and the break condition comparison circuits 10A and
10B, a break detection circuit 50, and performance counter circuits 30A and 30B are provided, but three or more sub-emulation buses are formed, and a break condition comparison circuit, a performance counter circuit,
And an emulation monitor circuit may be provided. In this case, a latch circuit (corresponding to 31 and 32 in FIG. 1) is provided for each sub-emulation bus. When the number of latch circuits is represented by n, the frequency is 1 / n of the bus cycle of the emulation bus 55. so,
In addition, the operations of the plurality of latch circuits are controlled at mutually different timings. As the number of sub-emulation buses and break condition comparison circuits provided for the respective sub-emulation buses increases, the bus cycle of each sub-emulation bus decreases as compared with that of the emulation bus 55.
It is possible to support a faster processor.

【0049】また、上記の例では、バスに与えられるデ
ータやアドレス信号さらには制御情報を逐次トレースし
て蓄えるためのリアルタイムトレースについて省略して
いるが、上記ブレーク条件比較回路10A,10B、ブ
レーク検出回路50、パフォーマンスカウンタ回路30
A,30Bなどと同様に、バスに与えられるデータやア
ドレス信号さらには制御情報を逐次トレースして蓄える
ためのリアルタイムトレース回路をサブエミュレーショ
ンバス51,52のそれぞれに対応して設けるようにし
ても良い。さらに、エミュレーションプロセッサ100
の実行アドレスをメモリに保存しておき、エミュレーシ
ョン終了時に当該メモリの内容を判定することによって
上記実行アドレスの把握を可能とするカバレジトレース
回路を、上記リアルタイムトレース回路と同様に、サブ
エミュレーションバス51,52のそれぞれに対応して
設けるようにしても良い。
In the above example, the real-time tracing for sequentially tracing and storing data and address signals and control information applied to the bus is omitted, but the break condition comparison circuits 10A and 10B, the break detection Circuit 50, performance counter circuit 30
Similarly to A and 30B, real-time trace circuits for sequentially tracing and storing data and address signals applied to the bus and control information may be provided for each of the sub-emulation buses 51 and 52. . Further, the emulation processor 100
Is stored in a memory, and a coverage trace circuit that enables the execution address to be grasped by determining the contents of the memory at the end of the emulation is provided in the same manner as the real-time trace circuit. 52 may be provided correspondingly.

【0050】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野である、エミ
ュレーションポッドを備えたインサーキットエミュレー
タに適用した場合について説明したが、本発明はそれに
限定されるものではなく、エミュレーションバスの情報
を取得することで、ターゲットプログラムの開発を支援
する各種システムに適用することができる。
In the above description, the case where the invention made by the present inventor is mainly applied to an in-circuit emulator having an emulation pod, which is a field of use, has been described, but the present invention is not limited to this. Instead, by acquiring information on the emulation bus, it can be applied to various systems that support the development of target programs.

【0051】本発明は、少なくともエミュレーションプ
ロセッサに結合されるエミュレーションバスを備えるこ
とを条件に適用することができる。
The present invention can be applied on condition that at least an emulation bus is coupled to the emulation processor.

【0052】[0052]

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

【0053】すなわち、エミュレーションバスの状態が
そのバスサイクル毎に複数のサブエミュレーションバス
に順次振り分けられることにより、サブエミュレーショ
ンバスに対応して設けられたブレーク条件比較回路の動
作マージンが拡大されるので、ターゲットプロセッサが
高速動作された場合でも、ブレーク検出を的確に行うこ
とができる。
That is, the state of the emulation bus is sequentially distributed to a plurality of sub-emulation buses in each bus cycle, so that the operation margin of the break condition comparison circuit provided corresponding to the sub-emulation bus is expanded. Even when the target processor operates at a high speed, break detection can be accurately performed.

【0054】また、エミュレーションバスの状態がその
バスサイクル毎に複数のサブエミュレーションバスに順
次振り分けられることにより、サブエミュレーションバ
スに対応して設けられたパフォーマンスカウンタ回路の
動作マージンが拡大されるので、ターゲットプロセッサ
が高速動作された場合でも、パフォーマンス測定を的確
に行うことができる。
Further, since the state of the emulation bus is sequentially distributed to a plurality of sub-emulation buses in each bus cycle, the operation margin of the performance counter circuit provided corresponding to the sub-emulation bus is expanded. Even when the processor is operated at high speed, performance measurement can be accurately performed.

【0055】さらに、エミュレーションバスの状態がそ
のバスサイクル毎に複数のサブエミュレーションバスに
順次振り分けられることにより、上記サブエミュレーシ
ョンバスに対応して設けられたエミュレーションモニタ
の動作マージンが拡大されるので、ターゲットプロセッ
サが高速動作された場合でも、エミュレーションモニタ
を的確に行うことができる。
Further, since the state of the emulation bus is sequentially distributed to a plurality of sub-emulation buses in each bus cycle, the operation margin of the emulation monitor provided corresponding to the sub-emulation bus is expanded. Even when the processor operates at a high speed, the emulation monitor can be accurately performed.

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

【図1】本発明にかかるエミュレータの一実施例ブロッ
ク図である。
FIG. 1 is a block diagram of an emulator according to an embodiment of the present invention.

【図2】上記エミュレータの外観斜視図である。FIG. 2 is an external perspective view of the emulator.

【図3】上記エミュレータの主要動作説明のためのタイ
ミング図である。
FIG. 3 is a timing chart for explaining a main operation of the emulator.

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

10A,10B ブレーク条件比較回路 20 クロック形成回路 21 エミュレータ本体 22 PCインタフェースケーブル 23 PCインタフェースボード 24 ポッドインタフェースケーブル 26 エミュレーションポッド 27 ユーザシステム 30A,30B パフォーマンスカウンタ回路 36 ランステップ生成回路 50 ブレーク検出回路 60 パフォーマンス制御回路 70A,70B エミュレーションモニタ回路 90 コントロールプロセッサ 100 エミュレーションプロセッサ 10A, 10B Break condition comparison circuit 20 Clock formation circuit 21 Emulator main body 22 PC interface cable 23 PC interface board 24 Pod interface cable 26 Emulation pod 27 User system 30A, 30B Performance counter circuit 36 Run step generation circuit 50 Break detection circuit 60 Performance control Circuit 70A, 70B Emulation monitor circuit 90 Control processor 100 Emulation processor

───────────────────────────────────────────────────── フロントページの続き (72)発明者 藤田 秀哉 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体事業部内 (72)発明者 鈴木 達也 東京都小平市上水本町5丁目22番1号 株 式会社日立マイコンシステム内 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Hideya Fujita 5-2-1, Josuihoncho, Kodaira-shi, Tokyo Inside the Semiconductor Division, Hitachi, Ltd. (72) Tatsuya Suzuki 5, Josuihoncho, Kodaira-shi, Tokyo No. 22-1, Hitachi Microcomputer System Co., Ltd.

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 ターゲットプログラムを実行するエミュ
レーションプロセッサに結合されるエミュレーションバ
スを備え、上記エミュレーションバスの情報を取得する
ことで、上記ターゲットプログラムの開発を支援するエ
ミュレータにおいて、 それぞれ上記エミュレーションバスに結合可能な複数の
サブエミュレーションバスと、 上記エミュレーションバスの状態をそのバスサイクル毎
に複数のサブエミュレーションバスに順次振り分けるた
めの振り分け手段と、 上記複数のサブエミュレーションバスのそれぞれに対応
して設けられ、それぞれ対応するサブエミュレーション
バスの状態が予め設定されたブレーク条件と一致するか
否かを判別可能な複数のブレーク条件比較回路と、 を含むことを特徴とするエミュレータ。
An emulation bus coupled to an emulation processor that executes a target program, and an emulator that supports the development of the target program by acquiring information on the emulation bus can be coupled to the emulation bus. A plurality of sub-emulation buses, a distribution means for sequentially allocating the state of the emulation bus to the plurality of sub-emulation buses for each bus cycle, and a plurality of sub-emulation buses provided corresponding to each of the plurality of sub-emulation buses. A plurality of break condition comparison circuits capable of determining whether or not the state of the sub-emulation bus to be executed matches a preset break condition.
【請求項2】 上記複数のブレーク条件比較回路での比
較結果の論理和を求め、この論理和に基づいて上記エミ
ュレーションプロセッサに対してターゲットプログラム
の実行停止を指示するためのブレーク検出回路を含む請
求項1記載のエミュレータ。
2. A break detection circuit for calculating a logical sum of comparison results of the plurality of break condition comparison circuits and instructing the emulation processor to stop execution of a target program based on the logical sum. The emulator according to item 1.
【請求項3】 上記複数のサブエミュレーションバスの
それぞれに対応して設けられ、それぞれ対応するバスを
監視して上記ターゲットプログラムのサブルーチン測定
及び時間測定を行うための複数のパフォーマンスカウン
タ回路を含む請求項1又は2記載のエミュレータ。
3. A plurality of performance counter circuits provided corresponding to each of the plurality of sub-emulation buses and monitoring the corresponding buses to perform subroutine measurement and time measurement of the target program. 3. The emulator according to 1 or 2.
【請求項4】 上記複数のサブエミュレーションバスの
それぞれに対応して設けられ、それぞれ対応するサブエ
ミュレーションバスの所定時間毎の状態を監視するため
の複数のエミュレーションモニタ回路を含む請求項1乃
至3のいずれか1項記載のエミュレータ。
4. The apparatus according to claim 1, further comprising a plurality of emulation monitor circuits provided corresponding to each of said plurality of sub-emulation buses and monitoring a state of each of said plurality of sub-emulation buses at predetermined time intervals. An emulator according to any one of the preceding claims.
【請求項5】 上記振り分け手段は、上記複数のサブエ
ミュレーションバスのそれぞれに対応して設けられ、上
記エミュレーションバスの状態を所定の動作タイミング
でラッチするとともに、それぞれ対応するサブエミュレ
ーションバスに出力可能な複数のラッチ回路と、 上記ラッチ回路の数をnとするとき、上記複数のラッチ
回路を上記エミュレーションバスのバスサイクルの1/
nの周波数で、且つ、それぞれ互いに異なるタイミング
で動作させるためのクロック信号を、上記エミュレーシ
ョンプロセッサから出力される信号に基づいて形成する
ためのクロック形成回路と、 を含む請求項1乃至4のいずれか1項記載のエミュレー
タ。
5. The distributing means is provided for each of the plurality of sub-emulation buses, latches the state of the emulation bus at a predetermined operation timing, and can output to the corresponding sub-emulation bus. When the number of the latch circuits is n, the number of the latch circuits is 1 / ラ ッ チ of the bus cycle of the emulation bus.
5. A clock forming circuit for forming a clock signal for operating at a frequency of n and at mutually different timings based on a signal output from the emulation processor. An emulator according to claim 1.
JP8258214A 1996-09-30 1996-09-30 Emulator Withdrawn JPH10105434A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8258214A JPH10105434A (en) 1996-09-30 1996-09-30 Emulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8258214A JPH10105434A (en) 1996-09-30 1996-09-30 Emulator

Publications (1)

Publication Number Publication Date
JPH10105434A true JPH10105434A (en) 1998-04-24

Family

ID=17317109

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8258214A Withdrawn JPH10105434A (en) 1996-09-30 1996-09-30 Emulator

Country Status (1)

Country Link
JP (1) JPH10105434A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301616A (en) * 2004-04-09 2005-10-27 Ricoh Co Ltd Debugging system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301616A (en) * 2004-04-09 2005-10-27 Ricoh Co Ltd Debugging system

Similar Documents

Publication Publication Date Title
US6516428B2 (en) On-chip debug system
JP3277900B2 (en) Program inspection method, program inspection device, and computer-readable storage medium storing inspection program
JP4138021B2 (en) Processor-based device, method for providing software performance profiling information, and software development system for generating and analyzing software performance profiling information
JP4335999B2 (en) Semiconductor integrated circuit device with built-in processor
US4782461A (en) Logical grouping of facilities within a computer development system
EP0084431A2 (en) Monitoring computer systems
EP3369015B1 (en) Methods and circuits for debugging circuit designs
US6502209B1 (en) Chip with debug capability
JP4865943B2 (en) Computer system
JPH09160801A (en) Emulator and system evaluation device using the same
US7231568B2 (en) System debugging device and system debugging method
JPH10105434A (en) Emulator
JP2006323726A (en) Monitor program and real-time trace system
US20230376403A1 (en) Debug device, debug system, and debug method for testing storage device
JP3545480B2 (en) emulator
JPH11102306A (en) Emulator
JPH0381837A (en) Emulator
JP4084912B2 (en) Microprocessor system
JP2642664B2 (en) Emulator and multi-emulation break method
JP2002268911A (en) Development support device for electronic computer
JPH06266575A (en) Emulator
Xie et al. An SBus monitor board
JP2009193604A (en) Semiconductor information processing device
JP2010231818A (en) Debugging system
JPH0619736A (en) Emulator

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20031202