JPH03225436A - 記録装置のシミュレータおよびそのデバッガ - Google Patents

記録装置のシミュレータおよびそのデバッガ

Info

Publication number
JPH03225436A
JPH03225436A JP2018862A JP1886290A JPH03225436A JP H03225436 A JPH03225436 A JP H03225436A JP 2018862 A JP2018862 A JP 2018862A JP 1886290 A JP1886290 A JP 1886290A JP H03225436 A JPH03225436 A JP H03225436A
Authority
JP
Japan
Prior art keywords
trace
data
simulation
engine
window
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
JP2018862A
Other languages
English (en)
Inventor
Tetsuji Sato
佐藤 徹次
Satoshi Takaoka
聡 高岡
Yasuto Kaneko
金子 康人
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2018862A priority Critical patent/JPH03225436A/ja
Publication of JPH03225436A publication Critical patent/JPH03225436A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、複写機、プリンタ、ファクシミリ等の記録
装置の開発を支援するシミュレーション装置に係り、特
にマイクロプロセッシングユニット(以下MPUと称す
)、周辺LSI、センサ等の外部信号や他のMPUとの
通信データなどのシミュレーションを実行するのに好適
なソフトウェアシミュレータ(以下シミュレータと祢す
〉に関する。
〔従来の技術〕
近年、記録装置においては、社会的ニーズの多様化によ
り一つの機種における多機能化、特定機能のみをもつ多
機種化など製品開発に大きな変化が見られる。これらの
変化に対応するための技術革新は、MPLIの導入とそ
のソフトウェアによるところが極めて大きく、年々ソフ
トウェアM模が増大すると共に、このソフトウェアの開
発が製品開発に全工数上の大きなウェイトを占めるよう
になって来ている。
したがって、ソフトウェア開発の効率を上げることが製
品開発上の至上命題となっているが、従来の方法による
ソフトウェア開発では、そのデバッグ工程において、電
気回路基板あるいは記録装置の実機が必要となっている
なめ、たとえソフトウェアの設計が早期に完了したとし
ても、電気回路基板や実機の試作完了才で次のデバッグ
工程に進めないという問題がある。すなわち、このソフ
トウェアのデバッグが電気回路基板や実機といった記録
装置のハードウェアに依存しているという特徴が結果的
にソフトウェアがハードウェアの開発スケジュールに依
存してしまうばかりか、どうしても後追いになってしま
うという悪循環の様相を呈していた。したがって、ソフ
トウェアの開発効率を上げるには、ソフトウェアだけの
問題に限らずハードウェアの開発効率を上げねばならな
いのが現状である。
更に、電気回路基板や実機上でのデバッグにおいて、ト
ラブルが発生した場合、たとえそれがハードウェア側の
問題としても開発コスト/納期の関係からその対策をソ
フトウェア的に行うことが多いため、ソフトウェア技術
者の負担増につながっている。
以下、記録装置の開発について説明する。
第50図は、記録装置の基本的な構成を示すものである
0図において、記録装置は機器本体/O0、M P U
 120及びこの両者間のインタフェースを行う電気回
路基板130とから構成されている0機器本体/O0に
は、動作状態を検出するためのセンサ及びコントロール
パネルからの指示を入力するためのスイッチ等が設けら
れている。これらのセンサ、スイッチ等からの入力は、
−旦電気回路基板130に供給され、ここで所定の信号
処理が行われたのちM P U 120に入力データと
して供給される。
また、入力の中のあるものは割込信号としてMPU12
0に供給される。MPU120の出力データは、電気回
路基板130に供給され、この電気回路基板130から
モータ、ソレノイド等の駆動部品を制御するための信号
が出力される。
またM P U 120には、MPUとMPU外部0回
路とのインタフェースのために周辺LSI(大規模集積
回路)が接続されており、前記機器のモータ、ツレイド
等のv1楕系を精密に動作させるのに必要な信号を作り
出している。
更に記録装置のシステムが大きい場合は、システムを複
数のモジュールに分割し、各モジュール毎にMPUを使
用することも行われている。このとき、各モジュールの
動作は他のモジュールの動作にタイミングを合わせる必
要があるので、各モジュールの動作状態を他のモジュー
ルに知らせる必要がある。このため、各モジュール間は
通信チャンネルにより連結され、たとえば、シリアル通
信データによりデータの交換が行われる。
上記記録袋!の開発は、第51図に示すように、大別し
て機器本体に関するメカニカル設計、MPUおよび周辺
LSIのハードウェアに関する電気回路設計、および装
!の動作を制御するプログラムに間するソフトウェア開
発の三つの部門によって進められる。具体的には、先ず
製品企画において開発のテーマ、スケシールなどが検討
立案され、それを基に各部門で仕様設計に入る。ソフト
ウェア開発部門では、プログラムを作成する第1工程、
このプログラムを電気回路基板を使って検証する第2工
程、およびプログラムを試作機に搭載して検証する第3
工程がある。
第1工程は電気回路およびメカニカルの各設計仕様書に
基づいてソフトウェアに関する仕様設計が行われ、この
仕様に沿ってプログラムの作成が行われる。ここで、仕
様書からソースプログラムを作成するに際しては開発ツ
ールとしてエディタが使用される。その後、ソースプロ
グラムはアセンブラ、コンパイラ、リンカなどの言語変
換装置を用いてオブジェクトプログラムの作成が行われ
る。
第2工程は電気回路基板を使って開発したプログラムを
走らせ、装置の機構部分を制御するために必要な信号が
仕様書どおりに出力されるが否かをソフト/ハードの両
面から検証する。いわゆるエミュレーションテストであ
る。
第3工程は完成した試作機で開発したプログラムを走ら
せ、このときの装置動作を確認する、いわゆる実機テス
トである。
通常、上記各部門の作業は並行して行われるが、この間
の開発テンポは必ずしも同一とはならない。
最終段階の実機テストまでの開発進行状況をソフトウェ
ア開発から見た場合、ソフトウェアは前述のとおり、電
気回路基板がなければエミュレーションテストができな
いので、その開発スケジュールは電気回路基板の設計試
作、並びに試作機の完成に依存することになる。たとえ
ば、電気回路基板の完成が遅れた場合には、開発スケジ
ュール上、エミュレーションテストによるデバッグを最
大限に活用することができず、ソフトウェアのバグが取
り切れないまま実機テストに移行する。その結果、実機
デバッグにおいては、基本的なソフトウェアトラブルが
続出する。
以下に、記録装!の制御/Oグラムの開発を、複写機を
例にして説明する。
第52図は、自動原稿搬送袋!及びソータを備えた複写
機の模式図を示している。
図において、複写機本体/O0の上面には原稿を複写機
本体のプラテンガラス上に自動的に搬入するための自動
原稿搬送装置140が載置され、また、複写機本体の側
面には、複写後の用紙を仕分けしてビン161に排出す
るためのソータ160が配置されている。
複写機本体/O0内には、矢印方向に回転する感光体ド
ラム/O1が配置され、この感光体ドラム/O1の周辺
に帯電器/O2、現像器/O3、転写器/O4、剥離器
/O5、クリーナ/O6等が順次配置されている。
また、複写機本体/O0の上部には、原稿(図示せず)
を照明する光源111、原稿からの反射光を感光体ドラ
ム/O1上に集束させるためのミラー112及びレンズ
113が配設されており、これらが走査光学系を構成し
ている。そして、この走査光学系により、予め帯電器/
O2により帯電された感光体ドラム/O1上に静電潜像
を形成するようになっている。この静電潜像は現像器/
O3によりトナー像として顕像化される。同時に、それ
ぞれ異なったサイズの用紙が収納された第1.第2及び
第3トレイ121,122,123のいずれががら用紙
が給紙装置121により感光体ドラム/O1方向に搬送
され、転写器/O4により感光体ドラム上のトナー像が
用紙に転写される。この際、感光体ドラム/O1の回転
に同期して所定のタイミングで用紙が給送されるように
、用紙搬送経路中にレジストレーションゲート(図示せ
ず)が設けられている。転写後の用紙は剥離器/O5に
より感光体ドラム/O1から剥離され、搬送ベルト12
5により定着機126に送られ、トナー像が用紙に定着
される。
通常の複写において、定着後の用紙は、実線で示すよう
に、インバータ127をそのまま通過してソータ160
により所定のビン161に排出される。なお、両面複写
の場合は、−点鎖線で示すように、−面が複写された後
の用紙の表裏をインバータ127により反転して一旦両
面トレイ128に溜めたのち、循環装置129及び給紙
装置124を介して再度感光体ドラム/O1方向に搬送
し、今度は他面の複写を行う。
上述のような複写機において、自動原稿運送装置140
及びソータ160を使用して複写を行う場合を考えると
、原稿トレイ141に原稿を載!して、複写機本体/O
0のコンソールパネルに設けられた複写開始ボタン(図
示せず)を押すと、先ず、自動原稿搬送装置140は、
第53図に示すように、原稿をプラテンガラス144上
の規定値1に搬送する。
すなわち、原稿トレイ141上の原稿はパドル142.
143によりプラテンガラス144上に送り出され、搬
送ベルト145によりプラテンガラス144上の規定値
1に搬送される。
次いで、光源111、ミラー112、レンズ113等か
らなる走査光学系は、感光体ドラム/O1の回転に同期
して、プラテンガラス142下を図において左右方向に
移動し原稿を走査する。
これにより、感光体ドラム/O1上には5.静電像が形
成され、その後、周知の現像、転写、剥離、定着、排出
、仕分は等の各工程が行われる。
また、複写後の原稿は搬送ベルト145によりプラテン
ガラス144から取り除かれ、ゲート爪146により掬
い上げられ原稿搬送ロール147により自動原稿搬送装
置140の上部の原稿受け148に排出される このように複写作業が行なわれるとき、各工程は、各装
置の動作及び用紙の通過状態を検出しながら処理される
このような自動原稿搬送装置140.ソータ160等の
周辺装置を備えた複写機においては、各装置の動作を他
の装置の状態との関連で制御しなければならないため、
複写機本体と各周辺機器との間は通信チャンネルで結ば
れている。
また、各装置はMPLIにより制御されるが、各MPU
はインタフェース及び前記通信チャンネルを介してデー
タの授受が行われる。また、同一装置内においても機能
別に複数のMPUが設けられることもある。
複写機本体/O0は、第54図に示されるように、複写
機機構部131.MPU132及びこの両者間のインタ
フェースを行う電気回路基板133とから構成されてい
る。′i、た、電気回路基板133には、操作用のコン
ソールパネル134が接続され、複写機開始等のキーか
らの信号が電気回路基板133に供給されると共に、複
写枚数、メツセージ等のデータがコンソールパネル13
4に供給され、ランプ、発光ダイオードマトリックス等
により表示される。
家な、複写機本体/O0に対する周辺装!、すなわち、
前述の自動原稿搬送装置140及びソータ160等にお
いても同様な構成となっている。たとえば、自動原稿搬
送装置140は、自動原稿搬送装置機構部151とM 
P U 152との間に設けられた電気回路基板153
により信号、データの授受が行われる。そして、各装置
間の動作の制御は、たとえばシリアルの通信データによ
り行なわれている。
この種の複写機におけるM P U 132で実行され
るプログラムの開発には、デバッグ用の開発ツールとし
て第55図に示すシミュレータキットと呼ばれる装置が
使用されている。これは前述のエミュレーションテスト
を行うためのツールである。
シミュレータキット1フ0は、実際の複写機機構部13
1及びコンソールパネル134の入力系及び出力系をス
イッチパネル部171.表示パネル部172及び疑似コ
ンソールパネル部173で置き換えると共に、電気回路
基板133上のMPU用ソケットにターゲットMPU1
32と置換してインサーキットエミュレータ174((
]中、ICEで示す)を装着するものである。
スイッチパネル部171には、各部品の状態を外部から
設定するための複数のスイッチ171aが設けられてい
る。そして、スイッチパネル部171のスイッチ171
aを操作することにより、スイッチ171aからの出力
が電気回路基板133に対する入力信号として供給され
る。このとき、表示パネル部172に設けられた青ラン
プ172aが点灯して該当する入力用部品の状態を表示
する。
また、電気回路基板133からの出力信号は、各出力用
部品に対応する赤ランプ172bに供給され、その状態
が表示される。
なお、スイッチ171a、青ランプ172a及び赤ラン
プ172bはいずれも複数個設けられているが、図にお
いては藺草のため各1個のみ図示している。
また、電気回路基板133にはレベルコンバータ175
、入出力インターフェース176を介してパーソナルコ
ンピュタ−177が接続される。
シミュレータキットには、複写機のレイアウトが模式的
に描かれた表示パネル部172が設けられている。この
表示パネル部172は、第56図に示すように、複写時
の用紙の流れ等が視覚的に把握できるように、開発の対
象となる複写機のレイアウトが模式的に描かれている。
たとえば、図中181は感光体ドラム、182は定着器
、183はローラ、184は給紙トレイの各表示を示し
ている。また、原稿搬送装置140、搬送ベルト145
に対応する個所には、ビン161に対応する表示186
がある。更に、表示パネル部172には、各種センサ等
の入力用部品の出力を表示する複数の青ランプ172a
(図中、黒丸で示す)が配設されると共に、モータ、ソ
レノイド等の出力用部品の状態を表示する複数の赤ラン
プ172b (図中、白丸で示す)が、これらの各部品
と対応する位置に配設されており、それぞれ名前が付さ
れている。たとえば、最上段の給紙トレイの表示184
部分にはFEED−SQLと名付けられた給送ソレノイ
ドの動作を示す赤ランプ172b+と、用紙が給送され
ているかどうかを示すFEED OυT SNR(1)
と名付けられた青ランプ172a+が設けられている。
また、感光体ドラムの表示181の入力側には、用紙の
搬送開始のタイミングを決めるレジストレーションゲー
トを制御するREG−SQLと名付けられたソレノイド
の動作を示す赤ランプ172b、と、レジストレーショ
ンゲートに用紙が給送されているかどうかを示すREG
−SNRと名付けられた青ランプ172a2が設けられ
ており、更に、定着器の表示182の近傍の入力側に定
着器に用紙が給送されているかどうかを示すFUS l
N−5NRと名付けられた青ランプ172a、が設けら
れる。
また、定着器の表示182の出力側にFSRO[IT−
ROLLと名付けられたロールの動作を示す赤ランプ1
72b、が設けられている。この他にも各経路に、用紙
の到着状態を示す青ランプ及びモータ、ソレノイド等の
動作状態を示す赤ランプが表示されているがこれらにつ
いては説明を省略する。
また、自動原稿搬送装置、ソータに対応する個所にも同
様に各ランプが設けられている。
電気回路基板133には、先に述べたように、パーソナ
ルコンピュータ177が入出力インターフェース176
及びレベルコンバータ175を介して接続されている。
そして、このパーソナルコンピュータ177からのタイ
ミングデータや通信データが入出力インターフェース1
76により所定本数の信号路に分岐されレベルコンバー
タ175でレベルを合されて電気回路基板133に供給
される。なお、タイミングデータや通信データは、各セ
ンサや他の周辺装置からの信号をシミュレートするもの
である。
また、電気回路基板133から出力された信号の状態が
パーソナルコンピュータ177のコンソールに表示され
るように構成されている。
次に、上記シミュレータシステムの操作について説明す
る。
このシミュレータシステムは、手動制御モード及びパー
ソナルコンピュータ制御モードを備えている。
手動制御モードでは、送受信シミュレート、センサ信号
シミュレート等を行う、送受信シミュレートは、パーソ
ナルコンピュータ177のキーボードから入力されたデ
ータ或は初期ロードされたデータを電気回路基板133
へ送信し、また、電気回路基板133から受信したデー
タをパーソナルコンピュータ177のコンソールに表示
するものである。
センサ信号シミュレートは、前述したように、電気回路
基板133への信号をスイッチパネル部171のスイッ
チ171aのオンオフにより設定すると共に、その状態
を青ランプ172aで表示するものである。
また、電気回路基板133からの出力信号は赤ランプ1
72bで表示される。
パーソナルコンピュータ制御モードは、電気回路基板1
33の制御プログラムをデバッグする際に、タイミング
チャートにしたがって用紙走行テスト等を行うときに使
用するものである。
ここで、用紙走行テストについて説明する。
用紙が複写機の内部において順次搬送されていくとき、
用紙の搬送位置に応じてどのようにプログラムが実行さ
れているかを、たとえばセンサの出力をシミュレートす
るタイミングデータに基づいてシミュレーションする。
すなわち、インサーキットエミュレータ174において
、スイッチパネル部171或はパーソナルコンピュータ
177から各種センサ信号を供給した状態でターゲット
M P U 132と同一のプログラムを実行させ、表
示パネル部172上のランプ172a、172bの点滅
で表現される複写機の動作状況を観察することにより、
プログラムが正常に動作しているか、を検査している。
そして、動作が異常である場合、ランプ172a、17
2bの状態からプログラムの不良個所を推定し、インサ
ーキットエミュレータ174を使用してプログラムの誤
りを検出し、これを修正している。
また、ロジックアナライザを使用してタイミングデータ
を検出したり、オシロスコープを利用して各部の実際の
波形を検査することも行われている。
本シミュレータの技術的課題 従来、記録装置におけるソフトウェア開発においては、
先に述べたように三つの工程によって行われているが、
その中でソフトウェアのデバッグを行うエミュレーショ
ンテストおよび実機テストでは、後に行く程、ソフトウ
ェアトラブルの対策に多くの工数が掛かり、製品開発の
全体スケジュールの上で問題となる。第57図はデバッ
グ工程でのトラブル件数とその対策工数をグラフに表し
たものである1図において、開発されたソフトウェアは
、ソフトウェア単体によるデバッグが行われないため、
エミュレーションテストおよび実機テストによってバグ
が発見されるが、トラブルの全件数に占めるバグの割合
がエミュレーションテストでは約571%、実機テスト
では約42.9%である。
すなわち、バグは6割弱がエミュレーションテストで発
見され、この段階で取り除かれるが、残りの4割強のバ
グは次の実機テストで取り除がれる。
これらのトラブルは発見される段階によりその究明・対
策の工数に大きな差が生ずる。
エミュレーションテストの段階では、トラブルが及ぼす
範囲が電気回路設計、ソフトウェア設計の2部門である
から、ハード/ソフトの双方の問題は比較的短い期間に
解決することができる。しかし、実機テストの段階では
メカニカル設計、電気回路設計、およびソフトウェア設
計の3部門に波及するため、1つのトラブルを解決する
のにその原因究明や対策をどのように分担し合うがの擦
り合わせに大変手間がかがり、大きな工数が必要となる
。因に、各テスト段階におけるトラブル対策効率を比べ
た場合、エミュレーションテストに対して実機テストで
は1.7倍の対策工数が掛がる。
これを上記トラブル件数に当て嵌めると、エミュレーシ
ョンテストでのトラブルは全体のトラブル対策工数の約
30.6%であるのに対し、実機テストでは約69.4
%にも増大する。更にソフトウェア開発の全工数から見
ると、デバッグのための工数が全体の5割を占めている
。したがって、デバッグの効率を上げることが、ソフト
ウェア開発全体の効率を上げるのに大きく寄与する。ゆ
えに、このデバッグの工数低減が強く望まれている。
このように、ソフトウェア単体でデバッグを行えない従
来方式では、電気回路基板/ソフト結合や実機デバッグ
でのトラブルの発生件数が多く、しかも後に行く程、そ
の対策工数が増大し、結果として製品開発の効率低下に
つながっている。
ところで、電気回路基板や機器本体(機構部分)の設計
試作には数カ月を必要とし、特に完成後の電気回路基板
や機器本体における設計変更は開発スゲジュールの時間
的制約やコストの面で厳しい6また、電気回路上または
試作機上でのプログラムの検査において問題が発生した
場合、その問題はプログラムにあるのが、電気回路基板
または機器本体にあるのがか判別し5難い。この原因を
特定するのもソフトウェア技術者が行っている。特に、
製品の完成間近かではこれらハードウェアの問題等も含
めてソフト的に解決しなければならない事態がしばしば
起っている。
したがって、この種の機器開発では、ソフトウェア技術
者に多大な労力がかがるという問題があった。
これらの問題を解決するためには、いかにソフトウェア
トラブルを早期に発見し、それに対処するかが鍵になっ
ている。
このような技術的背景の中から、電気回路基板や試作機
なしでもソフトウェアのデバッグができる支援システム
(シミュレータ)が要望されていた。
次に、本シミュレータの構成上の課題について述べる。
対象となる記録装置は、所期の目的分達成するために、
電気回路基板がらの制御信号により機構部分が一連の動
作を行うように構成されており、この一連の動作をシミ
ュレートするには、先ず装置の動作状態を示すデータ、
すなわちa!11部分に配置されたセンサーの出力変化
を装置の固有の動作時間に対応させたタイミングデータ
が必要となる。
タイミングデータは、タイミングチャートがら作成され
るが、このタイミングチャートの作成は、全て手作業で
行われるため、多大な時間と手間がかかっていた。また
、目視による作業のため、読取誤りや、記入誤りなどの
人為的ミスが発生し易く、正確なタイミングチャートを
作成することが困難であった。したがって、シミュレー
ションのためのタイミングデータを短期間で準備するこ
とができなかった。
一方、電気回路基板は、上記タイミングデータに基づい
てMPUに信号を供給し、このMPUに搭載されたプロ
グラムに従って機構部分を制御する信号を出力する。
このようなアプリケーションプログラムのデバッグは、
プログラムがソースレベルで一応完成したとしても、実
際の電気回路基板が周辺のLSIも含めて全て完成して
いなければ、MPUの各端子にどのような信号が供給さ
れるのか、或いは、MPUの各端子からの信号はどのよ
うにして外部に出力されるのかを知ることができない。
また、複数のモジュールから構成される装置においては
、モジュール単体ではデバッグを行うことができず、他
のモジュールからの通信データを必要とする。
したがって、全てのモジュールの電気回路基板が完成す
るまでは、総合的なデバッグ作業を開始することができ
ない。また、デバッグ用の電気回路基板を作るにしても
、回路の設計変更があったような場合、その都度、電気
回路基板を作製する必要があり、多大の手間と費用が掛
かる。
このため、テスト期間の制約等から完全なデバッグが行
われる前に、次の実機デバッグ工程に送られる。この実
機デバッグでは、ターゲットMPUが実際の電気回路或
いは機構部分と組み合わされてソフトウェアの検査が行
われるが、この段階で多数のバグが発見されるという問
題が生じる。
しかし、実機デバッグ段階で発見されるトラブルは原因
追及及び対策に非常に手間がかかり、このためシステム
全体としての開発効率が著しく低下する。
また、従来のツールでは、デバッグの対象とすることが
できるMPUは1種類のみであり、MPUの種類が変わ
った場合は別のインサーキットエミュレータに変えなけ
ればならなかった。
上記従来のソフトウェア開発の事情に鑑みて開発された
本シミュレータは、次の特長を有するものである。
■ターゲットプログラムが走行するハードウェア環境を
MPU、周辺LSIを含めて完全にソフトウェア的にシ
ミュレーションすることができる。
■異常系を含めたあらゆるテストモードのタイミングデ
ータか作成でき、広範囲なテストが可能である。
■マルチプロセッサシステムの環境下でのテストができ
る。
■マルチウィンドウ、マウスなどによる高度なユーザイ
ンタフェースを提供する。
■ターゲットプログラム製造システムにイーサネットを
介して結合することにより、製造からデバッグまで完全
なオンライン開発環境を提供する。
これらの特長を具有するため、本シミュレータは、次の
機能を備えている。
■MPU及び周辺り、SIなとのターゲットプログラム
をとりまくハード的な環境をソフト的に定義できる。
■センサ等の外部信号データの作成及びシミュレーショ
ンを実行する。
■他MPUとの通信データの生成及びシミュレーション
を実行する。
■MPUと周辺LSI回路のシミュレーションを実行す
る。
■ブレイクポイント、トレース、モニタリング等のデバ
ッグ環境を提供する。
上記機能を実現することにより、次の技術的効果が期待
される。
■シミュレーション用のデータを正確且つ容易に短時間
で作成することができる。
■ソフトウェア草体でデバッグすることができる。
■MPU周辺のLSIの回路動作をシミュレートするこ
とにより、実際の電気回路基板を作成することなく、M
PUの各端子における信号の状態が確認できる。
■ターゲットシステムが複数のモジュールで構成されて
いる場合、各モジュールのMPUに必要な通信データを
、電気回路基板および機構部分を使用することなくソフ
トウェア的にデータとして供給することにより、各モジ
ュール毎に独立にデバッグすることができる。
■機構部分に配置されたセンサなどの出力信号はシミュ
レーション時にダイレクト信号データに変換されて用い
られるが、このダイレクト信号データはセンサ類の正常
な動作状況を定義する外に、正常でない定義、すなわち
予めセンサ、ソレノイド、モータなどの異常を想定し、
このときのセンサの出力信号3基に定義することもでき
る。このような異常モードによるシミュレーションを実
行することにより、異常時の状況把握が事前に検証でき
、かつその対応策を立てることができる。
〔発明が解決しようとする課題〕
前述の本シミュレータの課題の中から、特に本発明では
、デバッガを備えたシミュレータに関する課題を解決す
るものである。
本発明の主目的は、ターゲットプログラムが走行するハ
ードウェア環境をMPU、周辺LSIをきめて完全にソ
フトウェア的にシミュレーションするためのシミュレー
タを提供することである。
また他の目的は、開発の対象となる記録袋!をソフトウ
ェア的にシミュレーションし、ターゲットプログラムの
デパックを実行するデバッガを提供することである。
更に他の目的は、シミュレーション実行時の状況把握お
よび情報定義の全ての操作をウィンドウ上で実行できる
ユーザインターフェースを備えたシミュレータを提供す
ることである。
〔課題を解決するための手段〕
上記の目的を達成するため、本発明はターゲットプログ
ラムを実行するMPU、周辺LSIを含むターゲットシ
ステムのハードウェア情報の定義、およびMPUの入力
端子への信号の変化状態を示すデータを生成するコンフ
ィグレーション部と、ターゲットシステムを構成する電
気的要素や機械的要素をエンジンとしてソフトウェア的
にシミュレーションするシミュレーションエンジン部と
、前記コンフィグレーション情報を基に、前記各エンジ
ンの起動時間の同期をとってシミュレーションを実行す
るシミュレーションエンジンコントローラとからサブシ
ステムを構成し、前記サブシステムの起動により変化す
る上記エンジン部のメモリ、I/Oメモリ、レジスタの
状態を更新し、かつブレイクまたはトレースの各設定条
件でセット動作を行うアクセス・サービス部を有し、少
なくとも前記設定条件を満足しているときに前記トレー
ス内容を出力するブレイクポイント機能およびターゲッ
トプログラムの実行過程、任意のデータ変化、設定条件
成立前後の上記ターゲットプログラムまたはMPUの状
態を出力するトレース機能を備えるデバッガとを具備す
るものである。
また、シミュレーションの実行制御、環境設定を操作す
るシミュレーションウィンドウおよびデパック機能の条
件設定、トレース内容を表示するデバッガ用ウィンドウ
を備えている。
ブレイクトレース機能を実現するために、デバッガはブ
レイクオたはトレース条件をテーブルに登録するセット
処理部と、セット処理時に呼び出され、デバッガ情報を
メモリ等管理テーブルに登録するブレイクトレース管理
の設定部と、シミュレーション実行時にアクセス・サー
ビス部が前記メモリ等管理テーブルにセットするブレイ
クトレースまたはブレイク条件成立情報を監視するブレ
イクトレース管理の監視部と、前記条件成立後に前記監
視部に呼び出され、前記テーブルに登録されたブレイク
またはトレース条件を判定し、該条件成立後にブレイク
またはトレースを実行するブレイクトレース実行処理部
とから構成されている。
〔作 用〕
セット処理部の起動により、ブレイクまたはトレース設
定ウィンドウで設定されたブレイクトレース情報がテー
ブルにセットされ、同時にブレイクトレース管理の設定
部が呼び出され、ブレイクまたはトレースポイントとし
てライトまたはリードのデバッグ情報がメモリ等管理テ
ーブルにセットされる。
その後、シミュレーションが実行されサブシステムが起
動すると、アクセス・サービス部のメモリアクセスモジ
ュールはメモリ、I/Oメモリ、レジスタにアクセスす
る際に、メモリ管理テーブルのアクセスアドレスにメモ
リ特殊コードがセットされていれば、メモリ等管理テー
ブルにブレイクトレース条件成立情報をセットする。ブ
レイクトレース管理の監視部は、メモリ等管理テーブル
を参照して上記情報のセットを監視する。ブレイクトレ
ース実行処理部は、監視部から呼び出される度にテーブ
ルを参照し、カウントを更新する。
即ち、シミュレーション実行の際に、アクセス・サービ
ス部を通してメモリ空間のデバッグ情報として設定され
たメモリアドレスに何回目のアクセスでブレイクまたは
トレースするかの判断を行っている。監視部は設定条件
が成立する度に、各実行処理部を起動し、テーブルのカ
ウンタのカウント値をダウンカウントし、そのカウント
が「0」になった時点でブレイクまたはトレースする。
〔実施例〕
以下、本発明の実施例を図面に基づいて説明する。なお
、本シミュレータを構成するハードウェアコンフィグレ
ーション機能については、先に同一人が出願した特願平
1−140716号(平成1年6月2日出願)、才なシ
ミュレーションエンジンを含むサブシステムについては
、特願平1−262908号(平成1年/O月11日出
願)に詳細に記述されているので、本出願は上記出願を
引用し、本願発明に関して上記出願に記載されている構
成要素の詳細な説明を省略する。
(1)シミュレータの構成 第2図は、本シミュレータのハードウェア構成の模式図
である。中央処理装置/Oは、本シミュレータの全体の
制御およびデータ処理を行うもので、この中央処理装f
loにはメインメモリ11、内部バス12を介して各種
データおよび指示を入力するキーボード13、処理結果
などを表示するためのデイスプレィ14、およびプログ
ラムやデータを格納するディスク装置15が接続されて
いる。
ディスク装置15には、シミュレーション実行時の総て
の処理に関して、その実行中に必要なプログラム本体、
データなどのソフトウェア資源がファイルとして格納さ
れており、プログラムの実行、に際しては、このディス
ク装置15内のプログラムおよびデータをメインメモリ
11にロードし、中央処理装!/Oはこれらのソフトウ
ェア資源を使って必要な処理を実行する。
次に、本シミュレータのソフトウェア構成を実現するた
めのlfi能実現手段を第1図に基づいて説明する。
本シミュレータは、プロダクト名とモジュール名の指定
およびウィンドウの表示を制御すると共に、各セツショ
ンプロセスの起動を実行するシミュレータ管理部200
と、ターゲットシステムの各種のハードウェア的な条件
を設定すると共に、シミュレーションに必要な各種デー
タを生成するコンフィグレーション部300と、 LS
I回路、MP[I等のターゲットシステムのシミュレー
ションを実行するシミュレーション部400と、シミュ
レータの各種情報をグラフィックデイスプレィに表示す
る表示ウィンドウ部500とから構成されている。
コンフィグレーション部300は、MPUのクロック、
メモリ、端子等を設定するMPU情報設定部3/Oと、
各種のインタフェース用LSIのコントロール/データ
アドレスの定義や端子の接続関係の定義を行うLSI情
報設定部320と、ターゲットプログラムの実行やタイ
ミングデータのカウントなどに用いられ、シミュレーシ
ョン時の基準となるクロックを設定するマシンクロック
情報設定部330と、シミュレーション状況を画面上で
把握するため、模式的に描かれた記録部上にI/Oボー
トに対応するマークを配置するマシンレイアウト設定部
340と、設定された各種設定データ間の整合性をチエ
ツクすると共に、シミュレーション時に必要となる各種
データの作成を行うコンフィグレーション照合部350
と、ターゲットシステムの動作状態を示す情報、すなわ
ち機構部分のセンサ等の信号レベルを時系列に並べたタ
イミングデータを生成すると共に、この生成されたタイ
ミングデータ、または別途設けられたデータ作成ブロッ
クにより生成されたタイミングデータをシミュレータが
利用できるダイレクト信号データにフォーマット変換す
るタイミングデータ作成変換部360と、他のMPUと
の通信を行うための通信プロトコルの定義およびターゲ
ットシステムのある動作モードを仮定した場合の実際の
通信データの設定を行う通信データ生成部370とから
構成されている。
シミュレーション部400は、シミュレーション管理部
4/O、ウィンドウ管理部430エンジン部440、お
よびデバッガ450とから成り、コンフィグレーション
部により定義されたターゲットシステムのハードウェア
情報に基づいてシミュレーションエンジン(以下エンジ
ンと称す)を起動し、このエンジンにテストデータを供
給してターゲットプログラムのデバッグを実行する。
表示ウィンドウ部500は、コンフィグレーション部で
の定義情報設定やデータ生成を行う際に、各種データを
ビットマツプデイスプレィ上のウィンドウに表示する。
シミュレーションの管理には、ウィンドウの生成および
閉成やオープン中のウィンドウにおけるイベントの発生
時にそれぞれのウィンドウにおけるイベント処理実行へ
の分岐などを行う機能、エンジンを起動してシミュレー
ションの実行およびシミュレーション実行時におけるブ
レイク、トレースなどの各種のデバッガ機能の提供など
を行う機能をもっている。
シミュレーション管理部4/Oは、第3図に示すシミュ
レータウィンドウ5/Oのセツション“’Simula
tion”を指定し−”Go 5ession”選択す
ると、シミュレータ管理部200により呼び出されて起
動し、シミュレーション初期化部420、ウィンドウ管
理部 430、エンジン部440およびデバッガ450を制御
する。
第4図は、シミュレーション管理部の動作シーケンスを
示すもので、ウィンドウでのイベント処理の有無をみて
、イベント処理があれば各ウィンドウごとに実行し、こ
のイベント処理の終了後にエンジンによるシミュレーシ
ョンを実行し、次いでデバッガを起動してブレイク、ト
レースなどのデバッガ機能を実行する。シミュレーショ
ン実行時には、上記各処理を呼び出しながら図示矢印の
如くループする。
ウィンドウ管理部430は、各種のシミュレーションや
イベントに関するウィンドウを管理する。
エンジン部440は、システム時間および状態変化によ
りクロックエンジン、MPU命令エンジン、ダイレクト
信号エンジン、通信データエンジン、MPUボートエン
ジン、LSI回路エンジンを起動してシミュレーション
を実行する。
デバッガ450は、シミ準し−ション内のブレイク、ト
レースなどの機能や、モニタリング、ファイル表示、修
正機能を提供する。
(n)ウィンドウ 第5図は、シミュレータウィンドウの中のセツション゛
’Simulation”を指定し “GO5essi
onを選択すると開かれるシミュレーションウィンドウ
である。なお、ウィンドウの初期画面は、モニタリング
ウィンドウにマシンレイアウトが表示されていない状態
である。このウィンドウでは、次の実行を操作すること
ができる。
■シミュレーションの実行制御 ■シミュレーションの環境(モード)を各種設定■ター
ゲットプログラムの各種選択 ■レイアウト図の各種選択 ■レジスタ、メモリ等の表示及び設定 ■シミュレーション実行中における信号変化のモニタリ
ング、ブレイク、トレース、およびマニュアルで通信デ
ータおよび信号データの入力シミュレーションウィンド
ウ600は、エラーメツセージの表示およびシステム関
係のメツセージを表示するメツセージ表示部601.シ
ミュレーションの実行制御に必要なコマンドが設けられ
たコマンド領域602、およびシミュレーション情報が
設けられたインフォメーション領域604とから構成さ
れている。なお、シミュレーションは、モードコマンド
6022の選択で実行される。
(a)シミュレーションモード 通信データ、タイミングデータ等の外部環境と同期して
ターゲットプログラムのシミュレーションを実行する。
このモードでは、通信データやタイミングデータなどの
テストデータを連続的に供給して実行するオートモード
、テストデータを同じタイムラベルごと、すなわちデー
タのキューイング上のステップで順次供給して実行する
ステップモード、テストデータをマニュアル設定により
供給して実行するマニュアルモードが選択できる。
オートモードは、テストデータを連続的に供給しながら
ターゲットプログラムを走らせるので、該プログラムの
自動デバッグに有効である。
ステップモードは、同じタイムラベルにあるテストデー
タを供給しである操作段階でのターゲットプログラムを
チエツクする0例えば、ある操作段階として、紙が何時
何分にある位置を通過すると仮定した場合。その時点で
動作すべきハードウェアの状態、例えばモータの駆動を
確かめるセンサ出力の有無をチエツクする。
マニュアルモードは、テストデータを任意に設定できる
ので、システムの異常系を再現することができる。
(b)プログラムモード ターゲットプログラムのみを対象としたシミュレーショ
ンを実行する。
このモードでは、テストデータを使用することなくター
ゲットプログラムを走行させてモニタの働きをチエツク
する。実際にはテストデータを必要とする箇所でテスト
データに変わるものとしてCPUのメモリやレジスタに
値を設定し、プログラムを走らせて行う。
その他、プログラムモードでは、各ステップやサブルー
チンの実行時間のチエツクを行うことができる。
そして、シミュレーションの実行制御は、スタート(S
TART) 、ステップ(STEP)、ストップ(ST
OP)およびリセット(RESET)からなるコマンド
群6021により行われる。
” S T A RT ”は、シミュレーションモード
において、通信データおよびタイミングデータを含めた
シミュレーションを実行し、一方プログラムモードにお
いて、ターゲットプログラムのみのシミュレーションを
実行する。
“S T E P ”は、ターゲットプログラムのシミ
ュレーションの実行を1ステツプ毎に実行させる。
ここで、1ステツプに関して、シミュレーションモード
では、タイミングデータ中の同時刻に変化する信号デー
タのブロックのことであり、プログラムモードでは、タ
ーゲットプログラムの1命令のことである。
” S T OP ”は、シミュレーションの実行を停
止させる。
” RE S E T ”は、シミュレーションの環境
を初期状態にする。
(I[I)エンジン エンジン部全体は、第6図に示すように、シミュレーシ
ョン管理部4/Oにより呼び出され、各エンジンの時開
の同期をとりながらシミュレーションの実行を管理する
シミュレーションエンジンコントローラ441(以下エ
ンジンコントローラと称す)、エンジンを初期化するエ
ンジン初期化部420、エンジンコントローラ441に
より起動される各エンジン442〜447とから構成さ
れている。
エンジン部440は、主にタイマー/カウンターのクロ
ック端子に入力される定周期パルスを発生するクロック
信号のシミュレーションを行うクロックエンジン442
、ターゲットプログラムの命令を実行するMPU命令エ
ンジン443、LSI回路と外部との間で、入出力され
るダイレット信号のシミュレーションを実行するダイレ
クト信号エンジン444、通信データのシミュレーショ
ンを実行する通信データエンジン445、MPU内蔵ボ
ートのシミュレーションを実行するMPUボートエンジ
ン446、および周辺LSI回路のシミュレーションを
実行するLSI回路エンジン447を備えている。
次に、各エンジン間で使用されるリスト、バッファ、テ
ーブルなどのデータを中心に第7図を参照しながら説明
する。
LSI宛ダイレクト信号状変りスト444^は、状態の
変化したダイレクト信号をLSI回路エンジン447へ
知らせるためのデータである。
ダイレクト信号エンジン宛ダイレクト信号状変りスト4
47^は、状態の変化したダイレクト信号をダイレクト
信号エンジン444へ知らせるためのデータである。
ダイレクト信号ステートバッファ444Bは、ダイレク
ト信号の状態、すなわち、ハイレベルであるかローレベ
ルであるかを記憶する。
LSI宛MPU端子状変りスト446^は、状態の変化
したMPU端子をLSI回路エンジン447へ知らせる
ためのデータである。
MPU宛MPU端子状変りスト447Dは、状態の変化
したMPU端子をMPUボートエンジン446へ知らせ
るためデータである。
MPU端子ステートバッファ446Bは、MPU端子の
状態、すなわち、ハイレベルであるかローレベルである
かを記憶する。
LSI宛クワクロック端子状変ト442^は、カウント
数の変化したリアルバリュークロック信号をLSI回路
エンジン447へ知らせるめのデータであ。
MPU宛クワクロック端子状変リスト442Fカウント
数の変化したリアルバリュークロック信号をMPUボー
トエンジン446へ知らせるためのデータである。
クロックカウントステートバッファ442Bは、ユーザ
の定義したリアルバリュークロック信号のシステムスタ
ート時間からのトータルカウント値を記憶する。
MPU用クロックカウントステートバッファ442Dは
、MPUボートエンジン446が使用しているリアルバ
リュークロック信号のシステムスタート時間からのトー
タルカウント値を記憶する。
クロック端子コンフィグテーブル442Cは、リアルバ
リュークロック信号のコンフィグレーション情報として
定義しであるリアルバリュークロック信号の個数、接続
端子情報、カウント値ロケーション情報をもっている。
MPU内蔵クロックコ・ンフィグテーブル442Eは、
MPU内蔵のリアルバリュークロック信号の個数、接続
端子情報、カウント値ロケーション、周波数等の情報を
持っている。
LSI発送発送−データリスト445^LSI回路エン
ジン447から通信データエンジン445へ送信するデ
ータを、通信データエンジンへ伝えるためのデータであ
る。このデータは、通信データエンジンがLSI回路エ
ンジンへ送信するデータを発生させる条件としても使用
される。
MPU発送発送−データリストMPUボートエンジン4
46から通信データエンジン445へ伝えるデータであ
LSI宛受信データリスト445Cは、通信データエン
ジン445からLSI回路エンジン447への受信デー
タをLSI回路データへ知らせるためのデータである。
MPU宛受信データリスト445Dは、通信データエン
ジン445からMPUボートエンジン446への受信デ
ータをMPUボートエンジンへ知らせるためのデータで
あ。
送信バッファ通信情報445Fは、通信LS1.MPU
通信ボートの送信ステータスや1バイトデータの通信デ
ータエンジンへの送信にかかる送信時間を、通信データ
エンジンに知らせるためのデータであり、各データ毎に
送信ステータス及び送信時間の情報を持っている。
ここで、送信ステータスは、通信LSI、通信ボートが
送信可能状態であるか否かを規定する。
受信バッファ通信情報445Gは、通信LSI、MPU
通信ボートの受信ステータスや1バイトデータを通信デ
ータエンジンから受信するのにかかる受信時間を、通信
データエンジンに知らせるためのデータである。
送信バッファコンフィグテーブル445Hは、送信バッ
ファのコンフィグレーション情報として、送信バッファ
の個数、送信バッファアドレス、送信バッファ形式1通
信LSIのコンフィグテーブルのロケーション等の情報
を持っている。
受信バッファコンフィグテーブル445Iハ、受P+バ
ッファのコンフィグレーション情報として、受信バッフ
ァの個数、受信バッファアドレス、受信バッファ形式1
通信LSIのコンフィグテーブルのロケーション等の情
報を持っている。
割込イベントリスト446Bは、割り込みがあったこと
をMPUボートエンジン446からMPU命令エンジン
443に伝えるためのデータである。
以下、エンジンの制褌について説明する。
各エンジンの同期制御について第8図を参照して説明す
る。
動作タイミングリクエストリスト441^は、能動的エ
ンジン、すなわち、起動中のエンジン自ら次の動作タイ
ミングをエンジンコントローラ441に通知するための
データが登録される。
起動リクエスト制御テーブル441Bは、他のエンジン
の動作環境、例えばLSIの端子レベルをハイまたはロ
ーのいずれかの状態に変化させたエンジンが、起動すべ
きエンジンの起動リクエストリストをデータ付きでコン
トローラに通知するためのテーブルが登録される。
リクエストデータは、LSI宛ダイレクト信号状変リス
ト、LSI宛MPU端子状変リスト、MPU宛MPU端
子状変リスト、LSI宛受信データリスト、MPU宛受
信データリスト、LSI宛クロック端子状変リスト、M
PU宛クワクロック端子状変リストイレクト信号エンジ
ン宛ダイレクト信号状変リスト、LSI宛送信データリ
スト。
MPU宛送信データリスト、および割込イベントリスト
である。
クロックエンジン442.MPU命令エンジン443゜
ダイレクト信号エンジン4441通信データエンジン4
45、MPUボートエンジン446及びLSI回路エン
ジン447の同期は、エンジンコントローラ441が管
理するシステム時間により行われる。このシステム時間
は、各エンジン間の同期をとるための基準時間となる。
エンジンコントローラ441の中に設けられた時間コン
トローラは、各エンジンに現在のシステム時間を知らせ
る。但し、各エンジンのうち、動作タイミングの来たエ
ンジンのみ起動するので、現在のシステム時間を知るこ
とができるのは起動したエンジンのみである。各エンジ
ンは、知らされた時間で後述するような所定の動作と行
う、この動作を麦に次の動作タイミングを動作タイミン
グリクエストリスト461^に書き込む。
各エンジンの起動順序について第9図を参照して説明す
る。
エンジンコントローラ441は、動作タイミングリクエ
ストリスト441^及び起動リクエスト制御テーブル4
41Bを参照し、図中、■〜■で示した順序で各エンジ
ンを順次起動する。
二のとき、クロック毎にクロックエンジン442を動作
させると、シミュレーション装置の負荷が重くなるので
、本実施例においては、クロックエンジンの他に、プリ
ステージクロックエンジン4420と呼ばれるエンジン
を設けている。このエンジン4420は、他のエンジン
の動作タイミングで、その一つ航のステージまでのクロ
ック素子、すなわち、クロックをカウントする働きを持
つLSI素子の処理を行う、但し、タロツク素子の出力
端子のレベルが変化するタイミングでは、他のエンジン
の動作に関係なくクロ1クエンジンが動作する。
なお、ステージとは、シミュレータがシミュレーション
を実行するのに必要な最小時間分解能時間帯である0例
えば、あるターゲットプログラムをシミュレーションす
る場合、1命令を実行するのにエンジンが必要とする動
作時間である。
各エンジンの動作を起動順に説明する。先ず、ブリステ
ージクロックエンジンが起動されると、内部カウンタの
更新処理等を行うLSIエンジンクロック処理部442
1.及びMPUボートエンジンの基準時間の算出及び設
定を行うMPUボートエンジンクロック処理部4422
が動作して、上述したように、LSI回路エンジン44
7及びMPUボトエンジン446において、実際の起動
タイミングより前に予めクロック処理を行う。たとえば
、LSIエンジンクロック処理部4421では、クロッ
クを使用するr8253 、等のLSIをシミュレート
する場合、内部カウンタの更新処理のみ行う。
MPU命令エンジン443が起動されると、MPUエン
ジンのI/O命令により呼び出され、アドレスに対応し
たLSIエンジンMPU  I/O処環部4470とM
PUボートエンジンI/O処理部4460を動作させる
各LSIには、データアドレスやコントロールアドレス
と呼ばれるメモリエリアがあり、このアドレスは、MP
Uのアドレス空間内に組み込まれ、MPUのI/O命令
により直接データの読み書きができるものがある。この
アドレス空間は、I/Oアドレスと呼ばれている。
MPU  I/O処理部4470は、上記アドレスにM
PUの命令によりデータの読み書きが行われたことに対
するLSI側の反応を処理する。
すなわち、LSIの端子レベルが変化した場合、このレ
ベルの変化をLSIリクエストリスト447Cに書込み
、そのLSIの端子に接続された他のLSIに変化を伝
える。
LSIリクエストリスト447Cは、LSI回路エンジ
ンのシミュレーション中に発生する端子レベルの変化を
各LSIエンジンへ知らせるためのものであり、回路レ
ベル別のリストが作成される。
一方、MPUボートエンジンI/O処理部4460では
、MPUボートへのI/O命令によりボート動作を実行
し、LSI宛MPU端子状変りスト446^を書き換え
る。
クロックエンジン442が起動されると、LSI宛クワ
クロック端子状変ト442^及びMPU宛クロック端子
状変リスト442Fを書き換え、その内容がLSI回路
エンジン及びMPUボートエンジンに伝えられる。
ダイレクト信号エンジン444が起動されると、LSI
宛ダイレクト信号状変りスト444^が書き換えられ、
その内容がLSI回路エンジンへ伝えられる。
通信データエンジン445が起動されると、LSI宛受
信データリスト445C及びMPU宛受信デタリスト4
45Dが書き換えられ、LSI回路エンジン及びMPU
ボートエンジンに伝えられる。
MPUボートエンジン446が起動されると、LSI宛
MPtJ端子状変りスト446^1割込イベントリスト
446B及びMPU発送発送−データリスト445Bき
換えられ、LSI回路エンジン、MPU命令エンジン及
び通信データエンジンにそれぞれ伝えられる。
LSI回路エンジン447が起動されると、送信データ
リスト445^、MPU宛MPU端子状変りスト447
D及びダイレクト信号エンジン宛ダイレクト信号状変り
スト447^が書き換えられ、通信データエンジン、M
PUボートエンジン及びダイレクト信号エンジンにそれ
ぞれ伝えられるに の後、再度MPUボートエンジンが起動され、最後にL
SI回路エンジンが起動される。
このような順序でエン、ジンを起動するのは、他のエン
ジンに影響を与えるエンジンを先に実行し、他のエンジ
ンの実行からの影響を受けるエンジンを後に実行するた
めである。
ところでMPUの端子とLSI回路の素子間でループが
作られる可能性があり(はとんど皆無に近いが)、それ
はLSI回路のコンフィグレーションでは見つけられな
い。そのためMPUボートエンジンとLSI回路エンジ
ン間で起動のループが考えられている。(第9図■■■
■参照)例えば、MPUのクロックをカウントしてLS
Iのクロック端子の状態を変化させる処理を想定した場
合、先ずMPUボートエンジンでクロックをカウントし
、このカウント値でLSIのクロック端子の状態変化を
制御する。そして、LSIエンジンは、上記カウント値
に基づいてクロック端子の状態を変化させた後、その結
果をMPUボートエンジンに知らせて割込イベントの実
行を要求する。
(1%’)シミュレータの作用 ウィンドウによりシミュレーションの実行に必要な操作
を完了した時点で“5TART”を選択すると、シミュ
レーション管理部によりエンジン初期化部が呼び出され
、各エンジンの初期化が実行され、エンジンコントロー
ラにより各エンジンが予め定められた順番で起動され、
シミュレーションが実行される。以下、シミュレーショ
ンモードを選択した場合を説明する。
エンジンコントローラは、先ず動作タイミングリストを
見てプリステージクロックエンジンを呼び出し、LSI
エンジンクロック処理部とMPボートエンジンクロック
処理部を起動してLSIの内部カウンタの更新処理やM
PUボートエンジンで使用する周波数のクロックカウン
トの算出および設定を行う。
次いで、MPU命令エンジンが呼び出され、LSIエン
ジンMPU  I/O処理部とMPUボートエンジンI
/O処理部が起動される。
LSIエンジンMPU  I/O処理部は、LSI回路
エンジンのシミュレーション中に発生する端子の変化を
各LSIエンジンに伝えるために、そのLSIの端子の
コンフィグレーション情報もっているコンフィグテーブ
ルのロケーション情報が回路レベルごとにLSIリクエ
ストリストとして作成される。
一方MPUボートエンジンI/O処理部は、MPUボー
トへのI/O命令で、ボート動作の実行を行う。
その結果に基づいて、上記I/O処理部は、状態の変化
したMPU端子をLSI回路エンジンへ知らせるための
LSI宛MPU端子状変リストを作成し、そのリスト内
容を起動リクエスト制御テーブルに登録する。その後の
LSI回路エンジンの起動において、状態の変化したM
PU端子は、LSI宛MPU端子状態リストを見て知る
ことができ、そのステート情報はMPU端子ステートバ
ッファからハイ又はローのいずれかの状態で知り、他の
エンジンからの情報との関連処理に利用される。
MPU命令エンジンのシステム時間が経過すると、エン
ジンコントローラは、動作タイミングリクエストリスト
と起動リクエスト制御テーブルを参照して現在のシステ
ム時間に最も近いシステム時間を持つエンジンに対して
そのシステム時間を設定する。例えば、上記システム時
間がクロックエンジンに設定されると、タロツクエンジ
ン起動し、クロック端子コンフィグテーブルおよびMP
U内蔵内蔵クロックコンフィーテーブル照してLSI回
路エンジンおよびMPUボートエンジンにカウント数の
変化のあったリアルバリュークロック信号を知らせるた
めのLSI宛クロック端子状態リストおよびMPU宛ク
ワクロック端子状変リスト成して上記エンジンに送ると
共に、そのリスト内容を起動リクエスト制御テーブルに
登録する。
そして状態の変化したリアルバリュークロック信号のカ
ウント値をクロックカウントステートバッファおよびM
PU用クロックカウントステートバッファに格納する。
前記同様に、エンジンコントローラによりダイレクト信
号エンジンが起動されると、状態変化のあったダイレク
ト信号をLSI回路エンジンに知らせるためのLSI宛
ダイレクト信号状変リストを作成してLSI回路エンジ
ンに送ると共に、そのリスト内容を起動リクエスト制御
テーブルに登録する。
ここで、複数のMPUモジュールにより構成されるマル
チシステムにおいては、各MPUモジュールで行われる
通信データのシミュレーションが行われる。
通信データエンジンが起動されると、受信または送−信
バッファ通信情報ファイルを見て通信先のデバイスが通
信可能状態にあるのかを確がめな後、送信および受信バ
ッファコンフィグテーブルを参照してLSI回路エンジ
ンおよびMPUボートエンジンに受信データがあること
、および受信データが格納されている受信データバッフ
ァを知らせるためのLSI宛受信データリストおよびM
PU宛受信データリストを作成して上記各エンジンに送
ると共に、1バイトの送信または受信時間からデータの
通信時間を算出する。この情報は、ユーザの要求によっ
て表示される。その後、リスト内容は起動リクエスト制
御テーブルに登録される。
ある通信データエンジンのシステム時間が経過してMP
Uボートエンジンが起動されると、クロック端子状変リ
ストを参照してクロック端子のリアルバリュークロック
信号のトータルカウント値をMPU用クロックカウント
ステートバッファがら取り入れ、このタロツク信号に基
づいて受信データリストおよびMPU宛端子状変リスト
を参照して状態変化のあったMPU端子をLSI回路エ
ンジンに知らせるためのLSI宛MPU端子状変リスト
を作成する共に、そのリスト内容を起動リクエスト制御
テーブルに登録する。
ここで、MPUボートの中で割込処理を行うボートに状
態の変化があれば、それに対応したイベントリストを割
込イベントリストに書き込む。
また通信データエンジンへ送信するデータがある場合、
送信可能情報と1バイトの送信時間を通信データエンジ
ンに知らせるための受信バッファ通信情報を作成すると
共に、送信先の送信バッファ。
送信時間、送信データ、送信情報を並べた送信データリ
ストを作成して、通信データエンジンに送ると共に、そ
のリスト内容を起動リクエスト制御テーブルに登録する
あるエンジンのシステム時間が経過してLSI回路エン
ジンが起動されると、LSI宛クコクロック端子状変リ
スト状態変化のあったクロック端子がどのLSIに接続
されているクロック端子であるのかをクロック端子コン
フィグテーブルを参照して特定し、そのクロック端子の
リアルバリュークロック信号のトータルカウント値をク
ロックカウントステートバッファから読み出し、このク
ロック信号に基づいて上記同様の受信バッファ通信情報
を作成すると共に、送信先の送信バッファ。
送信時間、送信データからなる送信情報を並べた送信デ
ータリストを作成して通信データエンジンに送る。そし
て、状態変化のあったMPU端子をMPUボートエンジ
ンに知らせるためのMPtJ宛MPU端子状変リストを
、また状態変化のあったダイレクト信号をダイレクト信
号エンジンに知らせるためのダイレクト信号エンジン宛
ダイレクト信号状変リストとを作成すると共に、それら
のリスト内容を起動リクエスト制御テーブルに登録する
(V)  デバッガ デバッガは、第1図に示すように、シミュレーション管
理部により管理され、シミュレーションの実行と同時に
ユーザに対してブレイクポイント機能、トレース機能、
メモリおよびレジスタ設定・表示機能、モニタリング機
能、セットアツプ機能を提供する0次に上記各機能につ
いて説明する。
(V−1)ブレイクポイント機能 ターゲットプログラムの走行を、ある条件が成立したと
きに止める機能である。
本機能は、プログラムが設定条件を通過するのかどうか
を確認したり、その条件成立時のメモリやレジスタの内
容をチエツクするのに使う。
第/O図は、各種ブレイクポイントの設定とその実行を
行うためのモジュール構成である。
ウィンドウ管理部430は、シミュレータ管理部200
が管理するシミュレーションウィンドウイベントハンド
ラ4300および該ウィンドウイベントハンドラにより
開かれた各種ウィンドウのイベントハンドラ431を管
理している。
ウィンドウ生成部43/Oは、シミュレーションウィン
ドウ600のデバッガコマンド6023から°’Bre
akpaint”を指定すると、シミュレーションウィ
ンドウイベントハンドラ4300により起動され、第1
1図に示すブレイクポイント設定ウィンドウが開かれる
ブレイクポイント設定ウィンドウ700は、設定、削除
などの操作を実行するコマンドが設けられたコマンド選
択部フ01、どの条件でブレイクするかを指定するパラ
メータが設けられたパラメータ表示部702と、設定さ
れたブレイク条件を表示するエントリポイント表示部7
03を備えている。
ウィンドウ描画部4311は、指定されたパラメータや
設定されたブレイクポイントをウィンドウ内に表示する
ための処理を行う。
セット処理部4312は、コマンド°’Set”を指定
することにより起動し、パラメータで指定されている内
容をブレイクポイントテーブルに登録する。
クリア処理部4313は、“C1ear”を指定するこ
とにより起動し、現在選択しているエントリポイントの
み削除する。
クリアオール処理部4314は、“C1ear^11゛
を指定することにより起動し、エントリポイント表示部
703に表示されている全てのブレイクポイントを削除
する。
上記セット処理、クリア処理、クリアオール処理が実行
されると、後述のアクセス・サービス部のブレイクトレ
ース管理の設定部が呼び出され、メモリ管理テーブルの
情報の更新が行われる。
ヒストリ処理部4315は、°゛旧st o r y 
”を指定することにより起動し、ブレイクポイントヒス
ドリフアイルの内容をポツプアップメニューで表示する
イグジット処理部4316は、”Exit”を指定する
ことにより起動し、ウィンドウ閉成部4317を動作さ
せてウィンドウ700を閉じる。
情報設定部4318は、ウィンドウから入力されるデー
タとして、メモリ・レジスタ情報、リード/ライト種別
、ヘックス(Hex)またはバイナリ−(Binary
)によるデータ形式、ブレイクカウントの設定処理を行
う。
上記各部の機能は、以下に説明する信号タイミングトレ
ース、クロックカウントトレース、ランニングトレース
、ホルトトレースのモジュール構成と基本的に共通する
ものなので、各トレースではその説明分省略する。また
タイミングデータトレース、ランタイムサンプリング、
メモリダンプのモジュール構成の一部が基本的に同一機
能をもって構成されているので、その説明も省略する。
ブレイクポイント機能は、インタフェースデータとして
メモリ、I/Oメモリ、レジスタ管理テーブル430^
(以下メモリ等管理テーブルと称す)、および内部デー
タとしてブレイクポイントテーブル431^、ブレイク
ポイントヒスドリフアイル431Bからなるデータ構成
により実行される。
以下、データ処理について説明する。
デバッガは、レジスタやメモリを一括管理しており、各
種機能を満たすために、レジスタ、メモリ、■/Oメモ
リの実際のデータが格納されているテーブル以外に、そ
れぞれの管理テーブルを持っている。
(a)レジスタ管理 レジスタテーブル、レジスタ関係テーブル、およびレジ
スタ管理テーブルによって行なわれる。
レジスタテーブルは、実際のMPUのレジスタと同一サ
イズのテーブルで同じ働きをする。
レジスタ関係テーブルは、全てのレジスタにっいてレジ
スタベアなどの関iを定義しており、そのテーブル構造
の一例を第12図(a)に示す。
尚、第1表は、M P U 78/O/7811のHL
レジスタのレジスタ関係テーブルの設定例である。
第1表 レジスタ管理テーブルは、ブレイクポイントやトレース
ポイントの設定状況などの情報を持っており、そのテー
ブル構成の一例を第12図(b)に示す。
レジスタトータルフラグは、ブレイクトレース管理が効
率よくブレイクトレース処理を行えるように設けられた
フラグで、ブレイクポイント/トレースポイントが設定
されているレジスタへのアクセスがなかった場合は「0
」、またアクセスがあった場合には「0」以外がセット
される。
デバッグ情報は、ブレイクポイントの設定状態を表すデ
ータがセットされる。
レジスタ関係テーブルポイントは、レジスタアクセス・
モジュールがレジスタへアクセスしたときに、そのレジ
スタに関係するレジスタについて、デバッグ情報がセッ
トされているかどうかを見るために使用する。
フラグは、レジスタにブレイクポイント/トレースポイ
ントが設定されていないか、もしくは設定されていても
、上記ポイントへのアクセスがなかった場合は「0」、
またレジスタにブレイクポイント/トレースポイントが
設定されており、かつレジスタへのアクセスがあった場
合には「0」以外がセットされる。
(b)メモリ管理 メモリテーブルおよびメモリ管理テーブルによって行な
われる。
メモリテーブルは、MPUの空間であり、ターゲットプ
ログラムも本テーブルにロードされる。
メモリ管理テーブルは、ブレイクポイントやトレースポ
イントの設定状況などの情報を持っている。ブレイクポ
イントやトレースポイントが設定されると、該当アドレ
スのメモリには、後述のメモリ特殊コードがセットされ
、実際のデータは本テーブル内にセットされる。
なお、本テーブルは、ブレイクポイントトレースポイン
トが設定されたメモリアドレスについてのみ作成される
第13図はメモリ管理テーブルの構成の一例である。
メモリトータルフラグは、前述のレジスタトータルフラ
グと同じ主旨で設けられたもので、ブレイクポイント/
トレースポイントが設定されているメモリアドレスへの
アクセスがなかった場合は「0」、またアクセスがあっ
た場合には「0」以外がセットされる。
デバッグ情報は、トレースポイントの設定状態を表すデ
ータが設定される。
アドレスは、デバッグ情報がセットされたメモリアドレ
スである。
データは、メモリテーブル上にあった実データである。
次に、トレースポイント設定時のメモリテーブルとメモ
リ管理テーブルに登録されるデータについて第14図を
参照しながら説明する。
トレースポイント設定前のメモリテーブルには、アドレ
スに実データが登録されており、ここであるアドレスの
実データにトレースポイントが設定されると、この実デ
ータに代ってメモリ特殊コードが設定される。このとき
の実データは、メモリ管理テーブルにアドレスと共に登
録される。第14図は、アドレスr 0002 、の実
データ「f7」にトレースポイントが設定されたときの
各テーブルの設定例であり、メモリテーブルにはアドレ
ス「0002」にメモリ特殊コードrxxJがセットさ
れ、同時にメモリ管理テーブルにはアドレスr 0O0
2Jおよびデータ「f7」がセットされる。
メモリ特殊コードとは、メモリアドレスに、ブレイクポ
イントやトレースポイントなどの設定がなされたとき、
メモリテーブル内にある実データに代わりセットされる
データである。
メモリアクセス・モジュールはメモリ(テーブル)への
アクセス時、アクセスするアドレスのデータがメモリ特
殊コードであるかどうかを調べ、メモリ特殊コードであ
れば、メモリ管理テーブルの方のデータに対して、リー
ド/ライトします6もちろん、メモリ管理テーブルに登
録されていなければ、メモリ特殊コードとみなさず、メ
モリテーブルのデータが実データとして、リード/ライ
トされる。なお、メモリ特殊コードはレジスタにおいて
も、あるいはブレイクポイント設定においても同様に使
用される。
ブレイクポイントテーブル431^は、ブレイクポイン
トの設定状況の詳細を格納しており、ぞのテーブル構造
の一例を第15図に示す。
ここで、カウンタは、初期値(=カウント)でブレイク
条件成立の度にダウンカウントし、「0」でブレイクす
る。
マスクは、フォーマットがバイナリ−のとき、r□、、
rl、のいずれでもサポートするためのマスクデータで
ある。
例えば、(0××1××××)のとき、データは(00
01oooo >とセットされ、マスクデータは(/O
0/O000)となる、シミュレーション実行時のアク
セスデータが(0111/O00)のとき、ブレイクポ
イント判定部はマスクデータにおいて「1」が立ってい
るビットについてのみチエツクし、ブレイク条件が満た
されているか否かの判定を行う。このケースにおいて、
マスクデータとアクセスデータの中で共に[IJが立っ
ているのは4番目のビットであるから、このチエツクに
より作られるデータ(000/O000)が比較対象で
あるブレイクポイントテーブルのデータ(000/O0
00)に一致しているので、ブレイク条件が成立してい
ると判定される。
ブレイクポイントヒスドリフアイルは、上記ブレイクポ
イントテーブルをディスクファイルとして格納する。
ブレイクトレース管理は、第16図に示すように、各セ
ット処理部4312.4332によって呼び出される設
定部4320およびサブシステムの起動中にトレース条
件成立ごとにシミュレーション管理部4/Oによって呼
び出される監視部4321とから構成されている。
このブレイクトレース管理の機能は、メモリ、レジスタ
へのブレイクポイントやトレースポイントの設定、削除
を行うと共に、シミュレーション実行?麦、メモリ等管
理テーブル430^を参照し、ブレイクトレースポイン
トへのアクセスがあると、トレース判定部4319. 
トレース実行部、各ブレイクトレース実行モジュールを
呼び出す。
設定部4320は、メモリ等管理テーブルへ、ブレイク
、各種トレース等のトレースポイントを第14図に示す
メモリ特殊コードを用いたデバッグ情報として設定削除
する共通サブルーチン群である。
監視部4321は、メモリ等管理テーブルのトータルフ
ラグを参照し、ブレイク、各種トレース等の実行モジュ
ールを呼び出す。
ところで、デバッガはMPUのもつメモリやレジスタな
どについて、ブレイクポイントやトレースポイントの設
定などの各種情報をもっており、当然メモリやレジスタ
へのアクセスを行う、一方、MPU命令エンジンも、イ
ンストラクション実行の際に、メモリやレジスタへのア
クセスを行う。
アクセス・サービス部4324は、複数のサブシステム
からアクセスされるメモリやレジスタの管理を、デバッ
ガが独占的に行うために設けられたものである。このよ
うな構成を採ることにより、メモリやレジスタへのアク
セスを共通化でき、更にMPU命令エンジンが命令実行
時にアクセスした後、デバッガがブレイクポイントやト
レースの判定のために再度アクセスするという非効率な
事態を避けることができる。
なお、MPU命令エンジンが、メモリ、■/Oメモリや
レジスタへアクセスするとき、直接アクセスせずに、デ
バッガのアクセスサービス部が利用される。
デバッガは、メモリ、I/Oメモリ、レジスタについて
、実際のハードウェアのイメージ(たとえば、MPU7
8/Oのメモリの場合、64にのメモリ空間をもってお
り、それとは別にブレイクやトレースなどの管理情報が
格納された管理テーブルを持っている。
これらのテーブルを、デバッガが一括管理するため、管
理が容易になり、サブシステム間で影響しあうようなこ
とがなくなる。
次に、ブレイクポイント機能の作用を第17図。
第18図に基づいて説明する。
第17図は、ブレイクポイント機能を実行する際のモジ
ュール間データ関連図である。
ブレイクポイント設定ウィンドウでセット、クリア、ク
リアオールをクリックすると各処理部が起動し、各処理
が実行され、同時にブレイクトレース管理の設定部が起
動して上記処理結果をメモリ等管理テーブルにデバッグ
情報としてセットする。一方、情報設定部は、セット処
理、クリア処理およびクリアオール処理に基づいてブレ
イクポイントテーブルを更新する。
また、セット処理によってブレイクポイントをブレイク
ポイントヒスドリフアイルに格納されるので、このヒス
トリ情報は、ブレイクポイント設定ウィンドウで“旧5
tory”を指定することによりヒストリ処理部が起動
して読み出され、ブレイクポイントテーブルにセットさ
れる。
その後、“Exit”“を指定すると、ウィンドウ閉成
部が起動し、ブレイクポイント設定ウィンドウが閉じら
れる0次いでシミュレーションウィンドウで’5TAR
T”を指定すると、ターゲットプログラムに基づいて各
エンジンが起動してシミュレーションが実行される。各
エンジンの起動によってMPU、LSIの各端子の状態
変化はアクセス・サービス部を通じてメモリ管理テーブ
ルによって管理されているメモリやレジスタに格納され
る。
ここで、デバッグ情報とはメモリ、レジスタの各管理テ
ーブル内に設けたデバッガのブレイク/トレースのため
の情報で、ブレイクポイントやトレースポイントがセッ
トされているか否かを表すデータがセットされる。また
各bitが′1′°のとき、第2表に示すセットがなさ
れているという意味を持っている。
(以下余白) 第2表 次に一ブレイクトレース機能の作用を詳しく説明する。
第18図はMPUのメモリ空間へブレイクする場合の動
作シーケンスを示す。
セット処理部の起動により、ブレイク設定ウィンドウで
設定されたブレイク情報がブレイクポイントテーブルに
セットされ、同時にブレイクトレース管理の共通サブル
ーチンである設定部が呼び出され、第14図に示すよう
に、ブレイクポイントとしてライトまたはリードのデバ
ッグ情報がメモリ管理テーブルにセットされる。
その後、シミュレーションが実行されると、アクセス・
サービス部のメモリアクセスモジュールはMPU命令エ
ンジンが命令実行時にメモリテーブルへアクセスし、ア
クセスするアドレスにメモリ特殊コードがセットされて
いれば、メモリ管理テーブルにフラグとしてr□、以外
の数字をセットする。
上記フラグのセットは、例えばライトアクセス時 フラグニブバッグ情報&0X5555 リードアクセス時 フラグ−デバッグ情報&0XAAAA ここに、&は論理積、0×は16進数を示す。
ブレイクトレース管理の監視部は、メモリ管理テーブル
を参照してフラグのセット状態を監視する。例えば、デ
バッグ情報がr0203J(16進4桁)のとき、即ち
ブレイクポイントがリード/ライトに設定される場合、
リードアクセスがあれば、フラグはrOXO202]と
なり、ブレイク判定部が呼び出される。
ブレイク判定部は、ブレイクトレース管理の監視部から
呼び出される度にブレイクポイントテーブルを参照し、
カウントを更新する。即ち、シミュレーション実行の際
に、アクセス・サービス部を通してメモリ空間のデバッ
グ情報として設定されたメモリアドレスに何回目のアク
セスでブレイクするかの判断を行っている。
言い換えれば、監視部はブレイク条件が成立する度に、
ブレイク判定部を起動し、ブレイクポイントテーブルの
カウンタのカウント値をダウンカウントし、そのカウン
トが「0」になった時点でブレイクする。
(V−2>)−レース機能 各種トレースポイント設定とその実行を行う。
トレース機能には、ターゲットプログラム中の任意のデ
ータ変化をタイミングチャートで表示する信号タイミン
グトレース、入出力データや通信データの送受信をトレ
ースするタイミングデータトレース、入力信号の変化を
立ち下がり、または立ち上がりでカウントしたカウント
数を表示するクロック/カウンタトレース、任意のアド
レスやレジスタの変化をトレースするランニングトレー
ス条件成立前後のターゲットプログラムやMPUの状態
を表示するホルトトレース、およびターゲットプログラ
ム動作中の処理時間を測定、表示するランタイムサンプ
リングがある。
トレース機能は、シミュレーションウィンドウで“’T
race”を指定することにより、シミュレーションウ
ィンドウイベントハンドラに呼び出され、トレースウィ
ンドウポツプアップメニュー(第19図参照)を表示す
るウィンドウ生成部およびトレースウィンドウポツプア
ップメニューから選択されるトレースのウィンドウを開
く各トレースウィンドウ生成部を呼び出すイベントハン
ドラとから構成されている。
各種トレースの基本シーケンスは各トレースウィンドウ
の設定内容を各トレースポイントテーブルヘセットする
ことの他、前述のブレイクボイント機能と基本的に同じ
なので、ここではその説明を省略する。
なお、各種トレース機能を実現するためのモジュール構
成は、前述のブレイクポイント機能のモジュール構成中
、例えばウィンドウ生成や描画、セット処理、クリア処
理、イグジット処理などが基本的に同一機能を備えてい
るので、ここでは説明の重複を避けるために各トレース
のモジュール構成図を省略して、モジュール間データ関
連図を用いて構成1作用を併せて説明する。
(a>信号タイミングトレース 第20図は、信号タイミングトレースのモジュール間デ
ータ関連図である。信号タイミングトレースは、信号タ
イミングトレース設定ウィンドウ7/Oで設定された内
容を信号タイミングトレースポイントテーブル433^
、メモリ等管理テーブル430Bに登録し、シミュレー
ション実行時にブレイクトレース管理の監視部4322
がメモリ等管理テーブル430Bを参照し、アクセス・
サービス部4324によってセットされたフラグ、すな
わちサブシステムで信号トレースポイントに関してメモ
リ等にアクセスがあれば、信号タイミングトレース実行
部4339を起動するように構成されている。
信号タイミングトレース実行部4339は、信号タイミ
ングトレースポイントテーブル433^のトレース条件
の判定を行った後、トレースの内容をタイミングデータ
トレースデータファイル433Cに書き込んでデイスプ
レィ表示部714に表示する。
信号タイミングトレース設定ウィンドウ7/Oは、第2
1図に示すようにパラメータ表示部712でトレース条
件として(Memory Address、I/O^d
oressRegisterlの中からメモリ、I/O
メモリ、レジスタのいずれかを指定し、そのメモリアド
レスおよびレジスタ名を入力すると共に、メモリアドレ
スまたはレジスタ名に書き込まれるデータのハイデータ
およびローデータを定義する。
次いで、データフォーマットをバイトJたはヒ゛ットで
指定した後、コマンド表示部711の“Set”をクリ
ックすると、セット処理部4332 、情報設定部43
38が起動して設定した内容が信号タイミングトレース
ポイントテーブルに登録されると同時にエントリポイン
ト表示部713に表示される。エントリポイントは、最
大5個のトレースポイントを設定することができる。図
示の例では、1行目に0IFAアドレスの1バイト、2
行目にFOOOアドレスのビット2の2つがエントリさ
れている。
その後、シミュレーションが実行されると、信号タイミ
ングトレース実行部4339が起動し、トレースポイン
トの条件成立後に、トレース内容を信号タイミングトレ
ースデータファイル433Cに格納すると共に、エント
リポイントのタイミングチャートがデイスプレィ表示部
714に表示されている。
デイスプレィ表示部714は、タイミングチャートをど
の範囲で表示するかのレンジ指定と、表示を一時的にホ
ールドするボーズW1能が設けられている。図には、/
O0m5の範囲で表示されている例が出ている。またこ
のウィンドウにおけるオペレーションの1歴は信号タイ
ミングトレースログファイル433Dに格納される。
信号タイミングトレースポイントテーブル433^は、
トレースの対象がメモリ、I/Oメモリ レジスタなの
かを指定し、どのアドレスあるいはレジスタNoをトレ
ースするのがを定めて、そのデータ条件をハイデータお
よびローデータによって定義する。
第22図は信号タイミングトレースポイントテーブルの
テーブル構造の一例である。
(b)タイミングデータトレース 第23図は、タイミングデータトレースのモジュール間
データ関連図である。
タイミングデータトレースは、タイミングデータトレー
ス設定ウィンドウで、コマンド“”5tart”をクリ
ックすると、スタート処理部4342が起動し、通信デ
ータエンジンおよびダイレクト信号エンジンによりタイ
ミングデータトレース実行部4349が呼び出され、シ
ミュレーション実行時に上記各エンジンが入出力するタ
イミングデータやマニュアルデータをトレースし、タイ
ミングデータトレースログファイル434^に書き込む
と同時に、トレース内容をデイスプレィ上に表示する。
タイミングデータトレース設定ウィンドウ720は、第
24図に示すように、トレースの開始、終了を実行する
コマンド“’5tart”“5top”等を備え、デイ
スプレィ表示部721にはトレース内容が表示される。
第24図の表示例では、入力信号として、ゲートセンサ
のON信号がシミュレーション開始がら/O0++s?
麦(M / CでlOカウント目)に入力され、また受
信データとしてr00113421.が、同じ< 20
0+5(M/Cで/O0カウント目に受信されたことを
示している。
(C)クロック/カウンタトレース 第25図は、クロック/カウンタトレースのモジュール
間データ関連図である。
クロック/カウンタトレースは、クロック/カウンタト
レース設定ウィンドウ730で設定された内容をクロッ
クカウンタトレースポイントテーブル435^に登録し
、このテーブルをクロックカウンタトレース実行部43
59が参照し、設定された信号名の設定されたタイミン
グ(立ち上がりか立ち下がり)をカウントし、その結果
を表示する。
クロックカウンタトレース設定ウィンドウ730は第2
6図に示すように、パラメータ表示部731でトレース
条件として信号名“Signal Na■e”とカウン
トのタイミングをハイエツジ“旧gh Edge”また
はローエツジ“Low Edge”とするかを指定して
、”Set”をクリックすると、セット処理部4351
.情報設定部4352が起動して上記トレース条件をク
ロックカウンタトレースポイントテーブル435^に登
録すると同時に、エントリポイント表示部732に設定
内容(トレースポイント)を表示する。
第26図の表示例では、エントリポイントとしてマシン
クロックのハイエツジが設定され、そのカウント値が1
20カウントであることを示している。
クロックカウンタトレースポイントテーブル435^は
、シグナルID、信号名、カウント条件、カウント値で
構成されており、信号ごとにハイがらローへの変化(ハ
イエツジ)、またはローがらハイへの変化(ローエツジ
)をカウント条件とじて設定される。
第27図はクロックカウントトレースポイントテーブル
のテーブル構造の一例である。
(d)ランニングトレース 第28図は、ランニングトレースのモジュール間データ
関連図である。
ランニングトレースは、ランニングトレース設定ウィン
ドウ740で指示された内容をランニングトレーステー
ブル、メモリ等管理テーブル430Cに登録し、ターゲ
ットプログラムの走行時に前述の信号タイミングトレー
2と同様にトレース条件が満足したときにランニングト
レース実行部4369が起動し、パラメータで指定され
たメモリのアドレスまたはレジスタに格納されるデータ
の変化をランニングトレースログファイル436Cに書
き込むと共に、デイスプレィ表示部に表示する。
ランニングトレース設定ウィンドウ740は、第29図
に示すように、パラメータ表示部741でトレース条件
として種別をメモリ、I/Oメモリ。
レジスタから指定し、そのメモリアドレスやレジスタ名
を入力し指定されたメモリアドレスまたはレジスタ名の
データをデイスプレィ上にどのデータ形式で“Hex、
 Binary、口isassemle″で表示するか
のデイスプレィフォーマットやどのデータ表示形式“5
croll、 No 5croll”にするかのスクリ
ーンコントロールを指定した後、“Set”をクリック
すると、セット処理部4361 、情報設定部4362
が起動して上記トレース条件をランニングトレースポイ
ントテーブル436^、メモリ等管理テーブル430C
に登録すると同時に、エントリポイント表示部742に
設定内容を表示する。またシミュレーション実行時には
、前述のとおり、その白身の変化の過程がデイスプレィ
表示部743に表示される。
第29図の表示例では、メモリアドレス2300番地お
よびHレジスタの実行過程が示されており、例えばメモ
リアドレス2300ではHex形式のデータで(54)
→(50)→(00)に変化したことを示している。
第30図はランニングトレースポイントテーブルのテー
ブル構造の一例である。
(e)ホルトトレース 第31図は、ホルトトレースのモジュール間データ関連
図である。
ホルトトレースは、ホルトトレース設定ウィンドウで7
50、ホルトトレースポイントの種別および内容、リー
ド/ライト種別および内容、データ形式、トレースモー
ド、トレースカウント、複数のトレース条件を組み合わ
せるためのAND/OR条件の指定などの設定された内
容をホルトトレースポイントテーブル437^、メモリ
等管理テーブル430Dに登録し、シミュレーション実
行時にブレイクトレース管理の監視部4324がメモリ
等管理テーブルを参照してデバッグ情報にアクセスがあ
ればホルトトレース実行部4379を起動し、上記デバ
・ング情報を基にホルトトレースポイントテーブル43
7^に登録されたトレース条件の判定を行った後、トレ
ース条件が満足されていればトレースの内容をホルトト
レースログファイル437Cに格納すると共に、デイス
プレィ表示部753に表示する。
ホルトトレース設定ウィンドウ750は、第32図に示
すように、パラメータ表示部751でトレース条件とし
て種別をメモリ、I/Oメモリ、レジスタから指定し、
そのメモリアドレスやレジスタ名を入力する。そして、
データに関しては、リードまたはライトであるかを指定
し、そのデータ値を入力かつそのデータフォーマを指定
する。更に、トレースモードとして上記トレースポイン
トの後” Formarcl” 、前”Back”、前
94 ” Ce n t e r ”のいずれかを指定
する。
即ち、フォワードトレースは、トレース条件成立後のプ
ロセッサの状態をトレースバッファへ取り込み、バッフ
ァがフルになるとトレースを終了する。またセンタトレ
ースは、トレース条件が成立した位置が中点にくるよう
にトレースする。更にバックトレースはトレース条件成
立前のプロセッサの状態を上記同様にトレースする。
次いで、トレースカウントの指定では、トレース条件を
満たす回数を入力する。またオプションには、複数のト
レース条件の組み合わせを“′^nd。
Or′°を使って指定する。
アンド゛^nd”は、これによって統合されたトレース
条件の全てが満たされたときに、トレースモードに従い
トレースを開始または終了する。
オア“’Or”は、これによって統合されたトレース条
件のどれかが満たされたときに、トレースモードに従い
トレースを開始または終了する。
上記各パラメータの設定が終了した後、“’Set”を
クリックすると、セット処理部4371 、情報設定部
4372が起動して、上記トレース条件をホルトトレー
スポイントテーブル437^、およびデバッグ情報など
をブレイクトレース管理の設定部4320を通じてメモ
リ等管理テーブル430Dに登録すると同時に、エント
リポイント表示部752に設定内容を表示する。シミュ
レーション実行時には、設定されたトレースモードによ
りプロセッサの状態がデイスプレィ表示部753にトレ
ース表示される。
第32図の表示例では、■/Oアドレスのr 0FFC
」にある「53」がリードされるか、あるいはI/Oア
ドレスのro023.に「20Jがライトされると、ト
レースが開始されることを示している。こコテ、「53
」と「20」はHEXデータである。
デイスプレィ表示部には、この条件が成立した後のプロ
セッサの実行過程が出ている。
第33図は、ホルトトレースポイントテーブルのテーブ
ル構造の一例である。
(f)ランタイムサンプリング 第34図は、ランタイムサンプリングのモジュール間デ
ータ関連図である。
ランタイムサンプリングは、ターゲットプログラム動作
中の処理時間を測定表示するため、ランタイムサンプリ
ング設定ウィンドウ760で測定する処理の開始点”5
tart Trigger”と終了点”EndTrig
ger”をそれぞれアドレスやレジスタ名およびリード
/ライトのアクセス種別、そのデータおよびデータ形式
で設定する。この内容をランタイムサンプリングテーブ
ル438^、メモリ等管理テーブル430Eに登録し、
シミュレーション実行時に前述のホルトトレースと同様
にブレイクトレース管理の監視部4321がメモリ等管
理テーブル438^を参照し、トレース条件にアクセス
があればランタイムサンプリング実行部4389がラン
タイムサンプリングテーブルのトレース条件の判定を行
う。ランタイムサンプリング条件が成立していれば、指
定された区間の処理時間の計測値をランタイムログファ
イル438Cに格納すると共に、デイスプレィ表示部7
63に最大、最小および標準の各処理時間が表示される
ランタイムサンプリング設定ウィンドウ760は、第3
5図に示すように、測定したい処理時間の起点(5ta
rt TriFIger)、終点(End Trigg
er)となる対&(データ)を設定するためのパラメー
タが設けられている。各トリガのトレース条件としては
、前述の各トレースと同様にパラメータ表示部761で
種別データ形式などの設定、内容の入力を行った後、^
pply”をクリックすると、アプライ処理部4381
、情報設定部4382が起動して開始点および終了点の
設定内容をランタイムサンプリングテーブル438^、
メモリ等管理テーブル43Eに登録すると共に、エント
リポイント表示部762に開始点および終了点の各トレ
ースポイントが表示される。
シミュレーション実行時には、設定されたトレースポイ
ント間の処理時間が上述の3つの形態でデイスプレィ表
示部763に表示される。
第35図の表示例では、メモリアドレスの「0F/O」
にある「53」がリードされてからメモリアドレスのr
 0FFO、に「20」がライトされるまでの処理時間
を示している。ここでr53. 、  r20.はHE
Xデータである。デイスプレィ表示部には、処理時間が
最大122μs、最小/O5μsを要し、その間の標準
処理時間が120AZ sであることを示している。な
お、N−3はサンプリング数である。
第36図は、ランタイムサンプリングテーブルのテーブ
ル構造の一例である。
(V−3>メモリ・レジスタ設定表示機能本機能には、
メモリの内容を表示するメモリダンプ、ファイルの内容
を表示するショーファイル。
メモリ等の内容を表示修正するセットクリア、現在の設
定または指定されているシミュレーション情報を表示す
るシミュレーションステートがある。
第37図は、本機能を実現するためのモジュール構成で
ある0図において、シミュレーションウィンドウで’D
isplay / Modify”を指定すると、ウィ
ンドウ生成部4390が起動し、ウィンドウテーブル4
39Δにある上記各処理を第38図に示すボップアlブ
メニュー800により表示する。このボップア・ツブメ
ニューの項目を選択すると、ウィンドウ管理部430は
イベントハンドラ439を呼び出し、指定された項目に
関する処理を起動し、専用ウィンドウを開ける。
なお、各機能のモジュール構成については、ブレイクト
レース機能と基本的に同一であり、各ウィンドウに設け
られたコマンド機能、パラメータ設定によって起動する
実行処理部、および各処理部からの出力3各ウインドウ
のデイスプレィ表示部に表示するウィンドウ描画部を備
えている。ここでは、各機能のモジュール構成の説明を
省略し、各ウィンドウにおいて各機能を説明する6メモ
リダンプ機能は、第39図に示すメモリダンプ設定ウィ
ンドウ8/Oにおいて、パラメータ表示部811でスタ
ートアドレス゛’5tart Address″エンド
アドレス゛″End Address”および表示形式
゛Dispay Format”を設定した後、 ”D
ump”を指定すると、上記設定内容が処理され、デイ
スプレィ表示部812に表示される。
ショーファイル機能は、第40図に示すショーファイル
設定ウィンドウ820において、パラメータにより指定
された内容でファイルの内容を表示する。
セットクリア機能は、第41図に示すセットクリア設定
ウィンドウ830において=”Display”により
エントリフォーマットパラメータで指定されている形式
でレジスタやメモリの内容が表示され、また’Modi
fy”により前記同様にその内容が変更され、また“R
ead”により前記同様にレジスタ等がリードされ、ま
た“’Fill”によりパラメータで指定されている範
囲のメモ°りの内容が指定のデータに変更され、そして
“’Re5et”によりターゲットプログラムが再ロー
ドされる。上記各設定内容は、パラメータ表示部831
で設定される。
“Md1fy”Fill”Read″等により、メモリ
やしジスタの内容に変更を加える際には、その変更内容
をエントリエリア表示部832に入力する。デイスプレ
ィ表示部833には修正した結果や゛”Display
”コマンドに対する出力等が出る。
シミュレーションステート機能は、第42図に示すシミ
ュレーションステートウィンドウ840でCPU名、プ
ロダクト名、マシンレイアウト名、タイミングデータ名
やシミュレーション条件などの情報がデイスプレィ表示
部841に表示される。
(V−4)モニタリング機能 シミュレーションウィンドウ(第5図参照)のモニタリ
ングウィンドウ603に表示されるマシンレイアウト6
05図上で、各信号の変化状態をリアルタイムで表示す
る。
第43図は、本機能を実現するためのモジュール構成で
ある。ウィンドウ描画部4600は、信号データをモニ
タリングウィンドウに表示する。
ポツプアップメニュー生成部4602は、信号マーク6
07上を指定することにより信号レベルポツプアップメ
ニュー(第46図(b)参照)を生成する。信号マーク
の信号レベルは、マニュアル時に入力信号をレベル制御
する際に選択される。
信号データコントロール部4602は、ダイレクト信号
エンジン444の起動によりダイレクト信号の状態が変
化したとき、信号レイアウトテーブル461Δを参照し
て当該信号か登録されていれば、信号データテーブル4
61Bに格納されている信号のハイ/ロー情報を基に前
記情報に対する信号マークの表示を制御する。
第44図は、信号レイアウトテーブルの構成の一例であ
り、また第45図は信号データテーブルの構成の一例を
示す。
次に、モニタリング機能のウィンドウ操作について説明
する。
第46図は、信号テーブルに関係するウィンドウである
シミュレーションウィンドウ600で’Set UP”
を指定すると、セットアツプ項目としてマシンレイアウ
ト、ターゲットプログラム信号テーブルからなるセット
アツプのポツプアップメニュー620が表示される。こ
のメニューで″Signal Table”を指定する
と、信号テーブルポツプアップメニュー630か表示さ
れ、このメニューから選択された信号名が予め定義され
たマシンレイアウトと信号レイアウトに従ってマシンレ
イアウト上に表示される。ここで、マニュアルを選択し
ている場合には、各信号マークのレベルを信号レベルポ
ツプアップメニュー640で選択することができる。な
お、信号レベルの選択は、ダイレクト信号データの入力
信号のみである。
(V−5>セットアツプ機能 本機能は、マシンレイアウト、ターゲットプログラム、
信号テーブルをロードし、表示する。
シミュレーションウィンドウ600で°“Set up
”を指定することにより開かれるセットアツプメニュー
(第46図参照)で指定し、開かれた個別のメニューか
ら選択されたものがロードされ、表示される。
マシンレイアウトセットアツプ機能は、第47図に示す
モジュール構成を備え、マシンレイアウトセットアツプ
メニュー650(第48図(a)参照)からマシンレイ
アウトを指定すると、イベントハンドラ461はファイ
ルロード部46/Oを起動してマシンレイアウトファイ
ル460^と信号レイアウトファイル460Bをロード
し、マシンレイアウト上に信号を位置づける信号レイア
ウトデータを信号レイアウトテーブル461^に格納す
ると共に、このレイアウトされた信号のデータを信号デ
ータテーブル461Bに格納する。各テーブルのデータ
は、モニタリング機能において用いられる。
ターゲットプログラムセットアツプ機能は、第49図に
示すモジュール構成分備え、ターゲットプログラムセッ
トアツプメニュー660(第48図(b)参照)からタ
ーゲットプログラムを指定すると、イベントハンドラ4
62はファイルロード部4620を起動してターゲット
プログラムファイル462^からロードされる。
信号テーブルセットアツプ機能は、信号テーブルデータ
を第46図に示すテーブルウィンドウから指定すること
により設定(アプライ処理)される、またウィンドウ上
でパラメータで指定されている内容を初期値に戻すリセ
ット処理や変更のあったデータを無効にするアボート処
理ができる。
なお、モジュール構成は、ターゲットプログラムセット
アツプ機能と同じように信号テーブルデータをロードす
るモジュールを備えており、他にアプライ処理、リセッ
ト処理、およびアボート処理を実行するモジュールを備
えている。
〔発明の効果〕
上述のとおり、本発明によれば、次のような効果が期待
される。
■MPU周辺のLSIの回路動作をシミュレートするこ
とにより、実際の電気回路基板を作成することなく、M
PUの各端子における信号の状態が確認できる。
■ターゲットシステムが複数のモジュールで構成されて
いる場合、各モジュールのMPUに必要な通信データを
、電気回路基板および機構部分を使用することなくソフ
トウェア的にデータとして供給することにより、各モジ
ュール毎に独立したデバッグを行うことができる。
■デバッガはブレイク、トレース、モニタリング。
セットアツプ、メモリ・レジスタ表示設定等のデバッグ
環境を提供する各種機能を備えいるので、各種記録装置
の多面的なシミュレーションを実行することができる。
■アクセス・サービス部はサブシステムおよびデバッガ
からメモリ、レジスタへのアクセスを共通に管理してい
るため、サブシステムがアクセスした後、デバッガがブ
レイクポイントやトレースの判定のために再度アクセス
するという非効率な事態を避けることができる。
■デバッガはブレイクやトレース等の管理情報を格納し
たメモリ管理テーブルを備えているため、管理が容易と
なり、サブシステム間で干渉が起こらない。
【図面の簡単な説明】
第1図は本発明のシミュレータの全体構成を示すブロッ
ク図、 第2図は本シミュレータのハードウェア構成を示す模式
図、 第3図はシミュレータウィンドウの構成図、第4図はシ
ミュレーションの動作シーケンスを示す図、 第5図はシミュレーションウィンドウの構成図、第6図
はシミュレーションエンジンの構成を示すブロック図、 第7図は各エンジン間のデータ関連図、第8図は各エン
ジンの同期制御を説明する図、第9図は各エンジンの起
動を説明する図、第/O図はブレイクポイント機能を実
現するためのモジュール構成図、 第11[Jはブレイクポイント設定ウィンドウの構成図
、 第12図はレジスタテーブル構造を説明する図で、<a
>はレジスタ関係テーブル、(b)はレジスタ管理テー
ブル、 第13図はメモリ管理テーブル構造を説明する図、第1
4図はトレースポイントの設定を説明する図、第15図
はブレイクポイントテーブルの構造図、第16図はブレ
イクトレース管理の構成図、第17図はブレイクポイン
ト機能のモジュール間データ関連図、 第18図はブレイクトレース管理の動作シーケンスを説
明する図、 第19図はトレースポツプアップメニューを示す図、 第20図は信号タイミングトレース機能のモジュール間
データ関連図、 第21図は信号タイミングトレース設定ウィンドウの構
成図、 第22図は信号タイミングトレースポイントテーブルの
構造図、 第23図はタイミングデータトレース機能のモジュール
間データ関連図、 第24図はタイミングデータトレース設定ウィンドウの
構成図、 第25図はクロックカウンタトレース機能のモジュール
間データ関連図、 第26図はクロックカウンタトレース設定ウインドウの
構成図。 第27図はクロックカウンタトレースポイントテーブル
の構造図、 i@28eはランニングトレース機能のモジュール間デ
ータ関連図、 第29図はランニングトレース設定ウィンドウの構成図
、 第30図はランニングトレースポイントテーブルの構造
図、 第31図はホルトトレース機能のモジュール間データ関
連図、 第32図はホルトトレース設定ウィンドウの構成図、 第33図はホルトトレースポイントテーブルの構造図、 第34図はランタイムサンプリング機能のモジュール間
データ関連図、 第35図はランタイムサンプリング設定ウィンドウの構
成図5 第36図はランタイムサンプリングテーブルの構造図、 第37図はメモリ・レジスタ設定9衷示機能のモジュー
ル間データ関連図。 第38図はデイスプレィ/モディファイポツプアップメ
ニューを示す図、 第39図はメモリダンプ設定ウィンドウの構成図、第4
0図はショーファイル設定ウィンドウの構成図、 第41図はセットクリア設定ウィンドウの構成図、第4
2図はシミュレーションステートウィンドウの構成図、 第43図はモニタリング機能のモジュール間データ関連
図、 第44図は信号レイアウトテーブルの構造図、第45図
は信号テーブルの構造図、 第46図(a)は信号テーブルに関するウィンドウの構
成図、 第46図(b)は信号レベルのポツプアップメニューを
示す図、 第47図はマシンレイアウトセットアツプ機能のモジュ
ール間データ関連図、 第48図(a)はマシンレイアウトのセットアツプメニ
ューを示す図、 第4811J(b)はターゲットプログラムのセットア
ツプメニューを示す図、 第49図はターゲットプログラムセットアツプ機能のモ
ジュール構成図、 第50図は記録装置の基本構成を示すブロック図、第5
1図は記録装置の開発手順を説明する図、第52図は自
動搬送装置およびソータを備えた複写機の模式図、 第53区は自動原稿搬送装置の模式図、第54図は第5
2図の複写機の構成を示すブロック図、 第55区はシミュレータキットの構成図、第56図は表
示パネル部の構成図、 第57図はデバッグ工程における課題を説明する図であ
る。

Claims (1)

  1. 【特許請求の範囲】 (1)ターゲットプログラムを実行するMPU、周辺L
    SIを含むターゲットシステムのハードウェア情報の定
    義、およびMPUの入力端子への信号の変化状態を示す
    データを生成するコンフィグレーション部と、ターゲッ
    トシステムを構成する電気的要素や機械的要素をエンジ
    ンとしてソフトウェア的にシミュレーションするシミュ
    レーションエンジン部と、前記コンフィグレーション情
    報を基に、前記各エンジンの起動時間の同期をとってシ
    ミュレーションを実行するシミュレーションエンジンコ
    ントローラとからサブシステムを構成し、前記サブシス
    テムの起動により変化する上記エンジン部のメモリ、I
    /Oメモリ、レジスタの状態を更新し、かつブレイクま
    たはトレースの各設定条件でセット動作を行うアクセス
    ・サービス部を有し、前記設定条件を満足しているとき
    にブレイクするブレイクポイント機能およびターゲット
    プログラムの実行過程、任意のデータ変化、設定条件成
    立前後の上記ターゲットプログラムまたはMPUの状態
    を出力するトレース機能を少なくとも備えるデバッガと
    を具備する記録装置のシミュレータ。 (2)シミュレーションの実行制御、環境設定を操作す
    るシミュレーションウィンドウおよびデバッグ機能の条
    件設定、トレース内容を表示するデバッガ用ウィンドウ
    を備えた請求項1記載の記録装置のシミュレータ。 (3)デバッガ用ウィンドウを開くためのデバッガ実行
    制御コマンドがシミュレーションウィンドウに設けられ
    ていることを特徴とする請求項2記載の記録装置のシミ
    ュレータ。(4)ブレイクまたはトレース条件をテーブ
    ルに登録するセット処理部と、セット処理時に呼び出さ
    れ、デバッガ情報をメモリ等管理テーブルに登録するブ
    レイクトレース管理の設定部と、シミュレーション実行
    時にアクセス・サービス部が前記メモリ等管理テーブル
    にセットするブレイクトレースまたはブレイク条件成立
    情報を監視するブレイクトレース管理の監視部と、前記
    条件成立後に前記監視部に呼び出され、前記テーブルに
    登録されたブレイクまたはトレース条件を判定し、該条
    件成立後にブレイクまたはトレースを実行するブレイク
    トレース実行処理部とから構成されたデバッガ。 (5)ターゲットプログラム中の任意のデータ変化を信
    号タイミングトレースウィンドウにタイミングチャート
    表示する信号タイミングチャートトレース処理手段と、
    タイミングデータおよび通信データの入出力をタイミン
    グデータトレースウィンドウに表示するタイミングデー
    タトレース処理手段と、入力信号の変化を立ち下がり、
    または立ち上がりでカウントし、クロックカウンタトレ
    ースウィンドウに表示するクロックカウンタトレース処
    理手段と、ターゲットプログラムの実行過程をトレース
    し、ランニングトレースウインドウに表示するランニン
    グトレース処理手段と、トレース条件成立前後のターゲ
    ットプログラムおよびMPUの状態をホルトトレースウ
    ィンドウに表示するホルトトレース処理手段とにより構
    成されたトレース機能をデバッガが備えている請求項1
    記載の記録装置のシミュレータ。 (6)メモリ内容をメモリダンプウィンドウに表示する
    メモリダンプ処理手段と、ターゲットプログラムのソー
    スファイルやアセンブルリストをショーファイルウィン
    ドウに表示するショーファイル処理手段と、ターゲット
    プログラム、レジスタ、メモリの内容をセットクリアウ
    ィンドウ上で修正するセットクリア処理手段と、設定ま
    たは指定されたシミュレーション情報をシミュレーショ
    ンステートウィンドウに表示するシミュレーションステ
    ート処理手段とにより構成されたレジスタ・メモリ表示
    設定機能をデバッガが備えている請求項1記載の記録装
    置のシミュレータ。 (7)マシンレイアウトファイルをロードし、このマシ
    ンレイアウトデータを基にモニタリングウィンドウに表
    示するマシンレイアウト処理手段と、ターゲットプログ
    ラムをロードするターゲットプログラム処理手段と、信
    号テーブルをロードし、この信号テーブルを信号テーブ
    ルウィンドウに表示すると共に、信号テーブルにある信
    号の表示および無表示を指定する信号テーブル処理手段
    とにより構成されたセットアップ機能をデバッガが備え
    ている請求項1記載の記録装置のシミュレータ。 (8)ダイレクト信号エンジンの起動により呼び出され
    、信号レイアウトテーブルに定義された信号に対して信
    号データテーブルに格納された信号状態をマシンレイア
    ウト図上に実時間で表示するモニタリング処理手段をデ
    バッガが備えている請求項1記載の記録装置のシミュレ
    ータ。 (9)マシンレイアウト図上に信号マークを指定するこ
    とにより信号レベルメニューを表示する手段と、前記メ
    ニューから選択された信号レベルを設定する手段を備え
    、マニュアル時に入力信号のレベル制御を可能とした請
    求項8記載の記録装置のシミュレータ。
JP2018862A 1990-01-31 1990-01-31 記録装置のシミュレータおよびそのデバッガ Pending JPH03225436A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018862A JPH03225436A (ja) 1990-01-31 1990-01-31 記録装置のシミュレータおよびそのデバッガ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018862A JPH03225436A (ja) 1990-01-31 1990-01-31 記録装置のシミュレータおよびそのデバッガ

Publications (1)

Publication Number Publication Date
JPH03225436A true JPH03225436A (ja) 1991-10-04

Family

ID=11983351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018862A Pending JPH03225436A (ja) 1990-01-31 1990-01-31 記録装置のシミュレータおよびそのデバッガ

Country Status (1)

Country Link
JP (1) JPH03225436A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11224214A (ja) * 1998-02-05 1999-08-17 Fujitsu Ltd イベント分類装置およびそのプログラム記録媒体
JPWO2018203390A1 (ja) * 2017-05-02 2019-11-07 三菱電機株式会社 試験装置、試験システム、試験方法、および、プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11224214A (ja) * 1998-02-05 1999-08-17 Fujitsu Ltd イベント分類装置およびそのプログラム記録媒体
JPWO2018203390A1 (ja) * 2017-05-02 2019-11-07 三菱電機株式会社 試験装置、試験システム、試験方法、および、プログラム

Similar Documents

Publication Publication Date Title
CA2354248C (en) Method and apparatus for tracing hardware states using dynamically reconfigurable test circuits
TW202132793A (zh) 使用晶片上系統測試控制器之自動測試設備
US5715433A (en) Dynamic software model for emulating hardware
US20080320071A1 (en) Method, apparatus and program product for creating a test framework for testing operating system components in a cluster system
JPH09198276A (ja) プログラムデバッグシステム
JP2018160191A (ja) ハードウェア試験装置及びハードウェア試験方法
US20090240483A1 (en) System and computer program product for automatic logic model build process with autonomous quality checking
US7627462B2 (en) Hardware simulation using a test scenario manager
JP5686609B2 (ja) 情報処理装置及びプログラム
CN114924717B (zh) 基于dpu实现验证环境自动化生成及运行的设计方法
JPH03225436A (ja) 記録装置のシミュレータおよびそのデバッガ
JP2003316603A (ja) プログラム検証システム
JPH03125233A (ja) 記録装置のシミュレータおよびそのシミュレーションエンジン
US5878246A (en) System for linking an interposition module between two modules to provide compatibility as module versions change
WO2001035283A2 (en) System for performing parallel circuit simulation in a high level description language
JPH10124343A (ja) モデルシミュレート装置および方法、モデル作成装置および方法、情報記憶媒体
JPH036629A (ja) 記録装置のシミュレータおよびそのコンフィグレーション方式
JP2803090B2 (ja) Mpuシミュレーション方法及びmpuシミュレータ
JP2696957B2 (ja) 画像出力装置シミュレーション用インプットチャート編集方法
US20030167450A1 (en) Method and apparatus to facilitate generating simulation modules for testing system designs
US7634396B2 (en) Method and computer program product for generation of bus functional models
KR101103546B1 (ko) 듀얼 프로세스를 이용한 프로그램을 포함하는 시험 장치
JP2887254B2 (ja) 画像出力装置シミュレーション用チャート編集方法
JPH07121405A (ja) シミュレーション方式
US8914274B1 (en) Method and system for instruction set simulation with concurrent attachment of multiple debuggers