JPH08171505A - 半導体装置 - Google Patents

半導体装置

Info

Publication number
JPH08171505A
JPH08171505A JP6313854A JP31385494A JPH08171505A JP H08171505 A JPH08171505 A JP H08171505A JP 6313854 A JP6313854 A JP 6313854A JP 31385494 A JP31385494 A JP 31385494A JP H08171505 A JPH08171505 A JP H08171505A
Authority
JP
Japan
Prior art keywords
instruction
address
output
cpu
semiconductor device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6313854A
Other languages
English (en)
Inventor
Kotaro Tagawa
耕太郎 田川
Atsushi Sakurai
厚 桜井
Hideji Nishida
秀二 西田
Hitoshi Takahashi
均 高橋
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP6313854A priority Critical patent/JPH08171505A/ja
Publication of JPH08171505A publication Critical patent/JPH08171505A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】CPUと、このCPUから出力される命令アド
レスを外部に出力するデバッグユニットとを有してなる
半導体装置、例えば、評価用チップに関し、余計なトレ
ース用のメモリや余計なプログラムを必要とせず、か
つ、CPUの動作周波数を高める場合においても、実行
された命令の命令アドレスをデバッグ用ツールに容易に
取り込ませることができるようにする。 【構成】CPU12から出力された命令アドレスをデバ
ッグユニット13のパイプライン22によりパイプライ
ン制御し、実行された命令の命令アドレスのみをリード
・ストローブ信号と共にデバッグ用ツールに対して出力
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、CPUと、このCPU
から出力された命令アドレスを外部に出力するデバッグ
ユニットを有してなる半導体装置に関する。
【0002】
【従来の技術】従来、この種の半導体装置として、評価
用チップ、即ち、プログラム開発工程において、プログ
ラムの誤り、いわゆる、バグの発見などを目的として行
われるデバッグに使用されるものが知られている。
【0003】図6は従来の評価用チップの一例の要部を
示すブロック回路図であり、図中、1はチップ本体、2
はパイプライン処理により命令を実行するCPU(cent
ralprocessing unit)、3はRAM(random access me
mory)や、タイマなどのリソース、4は外部端子制御部
である。
【0004】また、5はCPU2から出力される命令ア
ドレスをデバッグ用ツールに対して出力することを基本
的な動作とするデバッグユニット、6はアドレスバス、
7はデータバスである。
【0005】また、8、9は制御信号線を伝送する制御
信号線であり、リードライト信号やウエイト信号は、C
PU2からデバッグユニット5を介してチップ内の各部
に供給される。
【0006】この評価用チップは、デバッグ用ツールに
接続されるが、デバック用ツールは、CPU2の動作を
全て監視し、存在しないアドレスにプログラムが分岐し
た場合などに、CPU2の動作を停止させる等の動作を
行う。
【0007】このため、デバッグユニット5は、アドレ
スバス6上の内容及びデータバス7上の内容を常に取り
込んで、これらをデバッグ用ツールに対して出力するよ
うに動作する。
【0008】ここに、図7はCPU2で行われるパイプ
ライン処理の例を示しており、IFは命令フェッチ(命
令のメモリからの読出し)、IDは命令デコード(命令
の解析)、EXは命令実行(演算又はメモリアクセスの
ためのアドレス計算)、MAはメモリアクセス(演算結
果の書き戻し、もしくは、データロードのためのメモリ
アクセス)、WBはライトバック(メモリから読んでき
たデータ、もしくは、演算結果のレジスタに対する書込
み)を意味している。
【0009】このように、CPU2においては、パイプ
ライン処理により命令が実行されるので、分岐命令や各
種の例外処理が行われる場合には、既にCPU2にフェ
ッチされた命令のいくつかを無効にする処理が必要とな
る場合がある。
【0010】しかし、従来の評価用チップにおいては、
CPU2が命令フェッチのために使用した全てのアドレ
スは、IFステージにおいて、デバッグ用ツールに出力
されており、CPU2が実行しなかった命令のアドレス
までがデバッグ用ツールに取り込まれてしまう。
【0011】そこで、従来の評価用チップを使用するデ
バッグ方法においては、CPU2が実行した命令のアド
レスのみならず、CPU2が実行しなかった命令のアド
レスをもデバッグ用ツールのトレース用メモリに蓄積
し、CPU2が実行した命令のアドレスであるか否か
は、MAステージ時に評価用チップから出力されるCP
U2が実行したことを示す信号により判断するという方
法が採用されていた。
【0012】図8は、従来の評価用チップを使用するデ
バッグ方法において、CPU2が分岐命令を実行する場
合を説明するための図であり、CPU2で行われるパイ
プライン処理の例、命令アドレスバスの内容、デバッグ
用ツールに出力される命令アドレス、実行された命令の
命令アドレスを示す信号を示している。
【0013】この実行された命令の命令アドレスを示す
信号は、MAステージ実行時に出力されるものであり、
Hレベルの場合には、MAステージを実行したことを示
し、Lレベルの場合には、MAステージを実行しなかっ
たことを示すものである。
【0014】ここに、CPU2が、命令1→命令2→命
令3→命令4→命令5の順に命令1〜命令5をフェッチ
した場合において、たとえば、命令1が分岐命令、命令
4が分岐先の命令である場合には、命令2及び命令3は
キャンセルとされ、命令2はID2ステージまで行わ
れ、命令実行ステージ以降は実行されず、命令3はIF
3ステージまで行われ、命令デコード・ステージ以降は
実行されない。
【0015】この結果、この場合には、命令アドレスバ
スの内容は、命令フェッチIF1に使用した命令アドレ
ス(図にはIF1とのみ記載。以下、同様。)→命令フ
ェッチIF2に使用した命令アドレス(図にはIF2と
のみ記載。以下、同様。)→命令フェッチIF3に使用
した命令アドレス(図にはIF3とのみ記載。以下、同
様。)→命令フェッチIF4に使用した命令アドレス
(図にはIF4とのみ記載。以下、同様。)→命令フェ
ッチIF5に使用した命令アドレス(図にはIF5との
み記載。以下、同様。)の順に変化する。
【0016】したがって、デバッグ用ツールには、命令
フェッチIF1に使用した命令アドレス→命令フェッチ
IF2に使用した命令アドレス→命令フェッチIF3に
使用した命令アドレス→命令フェッチIF4に使用した
命令アドレス→命令フェッチIF5に使用した命令アド
レスの順に命令アドレスが出力される。
【0017】また、この例の場合には、命令1、命令
4、命令5のみが実行され、命令2及び命令3はキャン
セルとされるので、実行された命令の命令アドレスを示
す信号は、MA1ステージ実行時にはHレベル、次のサ
イクル時にはLレベル、更に次のサイクル時もLレベ
ル、MA4ステージ実行時にはHレベル、MA5ステー
ジ実行時にはHレベルとされる。
【0018】即ち、実行された命令の命令アドレスを示
す信号は、デバッグ用ツールに出力される命令アドレス
のうち、命令フェッチIF1に使用した命令アドレス、
命令フェッチIF4に使用した命令アドレス及び命令フ
ェッチIF5に使用した命令アドレスのみが有効である
ことをデバッグ用ツールに通知することになる。
【0019】
【発明が解決しようとする課題】このように、従来の評
価用チップにおいては、CPU2から出力された命令ア
ドレスを全てIFステージ実行時にデバッグ用ツールに
出力すると共に、実行された命令の命令アドレスを示す
信号をMAステージ実行時にデバッグ用ツールに出力す
るように構成されていた。
【0020】したがって、デバッグ用ツールにおいて
は、評価用チップから出力される命令アドレスをトレー
ス用のメモリに蓄積し、このトレース用のメモリに蓄積
された命令アドレスと、実行された命令の命令アドレス
を示す信号との対照を行い、実行された命令の命令アド
レスのみを抽出する工程を必要としていた。
【0021】このため、デバッグ用ツールにおいては、
余計なトレース用のメモリを必要とすると共に、余計な
プログラムを必要とするという問題点があった。
【0022】また、CPU2の動作周波数が高くなる
と、トレース用のメモリに蓄積された命令アドレスと、
実行された命令の命令アドレスを示す信号との対照が困
難となると共に、実行された命令と、データアクセスと
の関係も崩れたように見えてしまい、デバッグが不可能
となってしまうという問題点があった。
【0023】また、従来の評価用チップにおいては、命
令アドレスをデバッグ用ツールに対して出力するための
専用の外部端子を備えているが、バス幅の増加に伴い、
評価用チップ及びデバッグ用ツールの外部端子が増加し
ている。
【0024】このため、評価用チップのサイズを大きく
しなければならず、評価用チップの価格の上昇を招くと
共に、外部端子を増加させる分、デバッグ用ツールの価
格をも増加させていた。
【0025】また、従来の評価用チップを使用してなる
デバッグ方法においては、デバッグ用ツールが予め決定
されている特定の命令アドレス又はデータアドレスによ
ってCPU2に対してブレークを掛ける場合、評価用チ
ップからデバッグ用ツールに出力される命令アドレス又
はデータアドレスをデバッグ用ツールに予め設定されて
いるブレークアドレス(ブレークポイント)と比較し、
条件を満たす場合に、CPU2に対してブレークを掛け
ていた。
【0026】しかし、このブレーク方法では、CPU2
の動作周波数を高くすると、最適なタイミングで、CP
U2に対してブレークを掛けることができないという問
題点があった。
【0027】また、従来の評価用チップを使用してなる
デバッグ方法においては、ユーザプログラム空間と、ツ
ールプログラム空間とは、独立に存在するということは
なく、ユーザプログラム空間の空いている部分にツール
プログラムを置いていた。
【0028】このため、ユーザプログラムの存在を考慮
して、ツールプログラムを置く必要があり、自由なアド
レスにツールプログラムを置くことができないという不
都合があった。
【0029】これに対して、ユーザプログラム空間と、
ツールプログラム空間とを独立に存在させる場合には、
ユーザプログラムの存在を考慮することなく、自由なア
ドレスにツールプログラムを置くことができるという利
点がある。
【0030】しかし、このようにする場合には、デバッ
グ途中にツールプログラムに制御が移った場合、ツール
プログラムからユーザプログラム空間に存在するメモリ
等の内容を書き換えることができないという問題点があ
った。
【0031】本発明は、かかる点に鑑み、デバッグユニ
ットから出力されるデータの処理の容易化を図ると共
に、実行された命令の命令アドレスを、たとえば、デバ
ッグ用ツールに出力させる場合には、余計なトレース用
のメモリや余計なプログラムを必要とせず、かつ、CP
Uの動作周波数を高める場合においても、実行された命
令の命令アドレスをデバッグ用ツールに容易に取り込ま
せることができるようにした半導体装置を提供すること
を第1の目的とする。
【0032】また、本発明は、外部端子を減少し、価格
の低減化を図ると共に、デバッグユニットを介してデー
タを供給される装置(たとえば、デバッグ用ツール)の
端子を減少し、このような装置の価格の低減化を図るこ
とができるようにした半導体装置を提供することを第2
の目的とする。
【0033】また、本発明は、CPUの動作周波数が高
くとも、最適なタイミングで、CPUに対してブレーク
を掛けることができるようにした半導体装置を提供する
ことを第3の目的とする。
【0034】また、本発明は、ユーザプログラム空間
と、ツールプログラム空間とを独立に存在させる場合に
おいて、デバッグ途中にツールプログラムに制御が移っ
た場合においても、ツールプログラムからユーザプログ
ラム空間に存在するメモリ等の内容を書き換えることが
できるようにした半導体装置を提供することを第4の目
的とする。
【0035】
【課題を解決するための手段】本発明中、第1の発明の
半導体装置は、CPUと、このCPUから出力された命
令アドレスを外部に出力するデバッグユニットとを有し
てなる半導体装置において、デバッグユニットは、CP
Uから出力された命令アドレスをパイプライン制御し、
実行された命令の命令アドレスのみを出力するパイプラ
インを設けて構成するというものである。
【0036】本発明中、第2の発明の半導体装置は、C
PUと、このCPUから出力された命令アドレスを外部
に出力するデバッグユニットとを有してなる半導体装置
において、実行された命令の命令アドレスの外部への出
力と、対応する他のトレースデータの外部への出力と
を、同一の外部端子を介して、時分割的に行う出力切換
回路を設けるというものである。
【0037】本発明中、第3の発明の半導体装置は、C
PUと、このCPUから出力された命令アドレスを外部
に出力するデバッグユニットとを有してなる半導体装置
において、第1のアドレスを格納する第1のアドレスレ
ジスタと、第2のアドレスを格納する第2のアドレスレ
ジスタとを有し、CPUから出力されるアドレスが第1
のアドレス、第2のアドレス、又は、第1のアドレスと
第2のアドレスとの間のアドレスと一致する場合に、C
PUの動作を停止させるブレーク信号を発生するブレー
ク信号発生回路を設けるというものである。
【0038】本発明中、第4の発明の半導体装置は、C
PUと、このCPUから出力された命令アドレスを外部
に出力するデバッグユニットとを有してなる半導体装置
において、表示内容により、ユーザプログラム又はツー
ルプログラムを選択的に実行可能とするフラグを設ける
というものである。
【0039】
【作用】本発明中、第1の発明の半導体装置において
は、デバッグユニットは、CPUから出力された命令ア
ドレスをパイプライン制御し、実行された命令の命令ア
ドレスのみを出力するパイプラインを設けて構成され
る。
【0040】この結果、CPUから出力される命令アド
レスを全て外部に出力するように構成されたデバッグユ
ニットを設ける従来例の場合と異なり、デバッグユニッ
トが出力するデータの処理を容易に行うことができると
共に、余計なトレース用のメモリや余計なプログラムを
必要とせず、かつ、CPUの動作周波数を高める場合に
おいても、実行された命令の命令アドレスをデバッグ用
ツールに容易に取り込ませることができる。
【0041】本発明中、第2の発明の半導体装置におい
ては、実行された命令の命令アドレスの外部への出力
と、対応する他のトレースデータの外部への出力とを同
一の外部端子を介して時分割的に行う出力切換回路を設
けるとしている。
【0042】この結果、命令アドレス用の専用端子を設
けている従来例の場合と異なり、外部端子の数を減ら
し、チップサイズを縮小化すると共に、デバッグユニッ
トを介してデータを供給される装置、たとえば、デバッ
グ用ツールの外部端子を減少させることもできる。
【0043】本発明中、第3の発明の半導体装置におい
ては、第1のアドレスを格納する第1のアドレスレジス
タと、第2のアドレスを格納する第2のアドレスレジス
タとを有し、CPUから出力されるアドレスが第1のア
ドレス、第2のアドレス、又は、第1のアドレスと第2
のアドレスとの間のアドレスと一致する場合に、CPU
の動作を停止させるブレーク信号を発生するブレーク信
号発生回路を設けるとしている。
【0044】この結果、デバッグ用ツールでブレーク判
定を行うようにしている従来例の場合と異なり、CPU
の動作周波数が高くとも、最適なタイミングで、CPU
に対してブレークを掛けることができる。
【0045】本発明中、第4の発明の半導体装置におい
ては、表示内容により、ユーザプログラム又はツールプ
ログラムを選択的に実行可能とするフラグを設けるとし
ている。
【0046】この結果、ユーザプログラム空間と、ツー
ルプログラム空間とを独立に存在させる場合において、
デバッグ途中にツールプログラムに制御が移った場合に
おいても、ツールプログラムからユーザプログラム空間
に存在するメモリ等の内容を書き換えることができる。
【0047】
【実施例】以下、図1〜図5を参照して、本発明の一実
施例について、本発明を評価用チップに適用した場合を
例にして説明する。
【0048】図1は、本発明の一実施例の要部を示すブ
ロック回路図であり、図1中、11はチップ本体、12
はパイプライン処理により命令の実行を行うCPU、1
3はCPU12から出力される命令アドレスをデバッグ
用ツールに対して出力することを基本的な動作とするデ
バッグユニットである。
【0049】また、14はデバッグユニット13から出
力される命令アドレス、データアドレス(データ・フェ
ッチ用のアドレスバス、いわゆる、データアドレスバス
上のアドレス)、データデータ(データ・フェッチ用の
データバス、いわゆる、データデータバス上のデータ)
を時分割的に共通の外部端子に出力させるための出力切
換回路である。
【0050】また、15はCPU12から出力される命
令アドレス又はデータアドレスが予め設定されているブ
レークアドレスと一致する場合に、CPU12の動作を
停止させるブレーク信号を発生するブレーク信号発生回
路である。
【0051】また、16は命令アドレスバス(IA)、
17は命令フェッチ用のデータバス、いわゆる、命令デ
ータバス(ID)、18はデータアドレスバス(D
A)、19はデータデータバス(DD)である。
【0052】また、20はCPU12から出力されるリ
ード信号を伝送するリード信号線、21はCPU12か
ら出力されるデバッグユニット13のラッチ回路を制御
するラッチ制御信号を伝送するラッチ制御信号線であ
る。
【0053】また、デバッグユニット13において、2
2はCPU12から出力された命令アドレスについてパ
イプライン制御を行うパイプラインであり、入力端を命
令アドレスバス16に接続され、出力端を出力切換回路
14に接続されている。
【0054】また、パイプライン22において、23は
IFステージ実行時に、CPU12から命令アドレスバ
ス16に出力される命令アドレスをラッチし、このラッ
チした命令アドレスを、対応する命令のIDステージ実
行時に出力するIDステージ・ラッチである。
【0055】また、24はIDステージ・ラッチ23か
ら、対応する命令のIDステージ実行時に出力される命
令アドレスをラッチし、このラッチした命令アドレス
を、対応する命令のEXステージ実行時に出力するEX
ステージ・ラッチである。
【0056】また、25はEXステージ・ラッチ24か
ら、対応する命令のEXステージ実行時に出力される命
令アドレスをラッチし、このラッチした命令アドレス
を、対応する命令のMAステージ実行時に出力するMA
ステージ・ラッチである。
【0057】また、デバッグユニット13において、2
6はCPU12から出力されるリード信号について、パ
イプライン22と同様のパイプライン制御を行い、その
出力をデバッグ用ツールにリード・ストローブ信号とし
て供給するパイプラインであり、入力端をリード信号線
20に接続され、出力端を外部端子30に接続されてい
る。
【0058】また、このパイプライン26において、2
7はIFステージ実行時に、CPU12からリード信号
線20上に出力されたリード信号をラッチし、このラッ
チしたリード信号を、対応する命令のIDステージ実行
時に出力するIDステージ・ラッチである。
【0059】また、28はIDステージ・ラッチ27か
ら、対応する命令のIDステージ実行時に出力されるリ
ード信号をラッチし、このラッチしたリード信号を、対
応する命令のEXステージ実行時に出力するEXステー
ジ・ラッチである。
【0060】また、29はEXステージ・ラッチ28か
ら、対応する命令のEXステージ実行時に出力されるリ
ード信号をラッチし、このラッチしたリード信号を、対
応する命令のMAステージ実行時に出力するMAステー
ジ・ラッチである。
【0061】なお、IDステージ・ラッチ23、27、
EXステージ・ラッチ24、28、MAステージ・ラッ
チ25、29は、それぞれ、そのラッチ内容を、ラッチ
制御信号線21を介して供給されるラッチ制御信号によ
り無効とされるように構成されている。
【0062】また、出力切換回路14において、31は
パイプライン22から出力される命令アドレス、データ
アドレスバス18に出力されるデータアドレス、又は、
データデータバス19に出力されるデータデータの外部
端子32への出力を切り換える切換スイッチ回路、33
は切換スイッチ回路31を制御する切換スイッチ制御回
路である。
【0063】この切換スイッチ制御回路33は、パイプ
ライン22から出力される命令アドレス、データアドレ
スバス18に出力されるデータアドレス、又は、データ
データバス19に出力されるデータデータを時分割的に
外部端子32に出力するように、あるいは、パイプライ
ン22から出力される命令アドレスのみを継続的に外部
端子32に出力するように、切換スイッチ回路31を制
御するように構成されている。
【0064】また、ブレーク信号発生回路15は、図2
に示すように構成されている。図2中、35は上限のブ
レークアドレスを格納するためのアドレスレジスタ、3
6は下限のブレークアドレスを格納するためのアドレス
レジスタである。
【0065】また、37はアドレスレジスタ35に格納
されたアドレスと、入力されるアドレス(命令アドレス
又はデータアドレス)とをウインド比較するウインド比
較器である。
【0066】また、38はアドレスレジスタ36に格納
されたアドレスと、入力されるアドレス(命令アドレス
又はデータアドレス)とをウインド比較するウインド比
較器である。
【0067】また、39はウインド比較器37、38の
出力をOR処理してCPU12に対してブレークを掛け
るべきか否かを判定してブレーク信号を発生するブレー
ク判定回路である。
【0068】また、40は入力されるアドレスがアドレ
スレジスタ35に格納されているアドレス、アドレスレ
ジスタ35に格納されているアドレス、又は、アドレス
レジスタ35、36に格納されているアドレスに挟まれ
ているアドレスと一致する場合に、ブレーク信号を発生
させるモードと、入力されるアドレスがアドレスレジス
タ35に格納されているアドレス、又は、アドレスレジ
スタ36に格納されているアドレスと一致した場合に、
ブレーク信号を発生させるモードとを、選択的に設定す
るためのモード設定レジスタである。
【0069】また、41はモード設定レジスタ40に設
定されたモードを実行させるように、ブレーク判定回路
39を制御するブレーク判定制御回路である。
【0070】また、本実施例においては、図3に示すよ
うに、デバッグユニット13にバス切換用フラグ42が
設けられる。
【0071】このバス切換用フラグ42は、たとえば、
「1」を表示する場合には、バスの信号の流れをCPU
12とリソースとの間で可能とすることにより、ユーザ
プログラムを実行可能とし、「0」を表示する場合に
は、バスの信号の流れをCPU12とデバッグ用ツール
との間で可能とすることにより、ツールプログラムを実
行可能とするものである。
【0072】図4は、本実施例において、CPU12が
分岐命令を実行する場合の動作を説明するためのタイム
チャートであり、CPU12で行われるパイプライン処
理の例、命令アドレスバス16の内容、デバッグ用ツー
ルに出力される命令アドレス、デバッグ用ツールに出力
されるリード・ストローブ信号を示している。
【0073】また、図5も、本実施例において、CPU
12が分岐命令を実行する場合の動作を説明するための
タイムチャートであり、命令アドレスバス16の内容、
IDステージ・ラッチ23のラッチ内容、EXステージ
・ラッチ24のラッチ内容、MAステージ・ラッチ25
のラッチ内容、MAステージ・ラッチ25の出力、リー
ド信号線20の内容、IDステージ・ラッチ27のラッ
チ内容、EXステージ・ラッチ28のラッチ内容、MA
ステージ・ラッチ29のラッチ内容、MAステージ・ラ
ッチ29の出力、リード・ストローブ信号を示してい
る。
【0074】ここに、図4に示すように、CPU12が
命令1→命令2→命令3→命令4→命令5の順に命令1
〜命令5をフェッチした場合において、たとえば、命令
1が分岐命令、命令4が分岐先の命令である場合には、
命令2及び命令3はキャンセルとされ、命令2はID2
ステージまで行われ、実行ステージ以降は実行されず、
命令3はIF3ステージまで行われ、命令デコード・ス
テージ以降は実行されない。
【0075】この結果、この場合には、命令アドレスバ
ス16の内容は、命令フェッチIF1に使用される命令
アドレス→命令フェッチIF2に使用される命令アドレ
ス→命令フェッチIF3に使用される命令アドレス→命
令フェッチIF4に使用される命令アドレス→命令フェ
ッチIF5に使用される命令アドレスの順に変化する。
【0076】即ち、図5に示すように、IF1ステージ
実行時においては、命令アドレスバス16の内容は、命
令フェッチIF1に使用される命令アドレスとなり、こ
の命令フェッチIF1に使用される命令アドレスは、I
Dステージ・ラッチ23にラッチされる。
【0077】また、この場合、リード信号線20の内容
は、命令フェッチIF1に使用されるリード信号(図に
はIF1とのみ記載。以下、同様。)となり、この命令
フェッチIF1に使用されるリード信号は、IDステー
ジ・ラッチ27にラッチされる。
【0078】次のIF2ステージ実行時においては、命
令アドレスバス16の内容は、命令フェッチIF2に使
用される命令アドレスとなり、この命令フェッチIF2
に使用される命令アドレスは、IDステージ・ラッチ2
3にラッチされる。
【0079】そして、IDステージ・ラッチ23から命
令フェッチIF1に使用された命令アドレスが出力さ
れ、この命令フェッチIF1に使用された命令アドレス
はEXステージ・ラッチ24にラッチされる。
【0080】また、この場合、リード信号線20の内容
は、命令フェッチIF2に使用されるリード信号(図に
はIF2とのみ記載。以下、同様。)となり、この命令
フェッチIF2に使用されるリード信号は、IDステー
ジ・ラッチ27にラッチされる。
【0081】そして、IDステージ・ラッチ27から命
令フェッチIF1に使用されたリード信号が出力され、
この命令フェッチIF1に使用されたリード信号はEX
ステージ・ラッチ28にラッチされる。
【0082】次のIF3ステージ実行時においては、命
令アドレスバス16の内容は、命令フェッチIF3に使
用される命令アドレスとなり、この命令フェッチIF3
に使用される命令アドレスは、IDステージ・ラッチ2
3にラッチされる。
【0083】そして、IDステージ・ラッチ23から命
令フェッチIF2に使用された命令アドレスが出力さ
れ、この命令フェッチIF2に使用された命令アドレス
はEXステージ・ラッチ24にラッチされる。
【0084】また、EXステージ・ラッチ24から命令
フェッチIF1に使用された命令アドレスが出力され、
この命令フェッチIF1に使用された命令アドレスはM
Aステージ・ラッチ25にラッチされる。
【0085】また、この場合、リード信号線20の内容
は、命令フェッチIF3に使用されるリード信号(図に
はIF3とのみ記載。以下、同様。)となり、この命令
フェッチIF3に使用されるリード信号は、IDステー
ジ・ラッチ27にラッチされる。
【0086】そして、IDステージ・ラッチ27から命
令フェッチIF2に使用されたリード信号が出力され、
この命令フェッチIF2に使用されたリード信号はEX
ステージ・ラッチ28にラッチされる。
【0087】また、EXステージ・ラッチ28から命令
フェッチIF1に使用されたリード信号が出力され、こ
の命令フェッチIF1に使用されたリード信号はMAス
テージ・ラッチ29にラッチされる。
【0088】次のIF4ステージ実行時においては、命
令アドレスバス16の内容は、命令フェッチIF4のた
めの命令アドレスとなり、この命令フェッチIF4のた
めの命令アドレスがIDステージ・ラッチ23にラッチ
される。
【0089】この場合、MA1ステージにおいて、命令
1の実行のため、分岐先のアドレスにアクセスされるの
で、命令2及び命令3については、その実行がキャンセ
ルされる。
【0090】そこで、IDステージ・ラッチ23にラッ
チされている命令フェッチIF3に使用された命令アド
レス、及び、EXステージ・ラッチ24にラッチされて
いる命令フェッチIF2に使用された命令アドレスは無
効とされる。
【0091】また、同時に、MAステージ・ラッチ25
から命令フェッチIF1に使用された命令アドレスが出
力され、この命令フェッチIF1に使用された命令アド
レスは出力切換回路14の切換スイッチ回路31及び外
部端子32を介してデバッグ用ツールに出力される。
【0092】また、この場合、リード信号線20の内容
は、命令フェッチIF4に使用されるリード信号(図に
はIF4とのみ記載。以下、同様。)となり、この命令
フェッチIF4に使用されるリード信号は、IDステー
ジ・ラッチ27にラッチされる。
【0093】但し、IDステージ・ラッチ27にラッチ
されていた命令フェッチIF3に使用されたリード信
号、及び、EXステージ・ラッチ28にラッチされてい
た命令フェッチIF2に使用されたリード信号は無効と
される。
【0094】また、同時に、MAステージ・ラッチ29
から命令フェッチIF1に使用されたリード信号が出力
され、この命令フェッチIF1に使用されたリード信号
は、リード・ストローブ信号として、外部端子30を介
してデバッグ用ツールに出力される。
【0095】次のIF5ステージ実行時においては、命
令アドレスバス16の内容は、命令フェッチIF5に使
用する命令アドレスとなり、この命令フェッチIF5に
使用する命令アドレスは、IDステージ・ラッチ23に
ラッチされる。
【0096】そして、IDステージ・ラッチ23から命
令フェッチIF4に使用された命令アドレスが出力さ
れ、この命令フェッチIF4に使用された命令アドレス
はEXステージ・ラッチ24にラッチされる。
【0097】また、この場合、リード信号線20の内容
は、命令フェッチIF5に使用されるリード信号(図に
はIF5とのみ記載。以下、同様。)となり、この命令
フェッチIF5に使用されるリード信号は、IDステー
ジ・ラッチ27にラッチされる。
【0098】そして、IDステージ・ラッチ27から命
令フェッチIF4に使用されたリード信号が出力され、
この命令フェッチIF4に使用されたリード信号はEX
ステージ・ラッチ28にラッチされる。
【0099】次のサイクルになると、IDステージ・ラ
ッチ23から命令フェッチIF5に使用された命令アド
レスが出力され、この命令フェッチIF5に使用された
命令アドレスはEXステージ・ラッチ24にラッチされ
る。
【0100】そして、EXステージ・ラッチ24から命
令フェッチIF4に使用された命令アドレスが出力さ
れ、この命令フェッチIF4に使用された命令アドレス
はMAステージ・ラッチ25にラッチされる。
【0101】また、IDステージ・ラッチ27から命令
フェッチIF5に使用されたリード信号が出力され、こ
の命令フェッチIF5に使用されたリード信号はEXス
テージ・ラッチ28にラッチされる。
【0102】また、EXステージ・ラッチ28から命令
フェッチIF4に使用されたリード信号が出力され、こ
の命令フェッチIF4に使用されたリード信号はMAス
テージ・ラッチ29にラッチされる。
【0103】更に次のサイクルになると、EXステージ
・ラッチ24から命令フェッチIF5に使用された命令
アドレスが出力され、この命令フェッチIF5に使用さ
れた命令アドレスはMAステージ・ラッチ25にラッチ
される。
【0104】また、MAステージ・ラッチ25から命令
フェッチIF4に使用された命令アドレスが出力され、
出力切換回路14の切換スイッチ回路31及び外部端子
32を介してデバッグ用ツールに供給される。
【0105】また、EXステージ・ラッチ28から命令
フェッチIF5に使用されたリード信号が出力され、こ
の命令フェッチIF5に使用されたリード信号はMAス
テージ・ラッチ29にラッチされる。
【0106】また、MAステージ・ラッチ29から命令
フェッチIF4に使用されたリード信号が出力され、こ
の命令フェッチIF4に使用されたリード信号は、リー
ド・ストローブ信号として、外部端子30を介してデバ
ッグ用ツールに供給される。
【0107】更に次のサイクルになると、MAステージ
・ラッチ25から命令フェッチIF5に使用された命令
アドレスが出力され、出力切換回路14の切換スイッチ
回路31及び外部端子32を介してデバッグ用ツールに
供給される。
【0108】また、MAステージ・ラッチ29から命令
フェッチIF5に使用されたリード信号が出力され、こ
の命令フェッチIF5に使用されたリード信号は、リー
ド・ストローブ信号として、外部端子30を介してデバ
ッグ用ツールに供給される。
【0109】したがって、この例の場合、デバッグ用ツ
ールに出力される命令アドレスと、デバッグ用ツールに
出力されるリード・ストローブ信号との関係は、図4に
示すようになる。
【0110】このように、本実施例においては、命令を
実行された命令アドレス、即ち、命令フェッチIF1、
IF4、IF5に使用された命令アドレスのみがデバッ
グ用ツールに出力されると共に、これら命令フェッチI
F1、IF4、IF5に使用された命令アドレスが出力
される場合に、リード・ストローブ信号が活性レベルで
あるHレベルとされ、これら命令フェッチIF1、IF
4、IF5に使用された命令アドレスのリード・ストロ
ーブの指示がデバッグ用ツールに対して行われる。
【0111】したがって、本実施例によれば、CPUか
ら出力される命令アドレスを全てデバッグ用ツールに出
力するように構成されたデバッグユニットを設ける従来
例の場合と異なり、余計なトレース用のメモリや余計な
プログラムを必要とせず、かつ、CPUの動作周波数を
高める場合においても、実行された命令の命令アドレス
をデバッグ用ツールに容易に取り込ませることができ、
正確なデバッグを行うことができる。
【0112】なお、出力切換回路14を設けない場合で
あっても、デバッグユニット13を設けると共に、命令
アドレス用の外部端子、データアドレス用の外部端子、
及び、データデータ用の外部端子を設けるようにする場
合には、本実施例と同様に、余計なトレース用のメモリ
や余計なプログラムを必要とせず、かつ、CPUの動作
周波数を高める場合においても、実行された命令の命令
アドレスをデバッグ用ツールに容易に取り込ませること
ができ、正確なデバッグを行うことができる。
【0113】また、このようにする場合には、デバッグ
ユニット13からの命令アドレスの出力と、この命令ア
ドレスの命令によりデータ・フェッチ用のアドレスバス
及びデータバスに出力されるアドレス及びデータの出力
とが同一のサイクル時に行われる。
【0114】また、本実施例においては、出力切換回路
14を設け、命令アドレス、データアドレス、データデ
ータの出力を時分割的に共通の外部端子32に出力させ
ることができるようにされている。
【0115】したがって、本実施例によれば、命令アド
レス用の専用端子を設けている従来例の場合と異なり、
外部端子の数を減らし、チップサイズを縮小化し、価格
の低減化を図ることができると共に、デバッグ用ツール
の端子を減少させ、デバッグ用ツールの価格を低減化す
ることもできる。
【0116】なお、デバッグユニット13がパイプライ
ン制御を行わない場合においても、出力切換回路14を
設け、命令アドレス、データアドレス、データデータの
出力を時分割的に共通の外部端子32に出力させること
ができるように構成する場合には、外部端子の数を減ら
し、チップサイズを縮小化し、価格の低減化を図ること
ができると共に、デバッグ用ツールの端子を減少させ、
デバッグ用ツールの価格を低減化することもできる。
【0117】また、本実施例においては、ブレーク信号
発生回路15を設け、CPU12から出力される命令ア
ドレス又はデータアドレスが予め設定されているブレー
クアドレスと一致する場合には、CPU12に対してブ
レーク信号を出力させることができるように構成されて
いる。
【0118】したがって、本実施例によれば、デバッグ
用ツールでブレーク判定を行うようにしている従来例の
場合と異なり、CPU12の動作周波数が高くとも、最
適なタイミングで、CPU12に対してブレークを掛け
ることができるので、精度の高いデバッグを行うことが
できる。
【0119】また、本実施例においては、デバッグユニ
ット13にバス切換用フラグ42を設け、「1」を表示
する場合には、ユーザプログラムを実行可能とし、
「0」を表示する場合には、ツールプログラムを実行可
能としている。
【0120】したがって、本実施例によれば、ユーザプ
ログラム空間と、ツールプログラム空間とを独立に存在
させる場合において、デバッグ途中にツールプログラム
に制御が移った場合においても、ツールプログラムから
ユーザプログラム空間に存在するメモリ等の内容を書き
換えることができ、精度の高いデバッグを行うことがで
きる。
【0121】なお、上述の実施例においては、本発明を
評価用チップに適用した場合について説明したが、本発
明は、ユーザが使用する実際のチップ、いわゆる、実チ
ップにも適用することができるものである。
【0122】
【発明の効果】本発明中、第1の発明による半導体装置
によれば、デバッグユニットは、CPUから出力された
命令アドレスをパイプライン制御し、実行された命令の
命令アドレスのみを出力するパイプラインを設けて構成
するとしたことにより、CPUから出力される命令アド
レスを全て外部に出力するようにされたデバッグユニッ
トを設ける従来例の場合と異なり、デバッグユニットが
出力するデータの処理を容易に行うことができると共
に、余計なトレース用のメモリや余計なプログラムを必
要とせず、かつ、CPUの動作周波数を高める場合にお
いても、実行された命令の命令アドレスをデバッグ用ツ
ールに容易に取り込ませることができる。
【0123】本発明中、第2の発明による半導体装置に
よれば、実行された命令の命令アドレスの外部への出力
と、対応する他のトレースデータの外部への出力とを同
一の外部端子を介して時分割的に行う出力切換回路を設
けるとしているので、命令アドレス用の専用端子を設け
ている従来例の場合と異なり、外部端子の数を減らし、
チップサイズを縮小化し、価格の低減化を図ることがで
きると共に、デバッグユニットを介してデータを供給さ
れる装置、たとえば、デバッグ用ツールの外部端子を減
少させ、このような装置の価格の低減化を図ることもで
きる。
【0124】本発明中、第3の発明による半導体装置に
よれば、第1のアドレスを格納する第1のアドレスレジ
スタと、第2のアドレスを格納する第2のアドレスレジ
スタとを有し、CPUから出力されるアドレスが第1の
アドレス、第2のアドレス、又は、第1のアドレスと第
2のアドレスとの間のアドレスと一致する場合に、CP
Uの動作を停止させるブレーク信号を発生するブレーク
信号発生回路を設けるとしたことにより、デバッグ用ツ
ールでブレーク判定を行うようにしている従来例の場合
と異なり、CPUの動作周波数が高くとも、最適なタイ
ミングで、CPUに対してブレークを掛けることができ
る。
【0125】本発明中、第4の発明による半導体装置に
よれば、表示内容により、ユーザプログラム又はツール
プログラムを選択的に実行可能とするフラグを設けると
したことにより、ユーザプログラム空間と、ツールプロ
グラム空間とを独立に存在させる場合において、デバッ
グ途中にツールプログラムに制御が移った場合において
も、ツールプログラムからユーザプログラム空間に存在
するメモリ等の内容を書き換えることができる。
【図面の簡単な説明】
【図1】本発明の一実施例の要部を示すブロック回路図
である。
【図2】本発明の一実施例を構成するブレーク信号発生
回路の構成を示すブロック回路図である。
【図3】本発明の一実施例を構成するバス切換用フラグ
の存在を示すブロック回路図である。
【図4】本発明の一実施例において、CPUが分岐命令
を実行する場合の動作を説明するためのタイムチャート
である。
【図5】本発明の一実施例において、CPUが分岐命令
を実行する場合の動作を説明するためのタイムチャート
である。
【図6】従来の評価用チップの一例の要部を示すブロッ
ク回路図である。
【図7】図6に示す評価用チップが設けるCPUで行わ
れるパイプライン処理の例を示すタイムチャートであ
る。
【図8】図6に示す評価用チップにおいて、CPUが分
岐命令を実行する場合の動作を説明するためのタイムチ
ャートである。
【符号の説明】
16(IA) 命令アドレスバス 17(ID) 命令データバス 18(DA) データアドレスバス 19(DD) データデータバス
フロントページの続き (72)発明者 西田 秀二 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 高橋 均 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】CPUと、このCPUから出力された命令
    アドレスを外部に出力するデバッグユニットとを有して
    なる半導体装置において、前記デバッグユニットは、前
    記CPUから出力された命令アドレスをパイプライン制
    御し、実行された命令の命令アドレスのみを出力するパ
    イプラインを設けて構成されていることを特徴とする半
    導体装置。
  2. 【請求項2】前記実行された命令の命令アドレスの外部
    への出力と、対応する他のトレースデータの外部への出
    力とが同一サイクル時に行われるように構成されている
    ことを特徴とする請求項1記載の半導体装置。
  3. 【請求項3】前記実行された命令の命令アドレスの外部
    への出力と、対応する他のトレースデータの外部への出
    力とが同一の外部端子を介して時分割的に行われるよう
    に構成されていることを特徴とする請求項1記載の半導
    体装置。
  4. 【請求項4】CPUと、このCPUから出力された命令
    アドレスを外部に出力するデバッグユニットとを有して
    なる半導体装置において、実行された命令の命令アドレ
    スの外部への出力と、対応する他のトレースデータの外
    部への出力とを、同一の外部端子を介して、時分割的に
    行う出力切換回路を設けていることを特徴とする半導体
    装置。
  5. 【請求項5】前記出力切換回路は、選択により、特定の
    トレースデータのみを連続して出力させることができる
    ように構成されていることを特徴とする請求項4記載の
    半導体装置。
  6. 【請求項6】CPUと、このCPUから出力された命令
    アドレスを外部に出力するデバッグユニットとを有して
    なる半導体装置において、第1のアドレスを格納する第
    1のアドレスレジスタと、第2のアドレスを格納する第
    2のアドレスレジスタとを有し、前記CPUから出力さ
    れるアドレスが前記第1のアドレス、前記第2のアドレ
    ス、又は、前記第1のアドレスと前記第2のアドレスと
    の間のアドレスと一致する場合に、前記CPUの動作を
    停止させるブレーク信号を発生するブレーク信号発生回
    路を設けていることを特徴とする半導体装置。
  7. 【請求項7】前記ブレーク信号発生回路は、選択によ
    り、前記CPUから出力されるアドレスが前記第1のア
    ドレス又は前記第2のアドレスである場合にのみ、前記
    CPUの動作を停止させるブレーク信号を発生させるこ
    とができるように構成されていることを特徴とする請求
    項6記載の半導体装置。
  8. 【請求項8】CPUと、このCPUから出力された命令
    アドレスを外部に出力するデバッグユニットとを有して
    なる半導体装置において、表示内容により、ユーザプロ
    グラム又はツールプログラムを選択的に実行可能とする
    フラグを設けていることを特徴とする半導体装置。
JP6313854A 1994-12-16 1994-12-16 半導体装置 Pending JPH08171505A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6313854A JPH08171505A (ja) 1994-12-16 1994-12-16 半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6313854A JPH08171505A (ja) 1994-12-16 1994-12-16 半導体装置

Publications (1)

Publication Number Publication Date
JPH08171505A true JPH08171505A (ja) 1996-07-02

Family

ID=18046311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6313854A Pending JPH08171505A (ja) 1994-12-16 1994-12-16 半導体装置

Country Status (1)

Country Link
JP (1) JPH08171505A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453410B1 (en) 1998-07-03 2002-09-17 Nec Corporation Computer system having a cache memory and a tracing function
JP2006040172A (ja) * 2004-07-29 2006-02-09 Fujitsu Ltd プロセッサデバッグ装置およびプロセッサデバッグ方法
JP2013125389A (ja) * 2011-12-14 2013-06-24 Renesas Electronics Corp 半導体装置及びその制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453410B1 (en) 1998-07-03 2002-09-17 Nec Corporation Computer system having a cache memory and a tracing function
JP2006040172A (ja) * 2004-07-29 2006-02-09 Fujitsu Ltd プロセッサデバッグ装置およびプロセッサデバッグ方法
US8015447B2 (en) 2004-07-29 2011-09-06 Fujitsu Limited Processor debugging apparatus and processor debugging method
JP2013125389A (ja) * 2011-12-14 2013-06-24 Renesas Electronics Corp 半導体装置及びその制御方法

Similar Documents

Publication Publication Date Title
US6687857B1 (en) Microcomputer which can execute a monitor program supplied from a debugging tool
US5751942A (en) Trace event detection during trace enable transitions
US6986026B2 (en) Single-step processing and selecting debugging modes
US6212625B1 (en) General purpose dynamically programmable state engine for executing finite state machines
KR970012203A (ko) 트레이스 함수와 그에 따른 방법을 실행하기 위한 데이타 처리 시스템
JPH1078889A (ja) マイクロコンピュータ
JPH08171505A (ja) 半導体装置
US5287522A (en) External procedure invocation apparatus utilizing internal branch vector interrupts and vector address generation, in a RISC chip
US5500830A (en) Memory access device
JPH0581087A (ja) プロセサのモニタ方式
JP2666737B2 (ja) トレースメモリ内蔵マイクロプロセッサおよびトレース方法
JP2520158B2 (ja) ディジタルシグナルプロセッサのデバッグ方式
JPH08272770A (ja) マイクロコントローラディベロップメントシステム
JP2000057012A (ja) トレース装置
KR100273280B1 (ko) 디버깅 로직 제어 회로
JPH11232134A (ja) システム評価装置およびエミュレータ
JPH06202907A (ja) デバッグ支援装置
JPH10187480A (ja) エミュレータ
JPH09106359A (ja) 半導体集積回路
JPS6316350A (ja) マイクロプロセッサ
JPH0465409B2 (ja)
JP2743607B2 (ja) データフロー計算機の演算モジュール
JPH07281924A (ja) トレース装置及びこれを備えたエミュレータ
JP2001318802A (ja) インサーキットエミュレータ
JPH0635760A (ja) トレース機能付バッファ装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020521