JP2003015908A - インサーキットエミュレータのブレーク信号発生回路 - Google Patents

インサーキットエミュレータのブレーク信号発生回路

Info

Publication number
JP2003015908A
JP2003015908A JP2001201359A JP2001201359A JP2003015908A JP 2003015908 A JP2003015908 A JP 2003015908A JP 2001201359 A JP2001201359 A JP 2001201359A JP 2001201359 A JP2001201359 A JP 2001201359A JP 2003015908 A JP2003015908 A JP 2003015908A
Authority
JP
Japan
Prior art keywords
signal
value
data
break
data memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2001201359A
Other languages
English (en)
Inventor
Hiroshi Kugiyama
宏 栓山
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.)
Oki Electric Industry Co Ltd
Oki Micro Design Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Oki Micro Design Co 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 Oki Electric Industry Co Ltd, Oki Micro Design Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2001201359A priority Critical patent/JP2003015908A/ja
Publication of JP2003015908A publication Critical patent/JP2003015908A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 バイト命令及びワード命令識別信号がない場
合であっても、意図するビット幅でデータ値と任意設定
値とを比較しブレークできる。さらには、入力信号数を
増やすことなく、大きいバイト数の単位でデータ値と任
意設定値とを比較しブレークできる。 【解決手段】 データメモリリード信号出力部は、デー
タメモリリード/ライト信号と命令の先頭信号とが所定
の条件を満たすように入力されると、第iデータメモリ
リード信号を出力開始または停止する。第i一致信号出
力部は、第iデータメモリリード信号が入力開始される
と同時に、一つの命令に対応する1又は複数のデータメ
モリのデータ値のうち第i番目のデータ値をデータメモ
リから読み込み、任意設定値とを比較して、双方の値が
一致している場合には、第i一致信号を出力する。ブレ
ーク信号出力部は、読み込まれたデータ値と任意設定値
とが所定バイト単位で一致したと判断したときに、ブレ
ーク信号を出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、インサーキット
エミュレータによるエミュレーションをブレークするに
当たって、ブレーク信号を発するインサーキットエミュ
レータのブレーク信号発生回路に関する。
【0002】
【従来の技術】インサーキットエミュレータは、マイク
ロコントローラ(マイコン)の開発支援装置として、プ
ログラム及びハードウェアデバッグに用いられている。
インサーキットエミュレータには、システム状態を設
定、変更できる機能、実行状態が確認できるトレース機
能、プログラムの特定部分やシステムとしての特定状態
により実行を中断できるブレーク機能などが用意されて
おり、リアルタイムデバッグを効率的に行うことができ
る。
【0003】従来、このインサーキットエミュレータに
よる、プログラムのエミュレーション(実行)中に、エ
ミュレーションをブレーク(中断)させるには、一般的
に以下のような方法が用いられていた。
【0004】すなわち、インサーキットエミュレータの
データメモリのデータ値(以後、データ値とも称す
る。)とブレークさせる値である任意に設定した値(以
後、任意設定値とも称する。)とを比較し、一致したら
ブレークさせていた(これをデータマッチブレークとい
う。)。この方法において、データ値と任意設定値とを
意図するバイト幅で比較し一致させ、ブレークさせるた
めに、プログラムの命令がバイト命令(1バイトの命
令)であることを識別する信号(以後、バイト命令識別
信号とも称する。)、及びプログラムの命令がワード命
令(2バイトの命令)であることを識別する信号(以
後、ワード命令識別信号とも称する。)を利用してい
た。
【0005】この従来のブレーク方法を実現するため
に、従来使用されているブレーク信号発生回路につい
て、図13を参照して説明する。図13は、従来技術の
ブレーク信号発生回路の構成を示す回路図である。
【0006】図13に示すように、このブレーク信号発
生回路は、第1論理組み合わせ回路10、第2論理組み
合わせ回路40、第1コンペア回路20及び第2コンペ
ア回路30で構成されている。
【0007】第1論理組み合わせ回路10には、バイト
命令識別信号B1、ワード命令識別信号B2、データメ
モリリード/ライト信号R/W、及びデータメモリのア
ドレスバス最下位ビット信号Cがそれぞれ入力される。
【0008】また、第1コンペア回路20及び第2コン
ペア回路30の端子D1と端子D2には、それぞれデー
タ値Dと任意設定値Aとがデータバスによって入力され
る。また、第1コンペア回路20の端子CLK1と端子
CLK2には、第1論理組み合わせ回路10の出力F1
と第1任意設定値ライト信号W1とがそれぞれ入力され
る。同様に、第2コンペア回路30の端子CLK1と端
子CLK2には、第1論理組み合わせ回路10の出力F
2と第2任意設定値ライト信号W2とがそれぞれ入力さ
れる。
【0009】また、第1コンペア回路20及び第2コン
ペア回路30の端子CLR1と端子CLR2には、デー
タ値クリア信号CLR1と任意設定値クリア信号CLR
2とがそれぞれ入力される。
【0010】さらに、第2論理組み合わせ回路40に
は、第1コンペア回路20及び第2コンペア回路30の
それぞれの出力端子EQUからの出力G1及びG2と、
所定バイト識別信号E1と、所定バイト識別信号E2と
が入力される。そして、第2論理組み合わせ回路40か
らブレーク信号Hが出力される。
【0011】このブレーク信号発生回路の動作につい
て、図2を参照して説明する。図2は、従来技術のブレ
ーク信号発生回路の動作を示すタイミングチャートであ
る。
【0012】まず、エミュレーションを行う際に用いる
各種信号やデータについて説明する。
【0013】図2に示すように、インサーキットエミュ
レータのCPUの基本クロックBCLKに同調して、プ
ログラムの命令Inが実行される。図2においては、C
PUが一度に処理できる情報量を1バイトとしており、
従って、タイミングチャートを1バイトの命令Inを処
理する時間ごとに区切っている。そして、図2において
は、CPUが処理する命令Inは、順にバイト、ワー
ド、バイト命令になっている。
【0014】このとき、バイト命令識別信号B1のレベ
ルは、バイト命令のときハイレベルになっており、か
つ、ワード命令のときローレベルになっている。これに
対して、ワード命令識別信号B2のレベルは、バイト命
令識別信号B1の逆になっている。
【0015】また、データメモリ中のデータ値Dは、命
令をマイコンがバイト単位で処理するごとに記憶されて
いるので、命令の下位のバイトに対応するデータ値と、
上位のバイトに対応するデータ値とが存在する。
【0016】ここで、命令の下位のバイトとは、バイト
命令処理のとき及びワード命令であって前半のバイト処
理のときのことを意味しており、上位のバイトとは、ワ
ード命令であって後半のバイト処理のときのことを意味
している。
【0017】これに対応して、データメモリのアドレス
バス最下位ビット信号Cのレベルは、データメモリ中の
データ値が下位バイトのときにはローレベルになってい
て、上位バイトのときにはハイレベルになっている。ま
た、データメモリリード/ライト信号R/Wは、命令切
り換え時にローレベルからハイレベルに立ち上がる波形
になっている。
【0018】これらのB1、B2、R/W、及びC信号
が第1論理組み合わせ回路10に入力されたときに出力
される信号F1及びF2は、図2に示すとおりである。
このうち、F1は第1コンペア回路20へのデータ値リ
ード信号になっており、F1が第1コンペア回路20の
端子CLK1に入力されると同時に、端子D1からデー
タ値Dが入力される。
【0019】ここで、F1が入力されるとは、F1のレ
ベルがローレベルからハイレベルに立ち上がったときの
ことを意味している。つまり、図2の時間t1、t2及
びt4のタイミングで第1コンペア回路20にはデータ
値Dが読み込まれている。従って、第1コンペア回路2
0では、下位バイトのデータ値を読み取っている。
【0020】同様に、F2は第2コンペア回路30への
データ値リード信号になっており、F2が第2コンペア
回路30の端子CLK1に入力されると同時に、第2コ
ンペア回路30の端子D1からデータ値Dが入力され
る。つまり、図2のt3のタイミングで第2コンペア回
路30にはデータ値が読み込まれている。従って、第2
コンペア回路30では、上位バイトのデータ値を読み取
っている。
【0021】次に、第1コンペア回路20及び第2コン
ペア回路30のそれぞれにおいて、このデータ値Dと、
予め端子D2から入力された任意設定値とを比較して、
一致している場合には、出力端子EQUからそれぞれ一
致信号であるG1及びG2を出力する(ハイレベルにな
る。)。
【0022】このブレーク信号発生回路によれば、バイ
ト単位でブレークさせたいときには、第1コンペア回路
20及び第2コンペア回路30には同じ任意設定値Aを
入力し、ワード単位でブレークさせたいときにはそれぞ
れに異なる任意設定値Aを入力する。
【0023】次に、第2論理組み合わせ回路40におい
て、G1及びG2に基づいてブレーク信号を出力するか
判断する。このブレーク信号発生回路によれば、第2論
理組み合わせ回路40に入力するE1とE2のレベル
は、バイト単位でブレークさせたいとき予めE1にはハ
イレベル、かつ、E2にはローレベルを与えておく。そ
して、バイト単位でブレークしたいときであれば、G1
及びG2のうち一方がハイレベルであれば、ブレーク信
号である信号Hが出力される(ハイレベルになる。)。
つまり、第1コンペア回路20中の下位バイトであるデ
ータ値と第2コンペア回路30中の上位バイトであるデ
ータ値のうち、どちらかが任意設定値と一致していれば
ブレーク信号を出力する。
【0024】また、ワード単位でブレークしたいときで
あれば、G1及びG2の両方がハイレベルであれば、ブ
レーク信号である信号Hが出力される(ハイレベルにな
る。)。つまり、第1コンペア回路20中の下位バイト
であるデータ値と第2コンペア回路30中の上位バイト
であるデータ値の両方が任意設定値と一致していればブ
レーク信号を出力する。
【0025】
【発明が解決しようとする課題】しかしながら、上述の
ブレーク信号発生回路では、バイト命令識別信号及びワ
ード命令識別信号がない場合は、バイト命令かワード命
令かを判断できない。つまり、第1論理組み合わせ回路
10の出力信号であるF1及びF2を得ることができな
い。このF1及びF2は、第1及び第2コンペア回路2
0及び30にデータ値を書き込むデータメモリリード信
号の役割を果たしているので、結果的に、意図するビッ
ト幅でデータの値と任意設定値とを比較しブレークでき
ない。
【0026】また、第1論理組み合わせ回路10には4
つの信号を入力させる必要があり、従って、第1論理組
み合わせ回路10が複雑な構造になっていた。
【0027】さらに、上述のブレーク信号発生回路で
は、ワード単位より大きいバイト数の単位で比較できな
い。この理由として、上述のブレーク信号発生回路で
は、バイト単位又はワード単位の比較をするために、識
別信号を2つ入力させる必要があるのに対し、例えば最
大2mバイト単位で比較できるようにするには、識別信
号を2m個入力しなければならず、これに伴って第1論
理組み合わせ回路10がますます複雑になる。さらに、
データメモリのアドレスバス最下位ビット信号は、デー
タ値が下位のバイト又は上位のバイトのどちらに対応す
るかのみ識別できるので、ワード単位より大きいバイト
数の命令に対応するデータ値は識別することができな
い。
【0028】従って、この発明の目的は、バイト命令及
びワード命令識別信号がない場合であっても、意図する
ビット幅でデータ値と任意設定値とを比較しブレークで
きるブレーク信号発生回路を提供することである。さら
に、この発明の他の目的は、入力信号数を増やすことな
く、大きいバイト数の単位でデータ値と任意設定値とを
比較しブレークできるブレーク信号発生回路を提供する
ことである。
【0029】
【課題を解決するための手段】上述の目的を達成するた
め、この発明のブレーク信号発生回路は、次のような構
成を有する。
【0030】即ち、この発明のブレーク信号発生回路
は、インサーキットエミュレータによるプログラムのエ
ミュレーション中に、このプログラムの命令を実行する
ときのデータ値を記憶するデータメモリのデータ値と、
ブレークしたい数値としての任意設定値とを、所定のバ
イト単位で比較して、双方の値が一致していたらブレー
ク信号を出力する。
【0031】このとき、インサーキットエミュレータに
より一度に処理できるバイト数は2 pバイト(但し、p
は0以上の整数)であり、比較できる最大のバイト単位
は2n +pバイト(但し、nは1以上の整数)であり、及
び所定のバイト単位が2m+pバイト(但し、mは0≦m
≦nを満たす整数)である。
【0032】なおこの発明のブレーク信号発生回路は、
データメモリリード信号出力部と、第i一致信号出力部
と、ブレーク信号出力部とで構成される。
【0033】データメモリリード信号出力部は、データ
メモリリード/ライト信号と命令の先頭信号とが所定の
条件を満たすように入力されると、第iデータメモリリ
ード信号を出力開始または停止する。
【0034】また第i一致信号出力部は、第iデータメ
モリリード信号が入力開始されると同時に、一つの命令
に対応する1又は複数のデータメモリのデータ値のうち
第i番目のデータ値をデータメモリから読み込み、この
読み込まれたデータ値と、2 pバイトの任意設定値とを
比較して、双方の値が一致している場合には、第i一致
信号を出力する。
【0035】またブレーク信号出力部は、少なくとも2
m個の第i一致信号出力部の各々から第i一致信号が入
力され、かつ、読み込まれたデータ値と任意設定値とを
m+ pバイト単位で一致したと判断したときに、ブレー
ク信号を出力する(但しiは、i=1,2,3,・・
・,2n)。
【0036】ここで、nの値はブレーク信号発生回路の
構造によって決まる値である。つまり、この発明のブレ
ーク信号発生回路は、2n個の一致信号出力部を有して
いる。そして、データメモリリード信号出力部からデー
タメモリリード信号は2n個出力され、これらの信号は
n個の一致信号出力部にそれぞれ入力され、これらそ
れぞれの一致信号出力部から一致信号が出力される。
【0037】また、pの値は、インサーキットエミュレ
ータのマイコンの性能で決まってくる値である。つま
り、マイコンが2pバイトを一度に処理できる性能であ
るとき、データメモリに記憶されるデータ値は2pバイ
トになる。このとき、それぞれの第i一致信号出力部に
おいては、2pバイトの読み込まれたデータ値と2pバイ
トの任意設定値とを比較している。従って、比較できる
最大のバイト数は2n+pバイトになる。
【0038】またmの値は、エミュレーション前に、例
えば外部入力により予め設定しておく。この設定した値
は、エミュレーション前であれば変更可能なものとし、
また、エミュレーション中に変更可能であってもよい。
このとき、所定のバイト単位は2m+pバイトであり、こ
の所定のバイト単位は、比較しブレークさせたいバイト
単位である。
【0039】また、データメモリリード/ライト信号と
は、データメモリにデータ値を書き込むための信号であ
ると共に、第i一致信号出力部においてこのデータ値を
データメモリから読み込むための信号である。また、命
令の先頭信号とは、インサーキットエミュレータのマイ
コンが新たな命令の実行を開始すると共に出力開始する
信号のことである。
【0040】また、第i一致信号出力部において、一つ
の命令が2q+pバイト単位のとき、この命令に対応する
一又は複数のデータメモリのデータ値とは、この一つの
命令をマイコンで実行したときに得られたデータ値のす
べてのことを意味している。従って、このデータ値はそ
れぞれ2pバイトからなっており、かつ2q個存在する。
【0041】従って、第i番目のデータ値とは、この2
q個のデータ値のうち、データメモリに記憶された順で
いうところの第i番目のデータ値のことを意味し、すな
わち、2q個のデータ値群を並べて一つの命令に対応す
る一つのデータ値群としたとき、下位から数えて第i番
目のデータ値と定義する。
【0042】なお、入力される信号レベルをハイレベル
とローレベルとの二種類に分けた場合、ハイレベルが継
続されている期間又はローレベルからハイレベルに変化
した瞬間に、意味があるあるいは動作が行われることが
ある。この発明でいうところの信号の入力又は入力開始
とはそれぞれ、このような期間又は瞬間のことを意味す
る。信号の出力又は出力開始においても同様である。ま
た、逆にハイレベルとローレベルとが反対であってもよ
い。
【0043】このように、データメモリリード信号出力
部において、データメモリリード/ライト信号と命令の
先頭信号とが所定の条件を満たすように入力されること
により、上述の第i一致信号出力部において、第iデー
タメモリリード信号の入力開始と同時に、第i番目のデ
ータ値を読み込むことができる。
【0044】従って、少なくとも2m個の第i一致信号
出力部の各々から第i一致信号が出力されると、2p
イトのデータ値と任意設定値とが、少なくとも2m個に
おいて一致したことになる。しかも、それぞれの第i一
致信号出力部においては、一つの命令に対応する第i番
目のデータ値と任意設定値とを比較しているので、これ
ら少なくとも2m個のデータ値はそれぞれ重複していな
い。すなわち、このときデータ値と任意設定値とが2
m+pバイト単位で一致する。
【0045】さらに、ブレーク信号出力部において、デ
ータ値と任意設定値とが2m+pバイト単位で一致したと
判断したときにのみブレーク信号を出力する。即ち、こ
のブレーク信号出力部は、データ値と任意設定値とがブ
レークさせたい所定のバイト数である2m+pバイト単位
で一致したときにのみ、確実に、ブレーク信号を出力す
ることができる。
【0046】また、この発明では、従来技術において必
要であったバイト命令又はワード命令識別信号、即ち一
般化すると、2p+qバイト命令識別信号を用いなくて
も、意図するバイト単位でデータ値と任意設定値とを比
較しブレークすることができる。さらに、従来技術にお
いては、n=1のときデータメモリリード信号出力部へ
の入力信号が4つ必要であり、かつ、n≧2のときに適
用することできなかったのに対し、この発明では、すべ
てのnについて理論的に適用可能であり、しかも、デー
タメモリリード信号出力部への入力信号は、常にデータ
メモリリード/ライト信号及び命令の先頭信号の二つだ
けでよい。
【0047】ところで、この発明の実施に当たり、デー
タメモリリード信号出力部は、データメモリリード/ラ
イト信号のみ連続してi回入力開始されると、第iデー
タメモリリード信号を出力開始し、及び、命令の先頭信
号が入力開始されるとデータメモリリード信号を出力停
止するように動作するのが好ましい。ここで、データメ
モリリード/ライト信号のみ連続してi回入力開始され
るとは、命令の先頭信号が入力開始される前にデータメ
モリリード/ライト信号のみ連続してi回入力開始され
ることを意味する。
【0048】この場合、データメモリリード信号出力部
における第iデータメモリリード信号出力開始時には、
データメモリにおいて、一つの命令に対応する1又は複
数のデータメモリのデータ値のうち第i番目のデータ値
が記憶されている。よって、第iデータメモリリード信
号が入力開始されると同時に、第i一致信号出力部は、
データメモリからこの第i番目のデータ値を読み込むこ
とができる。
【0049】さらに、データメモリリード信号出力部が
上述したような動作を行う場合、出力停止の条件である
命令の先頭信号の入力は、新たな命令の実行が開始され
た時に起こるため、第iデータメモリリード信号の出力
停止時とは、一つの命令の実行が終わり新たな命令の実
行に移るときを意味する。従って、データメモリリード
信号出力部は、その時点で振り出しに戻り、新たに上述
の出力開始の条件を満たしたときに再びデータメモリリ
ード信号を出力開始するので、この出力開始時に、第i
一致信号出力部はこの新たな一つの命令に対応する第i
番目のデータ値を読み込むことができる。
【0050】また、この発明の実施に当たり、好ましく
は第i一致信号出力部におけるデータメモリのデータ値
の読み込みは、第iデータメモリリード信号が入力開始
されたときの最新のデータ値を読み込んで、この読み込
まれたデータ値は逐次更新されるのが良い。
【0051】このように動作することにより、第i一致
信号出力部は、一つの命令に対応する1又は複数のデー
タメモリのデータ値のうち第i番目のデータ値を読み込
むことができる。また、この読み込まれたデータ値は逐
次更新されるので、第i一致信号出力部はこの逐次更新
されたデータ値と任意設定値とを比較することができ、
従って、すべての読み込まれたデータ値について比較す
ることができる。
【0052】また、この発明の実施に当たり、好ましく
は、第i一致信号出力部において、iの値に対し、j=
{i−(k−1)2m}(数式(1))(但し、j=
1,2,3,・・・,2m、かつ、k=1,2,3,・
・・,2n-m)を満たすjが同じ値をもつとき、任意設
定値は同じ値をもつのが良い。
【0053】なお、第i一致信号出力部は、一つの命令
に対応する1又は複数のデータメモリのデータ値のうち
第i番目のデータ値を読み込み、次の条件を満たしたと
き、データ値と任意設定値とが2m+pバイト単位で一致
していると判断する。
【0054】すなわち、2n個のiの値を大きさの順に
並べて2m個ずつ2n-m群に分けたとき、少なくとも一つ
の群については、その群に属する2m個のすべてのiの
値に対応する第i一致信号出力部から第i一致信号が出
力されればよい。
【0055】例えばi=1,2,3,・・・,2m(k
=1のとき)に対応するすべての第i一致信号出力部に
おいて、データ値と任意設定値とが一致していればよ
い。同様に、i=2m+1,2m+2,・・・,2
m+1(k=2のとき)に対応するすべての第i一致信号
出力部において、データ値と任意設定値とが一致してい
てもよい。同様に、i=2n−2m+1,2n−2m+2,
・・・,2n(k=2n-mのとき)に対応するすべての第
i一致信号出力部において、データ値と任意設定値とが
一致していてもよい。
【0056】ここで、kの値は、それぞれの群の番号に
相当することがわかる。したがって、一つの群に属する
それぞれのiの値に対応する第i一致信号出力部におい
ては、2m個の一組の任意設定値を設定する必要があ
る。また、異なる群に対しては、同じ一組の任意設定値
を設定する必要がある。
【0057】すなわち、あるiの値が第k群に族してい
るとし、第k群中で、このiが、小さい順にy番目とす
ると、同じyをもつ第i一致信号出力部における任意設
定値は同じ値をもてばよい。上述の、iの値に対し、数
式(1)を満たすjの値が同じ値をもつときに、任意設
定値も同じ値をもつということは、以上のことを意味し
ている。
【0058】また、この発明の実施に当たり、好ましく
は、ブレーク信号出力部において、少なくとも一つのk
の値において、このkの値に対する2m個のすべての第
i一致信号出力部から第i一致信号が入力されたとき
に、データ値と任意設定値とが2m+pバイト単位で一致
したと判断するのが良い。この結果、ブレーク信号出力
部では、データ値と任意設定値とが所定のバイト単位で
一致したときのみ、確実にブレーク信号を発生させるこ
とができる。
【0059】また、この発明の実施に当たり、好ましく
は、データメモリリード/ライト信号は、インサーキッ
トエミュレータにおける基本クロックと同調していて、
データメモリリード/ライト信号がデータメモリに1回
入力されると、データメモリに2pバイトのデータメモ
リのデータ値が書き込まれるのが良い。
【0060】このように、データメモリリード/ライト
信号が基本クロックと同調していると、命令の実行とタ
イミングを同期させたデータメモリリード/ライト信号
を、データメモリリード信号出力部とデータメモリに入
力させることができる。また、データメモリに1回入力
されると、データメモリに2pバイトのデータ値が書き
込まれるので、現在実行されている命令に対するデータ
値が最新のデータ値としてデータメモリに記憶される。
【0061】また、この発明の実施に当たり、好ましく
は、命令の先頭信号は、インサーキットエミュレータに
おける基本クロックと同調していて、命令の実行開始と
共に出力開始する信号と、基本クロックとのAND出力
であるのが良い。
【0062】このように、命令の先頭信号が基本クロッ
クと同調していると、命令の実行とタイミングを同期さ
せた命令の先頭信号を、データメモリリード信号出力部
に入力させることができる。また、命令の実行開始と共
に出力開始する信号と、基本クロックとのAND出力で
あるので、命令の先頭信号とデータメモリリード/ライ
ト信号とが同時にデータメモリリード信号出力部に入力
されることがなく、安定なデータメモリリード信号を出
力することができる。
【0063】また、この発明の実施に当たり、好ましく
は、第i一致信号出力部には、命令の先頭信号が入力可
能になっており、第i一致信号出力部において、命令の
先頭信号が入力されたとき、読み込まれたデータ値が消
去されるのが良い。
【0064】このような構成であると、新たな命令の実
行に移ったとき、第i一致信号出力部に命令の先頭信号
が入力されるので、読み込まれたデータ値が消去され
る。従って、第i一致信号が出力されなくなり、この結
果、異なる命令に対応するデータ値を比較してブレーク
信号を出力するといった誤動作がなくなり、安定なブレ
ーク信号を出力することができる。
【0065】また、この発明の実施に当たり、好ましく
は、第i一致信号出力部をコンペア回路により形成する
のが良い。
【0066】このような構成であると、従来公知のコン
ペア回路を用いるので、回路構成を簡単にできる。
【0067】また、この発明の実施に当たり、好ましく
は、データメモリリード信号出力部をカウンター回路に
より形成するのが良い。
【0068】このような構成であると、従来公知のカウ
ンター回路を用いるので、回路構成を簡単にできる。
【0069】また、この発明の実施に当たり、データメ
モリの代わりにレジスタを用いて、レジスタにプログラ
ムの命令を実行するときのデータ値を記憶させても良
い。
【0070】レジスタは、データメモリと異なりデータ
値の記憶容量が小さいが、レジスタに記憶されたデータ
値を、次の新しいデータ値に更新される前に、第i一致
信号出力部が読み込む構成にすれば問題ない。このよう
な構成であると、従来公知のレジスタを用いるので、回
路構成を簡単にできる。
【0071】
【発明の実施の形態】以下、この発明の実施の形態につ
いて、図面を用いて説明する。なお、図中、各構成成分
の大きさ、形状および配置関係は、この発明が理解でき
る程度に概略的に示してあるにすぎず、また、以下に説
明する数値的条件は単なる例示にすぎない。
【0072】まず、この発明のブレーク信号発生回路を
利用して、エミュレーション中にブレークさせるための
装置構成及び動作について、図3を参照して説明する。
図3は、エミュレーション中にブレークさせるための装
置構成を示すブロック図である。
【0073】このエミュレーション中にブレークさせる
ための装置構成は、インサーキットエミュレータ50、
応用機器52及び開発用計算機54とから構成されてい
る。
【0074】応用機器52は、エミュレーションする対
象のシステムであって、CPU等からなるマイコン、シ
ステム駆動のためのエミュレーションの対象となってい
るプログラムが記憶されているメモリなどからなる。
【0075】また、インサーキットエミュレータ50
は、CPU56、データメモリ58、ブレーク信号発生
回路60及び制御部62から構成されている。
【0076】CPU56は、応用機器52のCPUの機
能を代行し、エミュレーションの対象となっているプロ
グラムを実行し、このCPUとハード的に等価な構造を
もっている。データメモリ58は、CPU56でエミュ
レーションの対象となっているプログラムを実行した計
算結果等のデータ値を記憶する。ブレーク信号発生回路
60は、ブレーク信号を出力する回路である。制御部6
2は、CPU、メモリ等から構成されており、インサー
キットエミュレータ50を制御する。また、開発用計算
機54は、エミュレーションに関する情報の入力又は出
力を行うための計算機である。
【0077】エミュレーションを行う前に、まず、ユー
ザーはブレークしたい数値である任意設定値を開発用計
算機54から入力する。すると、制御部62からブレー
ク信号発生回路60へ任意設定値ライト信号が送られ、
任意設定値がブレーク信号発生回路60に書き込まれ
る。
【0078】エミュレーションが始まると、CPU56
は応用機器52のCPUの代わりに応用機器52内のプ
ログラムの命令を実行することにより、ソフトウェア・
ハードウェアのデバッグを行う。このとき、CPU56
は応用機器52内のプログラムを実行するのとタイミン
グを合わせて、データメモリリード/ライト信号をデー
タメモリ58に送り、この信号によりデータメモリ58
はデータ値を記憶する。
【0079】またCPU56は、ブレーク信号発生回路
60にデータメモリリード/ライト信号及び命令の先頭
信号を送る。これらの信号を受けたブレーク信号発生回
路60は、データメモリ58のデータ値を、データメモ
リ58から読み込んで書き込む。
【0080】次に、ブレーク信号発生回路60は、この
書き込んだデータ値と上述の任意設定値とを比較し、一
致している場合にはブレーク信号を制御部62に出力す
る。制御部62は、このブレーク信号を受けて、エミュ
レーションをブレークする。ここでブレークとは、エミ
ュレータ50によるプログラムのエミュレーション、す
なわち実行を中断・一時停止させることを意味する。
【0081】このように、プログラム・ハードウェアの
デバッグを行う際に、エミュレーションをブレークさせ
ることにより、プログラムが正常に動作しているかを監
視することができ、正常に動作していない場合にはその
原因を解明することができる。
【0082】[第1の実施の形態]次に、この発明の第
1の実施の形態のブレーク信号発生回路60の構成につ
いて、図4及び図5を参照して説明する。
【0083】このブレーク信号発生回路60は、インサ
ーキットエミュレータ50によるプログラムのエミュレ
ーション中に、データメモリ58のデータ値と、任意設
定値とを、所定のバイト単位で比較して、双方の値が一
致していたらブレーク信号を出力する回路である。
【0084】ここで、この発明においてエミュレーショ
ンをブレークさせる条件は、次のように設定される。即
ち、インサーキットエミュレータ50のユーザー(つま
りプログラム設計者)は、データメモリ58のデータの
値が、意図する値になったときにエミュレーションをブ
レークさせようとする。この意図する値、つまりブレー
クさせる値を任意設定値とする。
【0085】また、インサーキットエミュレータ50の
CPU56は、2pバイト、すなわち1バイトは8ビッ
トであるので、8・2pビット処理が可能な性能を持っ
ている。よって、インサーキットエミュレータ50によ
り一度に処理できるバイト数を2pバイト(但し、pは
0以上の整数)とする。
【0086】更に、比較できる最大のバイト単位を2
n+pバイト(但し、nは1以上の整数)とし、及び上述
の所定のバイト単位を2m+pバイト(但し、mは0≦m
≦nを満たす整数)とする。このうち、n及びpは、装
置構成によって決定される定数である。また、mは、主
にエミュレーション前に設定する値であり、装置構成に
よらず設定変更可能な変数である。
【0087】このブレーク信号発生回路60は、データ
メモリリード信号出力部100と、第i一致信号出力部
110−i(但しiは、i=1,2,3,・・・,
n)と、ブレーク信号出力部130とを具えている。
【0088】図4(A)は、データメモリリード信号出
力部100の構成を示す図であり、図4(B)は、第i
一致信号出力部110−iの構成を示している。また、
図5(A)及び(B)に、ブレーク信号出力部130の
構成を示す。このブレーク信号出力部130は(n+
1)個の出力段120−1〜120−(n+1)を具え
ている。図5(B)は、これら出力段のうちある特定の
出力段120−mの構成を示す図である。
【0089】ここで、図4(A)を参照して、データメ
モリリード信号出力部100について説明する。
【0090】データメモリリード信号出力部100は、
入力端子としては、データメモリリード/ライト信号R
/Wが入力する端子CLK0、及び命令の先頭信号Iが
入力する端子CLR0を具えている。そして出力端子と
しては、R1〜R2nまでの第iデータメモリリード信
号Riを出力する2n個の端子EQU1〜EQU2nを具
えている。このデータメモリリード信号出力部100と
しては、例えば従来公知のジョンソンカウンタなどを用
いればよい。
【0091】次に、図4(B)を参照して、第i一致信
号出力部110−iについて説明する。
【0092】この第i一致信号出力部110−iは、入
力端子としては、データメモリリード信号出力部100
から出力された第iデータメモリリード信号Riを入力
する端子CLK1、データメモリのデータ値Dを入力す
る端子D1、データメモリのデータ値クリア信号CLR
1を入力する端子CLR1、任意設定値ライト信号Wi
を入力する端子CLK2、任意設定値Aを入力する端子
D2及び任意設定値クリア信号CLR2を入力する端子
CLR2を具えている。
【0093】上述したように命令を実行するCPU56
の性能から、一つのデータは2pバイトで構成されてい
るので、端子D1及び端子D2は2pバイトのデータバ
スと接続されていて、このデータバスからデータ値D及
び任意設定値Aが入力されることが好ましい。特に、デ
ータメモリのデータ値DはCPU56が命令を実行する
処理速度と同調して入力される必要があるため、端子D
1は2pバイトのデータバスと接続される必要がある。
【0094】また、出力端子としては、第i一致信号J
iを出力する端子EQUを具えている。
【0095】この第i一致信号出力部110−iとして
は、例えば従来公知のコンペア回路などを用いればよ
い。なお、2n個の第i一致信号出力部110−iは、
すべて同様の構成のものが用いられる。
【0096】次に図5(A)を参照してブレーク信号出
力部130、及び図5(B)を参照してブレーク信号出
力部130における(n+1)個の出力段120−1〜
120−(n+1)の構成について説明する。この図5
(B)は、(n+1)個の出力段120−1〜120−
(n+1)のうち、m番目の出力段120−mの構成を
示している。
【0097】この(n+1)個の出力段120−1〜1
20−(n+1)は、それぞれ2n個の入力端子Jmi
(i=1,2,・・・,2n)を具えている。これら入
力端子Jmiはそれぞれ、第i一致信号出力部110−
iの第i一致信号Jiを出力する端子EQUと接続され
ている。
【0098】これらの入力端子Jmiは、図5(B)を
参照すれば、2n-m個のANDゲート回路120−m−
k(k=1,2,・・・,2n-m)の入力端子になって
いることが分かる。即ち、このANDゲート回路120
−m−kはそれぞれ、2m個の入力端子をもっている。
【0099】また、ANDゲート回路120−m−k
は、それぞれ一つの出力端子をもっている。そして、2
n-m個のANDゲート回路120−m−kのそれぞれの
出力端子は、ORゲート回路122mの2n-m個の入力
端子と接続されている。また、ORゲート回路122m
の一つの出力端子と、所定バイト識別信号EmとがAN
Dゲート回路124mの入力端子に接続されている。こ
の場合の所定バイトとは、2m+pバイトである。
【0100】さらに、図示されていないが、ブレーク信
号出力部130の(n+1)個の各出力段120−1〜
120−(n+1)におけるANDゲート回路124m
の出力端子がそれぞれ、ORゲート回路126の(n+
1)個の入力端子と接続されている。このORゲート回
路126の出力端子からブレーク信号Kが出力される。
【0101】次に、図4及び図5に示したような第1の
実施の形態の構成を有するブレーク信号発生回路60の
動作について説明する。
【0102】まずエミュレーション前に、図4(B)に
示したような構成の第i一致信号出力部110−iにお
ける端子D2に、任意設定値Aを入力する。この発明で
は、ブレークさせるに当たって、上述した所定のバイト
単位である2m+pバイト単位でデータメモリのデータ値
Dと任意設定値Aを比較する。このため図3に示したよ
うな装置構成において、この任意設定値Aの入力は、ユ
ーザーが親計算機54から2m+pバイトの任意設定値A
を入力することによって行われる。
【0103】そして、各々の第i一致信号出力部110
−iの入力端子D2に、2pバイトずつ任意設定値Aが
入力される。このとき、後述する理由から、iの値に対
し、j={i−(k−1)2m}(数式(1))(但
し、j=1,2,3,・・・,2m、かつ、k=1,
2,3,・・・,2n-m)を満たすjが同じ値をもつと
き、任意設定値Aは同じ値をもつように入力されること
が好ましい。
【0104】ここで、2m個の第i一致信号出力部11
0−iを一組とすると、このブレーク信号発生回路60
は、2n-m組の第i一致信号出力部110−iを有す
る。そして、それぞれの組における第i一致信号出力部
110−iには、2m個の任意設定値Aが入力される。
この結果、一組の第i一致信号出力部110−iには、
合計で2m+pバイトの任意設定値Aが入力されたことに
なる。このとき、一組当たりの第i一致信号出力部11
0−iに記憶された2m+pバイトの任意設定値Aをみる
と、iの値が小さい第i一致信号出力部110−iから
順に下位から2pバイトずつの任意設定値Aが記憶され
ている。
【0105】第i一致信号出力部110−iへの任意設
定値Aの入力は、次のようにして行う。すなわち、任意
設定値ライト信号Wiが第i一致信号出力部110−i
の端子CLK2に入力されたときに、任意設定値Aが端
子D2から入力される。
【0106】この際、iの値に対して上述したような式
を満たすjが同じ値をもつ第i一致信号出力部110−
iには、同じ任意設定値ライト信号Wiが入力されるよ
うにすることにより、同じ任意設定値Aを入力すること
ができる。
【0107】この任意設定値Aは、エミュレーション前
に設定すると、エミュレーション中は値が変更しない。
しかしながら、エミュレーション中であっても、任意設
定値Aを外部入力により設定変更することができる構成
にしても良い。
【0108】エミュレーションが開始され、まず、図4
(A)に示したようなデータメモリリード信号出力部1
00に、データメモリリード/ライト信号R/Wと命令
の先頭信号Iとがそれぞれ、端子CLK0及び端子CL
R0から、所定の条件を満たすように入力されると、端
子EQUiから第iデータメモリリード信号Riを出力
開始または停止する。
【0109】ここで、データメモリリード/ライト信号
R/Wとは、データメモリにデータ値を書き込む命令を
し、かつ、このデータ値をデータメモリから読み込む命
令をする信号である。
【0110】また、命令の先頭信号Iとは、新たな命令
の実行が始まると入力を開始する信号である。ここで、
命令とは、プログラムを構成するコードであって、CP
Uに演算、入出力や各種制御を行わせるためのコードの
ことである。この命令の先頭信号Iは、CPU56が命
令を実行するときに、必ず発生する。
【0111】また、この所定の条件は、データメモリリ
ード/ライト信号のみが連続してi回データメモリリー
ド信号出力部100に入力されると、第iデータメモリ
リード信号を出力開始し、及び、命令の先頭信号が入力
されると第iデータメモリリード信号を出力停止するた
めの条件である。
【0112】この点につき、図6を参照して説明する。
図6は、この第1の実施の形態のブレーク信号発生回路
60の動作を説明するためのタイミングチャートであ
る。このタイミングチャートにおいては、各時間tx
(x=0,1,2,・・・,2r,(2r+1))におけ
る各信号の出力の様子を示している。命令は2m+rバイ
トの大きさをもっている。この図の場合、m<rであ
る。
【0113】このとき、命令の先頭信号Iは、CPUが
この命令の実行を始めてから、最初の2pバイトの実行
が終わらないうち、すなわち時間t0から時間t1の間
に端子CLR0に入力される。
【0114】また、データメモリリード/ライト信号R
/Wは、2pバイトの実行が始まるごとに端子CLK0
に入力される。従って、データメモリリード信号出力部
100は、データメモリリード/ライト信号のみ連続し
て1回入力された時点であるt1において第1データメ
モリリード信号R1を出力端子EQU1より出力開始す
る。
【0115】同様にして、データメモリリード信号出力
部100は、時間tx(x≦r)において第iデータメ
モリリード信号RiをEQUiから出力開始する。ま
た、r>nのときには、当然ながら、2n個のすべての
第iデータメモリリード信号Riが、データメモリリー
ド信号出力部100のEQU1からEQU2nまでの2n
個の出力端子より出力される。
【0116】また、図6に示すように、図3の装置構成
におけるCPU56が時間t(2r)において次の命令
の実行を開始すると、時間t(2r)から時間t(2r
1)の間に、命令の先頭信号Iが、データメモリリード
信号出力部100の入力端子CLR0に入力される。こ
の結果、データメモリリード信号出力部100は、前述
のすべての第iデータメモリリード信号Riの出力を停
止する。
【0117】よって、データメモリリード信号出力部1
00は、次のような回路で構成されることが望ましい。
すなわち、このデータメモリリード信号出力部100を
構成する回路は、端子CLK0に入力された信号数を計
測し、i回入力されると端子Riから信号を出力し、C
LR0に信号が入力されると、端子CLK0に入力され
計測された信号数をクリアし0回にする。このような動
作を行うような回路として、例えばジョンソンカウンタ
のようなカウンタを用いることが考えられる。
【0118】ところで、データメモリリード/ライト信
号R/W及び命令の先頭信号Iは、図6に示すように、
図3のような装置構成におけるインサーキットエミュレ
ータ50における基本クロックBCLKと同調してい
る。また、上述したように、CPU56による命令の処
理も基本クロックBCLKと同調している。
【0119】このCPU56が一度に処理するバイト数
は2pバイトである。そして、データメモリリード/ラ
イト信号R/Wは、CPU56が2pバイト処理するご
とに、出力される。従って、図3のような装置構成にお
いて、データメモリリード/ライト信号R/Wがデータ
メモリ58に1回入力されると、データメモリ58に2
pバイトのデータメモリのデータ値Dが書き込まれるよ
うにすると、CPU56による命令の処理とデータメモ
リ58へのデータ値の書き込みがタイミング同期され
る。
【0120】この発明によれば、このように、CPU5
6が2pバイト処理するごとに、この処理に対応したデ
ータ値(図6においては、具体的にa1,a2,・・・
・,a 2rで表される)がデータメモリ58に書き込まれ
ている。よって、図6におけるデータ値aiは、この書
き込まれた最新のデータ値を示している。即ち、例えば
時間t0から時間t1の間に行った処理に対するデータ
値a1が、t0からt1の間に示してあるデータ値とな
っている。
【0121】ここで、命令の実行開始(例えば、t0)
と共にCPU56から出力開始される信号を命令の先頭
信号Iとする。このとき、データメモリリード出力部1
00への命令の先頭信号Iとデータメモリリード/ライ
ト信号R/Wとの入力が同時になってしまうと、データ
メモリリード出力部100において、第iデータメモリ
リード信号を、出力開始するか出力停止するかの動作が
的確に行われない恐れがある。よって、このような事態
を避けるために、命令の先頭信号Iは、命令の実行開始
と共にCPU56から出力開始される信号と、基本クロ
ックとのAND出力とすればよい。
【0122】なお、命令の先頭信号Iを、基本クロック
BCLKとのAND出力としても、基本クロックBCL
Kが、図6に示したような立ち上がり・立ち下がりと反
対の動作を示すときは、上述の効果は得られないことが
考えられる。このときは、基本クロックBCLKをイン
バータゲート回路に入力させるようにすればよい。
【0123】また、図6では、CPU56が2pバイト
の処理を行うのを、基本クロックBCLKが2回入力さ
れるタイミングとしているが、これにとらわれず、任意
の回数入力されるタイミングとしても良い。
【0124】次に、図4(B)に示したような構成の第
i一致信号出力部110−iは、端子CLK1から第i
データメモリリード信号Riが入力開始されると同時
に、端子D1から、一つの命令に対応する1又は複数の
データメモリのデータ値のうち第i番目のデータ値ai
をデータメモリ58から読み込む。
【0125】上述したように、図6のタイミングチャー
トにおいて、時間t(i−1)から時間t(i)の間の
データ値aiは、時間t(i−1)から時間t(i)の
間に命令の実行を行ったことによる最新のデータ値であ
って、データメモリ58に記憶されているデータ値であ
る。これらのデータ値aiは、データメモリ58中に順
次蓄えられて記憶される。
【0126】また、この時間t(i−1)から時間t
(i)の間のデータ値aiは、一つの命令に対応する2r
個(r>nの場合は2n個)のデータメモリのデータ値
のうち第i番目のデータ値aiである。r=0のとき、
すなわち、命令が1バイトのときは、一つの命令に対応
するデータ値は1つであり、r≧1のときは、複数個に
なる。
【0127】従って、第i一致信号出力部110−iに
おいて、第iデータメモリリード信号Riが入力開始さ
れると同時に、最新のデータ値を読み込むようにすれ
ば、第i番目のデータ値aiを読み込むことができる。
この第i番目のデータ値aiは、一つの命令に対応する
r個のデータ値aiを一つのデータ群と考えると、ai
は、このデータ群のうち下位から数えて第i番目のデー
タ値aiであるということができる。また、第i一致信
号出力部110−iにおいて、この読み込まれたデータ
値は逐次更新されている。
【0128】ここで、第i一致信号出力部110−i
は、端子CLK1に信号が入力開始されたときに、端子
D1からデ−タを取り込むことができ、また、取り込ま
れたデータは逐次更新されるような回路で構成されるこ
とが望ましい。このような回路として、例えばコンペア
回路を用いることが考えられる。
【0129】次に、図12を参照して、2m個の任意設
定値Ajと第i一致信号出力部110−iに読み込まれ
たデータ値aiとの関係に注目する。図12は、任意設
定値Ajと読み込まれたデータ値aiとの関係を示す表で
ある。
【0130】任意設定値Ajの設定方法として説明した
ように、任意設定値Ajは、iの値が2mずつ変化するご
とに周期的に繰り返す値である。この2m個の任意設定
値Ajを含む任意設定値Ak群と、数式(1)におけるk
の値との対応関係は次のようになっている。即ち任意設
定値Ak群は、それぞれ1から順に2n-mまでの個々のk
の値に対応している。
【0131】また、読み込まれたデータ値aiは、図1
2に示すように、一つの命令に対しては、i≦2rの読
み込まれたデータ値aiが更新されるのみで、i>2r
読み込まれたデータ値aiは前から記憶されている読み
込まれたデータ値aiがそのまま残っているか、又は、
読み込まれたデータ値aiが全く記憶されていないかで
ある。i≦2rにおけるデータ値aiの読み込みは、デー
タメモリにデータ値aiが記憶される順、すなわちiの
値が小さい順に、下位のデータ値aiから、時系列に第
i一致信号出力部110−iに読み込まれる。
【0132】次に、第i一致信号出力部110−iは、
この読み込まれたデータ値aiと、2pバイトの任意設定
値Ajとを比較して、双方の値が一致している場合に
は、第i一致信号Jiを出力する。すなわち、第i一致
信号出力部110−iは、端子D1から入力され記憶さ
れているデータ値aiと、端子D2から入力され記憶さ
れている任意設定値Ajとが一致していれば第i一致信
号Jiを出力し続け、一致していないときは、第i一致
信号Jiを出力しない。
【0133】ここで、このような動作を行う第i一致信
号出力部110−iとして、コンペア回路を用いるよう
な構成とすることが望ましい。
【0134】次に、図5(B)に示したような構成のブ
レーク信号出力部130は、少なくとも2m個の第i一
致信号出力部110−iの各々から端子Jmiに第i一
致信号Jiが入力される。そして、読み込まれたデータ
値aiと任意設定値Ajとを2 m+pバイト単位で一致した
と判断したときに、ブレーク信号を出力する。
【0135】ここで、「少なくとも2m個の第i一致信
号出力部110−iの各々から第i一致信号Jiが端子
Jmiに入力される」とは、この実施の形態において
は、図6に示したタイミングチャートにおいて、第i一
致信号Jiのレベルが、少なくとも2m個ハイレベルに
なっていることを意味している。つまり、データ値ai
と任意設定値Ajとが2m+pバイト単位で一致するための
必要条件となっている。
【0136】しかし、この条件だけではブレーク信号K
は、このブレーク信号出力部130からは出力されず、
さらに、読み込まれたデータ値aiと任意設定値Ajとが
m+ pバイト単位で一致したと判断される必要がある。
つまり、ブレーク信号出力部130におけるデータ値a
iと任意設定値Ajとの一致の判断は、数式(1)におい
て、少なくとも一つのkの値において、このkの値に対
する2m個のすべての第i一致信号出力部110−iか
ら第i一致信号Jiが入力されたときに行われる。
【0137】これらの点につき、図12を参照して説明
する。ブレーク信号出力部130におけるデータ値ai
と任意設定値Ajとの一致の判断がされるのは、同じk
の値に対応する2m個のすべての読み込まれたデータ値
iと任意設定値Ajとが一致しているときである。ま
た、2n-m個のkの値のうち、少なくとも一つのkの値
について一致していればよい。このとき、当然ながら、
少なくとも2m個のiの値について、読み込まれたデー
タ値aiと任意設定値Ajとが一致していなければならな
い。
【0138】例えば、k=1に対応する任意設定値A1
〜A2mと、データ値a1〜a2mとがそれぞれ一致してい
たら、ブレーク信号出力部130において2m+pバイト
単位で一致したと判断される。同様に、k=2に対応す
る任意設定値A1〜A2mと、データ値a(2m+1)〜a2m+1
とがそれぞれ一致していたら、ブレーク信号出力部13
0において2m+pバイト単位で一致したと判断される。
【0139】k=1に対応する読み込まれたデータ値a
iと任意設定値Ajとが一致している場合は、CPU56
において命令の実行が始まってから最初の2m個のデー
タ値、つまり、最も下位の2m個のデータ値aiと任意設
定値Ajとが一致した場合である。
【0140】また、k≧2に対応する読み込まれたデー
タ値aiと任意設定値Ajとが一致している場合は、CP
U56において命令の実行の開始後、途中の2m個のデ
ータ値、つまりk=1より相対的に上位の2m個のデー
タ値aiと任意設定値Ajとが一致した場合である。
【0141】このように、一つの命令に対するデータ値
iのうち、k=1、すなわち最も下位の2m個のデータ
値aiより相対的に上位、即ちk≧2に対応するデータ
値a iと、任意設定値Ajとが一致した場合も、エミュレ
ーションはブレークされるが、この発明の目的上、これ
は好ましいことである。
【0142】ここで、上述したような一致判断を実現さ
せるため、ブレーク信号出力部130は、図5(B)に
示すような構成である120−1〜120−(n+1)
までの(n+1)個の出力段を有している。即ち、これ
ら120−1〜120−(n+1)までの(n+1)個
の出力段は、それぞれ同様の構成を有する。よって、こ
のうちある特定の出力段120−mについて、図5
(B)を参照して説明する。
【0143】図5(B)のゲート回路124mはAND
ゲート回路である。このゲート回路124mの入力端子
の一方に、所定バイト識別信号Emが入力される。この
所定バイト識別信号Emは、2m+pバイト単位でエミュ
レーションをブレークさせるときにハイレベル”H”と
なる信号である。
【0144】即ち、このインサーキットエミュレータ5
0においてエミュレーションをブレークするときに、ブ
レークしたい所定のバイト単位は2m+pバイトである。
よって、図5(A)に示したようなブレーク信号出力回
路130を構成する(n+1)個の出力段のうち、ある
特定の1つの出力段120−mにおける所定バイト識別
信号Emのみがハイレベルになり、残りのn個の出力段
については、所定バイト識別信号Emはローレベルにな
る。即ち、残りのn個の出力段のANDゲート回路12
4mからハイレベルの信号が出力されることはない。
【0145】従って、図5(A)に示したような構成の
ブレーク信号出力部130において、ORゲート回路1
26からブレーク信号Kが出力されるのは、ある特定の
1つの出力段120−mに設けられたANDゲート回路
124mから、ハイレベルの信号が出力されるときのみ
である。即ち、ブレーク信号出力部130のうちある特
定の1つの出力段120−mについてのみ、その動作を
考慮すればよい。
【0146】ここで、所定バイト識別信号Emは、エミ
ュレーション前に2m+pバイトの任意設定値Aを入力す
るのと合わせて予め設定しておき、エミュレーション中
は変更しないようにする。
【0147】このとき、図5(B)に示したような構成
の出力段120−mにおいて、一つのANDゲート回路
120−m−kは、2m個の入力端子から第i一致信号
Jiが入力されれば、ハイレベルの信号を出力する。こ
の結果、ORゲート回路122mからはハイレベルの信
号が出力され、従って、ANDゲート回路124mから
ハイレベルの信号が出力される。この結果、ORゲート
回路126からハイレベルの信号が出力されるので、ブ
レーク信号出力回路130からブレーク信号Kが出力さ
れることになる。
【0148】このような構成にすることにより、ブレー
ク信号出力回路130において、確実に、ブレークさせ
たい所定のバイト数である2m+pバイト単位で、データ
値aiと任意設定値Ajとが一致したときにのみ、ブレー
ク信号Kを出力することができる。ここで、上述の少な
くとも一つのANDゲート回路120−m−kにおい
て、2m個の入力端子から第i一致信号Jiが入力され
ることは、数式(1)において、少なくとも一つのkの
値において、このkの値に対する2m個のすべてのデー
タ値aiと任意設定値Ajとが一致している、すなわち、
このkの値に対する2m個のすべての第i一致信号出力
部110−iから第i一致信号Jiが入力されることに
対応している。
【0149】また、エミュレーション後には、第i一致
信号出力部110−iの端子CLR1及び端子CLR2
からデータメモリのデータ値クリア信号CLR1及び任
意設定値クリア信号CLR2を入力すれば良い。このと
き、読み込まれたデータ値a i及び任意設定値Ajが消去
されるので、次回のエミュレーションの際に、前回のデ
ータ値ai及び任意設定値Ajの記憶が残って影響するこ
とがない。
【0150】上述した第1の実施の形態の構成では、従
来技術において必要であったバイト命令又はワード命令
識別信号、一般化すると、2p+qバイト命令識別信号を
用いなくても、意図するバイト単位でデータ値と任意設
定値とを比較しブレークすることができる。さらに、従
来技術においては、n=1のときデータメモリリード信
号出力部への入力信号が4つ必要であり、かつ、n≧2
のときに適用することできなかったのに対し、この発明
では、すべてのnについて理論的に適用可能であり、し
かも、データメモリリード信号出力部への入力信号は、
常にデータメモリリード/ライト信号及び命令の先頭信
号の二つだけでよい。
【0151】[第2の実施の形態]次に、この発明の第
2の実施の形態について説明する。この第2の実施の形
態の構成におけるブレーク信号発生回路60は、図4及
び図5に示したような第1の実施の形態の構成と同様で
ある。よって、第1の実施の形態と同様の構成及び動作
の説明については省略する。
【0152】第2の実施の形態によれば、第i一致信号
出力部110−iに、命令の先頭信号Iが入力可能にな
っており、第i一致信号出力部110−iにおいて、命
令の先頭信号Iが入力されたとき、読み込まれたデータ
値aiが消去される。
【0153】つまり、命令の先頭信号Iは、データメモ
リリード信号出力部100の端子CLR0だけでなく、
第i一致信号出力部110−iの端子CLR2にも入力
されるように接続されている。この命令の先頭信号I
は、データ値aiのクリア信号として機能するので、第
1の実施の形態において端子CLR2に入力されていた
データメモリのデータ値クリア信号CLR1は必要な
い。
【0154】第2の実施の形態の構成によれば、次のよ
うな第1の実施の形態の問題点を解決することができ
る。すなわち、第1の実施の形態では、一度第i一致信
号出力部110−iにおいて第i一致信号Jiが出力さ
れると、新たな命令I2の実行に移っても、読み込まれ
たデータ値aiが更新されない限り、過去の命令に対応
するデータ値aiが記憶されているため、第i一致信号
Jiは出力され続ける。
【0155】従って、例えば、異なる第i一致信号出力
部110−iを比較した場合、異なる命令に対応するデ
ータ値aiが記憶されていて、それぞれのデータ値ai
対応する第i一致信号Jiが同時期に出力されることが
ある。この結果、異なる命令に対応する第i一致信号J
iによって、ブレーク信号出力部130において、上述
の一致の判断が行われてしまうことがある。この結果、
ブレーク信号出力部130からは誤ってブレーク信号K
が出力されてしまう。
【0156】しかしながら、第2の実施の形態の構成に
することにより、新たな命令I2の実行に移ると、図6
に示したようなタイミングチャートを第2の実施の形態
について考えたとき、時間t(2r)〜時間t(2r
1)の間に、第i一致信号出力部110−iに命令の先
頭信号Iが入力されるので、読み込まれたデータ値ai
が消去される。
【0157】従って、新たな命令の実行I2に移ると、
必ず第i一致信号Jiは出力停止される。この結果、異
なる命令に対応するデータ値aiに対応する第i一致信
号Jiが同時期に出力されることがなく、この結果、誤
ってブレーク信号出力部130からブレーク信号Kが出
力されてしまうことがない。
【0158】
【実施例】1.第1実施例 次に、この発明の具体的な実施例について、図1及び図
8を参照して説明する。
【0159】図1は第1実施例のブレーク信号発生回路
60の構成を説明するための回路図である。この実施例
は、上述の第1の実施の形態において、n=1としたと
きの構成例であり、従って、m=0,1である。また、
pの値は任意な値でよいが、データ値の説明のため、こ
の実施例においてはp=0とする。従って、図3に示し
たようなこの発明の装置構成において、インサーキット
エミュレータ50で一度に処理できるバイト数は1バイ
ト、すなわち8ビットであり、比較できる最大のバイト
単位が2バイトであり、及び比較するバイト単位が1バ
イト又は2バイトである。
【0160】この実施例のブレーク信号発生回路60
は、データメモリリード信号出力部200と、第1一致
信号出力部210と、第2一致信号出力部220と、ブ
レーク信号出力部230とを具えている。また、ブレー
ク信号出力部230は、ORゲート回路232及び24
0と、ANDゲート回路234、236及び238とを
具えている。
【0161】データメモリリード信号出力部200に
は、データメモリリード/ライト信号R/W及び命令の
先頭信号Iがそれぞれ入力される。また、第1一致信号
出力部210及び第2一致信号出力部220の端子D1
と端子D2には、それぞれデータ値Dと任意設定値Aと
がデータバスによって入力される。
【0162】また、第1一致信号出力部210の端子C
LK1と端子CLK2には、それぞれデータメモリリー
ド信号出力部200の出力端子EQU11からの出力R
11と任意設定値ライト信号1W1とが入力される。同
様に、第2一致信号出力部220の端子CLK1と端子
CLK2には、それぞれデータメモリリード信号出力部
200の出力端子EQU12からの出力R12と任意設
定値ライト信号2W2とが入力される。
【0163】また、第1一致信号出力部210及び第2
一致信号出力部220の端子CLR1と端子CLR2に
は、それぞれデータ値クリア信号CLR1と任意設定値
クリア信号CLR2とが入力される。
【0164】さらに、ORゲート回路232及びAND
ゲート回路234の入力端子は両方とも、第1一致信号
出力部210及び第2一致信号出力部220両方の出力
端子EQUと接続されている。
【0165】ANDゲート回路236の入力端子には、
所定バイト識別信号E1とORゲート回路232からの
出力信号とが入力される。ANDゲート回路238の入
力端子には、所定バイト識別信号E2とANDゲート回
路234からの出力信号とが入力される。
【0166】ORゲート回路240の入力端子は、AN
Dゲート回路236及びANDゲート回路238の出力
端子と接続されている。そして、このORゲート回路2
40の出力端子からブレーク信号K1が出力される。
【0167】このデータメモリリード信号出力部200
としては、例えばジョンソンカウンタのようなカウンタ
回路を用いればよい。また、第1一致信号出力部210
及び第2一致信号出力部220としては、例えばコンペ
ア回路を用いればよい。
【0168】次に、この実施例のブレーク信号発生回路
60の動作について、図8を参照して説明する。図8は
第1実施例の動作を説明するためのタイミングチャート
である。
【0169】図8に示すように、マイコンの基本クロッ
クBCLKに同調して、プログラムの命令Inが実行さ
れる。この実施例では、図3の装置構成におけるインサ
ーキットエミュレータ50のCPU56が一度に処理す
るバイト単位が1バイトである。よって、このタイミン
グチャートを1バイトごとに区切っている。そして、こ
の場合、プログラムの命令は、順にバイト命令I11、
ワード命令I12、バイト命令I13、バイト命令I1
4になっている。
【0170】また、命令をCPU56がバイト単位で処
理するごとに、この処理に対応したデータ値がデータメ
モリ58に書き込まれている。図8に示したデータ値D
は、この書き込まれた最新のデータ値であって、それぞ
れ同時期の命令を処理した結果としてのデータ値であ
る。
【0171】すなわち、バイト命令I11、ワード命令
I12、バイト命令I13及びバイト命令I14に対応
したデータ値がそれぞれ、11h、AAh、55h、2
2h及び44hになっている。ここで、それぞれのデー
タ値は8ビットのデータなので、データ値を二桁で表す
ために16進法を用いている。
【0172】このうち、AAh及び55hは、ワード命
令に対応したデータ値なので、本来は、55AAhがワ
ード命令I12に対応したデ−タ値である。従って、A
Ahは下位バイトのデータ値であり、55hは上位バイ
トのデータ値である。また、11h、22h及び44h
は、それぞれ一つずつがバイト命令に対応したデータ値
である。従って、下位バイトのデータ値である。
【0173】命令の先頭信号Iは、命令の実行開始と共
に出力開始する信号と、基本クロックBCLKとのAN
D出力になっている。また、データメモリリード/ライ
ト信号R/Wは、命令切り換え時にローレベルからハイ
レベルに立ち上がる波形になっている。
【0174】まず、ワード単位で比較しブレークさせる
場合であって、ブレークさせたい数値である任意設定値
Aを”55AAh”に設定する場合について考える。こ
こでワードとは、2バイトのことである。つまり、m=
1のときについて考える。
【0175】このとき、エミュレーションを行うに先立
ち、エミュレーション前に、所定バイト識別信号E1及
びE2、並びに、任意設定値Aを設定する。まず、ワー
ド命令でブレークさせたいので、ブレーク信号出力部2
30に入力する所定バイト識別信号E2のレベルをハイ
レベルに設定する。これに伴い、所定バイト識別信号E
1のレベルをローレベルに設定する。この所定バイト識
別信号E1及びE2の設定は、ワード命令でブレークさ
せる場合である限り変化させない。
【0176】次に、任意設定値Aを設定する。第1一致
信号出力部210に、任意設定値ライト信号1W1を端
子CLK2より入力することにより、下位1バイト分の
任意設定値Aである”AAh”を書き込む。第2一致信
号出力部220に、任意設定値ライト信号2W2を端子
CLK2より入力することにより、上位1バイト分の任
意設定値Aである”55h”を書き込む。
【0177】なお、ここでは所定バイト識別信号E1及
びE2を設定した後に任意設定値Aを書き込んだが、こ
の順序は反対であっても良い。そして、この任意設定値
Aは、設定する数値を変更するか、後述する任意設定値
クリア信号CLR2によりクリアする以外は、第1及び
第2一致信号出力部210、220において記憶され続
けている。
【0178】エミュレーションが開始され、データメモ
リリード信号出力部200において、データメモリリー
ド/ライト信号R/Wが端子CLK0より1回入力され
ると出力端子EQU11から第1データメモリリード信
号R11が出力開始され、データメモリリード/ライト
信号R/Wのみ連続して端子CLK0より2回入力され
ると出力端子EQU12から第2データメモリリード信
号R12が出力開始される。
【0179】また、データメモリリード信号出力部20
0に命令の先頭信号Iが端子CLR0より入力される
と、第1及び第2データメモリリード信号R11及びR
12は出力停止する。
【0180】その結果、第1及び第2データメモリリー
ド信号R11及びR12は図8に示すような波形をもっ
た信号となる。すなわち、第1データメモリリード信号
R11は、データメモリリード/ライト信号R/Wが1
回入力された時間t1の時点で出力開始し、時間t1〜
時間t2間の命令の先頭信号Iが入力された時点で出力
停止する。そして、データメモリリード/ライト信号R
/Wが再び1回入力された時間t2の時点で出力開始
し、時間t3〜t4間の命令の先頭信号Iが入力された
時点で出力停止する。そして、データメモリリード/ラ
イト信号R/Wが再び1回入力された時間t4の時点で
出力開始し、時間t4〜時間t5間の命令の先頭信号I
が入力された時点で出力停止する。
【0181】また、第2データメモリリード信号R12
は、時間t1〜時間t2間で命令の先頭信号Iが入力さ
れた後、データメモリリード/ライト信号R/Wのみ連
続して2回入力された時間t3の時点で出力開始し、時
間t3〜時間t4間の命令の先頭信号Iが入力された時
点で出力停止する。
【0182】そして、第1一致信号出力部210におい
て、第1データメモリリード信号R11が端子CLK1
に入力開始されると同時に、端子D1からデータ値Dを
読み込む。つまり、図8の時間t1、時間t2及び時間
t4のタイミングで第1一致信号出力部210にはデー
タ値Dが読み込まれている。
【0183】この読み込むデ−タ値Dは、第1データメ
モリリード信号R11が入力開始されたときの最新のデ
ータ値Dであり、第1一致信号出力部210において逐
次更新される。従って、時間t1、時間t2及び時間t
4においてそれぞれ、第1一致信号出力部は、11h、
AAh及び22hなるデータ値Dを更新しながら読み込
んでいる。図8からも理解できるように、第1一致信号
出力部210においては、一つの命令に対応する一又は
複数のデータ値Dのうち1番目のデータ値D、つまり下
位バイトのデータ値Dを読み取っている。
【0184】同様に、第2一致信号出力部220におい
て、第2データメモリリード信号R12が端子CLK1
に入力開始されると同時に、端子D1からデータ値Dを
読み込む。つまり、図8の時間t3のタイミングで第2
一致信号出力部220にはデータ値Dが読み込まれてい
る。
【0185】この読み込むデ−タ値Dは、第2データメ
モリリード信号R12が入力開始されたときの最新のデ
ータ値Dであり、第2一致信号出力部において逐次更新
される。従って、第2一致信号出力部は、時間t3にお
いて、55hなるデータ値Dを更新しながら読み込んで
いる。図8からも理解できるように、第2一致信号出力
部220においては、一つの命令に対応する一又は複数
のデータ値Dのうち2番目のデータ値D、つまり上位バ
イトのデータ値Dを読み取っている。
【0186】次に、第1一致信号出力部210及び第2
一致信号出力部220のそれぞれにおいて、このデータ
値Dと、予め端子D2から入力された任意設定値Aとを
比較して、一致している場合には、出力端子EQUから
それぞれ第1及び第2一致信号J11及びJ12を出力
する。
【0187】第1一致信号出力部210においては、時
間t2の時点で、”AAh”なるデータ値Dを読み込
み、このとき第1一致信号出力部210に記憶されてい
る下位1バイトの任意設定値Aである”AAh”と一致
するので、t2の時点で第1一致信号J11を出力す
る。また、第2一致信号出力部220においては、時間
t3の時点で、”55h”なるデータ値Dを読み込み、
このとき第2一致信号出力部220に記憶されている上
位1バイトの任意設定値Aである”55h”と一致する
ので、時間t3の時点で第2一致信号J12を出力す
る。
【0188】次に、ブレーク信号出力部230におい
て、読み込まれたデータ値Dと任意設定値Aとを2バイ
ト単位で一致していると判断したときに、ブレーク信号
を出力する。ここで、ANDゲート回路236の入力端
子のうち一方に入力される所定バイト識別信号E1はロ
ーレベルであるので、ANDゲート回路236からハイ
レベルの信号が出力されることはない。従って、このA
NDゲート回路236へ信号を出力するORゲート回路
232及びANDゲート回路236の動作は考えなくて
も良い。以降の説明においては、ANDゲート回路23
4及びANDゲート回路238の動作にのみ注目する。
【0189】ブレーク信号出力部230に、第1及び第
2一致信号J11及びJ12が入力される、即ちこれら
の信号レベルがハイレベルになっていると、ANDゲー
ト回路234はハイレベルの信号を出力する。また、A
NDゲート回路238に入力される所定バイト識別信号
E2がハイレベルになっているので、ANDゲート回路
238の出力はハイレベルになる。従って、ORゲート
回路240の出力はハイレベルとなり、すなわち、ブレ
ーク信号K1が出力される。
【0190】つまり、図8のタイミングチャートにおい
て示した時間t3に、ブレーク信号K1がこのブレーク
信号出力部230より出力される。なお同図について、
時間t4では、第1一致信号信号部210はデータ値”
22h”を読み込むので、任意設定値Aと一致しなくな
り、その結果、第1一致信号J11は出力停止すること
を示している。しかしながら現実的には、時間t3にお
いてブレーク信号K1が出力され、エミュレーションが
ブレークされてしまうので、時間t3より後のタイミン
グチャートは意味がないと考えられる。
【0191】時間t3におけるANDゲート回路234
及びANDゲート回路238の動作は、上述の数式
(1)における少なくとも一つのkの値において、この
kの値に対する2m個の第i一致信号出力部すべてから
第i一致信号が入力されたときに一致したと判断するこ
とに相当する。このとき、k=1、m=1、i=1,2
である。このとき、当然ながら、少なくとも2m個の第
i一致信号出力部の各々から第i一致信号が入力されて
いる。以上の動作をまとめると、ワード単位で比較して
ブレークさせる場合には、第1及び第2一致信号の両方
が出力された場合にのみ、ブレーク信号K1が出力され
る。
【0192】次に、バイト単位で比較してブレークさせ
る場合であって、ブレークさせたい数値である任意設定
値Aを”AAh”に設定する場合について考える。つま
り、m=0のときについて考える。このとき、m=1の
ときと同様に、エミュレーションを行うに先立ち、エミ
ュレーション前に、所定バイト識別信号E1及びE2、
並びに、任意設定値Aを設定する。
【0193】まず、バイト単位でブレークさせたいの
で、ブレーク信号出力部230に入力する所定バイト識
別信号E1のレベルをハイレベルに設定する。これに伴
い、所定バイト識別信号E2のレベルをローレベルに設
定する。この所定バイト識別信号E1及びE2の設定
は、バイト命令でブレークさせる場合である限り変化さ
せない。
【0194】次に、任意設定値Aを設定する。第1一致
信号出力部210に、任意設定値ライト信号1W1を入
力することにより、任意設定値Aである”AAh”を書
き込む。第2一致信号出力部220に、任意設定値ライ
ト信号2W2を入力することにより、同じ任意設定値A
である”AAh”を書き込む。第1一致信号出力部21
0及び第2一致信号出力部220の任意設定値を同じに
設定するのは、第i一致信号出力部(i=1,2)にお
いて、iの値に対し上述の数式(1)を満たすjが同じ
値をもつとき、任意設定値Aは同じ値をもつことに相当
している。このとき、m=0であり、i=1に対してk
=1、かつ、i=2に対してk=2になっている。
【0195】なお、ここでは所定バイト識別信号E1及
びE2を設定した後に任意設定値Aを書き込んだが、こ
の順序は反対であっても良い。この任意設定値Aは、設
定する数値を変更するか、後述する任意設定値クリア信
号CLR2によりクリアする以外は、第1及び第2一致
信号出力部において記憶され続けている。
【0196】エミュレーションが開始され、第1及び第
2一致信号出力部210及び220のそれぞれに、第1
及び第2データメモリリード信号R11及びR12が入
力されるまでは、m=1のときと同様の動作であるの
で、重複する説明については記載を省略する。また、第
1及び第2一致信号出力部210及び220における動
作について、ワード単位で比較しブレークさせる場合と
異なる部分だけ説明する。
【0197】第1一致信号出力部210においては、時
間t2の時点で、”AAh”なるデータ値Dを読み込
み、このとき第1一致信号出力部210に記憶されてい
る下位1バイトの任意設定値Aである”AAh”と一致
するので、時間t2の時点で第1一致信号J11を出力
する。また、第2一致信号出力部220においては、時
間t3の時点で、”55h”なるデータ値Dを読み込む
が、このとき第2一致信号出力部220に記憶されてい
る上位1バイトの任意設定値Aである”AAh”と一致
しないので、時間t3の時点では第2一致信号J12を
出力しない(図示せず。)。
【0198】次に、ブレーク信号出力部230におい
て、読み込まれたデータ値Dと任意設定値Aとを1バイ
ト単位で一致していると判断したときに、ブレーク信号
を出力する。ここで、ANDゲート回路238の入力端
子のうち一方に入力される所定バイト識別信号E2はロ
ーレベルであるので、ANDゲート回路238からハイ
レベルの信号が出力されることはない。従って、このA
NDゲート回路238へ信号を出力するANDゲート回
路234及びANDゲート回路238の動作は考えなく
ても良い。以降の説明においては、ORゲート回路23
2及びANDゲート回路236の動作に注目する。
【0199】ブレーク信号出力部230に第1一致信号
J11が入力される、つまりこの信号のレベルがハイレ
ベルになっていると、ORゲート回路232はハイレベ
ルの信号を出力する。また、ANDゲート回路236に
入力される所定バイト識別信号E1がハイレベルになっ
ているので、ANDゲート回路236の出力はハイレベ
ルになる。従って、ORゲート回路240の出力はハイ
レベルとなり、すなわち、ブレーク信号K1がブレーク
信号出力部230より出力される。
【0200】つまり、図8の時間t2において、ブレー
ク信号K1が出力される。時間t2におけるANDゲー
ト回路234及びANDゲート回路238の動作は、上
述の数式(1)における少なくとも一つのkの値におい
て、このkの値に対する2m個の第i一致信号出力部す
べてから第i一致信号が入力されたときに一致したと判
断することに相当する。このとき、k=1、m=0、i
=1である。このとき、当然ながら、少なくとも2m
の第i一致信号部の各々から第i一致信号が入力されて
いる。
【0201】上述の場合は、ワード命令に対応したデー
タ値のうち、下位バイトのデータ値、すなわち”AA
h”において一致してブレークさせた例であったが、同
様に、バイト命令に対応したデータ値、すなわち”11
h”、”22h”、”44h”において一致してブレー
クさせることもできる。この場合には、任意設定値Aと
してこれらの値を設定しておけばよい。このとき、第1
一致信号J11がそれぞれ、図8のタイミングチャート
において、時間t1、時間t4、時間t5において第1
一致信号出力部210より出力されることにより、ブレ
ーク信号K1がブレーク信号出力部230より出力され
る。
【0202】また、ワード命令に対応したデータ値のう
ち、上位バイトのデータ値、すなわち”55h”におい
て一致してブレークさせることもできる。この場合に
は、任意設定値Aとしてこの値を設定しておけばよい。
このとき、第2一致信号が時間t3において出力される
ことにより、ブレーク信号K1が出力される。
【0203】以上の動作をまとめると、バイト単位で比
較してブレークさせる場合には、第1及び第2一致信号
J11、J12のうち、いずれか一方が出力されると、
ブレーク信号K1が出力される。
【0204】第1の実施例の構成にすることにより、バ
イト単位又はワード単位の任意のバイト幅で、任意設定
値Aとデータ値Dとを比較してブレークさせることがで
きる。
【0205】2.第2実施例 次に、この発明の第2実施例について、図7及び図9を
参照して説明する。図7は第2実施例の構成を説明する
ための回路図であり、図9は第2実施例の動作を説明す
るためのタイミングチャートの参考例である。
【0206】この実施例は、上述の第1の実施の形態に
おいて、n=1としたときの構成例であり、従って、m
=0,1である。また、pの値は任意な値でよいが、デ
ータ値の説明のため、この実施例においてはp=0とす
る。
【0207】第2実施例の構成によれば、図7に示すよ
うに、第1及び第2一致信号出力部210及び220の
両方に、命令の先頭信号Iが入力可能になっており、第
1及び第2一致信号出力部210及び220において、
命令の先頭信号Iが入力されたとき、読み込まれたデー
タ値Dが消去される。
【0208】つまり、命令の先頭信号Iは、データメモ
リリード信号出力部の端子CLR0だけでなく、第1及
び第2一致信号出力部210及び220の両方の端子C
LR1にも入力されるように接続されている。この命令
の先頭信号Iは、データ値Dのクリア信号として機能す
るので、第1実施例において端子CLR1に入力されて
いたデータメモリのデータ値クリア信号CLR1は必要
ない。上述の点以外は、第1実施例の構成と同様なの
で、重複する他の同様の構成については説明を省略す
る。
【0209】次に、第2実施例の動作について説明する
前に、第1実施例における問題点について考える。この
とき、図1に示したような構成の第1実施例の回路にお
いて、図9に示すタイミングチャートのような動作が行
われるものとする。
【0210】図9において、バイト命令I21、ワード
命令I22、バイト命令I23及びバイト命令I24に
対応したデータ値はそれぞれ、11h、88h、55
h、AAh及び44hになっている。ワード単位で比較
しブレークさせる(つまり、m=1である。)とき、ブ
レークさせたい数値である任意設定値Aを”55AA
h”に設定した場合について考える。
【0211】このとき、第1一致信号出力部210には
任意設定値Aとして”AAh”が書き込まれ、第2一致
信号出力部220には任意設定値Aとして”55h”が
書き込まれる。図9における命令の先頭信号I、データ
メモリリード/ライト信号R/W、データメモリリード
信号R11及びデータメモリリード信号R12について
は、図8におけるタイミングチャート中の対応する信号
と同じである。
【0212】このとき、図1のような第1実施例の回路
構成において、第1一致信号出力部210は、時間t1
0にデータ値”AAh”を読み込むので、任意設定値A
と一致し、第1一致信号J11を出力する。また、第2
一致信号出力部220は、時間t9にデータ値”55
h”を読み込むので、任意設定値Aと一致し、第2一致
信号J12を出力する。従って、時間t10において、
第1及び第2一致信号J11及びJ12の両方が出力さ
れているので、ブレーク信号K2がこのブレーク信号発
生回路から出力される。
【0213】しかしながら、この発明は、一つの命令に
対するデータ値Dと任意設定値Aを比較しブレークさせ
るのが目的であり、上述の場合は異なる命令に対する複
数のデータ値Dと任意設定値Aを比較しブレークさせて
いる。従って、第1実施例においては、この場合にもブ
レーク信号K2を出力してしまうことが問題点である。
【0214】これに対し、図7に示したような第2実施
例の構成について、図9に示すタイミングチャートのよ
うな動作が行われる場合、第2一致信号出力部220
が、時間t9において、第2一致信号J22を出力した
後に、時間t9〜時間t10間に入力された命令の先頭
信号Iが入力されると、第2一致信号J22は出力停止
される。同様に、第1一致信号出力部210が、時間t
10において、第1一致信号J21を出力した後に、時
間t10〜時間t11間に入力された命令の先頭信号I
が入力されると、第1一致信号J21は出力停止され
る。従って、時間t10において第1及び第2一致信号
J21及びJ22の両方が出力されていないので、ブレ
ーク信号K2を出力しない。
【0215】このように、第2実施例の構成にすること
により、異なる命令に対応するデータ値Dに対応する第
1及び第2一致信号J21及びJ22が同時期に出力さ
れることがなく、同時期に出力される第1及び第2一致
信号J21及びJ22は必ず一つの命令に対するデータ
値Dになる。従って、誤ってブレーク信号が出力されて
しまうことがなく、正しくブレークさせることができ
る。
【0216】3.第3実施例 次に、この発明の第3実施例について、図10及び図1
1を参照して説明する。図10及び図11は、第3実施
例のブレーク信号発生回路60の構成を説明するための
回路図である。
【0217】この実施例は、上述の第1の実施の形態に
おいて、n=3としたときの構成例であり、従って、m
=0,1,2,3である。また、pの値は任意の値でよ
いが、この実施例においてはp=0とする。従って、こ
のとき、インサーキットエミュレータ50で一度に処理
できるバイト数は1バイト、すなわち8ビットであり、
比較できる最大のバイト単位が8バイトであり、及び比
較するバイト単位が1バイト、2バイト、4バイト又は
8バイトである。
【0218】この実施例のブレーク信号発生回路60
は、データメモリリード信号出力部300と、第1〜第
8一致信号出力部310〜380と、ブレーク信号出力
部390とを具えている。
【0219】また、ブレーク信号出力部390は、第1
ブレーク信号出力部出力段400と、第2ブレーク信号
出力部出力段420と、第3ブレーク信号出力部出力段
440と、第4ブレーク信号出力部出力段460と、O
Rゲート回路480とを具えている。
【0220】さらに、第1ブレーク信号出力部出力段4
00は、ORゲート回路402と、ANDゲート回路4
04とを具えている。第2ブレーク信号出力部出力段4
20は、ANDゲート回路422,424,426,4
28,432と、ORゲート回路430とを具えてい
る。第3ブレーク信号出力部出力段440は、ANDゲ
ート回路442,444,448と、ORゲート回路4
46とを具えている。第4ブレーク信号出力部出力段4
60は、ANDゲート回路462,464を具えてい
る。
【0221】これより、図10を参照して、この第3実
施例の回路におけるデータメモリリード信号出力部30
0、第1〜第8一致信号出力部310〜380における
信号の流れについて説明する。
【0222】データメモリリード信号出力部300に
は、データメモリリード/ライト信号R/W及び命令の
先頭信号Iがそれぞれ入力される。
【0223】また、第1〜第8一致信号出力部310〜
380の端子D1と端子D2には、それぞれデータ値D
と任意設定値Aとがデータバスによって入力される。
【0224】次に、第1〜第8一致信号出力部310〜
380の端子CLK1と端子CLK2について説明す
る。この発明の構成によれば、第1〜第8一致信号出力
部310〜380のそれぞれの構成は同様である。よっ
て、ここでは第1一致信号出力部310について代表し
て説明する。
【0225】すなわち、第1一致信号出力部310にお
いて、端子CLK1にはデータメモリリード信号出力部
300の出力端子EQU21からの出力信号R31が入
力され、端子CLK2には任意設定値ライト信号1W1
が入力される。以下、第2〜第8一致信号出力部320
〜380において、それぞれに対応する信号R32〜R
38、W2〜W8に対して同様である。
【0226】また、第1〜第8一致信号出力部310〜
380の端子CLR1と端子CLR2には、それぞれデ
ータ値クリア信号CLR1と任意設定値クリア信号CL
R2とが入力される。
【0227】次に、図11を参照してブレーク信号出力
部390における信号の流れについて説明する。
【0228】この、ブレーク信号出力部390におい
て、第1ブレーク信号出力部出力段400では、ORゲ
ート回路402の入力端子と第1〜第8一致信号出力部
310〜380の出力端子EQUすべてが接続され、O
Rゲート回路402からの出力信号と所定バイト識別信
号E1とがANDゲート回路404に入力される。
【0229】また、第2ブレーク信号出力部出力段42
0では、ANDゲート回路428の入力端子と第1及び
第2一致信号出力部310及び320の出力端子EQU
とが、ANDゲート回路426の入力端子と第3及び第
4一致信号出力部330及び340の出力端子EQUと
が、ANDゲート回路424の入力端子と第5及び第6
一致信号出力部350及び360の出力端子EQUと
が、及びANDゲート回路422の入力端子と第7及び
第8一致信号出力部370及び380の出力端子EQU
とが、それぞれ接続されている。また、ANDゲート回
路422、ANDゲート回路424、ANDゲート回路
426及びANDゲート回路428の出力端子すべて
と、ORゲート回路430の入力端子とが接続され、O
Rゲート回路430からの出力信号と所定バイト識別信
号E2とがANDゲート回路432に入力される。
【0230】また、第3ブレーク信号出力部出力段44
0では、ANDゲート回路444の入力端子と第1〜第
4一致信号出力部310〜340の出力端子EQUと
が、及びANDゲート回路442の入力端子と第5〜第
8一致信号出力部350〜380の出力端子EQUと
が、それぞれ接続されている。また、ANDゲート回路
442及びANDゲート回路444の出力端子と、OR
ゲート回路446の入力端子とが接続され、ORゲート
回路446からの出力信号と所定バイト識別信号E3と
がANDゲート回路448に入力される。
【0231】また、第4ブレーク信号出力部出力段46
0では、ANDゲート回路462の入力端子と第1〜第
8一致信号出力部310〜380の出力端子EQUすべ
てが接続され、ANDゲート回路462からの出力信号
と所定バイト識別信号E4とがANDゲート回路464
に入力される。そして、ANDゲート回路404,43
2,448,464のすべての出力端子と、ORゲート
回路480の入力端子とが接続され、ORゲート回路4
80からはブレーク信号K3が出力される。
【0232】上述のデータメモリリード信号出力部30
0としては、例えばジョンソンカウンタのようなカウン
タ回路を用いればよい。また、第1〜第8一致信号出力
部310〜380としては、例えばコンペア回路を用い
ればよい。
【0233】次に、この実施例のブレーク信号発生回路
60の動作について説明する。
【0234】(1)第3実施例における任意設定値識別
信号及び任意設定値の設定方法 まず、エミュレーション前に、任意設定値識別信号E1
〜E4の設定及び任意設定値Aの設定を行う。
【0235】ここで、これらの設定について、(イ)1
バイト単位で比較しブレークさせたいとき(即ちm=0
のとき)、(ロ)ワード単位(即ち2バイト単位)で比
較しブレークさせたいとき(即ちm=1のとき)、
(ハ)ロングワード単位(即ち4バイト単位)で比較し
ブレークさせたいとき(即ちm=2のとき)、(ニ)ク
ワッドワード単位(即ち8バイト単位)で比較し、ブレ
ークさせたいとき(即ちm=3のとき)、のそれぞれの
場合に分けて説明する。
【0236】(イ)1バイト単位で比較しブレークさせ
たいとき(即ちm=0のとき) 任意設定値識別信号E1のみハイレベルにし、他はロー
レベルに設定する。このとき、任意設定値Aは、第1〜
第8一致信号出力部310〜380にすべて同じ値であ
るA1を設定する。
【0237】この場合、第i一致信号出力部において、
iの値に対し数式(1)を満たすjの値が同じ値をもつ
とき、任意設定値は同じ値をもっている。つまり、i=
1〜8のそれぞれの値に対して、k=1〜8の値をも
ち、すべてj=1になる。従って、同じ任意設定値A1
をもつ。
【0238】(ロ)ワード単位(即ち2バイト単位)で
比較しブレークさせたいとき(即ちm=1のとき) 任意設定値識別信号E2のみハイレベルにし、他はロー
レベルに設定する。このとき、任意設定値Aは、第1、
第3、第5及び第7一致信号出力部310、330、3
50及び370にはA1をそれぞれ設定し、第2、第
4、第6及び第8一致信号出力部320、340、36
0及び380にはA2を、それぞれ設定する。
【0239】この場合、第i一致信号出力部において、
iの値に対し数式(1)を満たすjの値が同じ値をもつ
とき、任意設定値は同じ値をもっている。つまり、i=
1,3,5,7のそれぞれの値に対して、k=1,2,
3,4の値をもち、すべてj=1になり、任意設定値A
1をもつ。
【0240】また、i=2,4,6,8のそれぞれの値
に対して、k=1,2,3,4の値をもち、すべてj=
2になり、任意設定値A2をもつ。
【0241】(ハ)ロングワード単位(即ち4バイト単
位)で比較しブレークさせたいとき(即ちm=2のと
き) 任意設定値識別信号E3のみハイレベルにし、他はロー
レベルに設定する。任意設定値Aは、第1及び第5一致
信号出力部310及び350にはA1を、第2及び第6
一致信号出力部320及び360にはA2を、第3及び
第7一致信号出力部330及び370にはA3を、第4
及び第8一致信号出力部340及び380にはA4を、
それぞれ設定する。
【0242】この場合、第i一致信号出力部において、
iの値に対し数式(1)を満たすjの値が同じ値をもつ
とき、任意設定値は同じ値をもっている。つまり、i=
1,5のそれぞれの値に対して、k=1,2の値をも
ち、すべてj=1になり、任意設定値A1をもつ。ま
た、i=2,6のそれぞれの値に対して、k=1,2の
値をもち、すべてj=2になり、任意設定値A2をも
つ。また、i=3,7のそれぞれの値に対して、k=
1,2の値をもち、すべてj=3になり、任意設定値A
3をもつ。また、i=4,8のそれぞれの値に対して、
k=1,2の値をもち、すべてj=4になり、任意設定
値A4をもつ。
【0243】(ニ)クワッドワード単位(即ち8バイト
単位)で比較し、ブレークさせたいとき(即ちm=3の
とき) 任意設定値識別信号E4のみハイレベルにし、他はロー
レベルに設定する。任意設定値Aは、第1〜第8一致信
号出力部310〜380にすべて異なる値であるA1〜
A8を、それぞれ設定する。この場合、第i一致信号出
力部において、iの値に対し数式(1)を満たすjの値
が同じ値をもつとき、任意設定値は同じ値をもってい
る。つまり、i=1〜8のそれぞれの値に対して、k=
1の値をもち、j=1〜8という異なる値になり、それ
ぞれ異なる任意設定値A1〜A8をもつ。
【0244】(2)エミュレーション開始から、ブレー
ク信号を出力するまでの第3実施例の動作について 次に、図10及び図11に示したような回路構成を有す
る第3実施例において、エミュレーションが開始された
後、ブレーク信号を出力するまでの動作について説明す
る。
【0245】エミュレーションが開始され、図10に示
すデータメモリリード信号出力部300において、デー
タメモリリード/ライト信号R/Wのみ連続してi回
(但し、i=1,2,・・・,8である。)入力される
と出力端子EQU2iから第iデータメモリリード信号
R3iが出力開始される。また、データメモリリード信
号出力部300に命令の先頭信号Iが入力されると、第
iデータメモリリード信号R3iは出力停止する。
【0246】ここで、この第3実施例において、各信号
の波形については図示しないが、これらの波形は、第1
実施例について図8のタイミングチャートに示したもの
とほぼ同様である。よって、ここでのデータメモリリー
ド/ライト信号R/W及び命令の先頭信号Iの波形、そ
して、第iデータメモリリード信号R3iの波形につい
ての説明を省略する。
【0247】ところで、図10に示す第i一致信号出力
部310〜380(i=1,2,・・・,8)において
は、一つの命令に対応する一又は複数のデータ値Dのう
ちi番目のデータ値Diを読み取っている。すなわち、
第i一致信号出力部310〜380において、第iデー
タメモリリード信号R3iが端子CLK1に入力開始さ
れると同時に、端子D1からデータ値Diを読み込む。
この読み込まれたデータ値Diは、第iデータメモリリ
ード信号R3iが入力開始されたときの最新のデータ値
Dであって、第i一致信号出力部310〜380におい
て逐次更新される。
【0248】また、第i一致信号出力部310〜380
のそれぞれにおいて、この読み込まれたデータ値Di
と、予め端子D2から入力された任意設定値Aとを比較
して、一致している場合には、出力端子EQUからそれ
ぞれ第i一致信号J3iを出力する。
【0249】次に、図11に示すブレーク信号出力部3
90において、読み込まれたデータ値Diと任意設定値
Aとを2mバイト単位で一致していると判断したとき
に、ブレーク信号K3を出力する。
【0250】ここで、第1〜第4ブレーク信号出力部出
力段400,420,440及び460からそれぞれブ
レーク補助信号L1〜L4を出力するANDゲート回路
404,432,448及び464には、それぞれ所定
バイト識別信号E1〜E4が入力される。
【0251】この所定バイト識別信号E1〜E4は、上
述したように、ブレークしたいバイト数に対応した一つ
だけがハイレベルになる。従って、第1〜第4ブレーク
信号出力部出力段400,420,440及び460の
うちブレーク補助信号L1〜L4を出力する可能性があ
るのは、ハイレベルになっている所定バイト識別信号が
入力されるブレーク信号出力部出力段だけであり、この
ブレーク信号出力部出力段からブレーク補助信号が出力
されると、ORゲート回路480からブレーク信号K3
が出力される。
【0252】ここで、上述した(イ)〜(ニ)のそれぞ
れの場合における、このブレーク信号出力部出力段の動
作について具体的に説明する。
【0253】(イ)1バイト単位で比較しブレークさせ
たいとき(すなわちm=0のとき) ANDゲート回路404にハイレベルの所定バイト識別
信号E1が入力されるので、第1ブレーク信号出力部出
力段400の動作のみ考慮すればよい。このとき、OR
ゲート回路402の8個の入力端子のうち少なくとも一
つの端子に、上述の第i一致信号(但し、i=1,2,
・・・,8である。)が入力されると、ORゲート回路
402はハイレベルの信号を出力し、従ってANDゲー
ト回路404は第1ブレーク補助信号L1を出力する。
その結果、一致していると判断し、ブレーク信号K3を
出力する。
【0254】(ロ)ワード単位で比較しブレークさせた
いとき(すなわちm=1のとき) ANDゲート回路432にハイレベルの所定バイト識別
信号E2が入力されるので、第2ブレーク信号出力部出
力段420の動作のみ考慮すればよい。このとき、4個
のANDゲート回路422,424,426及び428
のうち少なくとも一つについて、それぞれの2個の入力
端子の両方に第i一致信号が入力されると、このAND
ゲート回路から出力されるハイレベルの信号に基づいて
ORゲート回路430はハイレベルの信号を出力し、従
ってANDゲート回路432は第2ブレーク補助信号L
2を出力する。その結果、一致していると判断し、ブレ
ーク信号K3を出力する。
【0255】(ハ)ロングワード単位で比較しブレーク
させたいとき(すなわちm=2のとき) ANDゲート回路448にハイレベルの所定バイト識別
信号E3が入力されるので、第3ブレーク信号出力部出
力段440の動作のみ考慮すればよい。このとき、2個
のANDゲート回路442及び444のうち少なくとも
一つについて、それぞれの4個の入力端子のすべてに第
i一致信号が入力されると、このANDゲート回路から
出力されるハイレベルの信号に基づいてORゲート回路
446はハイレベルの信号を出力し、従ってANDゲー
ト回路448は第3ブレーク補助信号L3を出力する。
その結果、一致していると判断し、ブレーク信号K3を
出力する。
【0256】(ニ)クワッドワード単位で比較しブレー
クさせたいとき(すなわちm=3のとき) ANDゲート回路464にハイレベルの所定バイト識別
信号E4が入力されるので、第4ブレーク信号出力部出
力段460の動作のみ考慮すればよい。このとき、AN
Dゲート回路462の8個の入力端子のすべてに第i一
致信号が入力されると、このANDゲート回路462は
ハイレベルの信号を出力し、従ってANDゲート回路4
64は第4ブレーク補助信号L4を出力する。その結
果、一致していると判断し、ブレーク信号K3を出力す
る。
【0257】上述したような、(イ)〜(ニ)のそれぞ
れの場合において、ブレーク補助信号出力部からブレー
ク補助信号が出力される場合は、少なくとも一つのkの
値において、このkの値に対する2m個のすべての任意
設定値Aと読み込まれたデータ値Diとが一致する、つ
まり、このkの値に対する2m個のすべての第i一致信
号出力部から第i一致信号が入力されていることに相当
する。このとき、当然ながら、ブレーク信号出力部39
0には、少なくとも2m個のすべての第i一致信号出力
部310〜380の各々から第i一致信号が入力されて
いる。
【0258】第3実施例の構成にすることにより、バイ
ト単位、ワード単位、ロングワード単位又はクワッドワ
ード単位の任意のバイト幅で、任意設定値Aとデータ値
Dとを比較してブレークさせることができる。また、従
来技術では不可能であったm≧2の場合、すなわち、ロ
ングワード単位又はクワッドワード単位において、比較
してブレークさせることができる。
【0259】上述した実施の形態及び実施例の構成、条
件、数値等は単なる例示であって、この発明はこれらに
限定されるものではなく、任意好適に変更することがで
きる。
【0260】例えば、データメモリ58として、RAM
のような大型の記憶装置を用いたが、データメモリ58
の代わりにレジスタを用いて、このレジスタにプログラ
ムの命令を実行するときのデータ値Dを記憶させても良
い。データメモリ58を使用すると記憶容量が大きいの
で、データ値Dを蓄積して記憶することができる。しか
しながら、上述したように、実際にデータ値Dを第i一
致信号出力部に読み込むときには、データメモリ58の
データ値Dのうち最も新しいデータ値Dを読み込むこと
が好ましい。従って、この場合には、データ値Dは最も
新しいものが記憶されていれば十分である。そこで、一
時的な記憶しかできなく次のデータが記憶されるとデー
タが更新されてしまう回路であるレジスタを用いてデー
タ値Dを記憶させても良い。
【0261】また、実施例で、n=1,3の場合を説明
したが、任意好適な1以上の整数に対して、この発明を
適用することができる。なお、比較できる最大のバイト
数、つまり、2n+pバイトがあまり大きくても、この最
大バイト数程度の命令をマイコンで処理するのに時間が
かかり過ぎてしまうため扱うことができなく、大がかり
なブレーク信号発生回路を使用する意味がない。従っ
て、マイコンで現実的に処理可能なバイト数の命令を比
較できる程度のnの値が好適であると言える。また、p
の値も、マイコンの性能に従った任意好適な値に変更可
能である。
【0262】
【発明の効果】上述した説明から明らかなように、この
発明によれば、データメモリリード/ライト信号と命令
の先頭信号とが所定の条件を満たすように入力される
と、第iデータメモリリード信号を出力開始または停止
するデータメモリリード信号出力部と、第iデータメモ
リリード信号が入力開始されると同時に、一つの命令に
対応する1又は複数のデータメモリのデータ値のうち第
i番目のデータ値をデータメモリから読み込み、この読
み込まれたデータ値と、2pバイトの任意設定値とを比
較して、双方の値が一致している場合には、第i一致信
号を出力する第i一致信号出力部と、少なくとも2m
の第i一致信号出力部の各々から第i一致信号が入力さ
れ、かつ、読み込まれたデータ値と任意設定値とを2
m+pバイト単位で一致したと判断したときに、ブレーク
信号を出力するブレーク信号出力部とを具えている。従
って、バイト命令識別信号及びワード命令識別信号がな
い場合であっても、意図するビット幅でデータ値と任意
設定値とを比較しブレークできる。さらに、入力信号数
を増やすことなく、大きいバイト数の単位でデータ値と
任意設定値とを比較しブレークできる。
【図面の簡単な説明】
【図1】n=1における第1の実施例の構成を示す回路
図である。
【図2】従来技術の動作を示すタイミングチャート図で
ある。
【図3】エミュレーションをブレークさせるための装置
構成を示すブロック図である。
【図4】第1の実施の形態における各部回路の構成を示
す図である。
【図5】第1の実施の形態における各部回路の構成を示
す図である。
【図6】この発明の実施の形態の動作を示すタイミング
チャート図である。
【図7】n=1の第2の実施例の構成を示す回路図であ
る。
【図8】第1の実施例の動作を示すタイミングチャート
図である。
【図9】第2実施例の動作を考えるためのタイミングチ
ャートの参考例である。
【図10】n=3の第3の実施例の構成を示す回路図で
ある。
【図11】n=3の第3の実施例の構成を示す回路図で
ある。
【図12】任意設定値Ajとデータ値aiとの関係を示す
図表である。
【図13】従来技術の構成を示す回路図である。
【符号の説明】
10:第1論理組み合わせ回路 20:第1コンペア回路 30:第2コンペア回路 40:第2論理組み合わせ回路 50:インサーキットエミュレータ 52:応用機器 54:開発用計算機 56:CPU 58:データメモリ 60:ブレーク信号発生回路 62:制御部 100,200,300:データメモリリード信号出力
部 110−i:第i一致信号出力部 210:第1一致信号出力部 220:第2一致信号出力部 310〜380:第1〜第8一致信号出力部 130,230,390:ブレーク信号出力部 232,234,236,238,240,402,4
04,422,424,426,428,430,43
2,442,444,446,448,464、48
0:ゲート回路

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 インサーキットエミュレータによるプロ
    グラムのエミュレーション中に、該プログラムの命令を
    実行するときのデータ値を記憶するデータメモリのデー
    タ値と、ブレークしたい数値としての任意設定値とを、
    所定のバイト単位で比較して、双方の値が一致していた
    らブレーク信号を出力するブレーク信号発生回路におい
    て、 該インサーキットエミュレータにより一度に処理できる
    バイト数が2pバイト(但し、pは0以上の整数)であ
    り、 比較できる最大のバイト単位が2n+pバイト(但し、n
    は1以上の整数)であり、 及び該所定のバイト単位が2m+pバイト(但し、mは0
    ≦m≦nを満たす整数)であるとき、 データメモリリード/ライト信号と命令の先頭信号とが
    所定の条件を満たすように入力されると、第iデータメ
    モリリード信号を出力開始または停止するデータメモリ
    リード信号出力部と、 前記第iデータメモリリード信号が入力開始されると同
    時に、一つの前記命令に対応する1又は複数の前記デー
    タメモリのデータ値のうち第i番目の当該データ値を前
    記データメモリから読み込み、この読み込まれたデータ
    値と、2pバイトの前記任意設定値とを比較して、双方
    の値が一致している場合には、第i一致信号を出力する
    第i一致信号出力部と、 少なくとも2m個の第i一致信号出力部の各々から前記
    第i一致信号が入力され、かつ、前記読み込まれたデー
    タ値と前記任意設定値とを2m+pバイト単位で一致した
    と判断したときに、ブレーク信号を出力するブレーク信
    号出力部とを具えている(但し前記iは、i=1,2,
    3,・・・,2n)ことを特徴とするブレーク信号発生
    回路。
  2. 【請求項2】 請求項1に記載のブレーク信号発生回路
    において、 前記データメモリリード信号出力部における前記所定の
    条件は、 前記データメモリリード/ライト信号のみ連続してi回
    入力されると前記第iデータメモリリード信号を出力開
    始し、 及び、前記命令の先頭信号が入力されると前記第iデー
    タメモリリード信号を出力停止することを特徴とするブ
    レーク信号発生回路。
  3. 【請求項3】 請求項1又は2に記載のブレーク信号発
    生回路において、 前記第i一致信号出力部における前記データメモリのデ
    ータ値の読み込みは、前記第iデータメモリリード信号
    が入力開始されたときの最新の前記データ値を読み込ん
    で、この読み込まれたデータ値は逐次更新することを特
    徴とするブレーク信号発生回路。
  4. 【請求項4】 請求項1〜3のいずれか1項に記載のブ
    レーク信号発生回路において、 前記第i一致信号出力部において、iの値に対し、j=
    {i−(k−1)2m}(但し、j=1,2,3,・・
    ・,2m、かつ、k=1,2,3,・・・,2n -m)を満
    たすjが同じ値をもつとき、前記任意設定値は同じ値を
    もつことを特徴とするブレーク信号発生回路。
  5. 【請求項5】 請求項4に記載のブレーク信号発生回路
    において、 前記ブレーク信号出力部において、前記一致の判断は、
    少なくとも一つの前記kの値において、このkの値に対
    する2m個のすべての第i一致信号出力部から第i一致
    信号が入力されたときに、一致したと判断することを特
    徴とするブレーク信号発生回路。
  6. 【請求項6】 請求項1〜5のいずれか1項に記載のブ
    レーク信号発生回路において、 前記データメモリリード/ライト信号は、前記インサー
    キットエミュレータにおける基本クロックと同調してい
    て、当該データメモリリード/ライト信号が前記データ
    メモリに1回入力されると、該データメモリに2pバイ
    トの前記データメモリのデータ値が書き込まれることを
    特徴とするブレーク信号発生回路。
  7. 【請求項7】 請求項1〜6のいずれか1項に記載のブ
    レーク信号発生回路において、 前記命令の先頭信号は、前記インサーキットエミュレー
    タにおける基本クロックと同調していて、前記命令の実
    行開始と共に出力開始する信号と、該基本クロックとの
    AND出力であることを特徴とするブレーク信号発生回
    路。
  8. 【請求項8】 請求項1〜7のいずれか1項に記載のブ
    レーク信号発生回路において、 前記第i一致信号出力部には、前記命令の先頭信号が入
    力可能になっており、前記第i一致信号出力部におい
    て、当該命令の先頭信号が入力されたとき、前記読み込
    まれたデータ値が消去されることを特徴とするブレーク
    信号発生回路。
  9. 【請求項9】 請求項1〜8のいずれか1項に記載のブ
    レーク信号発生回路において、 前記第i一致信号出力部をコンペア回路により形成した
    ことを特徴とするブレーク信号発生回路。
  10. 【請求項10】 請求項1〜9のいずれか1項に記載の
    ブレーク信号発生回路において、 前記データメモリリード信号出力部をカウンター回路に
    より形成したことを特徴とするブレーク信号発生回路。
  11. 【請求項11】 請求項1〜10のいずれか1項に記載
    のブレーク信号発生回路において、 前記データメモリの代わりにレジスタを用いて、該レジ
    スタに前記プログラムの命令を実行するときのデータ値
    を記憶させることを特徴とするブレーク信号発生回路。
JP2001201359A 2001-07-02 2001-07-02 インサーキットエミュレータのブレーク信号発生回路 Withdrawn JP2003015908A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001201359A JP2003015908A (ja) 2001-07-02 2001-07-02 インサーキットエミュレータのブレーク信号発生回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001201359A JP2003015908A (ja) 2001-07-02 2001-07-02 インサーキットエミュレータのブレーク信号発生回路

Publications (1)

Publication Number Publication Date
JP2003015908A true JP2003015908A (ja) 2003-01-17

Family

ID=19038336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001201359A Withdrawn JP2003015908A (ja) 2001-07-02 2001-07-02 インサーキットエミュレータのブレーク信号発生回路

Country Status (1)

Country Link
JP (1) JP2003015908A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1441122A1 (en) 2003-01-24 2004-07-28 Nissan Motor Company, Limited Arrangement of protecting the fuel delivery tube of an engine

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1441122A1 (en) 2003-01-24 2004-07-28 Nissan Motor Company, Limited Arrangement of protecting the fuel delivery tube of an engine

Similar Documents

Publication Publication Date Title
US8316174B2 (en) Microcontroller based flash memory digital controller system
US7194610B2 (en) Processor and pipeline reconfiguration control method
US5960182A (en) Hardware-software co-simulation system, hardware-software co-simulation method, and computer-readable memory containing a hardware-software co-simulation program
US7711891B1 (en) Method, system, and computer-readable medium for updating memory devices in a computer system
JPH1040122A (ja) 計算機
JP2003015908A (ja) インサーキットエミュレータのブレーク信号発生回路
KR920007028B1 (ko) 데이타 처리장치용 출력비교 제어 시스템 및 방법
JP2878264B1 (ja) トレーサ装置、トレースデータ圧縮方法および圧縮トレースデータ読み出し方法
US20040139369A1 (en) Device and method for converting a diagnostic interface to spi standard
US7210007B2 (en) Method of verifying a system in which a plurality of master devices share a storage device
JPH06187140A (ja) 処理装置
JPH07281962A (ja) 電気的書換可能な不揮発性メモリのアクセス方法
JPS6217847Y2 (ja)
JP3048969B2 (ja) サイクルベースシミュレータ
JPH0716189Y2 (ja) ブレーク回路
KR0163726B1 (ko) 외부 메모리를 이용한 다수의 램 브레이크조건 설정회로
CN117519754A (zh) 仪表类产品实现分块升级简化比对并同时ab升级处理的方法、装置、处理器及存储介质
RU2010309C1 (ru) Ячейка однородной вычислительной структуры
JPH04318628A (ja) 中央演算処理装置
JPH04248587A (ja) 表示制御装置
JPH04128949A (ja) 半導体記憶装置のデータ記憶方式
JPH01199243A (ja) 履歴情報記憶装置
JPH1165856A (ja) マイクロコンピュータおよびその割り込み処理方法
EP1850232A2 (en) Simulator
JPH0816507A (ja) Ideバス用周辺装置

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080902