JPH1049398A - プログラム・カウンタ再現回路 - Google Patents
プログラム・カウンタ再現回路Info
- Publication number
- JPH1049398A JPH1049398A JP8199090A JP19909096A JPH1049398A JP H1049398 A JPH1049398 A JP H1049398A JP 8199090 A JP8199090 A JP 8199090A JP 19909096 A JP19909096 A JP 19909096A JP H1049398 A JPH1049398 A JP H1049398A
- Authority
- JP
- Japan
- Prior art keywords
- program counter
- value
- information
- cpu
- address
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【課題】 平易な回路で構成することができるPC再現
回路を提供する。 【解決手段】 CPUが実行する命令のアドレスを保持
するプログラム・カウンタの更新情報と前記プログラム
・カウンタの再現値とを加算する加算器と、命令の分岐
時か否かを示す前記CPUの分岐情報より選択制御さ
れ、分岐時にCPUからのアドレスを選択し、分岐時以
外には前記加算器の加算結果を選択して出力するセレク
タと、所定のタイミングで前記セレクタの出力を保持し
て、前記プログラム・カウンタの前記再現値として出力
するラッチとを備えたものである。
回路を提供する。 【解決手段】 CPUが実行する命令のアドレスを保持
するプログラム・カウンタの更新情報と前記プログラム
・カウンタの再現値とを加算する加算器と、命令の分岐
時か否かを示す前記CPUの分岐情報より選択制御さ
れ、分岐時にCPUからのアドレスを選択し、分岐時以
外には前記加算器の加算結果を選択して出力するセレク
タと、所定のタイミングで前記セレクタの出力を保持し
て、前記プログラム・カウンタの前記再現値として出力
するラッチとを備えたものである。
Description
【0001】
【発明の属する技術分野】本発明は、次に実行する命令
のアドレスを保持するプログラム・カウンタ(PC)の
値を再現するプログラム・カウンタ再現回路に関し、特
にマイクロコンピュータ(MCU)のデバッグ・ツール
等に使用されるプログラム・カウンタ再現回路に関す
る。
のアドレスを保持するプログラム・カウンタ(PC)の
値を再現するプログラム・カウンタ再現回路に関し、特
にマイクロコンピュータ(MCU)のデバッグ・ツール
等に使用されるプログラム・カウンタ再現回路に関す
る。
【0002】
【従来の技術】従来、アッセンブルあるいはコンパイル
されたプログラムをテストするために使用されるデバッ
グツールでは、エミュレーション用MCU(Micro comp
uter)のプログラム・カウンタの値を前記MCUから受
け取った所定情報によって再現するプログラム・カウン
タ再現回路を備えるものが知られている。
されたプログラムをテストするために使用されるデバッ
グツールでは、エミュレーション用MCU(Micro comp
uter)のプログラム・カウンタの値を前記MCUから受
け取った所定情報によって再現するプログラム・カウン
タ再現回路を備えるものが知られている。
【0003】この種のデバッグツールにおいては、プロ
グラム・カウンタ再現回路によって再現されたプログラ
ム・カウンタの値を用いて、エミュレーション用MCU
に対してブレーク要求(プログラムの走行をストップさ
せる)を発したり、エミュレーション用MCUのアドレ
スバス及びデータバス等の状態やステータス信号をトレ
ース用のメモリ上にトレースすることができる。
グラム・カウンタ再現回路によって再現されたプログラ
ム・カウンタの値を用いて、エミュレーション用MCU
に対してブレーク要求(プログラムの走行をストップさ
せる)を発したり、エミュレーション用MCUのアドレ
スバス及びデータバス等の状態やステータス信号をトレ
ース用のメモリ上にトレースすることができる。
【0004】図7は、従来のプログラム・カウンタ再現
回路の構成を示すブロック図である。
回路の構成を示すブロック図である。
【0005】このプログラム・カウンタ再現回路は、加
算器101、ラッチ102、減算器103及びラッチ1
04と、2つのANDゲート105,106とで構成さ
れ、エミュレーション用MCUの命令キュー(命令待ち
行列)の状態と外部アドレスADに基づいて、該MCU
のプログラム・カウンタの値を再現するものである。
算器101、ラッチ102、減算器103及びラッチ1
04と、2つのANDゲート105,106とで構成さ
れ、エミュレーション用MCUの命令キュー(命令待ち
行列)の状態と外部アドレスADに基づいて、該MCU
のプログラム・カウンタの値を再現するものである。
【0006】ここで、命令キューの状態は、命令デコー
ドの開始を伝える命令デコードスタート信号DST、命
令コードフェッチ(読み出し)サイクルを開始したこと
を伝える命令コードフェッチサイクルスタート信号FS
T、バス幅を示すバス幅信号BS、及び命令キューに残
っているコードの数を示す命令キュー残数信号IQによ
り生成される。
ドの開始を伝える命令デコードスタート信号DST、命
令コードフェッチ(読み出し)サイクルを開始したこと
を伝える命令コードフェッチサイクルスタート信号FS
T、バス幅を示すバス幅信号BS、及び命令キューに残
っているコードの数を示す命令キュー残数信号IQによ
り生成される。
【0007】すなわち、このプログラム・カウンタ再現
回路は、上記の命令デコードスタート信号DST、命令
コードフェッチサイクルスタート信号FST、バス幅信
号BS、及び命令キュー残数信号IQをエミュレーショ
ン用MCUから受取り、まず加算器101によってアド
レスADとバス幅信号BSとを加算する。ラッチ102
は、クロックCLKの立ち上がり時の命令コードフェッ
チサイクルスタート信号FSTを受けて前記加算器10
1の加算結果を保持し、減算器103は、ラッチ102
の出力から命令キュー残数信号IQを差し引く減算を行
う。ラッチ104は、クロックCLKの立ち上がり時の
命令デコードスタート信号DSTを受けて前記減算器1
03の減算結果を保持して、MCU内プログラム・カウ
ンタの再現値PCRとして出力する。
回路は、上記の命令デコードスタート信号DST、命令
コードフェッチサイクルスタート信号FST、バス幅信
号BS、及び命令キュー残数信号IQをエミュレーショ
ン用MCUから受取り、まず加算器101によってアド
レスADとバス幅信号BSとを加算する。ラッチ102
は、クロックCLKの立ち上がり時の命令コードフェッ
チサイクルスタート信号FSTを受けて前記加算器10
1の加算結果を保持し、減算器103は、ラッチ102
の出力から命令キュー残数信号IQを差し引く減算を行
う。ラッチ104は、クロックCLKの立ち上がり時の
命令デコードスタート信号DSTを受けて前記減算器1
03の減算結果を保持して、MCU内プログラム・カウ
ンタの再現値PCRとして出力する。
【0008】
【発明が解決しようとする課題】しかしながら、従来の
プログラム・カウンタ再現回路では、命令キューの状態
を生成するために多くの信号をエミュレーション用MC
Uから受取る必要がある。その結果、回路構成が複雑化
するだけではなく、MCUへの依存性が高くなるため、
汎用性に乏しいという問題があった。
プログラム・カウンタ再現回路では、命令キューの状態
を生成するために多くの信号をエミュレーション用MC
Uから受取る必要がある。その結果、回路構成が複雑化
するだけではなく、MCUへの依存性が高くなるため、
汎用性に乏しいという問題があった。
【0009】本発明は、上述の如き従来の問題点を解決
するためになされたもので、その目的は、平易な回路で
構成することができるプログラム・カウンタ再現回路を
提供することである。またその他の目的は、CPUへの
依存性を低くして回路の汎用性を向上させるプログラム
・カウンタ再現回路を提供することである。
するためになされたもので、その目的は、平易な回路で
構成することができるプログラム・カウンタ再現回路を
提供することである。またその他の目的は、CPUへの
依存性を低くして回路の汎用性を向上させるプログラム
・カウンタ再現回路を提供することである。
【0010】
【課題を解決するための手段】上記目的を達成するため
に、第1の発明の特徴は、CPUが実行する命令のアド
レスを保持するプログラム・カウンタの値を、前記CP
Uから受け取った所定情報によって再現するプログラム
・カウンタ再現回路において、前記CPUから受け取る
前記所定情報を、アドレス、分岐情報、及び前記プログ
ラム・カウンタの更新情報としたことにある。
に、第1の発明の特徴は、CPUが実行する命令のアド
レスを保持するプログラム・カウンタの値を、前記CP
Uから受け取った所定情報によって再現するプログラム
・カウンタ再現回路において、前記CPUから受け取る
前記所定情報を、アドレス、分岐情報、及び前記プログ
ラム・カウンタの更新情報としたことにある。
【0011】この第1の発明によれば、従来回路で必要
とされた命令キューの状態を生成するための信号の代わ
りに、プログラム・カウンタの更新情報及び分岐情報を
受け取るので、CPUから受け取る所定情報の数は、従
来回路よりも少なくなり、回路構成を簡素化でき、且つ
CPUへの依存性が低くなる。
とされた命令キューの状態を生成するための信号の代わ
りに、プログラム・カウンタの更新情報及び分岐情報を
受け取るので、CPUから受け取る所定情報の数は、従
来回路よりも少なくなり、回路構成を簡素化でき、且つ
CPUへの依存性が低くなる。
【0012】第2の発明の特徴は、CPUが実行する命
令のアドレスを保持するプログラム・カウンタの更新情
報と前記プログラム・カウンタの再現値とを加算する加
算器と、命令の分岐時か否かを示す前記CPUの分岐情
報より選択制御され、分岐時にCPUからのアドレスを
選択し、分岐時以外には前記加算器の加算結果を選択し
て出力するセレクタと、所定のタイミングで前記セレク
タの出力を保持して、前記プログラム・カウンタの前記
再現値として出力するラッチとを備えたことにある。
令のアドレスを保持するプログラム・カウンタの更新情
報と前記プログラム・カウンタの再現値とを加算する加
算器と、命令の分岐時か否かを示す前記CPUの分岐情
報より選択制御され、分岐時にCPUからのアドレスを
選択し、分岐時以外には前記加算器の加算結果を選択し
て出力するセレクタと、所定のタイミングで前記セレク
タの出力を保持して、前記プログラム・カウンタの前記
再現値として出力するラッチとを備えたことにある。
【0013】この第2の発明によれば、プログラム・カ
ウンタの更新情報、分岐情報及びアドレスのみをCPU
から受取り、加算器、セレクタ、及びラッチの平易な構
成でCPUのプログラム・カウンタの値を再現する。す
なわち、分岐時には、アドレスを選択して再現値として
ラッチに保持する。それ以外の場合は、プログラム・カ
ウンタの更新情報を基にしてインクリメント値が加算さ
れた更新後のプログラム・カウンタの値を選択して再現
値としてラッチに保持する。
ウンタの更新情報、分岐情報及びアドレスのみをCPU
から受取り、加算器、セレクタ、及びラッチの平易な構
成でCPUのプログラム・カウンタの値を再現する。す
なわち、分岐時には、アドレスを選択して再現値として
ラッチに保持する。それ以外の場合は、プログラム・カ
ウンタの更新情報を基にしてインクリメント値が加算さ
れた更新後のプログラム・カウンタの値を選択して再現
値としてラッチに保持する。
【0014】第3の発明の特徴は、CPUが実行する命
令のアドレスを保持するプログラム・カウンタの更新情
報を前記CPUよりシリアルに受け取るシフトレジスタ
と、前記シフトレジスタの出力と前記プログラム・カウ
ンタの再現値とを加算する加算器と、命令の分岐時か否
かを示す前記CPUの分岐情報により選択制御され、分
岐時に前記CPUからのアドレスを選択し、分岐時以外
には前記加算器の加算結果を選択出力するセレクタと、
前記プログラム・カウンタの更新情報の最終データを受
信中に前記セレクタの出力を保持して、前記プログラム
・カウンタの前記再現値として出力するラッチとを備え
たことにある。
令のアドレスを保持するプログラム・カウンタの更新情
報を前記CPUよりシリアルに受け取るシフトレジスタ
と、前記シフトレジスタの出力と前記プログラム・カウ
ンタの再現値とを加算する加算器と、命令の分岐時か否
かを示す前記CPUの分岐情報により選択制御され、分
岐時に前記CPUからのアドレスを選択し、分岐時以外
には前記加算器の加算結果を選択出力するセレクタと、
前記プログラム・カウンタの更新情報の最終データを受
信中に前記セレクタの出力を保持して、前記プログラム
・カウンタの前記再現値として出力するラッチとを備え
たことにある。
【0015】この第3の発明によれば、プログラム・カ
ウンタの更新情報をシリアルにシフトレジスタで受け、
該シリアル更新情報の最終データを受信中に加算器を通
してプログラム・カウンタの値が更新され、ラッチから
再現値として出力される。これ以外の作用は第2の発明
と同様である。
ウンタの更新情報をシリアルにシフトレジスタで受け、
該シリアル更新情報の最終データを受信中に加算器を通
してプログラム・カウンタの値が更新され、ラッチから
再現値として出力される。これ以外の作用は第2の発明
と同様である。
【0016】
【発明の実施の形態】以下、本発明の実施形態を図面に
基づいて説明する。図1は、本発明の第1実施形態に係
るプログラム・カウンタ再現回路の構成を示すブロック
図である。また、図2は、図1中のプログラム・カウン
タ再現回路を内蔵するデバッグ・ツールの構成を示すブ
ロック図である。
基づいて説明する。図1は、本発明の第1実施形態に係
るプログラム・カウンタ再現回路の構成を示すブロック
図である。また、図2は、図1中のプログラム・カウン
タ再現回路を内蔵するデバッグ・ツールの構成を示すブ
ロック図である。
【0017】まず、本実施形態のプログラム・カウンタ
再現回路(以下、PC再現回路と記す)を内蔵するデバ
ッグ・ツールの概要を説明する。
再現回路(以下、PC再現回路と記す)を内蔵するデバ
ッグ・ツールの概要を説明する。
【0018】本実施形態に係るデバッグ・ツールは、図
2に示すように、ユーザインタフェースとしてのホスト
コンピュータ(パソコン等)10と、ホストコンピュー
タ10とRS−232C等の通信線を介して接続され該
ホストコンピュータ10からの要求によりエミュレーシ
ョン用MCUを制御して情報を提供するコントローラ2
0と、PC再現回路31とエミュレーション用MCU3
2を搭載すると共にデバック用の機能を持ったエミュレ
ーションポッド30とで構成されている。
2に示すように、ユーザインタフェースとしてのホスト
コンピュータ(パソコン等)10と、ホストコンピュー
タ10とRS−232C等の通信線を介して接続され該
ホストコンピュータ10からの要求によりエミュレーシ
ョン用MCUを制御して情報を提供するコントローラ2
0と、PC再現回路31とエミュレーション用MCU3
2を搭載すると共にデバック用の機能を持ったエミュレ
ーションポッド30とで構成されている。
【0019】さらに、コントローラ20は、コントロー
ラ制御ユニット21、トレース・ユニット22、ブレー
ク制御ユニット23、及びメモリエミュレーション・ユ
ニット24で構成され、そのうち、コントローラ制御ユ
ニット21では、例えば、ある命令の実行前でブレーク
させる、あるアドレスにメモリアクセスする所でブレー
クさせる、などのホストコンピュータ10からの要求を
受け、他のユニット22〜24を制御する機能を有す
る。
ラ制御ユニット21、トレース・ユニット22、ブレー
ク制御ユニット23、及びメモリエミュレーション・ユ
ニット24で構成され、そのうち、コントローラ制御ユ
ニット21では、例えば、ある命令の実行前でブレーク
させる、あるアドレスにメモリアクセスする所でブレー
クさせる、などのホストコンピュータ10からの要求を
受け、他のユニット22〜24を制御する機能を有す
る。
【0020】また、ブレーク制御ユニット23は、例え
ば、PC再現回路31により再現されたPCの値(再現
値)と、コントローラ制御ユニット21を通して受けた
ブレークさせたいアドレスとを比較し、一致した時にエ
ミュレーション用MCU32に対してブレーク要求を行
うといった機能を持つ。トレース・ユニット22は、P
C再現回路31により再現されたPCの値を用いて、エ
ミュレーション用MCU32のアドレスバス及びデータ
バス等の状態やステータス信号(リードストローブ信号
やライトストローブ信号)をトレース用のメモリ上にト
レースするものである。さらに、メモリエミュレーショ
ン・ユニット24は、エミュレーション用MCU32の
内部メモリ及び外部メモリを代行して、命令コードの格
納やデータのリード/ライトなどを行う機能を有する。
ば、PC再現回路31により再現されたPCの値(再現
値)と、コントローラ制御ユニット21を通して受けた
ブレークさせたいアドレスとを比較し、一致した時にエ
ミュレーション用MCU32に対してブレーク要求を行
うといった機能を持つ。トレース・ユニット22は、P
C再現回路31により再現されたPCの値を用いて、エ
ミュレーション用MCU32のアドレスバス及びデータ
バス等の状態やステータス信号(リードストローブ信号
やライトストローブ信号)をトレース用のメモリ上にト
レースするものである。さらに、メモリエミュレーショ
ン・ユニット24は、エミュレーション用MCU32の
内部メモリ及び外部メモリを代行して、命令コードの格
納やデータのリード/ライトなどを行う機能を有する。
【0021】エミュレーションポッド30のPC再現回
路31は、エミュレーション用MCU32から後述する
所定情報SIを受取って当該MCU32のPCの値を再
現し、この再現値を上述したようにトレース・ユニット
22及びブレーク制御ユニット23へ供給するようにな
っている。
路31は、エミュレーション用MCU32から後述する
所定情報SIを受取って当該MCU32のPCの値を再
現し、この再現値を上述したようにトレース・ユニット
22及びブレーク制御ユニット23へ供給するようにな
っている。
【0022】以下、本実施形態におけるPC再現回路3
1について図1、図3及び図4を用いて詳細に説明す
る。
1について図1、図3及び図4を用いて詳細に説明す
る。
【0023】エミュレーション用MCU32から受け取
る所定情報SIは、外部アドレスADと、命令の分岐時
か否かを示す分岐情報BRを含んだPCの更新情報Iの
みである。本実施形態では、PCのインクリメント数、
分岐及びPCの更新なしを表す情報からなる更新情報I
をパラレルに受け取る例を示している。
る所定情報SIは、外部アドレスADと、命令の分岐時
か否かを示す分岐情報BRを含んだPCの更新情報Iの
みである。本実施形態では、PCのインクリメント数、
分岐及びPCの更新なしを表す情報からなる更新情報I
をパラレルに受け取る例を示している。
【0024】このPC再現回路31は、図1に示すよう
に、加算器1、セレクタ2及びラッチ3で構成されてい
る。加算器1は、PCのパラレルな更新情報I(I3,
I2,I1,I0)と再現値PCRとを加算する。セレ
クタ2は、分岐情報BR(更新情報IのデータI3が当
てられる)をセレクト信号とし、分岐時にMCU32の
アドレスバス上の分岐アドレスADを選択し、分岐時以
外には加算器1の加算結果を選択して出力する。そし
て、ラッチ3は、クロックCLKの立ち上がりに同期し
て前記セレクタ2の出力を保持し、その保持データをP
Cの再現値PCRとして外部へ出力すると共に、前記加
算器1の入力側へフィードバックする。
に、加算器1、セレクタ2及びラッチ3で構成されてい
る。加算器1は、PCのパラレルな更新情報I(I3,
I2,I1,I0)と再現値PCRとを加算する。セレ
クタ2は、分岐情報BR(更新情報IのデータI3が当
てられる)をセレクト信号とし、分岐時にMCU32の
アドレスバス上の分岐アドレスADを選択し、分岐時以
外には加算器1の加算結果を選択して出力する。そし
て、ラッチ3は、クロックCLKの立ち上がりに同期し
て前記セレクタ2の出力を保持し、その保持データをP
Cの再現値PCRとして外部へ出力すると共に、前記加
算器1の入力側へフィードバックする。
【0025】図3は、PCの更新情報I(I3,I2,
I1,I0)の意味内容を示す図である。
I1,I0)の意味内容を示す図である。
【0026】同図に示すように、I3,I2,I1,I
0=0,0,0,0のときは「PC値は更新しない」を
意味する。また、I3,I2,I1,I0=0,0,
0,1のときは「PC値は+1インクリメントする」、
I3,I2,I1,I0=0,0,1,0のときは「P
C値は+2インクリメントする」、I3,I2,I1,
I0=0,0,1,1のときは「PC値は+3インクリ
メントする」、I3,I2,I1,I0=0,1,0,
0のときは「PC値は+4インクリメントする」、I
3,I2,I1,I0=0,1,0,1のときは「PC
値は+5インクリメントする」、I3,I2,I1,I
0=0,1,1,0のときは「PC値は+6インクリメ
ントする」、I3,I2,I1,I0=0,1,1,1
のときは「PC値は+7インクリメントする」をそれぞ
れ意味する。さらに、I3,I2,I1,I0=1,
×,×,×(但し、×は不定状態を表す)のときは「分
岐実行」を意味する。
0=0,0,0,0のときは「PC値は更新しない」を
意味する。また、I3,I2,I1,I0=0,0,
0,1のときは「PC値は+1インクリメントする」、
I3,I2,I1,I0=0,0,1,0のときは「P
C値は+2インクリメントする」、I3,I2,I1,
I0=0,0,1,1のときは「PC値は+3インクリ
メントする」、I3,I2,I1,I0=0,1,0,
0のときは「PC値は+4インクリメントする」、I
3,I2,I1,I0=0,1,0,1のときは「PC
値は+5インクリメントする」、I3,I2,I1,I
0=0,1,1,0のときは「PC値は+6インクリメ
ントする」、I3,I2,I1,I0=0,1,1,1
のときは「PC値は+7インクリメントする」をそれぞ
れ意味する。さらに、I3,I2,I1,I0=1,
×,×,×(但し、×は不定状態を表す)のときは「分
岐実行」を意味する。
【0027】図4は、更新情報Iの変化とPC再現値生
成との関係を示すタイミングチャートである。
成との関係を示すタイミングチャートである。
【0028】図4に示す例においては、分岐が実行され
ると、更新情報I(I3,I2,I1,I0)=「1,
×,×,×」となり、セレクタ2はセレクト信号BR
(I3=1)によりアドレスバス上の分岐先アドレスA
D=「100」を選択する。アドレスADを選択したセ
レクタ2の出力はラッチ3に保持され、ラッチ3の出力
「100」がPCの再現値PCRとなる(図4のT
1)。ラッチ3の出力PCRは、加算器1に入力されて
PCのインクリメント数と加算され、更新後のPCの値
が生成される。
ると、更新情報I(I3,I2,I1,I0)=「1,
×,×,×」となり、セレクタ2はセレクト信号BR
(I3=1)によりアドレスバス上の分岐先アドレスA
D=「100」を選択する。アドレスADを選択したセ
レクタ2の出力はラッチ3に保持され、ラッチ3の出力
「100」がPCの再現値PCRとなる(図4のT
1)。ラッチ3の出力PCRは、加算器1に入力されて
PCのインクリメント数と加算され、更新後のPCの値
が生成される。
【0029】そして、分岐時以外はセレクタ2で更新後
のPCの値が選択され、ラッチ3を通り更新されたPC
の再現値PCRが外部へ出力される。例えば、更新情報
I(I3,I2,I1,I0)=「0,0,0,0」で
あれば、PCのインクリメント数が“+0”であるため
更新されず、前回のラッチ3の出力「100」がそのま
まPCの再現値PCRとなる(図4のT2)。その後の
PCの再現値PCRが「500」であるときに、更新情
報I(I3,I2,I1,I0)=「0,0,0,1」
であれば、前回値に対して+1更新され、この時のPC
の再現値PCRは「501」となる(図4のT3)。
のPCの値が選択され、ラッチ3を通り更新されたPC
の再現値PCRが外部へ出力される。例えば、更新情報
I(I3,I2,I1,I0)=「0,0,0,0」で
あれば、PCのインクリメント数が“+0”であるため
更新されず、前回のラッチ3の出力「100」がそのま
まPCの再現値PCRとなる(図4のT2)。その後の
PCの再現値PCRが「500」であるときに、更新情
報I(I3,I2,I1,I0)=「0,0,0,1」
であれば、前回値に対して+1更新され、この時のPC
の再現値PCRは「501」となる(図4のT3)。
【0030】同様に、PCの再現値PCRが「501」
であるときに、更新情報I(I3,I2,I1,I0)
=「0,0,0,0」となれば、更新されず、PCの再
現値PCRは「501」のままとなる(図4のT4)。
さらに、更新情報I(I3,I2,I1,I0)=
「0,0,1,0」となれば、前回値に対して+2更新
され、この時のPCの再現値PCR=「503」となる
(図4のT5)。また、PCの再現値PCRが「50
3」であるときに、更新情報I(I3,I2,I1,I
0)=「0,1,1,1」となれば、前回値に対して+
7更新され、この時のPCの再現値PCR=「510」
となる(図4のT6)。
であるときに、更新情報I(I3,I2,I1,I0)
=「0,0,0,0」となれば、更新されず、PCの再
現値PCRは「501」のままとなる(図4のT4)。
さらに、更新情報I(I3,I2,I1,I0)=
「0,0,1,0」となれば、前回値に対して+2更新
され、この時のPCの再現値PCR=「503」となる
(図4のT5)。また、PCの再現値PCRが「50
3」であるときに、更新情報I(I3,I2,I1,I
0)=「0,1,1,1」となれば、前回値に対して+
7更新され、この時のPCの再現値PCR=「510」
となる(図4のT6)。
【0031】このように、本実施形態では、外部にアド
レスを出力しているエミュレーション用MCUのデバッ
グ・ツールに内蔵されたPC再現回路において、該MC
Uから受け取る所定情報SIであるPCの更新情報(更
新しない場合を含む)、分岐情報及びアドレスにより、
PCの値を再現するようにしたので、エミュレーション
用MCUから受け取る所定情報SIの数は従来回路より
も少なくなり、その結果、回路構成を簡素化でき、且つ
エミュレーション用MCUへの依存性を低くすることが
できる。
レスを出力しているエミュレーション用MCUのデバッ
グ・ツールに内蔵されたPC再現回路において、該MC
Uから受け取る所定情報SIであるPCの更新情報(更
新しない場合を含む)、分岐情報及びアドレスにより、
PCの値を再現するようにしたので、エミュレーション
用MCUから受け取る所定情報SIの数は従来回路より
も少なくなり、その結果、回路構成を簡素化でき、且つ
エミュレーション用MCUへの依存性を低くすることが
できる。
【0032】尚、上記更新情報Iの数は“4”に限定さ
れない。そして、分岐情報,更新情報を任意の複数にす
ることで、インクリメント値を増加あるいは減少させる
ことが可能である。
れない。そして、分岐情報,更新情報を任意の複数にす
ることで、インクリメント値を増加あるいは減少させる
ことが可能である。
【0033】図5は、本発明の第2実施形態に係るPC
再現回路の構成を示すブロック図であり、図1と共通の
要素には同一の符号が付されている。なお、本実施形態
のPC再現回路も、上記第1実施形態のPC再現回路3
1に代えて、図2に示すデバッグツールに内蔵されるも
のである。
再現回路の構成を示すブロック図であり、図1と共通の
要素には同一の符号が付されている。なお、本実施形態
のPC再現回路も、上記第1実施形態のPC再現回路3
1に代えて、図2に示すデバッグツールに内蔵されるも
のである。
【0034】本実施形態のPC再現回路は、前記更新情
報Iをシリアルに受け取る例を示すものであり、上記第
1実施形態と異なる点は、更新情報I(I3,I2,I
1,I0)をシリアル信号としてシフトレジスタ4で受
け、更新情報Iの最終データ(I0)を受信中に、加算
器1を通してPCの値が更新される点である。
報Iをシリアルに受け取る例を示すものであり、上記第
1実施形態と異なる点は、更新情報I(I3,I2,I
1,I0)をシリアル信号としてシフトレジスタ4で受
け、更新情報Iの最終データ(I0)を受信中に、加算
器1を通してPCの値が更新される点である。
【0035】より具体的には、図1に示すPC再現回路
において、加算器1の入力側にシフトレジスタ4を設
け、前記エミュレーション用MCU32から送られてく
る更新情報I(I3,I2,I1,I0)をクロックC
LKに同期してシリアルに受け取る。さらに、シリアル
更新情報Iの最終データI0を送信中であることを表す
信号RTとクロックCLKとのアンドをとるANDゲー
ト5を設け、その出力をラッチ3のクロック端子CKに
供給する。その他の点は、第1実施形態と同様である。
において、加算器1の入力側にシフトレジスタ4を設
け、前記エミュレーション用MCU32から送られてく
る更新情報I(I3,I2,I1,I0)をクロックC
LKに同期してシリアルに受け取る。さらに、シリアル
更新情報Iの最終データI0を送信中であることを表す
信号RTとクロックCLKとのアンドをとるANDゲー
ト5を設け、その出力をラッチ3のクロック端子CKに
供給する。その他の点は、第1実施形態と同様である。
【0036】図6は、本実施形態における更新情報Iの
変化とPC再現値生成との関係を示すタイミングチャー
トであり、更新情報Iをシリアル信号として4クロック
サイクルで送る場合を表している。
変化とPC再現値生成との関係を示すタイミングチャー
トであり、更新情報Iをシリアル信号として4クロック
サイクルで送る場合を表している。
【0037】分岐が実行されると、シリアル更新情報I
(I3,I2,I1,I0)=「1,0,0,0」が順
次シフトレジスタ4に送られ、まず分岐情報I3=1に
より、セレクタ2はアドレスバス上の分岐先アドレスA
D=「100」を選択する。そして、シリアル更新情報
Iの最終データI0=0を受信中に信号RTが“H”レ
ベルとなり、クロックCLKの立ち上がりに同期して、
セレクタ2の出力はラッチ3に保持される。その結果、
このときのPCの再現値PCRは「100」となる(図
6のT11)。
(I3,I2,I1,I0)=「1,0,0,0」が順
次シフトレジスタ4に送られ、まず分岐情報I3=1に
より、セレクタ2はアドレスバス上の分岐先アドレスA
D=「100」を選択する。そして、シリアル更新情報
Iの最終データI0=0を受信中に信号RTが“H”レ
ベルとなり、クロックCLKの立ち上がりに同期して、
セレクタ2の出力はラッチ3に保持される。その結果、
このときのPCの再現値PCRは「100」となる(図
6のT11)。
【0038】更新情報I(I3,I2,I1,I0)=
「0,0,0,0」であれば、PCの再現値は更新され
ず、前回のラッチ3の出力「100」がそのままPCの
再現値PCRとなる(図6のT12)。そして、PCの
再現値PCRが「100」であるときに、更新情報I
(I3,I2,I1,I0)=「0,0,1,1」であ
れば、前回値に対して+3更新され、この時のPCの再
現値PCR=「103」となる(図6のT13)。
「0,0,0,0」であれば、PCの再現値は更新され
ず、前回のラッチ3の出力「100」がそのままPCの
再現値PCRとなる(図6のT12)。そして、PCの
再現値PCRが「100」であるときに、更新情報I
(I3,I2,I1,I0)=「0,0,1,1」であ
れば、前回値に対して+3更新され、この時のPCの再
現値PCR=「103」となる(図6のT13)。
【0039】その後、PCの再現値PCRが「500」
であるときに、更新情報I(I3,I2,I1,I0)
=「0,1,0,0」となれば、前回値に対して+4更
新され、この時のPCの再現値PCR=「504」とな
る(図6のT14)。さらに、PCの再現値PCRが
「504」であるときに、更新情報I(I3,I2,I
1,I0)=「0,0,1,0」となれば、前回値に対
して+2更新され、この時のPCの再現値PCR=「5
06」となる(図6のT15)。
であるときに、更新情報I(I3,I2,I1,I0)
=「0,1,0,0」となれば、前回値に対して+4更
新され、この時のPCの再現値PCR=「504」とな
る(図6のT14)。さらに、PCの再現値PCRが
「504」であるときに、更新情報I(I3,I2,I
1,I0)=「0,0,1,0」となれば、前回値に対
して+2更新され、この時のPCの再現値PCR=「5
06」となる(図6のT15)。
【0040】尚、上記更新情報Iの数は“4”に限定さ
れない。そして、分岐情報,更新情報を任意の複数にす
ることで、インクリメント値を増加あるいは減少させる
ことが可能である。
れない。そして、分岐情報,更新情報を任意の複数にす
ることで、インクリメント値を増加あるいは減少させる
ことが可能である。
【0041】このように、更新情報Iをシリアルに受け
取る本実施形態においても、回路構成を簡素化でき、且
つエミュレーション用MCUへの依存性を低くすること
ができる。
取る本実施形態においても、回路構成を簡素化でき、且
つエミュレーション用MCUへの依存性を低くすること
ができる。
【0042】
【発明の効果】以上詳細に説明したように、第1の発明
によれば、CPUから受け取る所定情報を、アドレス、
分岐情報、及び前記プログラム・カウンタの更新情報と
したので、CPUから受け取る所定情報の数は従来回路
よりも少なくなるため、回路構成を簡素化することがで
きる。さらに、CPUへの依存性が低くなるため回路の
汎用性を向上させることができる。
によれば、CPUから受け取る所定情報を、アドレス、
分岐情報、及び前記プログラム・カウンタの更新情報と
したので、CPUから受け取る所定情報の数は従来回路
よりも少なくなるため、回路構成を簡素化することがで
きる。さらに、CPUへの依存性が低くなるため回路の
汎用性を向上させることができる。
【0043】第2の発明によれば、プログラム・カウン
タの更新情報、分岐情報及びアドレスをCPUから受取
り、加算器、セレクタ、及びラッチの平易な構成でCP
Uのプログラム・カウンタの値を的確に再現することが
でき、しかも、CPUへの依存性が低くなるため回路の
汎用性を向上させることができる。
タの更新情報、分岐情報及びアドレスをCPUから受取
り、加算器、セレクタ、及びラッチの平易な構成でCP
Uのプログラム・カウンタの値を的確に再現することが
でき、しかも、CPUへの依存性が低くなるため回路の
汎用性を向上させることができる。
【0044】この第3の発明によれば、CPUから、プ
ログラム・カウンタの更新情報をシリアルに受け取ると
共に分岐情報及びアドレスも受取り、シフトレジスタ、
加算器、セレクタ、及びラッチの平易な構成でCPUの
プログラム・カウンタの値を的確に再現することがで
き、しかも、CPUへの依存性が低くなるため回路の汎
用性を向上させることができる。
ログラム・カウンタの更新情報をシリアルに受け取ると
共に分岐情報及びアドレスも受取り、シフトレジスタ、
加算器、セレクタ、及びラッチの平易な構成でCPUの
プログラム・カウンタの値を的確に再現することがで
き、しかも、CPUへの依存性が低くなるため回路の汎
用性を向上させることができる。
【図1】本発明の第1実施形態に係るPC再現回路の構
成を示すブロック図である。
成を示すブロック図である。
【図2】PC再現回路を内蔵するデバッグ・ツールの構
成を示すブロック図である。
成を示すブロック図である。
【図3】PCの更新情報I(I3,I2,I1,I0)
の意味内容を示す図である。
の意味内容を示す図である。
【図4】第1実施形態の動作を示すタイミングチャート
である。
である。
【図5】本発明の第2実施形態に係るPC再現回路の構
成を示すブロック図である。
成を示すブロック図である。
【図6】第2実施形態の動作を示すタイミングチャート
である。
である。
【図7】従来のPC再現回路の構成を示すブロック図で
ある。
ある。
1 加算器 2 セレクタ 3 ラッチ 4 シフトレジスタ 5 ANDゲート 10 ホストコンピュータ 20 コントローラ 21 コントローラ制御ユニット 22 トレース・ユニット 23 ブレーク制御ユニット 24 メモリエミュレーションユニット 30 エミュレーションポッド 31 PC再現回路 32 エミュレーション用MCU AD アドレス I 更新情報 BR 分岐情報 CLK クロック PCR PCの再現値 RT 最終データI0の送信中を表す信号
Claims (4)
- 【請求項1】 CPUが実行する命令のアドレスを保持
するプログラム・カウンタの値を、前記CPUから受け
取った所定情報によって再現するプログラム・カウンタ
再現回路において、 前記CPUから受け取る前記所定情報を、アドレス、分
岐情報、及び前記プログラム・カウンタの更新情報とし
たことを特徴とするプログラム・カウンタ再現回路。 - 【請求項2】 前記更新情報により前記プログラム・カ
ウンタのインクリメント数が変化することを特徴とする
請求項1に記載のプログラム・カウンタ再現回路。 - 【請求項3】 CPUが実行する命令のアドレスを保持
するプログラム・カウンタの更新情報と前記プログラム
・カウンタの再現値とを加算する加算器と、 命令の分岐時か否かを示す前記CPUの分岐情報より選
択制御され、分岐時にCPUからのアドレスを選択し、
分岐時以外には前記加算器の加算結果を選択して出力す
るセレクタと、 所定のタイミングで前記セレクタの出力を保持して、前
記プログラム・カウンタの前記再現値として出力するラ
ッチとを備えたことを特徴とするプログラム・カウンタ
再現回路。 - 【請求項4】 CPUが実行する命令のアドレスを保持
するプログラム・カウンタの更新情報を前記CPUより
シリアルに受け取るシフトレジスタと、 前記シフトレジスタの出力と前記プログラム・カウンタ
の再現値とを加算する加算器と、 命令の分岐時か否かを示す前記CPUの分岐情報により
選択制御され、分岐時に前記CPUからのアドレスを選
択し、分岐時以外には前記加算器の加算結果を選択出力
するセレクタと、 前記プログラム・カウンタの更新情報の最終データを受
信中に前記セレクタの出力を保持して、前記プログラム
・カウンタの前記再現値として出力するラッチとを備え
たことを特徴とするプログラム・カウンタ再現回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8199090A JPH1049398A (ja) | 1996-07-29 | 1996-07-29 | プログラム・カウンタ再現回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8199090A JPH1049398A (ja) | 1996-07-29 | 1996-07-29 | プログラム・カウンタ再現回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1049398A true JPH1049398A (ja) | 1998-02-20 |
Family
ID=16401951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8199090A Pending JPH1049398A (ja) | 1996-07-29 | 1996-07-29 | プログラム・カウンタ再現回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1049398A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001093040A1 (fr) * | 2000-05-30 | 2001-12-06 | Matsushita Electric Industrial Co., Ltd. | Systeme et procede d'analyse de compteur de programme, et dispositif a semi-conducteur |
-
1996
- 1996-07-29 JP JP8199090A patent/JPH1049398A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001093040A1 (fr) * | 2000-05-30 | 2001-12-06 | Matsushita Electric Industrial Co., Ltd. | Systeme et procede d'analyse de compteur de programme, et dispositif a semi-conducteur |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0241946B1 (en) | Information processing system | |
US4402081A (en) | Semiconductor memory test pattern generating apparatus | |
EP0291581A2 (en) | Logic integrated circuit capable of simplifying a test | |
KR100407548B1 (ko) | 트레이스 제어 회로 | |
KR920007253B1 (ko) | 마이크로 프로그램 제어 장치 | |
JP2005038253A (ja) | テスト方法、テストシステム、及び、プログラム | |
JP2001184212A (ja) | トレース制御回路 | |
JP3289704B2 (ja) | マイクロコンピュータ | |
JPH1049398A (ja) | プログラム・カウンタ再現回路 | |
KR20060019609A (ko) | 시험 장치, 및 프로그램 | |
US5978925A (en) | System for improving processing efficiency in a pipeline by delaying a clock signal to a program counter and an instruction memory behind a system clock | |
JP2000155701A (ja) | デバッグ回路 | |
JP3001547B1 (ja) | インサーキットエミュレータ | |
JP3088407B2 (ja) | インサーキットエミュレータおよびインサーキットエミュレーション方法 | |
US5109516A (en) | Sequence controller for controlling next operating state with a short sequence | |
JPH0256644A (ja) | マイクロプロセッサ用デバッグ装置 | |
JP3117214B2 (ja) | シーケンサのマイクロプログラム制御方式 | |
JPH05265746A (ja) | マイクロプロセッサ | |
JP2003114796A (ja) | コンピュータ制御回路 | |
JPS61202238A (ja) | マイクロプロセツサのダイナミツクバ−ンイン方法 | |
JP2001184231A (ja) | プログラム開発支援装置とその制御方法 | |
JPH05173779A (ja) | デジタル演算集積回路 | |
JPH05282179A (ja) | エミュレータ | |
JPS62248043A (ja) | マイクロコンピユ−タ・インストラクシヨン・フエツチ用メモリ切換回路 | |
JP2006048090A (ja) | データ処理方法、プログラムおよびコンピュータ |