JPH04229337A - エミュレータ - Google Patents
エミュレータInfo
- Publication number
- JPH04229337A JPH04229337A JP2414904A JP41490490A JPH04229337A JP H04229337 A JPH04229337 A JP H04229337A JP 2414904 A JP2414904 A JP 2414904A JP 41490490 A JP41490490 A JP 41490490A JP H04229337 A JPH04229337 A JP H04229337A
- Authority
- JP
- Japan
- Prior art keywords
- output
- circuit
- emulation
- data
- condition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3648—Debugging of software using additional hardware
- G06F11/3652—Debugging of software using additional hardware in-circuit-emulation [ICE] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、ターゲットシステムの
全部又は一部が存在しない状態においてもデバッグ可能
なエミュレータに関し、例えばシングルチップマイクロ
コンピュータ応用機器のためのエミュレータに適用して
有効な技術に関するものである。
全部又は一部が存在しない状態においてもデバッグ可能
なエミュレータに関し、例えばシングルチップマイクロ
コンピュータ応用機器のためのエミュレータに適用して
有効な技術に関するものである。
【0002】
【従来の技術】エミュレータはデバッグ対象システム(
ターゲットシステム)をエミュレーション用マイクロコ
ンピュータで代替制御しながらシステムデバッグやソフ
トウェアデバッグを可能にするものであるから、ターゲ
ットシステムが完成される以前においては、ターゲット
システムの入出力機器とマイクロコンピュータとの間で
の信号のやりとりをサポートして機能されるようなソフ
トウェアデバッグやシステム全体に及ぶ総合的なソフト
ウェアデバッグなどを行い難く、ターゲットシステムと
しての実機の完成を待たなければならなかった。
ターゲットシステム)をエミュレーション用マイクロコ
ンピュータで代替制御しながらシステムデバッグやソフ
トウェアデバッグを可能にするものであるから、ターゲ
ットシステムが完成される以前においては、ターゲット
システムの入出力機器とマイクロコンピュータとの間で
の信号のやりとりをサポートして機能されるようなソフ
トウェアデバッグやシステム全体に及ぶ総合的なソフト
ウェアデバッグなどを行い難く、ターゲットシステムと
しての実機の完成を待たなければならなかった。
【0003】そこで従来は、ターゲットシステム無しで
エミュレーションを可能にするための技術として特開昭
64−41983号及び特開昭62−173539号が
提供されている。前者は、エミュレーション用マイクロ
コンピュータのための入力命令を検出すると、パターン
メモリのアドレスを更新しながらパターンデータを発生
してエミュレーション用マイクロコンピュータへ直接供
給し、また、出力命令を検出するとデータメモリのアド
レスを更新しながらエミュレーション用マイクロコンピ
ュータの出力パターンデータをデータメモリへ書き込む
ようにするものである。後者の技術は、エミュレーショ
ン用マイクロコンピュータのバスサイクル単位でアドレ
スが順次更新されるエミュレーションメモリにパターン
データを格納しておき、そのパターンデータをバスサイ
クルの発生毎に順次エミュレーション用マイクロコンピ
ュータに供給するものである。
エミュレーションを可能にするための技術として特開昭
64−41983号及び特開昭62−173539号が
提供されている。前者は、エミュレーション用マイクロ
コンピュータのための入力命令を検出すると、パターン
メモリのアドレスを更新しながらパターンデータを発生
してエミュレーション用マイクロコンピュータへ直接供
給し、また、出力命令を検出するとデータメモリのアド
レスを更新しながらエミュレーション用マイクロコンピ
ュータの出力パターンデータをデータメモリへ書き込む
ようにするものである。後者の技術は、エミュレーショ
ン用マイクロコンピュータのバスサイクル単位でアドレ
スが順次更新されるエミュレーションメモリにパターン
データを格納しておき、そのパターンデータをバスサイ
クルの発生毎に順次エミュレーション用マイクロコンピ
ュータに供給するものである。
【0004】
【発明が解決しようとする課題】しかしながら、上記何
れの従来技術においても、入力命令の検出やバスサイク
ルの起動をトリガとしてエミュレーション用マイクロコ
ンピュータへのパターンデータを機械的に一定の順番で
出力する構成であるため、如何なるデータをどのような
順番で出力するかを予め決定してメモリに格納しておか
なければならず、そのためにはエミュレーション用マイ
クロコンピュータの動作フローを予測しなければならな
い。このため、予測したフローからはずれるような動作
に対してはエミュレーションすることができない。例え
ば、エミュレーション用マイクロコンピュータの動作フ
ローに割り込みルーチンや条件分岐などがあるとき、非
同期で発生する外部割り込み等を予測することは実質的
に不可能であり、予測に反する入力命令が検出されれば
最早正常なエミュレーションを行うことができない。C
PUのバスサイクル毎にパターンデータを供給する構成
も上記同様であり、予測したタイミング以外で割り込み
が発生したり、予測に反する分岐が発生すると、エミュ
レーションを行うことができない。これにより、ターゲ
ットシステムが無くてもエミュレーションを行うことが
できるといっても、エミュレーション可能なステップ数
は動作フローを確実に予測することができる非常に少な
い範囲を単位としてしか行うことができない。
れの従来技術においても、入力命令の検出やバスサイク
ルの起動をトリガとしてエミュレーション用マイクロコ
ンピュータへのパターンデータを機械的に一定の順番で
出力する構成であるため、如何なるデータをどのような
順番で出力するかを予め決定してメモリに格納しておか
なければならず、そのためにはエミュレーション用マイ
クロコンピュータの動作フローを予測しなければならな
い。このため、予測したフローからはずれるような動作
に対してはエミュレーションすることができない。例え
ば、エミュレーション用マイクロコンピュータの動作フ
ローに割り込みルーチンや条件分岐などがあるとき、非
同期で発生する外部割り込み等を予測することは実質的
に不可能であり、予測に反する入力命令が検出されれば
最早正常なエミュレーションを行うことができない。C
PUのバスサイクル毎にパターンデータを供給する構成
も上記同様であり、予測したタイミング以外で割り込み
が発生したり、予測に反する分岐が発生すると、エミュ
レーションを行うことができない。これにより、ターゲ
ットシステムが無くてもエミュレーションを行うことが
できるといっても、エミュレーション可能なステップ数
は動作フローを確実に予測することができる非常に少な
い範囲を単位としてしか行うことができない。
【0005】また、従来技術は、ターゲットシステムを
併用すること、即ち、部分的に完成したターゲットシス
テムを接続しながら所望のパターンデータを供給しなが
らエミュレーションを行うことについては考慮されてい
ない。
併用すること、即ち、部分的に完成したターゲットシス
テムを接続しながら所望のパターンデータを供給しなが
らエミュレーションを行うことについては考慮されてい
ない。
【0006】本発明の目的は、ターゲットシステムが未
完成な状態であっても必要な情報をエミュレーション用
マイクロコンピュータに与えてソフトウェアデバッグ並
びにシステムでバッグを比較的簡単にしかも確実に行う
ことができるエミュレータを提供することにある。
完成な状態であっても必要な情報をエミュレーション用
マイクロコンピュータに与えてソフトウェアデバッグ並
びにシステムでバッグを比較的簡単にしかも確実に行う
ことができるエミュレータを提供することにある。
【0007】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0008】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0009】すなわち、着目すべき条件をプログラマブ
ルに設定可能であって、ターゲットプログラムの実行中
には前記設定された条件の成立を検出するタイミング検
出手段と、このタイミング検出手段によって検出される
条件に応じて、予めプログラマブルに格納されているデ
ータを出力する出力データ記憶手段とを有するプログラ
マブル出力回路を設け、このプログラマブル出力回路の
出力情報を、選択回路によってターゲットシステムの出
力情報に代えてエミュレーション用マイクロコンピュー
タに供給可能にするものである。
ルに設定可能であって、ターゲットプログラムの実行中
には前記設定された条件の成立を検出するタイミング検
出手段と、このタイミング検出手段によって検出される
条件に応じて、予めプログラマブルに格納されているデ
ータを出力する出力データ記憶手段とを有するプログラ
マブル出力回路を設け、このプログラマブル出力回路の
出力情報を、選択回路によってターゲットシステムの出
力情報に代えてエミュレーション用マイクロコンピュー
タに供給可能にするものである。
【0010】前記タイミング検出手段を比較的簡単に構
成するには、前記所望の条件をプログラマブルに書き込
み可能であって、エミュレーション用マイクロコンピュ
ータが入出力するデータ信号、アドレス信号、及びスト
ローブ信号などによって読出しアクセスされるRAMと
、RAMの出力を入力として前記条件の成立を検出する
論理回路とを含めて構成することができる。
成するには、前記所望の条件をプログラマブルに書き込
み可能であって、エミュレーション用マイクロコンピュ
ータが入出力するデータ信号、アドレス信号、及びスト
ローブ信号などによって読出しアクセスされるRAMと
、RAMの出力を入力として前記条件の成立を検出する
論理回路とを含めて構成することができる。
【0011】プログラマブル出力回路から与えられる情
報の伝達遅延を、実際にインタフェースケーブルを介し
てターゲットシステムから与えられる情報の伝達遅延に
整合させたりするタイミング設定を可能にするには、前
記プログラマブル出力回路の出力タイミングを、前記タ
イミング検出手段による検出タイミングに対して任意に
遅延させる遅延手段を設けるとよい。
報の伝達遅延を、実際にインタフェースケーブルを介し
てターゲットシステムから与えられる情報の伝達遅延に
整合させたりするタイミング設定を可能にするには、前
記プログラマブル出力回路の出力タイミングを、前記タ
イミング検出手段による検出タイミングに対して任意に
遅延させる遅延手段を設けるとよい。
【0012】また、プログラマブル出力回路をターゲッ
トシステムと併用してエミュレーションを可能にするこ
とを考慮するなら、前記選択回路は、エミュレーション
用マイクロコンピュータをターゲットシステムにインタ
フェースするための信号線毎に、これをプログラマブル
出力回路の出力に切り替え接続可能な選択スイッチを持
ち、夫々のスイッチの接続状態を、記憶手段の保有情報
に従ってプログラマブルに制御可能にするとよい。
トシステムと併用してエミュレーションを可能にするこ
とを考慮するなら、前記選択回路は、エミュレーション
用マイクロコンピュータをターゲットシステムにインタ
フェースするための信号線毎に、これをプログラマブル
出力回路の出力に切り替え接続可能な選択スイッチを持
ち、夫々のスイッチの接続状態を、記憶手段の保有情報
に従ってプログラマブルに制御可能にするとよい。
【0013】
【作用】上記した手段によれば、ターゲットシステムが
未完成な状態において、部分的に未完成な入出力機器と
エミュレーション用マイクロコンピュータとの間で情報
をやりとりして機能するI/Oプログラムのソフトウェ
アデバッグやシステム全体に及ぶ総合的なソフトウェア
デバッグを行うとき、未完成な部分からの信号を代替す
るためのプログラマブル出力回路がエミュレーション用
マイクロコンピュータに信号を出力すべきタイミングを
、そのときエミュレーションバス上に現れるアドレス値
やデータ値などに応じてプログラマブルに条件設定して
おき、この条件設定されたタイミング検出手段がターゲ
ットプログラムの実行時にその条件をエミュレーション
バス上のデータ値等から検出することによって、予め出
力データ記憶手段にプログラマブルに格納されている対
応データが擬似的にエミュレーション用マイクロコンピ
ュータに供給される。プログラマブル出力回路に設定し
た条件が成立するか否かによって、擬似的な信号をエミ
ュレーション用マイクロコンピュータに供給するから、
設定条件成立過程においてどのような命令実行フローを
経るかを予想しなくてもよく、また予想に反しても、実
際の命令実行フローに即して必要な情報がエミュレーシ
ョン用マイクロコンピュータに供給されて、エミュレー
ションが行われる。
未完成な状態において、部分的に未完成な入出力機器と
エミュレーション用マイクロコンピュータとの間で情報
をやりとりして機能するI/Oプログラムのソフトウェ
アデバッグやシステム全体に及ぶ総合的なソフトウェア
デバッグを行うとき、未完成な部分からの信号を代替す
るためのプログラマブル出力回路がエミュレーション用
マイクロコンピュータに信号を出力すべきタイミングを
、そのときエミュレーションバス上に現れるアドレス値
やデータ値などに応じてプログラマブルに条件設定して
おき、この条件設定されたタイミング検出手段がターゲ
ットプログラムの実行時にその条件をエミュレーション
バス上のデータ値等から検出することによって、予め出
力データ記憶手段にプログラマブルに格納されている対
応データが擬似的にエミュレーション用マイクロコンピ
ュータに供給される。プログラマブル出力回路に設定し
た条件が成立するか否かによって、擬似的な信号をエミ
ュレーション用マイクロコンピュータに供給するから、
設定条件成立過程においてどのような命令実行フローを
経るかを予想しなくてもよく、また予想に反しても、実
際の命令実行フローに即して必要な情報がエミュレーシ
ョン用マイクロコンピュータに供給されて、エミュレー
ションが行われる。
【0014】
【実施例】図1には本発明の一実施例に係るエミュレー
タが示される。同図に示されるエミュレータは、特に制
限されないが、プログラマブル出力回路100、選択回
路200、及びエミュレータ本体300によって構成さ
れ、エミュレータ本体300はエミュレーション用マイ
クロコンピュータ301を含む。このエミュレーション
用マイクロコンピュータ301がターゲットシステム(
以下単にユーザ実機とも記す)400を代行制御すると
き、同マイクロコンピュータ301は前記選択回路20
0を介してインタフェースケーブル401でユーザ実機
400に結合される。エミュレータ内部の制御やターゲ
ットプログラム(以下単にユーザプログラムとも記す)
のダウンロードなどのために、エミュレータ本体300
はシステム開発装置309ともインタフェースされる。 前記プログラマブル出力回路100は、システム開発装
置309からの指示に従って信号出力条件やデータがプ
ログラマブルに設定され、設定された条件に従って所定
のデータをユーザ実機400に代わって擬似的に選択回
路200を介してエミュレーション用マイクロコンピュ
ータ301に与える。
タが示される。同図に示されるエミュレータは、特に制
限されないが、プログラマブル出力回路100、選択回
路200、及びエミュレータ本体300によって構成さ
れ、エミュレータ本体300はエミュレーション用マイ
クロコンピュータ301を含む。このエミュレーション
用マイクロコンピュータ301がターゲットシステム(
以下単にユーザ実機とも記す)400を代行制御すると
き、同マイクロコンピュータ301は前記選択回路20
0を介してインタフェースケーブル401でユーザ実機
400に結合される。エミュレータ内部の制御やターゲ
ットプログラム(以下単にユーザプログラムとも記す)
のダウンロードなどのために、エミュレータ本体300
はシステム開発装置309ともインタフェースされる。 前記プログラマブル出力回路100は、システム開発装
置309からの指示に従って信号出力条件やデータがプ
ログラマブルに設定され、設定された条件に従って所定
のデータをユーザ実機400に代わって擬似的に選択回
路200を介してエミュレーション用マイクロコンピュ
ータ301に与える。
【0015】ここで先ず前記エミュレータ本体300の
一例を図1および図5に基づいて説明する。
一例を図1および図5に基づいて説明する。
【0016】前記エミュレーション用マイクロコンピュ
ータ301は、ユーザ実機400に適用される図示しな
いターゲットマイクロコンピュータと同等の制御機能や
周辺機能を持ち、インタフェースケーブル401を介し
てユーザ実機400のターゲットマイクロコンピュータ
搭載領域に接続される。このエミュレーション用マイク
ロコンピュータ301は、特に制限されないが、前記図
示しないターゲットマイクロコンピュータの論理を所望
に追加変更してエミュレータ本体300のその他の回路
部分と信号をやりとりしながらターゲットプログラムを
実行して、ユーザ実機400を代行制御可能に構成され
ている。尚、エミュレーション用マイクロコンピュータ
それ自体については既に公知であるのでその詳細につい
ては図示しない。
ータ301は、ユーザ実機400に適用される図示しな
いターゲットマイクロコンピュータと同等の制御機能や
周辺機能を持ち、インタフェースケーブル401を介し
てユーザ実機400のターゲットマイクロコンピュータ
搭載領域に接続される。このエミュレーション用マイク
ロコンピュータ301は、特に制限されないが、前記図
示しないターゲットマイクロコンピュータの論理を所望
に追加変更してエミュレータ本体300のその他の回路
部分と信号をやりとりしながらターゲットプログラムを
実行して、ユーザ実機400を代行制御可能に構成され
ている。尚、エミュレーション用マイクロコンピュータ
それ自体については既に公知であるのでその詳細につい
ては図示しない。
【0017】ユーザ実機400とエミュレーション用マ
イクロコンピュータ301とがやりとりする情報、及び
エミュレーション用マイクロコンピュータ301の内部
状態に応ずる情報は、エミュレーションバス302にも
与えられ、また、このエミュレーションバス302を介
してエミュレーションのための初期条件や制御情報がエ
ミュレーション用マイクロコンピュータ301などに与
えられるようになっている。
イクロコンピュータ301とがやりとりする情報、及び
エミュレーション用マイクロコンピュータ301の内部
状態に応ずる情報は、エミュレーションバス302にも
与えられ、また、このエミュレーションバス302を介
してエミュレーションのための初期条件や制御情報がエ
ミュレーション用マイクロコンピュータ301などに与
えられるようになっている。
【0018】エミュレーションバス302には、特に制
限されないが、エミュレーション回路303、ブレーク
コントロール回路304、及びトレース回路305が結
合され、それら回路は、コントロールバス306にも結
合され、同コントロールバス306に結合されたコント
ロールプロセッサ307の制御に基づいてエミュレーシ
ョンバス302又はコントロールバス306と選択的に
インタフェースされる。前記エミュレーション回路30
3は、特に制限されないが、ユーザ実機400における
データメモリやプログラムメモリを代行するためのRA
Mで成る代行メモリ303A,303B、並びにエミュ
レーションのための開始条件や各種制御条件などに基づ
いてエミュレーション動作を制御するための図示しない
コントロールレジスタを含む。前記代行メモリ303A
,303Bへのターゲットプログラムのダウンロードや
データの転送、及び図示しないコントロールレジスタへ
の初期設定は、エミュレーション開始前にコントロール
プロセッサ307がコントロールバス306を介して行
う。前記ブレークコントロール回路304は、特に制限
されないが、エミュレーション用マイクロコンピュータ
301の制御状態やエミュレーションバス302の状態
を監視して、その状態が予め設定されている状態に到達
したときにエミュレーション動作をブレークするもので
ある。このブレークコントロール回路304へのブレー
ク条件の設定は、同様に、エミュレーション開始前にコ
ントロールプロセッサ307がコントロールバス306
を介して行う。前記トレース回路305は、エミュレー
ション動作中に、エミュレーションバス302などに与
えられるデータやアドレスさらには制御情報などをバス
サイクル単位で逐次トレースするものである。前記エミ
ュレーション回路303、ブレークコントロール回路3
04、及びトレース回路305は、コントロールバス3
06を通じてコントロールプロセッサ307の制御を受
けるが、そのコントロールバス306は、ホストインタ
フェース308を介して特に制限されないがパーソナル
コンピュータ等から成るシステム開発装置309と接続
され、当該コントロールプロセッサ307はそのシステ
ム開発装置309から与えられるコマンドや各種制御情
報に基づいてエミュレータ本体300によるエミュレー
ション動作を全体的に制御する。
限されないが、エミュレーション回路303、ブレーク
コントロール回路304、及びトレース回路305が結
合され、それら回路は、コントロールバス306にも結
合され、同コントロールバス306に結合されたコント
ロールプロセッサ307の制御に基づいてエミュレーシ
ョンバス302又はコントロールバス306と選択的に
インタフェースされる。前記エミュレーション回路30
3は、特に制限されないが、ユーザ実機400における
データメモリやプログラムメモリを代行するためのRA
Mで成る代行メモリ303A,303B、並びにエミュ
レーションのための開始条件や各種制御条件などに基づ
いてエミュレーション動作を制御するための図示しない
コントロールレジスタを含む。前記代行メモリ303A
,303Bへのターゲットプログラムのダウンロードや
データの転送、及び図示しないコントロールレジスタへ
の初期設定は、エミュレーション開始前にコントロール
プロセッサ307がコントロールバス306を介して行
う。前記ブレークコントロール回路304は、特に制限
されないが、エミュレーション用マイクロコンピュータ
301の制御状態やエミュレーションバス302の状態
を監視して、その状態が予め設定されている状態に到達
したときにエミュレーション動作をブレークするもので
ある。このブレークコントロール回路304へのブレー
ク条件の設定は、同様に、エミュレーション開始前にコ
ントロールプロセッサ307がコントロールバス306
を介して行う。前記トレース回路305は、エミュレー
ション動作中に、エミュレーションバス302などに与
えられるデータやアドレスさらには制御情報などをバス
サイクル単位で逐次トレースするものである。前記エミ
ュレーション回路303、ブレークコントロール回路3
04、及びトレース回路305は、コントロールバス3
06を通じてコントロールプロセッサ307の制御を受
けるが、そのコントロールバス306は、ホストインタ
フェース308を介して特に制限されないがパーソナル
コンピュータ等から成るシステム開発装置309と接続
され、当該コントロールプロセッサ307はそのシステ
ム開発装置309から与えられるコマンドや各種制御情
報に基づいてエミュレータ本体300によるエミュレー
ション動作を全体的に制御する。
【0019】図1に従えば、前記プログラマブル出力回
路100は、タイミング検出回路1、出力制御データ記
憶群3、出力パターンデータ記憶群2、出力データ選択
信号ラッチ回路4、ディレイカウンタ5、及び複数個の
出力ドライバ6(図1には代表的に1個が図示されてい
る)を含み、ユーザ実機400からエミュレーション用
マイクロコンピュータ301に供給されるべき信号の全
部又は一部をプログラマブルに生成するものである。前
記タイミング検出回路1は、着目すべき条件をプログラ
マブルに複数種類設定可能で且つエミュレーション用マ
イクロコンピュータ301によるターゲットプログラム
の実行中に前記設定された条件の成立をエミュレーショ
ンバス302上の情報などに基づいて検出するものであ
る。前記出力データ選択信号ラッチ回路4はタイミング
検出回路1による条件検出に基づいて出力される情報を
ラッチするものであり、そのラッチタイミングは、ディ
レイカウンタ5から出力されるラッチ信号7で制御され
る。前記出力制御データ記憶群3及び出力パターンデー
タ記憶群2は、タイミング検出回路1によって検出され
て出力データ選択信号ラッチ回路4を介して与えられる
情報に応じてデータを出力すると共に、出力すべきデー
タを予めプログラマブルに設定可能とされる。前記夫々
の出力ドライバ6は、ハイレベル、ローレベル、及び高
出力インピーダンスの3状態を選択的にとり得るトライ
・ステート型の出力バッファにより構成され、出力制御
データ記憶群3から出力されるドライバ選択信号8が出
力ドライバ6の出力を高インピーダンス状態にするか否
かを制御し、出力パターンデータ記憶群2から出力され
る出力パターンデータ9が出力ドライバ6の出力論理レ
ベルを決定する。
路100は、タイミング検出回路1、出力制御データ記
憶群3、出力パターンデータ記憶群2、出力データ選択
信号ラッチ回路4、ディレイカウンタ5、及び複数個の
出力ドライバ6(図1には代表的に1個が図示されてい
る)を含み、ユーザ実機400からエミュレーション用
マイクロコンピュータ301に供給されるべき信号の全
部又は一部をプログラマブルに生成するものである。前
記タイミング検出回路1は、着目すべき条件をプログラ
マブルに複数種類設定可能で且つエミュレーション用マ
イクロコンピュータ301によるターゲットプログラム
の実行中に前記設定された条件の成立をエミュレーショ
ンバス302上の情報などに基づいて検出するものであ
る。前記出力データ選択信号ラッチ回路4はタイミング
検出回路1による条件検出に基づいて出力される情報を
ラッチするものであり、そのラッチタイミングは、ディ
レイカウンタ5から出力されるラッチ信号7で制御され
る。前記出力制御データ記憶群3及び出力パターンデー
タ記憶群2は、タイミング検出回路1によって検出され
て出力データ選択信号ラッチ回路4を介して与えられる
情報に応じてデータを出力すると共に、出力すべきデー
タを予めプログラマブルに設定可能とされる。前記夫々
の出力ドライバ6は、ハイレベル、ローレベル、及び高
出力インピーダンスの3状態を選択的にとり得るトライ
・ステート型の出力バッファにより構成され、出力制御
データ記憶群3から出力されるドライバ選択信号8が出
力ドライバ6の出力を高インピーダンス状態にするか否
かを制御し、出力パターンデータ記憶群2から出力され
る出力パターンデータ9が出力ドライバ6の出力論理レ
ベルを決定する。
【0020】図2には前記プログラマブル出力回路10
0の詳細な一例が示される。
0の詳細な一例が示される。
【0021】前記タイミング検出回路1は、特に制限さ
れないが、m個のRAM(ランダム・アクセス・メモリ
)11〜1mを記憶手段として含み、夫々は16ビット
のアドレス入力端子A0〜A15と8ビットのデータ入
出力端子00〜07を有する。前記RAM11〜1mへ
の条件書き込みに際して、前記アドレス入力端子A0〜
A15及びデータ入出力端子00〜07は、図示しない
選択ゲートを介してコントロールバス306にインタフ
ェースされ、コントロールプロセッサ307でアクセス
制御されることにより、RAM11〜1mに所望の条件
が設定される。ここで、RAM11〜1mに設定される
条件とは、同RAM11〜1mを書き込みアクセスする
ときのアドレスとその書き込みデータとによって決定さ
れる。エミュレーションマイクロコンピュータ301が
ユーザプログラムを実行するエミュレーション動作時に
は、前記アドレス入力端子A0〜A15は、図示しない
選択ゲートを介してエミュレーションバス302にイン
タフェースされ、同バス上のアドレス信号ADDR0〜
ADDR15、データ信号D0〜D8、ストローブ信号
、及び図示しない外部プローブの信号EXT8などのプ
ログラム実行情報40が供給され、これをアドレスとし
てリード動作されることにより、エミュレーション動作
の状態に応じて、予め書き込まれているデータがRAM
11〜1mから読出される。RAM11〜1mから読出
されるデータは同一ビット同志がそれぞれ対応する8入
力アンドゲートAND1〜AND8に入力され、その並
列出力が出力データ選択信号41としてラッチ回路4に
与えられる。
れないが、m個のRAM(ランダム・アクセス・メモリ
)11〜1mを記憶手段として含み、夫々は16ビット
のアドレス入力端子A0〜A15と8ビットのデータ入
出力端子00〜07を有する。前記RAM11〜1mへ
の条件書き込みに際して、前記アドレス入力端子A0〜
A15及びデータ入出力端子00〜07は、図示しない
選択ゲートを介してコントロールバス306にインタフ
ェースされ、コントロールプロセッサ307でアクセス
制御されることにより、RAM11〜1mに所望の条件
が設定される。ここで、RAM11〜1mに設定される
条件とは、同RAM11〜1mを書き込みアクセスする
ときのアドレスとその書き込みデータとによって決定さ
れる。エミュレーションマイクロコンピュータ301が
ユーザプログラムを実行するエミュレーション動作時に
は、前記アドレス入力端子A0〜A15は、図示しない
選択ゲートを介してエミュレーションバス302にイン
タフェースされ、同バス上のアドレス信号ADDR0〜
ADDR15、データ信号D0〜D8、ストローブ信号
、及び図示しない外部プローブの信号EXT8などのプ
ログラム実行情報40が供給され、これをアドレスとし
てリード動作されることにより、エミュレーション動作
の状態に応じて、予め書き込まれているデータがRAM
11〜1mから読出される。RAM11〜1mから読出
されるデータは同一ビット同志がそれぞれ対応する8入
力アンドゲートAND1〜AND8に入力され、その並
列出力が出力データ選択信号41としてラッチ回路4に
与えられる。
【0022】このタイミング検出回路1においては、ア
ンドゲートAND1〜AND8から出力される8ビット
の出力データ選択信号41が条件成立の可否を意味する
ものとされるから、この実施例においてタイミング検出
回路1に予めプログラムして検出可能な条件は256通
りとされる。例えば8ビットの出力データ選択信号41
の最下位ビットだけが論理1の状態を条件1の成立状態
とすると、この状態を得るためにはアンドゲートAND
1の入力だけが全て論理1であることが必要である。従
って、条件1に対応するアドレスADDR1〜ADDR
15やデータD0〜D8などの条件をRAM11〜1m
に設定するときは、そのアドレスやデータの条件をアド
レスとしてRAMに供給し、これをリード動作させたと
きにアンドゲートAND1の入力だけが全て論理1にな
るようにデータを書き込んで条件設定される。
ンドゲートAND1〜AND8から出力される8ビット
の出力データ選択信号41が条件成立の可否を意味する
ものとされるから、この実施例においてタイミング検出
回路1に予めプログラムして検出可能な条件は256通
りとされる。例えば8ビットの出力データ選択信号41
の最下位ビットだけが論理1の状態を条件1の成立状態
とすると、この状態を得るためにはアンドゲートAND
1の入力だけが全て論理1であることが必要である。従
って、条件1に対応するアドレスADDR1〜ADDR
15やデータD0〜D8などの条件をRAM11〜1m
に設定するときは、そのアドレスやデータの条件をアド
レスとしてRAMに供給し、これをリード動作させたと
きにアンドゲートAND1の入力だけが全て論理1にな
るようにデータを書き込んで条件設定される。
【0023】本実施例に従えば、256通りの条件の何
れが成立する場合にも8ビットの出力データ選択信号4
1の何れか1ビットは論理1にされるので、アンドゲー
トAND1〜AND8の出力を8入力とするオアゲート
OR1を設け、同ゲートOR1の出力をクロック信号の
サイクルに同期させてアンドゲートAND9から出力さ
せて更新タイミング検出信号42を生成する。前記クロ
ック信号はバスサイクルに同期する信号又はエミュレー
ション用マイクロコンピュータ301の動作クロック信
号に同期する信号とされる。
れが成立する場合にも8ビットの出力データ選択信号4
1の何れか1ビットは論理1にされるので、アンドゲー
トAND1〜AND8の出力を8入力とするオアゲート
OR1を設け、同ゲートOR1の出力をクロック信号の
サイクルに同期させてアンドゲートAND9から出力さ
せて更新タイミング検出信号42を生成する。前記クロ
ック信号はバスサイクルに同期する信号又はエミュレー
ション用マイクロコンピュータ301の動作クロック信
号に同期する信号とされる。
【0024】前記ディレイカウンタ5は、特に制限され
ないが、図示しないプリセット機能付きのダウンカウン
タ又はアップカウンタとされ、コントロールプロセッサ
307によって初期設定されたプリセット値を常時内部
で保持し、プリセット値を基準に、エミュレーション用
マイクロコンピュータ301の動作基準クロック信号を
アップカウント又はダウンカウントし、ボロー若しくは
キャリーが発生する毎にラッチ信号7をアサートする。 このラッチ信号7又はボロー若しくはキャリーはカウン
タ5のリセット信号としても利用され、同じ動作を繰り
返す。出力データ選択信号ラッチ回路4はラッチ信号7
がアサートされる毎に前記アンドゲートAND1〜AN
D8から出力される出力データ選択信号41をラッチし
て後段に伝達する。したがって、ディレイカウンタ5の
プリセット値をプログラマブルに設定することにより、
任意のタイミングを以て出力データ選択信号41を後段
に伝達することができる。
ないが、図示しないプリセット機能付きのダウンカウン
タ又はアップカウンタとされ、コントロールプロセッサ
307によって初期設定されたプリセット値を常時内部
で保持し、プリセット値を基準に、エミュレーション用
マイクロコンピュータ301の動作基準クロック信号を
アップカウント又はダウンカウントし、ボロー若しくは
キャリーが発生する毎にラッチ信号7をアサートする。 このラッチ信号7又はボロー若しくはキャリーはカウン
タ5のリセット信号としても利用され、同じ動作を繰り
返す。出力データ選択信号ラッチ回路4はラッチ信号7
がアサートされる毎に前記アンドゲートAND1〜AN
D8から出力される出力データ選択信号41をラッチし
て後段に伝達する。したがって、ディレイカウンタ5の
プリセット値をプログラマブルに設定することにより、
任意のタイミングを以て出力データ選択信号41を後段
に伝達することができる。
【0025】前記出力パターンデータ記憶群2は、特に
制限されないが、n個のRAM(ランダム・アクセス・
メモリ)21〜2nを記憶手段として含み、夫々は8ビ
ットのアドレス入力端子A0〜A7と8ビットのデータ
入出力端子00〜07を有する。また、前記出力制御デ
ータ記憶群3は、特に制限されないが、n個のRAM(
ランダム・アクセス・メモリ)31〜3nを記憶手段と
して含み、夫々は8ビットのアドレス入力端子A0〜A
7と8ビットのデータ入出力端子00〜07を有する。 前記夫々のRAMのアドレス入力端子は対応ビット同志
で共通接続される。前記RAM21〜2n及びRAM3
1〜3nへの書き込みに際して、前記アドレス入力端子
A0〜A7及びデータ入出力端子00〜07は、図示し
ない選択ゲートを介してコントロールバス306にイン
タフェースされ、コントロールプロセッサ307でアク
セス制御されることにより、データの書き込みが行われ
る。エミュレーション用マイクロコンピュータ301が
ユーザプログラムを実行するエミュレーション動作時は
、前記アドレス入力端子A0〜A7には出力データ選択
信号ラッチ回路4を通してアンドゲートAND1〜AN
D8の出力が供給され、これをアドレスとしてリード動
作されることにより、エミュレーション動作の状態に応
じて前記タイミング検出回路1で検出される条件に応じ
たデータが出力制御データ記憶群3及び出力パターンデ
ータ記憶群2から読出される。出力制御データ記憶群3
から読出されるデータは出力ドライバ6の出力動作を制
御し、これによって出力動作可能にされた出力ドライバ
6は、出力パターンデータ記憶群2から与えられるデー
タに応じて論理1又は論理0のデータを選択回路200
に与える。
制限されないが、n個のRAM(ランダム・アクセス・
メモリ)21〜2nを記憶手段として含み、夫々は8ビ
ットのアドレス入力端子A0〜A7と8ビットのデータ
入出力端子00〜07を有する。また、前記出力制御デ
ータ記憶群3は、特に制限されないが、n個のRAM(
ランダム・アクセス・メモリ)31〜3nを記憶手段と
して含み、夫々は8ビットのアドレス入力端子A0〜A
7と8ビットのデータ入出力端子00〜07を有する。 前記夫々のRAMのアドレス入力端子は対応ビット同志
で共通接続される。前記RAM21〜2n及びRAM3
1〜3nへの書き込みに際して、前記アドレス入力端子
A0〜A7及びデータ入出力端子00〜07は、図示し
ない選択ゲートを介してコントロールバス306にイン
タフェースされ、コントロールプロセッサ307でアク
セス制御されることにより、データの書き込みが行われ
る。エミュレーション用マイクロコンピュータ301が
ユーザプログラムを実行するエミュレーション動作時は
、前記アドレス入力端子A0〜A7には出力データ選択
信号ラッチ回路4を通してアンドゲートAND1〜AN
D8の出力が供給され、これをアドレスとしてリード動
作されることにより、エミュレーション動作の状態に応
じて前記タイミング検出回路1で検出される条件に応じ
たデータが出力制御データ記憶群3及び出力パターンデ
ータ記憶群2から読出される。出力制御データ記憶群3
から読出されるデータは出力ドライバ6の出力動作を制
御し、これによって出力動作可能にされた出力ドライバ
6は、出力パターンデータ記憶群2から与えられるデー
タに応じて論理1又は論理0のデータを選択回路200
に与える。
【0026】前記選択回路200は、前記プログラマブ
ル出力回路100の出力ドライバ6から出力される情報
をユーザ実機400の出力情報に代えてエミュレーショ
ン用マイクロコンピュータ301に供給可能とするもの
であり、選択スイッチ回路201と選択記憶回路202
によって構成される。例えばユーザ実機400に接続可
能なエミュレーション用マイクロコンピュータ301の
ポートをP11〜Pn8(8×n個)とすると、図3に
示されるように、前記選択スイッチ回路201には、夫
々のポートP11〜Pn8を一対一対応でユーザ実機4
00側のソケット又はプログラマブル出力回路100の
擬似出力PORT11〜PORTn8に選択的に切り替
え接続するための選択スイッチSW11〜SWn8が設
けられ、各スイッチSW11〜SWn8の状態は、選択
記憶回路202に記憶されているI/O選択情報に従っ
てプログラマブルに制御可能にされる。選択記憶回路2
02に記憶させるべきI/O選択情報は、特に制限され
ないが、コントロールプロセッサ307の制御によって
転送される。
ル出力回路100の出力ドライバ6から出力される情報
をユーザ実機400の出力情報に代えてエミュレーショ
ン用マイクロコンピュータ301に供給可能とするもの
であり、選択スイッチ回路201と選択記憶回路202
によって構成される。例えばユーザ実機400に接続可
能なエミュレーション用マイクロコンピュータ301の
ポートをP11〜Pn8(8×n個)とすると、図3に
示されるように、前記選択スイッチ回路201には、夫
々のポートP11〜Pn8を一対一対応でユーザ実機4
00側のソケット又はプログラマブル出力回路100の
擬似出力PORT11〜PORTn8に選択的に切り替
え接続するための選択スイッチSW11〜SWn8が設
けられ、各スイッチSW11〜SWn8の状態は、選択
記憶回路202に記憶されているI/O選択情報に従っ
てプログラマブルに制御可能にされる。選択記憶回路2
02に記憶させるべきI/O選択情報は、特に制限され
ないが、コントロールプロセッサ307の制御によって
転送される。
【0027】次ぎにエミュレータの動作例を説明する。
【0028】ユーザ実機400の未完成な状態において
、部分的に未完成な入出力機器とエミュレーション用マ
イクロコンピュータ301との間で情報をやりとりして
機能するI/Oプログラムのソフトウェアデバッグやシ
ステム全体に及ぶ総合的なソフトウェアデバッグを行う
ようなとき、例えば、図6に示されるようなタイミング
検出条件に着目し、同条件の成立に応じて擬似的にデー
タをプログラマブル出力回路からエミュレーション用マ
イクロコンピュータに与える場合の動作を一例として説
明する。
、部分的に未完成な入出力機器とエミュレーション用マ
イクロコンピュータ301との間で情報をやりとりして
機能するI/Oプログラムのソフトウェアデバッグやシ
ステム全体に及ぶ総合的なソフトウェアデバッグを行う
ようなとき、例えば、図6に示されるようなタイミング
検出条件に着目し、同条件の成立に応じて擬似的にデー
タをプログラマブル出力回路からエミュレーション用マ
イクロコンピュータに与える場合の動作を一例として説
明する。
【0029】図6に示されるタイミング検出条件は条件
1から条件4までの4種類とされ、例えば条件1は、ア
ドレス信号が「1000番地」、データが「55」、及
びリードライト信号による指示レベルが「書き込み(W
)」であるようなアクセスサイクルを条件とする。 条件2は、アドレスが「243F番地」とされるような
バスサイクルを条件とする。条件3は、アドレスが「0
5D1番地」、ストローブ信号P2の値が「8B」とさ
れることを条件とする。条件4は、アドレスが「840
2番地」、外部プローブからの入力が「1000110
1」とされることを条件とする。各条件1〜4に応じて
エミュレーション用マイクロコンピュータ301に供給
すべき代替データは図6の下段に各条件に対応して記載
されている通りであり、また、ディレイカウンタ5で得
られる遅延量は条件2が「相対値150」であり、その
他の条件は「相対値0」である。尚、遅延量を条件によ
って相違させるには、特に図示はしないが、その条件毎
にディレイカウンタ5のプリセット値を複数種類保持す
るレジスタなどを設けておき、図2に示されるアンドゲ
ートAND1〜AND8の並列出力値に応じてそのレジ
スタを選択してディレイカウンタ5のプリセット値を変
更可能にすればよい。
1から条件4までの4種類とされ、例えば条件1は、ア
ドレス信号が「1000番地」、データが「55」、及
びリードライト信号による指示レベルが「書き込み(W
)」であるようなアクセスサイクルを条件とする。 条件2は、アドレスが「243F番地」とされるような
バスサイクルを条件とする。条件3は、アドレスが「0
5D1番地」、ストローブ信号P2の値が「8B」とさ
れることを条件とする。条件4は、アドレスが「840
2番地」、外部プローブからの入力が「1000110
1」とされることを条件とする。各条件1〜4に応じて
エミュレーション用マイクロコンピュータ301に供給
すべき代替データは図6の下段に各条件に対応して記載
されている通りであり、また、ディレイカウンタ5で得
られる遅延量は条件2が「相対値150」であり、その
他の条件は「相対値0」である。尚、遅延量を条件によ
って相違させるには、特に図示はしないが、その条件毎
にディレイカウンタ5のプリセット値を複数種類保持す
るレジスタなどを設けておき、図2に示されるアンドゲ
ートAND1〜AND8の並列出力値に応じてそのレジ
スタを選択してディレイカウンタ5のプリセット値を変
更可能にすればよい。
【0030】図7には図6のタイミング検出条件の内の
アドレス条件を設定するためのRAM11の記憶情報の
一例が示される。このRAM11において、アドレス信
号ADDR0〜ADDR15によって特定される「05
D1番地」には「条件3」を意味する条件番号コード「
00000011」が格納され、アドレス信号ADDR
0〜ADDR15によって特定される「1000番地」
には「条件1」を意味する条件番号コード「00000
001」が格納され、アドレス信号ADDR0〜ADD
R15によって特定される「243F番地」には「条件
2」を意味する条件番号コード「00000010」が
格納され、アドレス信号ADDR0〜ADDR15によ
って特定される「8402番地」には「条件4」を意味
する条件番号コード「00000100」が格納される
。ここで、タイミング検出回路1における設定条件が成
立すると、その成立条件を意味する条件コードがアンド
ゲートAND1〜AND8から出力されなければならな
い。したがって、データ条件が設定されるRAM12や
その他の信号条件が設定されるRAMの格納データは、
ドントケア条件も考慮して決定されなければならない。 例えば、データ条件が設定されるRAM12については
、条件1ではデータ値「55」が条件とされるが、条件
2〜条件4まではデータ値はドントケアであるため、デ
ータ値「55」をアドレスとして格納される値は、条件
1〜条件4の4種類の条件番号コードの出力を可能にし
なければならない。したがって、条件1に対応してデー
タ値「55」をアドレスとしてRAM12に格納される
データは、「00000111」とされる。そして、そ
の他のデータ値をアドレスとして格納されるデータは、
条件2〜条件4においてデータ値をドントケアとするよ
うに、全て「00000110」として設定される。そ
の他のストローブ信号に関する条件設定も同様である。 したがって、エミュレーション動作中に図6に示される
条件1が成立するとアンドゲートAND1〜AND8か
らは条件1を意味する条件番号コード「0000000
1」が出力され、同様に、条件2が成立すると条件2を
意味する条件番号コード「00000010」が出力さ
れ、条件3が成立すると条件3を意味する条件番号コー
ド「00000011」が出力され、条件4が成立する
と条件4を意味する条件番号コード「00000100
」が出力される。尚、本明細書に記載されるビット列に
おいて右端が最下位ビットとされる。
アドレス条件を設定するためのRAM11の記憶情報の
一例が示される。このRAM11において、アドレス信
号ADDR0〜ADDR15によって特定される「05
D1番地」には「条件3」を意味する条件番号コード「
00000011」が格納され、アドレス信号ADDR
0〜ADDR15によって特定される「1000番地」
には「条件1」を意味する条件番号コード「00000
001」が格納され、アドレス信号ADDR0〜ADD
R15によって特定される「243F番地」には「条件
2」を意味する条件番号コード「00000010」が
格納され、アドレス信号ADDR0〜ADDR15によ
って特定される「8402番地」には「条件4」を意味
する条件番号コード「00000100」が格納される
。ここで、タイミング検出回路1における設定条件が成
立すると、その成立条件を意味する条件コードがアンド
ゲートAND1〜AND8から出力されなければならな
い。したがって、データ条件が設定されるRAM12や
その他の信号条件が設定されるRAMの格納データは、
ドントケア条件も考慮して決定されなければならない。 例えば、データ条件が設定されるRAM12については
、条件1ではデータ値「55」が条件とされるが、条件
2〜条件4まではデータ値はドントケアであるため、デ
ータ値「55」をアドレスとして格納される値は、条件
1〜条件4の4種類の条件番号コードの出力を可能にし
なければならない。したがって、条件1に対応してデー
タ値「55」をアドレスとしてRAM12に格納される
データは、「00000111」とされる。そして、そ
の他のデータ値をアドレスとして格納されるデータは、
条件2〜条件4においてデータ値をドントケアとするよ
うに、全て「00000110」として設定される。そ
の他のストローブ信号に関する条件設定も同様である。 したがって、エミュレーション動作中に図6に示される
条件1が成立するとアンドゲートAND1〜AND8か
らは条件1を意味する条件番号コード「0000000
1」が出力され、同様に、条件2が成立すると条件2を
意味する条件番号コード「00000010」が出力さ
れ、条件3が成立すると条件3を意味する条件番号コー
ド「00000011」が出力され、条件4が成立する
と条件4を意味する条件番号コード「00000100
」が出力される。尚、本明細書に記載されるビット列に
おいて右端が最下位ビットとされる。
【0031】図8には図6のデータを出力するためのR
AM21の記憶情報の一例が示される。RAM21には
、出力データ選択信号ラッチ回路4から出力される8ビ
ットの条件番号コードにより「00番地」から「FF番
地」までの256通りのアドレスが割り当てられ、同条
件番号コードをアドレスとしてそれに対応する出力パタ
ーンデータが記憶される。具体的には条件1を意味する
条件番号コード「00000001」をアドレスとして
データ「00000001」が記憶される。このデータ
の最下位ビット「1」は図6におけるPORT11のビ
ットの論理値に対応されている。同様に、条件2を意味
する条件番号コード「00000010」をアドレスと
してデータ「00000011」が記憶され、条件3を
意味する条件番号コード「00000011」をアドレ
スとしてデータ「00001000」が記憶され、条件
4を意味する条件番号コード「00000100」をア
ドレスとしてデータ「00000001」が記憶され、
その他のアドレスにはデータ「00000000」が記
憶される。
AM21の記憶情報の一例が示される。RAM21には
、出力データ選択信号ラッチ回路4から出力される8ビ
ットの条件番号コードにより「00番地」から「FF番
地」までの256通りのアドレスが割り当てられ、同条
件番号コードをアドレスとしてそれに対応する出力パタ
ーンデータが記憶される。具体的には条件1を意味する
条件番号コード「00000001」をアドレスとして
データ「00000001」が記憶される。このデータ
の最下位ビット「1」は図6におけるPORT11のビ
ットの論理値に対応されている。同様に、条件2を意味
する条件番号コード「00000010」をアドレスと
してデータ「00000011」が記憶され、条件3を
意味する条件番号コード「00000011」をアドレ
スとしてデータ「00001000」が記憶され、条件
4を意味する条件番号コード「00000100」をア
ドレスとしてデータ「00000001」が記憶され、
その他のアドレスにはデータ「00000000」が記
憶される。
【0032】図9には図6のデータを出力するためのR
AM31の記憶情報の一例が示される。RAM31には
、出力データ選択信号ラッチ回路4から出力される8ビ
ットの条件番号コードにより「00番地」から「FF番
地」までの256通りのアドレスが割り当てられ、同条
件番号コードをアドレスとしてそれに対応する出力制御
データが記憶される。具体的には条件1を意味する条件
番号コード「00000001」をアドレスとしてデー
タ「00000011」が記憶される。このデータの下
位2ビットの「論理1」は図6におけるPORT11,
PORT12のの出力が高インピーダンス状態でないこ
とに対応される。同様に、条件2を意味する条件番号コ
ード「00000010」をアドレスとしてデータ「0
0000011」が記憶され、条件3を意味する条件番
号コード「00000011」をアドレスとしてデータ
「00001011」が記憶され、条件4を意味する条
件番号コード「00000100」をアドレスとしてデ
ータ「00001011」記憶され、その他のアドレス
にはデータ「00000000」が記憶される。
AM31の記憶情報の一例が示される。RAM31には
、出力データ選択信号ラッチ回路4から出力される8ビ
ットの条件番号コードにより「00番地」から「FF番
地」までの256通りのアドレスが割り当てられ、同条
件番号コードをアドレスとしてそれに対応する出力制御
データが記憶される。具体的には条件1を意味する条件
番号コード「00000001」をアドレスとしてデー
タ「00000011」が記憶される。このデータの下
位2ビットの「論理1」は図6におけるPORT11,
PORT12のの出力が高インピーダンス状態でないこ
とに対応される。同様に、条件2を意味する条件番号コ
ード「00000010」をアドレスとしてデータ「0
0000011」が記憶され、条件3を意味する条件番
号コード「00000011」をアドレスとしてデータ
「00001011」が記憶され、条件4を意味する条
件番号コード「00000100」をアドレスとしてデ
ータ「00001011」記憶され、その他のアドレス
にはデータ「00000000」が記憶される。
【0033】図10には選択回路200によるプログラ
マブル出力回路100の出力選択状態例が示される。図
10のケース1は、ユーザ実機400が全く存在しない
場合の例であって、全てのスイッチSW11〜SWn8
はエミュレーション用マイクロコンピュータ301の全
てのポートP11〜Pn8をプログラマブル出力回路1
00の出力PORT11〜PORTn8に接続させる。 これにより、エミュレーションに必要なユーザ実機40
0の出力は全てプログラマブル出力回路100によって
代替される。このケース1は、ユーザ実機400が全く
無くてもI/Oプログラムに関するようなソフトウェア
デバッグを行うときに選択されることになる。
マブル出力回路100の出力選択状態例が示される。図
10のケース1は、ユーザ実機400が全く存在しない
場合の例であって、全てのスイッチSW11〜SWn8
はエミュレーション用マイクロコンピュータ301の全
てのポートP11〜Pn8をプログラマブル出力回路1
00の出力PORT11〜PORTn8に接続させる。 これにより、エミュレーションに必要なユーザ実機40
0の出力は全てプログラマブル出力回路100によって
代替される。このケース1は、ユーザ実機400が全く
無くてもI/Oプログラムに関するようなソフトウェア
デバッグを行うときに選択されることになる。
【0034】図10のケース2は、ユーザ実機400が
提供されている場合の例であり、全てのスイッチSW1
1〜SWn8はエミュレーション用マイクロコンピュー
タ301の全てのポートP11〜Pn8をユーザ実機4
00に接続させる。これにより、プログラマブル出力回
路100を利用するまでもなく従来通りユーザ実機40
0と情報をやりとりしながらシステムデバッグ及びソフ
トウェアデバッグが行われる。
提供されている場合の例であり、全てのスイッチSW1
1〜SWn8はエミュレーション用マイクロコンピュー
タ301の全てのポートP11〜Pn8をユーザ実機4
00に接続させる。これにより、プログラマブル出力回
路100を利用するまでもなく従来通りユーザ実機40
0と情報をやりとりしながらシステムデバッグ及びソフ
トウェアデバッグが行われる。
【0035】図10のケース3は、ユーザ実機400の
一部が未完成な場合の接続例であって、その未完成部分
から本来出力されるべき情報をプログラマブル出力回路
100の出力に代替させるようにスイッチSW11〜S
Wn8の状態が決定されている。このときのスイッチの
状態はホストシステム側からの指示に従ってプログラマ
ブルに制御情報が書き込まれる選択記憶回路202の内
容によって任意に変更することができる。
一部が未完成な場合の接続例であって、その未完成部分
から本来出力されるべき情報をプログラマブル出力回路
100の出力に代替させるようにスイッチSW11〜S
Wn8の状態が決定されている。このときのスイッチの
状態はホストシステム側からの指示に従ってプログラマ
ブルに制御情報が書き込まれる選択記憶回路202の内
容によって任意に変更することができる。
【0036】以上のようにしてプログラマブル出力回路
100及び選択記憶回路202が初期設定されると、実
際にユーザプログラムが実行されてエミュレーションが
行われる。エミュレーション中にエミュレーションバス
302に現れる情報や外部プローブから伝達される情報
はバスサイクルを基準にしたりしてタイミング検出回路
1に供給され、それらによって前記条件1〜条件4の何
れかの成立が検出されると、検出された条件に対応する
ドライバ選択信号8及び出力パターンデータ89が読出
され、ドライバ選択信号8によって動作可能にされる出
力ドライバ6を介して出力パターンデータ9が所定のス
イッチを通してエミュレーションマイクロコンピュータ
301に供給される。これにより、その条件の成立によ
って出力されるパターンデータ9と同じ情報を出力すべ
きユーザ実機400側の回路が存在しなくてもエミュレ
ーションを行うことができる。
100及び選択記憶回路202が初期設定されると、実
際にユーザプログラムが実行されてエミュレーションが
行われる。エミュレーション中にエミュレーションバス
302に現れる情報や外部プローブから伝達される情報
はバスサイクルを基準にしたりしてタイミング検出回路
1に供給され、それらによって前記条件1〜条件4の何
れかの成立が検出されると、検出された条件に対応する
ドライバ選択信号8及び出力パターンデータ89が読出
され、ドライバ選択信号8によって動作可能にされる出
力ドライバ6を介して出力パターンデータ9が所定のス
イッチを通してエミュレーションマイクロコンピュータ
301に供給される。これにより、その条件の成立によ
って出力されるパターンデータ9と同じ情報を出力すべ
きユーザ実機400側の回路が存在しなくてもエミュレ
ーションを行うことができる。
【0037】図11にはエミュレーションの一単位とし
てのユーザプログラムのフローチャート例が示される。 このフローチャートは「ステップ群1」から「ステップ
群8」へ至るフローをメインルーチンとし、「ステップ
群1」と「ステップ群5」との間には非同期で第1割り
込み処理ルーチンが入ったり、また、「分岐1」におけ
る条件判定結果の如何によっては「ステップ群9」から
「ステップ群14」に至るフローに分岐したり、さらに
は、「ステップ群9」と「ステップ13」との間に非同
期で第2割り込み処理ルーチンが入ったりする。ここで
、図6の条件に従ってプログラマブル出力回路100に
設定された条件1は「ステップ7」で成立すべき条件と
し、条件2は「ステップ13」で成立すべき条件とし、
条件3は「ステップ3」で成立すべき条件とし、条件4
0は「ステップ11」で成立すべき条件とすると、図1
1に示されるフローによって代表されるようなユーザプ
ログラムをソフトウェアデバッグするとき、その実行フ
ローにおける割り込み処理ルーチンの発生の可否、「分
岐1」における条件判定の如何に拘らず、どのような経
路を通ってユーザプログラムが実行されても、その経路
に応じて条件1〜条件4の何れかが成立して必要な情報
をユーザ実機400に代わってエミュレーション用マイ
クロコンピュータ301に与えることができ、ユーザプ
ログラムをフローの開始から終了まで実行してエミュレ
ーションを完了することができる。したがって、従来の
ようにプログラムフローを予測してパターンデータを作
成しする必要もなく、また、そのような予測に反して割
り込みなどが非同期で発生した場合に従来は正常にエミ
ュレーションすることができないという事態も発生しな
い。
てのユーザプログラムのフローチャート例が示される。 このフローチャートは「ステップ群1」から「ステップ
群8」へ至るフローをメインルーチンとし、「ステップ
群1」と「ステップ群5」との間には非同期で第1割り
込み処理ルーチンが入ったり、また、「分岐1」におけ
る条件判定結果の如何によっては「ステップ群9」から
「ステップ群14」に至るフローに分岐したり、さらに
は、「ステップ群9」と「ステップ13」との間に非同
期で第2割り込み処理ルーチンが入ったりする。ここで
、図6の条件に従ってプログラマブル出力回路100に
設定された条件1は「ステップ7」で成立すべき条件と
し、条件2は「ステップ13」で成立すべき条件とし、
条件3は「ステップ3」で成立すべき条件とし、条件4
0は「ステップ11」で成立すべき条件とすると、図1
1に示されるフローによって代表されるようなユーザプ
ログラムをソフトウェアデバッグするとき、その実行フ
ローにおける割り込み処理ルーチンの発生の可否、「分
岐1」における条件判定の如何に拘らず、どのような経
路を通ってユーザプログラムが実行されても、その経路
に応じて条件1〜条件4の何れかが成立して必要な情報
をユーザ実機400に代わってエミュレーション用マイ
クロコンピュータ301に与えることができ、ユーザプ
ログラムをフローの開始から終了まで実行してエミュレ
ーションを完了することができる。したがって、従来の
ようにプログラムフローを予測してパターンデータを作
成しする必要もなく、また、そのような予測に反して割
り込みなどが非同期で発生した場合に従来は正常にエミ
ュレーションすることができないという事態も発生しな
い。
【0038】図4にはプログラマブル出力回路の別の例
が示される。プログラマブル出力回路において、タイミ
ング検出回路1から出力される出力データ選択信号4を
直接出力制御データ記憶群3及び出力パターンデータ記
憶群2に供給し、その出力をラッチ回路4A,4Bで受
けて出力タイミングを制御するようにしてもよい。
が示される。プログラマブル出力回路において、タイミ
ング検出回路1から出力される出力データ選択信号4を
直接出力制御データ記憶群3及び出力パターンデータ記
憶群2に供給し、その出力をラッチ回路4A,4Bで受
けて出力タイミングを制御するようにしてもよい。
【0039】上記実施例によれば以下の作用効果を得る
ことができる。
ことができる。
【0040】(1)ユーザ実機400に代わって擬似的
に信号を出力すべき条件をプログラマブルに設定可能で
あって、ターゲットプログラムの実行中には前記設定さ
れた条件の成立を検出するタイミング検出回路1と、こ
のタイミング検出回路1によって検出される条件に応じ
て、予めプログラマブルに格納されているデータを出力
する出力パターンデータ記憶群2及び出力制御データ記
憶群3とを有するプログラマブル出力回路100を設け
、このプログラマブル出力回路100の出力情報を選択
回路200によりユーザ実機400の出力情報に代えて
エミュレーション用マイクロコンピュータ301に供給
可能にするから、ユーザ実機400が未完成な状態にお
いて、部分的に未完成な入出力機器とエミュレーション
用マイクロコンピュータ301との間で情報をやりとり
して機能するI/Oプログラムのソフトウェアデバッグ
やシステム全体に及ぶ総合的なソフトウェアデバッグな
どを行うとき、未完成な部分からの信号を代替するため
のプログラマブル出力回路100がエミュレーション用
マイクロコンピュータ301に信号を出力すべきタイミ
ングを、そのときエミュレーションバス302上に現れ
るアドレス値やデータ値などによってプログラマブルに
条件設定しておけば、この条件設定されたタイミング検
出回路1がターゲットプログラムの実行時にその条件を
エミュレーションバス302上のデータ値等から検出す
ることによって、予め出力パターンデータ記憶群2及び
出力制御データ記憶群3にプログラマブルに格納されて
いる対応データを擬似的にエミュレーション用マイクロ
コンピュータ301に供給することができる。このよう
に、プログラマブル出力回路100に設定した条件が成
立するか否かによって、擬似的な信号をエミュレーショ
ン用マイクロコンピュータ301に供給するから、設定
条件成立過程においてどのような命令実行フローを経る
かを予想しなくてもよく、また予想に反しても必要な動
作状態において所要の情報をエミュレーション用マイク
ロコンピュータ301に供給してエミュレーションを行
うことができる。したがって、ユーザ実機400が未完
成な状態であっても必要な情報をエミュレーション用マ
イクロコンピュータ301に与えてソフトウェアデバッ
グ並びにシステムでバッグを比較的簡単に且つ確実に行
うことが可能になる。
に信号を出力すべき条件をプログラマブルに設定可能で
あって、ターゲットプログラムの実行中には前記設定さ
れた条件の成立を検出するタイミング検出回路1と、こ
のタイミング検出回路1によって検出される条件に応じ
て、予めプログラマブルに格納されているデータを出力
する出力パターンデータ記憶群2及び出力制御データ記
憶群3とを有するプログラマブル出力回路100を設け
、このプログラマブル出力回路100の出力情報を選択
回路200によりユーザ実機400の出力情報に代えて
エミュレーション用マイクロコンピュータ301に供給
可能にするから、ユーザ実機400が未完成な状態にお
いて、部分的に未完成な入出力機器とエミュレーション
用マイクロコンピュータ301との間で情報をやりとり
して機能するI/Oプログラムのソフトウェアデバッグ
やシステム全体に及ぶ総合的なソフトウェアデバッグな
どを行うとき、未完成な部分からの信号を代替するため
のプログラマブル出力回路100がエミュレーション用
マイクロコンピュータ301に信号を出力すべきタイミ
ングを、そのときエミュレーションバス302上に現れ
るアドレス値やデータ値などによってプログラマブルに
条件設定しておけば、この条件設定されたタイミング検
出回路1がターゲットプログラムの実行時にその条件を
エミュレーションバス302上のデータ値等から検出す
ることによって、予め出力パターンデータ記憶群2及び
出力制御データ記憶群3にプログラマブルに格納されて
いる対応データを擬似的にエミュレーション用マイクロ
コンピュータ301に供給することができる。このよう
に、プログラマブル出力回路100に設定した条件が成
立するか否かによって、擬似的な信号をエミュレーショ
ン用マイクロコンピュータ301に供給するから、設定
条件成立過程においてどのような命令実行フローを経る
かを予想しなくてもよく、また予想に反しても必要な動
作状態において所要の情報をエミュレーション用マイク
ロコンピュータ301に供給してエミュレーションを行
うことができる。したがって、ユーザ実機400が未完
成な状態であっても必要な情報をエミュレーション用マ
イクロコンピュータ301に与えてソフトウェアデバッ
グ並びにシステムでバッグを比較的簡単に且つ確実に行
うことが可能になる。
【0041】(2)前記所望の条件をコントロールプロ
セッサ307を介してプログラマブルに書き込み可能で
あって、また、エミュレーション動作中にはエミュレー
ション用マイクロコンピュータ301が入出力するデー
タ信号、アドレス信号、及びストローブ信号などによっ
て読出しアクセスされるRAM11〜1mと、RAM1
1〜1mの出力を入力として前記条件の成立を検出する
論理回路AND1〜AND8とを含めてタイミング検出
回路1を構成することにより、同回路1を比較的簡単に
構成することができる。
セッサ307を介してプログラマブルに書き込み可能で
あって、また、エミュレーション動作中にはエミュレー
ション用マイクロコンピュータ301が入出力するデー
タ信号、アドレス信号、及びストローブ信号などによっ
て読出しアクセスされるRAM11〜1mと、RAM1
1〜1mの出力を入力として前記条件の成立を検出する
論理回路AND1〜AND8とを含めてタイミング検出
回路1を構成することにより、同回路1を比較的簡単に
構成することができる。
【0042】(3)前記プログラマブル出力回路100
の出力タイミングを、前記タイミング検出回路1による
検出タイミングに対して任意に遅延させるディレイカウ
ンタ5を設けることにより、プログラマブル出力回路1
00から与えられる情報の伝達遅延を、実際にインタフ
ェースケーブルを介してユーザ実機400から与えられ
る情報の伝達遅延に整合させたりするタイミング設定が
可能になる。
の出力タイミングを、前記タイミング検出回路1による
検出タイミングに対して任意に遅延させるディレイカウ
ンタ5を設けることにより、プログラマブル出力回路1
00から与えられる情報の伝達遅延を、実際にインタフ
ェースケーブルを介してユーザ実機400から与えられ
る情報の伝達遅延に整合させたりするタイミング設定が
可能になる。
【0043】(4)前記選択回路200には、エミュレ
ーション用マイクロコンピュータ301をユーザ実機4
00にインタフェースするための信号線毎に、これをプ
ログラマブル出力回路100の出力に切り替え接続可能
な選択スイッチSW11〜SWn8を設け、夫々のスイ
ッチSW11〜SWn8の接続状態を選択記憶回路20
2の保有情報に従ってプログラマブルに制御可能にする
ことにより、プログラマブル出力回路100をユーザ実
機400と併用したりユーザ実機400だけを用いてエ
ミュレーションすることができるという高い自由度を得
ることができる。
ーション用マイクロコンピュータ301をユーザ実機4
00にインタフェースするための信号線毎に、これをプ
ログラマブル出力回路100の出力に切り替え接続可能
な選択スイッチSW11〜SWn8を設け、夫々のスイ
ッチSW11〜SWn8の接続状態を選択記憶回路20
2の保有情報に従ってプログラマブルに制御可能にする
ことにより、プログラマブル出力回路100をユーザ実
機400と併用したりユーザ実機400だけを用いてエ
ミュレーションすることができるという高い自由度を得
ることができる。
【0044】以上本発明者によってなされた発明を実施
例に基づいて具体的に説明したが、本発明はそれに限定
されるものではなく、その要旨を逸脱しない範囲におい
て種々変更可能であることは言うまでもない。
例に基づいて具体的に説明したが、本発明はそれに限定
されるものではなく、その要旨を逸脱しない範囲におい
て種々変更可能であることは言うまでもない。
【0045】例えば、上記実施例ではコントロールプロ
セッサ307でプログラマブル出力回路100を初期設
定する構成について説明したが、コントロールプロセッ
サを有さず、エミュレーション用マイクロコンピュータ
の動作プログラム空間をユーザプログラム空間からシス
テムプログラム空間に切り替えて、同システムプログラ
ムに基づいて行うようにしてもよい。また、タイミング
検出回路の論理回路はアンドゲートに限定されるもので
はなく、ドントケア条件をどのようにプログラムするか
のかという点との関係に応じて適宜の論理に変更可能で
ある。また、タイミング検出回路における設定条件の成
立可否の判定に外部プローブからの入力を使用するか否
かは自由に決定することができる。
セッサ307でプログラマブル出力回路100を初期設
定する構成について説明したが、コントロールプロセッ
サを有さず、エミュレーション用マイクロコンピュータ
の動作プログラム空間をユーザプログラム空間からシス
テムプログラム空間に切り替えて、同システムプログラ
ムに基づいて行うようにしてもよい。また、タイミング
検出回路の論理回路はアンドゲートに限定されるもので
はなく、ドントケア条件をどのようにプログラムするか
のかという点との関係に応じて適宜の論理に変更可能で
ある。また、タイミング検出回路における設定条件の成
立可否の判定に外部プローブからの入力を使用するか否
かは自由に決定することができる。
【0046】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野である周辺回
路内蔵型の1チップ型マイクロコンピュータをエミュレ
ーション用マイクロコンピュータとするエミュレータに
適用した場合について説明したが、本発明はそれに限定
されるものではなく、マルチチップ形式のエミュレーシ
ョン用マイクロコンピュータを搭載するものにも適用す
ることができる。
なされた発明をその背景となった利用分野である周辺回
路内蔵型の1チップ型マイクロコンピュータをエミュレ
ーション用マイクロコンピュータとするエミュレータに
適用した場合について説明したが、本発明はそれに限定
されるものではなく、マルチチップ形式のエミュレーシ
ョン用マイクロコンピュータを搭載するものにも適用す
ることができる。
【0047】本発明は、少なくともターゲットシステム
の信号出力機能をプログラマブルに代替して有効な条件
のものに広く適用することができる。
の信号出力機能をプログラマブルに代替して有効な条件
のものに広く適用することができる。
【0048】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0049】すなわち、プログラマブル出力回路に設定
した条件が成立するか否かによって、擬似的な信号をエ
ミュレーション用マイクロコンピュータに供給するから
、ターゲットプログラムの実行フローを正確に予測しな
くてもターゲットシステムの信号出力機能をプログラマ
ブルに代替することができ、設定条件成立過程において
どのような命令実行フローを経るかを予想しなくてもよ
く、また予想に反しても必要な動作状態において所要の
情報をエミュレーション用マイクロコンピュータに供給
してエミュレーションを行うことができるという効果が
ある。これにより、ターゲットシステムが未完成な状態
において、部分的に未完成な入出力機器とエミュレーシ
ョン用マイクロコンピュータとの間で情報をやりとりし
て機能するI/Oプログラムのソフトウェアデバッグや
システム全体に及ぶ総合的なデバッグを行うとき、必要
な情報をエミュレーション用マイクロコンピュータに与
えてソフトウェアデバッグ並びにシステムデバッグを比
較的簡単に且つ確実に行うことが可能になる。
した条件が成立するか否かによって、擬似的な信号をエ
ミュレーション用マイクロコンピュータに供給するから
、ターゲットプログラムの実行フローを正確に予測しな
くてもターゲットシステムの信号出力機能をプログラマ
ブルに代替することができ、設定条件成立過程において
どのような命令実行フローを経るかを予想しなくてもよ
く、また予想に反しても必要な動作状態において所要の
情報をエミュレーション用マイクロコンピュータに供給
してエミュレーションを行うことができるという効果が
ある。これにより、ターゲットシステムが未完成な状態
において、部分的に未完成な入出力機器とエミュレーシ
ョン用マイクロコンピュータとの間で情報をやりとりし
て機能するI/Oプログラムのソフトウェアデバッグや
システム全体に及ぶ総合的なデバッグを行うとき、必要
な情報をエミュレーション用マイクロコンピュータに与
えてソフトウェアデバッグ並びにシステムデバッグを比
較的簡単に且つ確実に行うことが可能になる。
【0050】前記所望の条件をプログラマブルに書き込
み可能であって、エミュレーション用マイクロコンピュ
ータが入出力するデータ信号、アドレス信号、及びスト
ローブ信号によって読出しアクセスされるRAMと、R
AMの出力を入力として前記条件の成立を検出する論理
回路とを含めて構成することにより、前記タイミング検
出手段を比較的簡単に構成することができる。
み可能であって、エミュレーション用マイクロコンピュ
ータが入出力するデータ信号、アドレス信号、及びスト
ローブ信号によって読出しアクセスされるRAMと、R
AMの出力を入力として前記条件の成立を検出する論理
回路とを含めて構成することにより、前記タイミング検
出手段を比較的簡単に構成することができる。
【0051】前記プログラマブル出力回路の出力タイミ
ングを、前記タイミング検出手段による検出タイミング
に対して任意に遅延させる遅延手段を設けることにより
、プログラマブル出力回路から与えられる情報の伝達遅
延を実際にインタフェースケーブルを介してターゲット
システムから与えられる情報の伝達遅延に整合させたり
するタイミング設定を可能にすることができる。
ングを、前記タイミング検出手段による検出タイミング
に対して任意に遅延させる遅延手段を設けることにより
、プログラマブル出力回路から与えられる情報の伝達遅
延を実際にインタフェースケーブルを介してターゲット
システムから与えられる情報の伝達遅延に整合させたり
するタイミング設定を可能にすることができる。
【0052】前記選択回路は、エミュレーション用マイ
クロコンピュータをターゲットシステムにインタフェー
スするための信号線毎に、これをプログラマブル出力回
路の出力に切り替え接続可能な選択スイッチを持ち、夫
々のスイッチの接続状態を、記憶手段の保有情報に従っ
てプログラマブルに制御可能にすることにより、プログ
ラマブル出力回路又はターゲットシステムだけを用いた
り両者を併用してエミュレーションを行うことができる
という高い自由度を得ることができる。
クロコンピュータをターゲットシステムにインタフェー
スするための信号線毎に、これをプログラマブル出力回
路の出力に切り替え接続可能な選択スイッチを持ち、夫
々のスイッチの接続状態を、記憶手段の保有情報に従っ
てプログラマブルに制御可能にすることにより、プログ
ラマブル出力回路又はターゲットシステムだけを用いた
り両者を併用してエミュレーションを行うことができる
という高い自由度を得ることができる。
【図1】図1は本発明に係るエミュレータの一実施例ブ
ロック図である。
ロック図である。
【図2】図2はタイミング検出回路の詳細な一例ブロッ
ク図である。
ク図である。
【図3】図3は選択回路の詳細な一例ブロック図である
。
。
【図4】図4はプログラマブル出力回路の別の例を示す
詳細ブロック図である。
詳細ブロック図である。
【図5】図5はエミュレータ本体の詳細な一例ブロック
図である。
図である。
【図6】図6はプログラマブル出力回路に設定されるタ
イミング検出条件とその出力の一例を示す説明図である
。
イミング検出条件とその出力の一例を示す説明図である
。
【図7】図7は図6のタイミング検出条件の内のアドレ
ス条件を設定するためのRAM11の記憶情報の一例説
明図である。
ス条件を設定するためのRAM11の記憶情報の一例説
明図である。
【図8】図8は図6の代替データを得るためのRAM2
1の記憶情報の一例説明図である。
1の記憶情報の一例説明図である。
【図9】図9は図6の代替データを得るためのRAM3
1の記憶情報の一例説明図である。
1の記憶情報の一例説明図である。
【図10】図10は選択回路によるプログラマブル出力
回路の出力選択状態を例示的に3態様で示す説明図であ
る。
回路の出力選択状態を例示的に3態様で示す説明図であ
る。
【図11】図11はエミュレーションの一単位としての
ユーザプログラムの一例フローチャートである。
ユーザプログラムの一例フローチャートである。
1 タイミング検出回路
2 出力パターンデータ記憶群
3 出力制御データ記憶群
4 出力データ選択信号ラッチ回路
5 ディレイカウンタ
11〜1m RAM
AND1〜AND8 アンドゲート
21〜2n RAM
31〜3n RAM
100 プログラマブル出力回路
200 選択回路
201 選択スイッチ回路
SW11〜SWn8 スイッチ
202 選択記憶回路
300 エミュレータ本体
301 エミュレーション用マイクロコンピュータ3
02 エミュレーションバス 400 ユーザ実機
02 エミュレーションバス 400 ユーザ実機
Claims (4)
- 【請求項1】 着目すべき条件をプログラマブルに複
数種類設定可能であって、エミュレーション用マイクロ
コンピュータによるターゲットプログラムの実行中に前
記設定された条件の成立を検出するためのタイミング検
出手段と、前記タイミング検出手段によって検出される
条件に応じてデータを出力すると共に、出力すべきデー
タを予めプログラマブルに設定可能な出力データ記憶手
段とを有し、ターゲットシステムからエミュレーション
用マイクロコンピュータに供給されるべき信号の全部又
は一部をプログラマブルに生成するプログラマブル出力
回路と、前記プログラマブル出力回路の出力情報をター
ゲットシステムの出力情報に代えてエミュレーション用
マイクロコンピュータに供給可能な選択回路と、を含ん
で成るものであることを特徴とするエミュレータ。 - 【請求項2】 前記タイミング検出手段は、前記所望
の条件をプログラマブルに書き込み可能であって、エミ
ュレーション用マイクロコンピュータが入出力するデー
タ信号、アドレス信号、及びストローブ信号によって読
出しアクセスされるRAMと、RAMの出力を入力とし
て前記条件の成立を検出する論理回路とを含んで成るも
のであることを特徴とする請求項2記載のエミュレータ
。 - 【請求項3】 前記プログラマブル出力回路の出力タ
イミングを、前記タイミング検出手段による検出タイミ
ングに対して任意に遅延させる遅延手段を設けて成るも
のであることを特徴とする請求項1又は2記載のエミュ
レータ。 - 【請求項4】 前記選択回路は、エミュレーション用
マイクロコンピュータをターゲットシステムにインタフ
ェースするための信号線毎に、これをプログラマブル出
力回路の出力に切り替え接続可能な選択スイッチを持ち
、夫々のスイッチの接続状態を、記憶手段の保有情報に
従ってプログラマブルに制御可能にされて成るものであ
ることを特徴とする請求項1乃至3の何れか1項記載の
エミュレータ。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2414904A JPH04229337A (ja) | 1990-12-27 | 1990-12-27 | エミュレータ |
| US07/806,643 US5408637A (en) | 1990-12-27 | 1991-12-13 | Emulation techniques giving necessary information to a microcomputer to perform software debug and system debug even for incomplete target system |
| KR1019910024599A KR920013106A (ko) | 1990-12-27 | 1991-12-27 | 에뮬레이터 및 에뮬레이션 방법 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2414904A JPH04229337A (ja) | 1990-12-27 | 1990-12-27 | エミュレータ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04229337A true JPH04229337A (ja) | 1992-08-18 |
Family
ID=18523334
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2414904A Withdrawn JPH04229337A (ja) | 1990-12-27 | 1990-12-27 | エミュレータ |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5408637A (ja) |
| JP (1) | JPH04229337A (ja) |
| KR (1) | KR920013106A (ja) |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE4211162C2 (de) * | 1992-03-31 | 1996-03-21 | Manfred Dipl Ing Zeiner | Hardware-Emulationssystem |
| US5699554A (en) * | 1994-10-27 | 1997-12-16 | Texas Instruments Incorporated | Apparatus for selective operation without optional circuitry |
| JPH08171504A (ja) * | 1994-12-19 | 1996-07-02 | Mitsubishi Denki Semiconductor Software Kk | エミュレ−ション装置 |
| US5838948A (en) * | 1995-12-01 | 1998-11-17 | Eagle Design Automation, Inc. | System and method for simulation of computer systems combining hardware and software interaction |
| US5949995A (en) * | 1996-08-02 | 1999-09-07 | Freeman; Jackie Andrew | Programmable branch prediction system and method for inserting prediction operation which is independent of execution of program code |
| US5996092A (en) * | 1996-12-05 | 1999-11-30 | International Business Machines Corporation | System and method for tracing program execution within a processor before and after a triggering event |
| US6154801A (en) * | 1997-07-31 | 2000-11-28 | Advanced Micro Devices, Inc. | Verification strategy using external behavior modeling |
| US6173243B1 (en) | 1997-07-31 | 2001-01-09 | Advanced Micro Devices, Inc. | Memory incoherent verification methodology |
| US6073194A (en) * | 1997-07-31 | 2000-06-06 | Advanced Micro Devices, Inc. | Transaction based windowing methodology for pre-silicon verification |
| US6314557B1 (en) | 1998-12-14 | 2001-11-06 | Infineon Technologies Development Center Tel Aviv Ltd | Hybrid computer programming environment |
| US6609172B1 (en) * | 2000-04-20 | 2003-08-19 | Hewlett-Packard Development Company, L.P. | Breaking up a bus to determine the connection topology and dynamic addressing |
| KR100426304B1 (ko) * | 2001-09-17 | 2004-04-08 | 한국전자통신연구원 | 스마트 카드 에뮬레이터 및 그 에뮬레이션 방법 |
| GB0202728D0 (en) * | 2002-02-06 | 2002-03-27 | Transitive Technologies Ltd | Condition code flag emulation for program code conversion |
| US7331040B2 (en) * | 2002-02-06 | 2008-02-12 | Transitive Limted | Condition code flag emulation for program code conversion |
| KR100865990B1 (ko) * | 2002-05-02 | 2008-10-29 | 주식회사 케이티 | 인터페이스 카드의 양방향 에뮬레이터 |
| US7313729B2 (en) * | 2004-02-20 | 2007-12-25 | Winbond Electronics Corp. | Low-cost debugging system with a ROM or RAM emulator |
| EP1720100B1 (de) * | 2005-05-02 | 2007-07-18 | Accemic GmbH & Co. KG | Verfahren und Vorrichtung zur Emulation einer programmierbaren Einheit |
| JPWO2008099931A1 (ja) * | 2007-02-15 | 2010-05-27 | 富士通テン株式会社 | マイクロコンピュータの模擬装置 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4084869A (en) * | 1976-11-10 | 1978-04-18 | Intel Corporation | Interconnector for integrated circuit package |
| US4740895A (en) * | 1981-08-24 | 1988-04-26 | Genrad, Inc. | Method of and apparatus for external control of computer program flow |
| GB8413933D0 (en) * | 1984-05-31 | 1984-07-04 | Columbia Automation Ltd | Emulating timing characteristics of microprocessor |
| US4782461A (en) * | 1984-06-21 | 1988-11-01 | Step Engineering | Logical grouping of facilities within a computer development system |
| US4674089A (en) * | 1985-04-16 | 1987-06-16 | Intel Corporation | In-circuit emulator |
| JPH0727471B2 (ja) * | 1985-08-01 | 1995-03-29 | 日本電気株式会社 | マイクロコンピュータ開発装置 |
| JPS62173539A (ja) * | 1986-01-27 | 1987-07-30 | Yokogawa Electric Corp | インサ−キット・エミュレ−タ |
| JPS6441938A (en) * | 1987-08-07 | 1989-02-14 | Sharp Kk | Microcomputer developing device |
| US5109353A (en) * | 1988-12-02 | 1992-04-28 | Quickturn Systems, Incorporated | Apparatus for emulation of electronic hardware system |
| US5228039A (en) * | 1990-05-09 | 1993-07-13 | Applied Microsystems Corporation | Source-level in-circuit software code debugging instrument |
-
1990
- 1990-12-27 JP JP2414904A patent/JPH04229337A/ja not_active Withdrawn
-
1991
- 1991-12-13 US US07/806,643 patent/US5408637A/en not_active Expired - Fee Related
- 1991-12-27 KR KR1019910024599A patent/KR920013106A/ko not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| KR920013106A (ko) | 1992-07-28 |
| US5408637A (en) | 1995-04-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH04229337A (ja) | エミュレータ | |
| US6075941A (en) | Microcomputer | |
| EP0911735B1 (en) | Microprocessor test system | |
| EP0165517A2 (en) | Emulator for non-fixed instruction set VLSI devices | |
| KR100272937B1 (ko) | 마이크로프로세서및멀티프로세서시스템 | |
| US5832251A (en) | Emulation device | |
| US5768563A (en) | System and method for ROM program development | |
| JPH0798692A (ja) | マイクロコンピュータ | |
| US6704858B1 (en) | Information processor and method for switching those register files | |
| JP2000194551A (ja) | フラッシュメモリ書換え回路 | |
| US8200943B2 (en) | Microprocessor | |
| KR0177742B1 (ko) | 마이크로 콘트롤러의 칩내에 합체 가능한 마이크로 콘트롤러 디벨롭먼트 시스템 | |
| KR20010052868A (ko) | 에뮬레이터 시스템에서 사용자 메모리를 업데이트하기위한 방법 및 시스템 | |
| JPH0934748A (ja) | エミュレーション用マイクロコンピュータ | |
| JPS6410854B2 (ja) | ||
| JPH02186448A (ja) | デバッグ環境を備えた集積回路 | |
| JP3547012B2 (ja) | マイクロコンピュータ | |
| JP2679591B2 (ja) | エミュレーションチップ及びインサーキットエミュレー タ | |
| JP2619416B2 (ja) | エミュレータ | |
| JPH0285934A (ja) | エミュレータ | |
| JPH04160650A (ja) | マイクロプロセッサ | |
| JP3097602B2 (ja) | データ処理装置 | |
| KR100658485B1 (ko) | 마이크로프로세서 개발시스템 | |
| KR960010921B1 (ko) | 데이타 프로세서에 있어서의 처리제어방법 | |
| JP2622026B2 (ja) | 中央処理装置におけるレジスタ書込制御方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19980312 |