JPH03225436A - Simulator of recording device and its debugger - Google Patents
Simulator of recording device and its debuggerInfo
- 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
Links
- 238000004088 simulation Methods 0.000 claims abstract description 133
- 238000012545 processing Methods 0.000 claims abstract description 98
- 230000006870 function Effects 0.000 claims abstract description 87
- 238000010586 diagram Methods 0.000 claims description 73
- 238000004891 communication Methods 0.000 claims description 62
- 230000008859 change Effects 0.000 claims description 42
- 238000012544 monitoring process Methods 0.000 claims description 30
- 238000000034 method Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 25
- 230000002093 peripheral effect Effects 0.000 claims description 13
- 230000004913 activation Effects 0.000 claims description 7
- 230000000630 rising effect Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 abstract description 41
- 238000007726 management method Methods 0.000 description 83
- 230000005540 biological transmission Effects 0.000 description 30
- 239000000872 buffer Substances 0.000 description 30
- 238000011161 development Methods 0.000 description 22
- 206010048669 Terminal state Diseases 0.000 description 17
- 238000005070 sampling Methods 0.000 description 17
- 238000013461 design Methods 0.000 description 9
- 108091008695 photoreceptors Proteins 0.000 description 7
- 239000011521 glass Substances 0.000 description 6
- 238000012356 Product development Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013024 troubleshooting Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 235000012976 tarts Nutrition 0.000 description 2
- 240000005979 Hordeum vulgare Species 0.000 description 1
- 235000007340 Hordeum vulgare Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 210000000078 claw Anatomy 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 235000020990 white meat Nutrition 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、複写機、プリンタ、ファクシミリ等の記録
装置の開発を支援するシミュレーション装置に係り、特
にマイクロプロセッシングユニット(以下MPUと称す
)、周辺LSI、センサ等の外部信号や他のMPUとの
通信データなどのシミュレーションを実行するのに好適
なソフトウェアシミュレータ(以下シミュレータと祢す
〉に関する。[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a simulation device that supports the development of recording devices such as copying machines, printers, and facsimile machines, and particularly relates to a simulation device that supports the development of recording devices such as copying machines, printers, and facsimile machines. The present invention relates to a software simulator (hereinafter referred to as simulator) suitable for executing simulations of external signals such as LSIs and sensors, and communication data with other MPUs.
近年、記録装置においては、社会的ニーズの多様化によ
り一つの機種における多機能化、特定機能のみをもつ多
機種化など製品開発に大きな変化が見られる。これらの
変化に対応するための技術革新は、MPLIの導入とそ
のソフトウェアによるところが極めて大きく、年々ソフ
トウェアM模が増大すると共に、このソフトウェアの開
発が製品開発に全工数上の大きなウェイトを占めるよう
になって来ている。In recent years, due to the diversification of social needs, there have been major changes in the product development of recording devices, such as increasing the number of functions in a single model, and increasing the number of models with only specific functions. Technological innovation in response to these changes is extremely dependent on the introduction of MPLI and its software.As the number of software models increases year by year, the development of this software has come to occupy a large portion of the total man-hours in product development. It's becoming.
したがって、ソフトウェア開発の効率を上げることが製
品開発上の至上命題となっているが、従来の方法による
ソフトウェア開発では、そのデバッグ工程において、電
気回路基板あるいは記録装置の実機が必要となっている
なめ、たとえソフトウェアの設計が早期に完了したとし
ても、電気回路基板や実機の試作完了才で次のデバッグ
工程に進めないという問題がある。すなわち、このソフ
トウェアのデバッグが電気回路基板や実機といった記録
装置のハードウェアに依存しているという特徴が結果的
にソフトウェアがハードウェアの開発スケジュールに依
存してしまうばかりか、どうしても後追いになってしま
うという悪循環の様相を呈していた。したがって、ソフ
トウェアの開発効率を上げるには、ソフトウェアだけの
問題に限らずハードウェアの開発効率を上げねばならな
いのが現状である。Therefore, increasing the efficiency of software development has become a top priority in product development, but in software development using conventional methods, the debugging process requires an actual electrical circuit board or recording device. Even if the software design is completed early, there is a problem in that it is not possible to proceed to the next debugging process until the prototype of the electric circuit board or actual device is completed. In other words, the fact that this software debugging is dependent on the hardware of the recording device, such as the electric circuit board and the actual device, results in the software not only being dependent on the hardware development schedule, but also inevitably falling behind. It appeared to be a vicious cycle. Therefore, in order to increase the efficiency of software development, the current situation is that it is not only a problem of software, but also that it is necessary to increase the efficiency of hardware development.
更に、電気回路基板や実機上でのデバッグにおいて、ト
ラブルが発生した場合、たとえそれがハードウェア側の
問題としても開発コスト/納期の関係からその対策をソ
フトウェア的に行うことが多いため、ソフトウェア技術
者の負担増につながっている。Furthermore, when a problem occurs during debugging on an electric circuit board or actual device, even if it is a problem on the hardware side, the problem is often solved using software due to development cost/delivery time constraints, so software technology is required. This has led to an increase in the burden on people.
以下、記録装置の開発について説明する。The development of the recording device will be explained below.
第50図は、記録装置の基本的な構成を示すものである
0図において、記録装置は機器本体/O0、M P U
120及びこの両者間のインタフェースを行う電気回
路基板130とから構成されている0機器本体/O0に
は、動作状態を検出するためのセンサ及びコントロール
パネルからの指示を入力するためのスイッチ等が設けら
れている。これらのセンサ、スイッチ等からの入力は、
−旦電気回路基板130に供給され、ここで所定の信号
処理が行われたのちM P U 120に入力データと
して供給される。FIG. 50 shows the basic configuration of the recording device. In FIG.
120 and an electric circuit board 130 that interfaces between the two, the device body/O0 is equipped with sensors for detecting the operating state and switches for inputting instructions from the control panel. It is being Inputs from these sensors, switches, etc.
- The signal is first supplied to the electric circuit board 130, where predetermined signal processing is performed, and then supplied to the MPU 120 as input data.
また、入力の中のあるものは割込信号としてMPU12
0に供給される。MPU120の出力データは、電気回
路基板130に供給され、この電気回路基板130から
モータ、ソレノイド等の駆動部品を制御するための信号
が出力される。Also, some of the inputs are sent to the MPU 12 as interrupt signals.
0. The output data of the MPU 120 is supplied to the electric circuit board 130, and the electric circuit board 130 outputs signals for controlling driving parts such as motors and solenoids.
またM P U 120には、MPUとMPU外部0回
路とのインタフェースのために周辺LSI(大規模集積
回路)が接続されており、前記機器のモータ、ツレイド
等のv1楕系を精密に動作させるのに必要な信号を作り
出している。Additionally, a peripheral LSI (Large Scale Integrated Circuit) is connected to the MPU 120 for interfacing with the MPU and the MPU's external 0 circuit, and is used to precisely operate the v1 elliptic system such as the motor and treid of the device. It produces the signals necessary for
更に記録装置のシステムが大きい場合は、システムを複
数のモジュールに分割し、各モジュール毎にMPUを使
用することも行われている。このとき、各モジュールの
動作は他のモジュールの動作にタイミングを合わせる必
要があるので、各モジュールの動作状態を他のモジュー
ルに知らせる必要がある。このため、各モジュール間は
通信チャンネルにより連結され、たとえば、シリアル通
信データによりデータの交換が行われる。Furthermore, when the recording device system is large, the system is divided into a plurality of modules and an MPU is used for each module. At this time, since the operation of each module needs to be timed with the operation of other modules, it is necessary to inform the other modules of the operating status of each module. For this reason, each module is connected by a communication channel, and data is exchanged using, for example, serial communication data.
上記記録袋!の開発は、第51図に示すように、大別し
て機器本体に関するメカニカル設計、MPUおよび周辺
LSIのハードウェアに関する電気回路設計、および装
!の動作を制御するプログラムに間するソフトウェア開
発の三つの部門によって進められる。具体的には、先ず
製品企画において開発のテーマ、スケシールなどが検討
立案され、それを基に各部門で仕様設計に入る。ソフト
ウェア開発部門では、プログラムを作成する第1工程、
このプログラムを電気回路基板を使って検証する第2工
程、およびプログラムを試作機に搭載して検証する第3
工程がある。The above record bag! As shown in Fig. 51, the development of the system can be roughly divided into the mechanical design of the device itself, the electrical circuit design of the MPU and peripheral LSI hardware, and the equipment! Software development is carried out by three departments, which are the programs that control the operation of the computer. Specifically, the development theme, scale, etc. are first considered and planned during product planning, and each department then begins designing specifications based on these. In the software development department, the first step of creating a program is
The second step is to verify this program using an electric circuit board, and the third step is to install the program on a prototype machine and verify it.
There is a process.
第1工程は電気回路およびメカニカルの各設計仕様書に
基づいてソフトウェアに関する仕様設計が行われ、この
仕様に沿ってプログラムの作成が行われる。ここで、仕
様書からソースプログラムを作成するに際しては開発ツ
ールとしてエディタが使用される。その後、ソースプロ
グラムはアセンブラ、コンパイラ、リンカなどの言語変
換装置を用いてオブジェクトプログラムの作成が行われ
る。In the first step, software specifications are designed based on electrical circuit and mechanical design specifications, and a program is created in accordance with these specifications. Here, an editor is used as a development tool when creating a source program from a specification. Thereafter, the source program is used to create an object program using a language conversion device such as an assembler, compiler, or linker.
第2工程は電気回路基板を使って開発したプログラムを
走らせ、装置の機構部分を制御するために必要な信号が
仕様書どおりに出力されるが否かをソフト/ハードの両
面から検証する。いわゆるエミュレーションテストであ
る。The second step is to run the developed program using an electric circuit board and verify from both software and hardware perspectives whether the signals necessary to control the mechanical parts of the device are output according to specifications. This is a so-called emulation test.
第3工程は完成した試作機で開発したプログラムを走ら
せ、このときの装置動作を確認する、いわゆる実機テス
トである。The third step is a so-called actual machine test in which the developed program is run on the completed prototype machine and the operation of the machine is confirmed.
通常、上記各部門の作業は並行して行われるが、この間
の開発テンポは必ずしも同一とはならない。Normally, the work in each of the above departments is carried out in parallel, but the development tempo during this time is not necessarily the same.
最終段階の実機テストまでの開発進行状況をソフトウェ
ア開発から見た場合、ソフトウェアは前述のとおり、電
気回路基板がなければエミュレーションテストができな
いので、その開発スケジュールは電気回路基板の設計試
作、並びに試作機の完成に依存することになる。たとえ
ば、電気回路基板の完成が遅れた場合には、開発スケジ
ュール上、エミュレーションテストによるデバッグを最
大限に活用することができず、ソフトウェアのバグが取
り切れないまま実機テストに移行する。その結果、実機
デバッグにおいては、基本的なソフトウェアトラブルが
続出する。When looking at the development progress up to the final stage of actual device testing from the perspective of software development, as mentioned above, the software cannot perform emulation testing without an electrical circuit board, so the development schedule consists of designing and prototyping the electrical circuit board, as well as prototyping. It will depend on the completion of. For example, if the completion of an electrical circuit board is delayed, the development schedule does not allow for the full use of debugging through emulation testing, and software bugs are not eliminated before actual device testing is started. As a result, basic software troubles occur one after another when debugging actual devices.
以下に、記録装!の制御/Oグラムの開発を、複写機を
例にして説明する。Below is the recording equipment! The development of the control/O-gram will be explained using a copying machine as an example.
第52図は、自動原稿搬送袋!及びソータを備えた複写
機の模式図を示している。Figure 52 is an automatic document transport bag! 1 shows a schematic diagram of a copying machine equipped with a sorter and a sorter.
図において、複写機本体/O0の上面には原稿を複写機
本体のプラテンガラス上に自動的に搬入するための自動
原稿搬送装置140が載置され、また、複写機本体の側
面には、複写後の用紙を仕分けしてビン161に排出す
るためのソータ160が配置されている。In the figure, an automatic document feeder 140 is placed on the top surface of the copying machine main body/O0 for automatically transporting the original onto the platen glass of the copying machine main body, and a A sorter 160 is arranged to sort and discharge subsequent sheets into bins 161.
複写機本体/O0内には、矢印方向に回転する感光体ド
ラム/O1が配置され、この感光体ドラム/O1の周辺
に帯電器/O2、現像器/O3、転写器/O4、剥離器
/O5、クリーナ/O6等が順次配置されている。Inside the copying machine main body /O0, a photoreceptor drum /O1 that rotates in the direction of the arrow is arranged, and around this photoreceptor drum /O1 there are a charger /O2, a developer /O3, a transfer device /O4, and a peeler / O5, cleaner/O6, etc. are arranged in this order.
また、複写機本体/O0の上部には、原稿(図示せず)
を照明する光源111、原稿からの反射光を感光体ドラ
ム/O1上に集束させるためのミラー112及びレンズ
113が配設されており、これらが走査光学系を構成し
ている。そして、この走査光学系により、予め帯電器/
O2により帯電された感光体ドラム/O1上に静電潜像
を形成するようになっている。この静電潜像は現像器/
O3によりトナー像として顕像化される。同時に、それ
ぞれ異なったサイズの用紙が収納された第1.第2及び
第3トレイ121,122,123のいずれががら用紙
が給紙装置121により感光体ドラム/O1方向に搬送
され、転写器/O4により感光体ドラム上のトナー像が
用紙に転写される。この際、感光体ドラム/O1の回転
に同期して所定のタイミングで用紙が給送されるように
、用紙搬送経路中にレジストレーションゲート(図示せ
ず)が設けられている。転写後の用紙は剥離器/O5に
より感光体ドラム/O1から剥離され、搬送ベルト12
5により定着機126に送られ、トナー像が用紙に定着
される。In addition, a document (not shown) is placed on the top of the copying machine main body/O0.
A light source 111 for illuminating the document, a mirror 112 and a lens 113 for focusing reflected light from the original onto the photoreceptor drum/O1 are provided, and these constitute a scanning optical system. Using this scanning optical system, the charger/
An electrostatic latent image is formed on the photosensitive drum/O1 charged by O2. This electrostatic latent image is
It is visualized as a toner image by O3. At the same time, the first 1st page stores paper of different sizes. Paper from any of the second and third trays 121, 122, 123 is transported by the paper feeder 121 toward the photoreceptor drum/O1, and the toner image on the photoreceptor drum is transferred onto the paper by the transfer device/O4. . At this time, a registration gate (not shown) is provided in the paper transport path so that the paper is fed at a predetermined timing in synchronization with the rotation of the photosensitive drum/O1. The paper after the transfer is peeled off from the photoreceptor drum/O1 by a peeler/O5, and transferred to the conveyor belt 12.
5, the toner image is sent to a fixing device 126, and the toner image is fixed on the paper.
通常の複写において、定着後の用紙は、実線で示すよう
に、インバータ127をそのまま通過してソータ160
により所定のビン161に排出される。なお、両面複写
の場合は、−点鎖線で示すように、−面が複写された後
の用紙の表裏をインバータ127により反転して一旦両
面トレイ128に溜めたのち、循環装置129及び給紙
装置124を介して再度感光体ドラム/O1方向に搬送
し、今度は他面の複写を行う。In normal copying, the paper after fixing passes through the inverter 127 as it is and goes to the sorter 160, as shown by the solid line.
It is discharged into a predetermined bin 161. In the case of double-sided copying, as shown by the - dotted line, after the - side has been copied, the front and back sides of the paper are reversed by the inverter 127, and once stored in the double-sided tray 128, the paper is transferred to the circulation device 129 and the paper feeder. The photosensitive drum is conveyed again in the direction of photosensitive drum /O1 via 124, and this time the other side is copied.
上述のような複写機において、自動原稿運送装置140
及びソータ160を使用して複写を行う場合を考えると
、原稿トレイ141に原稿を載!して、複写機本体/O
0のコンソールパネルに設けられた複写開始ボタン(図
示せず)を押すと、先ず、自動原稿搬送装置140は、
第53図に示すように、原稿をプラテンガラス144上
の規定値1に搬送する。In the copying machine as described above, the automatic document transport device 140
When copying is performed using the sorter 160, the original is placed on the original tray 141! Then, copy machine main body/O
When the copy start button (not shown) provided on the console panel of 0 is pressed, the automatic document feeder 140 first
As shown in FIG. 53, the original is conveyed to the specified value 1 on the platen glass 144.
すなわち、原稿トレイ141上の原稿はパドル142.
143によりプラテンガラス144上に送り出され、搬
送ベルト145によりプラテンガラス144上の規定値
1に搬送される。That is, the original on the original tray 141 is moved to the paddle 142 .
143 onto the platen glass 144, and is conveyed to the specified value 1 on the platen glass 144 by the conveyor belt 145.
次いで、光源111、ミラー112、レンズ113等か
らなる走査光学系は、感光体ドラム/O1の回転に同期
して、プラテンガラス142下を図において左右方向に
移動し原稿を走査する。Next, a scanning optical system including a light source 111, a mirror 112, a lens 113, etc. moves in the horizontal direction in the figure under the platen glass 142 in synchronization with the rotation of the photoreceptor drum/O1 to scan the original.
これにより、感光体ドラム/O1上には5.静電像が形
成され、その後、周知の現像、転写、剥離、定着、排出
、仕分は等の各工程が行われる。As a result, 5. After an electrostatic image is formed, well-known processes such as development, transfer, peeling, fixing, discharge, and sorting are performed.
また、複写後の原稿は搬送ベルト145によりプラテン
ガラス144から取り除かれ、ゲート爪146により掬
い上げられ原稿搬送ロール147により自動原稿搬送装
置140の上部の原稿受け148に排出される
このように複写作業が行なわれるとき、各工程は、各装
置の動作及び用紙の通過状態を検出しながら処理される
。Further, the copied original is removed from the platen glass 144 by the conveyance belt 145, scooped up by the gate claw 146, and discharged to the original document receiver 148 on the upper part of the automatic document conveyance device 140 by the document conveyance roll 147. When this is performed, each process is performed while detecting the operation of each device and the state of paper passage.
このような自動原稿搬送装置140.ソータ160等の
周辺装置を備えた複写機においては、各装置の動作を他
の装置の状態との関連で制御しなければならないため、
複写機本体と各周辺機器との間は通信チャンネルで結ば
れている。Such an automatic document feeder 140. In a copying machine equipped with peripheral devices such as the sorter 160, the operation of each device must be controlled in relation to the status of other devices.
A communication channel connects the copying machine main body and each peripheral device.
また、各装置はMPLIにより制御されるが、各MPU
はインタフェース及び前記通信チャンネルを介してデー
タの授受が行われる。また、同一装置内においても機能
別に複数のMPUが設けられることもある。Also, each device is controlled by MPLI, but each MPU
Data is exchanged via the interface and the communication channel. Further, even within the same device, a plurality of MPUs may be provided for different functions.
複写機本体/O0は、第54図に示されるように、複写
機機構部131.MPU132及びこの両者間のインタ
フェースを行う電気回路基板133とから構成されてい
る。′i、た、電気回路基板133には、操作用のコン
ソールパネル134が接続され、複写機開始等のキーか
らの信号が電気回路基板133に供給されると共に、複
写枚数、メツセージ等のデータがコンソールパネル13
4に供給され、ランプ、発光ダイオードマトリックス等
により表示される。As shown in FIG. 54, the copying machine main body/O0 includes a copying machine mechanism section 131. It is composed of an MPU 132 and an electric circuit board 133 that provides an interface between the two. A console panel 134 for operation is connected to the electric circuit board 133, and signals from keys such as starting the copying machine are supplied to the electric circuit board 133, and data such as the number of copies, messages, etc. console panel 13
4 and displayed by lamps, light emitting diode matrix, etc.
家な、複写機本体/O0に対する周辺装!、すなわち、
前述の自動原稿搬送装置140及びソータ160等にお
いても同様な構成となっている。たとえば、自動原稿搬
送装置140は、自動原稿搬送装置機構部151とM
P U 152との間に設けられた電気回路基板153
により信号、データの授受が行われる。そして、各装置
間の動作の制御は、たとえばシリアルの通信データによ
り行なわれている。At home, the copier itself/peripheral equipment for O0! , that is,
The above-mentioned automatic document feeder 140, sorter 160, etc. have similar configurations. For example, the automatic document feeder 140 has an automatic document feeder mechanism section 151 and M
Electric circuit board 153 provided between P U 152
Signals and data are exchanged by The operations between the devices are controlled by, for example, serial communication data.
この種の複写機におけるM P U 132で実行され
るプログラムの開発には、デバッグ用の開発ツールとし
て第55図に示すシミュレータキットと呼ばれる装置が
使用されている。これは前述のエミュレーションテスト
を行うためのツールである。In developing a program to be executed by the MPU 132 in this type of copying machine, a device called a simulator kit shown in FIG. 55 is used as a debugging development tool. This is a tool for performing the emulation test mentioned above.
シミュレータキット1フ0は、実際の複写機機構部13
1及びコンソールパネル134の入力系及び出力系をス
イッチパネル部171.表示パネル部172及び疑似コ
ンソールパネル部173で置き換えると共に、電気回路
基板133上のMPU用ソケットにターゲットMPU1
32と置換してインサーキットエミュレータ174((
]中、ICEで示す)を装着するものである。The simulator kit 1f0 is the actual copying machine mechanism section 13.
1 and the input system and output system of the console panel 134 are connected to the switch panel section 171. In addition to replacing the display panel section 172 and pseudo console panel section 173, the target MPU 1 is inserted into the MPU socket on the electric circuit board 133.
32 and in-circuit emulator 174 ((
] (indicated by ICE).
スイッチパネル部171には、各部品の状態を外部から
設定するための複数のスイッチ171aが設けられてい
る。そして、スイッチパネル部171のスイッチ171
aを操作することにより、スイッチ171aからの出力
が電気回路基板133に対する入力信号として供給され
る。このとき、表示パネル部172に設けられた青ラン
プ172aが点灯して該当する入力用部品の状態を表示
する。The switch panel section 171 is provided with a plurality of switches 171a for setting the status of each component from the outside. Then, the switch 171 of the switch panel section 171
By operating the switch 171a, the output from the switch 171a is supplied as an input signal to the electric circuit board 133. At this time, a blue lamp 172a provided on the display panel section 172 lights up to display the status of the corresponding input component.
また、電気回路基板133からの出力信号は、各出力用
部品に対応する赤ランプ172bに供給され、その状態
が表示される。Further, the output signal from the electric circuit board 133 is supplied to the red lamp 172b corresponding to each output component, and its status is displayed.
なお、スイッチ171a、青ランプ172a及び赤ラン
プ172bはいずれも複数個設けられているが、図にお
いては藺草のため各1個のみ図示している。Although a plurality of switches 171a, blue lamps 172a, and red lamps 172b are provided, only one of each is shown in the figure for convenience.
また、電気回路基板133にはレベルコンバータ175
、入出力インターフェース176を介してパーソナルコ
ンピュタ−177が接続される。Further, the electric circuit board 133 includes a level converter 175.
, a personal computer 177 is connected via an input/output interface 176.
シミュレータキットには、複写機のレイアウトが模式的
に描かれた表示パネル部172が設けられている。この
表示パネル部172は、第56図に示すように、複写時
の用紙の流れ等が視覚的に把握できるように、開発の対
象となる複写機のレイアウトが模式的に描かれている。The simulator kit is provided with a display panel section 172 on which the layout of the copying machine is schematically drawn. As shown in FIG. 56, the display panel section 172 schematically depicts the layout of the copying machine to be developed so that the flow of paper during copying can be visually grasped.
たとえば、図中181は感光体ドラム、182は定着器
、183はローラ、184は給紙トレイの各表示を示し
ている。また、原稿搬送装置140、搬送ベルト145
に対応する個所には、ビン161に対応する表示186
がある。更に、表示パネル部172には、各種センサ等
の入力用部品の出力を表示する複数の青ランプ172a
(図中、黒丸で示す)が配設されると共に、モータ、ソ
レノイド等の出力用部品の状態を表示する複数の赤ラン
プ172b (図中、白丸で示す)が、これらの各部品
と対応する位置に配設されており、それぞれ名前が付さ
れている。たとえば、最上段の給紙トレイの表示184
部分にはFEED−SQLと名付けられた給送ソレノイ
ドの動作を示す赤ランプ172b+と、用紙が給送され
ているかどうかを示すFEED OυT SNR(1)
と名付けられた青ランプ172a+が設けられている。For example, in the figure, 181 is a photosensitive drum, 182 is a fixing device, 183 is a roller, and 184 is a paper feed tray. In addition, a document conveying device 140, a conveying belt 145
At the location corresponding to , there is a display 186 corresponding to the bin 161.
There is. Furthermore, the display panel section 172 includes a plurality of blue lamps 172a that display the outputs of input components such as various sensors.
(indicated by black circles in the diagram) are arranged, and a plurality of red lamps 172b (indicated by white circles in the diagram) that display the status of output components such as motors and solenoids correspond to each of these components. They are placed in different locations and each has a name. For example, display 184 of the top paper tray
There is a red lamp 172b+ named FEED-SQL that indicates the operation of the feeding solenoid, and a FEED OυT SNR (1) that indicates whether the paper is being fed.
A blue lamp 172a+ named .
また、感光体ドラムの表示181の入力側には、用紙の
搬送開始のタイミングを決めるレジストレーションゲー
トを制御するREG−SQLと名付けられたソレノイド
の動作を示す赤ランプ172b、と、レジストレーショ
ンゲートに用紙が給送されているかどうかを示すREG
−SNRと名付けられた青ランプ172a2が設けられ
ており、更に、定着器の表示182の近傍の入力側に定
着器に用紙が給送されているかどうかを示すFUS l
N−5NRと名付けられた青ランプ172a、が設けら
れる。Further, on the input side of the display 181 of the photosensitive drum, there is a red lamp 172b indicating the operation of a solenoid named REG-SQL that controls the registration gate that determines the timing to start transporting the paper, and a red lamp 172b that indicates the operation of a solenoid named REG-SQL. REG indicating whether paper is being fed
- A blue lamp 172a2 labeled SNR is provided, and a FUS l lamp is provided on the input side near the fuser display 182 to indicate whether paper is being fed to the fuser.
A blue lamp 172a, named N-5NR, is provided.
また、定着器の表示182の出力側にFSRO[IT−
ROLLと名付けられたロールの動作を示す赤ランプ1
72b、が設けられている。この他にも各経路に、用紙
の到着状態を示す青ランプ及びモータ、ソレノイド等の
動作状態を示す赤ランプが表示されているがこれらにつ
いては説明を省略する。Also, FSRO [IT-
Red lamp 1 indicating the operation of the roll named ROLL
72b is provided. In addition, a blue lamp indicating the arrival status of the paper and a red lamp indicating the operating status of the motor, solenoid, etc. are displayed on each route, but a description of these will be omitted.
また、自動原稿搬送装置、ソータに対応する個所にも同
様に各ランプが設けられている。Additionally, lamps are similarly provided at locations corresponding to the automatic document feeder and sorter.
電気回路基板133には、先に述べたように、パーソナ
ルコンピュータ177が入出力インターフェース176
及びレベルコンバータ175を介して接続されている。As mentioned above, the electric circuit board 133 includes the personal computer 177 and the input/output interface 176.
and a level converter 175.
そして、このパーソナルコンピュータ177からのタイ
ミングデータや通信データが入出力インターフェース1
76により所定本数の信号路に分岐されレベルコンバー
タ175でレベルを合されて電気回路基板133に供給
される。なお、タイミングデータや通信データは、各セ
ンサや他の周辺装置からの信号をシミュレートするもの
である。Timing data and communication data from this personal computer 177 are input to the input/output interface 1.
The signal is branched into a predetermined number of signal paths by 76, matched in level by level converter 175, and supplied to electric circuit board 133. Note that the timing data and communication data simulate signals from each sensor and other peripheral devices.
また、電気回路基板133から出力された信号の状態が
パーソナルコンピュータ177のコンソールに表示され
るように構成されている。Further, the state of the signal output from the electric circuit board 133 is configured to be displayed on the console of the personal computer 177.
次に、上記シミュレータシステムの操作について説明す
る。Next, the operation of the above simulator system will be explained.
このシミュレータシステムは、手動制御モード及びパー
ソナルコンピュータ制御モードを備えている。This simulator system has a manual control mode and a personal computer control mode.
手動制御モードでは、送受信シミュレート、センサ信号
シミュレート等を行う、送受信シミュレートは、パーソ
ナルコンピュータ177のキーボードから入力されたデ
ータ或は初期ロードされたデータを電気回路基板133
へ送信し、また、電気回路基板133から受信したデー
タをパーソナルコンピュータ177のコンソールに表示
するものである。In the manual control mode, transmission/reception simulation, sensor signal simulation, etc. are performed.The transmission/reception simulation is performed by transmitting data input from the keyboard of the personal computer 177 or initially loaded data to the electric circuit board 133.
The data received from the electric circuit board 133 is displayed on the console of the personal computer 177.
センサ信号シミュレートは、前述したように、電気回路
基板133への信号をスイッチパネル部171のスイッ
チ171aのオンオフにより設定すると共に、その状態
を青ランプ172aで表示するものである。As described above, in the sensor signal simulation, a signal to the electric circuit board 133 is set by turning on/off the switch 171a of the switch panel section 171, and its state is displayed by the blue lamp 172a.
また、電気回路基板133からの出力信号は赤ランプ1
72bで表示される。In addition, the output signal from the electric circuit board 133 is the red lamp 1.
72b.
パーソナルコンピュータ制御モードは、電気回路基板1
33の制御プログラムをデバッグする際に、タイミング
チャートにしたがって用紙走行テスト等を行うときに使
用するものである。In personal computer control mode, electric circuit board 1
This is used when debugging the control program of No. 33 and performing a paper running test etc. according to the timing chart.
ここで、用紙走行テストについて説明する。Here, the paper running test will be explained.
用紙が複写機の内部において順次搬送されていくとき、
用紙の搬送位置に応じてどのようにプログラムが実行さ
れているかを、たとえばセンサの出力をシミュレートす
るタイミングデータに基づいてシミュレーションする。When paper is conveyed sequentially inside the copying machine,
How the program is executed depending on the conveyance position of the paper is simulated based on, for example, timing data that simulates the output of a sensor.
すなわち、インサーキットエミュレータ174において
、スイッチパネル部171或はパーソナルコンピュータ
177から各種センサ信号を供給した状態でターゲット
M P U 132と同一のプログラムを実行させ、表
示パネル部172上のランプ172a、172bの点滅
で表現される複写機の動作状況を観察することにより、
プログラムが正常に動作しているか、を検査している。That is, the in-circuit emulator 174 executes the same program as the target MPU 132 while supplying various sensor signals from the switch panel section 171 or the personal computer 177, and displays the lamps 172a and 172b on the display panel section 172. By observing the operating status of the copier as expressed by blinking,
Checking whether the program is working properly.
そして、動作が異常である場合、ランプ172a、17
2bの状態からプログラムの不良個所を推定し、インサ
ーキットエミュレータ174を使用してプログラムの誤
りを検出し、これを修正している。If the operation is abnormal, the lamps 172a, 17
The defective part of the program is estimated from the state of 2b, and the in-circuit emulator 174 is used to detect and correct the error in the program.
また、ロジックアナライザを使用してタイミングデータ
を検出したり、オシロスコープを利用して各部の実際の
波形を検査することも行われている。Additionally, a logic analyzer is used to detect timing data, and an oscilloscope is used to inspect the actual waveforms of each part.
本シミュレータの技術的課題
従来、記録装置におけるソフトウェア開発においては、
先に述べたように三つの工程によって行われているが、
その中でソフトウェアのデバッグを行うエミュレーショ
ンテストおよび実機テストでは、後に行く程、ソフトウ
ェアトラブルの対策に多くの工数が掛かり、製品開発の
全体スケジュールの上で問題となる。第57図はデバッ
グ工程でのトラブル件数とその対策工数をグラフに表し
たものである1図において、開発されたソフトウェアは
、ソフトウェア単体によるデバッグが行われないため、
エミュレーションテストおよび実機テストによってバグ
が発見されるが、トラブルの全件数に占めるバグの割合
がエミュレーションテストでは約571%、実機テスト
では約42.9%である。Technical issues of this simulator Traditionally, in software development for recording devices,
As mentioned earlier, it is carried out in three steps,
Among these, in emulation tests and actual machine tests for debugging software, the later the test goes, the more man-hours are required to deal with software problems, which becomes a problem in terms of the overall product development schedule. Figure 57 is a graph showing the number of troubles in the debugging process and the number of man-hours required for countermeasures.In Figure 1, the developed software is not debugged by itself,
Bugs are discovered through emulation tests and real machine tests, and the proportion of bugs in the total number of troubles is about 571% in emulation tests and about 42.9% in real machine tests.
すなわち、バグは6割弱がエミュレーションテストで発
見され、この段階で取り除かれるが、残りの4割強のバ
グは次の実機テストで取り除がれる。In other words, slightly less than 60% of bugs are discovered during emulation testing and removed at this stage, while the remaining 40% or more are removed during the next actual machine test.
これらのトラブルは発見される段階によりその究明・対
策の工数に大きな差が生ずる。The time it takes to investigate and take countermeasures for these problems varies greatly depending on the stage at which they are discovered.
エミュレーションテストの段階では、トラブルが及ぼす
範囲が電気回路設計、ソフトウェア設計の2部門である
から、ハード/ソフトの双方の問題は比較的短い期間に
解決することができる。しかし、実機テストの段階では
メカニカル設計、電気回路設計、およびソフトウェア設
計の3部門に波及するため、1つのトラブルを解決する
のにその原因究明や対策をどのように分担し合うがの擦
り合わせに大変手間がかがり、大きな工数が必要となる
。因に、各テスト段階におけるトラブル対策効率を比べ
た場合、エミュレーションテストに対して実機テストで
は1.7倍の対策工数が掛がる。At the emulation test stage, since problems affect two departments: electrical circuit design and software design, both hardware and software problems can be resolved in a relatively short period of time. However, at the stage of actual machine testing, it affects three departments: mechanical design, electrical circuit design, and software design, so solving a single problem requires coordinating how to divide the cause and countermeasures among each other. It is very time-consuming and requires a large number of man-hours. Incidentally, when comparing the efficiency of troubleshooting at each test stage, it takes 1.7 times more man-hours for troubleshooting in an actual machine test than in an emulation test.
これを上記トラブル件数に当て嵌めると、エミュレーシ
ョンテストでのトラブルは全体のトラブル対策工数の約
30.6%であるのに対し、実機テストでは約69.4
%にも増大する。更にソフトウェア開発の全工数から見
ると、デバッグのための工数が全体の5割を占めている
。したがって、デバッグの効率を上げることが、ソフト
ウェア開発全体の効率を上げるのに大きく寄与する。ゆ
えに、このデバッグの工数低減が強く望まれている。Applying this to the number of troubles mentioned above, troubles in emulation tests account for about 30.6% of the total troubleshooting man-hours, while in actual machine tests it accounts for about 69.4%.
%. Furthermore, when looking at the total man-hours for software development, the man-hours for debugging account for 50% of the total. Therefore, increasing the efficiency of debugging greatly contributes to increasing the efficiency of software development as a whole. Therefore, it is strongly desired to reduce the number of debugging steps.
このように、ソフトウェア単体でデバッグを行えない従
来方式では、電気回路基板/ソフト結合や実機デバッグ
でのトラブルの発生件数が多く、しかも後に行く程、そ
の対策工数が増大し、結果として製品開発の効率低下に
つながっている。In this way, with the conventional method in which software cannot be debugged by itself, many troubles occur during electrical circuit board/software connection and debugging of the actual device.Furthermore, the later you go, the more man-hours are required to deal with the problem, and as a result, it becomes difficult to develop products. This leads to a decrease in efficiency.
ところで、電気回路基板や機器本体(機構部分)の設計
試作には数カ月を必要とし、特に完成後の電気回路基板
や機器本体における設計変更は開発スゲジュールの時間
的制約やコストの面で厳しい6また、電気回路上または
試作機上でのプログラムの検査において問題が発生した
場合、その問題はプログラムにあるのが、電気回路基板
または機器本体にあるのがか判別し5難い。この原因を
特定するのもソフトウェア技術者が行っている。特に、
製品の完成間近かではこれらハードウェアの問題等も含
めてソフト的に解決しなければならない事態がしばしば
起っている。By the way, it takes several months to design and prototype an electric circuit board or device body (mechanical part), and in particular, changing the design of an electric circuit board or device body after completion is a difficult task due to time constraints and costs in the development schedule. When a problem occurs during testing of a program on an electric circuit or a prototype device, it is difficult to determine whether the problem is in the program, the electric circuit board, or the device itself. Software engineers also identify the cause of this problem. especially,
As a product nears completion, situations often arise that require software solutions, including these hardware problems.
したがって、この種の機器開発では、ソフトウェア技術
者に多大な労力がかがるという問題があった。Therefore, there is a problem in that this type of device development requires a great deal of effort on the part of software engineers.
これらの問題を解決するためには、いかにソフトウェア
トラブルを早期に発見し、それに対処するかが鍵になっ
ている。The key to solving these problems is how to discover software problems early and deal with them.
このような技術的背景の中から、電気回路基板や試作機
なしでもソフトウェアのデバッグができる支援システム
(シミュレータ)が要望されていた。Against this technical background, there was a need for a support system (simulator) that would allow software debugging without the need for an electric circuit board or a prototype device.
次に、本シミュレータの構成上の課題について述べる。Next, we will discuss the problems with the configuration of this simulator.
対象となる記録装置は、所期の目的分達成するために、
電気回路基板がらの制御信号により機構部分が一連の動
作を行うように構成されており、この一連の動作をシミ
ュレートするには、先ず装置の動作状態を示すデータ、
すなわちa!11部分に配置されたセンサーの出力変化
を装置の固有の動作時間に対応させたタイミングデータ
が必要となる。In order to achieve the intended purpose, the target recording device is
The mechanical parts are configured to perform a series of operations based on control signals from the electric circuit board, and in order to simulate this series of operations, first, data indicating the operating state of the device,
In other words, a! Timing data is required that corresponds to the change in the output of the sensor placed in the 11th section to the specific operating time of the device.
タイミングデータは、タイミングチャートがら作成され
るが、このタイミングチャートの作成は、全て手作業で
行われるため、多大な時間と手間がかかっていた。また
、目視による作業のため、読取誤りや、記入誤りなどの
人為的ミスが発生し易く、正確なタイミングチャートを
作成することが困難であった。したがって、シミュレー
ションのためのタイミングデータを短期間で準備するこ
とができなかった。Timing data is created from timing charts, but the creation of these timing charts is all done manually, which takes a lot of time and effort. Furthermore, since the work is done visually, human errors such as reading errors and writing errors are likely to occur, making it difficult to create accurate timing charts. Therefore, timing data for simulation could not be prepared in a short period of time.
一方、電気回路基板は、上記タイミングデータに基づい
てMPUに信号を供給し、このMPUに搭載されたプロ
グラムに従って機構部分を制御する信号を出力する。On the other hand, the electric circuit board supplies a signal to the MPU based on the timing data, and outputs a signal to control the mechanical parts according to a program installed in the MPU.
このようなアプリケーションプログラムのデバッグは、
プログラムがソースレベルで一応完成したとしても、実
際の電気回路基板が周辺のLSIも含めて全て完成して
いなければ、MPUの各端子にどのような信号が供給さ
れるのか、或いは、MPUの各端子からの信号はどのよ
うにして外部に出力されるのかを知ることができない。Debugging such an application program is
Even if the program is completed at the source level, if the actual electric circuit board is not fully completed including the peripheral LSI, what kind of signals will be supplied to each terminal of the MPU, or what kind of signals will be supplied to each terminal of the MPU? It is not possible to know how the signal from the terminal is output to the outside.
また、複数のモジュールから構成される装置においては
、モジュール単体ではデバッグを行うことができず、他
のモジュールからの通信データを必要とする。Furthermore, in a device composed of a plurality of modules, debugging cannot be performed with a single module, and communication data from other modules is required.
したがって、全てのモジュールの電気回路基板が完成す
るまでは、総合的なデバッグ作業を開始することができ
ない。また、デバッグ用の電気回路基板を作るにしても
、回路の設計変更があったような場合、その都度、電気
回路基板を作製する必要があり、多大の手間と費用が掛
かる。Therefore, comprehensive debugging cannot be started until the electrical circuit boards of all modules are completed. Further, even if an electric circuit board for debugging is to be made, it is necessary to prepare an electric circuit board every time there is a change in the design of the circuit, which requires a great deal of effort and cost.
このため、テスト期間の制約等から完全なデバッグが行
われる前に、次の実機デバッグ工程に送られる。この実
機デバッグでは、ターゲットMPUが実際の電気回路或
いは機構部分と組み合わされてソフトウェアの検査が行
われるが、この段階で多数のバグが発見されるという問
題が生じる。For this reason, due to constraints on the test period, etc., the device is sent to the next actual device debugging step before complete debugging is performed. In this actual device debugging, the target MPU is combined with an actual electrical circuit or mechanical part and the software is tested, but a problem arises in that many bugs are discovered at this stage.
しかし、実機デバッグ段階で発見されるトラブルは原因
追及及び対策に非常に手間がかかり、このためシステム
全体としての開発効率が著しく低下する。However, troubles discovered during the debugging stage of the actual device require a great deal of time and effort to investigate the cause and take countermeasures, which significantly reduces the development efficiency of the entire system.
また、従来のツールでは、デバッグの対象とすることが
できるMPUは1種類のみであり、MPUの種類が変わ
った場合は別のインサーキットエミュレータに変えなけ
ればならなかった。Furthermore, with conventional tools, only one type of MPU can be debugged, and if the type of MPU changes, it is necessary to change to a different in-circuit emulator.
上記従来のソフトウェア開発の事情に鑑みて開発された
本シミュレータは、次の特長を有するものである。This simulator, which was developed in view of the above-mentioned conventional software development circumstances, has the following features.
■ターゲットプログラムが走行するハードウェア環境を
MPU、周辺LSIを含めて完全にソフトウェア的にシ
ミュレーションすることができる。■The hardware environment in which the target program runs can be completely simulated in software, including the MPU and peripheral LSI.
■異常系を含めたあらゆるテストモードのタイミングデ
ータか作成でき、広範囲なテストが可能である。■It is possible to create timing data for all test modes, including abnormal systems, enabling a wide range of tests.
■マルチプロセッサシステムの環境下でのテストができ
る。■Tests can be performed in a multiprocessor system environment.
■マルチウィンドウ、マウスなどによる高度なユーザイ
ンタフェースを提供する。■Provides an advanced user interface using multiple windows and a mouse.
■ターゲットプログラム製造システムにイーサネットを
介して結合することにより、製造からデバッグまで完全
なオンライン開発環境を提供する。■By connecting to the target program manufacturing system via Ethernet, it provides a complete online development environment from manufacturing to debugging.
これらの特長を具有するため、本シミュレータは、次の
機能を備えている。In order to have these features, this simulator has the following functions.
■MPU及び周辺り、SIなとのターゲットプログラム
をとりまくハード的な環境をソフト的に定義できる。■The hardware environment surrounding the target program such as the MPU, surrounding area, and SI can be defined in software.
■センサ等の外部信号データの作成及びシミュレーショ
ンを実行する。■Creating external signal data such as sensors and executing simulations.
■他MPUとの通信データの生成及びシミュレーション
を実行する。■Generate communication data with other MPUs and execute simulation.
■MPUと周辺LSI回路のシミュレーションを実行す
る。■Execute simulation of MPU and peripheral LSI circuits.
■ブレイクポイント、トレース、モニタリング等のデバ
ッグ環境を提供する。■Provides a debugging environment such as breakpoints, tracing, and monitoring.
上記機能を実現することにより、次の技術的効果が期待
される。By realizing the above functions, the following technical effects are expected.
■シミュレーション用のデータを正確且つ容易に短時間
で作成することができる。■Simulation data can be created accurately, easily, and in a short time.
■ソフトウェア草体でデバッグすることができる。■You can debug the software in its entirety.
■MPU周辺のLSIの回路動作をシミュレートするこ
とにより、実際の電気回路基板を作成することなく、M
PUの各端子における信号の状態が確認できる。■By simulating the circuit operation of the LSI around the MPU, it is possible to
You can check the signal status at each terminal of the PU.
■ターゲットシステムが複数のモジュールで構成されて
いる場合、各モジュールのMPUに必要な通信データを
、電気回路基板および機構部分を使用することなくソフ
トウェア的にデータとして供給することにより、各モジ
ュール毎に独立にデバッグすることができる。■If the target system is composed of multiple modules, the communication data necessary for each module's MPU can be supplied as data using software without using electric circuit boards or mechanical parts. Can be debugged independently.
■機構部分に配置されたセンサなどの出力信号はシミュ
レーション時にダイレクト信号データに変換されて用い
られるが、このダイレクト信号データはセンサ類の正常
な動作状況を定義する外に、正常でない定義、すなわち
予めセンサ、ソレノイド、モータなどの異常を想定し、
このときのセンサの出力信号3基に定義することもでき
る。このような異常モードによるシミュレーションを実
行することにより、異常時の状況把握が事前に検証でき
、かつその対応策を立てることができる。■Output signals from sensors placed in mechanical parts are converted to direct signal data and used during simulation, but this direct signal data not only defines the normal operating status of the sensors, but also defines abnormal conditions. Assuming abnormalities in sensors, solenoids, motors, etc.
It is also possible to define three sensor output signals at this time. By executing a simulation using such an abnormal mode, it is possible to verify in advance the understanding of the situation in the event of an abnormality, and to formulate countermeasures.
前述の本シミュレータの課題の中から、特に本発明では
、デバッガを備えたシミュレータに関する課題を解決す
るものである。Among the problems of the present simulator described above, the present invention is particularly intended to solve the problems related to a simulator equipped with a debugger.
本発明の主目的は、ターゲットプログラムが走行するハ
ードウェア環境をMPU、周辺LSIをきめて完全にソ
フトウェア的にシミュレーションするためのシミュレー
タを提供することである。The main object of the present invention is to provide a simulator for simulating the hardware environment in which a target program runs completely in software by determining the MPU and peripheral LSI.
また他の目的は、開発の対象となる記録袋!をソフトウ
ェア的にシミュレーションし、ターゲットプログラムの
デパックを実行するデバッガを提供することである。Another purpose is to develop a record bag! The object of the present invention is to provide a debugger that simulates the target program using software and depacks the target program.
更に他の目的は、シミュレーション実行時の状況把握お
よび情報定義の全ての操作をウィンドウ上で実行できる
ユーザインターフェースを備えたシミュレータを提供す
ることである。Still another object is to provide a simulator equipped with a user interface that allows all operations for grasping the situation and defining information during simulation execution to be executed on a window.
上記の目的を達成するため、本発明はターゲットプログ
ラムを実行するMPU、周辺LSIを含むターゲットシ
ステムのハードウェア情報の定義、およびMPUの入力
端子への信号の変化状態を示すデータを生成するコンフ
ィグレーション部と、ターゲットシステムを構成する電
気的要素や機械的要素をエンジンとしてソフトウェア的
にシミュレーションするシミュレーションエンジン部と
、前記コンフィグレーション情報を基に、前記各エンジ
ンの起動時間の同期をとってシミュレーションを実行す
るシミュレーションエンジンコントローラとからサブシ
ステムを構成し、前記サブシステムの起動により変化す
る上記エンジン部のメモリ、I/Oメモリ、レジスタの
状態を更新し、かつブレイクまたはトレースの各設定条
件でセット動作を行うアクセス・サービス部を有し、少
なくとも前記設定条件を満足しているときに前記トレー
ス内容を出力するブレイクポイント機能およびターゲッ
トプログラムの実行過程、任意のデータ変化、設定条件
成立前後の上記ターゲットプログラムまたはMPUの状
態を出力するトレース機能を備えるデバッガとを具備す
るものである。In order to achieve the above object, the present invention defines hardware information of a target system including an MPU that executes a target program and peripheral LSIs, and a configuration that generates data indicating change states of signals to input terminals of the MPU. a simulation engine section that performs a software simulation of the electrical and mechanical elements constituting the target system as an engine; and a simulation engine section that synchronizes the startup time of each engine based on the configuration information and executes the simulation. A subsystem is configured from a simulation engine controller that updates the memory, I/O memory, and register states of the engine section that change when the subsystem is started, and performs set operations under each setting condition of break or trace. and a breakpoint function that outputs the trace contents when at least the setting conditions are satisfied, the execution process of the target program, any data changes, the target program before and after the setting conditions are met, or The debugger has a trace function that outputs the state of the MPU.
また、シミュレーションの実行制御、環境設定を操作す
るシミュレーションウィンドウおよびデパック機能の条
件設定、トレース内容を表示するデバッガ用ウィンドウ
を備えている。It also has a simulation window for controlling simulation execution and operating environment settings, and a debugger window for displaying depacking function condition settings and trace contents.
ブレイクトレース機能を実現するために、デバッガはブ
レイクオたはトレース条件をテーブルに登録するセット
処理部と、セット処理時に呼び出され、デバッガ情報を
メモリ等管理テーブルに登録するブレイクトレース管理
の設定部と、シミュレーション実行時にアクセス・サー
ビス部が前記メモリ等管理テーブルにセットするブレイ
クトレースまたはブレイク条件成立情報を監視するブレ
イクトレース管理の監視部と、前記条件成立後に前記監
視部に呼び出され、前記テーブルに登録されたブレイク
またはトレース条件を判定し、該条件成立後にブレイク
またはトレースを実行するブレイクトレース実行処理部
とから構成されている。In order to realize the break trace function, the debugger has a set processing section that registers break or trace conditions in a table, a break trace management setting section that is called during set processing and registers debugger information in a memory management table, etc. a break trace management monitoring unit that monitors the break trace or break condition fulfillment information that the access service unit sets in the memory management table during simulation execution; and a break trace execution processing unit that determines a break or trace condition and executes a break or trace after the condition is satisfied.
セット処理部の起動により、ブレイクまたはトレース設
定ウィンドウで設定されたブレイクトレース情報がテー
ブルにセットされ、同時にブレイクトレース管理の設定
部が呼び出され、ブレイクまたはトレースポイントとし
てライトまたはリードのデバッグ情報がメモリ等管理テ
ーブルにセットされる。By starting the set processing section, the break trace information set in the break or trace setting window is set in the table, and at the same time the break trace management setting section is called, and the write or read debug information is stored as a break or trace point in the memory etc. Set in the management table.
その後、シミュレーションが実行されサブシステムが起
動すると、アクセス・サービス部のメモリアクセスモジ
ュールはメモリ、I/Oメモリ、レジスタにアクセスす
る際に、メモリ管理テーブルのアクセスアドレスにメモ
リ特殊コードがセットされていれば、メモリ等管理テー
ブルにブレイクトレース条件成立情報をセットする。ブ
レイクトレース管理の監視部は、メモリ等管理テーブル
を参照して上記情報のセットを監視する。ブレイクトレ
ース実行処理部は、監視部から呼び出される度にテーブ
ルを参照し、カウントを更新する。After that, when the simulation is executed and the subsystem is started, the memory access module of the access service section will check whether a memory special code is set in the access address of the memory management table when accessing memory, I/O memory, or registers. For example, break trace condition fulfillment information is set in a memory management table. The break trace management monitoring unit monitors the above information set by referring to the memory etc. management table. The break trace execution processing section refers to the table and updates the count every time it is called by the monitoring section.
即ち、シミュレーション実行の際に、アクセス・サービ
ス部を通してメモリ空間のデバッグ情報として設定され
たメモリアドレスに何回目のアクセスでブレイクまたは
トレースするかの判断を行っている。監視部は設定条件
が成立する度に、各実行処理部を起動し、テーブルのカ
ウンタのカウント値をダウンカウントし、そのカウント
が「0」になった時点でブレイクまたはトレースする。That is, when executing a simulation, it is determined through the access service section how many times a memory address set as debug information of the memory space should be accessed to break or trace. Each time a set condition is satisfied, the monitoring section activates each execution processing section, counts down the count value of the counter in the table, and breaks or traces when the count reaches "0".
以下、本発明の実施例を図面に基づいて説明する。なお
、本シミュレータを構成するハードウェアコンフィグレ
ーション機能については、先に同一人が出願した特願平
1−140716号(平成1年6月2日出願)、才なシ
ミュレーションエンジンを含むサブシステムについては
、特願平1−262908号(平成1年/O月11日出
願)に詳細に記述されているので、本出願は上記出願を
引用し、本願発明に関して上記出願に記載されている構
成要素の詳細な説明を省略する。Embodiments of the present invention will be described below based on the drawings. Regarding the hardware configuration function that constitutes this simulator, please refer to Japanese Patent Application No. 1-140716 (filed on June 2, 1999) previously filed by the same person, and regarding the subsystem including the sophisticated simulation engine. , is described in detail in Japanese Patent Application No. 1-262908 (filed on October 11, 1999), so this application cites the above application and describes the constituent elements described in the above application regarding the present invention. Detailed explanation will be omitted.
(1)シミュレータの構成
第2図は、本シミュレータのハードウェア構成の模式図
である。中央処理装置/Oは、本シミュレータの全体の
制御およびデータ処理を行うもので、この中央処理装f
loにはメインメモリ11、内部バス12を介して各種
データおよび指示を入力するキーボード13、処理結果
などを表示するためのデイスプレィ14、およびプログ
ラムやデータを格納するディスク装置15が接続されて
いる。(1) Structure of simulator FIG. 2 is a schematic diagram of the hardware structure of this simulator. The central processing unit/O performs overall control and data processing of this simulator, and this central processing unit f
Connected to lo is a main memory 11, a keyboard 13 for inputting various data and instructions via an internal bus 12, a display 14 for displaying processing results, and a disk device 15 for storing programs and data.
ディスク装置15には、シミュレーション実行時の総て
の処理に関して、その実行中に必要なプログラム本体、
データなどのソフトウェア資源がファイルとして格納さ
れており、プログラムの実行、に際しては、このディス
ク装置15内のプログラムおよびデータをメインメモリ
11にロードし、中央処理装!/Oはこれらのソフトウ
ェア資源を使って必要な処理を実行する。The disk device 15 stores programs necessary for all processing during simulation execution,
Software resources such as data are stored as files, and when executing a program, the program and data in the disk device 15 are loaded into the main memory 11 and the central processing unit executes the program. /O uses these software resources to perform necessary processing.
次に、本シミュレータのソフトウェア構成を実現するた
めのlfi能実現手段を第1図に基づいて説明する。Next, the lfi function realizing means for realizing the software configuration of this simulator will be explained based on FIG.
本シミュレータは、プロダクト名とモジュール名の指定
およびウィンドウの表示を制御すると共に、各セツショ
ンプロセスの起動を実行するシミュレータ管理部200
と、ターゲットシステムの各種のハードウェア的な条件
を設定すると共に、シミュレーションに必要な各種デー
タを生成するコンフィグレーション部300と、 LS
I回路、MP[I等のターゲットシステムのシミュレー
ションを実行するシミュレーション部400と、シミュ
レータの各種情報をグラフィックデイスプレィに表示す
る表示ウィンドウ部500とから構成されている。This simulator includes a simulator management unit 200 that controls the specification of product and module names, window display, and starts each session process.
a configuration unit 300 that sets various hardware conditions of the target system and generates various data necessary for simulation;
It is composed of a simulation section 400 that executes simulation of a target system such as an I circuit or MP[I, and a display window section 500 that displays various information of the simulator on a graphic display.
コンフィグレーション部300は、MPUのクロック、
メモリ、端子等を設定するMPU情報設定部3/Oと、
各種のインタフェース用LSIのコントロール/データ
アドレスの定義や端子の接続関係の定義を行うLSI情
報設定部320と、ターゲットプログラムの実行やタイ
ミングデータのカウントなどに用いられ、シミュレーシ
ョン時の基準となるクロックを設定するマシンクロック
情報設定部330と、シミュレーション状況を画面上で
把握するため、模式的に描かれた記録部上にI/Oボー
トに対応するマークを配置するマシンレイアウト設定部
340と、設定された各種設定データ間の整合性をチエ
ツクすると共に、シミュレーション時に必要となる各種
データの作成を行うコンフィグレーション照合部350
と、ターゲットシステムの動作状態を示す情報、すなわ
ち機構部分のセンサ等の信号レベルを時系列に並べたタ
イミングデータを生成すると共に、この生成されたタイ
ミングデータ、または別途設けられたデータ作成ブロッ
クにより生成されたタイミングデータをシミュレータが
利用できるダイレクト信号データにフォーマット変換す
るタイミングデータ作成変換部360と、他のMPUと
の通信を行うための通信プロトコルの定義およびターゲ
ットシステムのある動作モードを仮定した場合の実際の
通信データの設定を行う通信データ生成部370とから
構成されている。The configuration unit 300 includes an MPU clock,
MPU information setting unit 3/O for setting memory, terminals, etc.;
There is an LSI information setting section 320 that defines control/data addresses of various interface LSIs and terminal connection relationships, and a clock that is used to execute target programs, count timing data, and serve as a reference during simulation. A machine clock information setting section 330 for setting, a machine layout setting section 340 for arranging marks corresponding to I/O boats on a schematically drawn recording section in order to understand the simulation situation on the screen, A configuration verification unit 350 that checks the consistency between various setting data and creates various data required during simulation.
Then, information indicating the operating state of the target system, that is, timing data in which signal levels of sensors, etc. of mechanical parts are arranged in chronological order, is generated, and this generated timing data or a separately provided data creation block is used to generate timing data. A timing data creation/conversion unit 360 that converts the format of the generated timing data into direct signal data that can be used by the simulator, definition of a communication protocol for communicating with other MPUs, and the definition of a communication protocol when assuming a certain operation mode of the target system. It is composed of a communication data generation section 370 that sets actual communication data.
シミュレーション部400は、シミュレーション管理部
4/O、ウィンドウ管理部430エンジン部440、お
よびデバッガ450とから成り、コンフィグレーション
部により定義されたターゲットシステムのハードウェア
情報に基づいてシミュレーションエンジン(以下エンジ
ンと称す)を起動し、このエンジンにテストデータを供
給してターゲットプログラムのデバッグを実行する。The simulation unit 400 includes a simulation management unit 4/O, a window management unit 430, an engine unit 440, and a debugger 450, and runs a simulation engine (hereinafter referred to as the engine) based on the hardware information of the target system defined by the configuration unit. ) and supplies test data to this engine to debug the target program.
表示ウィンドウ部500は、コンフィグレーション部で
の定義情報設定やデータ生成を行う際に、各種データを
ビットマツプデイスプレィ上のウィンドウに表示する。The display window unit 500 displays various data in a window on a bitmap display when setting definition information or generating data in the configuration unit.
シミュレーションの管理には、ウィンドウの生成および
閉成やオープン中のウィンドウにおけるイベントの発生
時にそれぞれのウィンドウにおけるイベント処理実行へ
の分岐などを行う機能、エンジンを起動してシミュレー
ションの実行およびシミュレーション実行時におけるブ
レイク、トレースなどの各種のデバッガ機能の提供など
を行う機能をもっている。Simulation management includes functions such as creating and closing windows, branching to event processing execution in each window when an event occurs in an open window, starting the engine to execute a simulation, and It has functions such as providing various debugger functions such as break and trace.
シミュレーション管理部4/Oは、第3図に示すシミュ
レータウィンドウ5/Oのセツション“’Simula
tion”を指定し−”Go 5ession”選択す
ると、シミュレータ管理部200により呼び出されて起
動し、シミュレーション初期化部420、ウィンドウ管
理部
430、エンジン部440およびデバッガ450を制御
する。The simulation management unit 4/O selects the session "'Simula" of the simulator window 5/O shown in FIG.
When "Go 5ession" is specified and "Go 5ession" is selected, it is called and started by the simulator management section 200, and controls the simulation initialization section 420, window management section 430, engine section 440, and debugger 450.
第4図は、シミュレーション管理部の動作シーケンスを
示すもので、ウィンドウでのイベント処理の有無をみて
、イベント処理があれば各ウィンドウごとに実行し、こ
のイベント処理の終了後にエンジンによるシミュレーシ
ョンを実行し、次いでデバッガを起動してブレイク、ト
レースなどのデバッガ機能を実行する。シミュレーショ
ン実行時には、上記各処理を呼び出しながら図示矢印の
如くループする。Figure 4 shows the operation sequence of the simulation management section. It checks whether or not there is event processing in a window, and if there is event processing, it is executed for each window, and after the event processing is finished, the engine executes the simulation. , then starts the debugger and executes debugger functions such as break and trace. When executing the simulation, the process loops as shown by the arrows while calling each of the above processes.
ウィンドウ管理部430は、各種のシミュレーションや
イベントに関するウィンドウを管理する。The window management unit 430 manages windows related to various simulations and events.
エンジン部440は、システム時間および状態変化によ
りクロックエンジン、MPU命令エンジン、ダイレクト
信号エンジン、通信データエンジン、MPUボートエン
ジン、LSI回路エンジンを起動してシミュレーション
を実行する。The engine unit 440 executes a simulation by starting a clock engine, an MPU instruction engine, a direct signal engine, a communication data engine, an MPU boat engine, and an LSI circuit engine according to system time and state changes.
デバッガ450は、シミ準し−ション内のブレイク、ト
レースなどの機能や、モニタリング、ファイル表示、修
正機能を提供する。The debugger 450 provides functions such as breaking and tracing within stain alignment, as well as monitoring, file display, and correction functions.
(n)ウィンドウ
第5図は、シミュレータウィンドウの中のセツション゛
’Simulation”を指定し “GO5essi
onを選択すると開かれるシミュレーションウィンドウ
である。なお、ウィンドウの初期画面は、モニタリング
ウィンドウにマシンレイアウトが表示されていない状態
である。このウィンドウでは、次の実行を操作すること
ができる。(n) Window Figure 5 specifies the session ``Simulation'' in the simulator window and selects ``GO5essi''.
This is a simulation window that opens when you select on. Note that the initial screen of the window is a state in which the machine layout is not displayed in the monitoring window. This window allows you to manipulate the following executions:
■シミュレーションの実行制御
■シミュレーションの環境(モード)を各種設定■ター
ゲットプログラムの各種選択
■レイアウト図の各種選択
■レジスタ、メモリ等の表示及び設定
■シミュレーション実行中における信号変化のモニタリ
ング、ブレイク、トレース、およびマニュアルで通信デ
ータおよび信号データの入力シミュレーションウィンド
ウ600は、エラーメツセージの表示およびシステム関
係のメツセージを表示するメツセージ表示部601.シ
ミュレーションの実行制御に必要なコマンドが設けられ
たコマンド領域602、およびシミュレーション情報が
設けられたインフォメーション領域604とから構成さ
れている。なお、シミュレーションは、モードコマンド
6022の選択で実行される。■Simulation execution control ■Various settings for simulation environment (mode) ■Various target program selections ■Various layout diagram selections ■Display and settings of registers, memory, etc. ■Monitoring, breaking, tracing, and monitoring of signal changes during simulation execution A simulation window 600 for manually inputting communication data and signal data has a message display section 601 that displays error messages and system-related messages. It consists of a command area 602 in which commands necessary for controlling execution of simulation are provided, and an information area 604 in which simulation information is provided. Note that the simulation is executed by selecting the mode command 6022.
(a)シミュレーションモード
通信データ、タイミングデータ等の外部環境と同期して
ターゲットプログラムのシミュレーションを実行する。(a) Simulation mode Simulation of the target program is executed in synchronization with the external environment such as communication data and timing data.
このモードでは、通信データやタイミングデータなどの
テストデータを連続的に供給して実行するオートモード
、テストデータを同じタイムラベルごと、すなわちデー
タのキューイング上のステップで順次供給して実行する
ステップモード、テストデータをマニュアル設定により
供給して実行するマニュアルモードが選択できる。In this mode, there is an auto mode in which test data such as communication data and timing data is continuously supplied and executed, and a step mode in which test data is supplied and executed sequentially at the same time label, that is, in steps on data queuing. , a manual mode can be selected in which test data is supplied and executed through manual settings.
オートモードは、テストデータを連続的に供給しながら
ターゲットプログラムを走らせるので、該プログラムの
自動デバッグに有効である。Since the auto mode runs the target program while continuously supplying test data, it is effective for automatic debugging of the program.
ステップモードは、同じタイムラベルにあるテストデー
タを供給しである操作段階でのターゲットプログラムを
チエツクする0例えば、ある操作段階として、紙が何時
何分にある位置を通過すると仮定した場合。その時点で
動作すべきハードウェアの状態、例えばモータの駆動を
確かめるセンサ出力の有無をチエツクする。Step mode supplies test data at the same time label to check the target program at a certain operating stage.For example, suppose a paper passes through a certain position at what hour and what minute as a certain operating stage. The state of the hardware to be operated at that time, for example, the presence or absence of a sensor output that confirms the drive of the motor is checked.
マニュアルモードは、テストデータを任意に設定できる
ので、システムの異常系を再現することができる。In manual mode, test data can be set arbitrarily, so system abnormalities can be reproduced.
(b)プログラムモード
ターゲットプログラムのみを対象としたシミュレーショ
ンを実行する。(b) Program mode A simulation is executed for only the target program.
このモードでは、テストデータを使用することなくター
ゲットプログラムを走行させてモニタの働きをチエツク
する。実際にはテストデータを必要とする箇所でテスト
データに変わるものとしてCPUのメモリやレジスタに
値を設定し、プログラムを走らせて行う。In this mode, the target program is run without using test data to check the operation of the monitor. In practice, this is done by setting values in the memory or registers of the CPU as substitutes for test data at locations where test data is required, and running the program.
その他、プログラムモードでは、各ステップやサブルー
チンの実行時間のチエツクを行うことができる。Additionally, in program mode, you can check the execution time of each step or subroutine.
そして、シミュレーションの実行制御は、スタート(S
TART) 、ステップ(STEP)、ストップ(ST
OP)およびリセット(RESET)からなるコマンド
群6021により行われる。Then, the execution control of the simulation is started (S
TART), step (STEP), stop (ST
This is performed by a command group 6021 consisting of OP) and reset (RESET).
” S T A RT ”は、シミュレーションモード
において、通信データおよびタイミングデータを含めた
シミュレーションを実行し、一方プログラムモードにお
いて、ターゲットプログラムのみのシミュレーションを
実行する。"S T A RT" executes a simulation including communication data and timing data in the simulation mode, while in the program mode it executes a simulation of only the target program.
“S T E P ”は、ターゲットプログラムのシミ
ュレーションの実行を1ステツプ毎に実行させる。"STEP" causes the simulation of the target program to be executed step by step.
ここで、1ステツプに関して、シミュレーションモード
では、タイミングデータ中の同時刻に変化する信号デー
タのブロックのことであり、プログラムモードでは、タ
ーゲットプログラムの1命令のことである。Here, in the simulation mode, one step refers to a block of signal data that changes at the same time in timing data, and in the program mode, it refers to one instruction of the target program.
” S T OP ”は、シミュレーションの実行を停
止させる。"S T OP" stops the simulation execution.
” RE S E T ”は、シミュレーションの環境
を初期状態にする。"RESET" sets the simulation environment to its initial state.
(I[I)エンジン
エンジン部全体は、第6図に示すように、シミュレーシ
ョン管理部4/Oにより呼び出され、各エンジンの時開
の同期をとりながらシミュレーションの実行を管理する
シミュレーションエンジンコントローラ441(以下エ
ンジンコントローラと称す)、エンジンを初期化するエ
ンジン初期化部420、エンジンコントローラ441に
より起動される各エンジン442〜447とから構成さ
れている。(I [I) Engine As shown in FIG. 6, the entire engine section is called by the simulation management section 4/O, and the simulation engine controller 441 ( (hereinafter referred to as an engine controller), an engine initialization section 420 that initializes the engine, and engines 442 to 447 that are started by the engine controller 441.
エンジン部440は、主にタイマー/カウンターのクロ
ック端子に入力される定周期パルスを発生するクロック
信号のシミュレーションを行うクロックエンジン442
、ターゲットプログラムの命令を実行するMPU命令エ
ンジン443、LSI回路と外部との間で、入出力され
るダイレット信号のシミュレーションを実行するダイレ
クト信号エンジン444、通信データのシミュレーショ
ンを実行する通信データエンジン445、MPU内蔵ボ
ートのシミュレーションを実行するMPUボートエンジ
ン446、および周辺LSI回路のシミュレーションを
実行するLSI回路エンジン447を備えている。The engine section 440 mainly includes a clock engine 442 that simulates a clock signal that generates a fixed periodic pulse that is input to a clock terminal of a timer/counter.
, an MPU instruction engine 443 that executes instructions of a target program, a direct signal engine 444 that executes a simulation of dielet signals input and output between the LSI circuit and the outside, a communication data engine 445 that executes a simulation of communication data, It includes an MPU boat engine 446 that executes a simulation of an MPU built-in board, and an LSI circuit engine 447 that executes a simulation of a peripheral LSI circuit.
次に、各エンジン間で使用されるリスト、バッファ、テ
ーブルなどのデータを中心に第7図を参照しながら説明
する。Next, data such as lists, buffers, and tables used between each engine will be explained with reference to FIG. 7.
LSI宛ダイレクト信号状変りスト444^は、状態の
変化したダイレクト信号をLSI回路エンジン447へ
知らせるためのデータである。The LSI-destination direct signal state change list 444^ is data for notifying the LSI circuit engine 447 of a direct signal whose state has changed.
ダイレクト信号エンジン宛ダイレクト信号状変りスト4
47^は、状態の変化したダイレクト信号をダイレクト
信号エンジン444へ知らせるためのデータである。Direct signal state change strike 4 addressed to direct signal engine
47^ is data for notifying the direct signal engine 444 of the direct signal whose state has changed.
ダイレクト信号ステートバッファ444Bは、ダイレク
ト信号の状態、すなわち、ハイレベルであるかローレベ
ルであるかを記憶する。Direct signal state buffer 444B stores the state of the direct signal, ie, whether it is high level or low level.
LSI宛MPU端子状変りスト446^は、状態の変化
したMPU端子をLSI回路エンジン447へ知らせる
ためのデータである。The LSI destination MPU terminal state change list 446^ is data for notifying the LSI circuit engine 447 of the MPU terminal whose state has changed.
MPU宛MPU端子状変りスト447Dは、状態の変化
したMPU端子をMPUボートエンジン446へ知らせ
るためデータである。The MPU terminal state change list 447D addressed to the MPU is data for notifying the MPU boat engine 446 of the MPU terminal whose state has changed.
MPU端子ステートバッファ446Bは、MPU端子の
状態、すなわち、ハイレベルであるかローレベルである
かを記憶する。The MPU terminal state buffer 446B stores the state of the MPU terminal, that is, whether it is at high level or low level.
LSI宛クワクロック端子状変ト442^は、カウント
数の変化したリアルバリュークロック信号をLSI回路
エンジン447へ知らせるめのデータであ。The LSI address clock terminal state change 442^ is data for informing the LSI circuit engine 447 of the real value clock signal whose count number has changed.
MPU宛クワクロック端子状変リスト442Fカウント
数の変化したリアルバリュークロック信号をMPUボー
トエンジン446へ知らせるためのデータである。This is data for informing the MPU boat engine 446 of a real value clock signal whose count number has changed.
クロックカウントステートバッファ442Bは、ユーザ
の定義したリアルバリュークロック信号のシステムスタ
ート時間からのトータルカウント値を記憶する。Clock count state buffer 442B stores the total count value of the user-defined real value clock signal from the system start time.
MPU用クロックカウントステートバッファ442Dは
、MPUボートエンジン446が使用しているリアルバ
リュークロック信号のシステムスタート時間からのトー
タルカウント値を記憶する。The MPU clock count state buffer 442D stores the total count value of the real value clock signal used by the MPU boat engine 446 from the system start time.
クロック端子コンフィグテーブル442Cは、リアルバ
リュークロック信号のコンフィグレーション情報として
定義しであるリアルバリュークロック信号の個数、接続
端子情報、カウント値ロケーション情報をもっている。The clock terminal configuration table 442C has the number of real value clock signals, connection terminal information, and count value location information defined as real value clock signal configuration information.
MPU内蔵クロックコ・ンフィグテーブル442Eは、
MPU内蔵のリアルバリュークロック信号の個数、接続
端子情報、カウント値ロケーション、周波数等の情報を
持っている。The MPU built-in clock configuration table 442E is
It has information such as the number of real value clock signals built into the MPU, connection terminal information, count value location, frequency, etc.
LSI発送発送−データリスト445^LSI回路エン
ジン447から通信データエンジン445へ送信するデ
ータを、通信データエンジンへ伝えるためのデータであ
る。このデータは、通信データエンジンがLSI回路エ
ンジンへ送信するデータを発生させる条件としても使用
される。LSI Shipping Shipping-Data List 445^ This is data for transmitting data to be sent from the LSI circuit engine 447 to the communication data engine 445 to the communication data engine. This data is also used as a condition for the communication data engine to generate data to be sent to the LSI circuit engine.
MPU発送発送−データリストMPUボートエンジン4
46から通信データエンジン445へ伝えるデータであ
。MPU Shipping Shipping - Data List MPU Boat Engine 4
46 to the communication data engine 445.
LSI宛受信データリスト445Cは、通信データエン
ジン445からLSI回路エンジン447への受信デー
タをLSI回路データへ知らせるためのデータである。The LSI destination received data list 445C is data for notifying the LSI circuit data of the received data from the communication data engine 445 to the LSI circuit engine 447.
MPU宛受信データリスト445Dは、通信データエン
ジン445からMPUボートエンジン446への受信デ
ータをMPUボートエンジンへ知らせるためのデータで
あ。The MPU destination received data list 445D is data for notifying the MPU boat engine of the received data from the communication data engine 445 to the MPU boat engine 446.
送信バッファ通信情報445Fは、通信LS1.MPU
通信ボートの送信ステータスや1バイトデータの通信デ
ータエンジンへの送信にかかる送信時間を、通信データ
エンジンに知らせるためのデータであり、各データ毎に
送信ステータス及び送信時間の情報を持っている。The transmission buffer communication information 445F is the communication LS1. MPU
This is data for informing the communication data engine of the transmission status of the communication boat and the transmission time required to transmit 1-byte data to the communication data engine, and has information on the transmission status and transmission time for each piece of data.
ここで、送信ステータスは、通信LSI、通信ボートが
送信可能状態であるか否かを規定する。Here, the transmission status defines whether or not the communication LSI and communication boat are in a transmittable state.
受信バッファ通信情報445Gは、通信LSI、MPU
通信ボートの受信ステータスや1バイトデータを通信デ
ータエンジンから受信するのにかかる受信時間を、通信
データエンジンに知らせるためのデータである。The reception buffer communication information 445G includes communication LSI, MPU
This data is used to notify the communication data engine of the reception status of the communication boat and the reception time required to receive 1 byte data from the communication data engine.
送信バッファコンフィグテーブル445Hは、送信バッ
ファのコンフィグレーション情報として、送信バッファ
の個数、送信バッファアドレス、送信バッファ形式1通
信LSIのコンフィグテーブルのロケーション等の情報
を持っている。The transmission buffer configuration table 445H has information such as the number of transmission buffers, transmission buffer addresses, and the location of the configuration table of the transmission buffer type 1 communication LSI as transmission buffer configuration information.
受信バッファコンフィグテーブル445Iハ、受P+バ
ッファのコンフィグレーション情報として、受信バッフ
ァの個数、受信バッファアドレス、受信バッファ形式1
通信LSIのコンフィグテーブルのロケーション等の情
報を持っている。Receive buffer configuration table 445Ic. Receive P+ buffer configuration information including the number of receive buffers, receive buffer address, and receive buffer format 1.
It has information such as the location of the configuration table of the communication LSI.
割込イベントリスト446Bは、割り込みがあったこと
をMPUボートエンジン446からMPU命令エンジン
443に伝えるためのデータである。The interrupt event list 446B is data for transmitting from the MPU boat engine 446 to the MPU instruction engine 443 that an interrupt has occurred.
以下、エンジンの制褌について説明する。Below, we will explain how to control the engine.
各エンジンの同期制御について第8図を参照して説明す
る。Synchronous control of each engine will be explained with reference to FIG.
動作タイミングリクエストリスト441^は、能動的エ
ンジン、すなわち、起動中のエンジン自ら次の動作タイ
ミングをエンジンコントローラ441に通知するための
データが登録される。The operation timing request list 441^ is registered with data for the active engine, that is, the engine that is currently running, to notify the engine controller 441 of the next operation timing.
起動リクエスト制御テーブル441Bは、他のエンジン
の動作環境、例えばLSIの端子レベルをハイまたはロ
ーのいずれかの状態に変化させたエンジンが、起動すべ
きエンジンの起動リクエストリストをデータ付きでコン
トローラに通知するためのテーブルが登録される。The start request control table 441B is a table in which the operating environment of another engine, for example, an engine that has changed the terminal level of an LSI to either a high or low state, notifies the controller of a start request list of engines to be started with data. A table is registered to do this.
リクエストデータは、LSI宛ダイレクト信号状変リス
ト、LSI宛MPU端子状変リスト、MPU宛MPU端
子状変リスト、LSI宛受信データリスト、MPU宛受
信データリスト、LSI宛クロック端子状変リスト、M
PU宛クワクロック端子状変リストイレクト信号エンジ
ン宛ダイレクト信号状変リスト、LSI宛送信データリ
スト。The request data includes a direct signal state change list addressed to LSI, an MPU terminal state change list addressed to LSI, an MPU terminal state change list addressed to MPU, a received data list addressed to LSI, a received data list addressed to MPU, a clock terminal state change list addressed to LSI, M
Quo clock terminal status change list directed to PU Direct signal status change list addressed to engine, transmission data list addressed to LSI.
MPU宛送信データリスト、および割込イベントリスト
である。These are a transmission data list addressed to the MPU and an interrupt event list.
クロックエンジン442.MPU命令エンジン443゜
ダイレクト信号エンジン4441通信データエンジン4
45、MPUボートエンジン446及びLSI回路エン
ジン447の同期は、エンジンコントローラ441が管
理するシステム時間により行われる。このシステム時間
は、各エンジン間の同期をとるための基準時間となる。Clock engine 442. MPU instruction engine 443° Direct signal engine 4441 Communication data engine 4
45. The MPU boat engine 446 and the LSI circuit engine 447 are synchronized using the system time managed by the engine controller 441. This system time serves as a reference time for synchronizing each engine.
エンジンコントローラ441の中に設けられた時間コン
トローラは、各エンジンに現在のシステム時間を知らせ
る。但し、各エンジンのうち、動作タイミングの来たエ
ンジンのみ起動するので、現在のシステム時間を知るこ
とができるのは起動したエンジンのみである。各エンジ
ンは、知らされた時間で後述するような所定の動作と行
う、この動作を麦に次の動作タイミングを動作タイミン
グリクエストリスト461^に書き込む。A time controller located within engine controller 441 informs each engine of the current system time. However, among the engines, only the engine whose operation timing has come is started, so only the started engine can know the current system time. Each engine performs a predetermined operation as described later at the notified time, and writes the next operation timing into the operation timing request list 461^.
各エンジンの起動順序について第9図を参照して説明す
る。The starting order of each engine will be explained with reference to FIG. 9.
エンジンコントローラ441は、動作タイミングリクエ
ストリスト441^及び起動リクエスト制御テーブル4
41Bを参照し、図中、■〜■で示した順序で各エンジ
ンを順次起動する。The engine controller 441 includes an operation timing request list 441^ and a startup request control table 4.
41B, the engines are sequentially started in the order indicated by ■ to ■ in the figure.
二のとき、クロック毎にクロックエンジン442を動作
させると、シミュレーション装置の負荷が重くなるので
、本実施例においては、クロックエンジンの他に、プリ
ステージクロックエンジン4420と呼ばれるエンジン
を設けている。このエンジン4420は、他のエンジン
の動作タイミングで、その一つ航のステージまでのクロ
ック素子、すなわち、クロックをカウントする働きを持
つLSI素子の処理を行う、但し、タロツク素子の出力
端子のレベルが変化するタイミングでは、他のエンジン
の動作に関係なくクロ1クエンジンが動作する。In the second case, operating the clock engine 442 for each clock increases the load on the simulation device, so in this embodiment, in addition to the clock engine, an engine called a prestage clock engine 4420 is provided. This engine 4420 processes the clock elements up to the first stage, that is, the LSI elements that function to count clocks, at the operating timing of other engines. However, the level of the output terminal of the tallock element is At the timing of the change, the clock engine operates regardless of the operation of other engines.
なお、ステージとは、シミュレータがシミュレーション
を実行するのに必要な最小時間分解能時間帯である0例
えば、あるターゲットプログラムをシミュレーションす
る場合、1命令を実行するのにエンジンが必要とする動
作時間である。Note that a stage is the minimum time resolution time period required for the simulator to execute a simulation.For example, when simulating a certain target program, it is the operating time required by the engine to execute one instruction. .
各エンジンの動作を起動順に説明する。先ず、ブリステ
ージクロックエンジンが起動されると、内部カウンタの
更新処理等を行うLSIエンジンクロック処理部442
1.及びMPUボートエンジンの基準時間の算出及び設
定を行うMPUボートエンジンクロック処理部4422
が動作して、上述したように、LSI回路エンジン44
7及びMPUボトエンジン446において、実際の起動
タイミングより前に予めクロック処理を行う。たとえば
、LSIエンジンクロック処理部4421では、クロッ
クを使用するr8253 、等のLSIをシミュレート
する場合、内部カウンタの更新処理のみ行う。The operation of each engine will be explained in order of startup. First, when the Blistage clock engine is started, the LSI engine clock processing section 442 performs updating processing of internal counters, etc.
1. and an MPU boat engine clock processing unit 4422 that calculates and sets the reference time of the MPU boat engine.
operates, and as described above, the LSI circuit engine 44
7 and the MPU bottom engine 446 perform clock processing in advance before the actual startup timing. For example, when simulating an LSI such as the R8253 that uses a clock, the LSI engine clock processing unit 4421 only performs processing for updating an internal counter.
MPU命令エンジン443が起動されると、MPUエン
ジンのI/O命令により呼び出され、アドレスに対応し
たLSIエンジンMPU I/O処環部4470とM
PUボートエンジンI/O処理部4460を動作させる
。When the MPU instruction engine 443 is started, it is called by the MPU engine's I/O instruction, and the LSI engine MPU I/O processing section 4470 and MPU corresponding to the address are called.
The PU boat engine I/O processing unit 4460 is operated.
各LSIには、データアドレスやコントロールアドレス
と呼ばれるメモリエリアがあり、このアドレスは、MP
Uのアドレス空間内に組み込まれ、MPUのI/O命令
により直接データの読み書きができるものがある。この
アドレス空間は、I/Oアドレスと呼ばれている。Each LSI has memory areas called data addresses and control addresses, and these addresses are
Some are built into the address space of the U and can directly read and write data using MPU I/O commands. This address space is called an I/O address.
MPU I/O処理部4470は、上記アドレスにM
PUの命令によりデータの読み書きが行われたことに対
するLSI側の反応を処理する。The MPU I/O processing unit 4470 sends MPU to the above address.
Processes the response on the LSI side to data reading and writing performed by the PU command.
すなわち、LSIの端子レベルが変化した場合、このレ
ベルの変化をLSIリクエストリスト447Cに書込み
、そのLSIの端子に接続された他のLSIに変化を伝
える。That is, when the terminal level of an LSI changes, this level change is written to the LSI request list 447C, and the change is transmitted to other LSIs connected to the terminal of that LSI.
LSIリクエストリスト447Cは、LSI回路エンジ
ンのシミュレーション中に発生する端子レベルの変化を
各LSIエンジンへ知らせるためのものであり、回路レ
ベル別のリストが作成される。The LSI request list 447C is for notifying each LSI engine of changes in the terminal level that occur during simulation of the LSI circuit engine, and a list is created for each circuit level.
一方、MPUボートエンジンI/O処理部4460では
、MPUボートへのI/O命令によりボート動作を実行
し、LSI宛MPU端子状変りスト446^を書き換え
る。On the other hand, the MPU boat engine I/O processing unit 4460 executes a boat operation according to an I/O command to the MPU boat, and rewrites the MPU terminal state change list 446^ addressed to the LSI.
クロックエンジン442が起動されると、LSI宛クワ
クロック端子状変ト442^及びMPU宛クロック端子
状変リスト442Fを書き換え、その内容がLSI回路
エンジン及びMPUボートエンジンに伝えられる。When the clock engine 442 is activated, it rewrites the LSI clock terminal state change list 442^ and the MPU clock terminal state change list 442F, and the contents are transmitted to the LSI circuit engine and the MPU boat engine.
ダイレクト信号エンジン444が起動されると、LSI
宛ダイレクト信号状変りスト444^が書き換えられ、
その内容がLSI回路エンジンへ伝えられる。When the direct signal engine 444 is activated, the LSI
Addressed direct signal status change list 444^ is rewritten,
The contents are transmitted to the LSI circuit engine.
通信データエンジン445が起動されると、LSI宛受
信データリスト445C及びMPU宛受信デタリスト4
45Dが書き換えられ、LSI回路エンジン及びMPU
ボートエンジンに伝えられる。When the communication data engine 445 is activated, the LSI destination reception data list 445C and the MPU destination reception data list 4
45D is rewritten, LSI circuit engine and MPU
transmitted to the boat engine.
MPUボートエンジン446が起動されると、LSI宛
MPtJ端子状変りスト446^1割込イベントリスト
446B及びMPU発送発送−データリスト445Bき
換えられ、LSI回路エンジン、MPU命令エンジン及
び通信データエンジンにそれぞれ伝えられる。When the MPU boat engine 446 is started, the MPtJ terminal state change list 446^1 addressed to the LSI is replaced with the interrupt event list 446B and the MPU dispatch data list 445B, and sent to the LSI circuit engine, MPU instruction engine, and communication data engine, respectively. Reportedly.
LSI回路エンジン447が起動されると、送信データ
リスト445^、MPU宛MPU端子状変りスト447
D及びダイレクト信号エンジン宛ダイレクト信号状変り
スト447^が書き換えられ、通信データエンジン、M
PUボートエンジン及びダイレクト信号エンジンにそれ
ぞれ伝えられるに
の後、再度MPUボートエンジンが起動され、最後にL
SI回路エンジンが起動される。When the LSI circuit engine 447 is started, the transmission data list 445^ and the MPU terminal state change list 447 addressed to the MPU are sent.
The direct signal status change list 447^ addressed to D and direct signal engine is rewritten, and communication data engine, M
After being transmitted to the PU boat engine and the direct signal engine, the MPU boat engine is started again, and finally the L
The SI circuit engine is started.
このような順序でエン、ジンを起動するのは、他のエン
ジンに影響を与えるエンジンを先に実行し、他のエンジ
ンの実行からの影響を受けるエンジンを後に実行するた
めである。The reason why engines are started in this order is to run engines that affect other engines first, and run engines that are affected by the execution of other engines later.
ところでMPUの端子とLSI回路の素子間でループが
作られる可能性があり(はとんど皆無に近いが)、それ
はLSI回路のコンフィグレーションでは見つけられな
い。そのためMPUボートエンジンとLSI回路エンジ
ン間で起動のループが考えられている。(第9図■■■
■参照)例えば、MPUのクロックをカウントしてLS
Iのクロック端子の状態を変化させる処理を想定した場
合、先ずMPUボートエンジンでクロックをカウントし
、このカウント値でLSIのクロック端子の状態変化を
制御する。そして、LSIエンジンは、上記カウント値
に基づいてクロック端子の状態を変化させた後、その結
果をMPUボートエンジンに知らせて割込イベントの実
行を要求する。By the way, there is a possibility (almost never) that a loop will be created between the MPU terminal and the LSI circuit element, and this cannot be found in the LSI circuit configuration. Therefore, a startup loop is considered between the MPU boat engine and the LSI circuit engine. (Figure 9■■■
(See ■) For example, count the MPU clock and
When assuming processing to change the state of the clock terminal of an LSI, first, the MPU boat engine counts clocks, and this count value controls the change of state of the clock terminal of the LSI. After changing the state of the clock terminal based on the count value, the LSI engine notifies the MPU boat engine of the result and requests execution of the interrupt event.
(1%’)シミュレータの作用
ウィンドウによりシミュレーションの実行に必要な操作
を完了した時点で“5TART”を選択すると、シミュ
レーション管理部によりエンジン初期化部が呼び出され
、各エンジンの初期化が実行され、エンジンコントロー
ラにより各エンジンが予め定められた順番で起動され、
シミュレーションが実行される。以下、シミュレーショ
ンモードを選択した場合を説明する。(1%') When "5TART" is selected after completing the operations necessary for simulation execution using the simulator's action window, the engine initialization section is called by the simulation management section and initialization of each engine is executed. The engine controller starts each engine in a predetermined order.
A simulation is run. The case where simulation mode is selected will be explained below.
エンジンコントローラは、先ず動作タイミングリストを
見てプリステージクロックエンジンを呼び出し、LSI
エンジンクロック処理部とMPボートエンジンクロック
処理部を起動してLSIの内部カウンタの更新処理やM
PUボートエンジンで使用する周波数のクロックカウン
トの算出および設定を行う。The engine controller first looks at the operation timing list, calls the prestage clock engine, and then
The engine clock processing unit and the MP boat engine clock processing unit are activated to update the internal counters of the LSI and
Calculate and set the frequency clock count used by the PU boat engine.
次いで、MPU命令エンジンが呼び出され、LSIエン
ジンMPU I/O処理部とMPUボートエンジンI
/O処理部が起動される。Next, the MPU instruction engine is called, and the LSI engine MPU I/O processing section and the MPU boat engine I
/O processing section is activated.
LSIエンジンMPU I/O処理部は、LSI回路
エンジンのシミュレーション中に発生する端子の変化を
各LSIエンジンに伝えるために、そのLSIの端子の
コンフィグレーション情報もっているコンフィグテーブ
ルのロケーション情報が回路レベルごとにLSIリクエ
ストリストとして作成される。In order to notify each LSI engine of changes in pins that occur during simulation of the LSI circuit engine, the LSI engine MPU I/O processing unit stores location information of the configuration table containing configuration information of the pins of the LSI for each circuit level. It is created as an LSI request list.
一方MPUボートエンジンI/O処理部は、MPUボー
トへのI/O命令で、ボート動作の実行を行う。On the other hand, the MPU boat engine I/O processing unit executes a boat operation by issuing an I/O command to the MPU boat.
その結果に基づいて、上記I/O処理部は、状態の変化
したMPU端子をLSI回路エンジンへ知らせるための
LSI宛MPU端子状変リストを作成し、そのリスト内
容を起動リクエスト制御テーブルに登録する。その後の
LSI回路エンジンの起動において、状態の変化したM
PU端子は、LSI宛MPU端子状態リストを見て知る
ことができ、そのステート情報はMPU端子ステートバ
ッファからハイ又はローのいずれかの状態で知り、他の
エンジンからの情報との関連処理に利用される。Based on the results, the I/O processing unit creates an MPU terminal status change list addressed to the LSI to notify the LSI circuit engine of the MPU terminals whose status has changed, and registers the contents of the list in the startup request control table. . In the subsequent startup of the LSI circuit engine, the state of M
The PU terminal can be known by looking at the MPU terminal state list addressed to the LSI, and its state information is known as either high or low from the MPU terminal state buffer, and is used for processing related to information from other engines. be done.
MPU命令エンジンのシステム時間が経過すると、エン
ジンコントローラは、動作タイミングリクエストリスト
と起動リクエスト制御テーブルを参照して現在のシステ
ム時間に最も近いシステム時間を持つエンジンに対して
そのシステム時間を設定する。例えば、上記システム時
間がクロックエンジンに設定されると、タロツクエンジ
ン起動し、クロック端子コンフィグテーブルおよびMP
U内蔵内蔵クロックコンフィーテーブル照してLSI回
路エンジンおよびMPUボートエンジンにカウント数の
変化のあったリアルバリュークロック信号を知らせるた
めのLSI宛クロック端子状態リストおよびMPU宛ク
ワクロック端子状変リスト成して上記エンジンに送ると
共に、そのリスト内容を起動リクエスト制御テーブルに
登録する。When the system time of the MPU instruction engine has elapsed, the engine controller refers to the operation timing request list and the startup request control table and sets the system time for the engine that has the system time closest to the current system time. For example, when the above system time is set in the clock engine, the tarok engine is started and the clock terminal configuration table and MP
Creates a clock terminal status list for the LSI and a list of clock terminal status changes for the MPU to notify the LSI circuit engine and MPU boat engine of real-value clock signals whose counts have changed based on the U built-in clock configuration table. In addition to sending the list to the engine, the contents of the list are registered in the activation request control table.
そして状態の変化したリアルバリュークロック信号のカ
ウント値をクロックカウントステートバッファおよびM
PU用クロックカウントステートバッファに格納する。Then, the count value of the real value clock signal whose state has changed is stored in the clock count state buffer and M
Store in clock count state buffer for PU.
前記同様に、エンジンコントローラによりダイレクト信
号エンジンが起動されると、状態変化のあったダイレク
ト信号をLSI回路エンジンに知らせるためのLSI宛
ダイレクト信号状変リストを作成してLSI回路エンジ
ンに送ると共に、そのリスト内容を起動リクエスト制御
テーブルに登録する。Similarly to the above, when the direct signal engine is activated by the engine controller, a list of direct signal status changes addressed to the LSI is created and sent to the LSI circuit engine to notify the LSI circuit engine of direct signals that have changed status. Register the list contents in the startup request control table.
ここで、複数のMPUモジュールにより構成されるマル
チシステムにおいては、各MPUモジュールで行われる
通信データのシミュレーションが行われる。Here, in a multi-system composed of a plurality of MPU modules, a simulation of communication data performed by each MPU module is performed.
通信データエンジンが起動されると、受信または送−信
バッファ通信情報ファイルを見て通信先のデバイスが通
信可能状態にあるのかを確がめな後、送信および受信バ
ッファコンフィグテーブルを参照してLSI回路エンジ
ンおよびMPUボートエンジンに受信データがあること
、および受信データが格納されている受信データバッフ
ァを知らせるためのLSI宛受信データリストおよびM
PU宛受信データリストを作成して上記各エンジンに送
ると共に、1バイトの送信または受信時間からデータの
通信時間を算出する。この情報は、ユーザの要求によっ
て表示される。その後、リスト内容は起動リクエスト制
御テーブルに登録される。When the communication data engine is started, it checks the reception or transmission buffer communication information file to confirm whether the communication destination device is in a communicable state, and then refers to the transmission and reception buffer configuration table to configure the LSI circuit. A list of received data addressed to the LSI and M
A list of received data addressed to the PU is created and sent to each of the engines, and the data communication time is calculated from the transmission or reception time of one byte. This information is displayed at the user's request. Thereafter, the contents of the list are registered in the activation request control table.
ある通信データエンジンのシステム時間が経過してMP
Uボートエンジンが起動されると、クロック端子状変リ
ストを参照してクロック端子のリアルバリュークロック
信号のトータルカウント値をMPU用クロックカウント
ステートバッファがら取り入れ、このタロツク信号に基
づいて受信データリストおよびMPU宛端子状変リスト
を参照して状態変化のあったMPU端子をLSI回路エ
ンジンに知らせるためのLSI宛MPU端子状変リスト
を作成する共に、そのリスト内容を起動リクエスト制御
テーブルに登録する。After the system time of a communication data engine has passed, the MP
When the U-boat engine is started, it refers to the clock terminal state change list, takes in the total count value of the real value clock signal of the clock terminal from the MPU clock count state buffer, and based on this tally signal, reads the received data list and the MPU. Referring to the destination terminal state change list, an LSI destination MPU terminal state change list is created to inform the LSI circuit engine of the MPU terminal that has undergone a state change, and the contents of the list are registered in the activation request control table.
ここで、MPUボートの中で割込処理を行うボートに状
態の変化があれば、それに対応したイベントリストを割
込イベントリストに書き込む。Here, if there is a change in the state of a boat that performs interrupt processing among the MPU boats, an event list corresponding to the change is written in the interrupt event list.
また通信データエンジンへ送信するデータがある場合、
送信可能情報と1バイトの送信時間を通信データエンジ
ンに知らせるための受信バッファ通信情報を作成すると
共に、送信先の送信バッファ。Also, if there is data to be sent to the communication data engine,
A receive buffer for notifying the communication data engine of transmittable information and 1-byte transmission time, and a transmit buffer for the destination.
送信時間、送信データ、送信情報を並べた送信データリ
ストを作成して、通信データエンジンに送ると共に、そ
のリスト内容を起動リクエスト制御テーブルに登録する
。A transmission data list in which transmission time, transmission data, and transmission information are arranged is created and sent to the communication data engine, and the contents of the list are registered in the activation request control table.
あるエンジンのシステム時間が経過してLSI回路エン
ジンが起動されると、LSI宛クコクロック端子状変リ
スト状態変化のあったクロック端子がどのLSIに接続
されているクロック端子であるのかをクロック端子コン
フィグテーブルを参照して特定し、そのクロック端子の
リアルバリュークロック信号のトータルカウント値をク
ロックカウントステートバッファから読み出し、このク
ロック信号に基づいて上記同様の受信バッファ通信情報
を作成すると共に、送信先の送信バッファ。When the system time of a certain engine has passed and the LSI circuit engine is started, a clock terminal status change list for the LSI is displayed.The clock terminal whose status has changed is connected to which LSI in the clock terminal configuration. The total count value of the real value clock signal of that clock terminal is read from the clock count state buffer, and based on this clock signal, receive buffer communication information similar to the above is created, and the transmission destination is buffer.
送信時間、送信データからなる送信情報を並べた送信デ
ータリストを作成して通信データエンジンに送る。そし
て、状態変化のあったMPU端子をMPUボートエンジ
ンに知らせるためのMPtJ宛MPU端子状変リストを
、また状態変化のあったダイレクト信号をダイレクト信
号エンジンに知らせるためのダイレクト信号エンジン宛
ダイレクト信号状変リストとを作成すると共に、それら
のリスト内容を起動リクエスト制御テーブルに登録する
。A transmission data list is created in which transmission information consisting of transmission time and transmission data is arranged and sent to the communication data engine. Then, an MPU terminal status change list addressed to MPtJ is sent to notify the MPU boat engine of the MPU terminal that has changed in status, and a direct signal status change list is sent to the direct signal engine to notify the direct signal engine of the direct signal that has changed status. At the same time, the contents of the list are registered in the activation request control table.
(V) デバッガ
デバッガは、第1図に示すように、シミュレーション管
理部により管理され、シミュレーションの実行と同時に
ユーザに対してブレイクポイント機能、トレース機能、
メモリおよびレジスタ設定・表示機能、モニタリング機
能、セットアツプ機能を提供する0次に上記各機能につ
いて説明する。(V) Debugger As shown in Figure 1, the debugger is managed by the simulation management section and provides breakpoint functions, trace functions, etc. to the user at the same time as the simulation is executed.
Each of the above-mentioned functions will be explained below, which provides memory and register setting/display functions, monitoring functions, and set-up functions.
(V−1)ブレイクポイント機能
ターゲットプログラムの走行を、ある条件が成立したと
きに止める機能である。(V-1) Breakpoint function This is a function that stops running the target program when a certain condition is met.
本機能は、プログラムが設定条件を通過するのかどうか
を確認したり、その条件成立時のメモリやレジスタの内
容をチエツクするのに使う。This function is used to check whether the program passes the set conditions, and to check the contents of memory and registers when the conditions are met.
第/O図は、各種ブレイクポイントの設定とその実行を
行うためのモジュール構成である。FIG. 2 shows a module configuration for setting and executing various breakpoints.
ウィンドウ管理部430は、シミュレータ管理部200
が管理するシミュレーションウィンドウイベントハンド
ラ4300および該ウィンドウイベントハンドラにより
開かれた各種ウィンドウのイベントハンドラ431を管
理している。The window management unit 430 is the simulator management unit 200
The simulation window event handler 4300 managed by the window event handler 4300 and the event handlers 431 of various windows opened by the window event handler are managed.
ウィンドウ生成部43/Oは、シミュレーションウィン
ドウ600のデバッガコマンド6023から°’Bre
akpaint”を指定すると、シミュレーションウィ
ンドウイベントハンドラ4300により起動され、第1
1図に示すブレイクポイント設定ウィンドウが開かれる
。The window generation unit 43/O executes °'Bre from the debugger command 6023 of the simulation window 600.
akpaint” is activated by the simulation window event handler 4300, and the first
The breakpoint setting window shown in Figure 1 will open.
ブレイクポイント設定ウィンドウ700は、設定、削除
などの操作を実行するコマンドが設けられたコマンド選
択部フ01、どの条件でブレイクするかを指定するパラ
メータが設けられたパラメータ表示部702と、設定さ
れたブレイク条件を表示するエントリポイント表示部7
03を備えている。The breakpoint setting window 700 includes a command selection section F01 in which commands for executing operations such as setting and deletion are provided, a parameter display section 702 in which parameters are provided for specifying which conditions to break, and Entry point display section 7 that displays break conditions
It is equipped with 03.
ウィンドウ描画部4311は、指定されたパラメータや
設定されたブレイクポイントをウィンドウ内に表示する
ための処理を行う。The window drawing unit 4311 performs processing for displaying specified parameters and set breakpoints in a window.
セット処理部4312は、コマンド°’Set”を指定
することにより起動し、パラメータで指定されている内
容をブレイクポイントテーブルに登録する。The set processing unit 4312 is activated by specifying the command °'Set'' and registers the contents specified by the parameters in the breakpoint table.
クリア処理部4313は、“C1ear”を指定するこ
とにより起動し、現在選択しているエントリポイントの
み削除する。The clear processing unit 4313 is activated by specifying "C1ear" and deletes only the currently selected entry point.
クリアオール処理部4314は、“C1ear^11゛
を指定することにより起動し、エントリポイント表示部
703に表示されている全てのブレイクポイントを削除
する。The clear all processing unit 4314 is activated by specifying “C1ear^11” and deletes all breakpoints displayed in the entry point display unit 703.
上記セット処理、クリア処理、クリアオール処理が実行
されると、後述のアクセス・サービス部のブレイクトレ
ース管理の設定部が呼び出され、メモリ管理テーブルの
情報の更新が行われる。When the set processing, clear processing, and clear all processing are executed, a break trace management setting section of the access service section, which will be described later, is called and the information in the memory management table is updated.
ヒストリ処理部4315は、°゛旧st o r y
”を指定することにより起動し、ブレイクポイントヒス
ドリフアイルの内容をポツプアップメニューで表示する
。The history processing unit 4315
” to display the contents of the breakpoint history file in a pop-up menu.
イグジット処理部4316は、”Exit”を指定する
ことにより起動し、ウィンドウ閉成部4317を動作さ
せてウィンドウ700を閉じる。The exit processing unit 4316 is started by specifying “Exit” and operates the window closing unit 4317 to close the window 700.
情報設定部4318は、ウィンドウから入力されるデー
タとして、メモリ・レジスタ情報、リード/ライト種別
、ヘックス(Hex)またはバイナリ−(Binary
)によるデータ形式、ブレイクカウントの設定処理を行
う。The information setting unit 4318 inputs data input from the window such as memory register information, read/write type, hex (Hex) or binary (Binary).
) to set the data format and break count.
上記各部の機能は、以下に説明する信号タイミングトレ
ース、クロックカウントトレース、ランニングトレース
、ホルトトレースのモジュール構成と基本的に共通する
ものなので、各トレースではその説明分省略する。また
タイミングデータトレース、ランタイムサンプリング、
メモリダンプのモジュール構成の一部が基本的に同一機
能をもって構成されているので、その説明も省略する。The functions of the above-mentioned parts are basically the same as the module configurations of the signal timing trace, clock count trace, running trace, and halt trace described below, so the explanation for each trace will be omitted. Also timing data trace, runtime sampling,
Since some of the module configurations of the memory dump are basically configured with the same functions, their explanations will be omitted.
ブレイクポイント機能は、インタフェースデータとして
メモリ、I/Oメモリ、レジスタ管理テーブル430^
(以下メモリ等管理テーブルと称す)、および内部デー
タとしてブレイクポイントテーブル431^、ブレイク
ポイントヒスドリフアイル431Bからなるデータ構成
により実行される。The breakpoint function uses memory, I/O memory, and register management table 430 as interface data.
(hereinafter referred to as a memory management table), a breakpoint table 431^, and a breakpoint history file 431B as internal data.
以下、データ処理について説明する。The data processing will be explained below.
デバッガは、レジスタやメモリを一括管理しており、各
種機能を満たすために、レジスタ、メモリ、■/Oメモ
リの実際のデータが格納されているテーブル以外に、そ
れぞれの管理テーブルを持っている。The debugger collectively manages registers and memory, and has respective management tables in addition to the tables storing the actual data of registers, memory, and /O memory in order to satisfy various functions.
(a)レジスタ管理
レジスタテーブル、レジスタ関係テーブル、およびレジ
スタ管理テーブルによって行なわれる。(a) Register management This is done using a register table, register relationship table, and register management table.
レジスタテーブルは、実際のMPUのレジスタと同一サ
イズのテーブルで同じ働きをする。The register table has the same size as the actual MPU register and functions in the same way.
レジスタ関係テーブルは、全てのレジスタにっいてレジ
スタベアなどの関iを定義しており、そのテーブル構造
の一例を第12図(a)に示す。The register relationship table defines relationships i such as register bears for all registers, and an example of the table structure is shown in FIG. 12(a).
尚、第1表は、M P U 78/O/7811のHL
レジスタのレジスタ関係テーブルの設定例である。Furthermore, Table 1 shows the HL of MPU 78/O/7811.
This is an example of setting a register relationship table for registers.
第1表
レジスタ管理テーブルは、ブレイクポイントやトレース
ポイントの設定状況などの情報を持っており、そのテー
ブル構成の一例を第12図(b)に示す。The register management table shown in Table 1 has information such as the setting status of break points and trace points, and an example of the table structure is shown in FIG. 12(b).
レジスタトータルフラグは、ブレイクトレース管理が効
率よくブレイクトレース処理を行えるように設けられた
フラグで、ブレイクポイント/トレースポイントが設定
されているレジスタへのアクセスがなかった場合は「0
」、またアクセスがあった場合には「0」以外がセット
される。The register total flag is a flag set so that the break trace management can perform break trace processing efficiently.If there is no access to the register where a break point/trace point is set, the register total flag is set to 0.
”, and if there is an access, a value other than “0” is set.
デバッグ情報は、ブレイクポイントの設定状態を表すデ
ータがセットされる。The debug information is set with data representing the breakpoint setting state.
レジスタ関係テーブルポイントは、レジスタアクセス・
モジュールがレジスタへアクセスしたときに、そのレジ
スタに関係するレジスタについて、デバッグ情報がセッ
トされているかどうかを見るために使用する。Register relationship table points are register access/
When a module accesses a register, it is used to check whether debug information is set for the register related to that register.
フラグは、レジスタにブレイクポイント/トレースポイ
ントが設定されていないか、もしくは設定されていても
、上記ポイントへのアクセスがなかった場合は「0」、
またレジスタにブレイクポイント/トレースポイントが
設定されており、かつレジスタへのアクセスがあった場
合には「0」以外がセットされる。The flag is "0" if no breakpoint/tracepoint is set in the register, or if the breakpoint/tracepoint is set but the above point is not accessed.
Further, if a breakpoint/tracepoint is set in a register and the register is accessed, a value other than "0" is set.
(b)メモリ管理
メモリテーブルおよびメモリ管理テーブルによって行な
われる。(b) Memory management is performed using a memory table and a memory management table.
メモリテーブルは、MPUの空間であり、ターゲットプ
ログラムも本テーブルにロードされる。The memory table is a space of the MPU, and the target program is also loaded into this table.
メモリ管理テーブルは、ブレイクポイントやトレースポ
イントの設定状況などの情報を持っている。ブレイクポ
イントやトレースポイントが設定されると、該当アドレ
スのメモリには、後述のメモリ特殊コードがセットされ
、実際のデータは本テーブル内にセットされる。The memory management table has information such as the setting status of breakpoints and tracepoints. When a breakpoint or tracepoint is set, a special memory code (described later) is set in the memory at the corresponding address, and the actual data is set in this table.
なお、本テーブルは、ブレイクポイントトレースポイン
トが設定されたメモリアドレスについてのみ作成される
。Note that this table is created only for memory addresses where breakpoint trace points are set.
第13図はメモリ管理テーブルの構成の一例である。FIG. 13 shows an example of the structure of the memory management table.
メモリトータルフラグは、前述のレジスタトータルフラ
グと同じ主旨で設けられたもので、ブレイクポイント/
トレースポイントが設定されているメモリアドレスへの
アクセスがなかった場合は「0」、またアクセスがあっ
た場合には「0」以外がセットされる。The memory total flag is provided for the same purpose as the register total flag described above, and is used for breakpoints/
If there is no access to the memory address where the trace point is set, "0" is set, and if there is an access, a value other than "0" is set.
デバッグ情報は、トレースポイントの設定状態を表すデ
ータが設定される。As the debug information, data representing the setting state of the trace point is set.
アドレスは、デバッグ情報がセットされたメモリアドレ
スである。The address is a memory address where debug information is set.
データは、メモリテーブル上にあった実データである。The data is the actual data that was on the memory table.
次に、トレースポイント設定時のメモリテーブルとメモ
リ管理テーブルに登録されるデータについて第14図を
参照しながら説明する。Next, data registered in the memory table and memory management table when setting a trace point will be explained with reference to FIG. 14.
トレースポイント設定前のメモリテーブルには、アドレ
スに実データが登録されており、ここであるアドレスの
実データにトレースポイントが設定されると、この実デ
ータに代ってメモリ特殊コードが設定される。このとき
の実データは、メモリ管理テーブルにアドレスと共に登
録される。第14図は、アドレスr 0002 、の実
データ「f7」にトレースポイントが設定されたときの
各テーブルの設定例であり、メモリテーブルにはアドレ
ス「0002」にメモリ特殊コードrxxJがセットさ
れ、同時にメモリ管理テーブルにはアドレスr 0O0
2Jおよびデータ「f7」がセットされる。In the memory table before a trace point is set, actual data is registered at an address, and when a trace point is set at the actual data at a certain address, a memory special code is set in place of this actual data. . The actual data at this time is registered in the memory management table together with the address. Figure 14 shows an example of settings for each table when a trace point is set at the actual data "f7" at address r 0002, and at the same time a memory special code rxxJ is set at address "0002" in the memory table. The address r 000 is in the memory management table.
2J and data "f7" are set.
メモリ特殊コードとは、メモリアドレスに、ブレイクポ
イントやトレースポイントなどの設定がなされたとき、
メモリテーブル内にある実データに代わりセットされる
データである。Memory special code means that when a breakpoint or tracepoint is set at a memory address,
This is data set in place of the actual data in the memory table.
メモリアクセス・モジュールはメモリ(テーブル)への
アクセス時、アクセスするアドレスのデータがメモリ特
殊コードであるかどうかを調べ、メモリ特殊コードであ
れば、メモリ管理テーブルの方のデータに対して、リー
ド/ライトします6もちろん、メモリ管理テーブルに登
録されていなければ、メモリ特殊コードとみなさず、メ
モリテーブルのデータが実データとして、リード/ライ
トされる。なお、メモリ特殊コードはレジスタにおいて
も、あるいはブレイクポイント設定においても同様に使
用される。When accessing memory (table), the memory access module checks whether the data at the address to be accessed is a memory special code, and if it is a memory special code, reads/writes the data in the memory management table. Write 6 Of course, if it is not registered in the memory management table, it will not be regarded as a memory special code, and the data in the memory table will be read/written as actual data. Note that memory special codes are similarly used in registers and in setting breakpoints.
ブレイクポイントテーブル431^は、ブレイクポイン
トの設定状況の詳細を格納しており、ぞのテーブル構造
の一例を第15図に示す。The breakpoint table 431^ stores details of the breakpoint setting status, and an example of the table structure is shown in FIG. 15.
ここで、カウンタは、初期値(=カウント)でブレイク
条件成立の度にダウンカウントし、「0」でブレイクす
る。Here, the counter counts down at an initial value (=count) every time a break condition is satisfied, and breaks at "0".
マスクは、フォーマットがバイナリ−のとき、r□、、
rl、のいずれでもサポートするためのマスクデータで
ある。When the format is binary, the mask is r□, ,
This is mask data for supporting both rl and rl.
例えば、(0××1××××)のとき、データは(00
01oooo >とセットされ、マスクデータは(/O
0/O000)となる、シミュレーション実行時のアク
セスデータが(0111/O00)のとき、ブレイクポ
イント判定部はマスクデータにおいて「1」が立ってい
るビットについてのみチエツクし、ブレイク条件が満た
されているか否かの判定を行う。このケースにおいて、
マスクデータとアクセスデータの中で共に[IJが立っ
ているのは4番目のビットであるから、このチエツクに
より作られるデータ(000/O000)が比較対象で
あるブレイクポイントテーブルのデータ(000/O0
00)に一致しているので、ブレイク条件が成立してい
ると判定される。For example, when (0××1××××), the data is (00
01oooo >, and the mask data is (/O
0/O000), and the access data at the time of simulation execution is (0111/O00), the breakpoint determination unit checks only the bits that are set to "1" in the mask data, and checks whether the break conditions are met. Make a determination as to whether or not. In this case,
Since [IJ is set in the fourth bit of both mask data and access data, the data (000/O000) created by this check is the data (000/O0) of the breakpoint table to be compared.
00), it is determined that the break condition is satisfied.
ブレイクポイントヒスドリフアイルは、上記ブレイクポ
イントテーブルをディスクファイルとして格納する。The breakpoint history file stores the breakpoint table as a disk file.
ブレイクトレース管理は、第16図に示すように、各セ
ット処理部4312.4332によって呼び出される設
定部4320およびサブシステムの起動中にトレース条
件成立ごとにシミュレーション管理部4/Oによって呼
び出される監視部4321とから構成されている。As shown in FIG. 16, break trace management includes a setting section 4320 called by each set processing section 4312, 4332, and a monitoring section 4321 called by the simulation management section 4/O each time a trace condition is established during startup of the subsystem. It is composed of.
このブレイクトレース管理の機能は、メモリ、レジスタ
へのブレイクポイントやトレースポイントの設定、削除
を行うと共に、シミュレーション実行?麦、メモリ等管
理テーブル430^を参照し、ブレイクトレースポイン
トへのアクセスがあると、トレース判定部4319.
トレース実行部、各ブレイクトレース実行モジュールを
呼び出す。This break trace management function allows you to set and delete breakpoints and trace points in memory and registers, as well as run simulations. When a break trace point is accessed by referring to the memory management table 430^, the trace determination unit 4319.
The trace execution unit calls each break trace execution module.
設定部4320は、メモリ等管理テーブルへ、ブレイク
、各種トレース等のトレースポイントを第14図に示す
メモリ特殊コードを用いたデバッグ情報として設定削除
する共通サブルーチン群である。The setting unit 4320 is a common subroutine group that sets and deletes trace points such as breaks and various traces in the memory management table as debug information using the memory special code shown in FIG.
監視部4321は、メモリ等管理テーブルのトータルフ
ラグを参照し、ブレイク、各種トレース等の実行モジュ
ールを呼び出す。The monitoring unit 4321 refers to the total flag in the memory management table and calls execution modules such as break and various traces.
ところで、デバッガはMPUのもつメモリやレジスタな
どについて、ブレイクポイントやトレースポイントの設
定などの各種情報をもっており、当然メモリやレジスタ
へのアクセスを行う、一方、MPU命令エンジンも、イ
ンストラクション実行の際に、メモリやレジスタへのア
クセスを行う。By the way, the debugger has various information about the memory and registers of the MPU, such as breakpoint and trace point settings, and naturally accesses the memory and registers.On the other hand, the MPU instruction engine also Accesses memory and registers.
アクセス・サービス部4324は、複数のサブシステム
からアクセスされるメモリやレジスタの管理を、デバッ
ガが独占的に行うために設けられたものである。このよ
うな構成を採ることにより、メモリやレジスタへのアク
セスを共通化でき、更にMPU命令エンジンが命令実行
時にアクセスした後、デバッガがブレイクポイントやト
レースの判定のために再度アクセスするという非効率な
事態を避けることができる。The access service unit 4324 is provided so that the debugger can exclusively manage memory and registers accessed by a plurality of subsystems. By adopting such a configuration, access to memory and registers can be shared, and it is also possible to avoid the inefficiency of having to access the debugger again to determine breakpoints and traces after the MPU instruction engine has accessed it during instruction execution. The situation can be avoided.
なお、MPU命令エンジンが、メモリ、■/Oメモリや
レジスタへアクセスするとき、直接アクセスせずに、デ
バッガのアクセスサービス部が利用される。Note that when the MPU instruction engine accesses the memory, the /O memory, or the registers, the access service section of the debugger is used instead of directly accessing the memory.
デバッガは、メモリ、I/Oメモリ、レジスタについて
、実際のハードウェアのイメージ(たとえば、MPU7
8/Oのメモリの場合、64にのメモリ空間をもってお
り、それとは別にブレイクやトレースなどの管理情報が
格納された管理テーブルを持っている。The debugger uses an image of the actual hardware (for example, MPU7
In the case of 8/O memory, it has 64 memory spaces, and separately has a management table in which management information such as breaks and traces is stored.
これらのテーブルを、デバッガが一括管理するため、管
理が容易になり、サブシステム間で影響しあうようなこ
とがなくなる。Since these tables are managed collectively by the debugger, management becomes easy and there is no possibility of mutual influence between subsystems.
次に、ブレイクポイント機能の作用を第17図。Next, Figure 17 shows the effect of the breakpoint function.
第18図に基づいて説明する。This will be explained based on FIG. 18.
第17図は、ブレイクポイント機能を実行する際のモジ
ュール間データ関連図である。FIG. 17 is an inter-module data relationship diagram when executing a breakpoint function.
ブレイクポイント設定ウィンドウでセット、クリア、ク
リアオールをクリックすると各処理部が起動し、各処理
が実行され、同時にブレイクトレース管理の設定部が起
動して上記処理結果をメモリ等管理テーブルにデバッグ
情報としてセットする。一方、情報設定部は、セット処
理、クリア処理およびクリアオール処理に基づいてブレ
イクポイントテーブルを更新する。When you click Set, Clear, or Clear All in the breakpoint setting window, each processing section starts and each process is executed. At the same time, the break trace management setting section starts and the above processing results are stored in the memory etc. management table as debug information. set. On the other hand, the information setting unit updates the breakpoint table based on the set process, clear process, and clear all process.
また、セット処理によってブレイクポイントをブレイク
ポイントヒスドリフアイルに格納されるので、このヒス
トリ情報は、ブレイクポイント設定ウィンドウで“旧5
tory”を指定することによりヒストリ処理部が起動
して読み出され、ブレイクポイントテーブルにセットさ
れる。Also, because the breakpoint is stored in the breakpoint history file by the set process, this history information can be saved in the “Old 5” in the breakpoint settings window.
By specifying "try", the history processing section is activated, the data is read out, and the data is set in the breakpoint table.
その後、“Exit”“を指定すると、ウィンドウ閉成
部が起動し、ブレイクポイント設定ウィンドウが閉じら
れる0次いでシミュレーションウィンドウで’5TAR
T”を指定すると、ターゲットプログラムに基づいて各
エンジンが起動してシミュレーションが実行される。各
エンジンの起動によってMPU、LSIの各端子の状態
変化はアクセス・サービス部を通じてメモリ管理テーブ
ルによって管理されているメモリやレジスタに格納され
る。After that, when you specify "Exit", the window closing part starts and the breakpoint setting window is closed.
If "T" is specified, each engine is started based on the target program and the simulation is executed. Changes in the state of each terminal of the MPU and LSI due to the start of each engine are managed by the memory management table through the access service section. stored in memory or registers.
ここで、デバッグ情報とはメモリ、レジスタの各管理テ
ーブル内に設けたデバッガのブレイク/トレースのため
の情報で、ブレイクポイントやトレースポイントがセッ
トされているか否かを表すデータがセットされる。また
各bitが′1′°のとき、第2表に示すセットがなさ
れているという意味を持っている。Here, the debug information is information for debugger break/trace provided in memory and register management tables, and data indicating whether a break point or trace point is set is set. Further, when each bit is '1'°, it means that the set shown in Table 2 is made.
(以下余白) 第2表 次に一ブレイクトレース機能の作用を詳しく説明する。(Margin below) Table 2 Next, the operation of the break trace function will be explained in detail.
第18図はMPUのメモリ空間へブレイクする場合の動
作シーケンスを示す。FIG. 18 shows the operation sequence when breaking into the MPU memory space.
セット処理部の起動により、ブレイク設定ウィンドウで
設定されたブレイク情報がブレイクポイントテーブルに
セットされ、同時にブレイクトレース管理の共通サブル
ーチンである設定部が呼び出され、第14図に示すよう
に、ブレイクポイントとしてライトまたはリードのデバ
ッグ情報がメモリ管理テーブルにセットされる。By starting the set processing section, the break information set in the break setting window is set in the breakpoint table, and at the same time the setting section, which is a common subroutine for break trace management, is called, and as shown in Figure 14, the break information is set as a breakpoint. Write or read debug information is set in the memory management table.
その後、シミュレーションが実行されると、アクセス・
サービス部のメモリアクセスモジュールはMPU命令エ
ンジンが命令実行時にメモリテーブルへアクセスし、ア
クセスするアドレスにメモリ特殊コードがセットされて
いれば、メモリ管理テーブルにフラグとしてr□、以外
の数字をセットする。Then, when the simulation is run, the access
The memory access module of the service section accesses the memory table when the MPU instruction engine executes an instruction, and if a memory special code is set at the address to be accessed, sets a number other than r□ as a flag in the memory management table.
上記フラグのセットは、例えばライトアクセス時 フラグニブバッグ情報&0X5555 リードアクセス時 フラグ−デバッグ情報&0XAAAA ここに、&は論理積、0×は16進数を示す。The above flags are set, for example, during write access. Flag nib bag information & 0X5555 During read access Flags - Debug information & 0XAAAA Here, & indicates a logical product, and 0x indicates a hexadecimal number.
ブレイクトレース管理の監視部は、メモリ管理テーブル
を参照してフラグのセット状態を監視する。例えば、デ
バッグ情報がr0203J(16進4桁)のとき、即ち
ブレイクポイントがリード/ライトに設定される場合、
リードアクセスがあれば、フラグはrOXO202]と
なり、ブレイク判定部が呼び出される。The break trace management monitoring unit refers to the memory management table and monitors the set state of the flag. For example, when the debug information is r0203J (4 hexadecimal digits), that is, when the breakpoint is set to read/write,
If there is a read access, the flag becomes rOXO202] and the break determination unit is called.
ブレイク判定部は、ブレイクトレース管理の監視部から
呼び出される度にブレイクポイントテーブルを参照し、
カウントを更新する。即ち、シミュレーション実行の際
に、アクセス・サービス部を通してメモリ空間のデバッ
グ情報として設定されたメモリアドレスに何回目のアク
セスでブレイクするかの判断を行っている。The break determination unit refers to the breakpoint table every time it is called by the break trace management monitoring unit,
Update count. That is, when executing a simulation, it is determined through the access service section how many times a memory address set as debug information of the memory space is accessed to cause a break.
言い換えれば、監視部はブレイク条件が成立する度に、
ブレイク判定部を起動し、ブレイクポイントテーブルの
カウンタのカウント値をダウンカウントし、そのカウン
トが「0」になった時点でブレイクする。In other words, each time the break condition is met, the monitoring unit
The break determination section is started, the count value of the counter in the break point table is counted down, and when the count reaches "0", a break is made.
(V−2>)−レース機能 各種トレースポイント設定とその実行を行う。(V-2>)-Race function Set various trace points and execute them.
トレース機能には、ターゲットプログラム中の任意のデ
ータ変化をタイミングチャートで表示する信号タイミン
グトレース、入出力データや通信データの送受信をトレ
ースするタイミングデータトレース、入力信号の変化を
立ち下がり、または立ち上がりでカウントしたカウント
数を表示するクロック/カウンタトレース、任意のアド
レスやレジスタの変化をトレースするランニングトレー
ス条件成立前後のターゲットプログラムやMPUの状態
を表示するホルトトレース、およびターゲットプログラ
ム動作中の処理時間を測定、表示するランタイムサンプ
リングがある。Trace functions include signal timing trace that displays arbitrary data changes in the target program in a timing chart, timing data trace that traces the transmission and reception of input/output data and communication data, and counts changes in input signals at falling or rising edges. A clock/counter trace that displays the number of counts that have occurred, a running trace that traces changes in arbitrary addresses and registers, a halt trace that displays the state of the target program and MPU before and after conditions are met, and a halt trace that measures the processing time while the target program is running. There is runtime sampling to display.
トレース機能は、シミュレーションウィンドウで“’T
race”を指定することにより、シミュレーションウ
ィンドウイベントハンドラに呼び出され、トレースウィ
ンドウポツプアップメニュー(第19図参照)を表示す
るウィンドウ生成部およびトレースウィンドウポツプア
ップメニューから選択されるトレースのウィンドウを開
く各トレースウィンドウ生成部を呼び出すイベントハン
ドラとから構成されている。The trace function can be activated by clicking “'T” in the simulation window.
By specifying "race", each trace that is called by the simulation window event handler and opens the window of the trace selected from the trace window pop-up menu and the window generator that displays the trace window pop-up menu (see Figure 19). It consists of an event handler that calls the window generator.
各種トレースの基本シーケンスは各トレースウィンドウ
の設定内容を各トレースポイントテーブルヘセットする
ことの他、前述のブレイクボイント機能と基本的に同じ
なので、ここではその説明を省略する。The basic sequence of various traces is basically the same as the breakpoint function described above, except that the setting contents of each trace window are set in each trace point table, so the explanation thereof will be omitted here.
なお、各種トレース機能を実現するためのモジュール構
成は、前述のブレイクポイント機能のモジュール構成中
、例えばウィンドウ生成や描画、セット処理、クリア処
理、イグジット処理などが基本的に同一機能を備えてい
るので、ここでは説明の重複を避けるために各トレース
のモジュール構成図を省略して、モジュール間データ関
連図を用いて構成1作用を併せて説明する。Note that the module configuration for realizing various trace functions basically has the same functions as those for the breakpoint function described above, such as window generation, drawing, set processing, clear processing, and exit processing. Here, in order to avoid duplication of explanation, the module configuration diagram of each trace is omitted, and the operation of Configuration 1 will also be explained using an inter-module data relationship diagram.
(a>信号タイミングトレース
第20図は、信号タイミングトレースのモジュール間デ
ータ関連図である。信号タイミングトレースは、信号タ
イミングトレース設定ウィンドウ7/Oで設定された内
容を信号タイミングトレースポイントテーブル433^
、メモリ等管理テーブル430Bに登録し、シミュレー
ション実行時にブレイクトレース管理の監視部4322
がメモリ等管理テーブル430Bを参照し、アクセス・
サービス部4324によってセットされたフラグ、すな
わちサブシステムで信号トレースポイントに関してメモ
リ等にアクセスがあれば、信号タイミングトレース実行
部4339を起動するように構成されている。(a>Signal timing trace Figure 20 is a data relationship diagram between modules of signal timing trace.Signal timing trace uses the contents set in the signal timing trace setting window 7/O in the signal timing trace point table 433^
, is registered in the memory etc. management table 430B, and is registered in the break trace management monitoring unit 4322 during simulation execution.
refers to the memory etc. management table 430B and performs access/
The signal timing trace execution unit 4339 is configured to be activated when a flag set by the service unit 4324 is set, that is, when a memory or the like is accessed regarding a signal trace point in a subsystem.
信号タイミングトレース実行部4339は、信号タイミ
ングトレースポイントテーブル433^のトレース条件
の判定を行った後、トレースの内容をタイミングデータ
トレースデータファイル433Cに書き込んでデイスプ
レィ表示部714に表示する。After determining the trace conditions of the signal timing trace point table 433^, the signal timing trace execution section 4339 writes the contents of the trace into the timing data trace data file 433C and displays it on the display section 714.
信号タイミングトレース設定ウィンドウ7/Oは、第2
1図に示すようにパラメータ表示部712でトレース条
件として(Memory Address、I/O^d
oressRegisterlの中からメモリ、I/O
メモリ、レジスタのいずれかを指定し、そのメモリアド
レスおよびレジスタ名を入力すると共に、メモリアドレ
スまたはレジスタ名に書き込まれるデータのハイデータ
およびローデータを定義する。The signal timing trace setting window 7/O is
As shown in Figure 1, the trace conditions (Memory Address, I/O^d
Memory, I/O from oressRegisterl
Specify either memory or register, input its memory address and register name, and define high data and low data of the data written to the memory address or register name.
次いで、データフォーマットをバイトJたはヒ゛ットで
指定した後、コマンド表示部711の“Set”をクリ
ックすると、セット処理部4332 、情報設定部43
38が起動して設定した内容が信号タイミングトレース
ポイントテーブルに登録されると同時にエントリポイン
ト表示部713に表示される。エントリポイントは、最
大5個のトレースポイントを設定することができる。図
示の例では、1行目に0IFAアドレスの1バイト、2
行目にFOOOアドレスのビット2の2つがエントリさ
れている。Next, after specifying the data format in byte J or hit, click "Set" in the command display section 711, and the set processing section 4332 and information setting section 43 will be displayed.
38 is activated and the set contents are registered in the signal timing trace point table and displayed on the entry point display section 713 at the same time. Up to five trace points can be set as the entry point. In the illustrated example, 1 byte of 0IFA address, 2
Two bits 2 of the FOOO address are entered in the row.
その後、シミュレーションが実行されると、信号タイミ
ングトレース実行部4339が起動し、トレースポイン
トの条件成立後に、トレース内容を信号タイミングトレ
ースデータファイル433Cに格納すると共に、エント
リポイントのタイミングチャートがデイスプレィ表示部
714に表示されている。Thereafter, when the simulation is executed, the signal timing trace execution unit 4339 is activated, and after the trace point conditions are satisfied, the trace contents are stored in the signal timing trace data file 433C, and the timing chart of the entry point is displayed on the display display unit 714. is displayed.
デイスプレィ表示部714は、タイミングチャートをど
の範囲で表示するかのレンジ指定と、表示を一時的にホ
ールドするボーズW1能が設けられている。図には、/
O0m5の範囲で表示されている例が出ている。またこ
のウィンドウにおけるオペレーションの1歴は信号タイ
ミングトレースログファイル433Dに格納される。The display section 714 is provided with a range specification for displaying the timing chart and a Bose W1 function for temporarily holding the display. The figure shows /
There is an example where the range is O0m5. A history of operations in this window is also stored in the signal timing trace log file 433D.
信号タイミングトレースポイントテーブル433^は、
トレースの対象がメモリ、I/Oメモリ レジスタなの
かを指定し、どのアドレスあるいはレジスタNoをトレ
ースするのがを定めて、そのデータ条件をハイデータお
よびローデータによって定義する。The signal timing trace point table 433^ is
Specify whether the object to be traced is memory or I/O memory register, determine which address or register number is to be traced, and define the data conditions using high data and low data.
第22図は信号タイミングトレースポイントテーブルの
テーブル構造の一例である。FIG. 22 is an example of the table structure of the signal timing trace point table.
(b)タイミングデータトレース
第23図は、タイミングデータトレースのモジュール間
データ関連図である。(b) Timing data trace FIG. 23 is an inter-module data relationship diagram of timing data trace.
タイミングデータトレースは、タイミングデータトレー
ス設定ウィンドウで、コマンド“”5tart”をクリ
ックすると、スタート処理部4342が起動し、通信デ
ータエンジンおよびダイレクト信号エンジンによりタイ
ミングデータトレース実行部4349が呼び出され、シ
ミュレーション実行時に上記各エンジンが入出力するタ
イミングデータやマニュアルデータをトレースし、タイ
ミングデータトレースログファイル434^に書き込む
と同時に、トレース内容をデイスプレィ上に表示する。For timing data trace, when you click the command "5tart" in the timing data trace setting window, the start processing unit 4342 is started, and the timing data trace execution unit 4349 is called by the communication data engine and direct signal engine, and when the simulation is executed, The timing data and manual data input/output by each of the above engines are traced and written to the timing data trace log file 434^, and at the same time, the trace contents are displayed on the display.
タイミングデータトレース設定ウィンドウ720は、第
24図に示すように、トレースの開始、終了を実行する
コマンド“’5tart”“5top”等を備え、デイ
スプレィ表示部721にはトレース内容が表示される。As shown in FIG. 24, the timing data trace setting window 720 includes commands such as "'5tart" and "5top" for starting and ending tracing, and the trace contents are displayed on the display section 721.
第24図の表示例では、入力信号として、ゲートセンサ
のON信号がシミュレーション開始がら/O0++s?
麦(M / CでlOカウント目)に入力され、また受
信データとしてr00113421.が、同じ< 20
0+5(M/Cで/O0カウント目に受信されたことを
示している。In the display example of FIG. 24, the ON signal of the gate sensor is used as the input signal to start the simulation /O0++s?
It is input to barley (1O count in M/C), and r00113421. But the same < 20
0+5 (indicates that the M/C received it at the /O0 count.
(C)クロック/カウンタトレース
第25図は、クロック/カウンタトレースのモジュール
間データ関連図である。(C) Clock/Counter Trace FIG. 25 is a data relationship diagram between modules of clock/counter trace.
クロック/カウンタトレースは、クロック/カウンタト
レース設定ウィンドウ730で設定された内容をクロッ
クカウンタトレースポイントテーブル435^に登録し
、このテーブルをクロックカウンタトレース実行部43
59が参照し、設定された信号名の設定されたタイミン
グ(立ち上がりか立ち下がり)をカウントし、その結果
を表示する。For the clock/counter trace, the contents set in the clock/counter trace setting window 730 are registered in the clock counter trace point table 435^, and this table is sent to the clock counter trace execution unit 43.
59, counts the set timing (rising or falling) of the set signal name, and displays the result.
クロックカウンタトレース設定ウィンドウ730は第2
6図に示すように、パラメータ表示部731でトレース
条件として信号名“Signal Na■e”とカウン
トのタイミングをハイエツジ“旧gh Edge”また
はローエツジ“Low Edge”とするかを指定して
、”Set”をクリックすると、セット処理部4351
.情報設定部4352が起動して上記トレース条件をク
ロックカウンタトレースポイントテーブル435^に登
録すると同時に、エントリポイント表示部732に設定
内容(トレースポイント)を表示する。The clock counter trace setting window 730 is
As shown in Figure 6, in the parameter display section 731, specify the signal name "Signal Na■e" and the count timing as the high edge "old gh Edge" or the low edge "Low Edge" as the trace condition, and select "Set". ”, the set processing section 4351
.. The information setting section 4352 is activated and registers the above trace conditions in the clock counter trace point table 435^, and at the same time displays the setting contents (trace points) on the entry point display section 732.
第26図の表示例では、エントリポイントとしてマシン
クロックのハイエツジが設定され、そのカウント値が1
20カウントであることを示している。In the display example shown in Figure 26, the high edge of the machine clock is set as the entry point, and the count value is 1.
It shows that the count is 20.
クロックカウンタトレースポイントテーブル435^は
、シグナルID、信号名、カウント条件、カウント値で
構成されており、信号ごとにハイがらローへの変化(ハ
イエツジ)、またはローがらハイへの変化(ローエツジ
)をカウント条件とじて設定される。The clock counter trace point table 435^ is composed of a signal ID, a signal name, a count condition, and a count value, and indicates a change from high to low (high edge) or a change from low to high (low edge) for each signal. It is set as a count condition.
第27図はクロックカウントトレースポイントテーブル
のテーブル構造の一例である。FIG. 27 is an example of the table structure of the clock count trace point table.
(d)ランニングトレース
第28図は、ランニングトレースのモジュール間データ
関連図である。(d) Running trace FIG. 28 is a data relationship diagram between modules of running trace.
ランニングトレースは、ランニングトレース設定ウィン
ドウ740で指示された内容をランニングトレーステー
ブル、メモリ等管理テーブル430Cに登録し、ターゲ
ットプログラムの走行時に前述の信号タイミングトレー
2と同様にトレース条件が満足したときにランニングト
レース実行部4369が起動し、パラメータで指定され
たメモリのアドレスまたはレジスタに格納されるデータ
の変化をランニングトレースログファイル436Cに書
き込むと共に、デイスプレィ表示部に表示する。The running trace registers the contents specified in the running trace setting window 740 in the running trace table, memory management table 430C, and executes the running trace when the trace conditions are satisfied in the same manner as the signal timing tray 2 described above when the target program is running. The trace execution unit 4369 is activated and writes changes in the data stored in the memory address or register specified by the parameter to the running trace log file 436C and displays it on the display unit.
ランニングトレース設定ウィンドウ740は、第29図
に示すように、パラメータ表示部741でトレース条件
として種別をメモリ、I/Oメモリ。In the running trace setting window 740, as shown in FIG. 29, a parameter display section 741 displays types such as memory and I/O memory as trace conditions.
レジスタから指定し、そのメモリアドレスやレジスタ名
を入力し指定されたメモリアドレスまたはレジスタ名の
データをデイスプレィ上にどのデータ形式で“Hex、
Binary、口isassemle″で表示するか
のデイスプレィフォーマットやどのデータ表示形式“5
croll、 No 5croll”にするかのスクリ
ーンコントロールを指定した後、“Set”をクリック
すると、セット処理部4361 、情報設定部4362
が起動して上記トレース条件をランニングトレースポイ
ントテーブル436^、メモリ等管理テーブル430C
に登録すると同時に、エントリポイント表示部742に
設定内容を表示する。またシミュレーション実行時には
、前述のとおり、その白身の変化の過程がデイスプレィ
表示部743に表示される。Specify from a register, enter the memory address or register name, and display the data of the specified memory address or register name on the display in any data format.
The display format and data display format such as Binary or ``5''
After specifying the screen control to “crawl” or “No 5 crawl” and clicking “Set”, the set processing section 4361 and information setting section 4362
starts and runs the above trace conditions.Trace point table 436^, memory etc. management table 430C
At the same time as registering, the setting contents are displayed on the entry point display section 742. Further, when the simulation is executed, the process of change of the white meat is displayed on the display section 743 as described above.
第29図の表示例では、メモリアドレス2300番地お
よびHレジスタの実行過程が示されており、例えばメモ
リアドレス2300ではHex形式のデータで(54)
→(50)→(00)に変化したことを示している。In the display example of FIG. 29, the execution process of memory address 2300 and the H register is shown. For example, at memory address 2300, data in Hex format (54) is shown.
→(50)→(00).
第30図はランニングトレースポイントテーブルのテー
ブル構造の一例である。FIG. 30 is an example of the table structure of the running trace point table.
(e)ホルトトレース
第31図は、ホルトトレースのモジュール間データ関連
図である。(e) Holt trace FIG. 31 is a diagram of inter-module data relationship of Holt trace.
ホルトトレースは、ホルトトレース設定ウィンドウで7
50、ホルトトレースポイントの種別および内容、リー
ド/ライト種別および内容、データ形式、トレースモー
ド、トレースカウント、複数のトレース条件を組み合わ
せるためのAND/OR条件の指定などの設定された内
容をホルトトレースポイントテーブル437^、メモリ
等管理テーブル430Dに登録し、シミュレーション実
行時にブレイクトレース管理の監視部4324がメモリ
等管理テーブルを参照してデバッグ情報にアクセスがあ
ればホルトトレース実行部4379を起動し、上記デバ
・ング情報を基にホルトトレースポイントテーブル43
7^に登録されたトレース条件の判定を行った後、トレ
ース条件が満足されていればトレースの内容をホルトト
レースログファイル437Cに格納すると共に、デイス
プレィ表示部753に表示する。Holt trace is set to 7 in the Holt trace settings window.
50. Holt trace point type and contents, read/write type and contents, data format, trace mode, trace count, AND/OR condition specification for combining multiple trace conditions, etc. The break trace management monitoring unit 4324 refers to the memory management table 437^ and the memory etc. management table 430D during simulation execution, and starts the halt trace execution unit 4379 if the debug information is accessed.・Holt trace point table 43 based on the
After determining the trace conditions registered in step 7^, if the trace conditions are satisfied, the contents of the trace are stored in the Holt trace log file 437C and displayed on the display section 753.
ホルトトレース設定ウィンドウ750は、第32図に示
すように、パラメータ表示部751でトレース条件とし
て種別をメモリ、I/Oメモリ、レジスタから指定し、
そのメモリアドレスやレジスタ名を入力する。そして、
データに関しては、リードまたはライトであるかを指定
し、そのデータ値を入力かつそのデータフォーマを指定
する。更に、トレースモードとして上記トレースポイン
トの後” Formarcl” 、前”Back”、前
94 ” Ce n t e r ”のいずれかを指定
する。As shown in FIG. 32, the Holt trace setting window 750 specifies the type of trace condition from memory, I/O memory, or register in the parameter display section 751, and
Enter the memory address and register name. and,
Regarding data, specify whether to read or write, input the data value, and specify the data former. Furthermore, one of "Formarcl", "Back", and "Center" after the above trace point is specified as the trace mode.
即ち、フォワードトレースは、トレース条件成立後のプ
ロセッサの状態をトレースバッファへ取り込み、バッフ
ァがフルになるとトレースを終了する。またセンタトレ
ースは、トレース条件が成立した位置が中点にくるよう
にトレースする。更にバックトレースはトレース条件成
立前のプロセッサの状態を上記同様にトレースする。That is, in forward tracing, the state of the processor after the trace condition is satisfied is captured into the trace buffer, and when the buffer becomes full, the trace is terminated. Furthermore, in center tracing, tracing is performed so that the position where the tracing condition is met is the midpoint. Furthermore, the backtrace traces the state of the processor before the trace condition is satisfied in the same way as above.
次いで、トレースカウントの指定では、トレース条件を
満たす回数を入力する。またオプションには、複数のト
レース条件の組み合わせを“′^nd。Next, to specify the trace count, input the number of times the trace condition is satisfied. Also, options include combinations of multiple trace conditions.
Or′°を使って指定する。Specify using Or'°.
アンド゛^nd”は、これによって統合されたトレース
条件の全てが満たされたときに、トレースモードに従い
トレースを開始または終了する。&nd'' starts or ends tracing according to the trace mode when all of the trace conditions integrated thereby are satisfied.
オア“’Or”は、これによって統合されたトレース条
件のどれかが満たされたときに、トレースモードに従い
トレースを開始または終了する。The OR “'Or” starts or ends tracing according to the trace mode when any of the trace conditions integrated thereby is satisfied.
上記各パラメータの設定が終了した後、“’Set”を
クリックすると、セット処理部4371 、情報設定部
4372が起動して、上記トレース条件をホルトトレー
スポイントテーブル437^、およびデバッグ情報など
をブレイクトレース管理の設定部4320を通じてメモ
リ等管理テーブル430Dに登録すると同時に、エント
リポイント表示部752に設定内容を表示する。シミュ
レーション実行時には、設定されたトレースモードによ
りプロセッサの状態がデイスプレィ表示部753にトレ
ース表示される。After setting each of the above parameters, click "'Set" to start the set processing section 4371 and information setting section 4372, and convert the above trace conditions to the halt trace point table 437^, debug information, etc. to the break trace. At the same time as registering in the memory management table 430D through the management setting section 4320, the setting contents are displayed on the entry point display section 752. When the simulation is executed, the state of the processor is displayed as a trace on the display section 753 according to the set trace mode.
第32図の表示例では、■/Oアドレスのr 0FFC
」にある「53」がリードされるか、あるいはI/Oア
ドレスのro023.に「20Jがライトされると、ト
レースが開始されることを示している。こコテ、「53
」と「20」はHEXデータである。In the display example in Figure 32, ■/O address r 0FFC
” is read, or the I/O address ro023. "53 indicates that tracing will start when 20J is written."
" and "20" are HEX data.
デイスプレィ表示部には、この条件が成立した後のプロ
セッサの実行過程が出ている。The display section shows the process executed by the processor after this condition is met.
第33図は、ホルトトレースポイントテーブルのテーブ
ル構造の一例である。FIG. 33 is an example of the table structure of the Holt trace point table.
(f)ランタイムサンプリング
第34図は、ランタイムサンプリングのモジュール間デ
ータ関連図である。(f) Runtime sampling FIG. 34 is a data relationship diagram between modules for runtime sampling.
ランタイムサンプリングは、ターゲットプログラム動作
中の処理時間を測定表示するため、ランタイムサンプリ
ング設定ウィンドウ760で測定する処理の開始点”5
tart Trigger”と終了点”EndTrig
ger”をそれぞれアドレスやレジスタ名およびリード
/ライトのアクセス種別、そのデータおよびデータ形式
で設定する。この内容をランタイムサンプリングテーブ
ル438^、メモリ等管理テーブル430Eに登録し、
シミュレーション実行時に前述のホルトトレースと同様
にブレイクトレース管理の監視部4321がメモリ等管
理テーブル438^を参照し、トレース条件にアクセス
があればランタイムサンプリング実行部4389がラン
タイムサンプリングテーブルのトレース条件の判定を行
う。ランタイムサンプリング条件が成立していれば、指
定された区間の処理時間の計測値をランタイムログファ
イル438Cに格納すると共に、デイスプレィ表示部7
63に最大、最小および標準の各処理時間が表示される
。Runtime sampling measures and displays the processing time while the target program is running, so the start point of the process measured in the runtime sampling setting window 760
tart Trigger” and end point “EndTrig”
ger" with addresses, register names, read/write access types, their data, and data formats. Register these contents in the runtime sampling table 438^, memory management table 430E,
During simulation execution, the break trace management monitoring unit 4321 refers to the memory etc. management table 438^ in the same way as the halt trace described above, and if the trace conditions are accessed, the runtime sampling execution unit 4389 determines the trace conditions in the runtime sampling table. conduct. If the runtime sampling conditions are met, the measured value of the processing time for the specified section is stored in the runtime log file 438C, and the display section 7
The maximum, minimum and standard processing times are displayed at 63.
ランタイムサンプリング設定ウィンドウ760は、第3
5図に示すように、測定したい処理時間の起点(5ta
rt TriFIger)、終点(End Trigg
er)となる対&(データ)を設定するためのパラメー
タが設けられている。各トリガのトレース条件としては
、前述の各トレースと同様にパラメータ表示部761で
種別データ形式などの設定、内容の入力を行った後、^
pply”をクリックすると、アプライ処理部4381
、情報設定部4382が起動して開始点および終了点の
設定内容をランタイムサンプリングテーブル438^、
メモリ等管理テーブル43Eに登録すると共に、エント
リポイント表示部762に開始点および終了点の各トレ
ースポイントが表示される。The runtime sampling settings window 760
As shown in Figure 5, the starting point of the processing time you want to measure (5ta
rt TriFIger), End Trigg
Parameters are provided for setting the pair &(data) to be er). As for the trace conditions for each trigger, after setting the type data format etc. and inputting the contents in the parameter display section 761, as with each trace described above,
When you click “pply”, the apply processing section 4381
, the information setting unit 4382 starts up and stores the settings of the start point and end point in the runtime sampling table 438^,
In addition to being registered in the memory etc. management table 43E, each trace point of the start point and end point is displayed on the entry point display section 762.
シミュレーション実行時には、設定されたトレースポイ
ント間の処理時間が上述の3つの形態でデイスプレィ表
示部763に表示される。When the simulation is executed, the processing time between the set trace points is displayed on the display section 763 in the three forms described above.
第35図の表示例では、メモリアドレスの「0F/O」
にある「53」がリードされてからメモリアドレスのr
0FFO、に「20」がライトされるまでの処理時間
を示している。ここでr53. 、 r20.はHE
Xデータである。デイスプレィ表示部には、処理時間が
最大122μs、最小/O5μsを要し、その間の標準
処理時間が120AZ sであることを示している。な
お、N−3はサンプリング数である。In the display example in Figure 35, the memory address "0F/O"
After reading “53” at the memory address r
It shows the processing time until "20" is written to 0FFO. Here r53. , r20. is HE
This is X data. The display shows that the maximum processing time is 122 μs and the minimum /O5 μs, and that the standard processing time is 120 AZ seconds. Note that N-3 is the number of samplings.
第36図は、ランタイムサンプリングテーブルのテーブ
ル構造の一例である。FIG. 36 is an example of the table structure of the runtime sampling table.
(V−3>メモリ・レジスタ設定表示機能本機能には、
メモリの内容を表示するメモリダンプ、ファイルの内容
を表示するショーファイル。(V-3>Memory register setting display function This function includes
Memory dump to display the contents of memory, show file to display the contents of files.
メモリ等の内容を表示修正するセットクリア、現在の設
定または指定されているシミュレーション情報を表示す
るシミュレーションステートがある。There is a set clear to display and modify the contents of memory, etc., and a simulation state to display the current settings or specified simulation information.
第37図は、本機能を実現するためのモジュール構成で
ある0図において、シミュレーションウィンドウで’D
isplay / Modify”を指定すると、ウィ
ンドウ生成部4390が起動し、ウィンドウテーブル4
39Δにある上記各処理を第38図に示すボップアlブ
メニュー800により表示する。このボップア・ツブメ
ニューの項目を選択すると、ウィンドウ管理部430は
イベントハンドラ439を呼び出し、指定された項目に
関する処理を起動し、専用ウィンドウを開ける。Figure 37 shows 'D' in the simulation window in Figure 0, which is the module configuration for realizing this function.
isplay/Modify”, the window generation unit 4390 starts up and creates the window table 4.
The above-mentioned processes in step 39Δ are displayed in a pop-up menu 800 shown in FIG. When an item on the pop-up menu is selected, the window management unit 430 calls the event handler 439, starts processing related to the specified item, and opens a dedicated window.
なお、各機能のモジュール構成については、ブレイクト
レース機能と基本的に同一であり、各ウィンドウに設け
られたコマンド機能、パラメータ設定によって起動する
実行処理部、および各処理部からの出力3各ウインドウ
のデイスプレィ表示部に表示するウィンドウ描画部を備
えている。ここでは、各機能のモジュール構成の説明を
省略し、各ウィンドウにおいて各機能を説明する6メモ
リダンプ機能は、第39図に示すメモリダンプ設定ウィ
ンドウ8/Oにおいて、パラメータ表示部811でスタ
ートアドレス゛’5tart Address″エンド
アドレス゛″End Address”および表示形式
゛Dispay Format”を設定した後、 ”D
ump”を指定すると、上記設定内容が処理され、デイ
スプレィ表示部812に表示される。The module structure of each function is basically the same as the break trace function, with command functions provided in each window, an execution processing section activated by parameter settings, and output from each processing section. It is equipped with a window drawing section for displaying on the display section. Here, the explanation of the module configuration of each function will be omitted, and each function will be explained in each window. After setting '5tart Address', 'End Address' and display format, 'D
ump”, the above settings are processed and displayed on the display section 812.
ショーファイル機能は、第40図に示すショーファイル
設定ウィンドウ820において、パラメータにより指定
された内容でファイルの内容を表示する。The show file function displays the contents of the file as specified by the parameters in the show file setting window 820 shown in FIG. 40.
セットクリア機能は、第41図に示すセットクリア設定
ウィンドウ830において=”Display”により
エントリフォーマットパラメータで指定されている形式
でレジスタやメモリの内容が表示され、また’Modi
fy”により前記同様にその内容が変更され、また“R
ead”により前記同様にレジスタ等がリードされ、ま
た“’Fill”によりパラメータで指定されている範
囲のメモ°りの内容が指定のデータに変更され、そして
“’Re5et”によりターゲットプログラムが再ロー
ドされる。上記各設定内容は、パラメータ表示部831
で設定される。The set clear function displays the contents of registers and memory in the format specified by the entry format parameter by setting ="Display" in the set clear setting window 830 shown in FIG.
fy” changes its contents in the same way as above, and “R
"ead" reads the registers in the same way as above, "'Fill" changes the memory contents in the range specified by the parameter to the specified data, and "'Re5et" reloads the target program. The above settings are displayed in the parameter display section 831.
is set.
“Md1fy”Fill”Read″等により、メモリ
やしジスタの内容に変更を加える際には、その変更内容
をエントリエリア表示部832に入力する。デイスプレ
ィ表示部833には修正した結果や゛”Display
”コマンドに対する出力等が出る。When changing the contents of the memory register using “Md1fy”, “Fill”, “Read”, etc., the changed contents are input into the entry area display section 832. The display section 833 shows the modified results and “Display”.
” Output etc. for the command will be displayed.
シミュレーションステート機能は、第42図に示すシミ
ュレーションステートウィンドウ840でCPU名、プ
ロダクト名、マシンレイアウト名、タイミングデータ名
やシミュレーション条件などの情報がデイスプレィ表示
部841に表示される。The simulation state function displays information such as the CPU name, product name, machine layout name, timing data name, and simulation conditions on the display section 841 in the simulation state window 840 shown in FIG.
(V−4)モニタリング機能
シミュレーションウィンドウ(第5図参照)のモニタリ
ングウィンドウ603に表示されるマシンレイアウト6
05図上で、各信号の変化状態をリアルタイムで表示す
る。(V-4) Machine layout 6 displayed in the monitoring window 603 of the monitoring function simulation window (see Figure 5)
05, the changing state of each signal is displayed in real time.
第43図は、本機能を実現するためのモジュール構成で
ある。ウィンドウ描画部4600は、信号データをモニ
タリングウィンドウに表示する。FIG. 43 shows a module configuration for realizing this function. Window drawing section 4600 displays signal data on a monitoring window.
ポツプアップメニュー生成部4602は、信号マーク6
07上を指定することにより信号レベルポツプアップメ
ニュー(第46図(b)参照)を生成する。信号マーク
の信号レベルは、マニュアル時に入力信号をレベル制御
する際に選択される。The pop-up menu generation unit 4602 generates the signal mark 6
By specifying 07, a signal level pop-up menu (see FIG. 46(b)) is generated. The signal level of the signal mark is selected when controlling the level of the input signal during manual operation.
信号データコントロール部4602は、ダイレクト信号
エンジン444の起動によりダイレクト信号の状態が変
化したとき、信号レイアウトテーブル461Δを参照し
て当該信号か登録されていれば、信号データテーブル4
61Bに格納されている信号のハイ/ロー情報を基に前
記情報に対する信号マークの表示を制御する。When the state of the direct signal changes due to activation of the direct signal engine 444, the signal data control unit 4602 refers to the signal layout table 461Δ, and if the signal is registered, the signal data table 4
Based on the high/low information of the signal stored in 61B, the display of the signal mark for the information is controlled.
第44図は、信号レイアウトテーブルの構成の一例であ
り、また第45図は信号データテーブルの構成の一例を
示す。FIG. 44 shows an example of the structure of a signal layout table, and FIG. 45 shows an example of the structure of a signal data table.
次に、モニタリング機能のウィンドウ操作について説明
する。Next, window operations for the monitoring function will be explained.
第46図は、信号テーブルに関係するウィンドウである
。FIG. 46 is a window related to the signal table.
シミュレーションウィンドウ600で’Set UP”
を指定すると、セットアツプ項目としてマシンレイアウ
ト、ターゲットプログラム信号テーブルからなるセット
アツプのポツプアップメニュー620が表示される。こ
のメニューで″Signal Table”を指定する
と、信号テーブルポツプアップメニュー630か表示さ
れ、このメニューから選択された信号名が予め定義され
たマシンレイアウトと信号レイアウトに従ってマシンレ
イアウト上に表示される。ここで、マニュアルを選択し
ている場合には、各信号マークのレベルを信号レベルポ
ツプアップメニュー640で選択することができる。な
お、信号レベルの選択は、ダイレクト信号データの入力
信号のみである。'Set UP' in simulation window 600
When , a setup pop-up menu 620 consisting of machine layout and target program signal table is displayed as setup items. When "Signal Table" is specified in this menu, a signal table pop-up menu 630 is displayed, and the signal name selected from this menu is displayed on the machine layout according to the predefined machine layout and signal layout. Here, if manual is selected, the level of each signal mark can be selected from the signal level pop-up menu 640. Note that the signal level can only be selected for input signals of direct signal data.
(V−5>セットアツプ機能
本機能は、マシンレイアウト、ターゲットプログラム、
信号テーブルをロードし、表示する。(V-5>Setup function This function is for machine layout, target program,
Load and display the signal table.
シミュレーションウィンドウ600で°“Set up
”を指定することにより開かれるセットアツプメニュー
(第46図参照)で指定し、開かれた個別のメニューか
ら選択されたものがロードされ、表示される。In the simulation window 600, click “Set up”
” in the setup menu (see FIG. 46) that is opened, and the items selected from the individual menus that are opened are loaded and displayed.
マシンレイアウトセットアツプ機能は、第47図に示す
モジュール構成を備え、マシンレイアウトセットアツプ
メニュー650(第48図(a)参照)からマシンレイ
アウトを指定すると、イベントハンドラ461はファイ
ルロード部46/Oを起動してマシンレイアウトファイ
ル460^と信号レイアウトファイル460Bをロード
し、マシンレイアウト上に信号を位置づける信号レイア
ウトデータを信号レイアウトテーブル461^に格納す
ると共に、このレイアウトされた信号のデータを信号デ
ータテーブル461Bに格納する。各テーブルのデータ
は、モニタリング機能において用いられる。The machine layout setup function has a module configuration shown in FIG. 47, and when a machine layout is specified from the machine layout setup menu 650 (see FIG. 48(a)), the event handler 461 starts the file load section 46/O. It starts up, loads the machine layout file 460^ and the signal layout file 460B, stores signal layout data for positioning signals on the machine layout in the signal layout table 461^, and stores the data of the laid out signals in the signal data table 461B. Store in. The data in each table is used in the monitoring function.
ターゲットプログラムセットアツプ機能は、第49図に
示すモジュール構成分備え、ターゲットプログラムセッ
トアツプメニュー660(第48図(b)参照)からタ
ーゲットプログラムを指定すると、イベントハンドラ4
62はファイルロード部4620を起動してターゲット
プログラムファイル462^からロードされる。The target program setup function has the module configuration shown in FIG. 49, and when a target program is specified from the target program setup menu 660 (see FIG. 48(b)), the event handler
62 starts the file loading unit 4620 and loads from the target program file 462^.
信号テーブルセットアツプ機能は、信号テーブルデータ
を第46図に示すテーブルウィンドウから指定すること
により設定(アプライ処理)される、またウィンドウ上
でパラメータで指定されている内容を初期値に戻すリセ
ット処理や変更のあったデータを無効にするアボート処
理ができる。The signal table setup function is configured (apply processing) by specifying signal table data from the table window shown in Figure 46, and also performs reset processing to return the contents specified by parameters on the window to initial values. Abort processing can be performed to invalidate changed data.
なお、モジュール構成は、ターゲットプログラムセット
アツプ機能と同じように信号テーブルデータをロードす
るモジュールを備えており、他にアプライ処理、リセッ
ト処理、およびアボート処理を実行するモジュールを備
えている。The module configuration includes a module for loading signal table data in the same way as the target program setup function, and also includes modules for executing apply processing, reset processing, and abort processing.
上述のとおり、本発明によれば、次のような効果が期待
される。As described above, according to the present invention, the following effects are expected.
■MPU周辺のLSIの回路動作をシミュレートするこ
とにより、実際の電気回路基板を作成することなく、M
PUの各端子における信号の状態が確認できる。■By simulating the circuit operation of the LSI around the MPU, it is possible to
You can check the signal status at each terminal of the PU.
■ターゲットシステムが複数のモジュールで構成されて
いる場合、各モジュールのMPUに必要な通信データを
、電気回路基板および機構部分を使用することなくソフ
トウェア的にデータとして供給することにより、各モジ
ュール毎に独立したデバッグを行うことができる。■If the target system is composed of multiple modules, the communication data necessary for each module's MPU can be supplied as data using software without using electric circuit boards or mechanical parts. Allows independent debugging.
■デバッガはブレイク、トレース、モニタリング。■Debugger has break, trace, and monitoring functions.
セットアツプ、メモリ・レジスタ表示設定等のデバッグ
環境を提供する各種機能を備えいるので、各種記録装置
の多面的なシミュレーションを実行することができる。It is equipped with various functions that provide a debugging environment such as setup and memory/register display settings, so it is possible to perform multifaceted simulations of various recording devices.
■アクセス・サービス部はサブシステムおよびデバッガ
からメモリ、レジスタへのアクセスを共通に管理してい
るため、サブシステムがアクセスした後、デバッガがブ
レイクポイントやトレースの判定のために再度アクセス
するという非効率な事態を避けることができる。■The access service module commonly manages access to memory and registers from the subsystem and the debugger, which is inefficient as the debugger must access it again to determine breakpoints and traces after the subsystem has accessed it. situations can be avoided.
■デバッガはブレイクやトレース等の管理情報を格納し
たメモリ管理テーブルを備えているため、管理が容易と
なり、サブシステム間で干渉が起こらない。■The debugger is equipped with a memory management table that stores management information such as breaks and traces, making management easier and preventing interference between subsystems.
第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図はデバッグ工程における課題を説明する図であ
る。Figure 1 is a block diagram showing the overall configuration of the simulator of the present invention, Figure 2 is a schematic diagram showing the hardware configuration of the simulator, Figure 3 is a configuration diagram of the simulator window, and Figure 4 shows the operation sequence of the simulation. Figure 5 is a configuration diagram of the simulation window, Figure 6 is a block diagram showing the configuration of the simulation engine, Figure 7 is a diagram of data relationships between each engine, and Figure 8 explains synchronous control of each engine. Figure 9 is a diagram explaining the startup of each engine, Figure /O is a module configuration diagram for realizing the breakpoint function, Figure 11 [J is a configuration diagram of the breakpoint setting window, Figure 12 is a register In the diagram explaining the table structure, <a
> is a register relationship table, (b) is a register management table, Figure 13 is a diagram explaining the memory management table structure,
Figure 4 is a diagram explaining trace point settings, Figure 15 is a structure diagram of a breakpoint table, Figure 16 is a configuration diagram of break trace management, Figure 17 is a diagram of inter-module data relationships of breakpoint functions, and Figure 18 Figure 19 is a diagram explaining the operation sequence of break trace management, Figure 19 is a diagram showing the trace pop-up menu, Figure 20 is a diagram showing the data relationship between modules of the signal timing trace function, and Figure 21 is a diagram of the signal timing trace setting window. Figure 22 is a diagram of the structure of the signal timing trace point table, Figure 23 is a diagram of data relationships between modules of the timing data trace function, Figure 24 is a diagram of the configuration of the timing data trace setting window, and Figure 25 is a diagram of the clock counter. Inter-module data relationship diagram of the trace function. Figure 26 is a configuration diagram of the clock counter trace setting window. Figure 27 is a structural diagram of the clock counter trace point table, i@28e is a data relationship diagram between modules of the running trace function, Figure 29 is a configuration diagram of the running trace setting window, and Figure 30 is a structural diagram of the running trace point table. , Figure 31 is a diagram of inter-module data relationship of the Holt trace function, Figure 32 is a configuration diagram of the Holt trace setting window, Figure 33 is a structural diagram of the Holt trace point table, Figure 34 is inter-module data of the runtime sampling function. Related diagrams: Figure 35 is a configuration diagram of the runtime sampling setting window. Figure 36 is a diagram of the structure of the runtime sampling table. Figure 37 is a diagram of data relationships between modules of the memory/register setting 9 display function. Figure 38 shows the display/modify pop-up menu, Figure 39 shows the configuration of the memory dump setting window, and Figure 4 shows the configuration of the memory dump setting window.
Figure 0 is a configuration diagram of the show file settings window, Figure 41 is a configuration diagram of the set clear settings window, and Figure 4
Figure 2 is a configuration diagram of the simulation state window, Figure 43 is a diagram of data relationships between modules of the monitoring function, Figure 44 is a diagram of the structure of a signal layout table, Figure 45 is a diagram of the structure of a signal table, Figure 46 (a) 46(b) is a diagram showing the pop-up menu of the signal level, FIG. 47 is a diagram showing the data relationship between modules of the machine layout setup function, and FIG. 48(a) is a diagram showing the configuration of the window related to the signal table. Figure 4811J(b) is a diagram showing the layout setup menu, Figure 4811J(b) is a diagram showing the target program setup menu, Figure 49 is a module configuration diagram of the target program setup function, Figure 50 is the basic configuration of the recording device. Block diagram, 5th
Figure 1 is a diagram explaining the development procedure of a recording device, Figure 52 is a schematic diagram of a copying machine equipped with an automatic conveyance device and a sorter, Section 53 is a schematic diagram of an automatic document conveyance device, and Figure 54 is a schematic diagram of a copying machine equipped with an automatic document conveyance device.
FIG. 2 is a block diagram showing the configuration of the copying machine; Section 55 is a configuration diagram of the simulator kit; FIG. 56 is a configuration diagram of the display panel section; FIG. 57 is a diagram explaining problems in the debugging process.
Claims (1)
SIを含むターゲットシステムのハードウェア情報の定
義、およびMPUの入力端子への信号の変化状態を示す
データを生成するコンフィグレーション部と、ターゲッ
トシステムを構成する電気的要素や機械的要素をエンジ
ンとしてソフトウェア的にシミュレーションするシミュ
レーションエンジン部と、前記コンフィグレーション情
報を基に、前記各エンジンの起動時間の同期をとってシ
ミュレーションを実行するシミュレーションエンジンコ
ントローラとからサブシステムを構成し、前記サブシス
テムの起動により変化する上記エンジン部のメモリ、I
/Oメモリ、レジスタの状態を更新し、かつブレイクま
たはトレースの各設定条件でセット動作を行うアクセス
・サービス部を有し、前記設定条件を満足しているとき
にブレイクするブレイクポイント機能およびターゲット
プログラムの実行過程、任意のデータ変化、設定条件成
立前後の上記ターゲットプログラムまたはMPUの状態
を出力するトレース機能を少なくとも備えるデバッガと
を具備する記録装置のシミュレータ。 (2)シミュレーションの実行制御、環境設定を操作す
るシミュレーションウィンドウおよびデバッグ機能の条
件設定、トレース内容を表示するデバッガ用ウィンドウ
を備えた請求項1記載の記録装置のシミュレータ。 (3)デバッガ用ウィンドウを開くためのデバッガ実行
制御コマンドがシミュレーションウィンドウに設けられ
ていることを特徴とする請求項2記載の記録装置のシミ
ュレータ。(4)ブレイクまたはトレース条件をテーブ
ルに登録するセット処理部と、セット処理時に呼び出さ
れ、デバッガ情報をメモリ等管理テーブルに登録するブ
レイクトレース管理の設定部と、シミュレーション実行
時にアクセス・サービス部が前記メモリ等管理テーブル
にセットするブレイクトレースまたはブレイク条件成立
情報を監視するブレイクトレース管理の監視部と、前記
条件成立後に前記監視部に呼び出され、前記テーブルに
登録されたブレイクまたはトレース条件を判定し、該条
件成立後にブレイクまたはトレースを実行するブレイク
トレース実行処理部とから構成されたデバッガ。 (5)ターゲットプログラム中の任意のデータ変化を信
号タイミングトレースウィンドウにタイミングチャート
表示する信号タイミングチャートトレース処理手段と、
タイミングデータおよび通信データの入出力をタイミン
グデータトレースウィンドウに表示するタイミングデー
タトレース処理手段と、入力信号の変化を立ち下がり、
または立ち上がりでカウントし、クロックカウンタトレ
ースウィンドウに表示するクロックカウンタトレース処
理手段と、ターゲットプログラムの実行過程をトレース
し、ランニングトレースウインドウに表示するランニン
グトレース処理手段と、トレース条件成立前後のターゲ
ットプログラムおよびMPUの状態をホルトトレースウ
ィンドウに表示するホルトトレース処理手段とにより構
成されたトレース機能をデバッガが備えている請求項1
記載の記録装置のシミュレータ。 (6)メモリ内容をメモリダンプウィンドウに表示する
メモリダンプ処理手段と、ターゲットプログラムのソー
スファイルやアセンブルリストをショーファイルウィン
ドウに表示するショーファイル処理手段と、ターゲット
プログラム、レジスタ、メモリの内容をセットクリアウ
ィンドウ上で修正するセットクリア処理手段と、設定ま
たは指定されたシミュレーション情報をシミュレーショ
ンステートウィンドウに表示するシミュレーションステ
ート処理手段とにより構成されたレジスタ・メモリ表示
設定機能をデバッガが備えている請求項1記載の記録装
置のシミュレータ。 (7)マシンレイアウトファイルをロードし、このマシ
ンレイアウトデータを基にモニタリングウィンドウに表
示するマシンレイアウト処理手段と、ターゲットプログ
ラムをロードするターゲットプログラム処理手段と、信
号テーブルをロードし、この信号テーブルを信号テーブ
ルウィンドウに表示すると共に、信号テーブルにある信
号の表示および無表示を指定する信号テーブル処理手段
とにより構成されたセットアップ機能をデバッガが備え
ている請求項1記載の記録装置のシミュレータ。 (8)ダイレクト信号エンジンの起動により呼び出され
、信号レイアウトテーブルに定義された信号に対して信
号データテーブルに格納された信号状態をマシンレイア
ウト図上に実時間で表示するモニタリング処理手段をデ
バッガが備えている請求項1記載の記録装置のシミュレ
ータ。 (9)マシンレイアウト図上に信号マークを指定するこ
とにより信号レベルメニューを表示する手段と、前記メ
ニューから選択された信号レベルを設定する手段を備え
、マニュアル時に入力信号のレベル制御を可能とした請
求項8記載の記録装置のシミュレータ。[Claims] (1) MPU that executes the target program, peripheral L
A configuration unit that defines the hardware information of the target system including SI and generates data indicating the state of change of signals to the input terminals of the MPU, and software that uses the electrical and mechanical elements that make up the target system as an engine. A subsystem is constituted by a simulation engine unit that performs a simulation based on the configuration information, and a simulation engine controller that synchronizes the startup time of each engine and executes the simulation based on the configuration information, and a simulation engine controller that performs a simulation by synchronizing the startup time of each engine based on the configuration information. The memory of the engine section, I
/O A breakpoint function and target program that has an access service section that updates the state of memory and registers and performs a set operation under each setting condition of break or trace, and breaks when the setting conditions are satisfied. A simulator for a recording device, comprising: a debugger having at least a trace function for outputting the execution process, any data changes, and the state of the target program or MPU before and after the establishment of setting conditions. 2. The recording device simulator according to claim 1, further comprising a simulation window for controlling execution of simulation and operating environment settings, and a debugger window for displaying condition settings for debugging functions and trace contents. (3) The recording device simulator according to claim 2, wherein a debugger execution control command for opening a debugger window is provided in the simulation window. (4) A set processing unit that registers break or trace conditions in a table, a break trace management setting unit that is called during set processing and registers debugger information in a memory management table, and an access service unit that a break trace management monitoring unit that monitors break trace or break condition fulfillment information set in a memory management table; and a break trace management monitoring unit that is called by the monitoring unit after the condition is satisfied and determines the break or trace condition registered in the table; A debugger comprising a break trace execution processing unit that executes a break or trace after the condition is met. (5) signal timing chart trace processing means for displaying a timing chart of arbitrary data changes in the target program on a signal timing trace window;
A timing data trace processing means that displays input/output of timing data and communication data in a timing data trace window, and a timing data trace processing means that displays input/output of timing data and communication data in a timing data trace window, and
Or a clock counter trace processing means that counts at the rising edge and displays it on a clock counter trace window, a running trace processing means that traces the execution process of the target program and displays it on the running trace window, and a target program and MPU before and after the trace condition is satisfied. Claim 1: The debugger comprises a trace function configured by a halt trace processing means for displaying the state of the trace in a halt trace window.
Simulator of the recording device described. (6) Set and clear the memory dump processing means that displays the memory contents in the memory dump window, the show file processing means that displays the source files and assembly list of the target program in the show file window, and the contents of the target program, registers, and memory. 2. The debugger includes a register/memory display setting function configured by set clear processing means for modifying on a window and simulation state processing means for displaying set or designated simulation information on a simulation state window. Recording device simulator. (7) A machine layout processing means that loads a machine layout file and displays it on a monitoring window based on this machine layout data, a target program processing means that loads a target program, and a signal table that loads a signal table and uses this signal table as a signal. 2. The recording device simulator according to claim 1, wherein the debugger has a setup function configured by signal table processing means for displaying on a table window and specifying display or non-display of signals in the signal table. (8) The debugger is equipped with a monitoring processing means that is called by the activation of the direct signal engine and displays the signal status stored in the signal data table for the signals defined in the signal layout table on the machine layout diagram in real time. 2. A simulator for a recording device according to claim 1. (9) Equipped with a means for displaying a signal level menu by specifying a signal mark on the machine layout diagram and a means for setting the signal level selected from the menu, making it possible to control the input signal level during manual operation. A simulator for a recording device according to claim 8.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018862A JPH03225436A (en) | 1990-01-31 | 1990-01-31 | Simulator of recording device and its debugger |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018862A JPH03225436A (en) | 1990-01-31 | 1990-01-31 | Simulator of recording device and its debugger |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03225436A true JPH03225436A (en) | 1991-10-04 |
Family
ID=11983351
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018862A Pending JPH03225436A (en) | 1990-01-31 | 1990-01-31 | Simulator of recording device and its debugger |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03225436A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11224214A (en) * | 1998-02-05 | 1999-08-17 | Fujitsu Ltd | Event classification device and program recording medium thereof |
| JPWO2018203390A1 (en) * | 2017-05-02 | 2019-11-07 | 三菱電機株式会社 | Test apparatus, test system, test method, and program |
-
1990
- 1990-01-31 JP JP2018862A patent/JPH03225436A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11224214A (en) * | 1998-02-05 | 1999-08-17 | Fujitsu Ltd | Event classification device and program recording medium thereof |
| JPWO2018203390A1 (en) * | 2017-05-02 | 2019-11-07 | 三菱電機株式会社 | Test apparatus, test system, test method, and program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CA2354248C (en) | Method and apparatus for tracing hardware states using dynamically reconfigurable test circuits | |
| TW202132793A (en) | Automated test equipment using an on-chip-system test controller | |
| 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 (en) | Program debug system | |
| JP2018160191A (en) | Hardware test apparatus and hardware test method | |
| 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 (en) | Information processing apparatus and program | |
| CN114924717B (en) | Design method for automatic generation and operation of verification environment based on DPU | |
| JPH03225436A (en) | Simulator of recording device and its debugger | |
| JP2003316603A (en) | Program verification system | |
| JPH03125233A (en) | Recording device simulator and its simulation engine | |
| 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 (en) | Model simulation device and method, model creation device and method, information storage medium | |
| JPH036629A (en) | Simulator for recorder and its configuration system | |
| JP2803090B2 (en) | MPU simulation method and MPU simulator | |
| JP2696957B2 (en) | Input chart editing method for image output device simulation | |
| 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 (en) | Test apparatus including program using dual process | |
| JP2887254B2 (en) | Chart editing method for image output device simulation | |
| JPH07121405A (en) | Simulation method | |
| US8914274B1 (en) | Method and system for instruction set simulation with concurrent attachment of multiple debuggers |