JPH08255096A - Microprocessor and debugging system - Google Patents

Microprocessor and debugging system

Info

Publication number
JPH08255096A
JPH08255096A JP7341675A JP34167595A JPH08255096A JP H08255096 A JPH08255096 A JP H08255096A JP 7341675 A JP7341675 A JP 7341675A JP 34167595 A JP34167595 A JP 34167595A JP H08255096 A JPH08255096 A JP H08255096A
Authority
JP
Japan
Prior art keywords
output
processor core
signal
debug
jump
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.)
Granted
Application number
JP7341675A
Other languages
Japanese (ja)
Other versions
JP2974601B2 (en
Inventor
Takashi Miyamori
高 宮森
Tatsuo Yano
達男 矢野
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.)
Toshiba Corp
Hewlett Packard Japan Inc
Original Assignee
Toshiba Corp
Hewlett Packard Japan Inc
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 Toshiba Corp, Hewlett Packard Japan Inc filed Critical Toshiba Corp
Priority to JP7341675A priority Critical patent/JP2974601B2/en
Publication of JPH08255096A publication Critical patent/JPH08255096A/en
Application granted granted Critical
Publication of JP2974601B2 publication Critical patent/JP2974601B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE: To facilitate the connection between a user target system and a debugger and also facilitate the access to a peripheral device on the user target system. CONSTITUTION: This system consists of a processor core 20 which executes a monitor program debugging a user program and the user target system 70 and a debugging module 30 equipped with an interface function for a debugging tool enabling the processor core 20 to execute the monitor program and an execution control function which requests an interruption or exception for making the processor core 20 move from the user program to the monitor program during the execution of the user program from the processor core 20.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、デバッグ機能のう
ちのプログラムカウンタをトレースする機能(PCトレ
ース機能)を有すると共に、デバッグ機能のうちのあら
かじめ設定したアドレス、データがアクセスされたとき
に、外部にそれを通知する機能(トリガ機能)を有する
マイクロプロセッサ及びデバッグシステムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention has a function (PC trace function) of tracing a program counter, which is one of the debug functions, and also has an external function when a preset address or data of the debug function is accessed. The present invention relates to a microprocessor and a debug system having a function (trigger function) of notifying it to a user.

【0002】[0002]

【従来の技術】図42に従来のデバッグシステムを示
す。この従来例は一般にインサーキットエミュレータと
呼ばれるデバッグシステムである。
2. Description of the Related Art FIG. 42 shows a conventional debug system. This conventional example is a debug system generally called an in-circuit emulator.

【0003】図42において、従来のデバッグシステム
は、ユーザーターゲットシステム500とユーザーター
ゲットシステム500をデバッグするためのデバッガ5
05から構成される。ユーザーターゲットシステム50
0はさらに、マイクロプロセッサ501、メモリ50
3、I/O502からなる。デバッガ505は、デバッ
グ用マイクロプロセッサ506とモニタプログラムメモ
リ507から構成される。
Referring to FIG. 42, a conventional debug system includes a user target system 500 and a debugger 5 for debugging the user target system 500.
It consists of 05. User target system 50
0 further indicates a microprocessor 501 and a memory 50.
3, I / O 502. The debugger 505 comprises a debugging microprocessor 506 and a monitor program memory 507.

【0004】従来のデバッグシステムでは、デバッグ時
には、ターゲットボード上のマイクロプロセッサ501
を取り外すか又は無効にして、この部分にデバッガ50
5のプローブを接続して、デバッガ505上のデバッグ
用マイクロプロセッサ506を代わりに動作させる。デ
バッグ用マイクロプロセッサ506はデバッガ505上
のモニタプログラムメモリ507に格納されているモニ
タプログラムを実行することにより、ユーザープログラ
ムの実行を制御している。
In the conventional debug system, the microprocessor 501 on the target board is used for debugging.
Remove or disable the debugger 50
5 probe is connected to operate the debugging microprocessor 506 on the debugger 505 instead. The debugging microprocessor 506 controls the execution of the user program by executing the monitor program stored in the monitor program memory 507 on the debugger 505.

【0005】デバッグ用マイクロプロセッサ506は、
ユーザーターゲットシステム500上のメモリ503に
格納されているプログラムを実行し、メモリ503上の
データをアクセスしたり、I/O502をアクセスす
る。また、デバッガ505はトレースメモリ508を有
し、デバッグ用マイクロプロセッサ506は、マイクロ
プロセッサ501からは得られないトレース情報を出力
する。これにより、プロセッサバスからだけではトレー
スできないプロセッサの内部状態の一部、例えばプログ
ラムカウンタ(PC)の値がトレース可能となる。
The debugging microprocessor 506 is
A program stored in the memory 503 on the user target system 500 is executed to access the data on the memory 503 and the I / O 502. Further, the debugger 505 has a trace memory 508, and the debug microprocessor 506 outputs trace information that cannot be obtained from the microprocessor 501. This makes it possible to trace a part of the internal state of the processor that cannot be traced only from the processor bus, for example, the value of the program counter (PC).

【0006】この従来例では、ユーザーターゲットシス
テム500上のマイクロプロセッサのすべてのピンにデ
バッガ505を接続しなければならない。プロセッサの
ピンには、例えばアドレス信号30本、バイトイネーブ
ル信号4本、リード信号、ライト信号、リード応答信
号、ライト応答信号、データ信号32本、合計70本の
信号がある。接続するピン数が多いため、プローブが高
価となり、しかもプロービングが不安定になることが多
かった。また、ターゲットシステム500上のメモリ5
03にアクセスする場合とデバッガ505のモニタプロ
グラムメモリ507にアクセスする場合とで、バスを切
り替えなければならないため、動作周波数の高いプロセ
ッサでは実現が困難であった。
In this conventional example, the debugger 505 must be connected to all pins of the microprocessor on the user target system 500. The pins of the processor have, for example, 30 address signals, 4 byte enable signals, read signals, write signals, read response signals, write response signals, 32 data signals, for a total of 70 signals. Since the number of pins to be connected is large, the probe is expensive and the probing is often unstable. In addition, the memory 5 on the target system 500
03 and the monitor program memory 507 of the debugger 505, the bus must be switched, which is difficult to achieve with a processor having a high operating frequency.

【0007】さらに、派生品が接続されたマイクロプロ
セッサである場合には、パッケージやピンの数、位置が
異なるために、本質的には同じデバッガが使用できるに
もかかわらず、プローブを派生品毎に用意しなければな
らなかった。また、プローブを接続することによりユー
ザーターゲットシステム500で使用する信号にも影響
を与え、ユーザーターゲットシステム500の動作その
ものを不安定にする場合があった。
Further, in the case where the derivative is a microprocessor to which the derivative is connected, the probe can be used for each derivative even though the same debugger can be used essentially because the package and the number of pins and the positions are different. Had to prepare for. In addition, the connection of the probe may affect the signal used in the user target system 500 to make the operation itself of the user target system 500 unstable.

【0008】図43にデバッグシステムの他の従来例を
示す。この従来例は、一般にROMモニタと呼ばれるデ
バッグシステムである。
FIG. 43 shows another conventional example of a debug system. This conventional example is a debug system generally called a ROM monitor.

【0009】この従来例は、ユーザーターゲットシステ
ム510上にホストコンピュータ517と接続するため
のシルアルインターフェース512を用意して、メモリ
513中にモニタプログラム514を格納しておく。マ
イクロプロセッサ511は、このモニタプログラム51
4を実行させることによりI/O515、メモリ51
3、レジスタ516にアクセスする。さらに、ソフトウ
ェアブレイク命令を使用して、ユーザープログラムの実
行制御を行う。
In this conventional example, a serial interface 512 for connecting to a host computer 517 is prepared on a user target system 510, and a monitor program 514 is stored in a memory 513. The microprocessor 511 uses the monitor program 51
4 by executing the I / O 515, the memory 51
3. Access the register 516. Further, the software break instruction is used to control the execution of the user program.

【0010】この従来例では、モニタプログラム514
をユーザーが使用するメモリ513で実行するために、
ユーザーターゲットシステム510のメモリシステムの
動作が完全でない場合に、モニタプログラム自身が安定
して動作しない場合があった。ユーザーのメモリ量に余
裕が無い場合には、モニタプログラムが占有するアドレ
ス空間が確保できないことがあった。さらに、モニタモ
ードに入るために、ユーザーの割り込みの一部を使用し
なければならないので、プログラムの種類によってはデ
バッグが不可能なことがあった。また、予めユーザータ
ーゲットシステム510上に、シリアルインターフェー
スの回路を実装しなければならないなど、デバッグ後は
使用しない可能性のある回路をターゲットシステムに設
ける必要があった。さらに、デバッグのためのハードウ
ェーアブレークポイント等の資源を備えていないため、
デバッグ機能が貧弱であり、トレースも取れなかった。
In this conventional example, the monitor program 514
To execute in the memory 513 used by the user,
When the operation of the memory system of the user target system 510 is not complete, the monitor program itself may not operate stably. If the user's memory capacity is insufficient, the address space occupied by the monitor program may not be secured. In addition, some of the user's interrupts must be used to enter monitor mode, which can make debugging impossible for some programs. In addition, it is necessary to mount a circuit of the serial interface on the user target system 510 in advance, and it is necessary to provide the target system with a circuit that may not be used after debugging. Furthermore, because it does not have resources such as hardware breakpoints for debugging,
The debugging function was poor and I couldn't get a trace.

【0011】図44にデバッグシステムのさらに他の従
来例を示す。
FIG. 44 shows another conventional example of the debug system.

【0012】この従来例は、ユーザーターゲットシステ
ム520上のマイクロプロセッサ521中にデバッグツ
ール529との通信に必要なシリアルインターフェース
526とデバッグツール529から送られてきた電気信
号を解釈して実行するシーケンサ525を内蔵する。シ
ーケンサ525は、送られてきた信号にしたがってユー
ザープログラムの実行を一時停止して、レジスタ528
にアクセスしたり、バスコントローラ527を使用して
メモリ524やI/O523にアクセスし、ユーザープ
ログラムの実行制御を行う。シリアルインターフェース
526からの信号は、直接にはホストコンピュータ53
0に接続できないことが多いので、デバッグツール52
9がホストコンピュータからのコマンドをマイクロプロ
セッサ521が理解できる電気信号に変換したり、また
マイクロプロセッサ521からの信号をホストコンピュ
ータ530が理解できるデータ形式に変換する。
In this conventional example, a serial interface 526 required for communication with a debug tool 529 in a microprocessor 521 on a user target system 520 and a sequencer 525 for interpreting and executing an electric signal sent from the debug tool 529. Built in. The sequencer 525 suspends the execution of the user program in accordance with the transmitted signal,
To access the memory 524 and the I / O 523 using the bus controller 527 to control the execution of the user program. The signal from the serial interface 526 is directly sent to the host computer 53.
Since it is often impossible to connect to 0, debug tool 52
9 converts commands from the host computer into electric signals that the microprocessor 521 can understand, and converts signals from the microprocessor 521 into a data format that the host computer 530 can understand.

【0013】この従来例では、シーケンサ525をマイ
クロプロセッサ521に内蔵して、さらに、シーケンサ
525がプロセッサ521にアクセスするため、デバッ
グツール529との接続のためのロジック回路が複雑と
なり、チップ上での面積も大きくなった。また、レジス
タの追加などが発生した場合に、シーケンサ525を変
更しなければならないので、変更のための作業に労力を
要していた。また、この従来例でもトレースは取れなか
った。
In this conventional example, since the sequencer 525 is built in the microprocessor 521 and the sequencer 525 accesses the processor 521, the logic circuit for connection with the debug tool 529 becomes complicated, and the on-chip chip becomes complicated. The area has also grown. Further, since the sequencer 525 has to be changed when a register is added, it takes a lot of work to change the sequencer. Moreover, the trace could not be obtained even in this conventional example.

【0014】[0014]

【発明が解決しようとする課題】上記したように、従来
のデバッグシステムでは、ユーザーターゲットシステム
とデバッグ用プロセッサをプロセッサバスで接続するた
めに、接続に要する信号が多くなるという欠点があっ
た。また、図42に示す従来のデバッグシステムでは、
デバッガ上のマイクロプロセッサがユーザーターゲット
システムのメモリ、I/Oをアクセスしなければならな
く、アクセスのタイミングが困難であった。
As described above, the conventional debug system has a drawback in that the number of signals required for connection increases because the user target system and the debug processor are connected by the processor bus. Further, in the conventional debug system shown in FIG. 42,
The microprocessor on the debugger had to access the memory and I / O of the user target system, and the access timing was difficult.

【0015】また、モニタプログラムをユーザのメモリ
に記憶される従来のデバッグシステムでは、ユーザーが
使用するメモリ空間が少なくなるという不具合を招いて
いた。さらに、デバッグを確実かつ十分に行うことが困
難となっていた。
Further, in the conventional debug system in which the monitor program is stored in the user's memory, the memory space used by the user is reduced. Furthermore, it has been difficult to perform debugging reliably and sufficiently.

【0016】一方、デバッグツールから与えられる信号
を解釈して実行するシーケンサをマイクロプロセッサに
内蔵してデバッグを行う従来例では、デバッグツールと
の接続のための構成が複雑かつ大型化していた。また、
マイクロプロセッサの構成のの追加などが発生した場合
にはシーケンサを変更しなければならず、変更のために
多大な労力が必要になっていた。
On the other hand, in the conventional example in which a microprocessor has a built-in sequencer for interpreting and executing a signal given from the debug tool for debugging, the configuration for connection with the debug tool is complicated and large. Also,
When the addition of the configuration of the microprocessor or the like occurs, the sequencer must be changed, which requires a great deal of labor.

【0017】また、上記したように、従来のデバッグシ
ステムでは、PCトレースができなかったり、PCトレ
ースができる場合でもユーザーターゲットシステムとデ
バッグ用のプロセッサをプロセッサバスで接続するため
に、接続に要する信号が多くなるという欠点があった。
また、図42に示した従来のデバッグシステムでは、デ
バッガ上のマイクロプロセッサがユーザーターゲットシ
ステムのメモリ、I/Oをアクセスしなければならな
く、アクセスのタイミングが困難であった。
Further, as described above, in the conventional debug system, the signal required for the connection is required to connect the user target system and the processor for debugging with the processor bus even if the PC trace cannot be performed or the PC trace is possible. There was a drawback that it increased.
Further, in the conventional debug system shown in FIG. 42, the microprocessor on the debugger must access the memory and I / O of the user target system, which makes access timing difficult.

【0018】また、上記したように、図43、図44の
従来のデバッグシステムでは、トリガ機能がなかった。
また、図42に示した従来例では、デバッグ専用のマイ
クロプロセッサにトリガ機能を設けることができるが、
トリガ情報を出力する信号が増えるなどの問題があっ
た。また、図41の方法には、デバッグ用のプロセッサ
をプロセッサバスで接続するために、接続に要する信号
が多くなるという欠点があり、また、デバッグ上のマイ
クロプロセッサがユーザーターゲットシステムのメモ
リ、I/Oをアクセスしなければならなく、アクセスの
タイミングが困難であった。
Further, as described above, the conventional debug system shown in FIGS. 43 and 44 does not have the trigger function.
Further, in the conventional example shown in FIG. 42, a trigger function can be provided in a microprocessor dedicated to debugging,
There was a problem that the number of signals that output trigger information increased. In addition, the method of FIG. 41 has a drawback in that the number of signals required for connection increases because the debug processor is connected to the processor bus, and the microprocessor for debugging uses the memory and I / I of the user target system. O had to be accessed, and the timing of access was difficult.

【0019】そこで、この発明は、上記に鑑みてなされ
たものであり、ユーザーターゲットシステム上のマイク
ロプロセッサにデバッグ機能を備えることによって、ユ
ーザーターゲットシステムとデバッガとの接続に要する
信号を削減することを目的とする。
Therefore, the present invention has been made in view of the above, and it is possible to reduce the signals required for connecting the user target system and the debugger by providing the microprocessor on the user target system with a debug function. To aim.

【0020】また、この発明は、ユーザーターゲットシ
ステム上のマイクロプロセッサにデバッグ機能を備え、
デバッグ時でもユーザーターゲットシステム上でマイク
ロプロセッサを動作させることによって、ユーザーター
ゲットシステム上のメモリやI/Oのアクセスを容易に
することを他の目的とする。
The present invention also provides a microprocessor on the user target system with a debug function,
Another object is to facilitate the access to the memory and I / O on the user target system by operating the microprocessor on the user target system even during debugging.

【0021】また、この発明は、ユーザーターゲットシ
ステム上のマイクロプロセッサにデバッグ機能を備える
ことによって、少ない本数の信号によってPCトレース
機能を実現することを他の目的としている。
Another object of the present invention is to realize a PC trace function with a small number of signals by providing a microprocessor on the user target system with a debug function.

【0022】また、この発明は、ユーザーターゲットシ
ステム上のマイクロプロセッサにデバッグ機能を備え、
デバッグ時でもユーザーターゲットシステム上でマイク
ロプロセッサを動作させることによって、ユーザーター
ゲットシステム上のメモリやI/Oのアクセスを容易に
することを他の目的とする。
The present invention also provides a microprocessor on the user target system with a debug function,
Another object is to facilitate the access to the memory and I / O on the user target system by operating the microprocessor on the user target system even during debugging.

【0023】また、この発明は、ユーザーターゲットシ
ステム上のマイクロプロセッサにデバッグ機能を備え、
ハードウェアブレーク機能とトリガ機能のアドレス及び
データ比較回路を共用したり、PCトレースの情報出力
信号を利用してトリガ情報を外部に出力することによ
り、最小のハードウェアによってトリガ機能を実現する
ことを他の目的としている。
The present invention further includes a debugging function in the microprocessor on the user target system,
By sharing the address and data comparison circuits of the hardware break function and the trigger function, and outputting the trigger information to the outside using the information output signal of the PC trace, it is possible to realize the trigger function with the minimum hardware. Has other purposes.

【0024】[0024]

【課題を解決するための手段】上記目的を達成するため
に、本発明の第1の特徴は、ユーザープログラムとユー
ザーターゲットシステムをデバッグするモニタプログラ
ムを実行するプロセッサコアと、前記プロセッサコアと
内部デバッグインターフェース又はプロセッサバスを介
して接続され、モニタプログラムを前記プロセッサコア
が実行可能とするためのデバッグツールとのインターフ
ェース手段と、前記プロセッサコアがユーザープログラ
ムの実行中にユーザープログラムからモニタプログラム
へ移行するための割り込み又は例外を前記プロセッサコ
アに要求する実行制御手段を備えたデバッグモジュール
とから構成される。
In order to achieve the above object, a first feature of the present invention is to provide a processor core for executing a monitor program for debugging a user program and a user target system, the processor core and internal debug. An interface means connected to a debug tool for enabling the processor core to execute a monitor program, which is connected through an interface or a processor bus, and for shifting from the user program to the monitor program while the processor core is executing the user program. And a debug module having an execution control means for requesting the interrupt or exception of the processor core to the processor core.

【0025】本発明の第2の特徴は、ユーザーターゲッ
トシステムをデバッグするモニタプログラムを含むデバ
ッグツールと、ユーザ−プログラム又はモニタプログラ
ムを実行するプロセッサコアと、前記プロセッサコアと
内部デバッグインターフェース又はプロセッサバスを介
して接続され、前記デバッグツールと外部デバッグイン
ターフェースを介して接続され、モニタプログラムを前
記プロセッサコアが実行可能とするための前記デバッグ
ツールとのインターフェース手段、及び前記プロセッサ
コアがユーザープログラムの実行中にユーザープログラ
ムからモニタプログラムへ移行するための割り込み又は
例外を前記プロセッサコアに要求する実行制御手段を備
えたデバッグモジュールとからなるマイクロプロセッサ
と、前記マイクロプロセッサとプロセッサバスにより接
続されてデバッグの対象となるユーザ−ターゲットシス
テムを構成し、前記マイクロプロセッサがユーザープロ
グラムを実行するために必要となる情報を記憶するメモ
リと、前記マイクロプロセッサとプロセッサバスにより
接続されてデバッグの対象となるユーザーターゲットシ
ステムを構成するI/O装置とから構成される。
A second feature of the present invention is to provide a debug tool including a monitor program for debugging a user target system, a processor core for executing a user-program or a monitor program, the processor core and an internal debug interface or a processor bus. Connected via the debug tool and an external debug interface, interface means with the debug tool for enabling the processor core to execute a monitor program, and the processor core during execution of the user program. A microprocessor comprising a debug module having an execution control means for requesting an interrupt or an exception for shifting from a user program to a monitor program to the processor core; A memory that is connected to a processor and a processor bus to configure a user-target system to be debugged and that stores information necessary for the microprocessor to execute a user program, and is connected to the microprocessor and the processor bus. And an I / O device that constitutes a user target system to be debugged.

【0026】上記第1,第2の特徴によれば、ユーザー
ターゲットシステム上のマイクロプロセッサにデバッグ
機能を備えて、ユーザーターゲットシステムとデバッガ
との接続に要する信号を削減することができる。また、
デバッグ時でもユーザーターゲットシステム上でマイク
ロプロセッサを動作させることによって、ユーザーター
ゲットシステム上のメモリやI/Oのアクセスを容易に
することができる。
According to the first and second features, the microprocessor on the user target system is provided with the debug function, and the signals required for connecting the user target system and the debugger can be reduced. Also,
By operating the microprocessor on the user target system even during debugging, it is possible to easily access the memory and I / O on the user target system.

【0027】本発明の第3の特徴は、マイクロプロセッ
サが、プログラムを実行するプロセッサコアと前記プロ
セッサコアと内部デバッグインターフェースを介して接
続され、前記プロセッサコアから出力される、実行して
いる命令のアドレスの値を、命令のアドレスのビット幅
よりも少ない本数のPC出力信号に出力するPCトレー
ス回路とから構成されることである。
A third feature of the present invention is that a microprocessor is connected to a processor core that executes a program, the processor core via an internal debug interface, and the instruction being executed is output from the processor core. And a PC trace circuit for outputting the value of the address to the number of PC output signals smaller than the bit width of the address of the instruction.

【0028】上記第3の特徴によれば、本発明は、ユー
ザーターゲット上のマイクロプロセッサにデバッグ機能
を備えることによって、PCトレース出力に必要なイン
ターフェース信号を削減することができる。
According to the third feature, the present invention can reduce the interface signals required for PC trace output by providing the microprocessor on the user target with the debug function.

【0029】本発明の第4の特徴は、マイクロプロセッ
サが、プログラムを実行するプロセッサコアと、設定し
たアドレスとアクセスされたアドレスが一致したとき、
あるいは設定したアドレスとデータがアクセスされたア
ドレスとデータに一致したときに、前記プロセッサコア
へブレークを要求するか、トリガ出力要求信号を有効に
するブレーク回路と、前記ブレーク回路からのトリガ出
力要求信号が有効になったとき、外部ステータス信号に
その情報を出力するPCトレース回路とから構成される
ことである。
A fourth feature of the present invention is that when the microprocessor matches the processor core executing the program with the set address and the accessed address,
Alternatively, when the set address and data match the accessed address and data, a break circuit requesting a break to the processor core or enabling a trigger output request signal, and a trigger output request signal from the break circuit When it becomes valid, it is composed of a PC trace circuit which outputs the information to an external status signal.

【0030】上記第4の特徴によれば、ユーザーターゲ
ット上のマイクロプロセッサにデバッグ機能を備えるこ
とによって、ハードウェアブレーク機能とトリガ機能の
アドレス比較回路を共用したり、PCトレースの情報出
力信号を利用してトリガ情報を外部に出力することによ
り、最小のハードウェアによってトリガ機能を実現する
ことができる。
According to the fourth feature, by providing the microprocessor on the user target with the debug function, the address comparison circuit of the hardware break function and the trigger function is shared, and the information output signal of the PC trace is used. Then, by outputting the trigger information to the outside, the trigger function can be realized with the minimum hardware.

【0031】[0031]

【発明の実施の形態】以下に、図面を用いてこの発明の
実施形態を示す。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings.

【0032】図1に請求項1又は2記載の発明のマイク
ロプロセッサ及びデバッグシステムの構成図を示す。
FIG. 1 shows a block diagram of a microprocessor and a debug system of the invention according to claim 1 or 2.

【0033】図1において、デバッグシステムは、ユー
ザーターゲットシステム70とデバッガ60からなる。
In FIG. 1, the debug system comprises a user target system 70 and a debugger 60.

【0034】ユーザーターゲットシステム70は、デバ
ッグ機能を内蔵したマイクロプロセッサ10と、メモリ
40と、I/O50とから構成される。
The user target system 70 comprises a microprocessor 10 having a built-in debug function, a memory 40, and an I / O 50.

【0035】マイクロプロセッサ10は、プロセッサコ
ア20とデバッグモジュール30から構成される。プロ
セッサコア20は、プロセッサバス80を介してメモリ
40やI/O50をアクセスし、プログラムを実行す
る。また、プロセッサコア20は、内部デバッグインタ
ーフェースとプロセッサバス80によってデバッグモジ
ュール30と接続されている。デバッグモジュール30
は外部デバッグインターフェースによってデバッガ60
と接続されている。
The microprocessor 10 comprises a processor core 20 and a debug module 30. The processor core 20 accesses the memory 40 and the I / O 50 via the processor bus 80 and executes the program. Further, the processor core 20 is connected to the debug module 30 by an internal debug interface and the processor bus 80. Debug module 30
Is a debugger 60 through an external debug interface
Connected with.

【0036】デバッグシステムには、モニタプログラム
を実行しているデバッグモードと、ユーザープログラム
を実行しているノーマルモードの2つの実行モードがあ
る。
The debug system has two execution modes: a debug mode in which a monitor program is executed and a normal mode in which a user program is executed.

【0037】<デバッグモードの動作>プロセッサコア
20がデバッグ例外あるいはデバッグリセットを発生す
ると、デバッグモードになる。プロセッサコア20は、
デバッグ例外のベクタアドレス(FF20_0200)
あるいはデバッグリセットのベクタアドレス(FF20
_0000)へジャンプし、デバッグモード信号DMを
アサートする。これらのベクタアドレスに対応するメモ
リは、デバッガ60上におかれている。プロセッサコア
20は、デバッグモジュール30を介してデバッガ60
上のモニタプログラムを実行する。モニタプログラムで
は、メモリやレジスタのリードやライト、ユーザープロ
グラムの終了アドレスの指定、ユーザープログラムの実
行開始アドレスの指定などの実行制御機能を実現する。
プロセッサコア20が、ノーマルモードへの復帰命令を
実行することによってノーマルモードへ復帰し、ユーザ
ープログラムの実行を開始する。プロセッサコア20
は、ノーマルモードへの復帰命令で指定されるアドレス
へジャンプし、デバッグモード信号DMをネゲートす
る。
<Operation in Debug Mode> When the processor core 20 generates a debug exception or a debug reset, the debug mode is entered. The processor core 20 is
Vector address of debug exception (FF20_0200)
Alternatively, the debug reset vector address (FF20
_0000) and assert the debug mode signal DM. The memory corresponding to these vector addresses is placed on the debugger 60. The processor core 20 receives the debugger 60 via the debug module 30.
Run the above monitor program. The monitor program implements execution control functions such as reading and writing of memory and registers, designating the end address of the user program, and designating the execution start address of the user program.
The processor core 20 returns to the normal mode by executing the return instruction to the normal mode, and starts executing the user program. Processor core 20
Jumps to the address specified by the return instruction to the normal mode and negates the debug mode signal DM.

【0038】<ノーマルモードの動作>ノーマルモード
では、デバッグシステムは、ユーザープログラムを実行
する。このとき同時に、PC(プログラムカウンタ)情
報をトレースする(PCトレース機能)。デバッグシス
テムは、ハードウエアブレーク、ソフトウエアブレー
ク、デバッグ割り込み、デバッグリセットなどによっ
て、プロセッサコア20へデバッグ例外/デバッグリセ
ットを要求し、デバッグモードへ制御を移すことができ
る。
<Operation in Normal Mode> In the normal mode, the debug system executes the user program. At the same time, PC (program counter) information is traced (PC trace function). The debug system can request a debug exception / debug reset to the processor core 20 by a hardware break, a software break, a debug interrupt, a debug reset, etc., and can transfer control to the debug mode.

【0039】以下にノーマルモードで有効な、PCトレ
ース機能、ハードウエアブレーク機能、ソフトウエアブ
レーク機能、デバッグ割り込み機能、デバッグリセット
機能、トレーストリガ機能について説明する。
The PC trace function, hardware break function, software break function, debug interrupt function, debug reset function and trace trigger function that are effective in the normal mode will be described below.

【0040】PCトレース機能は、プロセッサコア20
がユーザープログラムを実行しているときにPCの値を
トレースする機能である。プロセッサコア20が、メモ
リ40上のユーザープログラムを実行しているときに、
そのPCトレース情報を内部デバッグインターフェース
へ出力し、デバッグモジュールがその情報を入力して情
報を加工した後、外部デバッグインターフェースを介し
てデバッガ60へ出力することによって実現される。
The PC trace function is provided by the processor core 20.
Is a function for tracing the value of the PC when executing the user program. When the processor core 20 is executing the user program on the memory 40,
This is realized by outputting the PC trace information to the internal debug interface, inputting the information by the debug module, processing the information, and then outputting it to the debugger 60 via the external debug interface.

【0041】ハードウエアブレーク機能は、所定のアド
レスの命令が実行されたり、データがアクセスされると
きに、プロセッサコア20がデバッグ例外を発生し、デ
バッガ60のモニタプログラムへ制御を移す機能であ
る。この機能は、プロセッサコア20が内部デバッグイ
ンターフェースとプロセッサバス80に出力する、命令
実行アドレス、データアクセスアドレスやそのデータの
値をデバッグモジュール30がデバッグモジュール30
内のレジスタに設定されているアドレスやデータの値と
比較し、それが一致したときにデバッグ例外あるいはデ
バッグ割り込みをプロセッサコア20へ要求することに
よって実現される。
The hardware break function is a function of causing the processor core 20 to generate a debug exception and transferring control to the monitor program of the debugger 60 when an instruction at a predetermined address is executed or data is accessed. In this function, the debug module 30 outputs the instruction execution address, the data access address and the value of the data output from the processor core 20 to the internal debug interface and the processor bus 80.
This is realized by comparing with the value of the address or data set in the register in the inside and requesting a debug exception or a debug interrupt to the processor core 20 when they match.

【0042】ソフトウエアブレーク機能は、プロセッサ
コア20がソフトウエアブレーク命令を実行することに
よりデバッグ例外を発生するものである。これによりモ
ニタプログラムへ制御を移すことができる。
The software break function causes the processor core 20 to execute a software break instruction to generate a debug exception. This allows control to be transferred to the monitor program.

【0043】デバッグ割り込み機能は、プロセッサコア
20のデバッグ割り込み信号をアサートすることによ
り、プロセッサコア20がデバッグ例外を発生する機能
である。これによりモニタプログラムへ制御を移すこと
ができる。
The debug interrupt function is a function in which the processor core 20 generates a debug exception by asserting the debug interrupt signal of the processor core 20. This allows control to be transferred to the monitor program.

【0044】デバッグリセット機能は、プロセッサコア
20のデバッグリセット信号をアサートすることによ
り、プロセッサコア20がデバッグリセットを発生する
機能である。これにより、プロセッサコア20とデバッ
グモジュール30の内部状態が初期化され、プロセッサ
コア20はデバッグモードとなり、デバッグリセットの
ベクタアドレス(FF20_0000)からプログラム
の実行を開始する。
The debug reset function is a function in which the processor core 20 generates a debug reset by asserting the debug reset signal of the processor core 20. As a result, the internal states of the processor core 20 and the debug module 30 are initialized, the processor core 20 enters the debug mode, and the program execution starts from the debug reset vector address (FF20_0000).

【0045】トレーストリガ機能は、所定のアドレスの
命令が実行されたり、データがアクセスされたときに、
マイクロプロセッサ10が外部信号にその状態を出力す
る機能である。デバッガ60がこの信号を入力し、PC
トレースのON/OFFを制御したりする。この機能
は、プロセッサコア20が内部デバッグインターフェー
スとプロセッサバス80に出力する、命令実行アドレ
ス、データアクセスアドレスやそのデータの値をデバッ
グモジュール30が、デバッグモジュール30内のレジ
スタに設定されているアドレスやデータの値と比較し、
それらが一致したときにトリガ情報をデバッガ60へ出
力することによって実現される。
The trace trigger function is used when an instruction at a predetermined address is executed or data is accessed.
The microprocessor 10 has a function of outputting the state to an external signal. The debugger 60 inputs this signal and the PC
Controls ON / OFF of trace. This function is to execute the instruction execution address, the data access address, and the value of the data output by the processor core 20 to the internal debug interface and the processor bus 80, to the address set in the register in the debug module 30, Compare with the value of the data,
It is realized by outputting the trigger information to the debugger 60 when they match.

【0046】次に、デバッグモジュール30についてさ
らに詳しく説明する。
Next, the debug module 30 will be described in more detail.

【0047】図2にデバッグモジュール30の内部ブロ
ックを示す。図2において、デバッグモジュール30
は、命令/データアドレスブレーク回路31、PCトレ
ース回路32、プロセッサバスブレーク回路33、シリ
アルモニタバス回路34、レジスタ回路35、外部イン
ターフェース回路36、クロック供給回路37から構成
される。
FIG. 2 shows an internal block of the debug module 30. In FIG. 2, the debug module 30
Is composed of an instruction / data address break circuit 31, a PC trace circuit 32, a processor bus break circuit 33, a serial monitor bus circuit 34, a register circuit 35, an external interface circuit 36, and a clock supply circuit 37.

【0048】命令/データアドレスブレーク回路31
は、プロセッサコア20と内部デバッグインターフェー
スで接続されている。プロセッサコア20から出力され
る命令アドレスを入力し、その値がレジスタ回路35に
設定されている命令アドレスと一致したときプロセッサ
コア20へ命令アドレスブレーク例外を要求する。ま
た、プロセッサコア20から出力されるデータアドレス
を入力し、その値がレジスタ回路35に設定されている
データアドレスと一致したときプロセッサコア20へデ
ータアドレスブレーク例外を要求する。
Instruction / data address break circuit 31
Are connected to the processor core 20 via an internal debug interface. The instruction address output from the processor core 20 is input, and when the value matches the instruction address set in the register circuit 35, an instruction address break exception is requested to the processor core 20. Further, the data address output from the processor core 20 is input, and when the value matches the data address set in the register circuit 35, a data address break exception is requested to the processor core 20.

【0049】PCトレース回路32は、プロセッサコア
20と内部デバッグインターフェースで接続されてい
る。プロセッサコア20から出力されるPCトレース情
報を入力し、その情報を加工して外部インターフェース
回路36へ出力する。
The PC trace circuit 32 is connected to the processor core 20 via an internal debug interface. The PC trace information output from the processor core 20 is input, the information is processed and output to the external interface circuit 36.

【0050】プロセッサバスブレーク回路33は、プロ
セッサコア20とプロセッサバス80で接続されてい
る。プロセッサバス80上のバスサイクルを監視して、
レジスタ回路35に設定されたアドレスとデータのバス
サイクルが実行されると、プロセッサコア20へ例外を
要求する。
The processor bus break circuit 33 is connected to the processor core 20 by the processor bus 80. Monitor the bus cycles on the processor bus 80,
When the address and data bus cycles set in the register circuit 35 are executed, an exception is requested to the processor core 20.

【0051】シリアルモニタバス回路34は、プロセッ
サバス80によってプロセッサコア20と接続され、プ
ロセッサコア20がデバッガ60上のモニタプログラム
を実行するときに、そのインターフェースを行う。
The serial monitor bus circuit 34 is connected to the processor core 20 by the processor bus 80, and interfaces with the processor core 20 when executing the monitor program on the debugger 60.

【0052】レジスタ回路35は、デバッグモジュール
30に内蔵されている制御レジスタを含み、デバッグモ
ジュールの機能を制御する。プロセッサバス80と内部
デバッグインターフェースによってプロセッサコア20
と接続され、プロセッサコア20によって制御レジスタ
の内容をリード/ライトすることができる。また、制御
レジスタの内容は、デバッグモジュールの各回路やプロ
セッサコア20へ出力され、デバッグ機能が制御され
る。
The register circuit 35 includes a control register built in the debug module 30 and controls the function of the debug module. Processor core 20 by processor bus 80 and internal debug interface
And the processor core 20 can read / write the contents of the control register. Further, the content of the control register is output to each circuit of the debug module and the processor core 20 to control the debug function.

【0053】外部インターフェース回路36は、デバッ
グモジュール30内のPCトレース回路32、シリアル
モニタバス回路34やプロセッサコア20とデバッガ6
0とのインターフェースを制御する回路である。
The external interface circuit 36 is the PC trace circuit 32 in the debug module 30, the serial monitor bus circuit 34, the processor core 20 and the debugger 6.
It is a circuit that controls the interface with 0.

【0054】クロック供給回路37は、クロック信号C
LKを分周する回路である。シリアルモニタバス回路は
分周したクロックCLK2で動作する。
The clock supply circuit 37 has a clock signal C.
This is a circuit for dividing LK. The serial monitor bus circuit operates with the divided clock CLK2.

【0055】<外部信号の説明>デバッグモジュール3
0と外部デバッガ60との専用インターフェース信号は
次の8本である。 1. SDAO/TPC :Output 2. SDI/DINT*:Input 3. DCLK :Output 4. DRESET* :Input 5−7.PCST[2:0]:Output 8. DBGE* :Input
<Description of External Signal> Debug Module 3
0 and the following eight dedicated interface signals between the external debugger 60. 1. SDAO / TPC: Output 2. SDI / DINT *: Input 3. DCLK: Output 4. DRESET *: Input 5-7. PCST [2: 0]: Output 8. DBGE *: Input

【0056】(1)DCLD (Debug Cloc
k):Output この信号はデバッガ60へのクロック出力である。シリ
アルモニタバス、PCトレースインターフェースの信号
のタイミングは、すべてこのデバッグクロックDCLK
で規定される。シリアルモニタバス動作のときは、プロ
セッサコア20の動作クロックの2分周クロックにな
る。
(1) DCLD (Debug Cloc
k): Output This signal is a clock output to the debugger 60. The timing of the signals of the serial monitor bus and PC trace interface are all based on this debug clock DCLK.
Stipulated in. In the serial monitor bus operation, the operation clock of the processor core 20 is divided by two.

【0057】(2)DRESET*(Debug Re
set):Input(プルアップ付き端子) この信号はデバッグリセット入力で、Low Acti
veとなる。DRESET*がアサートされると、デバ
ッグモジュールは初期化される(DBGE*には無関
係)。デバッグ60を使用しないときは、この端子を未
接続にする。
(2) DRESET * (Debug Re
set): Input (terminal with pull-up) This signal is a debug reset input, and Low Acti
ve. When DRESET * is asserted, the debug module is initialized (regardless of DBGE *). When not using the debug 60, leave this terminal unconnected.

【0058】(3)PCST[2:0](PC Tra
ce Status):Output この信号は以下のPCトレースステータス情報とシリア
ルモニタバスのモードを出力する。
(3) PCST [2: 0] (PC Tra
ce Status): Output This signal outputs the following PC trace status information and the mode of the serial monitor bus.

【0059】111(STL):パイプラインストール 110(JMP):分岐/ジャンプ成立(PC出力あ
り) 101(BRT):分岐/ジャンプ成立(PC出力な
し) 100(EXP):例外発生(例外ベクタのコード出力
あり) 011(SEQ):シーケンシャル実行(1命令実行し
たことを示す) 010(TST):パイプラインストール時のトレース
トリガ出力 001(TSQ):実行時のトレーストリガ出力 000(DBM):デバッグモード (0:Low、
1:Highレベル) (4)DBGE*(Debugger Enabl
e):Input(プルアップ付き端子)
111 (STL): Pipeline installation 110 (JMP): Branch / jump taken (with PC output) 101 (BRT): Branch / jump taken (without PC output) 100 (EXP): Exception occurred (exception vector code) 011 (SEQ): Sequential execution (indicates that one instruction has been executed) 010 (TST): Trace trigger output during pipeline installation 001 (TSQ): Trace trigger output during execution 000 (DBM): Debug mode ( 0: Low,
1: High level (4) DBGE * (Debugger Enable)
e): Input (terminal with pull-up)

【0060】この信号はデバッガ60の接続の有無を示
す。外部にデバッガ60が接続されていないときは、H
igh(非接続NC)にし、デバッガ60が接続されて
いるときはLowを入力する。
This signal indicates whether or not the debugger 60 is connected. When the debugger 60 is not connected to the outside, H
When the debugger 60 is connected to Low (NC not connected), Low is input.

【0061】デバッガ60が接続されていない(DBG
E*信号がHighの)ときは、プロセッサコア20の
DEV信号はLowとなり、デバッグ例外のベクタアド
レスはFF20_0200になる。ユーザーリセット
(RESET*)によってデバッグモジュール機能が初
期化され、デバッガ機能が全てディスエーブル状態にな
る。出力信号(SDA0/TPC、DCLK、PCST
[2:0])は全てHi−zとなる。
The debugger 60 is not connected (DBG
When the E * signal is High), the DEV signal of the processor core 20 becomes Low, and the debug exception vector address becomes FF20_0200. The debug module function is initialized by user reset (RESET *), and all the debugger functions are disabled. Output signal (SDA0 / TPC, DCLK, PCST
[2: 0]) are all Hi-z.

【0062】デバッガ60が接続されている(DBGE
*信号がLowの)ときは、プロセッサコア20のDE
V信号はHighとなり、デバッグ例外のベクタアドレ
スは、FF20_0200(モニタ領域内)になる。ユ
ーザーリセット(RESET*)ではデバッグモジュー
ルは初期化されない。
A debugger 60 is connected (DBGE
* When the signal is Low), the DE of the processor core 20
The V signal becomes High, and the debug exception vector address becomes FF20_0200 (in the monitor area). The user reset (RESET *) does not initialize the debug module.

【0063】(5)SDAO/TPC(Serial
Data and AddressOutput/Ta
rget PC):Output デバッグモード(PCST=DBM)のときは、シリア
ルモニタバスインターフェースのSDAO(Serie
al Data and Address Outpu
t)として、ノーマルモード(PCST≠DBM)のと
きは、PCトレースインターフェースのTPC(Tar
get PC)として動作する。
(5) SDAO / TPC (Serial
Data and Address Output / Ta
rget PC): In the output debug mode (PCST = DBM), the serial monitor bus interface SDAO (Series)
al Data and Address Outpu
t), in the normal mode (PCST ≠ DBM), TPC (Tar of the PC trace interface)
as a get PC).

【0064】SDAO(Serial Data an
d Address Output)(デバッグモー
ド,PCST=DBMのとき)は、データ、アドレス、
リード、ライト、バイトイネーブル信号を1ビットづつ
シリアルに出力する信号である。バスサイクル開始前に
スタートビットを出力する。(1クロック間Lowを出
力する。) 出力の順は、リード時は、スタートビット(Low)、
A[2]−A[19],R/W*BE[0]*−BE
[3]*である。ライト時は、スタートビット(Lo
w)、A[2]−A[19],R/W*,BE[0]*
−BE[3]*,D[0]−D[31]である。
SDAO (Serial Data an
d Address Output) (debug mode, when PCST = DBM), data, address,
It is a signal that serially outputs the read, write, and byte enable signals bit by bit. The start bit is output before the bus cycle starts. (Low is output for one clock.) The order of output is the start bit (Low) when reading,
A [2] -A [19], R / W * BE [0] *-BE
[3] *. When writing, start bit (Lo
w), A [2] -A [19], R / W *, BE [0] *
-BE [3] *, D [0] -D [31].

【0065】TPC(Target PC)(ノーマル
モード,PCST≠DBMのとき)は、分岐/ジャンプ
命令のターゲットアドレスと例外/割り込みのベクタ番
号を出力するための信号である。ターゲットアドレス
は、下位アドレスA[2]からA[31]まで順に出力
される。
TPC (Target PC) (normal mode, when PCST ≠ DBM) is a signal for outputting a target address of a branch / jump instruction and an exception / interruption vector number. The target address is sequentially output from the lower address A [2] to A [31].

【0066】(6)SDI/DINT*(Serial
Data Input/Debug Interru
pt):Input(プルアップ付き端子) デバッグモード(PCST=DBM)のときは、シリア
ルモニタバスインターフェースのSDI(Sereal
Data input)として、ノーマルモード(P
CST≠DBM)のときは、PCトレースインターフェ
ースのDINT*(Debug Interrupt)
として作用する。
(6) SDI / DINT * (Serial
Data Input / Debug Interru
pt): Input (terminal with pull-up) In the debug mode (PCST = DBM), SDI (Serial of serial monitor bus interface)
Normal mode (P
When CST ≠ DBM), PC trace interface DINT * (Debug Interrupt)
Acts as.

【0067】SDI(Serial Data Inp
ut)(デバッグモード,PCST=DBMのとき)は
データ入力信号。リードのときは、外部からスタートビ
ット(1クロック間Low)が入力されると、次のクロ
ックからデータ入力を開始する。ライトのときLowが
入力されると、バスサイクルが終了する。
SDI (Serial Data Inp)
ut) (debug mode, when PCST = DBM) is a data input signal. At the time of reading, when a start bit (Low for one clock) is input from the outside, data input is started from the next clock. When Low is input during writing, the bus cycle ends.

【0068】入力の順は、リード時は、スタートビット
(Low)、D[0]−D[31]である。ライト時
は、終了ビット(Low)だけ入力する。
The order of input is the start bit (Low) and D [0] -D [31] at the time of reading. At the time of writing, only the end bit (Low) is input.

【0069】DINT*(Debug Interru
put)(ノーマルモード,PCST≠DBMのとき)
は、デバッガ60からのデバッグ割り込み入力である。
デバッグ60を使用しないときは、この端子を未接続に
する。
DINT * (Debug Interru
put) (normal mode, when PCST ≠ DBM)
Is a debug interrupt input from the debugger 60.
When not using the debug 60, leave this terminal unconnected.

【0070】図3にレジスタ回路35の構成を示す。図
3において、レジスタ回路35は、アドレスデコーダ3
51とレジスタ部352からなる。
FIG. 3 shows the configuration of the register circuit 35. In FIG. 3, the register circuit 35 is the address decoder 3
51 and a register unit 352.

【0071】アドレスデコーダ351は、プロセッサコ
ア20のプロセッサバス80からのアドレス入力A[3
1:0]、リード信号RD*、ライト信号WR*、デバ
ッグモード信号DM、コアクロックCLKを入力する。
アドレスデコーダ351は、プロセッサコア20のバス
サイクル中のアドレスをデコードし、レジスタ部352
内のレジスタのアドレスに対するリードのときは、レジ
スタ部352内の対応するレジスタをリードするための
レジスタリード信号をアサートし、プロセッサコア20
のリード応答信号RDACK*をアサートする。
The address decoder 351 receives the address input A [3 from the processor bus 80 of the processor core 20.
1: 0], read signal RD *, write signal WR *, debug mode signal DM, and core clock CLK.
The address decoder 351 decodes the address in the bus cycle of the processor core 20, and the register unit 352.
At the time of reading to the address of the register in the register core 352, the register read signal for reading the corresponding register in the register unit 352 is asserted,
Asserts the read response signal RDACK *.

【0072】また、レジスタ部352のレジスタのアド
レスに対するライトのときは、レジスタ部352内の対
応するレジスタへライトするためのレジスタライト信号
をアサートし、プロセッサコア20のリード応答信号R
DACK*をアサートし、ライト応答信号WRACK*
をアサートする。
Further, at the time of writing to the address of the register of the register unit 352, a register write signal for writing to the corresponding register in the register unit 352 is asserted, and the read response signal R of the processor core 20.
Assert DACK * and write response signal WRACK *
Assert.

【0073】ただし、ノーマルモード中はレジスタ部3
52をアクセスできない。このときは、アドレスデコー
ダ351は、リードバスサイクルのときはリード応答信
号RDACK*、ライトバスサイクルのときはライト応
答信号WRACK*をプロセッサコア20へアサートす
るだけである。従って、リードで読み出される値は不定
となり、ライトデータは無視される。
However, in the normal mode, the register unit 3
52 is inaccessible. At this time, the address decoder 351 only asserts the read response signal RDACK * to the processor core 20 during the read bus cycle and the write response signal WRACK * during the write bus cycle. Therefore, the value read by reading becomes indefinite, and the write data is ignored.

【0074】また、デバッグモード中でも、DCRレジ
スタのメモリプロテクションビットMPがセットされて
いると、DCRレジスタを除く、レジスタ部352のレ
ジスタのアクセスは禁止される。アドレスデコーダ35
1は、リードバスサイクルのときはリード応答信号RD
ACK*、ライトバスサイクルのときはライト応答信号
WRACK*をプロセッサコア20へアサートするだけ
である。従って、リードで読み出される値は不定とな
り、ライトデータは無視される。
Even in the debug mode, if the memory protection bit MP of the DCR register is set, access to the registers of the register unit 352 other than the DCR register is prohibited. Address decoder 35
1 is a read response signal RD in the read bus cycle
In the case of ACK *, write bus cycle, the write response signal WRACK * is only asserted to the processor core 20. Therefore, the value read by reading becomes indefinite, and the write data is ignored.

【0075】アドレスデコーダ351は表1に示すよう
に動作する。
The address decoder 351 operates as shown in Table 1.

【0076】[0076]

【表1】 レジスタ部352は、DCR(Debug Contr
ol Register)レジスタ、IBS(Inst
ruction Break Status)レジス
タ、DBS(Data Break Status)レ
ジスタ、PBS(Processor Bus Bre
ak Status)レジスタ、IBA0(Instr
uction Break Address 0)レジ
スタ、IBC0(Instruction Break
Control 0)レジスタ、DBA0(Data
Break Address 0)レジスタ、DBC
0(Data Break Contrrol 0)レ
ジスタ、PBA0(Processor Bus Br
eak Address 0)レジスタ、PBD0(P
rocessor Bus Break Data
0)レジスタ、PBM0(Processor Bus
Break Data Mask 0)レジスタ、P
BC0(Processor Bus Break C
ontrol0)を含む。
[Table 1] The register unit 352 has a DCR (Debug Control) function.
ol Register) register, IBS (Inst
reduction break status (DBR) register, DBS (Data Break Status) register, PBS (Processor Bus Breth)
ak Status register, IBA0 (Instr
Function Break Address 0) register, IBC0 (Instruction Break)
Control 0) register, DBA0 (Data)
Break Address 0) register, DBC
0 (Data Break Control 0) register, PBA0 (Processor Bus Br)
eak Address 0) register, PBD0 (P
processor Bus Break Data
0) register, PBM0 (Processor Bus)
Break Data Mask 0) register, P
BC0 (Processor Bus Break C)
control 0) is included.

【0077】レジスタのリセット条件は、マイクロプロ
セッサ10のデバッグリセットDRESET*がアサー
トされたとき、あるいは、デバッガ60が接続されてい
ないときのユーザーリセット(RESET*アクティブ
かつDBGE*=High)である。
The register reset condition is user reset (RESET * active and DBGE * = High) when the debug reset DRESET * of the microprocessor 10 is asserted or when the debugger 60 is not connected.

【0078】以下に各レジスタの機能を説明する。The function of each register will be described below.

【0079】図4にDCR(Debug Contro
l Register)を示す。
FIG. 4 shows the DCR (Debug Control)
l Register).

【0080】 TM:(Trace Mode)(リセット時:0) PCトレースの動作モードを指定するためたのビットで
ある。 0:リアルタイムでPCトレース情報を出力するモード
になる。 1:PCトレース情報を完全に出力するモードになる。
(リアルタイム性は保証されない。) TMビットはPCトレース回路32へ出力される。 MRst:(Mask User Reset)(リセ
ット時:0)ユーザーリセットのマスクを指定するため
のビットである。 0:デバッグ例外中、ユーザーリセットをマスクする。 1:デバッグ例外中、ユーザーリセットは許可される。
TM: (Trace Mode) (at reset: 0) This is a bit for designating the operation mode of PC trace. 0: It becomes the mode which outputs PC trace information in real time. 1: The mode is in which the PC trace information is completely output.
(Real-time property is not guaranteed.) The TM bit is output to the PC trace circuit 32. MRst: (Mask User Reset) (at reset: 0) This bit is used to specify a mask for user reset. 0: Mask user reset during debug exception. 1: User reset is allowed during debug exception.

【0081】MRstビットは、外部インターフェース
回路36へ出力される。 MP:(Memory Protection)(リセ
ット時:1) 0:デバッグモードで、モニタ領域へのライトが可能で
ある。 1:デバッグモードで、DCRレジスタを除くモニタ領
域(FF20_0000〜FF3F_FFFF)へのラ
イトをプロテクトする。
The MRst bit is output to the external interface circuit 36. MP: (Memory Protection) (at reset: 1) 0: In the debug mode, writing to the monitor area is possible. 1: In the debug mode, write protection to the monitor area (FF20_0000 to FF3F_FFFF) excluding the DCR register is protected.

【0082】MPビットは、アドレスデコーダ351と
シリアルモニタバス回路34へ出力される。
The MP bit is output to the address decoder 351 and the serial monitor bus circuit 34.

【0083】MNmI:(Mask Non−mask
Interrupt)(リセット時:1) 0:プロセッサコア20のNmI発生をマスクする。 プロセッサコア20のNmiMask信号をLowにす
る。 1:プロセッサコア20のNmI発生を許可する。 MNmIビットはプロセッサコア20へ出力される。 MInt:(Mask Interrupt)(リセッ
ト時:1) 0:コアの外部割り込み(Int[5:0]*)の発生
をマスクする。 1:コアの外部割り込み(Int[5:0]*)の発生
を許可する。 MIntビットは、外部インターフェース回路36へ出
力される。 ENM:(Endian Memory) (ユーザー)リセット時のEndian信号の値を示
す。このビットは、リードのみ可能で、ライトは無視さ
れる。
MNmI: (Mask Non-mask
Interrupt) (at reset: 1) 0: Mask NmI generation of the processor core 20. The NmiMask signal of the processor core 20 is set to Low. 1: Permit NmI generation of the processor core 20. The MNmI bit is output to the processor core 20. MInt: (Mask Interrupt) (at reset: 1) 0: Mask generation of external interrupt (Int [5: 0] *) of the core. 1: Permits generation of core external interrupt (Int [5: 0] *). The MInt bit is output to the external interface circuit 36. ENM: (Endian Memory) (User) Indicates the value of the Endian signal at reset. This bit can only be read, writes are ignored.

【0084】0:リトルエンディアン 1:ビッグエンディアン ユーザーリセットがLowのときのコアクロックの立ち
上がりでENDIAN信号をラッチしたものをENMビ
ットとする。 HIS:(Halt Status) プロセッサコア20のDINT*がアクティブになった
ときの、Halt信号の値を示す。このビットは、リー
ドのみ可能で、ライトは無視される。
0: Little endian 1: Big endian The ENM bit is obtained by latching the ENDIAN signal at the rising edge of the core clock when the user reset is Low. HIS: (Halt Status) Indicates the value of the Halt signal when DINT * of the processor core 20 becomes active. This bit can only be read, writes are ignored.

【0085】0:Halt状態ではない。 1:Halt状態。0: Not in Halt state. 1: Halt state.

【0086】デバッグ割り込み信号DINT*の立ち下
がりエッジで、HALT信号をラッチしたものをHIS
ビットとする。 DzS:(Doze Status) プロセッサコア20のDInt*がアクティブになった
ときの、Doze信号の値を示す。このビットは、リー
ドのみ可能で、ライトは無視される。 0:Doze状態ではない。 1:Doze状態。 デバッグ割り込み信号DINT*の立ち下がりエッジ
で、DOZE信号をラッチしたものをDzSビットとす
る。
At the falling edge of the debug interrupt signal DINT *, the one obtained by latching the HALT signal is
Bit. DzS: (Dose Status) Indicates the value of the Dose signal when DInt * of the processor core 20 becomes active. This bit can only be read, writes are ignored. 0: Not in the Doze state. 1: Doze state. The DzS bit is obtained by latching the DOZE signal at the falling edge of the debug interrupt signal DINT *.

【0087】図5にIBA0(Instruction
Break Address 0)レジスタを示す。
FIG. 5 shows IBA0 (Instruction).
The Break Address 0) register is shown.

【0088】IBA:(Instruction Br
eak Address) 命令ブレークアドレスを格納する。このアドレスは仮想
アドレスである。IBAフィールドは、命令/データア
ドレスブレーク回路31へ出力される。
IBA: (Instruction Br
eak Address) Stores the instruction break address. This address is a virtual address. The IBA field is output to the instruction / data address break circuit 31.

【0089】図6にIBC0(Instruction
Break Control 0)レジスタを示す。
FIG. 6 shows IBC0 (Instruction).
The Break Control 0) register is shown.

【0090】BE:(Break Enable)(リ
セット時:0) 命令アドレスブレーク機能の有効・無効を指定するビッ
トである。 0:命令アドレスブレーク機能は無効となる。 1:命令アドレスブレーク機能が有効となる。BE=1
のときに、実行直前の命令の仮想アドレスとIBA0レ
ジスタに設定したアドレスが一致すると、プロセッサコ
ア20へ命令ブレーク要求を出し、IBSレジスタのB
S0ビットをセットする。(プロセッサコア20は、ア
ドレスが一致した命令の実行直前で命令アドレスブレー
ク例外を発生する。) BEビットは、命令/データアドレスブレーク回路31
へ出力される。
BE: (Break Enable) (at reset: 0) This bit specifies whether the instruction address break function is valid or invalid. 0: The instruction address break function is disabled. 1: Instruction address break function is enabled. BE = 1
At this time, if the virtual address of the instruction immediately before execution matches the address set in the IBA0 register, an instruction break request is issued to the processor core 20, and the BBS of the IBS register is issued.
Set the S0 bit. (The processor core 20 generates an instruction address break exception immediately before the execution of the instruction having the matched address.) The BE bit is the instruction / data address break circuit 31.
Output to

【0091】TE:(Trace Trigger E
nable)(リセット時:0) 命令アドレストレーストリガ機能の有効・無効を指定す
るビットである。 0:命令アドレストレーストリガ機能は無効となる。 1:命令アドレストレーストリガ機能が有効となる。T
E=1で、トレーストリガが有効なとき、実行された命
令の仮想アドレスと、IBA0レジスタに設定したアド
レスが一致するとPCST[2:0]にトレーストリガ
情報(TST(010)あるいはTSQ(001))を
出力し、IBSレジスタのBS0ビットをセットする。 TEビットは、命令/データアドレスブレーク回路31
へ出力される。
TE: (Trace Trigger E
(reset: 0) This bit specifies whether the instruction address trace trigger function is valid or invalid. 0: The instruction address trace trigger function is disabled. 1: The instruction address trace trigger function is valid. T
When E = 1 and the trace trigger is valid, when the virtual address of the executed instruction matches the address set in the IBA0 register, the trace trigger information (TST (010) or TSQ (001)) is displayed in PCST [2: 0]. ) Is output and the BS0 bit of the IBS register is set. The TE bit is used for the instruction / data address break circuit 31.
Output to

【0092】図7にIBS(Instruction
Break Status)レジスタを示す。
FIG. 7 shows an IBS (Instruction)
Break Status) register.

【0093】BCN:(Break Channel
Number) 命令ブレークのチャネル数を示す。このフィールドはリ
ードのみ可能である。ライトは無視される。 0000:なし(予約) 0001:1チャネル … 1111:15チャネル(予約) BS0:(Break Status 0)
BCN: (Break Channel
Number) Indicates the number of channels for instruction break. This field can only be read. Lights are ignored. 0000: None (reserved) 0001: 1 channel ... 1111: 15 channel (reserved) BS0: (Break Status 0)

【0094】命令アドレスブレークあるいは、命令アド
レストレーストリガが発生したことを示すステータスビ
ットである。 0:チャネル0の命令アドレスブレークあるいは命令ア
ドレストレーストリガが発生していないことを示す。 1:IBC0レジスタがBE=1あるいはTE=1のと
きに、命令の仮想アドレスと、設定したアドレスが一致
して、命令アドレスブレーク例外あるいは命令アドレス
トレーストリガが発生したことを示す。このビットは、
0を書き込むことによってクリアされる。BS0ビット
は、命令/データアドレスブレーク回路からのIBSレ
ジスタのBS0セット信号がアサートされるとセットさ
れる。
A status bit indicating that an instruction address break or an instruction address trace trigger has occurred. 0: Indicates that a channel 0 instruction address break or instruction address trace trigger has not occurred. 1: Indicates that when the IBC0 register is BE = 1 or TE = 1, the virtual address of the instruction matches the set address and an instruction address break exception or an instruction address trace trigger occurs. This bit is
Cleared by writing 0. The BS0 bit is set when the BS0 set signal of the IBS register from the instruction / data address break circuit is asserted.

【0095】図8にDBA0(Data Break
Address 0)レジスタを示す。
FIG. 8 shows DBA0 (Data Break).
Address 0) register.

【0096】 DBA:(Data break address) データブレークアドレスを格納する。このアドレスは仮
想アドレスである。DBAフィールドは、命令/データ
アドレスブレーク回路31へ出力される。
DBA: (Data break address) Stores a data break address. This address is a virtual address. The DBA field is output to the instruction / data address break circuit 31.

【0097】図9にDBC0(Data Break
Control 0)レジスタを示す。 BE:(Break Enable)(リセット時:
0) データアドレスブレーク機能の有効・無効を指定するビ
ットである。 0:データアドレスブレーク機能は無効となる。 1:データアドレスブレーク機能が有効となる。BE=
1のときに、実行直前のデータの仮想アドレスと、DB
A0レジスタに設定したアドレスが一致すると、プロセ
ッサコア20へデータブレーク要求を出し、DBSレジ
スタのBS0ビットをセットする。
FIG. 9 shows DBC0 (Data Break).
Control 0) register. BE: (Break Enable) (At reset:
0) This bit specifies whether the data address break function is valid or invalid. 0: The data address break function is disabled. 1: The data address break function is valid. BE =
When 1, the virtual address of the data immediately before execution and the DB
When the addresses set in the A0 register match, a data break request is issued to the processor core 20 and the BS0 bit of the DBS register is set.

【0098】BEビットは、命令/データアドレスブレ
ーク回路31へ出力される。 TE:(Trace Trigger Enable)
(リセット時:0) データアドレストレーストリガ機能の有効・無効を指定
するビットである。 0:データアドレストレーストリガ機能は無効となる。 1:データアドレストレーストリガ機能が有効となる。
TE=1でトレーストリガが有効なとき、実行されたデ
ータの仮想アドレスと、DBA0レジスタに設定したア
ドレスが一致するとPCST[2:0]にトレーストリ
ガ情報(TST(010)あるいはTSQ(001))を
出力し、DBSレジスタのBS0ビットをセットする。 TEビットは、命令/データアドレスブレーク回路31
へ出力される。
The BE bit is output to the instruction / data address break circuit 31. TE: (Trace Trigger Enable)
(At reset: 0) This bit specifies whether the data address trace trigger function is valid or invalid. 0: The data address trace trigger function is disabled. 1: The data address trace trigger function is valid.
When the trace trigger is valid with TE = 1 and the virtual address of the executed data matches the address set in the DBA0 register, trace trigger information (TST (010) or TSQ (001)) is displayed in PCST [2: 0]. Is output and the BS0 bit of the DBS register is set. The TE bit is used for the instruction / data address break circuit 31.
Output to

【0099】図10にDBS(Data Break
Status)レジスタを示す。
FIG. 10 shows a DBS (Data Break).
Status) register.

【0100】 BCN:Break Channel Number) データブレークのチャネル数を示す。このフィールドは
リードのみ可能である。ライトは無視される。 0000:なし(予約) 0001:1チャネル … 1111:15チャネル(予約) BS0:(Break Status 0)
BCN: Break Channel Number) Indicates the number of channels of data break. This field can only be read. Lights are ignored. 0000: None (reserved) 0001: 1 channel ... 1111: 15 channel (reserved) BS0: (Break Status 0)

【0101】データアドレスブレークあるいは、データ
アドレストレーストリガが発生したことを示すステータ
スビットである。 0:チャネル0のデータアドレスブレークあるいはデー
タアドレストレーストリガが発生していないことを示す
◎。
A status bit indicating that a data address break or a data address trace trigger has occurred. 0: Indicates that no data address break or data address trace trigger of channel 0 has occurred.

【0102】1:DBC0レジスタのBE=1あるいは
TE=1のときに、データの仮想アドレスと、設定した
アドレスが一致して、データアドレスブレーク例外ある
いはデータアドレストレーストリガが発生したことを示
す。
1: Indicates that when BE = 1 or TE = 1 of the DBC0 register, the virtual address of the data matches the set address and a data address break exception or a data address trace trigger occurs.

【0103】このビットは、0を書き込むことによって
クリアされる。BS0ビットは、命令/データアドレス
ブレーク回路31からのDBSレジスタのBS0セット
信号がアサートされるとセットされる。
This bit is cleared by writing a 0. The BS0 bit is set when the BS0 set signal of the DBS register from the instruction / data address break circuit 31 is asserted.

【0104】図11にPBA0(Processor
Bus Break Address)レジスタを示
す。
FIG. 11 shows PBA0 (Processor).
A Bus Break Address register is shown.

【0105】PBA:(Processor Bus
Break Address) プロセッサバスブレーク/トレーストリガ機能のブレー
クアドレスを格納する。このアドレスは物理アドレスで
ある。PBAフィールドはプロセッサバスブレーク回路
33へ出力される。
PBA: (Processor Bus
Break Address) Stores the break address of the processor bus break / trace trigger function. This address is a physical address. The PBA field is output to the processor bus break circuit 33.

【0106】図12にPBD0(Processor
Bus Break Data 0)レジスタを示す。
FIG. 12 shows the PBD0 (Processor).
Bus Break Data 0) register.

【0107】PBD:(Processor Bus
Break Data) プロセッサバスブレーク/トレーストリガ機能のブレー
クデータを格納する。PBDフィールドはプロセッサバ
スブレーク回路33へ出力される。
PBD: (Processor Bus
Break Data) Stores break data of the processor bus break / trace trigger function. The PBD field is output to the processor bus break circuit 33.

【0108】図13にPBM0(Processor
Bus Mask 0)レジスタを示す。
FIG. 13 shows the PBM0 (Processor).
Bus Mask 0) register.

【0109】PBM:(Processor Bus
Break Data Mask) プロセッサバスブレーク/トレーストリガ機能のPBD
レジスタに格納したデータとの比較を行なうとき、比較
を無効にする(マスクする)ビットを指定する。 0:PBDレジスタの対応するビットを比較する。 1:PBDレジスタの対応するビットを比較しない。 PBMフィールドはプロセッサバスブレーク回路33へ
出力される。
PBM: (Processor Bus
Break Data Mask) PBD of processor bus break / trace trigger function
When comparing with the data stored in the register, specify the bit that invalidates (masks) the comparison. 0: Compare corresponding bits of PBD register. 1: Do not compare corresponding bits of PBD register. The PBM field is output to the processor bus break circuit 33.

【0110】図14にPBC0(Processor
Bus Control 0)レジスタを示す。 BE:(Break Enable)(リセット時:
0) プロセッサバスブレークの有効・無効を指定する。 0:プロセッサバスブレークは無効となる。 1:プロセッサバスブレークが有効となる。アドレスと
データの比較結果が設定値と一致するとプロセッサコア
20にデバッグ割り込みを要求する。
FIG. 14 shows the PBC0 (Processor).
Bus Control 0) register. BE: (Break Enable) (At reset:
0) Specify whether the processor bus break is valid or invalid. 0: Processor bus break is invalid. 1: The processor bus break is valid. When the comparison result of the address and the data matches the set value, a debug interrupt is requested to the processor core 20.

【0111】BEビットは、プロセッサバスブレーク回
路33へ出力される。 TE:(Trace Trigger Enable)
(リセット時:0) プロセッサバストレーストリガの有効・無効を指定す
る。 0:プロセッサバストレーストリガは無効となる。 1:プロセッサバストレーストリガは有効となる。アド
レスとデータの比較結果が設定値と一致するとPCST
[2:0]にトレーストリガ情報(TST(010)あ
るいはTSQ(001))を出力する。TEビットは、プ
ロセッサバスブレーク回路33へ出力される。
The BE bit is output to the processor bus break circuit 33. TE: (Trace Trigger Enable)
(At reset: 0) Specifies whether the processor bus trace trigger is valid or invalid. 0: The processor bus trace trigger is invalid. 1: The processor bus trace trigger is valid. If the comparison result of the address and data matches the set value, PCST
The trace trigger information (TST (010) or TSQ (001)) is output at [2: 0]. The TE bit is output to the processor bus break circuit 33.

【0112】IFUC:(Instruction F
etch from Uncache Area) 非キャッシュ領域からの命令フェッチでアドレスとデー
タの比較を行うかを指定する。
IFUC: (Instruction F
etch from Uncache Area) Specifies whether to compare the address and data in the instruction fetch from the non-cache area.

【0113】0:非キャッシュ領域からの命令フェッチ
でアドレスとデータの比較をしない。
0: No comparison between address and data is made by instruction fetch from the non-cache area.

【0114】1:非キャッシュ領域からの命令フェッチ
でアドレスとデータの比較をする。
1: The address and the data are compared by fetching the instruction from the non-cache area.

【0115】IFUCビットは、プロセッサバスブレー
ク回路33へ出力される。
The IFUC bit is output to the processor bus break circuit 33.

【0116】DLUC:(Data Load fro
m Uncache Area) 非キャッシュ領域からのデータロードでアドレスとデー
タの比較を行うかを指定する。
DLUC: (Data Load pro
m Uncache Area) Specifies whether to compare address and data when loading data from the non-cache area.

【0117】0:非キャッシュ領域からのデータロード
でアドレスとデータの比較をしない。
0: No comparison between address and data is performed when data is loaded from the non-cache area.

【0118】1:非キャッシュ領域からのデータロード
でアドレスとデータの比較をする。
1: Address and data are compared by loading data from the non-cache area.

【0119】DLUCビットは、プロセッサバスブレー
ク回路33へ出力される。
The DLUC bit is output to the processor bus break circuit 33.

【0120】DSUC:(Data Store to
Uncache Area) 非キャッシュ領域へのデータストアでアドレスとデータ
の比較を行うかを指定する。
DSUC: (Data Store to
Uncache Area) Specifies whether to compare address and data in the data store to the non-cache area.

【0121】0:非キャッシュ領域へのデータストアで
アドレスとデータの比較をしない。
0: The address and data are not compared in the data store in the non-cache area.

【0122】1:非キャッシュ領域へのデータストアで
アドレスとデータの比較をする。DSUCビットは、プ
ロセッサバスブレーク回路33へ出力される。
1: The address and data are compared in the data store in the non-cache area. The DSUC bit is output to the processor bus break circuit 33.

【0123】DSCA:(Data Store to
Cache Area) キャッシュ領域へのデータストアでアドレスとデータの
比較を行うかを指定する。
DSCA: (Data Store to
Cache Area) Specify whether to compare address and data in the data store to the cache area.

【0124】0:キャッシュ領域へのデータストアでア
ドレスとデータの比較をしない。
0: The address and data are not compared in the data store in the cache area.

【0125】1:キャッシュ領域へのデータストアでア
ドレスとデータの比較をする。DSCAビットは、プロ
セッサバスブレーク回路33へ出力される。
1: Address and data are compared in the data store in the cache area. The DSCA bit is output to the processor bus break circuit 33.

【0126】図15にPBS(Processor B
us Break Status)レジスタを示す。 BCN:(Break Channel Numbe
r) プロセッサバスブレークのチャネル数を示す。
FIG. 15 shows a PBS (Processor B).
us Break Status register. BCN: (Break Channel Number
r) Indicates the number of channels of the processor bus break.

【0127】 0000:0チャネル(予約) 0001:1チャネル … 1111:15チャネル(予約) BS0:(Break status 0.)(リセッ
ト時:0) プロセッサバスブレークあるいは、プロセッサバストレ
ーストリガが発生したことを示すステータスビットであ
る。
0000: 0 channel (reserved) 0001: 1 channel ... 1111: 15 channel (reserved) BS0: (Break status 0.) (at reset: 0) A processor bus break or a processor bus trace trigger is generated. This is the status bit to indicate.

【0128】0:チャネル0のプロセッサバスブレーク
あるいはプロセッサバストレーストリガが発生していな
いことを示す。 1:PBE0レジスタのBE=1あるいはTE=1のと
きに、チャネル0のプロセッサバスブレークあるいは、
プロセッサバストレーストリガが発生したことを示す。
0: Indicates that a processor bus break of channel 0 or a processor bus trace trigger has not occurred. 1: When BE = 1 or TE = 1 of the PBE0 register, the channel 0 processor bus break or
Indicates that a processor bus trace trigger has occurred.

【0129】このビットは、0を書き込むことによって
クリアされ、BE=1のときはプロセッサコア20へ要
求していたデバッグ割り込みもクリアされる。BS0ビ
ットは、プロセッサバスブレーク回路からのPBSレジ
スタのBS0セット信号がアサートされるとセットされ
る。
This bit is cleared by writing 0, and when BE = 1, the debug interrupt requested to the processor core 20 is also cleared. The BS0 bit is set when the BS0 set signal in the PBS register from the processor bus break circuit is asserted.

【0130】図16に命令/データアドレスブレーク回
路31を示す。命令/データアドレスブレーク回路31
は命令アドレス比較器311、データアドレス比較器3
12、AND回路313、314、315、316から
なる。
FIG. 16 shows the instruction / data address break circuit 31. Instruction / data address break circuit 31
Is an instruction address comparator 311 and a data address comparator 3
12 and AND circuits 313, 314, 315, 316.

【0131】命令アドレス比較器311は、IBC0レ
ジスタのブレークイネーブルBEビットあるいはトリガ
イネーブルTEビットがセットされているならば、プロ
セッサコア20からの命令アドレス有効信号がアサート
されているときに、プロセッサコア20からの命令アド
レス入力とIBA0レジスタに格納したアドレスを比較
する。これらのアドレスが一致したときに、IBSレジ
スタのBS0ビットをセットする信号を出力する。同時
にBEがセットされているときは、AND回路313の
出力がアサートされ、プロセッサコア20へ命令アドレ
スブレークを要求し、TEがセットされているときは、
AND回路314の出力がアサートされ、PCトレース
回路32へ、トレーストリガ出力を要求する。
If the break enable BE bit or the trigger enable TE bit of the IBC0 register is set, the instruction address comparator 311 receives the instruction address valid signal from the processor core 20 and asserts the processor address. The instruction address input from is compared with the address stored in the IBA0 register. When these addresses match, a signal that sets the BS0 bit of the IBS register is output. At the same time when BE is set, the output of the AND circuit 313 is asserted, requesting an instruction address break to the processor core 20, and when TE is set,
The output of the AND circuit 314 is asserted, and the PC trace circuit 32 is requested to output the trace trigger.

【0132】データアドレス比較器312は、DBC0
レジスタのブレークイネーブルBEビットあるいはトリ
ガイネーブルTEビットがセットされているならば、プ
ロセッサコア20からのデータアドレス有効信号がアサ
ートされているときに、プロセッサコア20からのデー
タアドレス入力とDBA0レジスタに格納したアドレス
を比較する。これらのアドレスが一致したときに、DB
SレジスタのBS0ビットをセットする信号を出力す
る。同時にBEがセットされているときは、AND回路
315の出力がアサートされ、プロセッサコア20へデ
ータアドレスブレークを要求し、TEがセットされてい
るときは、AND回路316の出力がアサートされ、P
Cトレース回路32へトレーストリガ出力を要求する。
The data address comparator 312 uses the DBC0
If the break enable BE bit or the trigger enable TE bit of the register is set, the data address input from the processor core 20 and the DBA0 register are stored when the data address valid signal from the processor core 20 is asserted. Compare addresses. When these addresses match, DB
A signal that sets the BS0 bit of the S register is output. At the same time, when BE is set, the output of the AND circuit 315 is asserted, a data address break is requested to the processor core 20, and when TE is set, the output of the AND circuit 316 is asserted and P
Request the trace trigger output to the C trace circuit 32.

【0133】図17にプロセッサバスブレーク回路33
の構成を示す。
FIG. 17 shows the processor bus break circuit 33.
Shows the configuration of.

【0134】プロセッサバスブレーク33は、プロセッ
サバスのバスオペレーションを監視して、レジスタに設
定したアドレスとデータのバスオペレーションが発生す
るとプロセッサコア20へデバッグ割り込みを要求す
る。
The processor bus break 33 monitors the bus operation of the processor bus and requests a debug interrupt to the processor core 20 when the bus operation of the address and data set in the register occurs.

【0135】プロセッサバスブレーク回路33は、プロ
セッサバスアドレス比較器331、マスク付きデータ比
較器332、AND回路333、334、335からな
る。
The processor bus break circuit 33 comprises a processor bus address comparator 331, a masked data comparator 332, and AND circuits 333, 334, 335.

【0136】プロセッサバスアドレス比較器331は、
PBC0レジスタのブレークイネーブルBEあるいはト
リガイネーブルTEがセットされているときに、プロセ
ッサバスのアドレスとPBA0レジスタに設定されてい
るアドレスを比較する。また、PBC0レジスタの、D
SCA、DSUC、DLUC、IFUCビットによっ
て、非キャッシュ領域/キャッシュ領域、データのスト
ア/データのロード/命令のフェッチに対する比較の有
効/無効が指定される。プロセッサバスアドレス比較器
331は、プロセッサバスサイクルにプロセッサコア2
0から出力されるID信号(命令フェッチかデータアク
セスかを示す)、リードRD*信号、ライト信号WR
*、CACHE*により、次の表2に示す動作を行う。
The processor bus address comparator 331 is
When the break enable BE or the trigger enable TE of the PBC0 register is set, the address of the processor bus is compared with the address set in the PBA0 register. In addition, D of the PBC0 register
The SCA, DSUC, DLUC, and IFUC bits specify enable / disable of comparison for non-cache area / cache area, data store / data load / instruction fetch. The processor bus address comparator 331, the processor core 2 in the processor bus cycle.
ID signal output from 0 (indicating instruction fetch or data access), read RD * signal, write signal WR
The operation shown in Table 2 below is performed by * and CACHE *.

【0137】[0137]

【表2】 マスク付きデータ比較器332は、リードバスサイクル
のとき(リード信号RD*=Low)、PBM0レジス
タの0ビットについてのみ、プロセッサバス80のデー
タ入力DIN[31:0]とPBD0レジスタの値を比
較する。また、マスク付きデータ比較器332は、ライ
トバスサイクルのとき(ライト信号WR*=Low)、
PBM0レジスタの0のビットについてのみ、プロセッ
サバス80のデータ出力DOUT[31:0]とPBD
0レジスタの値を比較する。
[Table 2] In the read bus cycle (read signal RD * = Low), the masked data comparator 332 compares the data input DIN [31: 0] of the processor bus 80 with the value of the PBD0 register only for 0 bit of the PBM0 register. . Further, the masked data comparator 332 determines that the write bus cycle (write signal WR * = Low)
Only for the 0 bit of the PBM0 register, the data output DOUT [31: 0] of the processor bus 80 and the PBD
Compare the values in the 0 registers.

【0138】プロセッサバスアドレス比較器331とマ
スク付きデータ比較器332の出力がともにHで、つま
りアドレスとデータの比較がともに一致したとき、AN
D回路333の出力がアサートされ、PBSレジスタの
BS0ビットのセットをレジスタ回路35へ要求する。
このときPBC0のBEがセットされているならば、A
ND回路334の出力がアサートされ、プロセッサコア
20へデバッグ割り込みを要求し、PBC0のTEビッ
トがセットされているならば、AND回路335の出力
がアサートされ、PCトレース回路32へトリガ出力を
要求する。
When the outputs of the processor bus address comparator 331 and the masked data comparator 332 are both H, that is, when the comparison of the address and the data coincides, AN
The output of the D circuit 333 is asserted, requesting the register circuit 35 to set the BS0 bit of the PBS register.
At this time, if BE of PBC0 is set, A
If the output of the ND circuit 334 is asserted, a debug interrupt is requested to the processor core 20, and the TE bit of PBC0 is set, the output of the AND circuit 335 is asserted and the PC trace circuit 32 is requested to output a trigger. .

【0139】図18にシリアルモニタバス回路34を示
す。シリアルモニタバス回路34は、シリアルモニタバ
スコントロール回路341、シリアル出力回路342、
シリアル入力回路343からなる。
FIG. 18 shows the serial monitor bus circuit 34. The serial monitor bus circuit 34 includes a serial monitor bus control circuit 341, a serial output circuit 342,
It comprises a serial input circuit 343.

【0140】シリアルモニタバスコントロール回路34
1は、プロセッサバスからデータ出力DOUT[31:
0]、アドレスA[31:20]、リード信号RD*、
ライト信号WR*、コプロセッサリード信号CPRD
*、コプロセッサライト信号CPWR*、デバッグモー
ド信号DM、クロック供給回路37から分周クロックC
LK2、レジスタ回路35からDCRレジスタのMPビ
ット、外部インターフェース回路36からSDIを入力
する。
Serial monitor bus control circuit 34
1 is a data output from the processor bus DOUT [31:
0], address A [31:20], read signal RD *,
Write signal WR *, coprocessor read signal CPRD
*, Coprocessor write signal CPWR *, debug mode signal DM, divided clock C from clock supply circuit 37
LK2, the MP bit of the DCR register from the register circuit 35, and SDI from the external interface circuit 36.

【0141】また、シリアルモニタバスコントロール回
路341は、プロセッサバスへリード応答信号RDAC
K*、ライト応答信号WRACK*、コプロセッサリー
ド応答信号CPRDACK*、コプロセッサライト応答
信号CPWRACK*を、シリアル出力回路342へシ
リアルモニタバスリード/ライト信号、シリアルモニタ
バスバイトイネーブル信号、シリアルモニタバスデータ
信号、シリアル出力回路342内の出力シフトレジスタ
344のデータロード信号と出力シフト信号を、シリア
ル入力回路343へ入力シフトレジスタ345の入力シ
フト信号、出力バッファ346の出力イネーブル信号を
出力する。シリアルモニタバスリード/ライト信号は、
リードバスオペレーションのときHighレベル、ライ
トバスオペレーションのときにLowレベルになる。
Further, the serial monitor bus control circuit 341 sends the read response signal RDAC to the processor bus.
K *, write response signal WRACK *, coprocessor read response signal CPRDACK *, coprocessor write response signal CPWRACK * to serial output circuit 342, serial monitor bus read / write signal, serial monitor bus byte enable signal, serial monitor bus data The signal, the data load signal and the output shift signal of the output shift register 344 in the serial output circuit 342, the input shift signal of the input shift register 345 and the output enable signal of the output buffer 346 are output to the serial input circuit 343. Serial monitor bus read / write signal is
It becomes High level during read bus operation and Low level during write bus operation.

【0142】シリアル出力回路342は、出力シフトレ
ジスタ344からなる。シリアルモニタバスコントロー
ル回路341のデータロード信号がアサートされると、
LSBからスタートビット(Low固定)と、アドレス
信号A[2]〜A[19]、シリアルモニタバスリード
/ライト信号、シリアルモニタバスバイトイネーブル信
号、シリアルモニタバスデータ信号が出力シフトレジス
タ344へロードされる。出力シフト信号がアサートさ
れると、出力シフトレジスタ344内の値をMSBから
LSBへ1ビットシフトし、MSBにHighを入力す
る。出力シフトレジスタ344のLSBの値がSDAO
に出力される。
The serial output circuit 342 comprises an output shift register 344. When the data load signal of the serial monitor bus control circuit 341 is asserted,
The start bit (fixed to Low), address signals A [2] to A [19], serial monitor bus read / write signal, serial monitor bus byte enable signal, and serial monitor bus data signal are loaded from the LSB to the output shift register 344. It When the output shift signal is asserted, the value in the output shift register 344 is shifted by 1 bit from MSB to LSB, and High is input to MSB. The LSB value of the output shift register 344 is SDAO.
Is output to

【0143】シリアル入力回路343は、入力シフトレ
ジスタ345と出力バッファ346からなる。シリアル
モニタバスコントロール回路341の入力シフト信号が
アサートされると、入力シフトレジスタ345の値をL
SBからMSBへ1ビットシフトし、SDIの値をLS
Bへ入力する。
The serial input circuit 343 comprises an input shift register 345 and an output buffer 346. When the input shift signal of the serial monitor bus control circuit 341 is asserted, the value of the input shift register 345 is set to L.
Shift 1 bit from SB to MSB and change SDI value to LS
Input to B.

【0144】次に、図18に示すシリアルモニタバス回
路34の動作について説明する。
Next, the operation of the serial monitor bus circuit 34 shown in FIG. 18 will be described.

【0145】デバッグモード中に、プロセッサコア20
がアドレス0xFF20_0000〜0xFF2F_F
FFFまでの領域をアクセスする場合と、コプロセッサ
のリード/ライト(CTC0,CFC0)の実行によっ
てコプロセッサバスオペレーションを行う場合、シリア
ルモニタバス回路34を介して、デバッガ60上のメモ
リがアクセスされる。シリアルモニタバスを用いたライ
トオペレーションでは、シリアルモニタバス回路34
は、アドレス、バス制御信号、データをSDAO信号に
1ビットづつシリアルに出力する。リードオペレーショ
ンでは、アドレス、バス制御信号をSDAO信号に出力
し、SDI信号からデータを1ビットづつシリアルに入
力する。
During the debug mode, the processor core 20
Address 0xFF20_0000 to 0xFF2F_F
The memory on the debugger 60 is accessed through the serial monitor bus circuit 34 when the area up to FFF is accessed and when the coprocessor bus operation is performed by executing the read / write (CTC0, CFC0) of the coprocessor. . In the write operation using the serial monitor bus, the serial monitor bus circuit 34
Outputs an address, a bus control signal, and data serially to the SDAO signal bit by bit. In the read operation, the address and bus control signals are output to the SDAO signal, and the data is serially input bit by bit from the SDI signal.

【0146】シリアルモニタバスは、プロセッサコア2
0の動作クロックCLKを2分周したクロックCLK2
で動作する。
The serial monitor bus is the processor core 2
Clock CLK2 obtained by dividing the operating clock CLK of 0 by 2
Works with.

【0147】a)リード/ライトバスオペレーションに
よるアクセス プロセッサコア20は、リードバスオペレーションでは
アクセスするアドレスをA[31:0]へ出力し、RD
*信号をアサートする。リード応答信号RDACK*が
アサートされると、データバス入力DIN[31:0]
からデータをリードしてバスオペレーションを終了す
る。
A) Access by read / write bus operation In the read bus operation, the processor core 20 outputs the address to be accessed to A [31: 0], and RD
* Assert the signal. When the read response signal RDACK * is asserted, the data bus input DIN [31: 0]
The data is read from and the bus operation ends.

【0148】プロセッサコア20は、ライトバスオペレ
ーションでは、アクセスするアドレスをA[31:0]
へ、データをデータバス出力DOUT[31:0]へ出
力し、WR*信号をアサートする。ライト応答信号WR
ACK*がアサートされるとバスオペレーションを終了
する。
In the write bus operation, the processor core 20 sets the address to be accessed to A [31: 0].
To the data bus output DOUT [31: 0] and assert the WR * signal. Write response signal WR
The bus operation ends when ACK * is asserted.

【0149】デバッグモード中にプロセッサコア20が
下記モニタ領域に対してバスオペレーションを実行する
と、シリアルモニタバス回路34を介してデバッガ60
がアクセスされる。
When the processor core 20 executes the bus operation for the following monitor area in the debug mode, the debugger 60 is executed via the serial monitor bus circuit 34.
Is accessed.

【0150】 アドレス 0xFF20_0000〜0xFF2F_FFFFまでの 1M bytes (A[31:20])=1111_1111_0010 (0:Low、1:Highレベル) ライトバスオペレーションは、例えばメモリへデータを
ライトするストア命令(SW命令)を用いる。以下に、
ストア命令の例を示す。
Addresses 0xFF20_0000 to 0xFF2F_FFFF 1M bytes (A [31:20]) = 1111_1111_0010 (0: Low, 1: High level) In the write bus operation, for example, a store instruction (SW instruction) for writing data to the memory is issued. To use. less than,
An example of a store instruction is shown.

【0151】 sw r8 0x0004(r9) この例では、16ビットのオフセト値0x0004と汎
用レジスタr9を加えた値がメモリアドレスとなる。シ
ルアルモニタバスのモニタ領域へアクセスするためには
汎用レジスタの値を、予め0xFF20 0000〜0
xFF2F 0000に設定しなければならない。
Sw r8 0x0004 (r9) In this example, the value obtained by adding the 16-bit offset value 0x0004 and the general-purpose register r9 is the memory address. To access the monitor area of the serial monitor bus, set the value of the general-purpose register in advance to 0xFF20. 0000-0
xFF2F Must be set to 0000.

【0152】シリアルモニタバス回路34は、シリアル
モニタバスのSDAO信号にバスサイクルの信号を1ク
ロックづつ出力する。プロセッサバスのアドレスA[1
9:2]を下位から出力し、次に、リードのときはHi
ghレベル、ライトのときはLowレベルを出力する。
次に、バイトイネーブルBE[3:0]*を下位から出
力する。リードの場合はSDI信号から32ビットのデ
ータを入力し、プロセッサバスのデータ入力信号DIN
[31:0]にその値を出力する。また、ライトのとき
は、プロセッサバスのデータ出力DOUT[31:0]
の値をSDAO信号に出力する。
The serial monitor bus circuit 34 outputs a bus cycle signal to the SDAO signal of the serial monitor bus every clock. Processor bus address A [1
9: 2] is output from the lower order, and next, when reading, Hi is output.
It outputs gh level and Low level when writing.
Next, the byte enable BE [3: 0] * is output from the lower order. In the case of read, input 32-bit data from the SDI signal, and input data DIN signal of the processor bus
The value is output at [31: 0]. When writing, data output DOUT [31: 0] of the processor bus.
The value of is output to the SDAO signal.

【0153】シリアルモニタバスに出力するアドレスは
プロセッサコア20のアドレス信号A[19:2]の1
8ビットであり、1Mバイトのメモリ空間をアクセスで
きる。
The address output to the serial monitor bus is 1 of the address signal A [19: 2] of the processor core 20.
It has 8 bits and can access a 1 Mbyte memory space.

【0154】プロセッサコア20のバイトイネーブル信
号BE[3:0]をシリアルモニタバスへ出力するの
で、バイト、ハーフワード、3バイトのアクセスも可能
である。ただし、シリアルバスでは、バイト、ハーフワ
ード、3バイトアクセスの場合も、32ビット分のデー
タ(D[31:0])を転送する。1バイト、ハーフワ
ード、3バイトのライトのとき、BE[3:0]*がイ
ンアクティブなバイト位置のデータ出力は不定であり、
リードのときはインアクティブなバイト位置のデータ
は、プロセッサコア20で無視され、リードされない。
Since the byte enable signals BE [3: 0] of the processor core 20 are output to the serial monitor bus, it is possible to access bytes, halfwords and 3 bytes. However, in the serial bus, 32-bit data (D [31: 0]) is transferred even in the case of byte, halfword, and 3-byte access. When writing 1 byte, half word, and 3 bytes, the data output at the byte position where BE [3: 0] * is inactive is undefined,
When reading, the data at the inactive byte position is ignored by the processor core 20 and is not read.

【0155】デバッグモード中であっても、モニタ領域
のプロテクトが設定されている(DCRレジスタのMP
=1)と、FF20_0000〜FF2F_FFFFへ
のライトは無視される。このときは、シリアルモニタバ
ス回路34はプロセッサコア20へWRACK*のみを
返し、バスオペレーションを終了させる。
Even in the debug mode, the protection of the monitor area is set (MPR of the DCR register is set).
= 1), writes to FF20_0000 to FF2F_FFFF are ignored. At this time, the serial monitor bus circuit 34 returns only WRACK * to the processor core 20 and ends the bus operation.

【0156】デバッグモード中のFF20_0000〜
FF2F_FFFFからのリードでは、MPビットの値
に関係なく、シリアルモニタバスから正しいデータがリ
ードされる。
FF20_0000 in debug mode
When reading from FF2F_FFFF, correct data is read from the serial monitor bus regardless of the value of the MP bit.

【0157】ノーマルモード中は、モニタ領域FF20
_0000〜FF2F_FFFFへのライトも無視さ
れ、リードは結果が不定となる。このときは、シリアル
モニタバス回路34は、プロセッサコア20へWRAC
K*あるいはRDACK*を返し、バスオペレーション
のみを終了する。
In the normal mode, the monitor area FF20
Writes to _0000 to FF2F_FFFF are also ignored, and the result of reading is undefined. At this time, the serial monitor bus circuit 34 sends the WRAC to the processor core 20.
K * or RDACK * is returned and only bus operation is completed.

【0158】b)コプロセッサバスオペレーションによ
るアクセス(CTC0/CFC0)プロセッサコア20
は、CFC0が実行されると、コプロセッサのリードバ
スオペレーションを、CTC0命令が実行されるとコプ
ロセッサのライトバスオペレーションを実行する。コプ
ロセッサバスオペレーションでは、プロセッサバスのア
ドレスA[31:0]に下記のCFC0、CTC0命令
がそのまま、出力される。
B) Access by coprocessor bus operation (CTC0 / CFC0) Processor core 20
Executes the read bus operation of the coprocessor when CFC0 is executed and the write bus operation of the coprocessor when the CTC0 instruction is executed. In the coprocessor bus operation, the following CFC0 and CTC0 instructions are output as they are to the address A [31: 0] of the processor bus.

【0159】 A[31:0] COP0 CT rt rd 0 A[31:0] COP0 CF rt rd 0 CFC0(0:Low、1:Highレベル) rt:汎用レジスタ rd:コプロセッサの制御レジスタ(シリアルモニタバスのときは意味は ない。)A [31: 0] COP0 CT rt rd 0 A [31: 0] COP0 CF rt rd 0 CFC0 (0: Low, 1: High level) rt: General-purpose register rd: Coprocessor control register (serial monitor) It doesn't make sense on a bus.)

【0160】また、プロセッサコア20は、コプロセッ
サリードオペレーションでは、CPRD*信号をアサー
トし、コプロセッサリード応答信号CPRDACK*が
アサートされると、データバス入力DIN[31:0]
からデータをリードしてバスオペレーションを終了す
る。
Further, the processor core 20 asserts the CPRD * signal in the coprocessor read operation, and when the coprocessor read response signal CPRDACK * is asserted, the data bus input DIN [31: 0].
The data is read from and the bus operation ends.

【0161】プロセッサコア20は、コプロセッサライ
トオペレーションではCPWR*信号をアサートし、デ
ータバス出力DOUT[31:0]にプロセッサコアの
汎用レジスタの値を出力する。コプロセッサライト応答
信号CPWRACK*がアサートされるとバスオペレー
ションを終了する。
In the coprocessor write operation, the processor core 20 asserts the CPWR * signal and outputs the value of the general-purpose register of the processor core to the data bus output DOUT [31: 0]. When the coprocessor write response signal CPWRACK * is asserted, the bus operation ends.

【0162】プロセッサコア20がCTC0、CFC0
命令のコプロセッサバスオペレーションを実行すると、
シリアルモニタバスを介してデバッガ60がアクセスさ
れる。
The processor core 20 uses CTC0 and CFC0.
When you execute a coprocessor bus operation of instructions,
The debugger 60 is accessed via the serial monitor bus.

【0163】シリアルモニタバス回路34は、シリアル
モニタバスのSDAO信号にバスサイクルの信号を1ク
ロックづつ出力する。プロセッサコア20のアドレス信
号A[19:2]を下位から出力し、次にコプロセッサ
リードのときはHigh、コプロセッサライトのときは
Lowを出力する。シリアルモニタバスのバイトイネー
ブル信号としては、プロセッサバスのBE[3:0]*
とは無関係に4クロック間Lowを出力する。従って、
CTC0、CFC0命令のコプロセッサバスオペレーシ
ョンは必ず4バイト単位での転送になる。
The serial monitor bus circuit 34 outputs a bus cycle signal to the SDAO signal of the serial monitor bus for each clock. The address signal A [19: 2] of the processor core 20 is output from the lower order, and High is output next for coprocessor read, and Low is output for coprocessor write. The byte enable signal of the serial monitor bus is BE [3: 0] * of the processor bus.
It outputs Low for 4 clocks regardless of. Therefore,
Coprocessor bus operations of CTC0 and CFC0 instructions are always transferred in 4-byte units.

【0164】CFC0命令の場合はSDI信号から32
ビットのデータを入力し、プロセッサバスのデータ入力
信号DIN[31:0]にその値を出力する。また、C
TC0命令のときは、プロセッサバスのデータ出力DO
UT[31:0]の値をSDAO信号に出力する。
In the case of the CFC0 instruction, 32 from the SDI signal
Bit data is input and the value is output to the data input signal DIN [31: 0] of the processor bus. Also, C
For TC0 instruction, data output DO of processor bus
The value of UT [31: 0] is output to the SDAO signal.

【0165】デバッグモード中であれば、モニタ領域の
プロテクト(DCRレジスタのMPビットの値)とは無
関係に、CTC0によるシリアルモニタバスのライトバ
スオペレーションは実行される。また、CFC0による
シリアルモニタバスのリードオペレーションも実行され
る。
In the debug mode, the write bus operation of the serial monitor bus by CTC0 is executed regardless of the protection of the monitor area (the value of the MP bit of the DCR register). Further, the read operation of the serial monitor bus by CFC0 is also executed.

【0166】ノーマルモード中のCTC0によるライト
は無視され、CFC0によるリードの結果は不定とな
る。デバッグモジュールは、プロセッサコア20へCP
RDACK*,CPWRACK*のみをプロセッサコア
20に返し、バスオペレーションを終了させる。
Writing by CTC0 in the normal mode is ignored, and the result of reading by CFC0 is undefined. The debug module sends CP to the processor core 20.
Only RDACK * and CPWRACK * are returned to the processor core 20, and the bus operation ends.

【0167】以下に、シリアルモニタバスオペレーショ
ンのタイミング図を示す。 a)シリアルモニタバスのリードバスオペレーション 図19にシリアルモニタバスのリードバスオペレーショ
ンのタイミング図を示す。
The following is a timing diagram for serial monitor bus operation. a) Read bus operation of serial monitor bus FIG. 19 shows a timing chart of read bus operation of the serial monitor bus.

【0168】(1)プロセッサコア20がアドレス0x
FF20_0000〜0xFF2F_FFFF(A[3
1:20]=1111_1111_0010)の領域に
対するリードバスオペレーションを開始する(サイクル
1)。プロセッサコア20は、A[31:0]にアクセ
スするアドレスを出力し、RD*をアサートする。リー
ドするバイト位置のバイトイネーブル信号BE[3:
0]をアサートする。
(1) Processor core 20 has address 0x
FF20_0000 to 0xFF2F_FFFF (A [3
1:20] = 1111_1111_0010) The read bus operation for the area is started (cycle 1). The processor core 20 outputs the address for accessing A [31: 0] and asserts RD *. The byte enable signal BE [3: at the byte position to be read
0] is asserted.

【0169】(2)シリアルモニタバス回路34は、モ
ニタ領域へのリードバスオペレーションの開始を認識す
ると、SDAO信号にコアクロックCLKを分周したC
LK2信号の1クロック間Lowレベルを出力する(サ
イクル2)。
(2) When the serial monitor bus circuit 34 recognizes the start of the read bus operation to the monitor area, the serial clock bus circuit 34 divides the core clock CLK into C by dividing the core clock CLK into the SDAO signal.
The LK2 signal outputs a low level for one clock (cycle 2).

【0170】(3)シリアルモニタバス回路34は、プ
ロセッサコア20のリードバスオペレーションで出力さ
れた、アドレスA[2]〜A[19],High(リー
ドを示す),BE[0]*〜BE[3]*を、SDAO
信号にCLK2の1クロック間づつ出力する(サイクル
3〜25)。
(3) The serial monitor bus circuit 34 outputs the addresses A [2] to A [19], High (indicating read), BE [0] * to BE output by the read bus operation of the processor core 20. [3] * to SDAO
The signal is output every one clock of CLK2 (cycles 3 to 25).

【0171】(4)デバッガ60は、データを出力する
前に1クロック間SDI信号にLowを出力する(サイ
クルn)。シリアルモニタバス回路34は、SDIにL
owを検出すると、次のサイクルよりデータD[0]〜
D[31]を1クロックごとに読み込む(サイクルn+
1〜n+32)。
(4) The debugger 60 outputs Low to the SDI signal for one clock before outputting data (cycle n). The serial monitor bus circuit 34 goes low on SDI.
When ow is detected, data D [0]
D [31] is read every clock (cycle n +
1-n + 32).

【0172】(5)シリアルモニタバス回路34は、プ
ロセッサコア20のリードバスの応答信号RDACK*
をアサートし、データバスDIN[31:0]へ読み込
んだ32ビットのデータD[31:0]を出力する(サ
イクルn+33)。
(5) The serial monitor bus circuit 34 uses the read bus response signal RDACK * of the processor core 20.
And outputs the read 32-bit data D [31: 0] to the data bus DIN [31: 0] (cycle n + 33).

【0173】(6)プロセッサコア20は、データバス
DIN[31:0]上のデータを読み込み、リードバス
オペレーションを終了する(サイクルn+33)。
(6) The processor core 20 reads the data on the data bus DIN [31: 0] and ends the read bus operation (cycle n + 33).

【0174】b)シリアルモニタバスのライトバスオペ
レーション図20にシリアルモニタバスのライトバスオ
ペレーションのタイミング図を示す。
B) Write Bus Operation of Serial Monitor Bus FIG. 20 shows a timing diagram of write bus operation of the serial monitor bus.

【0175】(1)プロセッサコア20がアドレス0x
FF20_0000〜0xFF2F_FFFF(A[3
1:20]=1111_1111_0010)の領域に
対するライトバスオペレーションを開始する(サイクル
1)。プロセッサコア20は、A[31:0]にアクセ
スするアドレスを出力し、WR*をアサートする。ライ
トするバイト位置のバイトイネーブル信号BE[3:
0]をアサートする。
(1) Processor core 20 has address 0x
FF20_0000 to 0xFF2F_FFFF (A [3
1:20] = 1111_1111_0010) The write bus operation for the area is started (cycle 1). The processor core 20 outputs the address for accessing A [31: 0] and asserts WR *. The byte enable signal BE [3: at the byte position to be written
0] is asserted.

【0176】(2)シリアルモニタバス回路34は、モ
ニタ領域へのライトバスオペレーションの開始を認識す
ると、SDAO信号にコアクロックCLKを分周したC
LK2信号の1クロック間Lowレベルを出力する(サ
イクル2)。
(2) When the serial monitor bus circuit 34 recognizes the start of the write bus operation to the monitor area, it divides the core clock CLK into the SDAO signal and divides it by C.
The LK2 signal outputs a low level for one clock (cycle 2).

【0177】(3)シリアルモニタバス回路34は、プ
ロセッサコア20のライトバスオペレーションで出力さ
れた、アドレスA[2]〜A[19],Low(ライト
を示す),BE[0]*〜BE[3]*ライトデータ出
力DOUT[0]〜DOUT[31]を、SDAO信号
にCLK2の1クロック間づつ出力する(サイクル3〜
57)。
(3) The serial monitor bus circuit 34 outputs the addresses A [2] to A [19], Low (indicating writing), BE [0] * to BE output by the write bus operation of the processor core 20. [3] * Write data outputs DOUT [0] to DOUT [31] are output to the SDAO signal every one clock of CLK2 (cycles 3 to
57).

【0178】(4)デバッガ60は、データのライトを
終了すると、1クロック間SDI信号にLowを出力す
る(サイクルn)。
(4) The debugger 60 outputs Low for the SDI signal for one clock when the data write is completed (cycle n).

【0179】(5)シリアルモニタバス回路34は、S
DIにLowを検出すると、プロセッサコア20のライ
トバスの応答信号WRACK*をアサートする(サイク
ルn+1)。
(5) The serial monitor bus circuit 34 uses the S
When Low is detected in DI, the response signal WRACK * of the write bus of the processor core 20 is asserted (cycle n + 1).

【0180】(6)プロセッサコア20は、ライトバス
オペレーションを終了する(サイクルn+1)。
(6) The processor core 20 ends the write bus operation (cycle n + 1).

【0181】c)CFC0命令によるリードバスオペレ
ーション 図21にCFC0命令によるリードバスオペレーション
のタイミングを示す。
C) Read bus operation by CFC0 instruction FIG. 21 shows the timing of the read bus operation by the CFC0 instruction.

【0182】(1)プロセッサコア20がCFC0命令
によってコプロセッサリードバスオペレーションを開始
すると、プロセッサバスのアドレスにA[31:21]
=0100_0000_010を出力し、CPRD*を
アサートする(サイクル1)。
(1) When the processor core 20 starts the coprocessor read bus operation by the CFC0 instruction, A [31:21] is set to the address of the processor bus.
= 0100 — 0000 — 010 is output and CPRD * is asserted (cycle 1).

【0183】(2)シリアルモニタバス回路34は、モ
ニタ領域へのリードバスオペレーションの開始を認識す
ると、SDAO信号にコアクロックCLKを分周したC
LK2信号の1クロック間Lowレベルを出力する(サ
イクル2)。
(2) When the serial monitor bus circuit 34 recognizes the start of the read bus operation to the monitor area, it divides the core clock CLK into the SDAO signal and divides it by C.
The LK2 signal outputs a low level for one clock (cycle 2).

【0184】(3)シリアルモニタバス回路34は、プ
ロセッサコア20のコプロセッサリードバスオペレーシ
ョンで出力された、アドレスA[2]〜A[19]をS
DAO信号にCLK2の1クロック間づつ出力する(サ
イクル3〜20)。次に、リードオペレーションを示す
ため1クロック間Highを出力する(サイクル2
1)。次に、プロセッサバスのバイトイネーブル信号と
は関係なく、4クロック間だけLowを出力する(サイ
クル22〜25)。
(3) The serial monitor bus circuit 34 outputs the addresses A [2] to A [19] output from the coprocessor read bus operation of the processor core 20 to S.
The DAO signal is output for one clock of CLK2 (cycles 3 to 20). Next, High is output for one clock to indicate the read operation (cycle 2
1). Next, regardless of the byte enable signal of the processor bus, Low is output only for 4 clocks (cycles 22 to 25).

【0185】(4)デバッガ60は、データを出力する
前に1クロック間SDI信号にLowを出力する(サイ
クルn)。シリアルモニタバス回路34は、SDIにL
owを検出すると、次のサイクルよりデータD[0]〜
D[31]を1クロックごとに読み込む(サイクルn+
1〜n+32)。
(4) The debugger 60 outputs Low for the SDI signal for one clock before outputting data (cycle n). The serial monitor bus circuit 34 goes low on SDI.
When ow is detected, data D [0]
D [31] is read every clock (cycle n +
1-n + 32).

【0186】(5)シリアルモニタバス回路34は、プ
ロセッサコア20のコプロセッサリードの応答信号CP
RDACK*をアサートし、データバスDIN[31:
0]へ読み込んだ32ビットのデータD[31:0]を
出力する(サイクルn+33)。
(5) The serial monitor bus circuit 34 uses the response signal CP of the coprocessor read of the processor core 20.
Asserts RDACK * and sets data bus DIN [31:
The 32-bit data D [31: 0] read to 0] is output (cycle n + 33).

【0187】(6)プロセッサコア20は、データバス
DIN[31:0]上のデータを読み込み、コプロセッ
サリードバスオペレーションを終了する(サイクルn+
33)。
(6) The processor core 20 reads the data on the data bus DIN [31: 0] and ends the coprocessor read bus operation (cycle n +
33).

【0188】d)CTC0命令によるライトバスオペレ
ーション 図22にCTC0命令によるライトバスオペレーション
のタイミングを示す。
D) Write Bus Operation by CTC0 Instruction FIG. 22 shows the timing of the write bus operation by the CTC0 instruction.

【0189】(1)プロセッサコア20がCTC0命令
によってコプロセッサライトバスオペレーションを開始
すると、プロセッサバスのアドレスA[31:21]=
0100_0000_110を出力し、CPWR*をア
サートする(サイクル1)。
(1) When the processor core 20 starts the coprocessor write bus operation by the CTC0 instruction, the processor bus address A [31:21] =
It outputs 0100_0000_110 and asserts CPWR * (cycle 1).

【0190】(2)シリアルモニタバス回路34は、モ
ニタ領域へのライトバスオペレーションの開始を認識す
ると、SDAO信号にコアクロックCLKを分周したC
LK2信号の1クロック間Lowレベルを出力する(サ
イクル2)。
(2) When the serial monitor bus circuit 34 recognizes the start of the write bus operation to the monitor area, it divides the core clock CLK into the SDAO signal and divides it by C.
The LK2 signal outputs a low level for one clock (cycle 2).

【0191】(3)シリアルモニタバス回路34は、プ
ロセッサコア20のコプロセッサライトバスオペレーシ
ョンで出力された、アドレスA[2]〜A[19]をS
DAO信号にCLK2の1クロック間づつ出力する(サ
イクル3〜20)。次に、ライトオペレーションを示す
ため1クロック間Lowを出力する(サイクル21)。
次に、プロセッサバスのバイトイネーブル信号とは関係
なく、SDAO信号へ4クロック間だけLowを出力す
る(サイクル22〜25)。さらに、SDAOへデータ
バス出力DOUT[0]〜DOUT[31]の値を1ク
ロック間づつ出力する(サイクル26〜57)。
(3) The serial monitor bus circuit 34 outputs the addresses A [2] to A [19] output by the coprocessor write bus operation of the processor core 20 to S.
The DAO signal is output for one clock of CLK2 (cycles 3 to 20). Next, Low is output for one clock to indicate the write operation (cycle 21).
Next, regardless of the byte enable signal of the processor bus, Low is output to the SDAO signal only for 4 clocks (cycles 22 to 25). Further, the values of the data bus outputs DOUT [0] to DOUT [31] are output to SDAO every one clock (cycles 26 to 57).

【0192】(4)デバッガ60は、データのライトを
終了すると、1クロック間SDI信号にLowを出力す
る(サイクルn)。
(4) The debugger 60 outputs Low for the SDI signal for one clock when the data write is completed (cycle n).

【0193】(5)シリアルモニタバス回路34は、S
DIにLowを検出すると、プロセッサコア20のコプ
ロセッサライトバスの応答信号CPWRACK*をアサ
ートする(サイクルn+1)。
(5) The serial monitor bus circuit 34 uses the S
When Low is detected in DI, the response signal CPWRACK * of the coprocessor write bus of the processor core 20 is asserted (cycle n + 1).

【0194】(6)プロセッサコア20は、コプロセッ
サライトバスオペレーションを終了する(サイクルn+
1)。
(6) The processor core 20 ends the coprocessor write bus operation (cycle n +
1).

【0195】図23にシリアルモニタバスコントロール
回路341の動作のフローチャートを示す。
FIG. 23 shows a flowchart of the operation of the serial monitor bus control circuit 341.

【0196】シリアルモニタバスコントロール回路34
1は、プロセッサバスのバスオペレーションを監視して
いる。
Serial monitor bus control circuit 34
1 monitors the bus operation of the processor bus.

【0197】(1)モニタ領域(アドレスA[31:2
0]=0xFF2)のリードバスオペレーション(RD
*=アサート(Low))でデバッグモードのとき(D
M信号=High)、シリアルモニタバスのリードバス
オペレーションを開始する(ステップS120,S12
4,S125)。
(1) Monitor area (address A [31: 2
0] = 0xFF2) read bus operation (RD
* = Assert (Low) in debug mode (D
M signal = High, the read bus operation of the serial monitor bus is started (steps S120 and S12).
4, S125).

【0198】(2)モニタ領域(アドレスA[31:2
0]=0xFF2)のリードバスオペレーション(RD
*=アサート(Low))で、デバッグモードでないと
き(DM信号=Low)のときは、プロセッサコア20
のRDACK*をアサートしてバスオペレーションを終
了させる(ステップS120,S124,S132,S
133)。
(2) Monitor area (address A [31: 2
0] = 0xFF2) read bus operation (RD
* = Assert (Low)) and when not in the debug mode (DM signal = Low), the processor core 20
RDACK * is asserted to end the bus operation (steps S120, S124, S132, S
133).

【0199】(3)モニタ領域(アドレスA[31:2
0]=0xFF2)のライトバスオペレーション(WR
*=アサート(Low))で、デバッグモード(DM信
号=High)かつライトが可能(DCRレジスタのM
Pビット=0)のとき、シリアルモニタバスのライトバ
スオペレーションを開始する(ステップS120,S1
21,S126,S127)。
(3) Monitor area (address A [31: 2
0] = 0xFF2) write bus operation (WR
* = Assertion (Low), debug mode (DM signal = High) and writing is possible (M in DCR register)
When P bit = 0, the write bus operation of the serial monitor bus is started (steps S120 and S1).
21, S126, S127).

【0200】(4)モニタ領域(アドレスA[31:2
0]=0xFF2)のライトバスオペレーション(WR
*=アサート(Low))で、デバッグモードでないと
き(DM信号=Low)のとき、あるいはライトがプロ
テクトされている(DCRレジスタのMPビット=1)
のときは、プロセッサコア20のWRACK*をアサー
トしてバスオペレーションを終了される(ステップS1
20,S121,S126,S134,S135)。
(4) Monitor area (address A [31: 2
0] = 0xFF2) write bus operation (WR
* = Assert (Low)) and not in debug mode (DM signal = Low), or write protected (MP bit of DCR register = 1)
If so, WRACK * of the processor core 20 is asserted to end the bus operation (step S1).
20, S121, S126, S134, S135).

【0201】(5)CFC0命令(アドレスA[31:
21]=0100_0000_010)のコプロセッサ
リードバスオペレーション(CPRD*=アサート(L
ow))でデバッグモードのとき(DM信号=Hig
h)、シリアルモニタバスのコプロセッサリードバスオ
ペレーションを開始する(ステップS120,S12
1,S122,S128,S129)。
(5) CFC0 instruction (address A [31:
21] = 0100_0000_010) coprocessor read bus operation (CPRD * = assert (L
ow)) in debug mode (DM signal = High)
h), the coprocessor read bus operation of the serial monitor bus is started (steps S120 and S12).
1, S122, S128, S129).

【0202】(6)CFC0命令(アドレスA[31:
21]=0100_0000_010)のコプロセッサ
リードバスオペレーション(CPRD*=アサート(L
ow))で、デバッグモードでないとき(DM信号=L
ow)のときは、プロセッサコア20のCPRDACK
*をアサートし、バスオペレーションを終了させる(ス
テップS120,S121,S122,S128,S1
36,S137)。
(6) CFC0 instruction (address A [31:
21] = 0100_0000_010) coprocessor read bus operation (CPRD * = assert (L
ow)) and not in the debug mode (DM signal = L
ow), CPRDACK of the processor core 20
Assert * to end the bus operation (steps S120, S121, S122, S128, S1
36, S137).

【0203】(7)CTC0命令(アドレスA[31:
21]=0100_0000_110)のコプロセッサ
ライトバスオペレーション(CPWR*=アサート(L
ow))でデバッグモードのとき(DM信号=Hig
h)、シリアルモニタバスのコプロセッサリードバスオ
ペレーションを開始する(ステップS120,S12
1,S122,S123,S130,S131)。
(7) CTC0 instruction (address A [31:
21] = 0100_0000_110) coprocessor write bus operation (CPWR * = assert (L
ow)) in debug mode (DM signal = High)
h), the coprocessor read bus operation of the serial monitor bus is started (steps S120 and S12).
1, S122, S123, S130, S131).

【0204】(8)CTC0命令(アドレスA[31:
21]=0100_0000_110)のコプロセッサ
ライトバスオペレーション(CPWR*=アサート(L
ow))で、デバッグモードでないとき(DM信号=L
ow)のときは、プロセッサコア20のCPWRACK
*をアサートし、バスオペレーションを終了する(ステ
ップS120,S121,S122,S123,S13
8,S139)。
(8) CTC0 instruction (address A [31:
21] = 0100_0000_110) coprocessor write bus operation (CPWR * = assert (L
ow)) and not in the debug mode (DM signal = L
ow), CPWRACK of the processor core 20
Assert * to end the bus operation (steps S120, S121, S122, S123, S13
8, S139).

【0205】図24にシリアルモニタバスのリードバス
オペレーションでのシリアルモニタバス回路34の動作
のフローチャートを示す。
FIG. 24 shows a flowchart of the operation of the serial monitor bus circuit 34 in the read bus operation of the serial monitor bus.

【0206】シリアルモニタバスコントロール回路34
1は、リードバスオペレーションのときは、シリアルモ
ニタバスリード/ライト信号にHighレベル、シリア
ルモニタバスバイトイネーブル信号にプロセッサバスの
BE[3:0]を、シリアルモニタバスデータ信号にす
べてHighを出力し、データロード信号をアサートす
る(サイクル1)。
Serial monitor bus control circuit 34
In the read bus operation, 1 outputs High level to the serial monitor bus read / write signal, BE [3: 0] of the processor bus to the serial monitor bus byte enable signal, and High to all serial monitor bus data signals. , Assert the data load signal (cycle 1).

【0207】CFC0命令によるコプロセッサリードバ
スオペレーションのときは、シリアルモニタバスコント
ロール回路341は、シリアルモニタバスリード/ライ
ト信号にHighレベル、シリアルモニタバスのバイト
イネーブル信号にすべてLowを、シリアルモニタバス
データ信号にすべてHighを出力し、データロード信
号をアサートする。これらの値とLSBにLowレベル
が、シフトレジスタ344にラッチされる。
During the coprocessor read bus operation by the CFC0 instruction, the serial monitor bus control circuit 341 sets the serial monitor bus read / write signal to High level, the byte enable signal of the serial monitor bus to Low, and the serial monitor bus data. All signals are output as High, and the data load signal is asserted. The low level of these values and LSB is latched in the shift register 344.

【0208】次に、SBAO信号にLowレベルが出力
される。シリアルモニタバスコントロール回路341
は、出力シフト信号をアサートする(サイクル2)。
Next, a low level is output to the SBAO signal. Serial monitor bus control circuit 341
Asserts the output shift signal (cycle 2).

【0209】次に、シリアルモニタバスコントロール回
路341は、出力シフト信号をアサートする。SDAO
信号にサイクル1で出力シフトレジスタ344にラッチ
した値が毎クロックごと出力される(サイクル3〜2
5)。
Next, the serial monitor bus control circuit 341 asserts the output shift signal. SDAO
The signal latched in the output shift register 344 in cycle 1 is output every clock (cycles 3 to 2).
5).

【0210】次に、シリアルモニタバスコントロール回
路341は、SDI入力信号がLowにアサートされる
のを待つ(サイクル26〜n)。
Next, the serial monitor bus control circuit 341 waits for the SDI input signal to be asserted Low (cycles 26 to n).

【0211】次に、シリアルモニタバスコントロール回
路341は、シリアル入力回路343の入力シフト信号
をアサートし、SDI入力信号の値をデータ入力D
[0]−D[31]として、入力シフトレジスタ345
に入力する(サイクルn+1〜n+32)。
Next, the serial monitor bus control circuit 341 asserts the input shift signal of the serial input circuit 343 and sets the value of the SDI input signal to the data input D.
[0] -D [31] as the input shift register 345
(Cycles n + 1 to n + 32).

【0212】次に、シリアルモニタバスコントロール回
路341は、リードバスオペレーションのときは、プロ
セッサバスのリード応答信号RDACK*をアサートす
る。コプロセッサリードバスオペレーションのときは、
コプロセッサリード応答信号CPRDACK*をアサー
トする。シリアル入力回路343の出力イネーブル信号
をアサートする。データバス入力信号DIN[31:
0]に、入力シフトレジスタ345のデータD[31:
0]が出力される(サイクルn+33)。
Next, the serial monitor bus control circuit 341 asserts the read response signal RDACK * of the processor bus during the read bus operation. During coprocessor read bus operation,
Assert the coprocessor read response signal CPRDACK *. The output enable signal of the serial input circuit 343 is asserted. Data bus input signal DIN [31:
0] to the data D [31: of the input shift register 345.
0] is output (cycle n + 33).

【0213】図25にシリアルモニタバスのライトバス
オペレーションでのシリアルモニタバス回路の動作のフ
ローチャートを示す。
FIG. 25 shows a flowchart of the operation of the serial monitor bus circuit in the write bus operation of the serial monitor bus.

【0214】まず、シリアルモニタバスコントロール回
路341は、ライトバスオペレーションのときは、シリ
アルモニタバスリード/ライト信号にLowレベル、シ
リアルモニタバスバイトイネーブル信号にプロセッサバ
スのBE[3:0]を、シリアルモニタバスデータ信号
にデータ出力DOUT[31:0]を出力し、データロ
ード信号をアサートする。
First, during the write bus operation, the serial monitor bus control circuit 341 serially sets the serial monitor bus read / write signal to Low level and the serial monitor bus byte enable signal to BE [3: 0] of the processor bus. The data output DOUT [31: 0] is output to the monitor bus data signal, and the data load signal is asserted.

【0215】CTC0命令によるコプロセッサライトバ
スオペレーションのときは、シリアルモニタバスコント
ロール回路341は、シリアルモニタバスリード/ライ
ト信号にLowレベル、シリアルモニタバスバイトイネ
ーブル信号に4ビットのLowレベルを、シリアルモニ
タバスデータ信号にデータ出力DOUT[31:0]を
出力し、データロード信号をアサートする。これらの値
とLSBにLowレベルが出力シフトレジスタ344に
ラッチされる(サイクル1)。
During the coprocessor write bus operation by the CTC0 instruction, the serial monitor bus control circuit 341 sets the serial monitor bus read / write signal to the low level and the serial monitor bus byte enable signal to the 4-bit low level, and then performs serial monitor. The data output DOUT [31: 0] is output to the bus data signal and the data load signal is asserted. The low level of these values and the LSB is latched by the output shift register 344 (cycle 1).

【0216】次に、SDAO信号にLowレベルが出力
される。シリアルモニタバスコントロール回路341
は、出力シフト信号をアサートする(サイクル2)。
Next, a low level is output to the SDAO signal. Serial monitor bus control circuit 341
Asserts the output shift signal (cycle 2).

【0217】次に、シリアルモニタバスコントロール回
路341は、出力シフト信号をアサートする。SDAO
信号に出力シフトレジスタ344にサイクル1でラッチ
した値が毎クロックごと出力される(サイクル3〜5
7)。
Next, the serial monitor bus control circuit 341 asserts the output shift signal. SDAO
Output to signal The value latched in cycle 1 is output to the shift register 344 every clock (cycles 3 to 5).
7).

【0218】次に、シリアルモニタバスコントロール回
路341は、SDI入力信号がLowにアサートされる
のを待つ(サイクル58〜n)。
Next, the serial monitor bus control circuit 341 waits for the SDI input signal to be asserted Low (cycles 58 to n).

【0219】次に、シリアルモニタバスコントロール回
路341は、ライトバスオペレーションのときはプロセ
ッサバスのライト応答信号WRACK*をアサートす
る。コプロセッサバスオペレーションのときは、コプロ
セッサライト応答信号CPWRACK*をアサートする
(サイクルn+1)。
Next, the serial monitor bus control circuit 341 asserts the write response signal WRACK * of the processor bus during the write bus operation. In the coprocessor bus operation, the coprocessor write response signal CPWRACK * is asserted (cycle n + 1).

【0220】次に、PCトレース回路32について説明
する。
Next, the PC trace circuit 32 will be described.

【0221】ここで、インダイレクトジャンプ、ダイレ
クトジャンプ、分岐を以下のように定義します。
Here, the indirect jump, direct jump, and branch are defined as follows.

【0222】・インダイレクトジャンプ:レジスタやメ
モリに格納されている値をジャンプ先アドレスとするな
ど、ジャンプ先がその命令自体では特定できないジャン
プをする。
Indirect jump: A jump in which the jump destination cannot be specified by the instruction itself, such as using a value stored in a register or a memory as a jump destination address.

【0223】・ダイレクトジャンプ:命令自身のPC
(プログラム カウンタ)と命令中のコードによってジ
ャンプ先が特定できるジャンプをする。
Direct jump: PC of instruction itself
Jumps can be specified by the (program counter) and the code in the instruction.

【0224】・分岐(又は条件分岐):命令自身のPC
および命令中のコードの一部の和で分岐先が特定できる
ジャンプのことである。分岐は実際にジャンプするかは
条件により決まる。実際にジャンプが行われることを分
岐成立(Branch Taken)、行われなかった
ことを分岐不成立(Branch Not Take
n)とする。
Branch (or conditional branch): PC of instruction itself
And a jump whose branch destination can be specified by the sum of a part of the code in the instruction. Whether the branch actually jumps depends on the condition. A jump is actually taken and a branch is taken (Branch Take), and a jump is not taken (Branch Not Take).
n).

【0225】図26にPCトレース回路32の構成を示
します。PCトレース回路32はプロセッサコア20か
ら、以下の信号を入力する。
[0225] Figure 26 shows the configuration of the PC trace circuit 32. The PC trace circuit 32 inputs the following signals from the processor core 20.

【0226】デバッグモード信号DM:現在のプロセッ
サコア20の実行モードがデバッグモードかノーマルモ
ードかを示す。
Debug mode signal DM: Indicates whether the current execution mode of the processor core 20 is the debug mode or the normal mode.

【0227】パイプライン実行信号:命令が一命令実行
されたことを示す。
Pipeline execution signal: Indicates that one instruction has been executed.

【0228】30ビットのターゲットPC[31:2]
信号:分岐命令、ジャンプ命令のターゲットアドレス、
あるいは例外のベクタアドレスを示す。以下のインダイ
レクトジャンプ信号、ダイレクトジャンプ信号、分岐成
立信号、例外発生信号がアサートされているときに有効
である。
30-bit target PC [31: 2]
Signal: branch instruction, target address of jump instruction,
Or it indicates the vector address of the exception. This is valid when the following indirect jump signal, direct jump signal, branch taken signal, and exception occurrence signal are asserted.

【0229】インダイレクトジャンプ信号:インダイレ
クトジャンプが実行されたことを示す。
Indirect jump signal: Indicates that an indirect jump has been executed.

【0230】ダイレクトジャンブ信号:ダイレクトジャ
ンプが実行されたことを示す。
Direct jump signal: Indicates that a direct jump has been executed.

【0231】分岐成立信号:分岐成立の分岐命令が実行
されたことを示す。
Branch taken signal: Indicates that a branch taken branch instruction has been executed.

【0232】例外発生信号:例外が発生したことを示
す。
Exception occurrence signal: Indicates that an exception has occurred.

【0233】また、PCトレース回路32は、PCトレ
ースを完全に行うために以下の信号をプロセッサコア2
0へ出力する。
Further, the PC trace circuit 32 outputs the following signals to the processor core 2 in order to perform the PC trace completely.
Output to 0.

【0234】パイプラインストール要求信号:ターゲッ
トPCの出力を完全に行うため、プロセッサコア20の
パイプラインをストールさせるための信号である。PC
トレース回路32はインダイレクトジャンプのターゲッ
トPCを出力しているときに次のインダイレクトジャプ
が発生すると、この信号をアサートしてプロセッサコア
20のバイプラインをストールさせる。出力中のターゲ
ットPCが完全に出力されるとこの信号をネゲートし
て、プロセッサコア20のパイプライン処理を再開させ
る。
Pipeline install request signal: This signal stalls the pipeline of the processor core 20 in order to completely output the target PC. PC
When the next indirect jap occurs while the target PC for the indirect jump is output, the trace circuit 32 asserts this signal and stalls the bipline of the processor core 20. When the output target PC is completely output, this signal is negated to restart the pipeline processing of the processor core 20.

【0235】PCトレース回路32は、命令/データア
ドレスブレーク回路31とプロセッサバスブレーク回路
33からトリガ要求信号を入力する。DCRレジスタの
TMビットと、デバッグイネーブル信号DBGE*を入
力する。デバッグイネーブル信号はLowにアサートさ
れているとき、デバッガ60が有効であることを示す。
The PC trace circuit 32 receives the trigger request signal from the instruction / data address break circuit 31 and the processor bus break circuit 33. The TM bit of the DCR register and the debug enable signal DBGE * are input. The debug enable signal, when asserted low, indicates that the debugger 60 is valid.

【0236】PCトレース回路32は、ノーマルモード
時にプロセッサコア20が出力するPCトレース情報
を、1ビットのPC出力(TPC信号)と、3ビットの
ステータス信号(PCST[2:0]信号)にしてデバ
ッガ60へ出力する。
The PC trace circuit 32 converts the PC trace information output from the processor core 20 in the normal mode into a 1-bit PC output (TPC signal) and a 3-bit status signal (PCST [2: 0] signal). Output to the debugger 60.

【0237】以下にPCST[2:0]とTPC信号に
ついて説明する。
The PCST [2: 0] and TPC signals will be described below.

【0238】a)PCST[2:0] 各クロックごとに、命令の実行状態をPCST[2:
0]に出力する。(0:Low、1:Highレベルを
示す。) −111(STL):パイプラインストール トレーストリガ出力要求のない状態で、命令の実行終了
がなかったことを示す。
A) PCST [2: 0] The instruction execution state is changed to PCST [2:
0]. (Indicates 0: Low, 1: High level.) -111 (STL): Pipeline installation Indicates that the instruction execution has not been completed without a trace trigger output request.

【0239】−110(JMP):分岐/ジャンプ成立
(PC出力あり) 分岐成立の分岐命令、ジャンプ命令の実行が終了し、T
PC信号にそのターゲットアドレス(分岐、ジャンプ先
のアドレス)の出力を開始したことを示す。
-110 (JMP): Branch / jump taken (with PC output) Execution of the branch instruction and jump instruction for branch taken is completed, and T
It indicates that the output of the target address (branch or jump destination address) has been started to the PC signal.

【0240】−101(BRT):分岐/ジャンブ成立
(PC出力なし) 分岐成立の分岐命令、ダイレクトジャンプ命令の実行が
終了したことを示す。この場合はTPC信号へターゲッ
トアドレスの出力はない。
-101 (BRT): Branch / Jump taken (no PC output) Indicates that the execution of a branch taken branch instruction or a direct jump instruction has been completed. In this case, no target address is output to the TPC signal.

【0241】−100(EXP):例外発生(例外ベク
タのコード出力あり) 例外が発生したことを示す。同時にTPC信号へ例外ベ
クタのコード出力を開始したことを示す。
-100 (EXP): Exception occurred (exception vector code output) Indicates that an exception occurred. At the same time, it indicates that the code output of the exception vector to the TPC signal is started.

【0242】−011(SEQ):シーケンシャル実行
(1命令実行したことを示す) 分岐/ジャンプ成立(JMP、BRT)でないとき、あ
るいは、トレーストリガ出力要求(TSQ)でないと
き、命令が実行されたことを示す。分岐不成立の分岐命
令が実行されたときもこの状態になる。
-011 (SEQ): Sequential execution (indicating that one instruction has been executed) If the branch / jump is not established (JMP, BRT) or the trace trigger output request (TSQ) is not executed, the instruction is executed. Indicates. This state also occurs when a branch instruction that does not branch is executed.

【0243】−010(TST):パイプラインストー
ル時のトレーストリガ出力 命令の実行終了がないクロックで、アドレストレースト
リガあるいはプロセッサバストレーストリガが発生した
ことを示す。
-010 (TST): Trace trigger output at pipeline stall Indicates that an address trace trigger or processor bus trace trigger has occurred at a clock at which instruction execution is not completed.

【0244】−001(TSQ):実行時のトレースト
リガ出力 命令の実行が終了したクロックで、アドレストレースト
リガあるいはプロセッサバストレーストリガが発生した
ことを示す。
-001 (TSQ): Trace trigger output during execution Indicates that an address trace trigger or a processor bus trace trigger has occurred at the clock at which the execution of the instruction is completed.

【0245】−000(DBM):デバッグモード(ノ
ーマルモードではこの状態にはならない)。
-000 (DBM): Debug mode (this state does not occur in normal mode).

【0246】TPCは、分岐命令、ジャンプ命令のター
ゲットアドレスを出力する信号である。PCST[2:
0]に110(JMPコード)が出力されたクロックか
ら、ターゲットアドレスの出力を開始する。ターゲット
アドレスは、下位A(2)から1クロックごと出力され
る。PCST[2:0]に100(EXPコード)が出
力されたクロックから、例外ベクタの3ビットコードを
出力する。コードは下位code(0)からcode
(1)、code(2)の順に1クロックごと出力され
る。例外ベクタアドレスと3ビットのコードは下記に示
すようになる。
TPC is a signal for outputting the target address of a branch instruction or a jump instruction. PCST [2:
The output of the target address is started from the clock when 110 (JMP code) is output to [0]. The target address is output from the lower A (2) every one clock. The 3-bit code of the exception vector is output from the clock at which 100 (EXP code) is output to PCST [2: 0]. Codes are from lower code (0) to code
(1) and code (2) are output in order of one clock. The exception vector address and 3-bit code are shown below.

【0247】 Vector Address code(2:0) リセット,Nmi BFC0_0000 4(100) UTLB(BEV=0) 8000_0000 0(000) UTLB(BEV=1) BFC0_0100 6(110) その他(BEV=0) 8000_0080 1(001) その他(BEV=1) BFC0_0180 7(111) TPC信号によって1ビットシリアルにターゲットアド
レスを出力するため、前の分岐ジャンプ命令をTPC信
号へ出力している途中に、次の分岐、ジャンプ命令ある
いは例外が発生することがある。この場合のTPCへの
ターゲットアドレス出力の優先度について規定する。
Vector Address code (2: 0) Reset, Nmi BFC0_0000 4 (100) UTLB (BEV = 0) 8000_0000 0 (000) UTFB (BEV = 1) BFC0_0100 6 (110) Others (BEV_0) 1 (BEV = 0) 1 001) Others (BEV = 1) BFC0_0187 7 (111) Since the target address is output in 1-bit serial by the TPC signal, while the previous branch jump instruction is being output to the TPC signal, the next branch, jump instruction or Exceptions may occur. The priority of the target address output to the TPC in this case will be specified.

【0248】a)ターゲットPC出力中に、新たにイン
ダイレクトジャンプが発生すると、その時のターゲット
PC出力を終了し、必ず新たなインダイレクトジャンプ
のターゲットPCの出力を開始する。
A) When a new indirect jump occurs during the output of the target PC, the output of the target PC at that time is ended and the output of the target PC of the new indirect jump is always started.

【0249】b)ターゲットPC出力中に、例外が発生
したときは、例外のベクタ番号(3ビット)を必ず出力
し、その後、中断していたPC出力を再開する。
B) When an exception occurs during target PC output, the exception vector number (3 bits) is always output, and then the interrupted PC output is restarted.

【0250】c)ターゲットPC出力中に、新たにダイ
レクトジャンプ、分岐が発生したときはそのダイレクト
ジャンプ、分岐のターゲットアドレスの出力は行なわな
い。ダイレクトジャンプ、分岐については、発生時にタ
ーゲットPCを出力していないときのみ、そのターゲッ
トPCが出力される。
C) When a new direct jump or branch occurs during output of the target PC, the target address of the direct jump or branch is not output. For direct jump and branch, the target PC is output only when the target PC is not output at the time of occurrence.

【0251】次に、PCトレース出力例を図を用いて説
明する。
Next, a PC trace output example will be described with reference to the drawings.

【0252】(例1)分岐命令のPCトレース 図27に分岐命令のPCトレース出力の一例を示す。(Example 1) PC trace of a branch instruction FIG. 27 shows an example of PC trace output of a branch instruction.

【0253】最初の分岐成立の分岐命令beqでは、T
PCにターゲットPCを出力していないので、PCST
[2:0]にJMPコードを出力し、TPCにターゲッ
トPCの出力を開始する。分岐不成立の分岐命令bne
では、PCST[2:0]にSEQコードを出力する。
2番目の分岐成立の分岐命令bneでは、最初の分岐命
令のターゲットPCを出力しているので、TPCにター
ゲットPCを出力しない。PCST[2:0]にはBR
Tコードを出力する。
In the branch instruction beq for the first branch taken, T
Since the target PC is not output to PC, PCST
The JMP code is output at [2: 0] and the output of the target PC to the TPC is started. Branch instruction bne not taken
Then, the SEQ code is output to PCST [2: 0].
In the branch instruction bne for which the second branch is taken, since the target PC of the first branch instruction is output, the target PC is not output to TPC. BR for PCST [2: 0]
Output T code.

【0254】(例2)インダイレクトジャンプ命令のP
Cトレース 図28にインダイレクトジャンプ命令のPCトレース出
力の一例を示す。
(Example 2) P of the indirect jump instruction
C Trace FIG. 28 shows an example of PC trace output of the indirect jump instruction.

【0255】最初のインダイレクトジャンプ命令jr1
では、PCST[2:0]にJMPコードを出力し、T
PCにターゲットPCの出力を開始する。分岐不成立の
分岐命令bneでは、PCST[2:0]にSEQコー
ドを出力する。2番目のインダイレクトジャンプ命令j
r2では、最初のインダイレクトジャンプ命令のターゲ
ットPCの出力を中止して、jr2のターゲットPCを
TPCへ出力する。PCST[2:0]にはJMPコー
ドを出力する。
First indirect jump instruction jr1
Then, output the JMP code to PCST [2: 0], and
Start outputting the target PC to the PC. In the branch instruction bne that does not branch, the SEQ code is output to PCST [2: 0]. Second indirect jump instruction j
At r2, the output of the target PC of the first indirect jump instruction is stopped, and the target PC of jr2 is output to the TPC. The JMP code is output to PCST [2: 0].

【0256】(例3)例外とインダイレクトジャンプ命
令のPCトレース 図29に例外とインダイレクトジャンプ命令のPCトレ
ース出力の一例を示す。
(Example 3) PC trace of exception and indirect jump instruction FIG. 29 shows an example of PC trace output of exception and indirect jump instruction.

【0257】ソフトウエアブレーク命令breakで例
外が発生する。PCST[2:0]にEXPコードを出
力し、TPCに例外ベクタのコードの出力を開始する。
分岐不成立の分岐命令bneでは、PCST[2:0]
にSEQコードを出力する。インダイレクトジャンプ命
令jr2では、jr2のターゲットPCをTPCへ出力
し、PCST[2:0]にはJMPコードを出力する。
An exception occurs at the software break instruction break. The EXP code is output to PCST [2: 0], and the output of the exception vector code is started to TPC.
PCST [2: 0] for the branch instruction bne for which the branch is not taken.
The SEQ code is output to. In the indirect jump instruction jr2, the target PC of jr2 is output to TPC, and the JMP code is output to PCST [2: 0].

【0258】次に、PCST[2:0]信号へのトレー
ストリガの出力について説明する。
Next, the output of the trace trigger to the PCST [2: 0] signal will be described.

【0259】命令/データアドレスブレーク、プロセッ
サバスブレークで、設定したアドレスとデータと一致し
たバスサイクルが実行されると、PCST[2:0]信
号にトレーストリガ情報が出力する機能である。
In the instruction / data address break and the processor bus break, when the bus cycle that matches the set address and data is executed, the trace trigger information is output to the PCST [2: 0] signal.

【0260】命令アドレストレーストリガ、データアド
レストレーストリガ、プロセッサバストレーストリガの
要求が発生すると、PCST[2:0]信号にトレース
トリガ情報TSQコードあるいはTSTコードを出力す
る。ただし、PCST[2:0]に、JMP、BRT、
EXPコードが出力されているとトレーストリガのTS
Q,TSTコードの出力は遅れる。トレーストリガ要求
がないとき、PCST[2:0]出力がSEQコード、
STLコードとなるクロックでTSQコード、TSTコ
ードをPCST[2:0]信号に出力する。
When a request for an instruction address trace trigger, a data address trace trigger, or a processor bus trace trigger occurs, the trace trigger information TSQ code or TST code is output to the PCST [2: 0] signal. However, if PCST [2: 0] is added with JMP, BRT,
TS of trace trigger when EXP code is output
The output of the Q and TST codes is delayed. When there is no trace trigger request, PCST [2: 0] output is SEQ code,
The TSQ code and the TST code are output to the PCST [2: 0] signal at the clock that is the STL code.

【0261】(a)命令/データアドレストレーストリ
ガ 命令/データアドレストレーストリガでは、PCST
[2:0]信号にそのトレーストリガが発生した命令の
トレース情報を出力するタイミングで、PCST[2:
0]信号にトレーストリガ情報TSQが出力される。た
だし、トレーストリガを発生した命令が、分岐成功の分
岐命令、ジャンプ命令あるいは例外を発生した命令で、
通常PCST[2:0]出力がSEQコードでない場合
は、トレーストリガの出力は遅れる。トレーストリガ要
求がないとき、PCST[2:0]出力がSEQ、ST
LとなるクロックでTSQコード、TSTコードをPC
ST[2:0]信号に出力する。
(A) Instruction / data address trace trigger In the instruction / data address trace trigger, PCST
At the timing of outputting the trace information of the instruction in which the trace trigger has occurred to the [2: 0] signal, PCST [2:
0] signal, the trace trigger information TSQ is output. However, if the instruction that generated the trace trigger is a branch instruction with a successful branch, a jump instruction, or an instruction that generated an exception,
Normally, when the PCST [2: 0] output is not the SEQ code, the output of the trace trigger is delayed. When there is no trace trigger request, PCST [2: 0] output is SEQ, ST
PC with TSQ code and TST code with L clock
Output to the ST [2: 0] signal.

【0262】(例1)命令/データアドレストレースト
リガの発生例 図30に命令/データアドレストレーストリガの発生例
を示す。
(Example 1) Generation example of instruction / data address trace trigger FIG. 30 shows a generation example of an instruction / data address trace trigger.

【0263】命令アドレストレーストリガ、あるいはデ
ータアドレストレーストリガを発生したadd命令でP
CST[2:0]信号に、トレーストリガのコードTS
Qを出力する。
P by the add instruction that generated the instruction address trace trigger or the data address trace trigger
Trace trigger code TS to CST [2: 0] signal
Output Q.

【0264】(例2)例外発生命令で命令/データアド
レストレーストリガが発生した例 図31に例外発生命令で命令/データアドレストレース
トリガが発生した例を示す。
(Example 2) Example in which instruction / data address trace trigger is generated by exception generation instruction FIG. 31 shows an example in which instruction / data address trace trigger is generated by exception generation instruction.

【0265】命令アドレストトレーストリガ、あるいは
データアドレストレーストリガが、ソフトウエアブレー
ク命令breakで発生すると、break命令ではP
CST[2:0]信号に例外発生のコードEXPを出力
し、次のクロックでトレーストリガのコードを出力す
る。この例では、ストール状態なのでTSTコードを出
力する。
When an instruction address trace trigger or a data address trace trigger occurs in the software break instruction break, the break instruction causes P
Exception generation code EXP is output to the CST [2: 0] signal, and a trace trigger code is output at the next clock. In this example, the TST code is output because it is in the stalled state.

【0266】(例3)インダイレクトジャンプ命令で命
令/データアドレストレーストリガが発生した例 図32にインダイレクトジャンプ命令で命令/データア
ドレストレーストリガが発生した例を示す。
(Example 3) Example in which instruction / data address trace trigger is generated by indirect jump instruction FIG. 32 shows an example in which instruction / data address trace trigger is generated by indirect jump instruction.

【0267】命令アドレストレーストリガ、あるいはデ
ータアドレストレーストリガが、インダイレクトジャン
プ命令jr2で発生すると、jr2命令ではPCST
[2:0]信号にジャンプのコードJMPを出力し、次
のクロックでトレーストリガのコードを出力する。この
例では命令実行状態なのでTSQコードを出力する。
When the instruction address trace trigger or the data address trace trigger is generated by the indirect jump instruction jr2, PCST is executed by the jr2 instruction.
The jump code JMP is output to the [2: 0] signal, and the trace trigger code is output at the next clock. In this example, since the instruction is being executed, the TSQ code is output.

【0268】(b)プロセッサバストレーストリガ プロセッサバストレーストリガの要求が発生すると、P
CST[2:0]信号にトレーストリガ情報TSQコー
ドあるいはTSTコードを出力する。ただし、PCST
[2:0]に、JMP、BRT、EXPコードが出力さ
れているとトレーストリガのTSQ,TSTコードの出
力は遅れる。トレーストリガ要求がないとき、PCST
[2:0]出力がSEQコード、STLコードとなるク
ロックでTSQコード、TSTコードをPCST[2:
0]信号に出力する。
(B) Processor Bus Trace Trigger When a processor bus trace trigger request is issued, P
The trace trigger information TSQ code or TST code is output to the CST [2: 0] signal. However, PCST
If the JMP, BRT, and EXP codes are output at [2: 0], the output of the TSQ and TST codes of the trace trigger will be delayed. PCST when there is no trace trigger request
The [2: 0] output becomes the SEQ code and the STL code, and the TSQ code and the TST code are changed to PCST [2:
0] signal.

【0269】次に、デバッグモードDBMコードの出力
について説明する。
Next, the output of the debug mode DBM code will be described.

【0270】プロセッサコア20がデバッグ例外あるい
はデバッグリセットを発生すると、デバッグモード信号
DMをHighにアサートして、デバッグモードにな
る。PCトレース回路32は、PCST[2:0]出力
にDBMコードを出力する。
When the processor core 20 generates a debug exception or a debug reset, the debug mode signal DM is asserted High to enter the debug mode. The PC trace circuit 32 outputs the DBM code to the PCST [2: 0] output.

【0271】図33にデバッグ例外発生時のPCST
[2:0]の出力タイミングを示す。
FIG. 33 shows PCST when a debug exception occurs.
The output timing of [2: 0] is shown.

【0272】ターゲットPCを出力していないときは、
デバッグ例外を発生した命令の実行終了直後に、デバッ
グモードになる。デバッグ例外が発生した直前の命令ま
でのPCトレース情報が出力される。
When the target PC is not output,
Immediately after execution of the instruction that caused the debug exception, the debug mode is entered. The PC trace information up to the instruction immediately before the debug exception occurred is output.

【0273】図34にデバッグ例外発生時に、ターゲッ
トPCを出力している場合のPCST[2:0]出力タ
イミングを示す。
FIG. 34 shows PCST [2: 0] output timing when the target PC is being output when a debug exception occurs.

【0274】ターゲットPCを出力しているときは、そ
のターゲットPC出力が完了した後、デバッグモードに
なる。デバッグ例外が発生した直前の命令までのPCト
レース情報が出力される。ターゲットPCを出力してい
る間は、PCST[2:0]にはSTLが出力される。
When the target PC is being output, the debug mode is entered after the target PC output is completed. The PC trace information up to the instruction immediately before the debug exception occurred is output. While the target PC is being output, STL is output to PCST [2: 0].

【0275】図35にデバッグモードからの復帰時のP
CST[2:0]の出力タイミングを示す。
FIG. 35 shows P when returning from the debug mode.
The output timing of CST [2: 0] is shown.

【0276】デバッグ例外、デバッグモードからの復帰
命令DERET命令の分岐ディレイスロット命令までデ
バッグモードとなる。DERET命令の戻り先の命令か
ら、ノーマルモードになりPCトレースが有効になる。
Debug exception, return instruction from debug mode The branch delay slot instruction of the DERET instruction enters the debug mode. From the instruction to which the DERET instruction has returned, the normal mode is entered and PC trace is enabled.

【0277】次に、図26に戻って、PCトレース回路
32について説明する。
Next, returning to FIG. 26, the PC trace circuit 32 will be described.

【0278】図26において、PCトレース回路32
は、PCトレースコントロール回路321、ターゲット
PCシフトレジスタ322、例外ベクタコード化回路3
23、例外コードシフトレジスタ324、セレクタ32
5からなる。
In FIG. 26, the PC trace circuit 32
Is a PC trace control circuit 321, a target PC shift register 322, an exception vector coding circuit 3
23, exception code shift register 324, selector 32
It consists of 5.

【0279】PCトレースコントロール回路321は、
例外コード出力ステータスビット326、ターゲットP
C出力カウンタ329を含む。
The PC trace control circuit 321 is
Exception code output status bit 326, target P
A C output counter 329 is included.

【0280】次に、PCトレース回路321の動作につ
いて説明する。
Next, the operation of the PC trace circuit 321 will be described.

【0281】TMビットが0のときのPCST[2:
0]の出力は表3に示すようになる。なお、表3におい
て、1がアクティブ、xはdon′t careを示
す。
PCST [2: when the TM bit is 0:
0] output is as shown in Table 3. In Table 3, 1 indicates active and x indicates don't care.

【0282】[0282]

【表3】 この表3で、トリガ要求信号は、命令アドレストレース
トリガ要求信号、データアドレストレーストリガ要求信
号とプロセッサバストレーストリガ要求信号の論理和を
とったものである。
[Table 3] In Table 3, the trigger request signal is the logical sum of the instruction address trace trigger request signal, the data address trace trigger request signal and the processor bus trace trigger request signal.

【0283】5ビットのターゲットPC出力カウンタ3
27が0でないとき、TPC出力中を示す。例外コード
出力ステータスビットが1のとき例外ベクタコード出力
中を示す。表3のターゲットPCまた例外コード出力中
を示す内部ステータスは、ターゲットPC出力カウンタ
327が0でないか、または例外コード出力ステータス
326が1のとき1となる。
5-bit target PC output counter 3
When 27 is not 0, it indicates that TPC is being output. When the exception code output status bit is 1, it indicates that the exception vector code is being output. The internal status indicating that the target PC or exception code is being output in Table 3 is 1 when the target PC output counter 327 is not 0 or the exception code output status 326 is 1.

【0284】ターゲットPC出力カウンタ327は、以
下のように更新される。
The target PC output counter 327 is updated as follows.

【0285】(1)TPC信号にターゲットPCを出力
していないとき、あるいは新たにPC出力を開始すると
きは、ターゲットPC出力カウンタ327は0にクリア
される。
(1) The target PC output counter 327 is cleared to 0 when the target PC is not output to the TPC signal or when a new PC output is started.

【0286】(2)TPC信号に例外ベクタを出力して
いるときは、PC出力中を示す内部ステートとカウンタ
は、そのままの値を保持する。
(2) When the exception vector is being output to the TPC signal, the internal state indicating that the PC is being output and the counter retain the same value.

【0287】(3)カウンタの値が30になると、ター
ゲットPC出力カウンタ327を0にする。これはター
ゲットPCの出力が終了したこと示す。
(3) When the counter value reaches 30, the target PC output counter 327 is set to 0. This indicates that the output of the target PC has ended.

【0288】(4)(1)、(2)、(3)以外のとき
は、ターゲットPCカウンタ327の値を1増やす。こ
の状態では、TPC信号にターゲットPCの値を出力し
ている。
(4) In cases other than (1), (2) and (3), the value of the target PC counter 327 is incremented by 1. In this state, the value of the target PC is output as the TPC signal.

【0289】例外コード出力ステータス326は、例外
が発生すると、例外コード出力中を示す内部ステートが
3クロック間アサートされる。例外コード出力ステータ
ス326がアサートされているときは、例外コードシフ
ト信号と例外コード出力切り替え信号がアサートされ
る。例外コードロード信号は、表3のPCST[2:
0]にEXPコードを出力する条件でアサートされ、例
外コードシフトレジスタ324に例外ベクタコード化回
路323の出力の例外ベクタコードの値をロードする。
ターゲットPCロード信号は、表3のPCST[2:
0]にJMPコードを出力する条件でアサートされ、タ
ーゲットPCシフトレジスタ322にターゲットPCの
値をロードする。ターゲットPCシフト信号は、ターゲ
ットPCカウンタ327の値が0でなく、かつ例外コー
ド出力ステータス326がアサートされていないときに
アサートされる。
As for the exception code output status 326, when an exception occurs, the internal state indicating that the exception code is being output is asserted for 3 clocks. When the exception code output status 326 is asserted, the exception code shift signal and the exception code output switching signal are asserted. The exception code load signal is PCST [2:
0] is asserted on condition that an EXP code is output, and the value of the exception vector code output from the exception vector coding circuit 323 is loaded into the exception code shift register 324.
The target PC load signal is PCST [2:
0] is asserted on condition that the JMP code is output, and the value of the target PC is loaded into the target PC shift register 322. The target PC shift signal is asserted when the value of the target PC counter 327 is not 0 and the exception code output status 326 is not asserted.

【0290】DCRレジスタのTMビットが1にセット
されると、PCトレースを完全に行なう。DBGE*信
号がアサートされて、かつDCRレジスタのTMビット
がセットされていると、PCトレースコントロール回路
321は、インダイレクトジャンプのターゲットPCを
出力しているときに次のインダイレクトジャンプが発生
すると、パイプラインストール要求信号をアサートして
プロセッサコア20のパイプラインをストールさせる。
出力中のターゲットPCが完全に出力されるとパイプラ
インストール要求信号をネゲートして、プロセッサコア
20のパイプライン処理を再開させる。
When the TM bit of the DCR register is set to 1, PC trace is completed. When the DBGE * signal is asserted and the TM bit of the DCR register is set, the PC trace control circuit 321 generates the next indirect jump when the target PC of the indirect jump is output. The pipeline install request signal is asserted to stall the pipeline of the processor core 20.
When the output target PC is completely output, the pipeline install request signal is negated to restart the pipeline processing of the processor core 20.

【0291】TMビットが1のときのPCST[2:
0]の出力は表4に示すようになる。なお、表4におい
て、1がアクティブ、xはdon′t careを示
す。
PCST [2: when TM bit is 1]
0] output is as shown in Table 4. In Table 4, 1 is active and x is don't care.

【0292】[0292]

【表4】 ターゲットPCあるいは例外コード出力中に、次のイン
ダイレクトジャンプが実行され、インダイレクトジャン
プ信号がアクティブになると、プロセッサコア20のパ
イプラインストール要求信号をアクティブにする。ター
ゲットPCまたは例外コード出力の内部ステートは、タ
ーゲットPC出力開始から30クロック間アクティブに
なる。
[Table 4] When the next indirect jump is executed while the target PC or the exception code is being output and the indirect jump signal becomes active, the pipeliner installation request signal of the processor core 20 becomes active. The internal state of the target PC or exception code output becomes active for 30 clocks from the start of target PC output.

【0293】ターゲットPCシフトレジスタ322は、
PCトレースコントロール回路321のターゲットPC
ロード信号がアサートされると、ターゲットPCの値を
ロードする。また、PCトレースコントロール回路32
1のターゲットPCシフト信号がアサートされると、タ
ーゲットPCシフトレジスタ322の値をMSBからL
SBへ1ビットシフトする。
The target PC shift register 322 is
Target PC of PC trace control circuit 321
When the load signal is asserted, it loads the value of the target PC. In addition, the PC trace control circuit 32
When the target PC shift signal of 1 is asserted, the value of the target PC shift register 322 is changed from MSB to L.
Shift 1 bit to SB.

【0294】例外ベクタコード化回路323は、例外ベ
クタアドレスを、以下のようにベクタアドレスのA[2
9],A[8],A[7]によって、エンコードする。
The exception vector coding circuit 323 sets the exception vector address to A [2 of the vector address as follows.
9], A [8], A [7].

【0295】 Vector Address (A29,A8,A7) code リセット,Nmi BFC0_0000 (100) 4 UTLB(BEV=0 ) 8000_0000 (000) 0 UTLB(BEV=1 ) BFC0_0100 (110) 6 その他(BEV=0) 8000_0080 (001) 1 その他(BEV=1) BFC0_0180 (111) 7 例外ベクタコード化回路323は、ターゲットPCのア
ドレスA[29],A[8],A[7]を例外コードシ
フトレジスタへ出力する。
Vector Address (A29, A8, A7) code reset, Nmi BFC0_0000 (100) 4 UTLB (BEV = 0) 8000_0000 (000) 0 UTLB (BEV = 1) BFC0_0100 (110) 6 Other (BEV = 0) 8000_0080 (001) 1 Other (BEV = 1) BFC0 — 0180 (111) 7 The exception vector coding circuit 323 outputs the addresses A [29], A [8], A [7] of the target PC to the exception code shift register.

【0296】例外コードシフトレジスタ324は、PC
トレースコントロール回路321の例外コードロード信
号がアサートされると、例外ベクタコード化回路323
の出力の例外ベクタコードをロードする。また、PCト
レースコントロール回路321の例外コードシフト信号
がアサートされると、例外コードシフトレジスタ324
の値をMSBからLSBへ1ビットシフトする。
The exception code shift register 324 is a PC
When the exception code load signal of the trace control circuit 321 is asserted, the exception vector coding circuit 323
Load the exception vector code of the output of. When the exception code shift signal of the PC trace control circuit 321 is asserted, the exception code shift register 324
The value of is shifted from MSB to LSB by 1 bit.

【0297】セレクタ325は、PCトレースコントロ
ール回路321の例外コード出力切り替え信号がアサー
トされると、例外コードシフトレジスタ324のLSB
の値をTPCへ出力する。例外コード出力切り替え信号
がネゲートされていると、ターゲットPCシフトレジス
タ322のLSBの値をTPCへ出力する。
When the exception code output switching signal of the PC trace control circuit 321 is asserted, the selector 325 outputs the LSB of the exception code shift register 324.
The value of is output to TPC. When the exception code output switching signal is negated, the LSB value of the target PC shift register 322 is output to the TPC.

【0298】次に、PCトレース回路32の動作例をタ
イミング図を用いて説明する。
Next, an operation example of the PC trace circuit 32 will be described with reference to a timing chart.

【0299】図36にターゲットPCの出力時の動作例
を示す。ターゲットPC出力カウンタ327が0のとき
に、インダイレクトジャンプ信号、ダイレクトジャンプ
信号、または分岐成立信号がアサートされると、PCト
レースコントロール回路321は、ターゲットPCロー
ド信号をアサートする。
FIG. 36 shows an operation example when the target PC outputs. When the indirect jump signal, the direct jump signal, or the branch taken signal is asserted when the target PC output counter 327 is 0, the PC trace control circuit 321 asserts the target PC load signal.

【0300】次のクロックで、ターゲットPCシフトレ
ジスタ322にロードされたターゲットアドレスのLS
BビットのA[2]がTPCへ出力され、PCST
[2:0]にJMPコードが出力され、PCトレースコ
ントロール回路321はターゲットPCシフト信号をア
サートする。ターゲットPCシフトレジスタ322はM
SBからLSBへ1ビットシフトされ、次のクロックで
はA[3]が出力される。ターゲットPC出力カウンタ
327が30になるまで、ターゲットPCシフト信号が
アサートされ、ターゲットPCの値が毎クロックごとT
PCへ出力される。ターゲットPC出力カウンタ327
の値が30になると、次にその値は0にクリアされ、タ
ーゲットPCシフト信号はネゲートされ、TPCへのタ
ーゲットPC出力は終了する。
At the next clock, the LS of the target address loaded in the target PC shift register 322
B bit A [2] is output to TPC, PCST
The JMP code is output at [2: 0], and the PC trace control circuit 321 asserts the target PC shift signal. The target PC shift register 322 is M
One bit is shifted from SB to LSB, and A [3] is output at the next clock. The target PC shift signal is asserted until the target PC output counter 327 reaches 30, and the value of the target PC is T every clock.
Output to PC. Target PC output counter 327
Value of 30 is then cleared to 0, the target PC shift signal is negated, and the target PC output to the TPC ends.

【0301】図37にターゲットPC出力中に、次のイ
ンダイレクトジャンプが発生したときの動作タイミング
例を示す。
FIG. 37 shows an example of the operation timing when the next indirect jump occurs during the output of the target PC.

【0302】2番目のインダイレクトジャンプが発生す
ると、ターゲットPC出力カウンタは0にクリアされ、
ターゲットPCロード信号がアサートされる。次のクロ
ックでターゲットPCシフトレジスタ322にロードさ
れたターゲットアドレスのLSBビットのA[2]がT
PCへ出力され、PCST[2:0]にJMPコードが
出力され、PCトレースコントロール回路321はター
ゲットPCシフト信号をアサートする。次のクロックか
らターゲットアドレスが毎サイクル1ビットづつTPC
信号へ出力される。
When the second indirect jump occurs, the target PC output counter is cleared to 0,
The target PC load signal is asserted. At the next clock, A [2] of the LSB bit of the target address loaded in the target PC shift register 322 is T
It is output to the PC, the JMP code is output to PCST [2: 0], and the PC trace control circuit 321 asserts the target PC shift signal. Target address is 1 bit per cycle from the next clock TPC
It is output to the signal.

【0303】図38にターゲットPC出力中に、例外が
発生したときの動作タイミング例を示す。
FIG. 38 shows an example of operation timing when an exception occurs during output to the target PC.

【0304】ターゲットPC出力中に、例外発生信号が
アサートされると、例外コードロード信号がアサートさ
れ、例外コードの値が例外コードシフトレジスタ324
へロードされる。次のクロックから、例外コード出力ス
テータス326、例外コードシフト信号、例外コード出
力切替信号がアサートされる。例外コードが3クロック
間出力される。この間はターゲットPCシフト信号がネ
ゲートされる。例外コード出力ステータス326、例外
コード切替信号がネゲートされると、再びターゲットP
CのTPCへの出力が始まる。
When the exception occurrence signal is asserted during the output of the target PC, the exception code load signal is asserted and the value of the exception code is set to the exception code shift register 324.
Is loaded into. From the next clock, the exception code output status 326, the exception code shift signal, and the exception code output switching signal are asserted. The exception code is output for 3 clocks. During this period, the target PC shift signal is negated. When the exception code output status 326 and the exception code switching signal are negated, the target P
Output of C to TPC begins.

【0305】図39に外部インターフェース回路36を
示す。
FIG. 39 shows the external interface circuit 36.

【0306】外部インターフェース回路36は、DBM
コード検出回路361、セレクタ362、363、マス
ク回路364、365、366、出力バッファ367
A、367B、367C、プルアップ抵抗付き入力バッ
ファ368A、368B、368C、入力バッファ36
9A、369Bからなる。
The external interface circuit 36 is a DBM.
Code detection circuit 361, selectors 362 and 363, mask circuits 364, 365, 366, output buffer 367
A, 367B, 367C, input buffer with pull-up resistor 368A, 368B, 368C, input buffer 36
It consists of 9A and 369B.

【0307】DBMコード検出回路361は、PCST
[2:0]にデバッグモードのコードDBM(000)
が出力されているとき、出力信号をアサートする。
The DBM code detection circuit 361 uses the PCST
Code DBM (000) in debug mode at [2: 0]
Asserts the output signal when is output.

【0308】セレクタ362は、DBMコード検出回路
361の出力がアサートされているとき、すなわちデバ
ッグモードのときは分周クロックCLK2を出力し、D
BMコード検出回路361の出力がネゲートされている
とき、すなわちノーマルモードのときはコアクロックC
LKを出力する。
The selector 362 outputs the divided clock CLK2 when the output of the DBM code detection circuit 361 is asserted, that is, in the debug mode, and D
When the output of the BM code detection circuit 361 is negated, that is, in the normal mode, the core clock C
LK is output.

【0309】セレクタ363は、DBMコード検出回路
361の出力がアサートされているとき、すなわちデバ
ッグモードのときは、シリアルモニタバス回路34のS
DAOを出力し、DBMコード検出回路361の出力が
ネゲートされているとき、すなわちノーマルモードのと
きは、PCトレース回路32のTPCを出力する。
When the output of the DBM code detection circuit 361 is asserted, that is, in the debug mode, the selector 363 outputs S of the serial monitor bus circuit 34.
When DAO is output and the output of the DBM code detection circuit 361 is negated, that is, in the normal mode, the TPC of the PC trace circuit 32 is output.

【0310】マスク回路364は、デバッグモードのと
き、常にプロセッサコアのDINT*入力がネゲートさ
れるように、外部DINT*/SDI入力の値をマスク
する。
The mask circuit 364 masks the value of the external DINT * / SDI input so that the DINT * input of the processor core is always negated in the debug mode.

【0311】マスク回路365は、DCRレジスタのM
Intが0のとき、プロセッサコアのInt[5:0]
*をHighにして割り込みをマスクする。
The mask circuit 365 is the M of the DCR register.
When Int is 0, Int [5: 0] of the processor core
Set * to High to mask interrupts.

【0312】マスク回路366は、DCRレジスタのM
Rstが0のとき、デバッグ例外ハンドラ実行中(DM
信号=High)ユーザーリセットをマスクする。
The mask circuit 366 is used for the M of the DCR register.
When Rst is 0, debug exception handler is being executed (DM
Signal = High) Mask user reset.

【0313】出力バッファ367Aは、セレクタ362
の出力をDCLKとして外部へ出力する。出力バッファ
367Bは、セレクタ363の出力をTPC/SDAO
として外部へ出力する。出力バッファ367Cは、PC
トレース回路32の出力のPCST[2:0]を外部P
CST[2:0]として出力する。
The output buffer 367A has a selector 362.
Is output as DCLK to the outside. The output buffer 367B outputs the output of the selector 363 to TPC / SDAO.
To the outside as. The output buffer 367C is a PC
PCST [2: 0] of the output of the trace circuit 32 is set to external P
Output as CST [2: 0].

【0314】プルアップ抵抗付き入力バッファ368A
は、外部DINT*/SDI信号を内部へ入力する。プ
ルアップ抵抗付きなので、外部DINT*/SDI信号
が未接続のときは常に出力はHighレベルとなる。プ
ルアップ抵抗付き入力バッファ368Bは、外部DBG
E*信号を内部へ入力する。プルアップ抵抗付きなので
外部DBGE*信号が未接続のときは常に出力はHig
hレベルとなる。プルアップ抵抗付き入力バッファ36
8Cは、外部DRESET*信号を内部へ入力する。プ
ルアップ抵抗付きなので、外部DRESET*信号が未
接続のときは常に出力はHighレベルとなる。
Input buffer 368A with pull-up resistor
Inputs an external DINT * / SDI signal to the inside. Since it has a pull-up resistor, the output is always at High level when the external DINT * / SDI signal is not connected. The input buffer 368B with pull-up resistor is an external DBG
Input the E * signal internally. With pull-up resistor, output is always High when external DBGE * signal is not connected.
It becomes the h level. Input buffer 36 with pull-up resistor
8C inputs the external DRESET * signal internally. Since it has a pull-up resistor, the output is always at High level when the external DRESET * signal is not connected.

【0315】外部DINT*/SDI信号、外部DBG
E*信号、外部DRESET*信号は、デバッガが接続
されていないときは信号が未接続にされる。内部ではこ
れらの入力信号はHighレベルとなり、デバッグモジ
ュールの機能はディスエーブルされる。
External DINT * / SDI signal, external DBG
The E * signal and the external DRESET * signal are not connected when the debugger is not connected. Internally, these input signals become High level, and the function of the debug module is disabled.

【0316】入力バッファ369Aは、外部割り込み信
号INT[5:0]*を入力する。入力バッファ369
Bは、外部ユーザーリセット信号RESET*を入力す
る。
The input buffer 369A inputs the external interrupt signal INT [5: 0] *. Input buffer 369
B inputs the external user reset signal RESET *.

【0317】図41は請求項3記載の発明の一実施形態
のマイクロプロセッサ及びデバッグシステムの構成を示
す図である。
FIG. 41 is a diagram showing the structure of a microprocessor and a debug system according to an embodiment of the present invention.

【0318】この実施形態では、マイクロプロセッサ1
0がメモリ90や周辺回路100を内蔵していることを
特徴とし、他の構成は上記実施形態と同様である。
In this embodiment, the microprocessor 1
0 has a built-in memory 90 and a peripheral circuit 100, and other configurations are the same as those in the above embodiment.

【0319】プロセッサコア20は内部プロセッサバス
80を介してメモリ90のプログラムを読み出して実行
したり、メモリ90上のデータをリードあるいはライト
し、またプロセッサコア20は内蔵の周辺回路100を
アクセスする。プロセッサコア20は、デバッグモード
において、デバッグモジュール30を介して、デバッガ
上のモニタプログラムを実行する。
The processor core 20 reads and executes the program of the memory 90 via the internal processor bus 80, reads or writes data on the memory 90, and the processor core 20 accesses the built-in peripheral circuit 100. The processor core 20 executes the monitor program on the debugger via the debug module 30 in the debug mode.

【0320】この実施形態においても、デバッグモジュ
ールとデバッガのインターフェース信号の機能、タイミ
ングが同じならば、内蔵しているメモリ90、周辺回路
100の違いによらず、前記実施形態と同じデバッガ6
0を使用することができる。
Also in this embodiment, if the functions and timings of the interface signals of the debug module and the debugger are the same, the same debugger 6 as that of the above embodiment will be used regardless of the difference between the built-in memory 90 and the peripheral circuit 100.
0 can be used.

【0321】さらに、プロセッサコア20の機能が前記
実施形態のものと同じであれば、デバッガ60上のモニ
タプログラムも同一のものを使用することができる。
Further, if the function of the processor core 20 is the same as that of the above embodiment, the same monitor program on the debugger 60 can be used.

【0322】以上説明した2つの実施形態では、命令/
データアドレスブレーク、プロセッサバスブレークチャ
ネル数がそれぞれ1のときを一例として説明したが、本
発明はこの構成に限定されるものではない。チャネル数
が2以上でも適用できる。図40に命令アドレスブレー
クのチャネル数が15になったときのIBSレジスタの
構成を示す。
In the two embodiments described above, the instruction /
The case where the number of data address breaks and the number of processor bus break channels are 1 has been described as an example, but the present invention is not limited to this configuration. It can be applied even if the number of channels is two or more. FIG. 40 shows the configuration of the IBS register when the number of instruction address break channels reaches 15.

【0323】また、以上説明した2つの実施形態では、
シリアルモニタバスのビット幅が1ビットのときを例に
説明したが、この発明はこの構成に限定されるものでは
ない。シルアルモニタバスのために、さらに多くのマイ
クロプロセッサの外部信号を使用できる場合には、ビッ
ト幅が2ビット以上にすることもできる。
In the two embodiments described above,
The case where the bit width of the serial monitor bus is 1 bit has been described as an example, but the present invention is not limited to this configuration. If more microprocessor external signals are available for the serial monitor bus, the bit width can be more than 2 bits.

【0324】さらに、上記2つの実施形態では、ターゲ
ットPCの出力を1本の外部信号を用いて行った時の例
を説明したが、この発明はこの構成に限定されるもので
はない。ターゲッットPC出力のために、さらに多くの
マイクロプロセッサの外部信号を使用できる場合には、
ターゲットPC出力を複数の外部信号を用いて行うこと
ができる。
Furthermore, in the above-mentioned two embodiments, an example in which the output of the target PC is performed using one external signal has been described, but the present invention is not limited to this configuration. If more microprocessor external signals are available for target PC output,
Target PC output can be done using multiple external signals.

【0325】またさらに、上記2つの実施形態では、ク
ッロック供給回路37は、クロック信号(CLK)を2
分周する回路であったが、この発明はこの構成に限定さ
れるものではない。クロック信号(CLK)と同じ周波
数やクロック信号(CLK)の整数倍あるいは2のべき
乗倍のクロック信号を出力し、このクロック信号をシリ
アルモニタバス回路の動作クロック信号として使用して
もよい。
Furthermore, in the above two embodiments, the clock supply circuit 37 outputs the clock signal (CLK) to 2
Although it was a frequency dividing circuit, the present invention is not limited to this configuration. It is also possible to output a clock signal having the same frequency as the clock signal (CLK) or an integral multiple or a power of 2 of the clock signal (CLK), and use this clock signal as the operation clock signal of the serial monitor bus circuit.

【0326】このように、この発明にあっては、デバッ
グツールのハードウェア仕様を共通化でき、デバッグツ
ールとの接続のための信号の本数を削減できる。例え
ば、従来の方法では、アドレス信号30本、バイトイネ
ーブル信号4本、リード信号、ライト信号、リード応答
信号、ライト応答信号、データ信号32本、合計70本
の信号でユーザーターゲットシステムとデバッガとを接
続しなければならなかったが、本システムでは8本の信
号で接続すればよい。これにより、プローブの小型化、
低価格化ができる。
As described above, according to the present invention, the hardware specifications of the debug tool can be made common, and the number of signals for connection with the debug tool can be reduced. For example, in the conventional method, a user target system and a debugger are combined with 30 address signals, 4 byte enable signals, read signals, write signals, read response signals, write response signals, 32 data signals, for a total of 70 signals. It was necessary to connect, but in this system, it is sufficient to connect with eight signals. This makes the probe smaller,
The price can be reduced.

【0327】ユーザターゲット上のマイクロプロセッサ
がメモリやI/Oをアクセスするので、デバッグツール
に要求されるタイミング条件が改善される。デバッグツ
ールに接続されない信号に関しては、影響を及ぼさな
い。デバッグツールとマイクロプロセッサ間の通信速度
を必要に応じて遅くできる。これにより、高速のマイク
ロプロセッサにも対応することができる。
Since the microprocessor on the user target accesses the memory and I / O, the timing condition required for the debug tool is improved. It has no effect on signals that are not connected to the debug tool. The communication speed between the debug tool and the microprocessor can be slowed down if necessary. This makes it possible to support a high-speed microprocessor.

【0328】また、図43に示す従来例に比べて、次の
ような効果が得られる。モニタプログラムをデバッグツ
ール側のメモリで実行するため、ユーザのメモリを使用
しない。モニタに入るために専用のデバッグ例外、デバ
ッグリセットを用意しているために、ユーザの割り込み
に制限を加えない。ユーザターゲットシステムにシルア
ルインターフェースを用意する必要がない。ハードウェ
ーアブレークポイントが使用可能である。
Further, the following effects can be obtained as compared with the conventional example shown in FIG. Since the monitor program is executed in the memory on the debug tool side, the user's memory is not used. Since a dedicated debug exception and debug reset are provided to enter the monitor, the user interrupt is not limited. There is no need to provide a serial interface in the user target system. Hardware breakpoints are available.

【0329】一方、図44に示す従来例に比べて、マイ
クロプロセッサ内部に、シーケンサを持つ必要がないた
め、マイクロプロセッサ内部に追加されるデバッグのた
めのロジック回路が簡単になる。モニタプログラムによ
ってレジスタにアクセスするため派生品のマイクロプロ
セッサでレジスタが追加されるような場合でもモニタプ
ログラムを変更するだけで容易にそれらに対応してアク
セスすることが可能となる。
On the other hand, as compared with the conventional example shown in FIG. 44, since it is not necessary to have a sequencer inside the microprocessor, the logic circuit for debugging added inside the microprocessor becomes simple. Since the monitor program accesses the registers, even if the microprocessor of the derivative product adds the registers, it is possible to easily access the registers by changing the monitor program.

【0330】[0330]

【発明の効果】以上説明したように、この発明によれ
ば、ユーザーターゲットシステム上のマイクロプロセッ
サにデバッグ機能を備えるようにしたので、ユーザータ
ーゲットシステム上のマイクロプロセッサにデバッグ機
能をユーザーターゲットシステムとデバッガとの接続に
要する信号を削減することができる。また、デバッグ時
でもユーザーターゲットシステム上でマイクロプロセッ
サを動作させるようにしたので、ユーザーターゲットシ
ステム上のメモリやI/Oのアクセスを容易にすること
ができる。
As described above, according to the present invention, the microprocessor on the user target system is provided with the debug function. Therefore, the microprocessor on the user target system is provided with the debug function. It is possible to reduce the signal required for connection with. Further, since the microprocessor is made to operate on the user target system even during debugging, it is possible to easily access the memory and I / O on the user target system.

【0331】また、請求項10記載の発明によれば、ユ
ーザープログラムの実行中(ノーマルモード)には、デ
バッグツール及びデバッグモジュール内の制御レジスタ
のアクセスが不可能であるので、ユーザープログラムに
よってデバッグツールで使用するメモリやレジスタで誤
って破壊されることがなくなり、信頼性の高いデバッグ
システムを実現できる。
According to the tenth aspect of the invention, since the debug tool and the control register in the debug module cannot be accessed during execution of the user program (normal mode), the debug tool is executed by the user program. The memory and registers used in will not be accidentally destroyed, and a highly reliable debug system can be realized.

【0332】さらに、請求項11記載の発明によれば、
プロセッサコアがデバッグモードへ移行した後でも、デ
バッグツール及びデバッグモジュール内の制御レジスタ
のアクセスが禁止される。プロセッサコアがデバッグ例
外を発生してデバッグモードへ移行したが、直前のユー
ザープログラムのライトオペレーションがまだ完了して
いないことがあり得る。この時、そのライトがデバッグ
ツール又はデバッグモジュール内の制御レジスタへのラ
イトであった場合でも、MPビットがセットされていれ
ば、そのライトアクセスを禁止することができる。これ
により、ユーザープログラムによって、デバッグツール
で使用するメモリやレジスタが誤って破壊されることが
なくなり、信頼性の高いデバッグシステムを実現でき
る。
Further, according to the invention of claim 11,
Even after the processor core enters the debug mode, access to the control register in the debug tool and the debug module is prohibited. It is possible that the processor core generated a debug exception and entered debug mode, but the write operation of the immediately preceding user program has not yet completed. At this time, even if the write is a write to the control register in the debug tool or the debug module, the write access can be prohibited if the MP bit is set. As a result, the memory and registers used by the debug tool are not accidentally destroyed by the user program, and a highly reliable debug system can be realized.

【0333】またさらに、請求項12又は13記載の発
明によれば、デバッグモード中のCTC0命令によるデ
バッグツールへのライトは、DCRレジスタのMPビッ
トの値によらず、常に可能であり、また、メモリライト
命令とは異なってモニタ領域のアドレスを作るために汎
用レジスタを使用する必要がない。
According to the twelfth or thirteenth aspect of the invention, writing to the debug tool by the CTC0 instruction in the debug mode is always possible regardless of the value of the MP bit of the DCR register, and Unlike the memory write instruction, it is not necessary to use the general purpose register to make the address of the monitor area.

【0334】したがって、汎用レジスタの内容を書き壊
すことなく、デバッグ例外発生直後に、汎用レジスタの
値をデバッグツール上のメモリへセーブすることが可能
である。このように、ユーザーが使用している汎用レジ
スタの内容をデバッグツールが書き壊すことがなく、透
過性に優れたデバッグシステムを実現できる。
Therefore, it is possible to save the value of the general-purpose register in the memory on the debug tool immediately after the occurrence of the debug exception, without overwriting the contents of the general-purpose register. In this way, the debug tool does not overwrite the contents of the general-purpose registers used by the user, and a highly transparent debug system can be realized.

【0335】また、本発明によれば、ユーザーターゲッ
ト上のマイクロプロセッサにデバッグ機能を備えること
によって、PCトレース出力に必要なインターフェース
信号を削減することができる。
Further, according to the present invention, the microprocessor on the user target is provided with the debug function, so that the interface signals required for the PC trace output can be reduced.

【0336】また、本発明によれば、ユーザーターゲッ
ト上のマイクロプロセッサにデバッグ機能を備えること
によって、最小のハードウエアによってトリガ機能を実
現することができる。
Further, according to the present invention, the trigger function can be realized with the minimum hardware by providing the microprocessor on the user target with the debug function.

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

【図1】請求項1又は2記載の発明の一実施形態に係わ
るマイクロプロセッサ及びデバッグシステムの構成を示
す図である。
FIG. 1 is a diagram showing a configuration of a microprocessor and a debug system according to an embodiment of the invention described in claim 1 or 2.

【図2】図1に示す実施形態のデバッグモジュールの構
成を示す図である。
FIG. 2 is a diagram showing a configuration of a debug module of the embodiment shown in FIG.

【図3】図1に示す実施形態のレジスタ回路の構成を示
す図である。
FIG. 3 is a diagram showing a configuration of a register circuit of the embodiment shown in FIG.

【図4】図3に示すレジスタ部におけるDCRレジスタ
の構成を示す図である。
4 is a diagram showing a configuration of a DCR register in the register unit shown in FIG.

【図5】図3に示すレジスタ部におけるIBA0レジス
タの構成を示す図である。
5 is a diagram showing a configuration of an IBA0 register in the register unit shown in FIG.

【図6】図3に示すレジスタ部におけるIBC0レジス
タの構成を示す図である。
6 is a diagram showing a configuration of an IBC0 register in the register unit shown in FIG.

【図7】図3に示すレジスタ部におけるIBSレジスタ
の構成を示す図である。
7 is a diagram showing a configuration of an IBS register in the register unit shown in FIG.

【図8】図3に示すレジスタ部におけるDBA0レジス
タの構成を示す図である。
8 is a diagram showing a configuration of a DBA0 register in the register unit shown in FIG.

【図9】図3に示すレジスタ部におけるDBC0レジス
タの構成を示す図である。
9 is a diagram showing a configuration of a DBC0 register in the register unit shown in FIG.

【図10】図3に示すレジスタ部におけるDBSレジス
タの構成を示す図である。
10 is a diagram showing a configuration of a DBS register in the register unit shown in FIG.

【図11】図3に示すレジスタ部におけるPBA0レジ
スタの構成を示す図である。
11 is a diagram showing a configuration of a PBA0 register in the register unit shown in FIG.

【図12】図3に示すレジスタ部におけるPBD0レジ
スタの構成を示す図である。
12 is a diagram showing a configuration of a PBD0 register in the register unit shown in FIG.

【図13】図3に示すレジスタ部におけるPBM0レジ
スタの構成を示す図である。
13 is a diagram showing a configuration of a PBM0 register in the register unit shown in FIG.

【図14】図3に示すレジスタ部におけるPBC0レジ
スタの構成を示す図である。
14 is a diagram showing a configuration of a PBC0 register in the register unit shown in FIG.

【図15】図3に示すレジスタ部におけるPBSレジス
タの構成を示す図である。
15 is a diagram showing a configuration of a PBS register in the register unit shown in FIG.

【図16】図2に示すデバッグモジュール部の命令/デ
ータアドレスブレーク回路の構成を示す図である。
16 is a diagram showing a configuration of an instruction / data address break circuit of the debug module unit shown in FIG.

【図17】図2に示すデバッグモジュール部のプロセッ
サバスブレーク回路の構成を示す図である。
17 is a diagram showing a configuration of a processor bus break circuit of the debug module unit shown in FIG.

【図18】図2に示すデバッグモジュール部のシリアル
モニタバス回路の構成を示す図である。
18 is a diagram showing a configuration of a serial monitor bus circuit of the debug module unit shown in FIG.

【図19】シリアルモニタバスのリードオペレーション
のタイミング図である。
FIG. 19 is a timing diagram of a read operation of the serial monitor bus.

【図20】シリアルモニタバスのライトオペレーション
のタイミング図である。
FIG. 20 is a timing diagram of a write operation of the serial monitor bus.

【図21】シリアルモニタバスのCFC0命令によるシ
リアルモニタバスのリードオペレーションのタイミング
図である。
FIG. 21 is a timing diagram of a serial monitor bus read operation by a CFC0 instruction of the serial monitor bus.

【図22】シリアルモニタバスのCTC0命令によるシ
リアルモニタバスのライトオペレーションのタイミング
図である。
FIG. 22 is a timing diagram of a write operation of the serial monitor bus according to the CTC0 instruction of the serial monitor bus.

【図23】図18に示すシリアルモニタバスコントロー
ル回路の動作フローを示す図である。
FIG. 23 is a diagram showing an operation flow of the serial monitor bus control circuit shown in FIG. 18.

【図24】シリアルモニタバスのリードバスオペレーシ
ョンの動作フローを示す図である。
FIG. 24 is a diagram showing an operation flow of a read bus operation of the serial monitor bus.

【図25】シリアルモニタバスのライトバスオペレーシ
ョンの動作フローを示す図である。
FIG. 25 is a diagram showing an operation flow of a write bus operation of the serial monitor bus.

【図26】図2に示すデバッグモジュール部のPCトレ
ース回路の構成を示す図である。
FIG. 26 is a diagram showing the configuration of a PC trace circuit of the debug module unit shown in FIG.

【図27】分岐命令のPCトレース出力のタイミング図
である。
FIG. 27 is a timing diagram of PC trace output of a branch instruction.

【図28】インダイレクトジャンプ命令のPCトレース
のタイミング図である。
FIG. 28 is a timing diagram of PC trace of an indirect jump instruction.

【図29】例外とインダイレクトジャンプ命令のPCト
レース出力のタイミング図である。
FIG. 29 is a timing chart of PC trace output of an exception and an indirect jump instruction.

【図30】命令/データアドレストレーストリガのタイ
ミング図である。
FIG. 30 is a timing diagram of an instruction / data address trace trigger.

【図31】例外発生命令で命令/データアドレストレー
ストリガが発生したときのタイミング図である。
FIG. 31 is a timing diagram when an instruction / data address trace trigger is generated by an exception generation instruction.

【図32】インダイレクト命令で命令/データアドレス
トレーストリガが発生したときのタイミング図である。
FIG. 32 is a timing diagram when an instruction / data address trace trigger occurs with an indirect instruction.

【図33】デバッグ例外発生時のPCST[2:0]出
力のタイミング図である。
FIG. 33 is a timing diagram of PCST [2: 0] output when a debug exception occurs.

【図34】ターゲットPC出力中にデバッグ例外が発生
した時のPCST[2:0]出力のタイミング図であ
る。
FIG. 34 is a timing diagram of PCST [2: 0] output when a debug exception occurs during target PC output.

【図35】デバッグモードからの復帰時のPCST
[2:0]出力のタイミング図である。
FIG. 35: PCST when returning from debug mode
FIG. 6 is a timing diagram of [2: 0] output.

【図36】ターゲットPCの出力のタイミング図であ
る。
FIG. 36 is a timing diagram of output from the target PC.

【図37】ターゲットPC出力中に次のインダイレクト
ジャンプが発生したときのタイミング図である。
FIG. 37 is a timing diagram when the next indirect jump occurs while outputting the target PC.

【図38】ターゲットPC出力中に例外が発生したとき
のタイミング図である。
FIG. 38 is a timing diagram when an exception occurs during target PC output.

【図39】図2に示す実施形態の外部インターフェース
回路の構成を示す図である。
39 is a diagram showing a configuration of an external interface circuit of the embodiment shown in FIG.

【図40】IBSレジスタの拡張例を示す図である。FIG. 40 is a diagram showing an extension example of an IBS register.

【図41】請求項3記載の発明の一実施形態に係わるデ
バッグシステムの構成を示す図である。
FIG. 41 is a diagram showing a configuration of a debug system according to an embodiment of the invention as set forth in claim 3;

【図42】従来のユーザターゲットシステムをデバッグ
するデバッグシステムの一構成を示す図である。
FIG. 42 is a diagram showing a configuration of a debug system for debugging a conventional user target system.

【図43】従来のユーザターゲットシステムをデバッグ
するデバッグシステムの他の構成を示す図である。
FIG. 43 is a diagram showing another configuration of a debug system for debugging a conventional user target system.

【図44】従来のユーザターゲットシステムをデバッグ
するデバッグシステムのさらに他の構成を示す図であ
る。
FIG. 44 is a diagram showing still another configuration of the debug system for debugging the conventional user target system.

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

10 マイクロプロセッサ 20 プロセッサコア 30 デバッグモジュール 31 命令/データアドレスブレーク回路 32 PCトレース回路 33 プロセッサバスブレーク回路 34 シリアルモニタバス回路 35 レジスタ回路 36 外部インターフェース回路 37 分周回路 40 メモリ 50 I/O 60 デバッガ 70 ユーザーターゲットシステム 80 システムバス 10 Microprocessor 20 Processor Core 30 Debug Module 31 Instruction / Data Address Break Circuit 32 PC Trace Circuit 33 Processor Bus Break Circuit 34 Serial Monitor Bus Circuit 35 Register Circuit 36 External Interface Circuit 37 Dividing Circuit 40 Memory 50 I / O 60 Debugger 70 User target system 80 system bus

Claims (26)

【特許請求の範囲】[Claims] 【請求項1】 ユーザープログラムとユーザーターゲッ
トシステムをデバッグするモニタプログラムを実行する
プロセッサコアと、 前記プロセッサコアと内部デバッグインターフェース又
はプロセッサバスを介して接続され、モニタプログラム
を前記プロセッサコアが実行可能とするためのデバッグ
ツールとのインターフェース手段と、前記プロセッサコ
アがユーザープログラムの実行中にユーザープログラム
からモニタプログラムへ移行するための割り込み又は例
外を前記プロセッサコアに要求する実行制御手段を備え
たデバッグモジュールとを有することを特徴とするマイ
クロプロセッサ。
1. A processor core for executing a monitor program for debugging a user program and a user target system, and a processor core connected to the processor core via an internal debug interface or a processor bus to enable the processor core to execute the monitor program. And a debug module having an execution control means for requesting an interrupt or an exception for the processor core to shift from the user program to the monitor program while the processor core is executing the user program. A microprocessor having.
【請求項2】 ユーザーターゲットシステムをデバッグ
するモニタプログラムを含むデバッグツールと、 ユーザープログラム又はモニタプログラムを実行するプ
ロセッサコアと、前記プロセッサコアと内部デバッグイ
ンターフェース又はプロセッサバスを介して接続され、
前記デバッグツールと外部デバッグインターフェースを
介して接続され、モニタプログラムを前記プロセッサコ
アが実行可能とするための前記デバッグツールとのイン
ターフェース手段、及び前記プロセッサコアがユーザー
プログラムの実行中にユーザープログラムからモニタプ
ログラムへ移行するための割り込み又は例外を前記プロ
セッサコアに要求する実行制御手段を備えたデバッグモ
ジュールとからなるマイクロプロセッサと、 前記マイクロプロセッサとプロセッサバスにより接続さ
れてデバッグの対象となるユーザーターゲットシステム
を構成し、前記マイクロプロセッサがユーザープログラ
ムを実行するために必要となる情報を記憶するメモリ
と、 前記マイクロプロセッサとプロセッサバスにより接続さ
れてデバッグの対象となるユーザーターゲットシステム
を構成するI/O装置とを有することを特徴とするデバ
ッグシステム。
2. A debug tool including a monitor program for debugging a user target system, a processor core for executing a user program or a monitor program, and a processor core connected to the processor core via an internal debug interface or a processor bus.
An interface unit with the debug tool, which is connected to the debug tool through an external debug interface and allows the processor core to execute a monitor program, and a monitor program from the user program while the processor core is executing the user program. And a microprocessor including a debug module having an execution control means for requesting an interrupt or an exception to shift to the processor core, and a user target system to be debugged, which is connected to the microprocessor by a processor bus However, a memory that stores information necessary for the microprocessor to execute a user program and a memory that is connected to the microprocessor via a processor bus are not a target for debugging. Debugging system characterized by having a I / O device to configure a user target system.
【請求項3】 前記デバッグモジュールは、 前記プロセッサコアから出力される命令又はデータのア
ドレスを入力し、その値が予め設定された前記アドレス
と一致したとき前記プロセッサコアへアドレスブレーク
例外を要求するブレーク回路と、 前記プロセッサコアと前記プロセッサバスで接続され、
前記プロセッサバス上のバスサイクルを監視して、予め
設定されたアドレスとデータのバスサイクルが実行され
ると、前記プロセッサコアへ例外を要求するプロセッサ
バスブレーク回路と、 前記プロセッサバスによって前記プロセッサコアと接続
され、前記プロセッサコアがデバッグツール上のモニタ
プログラムを実行するときにインターフェースを行うシ
リアルモニタバス回路と、 デバッグモジュールの機能を制御する情報を格納し、格
納された情報が前記プロセッサコアによってリード/ラ
イトされるレジスタ回路と、 前記シリアルモニタバス回路、前記プロセッサコアと前
記デバッグツールとのインターフェースを制御する外部
インターフェース回路と、 前記マイクロプロセッサと前記デバッグツールとの間を
入出力する信号の転送速度を規定するクロック信号を前
記デバッグツールに供給するクロック信号供給回路とを
有することを特徴とする請求項1又は2記載のマイクロ
プロセッサ又はデバッグシステム。
3. The debug module inputs an address of an instruction or data output from the processor core, and when the value matches the preset address, a break requesting an address break exception to the processor core. A circuit, connected to the processor core by the processor bus,
A processor bus break circuit that monitors a bus cycle on the processor bus and requests an exception to the processor core when a preset address and data bus cycle is executed; and the processor core by the processor bus. A serial monitor bus circuit that is connected and that interfaces when the processor core executes a monitor program on a debug tool and information that controls the function of the debug module are stored, and the stored information is read / written by the processor core. A register circuit to be written, the serial monitor bus circuit, an external interface circuit that controls the interface between the processor core and the debug tool, and transfer of signals that are input / output between the microprocessor and the debug tool 3. A microprocessor or a debug system according to claim 1 or 2, further comprising a clock signal supply circuit for supplying a clock signal defining a speed to the debug tool.
【請求項4】 前記クロック信号供給回路は、前記プロ
セッサコアが動作するクロック信号の整数倍又は2のべ
き乗の周期のクロック信号を供給することを特徴とする
請求項3記載のマイクロプロセッサ又はデバッグシステ
ム。
4. The microprocessor or debug system according to claim 3, wherein the clock signal supply circuit supplies a clock signal having a cycle of an integer multiple of the clock signal for operating the processor core or a power of two. .
【請求項5】 前記デバッグモジュールと前記デバッグ
ツールとの接続信号は、前記デバッグツールとの接続の
みに使用することを特徴とする請求項1,2,3又は4
記載のマイクロプロセッサ又はデバッグシステム。
5. The connection signal between the debug module and the debug tool is used only for connection with the debug tool.
Microprocessor or debug system as described.
【請求項6】 前記デバッグモジュールと前記デバッグ
ツールとの接続信号は、全て単一方向の信号からなるこ
とを特徴とする請求項1,2,3,4又は5記載のマイ
クロプロセッサ又はデバッグシステム。
6. The microprocessor or debug system according to claim 1, wherein all connection signals between the debug module and the debug tool are unidirectional signals.
【請求項7】 前記デバッグモジュールは、 前記プロセッサコアが特定のアドレス領域をアクセスし
た際に、前記プロセッサコアの複数のアドレス信号又は
バスコントロール信号を予め設定された時間間隔で順次
前記デバッグツールに出力し、前記プロセッサコアがラ
イトアクセスした際は、さらにデータ出力信号を予め設
定された時間間隔で順次前記デバッグツールに出力し、
前記プロセッサコアがリードアクセスした際に、前記デ
バッグツールからの入力信号を予め設定された時間間隔
で順次入力し、複数ビットのデータ信号を構成して前記
プロセッサコアに出力することを特徴とする請求項1,
2,3,4,5又は6記載のマイクロプロセッサ又はデ
バッグシステム。
7. The debug module sequentially outputs a plurality of address signals or bus control signals of the processor core to the debug tool at preset time intervals when the processor core accesses a specific address area. Then, when the processor core makes a write access, a data output signal is further sequentially output to the debug tool at a preset time interval,
When the processor core performs read access, input signals from the debug tool are sequentially input at preset time intervals, a data signal of a plurality of bits is configured and output to the processor core. Item 1,
2. The microprocessor or debug system according to 2, 3, 4, 5 or 6.
【請求項8】 前記予め設定された時間間隔は、前記ク
ロック信号供給回路の出力クロックによって規定される
ことを特徴とする請求項7記載のマイクロプロセッサ又
はデバッグシステム。
8. The microprocessor or debug system according to claim 7, wherein the preset time interval is defined by an output clock of the clock signal supply circuit.
【請求項9】 前記デバッグモジュールと前記デバッグ
ツールとは、1本の第1転送線を介して前記プロセッサ
コアの複数のバスインターフェース信号を1ビットシリ
アルに前記デバッグツールに転送し、1本の第2転送線
を介して前記デバッグツールから1ビットシリアルに情
報を前記デバッグモジュールに転送することを特徴とす
る請求項1,2,3,4,5、6,7又は8記載のマイ
クロプロセッサ又はデバッグシステム。
9. The debug module and the debug tool transfer a plurality of bus interface signals of the processor core serially to the debug tool via one first transfer line, and transfer the plurality of bus interface signals to the debug tool. 9. The microprocessor or debug according to claim 1, 2, 3, 4, 5, 6, 7 or 8, wherein information is transferred from said debug tool to said debug module serially via two transfer lines. system.
【請求項10】 前記プロセッサコアは、モニタプログ
ラムへの遷移を要求する例外あるいはリセットを発生す
ると有効となるモード信号を有し、 前記デバッグモジュールは、前記モード信号が有効な場
合にのみ前記プロセッサコアから前記デバッグツール又
は前記デバッグモジュール内の前記レジスタ回路にアク
セスが可能となることを特徴とする請求項1,2又は4
記載のマイクロプロセッサ又はデバッグシステム。
10. The processor core has a mode signal which becomes valid when an exception or a reset requesting a transition to a monitor program is generated, and the debug module has the processor core only when the mode signal is valid. 5. The register circuit in the debug tool or the debug module can be accessed from the device.
Microprocessor or debug system as described.
【請求項11】 前記プロセッサコアは、モニタプログ
ラムへの遷移を要求する例外あるいはリセットを発生す
ると有効となるモード信号を有し、 前記デバッグモジュールは、前記デバッグモジュールへ
のアクセスを禁止する制御ビットを有し、この制御ビッ
トが有効な場合は前記モード信号が有効であっても前記
プロセッサから前記デバッグツール又は前記デバッグモ
ジュール内の前記レジスタ回路へのアクセスを禁止する
ことを特徴とする請求項1,2又は4記載のマイクロプ
ロセッサ又はデバッグシステム。
11. The processor core has a mode signal that becomes valid when an exception or a reset requesting a transition to a monitor program is generated, and the debug module has a control bit for prohibiting access to the debug module. When the control bit is valid, the access to the register circuit in the debug tool or the debug module from the processor is prohibited even if the mode signal is valid. 2. The microprocessor or debug system according to 2 or 4.
【請求項12】 前記プロセッサコアは、モニタプログ
ラムへの遷移を要求する例外あるいはリセットを発生す
ると有効となるモードを有し、汎用レジスタの値をデー
タ信号へ出力するとともに、第1のライト信号を有効に
する第1のライト命令と、汎用レジスタの値をデータ信
号へ出力するとともに、第2のライト信号を有効にする
第2のライト命令を有することを特徴とする請求項1,
2又は4記載のマイクロプロセッサ又はデバッグシステ
ム。
12. The processor core has a mode which becomes valid when an exception or a reset requesting a transition to a monitor program is generated, and outputs the value of a general-purpose register to a data signal and also outputs a first write signal. 2. A first write instruction for making valid and a second write instruction for making the value of the general-purpose register output to the data signal and making the second write signal valid.
2. The microprocessor or debug system according to 2 or 4.
【請求項13】 前記デバッグモジュールは、前記デバ
ッグモジュールへのアクセスを禁止する制御ビットを有
し、前記制御ビットが有効な場合は前記第1のライト信
号による前記デバッグモジュールへのライトアクセスを
禁止し、前記第2のライト信号による前記デバッグモジ
ュールへのライトアクセスは前記制御ビットの値によら
ず許可することを特徴とする請求項12記載のマイクロ
プロセッサ又はデバッグシステム。
13. The debug module has a control bit for prohibiting access to the debug module, and prohibits write access to the debug module by the first write signal when the control bit is valid. 13. The microprocessor or debug system according to claim 12, wherein write access to the debug module by the second write signal is permitted regardless of the value of the control bit.
【請求項14】 プログラムを実行するプロセッサコア
と、 前記プロセッサコアと内部デバッグインターフェースを
介して接続され、 前記プロセッサコアから出力される、実行している命令
のアドレスの値を、 命令のアドレスのビット幅よりも少ない本数のPC出力
信号に出力するPCトレース回路と、を有することを特
徴とするマイクロプロセッサ。
14. A processor core for executing a program, the address value of an instruction being executed, which is connected to the processor core via an internal debug interface, and is output from the processor core, A PC trace circuit that outputs to a PC output signal of a number smaller than the width, and a microprocessor.
【請求項15】 前記プロセッサコアは、インダイレク
トジャンプ命令を実行したときに、それを示すインダイ
レクトジャンプ有効信号を有効にし、そのインダイレク
トジャンプ命令のジャンプ先アドレスの値を前記PCト
レース回路へ出力し、 前記PCトレース回路は、前記インダイレクトジャンプ
有効信号が有効になると、前記プロセッサコアからその
ジャンプ先アドレスを入力し、前記PC出力信号へアド
レスの下位ビットの方から、ジャンプ先アドレスを出力
し、ジャンプ先アドレスの出力を開始したことを示す情
報をPCステータス信号へ出力すること、を特徴とする
請求項14記載のマイクロプロセッサ。
15. The processor core, when executing an indirect jump instruction, enables an indirect jump enable signal indicating the indirect jump instruction, and outputs the value of the jump destination address of the indirect jump instruction to the PC trace circuit. When the indirect jump enable signal becomes valid, the PC trace circuit inputs the jump destination address from the processor core and outputs the jump destination address to the PC output signal from the lower bit of the address. 15. The microprocessor according to claim 14, wherein the information indicating that the output of the jump destination address is started is output to the PC status signal.
【請求項16】 前記プロセッサコアは、例外が発生し
たときに、それを示す例外有効信号を有効にし、その例
外に対応するジャンプ先アドレスの値を前記PCトレー
ス回路へ出力し、 前記PCトレース回路は、前記例外有効信号が有効にな
ると、前記プロセッサコアからそのジャンプ先アドレス
を入力し、そのジャンプ先アドレスを少ないビット数の
情報にコード化し、例外のジャンプ先アドレスの出力を
開始したことを示す情報をPCステータス信号へ前記P
C出力信号へ出力すること、を特徴とする請求項14又
は15記載のマイクロプロセッサ。
16. The processor core, when an exception occurs, validates an exception valid signal indicating the exception and outputs a value of a jump destination address corresponding to the exception to the PC trace circuit. Indicates that when the exception valid signal becomes valid, the jump destination address is input from the processor core, the jump destination address is encoded into information of a small number of bits, and the output of the exception jump destination address is started. Information is transferred to the PC status signal
16. The microprocessor according to claim 14, wherein the microprocessor outputs the C output signal.
【請求項17】 前記PCトレース回路が、第1のイン
ダイレクトジャンプのジャンプ先アドレスを出力してい
るときに、前記プロセッサコアが、第2のインダイレク
トジャンプを実行したとき、 前記プロセッサコアは、第2のインダイレクトジャンプ
命令を実行したときに、それを示すインダイレクトジャ
ンプ有効信号を有効にし、第2のインダイレクトジャン
プ命令のジャンプ先アドレスの値を前記PCトレース回
路へ出力し、 前記PCトレース回路は、第2のインダイレクトジャン
プに対応する前記インダイレクトジャンプ有効信号が有
効になると、前記プロセッサコアから第2のインダイレ
クトジャンプのジャンプ先アドレスを入力し、第1のイ
ンダイレクトジャンプのジャンプ先アドレスの出力を中
止して、第2のインダイレクトジャンプのジャンプ先ア
ドレスを前記PC出力信号へ出力し、ジャンプ先アドレ
スの出力を開始したことを示す情報をPCステータス信
号へ出力すること、を特徴とする請求項15記載のマイ
クロプロセッサ。
17. When the PC trace circuit outputs a jump destination address of a first indirect jump, when the processor core executes a second indirect jump, the processor core includes: When the second indirect jump instruction is executed, the indirect jump valid signal indicating the second indirect jump instruction is validated, and the value of the jump destination address of the second indirect jump instruction is output to the PC trace circuit. The circuit inputs the jump destination address of the second indirect jump from the processor core when the indirect jump enable signal corresponding to the second indirect jump becomes valid, and the jump destination of the first indirect jump is input. 2nd indirect after stopping address output The jump destination address of the Jump is output to the PC output signal, the microprocessor of claim 15, wherein the information indicating that it has started the output of the jump destination address to output to the PC status signal, characterized by.
【請求項18】 前記PCトレース回路が、インダイレ
クトジャンプのジャンプ先アドレスを出力しているとき
に、前記プロセッサコアが、例外を発生したとき、 前記プロセッサコアは、前記例外が発生したときに、そ
れを示す例外有効信号を有効にし、その例外に対応する
ジャンプ先アドレスの値を前記PCトレース回路へ出力
し、 前記PCトレース回路は、前記例外有効信号が有効にな
ると、前記プロセッサコアから前記例外のジャンプ先ア
ドレスを入力し、前記インダイレクトジャンプのジャン
プ先アドレスの出力を一時中断して、前記例外のジャン
プ先アドレスを少ないビット数の情報にコード化し、前
記PC出力信号へ出力し、例外のジャンプ先アドレスの
出力を開始したことを示す情報をPCステータス信号へ
出力し、前記例外のコードの出力が終了した後、中断し
ていた前記インダイレクトジャンプのジャンプ先アドレ
スを出力すること、を特徴とする請求項15,16又は
17記載のマイクロプロセッサ。
18. When the PC trace circuit outputs a jump destination address of an indirect jump, when the processor core generates an exception, when the processor core generates the exception, The exception valid signal indicating that is validated, the value of the jump destination address corresponding to the exception is output to the PC trace circuit, and the PC trace circuit causes the exception from the processor core when the exception valid signal becomes valid. Of the indirect jump, the output of the jump destination address of the indirect jump is temporarily suspended, the jump destination address of the exception is coded into information of a small number of bits, and is output to the PC output signal. Information indicating that the output of the jump destination address is started is output to the PC status signal, and the exception After the output of the code is completed, the microprocessor of claim 15, 16 or 17 wherein a, outputs a jump destination address of the indirect jump that has been suspended.
【請求項19】 前記プロセッサコアは、ダイレクトジ
ャンプ命令あるいは分岐成功の条件分岐命令を実行した
ときに、それを示すダイレクトジャンプ有効信号を有効
にし、そのダイレクトジャンプ命令あるいは条件分岐命
令のジャンプ先アドレスの値を前記PCトレース回路へ
出力し、 前記PCトレース回路は、前記ダイレクトジャンプ有効
信号が有効になると、インダイレクトジャンプのジャン
プ先アドレスを出力していないときは、前記プロセッサ
コアから前記ジャンプ先アドレスを入力し、前記PC出
力信号へアドレスの下位ビットの方から、ジャンプ先ア
ドレスを出力し、ジャンプ先アドレスの出力を開始した
ことを示す情報をPCステータス信号へし、 また、インダイレクトジャンプのジャンプ先アドレスを
出力しているときは、単にダイレクトジャンプの実行あ
るいは分岐成功の条件分岐命令を実行したことを示す情
報を前記PCステータス信号へ出力すること、を特徴と
する請求項15,16,17又は18記載のマイクロプ
ロセッサ。
19. The processor core, when executing a direct jump instruction or a conditional branch instruction of branch success, validates a direct jump enable signal indicating the instruction, and sets the jump destination address of the direct jump instruction or the conditional branch instruction. A value is output to the PC trace circuit, and when the direct jump valid signal becomes valid, the PC trace circuit outputs the jump destination address from the processor core when not outputting the jump destination address of the indirect jump. Input, output the jump destination address from the lower bit of the address to the PC output signal, and output the information indicating that the output of the jump destination address is started to the PC status signal, and the jump destination of the indirect jump. When outputting the address Simply microprocessor of claim 15, 16, 17 or 18, wherein the, for outputting information indicating execution of the conditional branch instruction of the execution of the direct jump or branch success to the PC status signal.
【請求項20】 前記プロセッサコアは、命令が実行さ
れたときに有効になるパイプライン実行信号を出力し、 前記PCトレース信号は、前記プロセッサコアから前記
パイプライン実行信号を入力して、前記パイプライン実
行信号が有効なとき、命令が前記プロセッサコアで実行
されたことを示す情報を前記PCステータス信号へ出力
し、 前記パイプライン実行信号が無効なとき、命令が実行さ
れなかったことを示す情報を前記PCステータス信号へ
出力すること、を特徴とする請求項14,15,16,
17,18又は19記載のマイクロプロセッサ。
20. The processor core outputs a pipeline execution signal that becomes valid when an instruction is executed, and the PC trace signal inputs the pipeline execution signal from the processor core to output the pipeline execution signal. Information indicating that an instruction has been executed in the processor core is output to the PC status signal when the line execution signal is valid, and information indicating that the instruction has not been executed when the pipeline execution signal is invalid. Is output to the PC status signal.
The microprocessor according to 17, 18 or 19.
【請求項21】 前記PCトレース回路が、第1のイン
ダイレクトジャンプ先アドレスを出力しているときに、
前記プロセッサコアが、第2のインダイレクトジャンプ
命令を実行したとき、 前記プロセッサコアは、第2のインダイレクトジャンプ
命令を実行したときに、それを示すインダイレクトジャ
ンプ有効信号を有効にし、第2のインダイレクトジャン
プ命令のジャンプ先アドレスの値を前記PCトレース回
路へ出力し、また、プロセッサコア停止信号が有効にな
ると、実行を一時停止し、 前記PCトレース回路は、第2のインダイレクトジャン
プに対応する前記インダイレクトジャンプ有効信号が有
効になると、前記プロセッサコア停止信号を有効にし、
第1のジャンプ先アドレスの出力を完了させ、次に前記
プロセッサコアから第2のインダイレクトジャンプのジ
ャンプ先アドレスを入力し、 第2のインダイレクトジャンプのジャンプ先アドレスを
前記PC出力信号へ出力し、ジャンプ先アドレスの出力
を開始したことを示す情報をPCステータス信号へ出力
すること、を特徴とする請求項14記載のマイクロプロ
セッサ。
21. When the PC trace circuit is outputting a first indirect jump destination address,
When the processor core executes the second indirect jump instruction, when the processor core executes the second indirect jump instruction, the processor core validates an indirect jump enable signal indicating the second indirect jump instruction, The value of the jump destination address of the indirect jump instruction is output to the PC trace circuit, and when the processor core stop signal becomes valid, the execution is temporarily stopped, and the PC trace circuit corresponds to the second indirect jump. When the indirect jump enable signal is enabled, the processor core stop signal is enabled,
Complete the output of the first jump destination address, then input the jump destination address of the second indirect jump from the processor core, and output the jump destination address of the second indirect jump to the PC output signal. 15. The microprocessor according to claim 14, wherein the information indicating that the output of the jump destination address is started is output to the PC status signal.
【請求項22】 前記PCトレース回路が、第1のイン
ダイレクトジャンプ先アドレスを出力しているときに、
前記プロセッサコアが、第2のインダイレクトジャンプ
命令を実行したとき、 前記プロセッサコアは、第2のインダイレクトジャンプ
命令を実行したときに、それを示すインダイレクトジャ
ンプ有効信号を有効にし、第2のインダイレクトジャン
プ命令のジャンプ先アドレスの値を前記PCトレース回
路へ出力し、また、プロセッサコア停止信号が有効にな
ると、実行を一時停止し、 前記PCトレース回路は、インダイレクトジャンプのジ
ャンプ先出力を完全に行なうかどうかを示すトレースモ
ード信号入力を持ち、 インダイレクトジャンプのジャンプ先を完全に出力する
モードでは、第2のインダイレクトジャンプに対応する
前記インダイレクトジャンプ有効信号が有効になると、
前記プロセッサコア停止信号を有効にし、第1のジャン
プ先アドレスの出力を完了させ、次に前記プロセッサコ
アから第2のインダイレクトジャンプのジャンプ先アド
レスを入力し、第2のインダイレクトジャンプのジャン
プ先アドレスを前記PC出力信号へ出力し、ジャンプ先
アドレスの出力を開始したことを示す情報をPCステー
タス信号へ出力し、 インダイレクトジャンプのジャンプ先を完全には出力し
ないモードでは、 第2のインダイレクトジャンプに対応する前記インダイ
レクトジャンプ有効信号が有効になると、前記プロセッ
サコアから第2のインダイレクトジャンプのジャンプ先
アドレスを入力し、第1のインダイレクトジャンプのジ
ャンプ先アドレスの出力を中止して、第2のインダイレ
クトジャンプのジャンプ先アドレスを前記PC出力信号
へ出力し、ジャンプ先アドレスの出力を開始したことを
示す情報をPCステータス信号へ出力すること、を特徴
とする請求項14記載のマイクロプロセッサ。
22. When the PC trace circuit is outputting a first indirect jump destination address,
When the processor core executes the second indirect jump instruction, when the processor core executes the second indirect jump instruction, the processor core validates an indirect jump enable signal indicating the second indirect jump instruction, The value of the jump destination address of the indirect jump instruction is output to the PC trace circuit, and when the processor core stop signal becomes valid, the execution is temporarily stopped, and the PC trace circuit outputs the jump destination output of the indirect jump. In a mode that has a trace mode signal input indicating whether or not to perform completely and outputs the jump destination of the indirect jump completely, when the indirect jump valid signal corresponding to the second indirect jump becomes valid,
The processor core stop signal is enabled, the output of the first jump destination address is completed, and then the jump destination address of the second indirect jump is input from the processor core, and the jump destination of the second indirect jump is input. In the mode in which the address is output to the PC output signal, the information indicating that the output of the jump destination address is started is output to the PC status signal, and the jump destination of the indirect jump is not completely output, the second indirect When the indirect jump valid signal corresponding to the jump becomes valid, the jump destination address of the second indirect jump is input from the processor core, and the output of the jump destination address of the first indirect jump is stopped, Jump destination address for the second indirect jump The output to the PC output signal, the microprocessor of claim 14, wherein outputting the information indicating that it has started the output of the jump destination address to the PC status signal, characterized by.
【請求項23】 前記プロセッサコアは、ユーザープロ
グラムとユーザーターゲットシステムをデバッグするモ
ニタプログラムを実行し、ユーザープログラムの実行中
にモニタプログラムへ移行するための割り込み又は例外
が、外部から要求されると、ユーザープログラムの実行
を中断し、モニタプログラムへジャンプしてモニタプロ
グラムの命令フェッチを行ない、 前記PCトレース回路は、前記プロセッサコアがモニタ
プログラムへジャンプしたときでも、ジャンプのターゲ
ットアドレスあるいは例外コードを出力しているとき
は、これらの出力を完了するまで、前記プロセッサコア
の命令フェッチを遅らせること、を特徴とする請求項1
4,15,16,17,18,19,20,21又は2
2記載のマイクロプロセッサ。
23. The processor core executes a monitor program for debugging a user program and a user target system, and when an interrupt or exception for shifting to the monitor program during execution of the user program is externally requested, The execution of the user program is interrupted, the monitor program is jumped to perform the instruction fetch of the monitor program, and the PC trace circuit outputs the jump target address or the exception code even when the processor core jumps to the monitor program. 2 is delayed, the instruction fetch of the processor core is delayed until these outputs are completed.
4,15,16,17,18,19,20,21 or 2
2. The microprocessor according to 2.
【請求項24】 プログラムを実行するプロセッサコア
と、 設定したアドレスとアクセスされたアドレスが一致した
とき、あるいは設定したアドレスとデータがアクセスさ
れたアドレスとデータに一致したときに、前記プロセッ
サコアへブレークを要求するか、トリガ出力要求信号を
有効にするブレーク回路と、 前記ブレーク回路からのトリガ出力要求信号が有効にな
ったとき、外部ステータス信号にその情報を出力するP
Cトレース回路を有することを特徴とするマイクロプロ
セッサ。
24. A break to the processor core when the processor core that executes the program matches the set address and the accessed address, or when the set address and data match the accessed address and data. Or a break circuit for validating the trigger output request signal, and P for outputting the information to the external status signal when the trigger output request signal from the break circuit is validated.
A microprocessor having a C trace circuit.
【請求項25】 前記PCトレース回路は、前記プロセ
ッサコアの内部状態情報をコード化して外部ステータス
信号に出力し、前記プロセッサコアが第1の内部状態で
あるときは、前記トリガ出力要求信号が有効になって
も、その情報を外部ステータス信号に出力せずに、トリ
ガ要求がないときと同じ内部状態の情報を外部ステータ
ス信号へ出力し、前記プロセッサコアが第2の内部状態
であるときは、前記トリガ出力要求信号が有効になる
と、トリガが発生したことを示す情報を外部ステータス
信号へ出力することを特徴とする請求項24記載のマイ
クロプロセッサ。
25. The PC trace circuit encodes the internal state information of the processor core and outputs it as an external status signal, and when the processor core is in the first internal state, the trigger output request signal is valid. Even if, the information is output to the external status signal without outputting the information to the external status signal, the information of the same internal state as when there is no trigger request, and the processor core is in the second internal state, 25. The microprocessor according to claim 24, wherein when the trigger output request signal becomes valid, information indicating that a trigger has occurred is output to an external status signal.
【請求項26】 前記第1の内部状態は、ジャンプ命令
の実行、あるいは例外の発生であり、前記第2の内部状
態は、命令のシーケンシャル実行、あるいはパイプライ
ンストールであることを特徴とする請求項25記載のマ
イクロプロセッサ。
26. The first internal state is execution of a jump instruction or the occurrence of an exception, and the second internal state is sequential execution of an instruction or pipeline stall. 25. The microprocessor according to 25.
JP7341675A 1994-12-28 1995-12-27 Microprocessor and debug system Expired - Lifetime JP2974601B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7341675A JP2974601B2 (en) 1994-12-28 1995-12-27 Microprocessor and debug system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP6-328993 1994-12-28
JP32899394 1994-12-28
JP7341675A JP2974601B2 (en) 1994-12-28 1995-12-27 Microprocessor and debug system

Publications (2)

Publication Number Publication Date
JPH08255096A true JPH08255096A (en) 1996-10-01
JP2974601B2 JP2974601B2 (en) 1999-11-10

Family

ID=26573041

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7341675A Expired - Lifetime JP2974601B2 (en) 1994-12-28 1995-12-27 Microprocessor and debug system

Country Status (1)

Country Link
JP (1) JP2974601B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963741A (en) * 1997-01-29 1999-10-05 Nec Corporation Information processor which rewrites instructions in program to dynamically change program structure and method therefor
WO2001093040A1 (en) * 2000-05-30 2001-12-06 Matsushita Electric Industrial Co., Ltd. Program counter trace system, program counter trace method, and semiconductor device
JP2003099246A (en) * 2001-09-26 2003-04-04 Denso Corp Actuator control system
US7584381B2 (en) 2005-03-25 2009-09-01 Seiko Epson Corporation Semiconductor integrated circuit device, debug system, microcomputer, and electronic apparatus
US11418505B2 (en) 2018-08-30 2022-08-16 Kabushiki Kaisha Toshiba Information processing apparatus, system and method
CN116340188A (en) * 2023-05-26 2023-06-27 深流微智能科技(深圳)有限公司 Debugging method and system for GPU chip rendering task
CN116860656A (en) * 2023-08-30 2023-10-10 深圳市瑞之辰科技有限公司 MCU debugging method and system based on KeilC

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963741A (en) * 1997-01-29 1999-10-05 Nec Corporation Information processor which rewrites instructions in program to dynamically change program structure and method therefor
WO2001093040A1 (en) * 2000-05-30 2001-12-06 Matsushita Electric Industrial Co., Ltd. Program counter trace system, program counter trace method, and semiconductor device
JP2003099246A (en) * 2001-09-26 2003-04-04 Denso Corp Actuator control system
US7584381B2 (en) 2005-03-25 2009-09-01 Seiko Epson Corporation Semiconductor integrated circuit device, debug system, microcomputer, and electronic apparatus
US11418505B2 (en) 2018-08-30 2022-08-16 Kabushiki Kaisha Toshiba Information processing apparatus, system and method
CN116340188A (en) * 2023-05-26 2023-06-27 深流微智能科技(深圳)有限公司 Debugging method and system for GPU chip rendering task
CN116340188B (en) * 2023-05-26 2023-08-04 深流微智能科技(深圳)有限公司 Debugging method and system for GPU chip rendering task
CN116860656A (en) * 2023-08-30 2023-10-10 深圳市瑞之辰科技有限公司 MCU debugging method and system based on KeilC

Also Published As

Publication number Publication date
JP2974601B2 (en) 1999-11-10

Similar Documents

Publication Publication Date Title
US5978937A (en) Microprocessor and debug system
JP2752592B2 (en) Microprocessor, signal transmission method between microprocessor and debug tool, and tracing method
KR100439781B1 (en) A data processor, an operation method thereof, a method of executing the debugging operation, and a method of correcting a disadvantage value among the data processor
KR100350568B1 (en) Data processing system and method for performing debug functions
EP0391173B1 (en) Debug peripheral for microcomputers, microprocessors and core processor integrated circuits and system using the same
US6449709B1 (en) Fast stack save and restore system and method
EP0762276B1 (en) Data processor with built-in emulation circuit
EP0762277B1 (en) Data processor with built-in emulation circuit
US7392431B2 (en) Emulation system with peripherals recording emulation frame when stop generated
US5978902A (en) Debug interface including operating system access of a serial/parallel debug port
WO1998045782A1 (en) Debug interface including a compact trace record storage
EP0762278A1 (en) Data processor with built-in emulation circuit
JP2974601B2 (en) Microprocessor and debug system
JPH1124959A (en) Trace information outputting method of microprocessor
JP2003263339A (en) Debug function-incorporated microcomputer
JP2664644B2 (en) How to reset the microprocessor
US6606590B1 (en) Emulation system with address comparison unit and data comparison unit ownership arbitration
JP3323341B2 (en) Emulation processor and emulator equipped with it
JPH09198272A (en) Processor for emulation and emulator
JP2003263336A (en) Debug function-incorporated microcomputer
JPH10222391A (en) Emulator

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070903

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100903

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110903

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110903

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120903

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20120903

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 14

EXPY Cancellation because of completion of term