JPH03125233A - Recording device simulator and its simulation engine - Google Patents

Recording device simulator and its simulation engine

Info

Publication number
JPH03125233A
JPH03125233A JP1262908A JP26290889A JPH03125233A JP H03125233 A JPH03125233 A JP H03125233A JP 1262908 A JP1262908 A JP 1262908A JP 26290889 A JP26290889 A JP 26290889A JP H03125233 A JPH03125233 A JP H03125233A
Authority
JP
Japan
Prior art keywords
engine
data
mpu
lsi
simulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1262908A
Other languages
Japanese (ja)
Inventor
Tetsuji Sato
佐藤 徹次
Satoshi Takaoka
聡 高岡
Yoichi Nagasato
永里 洋一
Yasuto Kaneko
金子 康人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP1262908A priority Critical patent/JPH03125233A/en
Publication of JPH03125233A publication Critical patent/JPH03125233A/en
Pending legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Cleaning In Electrography (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To simulate a hardware environment in terms of software by providing simulation engine controller which secures the synchronization of the start time among engines based on the configuration information and carries out the simulation. CONSTITUTION:An engine have the earliest request among the action timings of engines 442-447 and another engine having a start request are started based on the system time outputted from an engine controller 441. Then each of engines 442-447 carries out the simulation of the input/output of the external signals of an MPU, an LSI, a sensor, etc., and the transmission/reception of the communication data, etc. For the system time, the time most approximate to the present system time is set among those times of the action timing requests informed to the controller 441 from the engines 442-447 and the times contained in a start request control table. Thus the system time serves as the reference time for synchronization among those engines. Thus a hardware environment can be simulated in terms of software.

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 a simulator) suitable for executing simulations of external signals from LSIs, sensors, etc., communication data with other MPUs, and the like.

〔従来の技術〕[Conventional technology]

近年、記録装置においては、社会的ニーズの多様化によ
り一つの機種における多機能化、特定機能のみをもつ多
機種化など製品開発に大きな変化が見られる。これらの
変化に対応するための技術革新は、MPUの導入とその
ソフトウェアによるところが極めて大きく、年々ソフト
ウェア規模が増大すると共に、このソフトウェアの開発
が製品開発に全工数上の大きなウェイトを占めるように
なって来ている。
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 to respond to these changes is extremely dependent on the introduction of MPUs and their software, and as the scale of software increases year by year, the development of this software has come to account for a large portion of the total man-hours in product development. It's coming.

したがって、ソフトウェア開発の効率を上げることが製
品開発上の至上命題となっているが、従来の方法による
ソフトウェア開発では、そのデバ・フグ工程において、
電気回路基板あるいは記録装置の実機が必要となってい
るため、たとえソフトウェアの設計が早期に完了したと
しても、電気回路基板や実機の試作完了まで次のデバ・
フグ工程に進めないという問題がある。すなわち、この
ソフトウェアのデバッグが電気回路基板や実機といった
記録装置のハードウェアに依存しているという特徴が結
果的にソフトウェアがハードウェアの開発スケジュール
に依存してしまうばかりか、どうしても後追いになって
しまうという悪循環の様相を呈していた。したがって、
ソフトウェアの開発効率を上げるには、ソフトウェアだ
けの問題に限らすノ1−ドウエアの開発効率を上げねば
ならないのが現状である。
Therefore, increasing the efficiency of software development has become a top priority in product development, but in software development using conventional methods, in the debafugu process,
Because an actual electrical circuit board or recording device is required, even if the software design is completed early, the next device or
There is a problem that it cannot proceed to the blowfish process. 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 necessary to increase the efficiency of software development, which is not limited to software-only issues.

更に、電気回路基板や実機上でのデバ・フグにおいて、
トラブルが発生した場合、たとえそれがハードウェア側
の問題としても開発コスト/納期の関係からその対策を
ソフトウェア的に行うことが多いため、ソフトウェア技
術者の負担増につながっている。
Furthermore, in debafugu on electric circuit boards and actual machines,
When a problem occurs, even if it is a hardware problem, the problem is often solved using software due to development costs and delivery schedules, which increases the burden on software engineers.

以下、記録装置の開発について説明する。The development of the recording device will be explained below.

第79図は、記録装置の基本的な構成を示すものである
0図において、記録装置は機器本体100、M P U
 120及びこの両者間のインタフェースを行う電気回
路基板130とから構成されている。機器本体100に
は、動作状態を検出するためのセンサ及びコントロール
パネルからの指示を入力するためのスイッチ等が設けら
れている。これらのセンサ、スイッチ等からの入力は、
−旦電気回路基板130に供給され、ここで所定の信号
処理が行われなのちM P U 120に入力データと
して供給される。
FIG. 79 shows the basic configuration of the recording device. In FIG.
120 and an electric circuit board 130 that provides an interface between the two. The device main body 100 is provided with a sensor for detecting an operating state, a switch for inputting an instruction from a control panel, and the like. 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に供給される。M P tJ 120の出力データは
、電気回路基板130に供給され、この電気回路基板1
30からモータ、ソレノイド等の駆動部品を制御するた
めの信号が出力される。
Also, some of the inputs are sent to the MPU 12 as interrupt signals.
0. The output data of the M P tJ 120 is supplied to the electrical circuit board 130, and the electrical circuit board 1
30 outputs signals for controlling driving parts such as motors and solenoids.

またM P U 120には、MPUとMPU外部の回
路とのインタフェースのために周辺LSI(大規模集積
回路)が接続されており、前記機器のモータ、ツレイド
等の機構系を精密に動作させるのに必要な信号を作り出
している。
Additionally, a peripheral LSI (Large Scale Integrated Circuit) is connected to the MPU 120 for interfacing the MPU with circuits outside the MPU, and is used to precisely operate mechanical systems such as motors and threads of the equipment. It produces the necessary signals.

更に記録装置のシステムが大きい場合は、システムを複
数のモジュールに分割し、各モジュール毎に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.

上記記録装置の開発は、第80図に示すように、大別し
て機器本体に関するメカニカル設計、MPUおよび周辺
LSIのハードウェアに関する電気回路設計、および装
置の動作を制御するプログラムに関するソフトウェア開
発の三つの部門によって進められる。具体的には、先ず
製品企画において開発のテーマ、スケシールなどが検討
立案され、それを基に各部門で仕様設計に入る。ソフト
ウェア開発部門では、プログラムを作成する第1工程、
このプログラムを電気回路基板を使って検証する第2工
程、およびプログラムを試作機に搭載して検証する第3
工程がある。
As shown in Fig. 80, the development of the recording device described above can be roughly divided into three departments: mechanical design for the main body of the device, electrical circuit design for the hardware of the MPU and peripheral LSI, and software development for the program that controls the operation of the device. Proceeded by. 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工程は完成した試作機で開発したプログラムを走ら
せ、このときの装!動作を確認する、いわゆる実機テス
トである6 通常、上記各部門の作業は並行して行われるが、この間
の開発テンポは必ずしも同一とはならない。
The third step was to run the developed program on the completed prototype machine and see how it looked! This is a so-called actual machine test to confirm operation.6 Normally, the work of each of the above departments is carried out in parallel, but the development tempo during this period 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 fullest use of debugging through emulation testing, and software bugs cannot be removed before moving on to actual machine testing. As a result, basic software troubles occur one after another when debugging actual devices.

以下に、記録装置の制御プログラムの開発を、複写機を
例にして説明する。
The development of a control program for a recording device will be described below using a copying machine as an example.

第81図は、自動原稿搬送装置及びソータを備えた複写
機の模式図を示している。
FIG. 81 shows a schematic diagram of a copying machine equipped with an automatic document feeder and a sorter.

図において、複写機本体100の上面には原稿を複写機
本体のプラテンガラス上に自動的に搬入するための自動
原稿搬送装置140がfi置され、また。
In the figure, an automatic document feeder 140 is disposed on the top surface of a copying machine main body 100 for automatically transporting a document onto the platen glass of the copying machine main body.

複写機本体の側面には、複写後の用紙を仕分けしてビン
161に排出するためのソータ160が配置されている
A sorter 160 for sorting the sheets after copying and discharging them into bins 161 is arranged on the side of the main body of the copying machine.

複写機本体100内には、矢印方向に回転する感光体ド
ラム101が配置され、この感光体ドラム101の周辺
に帯電器102、現像器103、転写器104、剥離器
105、クリーナ106等が順次配置されている。
Inside the copying machine body 100, a photosensitive drum 101 that rotates in the direction of the arrow is arranged, and around this photosensitive drum 101, a charging device 102, a developing device 103, a transfer device 104, a peeling device 105, a cleaner 106, etc. are sequentially installed. It is located.

また、複写機本体100の上部には、原稿(図示せず)
を照明する光源111、原稿からの反射光を感光体ドラ
ム101上に集束させるためのミラー112及びレンズ
1】3が配設されており、これらが走査光学系を構成し
ている。そして、この走査光学系により、予め帯電器1
02により帯電された感光体ドラム101上に静電潜像
を形成するようになっている。この静電潜像は現像器1
03によりトナー像としてm像化される。同時に、それ
ぞれ異なったサイズの用紙が収納された第1.第2及び
第3トレイ121,122,123のいずれかから用紙
が給紙装置121により感光体ドラム101方向に搬送
され、転写器104により感光体ドラム上のトナー像が
用紙に転写される。この際、感光体ドラム101の回転
に同期して所定のタイミングで用紙が給送されるように
、用紙搬送経路中にレジストレーションゲート(図示せ
ず)が設けられている。転写後の用紙は剥離器105に
より感光体ドラム101から剥離され、搬送ベルト12
5により定着fi126に送られ、トナー像が用紙に定
着される。
Further, on the top of the copying machine main body 100, a document (not shown) is provided.
A light source 111 for illuminating the document, a mirror 112 for focusing reflected light from the original onto the photosensitive drum 101, and lenses 1 and 3 are provided, and these constitute a scanning optical system. By using this scanning optical system, the charger 1 is
An electrostatic latent image is formed on the photoreceptor drum 101 charged by the electrostatic charge 02. This electrostatic latent image is
03, it is converted into an m-image as a toner image. At the same time, the first 1st page stores paper of different sizes. A sheet of paper from one of the second and third trays 121, 122, and 123 is conveyed toward the photoreceptor drum 101 by the paper feeder 121, and the toner image on the photoreceptor drum is transferred onto the sheet by the transfer device 104. 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 101. After the transfer, the paper is peeled off from the photoreceptor drum 101 by a peeler 105, and transferred to the conveyor belt 12.
5, the toner image is sent to the fixing fi 126, and the toner image is fixed on the paper.

通常の複写において、定着後の用紙は、実線で示すよう
に、インバータ127をそのまま通過してソータ160
により所定のビン161に排出される。なお、両面複写
の場合は、−点鎖線で示すように、−面が複写された後
の用紙の表裏をインバータ127により反転して一旦両
面トレイ128に溜めたのち、循環装置129及び給紙
装置124を介して再度感光体ドラム101方向に搬送
し、今度は他面の複写を行う。
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 photoreceptor drum 101 is again conveyed via the photoreceptor drum 124, and this time the other side is copied.

上述のような複写機において、自動原稿運送装置140
及びソータ160を使用して複写を行う場合を考えると
、原稿トレイ141に原稿を載置して、複写機本体10
0のコンソールパネルに設けられた複写開始ボタン(図
示せず)を押すと、先ず、自動原稿搬送装置140は、
第82図に示すように、原稿をプラテンガラス144上
の規定位置に搬送する。
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, and then the copying machine main body 10
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. 82, the original is conveyed to a prescribed position on the platen glass 144.

すなわち、原稿トレイ141上の原稿はパドル142.
143によりプラテンガラス144上に送り出され、搬
送ベルト145によりプラテンガラス144上の規定位
置に搬送される。
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 a prescribed position on the platen glass 144 by the conveyor belt 145.

次いで、光源111、ミラー112、レンズ113等か
らなる走査光学系は、感光体ドラム101の回転に同期
して、プラテンガラス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 photosensitive drum 101 to scan the original.

これにより、感光体ドラム101上には、静電像が形成
され、その後、周知の現像、転写、剥離、定着、排出、
仕分は等の各工程が行われる。
As a result, an electrostatic image is formed on the photoreceptor drum 101, and then the well-known development, transfer, peeling, fixing, ejection, etc.
Each process such as sorting is performed.

また、複写後の原稿は搬送ベルト145によりプラテン
ガラス144から取り除かれ、ゲート爪146により掬
い上げられ原稿搬送ロール147により自動原稿搬送装
置140の上部の原稿受け148に排出される。
Further, the copied document is removed from the platen glass 144 by a conveyor belt 145, scooped up by a gate claw 146, and discharged by a document conveyor roll 147 to a document receiver 148 at the top of the automatic document feeder 140.

このように複写作業が行なわれるとき、各工程は、各装
置の動作及び用紙の通過状態を検出しなから処理される
When copying work is performed in this manner, each step is performed without detecting the operation of each device and the state of paper passage.

このような自動原稿搬送装置140、ソータ160等の
周辺装置を備えた複写機においては、各装置の動作を他
の装置の状態との関連で制御しなければならないため、
複写機本体と各周辺機器との間は通信チャンネルで結ば
れている。
In a copying machine equipped with peripheral devices such as the automatic document feeder 140 and 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.

また、各装置はMP[Jにより制御されるが、各MPU
はインタフェース及び前記通信チャンネルを介してデー
タの授受が行われる。また、同一装置内においても機能
別に複数のMPUが設けられることもある。
In addition, each device is controlled by MP[J, 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.

複写機本体100は、第83図に示されるように、複写
機機構部131、M P U 132及びこの両者間の
インタフェースを行う電気回路基板133とから構成さ
れている。また、電気回路基板133には、操作用のコ
ンソールパネル134が接続され、複写機開始等のキー
からの信号が電気回路基板133に供給されると共に、
複写枚数、メツセージ等のデータがコンソールパネル1
34に供給され、ランプ、発光ダイオードマトリックス
等により表示される。
As shown in FIG. 83, the copying machine main body 100 is composed of a copying machine mechanism section 131, an MPU 132, and an electric circuit board 133 that provides an interface between the two. Further, 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.
Data such as number of copies and messages are displayed on console panel 1.
34 and displayed by a lamp, light emitting diode matrix, etc.

また、複写機本体100に対する周辺装置、すなわち、
前述の自動原稿運送装置140及びソータ160等にお
いても同様な構成となっている。たとえば、自動原稿搬
送装置140は、自動原稿搬送装置機相部151とM 
P U 152との間に設けられた電気回路基板153
により信号、データの授受が行われる。そして、各装置
間の動作の制御は、たとえばシリアルの通信データによ
り行なわれている。
Further, peripheral devices for the copying machine main body 100, that is,
The above-mentioned automatic document transport device 140, sorter 160, etc. have similar configurations. For example, the automatic document feeder 140 has an automatic document feeder phase 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で実行され
るプログラムの開発には、デバッグ用の開発ツールとし
て第84図に示すシミュレータキットと呼ばれる装置が
使用されている。これは前述のエミュレーションテスト
を行うためのツールである。
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. 84 is used as a debugging development tool. This is a tool for performing the emulation test mentioned above.

シミュレータキット170は、実際の複写機機構部13
1及びコンソールパネル134の入力系及び出力系をス
イッチパネル部171、表示パネル部172及び疑似コ
ンソールパネル部173で置き換えると共に、電気回路
基板133上のMPU用ソケットにターゲラ) M P
 0132と置換してインサーキットエミュレータ17
4(図中、ICEで示す)を装着するものである。
The simulator kit 170 simulates the actual copying machine mechanism 13.
1 and the input system and output system of the console panel 134 are replaced with a switch panel section 171, a display panel section 172, and a pseudo console panel section 173, and the MPU socket on the electric circuit board 133 is connected to the Targetera) M P
In-circuit emulator 17 by replacing 0132
4 (indicated by ICE in the figure).

スイッチパネル部171には、各部品の状態を外部から
設定するための複数のスイッチ171aが設けられてい
る。そして、スイッチパネル部171のスイッチ171
aを操作することにより、スイッチ171&からの出力
が電気回路基板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 a, the output from the switch 171& is supplied as a 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 simplicity.

また、電気回路基板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は、第85図に示すように、複写時
の用紙の流れ等が視覚的に把握できるように、開発の対
象となる複写機のレイアウトが模式的に描かれている。
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. 85, 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 (図中、白丸で示す)が、これらの各部
品と対応する位置に配設されており、それぞれ名前が付
されている。たとえば、最上段の給紙トレイの表示18
4部分にはFEED−SQLと名付けられた給送ソレノ
イドの動作を示す赤ランプ172bと、用紙が給送され
ているかどうかを示すFEEDOUT−SNRと名付け
られた青ランプ172a+が設けられている。また、感
光体ドラムの表示181の入力側には、用紙の搬送開始
のタイミングを決めるレジ、ストレージョンゲートを制
御するREG−SQLと名付けられたソレノイドの動作
を示す赤ランプ172b2と、レジストレーションゲー
トに用紙が給送されているかどうかを示すREG−SN
Rと名付けられた青ランプ172azが設けられており
、更に、定着器の表示182の近傍の入力側に定着器に
用紙が給送されているかどうかを示すFUSIN−5N
Rと名付けられた青ランプ172asが設けられる。
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 a black circle in the figure) is installed, and a motor,
A plurality of red lamps 172b (indicated by white circles in the figure) that display the status of output components such as solenoids are arranged at positions corresponding to each of these components, and are given names. For example, display 18 of the top paper tray
A red lamp 172b labeled FEED-SQL indicates the operation of the feeding solenoid, and a blue lamp 172a+ labeled FEEDOUT-SNR indicates whether the paper is being fed. In addition, on the input side of the photosensitive drum display 181, there are a register that determines the timing to start transporting paper, a red lamp 172b2 that indicates the operation of a solenoid named REG-SQL that controls the storage gate, and a registration gate. REG-SN indicating whether paper is being fed to
A blue lamp 172az named R is provided, and a FUSIN-5N 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 172as labeled R is provided.

また、定着器の表示182の出力側にFSROtlT−
ROLLと名付けられたロールの動作を示す赤ランプ1
72b、が設けられている。この他にも各経路に、用紙
の到着状態を示す青ランプ及びモータ、ソレノイド等の
動作状態を示す赤ランプが表示されているがこれらにつ
いては説明を省略する。
Also, FSROtlT- is displayed on the output side of the fuser display 182.
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.

手動制御モードでは、送受信シミュレート、センサ信号
シミュレート等を行う、送受信シミュレ−トは、パーソ
ナルコンピュータ17フのキーボードから入力されたデ
ータ或は初期ロードされたデータを電気回路基板133
へ送信し、また5電気回路基板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 17 or initially loaded data to the electric circuit board 133.
The data transmitted to and received from the electric circuit board 133 is displayed on the console of the personal computer 177.

センサ信号シミュレートは、前述したように、電気回路
基板133への信号をスイッチパネル部171のスイッ
チ171 aのオンオフにより設定すると共に、その状
態を青ランプ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
72b.

バージナルコンピュータ制御モードは、電気回路基板1
33の制御プログラムをデバッグする際に、タイミング
チャートにしたがって用紙走行テスト等を行うときに使
用するものである。
Virgin computer control mode is the 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.

本シミュレータの技術的課題 従来、記録装置におけるソフトウェア開発においては、
先に述べたように三つの工程によって行われているが、
その中でソフトウェアのデバッグを行うエミュレーショ
ンテストおよび実機テストでは、後に行く程、ソフトウ
ェアトラブルの対策に多くの工数が掛かり、製品開発の
全体スケジュールの上で問題となる。第86図はデバッ
グ工程でのトラブル件数とその対策工数をグラフに表し
たものである1図において、開発されたソフトウェアは
、ソフトウェア単体によるデバッグが行われないため、
エミュレーションテストおよび実機テストによってバグ
が発見されるが、この内、バグによるトラブルの全件数
に占める割合がエミュレーションテストでは約58.1
%、実機テストでは約42.9%である。すなわち、バ
グは6割弱がエミュレーションテストで発見され、この
段階で取り除かれるが、残りの4割強のバグは次の実機
テストで取り除かれる。これらのトラブルは発見される
段階によりその究明・対策の工数に大きな差が生ずる。
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 86 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 actual machine tests, but emulation tests account for approximately 58.1 of the total number of troubles caused by bugs.
%, which is approximately 42.9% in the actual machine test. 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 involves determining the cause and determining how to share countermeasures. 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.

ところで、電気回路基板や機器本体(機構部分)の設計
試作には数カ月を必要とし、特に完成後の電気回路基板
や機器本体における設計変更は開発スケジュールの時間
的制約やコストの面で厳しい。
By the way, it takes several months to design and prototype an electric circuit board or a device body (mechanical part), and changing the design of an electric circuit board or device body after completion is particularly difficult in terms of time constraints and costs in the development schedule.

また、電気回路上または試作機上でのプログラムの検査
において問題が発生した場合、その問題はプログラムに
あるのか、電気回路基板または機器本体にあるのかが判
別し難い。この原因を特定するのもソフトウェア技術者
が行っている。特に、製品の完成間近かではこれらハー
ドウェアの問題等も含めてソフト的に解決しなければな
らない事態がしばしば起っている。
Further, 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 lies in the program, the electric circuit board, or the device itself. Software engineers also identify the cause of this problem. Particularly when a product is nearing completion, situations often occur that require software solutions, including these hardware problems.

したがって、この種の機器開発では、ソフトウェア技術
者に多大な労力がかかるという問題があった。
Therefore, there has been a problem in that this type of device development requires a great deal of effort from software engineers.

これらの間層を解決するためには、いかにソフトウェア
トラブルを早期に発見し、それに対処するかが鍵になっ
ている。
In order to solve these problems, the key is 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.

対象となる記録装置は、所期の目的を達成するために、
電気回路基板からの制御信号により機構部分が一連の動
作を行うように構成されており、この一連の動作をシミ
ュレートするには、先ず装置の動作状態を示すデータ、
すなわち機構部分に配置されたセンサーの出力変化を装
置の固有の動作時間に対応させたタイミングデータが必
要となる。
In order to achieve the intended purpose, the target recording device must:
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, timing data is required that corresponds to the change in the output of a sensor disposed in a mechanical part to the specific operating time of the device.

タイミングデータは、タイミングチャートから作成され
るが、このタイミングチャートの作成は、全て手作業で
行われるため、多大な時間と手間がかかっていた。また
、目視による作業のため、読取誤りや、記入誤りなどの
人為的ミスが発生し易く、正確なタイミングチャートを
作成することが困難であった。したがって、シミュレー
ションのためのタイミングデータを短期間で準備するこ
とができなかった。
Timing data is created from a timing chart, but the creation of this timing chart is entirely 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に搭載されたプロ
グラムに従ってfifl[部分を制御する信号を出力す
る。
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 fifl[portion] 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 begin until the electrical circuit boards for all modules are completed, and even if electrical circuit boards are made for debugging, there may be changes in the circuit design. In this case, it is necessary to produce an electric circuit board each time, 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.

■異常系を含めたあらゆるテストモードのタイミングデ
ータが作成でき、広範囲なテストが可能である。
■Timing data for all test modes, including abnormal systems, can be created, 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及び周辺LSIなどのターゲットプログラムを
とりまくハード的な環境をソフト的に定義できる。
■The hardware environment surrounding target programs such as MPU and peripheral LSI 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 alone.

■MPtJ周辺のLSIの回路動作をシミュレートする
ことにより、実際の電気回路基板を作成することなく、
MPUの各端子における信号の状態が確認できる。
■By simulating the circuit operation of LSI around MPtJ, it is possible to
You can check the signal status at each terminal of the MPU.

■ターゲットシステムが複数のモジュールで構成されて
いる場合、各モジュールのMPUに必要な通信データを
、電気回路基板および機構部分を使用することなく外部
から供給することにより、各モジュール毎に独立にデバ
ッグすることができる。
■If the target system consists of multiple modules, each module can be debugged independently by supplying the necessary communication data to the MPU of each module from outside without using the electrical circuit board or mechanical parts. can do.

■機構部分に配室されたセンサなどの出力信号はシミュ
レーション時にダイレクト信号データに変換されて用い
られるが、このダイレクト信号データはセンサ類の正常
な動作状況を定義する外に、正常でない定義、すなわち
予めセンサ、ソレノイド、モータなどの異常を想定し、
このときのセンサの出力信号を基に定義することもでき
る。このような異常モードによるシミュレーションを実
行することにより、異常時の状況把握が事前に検証でき
、かつその対応策を立てることができる。
■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 sensors, but also defines abnormal conditions, i.e. Assuming abnormalities in sensors, solenoids, motors, etc. in advance,
It can also be defined based on the output signal of the sensor 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.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

前述の本シミュレータの課題の中から、特に本発明では
、シミュレーションエンジンに関する課題を解決するも
のである。
Among the problems of the present simulator described above, the present invention particularly solves problems related to the simulation engine.

本発明の主目的は、ターゲットプログラムが走行するハ
ードウェア環境をMPU、周辺LSIを含めて完全にソ
フトウェア的にシミュレーションするためのシミュレー
タを提供することである。
The main object of the present invention is to provide a simulator for completely simulating the hardware environment in which a target program runs, including an MPU and peripheral LSI, in a software manner.

また他の目的は、マルチプロセッサシステムの環境下で
のテストを行うことができるシミュレータを提供するこ
とである。
Another object of the present invention is to provide a simulator that can perform tests in a multiprocessor system environment.

また他の目的は、シミュレーション実行時の状況把握お
よび情報定義の全ての操作をウィンドウ上で実行できる
ユーザインターフェースを備えたシミュレータを提供す
ることである。
Another object of the present invention 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 performed on a window.

また他の目的は、異常系を含めたあらゆるテストモード
のタイミングデータを供給してテストを行うことができ
るシミュレータを提供することである。
Another object is to provide a simulator that can perform tests by supplying timing data for all test modes including abnormal systems.

更に他の目的は、開発の対象となる記録装置をソフトウ
ェア的にシミュレーションするに必要なシミュレーショ
ンエンジンを提供することである。
Still another object is to provide a simulation engine necessary for simulating a recording device to be developed using software.

〔課題を解決するための手段およびその作用〕上記の目
的を達成するため、本発明はターゲットプログラムを実
行するMPU、周辺LSIを含むターゲットシステムの
ハードウェア情報の定義、およびMPUの入力端子への
信号の変化状態を示すデータを生成するコンフィグレー
ション部と、ターゲットシステムを構成する電気的要素
や機械的要素をエンジンとしてソフトウェア的にシミュ
レーションするシミュレーションエンジン部と、前記コ
ンフィグレーション情報を基に、前記各エンジンの起動
時間の同期をとってシミュレーションを実行するシミュ
レーションエンジンコントローラとを具備するものであ
る。
[Means for Solving the Problems and Their Effects] 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 provides information on input terminals of the MPU. a configuration section that generates data indicating signal change states; a simulation engine section that uses software to simulate the electrical and mechanical elements constituting the target system as an engine; The system includes a simulation engine controller that executes simulation by synchronizing engine startup times.

上記シミュレーションエンジン部は、クロックエンジン
、MPUエンジン、LSI回路エンジン。
The simulation engine section includes a clock engine, an MPU engine, and an LSI circuit engine.

ダイレクト信号エンジン、およびターゲットシステムが
他のMPtJによって構成される外部モジュールとの間
で行う通信データを前記LSI回路エンジン、MPUエ
ンジンに供給する通信データエンジンとから構成されて
いる6 上記クロックエンジン、ダイレクト信号エンジン、MP
Uポートエンジン、およびLSI回路エンジン間が端子
または信号の状態を格納するステートバッファと前記状
態の変化のあったことを池のエンジンに知らせる状変リ
ストにより関連付けられている。
The target system is composed of a direct signal engine, and a communication data engine that supplies communication data to the LSI circuit engine and the MPU engine with respect to external modules configured by other MPtJs. Signal engine, MP
The U port engine and the LSI circuit engine are associated with each other by a state buffer that stores the state of a terminal or signal, and a status change list that notifies the Ike engine of a change in the state.

またMPUポートエンジン、LSI回路エンジン間が1
通信データを知らせる通信情報を知らせる通信データリ
ストと前記エンジンから通信データエンジンまたは通信
データエンジンから前記エンジンへの送受信情報を通信
データエンジンに知らせる送・受信バッファ通信とLS
Iエンジンに対応した送・受信データのバッファを定義
した送・信バッファコンフィグテーブルにより関連付け
られている。
Also, there is 1 between the MPU port engine and the LSI circuit engine.
A communication data list that informs communication information that informs communication data, and a transmission/reception buffer communication that informs communication data engine of transmission/reception information from the engine to the communication data engine or from the communication data engine to the engine, and LS.
They are related by a sending/receiving buffer configuration table that defines sending/receiving data buffers corresponding to the I engine.

更にMPUポートエンジンとMPU命令エンジンと間が
MPUポートの状態を変化させた割込事象をMPU命令
エンジンに知らせる割込イベントリストにより関連付け
られている。
Further, the MPU port engine and the MPU instruction engine are associated by an interrupt event list that informs the MPU instruction engine of interrupt events that change the state of the MPU port.

また本シミュレータは、各エンジンの次の動作タイミン
グを記録した動作タイミングリストと他のエンジンによ
り動作環境が変えられたエンジンの起動を記録した起動
リクエスト制御テーブルを設け、前記リストおよびテー
ブルをシミュレーションエンジンコントローラが参照し
て、該コントローラが管理するシステム時間に最も近い
起動時間にあるエンジンに対して前記システム時間を設
定し、起動するように構成されている。
In addition, this simulator is provided with an operation timing list that records the next operation timing of each engine and a startup request control table that records the startup of an engine whose operating environment has been changed by another engine, and the list and table are used by the simulation engine controller. The controller is configured to refer to the system time, set the system time for the engine whose startup time is closest to the system time managed by the controller, and start the engine.

また本シミュレータは、シミュレーションの実行制御、
環境設定、モニタリング、データ入力、修正などの操作
を行うシミュレーションウィンドウ部を備えている。
This simulator also supports simulation execution control,
It is equipped with a simulation window section for operations such as environment settings, monitoring, data input, and corrections.

上記シミュレーションウィンドウ部はシミュレーション
の操作を行う選択肢が設けられたシミュレーションウィ
ンドウと、選択肢により開かれる個別の設定、選択、表
示のための各ウィンドウとから構成されている。
The simulation window section is composed of a simulation window in which options for performing simulation operations are provided, and windows for individual setting, selection, and display that are opened depending on the options.

またシミュレーションウィンドウおよび個別の設定ウィ
ンドウには、マシンレイアウト、ターゲット10グラム
、信号テーブル、ダイレクト信号データ、通信データに
関して用意された複数のデータを表示するポツプアップ
メニューを有し、該ポツプアップメニューの中からシミ
ュレーションに応じて設定を行うための選択肢が設けら
れている。
In addition, the simulation window and individual setting windows have pop-up menus that display multiple data prepared for machine layout, target 10 grams, signal tables, direct signal data, and communication data. There are options for configuring settings according to the simulation.

以下、各エンジンは次のような特徴を備えいる。Each engine has the following characteristics:

クロックエンジンは、クロック素子が出力端子の状態を
変化させたいステージでクロックのカウントを行い、こ
のカウントに応じてクロック入力をもつ素子の動作指示
を各LSIに出力するプリクロックエンジンと、LSI
回路エンジン、MPUポートエンジンから出されるクロ
ック信号の出力変化タイミングデータを基にタロツクの
カウント値が変化するタイミングをクロックエンジンに
知らせるクロックエンジンタイミング通知マクロ部とを
備え、このクロックエンジンタイミング通知マクロ部に
より書き込まれるクロック端子コンフィグテーブルを参
照して、出力変化タイミングの中で最も近い未来に出力
端子が変化するタロツクにつながるクロック入力を持つ
LSIに対してタロツク信号状態が変化したことを知ら
せるクロック端子状変リストを作成する。
The clock engine counts clocks at the stage where the clock element wants to change the state of the output terminal, and outputs operation instructions for elements with clock input to each LSI according to this count, and the LSI
The clock engine timing notification macro unit notifies the clock engine of the timing at which the tarok count value changes based on the output change timing data of the clock signal output from the circuit engine and the MPU port engine. By referring to the written clock terminal configuration table, change the clock terminal state to notify that the tarok signal state has changed to an LSI that has a clock input that is connected to a tarok whose output terminal will change in the nearest future in the output change timing. Create a list.

ダイレクト信号エンジンは、ダイレクト信号■Dとタイ
ミングデータ信号名とを対応させたデータが格納された
タイミングデータ信号名テーブルと、ダイレクト信号I
Dとダイレクト信号ネームとを対応させたデータが格納
されたダイレクト信号ネームテーブルとを備え、状態の
変化のあったダイレクト信号データを読み込み、前記両
テーブルに基づいて状態の変化のあったことをLSI回
路エンジンの各LSIエンジンに知らせるためのLSI
宛ダイレクト信号状変リストを作成すると共に、前記ダ
イレクト信号データをダイレクトステートバッファに格
納すると共に、LSIエンジンでダイレクト信号の状態
の変化があったことをダイレクト信号IDによりダイレ
クト信号エンジンに知らせるダイレクト信号エンジン宛
ダイレクト信号状変リストと、ダイレクト信号IDとダ
イレクト信号ネームとを対応させたデータが格納されて
ダイレクト信号ネームテーブルとを備え、前記状変リス
トを参照して前記テーブルに基づいてターゲットシステ
ムの動作状況を画面上に表示するための処理を実行する
The direct signal engine has a timing data signal name table that stores data in which direct signals D and timing data signal names are associated with each other, and a direct signal I
The LSI is equipped with a direct signal name table that stores data that associates D and direct signal names, reads direct signal data whose state has changed, and indicates that there has been a state change based on both tables. LSI for informing each LSI engine of the circuit engine
A direct signal engine that creates a destination direct signal state change list, stores the direct signal data in a direct state buffer, and notifies the direct signal engine that there has been a change in the state of a direct signal in the LSI engine using a direct signal ID. The target system includes a destination direct signal state change list and a direct signal name table in which data in which direct signal IDs and direct signal names are associated are stored, and the target system operates based on the table by referring to the state change list. Executes processing to display the status on the screen.

LSI回路エンジンは、LSIごとに設けられたLSI
エンジンと、各エンジンから入力される端子の状態変化
、テストデータなどの情報に基づく起動要求のあるLS
Iエンジンを回路レベル別に整理したLSIリクエスト
リストと、該LSIリストリストを参照して同一の回路
レベルにあるLSIエンジンを順次起動するLSIエン
ジンドライバとから構成されてあり、前記LSIエンジ
ンドライバは、各LSIエンジンの起動によって他のL
SIエンジンの端子の状態を変化させたとき、当該LS
Iエンジンの起動要求に関してリクエストリストを作成
する。
The LSI circuit engine is an LSI circuit engine provided for each LSI.
LS with startup requests based on information such as engine, terminal status changes input from each engine, test data, etc.
It consists of an LSI request list in which I engines are organized by circuit level, and an LSI engine driver that refers to the LSI request list and sequentially starts up LSI engines at the same circuit level. By starting the LSI engine, other L
When the state of the SI engine terminal changes, the corresponding LS
A request list is created regarding the I-engine startup request.

またLSIエンジンの起動によって、状態の変化のあっ
たMPU端子情報をMPUポートエンジンに知らせるた
めのMPU宛MPU端子状変リストを作成し、かつLS
Iエンジンドライバによって起動されるMP[J端子出
力ドライバがMPU端子情報が格納されたMPUコンフ
ィグテーブルを参照して前記MPU宛MPU端子状変リ
ストを作成する。
In addition, when the LSI engine is started, an MPU pin status change list addressed to the MPU is created to notify the MPU port engine of MPU pin information whose status has changed, and the LSI engine
The MP[J terminal output driver started by the I engine driver refers to the MPU configuration table in which MPU terminal information is stored and creates an MPU terminal status change list addressed to the MPU.

更にLSI回路エンジンは、MPUのI10命令により
ル制御されるLSIエンジンを含み、MPUの特定アド
レスに対応したMPU−I/O処理部を備え、MPU−
I/O処理ドライバにより前記MPU−I/O処理部を
MPU命令エンジンからの措置により起動し、当該アド
レスへのデータの書き込みを制御する。
Furthermore, the LSI circuit engine includes an LSI engine that is controlled by the I10 instruction of the MPU, and is equipped with an MPU-I/O processing section that corresponds to a specific address of the MPU.
The I/O processing driver activates the MPU-I/O processing section according to measures from the MPU instruction engine, and controls writing of data to the address.

通信データエンジンは、送信先エンジンに対して受信デ
ータを送信する通信データエンジン送信部と、送信先エ
ンジンからの送信データを受信し、当該データに関して
ウィンドウ上への表示を処理する通信データエンジン受
信部と、エンジンコントローラが動作タイミングリクエ
ストリストおよび起動リクエスト制御テーブルを参照し
、要求データに応じて前記受信部または送信部のいずれ
かを起動する通信データエンジン管理部とを具備する。
The communication data engine includes a communication data engine transmitting section that transmits received data to the destination engine, and a communication data engine receiving section that receives the transmitted data from the destination engine and processes the display of the data on a window. and a communication data engine management section in which the engine controller refers to an operation timing request list and an activation request control table and activates either the receiving section or the transmitting section according to the request data.

上記通信データエンジン送信部は、通信規約データを送
出するプロトコルデータ送信部、モードデータを送出す
るモードデータ送信部と、前記各送信部を制御する送信
部コントローラとから構成されている。
The communication data engine transmitter includes a protocol data transmitter that transmits communication protocol data, a mode data transmitter that transmits mode data, and a transmitter controller that controls each of the transmitters.

〔作 用〕[For production]

エンジンコントローラが出力するシステム時間に基づい
てエンジン毎の動作タイミングの中で最つども早い時間
に要求のあるエンジンや、エンジンから起動要求のある
他のエンジンを起動する。そして各エンジンはMPU、
LSI、センサ等の外部信号の入出力2通信データの送
受信等のシミュレーションを実行する。
Based on the system time output by the engine controller, the engine that is requested or other engines that are requested to start are started at the earliest time among the operation timings of each engine. And each engine is an MPU,
Executes a simulation of input/output 2 communication data transmission/reception of external signals such as LSI and sensors.

上記システム時間は、エンジンコントローラが各エンジ
ンより通知される動作タイミングリクエストリストと、
起動リクエスト制御テーブル内の時間の中で最も現在シ
ステム時間に近い時間に、設定し時間を進めるもので、
各エンジン間の同期をとるための基準時間となる。
The above system time is based on the operation timing request list that the engine controller is notified of from each engine,
The time is set and advanced to the time closest to the current system time among the times in the startup request control table.
This is the reference time for synchronizing each engine.

すなわち、動作すべきエンジンにおいては、エンジンコ
ントローラから知らされるシステム時間が設定され、こ
のシステム時間をエンジン内システム時間として進めら
れる。
That is, in the engine to be operated, a system time notified from the engine controller is set, and this system time is advanced as the engine internal system time.

一方、各エンジンは知らされた時間で所定の動作を実行
した後に、次の動作タイミングを動作タイミングリクエ
ストリストに書き込む。
On the other hand, after each engine executes a predetermined operation at the notified time, each engine writes the next operation timing in the operation timing request list.

エンジンコントローラは、先ず動作タイミングリストを
見てブリステージクロ・ツクエンジンを呼び出し、LS
Iエンジンクロック処理部とMPポートエンジンクロッ
ク処理部を起動してLSIの内部カウンタの更新処理や
MPUポートエンジンで使用する周波数のクロックカウ
ントの算出および設定を行う。
The engine controller first looks at the operation timing list, calls the Blistage Black Engine, and then
The I engine clock processing section and the MP port engine clock processing section are activated to update the internal counter of the LSI and calculate and set the frequency clock count used by the MPU port engine.

MPU命令エンジンが呼び出されると、割り込みイベン
トリストを参照して割り込みイベントがあればそのMP
Uインストラクションを実行すると共に、I10命令の
実行によってLSIエンジンMPU  I10処理部と
MPUポートエンジンI10処理部が起動される。
When the MPU instruction engine is called, it refers to the interrupt event list and if there is an interrupt event, the MP
Along with executing the U instruction, the LSI engine MPU I10 processing section and the MPU port engine I10 processing section are activated by the execution of the I10 instruction.

LSIエンジンMPU  I10処理部は、LSI回路
エンジンのシミュレーション中に発生する端子の変化を
各LSIエンジンに伝えるために、そのLSIの端子の
コンフィグレーション情報もっているコンフィグテーブ
ルのロケーション情報が回路レベルごとにLSIリクエ
ストリストとして作成される。
The LSI engine MPU I10 processing unit transfers the location information of the configuration table containing the configuration information of the terminals of the LSI to the LSI for each circuit level in order to inform each LSI engine of changes in the terminals that occur during the simulation of the LSI circuit engine. Created as a request list.

一方M P UポートエンジンI10処理部は、MPU
ポートへのI10命令で、ポート動作の実行を行う、そ
の結果に基づいて、上記I10処理部は、状態の変化し
たMPU端子をLSI回路エンジンへ知らせるためのL
SI宛MPU端子状変リストを作成する。
On the other hand, the MPU port engine I10 processing section
The I10 processing unit executes the port operation in response to the I10 command to the port. Based on the result, the I10 processing unit executes the LSI circuit engine to notify the LSI circuit engine of the MPU terminal whose state has changed.
Create a list of MPU terminal status changes addressed to SI.

次いで、システム時間がクロックエンジンに設定される
と、クロックエンジンが起動し、クロ・ンク端子コンフ
ィグテーブルおよびMPU内蔵クロ・ンクコンフィグテ
ーブルを参照してLSI回路エンジンおよびMPtJポ
ートエンジンにカウント数の変化のあったリアルバリュ
ークロ・lり信号を知らせるためのLSI宛クワクロッ
ク端子状態リストびMPLI宛クロツクロック端子状変
リストすると共に、状態の変化したリアルバリュークロ
・ンク信号のカウント値をクロックカウントステートノ
〈・ソファおよびMPU用クロックカウントステードパ
・ソファに格納する。
Next, when the system time is set in the clock engine, the clock engine starts and refers to the clock terminal configuration table and the MPU built-in clock configuration table to inform the LSI circuit engine and MPtJ port engine of changes in the count number. A list of the status of the clock pins destined for the LSI and a list of changes in the status of the clock pins destined for the MPLI are created to notify the real value clock signal that has changed, and the count value of the real value clock signal whose state has changed is stored in the clock count state node. 〈・Clock count station for sofa and MPU Stored in the sofa.

前記同様に、エンジンコントローラによりダイレクト信
号エンジンが起動されると、状態変化のあったダイレク
ト信号をLSI回路エンジンに知らせるためのLSI宛
ダイレクト信号状変リストを作成する。
Similarly to the above, when the direct signal engine is activated by the engine controller, an LSI directed signal state change list is created to notify the LSI circuit engine of the direct signal whose state has changed.

ここで、複数のMPLIモジュールにより構成されるマ
ルチシステムにおいては、各MPUモジュールで行われ
る通信データのシミュレーションが行われる。
Here, in a multi-system composed of a plurality of MPLI modules, a simulation of communication data performed by each MPU module is performed.

LSI回路エンジンまたはMPUポートエンジンからの
要求により通信エンジンが起動されると、受信または送
信バッファ通信情報ファイルを見て通信先のデバイスが
通信可能状態にあるのかを確かめた後、送信および受信
バッファコンフィグテーブルを参照してLSI回路エン
ジンおよびMPUポートエンジンに受信データがあるこ
と、および受信データが格納されている受信データバッ
ファを知らせるためのしSI宛受信データリストおよび
MPtJ宛受信データリストを作成して上記各エンジン
に知らせると共に、1バイトの送信または受信時間から
データの通信時間と算出する。この情報は、ユーザの要
求によって表示される。
When the communication engine is started in response to a request from the LSI circuit engine or MPU port engine, it checks the reception or transmission buffer communication information file to confirm whether the communication destination device is ready for communication, and then configures the transmission and reception buffer configuration. Refer to the table to create a list of received data addressed to the SI and a list of received data addressed to the MPtJ to notify the LSI circuit engine and MPU port engine that there is received data and the receive data buffer in which the received data is stored. In addition to informing each of the engines mentioned above, the data communication time is calculated from the transmission or reception time of 1 byte. This information is displayed at the user's request.

そしてMPUポートエンジンが起動されると、クロック
端子状変リストを参照してクロ・ツク端子のリアルバリ
ュークロック信号のトータルカウント値をMPU用クロ
ックカウントステードパ・ソファから取り入れ、このク
ロック信号に基づいて受信データリストおよびMPU宛
端子状変リストを参照して状態変化のあったMPU端子
をLSI回路エンジンに知らせるためのLSI宛MPU
端子状変リストを作成する。ここで、MPUポートの中
で割込処理を行うポートに状態の変化があれば、それに
対応したイベントを割込イベントリストに書き込む。
Then, when the MPU port 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 station sofa, and based on this clock signal. LSI destination MPU for notifying the LSI circuit engine of the MPU terminal whose state has changed by referring to the received data list and the MPU destination terminal status change list.
Create a terminal state change list. Here, if there is a change in the state of a port that performs interrupt processing among the MPU ports, an event corresponding to the change is written in the interrupt event list.

また通信データエンジンへ送信するデータがある場合、
MPU命令エンジンによって呼び出されるシリアル・イ
ンタフェース送信動作部を起動して送信可能情報と1バ
イトの送信時間を通信データエンジンに知らせるための
受信バッファ通信情報を作成すると共に、送信先の送信
バッファ、送信時間、送信データ、送信情報を並べた送
信データリストを作成して、通信データエンジンに送る
Also, if there is data to be sent to the communication data engine,
Activates the serial interface transmission operation unit called by the MPU instruction engine to create receive buffer communication information to notify the communication data engine of transmittable information and 1-byte transmission time, as well as to inform the communication data engine of the transmission buffer of the destination and the transmission time. , create a transmission data list in which transmission data and transmission information are arranged, and send it to the communication data engine.

更にLSI回路エンジンが起動されると、LSI宛クワ
クロック端子状変リスト状態変化のあったクロック端子
がどのLSIに接続されているクロック端子であるのか
をクロック端子コンフィグテーブルを参照して特定し、
そのクロック端子のリアルバリュークロック信号のトー
タルカウント値をクロックカウントステートバッファか
ら読み出し、このクロック信号に基づいて上記同様の受
信バッファ通信情報ファイルを作成すると共に、送信先
の送信バッファ、送信時間、送信データからなる送信情
報を並べた送信データリストを作成して通信データエン
ジンに送る。そして、状態変化のあったMPU端子をM
PUポートエンジンに知らせるためのMPU宛MPU端
子状変リストを、また状態変化のあったダイレクト信号
をダイレクト信号エンジンに知らせるためのダイレクト
信号エンジン宛ダイレクト信号状変リストとを作成する
Furthermore, when the LSI circuit engine is started, the clock terminal state change list addressed to the LSI identifies which LSI the clock terminal whose state has changed is connected to by referring to the clock terminal configuration table.
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, a receive buffer communication information file similar to the above is created, and the transmit buffer of the destination, the transmit time, and the transmit data Create a transmission data list in which the transmission information consisting of is arranged and send it to the communication data engine. Then, connect the MPU terminal whose state has changed to M
An MPU terminal state change list addressed to the MPU is created to inform the PU port engine, and a direct signal state change list addressed to the direct signal engine is created to inform the direct signal engine of a direct signal with a state change.

このように各エンジンで実行されるシミュレーションは
、ウィンドウ上のマシンレイアウトに動的に表示され、
ターゲットシステムの動作状況を把握することができる
In this way, the simulations run on each engine are dynamically displayed in the machine layout on the window,
It is possible to understand the operating status of the target system.

〔実施例〕〔Example〕

以下、本発明の実施例を図面に基づいて詳細に説明する
Embodiments of the present invention will be described in detail below with reference to the drawings.

尚、説明に先立って、本実施例の説明についての目次を
示す、以下の説明において、(I)〜(■)は本発明が
適用される記録装置の制御系(以下ターゲットシステム
と称す)のソフトウェアシミュレーション(以下シミュ
レーションと称す)の概要、および該シミュレーション
を実行するシミュレータの全体構成の概要を説明する項
であって、その構成の中で本発明の詳細な説明する項が
(■)である。
Prior to the explanation, in the following explanation, which shows a table of contents for the explanation of this embodiment, (I) to (■) refer to the control system of the recording apparatus to which the present invention is applied (hereinafter referred to as the target system). This is a section that provides an overview of software simulation (hereinafter referred to as simulation) and an overview of the overall configuration of a simulator that executes the simulation, and within that configuration, the section that describes the present invention in detail is (■). .

目次 (1)シミュレーションの概要 (+−1)ハードウェアとソフトウェアの動作上の比較
とシミュレーションの範囲 (1−2)シミュレーション方式 (II)シミュレータの概要 (U−1)用語解説 (II−2)ソフトウェアの構成 (It−3)バードウェアの構成 (II−4>シミュレータの作用 (I[[)シミュレータおよびそのエンジンの実施例(
III−1)シミュレーションの管理(III−2)シ
ミュレーションウィンドウ(I[[−3)シミュレーシ
ョンエンジン(!ll−4)エンジンの作用 (1−5>エンジンの初期化 <I[I−6>エンジンコントローラ (トづ)LSI回路エンジン (III−8)クロックエンジン (II[−9)ダイレクト信号エンジン(III−10
)通信データエンジン (Ill−11,)MPU命令エンジン(1−12)M
PUポートエンジン (I[[−13)モニタリング 以下に、本シミュレータを説明する。
Table of contents (1) Overview of simulation (+-1) Operational comparison of hardware and software and scope of simulation (1-2) Simulation method (II) Overview of simulator (U-1) Glossary (II-2) Software configuration (It-3) Hardware configuration (II-4> Effect of simulator (I[[) Example of simulator and its engine (
III-1) Simulation management (III-2) Simulation window (I[[-3) Simulation engine (!ll-4) Engine operation (1-5> Engine initialization <I[I-6> Engine controller (Tozu) LSI circuit engine (III-8) Clock engine (II [-9) Direct signal engine (III-10)
) Communication data engine (Ill-11,) MPU instruction engine (1-12) M
PU Port Engine (I [[-13) Monitoring] The present simulator will be described below.

N)シミュレーションの概要 (1−1)ハードウェアとソフトウェアの動作上の比較
とシミュレーションの範囲 実際の電気回路とそれをシミュレーションしようとする
コンピュータソフトウェアとの間には、大きな相違があ
る。たとえば、ソフトウェアは完全に同時刻に29以上
の動作ができないのに対し、LSIを含む実際の電気回
路は各LSIが同時刻に独立にしかも互いに連携しなか
ら動作していることである。
N) Overview of Simulation (1-1) Operational Comparison of Hardware and Software and Scope of Simulation There are major differences between an actual electrical circuit and the computer software that attempts to simulate it. For example, software cannot perform 29 or more operations at exactly the same time, whereas in actual electrical circuits including LSIs, each LSI operates independently and without cooperation with each other at the same time.

シミュレータを実現する上で、このハードウェアとソフ
トウェアの構造上の相違を、どのように扱うかを以下に
具体的に述べる。
The following describes in detail how to handle this structural difference between hardware and software when realizing a simulator.

■ループを含まない回路 第70図に示す論理回路を考えた場合、AND回路Aの
入力端子1.2に第71図(a)AIA2に示す信号が
入力されると、信号のタイミングチャートは、第71図
(b)A3.Bl、B2に示すものとなる。ここで、信
号の伝搬遅延を拡大して考えると、実際のハードウェア
上の信号は、第71図(b)に示すように、素子Aが動
作した後に、素子Bが動作していることがわかる。
■Circuit that does not include a loop When considering the logic circuit shown in Fig. 70, when the signal shown in Fig. 71 (a) AIA2 is input to the input terminal 1.2 of the AND circuit A, the signal timing chart is as follows. Figure 71(b) A3. This is shown in Bl and B2. Here, when considering the propagation delay of the signal in an expanded manner, the signal on the actual hardware is such that element B operates after element A operates, as shown in FIG. 71(b). Recognize.

つまり、素子の変化だけをシミュレートすることを考え
れば、素子A、Bの順序で遂時処理をしても、ハードウ
ェアの動作と同じである。
In other words, if only the changes in the elements are simulated, even if the elements A and B are sequentially processed, the operation is the same as that of the hardware.

したがって、シミュレータは、このような電気回路上の
ハードウェアの並列動作を接続順序から導き出される逐
時処理によってシミュレーションする。
Therefore, the simulator simulates the parallel operation of hardware on such an electric circuit by sequential processing derived from the connection order.

■ループを含む回路 例えば、第72図に示す回路は、回路Aの入力が回路B
の出力に依存し、また回路Bの入力が回路Aの出力に依
存している。そして、回路A、 Bは、いずれが先に動
作するのかも定めることができない。したがって、この
ような回路は、その動作を遂時動作に置換することがで
きないため、シミュレータではループを含む回路はサポ
ートしない。
■Circuit including a loop For example, in the circuit shown in Fig. 72, the input of circuit A is connected to circuit B.
The input of circuit B depends on the output of circuit A. Furthermore, it is not possible to determine which of circuits A and B will operate first. Therefore, the simulator does not support circuits containing loops because the operation of such circuits cannot be replaced with immediate operation.

■信号の遅延 通常、電気回路上の各素子や結線中においては、必ず処
理時間が存在し、それが信号の遅延時間として現れるが
、この遅延時間を利用するような回路を設計することは
殆どない。したがって、シミュレーション時には、遅延
時間内の状態変化が無いものとして取扱う、しかし、第
73図に示す回路では、遅延時間を無視すると、第74
図(a)に示す実ハードウェアの辣形が第74図(b)
の波形となり、これを利用するような回路のシミュレー
ションをサポートすることができない。
■Signal delay Normally, there is always processing time in each element and connection in an electric circuit, and this appears as signal delay time, but it is almost impossible to design a circuit that takes advantage of this delay time. do not have. Therefore, during simulation, it is assumed that there is no state change within the delay time. However, in the circuit shown in FIG. 73, if the delay time is ignored,
The actual hardware shown in Figure (a) is shown in Figure 74 (b).
waveform, and it is not possible to support simulation of circuits that use this waveform.

(1−2)シミュレーション方式 ■対象コンポーネント ターゲットシステムは、アクチュエータ、モータ、各種
センサ、スイッチ等からなる機構部と、機器全体を制御
するMPUと、機構部とMPUとの間のインターフェー
スを行なう電気回路基板とから構成されている。このタ
ーゲットシステムをシミュレートする場合、シミュレー
ションの対象となるコンポーネントは、電気回路基板と
機構部分に設けられたセンサ、スイッチ、モータ等の間
の信号の入出力をシミュレートするダイレクト信号、複
数のMPUをもつマルチモジュールの場合に、各MPU
を中心とするモジュール間で交信される通信データ、電
気回路基板上の各種LSI回路、および電気回路基板上
の中枢であるMPU、の4つのコンポーネントである。
(1-2) Simulation method ■Target components The target system consists of a mechanical section consisting of actuators, motors, various sensors, switches, etc., an MPU that controls the entire device, and an electric circuit that interfaces between the mechanical section and the MPU. It consists of a substrate. When simulating this target system, the components to be simulated include direct signals that simulate input and output of signals between the electric circuit board and the sensors, switches, motors, etc. installed in the mechanical part, multiple MPUs, etc. In the case of a multi-module with
There are four components: communication data exchanged between modules centered on , various LSI circuits on the electric circuit board, and MPU, which is the core of the electric circuit board.

第1表は、対象コンポーネントと、シミュレータの対照
である。
Table 1 shows a comparison of target components and simulators.

第1表 ■ターゲットシステム全体のシミュレーション本シミュ
レータの各コンポーネントに対応する実ハードウェアは
、第75図(a)に示すように、相互が並列動作してい
るが、本シミュレータでは、第75図(b)に示すよう
に、各コンポーネントが遂次動作しているものとして取
り扱う。
Table 1 - Simulation of the entire target system The actual hardware corresponding to each component of this simulator operates in parallel with each other, as shown in Figure 75 (a). As shown in b), each component is treated as operating sequentially.

■ダイレクト信号のシミュレーション 外部から電気回路へ供給される入力信号はHig h 
/ L o wの2値データとして一方的にLSI回路
エンジンに供給され、LSI回路との入出力がシミュレ
ートされる。この入力信号の時間分解能は1踵Seeで
ある。
■ Direct signal simulation The input signal supplied to the electric circuit from outside is High
/Low binary data is unilaterally supplied to the LSI circuit engine, and input/output with the LSI circuit is simulated. The time resolution of this input signal is 1 See.

■通信データのシミュレーション 実ハードウェアでは、bit列を扱っているが、本シミ
ュレータはLSI自体が正常動作するかをチエツクする
のではなく、MPUのターゲットプログラムとLSIの
回路が目的の通り動作しているかを検証するものである
。従って、通信データのシミュレーションは、LSI回
路内の通信LSIとMPUの通信ポートにバイト単位の
データ列を供給する動作としてシミュレートする。
■Simulation of communication data Actual hardware handles bit strings, but this simulator does not check whether the LSI itself is operating normally, but rather checks whether the MPU target program and LSI circuit are operating as intended. This is to verify whether there are any. Therefore, communication data is simulated as an operation of supplying a data string in bytes to the communication LSI in the LSI circuit and the communication port of the MPU.

■LSI回路のシミュレーション LSI回路の配線部分やLSI単体をシミュレートする
もので、LSI回路中のLSIを接続順に逐時的に動作
させて行なう。
(2) Simulation of an LSI circuit The wiring part of an LSI circuit or a single LSI is simulated by sequentially operating the LSIs in the LSI circuit in the order in which they are connected.

但し、信号は伝搬遅延がないものとする6(II)シミ
ュレータの概要 (II−1)本シミュレータに使用される主な用語の解
説 「モジュール」とは、一つのMPUが実行するプログラ
ムがコントロールする範囲を言う、通常1つのMPUを
中心とする電気回路または機構部分を意味する。
However, it is assumed that the signal has no propagation delay.6 (II) Overview of the simulator (II-1) Explanation of main terms used in this simulator A "module" is a module that is controlled by a program executed by one MPU. It usually means an electrical circuit or mechanical part centered around one MPU.

[ターゲットブロクラム」とは、シミュレーションデバ
ッグの対象となるユーザのプログラムである。
[Target program] is a user's program that is the target of simulation debugging.

rlDJとは、データを計算機の中で扱うために、それ
ぞれのデータに付けた番号による識別子である。ここで
、IDを持ったデータについて簡単に説明する。なお、
IDはすべてOオリジンとする。
rlDJ is a number-based identifier assigned to each piece of data in order to handle the data in a computer. Here, data with ID will be briefly explained. In addition,
All IDs are O origin.

DEVICE名、DEV  IO:信号の属するデバイ
スを示すデータで、LSI名やMPU、ダイレクト信号
、リアルバリュークロックなどを表す。
DEVICE name, DEV IO: Data indicating the device to which the signal belongs, representing LSI name, MPU, direct signal, real value clock, etc.

MPU名、MPU  ID:MPUを示すデータで、た
とえば、r7810.  r7811Jがある。
MPU name, MPU ID: Data indicating the MPU, for example r7810. There is r7811J.

LSIネーム/LSI名、LSI  ID:LSIだけ
を対象としているときに用いられる。
LSI name/LSI name, LSI ID: Used when only LSI is the target.

LSr別連番二同じ種類のLSrを区別するために付け
た番号である。
Sequential number by LSr 2 This is a number given to distinguish between LSrs of the same type.

端子名、端子ID:LSI、MPUの端子に付けた名前
とIDである。
Terminal name, terminal ID: These are the names and IDs given to the LSI and MPU terminals.

ダイレクト信号名、ダイレクト信号ID:ユーザが定義
したダイレクト信号の呼び名である。
Direct signal name, direct signal ID: Name of the direct signal defined by the user.

端子タイプ、端子タイプID:LSIおよびMPUの設
定ウィンドウでユーザが定義する信号のタイプを示す。
Terminal type, terminal type ID: Indicates the type of signal defined by the user in the LSI and MPU setting windows.

10タイプ、I  OタイプID:信号の入出力を示す
データである。
10 type, IO type ID: Data indicating signal input/output.

ステート、ステート■D;信号の状態を表し、ハイ()
ligh) 、ロー(Log)、ノン(None )が
ある。
State, state ■D; Represents the state of the signal, high ()
There are three types: light, Log, and None.

アドレスタイプ、アドレスタイプID:アドレスノ型を
示し、ROM、RAM、I/C1)3種類がある。
Address type, address type ID: Indicates the address type, and there are three types (ROM, RAM, I/C1).

以下に、本シミュレータに使用されている代表的なID
を第2表を示す。
Below are typical IDs used in this simulator.
Table 2 shows.

(以下余白) 第2表 「ユニット」とは、本シミュレータのLSI回路シミュ
レーションを実現するために創案された新たな概念であ
り、第76図に示すように、一つのLSIの機能のうち
、互いに独立して動作する部分を分けてユニットと名付
け、それぞれOから番号を割り当てユニットIDとする
。たとえば、プログラムカウンタr8253.の場合、
3i1!lの独立して動作するカウンタを有しているの
で、ユニット個数は3となる。このユニットIDはLS
I回路エンジンにおいて使用される。
(Margins below) Table 2 "Unit" is a new concept created to realize LSI circuit simulation of this simulator, and as shown in Figure 76, among the functions of one LSI, The parts that operate independently are divided and named units, and each part is assigned a number starting from O and set as a unit ID. For example, program counter r8253. in the case of,
3i1! Since it has l independently operating counters, the number of units is three. This unit ID is LS
Used in I circuit engines.

「回路レベル番号」とは、たとえばMPUを中心として
周辺のLSIの信号の確定順序を規定するものである。
The "circuit level number" defines, for example, the order in which signals of peripheral LSIs around the MPU are determined.

たとえば、第76図に示すように、MPUの回路レベル
をOとすると、このMPUに接続されているLSI、す
なわち、MPUの動作により端子レベルが決まるLSI
の回路レベル番号を1とする。またこのLSIに接続さ
れている別のLSIの回路レベル番号を2とする。以下
同様に、コンフィグレーション照合することにより自動
的に回路レベル番号が付される。
For example, as shown in FIG. 76, if the circuit level of the MPU is O, then the LSI connected to this MPU, that is, the LSI whose terminal level is determined by the operation of the MPU,
The circuit level number of is set to 1. Also, assume that the circuit level number of another LSI connected to this LSI is 2. Similarly, a circuit level number is automatically assigned by verifying the configuration.

(I[−2)ソフトウェアの構成 本シミュレータは、第1図に示すように、プロダクト名
とモジュール名の指定およびウィンドウの表示を制御す
ると共に、各セツションプロセスの起動を実行するシミ
ュレータ管理部200と、ターゲットシステムの各種の
ハードウェア的な条件を設定すると共に、シミュレーシ
ョンに必要な各種データを生成するコンフィグレーショ
ン部300と、LSI回路、MPU等のターゲットシス
テムのシミュレーションを実行するシミュレーション部
400と、シミュレータの各種情報をグラフィックデイ
スプレィに表示する表示ウィンドウ部500とから構成
されている。
(I[-2) Software Configuration As shown in FIG. 1, this simulator consists of a simulator management unit 200 that controls the specification of product names 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; and a simulation unit 400 that executes simulation of the target system such as an LSI circuit or MPU. The display window section 500 displays various information about the simulator on a graphic display.

コンフィグレーション部300は、MPUのクロック、
メモリ、端子等を設定するMPU情報設定部310と、
各種のインタフェース用LSIのコントロール/データ
アドレスの定義や端子の接続関係の定義を行うLSI情
報設定部320と、ターゲットプログラムの実行やタイ
ミングデータのカウントなどに用いられ、シミュレーシ
ョン時の基準となるクロックを設定するマシンクロック
情報設定部330と、シミュレーション状況を画面上で
把握するため、模式的に描かれた記録部上に!10ポー
トに対応するマークを配置するマシンレイアウト設定部
340と、設定された各種設定データ間の整合性をチエ
ツクすると共に1.シミュレーション時に必要となる各
種データの作成を行うコンフィグレーション照合部35
0と、ターゲットシステムの動作状態を示す情報、すな
わち機構部分のセンサ等の信号レベルを時系列に並べた
タイミングデータを生成すると共に、この生成されたタ
イミングデータ、または別途設けられたデータ作成ブロ
ックにより生成されたタイミングデータをシミュレータ
が利用できるダイレクト信号データにフォーマットに変
換するタイミングデータ作成変換部360と、他のMP
Uとの通信を行うための通信プロトコルの定義およびタ
ーゲットシステムのある動作モードを仮定した場合の実
際の通信データの設定を行う通信データ生成部370と
から構成されている。
The configuration unit 300 includes an MPU clock,
an MPU information setting section 310 that sets 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. In order to understand the machine clock information setting section 330 to be set and the simulation situation on the screen, there is a schematically drawn recording section! The machine layout setting section 340 arranges marks corresponding to the 10 ports and checks the consistency between the various setting data set. Configuration verification unit 35 that creates various data required during simulation
0 and 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. A timing data creation conversion unit 360 that converts the generated timing data into a format that can be used by the simulator into direct signal data, and other MPs.
It is comprised of a communication data generation unit 370 that defines a communication protocol for communicating with U and sets actual communication data assuming a certain operation mode of the target system.

シミュレーション部400は、シミュレーション管理部
、シミュレーションウィンドウ部、デバッガおよびシミ
ュレーションエンジンとから成り、コンフィグレーショ
ン部により定義されたターゲットシステムのハードウェ
ア情報に基づいてシミュレーションエンジンを起動し、
このシミュレーションエンジンにテストデータを供給し
てターゲットプログラムのデバッグを実行する。
The simulation unit 400 consists of a simulation management unit, a simulation window unit, a debugger, and a simulation engine, and starts the simulation engine based on the hardware information of the target system defined by the configuration unit.
Test data is supplied to this simulation 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.

(II−3)ハードウェアの構成 第77図は、本シミュレータのハードウェアを構成する
模式図である。中央処理装置10は、本シミュレータの
全体の制御およびデータ処理を行うもので、この中央処
理袋W10にはメインメモリ11、シリアルデータライ
ン12を介して各種データおよび指示を入力するキーボ
ード13、処理結果などを表示するためのデイスプレィ
14が接続されている。また中央処理装置10のバスに
は、プログラムやデータを格納するディスク装置15が
接続されている。
(II-3) Hardware Configuration FIG. 77 is a schematic diagram configuring the hardware of this simulator. The central processing unit 10 performs overall control and data processing of this simulator, and this central processing bag W10 includes a main memory 11, a keyboard 13 for inputting various data and instructions via a serial data line 12, and processing results. A display 14 for displaying information such as the like is connected. Also connected to the bus of the central processing unit 10 is a disk device 15 that stores programs and data.

ディスク装置15には、シミュレーション実行時の総て
の処理に関して、その実行中に必要なプログラム本体、
データなどのソフトウェア資源がファイルとして格納さ
れており、プログラムの実行に際しては、このディスク
装置15内のプログラムおよびデータをメインメモリ1
1にロードし、中央処理装置10はこれらのソフトウェ
ア資源を使って必要な処理を実行する。
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 stored in the main memory 1.
1, and the central processing unit 10 uses these software resources to execute necessary processing.

(II−4>シミュレータの作用 第78図は、本シミュレータの作用を説明する模式図で
ある。タイミングデータは、記録装置内で発生するセン
サ信号等のオンオフ信号に基づいてテストデータ生成手
段21で生成され、このタイミングデータを本シミュレ
ータに適用できるダイレクト信号データにフォーマット
変換した後、ダイレクト信号データファイル22が作成
される。
(II-4> Function of simulator Figure 78 is a schematic diagram explaining the function of this simulator. Timing data is generated by the test data generation means 21 based on on/off signals such as sensor signals generated within the recording device. After converting the generated timing data into direct signal data applicable to this simulator, a direct signal data file 22 is created.

ダイレクト信号データは、ダイレクト信号エンジン23
によりLSI回路エンジン24に供給される。
The direct signal data is sent to the direct signal engine 23.
The signal is supplied to the LSI circuit engine 24 by the LSI circuit engine 24.

一方、通信データはターゲットシステムを構成する複数
モジュールの各モジュール間の通信に使用されるが、こ
の通信データは通信データ生成手段25で生成され、通
信データファイル26が作成される。
On the other hand, the communication data is used for communication between each of the plurality of modules constituting the target system, and this communication data is generated by the communication data generation means 25, and a communication data file 26 is created.

通信データは、通信データエンジン27によりLSI回
路エンジン24及びMPUエンジン28に供給される。
The communication data is supplied by the communication data engine 27 to the LSI circuit engine 24 and the MPU engine 28 .

LSI回路エンジン24及びMPUエンジン28は、ソ
フトウェア的にLSI回路及びMPUの動作をシミュレ
ートするもので、LSI回路及びMPUのハードウェア
的な構成、たとえば、ビン配置、クロック周波数等の構
成は、ハードウェアコンフィグレーション設定手段29
において定義され、ハードウェアコンフィグレーション
ファイル30とされ、これからのデータがLSI回路エ
ンジン24及びMPUエンジン28に供給される。
The LSI circuit engine 24 and the MPU engine 28 simulate the operation of the LSI circuit and MPU using software, and the hardware configuration of the LSI circuit and MPU, such as the bin arrangement and clock frequency, is determined by the hardware. Software configuration setting means 29
is defined as a hardware configuration file 30, and data from this is supplied to the LSI circuit engine 24 and MPU engine 28.

クロックエンジン31は、ユーザがコンフィグレーショ
ンした実クロック信号(定周期パルス)とMPUエンジ
ン28が元々持っている実クロック信号をシミュレート
するもので、クロックカウントの変化を実クロック信号
と接続されているLSI回路エンジン24、MPUエン
ジン28に知らせる。
The clock engine 31 simulates the real clock signal (fixed period pulse) configured by the user and the real clock signal that the MPU engine 28 originally has, and connects the change in clock count with the real clock signal. The LSI circuit engine 24 and MPU engine 28 are notified.

シミュレーションエンジンコントローラ32は、上記各
エンジンの時間の周期をとりなから、シミュレーション
の実行を管理する。すなわち、シミュレーションエンジ
ンコントローラ32が出力するシステム時間に基づいて
、エンジンごとの動作タイミングの中で最も早い時間に
要求のあるエンジンや、エンジンから起動要求がある他
のエンジンを起動する。そして各エンジンはMPU、L
SI、センサー等の外部信号の入出力、通信データの送
受信等のシミュレーションを実行する。
The simulation engine controller 32 manages the execution of the simulation based on the time period of each engine. That is, based on the system time output by the simulation engine controller 32, the engine that is requested at the earliest time among the operation timings of each engine or other engines that are requested to start from the engine are started. And each engine is MPU, L
Simulates input/output of external signals such as SI and sensors, transmission/reception of communication data, etc.

(III)シミュレータおよびそのエンジンの実施例(
lit−1)シミュレーションの管理シミュレーション
の管理には、ウィンドウの生成および閉成やオープン中
のウィンドウにおけるイベントの発生時にそれぞれのウ
ィンドウにおけるイベント処理実行への分岐などを行う
機能、シミュレーションエンジンを起動してシミュレー
ションの実行およびシミュレーション実行時におけるブ
レイク、トレースなどの各種のデバッガ機能の提供など
を行う機能をもっている。
(III) Example of a simulator and its engine (
lit-1) Simulation management 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, and starting the simulation engine. It has functions such as running simulations and providing various debugger functions such as breaking and tracing during simulation execution.

第1図は、シミュレーション管理を実行するための機能
実現手段を示すブロック図である。
FIG. 1 is a block diagram showing functional implementation means for executing simulation management.

シミュレーション管理部410は、第2図に示すシミュ
レータウィンドウ510のセツション“si+5ula
tion’を指定し、”Go 5ession”を選択
する゛と、シミュレータ管理部200により呼び出され
て起動し、エンジン初期化部420、シミュレーション
ウィンドウ部430(以下ウィンドウ部と称す)、シミ
ュレーションエンジン部440(以下エンジン部と称す
)およびデバッガ450を制御する。
The simulation management unit 410 selects the session “si+5ula” in the simulator window 510 shown in FIG.
tion' and select "Go 5ession", the simulator management section 200 calls and starts the engine initialization section 420, the simulation window section 430 (hereinafter referred to as the window section), and the simulation engine section 440 ( (hereinafter referred to as engine section) and debugger 450.

エンジン初期化部420は、ウィンドウ部、エンジン部
、デバッガなどの初期化を行う。
The engine initialization unit 420 initializes the window unit, engine unit, debugger, and the like.

第3図は、シミュレーション管理部の動作シーケンスを
示すもので、ウィンドウ管理部430によりウィンドウ
でのイベント処理の有無をみて、イベント処理があれば
各ウィンドウごとに実行し、このイベント処理の終了後
にエンジン部440によるシミュレーションを実行し、
次いでデバッガ450を起動してブレイク、トレースな
どのデバッガ機能を実行する。シミュレーション実行時
には、上記各処理を呼び出しなから図示矢印の如くルー
プする。
FIG. 3 shows the operation sequence of the simulation management unit.The window management unit 430 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 performing a simulation by the unit 440;
Next, the debugger 450 is activated to execute debugger functions such as break and trace. When executing the simulation, each of the above processes is called and looped as shown by the arrows in the figure.

ウィンドウ部430は、ウィンドウ内で起こるイベント
処理を制御し、各種のシミュレーションやイベントに関
するウィンドウを管理する。
The window unit 430 controls event processing that occurs within the window and 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 port 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 the simulation, monitoring, file display, and correction functions.

(III−2)シミュレーションウィンドウウィンドウ
は、各種のシミュレーション機能や複数のウィンドウを
同時に開く機能を有する。この機能を実現するウィンド
ウ部では、ウィンドウ内でのマウスボタンのクリックや
、キーボード入力などのイベントをXサーバから受信し
、各ウィンドウ毎のイベントハンドラへの分岐を実行す
る。
(III-2) Simulation Window The window has various simulation functions and the function of opening multiple windows at the same time. The window unit that implements this function receives events such as mouse button clicks and keyboard inputs within the window from the X server, and branches to the event handler for each window.

各イベントハンドラでは、さらにそのイベント毎のイベ
ント処理モジュールへと分岐し、イベントに応じた処理
が行われる。
Each event handler further branches to an event processing module for each event, and processes according to the event are performed.

第4図は、ウィンドウ部の構成を示すブロック図である
FIG. 4 is a block diagram showing the configuration of the window section.

初期ウィンドウ生成部4301は、シミュレーション管
理部410により呼び出され第5図に示すシミュレーシ
ョウインドウ600(以下ウィンドウと称す)を生成す
る。
The initial window generation unit 4301 is called by the simulation management unit 410 and generates a simulation window 600 (hereinafter referred to as window) shown in FIG.

ウィンドウ管理部4300は、シミュレーションウィン
ドウイベントハンドラ4302 (以下ウィンドウイベ
ントハンドラと称す)を呼び出し、ウィンドウ内で発生
するイベントの実行を制御すると共に、上記イベントの
実行によりイベントハンドラ4303を起動し、各イベ
ントごとのウィンドウ内で発生するイベントの実行を制
御する。
The window management unit 4300 calls a simulation window event handler 4302 (hereinafter referred to as window event handler) to control the execution of events that occur within the window, and also activates an event handler 4303 by executing the above event to handle each event. control the execution of events that occur within the window.

イベントハンドラ4303は、シミュレーショウインド
ウ内で発生したイベントに応じてイベント処理モジュー
ルへの分岐を行う。
The event handler 4303 branches to an event processing module in response to an event that occurs within the simulation window.

ここで、ウィンドウに設けられたパラメータおよびコマ
ンドを実行するのがウィンドウイベントハンドラ430
2である。
Here, the window event handler 430 executes the parameters and commands provided in the window.
It is 2.

ウィンドウサービス部4304は、ウィンド生成部43
05により開かれたウィンドウ、またはウィンド閉成部
4306により閉じられたウィンドウのIDをウィンド
ウテーブルへ登録、削除するための共通のサブルーチン
を提供する。
The window service section 4304 includes the window generation section 43
A common subroutine is provided for registering and deleting the ID of the window opened by 05 or the window closed by the window closing unit 4306 in the window table.

ウィンドウテーブル430^は、第6図に示すように、
Xサーバからイベントを受信したとき、ウィンドウ管理
部4300が、それぞれのウィンドウのイベントハンド
ラ4302へ分岐するためのもので、開かれているウィ
ンドウのウィンドウIDおよびイベントハンドラ430
3のアドレスが登録されている。
The window table 430^, as shown in FIG.
When receiving an event from the X server, the window management unit 4300 branches to the event handler 4302 of each window, and uses the window ID and event handler 430 of the open window.
3 addresses are registered.

本テーブルは、複数のウィンドウが開かれたとき、複数
のイベントハンドラの中から該当するイベントハンドラ
4303へ分岐するときに利用される。
This table is used when branching to a corresponding event handler 4303 from among a plurality of event handlers when a plurality of windows are opened.

なお、本テーブルの内容は、ウィンドウから各種ウィン
ドウが開かれたときに登録され、ウィンドウを閉じると
きに削除される0例えば、第7図に示すように、4つの
ウィンドウが開かれているときウィンドウテーブルには
、4つのウィンドウIDと4つのイベントハンドラのア
ドレスが登録される。仮に、ウィンドウBを閉じると、
ウィンドウテーブルの中から、ウィンドウBに関するウ
ィンドウDおよびイベントハンドラのアドレスは削除さ
れる。
The contents of this table are registered when various windows are opened from the window, and are deleted when the window is closed.For example, as shown in Figure 7, when four windows are open, Four window IDs and four event handler addresses are registered in the table. If you close window B,
The addresses of window D and event handler for window B are deleted from the window table.

ウィンドウ管理部4300は、イベントを認知すると、
どのウィンドウで起こったか(ウィンドウID)により
該当するイベントハンドラに分岐する。
When the window management unit 4300 recognizes the event,
Depending on which window the event occurred in (window ID), the process branches to the corresponding event handler.

すなわち、Xサーバよりイベントを受信すると、イベン
ト情報の中のウィンドウIDおよびウィンドウテーブル
430^を参照し、該当するウィンドウイベントハンド
ラ4302へ分岐する0次いで、ウィンドウイベントハ
ンドラ4302は、イベント情報を参照し、イベントに
対応する処理を実行する。
That is, when an event is received from the X server, it refers to the window ID and window table 430^ in the event information, and branches to the corresponding window event handler 4302. Next, the window event handler 4302 refers to the event information, Execute processing corresponding to the event.

なお、イベント情報とは、X−ウィンドウシステムにお
いて、アプリケーションプログラムが、Xサーバから受
は取る情報(Xイベントという構造体)、例えば処理し
た結果、ダイレクト信号がONになったことをXサーバ
を通じてウィンドウ上に表示する情報などであり、マウ
スボタンのクリック、キーボード入力などの情報も含ま
れている。
In the X-Window system, event information is information that an application program receives from the X server (a structure called an This is the information displayed above, and also includes information such as mouse button clicks and keyboard input.

次に、ウィンドウについて詳しく説明する。Next, windows will be explained in detail.

第2図に示すシミュレータウィンドウ510の中のセツ
ション゛’simulation”を指定し、”GO5
ession″を選択すると、ウィンドウ600の初期
画面が開かれる。なお、ウィンドウの初期画面は、第5
図に示すモニタリングウィンドウ603にマシンレイア
ウト605が表示されていない状態である。
Specify the session ``simulation'' in the simulator window 510 shown in FIG.
If you select "Session", the initial screen of window 600 will be opened. Note that the initial screen of window 600 is
The machine layout 605 is not displayed in the monitoring window 603 shown in the figure.

このウィンドウでは、次の実行を行うことができる。In this window you can:

■シミュレーションの実行制御 ■シミュレーションの環境(モード)を各種設定■ター
ゲットプログラムの各種選択 ■レイアウト図の各種選択 ■レジスタ、メモリ等の表示及び設定 ■シミュレーション実行中における信号変化のモニタリ
ング、ブレイク、トレース、およびマニュアルで通信デ
ータおよび信号データの入力ウィンドウ600は、第5
図に示すように、エラーメツセージの表示およびシステ
ム関係のメツセージを表示するメツセージ表示部601
、シミュレーションの実行制御に必要なコマンドが設け
られたコマンド領域602、モニタリングするためのモ
ニタリング表示部603、およびシミュレーション情報
が設けられたインフォメーション領域604とから構成
されている。
■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 and manual communication data and signal data input window 600.
As shown in the figure, a message display section 601 displays error messages and system-related messages.
, a command area 602 in which commands necessary for controlling execution of simulation are provided, a monitoring display section 603 for monitoring, and an information area 604 in which simulation information is provided.

シミュレーションは、次のモードにより実行される。The simulation is performed in the following modes.

(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 without 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. Checks the status of the hardware to be operated, for example, the presence or absence of a sensor output to confirm motor drive.

マニュアルモードは、テストデータを任意に設定できる
ので、システムの異常系を再現することができる。
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.

このモードでは、テストデータを使用することなくター
ゲット10グラムを走行させてモニタの働きをチエツク
する。実際にはテストデータを必要とする箇所でテスト
データに変わるものとしてCPUのメモリやレジスタに
値を設定し、プログラム分走らせて行う。
In this mode, a 10g target is run to check the performance of the monitor without using test data. In practice, values are set in the memory or registers of the CPU as substitutes for test data at locations where test data is required, and the program is run.

その池、プログラムモードでは、各ステップやサブルー
チンの実行時間のチエツクを行うことができる。
In the program mode, you can check the execution time of each step or subroutine.

そして、シミュレーションの実行制御は、ウィンドウ内
に設けられたスタート(START)、ステラ7 (S
TEP) 、ストッ7(STOP)およびリセット(R
ESET)からなるコマンド群6021により行われる
The execution control of the simulation is performed using START and STELLAR 7 (S) provided in the window.
TEP), stop 7 (STOP) and reset (R
This is executed by a command group 6021 consisting of (ESET).

’5TART”は、シミュレーションモードにおいて、
通信データおよびタイミングデータを含めたシミュレー
ションを実行し、一方プログラムモードにおいて、ター
ゲットプログラムのみのシミュレーシゴンを実行する。
'5TART' is in simulation mode.
A simulation including communication data and timing data is executed, while in program mode a simulation of only the target program is executed.

“5TEP”は、ターゲットプログラムのシミュレーシ
ョンの実行を1ステツプ毎に実行させる。
"5TEP" 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 ”は、シミュレーションの環境を
初期状態にする。シミュレーションの実行モードはシミ
ュレーション(Simulation Mode)とプ
ログラム(Program Mode)からなるコマン
ド6022を選択する。
“RESET” sets the simulation environment to an initial state. As the simulation execution mode, a command 6022 consisting of simulation (Simulation Mode) and program (Program Mode) is selected.

”Simulation Mode”は、シミュレーシ
ョンモードの設定ウィンドウを起動する。
"Simulation Mode" launches a simulation mode setting window.

”Program Mode”は、プログラムモードの
設定ウィンドウを起動する。
"Program Mode" launches a program mode setting window.

シミュレーションの環境や情報に関する操作を行うため
のコマンド群6023が設けられている。
A command group 6023 is provided for performing operations regarding the simulation environment and information.

”Set  UP”は、シミュレーションの環境を設定
するポツプアップメニューを起動する。
"Set UP" launches a pop-up menu that sets the environment for the simulation.

“Trace”は、各種トレースを設定するボ・ノブア
ップメニューを起動する。
“Trace” activates the Bo knob up menu for setting various traces.

”Display/Modify”は、ター4ゲツトプ
ログラムに関する情報の表示・修正等を行うウィンドウ
を起動する。
"Display/Modify" starts a window for displaying and modifying information regarding the target program.

“E x i t ”は、シミュレーションを抜けてウ
ィンドウを閉じる。
"Exit" exits the simulation and closes the window.

“C1earLog”は、ウィンドウのメ・ンセージロ
グファイルを削除する。
"C1earLog" deletes the window's message log file.

“Commuication  Data  Manu
al  Input Window”は、通信データを
マニュアル入力するための設定ウィンドウを起動する。
“Communication Data Manu
"al Input Window" starts a setting window for manually inputting communication data.

インフォメーション領域604には、現在のシミュレー
ションの情報が表示されるだけで、設定を行うことはで
きない、f旦し、r Timing DAT^」および
rco+smuieation DATAJについては
、シミュレーションモードでオートモードを選択してい
るときにデータの走行を一時的に操作する事ができる。
The information area 604 only displays information about the current simulation, but does not allow settings to be made.For ``timing DAT^'' and rco+smuieation DATAJ, auto mode is selected in the simulation mode. Sometimes it is possible to temporarily manipulate data travel.

すなわち、タイミングデータまたは通信データの走行を
最初、または途中で止めたり、あるいは止まっているデ
ータを途中から走行させたりすることができる。なお、
初期状態は、共にデータを使用、すなわち走行させる設
定であり、この状態でクリックする毎に走行の中止と開
始を交互に選択することができる。
That is, it is possible to stop the timing data or communication data from running at the beginning or in the middle, or to start running the stopped data from the middle. In addition,
In the initial state, both data are used, that is, the setting is for running, and in this state, each time you click, you can alternately select stopping and starting running.

メツセージ表示部601は、シミュレーションモード又
はプログラムモードのいずれも設定されていない場合や
マシーンレイアウト図がロード(表示)されていない場
合に“5TART”5TEP”がクリックされるなどの
誤った操作に対してそのユーザーに警告メツセージを与
えたり、シミュレータ側から出される各種メツセージ、
例えばブレークが起きた、プログラム走行中に異常が起
きた、などを知らせる。
The message display section 601 is displayed to prevent incorrect operations such as clicking "5TART" or "5TEP" when neither the simulation mode nor the program mode is set or when the machine layout diagram is not loaded (displayed). A warning message is given to the user, various messages issued from the simulator side,
For example, it notifies you that a break has occurred or that an abnormality has occurred while running the program.

以下に、上記コマンドの選択によって開かれるウィンド
ウについて説明する。
The windows opened by selecting the above command will be explained below.

シミュレーションモードウィンドウ(以下モードウィン
ドウと称す)は、ウィンドウで°’SimulaLio
n Mode”を選択することにより開かれ、各種のシ
ミュレーションモードが設定できる。このモードウィン
ドウ610には、第8図(a)に示すように、モードデ
ータを定義するためのパラメータおよび設定を実行する
ためのコマンドが設けられている。
The simulation mode window (hereinafter referred to as the mode window) is
n Mode", and various simulation modes can be set. This mode window 610 contains parameters and settings for defining mode data, as shown in FIG. 8(a). There are commands for this.

“APρly”は、現在の設定内容を採用する。“APρly” adopts the current settings.

“Abort”は、現在の設定内容をウィンドウが開い
た時の状態に戻す。
"Abort" returns the current settings to the state they were in when the window was opened.

“Re5et”は、現在の設定内容をデフォルト値に戻
す。
“Re5et” returns the current settings to default values.

“’Exit”は、ウィンドウを閉じる。“’Exit” closes the window.

“Auto”は、あらかじめ作成されているテストデー
タを使用しシミュレーションを実行する。
“Auto” executes a simulation using test data created in advance.

“5tep”は、あらかじめ作成されているテストデー
タを使用し、1ステツプ毎に実行とブレイクを繰り返す
"5tep" uses test data created in advance and repeats execution and break for each step.

’Manual°゛は、あらかじめ作成されているテス
トデータは使用せず必要な情報をユーザが任意に設定し
実行する。
'Manual' does not use pre-created test data, but allows the user to arbitrarily set necessary information and execute the process.

Timing DATA”は、オートまたはステップモ
ードで使用する既存のタイミングデータ名を設定する。
"Timing DATA" sets the name of existing timing data used in auto or step mode.

また、文字上をダブルクリックすると、第8図(b)に
示すポツプアップメニュー611が表示されタイミング
データが選択できる。
Further, when a character is double-clicked, a pop-up menu 611 shown in FIG. 8(b) is displayed and timing data can be selected.

”CommunicationModeData”は、
オートまたはステップモードで使用する既存の通信デー
タ名を設定する。また、文字上をダブルクリックすると
、第8図(c)に示すポツプアップメニュー612が表
示され通信データが選択できる。
"CommunicationModeData" is
Set the existing communication data name to be used in auto or step mode. Further, when a character is double-clicked, a pop-up menu 612 shown in FIG. 8(c) is displayed and communication data can be selected.

”M/CC1ock Count”は、コンフィグレー
ション部300で設定されたマシンクロック周期のカウ
ント数を設定する。これは、マニュアル・モード時に、
ここで指定されたM/Cクロック分だけシミュレーショ
ンを実行するために使われる。
“M/CC1ock Count” sets the count number of machine clock cycles set by the configuration unit 300. This is in manual mode.
It is used to execute the simulation for the M/C clock specified here.

“Simulation  Time″は、シュミレー
ションの実行時間を設定する。これは、マニュアルモー
ド時に、ここで指定された時間分だけシミュレーション
を実行するために使われる。
“Simulation Time” sets the simulation execution time. This is used in manual mode to run the simulation for the amount of time specified here.

”Data Repeat Count”は、指定され
たタイミングデータおよび通信モードデータの繰り返し
回数を設定する。
"Data Repeat Count" sets the number of times specified timing data and communication mode data are repeated.

“5tep  Count”は、オートまたはステップ
時に入力するタイミングデータのブロック数を設定する
“5tep Count” sets the number of blocks of timing data input during auto or step.

次に、シミュレーションモード設定の操作手順を説明す
る。先ず、シミュレーションをどのデータで、どのよう
に実行するかのモード設定を°^Uto”5tep””
Manualの中から選択する。そして、選択されたモ
ードに対応して次の設定項目(パラメータ)を指定する
Next, the operating procedure for setting the simulation mode will be explained. First, set the mode for which data and how to run the simulation.
Select from Manual. Then, the next setting item (parameter) is specified corresponding to the selected mode.

オート(^uto)モードは、タイミングデータ名、通
信データ名、タイミングデータの繰り返し回数、および
テストデータのブロック数(スッテプ数)を設定する。
In the auto (^uto) mode, the timing data name, the communication data name, the number of repetitions of the timing data, and the number of blocks (step number) of the test data are set.

ステップ(Step)モードは、タイミングデータ名、
通信(通信モード)データ名、およびタイミングデータ
の繰り返し回数を設定する。
In step mode, the timing data name,
Set the communication (communication mode) data name and the number of repetitions of timing data.

マニュアル(Manual)モードは、M/Cクロック
数またはシミュレーション時間を設定する。
In manual mode, the number of M/C clocks or simulation time is set.

なお、タイミングデータおよび通信データは、モードウ
ィンドウの”Timing DAT^°′または’ C
o5aunication Mode DATA”を選
択すると、第8図(a)または第8図(b)に示すポツ
プアップメニュー611が表示され、予め登録されたデ
ータ名により選択することができる。上記設定終了後に
、^pp+y“を選択すると、現在の設定内容が採用さ
れ、この設定内容に基づいてコンフィグレーションに関
する照合が実行される。その結果、ターゲットプログラ
ムがコンフィグレーション部300で設定されているア
ドレッシングメモリ以外のアドレスをアクセスしたり、
ターゲットプログラムがハードウェアコンフィグレーシ
ョン内で設定されているメモリマツプのROM領域以外
のアドレスを持っている場合や各モード設定に必要なデ
ータの一部が欠落して設定されている場合、あるいは設
定データ間に矛盾がある場合などについては、メツセー
ジ表示部601にその旨の表示がなされる6セツトアツ
プとは、マシンレイアウト、ターゲットプログラムおよ
び信号テーブルを設定するもので、ウィンドウの“5e
tUP”を選択することにより上記設定項目が第9図(
a)に示すポツプアップメニュー620で表示され、こ
の中から特定の設定項目に関して更にポツプアップメニ
ューによりデータリスト3表示し、このデータリストか
ら所定のファイル名を選択する。
Timing data and communication data can be accessed from "Timing DAT^°' or 'C" in the mode window.
o5aunication Mode DATA", a pop-up menu 611 shown in FIG. 8(a) or FIG. 8(b) is displayed, and the data name registered in advance can be selected.After the above settings are completed, When "pp+y" is selected, the current setting contents are adopted, and verification regarding the configuration is executed based on the setting contents. As a result, the target program may access addresses other than the addressing memory set in the configuration unit 300,
If the target program has an address other than the ROM area of the memory map set in the hardware configuration, if some of the data required for each mode setting is missing, or if there is an error between the setting data. If there is a conflict between
By selecting “tUP”, the above setting items can be changed as shown in Figure 9 (
A pop-up menu 620 shown in a) is displayed, and a data list 3 is further displayed for a specific setting item from the pop-up menu, and a predetermined file name is selected from this data list.

例えば、第9図(b)は、セットアツプメニュー620
から’Machine Layout”を選択して開か
れたつオーキングメニュー621が表示されており、こ
のメニューには、マシンレイアウトとして(Layou
t−1) 、(Layout−2)、(Layout−
3)が登録されていることを表示している。また第9図
(C)は、Target Progra+a’を選択し
てつオーキングメニュー622を開いたもので、このメ
ニューにはターゲットプログラムとして(Progra
m−1) 、(Program−2) 、(Progr
am−3)が登録されていることを表示している。
For example, FIG. 9(b) shows the setup menu 620.
The Oaking menu 621, which is opened by selecting 'Machine Layout' from 'Machine Layout', is displayed.
t-1), (Layout-2), (Layout-
3) is registered. FIG. 9(C) shows the opening menu 622 opened by selecting Target Progra+a', and this menu shows (Progra) as the target program.
m-1) , (Program-2) , (Progr
am-3) is registered.

更に第9図(d)は、”Signal Table”を
選択して開かれた信号テーブルウィンドウ623で、こ
のウィンドウにはリストアツブされた信号名の中から選
択された信号名が後述のモニタリングウィンドウ603
に描かれたマシンレイアウト図上に表示される。
Further, FIG. 9(d) shows a signal table window 623 opened by selecting "Signal Table", and in this window, the signal name selected from the restored signal names is displayed in the monitoring window 603, which will be described later.
displayed on the machine layout diagram drawn in

モニタリングウィンドウ603は、第5図に示すウィン
ドウの中にサブウィンドウとして設けられており、シミ
ュレーション実行中の各信号の状態変化のモニタリング
、レイアラl−605図上の入出力信号名606の表示
や消去、およびマニュアル時に入力信号のレベルを制御
することができる。
The monitoring window 603 is provided as a subwindow in the window shown in FIG. 5, and is used to monitor changes in the status of each signal during simulation execution, display and delete input/output signal names 606 on the layerer l-605 diagram, And the input signal level can be controlled manually.

マニュアル時には、レイアウト605図上で信号マーク
607を選択すると、第10図に示すポツプアップメニ
ュー624が表示され、このメニューの中から所定の信
号レベルを選択することができる。
In manual mode, when the signal mark 607 is selected on the layout 605 diagram, a pop-up menu 624 shown in FIG. 10 is displayed, and a predetermined signal level can be selected from this menu.

なお、前記操作が可能なデータは、ダイレクト信号デー
タで入力信号に限る。
Note that the data that can be manipulated is limited to direct signal data and input signals.

プログラムモードウィンドウは、ターゲットプログラム
のみを対象としたシミュレーションを実行するとき、ウ
ィンドウで、“Program Mode”“を選択す
ることにより開かれる。このプログラムモードウィンド
ウ630には、第11図に示すように、29のパラメー
タが設けられており、その゛”GoStart Add
ress”はシミュレーションの実行スタートアドレス
を、また’5tep 5tart Address”は
シミュレーションのステップ実行スタートアドレスをそ
れぞれ設定する。
The program mode window is opened by selecting "Program Mode" in the window when executing a simulation targeting only the target program.As shown in FIG. There are 29 parameters, and the “GoStart Add”
'ress' sets the simulation execution start address, and '5tep 5tart Address' sets the simulation step execution start address.

なお、”History”を選択すると、以前の設定内
容の履歴が表示され、それらの設定内容が再利用できる
Note that when "History" is selected, a history of previous settings is displayed, and these settings can be reused.

次に、コマンド群6022.6023の中のコマンドを
選択することにより開かれる主なウィンドウについて説
明する。
Next, the main windows that are opened by selecting a command from the command group 6022 and 6023 will be explained.

Break  Po1nt”を選択することにより開か
れるブレイクポイントウィンドウ640には、次のパラ
メータが設けられている。
The breakpoint window 640 opened by selecting "Break Point" is provided with the following parameters.

“Memory  Address、Ilo  Add
ress、Register″は、ブレイク条件として
メモリ、I10メモリ、レジスタのいずれかを設定する
“Memory Address, Ilo Add
ress, Register'' sets memory, I10 memory, or register as a break condition.

Read  Data  Write  Dataは、
設定アドレスまたはレジスタに対してCPUが設定デー
タをリードまたはライトした時がブレイク条件となる。
Read Data Write Data
A break condition occurs when the CPU reads or writes setting data to a setting address or register.

”[)aja Format”は、リードデータライト
データの入力形式をHex形式またはBinary形式
に指定する。
"[)aja Format" specifies the input format of read data write data as Hex format or Binary format.

”Break  Count”は、ブレイク条件を満た
す回数を指定する。(この回数だけ、ブレイク条件が起
きた直後にブレイクがかかる。)上記パラメータの設定
が終了した時点で、°°Set’”を選択すると、第1
2図に示すように、エントリポイント(EntryPo
int )表示エリアにブレイク条件が表示される。
"Break Count" specifies the number of times the break condition is satisfied. (A break will occur immediately after the break condition occurs this number of times.) When you have finished setting the above parameters, if you select "°°Set'", the first
As shown in Figure 2, the entry point (EntryPo
int) Break conditions are displayed in the display area.

”D i s p l ay/Mo d i f y”
を選択することによりデイスプレィ/モディファイポツ
プアップメニュー650が表示される。第13図(a>
は、デイスプレィ/モディファイの具体例を示すもので
、この中からある項目を指定すると、その項目の専用ウ
ィンドウが開かれ、各種設定、修正などを実行すること
ができる。
“D i s p l ay/Modif y”
By selecting , a display/modify pop-up menu 650 is displayed. Figure 13 (a>
shows a specific example of display/modification. When you specify an item from among these, a dedicated window for that item opens, allowing you to perform various settings and modifications.

次に、上記メニューの中から主なウィンドウについて説
明する。
Next, the main windows from the above menu will be explained.

メモリダンプウィンドウ651は、ターゲットプログラ
ムの任意の領域のメモリ内容を、Hexまたは逆アセン
ブルで表示する。
The memory dump window 651 displays the memory contents of an arbitrary area of the target program in Hex or disassembled format.

このウィンドウには、次のパラメータが設けられている
This window has the following parameters:

”5tart  Address”は、表示開始アドレ
スを指定する。
"5tart Address" specifies the display start address.

”End  Address”は、表示終了アドレスを
指定する。
"End Address" specifies the display end address.

”Data  Format”は、表示形式を(Hex
Disassmble lのいずれかを指定する。
"Data Format" sets the display format (Hex
Specify one of Disassembly.

上記パラメータの設定が終了した時点で、DIIm p
 ”を選択すると、第13図(b)に示すように、デイ
スプレィ(Display )表示エリアにデータが表
示される。
When the above parameter settings are completed, DIIm p
” is selected, the data is displayed in the display area as shown in FIG. 13(b).

ショーファイルウィンドウ652は、ターゲットプログ
ラムのソースファイル、アセンブルリストなどを表示す
る。
The show file window 652 displays source files, assemble lists, etc. of the target program.

このウィンドウには、次のパラメータが設けられている
This window has the following parameters:

“Path”は、セツションを起動したときのバス名を
ルートディレクトリから現在いるディレクトリまで表示
する。表示されている任意のディレクトリを指定するこ
とにより、Path (現在いるディレクトリ)を変更
することができる。
"Path" displays the bus name at the time the session was started, from the root directory to the current directory. By specifying any displayed directory, the Path (the current directory) can be changed.

”Directories”は、指定されてバスにディ
レクトリがあれば、そのディレクトリ名が表示される。
If "Directories" is specified and there is a directory on the bus, the name of the directory is displayed.

Files”は、Path (現在いるディレクトリ)
の中に存在するファイル名をすべて表示する。なお、第
13図(C)には指定されたパスにディレクトリがなく
(NO表示)、またファイルはあることを示している(
30フアイル)。
"Files" is Path (current directory)
Display all file names that exist in . Note that Figure 13 (C) shows that there is no directory in the specified path (NO is displayed), and that there is a file (
30 files).

“Fi le  Name”は、表示したいファイル名
を入力する。
In "File Name", enter the file name you want to display.

“”5earch  For″“は、検索文字列を指定
する。
“5search For” specifies a search string.

“’LineNo”は、現在表示中のファイルの表示位
置を表示する。また、行数を入力しリターンキーを押す
と、その行の付近のファイル内容を表示することができ
る。
“'LineNo” indicates the display position of the file currently being displayed. Also, by entering the number of lines and pressing the return key, you can display the file contents near that line.

ファイル名が指定されると、第13図(c)に示すよう
に、千のファイルの内容が表示エリアに表示される6図
示の例では、メインプログラム「H^IN PROGR
AM、の内容が表示されている。
When a file name is specified, the contents of the 1,000 files are displayed in the display area, as shown in FIG. 13(c). In the example shown in FIG.
The contents of AM are displayed.

セット/クリアウィンドウ653は、ターゲットプログ
ラム、CPUレジスタ、およびメモリ内容を、Hexま
たは二一モニツク(ハンド・アセンブル)形式にて修正
することができる。
The set/clear window 653 allows modification of the target program, CPU registers, and memory contents in Hex or 21monic (hand assembled) format.

このウィンドウには、次のパラメータが設けられている
。(第13図(d)参照) ’5tart Address’は、修正または表示の
開始アドレスを指定する。
This window has the following parameters: (See FIG. 13(d)) '5tart Address' specifies the start address for modification or display.

”End Address”は、修正または表示の終、
了アドレスを指定する。
"End Address" is the end address of the modification or display.
Specify the end address.

“’Register”は、レジスタ名を指定する。“’Register” specifies a register name.

“I/OAddress”は、I10メモリアドレスを
指定する。
“I/OAddress” specifies the I10 memory address.

“Entry Area”は、新しいデータ(Hex)
または命令(二一モニツク)を入力する。
“Entry Area” is new data (Hex)
Or enter the command (21 Monique).

上記パラメータに関する定義の内容を表示したり、ある
いはデータや命令を設定するために、次のコマンドが設
けられている。
The following commands are provided to display the definitions related to the above parameters or to set data and commands.

°″Display”は、設定されたメモリアドレス空
間、レジスタ、I10アドレスの内容を表示する。
°"Display" displays the contents of the set memory address space, register, and I10 address.

Modify”は、設定されたメモリアドレス空間また
はレジスタに、データまたは命令をセットする。
"Modify" sets data or instructions in a set memory address space or register.

Read’は、設定されたメモリアドレス空間、レジス
タ、I10アドレスに指定されたデータを。
Read' reads the data specified in the set memory address space, register, and I10 address.

ターゲットプログラム自身に読み込ませる。すなわち、
ターゲットプログラムはそのアドレスやレジスタにその
データが設定されたことを認識する。
Load it into the target program itself. That is,
The target program recognizes that the data has been set to that address or register.

“Fill”は、設定されたアドレス領域全てにデータ
または命令をセットする。
"Fill" sets data or instructions in all set address areas.

“Re5et”は、ターゲットプログラムをロードした
直後の状態に戻す。
"Re5et" returns the target program to the state immediately after it was loaded.

シミュレーションステートウィンドウ654は、設定ま
たは指定されている現在のシミュレーション情報を表示
する。このウィンドウ654には、第13図<e)に示
すように、前述の各ウィンドウにより設定されたシミュ
レーションの対象、コンフィグレーションの定義情報な
どの名称、およびシミュレーションの実行情報が表示さ
れる。
Simulation state window 654 displays current simulation information that has been set or specified. As shown in FIG. 13<e), this window 654 displays the simulation target, the name of the configuration definition information, etc. set in each of the windows described above, and the simulation execution information.

通信データマニュアル入力ウィンドウ655は、通信デ
ータを新たにマニュアルにて設定するために利用される
。このウィンドウ655は、第13図(f)に示す通信
データを定義するためのパラメータが設けられている。
The communication data manual input window 655 is used to manually set new communication data. This window 655 is provided with parameters for defining the communication data shown in FIG. 13(f).

”Data”は、データの慣用名(12文字 以内)を
指定する。
“Data” specifies the commonly used name (up to 12 characters) of the data.

“RawData”は、生データで、16進数値で指定
する。(最大32バイト) “0utside  Module″は、データの送信
元のモジュール名を指定する。
“RawData” is raw data and is specified as a hexadecimal value. (Maximum 32 bytes) “0utside Module” specifies the module name of the data transmission source.

“Byte  Interval  Time”は、通
信データが複数バイトである場合のインターバル時間を
μs単位で設定する。
“Byte Interval Time” sets the interval time in μs when the communication data is multiple bytes.

”Rx  Bu f f e r  Type”は、チ
ャンオ・ルの受信バッファを設定する。
"Rx Bu f f e r Type" sets the receive buffer of the channel.

”Rx  Bu f f e r Type”は、受信
バ・ノファのタイプをメモリ1 し/○メモリ、レジス
タの3種類の中から設定する。
"Rx Buffer Type" sets the type of the receiving buffer from among three types: memory 1, memory, and register.

”InputType  は、データ入力方法のタイプ
を指定する。
”InputType specifies the type of data input method.

“I n t e r r u p t ”は、コンフ
ィグレーション部300にある通信データ生成部370
が起動する通信規約設定部により開かれる表示ウィンド
ウ部500が管理する通信規約設定ウィンドウにて定義
された通信プロトコルに従って生成される通信データキ
ューのなかに割り込んで入力される。従って、その後の
キューのデータは、この割り込みデータに影響される。
“I nterupt” is the communication data generation unit 370 in the configuration unit 300.
The communication data queue is inserted into a communication data queue that is generated according to a communication protocol defined in a communication protocol setting window managed by the display window unit 500 that is opened by a communication protocol setting unit activated by the communication protocol setting unit. Therefore, subsequent data in the queue is affected by this interrupt data.

” E x c h a n g e”は、通信データ
のキューの中の対応するモジュールのデータフレームと
交換します。従って、その後のキューのデータは、全く
影響を受けない。
"Exchange" exchanges the data frame of the corresponding module in the communication data queue. Therefore, data in subsequent queues is not affected at all.

’Immed i ate 1y”は、” S e t
 ”を選択すると同時に、指定されたデータを受信ハ・
ノファに入力する。
'Immediate 1y' means 'Set
” at the same time, the specified data will be received.
Enter into Nofa.

”Time   From   Power   On
”  は 、 ノ(ワーオンからの時間を邸単位で設定
する。
”Time From Power On
” Sets the time from Waon for each residence.

”Time  From Tx Data’は、あるデ
ータが送信されてからの時間を詔単位で設定する。
"Time From Tx Data" sets the time elapsed after certain data is transmitted in edict units.

“TxData”は、送信データを16進数値を設定す
る。
“TxData” sets a hexadecimal value for transmission data.

“TxBuffer”は、送信バッファをメモリ、I1
0メモリ、レジスタの3種頭の中から設定する。
“TxBuffer” is the transmit buffer in memory, I1
Set from among the three types: 0 memory and register.

(III−3)シミュレーションエンジンシミュレーシ
ョンエンジン部(以下エンジン部と称す)は、第14図
に示すように、シミュレーション管理部410により呼
び出され、各エンジンの時間の同期をとりなからシミュ
レーションの実行を管理するシミュレーションエンジン
コントローラ441(以下エンジンコントローラと称す
)、ニシンの初期化の実行を管理するシミュレーション
エンジン初期化管理部420(以下エンジン初期化管理
部と称す)、エンジンコントローラにより起動されるエ
ンジン部442〜447、およびエンジン初期化管理部
420により起動され、各エンジンの使う各種テーブル
、管理テーブル(テーブルのロケーション情報)の初期
化を行うエンジンの初期化部421〜426とから構成
されている。
(III-3) Simulation Engine The simulation engine unit (hereinafter referred to as the engine unit) is called by the simulation management unit 410, as shown in FIG. 14, and manages the execution of the simulation by synchronizing the time of each engine. A simulation engine controller 441 (hereinafter referred to as the engine controller) that manages the initialization of the herring, a simulation engine initialization management section 420 (hereinafter referred to as the engine initialization management section) that manages the execution of initialization of the herring, and engine sections 442 to 442 activated by the engine controller. 447, and engine initialization units 421 to 426 that are activated by the engine initialization management unit 420 and initialize various tables and management tables (table location information) used by each engine.

エンジン部は、主にタイマー/カウンターのクロック端
子に入力される定周期パルスを発生するクロック信号の
シミュレーションを行うタロツクエンジン442、ター
ゲットプログラムの命令を実行するMPU命令エンジン
443、LSI回路と外部との間で、入出力されるダイ
レット信号のシミュレーションを実行するダイレクト信
号エンジン444、通信データのシミュレーションを実
行する通信データエンジン445、MPU内蔵ポートの
シミュレーションを実行するMPUポートエンジン44
6、および周辺LSI回路のシミュレーションを実行す
るLSI回路エンジン447を備えている。
The engine section mainly consists of a tarok engine 442 that simulates a clock signal that generates regular periodic pulses that are input to the clock terminal of a timer/counter, an MPU instruction engine 443 that executes instructions of a target program, and an LSI circuit and external connections. A direct signal engine 444 that executes a simulation of input/output dielet signals, a communication data engine 445 that executes a simulation of communication data, and an MPU port engine 44 that executes a simulation of an MPU built-in port.
6, and an LSI circuit engine 447 that executes simulation of peripheral LSI circuits.

次に、各エンジン間で使用されるリスト、バッファ、テ
ーブルなどのデータを第27図を参照しなから説明する
Next, data such as lists, buffers, and tables used between each engine will be explained with reference to FIG. 27.

LSI宛ダイレクト信号状変りスト444Aは、状態の
変化したダイレクト信号をLSI回路エンジン447へ
知らせるためのデータである。第16図は、リスト構成
の一例を示すもので、状態変化のあったダイレクト信号
のダイレクト信号IDを並べたリストにより構成されて
いる。
The LSI directed signal state change list 444A is data for notifying the LSI circuit engine 447 of a direct signal whose state has changed. FIG. 16 shows an example of a list structure, which is composed of a list in which direct signal IDs of direct signals whose state has changed are arranged.

図において、rNEXTJリンクとは、LSI回路エン
ジンに各種エンジンよりデータ付きリクエストが送られ
てくるので、LSI回路エンジンに複数のデータが送ら
れた場合、次に送られたデータのロケーションを示すデ
ータである。またデータタイプとは、ダイレクト信号エ
ンジン444よりのLSI宛ダイレクト信号状変リスト
444Aであることを示すタイプ番号である。なお、r
NEXTJリンクおよびデータタイプは、池のリストに
おいても基本的に同じ意味づけで用いられているので、
以後のリストの説明に際しては省略する。
In the figure, the rNEXTJ link is data that indicates the location of the next data sent, since requests with data are sent to the LSI circuit engine from various engines. be. Further, the data type is a type number indicating that the direct signal status change list 444A addressed to LSI is sent from the direct signal engine 444. In addition, r
NEXTJ links and data types are used with basically the same meaning in Ike's list, so
The following description of the list will be omitted.

ダイレクト信号エンジン宛ダイレクト信号状変リストは
447A、状態の変化したダイレクト信号をダイレフl
−信号エンジン444へ知らせるためのデータであり、
第16図に示すLSI宛ダイレクト信号状変リストと同
様な構造を有している。
The direct signal state change list for the direct signal engine is 447A, which directs the direct signal whose state has changed.
- data for notifying the signal engine 444;
It has the same structure as the LSI directed signal state change list shown in FIG.

ダイレクト信号ステートバッファ444Bは、ダイレク
ト信号の状態、すなわち、ハイレベルであるかローレベ
ルであるかを記憶するバッファであり、第17図は、バ
ッファ構成の一例を示すもので、ダイレクト信号ID順
に各信号の状態が第3表に示す状fiIDによって記憶
される。
The direct signal state buffer 444B is a buffer that stores the state of the direct signal, that is, whether it is high level or low level. FIG. 17 shows an example of the buffer configuration, and each direct signal is The state of the signal is stored by the state fiID shown in Table 3.

第3表 LSI宛MPU端子状変りスト446Aは、状態の変化
したMPU端子をLSI回路エンジン447へ知らせる
ためのデータである。第18図は、リスト構成の一例を
示すものである。
The MPU terminal state change list 446A addressed to LSI in Table 3 is data for notifying the LSI circuit engine 447 of the MPU terminal whose state has changed. FIG. 18 shows an example of the list structure.

MPU宛MPU端子状変りスト447Dは、状態の変化
したMPU端子をMPUボー)・エンジン446へ知ら
せるためデータであり、第18図に示すLSI宛MPU
端子状変りスト446Aと同様な構造を有している。
The MPU terminal state change list 447D addressed to the MPU is data to notify the MPU engine 446 of the MPU terminal whose state has changed, and is data that informs the MPU terminal state change list 447D, which is addressed to the LSI shown in FIG.
It has the same structure as the terminal-shaped variant strike 446A.

MPU端子ステートバッファ446Bは、MPU端子の
状態、すなわち、ハイレベルであるかローレベルである
かを記録するバッファであり、第17図に示すダイレク
ト信号ステー)・バッファ444Bと基本的に同一構造
になっている。
The MPU terminal state buffer 446B is a buffer that records the state of the MPU terminal, that is, whether it is high level or low level, and has basically the same structure as the direct signal state buffer 444B shown in FIG. It has become.

次に、クロック関係のデータについて説明する。Next, clock-related data will be explained.

LSI宛クロック端子状変りスト442Aは、カウント
数の変化したリアルバリュークロック信号をLSI回路
エンジン447へ知らせるめのデータであり、第19図
に示す構造になっている。
The LSI destination clock terminal state change list 442A is data for notifying the LSI circuit engine 447 of the real value clock signal whose count number has changed, and has the structure shown in FIG. 19.

上記リアルバリュークロック信号とは、ユーザがコンフ
ィグレーション部300において実際の周波数値で定義
した周波数信号である。
The real value clock signal is a frequency signal defined by the user in the configuration section 300 using an actual frequency value.

MPU宛クワクロック端子状変リスト442Fカウント
数の変化したリアルバリュークロック信号をMPUポー
トエンジンへ知らせるためのデータであり、第20図に
示す構造になっている。
MPU quad clock terminal state change list 442F This is data for notifying the MPU port engine of the real value clock signal whose count number has changed, and has the structure shown in FIG.

上記リアルバリュークロック信号とは、MPUポートエ
ンジン446が内部で使用している周波数信号である。
The real value clock signal is a frequency signal used internally by the MPU port engine 446.

クロックカウントステートバッファ442Bは、ユーザ
の定義したリアルバリュークロック信号のシステムスタ
ート時間からのトータルカウント値を記録するものであ
り、第21図に示す構造になっている。このデータを利
用するLSI回路エンジン447やMPUポートエンジ
ン446は、1回前に動作したときのカウント値を記憶
しておき、その差があらたに加えられたクロック数であ
ることを知る。
The clock count state buffer 442B records the total count value of the real value clock signal defined by the user from the system start time, and has the structure shown in FIG. 21. The LSI circuit engine 447 and MPU port engine 446 that use this data store the count value from the previous operation and know that the difference is the newly added clock number.

MPU用クロックカウントステートバッファ442Dは
、MPUポートエンジン446が使用しているリアルバ
リュークロック信号のシステムスタート時間からのトー
タルカウント値を記憶する。このバッファは、第21図
に示すクロックカウントステートバッファと基本的に同
−構造になっている。
The MPU clock count state buffer 442D stores the total count value of the real value clock signal used by the MPU port engine 446 from the system start time. This buffer has basically the same structure as the clock count state buffer shown in FIG.

クロック端子コンフィグテーブル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.

このテーブル442Cは、第22図に示すように、N0
50〜9がクロック信号全体情報、No、10〜19が
1エントリのクロック信号情報により構成されている。
This table 442C, as shown in FIG.
50 to 9 are composed of the entire clock signal information, numbers 10 to 19 are composed of one entry of clock signal information.

したがって、No、10〜19の情報は、クロック信号
ID[O]〜最後のクロック信号■Dまでの情報が続い
ている。ここで、周波数とはこのリアルバリュークロッ
クの周波数を[セ]単位で、また出力変化タイミングに
はこのクロックに連なるクロック入力を持つLSIの中
で、1番近い未来に出力端子が変化するLSIの変化タ
イミングがシステム時間単位でそれぞれ入る。
Therefore, the information of Nos. 10 to 19 continues from the clock signal ID[O] to the last clock signal D. Here, frequency refers to the frequency of this real value clock in [ce] units, and the output change timing refers to the LSI whose output terminal will change in the nearest future among LSIs that have a clock input connected to this clock. Change timing is entered in system time units.

クロック信号情報で定義された接続端子情報およびコン
フィグ用接続端子情報は、各接続端子毎に第22図(a
)、第22図(b)に示すテーブルを備えており、この
エントリーは接続端子、コンフィグ用接続端子の個数分
をもっている。
The connection terminal information defined by the clock signal information and the configuration connection terminal information are shown in Figure 22 (a) for each connection terminal.
), the table shown in FIG. 22(b) is provided, and this entry has the number of connection terminals and configuration connection terminals.

MPU内蔵内蔵クロックコンフィーテーブル442EM
PU内蔵のリアルバリュークロック信号の個数、接続端
子情報、カウント値ロケーション、周波数等の情報を持
っている。
Built-in MPU built-in clock comfort table 442EM
It has information such as the number of real value clock signals built into the PU, connection terminal information, count value location, frequency, etc.

このテーブル442Eは、第22図に示すクロック端子
コンフィグテーブル442Cと基本的に同一構造になっ
ている。
This table 442E has basically the same structure as the clock terminal configuration table 442C shown in FIG.

次に、通信関係のデータについて説明する。Next, communication-related data will be explained.

LSI発送信データリストは、LSI回路エンジン44
7から通信データエンジン445へ送信するデータを、
通信データエンジンへ伝えるためのデータである。この
データは、通信データエンジンがLSI回路エンジンへ
送信するデータを発生させる条件としても使用される。
The LSI-originated transmission data list is sent by the LSI circuit engine 44.
7 to the communication data engine 445,
This is data to be sent 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.

第23図は、リスト構成の一例を示すもので、このデー
タはLSI回路エンジンより通信データエンジンへ送信
するデータがある場合、送信データのある送信バッファ
に対してのみ作られ、送信バッファID、送信時間、送
信データを対としたリストより構成されている。
FIG. 23 shows an example of the list structure. When there is data to be sent from the LSI circuit engine to the communication data engine, this data is created only for the send buffer with the send data, and the send buffer ID, send It consists of a list of time and transmission data pairs.

ここで、送信バッファID″は送信バッファのID番号
、“°送信時間”はシステム時間で示された1バイトデ
ータの先頭ビットが転送開始された時間、°°データ”
はコントロールビットを含まない生データである。
Here, "transmission buffer ID" is the ID number of the transmission buffer, "°transmission time" is the time when the first bit of 1-byte data indicated in system time is started to be transferred, "°data"
is raw data that does not include control bits.

MPU発送発送−データリスト445BMPUポートエ
ンジン446から通信データエンジン445へ伝えるデ
ータであり、LSI発送発送−データリスト445A様
な構造を有している。このデータは、通信データエンジ
ンがMPUポートエンジンへ送信するデータを発生させ
る条件としても使用される。
MPU dispatch data list 445BM is data transmitted from the MPU port engine 446 to the communication data engine 445, and has a structure similar to the LSI dispatch data list 445A. This data is also used as a condition for the communications data engine to generate data to send to the MPU port engine.

LSI宛受信データリスト445Cは、通信データエン
ジン445からLSI回路エンジン447への受信デー
タをLSI回路エンジンへ知らせるためのデータであり
、第24図に示す構造になっている。
The LSI destination received data list 445C is data for notifying the LSI circuit engine of the received data from the communication data engine 445 to the LSI circuit engine 447, and has the structure shown in FIG.

MPU宛受信データリスト445Dは、通信データエン
ジン445からMPUポートエンジン446への受信デ
ータをMPUポートエンジンへ知らせるためのデータで
あり、第24図に示すLSI宛受信データリスト445
Cと同様な構造を有している。
The MPU destination reception data list 445D is data for notifying the MPU port engine of the reception data from the communication data engine 445 to the MPU port engine 446, and is the same as the LSI destination reception data list 445 shown in FIG.
It has a similar structure to C.

送信バッファ通信情報445Fは、通信LSIMPU通
信ポートの送信ステータスや1バイトデータの通信デー
タエンジンへの送信にかかる送信時間を、通信データエ
ンジンに知らせるためのデータであり、各データ毎に送
信ステータス及び送信時間の情報を持っており、第25
図に示す構造になっている。
The transmission buffer communication information 445F is data for informing the communication data engine of the transmission status of the communication LSIMPU communication port and the transmission time required to transmit 1-byte data to the communication data engine. It has time information and the 25th
It has the structure shown in the figure.

ここで、送信ステータスは、通信LSI、通信ポートが
送信可能状態であるか否かを規定する。
Here, the transmission status defines whether or not the communication LSI and the communication port are in a transmittable state.

送信時間は、この通信回線の伝送スピードを示し、ボウ
レイト(BauRate)と伝送方式より計算し、1バ
イトデータの送信時間を単位0I11sで示される。
The transmission time indicates the transmission speed of this communication line, is calculated from the BauRate and the transmission method, and is expressed in units of 0I11s as the transmission time of 1 byte data.

受信バッファ通信情報445Gは、通信LSI。The reception buffer communication information 445G is a communication LSI.

MPU通信ポートの受信ステータスや1バイトデータを
通信データエンジンから受信するのにかかる受信時間を
、通信データエンジンに知らせるためのデータで、前記
送信バッファ通信情報445Fと基本的に同一構造であ
る。
This data informs the communication data engine of the reception status of the MPU communication port and the reception time required to receive 1-byte data from the communication data engine, and has basically the same structure as the transmission buffer communication information 445F.

送信バッファコンフィグテーブル445Hは、送信バッ
ファのコンフィグレーション情報として、送信バッファ
の個数、送信バッファアドレス、送信バッファ形式1通
信LSIのコンフィグテーブルのロケーション等の情報
を持っている。第26図は、テーブル構成の一例を示す
もので、送信バッファのアドレスおよびタイプは、通信
データエンジンが初期化のときセットシ、またコンフィ
グテーブルロケーション、ユニットIDは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. FIG. 26 shows an example of the table configuration. The address and type of the transmission buffer are set when the communication data engine is initialized, and the configuration table location and unit ID are set when the LSI circuit engine is initialized.

受信バッファコンフィグテーブル445Iは、受信バッ
ファのコンフィグレーション情報として、受信バッファ
の個数、受信バッファアドレス、受信バッファ形式2適
信LSIのコンフィグテーブルのロケーション等σ情報
を持っている。なお、受信バッファコンフィグテーブル
は、第26図に示す送信バッファコンフィグテーブル4
45Hと基本的に同一構造である。
The reception buffer configuration table 445I has σ information such as the number of reception buffers, the reception buffer address, and the location of the configuration table of the reception buffer type 2 compatible LSI as reception buffer configuration information. Note that the reception buffer configuration table is the transmission buffer configuration table 4 shown in FIG.
It has basically the same structure as 45H.

割り込みイベントリスト446Bは、割り込みがあった
こととMPUポートエンジンからM P U命令エンジ
ンに伝えるためのデータであり、第27図に示す構造を
有している。
The interrupt event list 446B is data for informing the MPU instruction engine from the MPU port engine that an interrupt has occurred, and has the structure shown in FIG. 27.

割り込みイベントとは、ターゲットシステムがある状態
でシミュレートされているときに、現在進められている
動作より緊急性の高い事象が起きた場合、たとえば複写
動作中に複写機のドアを開ける動作が突然起った時の処
理である。すなわち、誤った操作に対応して設けられて
いるMPUポートに入力(割り込み)があると、そのた
めの処理ルーチンを走らせることである。従って、この
種のシミュレーションは、予め誤った操作を想定し、こ
れに反応する具体的なターゲットシステムの動作を行な
わせるための各種の処理ルーチンがMPU命令エンジン
443に備えられている。
An interrupt event is an event that occurs when the target system is being simulated in a certain state and an event that is more urgent than the operation currently in progress occurs. This is what to do when it happens. That is, when there is an input (interrupt) to the MPU port provided in response to an erroneous operation, a processing routine for that purpose is run. Therefore, in this type of simulation, the MPU instruction engine 443 is equipped with various processing routines for assuming erroneous operations in advance and causing the target system to perform specific operations in response to the erroneous operations.

すなわち、MPUポートエンジン446は、誤った態様
に対応した割り込みが入ったら、どのような内容の割り
込みかをMPU命令エンジン443に知らせるための割
り込みイベントリスト446Bを作成し、次いでMPU
命令エンジン443が割り込みイベントリストを参照し
て、それに応じた所定の処理ルーチンを実行する。
That is, when an interrupt corresponding to an incorrect mode is received, the MPU port engine 446 creates an interrupt event list 446B to notify the MPU instruction engine 443 of the content of the interrupt, and then
The instruction engine 443 refers to the interrupt event list and executes a predetermined processing routine accordingly.

以下、エンジンの制御について説明する。The engine control will be explained below.

記録装置のハードウェアにおいては、第75図(a)に
示すように成る期間T0内において各装置は、並列的に
動作している。しかしなから、各装置の動作を詳細に検
討してみると、ある一定の条件、たとえば、ループを含
まない等の条件を付ければ各装置がシーケンシャルに動
作していると見做してシミュレーションを行っても不都
合は生じない。すなわち、第75図に示すように、成る
期間T0内において各装置の動作を順次シミュレートし
、先に動作した装置により確定した信号のレベルに基づ
いて次の装置のシミュレーションを動作を行うことによ
りシミュレーションを行うことができる。
In the hardware of the recording apparatus, each apparatus operates in parallel within a period T0 as shown in FIG. 75(a). However, when we examine the operation of each device in detail, we find that under certain conditions, such as not including loops, we can perform simulations assuming that each device operates sequentially. There will be no inconvenience if you go. That is, as shown in FIG. 75, the operation of each device is sequentially simulated within the period T0, and the operation of the next device is simulated based on the signal level determined by the device that operated first. Simulations can be performed.

各エンジンの同期制御について第28図を参照して説明
する6 動作タイミングリクエストリスト441Aは、能動的エ
ンジン、すなわち、起動中のエンジン自ら次の動作タイ
ミングをエンジンコントローラ441に通知するための
データであり、第29図に示す構造を有している。
Synchronous control of each engine will be explained with reference to FIG. 28.6 The operation timing request list 441A is data for the active engine, that is, the engine that is starting, to notify the engine controller 441 of the next operation timing. , has the structure shown in FIG.

起動リクエスト制御テーブル441Bは、他のエンジン
の動作環境、例えばLSIの端子レベルをハイまたはロ
ーのいずれかの状態に変化させたエンジンが、起動すべ
きエンジンの起動リクエストリストをデータ付きでエン
ジンコントローラ441に通知するためのテーブルであ
り、第30図に示す構造を有している。
The startup request control table 441B stores a startup request list of engines to be started in the operating environment of another engine, such as an engine that has changed the terminal level of an LSI to either high or low, to the engine controller 441 with data. This is a table for notifying people, and has the structure shown in FIG.

リクエストデータロケーションには、起動するエンジン
へ渡すデータの入っているエリアのロケーションが入る
。起動された各エンジンは起動リクエストを処理したら
、このロケーションに「NULLJをセットする。すな
わち、起動リクエストが無い場合は、rNULL、が入
る。エンジンコントローラ441はこのデータを見て各
エンジンへの起動リクエストがあるかを4!lI1gr
する。
The request data location contains the location of the area containing the data to be passed to the engine to be started. After each started engine processes a start request, it sets "NULLJ" in this location. In other words, if there is no start request, rNULL is entered.The engine controller 441 looks at this data and issues a start request to each engine. Is there 4!lI1gr
do.

リクエストデータには、LSI宛ダイレクト信号状変り
スト444A、LSI宛MPU端子状変リスト446A
、MPU宛MPU端子状変リスト447BLSI宛受信
データリスト445C,MPU宛受信データリスト44
5D、LSI宛クコクロック端子状変ト442A、MP
U宛クロりク端子状変リスす・442C、ダイレクト信
号エンジン宛ダイレクト信号状変りスト447A、LS
I発送信データリスト445A、MPU発送発送−デー
タリスト445Bよび割り込みイベントリスト446B
である。
The request data includes a direct signal state change list 444A addressed to the LSI, and a list 446A of MPU terminal state changes addressed to the LSI.
, MPU terminal status change list addressed to MPU 447 Received data list addressed to BLSI 445C, Received data list addressed to MPU 44
5D, Clock terminal change to LSI 442A, MP
Clock terminal state change list to U 442C, direct signal state change list to direct signal engine 447A, LS
I-originated transmission data list 445A, MPU dispatch-data list 445B, and interrupt event list 446B
It is.

クロックエンジン442.M P rJ命令エンジン4
43゜ダイレクト信号エンジン4441通信データエン
ジン445、M P Uポートエンジン446及びLS
I回路エンジン447の同期は、エンジンコントローラ
441が管理するシステム時間により行われる。このシ
ステム時間は、各エンジン間の同期をとるための基準時
間となる。
Clock engine 442. M P rJ instruction engine 4
43° Direct signal engine 4441 Communication data engine 445, MPU port engine 446 and LS
Synchronization of the I-circuit engine 447 is performed using system time managed by the engine controller 441. This system time serves as a reference time for synchronizing each engine.

エンジンコントローラ441の中に設けられた時間コン
トローラは、各エンジンに現在のシステム時間を知らせ
る。但し、各エンジンのうち、動作タイミングの来たエ
ンジンしか起動しないので、この起動されたエンジンの
みが現在のシステム時間を知ることができる。各エンジ
ンは、知らされた時間で後述するような所定の動作を行
う。この動作後に次の動作タイミングを動作タイミング
リクエストリストに書き込む。各エンジンの次の動作タ
イミングは、以下のようにして求められる。
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 this started engine can know the current system time. Each engine performs a predetermined operation as described below at the informed time. After this operation, the next operation timing is written in the operation timing request list. The next operation timing for each engine is determined as follows.

クロックエンジン442は、クロックの周期から求めら
れる。
The clock engine 442 is determined from the period of the clock.

MPU命令エンジン443は、命令の実行に要する時間
から求められる。たとえば、命令A、B。
The MPU instruction engine 443 is determined from the time required to execute an instruction. For example, instructions A and B.

Cを順次実行する場合、現在実行中の命令Aの実行に時
間tを要すれば、次の命令Bは時間t f&に実行され
ることになる。
When executing C sequentially, if the currently executing instruction A takes time t, the next instruction B will be executed at time tf&.

ダイレクト信号エンジン444は、次のダイレクト信号
の入力時間ラベルから求められる。
The direct signal engine 444 is determined from the input time label of the next direct signal.

通信データエンジン445は、次の通信データの入力時
間から求められる。
The communication data engine 445 is determined from the input time of the next communication data.

MPUポートエンジン446、LSI回路エンジン44
7は、関連するダイレクト信号の入力時間から求められ
る。
MPU port engine 446, LSI circuit engine 44
7 is obtained from the input time of the related direct signal.

エンジンコントローラ441は、動作タイミングリクエ
ストリスl−441A、および起動リクエスト制御テー
ブルの両方を参照し、このリスト内の時間で最も現在の
システム時間に近い時間にシステム時間を設定して時間
を進める。
The engine controller 441 refers to both the operation timing request list 1-441A and the activation request control table, sets the system time to the time in this list that is closest to the current system time, and advances the time.

例えば、M P Uポートエンジン446の希望する起
動時間が他のエンジンの希望する起動時間や池のエンジ
ンが要求する起動時間と比べて現在のシステム時間に近
い場合、エンジンコントローラ441はこのシステム時
間をMPUポートエンジン446に設定して当該エンジ
ンを起動する。
For example, if the desired startup time of the MPU port engine 446 is closer to the current system time compared to the desired startup times of other engines or the startup time required by the engine, the engine controller 441 The MPU port engine 446 is set and the engine is started.

また、エンジンコントローラ441は、起動リクエスト
制御テーブル441Bも参照し、起動すべきエンジンな
知る。
The engine controller 441 also refers to the activation request control table 441B and learns which engine should be activated.

各エンジンの起動順序について第31図を参照して説明
する。
The starting order of each engine will be explained with reference to FIG. 31.

エンジンコントローラ441は、動作タイミングリクエ
ストリスト441A及び起動リクエスト制御テーブル4
41Bを参照し、図中、■〜■で示した順序で各エンジ
ンを起動する。
The engine controller 441 includes an operation timing request list 441A and a startup request control table 4.
41B, each engine is started in the order shown by ■ to ■ in the figure.

このとき、クロック毎にクロックエンジン442を動作
させると、シミュレーション装置の負荷が重くなるので
、本実施例においては、クロックエンジンの他に、ブリ
ステージクロックエンジン4420と呼ばれるエンジン
を設けている。このエンジン4420は、クロック素子
が出力端子を変化させないステージでのクロック信号の
カウントをまとめて行う、但し、クロック素子の出力端
子のレベルが変化するタイミングでは、他のエンジンの
動作に関係なくクロックエンジン442が動作する。
At this time, 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 collectively counts clock signals at stages where the clock element does not change its output terminal. However, at the timing when the level of the output terminal of the clock element changes, the clock signal 442 works.

なお、ステージとは、シミュレータがシミュレーション
を実行するのに必要な最小時間分解能時間帯である。す
なわち、あるターゲットプログラムをシミュレーション
する場合は、1命令を実行するのにエンジンが必要とす
る動作時間である。
Note that the stage is the minimum time resolution time period required for the simulator to execute the simulation. That is, when simulating a certain target program, it is the operating time required by the engine to execute one instruction.

たとえば、クロックエンジンの動作と他のエンジンの動
作との関係が、第32図に示すような状態であるとき、
期間T1では、他のエンジンの動作がないので、この期
間ではクロック毎にクロックエンジンを動作させない、
そして、他のエンジンとの関連が生じる時点t1で、そ
れまでの4クロック分を1回で数える6また、これ以降
の期間では、他のエンジンとの関連が生じるクロックの
タイミング、たとえば、時点t2で数える。
For example, when the relationship between the operation of the clock engine and the operation of other engines is as shown in FIG.
During period T1, since no other engines operate, the clock engine is not operated for each clock during this period.
Then, at time t1 when a relationship with another engine occurs, the four clocks up to that point are counted at one time. Count with

ここで、各エンジンの動作を例示的に起動順に説明する
。 先ず、プリステージクロックエンジン4420が起
動されると、内部カウンタの更新処理等を行うLSIエ
ンジンクロック処理部4421、及びMPtJポートエ
ンジンの基準時間の算出及び設定を行うMPUポートエ
ンジンクロック処理部4422が動作して、上述したよ
うに、LSI回路エンジン447及びMPUポートエン
ジン446において、実際の起動タイミングより前に予
めクロック処理を行う。たとえば、LSIエンジンクロ
ック処理部4421では、クロックを使用するr825
3.等のLSIをシミュレートする場合、内部カウンタ
の更新処理のみ行う。
Here, the operation of each engine will be exemplified and explained in the order of startup. First, when the prestage clock engine 4420 is started, the LSI engine clock processing section 4421, which performs internal counter updating processing, and the MPU port engine clock processing section 4422, which calculates and sets the reference time of the MPtJ port engine, operate. As described above, the LSI circuit engine 447 and the MPU port engine 446 perform clock processing in advance before the actual startup timing. For example, in the LSI engine clock processing section 4421, the r825
3. When simulating an LSI such as, only the internal counter updating process is performed.

MPU命令エンジン443が起動され、例えば、MPU
エンジンのI10命令が実行されると、アドレスに対応
したLSIエンジンMPLI  I10処理部4480
とMPUポートエンジンI10処理部470を動作させ
る。
The MPU instruction engine 443 is activated and, for example, the MPU
When the engine I10 instruction is executed, the LSI engine MPLI I10 processing unit 4480 corresponding to the address
and operates the MPU port engine I10 processing unit 470.

各LSIには、データアドレスやコントロールアドレス
と呼ばれるメモリエリアがあり、このアドレスは、MP
Uのアドレス空間内に組み込まれ、MPUのI10命令
により直接データの読み書きができるものがある。この
アドレス空間は、I10アドレスと呼ばれている。
Each LSI has memory areas called data addresses and control addresses, and these addresses are
Some are built into the address space of U and can directly read and write data using the MPU's I10 instruction. This address space is called the I10 address.

LSIエンジンMPU  I、10処理部4480は、
上記アドレスにMPUの命令によりデータの読み書きが
行われたことに対するLSI側の反応を処理する。
The LSI engine MPU I, 10 processing unit 4480 is
Processes the response on the LSI side to data being read or written to the above address by an MPU command.

すなわち、LSIの端子レベルが変化した場合、このレ
ベルの変化をLSIリクエストリスト447Gに書込み
、そのLSIの端子に接続された他のLSIに変化を伝
える。
That is, when the terminal level of an LSI changes, this level change is written to the LSI request list 447G, and the change is transmitted to other LSIs connected to the terminal of that LSI.

LSIリクエストリスト447Gは、LSI回路エンジ
ンのシミュレーション中に発生する端子レベルの変化を
各LSIエンジンへ知らせるためのものであり、回路レ
ベル別のリストが作成される。
The LSI request list 447G 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.

各回路レベルのリストの構造は全て同じであり、登録個
数と複数組のコンフィグテーブルのロケーション及びユ
ニッI−r Dの対からなっている。
The structure of the list at each circuit level is the same, and consists of the number of registrations, the locations of multiple sets of configuration tables, and pairs of units I-rD.

一方、MPUポートエンジンI10処理部470では、
MPUポートへのI10命令によりポート動作を実行し
、LSr宛MPU端子状変リスす446Aを書き換える
On the other hand, in the MPU port engine I10 processing section 470,
The I10 command to the MPU port executes the port operation and rewrites 446A that indicates the status of the MPU terminal addressed to LSr.

ところで、1ステージで発生する各種状変リストは、は
ぼlステージ内でなくなる。ただし、送信データリスト
445A、割り込みイベントリスト446B、ダイレク
ト信号エンジン宛ダイレクト信号状変りスト447Aに
ついて、処理スピードなどの関係で、次のステージで処
理される。送信データリストは、通信データエンジンが
、データの発生条件に使うためのものであり、また割り
込みイベントリストは次のMPU命令の前で処理すれば
良いなどの理由から次のステージで処理される。また、
ダイレクト信号エンジン宛ダイレクト信号状変りスト4
47^はロギング用の情報であるので次のステージで充
分である。
By the way, the various status change lists that occur in one stage disappear within one stage. However, the transmission data list 445A, the interrupt event list 446B, and the direct signal status change list 447A addressed to the direct signal engine are processed in the next stage due to processing speed and the like. The transmission data list is used by the communication data engine as a data generation condition, and the interrupt event list is processed in the next stage because it only needs to be processed before the next MPU instruction. Also,
Direct signal state change strike 4 addressed to direct signal engine
Since 47^ is information for logging, it is sufficient for the next stage.

すなわち、現在起動されているLSIの端子に状態の変
化があった場合、その状態変化は、通常その端子に接続
されている他のLS、I(異なるユニットに属するLS
I)の端子の状態変化として即現れる。従って、端子の
状態変化は、通常同時刻、すなわち1ステージ内で処理
される6しかし、通信データやダイレクト信号データに
関しては、状態変化がお単位で起るために、その処理は
シミュレーション上で数ステージ後に行われることにな
る。そのため、通信データエンジンやダイレクト信号エ
ンジンは、上記LSIからの要求に対して直ちに動作す
るのではなく、LSIからの起動リクエストに基づいて
上記要求の処理が実行される。その間において他の端子
の状態変化があれば、それに関しての処理は当然行われ
ることになる。
In other words, if there is a change in the state of a terminal of the currently activated LSI, the change in state will normally affect other LSs and Is (LSs belonging to different units) connected to that terminal.
It appears immediately as a change in the state of the terminal I). Therefore, changes in the state of terminals are usually processed at the same time, that is, within one stage.6 However, for communication data and direct signal data, changes in state occur in units of units, so the processing is performed several times in the simulation. It will be held after the stage. Therefore, the communication data engine and the direct signal engine do not operate immediately in response to a request from the LSI, but process the request based on a startup request from the LSI. If there is a change in the status of other terminals during that time, the corresponding process will naturally be performed.

このように、現在ステージで起こった状態変化を各エン
ジンがどのステージで処理すべきかを起動リクエスト制
御テーブルに登録することにより処理スピードを上げて
いる。
In this way, the processing speed is increased by registering in the startup request control table the stage in which each engine should process the state change that has occurred in the current stage.

MPU命令エンジン443は、MPU命令を実行する際
に、必ず割り込みイベントリスト446Bを参照して割
り込み処理の有無を確かめる。すなわち、割り込みイベ
ントは、予め定めたルーチンによって処理されるなめ、
要求があったら直ちに処理する必要はなく、次回起動に
おいて、MPU命令の実行に先立って処理されるように
構成されている。
When the MPU instruction engine 443 executes an MPU instruction, it always refers to the interrupt event list 446B to check whether or not an interrupt is being processed. In other words, interrupt events are handled by predetermined routines, so
It is not necessary to process the request immediately when the request is made, but is configured so that it is processed the next time the request is started, prior to the execution of the MPU instruction.

クロックエンジン442が起動されると、LSI宛クワ
クロック端子状変リスト442AMPU宛クコクロック
端子状変リスト442Fき換え、その内容がLSI回路
エンジン447及びMPUポートエンジン446に伝え
られる。
When the clock engine 442 is activated, the LSI clock terminal state change list 442 and the AMPU clock terminal state change list 442F are replaced, and the contents thereof are transmitted to the LSI circuit engine 447 and the MPU port engine 446.

ダイレクト信号エンジン444が起動されると、LSI
宛ダイレクト信号状変りスト444Aが書き換えられ、
その内容がLSI回路エンジン447へ伝えられる。
When the direct signal engine 444 is activated, the LSI
The destination direct signal status change list 444A is rewritten,
The contents are transmitted to the LSI circuit engine 447.

通信データエンジン445が起動されると、LSI宛受
信データリスト445C及びMP[J宛受信データリス
ト445Dが書き換えられ、LSI回路エンジン及びM
PUポートエンジンに伝えられる。
When the communication data engine 445 is started, the LSI destination reception data list 445C and the MP[J destination reception data list 445D are rewritten, and the LSI circuit engine and M
It is communicated to the PU port engine.

MPUポートエンジン446が起動されると、LSI宛
MPU端子状変リスす−446A、割り込みイベントリ
スト446B及び送信データリスト445Bが書き換え
られ、LSI回路エンジン、MPU命令エンジン及び通
信データエンジンにそれぞれ伝えられる。
When the MPU port engine 446 is activated, the LSI destination MPU terminal state change list 446A, interrupt event list 446B, and transmission data list 445B are rewritten and transmitted to the LSI circuit engine, MPU instruction engine, and communication data engine, respectively.

LSI回路エンジン447が起動されると、送信データ
リスI・445A、MPU宛MPU端子状変リスト44
7B及びダイレクト信号エンジン宛ダイレクト信号状変
りスト447Aが書き換えられ、通信データエンジン、
MPUポートエンジン及びダイレクト信号エンジンにそ
れぞれ伝えられる。
When the LSI circuit engine 447 is started, the transmission data list I.445A and the MPU terminal status change list 44 addressed to the MPU are sent.
7B and the direct signal state change list 447A addressed to the direct signal engine are rewritten, and the communication data engine,
The signals are sent to the MPU port engine and the direct signal engine, respectively.

この後、リクエストリストの生成条件によっては、再度
MPUポートエンジンが起動され、nt*にLSI回路
エンジンが起動される。 (これは、はとんどまれなケ
ースである。) このような順序でエンジンを起動するのは、他のエンジ
ンに影響を与えるエンジンを先に実行し、他のエンジン
の実行からの影響を受けるエンジンを後に実行するため
である。
Thereafter, depending on the request list generation conditions, the MPU port engine is started again, and the LSI circuit engine is started at nt*. (This is a very rare case.) The reason for starting engines in this order is to run engines that affect other engines first, so that the effects from running the other engines are eliminated. This is because the receiving engine will be executed later.

ところでMPUの端子とLSI回路の素子間でループが
作られる可能性があり(はとんど皆無に近いが)、その
ためMPUポートエンジンとLSI回路エンジン間で起
動のループが考えられている。(第31図■■■■参照
ン 例えば、MPUポート処理において、MPL+からLS
Iにクロックを出力し、このクロックを分周して再びM
PUに出力する。MPUでは分周されたクロックにより
MPU動作を実行する。このように、MPUとLSI間
で処理の順番が規定されている場合には上記起動により
サポートされる。
By the way, there is a possibility (almost never) that a loop will be created between the MPU terminal and the LSI circuit element, so a startup loop is being considered between the MPU port engine and the LSI circuit engine. (See Figure 31) For example, in MPU port processing, from MPL+ to LS
Output a clock to I, divide this clock, and output it again to M.
Output to PU. The MPU executes MPU operations using a frequency-divided clock. In this way, when the order of processing is defined between the MPU and the LSI, it is supported by the above activation.

17′、−M P UのクロックをカウントしてLSI
のタロツク端子の状態を変化させる処理を想定した場合
には、先ずMPUポートエンジンでクロックをカウント
し、このカウント値でLSIのクロック端子の状態変化
を制御する。そして、LSIエンジンは、上記カウント
値に基づいてクロック端子の状態を変化させた後、その
結果をMPUポートエンジンに知らせて割り込みイベン
トの実行を要求する。
17',-MPU clock is counted and LSI
When assuming processing to change the state of the clock terminal of the LSI, first, the MPU port engine counts the clock, and this count value controls the state change 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 port engine of the result and requests execution of the interrupt event.

このような処理は、1ステージでクロック信号が変るの
は1回だけなので、ループが何重にもできることはない
。なお、エンジン間では、第4表に示す動作上の優先順
位があるが、シミュレーション上ではこの通りでなけれ
ばならないというものではない。
In such processing, the clock signal changes only once in one stage, so there is no possibility of multiple loops. It should be noted that although there is an operational priority order among the engines as shown in Table 4, it does not necessarily have to be this way in the simulation.

なお、表中の「−」は順序が無関係である。空欄はどち
らとも考えられるが、どちらかにすることが他の優jl
a位に関係してくる。
Note that the order of "-" in the table is irrelevant. Blank fields can be considered either, but choosing one is better than the other.
It is related to position a.

(以下余白) 第4表 このように、エンジン間に優先順位をつけて制御するこ
とは、起動頻度の低いエンジンに対するソフトウェア上
の処理を軽洩し、効率を上げるなめである。
(Left space below) Table 4 By prioritizing and controlling the engines in this way, the software processing for engines that are started less frequently can be ignored and efficiency can be increased.

各エンジン間の同期は、エンジンコントローラが管理す
るシステム時間に基づいて行われる。システム時間は第
33図に示すように、コントローラが各エンジンより通
知される動1tタイミングリクエストリストと、起動リ
クエスト制御テーブル内の時間の中で最も現在システム
時間に近い時間に、設定し時間を進めるもので、各エン
ジン間の同期をとるための基準時間となる。 ここで、
エンジンコントローラの中で、時間を管理する機能を時
間コントローラと呼び、この時間コントローラにより各
エンジンに現在時刻が知らされる。
Synchronization between each engine is performed based on system time managed by the engine controller. As shown in Figure 33, the system time is set by the controller to the time closest to the current system time among the times in the dynamic timing request list notified by each engine and the start request control table, and the time is advanced. This is the reference time for synchronizing each engine. here,
In the engine controller, the function for managing time is called a time controller, and this time controller notifies each engine of the current time.

すなわち、動作すべきエンジンにおいては、時間コント
ローラから知らされるシステム時間が設定され、このシ
ステム時間をエンジン内システム時間として進められる
That is, in the engine to be operated, the system time notified from the time controller is set, and this system time is advanced as the in-engine system time.

一方、各エンジンは知らされた時間で所定の動作を実行
した後に、次の動作タイミングを動作タイミングリクエ
ストリストに書き込む。
On the other hand, after each engine executes a predetermined operation at the notified time, each engine writes the next operation timing in the operation timing request list.

ところで、各エンジンには、時間コントローラから最新
のシステム時間が知らされる訳ではないので、各エンジ
ンごとの別々の時間を持っている。
By the way, since each engine is not informed of the latest system time from the time controller, each engine has its own time.

更に、各エンジンは次に説明する固有の時間をもってい
るので、その時間について説明する。
Furthermore, since each engine has its own time, which will be explained next, that time will be explained.

クロックエンジンには、LSI回路に存在する発信素子
等により作られるクロック信号に基づく時間、インター
フェースLSIのコンフィグレーションでリアルバリュ
ーにより定義された周波数に基づく時間とMPU内蔵ク
ロックの周波数に基づく時間がある。
The clock engine has a time based on a clock signal generated by a transmitting element etc. existing in the LSI circuit, a time based on a frequency defined by a real value in the configuration of the interface LSI, and a time based on the frequency of the MPU built-in clock.

MPU命令エンジンには、トータルステート数より命令
の実行ごとにかかる時間づつ進むトータルMPU時間と
次の命令を実行すべき次命令実行時間があり、次命令実
行時間は、次の命令を実行すべきタイミングのステート
数を加えたステート数により計算される。
The MPU instruction engine has a total MPU time that advances by the time required for each instruction execution than the total number of states, and a next instruction execution time when the next instruction should be executed. Calculated by adding the number of timing states to the number of states.

ダイレクト信号エンジンには、最近に入力されたダイレ
クト信号の入力時間と次に入力されるダイレクト信号の
入力時間があり、各ダイレクト信号入力時間はタイミン
グデータの累積時間で表わされ、その計算はタイミング
データファイルと同じ単位で行われる。
The direct signal engine has the input time of the most recently input direct signal and the input time of the next input direct signal, and each direct signal input time is represented by the cumulative time of timing data, and its calculation is based on the timing data. This is done in the same unit as the data file.

通信データエンジンには、最近に入力された通信データ
、および次に入力される通信データのそれぞれの入力時
間をもっている。
The communication data engine has input times for the most recently input communication data and the next input communication data.

(III−4)エンジンの作用 ウィンドウによりシミュレーションの実行に必要な操作
を完了した時点で“S T A RT ”を選択すると
、シミュレーション管理部410によりエンジン初期化
部420が呼び出され、各エンジンの初期化が実行され
、エンジンコントローラが各エンジンからの動作要求や
他、エンジンからの起動要求の中からシステム時間に基
づいて、予め定められた順番で起動され、シミュレーシ
ョンが実行される。以下、シミュレーションモードを選
択した場合を説明する。
(III-4) When "S T A RT" is selected when the operations necessary for executing the simulation are completed using the engine operation window, the engine initialization section 420 is called by the simulation management section 410, and the initialization of each engine is performed. The engine controller is activated in a predetermined order based on the system time from among operation requests from each engine and activation requests from the engine, and a simulation is executed. The case where simulation mode is selected will be explained below.

エンジンコントローラは、先ず動1Fタイミングリスト
を見てブリステージクロックエンジンを呼び出し、LS
Iエンジンクロック処理部とMPポートエンジンクロッ
ク処理部を起動してLSIの内部カウンタの更新処理や
MPUポートエンジンで使用する周波数のクロックカウ
ントの算出および設定を行う。
The engine controller first looks at the engine 1F timing list, calls the bristage clock engine, and then
The I engine clock processing section and the MP port engine clock processing section are activated to update the internal counter of the LSI and calculate and set the frequency clock count used by the MPU port engine.

次いで、MPU命令エンジンが呼び出され、LSIエン
ジンMPU  I10処理部とMPUポートエンジンI
10処理部が起動される。
Next, the MPU instruction engine is called, and the LSI engine MPU I10 processing section and the MPU port engine I
10 processing units are activated.

LSIエンジンMPU  I10処理部は、LSI回路
エンジンのシミュレーション中に発生する端子の変化を
各LSIエンジンに伝えるために、そのLSIの端子の
コンフィグレーション情報もっているコンフィグテーブ
ルのロケーション情報が回路レベルごとにLSIリクエ
ストリスト(第36図参照)として作成される。
The LSI engine MPU I10 processing unit transfers the location information of the configuration table containing the configuration information of the terminals of the LSI to the LSI for each circuit level in order to inform each LSI engine of changes in the terminals that occur during the simulation of the LSI circuit engine. It is created as a request list (see Figure 36).

一方MPUポートエンジンI10処理部は、MPUポー
トへのI10命令で、ポート動作の実行を行う。
On the other hand, the MPU port engine I10 processing unit executes a port operation in response to an I10 command to the MPU port.

その結果に基づいて、上記I10処理部は、状態の変化
したMPU端子をLSI回路エンジンへ知らせるための
LSI宛MPU端子状変リスト(第18図参照)を作成
し、そのリスト内容を起動リクエスト制御テーブルに登
録する。その後のLS1回路エンジンの起動において、
状態の変化したMPU端子は、LSI宛MPU端子状態
リストを見て知ることができ、そのステート情報はMP
U端子ステートバッファからハイ又はローのいずれかの
状態で知り、他のエンジンからの情報との関連処理に利
用される。
Based on the results, the I10 processing unit creates an MPU terminal status change list addressed to the LSI (see Figure 18) for notifying the LSI circuit engine of the MPU terminal whose status has changed, and uses the contents of the list to control activation requests. Register in the table. In the subsequent startup of the LS1 circuit engine,
You can find out which MPU pins have changed states by looking at the LSI destination MPU pin state list, and the state information is sent to the MP
The high or low state is known from the U terminal state buffer and is used for processing related to information from other engines.

MPU命令エンジンのシステム時間が経過すると、エン
ジンコンl−ローラは、動作タイミングリクエストリス
トと起動リクエスト制御テーブルを参照して現在のシス
テム時間に最も近いシステム時間を持つエンジンに対し
てそのシステム時間を設定する。例えば、上記システム
時間がクロックエンジンに設定されると、クロックエン
ジンが起動し、クロック端子コンフィグテーブルおよび
MPU内蔵内蔵クロックコンフィーテーブル照してLS
I回路エンジンおよびMPUポートエンジンにカウント
数の変化のあったリアルバリュークロック信号を知らせ
るためのLSI宛クロック端子状態リストおよびMPU
宛クワクロック端子状変リスト成して上記エンジンに送
ると共に、そのリスト内容を起動リクエスト制御テーブ
ルに登録する。
When the system time of the MPU instruction engine elapses, the engine controller refers to the operation timing request list and the startup request control table and sets the system time for the engine whose system time is closest to the current system time. do. For example, when the above system time is set in the clock engine, the clock engine starts and the LS
Clock pin status list addressed to LSI and MPU to notify I circuit engine and MPU port engine of real value clock signal with change in count number
A destination quad clock terminal state change list is created and sent to the engine, and the contents of the list are registered in the activation request control table.

そして状態の変化したリアルバリュークロック信号のカ
ランt・値をクロックカウントステートバッファおよび
MPU用クロックカウントステートバッファに格納する
Then, the current value of the real value clock signal whose state has changed is stored in the clock count state buffer and the MPU clock count state buffer.

前記同様に、エンジンコントローラによりダイレクト信
号エンジンが起動されると、状態変化のあったダイレク
ト信号を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回路エン
ジンおよびMPUポートエンジンに受信データがあるこ
と、および受信データが格納されている受信データバッ
ファを知らせるためのLSI宛受信データリストおよび
MPU宛受信データリストを作成して上記各エンジンに
知らせると共に、1バイトの送信または受信時間からデ
ータの通信時間を算出する。この情報は、ユーザの要求
によって表示される。その後、リスト内容は起動リクエ
スト制御テーブルに登録される。
When the communication engine is started in response to a request from the LSI circuit engine or MPU port engine, it checks the reception or transmission buffer communication information file to confirm whether the communication destination device is ready for communication, and then configures the transmission and reception buffer configuration. Refer to the table to create a list of received data addressed to the LSI and a list of received data addressed to the MPU to inform the LSI circuit engine and MPU port engine that there is received data and the receive data buffer where the received data is stored. It notifies each engine and calculates the data communication time from the transmission or reception time of 1 byte. This information is displayed at the user's request. Thereafter, the contents of the list are registered in the activation request control table.

あるエンジンのシステム時間が経過してMPUポートエ
ンジンが起動されると、クロック端子状変リストを参照
してクロック端子のリアルバリュークロック信号の1・
−タルカウント値をMPU用クロックカウントステート
バッファから取り入れ、このクロック信号に基づいて受
信データリストおよびMPU宛端子状変リストを参照し
て状態変化のあったMPU端子をLSI回路エンジンに
知らせるためのLSI宛MPU端子状変リストを作成す
る共に、そのリスト内容を起動リクエスト制御テーブル
に登録する。
When the system time of a certain engine has elapsed and the MPU port engine is started, the real value clock signal of the clock terminal is changed by referring to the clock terminal state change list.
- An LSI that takes in the total count value from the MPU clock count state buffer, refers to the received data list and the MPU destination terminal state change list based on this clock signal, and notifies the LSI circuit engine of the MPU terminal whose state has changed. A destination MPU terminal state change list is created 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 port that performs interrupt processing among the MPU ports, an event corresponding to the change is written in the interrupt event list.

また通信データエンジンへ送信するデータがある場合、
MPU命令エンジンによって呼び出されるシリアル・イ
ンタフェース送信動作部を起動して送信可能情報と1バ
イトの送信時間を通信データエンジンに知らせるための
受信バッファ通信情報を作成すると共に、送信先の送信
バッファ、送信時間、送信データ、送信情報を並べた送
信データリストを作成して、通信データエンジンに送る
と共に、そのリスト内容を起動リクエスト制御テーブル
に登録する。
Also, if there is data to be sent to the communication data engine,
Activates the serial interface transmission operation unit called by the MPU instruction engine to create receive buffer communication information to notify the communication data engine of transmittable information and 1-byte transmission time, as well as to inform the communication data engine of the transmission buffer of the destination and the transmission time. , transmission data, and transmission information are 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に接続
されているクロック端子であるのかをクロック端子コン
フィグテーブルを参照して特定し、そのタロツク端子の
リアルバリュークロック信号のトータルカウント値をタ
ロツクカウントステートバッファから読み出し、このク
ロック信号に基づいて上記同様の受信バッファ通信情報
ファイルを作成すると共に、送信先の送信バッファ、送
信時間、送信データからなる送信情報を並べた送信デー
タリストを作成して通信データエンジンに送る。そして
、状態変化のあったMPU端子をMPUポートエンジン
に知らせるためのMPU宛MPU端子状変リストを、ま
た状態変化のあったダイレクト信号をダイレクト信号エ
ンジンに知らせるためのダイレクト信号エンジン宛ダイ
レクト信号状変リストとを作成すると共に、それらのリ
スト内容を起動リクエスト制御テーブルに登録する6 (III−5>エンジンの初期化 各エンジンがシミュレーション時に使用するメモリ常駐
の各種テーブル、制御ブロックの初期化を行う。
When an LSI circuit engine is started after the system time of a certain engine has passed, the clock terminal configuration is performed to determine which LSI the clock terminal whose state has changed is connected to from the LSI destination clock terminal state change list. The total count value of the real value clock signal of that tally terminal is read from the tally count state buffer, and based on this clock signal, a receive buffer communication information file similar to the above is created, and the destination A transmission data list is created in which transmission information consisting of the transmission buffer, transmission time, and transmission data is arranged and sent to the communication data engine. Then, there is a list of MPU terminal status changes addressed to the MPU to notify the MPU port engine of the MPU terminals that have changed in status, and a list of direct signal status changes addressed to the direct signal engine that is used to notify the direct signal engine of direct signals that have changed status. At the same time, the list contents are registered in the startup request control table.

エンジン初期化部420は、第14図に示すように、エ
ンジン初期化管理部420^に管理されているクロック
エンジン初期化部421、MP’U命令エンジン初期化
部422、ダイレクト信号エンジン初期化部423、通
信データエンジン初期化部424、MPUポートエンジ
ン初期化部425、およびLSI回路エンジン初期化部
426から構成され、エンジンに共通なデータ、例えば
動作タイミングリクエストリスト、起動リクエスト制御
テーブルの初期化やエンジン内存のデータを格納するテ
ーブルの初期化で行う。
As shown in FIG. 14, the engine initialization section 420 includes a clock engine initialization section 421, an MP'U instruction engine initialization section 422, and a direct signal engine initialization section managed by an engine initialization management section 420^. 423, communication data engine initialization section 424, MPU port engine initialization section 425, and LSI circuit engine initialization section 426, and is configured to initialize data common to the engine, such as operation timing request list, startup request control table initialization, etc. This is done by initializing the table that stores the data within the engine.

(lit−6)エンジンコントローラ エンジンコントローラは、各エンジンの時間の同期をと
りなから、シミュレーションの実行を管理する。主な機
能としては、第33図に示すように、システム時間の設
定や動作タイミングリクエストリストにより最も早い時
間のリクエストのあるエンジンの起動、および、各エン
ジンの動作で発生する他エンジンの起動リクエスト分起
動リクエスト制御テーブルより取り上げ、リクエストの
あるエンジンの起動を実行することである。
(lit-6) Engine Controller The engine controller synchronizes the time of each engine and manages the execution of the simulation. As shown in Figure 33, the main functions are to start the engine with the earliest request based on the system time settings and operation timing request list, and to start requests for other engines that occur when each engine operates. This is to pick up the request from the startup request control table and start the requested engine.

(III−7)LSI回路エンジン LSI回路エンジンは、LSI回路の配線部分およびL
SI単体のシミュレーションを実行する。
(III-7) LSI circuit engine The LSI circuit engine is the wiring part of the LSI circuit and the LSI circuit engine.
Execute a simulation of the SI alone.

LSI回路の配線部分では、次のシミュレーションが行
われる。
The following simulation is performed on the wiring part of the LSI circuit.

■ダイレクト信号を、それにつながるLSIエンジンや
MPUポートエンジンに伝える。
■Transmits direct signals to the connected LSI engine and MPU port engine.

■通信データを通信LSIエンジンに伝える。■Transmit communication data to the communication LSI engine.

■MPU命令エンジンのI10命令によるLSIの端子
の変化を、それにつながるLSIエンジンに伝える。
-Transmits changes in LSI terminals caused by the MPU instruction engine's I10 instruction to the LSI engine connected to it.

■LSIエンジンの出力端子の変化を、それにつながる
LSIエンジンやMPUポートエンジンに伝える。
■Transmits changes in the LSI engine's output terminal to the connected LSI engine and MPU port engine.

LSI単体では、次のシミュレーションが行われる。For a single LSI, the following simulation is performed.

■LSIの端子の変化によるLSIの動作■MPUのI
10命令によるLSIの動作第34図は、LSI回路エ
ンジンの構成を示すブロック図である。。
■LSI operation due to changes in LSI terminals■MPU I
LSI operation based on 10 instructions FIG. 34 is a block diagram showing the configuration of the LSI circuit engine. .

LSI回路エンジン447は、LSI回路エンジンコン
トローラ4470で管理されるダイレクト信号入カバン
ドラ4471. MPU端子入カバンドラ4472゜受
信データ入カバンドラ4473 、クロック端子入カバ
ンドラ4474及びLSIエンジンドライバ4475を
備えている。なお、LSI回路エンジンコントローラ4
470は、シミュレーションエンジンコントローラ44
1により起動される。
The LSI circuit engine 447 includes a direct signal input bundler 4471 . It includes an MPU terminal input bundler 4472, a reception data input bundler 4473, a clock terminal input bundler 4474, and an LSI engine driver 4475. In addition, the LSI circuit engine controller 4
470 is the simulation engine controller 44
1 is activated.

ダイレクト信号入カバンドラ4471は、LSI宛ダイ
レクト信号状態変化リスト444Aから、変化した信号
に接続しているLSIエンジン4477へ未来に起動さ
れることを知らせるためのリクエストリストを作成する
ものである。
The direct signal input bundler 4471 creates a request list for notifying the LSI engine 4477 connected to the changed signal that it will be activated in the future from the LSI directed signal state change list 444A.

MPU端子入カバンドラ4472は、LSI宛MPU端
子状態変化リストから、変化した端子に接続しているL
SIエンジンへのリクエストリストを作成するものであ
る。
The MPU terminal input cable bundler 4472 selects the LSI connected to the changed terminal from the MPU terminal state change list addressed to the LSI.
This creates a list of requests to the SI engine.

受信データ入カバンドラ4473は、受信データリスト
445Cから、受信データと接続しているLSIエンジ
ンへのリクエストリストを作成するものである。
The received data input bundler 4473 creates a request list for the LSI engine connected to the received data from the received data list 445C.

クロック端子入カバンドラ4474は、LSI宛クロッ
ク端子状変りスト442Aから、変化したクロックに接
続しているLSIエンジンへのリクエストリストを作成
するものである。
The clock terminal input bundler 4474 creates a request list from the LSI destination clock terminal state change list 442A to the LSI engine connected to the changed clock.

LSIエンジンドライバ4475は、LSI回路エンジ
ンがダイレクト信号の出力信号を変化させたときに、ダ
イレクト信号エンジンへ出力変化を伝えるダイレクト信
号出力ドライバ4476、各種LSIのシミュレーショ
ンを行うLSIエンジン4477、およびLSI回路エ
ンジンからMpU端子への出力信号を変化させたときに
、MPUポートエンジンへ出力変化を伝えるMPU端子
出力ドライバ4478を管理している。このLSIエン
ジンドライバ4475は端子の信号変化を受けて作られ
たLSIリクエストリスト447Gに従い、入力の変化
があったLSIエンジンを起動するものである。LSI
エンジンの実行終了後、実行による端子の変化分受けて
、その端子に接続されているLSIエンジンへのリクエ
ストリストを作成する。
The LSI engine driver 4475 includes a direct signal output driver 4476 that transmits the output change to the direct signal engine when the LSI circuit engine changes the output signal of the direct signal, an LSI engine 4477 that simulates various LSIs, and an LSI circuit engine. It manages the MPU terminal output driver 4478, which transmits the output change to the MPU port engine when the output signal from to the MpU terminal changes. This LSI engine driver 4475 starts the LSI engine whose input has changed according to the LSI request list 447G created in response to the change in the signal at the terminal. LSI
After the execution of the engine is completed, a request list for the LSI engine connected to the terminal is created based on the changes in the terminal due to the execution.

またLSI回路エンジンには、プリステージクロックエ
ンジン4420により呼び出され、クロ・ンク信号を使
うLSIエンジン、例えば8253エンジンが有する内
部カウンタの更新処理のみを行うLSIエンジンクロッ
クカウンタ処理部4421、各LSIエンジンを構成し
、LSIのCPU70グラム機能をシミュレーションす
るLSIエンジンのMPU  I10処理部4480、
MPU命令エンジン443のI10命令で呼び出され、
アドレスに対応した上記MPU  I10処理部448
0を起動するLSIIニンジンMPU  I10処理ド
ライバ447Gを備えている。
The LSI circuit engine also includes an LSI engine clock counter processing section 4421 that is called by the prestage clock engine 4420 and performs only update processing of the internal counter of an LSI engine that uses a clock signal, such as the 8253 engine, and MPU I10 processing unit 4480 of the LSI engine that configures and simulates the CPU70g function of the LSI;
It is called by the I10 instruction of the MPU instruction engine 443,
The MPU I10 processing unit 448 corresponding to the address
It is equipped with an LSII Carrot MPU I10 processing driver 447G that runs 0.

LSIのCPUプログラム機能とは、LSIがMPUの
I10命令により制御される場合に、マツピングされた
メモリ空間の特定アドレスにデータを1き込む操作をい
う。すなわち、LSIはあるアドレスにデータが書き込
まれると、このデータに基づいて所定の動作が行われる
The CPU program function of an LSI refers to an operation of writing data into a specific address in a mapped memory space when the LSI is controlled by the I10 instruction of the MPU. That is, when data is written to a certain address in an LSI, a predetermined operation is performed based on this data.

しSt回路エンジンの内部データとしては、クロック端
子コンフィグテーブル442C,MPU端子端子コンフ
ィーテーブル446Cダイレクト信号コンフィグテーブ
ル444C,LSIコンフィグテーブル447C、通信
データコンフィグテーブル445H445I、  LS
I回路エンジンデータ管理ブロック447E 、 ’L
 S Iリクエストリスト447G、LSI端子ステー
トバッファ447B、クロックカウントステートバッフ
ァ442B、LSI内部メモリレジスタバッファ447
F等がある。
The internal data of the St circuit engine includes a clock terminal configuration table 442C, an MPU terminal configuration table 446C, a direct signal configuration table 444C, an LSI configuration table 447C, a communication data configuration table 445H, 445I, and LS.
I circuit engine data management block 447E, 'L
SI request list 447G, LSI terminal state buffer 447B, clock count state buffer 442B, LSI internal memory register buffer 447
There are F etc.

クロック端子コンフィグテーブル442Cは、リアルバ
リュークロック信号のコンフィグレーション情報として
、定義されたリアルバリュークロック信号の個数、接続
端子情報、カウント値ロケーション、周波数等をもって
いる。
The clock terminal configuration table 442C has the number of defined real value clock signals, connection terminal information, count value location, frequency, etc. as real value clock signal configuration information.

MPU端子端子コンフィーテーブル446CMPU端子
のコンフィグレーション情報、すなオ)も定義端子の数
、接続端子情報、MPU端子ステートバッファロケーシ
ョン等の情報を持っている。
The MPU terminal configuration table 446 (CMPU terminal configuration information, etc.) also has information such as the number of defined terminals, connection terminal information, and MPU terminal state buffer location.

ダイレクト信号コンフィグテーブル444C及びLSI
コンフィグテーブル447Cは、MPU端子端子コンフ
ィーテーブル446C様に、ダイレクト信号端子及びL
SI端子のコンフィグレーション情報を持っている。。
Direct signal configuration table 444C and LSI
The configuration table 447C has direct signal terminals and L
Contains configuration information for the SI terminal. .

通信データコンフィグテーブル445H、4451は、
通信チャンネルのコンフィグレーション情報を持ってい
るテーブルであり、通信チャンネルの個数、受信データ
バッファ先頭ロケーション、通信LSIの種類、LSI
コンフィグテーブルのロケーション等の情報を持ってい
る。
The communication data configuration tables 445H and 4451 are
This is a table containing configuration information of communication channels, including the number of communication channels, reception data buffer start location, communication LSI type, and LSI.
Contains information such as the location of the configuration table.

LSI回路エンジンデータ管理ブロック447Eは、L
SI回路エンジンで使用するデータを管理するデータで
あり、各データのロケーションを持っている。
The LSI circuit engine data management block 447E
This is data that manages data used by the SI circuit engine, and has the location of each data.

LSIリクエストリスト447Gは、先に述べたように
LSI回路エンジンのシミュレーション中に発生する端
子の変化を各LSIエンジンへ伝えるための情報で、回
路レベルの関数だけ存在する(36図参照)。
As described above, the LSI request list 447G is information for transmitting to each LSI engine changes in the terminals that occur during simulation of the LSI circuit engine, and only circuit-level functions exist (see FIG. 36).

各ステートバッファ442B 、444B 、446B
 、447B 。
Each state buffer 442B, 444B, 446B
, 447B.

は、端子や信号の状態を記憶している。stores the state of terminals and signals.

LSI内部メモリレジスタバッファ447Fは、各LS
Iの内部メモリレジスタ等のLSIをシミュレーション
するなめに必要となる情報を記憶している。
The LSI internal memory register buffer 447F
It stores information necessary for simulating the LSI, such as the internal memory registers of the I.

本実施例においては、LSI回路の動作をシミュレート
するために、コンフィグレーション部のLSI情報設定
部320を起動し、ターゲットシステムでどのようなL
SIがいくつ使用されるのか、各LSIはどのように接
続されるのか、各LSIの各ビンには、どのような信号
が現れるのか等を表示ウィンドウぶ500が管理する設
定ウィンドウに従ってキーボード或いはマウスを使用し
て入力してLSIコンフィグデータを作成する。このL
SIコンフィグデータ及びこれに付随して作成されるデ
ータに基づいてシミュレーション部でLSI回路の動作
のシミュレーションを行う。
In this embodiment, in order to simulate the operation of an LSI circuit, the LSI information setting section 320 of the configuration section is activated, and the LSI information setting section 320 of the configuration section is activated to
How many SIs are used, how each LSI is connected, what kind of signals appear in each bin of each LSI, etc. are displayed using the keyboard or mouse according to the setting window managed by the display window 500. Create LSI configuration data by inputting the data using This L
The simulation section simulates the operation of the LSI circuit based on the SI configuration data and the data created in association with the SI configuration data.

上記LSIコンフィグデータの作成手順については、先
に同じ出願人が出願した平成1年特許願第140716
号に詳細に述べられているので、ここでは、前記出願を
引用し、その説明を省略する。
Regarding the procedure for creating the above LSI configuration data, please refer to Patent Application No. 140716 filed in 1999 by the same applicant.
Since the patent application is described in detail in the above application, the above application will be cited and the explanation thereof will be omitted here.

次に、LSI回路エンジンの作用を第35図、第37図
を参照しなから説明する。なお、1ステージの動作をr
8253J LSIエンジンのクロック処理によって説
明する。
Next, the operation of the LSI circuit engine will be explained with reference to FIGS. 35 and 37. In addition, the operation of one stage is r
The explanation will be based on the clock processing of the 8253J LSI engine.

ここで、r8253Jはカウンタ機能をもつLSIであ
り、異なるカウンタ機能を実現するために、各ポートに
データを書き込むためのポートアドレスデータを6って
いる。
Here, the r8253J is an LSI with a counter function, and in order to realize different counter functions, six port address data are provided for writing data to each port.

LSI回路エンジンコントローラ4470がクロック端
子入カバンドラ4474を起動すると、LSI回路エン
ジンデータ管理ブロック447Eのクロックデータ部に
格納されているクロック端子コンフィグテーブル442
Cの中からLSI宛クワクロック端子状変ト442Aに
あげられたカウント数の変化のあったリアルバリューク
ロック信号のクロック信号IDに対応した第22図(a
Hb)(c)に示すクロック端子コンフィグテーブルを
取り出し、このテーブルを参照して、出力変化タイミン
グ(NO,14>に格納されたシステム時間に最も近い
出力タイミングをもつ前記クロック信号が、どのLSI
のクロック端子に接続され、そのカウント値がクロック
カウントステートバッファ442Bのどの位置にあるの
かを探る。そのため、クロック端子コンフィグテーブル
442Cの接続端子情報から前記クロック信号が接続さ
れる端子IDを定義したLSIコンフィグテーブル44
7C1例えば8253コンフイグテーブルを参照して状
態が変化されるクロック端子のカウント値がLSI端子
ステートバッファ447Bのどの位置にあるのかを探る
。 このようにして、あるクロック信号の状態変化はL
SIのクロック端子の状態の変化のあった情報として伝
えられるため、各LSIのシミュレーション実行時にお
いては、クロック信号の1−一タルカウント値に基づい
て他のエンジンからリクエストのある端子の状態変化を
更新し、その結果に基づいて書き換えが行われる。
When the LSI circuit engine controller 4470 starts the clock terminal input bundler 4474, the clock terminal configuration table 442 stored in the clock data section of the LSI circuit engine data management block 447E is
Figure 22 (a) corresponds to the clock signal ID of the real value clock signal whose count number has changed from C to LSI.
Hb) Take out the clock terminal configuration table shown in (c) and refer to this table to determine which LSI the clock signal with the output timing closest to the system time stored in the output change timing (NO, 14>) is.
The clock terminal of the clock count state buffer 442B is connected to the clock terminal of the clock count state buffer 442B, and the position of the count value in the clock count state buffer 442B is detected. Therefore, the LSI configuration table 44 defines the terminal ID to which the clock signal is connected based on the connection terminal information of the clock terminal configuration table 442C.
7C1 For example, refer to the 8253 configuration table to find out where in the LSI terminal state buffer 447B the count value of the clock terminal whose state is to be changed is located. In this way, a change in state of a certain clock signal is L
Since the information is transmitted as information about the change in the state of the clock terminal of the SI, when executing a simulation of each LSI, the state change of the terminal requested by another engine is detected based on the 1-1 tall count value of the clock signal. Update and rewrite based on the result.

したがって、各LSIエンジン4477は、LSI回路
エンジンコントローラ4470により1ステージで前記
処理を実行するように管理されている。換言すれば、各
LSIエンジンは、ある回路レベルにおいて自エンジン
がクロック信号のトータルカウント値に基づいて自らの
状態の変化した端子や他エンジンからのリクエストによ
り状態が変化された端子をもっている場合に、それらの
端子情報を未来に起動される他のLSIエンジンに知ら
せる。各エンジンとのデータ受は取りは、入カバンドラ
を通して行われるが、各入カバンドラ4471〜447
3では各種データとしてLSIエンジンとの関係を回路
レベル別に整理して、LSIリクエストリスト447G
を作成する。
Therefore, each LSI engine 4477 is managed by the LSI circuit engine controller 4470 to execute the above processing in one stage. In other words, if each LSI engine has a terminal whose state has changed based on the total count value of the clock signal at a certain circuit level or a terminal whose state has changed due to a request from another engine, These terminal information will be notified to other LSI engines that will be activated in the future. Data reception with each engine is performed through the input bundler, and each input bundler 4471 to 447
3 organizes the relationship with the LSI engine as various data by circuit level and creates an LSI request list 447G.
Create.

すなわち、LSIリクエストリストには、第36図にし
めすように、状態の変化した端子を6つLSIが回路レ
ベル別に整理されており、ロケーションとデバイスID
を付して未来に起動すべきLSIエンジンを規定するも
のである。LSI回路エンジンコントローラがLSIエ
ンジンドライバ4475を呼び出した際、LSIエンジ
ンドライバがLSIリクエストリストを参照して入力の
変化があったLSIエンジンを起動する。
That is, as shown in Figure 36, in the LSI request list, six LSI terminals whose states have changed are organized by circuit level, and the location and device ID are
This specifies the LSI engine to be activated in the future. When the LSI circuit engine controller calls the LSI engine driver 4475, the LSI engine driver refers to the LSI request list and starts the LSI engine whose input has changed.

起動されたLSIエンジンは、LSIコンフィグチ−プ
ル447Cを参照してLSIの端子に接続される端子の
状態変化を各エンジンによって書き換えられた最新の状
態信号を各エンジンに属するステートバッファ447B
から読み出し、この信号情報に基づいてLSI端子ステ
ートバッファの当該端子に対応づけられたアドレスの記
憶内容を更新する。その後、LSIエンジンドライバ4
475は、上記エンジンから実行後の端子の状態変化の
報告を受けて、その端子に接続している池のLSIエン
ジンへのリクエストリスI・を作成する。
The activated LSI engine refers to the LSI configuration tree 447C, and stores the latest state signal rewritten by each engine in the state buffer 447B belonging to each engine to detect changes in the state of the terminals connected to the LSI terminals.
Based on this signal information, the stored contents of the address associated with the terminal in the LSI terminal state buffer are updated. After that, LSI engine driver 4
475 receives a report of a change in the state of a terminal after execution from the engine, and creates a request list I for the LSI engine connected to the terminal.

すなわち、LSIエンジンドライバは、起動したLSI
エンジンのコンフィグテーブルを参照すれば、当該端子
の状態変化があったことを知ることができるから、その
端子に接続されている回路レベルの異なるLSIエンジ
ンにリクエストすることができる。
In other words, the LSI engine driver
By referring to the configuration table of the engine, it is possible to know that there has been a change in the state of the terminal in question, so a request can be made to an LSI engine connected to that terminal at a different circuit level.

更に、状態の変化のあった端子をLSI以外のエンジン
に知らせるために、ダイレクト信号出力ドライバ447
6およびMPU端子出力ドライバ4478が起動される
Furthermore, a direct signal output driver 447 is used to notify an engine other than the LSI of a terminal whose state has changed.
6 and MPU terminal output driver 4478 are activated.

ダイレクト信号出力ドライバ4476は、LSI回路エ
ンジンがダイレクト信号の出力信号を変fヒさせたとき
、対応するダイレクト信号を記憶するダイレフI・信号
ステートバッファ444Bを更新する。
The direct signal output driver 4476 updates the die reflex I/signal state buffer 444B that stores the corresponding direct signal when the LSI circuit engine changes the output signal of the direct signal.

その際、ダイレフ(・信号コンフィグテーブル444C
を参照して状態の変化したダイレクト信号がダイレクト
信号ステートバッファのどの位置に記憶されているのか
を特定し、その記憶内容を書き換える。
At that time, Dairef (・Signal config table 444C
The location of the direct signal whose state has changed is stored in the direct signal state buffer with reference to , and the stored contents are rewritten.

MPU端子出力ドライバ4478は、LSI回路エンジ
ンからMPU端子への出力信号を変化させたとき、MP
U端子端子コンフィーテーブル446C照して状態の変
化したLSI端子に接続されているMPU端子の状態を
記憶するMPU端子ステートバッファ446Bを更新す
ると共に、MPUポートエンジン446にMPU端子に
状態の変化のあったこと知らせるためのMPU宛MPU
端子状変りスト447Dを作成する。
The MPU terminal output driver 4478 changes the output signal from the LSI circuit engine to the MPU terminal.
The MPU terminal state buffer 446B, which stores the state of the MPU terminal connected to the LSI terminal whose state has changed, is updated by checking the U-terminal terminal configuration table 446C, and the MPU port engine 446 is notified of the state change of the MPU terminal. MPU to MPU to notify
Create a terminal-shaped modified strike 447D.

LSI回路動作のシミュレーションを第38図に示すフ
ローチャートを参照して説明する。
Simulation of LSI circuit operation will be explained with reference to the flowchart shown in FIG.

シミュレーションが開始しされると、先ず、MPUエン
ジンにより、MPUのシミュレーションが行われ、成る
時点におけるMPUの端子のレベルが決定される(ステ
ップ101,102)、  次に、先に得られたMPU
の端子のレベル及びその他のデータに基づいて、LSI
回路エンジンにより、回路レベル番号(第76図参照)
の若い順にシミュレーションが行われる。シミュレーシ
ョンは、同一回路レベル番号が付された各ユニットID
順に順次行われる(ステップ103〜107)。これに
より、MPUに接続されたLSIのユニットの出力端子
のレベルが決定される。
When the simulation is started, first, the MPU engine simulates the MPU, and determines the level of the MPU terminal at the time (steps 101, 102).
Based on the terminal level and other data of the LSI
The circuit engine determines the circuit level number (see Figure 76).
The simulation is performed in descending order of age. The simulation is performed using each unit ID with the same circuit level number.
These steps are performed one after another (steps 103 to 107). This determines the level of the output terminal of the LSI unit connected to the MPU.

成る回路レベル番号が付された全部のユニットのシミュ
レーションが終了すると、この回路レベル番号より1だ
け大きな回路レベル番号が付された全ユニットのシミュ
レーションが上述と同様に行われる(ステップ103〜
108)。すなわち、前段から得られた端子のレベルが
順次決定される。
When the simulation of all the units to which the circuit level number of
108). That is, the levels of the terminals obtained from the previous stage are sequentially determined.

全ての回路レベル番号に関してシミュレーションが終わ
ると、LSI回路のシミュレーションが終了する。
When the simulation is completed for all circuit level numbers, the simulation of the LSI circuit is completed.

(III−8)クロックエンジン クロックエンジンは、ユーザーがコンフィグレーション
したリアルバリュークロック信号(定周期パルス)とM
PUポートエンジンが元々持っているリアルバリューク
ロック信号のシミュレーションをする。主な機能はクロ
ック信号のカウントとタロツク信号の状変通知であり、
クロックカウントの変化を、リアルバリュークロック信
号と接続されているLSIエンジン、MPUポートエン
ジンに知らせる。
(III-8) Clock Engine The clock engine uses a real value clock signal (periodic pulse) configured by the user and M
Simulates the real value clock signal that the PU port engine originally has. The main functions are clock signal counting and tarok signal status change notification.
The change in clock count is notified to the LSI engine and MPU port engine connected to the real value clock signal.

第39図は、クロックエンジンの構成と他部との関連を
示すブロック図である。
FIG. 39 is a block diagram showing the structure of the clock engine and its relationship with other parts.

クロックエンジン442は、エンジンコントローラ44
1より起動されて、クロック信号のカウントを行う、カ
ウントは、システム時間と信号の周波数より計算する。
The clock engine 442 is connected to the engine controller 44
1 and counts the clock signal. The count is calculated from the system time and the frequency of the signal.

カウント値の変化したクロック信号については、状変の
あったことをLSIエンジン、MPUポートエンジンに
知らせ、クロック入力を持つLSIなどのシミュレーシ
ョンの実行をリクエストする。
Regarding the clock signal whose count value has changed, the LSI engine and MPU port engine are notified of the change in status, and a request is made to execute a simulation of an LSI or the like having a clock input.

プリクロックエンジン4420は、クロ・ツク素子が出
力端子の状態を変化させないステージでσマクロ・ンク
信号のカウントや、それに応じたクロ・ンク入力を持つ
素子の動作指示を各LSIエンジンに出す。
The pre-clock engine 4420 counts the σ macro clock signal at a stage where the clock element does not change the state of the output terminal, and issues instructions to each LSI engine to operate the element having the clock input accordingly.

クロックエンジンタイミング通知マクロ部4423は、
クロック信号に接続しているLSI素子の出力信号変化
タイミングをクロ・ツク端子コンフィグテーブル(接続
端子情報部分)ヘセ・ントして、LSIの出力信号の変
化タイミングをクロ・ツクエンジンへ知らせる。
The clock engine timing notification macro unit 4423 is
The change timing of the output signal of the LSI element connected to the clock signal is entered in the clock terminal configuration table (connection terminal information part), and the change timing of the output signal of the LSI is notified to the clock engine.

次に、クロックエンジンの作用を第40図に示すデータ
関連図を参照して説明する。
Next, the operation of the clock engine will be explained with reference to the data related diagram shown in FIG.

クロックエンジン442では、LSI宛クロ・ツク端子
状変りスト442A、MPU宛クロ・ンク端子状変リス
ト442F、クロックカウントステートノく・ノファ4
42B、MPU用クロックカウントステートバッファ4
42D、クロック端子コンフィグテーブル442C,M
PU内蔵内蔵クロックコンフィーテーブル442Eのデ
ータ、および通知マクロ関数への引数として渡される出
力変化タイミングが使用される。なお、クロック信号に
関しては、LSI回路エンジン、MPUポートエンジン
とし基本的に同じ(iE用なので、ここではLSI回路
エンジンについて説明する。
In the clock engine 442, clock terminal state change list 442A for LSI, clock terminal state change list 442F for MPU, and clock count state no.4
42B, MPU clock count state buffer 4
42D, clock terminal configuration table 442C, M
The data in the built-in clock configuration table 442E built in the PU and the output change timing passed as an argument to the notification macro function are used. Note that the clock signal is basically the same for the LSI circuit engine and the MPU port engine (since it is for iE, the LSI circuit engine will be explained here.

プリクロックエンジン4420はクロック端子コンフィ
グテーブル442Cを参照して、クロック素子をもつL
SIに対して出力端子の状態を変化させないステージで
のクロックのカウントやそのカウントに応じて何時何分
に出力を変化させるかの動作指示を各LSIに出力する
。すなわちクロック端子コンフィグテーブルに定義され
たクロック端子のクロックカウントステートバッファ4
42Bにカウント値を書き込み、このクロックカウント
ステートバッファのデータは、クロック信号を使うLS
Iエンジン、例えばr8253」エンジンにおいてクロ
ックカウント処理部4421が読み出し、このデータを
基に内部カウンタが更新処理される。
The pre-clock engine 4420 refers to the clock terminal configuration table 442C and selects the L
A clock count is performed at a stage in which the state of the output terminal is not changed for the SI, and an operation instruction is output to each LSI as to when and what minute the output should be changed in accordance with the count. In other words, the clock count state buffer 4 of the clock terminal defined in the clock terminal configuration table
The count value is written to 42B, and the data in this clock count state buffer is transferred to the LS using the clock signal.
A clock count processing unit 4421 in an I engine, for example, an R8253 engine reads the data, and an internal counter is updated based on this data.

その後、クロックエンジンは、クロツクコンフィグテー
ブルを参照して、クロック素子をもつLSIの接続端子
に間してクロックステートバッファ442Bに格納され
ているトータルカウント値に変化するクロックのカウン
ト値を加えて新たなトータルカウント値とする。同時に
どのクロック信号のカウント数が変化したかをLSI回
路エンジンに知らせるなめにLSI宛クワクロック端子
状変ト442Aが作成される。LSI回路エンジンでは
、クロック端子状変リストを参照して、変化したクロッ
ク信号の中で最も近い未来に出力端子を変化させる端子
処理を実行する。すなわち、上記クロック処理部は、コ
ンフィグレーション情報が定義されているクロック端子
コンフィグテーブルの出力変化タイミングを見て最も近
い未来に出力端子が変化するLSIを特定し、その接続
端子情報からどのLSIのコンフィグテーブルに定義さ
れているかを探る。そして、コンフィグテーブルにある
クロックのカウント値ロケーションからクロックカウン
トステートバッファを特定し、このバッファからクロッ
ク信号IDに対応したトータルカウント値を読み出す、
このトータルカウント値を基に、何時何分に出力を変化
させるかのデータ(通知マクロ関数) 442Gをクロ
ックエンジンタイミング通知マクロ部4423に渡す、
クロックエンジンタイミング通知マクロ部4423は、
通知マクロ関数からLSIの出力信号の変化タイミング
を算出し、この出力変化タイミングを基にクロック端子
コンフィグテーブル442Cの接続端子情報を書き換え
る。
Thereafter, the clock engine refers to the clock configuration table and adds the changing clock count value to the total count value stored in the clock state buffer 442B between the connection terminals of the LSI having the clock element and creates a new one. be the total count value. At the same time, a clock terminal shape change 442A addressed to the LSI is created to inform the LSI circuit engine of which clock signal's count number has changed. The LSI circuit engine refers to the clock terminal state change list and executes terminal processing to change the output terminal in the nearest future among the changed clock signals. That is, the clock processing unit identifies the LSI whose output terminal will change in the nearest future by looking at the output change timing of the clock terminal configuration table in which configuration information is defined, and determines the configuration of which LSI from the connection terminal information. Find out what is defined in the table. Then, specifying a clock count state buffer from the clock count value location in the configuration table, and reading the total count value corresponding to the clock signal ID from this buffer.
Based on this total count value, data (notification macro function) 442G is passed to the clock engine timing notification macro section 4423, indicating at what hour and minute the output should be changed.
The clock engine timing notification macro unit 4423 is
The change timing of the output signal of the LSI is calculated from the notification macro function, and the connection terminal information in the clock terminal configuration table 442C is rewritten based on this output change timing.

(III−9)ダイレクト信号エンジンダイレクト信号
エンジンは、外部より入出力されるデジタル信号のLS
I回路との入出力をシミュレーションする。このダイレ
クト信号エンジンは。
(III-9) Direct signal engine The direct signal engine is the LS of digital signals input and output from the outside.
Simulate input/output with the I circuit. This direct signal engine.

入力タイミングになったダイレクト信号をダイレクト信
号ステートバッファへセットし、ダイレクト信号の状態
変化をLSI回路エンジンに伝えるダイレクト信号入力
機能、LSI回路エンジンより出力される外部への信号
(出力ダイレクト信号)をダイレフ1−信号ステートバ
ッファヘセットするダイレクト信号出力機能、および最
も近い未来のダイレクト信号入力時間をエンジンコン1
〜ローラにt1!x1する動作タイミング通知機能を備
えている。
The direct signal input function sets the direct signal at the input timing to the direct signal state buffer and conveys the state change of the direct signal to the LSI circuit engine, and the direct signal output from the LSI circuit engine to the outside (output direct signal) 1 - Direct signal output function to set signal state buffer and nearest future direct signal input time to engine controller 1
~T1 to Laura! Equipped with an operation timing notification function that provides x1 operation timing notification function.

なお、エンジンコントローラは、ダイレクト信号入力時
間になるとダイレクト信号エンジンを起動する。
Note that the engine controller starts the direct signal engine when the direct signal input time comes.

第41図は、ダイレクト信号エンジンの構成および他部
との関連を示すブロック図である。
FIG. 41 is a block diagram showing the configuration of the direct signal engine and its relationship with other parts.

ダイレクト信号エンジン444は、エンジンコントロー
ラ441により起動され、ダイレクト信号データをファ
イルより読み込んで、入力タイミングの来たデータをダ
イレクト信号ステートバッファにセットし、状態変化の
あった信号をダイレクト信号状変リストに書き込むと共
に、LSI回路エンジンより送られてきたダイレクト信
号エンジン宛ダイレクト信号状変リストにより変化のあ
った出力ダイレフ1〜信号を知り、ユーザのためのサー
ビスを実行する。すなわち、LSI回路エンジンのシミ
ュレーション実行の結果、LSI回路エンジンのあるL
SIのダイレクト信号の状態が変化すると、ダイレクト
信号エンジンでは、その状態変化がターゲットシステム
を構成する要素、例えばモータ、ソレノイドなどの部品
の動作状況の変化として現れたのかをユーザに知らせる
ための処理を実行する。例えば、モータがある時点で動
作した場合、画面上にモータマークを点灯させたり、何
時何分にモータがON動作したことを表示する。
The direct signal engine 444 is activated by the engine controller 441, reads direct signal data from a file, sets the data whose input timing has arrived in the direct signal state buffer, and stores the signals whose state has changed in the direct signal state change list. At the same time, it learns the output die reflex 1 to signal that has changed based on the direct signal state change list addressed to the direct signal engine sent from the LSI circuit engine, and executes a service for the user. That is, as a result of the simulation execution of the LSI circuit engine, a certain LSI circuit engine
When the state of the SI direct signal changes, the direct signal engine performs processing to inform the user whether the state change has appeared as a change in the operating status of the elements that make up the target system, such as motors, solenoids, etc. Execute. For example, if a motor operates at a certain point in time, a motor mark is lit on the screen, or the time and minute when the motor was turned on is displayed.

ダイレクト信号エンジンでは、入力時間、信号名、信号
ステートなどの情報を入力時間ノlIαに並べたダイレ
クト信号データ444H、ダイレクト信号のカレントス
テート(ハイ又はロー)を記憶するダイレクト信号ステ
ートバッファ444B、LSr宛ダイレクト信号状変り
スト444A、タイミングデータの信号番号と信号名を
対応させ、かつダイレクト信号IDが付加されているタ
イミングデータ信号名データ444D、タイミングデー
タ信号名データをメモリに読み込んで作成されるタイミ
ングデータ信号名テーブル444E、ダイレクト信号I
Dとダイレクト信号ネームを対応づけたダイレクト信号
ネームデータ444F、ダイレクト信号ネームデータを
メモリに読み込んで作成されるダイレクト信号ネームテ
ーブル444Gが使用される。
In the direct signal engine, direct signal data 444H in which information such as input time, signal name, signal state, etc. is arranged in the input time no. Direct signal state change list 444A, timing data signal name data 444D in which the signal number of the timing data corresponds to the signal name and a direct signal ID is added, timing data created by reading the timing data signal name data into memory. Signal name table 444E, direct signal I
Direct signal name data 444F, which associates D with direct signal names, and direct signal name table 444G, which is created by reading the direct signal name data into memory, are used.

次に、ダイレクト信号エンジンの作用を第42図に示す
データ関連図を参照して説明する。
Next, the operation of the direct signal engine will be explained with reference to the data related diagram shown in FIG.

なお、タイミングデータは、タイミングデータ変換部3
60において、ダイレクト信号データに変換された後、
コンフィグレーション照合部350においてそれぞれの
データに名称をつけてタイミングデータ信号名データ4
44D、ダイレクト信号ネームデータ444Fが作成さ
れる。
Note that the timing data is processed by the timing data converter 3.
At 60, after being converted to direct signal data,
The configuration matching unit 350 gives each data a name and converts it into timing data signal name data 4.
44D, direct signal name data 444F is created.

ダイレクト信号エンジン初期化部423は、テーブルを
初期化した後、前記信号名データを読み込む。
The direct signal engine initialization unit 423 initializes the table and then reads the signal name data.

タイミングデータ信号名テーブル444Eは、第43図
に示すように、タイミングデータの信号番号と信号名を
関連させ、各タイミングデータ信号名に対応させたダイ
レクト信号IDを付したものである。
The timing data signal name table 444E, as shown in FIG. 43, associates the signal number of the timing data with the signal name, and attaches a direct signal ID corresponding to each timing data signal name.

ダイレクト信号ネームテーブル444Gは、第44図に
示すように、ダイレクト信号IDとダイレクト信号ネー
ムを対応させたものである。
The direct signal name table 444G, as shown in FIG. 44, associates direct signal IDs with direct signal names.

ダイレクト信号エンジン444は、タイミングデータ信
号名テーブル444Eを参照してダイレクト信号データ
のタイミングデータ信号名からダイレクト信号IDを読
み出し、またダイレクト信号ネームテーブル444Gを
参照して前記ダイレクト信号IDに対応したダイレクト
信号ネームを読み出す。状態の変化したダイレクト信号
は、その端子をもつLSIに知らせる必要があり、その
ためにダイレクト信号状変りスト444Aを作成すると
共に、ダイレクト信号データをダイレクト信号ネームと
一緒にダイレクトステートバッファ444Bに格納する
。LSI回路エンジンのシミュレーション結果をダイレ
クト信号エンジン宛ダイレクト信号状変りスト447A
を参照して前述のユーザサービスのためのダイレクト信
号の状態変化に関する情報処理を行う。
The direct signal engine 444 refers to the timing data signal name table 444E to read the direct signal ID from the timing data signal name of the direct signal data, and also refers to the direct signal name table 444G to read the direct signal ID corresponding to the direct signal ID. Read the name. It is necessary to notify the LSI having the terminal of the direct signal whose state has changed, and for this purpose, a direct signal state change list 444A is created and the direct signal data is stored in the direct state buffer 444B together with the direct signal name. Direct signal status change list 447A sends simulation results of LSI circuit engine to direct signal engine.
Information processing regarding the state change of the direct signal for the above-mentioned user service is performed with reference to .

すなわち、上記状変リストを参照して出力ダイレグl−
信号IDに対応した信号ネームをダイレクト信号ネーム
テーブル444Gから読み出し、このダイレクト信号ネ
ームに基すいて画面上のマーク処理や表示処理が行われ
る。LSI回路エンジンでは、ダイレクト信号入カバン
ドラ4471を起動してダイレフ1、信号コンフィグテ
ーブル444cとダイレクト信号状変りスト444Aを
参照してどのLSIのどの端子に出力変化があったかを
知り、この端子の状態変fヒを記憶するLSI端子ステ
ートバッファ447Bを書き換える。その後、ダイレク
ト信号出力ドライバ4476を起動してLSIにおいて
状態の変化のあったダイレクト信号(出力ダイレクト信
号)をダイレクト信号エンジンに知らせるためのダイレ
クト信号エンジン宛ダイレクト信号状変りスト447A
を作成すると共に、ダイレクト信号ステートバッファ4
44Bに格納する。
In other words, refer to the above state change list and set the output direction l-
A signal name corresponding to the signal ID is read from the direct signal name table 444G, and mark processing and display processing on the screen are performed based on this direct signal name. The LSI circuit engine starts the direct signal input bundler 4471, refers to the die reflex 1, the signal configuration table 444c, and the direct signal state change list 444A to find out which terminal of which LSI has experienced an output change, and changes the state of this terminal. The LSI terminal state buffer 447B that stores fhi is rewritten. After that, a direct signal state change block 447A addressed to the direct signal engine is used to start the direct signal output driver 4476 and notify the direct signal engine of the direct signal (output direct signal) whose state has changed in the LSI.
and create the direct signal state buffer 4
44B.

(III−11>通信データエンジン 通信データエンジンは、外部モジュールとターゲットシ
ステム内のLSI回路内の通信LSIとMPUの通信ポ
ートとの間にやりとりされた通信データをバイト単位の
データ列としてシミュレーションする。この通信データ
エンジンは、シミュレーション実行時における通信モー
ドデータや通信規約データなどの通信データの送信機能
と受信機能を備えている。すなわち、送信機能としては
、最も近い未来の送信時間を、動作タイミンクリクエス
トリスト に知らせたり、送信データを受信データリストに登録し
、送信先エンジンへの送信を実行する。また受信機能と
しては、、他エンジンからのデータを受信したり、受信
データにより、送信開始条件の判定を行う。
(III-11>Communication Data Engine The communication data engine simulates communication data exchanged between the external module and the communication LSI in the LSI circuit in the target system and the communication port of the MPU as a data string in bytes. This communication data engine has functions for transmitting and receiving communication data such as communication mode data and communication protocol data during simulation execution.In other words, the transmission function uses the nearest future transmission time as an operation timing request. It notifies the list, registers the sent data in the received data list, and executes the transmission to the destination engine.In addition, as a receiving function, it can receive data from other engines, and use the received data to set transmission start conditions. Make a judgment.

第45図は、通信データエンジンの構成を示すブロック
図である。
FIG. 45 is a block diagram showing the configuration of the communication data engine.

通信データエンジン445は、本エンジンがIIi用す
るデータの初期化を行う通信データエンジン初期化部4
24と、送信処理を行う通信データエンジン送信部44
51 (以下データ送信部と称す)と、受信処理を行な
う通信データエンジン受信部4452 (以下データ受
信部と称す)と、データ送・受信部を管理する通信デー
タ管理部4450とから構成されている。
The communication data engine 445 is a communication data engine initialization unit 4 that initializes data used by this engine for IIi.
24, and a communication data engine transmission unit 44 that performs transmission processing.
51 (hereinafter referred to as a data transmitting unit), a communication data engine receiving unit 4452 (hereinafter referred to as a data receiving unit) that performs reception processing, and a communication data management unit 4450 that manages the data transmitting/receiving unit. .

通信データエンジン管理部4450は、エンジンコント
ローラが動作タイミングリクエストリストを参照して、
送信または受信時間になったことを条件に呼び出される
。送信時間の場合はデータ送信部4451が起動され、
送信先エンジンに対して受信データに関する処理を実行
する。また受信時間の場きはデータ受信部4452が起
動され、送信開始条件を判定した後、該判定条件により
送信データを読み込み、ユーザの要求に応じた画面上に
表示するための処理を実行する。
The communication data engine management unit 4450 allows the engine controller to refer to the operation timing request list and
Called when it is time to send or receive. In the case of transmission time, the data transmission section 4451 is activated,
Executes processing related to received data on the destination engine. When it is reception time, the data receiving unit 4452 is activated, and after determining the transmission start condition, reads the transmission data according to the determination condition and executes processing for displaying it on the screen according to the user's request.

データ送信部4451は、第47図に示すように、送信
部コントローラ4453 、プロトコルデータ送信部4
454,モードデータ送信部4455 、マニュアルデ
ータ送信部4456の4つのモジュールブロックにより
構成されている。それぞれのデータ送信部が、現在より
最も近い未来に送信する予定のデータを用意し、送信部
コントローラ4453がそれらのデータを参照して、他
エンジンへ通信データを送る。
As shown in FIG. 47, the data transmitter 4451 includes a transmitter controller 4453 and a protocol data transmitter 4.
454, mode data transmitter 4455, and manual data transmitter 4456. Each data transmitter prepares data scheduled to be transmitted in the near future than the present, and the transmitter controller 4453 refers to these data and transmits communication data to other engines.

各送信部間の優先順位は、優先順位の高い方からマニュ
アルデータ送信部〉モードデータ送信部〉プロトコルデ
ータ送信部とし、この順位に従って送信部のデータが、
優先1:+n 61の低いデータに上書きされる。
The priority order among each transmitting section is as follows: manual data transmitting section > mode data transmitting section > protocol data transmitting section from the highest priority, and according to this order, the data of the transmitting section is
Priority 1: Overwritten by data with a lower value of +n 61.

次に、通信データエンジンの作用を第46図に示すデー
タ関連図、および第47図に示す動作シーケンスを参照
して説明する。
Next, the operation of the communication data engine will be explained with reference to the data related diagram shown in FIG. 46 and the operation sequence shown in FIG. 47.

通信データのシミュレーションに先立って、通信データ
エンジンの初期化が行われる。すなわち、エンジン初期
化部424の起動により通信モードデータテーブル44
5Jと通信規約テーブル445K (以下,両テーブル
を総称して通信データテーブルという)、および送・受
信バッファコンフィグテーブル445H 、445 1
の初期化が行われる。その?糸、通信モードデータテー
ブル445Jには、通信モードデータと、311信規約
データテーブル445Kには。
Prior to simulation of communication data, the communication data engine is initialized. That is, by starting the engine initialization unit 424, the communication mode data table 44
5J, communication protocol table 445K (hereinafter, both tables are collectively referred to as communication data table), and sending/receiving buffer configuration tables 445H and 4451.
is initialized. the? The communication mode data table 445J includes communication mode data, and the 311 communication protocol data table 445K includes communication mode data.

通信規約データがそれぞれ読み込まれる。また送・受信
バッファコンフィグテーブル445Hには、通信LS[
コンフィグテーブルのロケーションとユニットIDがセ
ットされる。
Each communication agreement data is read. In addition, the transmission/reception buffer configuration table 445H includes communication LS [
The configuration table location and unit ID are set.

エンジンコントローラにより通信データエンジンが呼び
出され、通信データエンジン管理部が起動されると、デ
ータ送信部およびデータ受信部が動作して通信LSIお
よびMPUの通信ポートとの間で通信データのやり収り
が行われる。
When the communication data engine is called by the engine controller and the communication data engine management section is activated, the data transmission section and the data reception section operate to exchange communication data between the communication LSI and the communication port of the MPU. It will be done.

動作タイミングリクエストリストおよび起動リクエスト
制御テーブルを参照して、エンジンコントローラが通信
データエンジンを起動すると、通信データエンジン管理
部4450はデータ送信部4451およびデータ受信部
4452の動作を開始させる。
When the engine controller starts the communication data engine with reference to the operation timing request list and the start request control table, the communication data engine management section 4450 starts the operations of the data transmission section 4451 and the data reception section 4452.

先ず、エンジンコントローラから通信データエンジン管
理部に送信処理がかかると、該エンジン管理部4450
はデータ送信部4451に対して送信の指示を行う。デ
ータ送信部4451では、受信バッファ通信情報ファイ
ル445Gから受信ステータスを見て通信先のデバイス
が送信可能状態にあるのかを確めた後、受信バッファコ
ンフィグテーブル445Iを参照して通信データをどの
ユニットにある通信LSIの受信バッファのどの位置に
記憶するかを特定し、受信バッファIDと受信データを
対としたデータからなるLSI宛受信データリスト44
5Cを作成する。
First, when the engine controller sends communication data to the engine management section, the engine management section 4450
instructs the data transmitter 4451 to transmit. The data transmitter 4451 checks the reception status from the reception buffer communication information file 445G to confirm whether the communication destination device is in a transmittable state, and then refers to the reception buffer configuration table 445I to send the communication data to which unit. A list of LSI-destined received data 44 that specifies the location in the receive buffer of a certain communication LSI to be stored and is made up of pairs of receive buffer IDs and received data.
Create 5C.

すなわち、LSIエンジンから見た場合1通信データは
通信LSIコンフィグテーブルにある受信バッファに受
信データが書き込まれることを意味する。
That is, from the perspective of the LSI engine, one piece of communication data means that the received data is written to the receive buffer in the communication LSI configuration table.

詳しくは、起動要求がLSI宛受信データまたはMPU
宛受信データなどの送信先エンジンに対してデータを送
る場合にデータ送信部が起動される。データ送信部は、
起動リクエスト制御テーブルにある要求データ、例えば
LSI宛受信データの格納されている受信バッファにデ
ータを書き込む。すなわち、データ送信部は、受信コン
フィグテーブルから要求データが格納されている受信バ
ッファがどのユニットに属し、どのアドレスに入ってい
るかを特定すると共に、送信先エンジンの受信バッファ
が受信可能であるか百かを受信バッファ通信情報ファイ
ルで判定する。その結果、受信可能であれば、送信部コ
ントローラが動作して受信データを通信規約、モード及
びマニュアルに応じてそれぞれの送信部を動作させ、各
テーブルから読み出された送信時間情報を含む送信デー
タを送出する。送信部コントローラは、受信バッファコ
ンフィグテーブルから送信先エンジンの受信バッファを
特定し、上記送信データに基づいて送信先エンジン、例
えばLSI、MPUに受信データとして当該データとそ
れを格納する受信バッファIDとを登録した送信先エン
ジン宛受信データリストを作成する。
In detail, if the activation request is received data addressed to LSI or MPU
The data transmitter is activated when transmitting data, such as destination received data, to the destination engine. The data transmission section is
Data is written to the reception buffer in which request data in the activation request control table, for example, reception data addressed to the LSI, is stored. That is, the data transmitter identifies from the receive configuration table to which unit the receive buffer storing the requested data belongs and to what address, and also determines whether the receive buffer of the destination engine is capable of receiving data. Determine whether this is the case using the receive buffer communication information file. As a result, if the data can be received, the transmitting unit controller operates to transmit the received data to each transmitting unit according to the communication protocol, mode, and manual, and sends the transmitted data including the transmitting time information read from each table. Send out. The transmitter controller identifies the receive buffer of the destination engine from the receive buffer configuration table, and based on the above-mentioned transmit data, sends the data and the receive buffer ID in which it is stored to the destination engine, such as an LSI or MPU, as receive data. Create a list of received data addressed to the registered destination engine.

また起動要求がMPUまたはLSIからの送信データを
受信する場合には、データ受信部4452が起動される
。データ受信部4452は、起動リクエスト制御テーブ
ルにある要求データのロケーションから送信バッファコ
ン・フィグテーブル445Hで、とのユニットにある送
信バッファであるかを特定すると共に、送信バッファ通
信情報ファイル445Fを参照して送信可能状態である
か否かを硲がぬる。その結果、送信可能であれば、送信
データリスト445A 、445BにあるMPUまたは
LSIから送られた送信データを取り込んで、画面上の
表示処理を実行する。
Further, when the activation request is to receive transmission data from the MPU or LSI, the data receiving unit 4452 is activated. The data receiving unit 4452 uses the transmission buffer configuration table 445H to identify whether the transmission buffer is in the unit based on the location of the request data in the activation request control table, and also refers to the transmission buffer communication information file 445F. Check to see if it is ready to send. As a result, if transmission is possible, the transmission data sent from the MPU or LSI in the transmission data lists 445A and 445B is taken in and displayed on the screen.

(III−11) MPU命令エンジンMPU命令エン
シラは、エンジンコントローラより呼び出され、現在の
IC(インストラクション・カウンタ)の指す命令(イ
ンストラクション)の解析、実行を行う、ただし、本エ
ンジンは、内部処理として、現ステップ(現在のICの
指す)の命令を実行した後、次のステップの命令実行準
備(命令解析)を行う、このような処理を行うことによ
って、エンジンコントローラへ、最も近い未来の動作時
間を通知することができる。以下、MPUに関する命令
エンジンおよびポートエンジンについては、使用するM
PUの種類によってモジュール構成が異なるので、ここ
では7810/7811を対象として説明する。なお、
781077811の規格仕様については日本電気株式
会社発行r ノlCOM−87AD、ユーザーズ・マニ
ュアル」(二d羊細に述べられている。
(III-11) MPU instruction engine The MPU instruction engine is called by the engine controller and analyzes and executes the instruction pointed to by the current IC (instruction counter).However, as an internal process, this engine After executing the instruction of the current step (pointed to by the current IC), preparation for executing the instruction of the next step (instruction analysis) is performed.By performing this process, the engine controller is informed of the operating time in the nearest future. Can be notified. Below, regarding the instruction engine and port engine related to MPU,
Since the module configuration differs depending on the type of PU, the 7810/7811 will be explained here. In addition,
The standard specifications for the 781077811 are described in the ``COM-87AD User's Manual'' published by NEC Corporation.

第48図は、MPU命令エンジンの構成を示すブロック
図、第49図はデータ関連図ある。
FIG. 48 is a block diagram showing the configuration of the MPU instruction engine, and FIG. 49 is a data related diagram.

MPU命令エンジン443は、本エンジンが使用するテ
ーブルの初期化を行うMPU命令エンジン初期化部42
2とMPUのインストラクションの実行をシミュレート
するMPU命令エンジン部とから構成されている。
The MPU instruction engine 443 is an MPU instruction engine initialization unit 42 that initializes tables used by this engine.
2 and an MPU instruction engine section that simulates the execution of MPU instructions.

MPU命令エンジン443では、インターフェイスデー
タとして割込イベントリスト446B、動作タイミング
リクエストリスト伺IA、内部データとしてMPU命令
テーブル443A、MPU命令実行テーブル443Bお
よびMPU命令アドレステーブル443Cが用いられる
The MPU instruction engine 443 uses an interrupt event list 446B, an operation timing request list IA as interface data, and an MPU instruction table 443A, an MPU instruction execution table 443B, and an MPU instruction address table 443C as internal data.

MPU命令テーブル443Aは、MPUの種別により予
め作成しておくもので。第50図に示すように、命令番
号ごとに命令コード、オペランド命令バイト長、命令時
間や二一モニツクなどの情報を持っており、M P L
l Ifrr令エンジエンジンを解析するとき、またデ
バッガがアセンブル、逆アセンブルするときに参照する
。なお、命令番号とはMPUの命令コードごとにシーケ
ンシャルに番号付けしたものである。
The MPU instruction table 443A is created in advance depending on the type of MPU. As shown in FIG. 50, each instruction number has information such as the instruction code, operand instruction byte length, instruction time, and 21 monic.
l Ifrr instruction Referenced when the engine is analyzed and when the debugger assembles and disassembles. Note that the instruction number is a number sequentially assigned to each instruction code of the MPU.

MPU命令実行テーブル443Bは、第51図に示すよ
うに、MPU命令エンジンが命令解析を行ったときに設
定されるテーブルで、命令コードから解析した結果とし
て、オペランド情報(メモリアドレスやレジスタ番号な
ど)や命令バイト数、命令時間などがセットされる。命
令実行の際は、本テーブルを参照して命令の実行が行わ
れる。ここで命令番号(NO>は、命令実行サブルーチ
ンへの分岐の際、命令アドレステーブルのインデックス
として利用される。
As shown in FIG. 51, the MPU instruction execution table 443B is a table that is set when the MPU instruction engine analyzes an instruction, and contains operand information (memory address, register number, etc.) as a result of analysis from the instruction code. , number of instruction bytes, instruction time, etc. are set. When executing an instruction, this table is referred to and the instruction is executed. Here, the instruction number (NO>) is used as an index of the instruction address table when branching to the instruction execution subroutine.

MPU命令アドレステーブル443Cは、第52図に示
すように、200種以上の命令のそれぞれに対応した命
令実行サブルーチンのアドレスを予め登録し、命令実行
の際に命令実行サブルーチンへ分岐するときに参照する
。なお、7810/7811の場合は、n=212であ
る。
As shown in FIG. 52, the MPU instruction address table 443C registers in advance the addresses of instruction execution subroutines corresponding to each of over 200 types of instructions, and is referenced when branching to the instruction execution subroutine during instruction execution. . Note that in the case of 7810/7811, n=212.

次に、MPU命令エンジンの作用を説明する。Next, the operation of the MPU instruction engine will be explained.

MPU命令エンジンが起動されると、割込イベントリス
トにある割込イベント処理を実行する。
When the MPU instruction engine is activated, it executes interrupt event processing in the interrupt event list.

各割込イベントにはそれを処理するための命令実行サブ
ルーチンが用意されており、MPU命令アドレステーブ
ルに格納されている。従ってMPU命令エンジンは、割
込イベントIDに対応した命令実行サブルーチンを読み
出し、このサブルーチンにある命令をMPU命令テーブ
ルを参照して解析し、その結果としてMPU命令実行テ
ーブルにオペランド情報や命令バイト数、命令時間など
がセットされる。そして、MPU命令実行テーブルを参
照してインストラクションカウンタが指す命令が実行さ
れる。その後、次の命令解析を行い、次の命令実行時間
、すなわち最も近い未来のMPU命令エンジンの動作時
間を動作リクエストリス・トに書き込む。
An instruction execution subroutine for processing each interrupt event is prepared and stored in the MPU instruction address table. Therefore, the MPU instruction engine reads the instruction execution subroutine corresponding to the interrupt event ID, and analyzes the instructions in this subroutine by referring to the MPU instruction table. As a result, the MPU instruction execution table contains operand information, the number of instruction bytes, Instruction time etc. are set. Then, referring to the MPU instruction execution table, the instruction pointed to by the instruction counter is executed. Thereafter, the next instruction is analyzed and the next instruction execution time, that is, the nearest future MPU instruction engine operation time is written into the operation request list.

ところで、デバッガとMPU命令エンジンの関係におい
て、デバッガはブレイクポイントやトレースおよびメモ
リダンプなどの機能をユーザに提供するが、ターゲット
MPUのメモリやレジスタなどとは、かなり密接な関係
を持っている。つ丈り、ユーザへ各種サービスを行うな
めには、MPUのレジスタやメモリなどの状態を知る必
要ある。
By the way, in the relationship between the debugger and the MPU instruction engine, the debugger provides functions such as breakpoints, traces, and memory dumps to the user, but it has a fairly close relationship with the memory, registers, etc. of the target MPU. In order to provide various services to users, it is necessary to know the status of the MPU's registers and memory.

一方、実際のMPUの実行を行うのは、MPU命令エン
ジンであるから、MPU命令エンジンは、当然のことな
からレジスタやメモリへのアクセスを行うことになる。
On the other hand, since it is the MPU instruction engine that actually executes the MPU, the MPU instruction engine naturally accesses registers and memory.

このように、MPUのレジスタやメモリは、デバッガと
MPU命令エンジンからアクセスされることになり、1
命令を実行するのに、同一のレジスタやメモリを2回参
照するというような不都合が生じる可能性がある。
In this way, the registers and memory of the MPU are accessed by the debugger and the MPU instruction engine.
Inconveniences such as referencing the same register or memory twice when executing an instruction may occur.

そこで、ソフトウェアの構造の上から、メモリやレジス
タの管理をデバッガが行い、MPU命令エンジンは、デ
バッガが提f共するアクセス・サービス部を利用するこ
とにより、メモリやレジスタへのアクセスを行うように
構成されている。
Therefore, the debugger manages memory and registers based on the software structure, and the MPU instruction engine accesses the memory and registers by using the access service section provided by the debugger. It is configured.

すなわち、MPU命令エンジンは、ブレイクポイントや
トレースなどの機能とは、まったく無関係に動作を行い
、デバッガは、アクセス・サービス部の中で、ブレイク
ポイントやトレースの機能を実現するように構成されて
いる。
In other words, the MPU instruction engine operates completely independently of functions such as breakpoints and traces, and the debugger is configured to implement breakpoints and trace functions within the access service section. .

<1−12>MPUポートエンジン MPUポートエンジンは、MPUのポート機能。<1-12>MPU port engine MPU port engine is a port function of MPU.

タイマ機能やその池タイマ/イベント・カウンタ機能、
シリアルインタフェース機能およびアナログ/デジタル
・コンバータ機能のシミュレーションを実行する。なお
、アナログ/デジタル・コンバータ機能のシミュレーシ
ョンについては、A/D変換した値を保持する複数のC
Rレジスタの内容が等しい場合に、内部割り込みを発生
させることで実行する。
Timer function, timer/event counter function,
Perform simulations of serial interface functions and analog-to-digital converter functions. In addition, regarding the simulation of the analog/digital converter function, multiple C
This is executed by generating an internal interrupt when the contents of the R registers are equal.

但し、CRレジスタまたはA/Dチャンネルモードレジ
スタに書き込み動作時に行われる。
However, this is performed when writing to the CR register or A/D channel mode register.

第53図は、MPUポートエンジンの構成を示すブロッ
ク図である。
FIG. 53 is a block diagram showing the configuration of the MPU port engine.

MPUポートエンジン初期化ブロック425は、当該エ
ンジン全体で使用する端子テーブル、クロックテーブル
などのデータの初期化を行う。本ブロック425は、第
54図に示すように、MPUポートエンジン全体で使用
するデータ、例えば端子テーブル、ベースクロックテー
ブルなどの初期化を行うMPUポート初期化部4251
、タイマ機能ブロックでのみ使用するデータ、例えばタ
イマテーブルなどを初期化するタイマ初期化部4252
 、タイマ/イベント・カウンタ機能ブロックでのみ使
用するデータ、例えばタイマ/イベント・カウントテー
ブルなどを初期化するタイマ/イベント・カウンタ初期
化部4253 、シリアルインタフェースR能フロック
でのみ使用するデータ、例えばシリアルインタフェース
テーブルなどを初期化するシリアルインタフェース初期
化部4254とから構成されている。
The MPU port engine initialization block 425 initializes data such as a terminal table and a clock table used by the entire engine. As shown in FIG. 54, this block 425 includes an MPU port initialization unit 4251 that initializes data used by the entire MPU port engine, such as a terminal table and a base clock table.
, a timer initialization unit 4252 that initializes data used only in the timer function block, such as a timer table.
, a timer/event counter initialization section 4253 that initializes data used only in the timer/event counter functional block, such as a timer/event count table, etc., data used only in the serial interface function block, such as the serial interface It consists of a serial interface initialization section 4254 that initializes tables and the like.

MPUポートエンジンコントローラ4460は、エンジ
ンコントローラにより起動され、MPUポートの内部時
間の算出、タイマ、タイマ/イベント・カウンタ、受信
の各動作を管理している。
The MPU port engine controller 4460 is activated by the engine controller and manages internal time calculation, timer, timer/event counter, and reception operations of the MPU port.

リセット入カバンドラ4461は、M P U端子への
リセット信号の入力を監視し、リセット信号の入力があ
った場合の処理を行う。
The reset input bundler 4461 monitors input of a reset signal to the MPU terminal, and performs processing when a reset signal is input.

MPUポートエンジンクロックカウント処理部4422
は、当該エンジンで使用する周波数(3分周12分周な
ど)のクロックカウントの算出および設定を行う。
MPU port engine clock count processing section 4422
calculates and sets the clock count of the frequency (divided by 3, divided by 12, etc.) used by the engine.

MPU端子入カバンドラ4462は、MPU端子に入力
されるリセット信号を除く信号を監視し、入力があれば
MPU端子入力処理を行う。
The MPU terminal input bundler 4462 monitors signals other than the reset signal that are input to the MPU terminal, and performs MPU terminal input processing if there is any input.

タイマ動作処理部4463は、タイマ動作を実行する。The timer operation processing unit 4463 executes timer operation.

タイマ/イベント・カウンタ動作処理部4464は、タ
イマ/イベント・カウンタ動作を実行する。
The timer/event counter operation processing unit 4464 executes timer/event counter operation.

シリアル・インタフェース受信動イv処理部4465は
、シリアル・インタフェースの受信動作を実行する。
The serial interface reception operation processing unit 4465 executes the serial interface reception operation.

MPUポートエンジン端子コントローラ449oは、M
PUの端子のレベルおよびレベル状変などの制御を実行
する。MPUポートI10命令端子処理部4491は、
MPUポートへのI10命令による端子の状態を、ター
ゲットプログラムのポートのり−ド/ライト命令または
ウィンドウからのポートのり−ド/ライト時に設定の処
理を行う。
The MPU port engine terminal controller 449o is the MPU port engine terminal controller 449o.
Controls the level of the PU terminal and changes in the level state. The MPU port I10 instruction terminal processing unit 4491 is
The state of the terminal by the I10 instruction to the MPU port is set at the time of the port read/write instruction of the target program or the port read/write from the window.

MPU端子入力処理部4492は、MPU端子への入力
信号による端子の状態を、LSI回路エンジンなどの外
部モジュールからの信号久方時に設定の処理を行う。
The MPU terminal input processing unit 4492 performs processing to set the state of a terminal based on an input signal to the MPU terminal when a signal from an external module such as an LSI circuit engine is present.

MPU端子出力処理部4493は、MPU端子への出力
信号による端子の状態を、ターゲットからのTO信号ま
たは、タイマ/イベント・カウンタからのcoo、c○
1信号の出力時に設定の処理を行う。
The MPU terminal output processing unit 4493 converts the terminal state based on the output signal to the MPU terminal into the TO signal from the target or coo, c○ from the timer/event counter.
Performs setting processing when outputting one signal.

次に、M P Uポートエンジンの動作環境の設定を行
うMPUポートエンジン動作設定処理ブロックについて
説明する。
Next, the MPU port engine operation setting processing block for setting the operating environment of the MPU port engine will be described.

MPUポートエンジン動作設定処理ブロック460は第
55図に示すように、タイマ動作設定部4600 。
As shown in FIG. 55, the MPU port engine operation setting processing block 460 includes a timer operation setting section 4600.

タイマ/イベンI・カウンタ動作設定部4601 、お
よびシリアルインタフェース動作設定部4602から構
成されている。
It consists of a timer/event I/counter operation setting section 4601 and a serial interface operation setting section 4602.

タイマ動作設定部4600は、タイマ動作環境の設定を
行う。
The timer operation setting section 4600 sets the timer operation environment.

タイマ/イベント・カウンタ動作設定部4601は、タ
イマ/イベント・カウンタ動作環境の設定を行う。
The timer/event counter operation setting unit 4601 sets the timer/event counter operation environment.

シリアルインタフェース動作設定部4602は、シリア
ルインタフェース動作環境の設定を行う。
The serial interface operation setting unit 4602 sets the serial interface operation environment.

シリアルインタフェース送信処理部4466は、シリア
ル・インタフェースの送信動作を実行する。
The serial interface transmission processing unit 4466 executes a serial interface transmission operation.

アナログ・デジタルコンバータ動fiE処理部4467
は、アナログ・デジタルコンバータ動作を実行する。
Analog/digital converter dynamic FIE processing section 4467
performs an analog-to-digital converter operation.

MPUポートエンジンI10処理ブロック470は、M
PUポートへのI10命令で、ポート動作を実行するも
ので、第56図に示すように、各ボー)・の入力/出力
ポート情報およびモード情報、例えばポートモード、コ
ントロールモード、拡張モードの設定を行うポート設定
部4700.各ポートのラッチ情報の設定を行うポート
ライト部4701、各ポートの状態を読み出すポートリ
ード部4702とから構成されている。
The MPU port engine I10 processing block 470
The I10 command to the PU port executes the port operation, and as shown in Figure 56, input/output port information and mode information for each baud, such as port mode, control mode, and expansion mode settings. Port setting section 4700. It consists of a port write section 4701 that sets latch information for each port, and a port read section 4702 that reads the status of each port.

次に、MPUポートエンジンの機能について説明する0
MPUポートエンジンは、各機能(タイマ タイマ/イ
ベント・カウンタ等)毎に、設定部と動作部に分けられ
、通常は動作部のみで動作する。
Next, we will explain the functions of the MPU port engine.
The MPU port engine is divided into a setting section and an operation section for each function (timer, event counter, etc.), and normally only the operation section operates.

MPUポートエンジンコントローラ4460は、動作部
をコントロールするもので、下記の手順で行つ。
The MPU port engine controller 4460 controls the operating section, and performs the following steps.

■MPUポートエンジンへのりセット入力状態をチエツ
クしりセット状態であればリセット処理を行い、またリ
セット解除まで他の処理を行わない。
- Check the input status of the set input to the MPU port engine, and if it is set, perform the reset process, and do not perform other processes until the reset is released.

■MPUポートエンジンで使用する周波数(3分周、1
2分周など)のカウント処理を行う。
■Frequency used by MPU port engine (divided by 3, 1
Performs counting processing (such as dividing the frequency by 2).

■MPU端子への入力をチエツクし、入力があればMP
U端子入力処理を行う。
■Check the input to the MPU terminal, and if there is an input, the MP
Performs U terminal input processing.

■タイマ動作を行う6 ■タイマ/イベント カウンタ動作を行う。■ Perform timer operation 6 ■Timer/Event Performs counter operation.

■シリアル・インタフェース受信動作を行う。■Perform serial interface reception operation.

なお、MPUポートエンジンを各種機能に対応させると
、モジュール構成は次に示す機能別のブロックに分割さ
れる。
Note that when the MPU port engine is made to correspond to various functions, the module configuration is divided into functional blocks as shown below.

MPUポートエンジンコンl−ローラブロックは。MPU port engine controller l-roller block.

MPUポートエンジンコントローラ4460 、リセッ
ト入カバンドラ4461、MPLIポートエンジンクロ
ックカウント処理部4422、MPU端子入カバンドラ
4462、M P Uポートエンジン初期化ブロック4
25とから構成される。
MPU port engine controller 4460, reset input bundler 4461, MPLI port engine clock count processing section 4422, MPU terminal input bundler 4462, MPU port engine initialization block 4
It consists of 25.

ポート機能ブロックは、MPUポートエンジンI10処
理ブロックのポート設定部4700、ポートライト部4
701、ポートリード部4702とから構成される。
The port function block includes a port setting section 4700 and a port light section 4 of the MPU port engine I10 processing block.
701 and a port lead section 4702.

タイマ機能ブロックは、タイマ動作処理部4463、M
PUポートエンジン動作設定処理ブロックのタイマ動作
設定部4600、MPUポートエンジン初期化ブロック
のタイマ初期化部4252から構成される。
The timer function block includes a timer operation processing section 4463, M
It consists of a timer operation setting section 4600 of the PU port engine operation setting processing block and a timer initialization section 4252 of the MPU port engine initialization block.

タイマ/イベント・カウンタ機能ブロックは、タイマ、
/イベント・カウンタ動作処理部4484、MPUポー
トエンジン動作設定処理ブロックのタイマ/イベント・
カウンタ動作設定部4601、MPUポートエンジン初
期化ブロックのタイマ/イベント・カウンタ初期化部4
253から構成される。
The timer/event counter functional block consists of timer,
/Event counter operation processing unit 4484, timer/event counter operation processing block of MPU port engine operation setting processing block
Counter operation setting section 4601, timer/event counter initialization section 4 of MPU port engine initialization block
It consists of 253.

アナログ/デジタル・コンバータ機能ブロックは、アナ
ログ・デジタル・コンバータ動作処理部4467からf
IIt成される6 シリアル・インタフェース機能ブロックは、シリアル/
インタフェース受信動作処理部4465、MPUポート
エンジン動作設定処理ブロックのシリアル・インタフェ
ース動作設定部4602、シリアル・インタフェース送
信処理部4466、MPUポートエンジン初期化ブロッ
クのシリアル・インタフェース初期化部4252から構
成される。
The analog/digital converter function block includes analog/digital converter operation processing units 4467 to f.
The serial interface function block consists of 6 serial interface functions.
It consists of an interface reception operation processing section 4465, a serial interface operation setting section 4602 of the MPU port engine operation setting processing block, a serial interface transmission processing section 4466, and a serial interface initialization section 4252 of the MPU port engine initialization block.

端子コントロールブロックは、MPL+ポートエンジン
端子コ端子コントラローラ4490下端子コントローラ
と称す)、MPUポート■10命令端子処理部4491
、MPU端子入力処理部4492、M r’ U端子出
力処理部4493から構成される。
The terminal control block is MPL + port engine terminal co-terminal controller roller 4490 (referred to as lower terminal controller), MPU port ■10 command terminal processing section 4491
, an MPU terminal input processing section 4492, and an MPU terminal output processing section 4493.

以下、上記各ブロックの作用を説明する。The operation of each of the above blocks will be explained below.

第57図、第58図は、MPUポートエンジンコントロ
ーラブロックに関するデータ関連図である。
FIG. 57 and FIG. 58 are data related diagrams regarding the MPU port engine controller block.

MPUポートエンジンコントローラブロックでは、第5
7図に示すMPUポートエンジン初期化管理部4250
が管理するMPUポート初期化部4251 。
In the MPU port engine controller block, the fifth
MPU port engine initialization management section 4250 shown in FIG.
MPU port initialization unit 4251 managed by.

タイマ初期化部4252 、タイマ/イベント・カウン
タ初期化部4253 、およびシリアルインタフェース
初期化部4254を起動して各種のテーブルの初期化を
行うと共に、第58図に示すMPUポートエンジンコン
トローラが管理するMPUポートエンジンクロックカウ
ント処理部4422、MPU端子入カバンドラ4462
、およびリセット入カバンドラ4461を起動してカウ
ント処理されたタロツク値3ベースクロックテーブルに
セットし、上記パンドラに呼び出される端子コントロー
ラ4490がMPU端子入力処理部4492を起動して
状態の変化のあったMPU端子を端子情報テーブル44
6Dに格納する。
The timer initialization unit 4252, timer/event counter initialization unit 4253, and serial interface initialization unit 4254 are activated to initialize various tables, and the MPU managed by the MPU port engine controller shown in FIG. Port engine clock count processing unit 4422, MPU terminal input cable bundler 4462
, and the reset input bundler 4461 is activated to set the counted tarok value in the 3-base clock table, and the terminal controller 4490 called by the Pandora activates the MPU terminal input processing section 4492 to update the MPU whose state has changed. Terminal information table 44
Store in 6D.

すなわち、MPLIポートエンジンコントローラにより
MPUポートエンジンクロックカウント処理部4422
 (以下クロックカウント処理部と称す)が起動される
と、クロックカウント処理部は、起動リクエスト制御テ
ーブル441Bを参照してMPU宛クワクロック端子状
変リスト442Fるカウント数の変化したMPUのリア
ルバリュークロック信号のコンフィグレーション情報を
、該MPUクロック信号IDで対応づけられたM P 
U内蔵クロックコンフィグテーブル442Eを参照して
MPUクロック端子を特定し、このMPUクロック端子
のカウント値を、MPU用クロックカウントステートバ
ッファ442Dから読み出してペースクロックテーブル
446Eにセットする。また、MPU端子入カバンドラ
4462は、起動リフニスI・制御テーブルを参照して
MPU宛MPLI端子状変リストがあることでMPtJ
ポートエンジン端子コントローラ449oを呼び出す、
端子コン)・ローラ4490は、MPU端子入力処理部
4492を起動して、端子のレベルやレベルの状態の変
化があったMPU端子の入力処理を管理する。すなわち
、MPU端子入力処理部は、M P UgiiiM P
 U端子状変リストを参照して状態の変化のあったMP
U端子のレベルをMPU端子ステートバッファから読み
出し、このレベルに基づいて端子情報テーブル446D
を書き換える。
That is, the MPU port engine clock count processing section 4422 is controlled by the MPLI port engine controller.
When the clock count processing section (hereinafter referred to as the clock count processing section) is activated, the clock count processing section refers to the activation request control table 441B and displays the real value clock of the MPU whose count number has changed by referring to the activation request control table 441B. The configuration information of the signal is stored in the MPU associated with the MPU clock signal ID.
The MPU clock terminal is specified by referring to the U built-in clock configuration table 442E, and the count value of this MPU clock terminal is read from the MPU clock count state buffer 442D and set in the pace clock table 446E. In addition, the MPU terminal input card bundler 4462 refers to the activation liffunis I/control table and detects that there is an MPLI terminal status change list addressed to the MPU.
Call port engine terminal controller 449o,
The terminal controller/roller 4490 activates the MPU terminal input processing section 4492 and manages the input processing of the MPU terminal in which the level of the terminal or the state of the level has changed. That is, the MPU terminal input processing section
MP whose state has changed by referring to the U terminal state change list
The level of the U terminal is read from the MPU terminal state buffer, and the terminal information table 446D is created based on this level.
Rewrite.

端子情報テーブル446Dは、第59図に示すように、
端子モード情報、■/○種別、出力ラッチ情報、端子レ
ベル、および端子レベル変化フラグに関する端子状態情
報が格納されている。前記各情報の内容は第5表によっ
て設定される。
The terminal information table 446D, as shown in FIG.
Terminal mode information, ■/○ type, output latch information, terminal level, and terminal state information regarding a terminal level change flag are stored. The contents of each piece of information are set according to Table 5.

(以下余白) 第5表 第60図は、ポート機能ブロックに関するデータ関連図
である。ポート機能ブロックでは、MPU命令エンジン
によりポート設定部470D、ポートライト部4701
 、およびポートリード部4702が呼び出され、入力
・出力ポート情報、モード情報。
(The following is a blank space) FIG. 60 of Table 5 is a data related diagram regarding the port function blocks. In the port function block, the port setting section 470D and the port writing section 4701 are controlled by the MPU instruction engine.
, and the port read unit 4702 are called to receive input/output port information and mode information.

ラッチ情報などが処理される。すなわち、ポート設定部
4700は、端子モードがポートモード、プログラムモ
ード、拡張モードのいずれであるかを特定し、そのモー
ドで入力ポートであるのが出力ポートであるかを端子情
報テーブル446Dに設定すると共に、端子コントロー
ラ4490を起動する。またポートライト部4701は
、出力をハイまたはローのいずれでラッチするかを端子
情報テーブルに設定すると共に、端子コントローラを起
動する。更に、ポートリード部4702は、端子情報テ
ーブルを9照しである端子のレベルの変化があったこと
を端子レベル変化フラグを見て知り、これに基づいて端
子コントローラを起動する。
Latch information etc. are processed. That is, the port setting unit 4700 specifies whether the terminal mode is port mode, program mode, or expansion mode, and sets in the terminal information table 446D whether the input port is the output port in that mode. At the same time, the terminal controller 4490 is activated. Further, the port light unit 4701 sets in the terminal information table whether the output is latched as high or low, and activates the terminal controller. Furthermore, the port read unit 4702 checks the terminal information table and learns from the terminal level change flag that there has been a change in the level of the terminal, and starts the terminal controller based on this.

端子コントローラ4490は、M P Uホh I /
’0命令端子処理部4491を起動してMPtJPt上
へのI10命令による端子の状態を設定する。
Terminal controller 4490 is M P U h I /
The '0 command terminal processing unit 4491 is activated to set the state of the terminal by the I10 command on MPtJPt.

MPUポートI、10命令端子処理部4491では、端
子情報テーブル446Dを参照して端子レベルに応じて
MPU端子ステートバッファ446Bを書き換えると同
時に、MPU端子の状態が変化したことをLSI回路エ
ンジンに知らせるためのLSI宛MPtJ端子状変りス
ト446Aが作成される。
The MPU port I/10 instruction terminal processing unit 4491 refers to the terminal information table 446D and rewrites the MPU terminal state buffer 446B according to the terminal level, and at the same time notifies the LSI circuit engine that the state of the MPU terminal has changed. An MPtJ terminal state change list 446A addressed to the LSI is created.

第61図は、タイマ機能ブロックに関するデータ関連図
である。タイマ機能ブロックでは、先ずMPUポートエ
ンジン初期1ヒ部によりタイマ初期化部が起動され、タ
イマテーブルT、Tの初期化が行われる。
FIG. 61 is a data related diagram regarding the timer function block. In the timer function block, first, the timer initialization section is activated by the MPU port engine initialization section, and timer tables T and T are initialized.

タイマ機能の内部テーブルには、タイマテーブルT、T
としてタイマ0テーブル、タイマ1テーブルおよびタイ
マF/Fテーブルが設けられている。
The internal tables of the timer function include timer tables T and T.
As such, a timer 0 table, a timer 1 table, and a timer F/F table are provided.

タイマ(0,1)テーブルには446E、第62図(a
)に示すように、各タイマの動作に必要な情報として、
タイマのカウント動作、入力クロック種別、カランj・
数、INTTの発生条件、タイマの参照時間が設定され
る。なお、タイマ0.タイマ1テーブルは、基本的に同
一構成になっているので、ここではタイマ0テーブルの
みを示す。
446E in the timer (0,1) table, Figure 62(a)
), the information necessary for the operation of each timer is as follows:
Timer count operation, input clock type, callan j.
The number, INTT generation conditions, and timer reference time are set. Note that timer 0. Since the timer 1 tables have basically the same configuration, only the timer 0 table is shown here.

ここで、タイマのカウント動作、入力クロック種別には
、次の第6表によって設定される。
Here, the count operation of the timer and the input clock type are set according to Table 6 below.

(以下余白) 第6表 但し、※1:内部クロックの12分周 ※2:内部クロックの384分周 ※3:タイマOテーブルの場合は「禁止」またタイマ1
テーブルのす)島台は「タイマOの一致」となる。
(Leaving space below) Table 6 However, *1: Internal clock divided by 12 *2: Internal clock divided by 384 *3: "Prohibited" for Timer O table and Timer 1
On the table, Shimadai becomes ``timer O match''.

またタイマF/Fテーブル446Fは、第62図(b)
に示すように、タイマF/Fの動作に必要な情報として
、タイマF/Fの入力クロック種別、レベル、レベル変
化ステータス、タイマF/Fからの発生間隔、外部への
発生間隔、及び参照時間が格納される。ここで、タイマ
F/F入カクロツク種別、レベルについては、次の第7
表によって設定される。
Also, the timer F/F table 446F is shown in FIG. 62(b).
As shown in the figure, the information necessary for the operation of the timer F/F includes the timer F/F input clock type, level, level change status, generation interval from the timer F/F, generation interval to the outside, and reference time. is stored. Here, regarding the timer F/F input clock type and level, please refer to the following 7th section.
Set by table.

第7表 但し、※4:内部クロックの3分周 第63図は、タイマ、/イベント・カウンタ機能ブロッ
クに関するデータ関連図である。
Table 7 However, *4: Internal clock frequency divided by 3 Figure 63 is a data related diagram regarding the timer/event counter functional block.

タイマ/イベント・カウンタ機能の内部テーブルには、
タイマ/イベント・カウンタテーブルC1Tとしてイベ
ント・カウンタ(入力制御、クリア制御)に関する情報
を格納するイベント・カウンタテーブル、Coo、CO
I信号信号出量する情報を格納するCoo、COI出力
テーブル、LVO,LVIのF/F (フィリップフロ
ップ)に関する情報を格納するLVO,LVIF/Fテ
ーブルが設けられている。
The internal table of the timer/event counter function contains
Event counter table Coo, CO that stores information regarding event counters (input control, clear control) as timer/event counter table C1T.
There are provided a Coo and COI output table that stores information on the amount of I signal output, and an LVO and LVIF/F table that stores information regarding F/Fs (Philip flops) of LVO and LVI.

イベント・カウンタテーブル446Gは、第64図(a
)に示すように、入力制御およびクリア制御を行うイベ
ントカウンタに関する情報として、ECNTのクリアモ
ード種別、入力クロック種別およびカウント数に関して
設定される。
The event counter table 446G is shown in FIG.
), information regarding the event counter that performs input control and clear control is set regarding the ECNT clear mode type, input clock type, and count number.

ここで、ECNTのクリアモード種別、入力タロツク種
別については、次の第8表によって設定される。
Here, the ECNT clear mode type and input tally type are set according to Table 8 below.

(以下余白) 第8表 COO,Cot出力テーブル446Hは、第64図(b
)に示すように、C00およびC○1信号出力に関する
情報として、出力タイミングフラグ出力レベル、CO比
出力発生間隔と参照時間に関して設定される。
(Margin below) Table 8 COO, Cot output table 446H is shown in Figure 64 (b
), information regarding the C00 and C○1 signal outputs is set regarding the output timing flag output level, CO ratio output generation interval, and reference time.

なお、CoOおよびC01出力テーブルは、基本的に同
一構成になっているので、ここではC○0出力テーブル
のみを示す。
Note that since the CoO and C01 output tables basically have the same configuration, only the C00 output table is shown here.

LVO,LVIF/Fテーブルは4461.第64図(
c)に示すように、LVOおよびLVIのF/F(フリ
ップフロップ)に関する情報として、レベル反転許可フ
ラグとF/Fレベルに関して設定される。なお、LVO
およびLVIF/Fテーブルは、基本的に同一構成にな
っているので、ここではLVOF/Fテーブルのみを示
す。
LVO, LVIF/F table is 4461. Figure 64 (
As shown in c), a level inversion permission flag and an F/F level are set as information regarding F/Fs (flip-flops) of LVO and LVI. In addition, LVO
Since the LVOF/F table and the LVOF/F table basically have the same configuration, only the LVOF/F table is shown here.

第65図は、シリアル・インタフェース機能ブロックに
関するデータ関連図である。
FIG. 65 is a data related diagram regarding the serial interface functional block.

シリアル・インタフェース機能ブロックでは、先ずMP
Uポート初期化部によりシリアル・インタフェース初期
化部が起動され、シリアル・インタフェース動作(送信
、受信)に必要な情報が格納されているシリアル・イン
タフェーステーブルの初期化が行われている。
In the serial interface function block, first the MP
The U-port initialization section activates the serial interface initialization section, and initializes the serial interface table in which information necessary for serial interface operations (transmission, reception) is stored.

シリアル・インタフェーステーブル1.Tは、第66図
に示すように、受信データ格納用バッファ。
Serial interface table 1. As shown in FIG. 66, T is a buffer for storing received data.

受信データポインタ、シリアル・インタフェースモード
種別、クロックレート種別、シリアルクロックモード種
別、8ビツトデ一タ転送速度、送信許可フラグ、受信許
可フラグ、参照(更新)カウント、および受信データ状
態フラグに関する情報が格納される。ここで、上記情報
の設定内容を第9表に示す。
Information regarding the receive data pointer, serial interface mode type, clock rate type, serial clock mode type, 8-bit data transfer rate, transmit permission flag, receive permission flag, reference (update) count, and receive data status flag is stored. Ru. Here, the setting contents of the above information are shown in Table 9.

第9表 (以下余白) シリアル・インタフェース動作について説明する。MP
U命令エンジンによりシリアル・インタフェース動作設
定部4602およびシリアル・インタフェース送信処理
部4466が起動されると、前記動作設定部は、460
2は、送信、受信動作に必要な情報をシリアル・インタ
フェーステーブル1、Tにセットする。
Table 9 (blank below) describes the serial interface operation. M.P.
When the serial interface operation setting section 4602 and the serial interface transmission processing section 4466 are started by the U instruction engine, the operation setting section 460
2 sets information necessary for transmitting and receiving operations in serial interface table 1, T.

またシリアル・インタフェース送信処理部4466は、
シリアル・インタフェーステーブル1.Tを参照して、
送信すべきデータをどのモード、たとえばシンクロナス
モードで送信するのか、またクロックレートを使用して
いるのか、使用している場合にどのレートであるのか、
更にクロックモードが何であるかを見ると共に、これら
の条件によって送信が可能であること、すなわち送信許
可フラグが立っていることを確かめてから送信処理が実
行される。
Further, the serial interface transmission processing section 4466
Serial interface table 1. With reference to T.
What mode is the data to be sent in, for example synchronous mode, and is the clock rate used, and if so, what rate?
Furthermore, the transmission process is executed after checking the clock mode and confirming that transmission is possible under these conditions, that is, that the transmission permission flag is set.

したがって、シリアル・インタフェース送信処理部44
66は、先ずシリアル・インタフェーステーブルを参照
して送信の可否情報から送信バッファ通信情報データを
作成する。送信が不可の場合には、シリアル・インタフ
ェーステーブルに規定された条件においての送信データ
がないことを通信データエンジン445に知らせること
になる。
Therefore, the serial interface transmission processing section 44
66 first refers to the serial interface table and creates transmission buffer communication information data from the transmission availability information. If transmission is not possible, the communication data engine 445 is notified that there is no data to be transmitted under the conditions specified in the serial interface table.

また送信が可能な場合には、シリアル・インタフェース
テーブルに規定された条件での送信データを送信するの
に要する時間、すなわち伝送スピードを送信バッファ通
信情報データとして入力する。そして、送信バッファコ
ンフィグテーブル4451−1を参照して、送信バッフ
ァの中から送信すべきデータが格納されている送信バッ
ファに関する定義情報を抽出し、この定義情報および送
信バッファに格納されている生データを基に、通信デー
タエンジンに1云えるためのMPU発送信データリスh
445Bを作成する。
If transmission is possible, the time required to transmit the transmission data under the conditions specified in the serial interface table, that is, the transmission speed, is input as transmission buffer communication information data. Then, with reference to the transmission buffer configuration table 4451-1, definition information regarding the transmission buffer in which data to be transmitted is stored is extracted from the transmission buffer, and this definition information and the raw data stored in the transmission buffer are extracted. Based on this, the MPU-originated transmission data list h to be able to tell the communication data engine
Create 445B.

通信データエンジン445では、送信バッファ通信情報
445Fを参照して送信可能であれば送信データリス)
・を書き換えて、次のMPUポートエンジンへの通信デ
ータの処理、すなわちMPU宛受信データリスト445
Dの作成と動作タイミングがとられる。
The communication data engine 445 refers to the transmission buffer communication information 445F and sends the transmission data if it is possible to send it)
・Rewrite the process of communication data to the next MPU port engine, that is, the MPU destination reception data list 445
D creation and operation timing are determined.

シリアル・インタフェース受信動作処理部4465がM
PUポートエンジンコントローラにより起動されると、
シリアル・インタフェーステーブル1、Tを参照して、
受信が可能であれば、その旨を受信時間と共に受信バッ
ファ通信情報データとして入力する。そして通信データ
エンジンが、受信バッファ通信情報445Gを見て、M
PtJ宛受信データリスト445Dにある受信バッファ
IDから当該受信バッファのコンフィグレーション情報
が格納されている受信バッファコンフィグテーブル44
5■を参照して、当該受信バッファにMPU宛受信デー
タリストにある受信データを書き込む。
Serial interface reception operation processing unit 4465
When activated by the PU port engine controller,
Referring to Serial Interface Table 1, T,
If reception is possible, that fact is input along with the reception time as reception buffer communication information data. Then, the communication data engine looks at the reception buffer communication information 445G and
A reception buffer configuration table 44 in which configuration information of the reception buffer concerned is stored from the reception buffer ID in the PtJ destination reception data list 445D.
Referring to step 5 (2), write the received data in the MPU destination received data list to the corresponding receive buffer.

第67図は、端子コントロールブロックに関するデータ
関連図である。
FIG. 67 is a data related diagram regarding the terminal control block.

端子コントロールブロックでは、MPUポートへのI1
0命令による端子の状態およびMPU端子への入力信号
、出力信号による端子の状態を設定する。なお、端子の
コントロールブロックの動作については、MPUポート
エンジンコントローラブロックで説明しているので、こ
こではその説明を省略する。
In the terminal control block, I1 to the MPU port
Sets the terminal state according to the 0 command and the input signal to the MPU terminal and the terminal state according to the output signal. Note that the operation of the terminal control block has been explained with reference to the MPU port engine controller block, so the explanation thereof will be omitted here.

([1l−13)モニタリング 本シミュレータを利用してターゲットプログラムのデバ
ッグについて説明する。第68図はデバッグの構成図で
ある。第69図はデバッグのフローヂャー1−である。
([1l-13) Monitoring Debugging of a target program using this simulator will be explained. FIG. 68 is a debugging configuration diagram. FIG. 69 shows the debugging flowchart 1-.

尚、以下の説明において特に注記している明所を除いて
各ステップの処理はデバッガ41により行われる。
In the following description, each step is processed by the debugger 41, except for the highlighted parts that are particularly noted.

先ず、シミュレータの起動に先立って、ハードウェアコ
ンフィグレーションに関するデータ、タイミングデータ
、および通信データなどのデータを作成して外部事象フ
ァイル31に格納する。
First, prior to starting the simulator, data such as hardware configuration data, timing data, and communication data are created and stored in the external event file 31.

シミュレータが起動されると、コンフィグレーションフ
ァイル30がロードされ(ステップ201)、次いでデ
バッガ41、MPUモジュール45の内部テーブルが初
期化される(ステップ202)。またデイスプレィ14
には、第5図に示すシミュレーションウィンドウが開か
れ、このウィンドウにマシンレイアウトが表示される。
When the simulator is started, the configuration file 30 is loaded (step 201), and then the internal tables of the debugger 41 and the MPU module 45 are initialized (step 202). Also display 14
The simulation window shown in FIG. 5 is opened, and the machine layout is displayed in this window.

また、デバッガ41はローダを呼び出してターゲットプ
ログラム42をメモリテーブル43にロードする(ステ
ップ203)。次いで、外部事象ファイル31がロード
され(ステップ204) 、デバッガ41からインター
フェース44が呼び出され、デバッガコマンドの入力待
ちとなり(ステップ205)、ユーザの入力を受は付け
る(ステップ106)。外部事象ファイルがロードされ
ると、上記フシ214フ91〜図上に定義されたダイレ
クト信号名、信号マーク等のモニタリングに一ピ・要な
表示か行われる。
Further, the debugger 41 calls the loader to load the target program 42 into the memory table 43 (step 203). Next, the external event file 31 is loaded (step 204), the interface 44 is called from the debugger 41, the interface 44 waits for input of a debugger command (step 205), and user input is accepted (step 106). When the external event file is loaded, necessary displays for monitoring such as direct signal names, signal marks, etc. defined on the above-mentioned frame 214 and frame 91 are displayed.

なお、これらのステップ205,206はユーザインタ
フェース44により行われる。
Note that these steps 205 and 206 are performed by the user interface 44.

ソフトウェア単体のデバッグを行う際の基本的な流れと
しては、プログラムの実行に先立ち、入力データをセッ
トし、デバッグの対象となるプログラムユニットの出口
にブレイクポイントを設定した後、プログラムユニット
の先頭から実行する。
The basic flow when debugging a piece of software is to set the input data before executing the program, set a breakpoint at the exit of the program unit to be debugged, and then execute the program from the beginning of the program unit. do.

そして、ブレイクポイントで止まった時点で出力データ
を参照し、予しめ想定していたデータと一致するかどう
か検査する。不一致があった場合は、どこにバグが存在
しているのかをデバッガコマンドを使用して検索する。
Then, when the process stops at a breakpoint, the output data is referenced and checked to see if it matches the previously assumed data. If there is a discrepancy, use debugger commands to find where the bug is.

キーボード13から入力されたコマンドラインは、ユー
ザインタフェース44により解析され、デバッガ41が
理解できる形式に変換される。
A command line input from the keyboard 13 is analyzed by the user interface 44 and converted into a format that the debugger 41 can understand.

ユーザの入力が終了コマンドであったときは、シミュレ
ータの動作を終了させる(ステップ207) 。
If the user's input is a termination command, the operation of the simulator is terminated (step 207).

また、終了コマンド以外のコマンドであり、かつMPU
インストラクション実行コマンドでない場合、例えば’
write」、r print 」、 rbreak 
J等であった場合、それぞれのコマンドが実行される(
ステップ208,217)。そして、その実行結果がユ
ーザインタフェース44に通知され(ステップ218)
、デイスプレィ14に表示される(ステップ219)。
Also, it is a command other than the termination command, and the MPU
If it is not an instruction execution command, for example '
write”, r print”, rbreak
J etc., the respective commands are executed (
Steps 208, 217). Then, the execution result is notified to the user interface 44 (step 218).
, is displayed on the display 14 (step 219).

また、ユーザの入力がMPUインストラクション実行コ
マンドであったときは(ステップ208)、シミュレー
ションモードであるかどうか判別しくステップ209)
、シミュレーションモードであるときは、ダイレクト信
号データおよび通信データをセットする(ステップ21
0)。次いで、MPUモジュールによりMPUインスト
ラクション実行のシミュレーション、すなわちエンジン
コントローラが管理するシステム時間に基づいて各エン
ジンの起動が行われた後(ステップ211)、タイマ、
り・イソ/イベントカウンタ処理等のMPUの内部機能
が実行され(ステップ212)、更に、インストラクシ
ョン実行結果のデバッガ41への通知等が行われる(ス
テップ213)。なお、シミュレーションモードでない
とき、すなわち、プログラムモードのときは、ターゲッ
トプログラムの実行動作のみを行いダイレクト信号デー
タや通信データは不要であるので、該データのセット(
ステップ210)はスキップされる。なお、ステップ2
11.212.213は、デバッガ41ではなく、MP
Uモジュール45により実行される。
Also, if the user's input is an MPU instruction execution command (step 208), it is determined whether the simulation mode is selected (step 209).
, when in simulation mode, set direct signal data and communication data (step 21
0). Next, after the MPU module simulates MPU instruction execution, that is, starts each engine based on the system time managed by the engine controller (step 211), the timer
The internal functions of the MPU, such as ri/iso/event counter processing, are executed (step 212), and furthermore, the debugger 41 is notified of the instruction execution result, etc. (step 213). Note that when not in the simulation mode, that is, when in the program mode, only the execution operation of the target program is performed and direct signal data and communication data are not required.
Step 210) is skipped. In addition, step 2
11.212.213 is not debugger 41, but MP
It is executed by the U module 45.

インストラクション実行結果は、更にユーザインタフェ
ース44へ通知され(ステップ214)、デイスプレィ
14に表示される(ステップ215)。たとえば、80
90番地にブレイクポイントがセットされている場合、
a090番地を含むアドレス空間でプログラムを実行す
ると途中でターゲットプログラムの実行が停止し、 rbreak at breakl(a090)」とい
う表示が行われる。この表示は、ターゲットプログラム
の実行が、第1ブレイクポイントのアドレスであるa0
90番地で停止したことを意味している。この状態でr
printJコマンドを使用してレジスタやメモリの内
容を表示させ、予期した値と一致するかどうか検査する
The instruction execution result is further notified to the user interface 44 (step 214) and displayed on the display 14 (step 215). For example, 80
If a breakpoint is set at address 90,
When a program is executed in an address space that includes address a090, execution of the target program stops midway, and the message "rbreak at breakl (a090)" is displayed. This display indicates that the execution of the target program starts at a0, which is the address of the first breakpoint.
This means that it stopped at address 90. In this state r
Use the printJ command to display the contents of registers and memory and check whether they match the expected values.

一致した場合、コマンドとしてr run a090 
Jを入力し、このブレイクポイントからターゲットプロ
グラムの実行を再開させ、次のブレイクポイントまでプ
ログラムを実行させる。この操作をブレイクポイント毎
に行う。
If it matches, the command is r run a090
Enter J to resume execution of the target program from this breakpoint and run the program to the next breakpoint. Perform this operation for each breakpoint.

出力されたレジスタやメモリの内容が予期した値と一致
しない場合は、たとえば、[trace Jコマンドに
よりブレークポイントに至るまでのレジスタやメモリの
変化を、MPUのインストラクション毎に表示させてバ
グの位置を探す。そして、バグが発見されたら、ターゲ
ットプログラムをオプジエクトレベルで修正する。
If the output register or memory contents do not match the expected values, for example, use the [trace J command to display the changes in registers and memory up to the breakpoint for each MPU instruction and locate the bug. search. Once a bug is discovered, the target program is fixed at the object level.

上述の作業の繰り返しによりデバッグ生業が行われる。Debugging is performed by repeating the above operations.

その際、ウィンドウ上でインス)・ラクションの実行結
果として記録装置の制御系を構成するモータ、センサ類
の動作状況が把握できる。
At this time, the operating status of the motors and sensors that make up the control system of the recording device can be grasped as a result of executing the action on the window.

ターゲットプログラムの複数ステップにわたる実行のシ
ミュレーションが表示された場合、指定された全インス
トラクションの実行が終了するまでは、ステップ216
からステップ209に戻る6全インストラクシヨンの実
行が終了するとデバッガコマンドの入力待ちに戻る(ス
テップ216,205)。
If a simulation of execution of the target program over multiple steps is displayed, step 216 is executed until execution of all specified instructions is completed.
Then, the process returns to step 209.6 When the execution of all instructions is completed, the process returns to waiting for input of a debugger command (steps 216, 205).

上述のように、本実施例のシミュレータにおいては、シ
ミュレーション実行の際には、ローダによりターゲット
プログラム42がメインメモリ43にロードされ、コン
フィグレーシゴンファイル30及びダイレクト信号デー
タファイル22、通信データファイル26のデータに基
づいてMPUモジュール45でMPU動作のシミュレー
ションを行う。
As described above, in the simulator of this embodiment, when executing a simulation, the target program 42 is loaded into the main memory 43 by the loader, and the configuration file 30, direct signal data file 22, and communication data file 26 are loaded. Based on the data, the MPU module 45 simulates the MPU operation.

〔発明の効果〕〔Effect of the invention〕

上述のとおり、本発明によれば、次のような効果が期待
される。
As described above, according to the present invention, the following effects are expected.

■ターゲットプログラムが走行するハードウェア環境を
MPU、周辺LSIを含めて完全にソフトウェア的にシ
ミュレーションすることができる。
■The hardware environment in which the target program runs can be completely simulated in software, including the MPU and peripheral LSI.

■プログラムモードを選択することにより、ソフトウェ
ア単体でデバッグすることができる6■シミユレーシヨ
ンモードを選択することにより、マルチプロセッサシス
テムの環境下でのテストができる。
■ By selecting the program mode, you can debug the software alone. 6. By selecting the simulation mode, you can test in a multiprocessor system environment.

■ターゲットシステムが複数のモジュールで構成されて
いる場合、各モジュールのMPUに必要な通信データを
、電気回路基板および機構部分を使用することなく外部
から供給することにより、各モジュール毎に独立にデバ
ッグすることができる。
■If the target system consists of multiple modules, each module can be debugged independently by supplying the necessary communication data to the MPU of each module from outside without using the electrical circuit board or mechanical parts. can do.

■ダイレクト信号データはセンサ類の正常な動作状況を
定義する外に、正常でない定義、すなわち予めセンサ、
ソレノイド、モータなどの異常を想定し、このときのセ
ンサの出力信号を基に定義することもできる。このよう
な異常モードによるシミュレーションを実行することに
より、異常時の状況把握が事前に検証でき、かつその対
応策を立てることができる。
■Direct signal data not only defines the normal operating status of sensors, but also defines what is not normal, that is, the sensor
It is also possible to assume an abnormality in a solenoid, motor, etc. and define it based on the sensor output signal at that 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.

■マルチウィンドウ、マウスなどによる高度なユーザイ
ンタフェースを提供する。
■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.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明のシミュレータの全体構成を示すブロッ
ク図、 第2図はシミュレータウィンドウの構成図、第3図はシ
ミュレーションの動作シーケンスを示す図、 第4図はウィンドウ部の構成を示すブロック図、第5図
はシミュレーションウィンドウの構成図、第6図はウィ
ンドウ部のデータ関連図、第7図はシミュレーションウ
ィンドウから開かれる各種ウィンドウを説明する図、 第8図(a)〜(C)はシミュレーションモードに関す
るウィンドウで、(a)はシミュレーションモードウィ
ンドウ、(b)はタイミングデータのポツプアップメニ
ュー、(C)は通信規約データのポツプアップメニュー
を示す図、 第9図(a)〜(d)はセットアツプに関するウィンド
ウで、(a)はセットアツプメニュー、  (b)はマ
シンレイアウトポツプアップメニュー、  (C)はタ
ーゲットプログラムポツプアップメニュー(d)は信号
テーブルウィンドウを示す図、第10図はマニュアル時
のマシンレイアウト上の信号マークのレベルを設定する
ポツプアップメニューを示す図、 第11図はプログラムモードウィンドウの構成図、第1
2図はブレークポイントウィンドウの構成図、第13図
は(a)〜(f)はデイスプレィ/モディファイに関す
るウィンドウで、(a)はデイスプレィ/モディファイ
のボッブアッズメニュー、  (b)はメモリダンプウ
ィンドウ、(C)はショーファイルウィンドウ、(d)
はセット/クリアウィンドウ1 (e)はシミュレーシ
ョンステートゥインドウ、(f〉は通信データマニュア
ル設定ウィンドウを示す図、 第14図はシミュレーションエンジン部の構成を示すブ
ロック図、 第15図は各エンジン間のデータ関連図、第16図はL
SI宛ダイレクト信号状変リストを説明する図、 第17[]はダイレクト信号ステートバヴファの構成を
説明する図、 第18図はLSI宛MPU端子状変リストの構成を説明
する図、 第19図はLSI宛クロりク端子状変リスすの構成を説
明する図、 第20図はMPU宛クワクロック端子状変リスト成を説
明する図、 第21図はクロックカウントステートバッファの構成を
説明する図、 第22図は(a)〜(C)はクロツクコンフィグテーブ
ルで、(a)はクロック信号の全体情報および信号情報
の構成、(b)は接続端子情報の構成、(C)はコンフ
ィグ用接続端子情報の構成を説明する図、 第23図はLSI発送信データリストの構成を説明する
図、 第24図はLSI宛受信データリストの構成を説明する
図、 第25図は送信バッファ通信情報ファイルの構成を説明
する図、 第26図は送信バッファコンフィグテーブルの構成を説
明する図。 第27図は割り込みイベントリストの構成を説明する図
、 第28図はエンジンコントローラの動作を説明する図、 第29図は動作タイミングリクエストリストの構成を説
明する図。 第30図は起動リクエスト制御テーブルの構成を説明す
る図、 第31図は各エンジンの起動順序を説明する図、第32
図はプリステージクロックエンジンの動作を説明するた
めのタイムチャート、 第33図は各エンジンの同期制御を説明する図、第34
図はLSI回路エンジンのモジュール構成を示すブロッ
ク図、 第35図は第34図のモジュール間のデー9関連図、第
36図はLSIリクエス)・リストの構成を説明する図
、 第37図はLSI回路エンジンの牛用を説明する図、第
38図はLSIUgJM8エンジンのシミュレーション
動作を説明するフローチャート、 第39図はクロックエンジンのモジュール構成を示すブ
ロック図、 第40図は第39図のモジュール間のデータ関連図、第
41図はダイレクト信号エンジンのモジュール構成を示
すブロック図、 第42図は第41図のモジュール間のデータ関連図、第
43図はタイミングデータ信号名テーブルの構成を説明
する図、 第44図はダイレクト信号名ネームテーブルの構成を説
明する図、 第45図は通信データエンジンのモジュール構成を示す
ブロック図、 第46図は第45図のモジュール間のデータ関連図、第
47図は第46図の通信データエンジン送信部の構成お
よびデータ関連図、 第48図はMPU命令エンジンのモジュール構成を示す
ブロック図、 第49図はMPU命令エンジンのデータ関連図、第50
図はMPII ffr令テーブルの構成を説明する図、
第51図はMPU命令実行テーブルの構成を説明する図
、 第52図はMPU命令アドレステーブルの構成を説明す
る図、 第53図はMPUポートエンジンのモジュール構成を示
すブロック図 第54図は第53図のエンジン初期化ブロックのモジュ
ール構成を示すブロック図、 第55図は第53図のエンジン動作設定処理ブロックの
モジュール構成を示すブロック図、第56図は第53図
のエンジンI10処理プロツりのモジュール構成を示す
ブロック図、第57図はMPUポートエンジンの初期化
に関するモジュール間のデータ関連図、 第58図はMPUポートエ〉′ジンのクロックカウント
処理およびMPU端子入力処理に関するモジュール間の
データ関連図、 第59図は端子情報テーブルの構成を説明する図、第6
0図はポート機能ブロックに関するデータ関連図、 第61図はタイマ機能ブロックに関するデータ関連図、 第62図(a)(b)はタイマ機能の内部テーブルで、
(a)はタイマ(0,1)テーブル、(b)はタイマF
/Fテーブルの構成を説明する図、第63図はタイマ/
イベンI・・カウンタ機能に関するデータ関連図、 第64図(a)〜(c)はタイマ/イベント・カウンタ
機能の内部テーブルで、(a)はイベント・カウンタテ
ーブル、(b)はCOO出力テーブル、(c)はLVO
F7Fテーブルの構成を説明する図、第65図はシリア
ル・インタフェース機能ブロックに関するデータ関連図
、 第66図はシリアル・インタフェーステーブルの構成を
説明する図、 第67図は端子コントロールブロックに関するデータ関
連図、 第681′7IはIVIPUシミュレータによるデバッ
グの構成図、 第69図はデバッグのフローチャー1・、第70図はル
ープを含まない論理回路、第71図(a)(b)は第7
0図の信号タイミングチャート、 第72図はループを含む論理回路、 第73図は信号の遅延を含む論理回路、第74図は第7
3図の信号波形、 第75図はシミュレータの対象コンポーネントと実ハー
ドウェアの動作上の相違分説明する図、第76図はユニ
ットと回路レベルを説明する図、第77図は本シミュレ
ータのハードウェア構成を示す模式図、 第78図は本シミュレータの作用を説明するための模式
図、 第79図は記録装置の基本構成を示すブロック図、第8
0図は記録装置の開発手順を説明する図、第81図は自
動原稿撤送装Tおよびソータを備えた複写機の模式図、 第82図は自動原稿搬送装置の模式図、第83図は第8
1図の複写機の構成を示すブロック図、 第84図はシミュレータキットの構成図、第85図は表
示パネル部の構成図、 第86図はデバッグ工程における課題を説明する図であ
る。 第1図 00
Figure 1 is a block diagram showing the overall configuration of the simulator of the present invention, Figure 2 is a diagram showing the configuration of the simulator window, Figure 3 is a diagram showing the operation sequence of simulation, and Figure 4 is a block diagram showing the configuration of the window section. , Figure 5 is a configuration diagram of the simulation window, Figure 6 is a data related diagram of the window section, Figure 7 is a diagram explaining various windows opened from the simulation window, Figures 8 (a) to (C) are simulation diagrams. 9 (a) shows the simulation mode window, (b) shows the timing data pop-up menu, (C) shows the communication protocol data pop-up menu, and FIGS. 9 (a) to (d) show the mode-related windows. Windows related to setup: (a) shows the setup menu, (b) shows the machine layout pop-up menu, (C) shows the target program pop-up menu, (d) shows the signal table window, and Figure 10 shows the manual mode. Figure 11 shows the configuration of the program mode window;
Figure 2 is a configuration diagram of the breakpoint window, and Figure 13 (a) to (f) are windows related to display/modify, (a) is the display/modify Bob's menu, (b) is the memory dump window, ( C) is the show file window, (d)
Set/Clear Window 1 (e) is the simulation state window, (f> is a diagram showing the communication data manual setting window, Figure 14 is a block diagram showing the configuration of the simulation engine section, Figure 15 is the diagram showing the relationship between each engine. Data related diagram, Figure 16 is L
Figure 17 is a diagram explaining the configuration of the direct signal state change list addressed to SI. Figure 18 is a diagram explaining the configuration of the MPU terminal status change list addressed to LSI. Figure 19 is a diagram explaining the configuration of the direct signal state buffer. Figure 20 is a diagram explaining the configuration of the clock terminal status change list addressed to the MPU. Figure 21 is a diagram explaining the configuration of the clock count state buffer. In Figure 22, (a) to (C) are clock configuration tables, (a) is the overall information of the clock signal and the structure of the signal information, (b) is the structure of the connection terminal information, and (C) is the configuration connection terminal. Figure 23 is a diagram explaining the configuration of the information transmission data list. Figure 24 is a diagram explaining the configuration of the LSI destination reception data list. Figure 25 is the diagram of the transmission buffer communication information file. FIG. 26 is a diagram explaining the configuration of a transmission buffer configuration table. FIG. 27 is a diagram for explaining the configuration of an interrupt event list, FIG. 28 is a diagram for explaining the operation of the engine controller, and FIG. 29 is a diagram for explaining the configuration of an operation timing request list. Figure 30 is a diagram explaining the configuration of the startup request control table, Figure 31 is a diagram explaining the startup order of each engine, and Figure 32 is a diagram explaining the startup order of each engine.
The figure is a time chart to explain the operation of the prestage clock engine, Figure 33 is a diagram to explain the synchronization control of each engine, and Figure 34
The figure is a block diagram showing the module configuration of the LSI circuit engine, Figure 35 is a data 9 relationship diagram between the modules in Figure 34, Figure 36 is a diagram explaining the configuration of the LSI request list, and Figure 37 is the LSI Figure 38 is a flowchart explaining the simulation operation of the LSIUgJM8 engine, Figure 39 is a block diagram showing the module configuration of the clock engine, Figure 40 is the data between the modules in Figure 39. Related diagrams: FIG. 41 is a block diagram showing the module configuration of the direct signal engine; FIG. 42 is a data relationship diagram between the modules in FIG. 41; FIG. 43 is a diagram explaining the configuration of the timing data signal name table; Figure 44 is a diagram explaining the structure of the direct signal name table, Figure 45 is a block diagram showing the module configuration of the communication data engine, Figure 46 is a data relationship diagram between the modules in Figure 45, and Figure 47 is FIG. 46 is a configuration and data related diagram of the communication data engine transmitter, FIG. 48 is a block diagram showing the module configuration of the MPU instruction engine, FIG. 49 is a data related diagram of the MPU instruction engine, and FIG. 50 is a block diagram showing the module configuration of the MPU instruction engine.
The figure is a diagram explaining the configuration of the MPII ffr instruction table,
51 is a diagram explaining the structure of the MPU instruction execution table, FIG. 52 is a diagram explaining the structure of the MPU instruction address table, FIG. 53 is a block diagram showing the module structure of the MPU port engine, and FIG. FIG. 55 is a block diagram showing the module configuration of the engine initialization block in FIG. 53. FIG. 56 is a block diagram showing the module configuration of the engine operation setting processing block in FIG. A block diagram showing the configuration, FIG. 57 is a data relationship diagram between modules regarding initialization of the MPU port engine, FIG. 58 is a data relationship diagram between modules regarding clock count processing of the MPU port engine and MPU terminal input processing, FIG. 59 is a diagram explaining the structure of the terminal information table,
Figure 0 is a data relationship diagram regarding the port function block, Figure 61 is a data relationship diagram regarding the timer function block, and Figures 62 (a) and (b) are internal tables of the timer function.
(a) is timer (0,1) table, (b) is timer F
Figure 63 is a diagram explaining the configuration of the /F table.
Event I... Data related diagram regarding the counter function, Figures 64 (a) to (c) are internal tables of the timer/event counter function, (a) is the event counter table, (b) is the COO output table, (c) is LVO
Figure 65 is a diagram explaining the configuration of the F7F table, Figure 65 is a data relationship diagram regarding the serial interface function block, Figure 66 is a diagram explaining the configuration of the serial interface table, Figure 67 is a data relationship diagram regarding the terminal control block, 681'7I is a block diagram of debugging using the IVIPU simulator, FIG. 69 is a debugging flowchart 1, FIG. 70 is a logic circuit that does not include a loop, and FIGS.
Figure 0 shows the signal timing chart, Figure 72 shows the logic circuit including a loop, Figure 73 shows the logic circuit including signal delay, and Figure 74 shows the
Figure 3 shows the signal waveforms, Figure 75 shows the operational differences between the simulator's target components and the actual hardware, Figure 76 shows the unit and circuit levels, and Figure 77 shows the simulator's hardware. FIG. 78 is a schematic diagram showing the structure of the simulator; FIG. 79 is a block diagram showing the basic configuration of the recording device; FIG.
Fig. 0 is a diagram explaining the development procedure of the recording device, Fig. 81 is a schematic diagram of a copying machine equipped with an automatic document withdrawal device T and a sorter, Fig. 82 is a schematic diagram of an automatic document feeder, and Fig. 83 is a schematic diagram of a copying machine equipped with an automatic document withdrawal device T and a sorter. 8th
FIG. 84 is a block diagram showing the configuration of the copying machine shown in FIG. 1, FIG. 84 is a configuration diagram of the simulator kit, FIG. 85 is a configuration diagram of the display panel section, and FIG. 86 is a diagram explaining problems in the debugging process. Figure 1 00

Claims (1)

【特許請求の範囲】 (1)ターゲットプログラムを実行するMPU、周辺L
SIを含むターゲットシステムのハードウェア情報の定
義、およびMPUの入力端子への信号の変化状態を示す
データを生成するコンフィグレーション部と、ターゲッ
トシステムを構成する電気的要素や機械的要素をエンジ
ンとしてソフトウェア的にシミュレーションするシミュ
レーションエンジン部と、前記コンフィグレーション情
報を基に、前記各エンジンの起動時間の同期をとってシ
ミュレーションを実行するシミュレーションエンジンコ
ントローラと、を具備する記録装置のシミュレータ。 (2)コンフィグレーション情報として定義したクロッ
ク信号とMPUが内蔵するクロック信号を発生させるク
ロックエンジン、MPUおよび周辺LSI回路をソフト
ウェア的に動作させるMPUエンジンとLSI回路エン
ジンによりシミュレーションエンジン部が構成された請
求項1記載の記録装置のシミュレータ。 (3)MPUエンジンは命令の解析、実行をシミュレー
ションする命令エンジンおよびMPUポートの状態変化
をシミュレーションするMPUポートエンジンから構成
された請求項1記載の記録装置のシミュレータ。 (4)各エンジンの次の動作タイミングを記録した動作
タイミングリクエストリストおよび他のエンジンにより
動作環境が変えられたエンジンの起動を記録した起動リ
クエスト制御テーブルを設け、前記リストおよびテーブ
ル起動順序をシミュレーションエンジンコントローラが
参照して、該コントローラが管理するシステム時間に最
も近い起動時間にあるエンジンに対して前記システム時
間を設定し、起動するように構成された請求項1記載の
記録装置のシミュレータ。 (5)シミュレーションエンジン部はクロックエンジン
、MPUエンジン、LSI回路エンジン、および外部よ
り入出力されるデジタル信号をLSI回路に供給するダ
イレクト信号エンジンとから構成された請求項1記載の
記録装置のシミュレータ。 (6)シミュレーションエンジン部はクロックエンジン
、MPUエンジン、LSI回路エンジン、ダイレクト信
号エンジン、およびターゲットシステムが他のMPUに
よって構成される外部モジュールとの間で行う通信デー
タを前記LSI回路エンジン、MPUエンジンに供給す
る通信データエンジンとから構成された請求項1記載の
記録装置のシミュレータ。 (7)クロックエンジン、ダイレクト信号エンジン、M
PUポートエンジン、およびLSI回路エンジン間が端
子または信号の状態を格納するステートバッファと前記
状態の変化のあつたことを他のエンジンに知らせる状変
リストにより関連付けられている請求項2記載の記録装
置のシミュレータ。 (8)MPUポートエンジン、LSI回路エンジンと通
信データエンジン間が、通信データ情報を知らせる通信
データリストおよび各LSIエンジンに対応した送・受
信データのバッファを定義した送・受信バッファコンフ
ィグテーブルにより関連付けられ、前記エンジンから通
信データエンジンまたは通信データエンジンから前記エ
ンジンへの送受信情報を通信データエンジンに知らせる
送・受信バッファ通信情報を基に、通信データエンジン
と前記各エンジンとのデータの送受信動作が行われるよ
う構成されている請求項6記載の記録装置のシミュレー
タ。 (9)MPUポートエンジンとMPU命令エンジンと間
がMPUポートの状態を変化させた割込事象をMPU命
令エンジンに知らせる割込イベントリストにより関連付
けられている請求項3記載の記録装置のシミュレータ。 (10)シミュレーションの実行制御、環境設定、モニ
タリング、データ入力、修正などの操作を行うシミュレ
ーションウィンドウ部を備えている請求項1記載のシミ
ュレータ。(11)シミュレーションウィンドウ部はシ
ミュレーションの操作を行う選択肢が設けられたシミュ
レーションウィンドウと、選択肢により開かれる個別の
設定、選択、表示のための各ウィンドウとから構成され
た請求項10記載のシミュレータ。 (12)シミュレーションウィンドウおよび個別の設定
ウィンドウは、マシンレイアウト、ターゲットプログラ
ム、信号テーブル、ダイレクト信号データ、通信データ
に関して用意された複数のデータを表示するポップアッ
プメニューを有し、該ポップアップメニューの中からシ
ミュレーションに応じて設定を行うための選択肢が設け
られている請求項11記載のシミュレータ。 (13)シミュレーションウィンドウはターゲットプロ
グラム、CPUレジスタ、およびメモリ内容を修正する
ための選択肢が設けられている請求項11記載のシミュ
レータ。 (14)シミュレーションウィンドウは現在の設定また
は指定されたシミュレーション情報を表示する選択肢が
設けられている請求項11記載のシミュレータ。 (15)シミュレーションウィンドウは、コマンド表示
エリア、メッセージ表示エリア、モニタリング用表示エ
リア、シミュレーション情報表示エリアにより構成され
ている請求項11記載のシミュレータ。 (16)シミュレーションウィンドウはターゲットプロ
グラムのみを対象とするプログラムモード選択肢および
ターゲットプログラムに通信データ、ダイレクト信号な
どのテストデータを供給して行うシミュレーションモー
ド選択肢を備えている請求項11記載のシミュレータ。 (17)シミュレーションモードを選択したときに開か
れるシミュレーションモードウィンドウを有し、該モー
ドウィンドウにテストデータを連続的に供給して実行す
るオート選択肢、同じタイムラベルのテストデータを順
次供給して実行するステップ選択肢、テストデータをマ
ニュアル設定して実行するマニュアル選択肢が設けられ
ている請求項16記載のシミュレータ。 (18)シミュレーションモードウィンドウは通信デー
タのマニュアル設定用ウィンドウを開くための選択肢が
設けられている請求項17記載のシミュレータ。 (19)プログラムモードを選択したときに開かれるプ
ログラムモードウィンドウを有し、該モードウィンドウ
によりターゲットプログラムの実行スタートアドレスま
たは命令ごとに実行するステップスタートアドレスが設
定される請求項16記載のシミュレータ。 (20)クロック素子が出力端子の状態を変化させたい
ステージでクロックのカウントを行い、このカウントに
応じてクロック入力をもつ素子の動作指示を各LSIに
出力するプリクロックエンジンを備えているクロックエ
ンジン。 (21)LSI回路エンジン、MPUポートエンジンか
ら出されるクロック信号の出力変化タイミングデータを
基にクロックのカウント値が変化するタイミングをクロ
ックエンジンに知らせるクロックエンジンタイミング通
知マクロ部を備え、このクロックエンジンタイミング通
知マクロ部により書き込まれるクロック端子コンフィグ
テーブルを参照して、出力変化タイミングの中で最も近
い未来に出力端子が変化するクロックにつながるクロッ
ク入力を持つLSIに対してクロック信号状態が変化し
たことを知らせるクロック端子状変リストを作成するこ
とを特徴とするクロックエンジン(22)ダイレクト信
号IDとタイミングデータ信号名とを対応させたデータ
が格納されたタイミングデータ信号名テーブルと、ダイ
レクト信号IDとダイレクト信号ネームとを対応させた
データが格納されたダイレクト信号ネームテーブルとを
備え、状態の変化のあったダイレクト信号データを読み
込み、前記両テーブルに基づいて状態の変化のあつたこ
とをLSI回路エンジンの各LSIエンジンに知らせる
ためのLSI宛ダイレクト信号状変リストを作成すると
共に、前記ダイレクト信号データをダイレクトステート
バッファに格納することを特徴とするダイレクト信号エ
ンジン。 (23)LSIエンジンでダイレクト信号の状態の変化
があったことをダイレクト信号IDによりダイレクト信
号エンジンに知らせるダイレクト信号エンジン宛ダイレ
クト信号状変リストと、ダイレクト信号IDとダイレク
ト信号ネームとを対応させたデータが格納されてダイレ
クト信号ネームテーブルとを備え、前記状変リストを参
照して前記テーブルに基づいてターゲットシステムの動
作状況を画面上に表示するための処理を行うことを特徴
とするダイレクト信号エンジン。 (24)LSIごとに設けられたLSIエンジンと、各
エンジンから入力される端子の状態変化、テストデータ
などの情報に基づく起動要求のあるLSIエンジンを回
路レベル別に整理したLSIリクエストリストと、該L
SIリクエストリストを参照して同一の回路レベルにあ
るLSIエンジンを順次起動するLSIエンジンドライ
バとから構成されているLSI回路エンジン。 (25)LSIエンジンドライバは、各LSIエンジン
の起動によって他のLSIエンジンの端子の状態を変化
させたとき、当該LSIエンジンの起動要求に関してリ
クエストリストを作成する請求項24記載のLSI回路
エンジン。 (26)LSIエンジンの起動によって、状態の変化の
あったMPU端子情報をMPUポートエンジンに知らせ
るためのMPU宛MPU端子状変リストと、MPU端子
情報が格納されたMPUコンフィグテーブルを参照して
前記MPU宛MPU端子状変リストを作成するMPU端
子出力ドライバとを備え、該MPU端子出力ドライバは
LSIエンジンドライバによって起動される請求項25
記載のLSI回路エンジン。 (27)MPUのI/O命令により制御されるLSIエ
ンジンを含み、前記MPUの特定アドレスに対応したM
PU−I/O処理部と、該MPU−I/O処理部をMP
U命令エンジンからの指令により起動し、当該アドレス
にデータの書き込みを制御するMPU−I/O処理ドラ
イバとを備えている請求項24記載のLSI回路エンジ
ン。 (28)送信先エンジンに対して受信データを送信する
通信データエンジン送信部と、送信先エンジンからの送
信データを受信し、当該データに関してウィンドウ上へ
の表示を処理する通信データエンジン受信部と、エンジ
ンコントローラが動作タイミングリクエストリストおよ
び起動リクエスト制御テーブルを参照し、要求データに
応じて前記受信部または送信部のいずれかを起動する通
信データエンジン管理部とを具備する通信データエンジ
ン。 (29)通信データエンジン送信部は、通信規約データ
を送出するプロトコルデータ送信部、モードデータを送
出するモードデータ送信部と、前記各送信部を制御する
送信部コントローラとから構成されている請求項28記
載の通信データエンジン。 (30)マニュアル設定ウィンドウにより設定された通
信データを送出するマニュアルデータ送信部を備えてい
る請求項29記載の通信データエンジン。
[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 simulator for a recording device, comprising: 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. (2) A claim in which the simulation engine section is composed of a clock engine that generates a clock signal defined as configuration information and a clock signal built into the MPU, an MPU engine that operates the MPU and peripheral LSI circuits using software, and an LSI circuit engine. A simulator of the recording device according to item 1. (3) The recording device simulator according to claim 1, wherein the MPU engine includes an instruction engine that simulates analysis and execution of instructions, and an MPU port engine that simulates state changes of the MPU port. (4) An operation timing request list that records the next operation timing of each engine and a startup request control table that records the startup of an engine whose operating environment has been changed by another engine are provided, and the list and the table startup order are used by the simulation engine. 2. The recording device simulator according to claim 1, wherein the controller refers to and sets the system time for an engine whose startup time is closest to the system time managed by the controller, and starts the engine. (5) The recording device simulator according to claim 1, wherein the simulation engine section includes a clock engine, an MPU engine, an LSI circuit engine, and a direct signal engine that supplies externally input/output digital signals to the LSI circuit. (6) The simulation engine section transmits communication data to the clock engine, MPU engine, LSI circuit engine, direct signal engine, and the target system with external modules configured by other MPUs to the LSI circuit engine and MPU engine. 2. A recording apparatus simulator according to claim 1, further comprising a communication data engine that supplies the communication data engine. (7) Clock engine, direct signal engine, M
3. The recording device according to claim 2, wherein the PU port engine and the LSI circuit engine are associated with each other by a state buffer that stores the state of a terminal or a signal, and a state change list that notifies other engines that the state has changed. simulator. (8) The MPU port engine, LSI circuit engine, and communication data engine are associated by a communication data list that informs communication data information and a send/receive buffer configuration table that defines send/receive data buffers corresponding to each LSI engine. , a transmission/reception buffer that notifies the communication data engine of transmission/reception information from the engine to the communication data engine or from the communication data engine to the engine; data transmission/reception operations between the communication data engine and each of the engines are performed based on communication information; 7. A recording device simulator according to claim 6, configured as follows. (9) The recording device simulator according to claim 3, wherein the MPU port engine and the MPU instruction engine are associated with each other by an interrupt event list that notifies the MPU instruction engine of an interrupt event that changes the state of the MPU port. (10) The simulator according to claim 1, further comprising a simulation window section for performing operations such as simulation execution control, environment setting, monitoring, data input, and modification. (11) The simulator according to claim 10, wherein the simulation window portion comprises a simulation window provided with options for operating the simulation, and windows for individual settings, selections, and displays opened by the options. (12) The simulation window and individual setting windows have pop-up menus that display multiple data prepared regarding machine layout, target program, signal table, direct signal data, and communication data. 12. The simulator according to claim 11, wherein options are provided for making settings according to. (13) The simulator according to claim 11, wherein the simulation window is provided with options for modifying the target program, CPU registers, and memory contents. (14) The simulator according to claim 11, wherein the simulation window is provided with an option to display current settings or specified simulation information. (15) The simulator according to claim 11, wherein the simulation window includes a command display area, a message display area, a monitoring display area, and a simulation information display area. (16) The simulator according to claim 11, wherein the simulation window includes a program mode option for only the target program and a simulation mode option for supplying test data such as communication data and direct signals to the target program. (17) It has a simulation mode window that opens when a simulation mode is selected, and has an auto option that continuously supplies test data to the mode window and executes it, and an auto option that sequentially supplies test data with the same time label and executes it. 17. The simulator according to claim 16, further comprising a step option and a manual option for manually setting and executing test data. (18) The simulator according to claim 17, wherein the simulation mode window is provided with an option for opening a window for manual setting of communication data. (19) The simulator according to claim 16, further comprising a program mode window that is opened when the program mode is selected, and in which an execution start address of the target program or a step start address to be executed for each instruction is set by the mode window. (20) A clock engine equipped with a pre-clock engine that counts clocks at a stage where the clock element wants to change the state of its output terminal, and outputs operation instructions for elements with clock input to each LSI according to this count. . (21) A clock engine timing notification macro unit is provided to notify the clock engine of the timing at which the clock count value changes based on output change timing data of the clock signal output from the LSI circuit engine and the MPU port engine, and the clock engine timing notification is provided. A clock that refers to the clock terminal configuration table written by the macro section and notifies LSIs that have a clock input that is connected to a clock whose output terminal will change in the nearest future of the output change timing that the clock signal state has changed. Clock engine (22) characterized by creating a terminal state change list; a timing data signal name table storing data in which direct signal IDs and timing data signal names are associated; and a direct signal name table storing data corresponding to 1. A direct signal engine that creates a list of direct signal state changes addressed to an LSI to inform the user of the direct signal, and stores the direct signal data in a direct state buffer. (23) A list of direct signal status changes addressed to the direct signal engine that notifies the direct signal engine that there has been a change in the status of a direct signal in the LSI engine using a direct signal ID, and data that corresponds to the direct signal ID and direct signal name. and a direct signal name table in which is stored a direct signal name table, and performs processing for displaying the operating status of a target system on a screen based on the table by referring to the status change list. (24) An LSI engine provided for each LSI, an LSI request list organized by circuit level, and LSI engines that require activation based on information such as terminal status changes and test data input from each engine;
An LSI circuit engine includes an LSI engine driver that sequentially starts LSI engines at the same circuit level by referring to an SI request list. (25) The LSI circuit engine according to claim 24, wherein when the LSI engine driver changes the state of a terminal of another LSI engine by starting each LSI engine, the LSI engine driver creates a request list regarding a request to start the LSI engine. (26) Refer to the MPU terminal state change list addressed to the MPU and the MPU configuration table in which the MPU terminal information is stored to notify the MPU port engine of the MPU terminal information whose state has changed due to the startup of the LSI engine. and an MPU terminal output driver that creates an MPU terminal state change list addressed to the MPU, wherein the MPU terminal output driver is activated by the LSI engine driver.
The LSI circuit engine described. (27) An MPU that includes an LSI engine controlled by I/O instructions of the MPU and that corresponds to a specific address of the MPU.
The PU-I/O processing unit and the MPU-I/O processing unit are
25. The LSI circuit engine according to claim 24, further comprising an MPU-I/O processing driver that is activated by a command from the U-instruction engine and controls writing of data to the address. (28) a communication data engine transmitter that transmits received data to a destination engine; a communication data engine receiver that receives transmitted data from the destination engine and processes display of the data on a window; A communication data engine comprising: a communication data engine management section in which an engine controller refers to an operation timing request list and an activation request control table and activates either the receiving section or the transmitting section according to request data. (29) Claim in which the communication data engine transmitter is comprised of a protocol data transmitter that transmits communication protocol data, a mode data transmitter that transmits mode data, and a transmitter controller that controls each of the transmitters. 28. The communication data engine according to 28. (30) The communication data engine according to claim 29, further comprising a manual data transmitter that transmits the communication data set by the manual setting window.
JP1262908A 1989-10-11 1989-10-11 Recording device simulator and its simulation engine Pending JPH03125233A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1262908A JPH03125233A (en) 1989-10-11 1989-10-11 Recording device simulator and its simulation engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1262908A JPH03125233A (en) 1989-10-11 1989-10-11 Recording device simulator and its simulation engine

Publications (1)

Publication Number Publication Date
JPH03125233A true JPH03125233A (en) 1991-05-28

Family

ID=17382279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1262908A Pending JPH03125233A (en) 1989-10-11 1989-10-11 Recording device simulator and its simulation engine

Country Status (1)

Country Link
JP (1) JPH03125233A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963725A (en) * 1996-09-12 1999-10-05 Nec Corporation Simulation system and method for microcomputer program
JP2005339029A (en) * 2004-05-25 2005-12-08 Canon Inc Program cooperation system
JP2010049630A (en) * 2008-08-25 2010-03-04 Fujitsu Ltd Simulation control program, simulation control device, and simulation control method
JP2010157103A (en) * 2008-12-26 2010-07-15 Mitsubishi Electric Corp Verification system and operation verification apparatus
JP2011064915A (en) * 2009-09-16 2011-03-31 Canon Inc Simulation device, control method for the same, and program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963725A (en) * 1996-09-12 1999-10-05 Nec Corporation Simulation system and method for microcomputer program
JP2005339029A (en) * 2004-05-25 2005-12-08 Canon Inc Program cooperation system
JP2010049630A (en) * 2008-08-25 2010-03-04 Fujitsu Ltd Simulation control program, simulation control device, and simulation control method
JP2010157103A (en) * 2008-12-26 2010-07-15 Mitsubishi Electric Corp Verification system and operation verification apparatus
JP2011064915A (en) * 2009-09-16 2011-03-31 Canon Inc Simulation device, control method for the same, and program

Similar Documents

Publication Publication Date Title
US5146460A (en) Logic simulation using a hardware accelerator together with an automated error event isolation and trace facility
US6202044B1 (en) Concurrent hardware-software co-simulation
EP1178324B1 (en) Method and apparatus for tracing hardware states using dynamically reconfigurable test circuits
US5715433A (en) Dynamic software model for emulating hardware
US5812436A (en) Method and apparatus for testing and analyzing the conformance of a proposed set of requirements for a proposed network management application
US5579476A (en) Automatic test environment for communications protocol software
TW202132793A (en) Automated test equipment using an on-chip-system test controller
US8214195B2 (en) Testing in a hardware emulation environment
US5715373A (en) Method and apparatus for preparing a suite of test scripts for testing a proposed network management application
US20090240483A1 (en) System and computer program product for automatic logic model build process with autonomous quality checking
CN110196726A (en) A method of the load of FPGA program remote upgrading is realized based on CPU+CPLD
JPH03125233A (en) Recording device simulator and its simulation engine
CN109542481A (en) A kind of multi-mode Multifunctional tester automatically configures device and method
US20030101040A1 (en) Hardware simulation using a test scenario manager
JP4171240B2 (en) Program verification system
CN100517265C (en) Microcontroller emulation system
CN116340150A (en) Reusable register performance interactive verification system based on UVM and application thereof
US6718498B2 (en) Method and apparatus for the real time manipulation of a test vector to access the microprocessor state machine information using the integrated debug trigger
US20030225566A1 (en) JTAG server
JPH03225436A (en) Simulator of recording device and its debugger
JPH036629A (en) Simulator for recorder and its configuration system
CN109522244A (en) A kind of embedded device Debugging message acquisition methods and system
JP2973436B2 (en) LSI circuit simulation method
JP2887515B2 (en) Recorder simulator
JPH01307837A (en) Mpu simulation method and mpu simulator