JPH11296404A - 物理的および/またはシミュレ―トされたハ―ドウエアを含み、エンベットされたマイクロプロセッサ・システムをテストするシステムおよび方法 - Google Patents

物理的および/またはシミュレ―トされたハ―ドウエアを含み、エンベットされたマイクロプロセッサ・システムをテストするシステムおよび方法

Info

Publication number
JPH11296404A
JPH11296404A JP11039136A JP3913699A JPH11296404A JP H11296404 A JPH11296404 A JP H11296404A JP 11039136 A JP11039136 A JP 11039136A JP 3913699 A JP3913699 A JP 3913699A JP H11296404 A JPH11296404 A JP H11296404A
Authority
JP
Japan
Prior art keywords
target
hardware
processor
target processor
signal
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.)
Granted
Application number
JP11039136A
Other languages
English (en)
Other versions
JP3715456B2 (ja
Inventor
Michael R Buckmaster
アール. バックマスター マイケル
Arnold S Berger
エス. バーガー アーノルド
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.)
Applied Microsystems Corp
Original Assignee
Applied Microsystems Corp
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 Applied Microsystems Corp filed Critical Applied Microsystems Corp
Publication of JPH11296404A publication Critical patent/JPH11296404A/ja
Application granted granted Critical
Publication of JP3715456B2 publication Critical patent/JP3715456B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 組み込み型システム中のターゲットハードウ
ェアを設計および製造期間全体にわたってテスト可能に
する。 【解決手段】 ターゲット・モニタは、ターゲット・プ
ロセッサがシミュレートされたハードウェアにいつアク
セスを試みているかを判断する。シミュレートされたハ
ードウェアへのアクセスが行われると、バス・キャプチ
ャ回路はターゲット・プロセッサのバス・コネクション
に現れた出力信号をキャプチャし、その出力信号を出力
データに変換する。この出力データは、次に、コミュニ
ケーション・インタフェースを通してハードウェア・シ
ミュレータに結合される。ハードウェア・シミュレータ
は物理的ハードウェアが出力データに対応する信号に応
答するのと同じようにデータを処理する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的には、組み
込み型システムにおけるソフトウェアとハードウェアを
テストすることに関し、さらに具体的には、ハードウェ
アを全体的にまたは部分的にシミュレートすることが可
能であるような、組み込み型システムにおけるソフトウ
ェアとハードウェアをテストするためのシステムおよび
方法に関する。
【0002】
【従来の技術】コンピュータ・シミュレーションの使用
は、回路設計などの多くの分野で普及している。集積回
路の製造コストは極めて高価であり、集積回路に組み込
まれるハードウェアは集積回路の実際の製造前にテスト
することが望ましいとされている。その目的のために、
集積回路メーカは、ハードウェアと、そのハードウェア
に実行させることを目的としたソフトウェアとをテスト
するためにシミュレータを使用することがよく行われて
いる。望ましいハードウェア設計は「ターゲット・ハー
ドウェア」と呼ばれるのに対し、ターゲット・ハードウ
ェア内の「ターゲット・プロセッサ」に実行させること
を目的としたソフトウェアは「ターゲット・プログラ
ム」と呼ばれている。
【0003】ターゲット・ハードウェアの製造前にター
ゲット・ハードウェアをテストするために使用される手
法には、いくつかの手法がある。そのアプローチの1つ
は、コンピュータ・ハードウェア・シミュレータを使用
してハードウェアをシミュレートする方法である。ハー
ドウェア・シミュレータとは、ターゲット・ハードウェ
アの応答をシミュレートするソフトウェア・プログラム
であり、その全体がソフトウェアで実現されている。従
って、ハードウェア・シミュレータでは、ターゲット・
ハードウェアはターゲット・プロセッサも含めて、その
全体がコンピュータ・ソフトウェアによってシミュート
されている。
【0004】アプローチのもう1つは、ターゲット・ハ
ードウェアのハードウェア・エミュレータとのインタフ
ェースとなるターゲット・プロセッサを使用する方法で
ある。このハードウェア・エミュレータは、フィールド
プログラマブル(書き換え可能)ゲートアレイ (field-
programmable gate array)などのように、ターゲット・
ハードウェアの機能を実行するようにプログラム可能で
ある再構成可能ハードウェアを使用して実現されている
のが代表的である。ターゲット・プログラムはハードウ
ェア・エミュレータと共に使用されるメモリ・デバイス
から実行されているのが代表的である。しかし、ターゲ
ット・プロセッサはマイクロプロセッサ・エミュレータ
内のマイクロプロセッサを使用して実現できる場合もあ
り、そのような場合には、ターゲット・プロセッサは、
マイクロプロセッサ・エミュレータ内のメモリからのタ
ーゲット・プログラムを実行することが可能になってい
る。従って、ハードウェア・エミュレータによる方法で
は、ターゲット・ハードウェアはターゲット・プロセッ
サも含めて、その全体がハードウェアで実現されてお
り、その場合には、ターゲット・プロセッサは実際のタ
ーゲット・ハードウェアではなく、エミュレートされた
ターゲット・ハードウェアとのインタフェースとなって
いる。
【0005】さらに最近では、組み込み型システム (em
bedded system)をテストするためのシステムが開発され
ており、そこでは、ハードウェア・シミュレータはマイ
クロプロセッサ・エミュレータに結合されている。この
システムは米国特許出願第 08/566,401 号(発明者 Geo
ffrey J. Bunza) に記載されている。なお、これは引用
により本明細書の一部を構成するものである。コミュニ
ケーション・インタフェースはメモリ、エミュレータ内
のマイクロプロセッサ、およびハードウェア・シミュレ
ータの相互間のコミュニケーションを制御する。マイク
ロプロセッサはメモリからターゲット命令を受け取る
と、そのターゲット命令を実行する。マイクロプロセッ
サがターゲット・ハードウェアとのやりとり (interact
ion)を必要とするときは、エミュレータはハードウェア
・シミュレータと連絡して、シミュレートされたターゲ
ット・ハードウェアがマイクロプロセッサとやりとりす
るようにする。Bunzaがとっているアプローチの利
点は、ハードウェア・シミュレータがマイクロプロセッ
サをシミュレートする必要がないために、ハードウェア
・シミュレーション・タスクが大幅に軽減されることで
ある。さらに、ターゲット・コードは、ターゲット・ハ
ードウェアとのやりとりが行われるまではほぼ通常のス
ピードで実行される。
【0006】上述したアプローチの各々には、利点と欠
点がある。ハードウェア・シミュレタは、特にターゲッ
ト・プログラムを実行する複雑なマイクロプロセッサを
シミュレートするために使用されるときは極めて低速
で、扱いづらくなっている。従って、完全なターゲット
・プログラムをテストすることは、代表的なハードウェ
ア・シミュレータが必要とする実行時間が非常に長いた
めに実用的でない。ハードウェア・エミュレータとのイ
ンタフェースとなる実際のターゲット・プロセッサを使
用すると、ターゲット・プログラムの実行は高速化され
るが、ターゲット・ハードウェアの機能を実行するため
に必要とされるハードウェア・エミュレータのプログラ
ミングの費用が高くなる可能性がある。Bunzaによ
るアプローチは上述した問題の多くを解決しているが、
それが使用できるのはシミュレートされたターゲット・
ハードウェアに限られている。このアプローチは、ハー
ドウェア全体またはその一部がターゲット・システム内
に物理的に存在する場合には、ターゲットのソフトウェ
アとハードウェアをテストするために使用することがで
きない。従って、ターゲット・システムをテストできる
のは、Bunzaのアプローチを使用する場合はターゲ
ット・ハードウェアの製造が開始される前であり、従来
のエミュレータを使用する場合はターゲット・ハードウ
ェアの製造が完了した後である。しかし、ターゲット・
ソフトウェアとハードウェアを、ターゲット・ハードウ
ェアが部分的にしか製造されていないハードウェア製造
過程でテスト可能にする、満足すべき手法はまだ知られ
ていない。
【0007】32ビット・マイクロプロセッサと複雑な
オペレーティング・ソフトウェアの出現に伴って、組み
込み型システムは非常に複雑化している。今日製造され
ているエレクロニック製品の大部分はストアド・ソフト
ウェア・プログラムを実行する、ある種のコンピュータ
・ハードウェアを実装している。組み込み型システムの
代表例としては、「ターゲット・プログラム」内の命令
を実行し、特定用途向けIC (application specific i
ntegrated circuit - ASIC) またはカスタムIC (cust
om integrated circuit)といった「ターゲット・ハード
ウェア」とやりとりする「ターゲット・プロセッサ」が
ある。
【0008】最新のエレクトロニクス設計の複雑さと密
度が与えられているとき、望ましいことは、最初のシス
テム・プロトタイプが、ターゲット・ハードウェアとタ
ーゲット・プログラムも含めて、フォーム(形状)、フ
ィット(適合性)および機能の面で最終製品と近似して
いることである。従って、ターゲット・ハードウェア・
プロトタイプは最終的なASICおよびカスタムIC設
計を含んでいるのが理想的である。しかるに、以下で述
べる理由により、通常の場合、組み込み型システムのプ
ロトタイプを上記のような方法で作ることは実用的でな
い。
【0009】ソフトウェア・エンジニアが作業を開始す
るとき、最終的にターゲット・プログラムを実行するタ
ーゲット・ハードウェアは物理的な形で存在していな
い。上で説明したように、ターゲット・ハードウェアが
物理的に実現される前にターゲット・ソフトウェアがソ
ターゲット・ハードウェアとやりとりしながらターゲッ
ト・ソフトウェアをテストしていくことを可能にする、
さまざまな方法が開発されている。しかし、同じく上で
説明したように、これらの方法はいずれも完全に満足す
べきものではない。その結果、ターゲット・システムの
物理的ターゲット・ハードウェアとターゲット・ソフト
ウェアは、プロトタイプ・ターゲット・ハードウェアが
製造されたとき初めて一緒にされるのが代表的になって
いる。物理的ターゲット・ハードウェアはその前に利用
可能になっていないため、プロトタイプ・ターゲット・
ハードウェアとソフトウェアの統合化時にロードされた
ターゲット・プログラムが働いていないことがよくあ
る。よくあることは、この統合化問題は厳密にはソフト
ウェアの複雑さが原因で起こっている。そのために、タ
ーゲット・プログラムに問題があることが原因でソフト
ウェア開発に著しい遅延が起こっている。統合化のその
他の問題は、ターゲット・ハードウェアがターゲット・
プログラムとやりとりすることが原因で起こっている。
その結果、ASICとカスタムIC設計のコストが多大
であることを考えると、ソフトウェア修正が相対的に低
コストで容易なので、ソフトウェアをターゲット・ハー
ドウェア・プロタイプに無理に適合させることがよく行
われ、それにより予定されたソフトウェア開発期間が全
体的に増大する。
【0010】
【発明が解決しようとする課題】以上の理由から、組み
込み型システムのターゲット・プログラムとターゲット
・ハードウェアを、ターゲット・ハードウェアの一部だ
けがすでに製造され、組み込み型システムに物理的に存
在している時点も含めて、ターゲット・ハードウェアの
設計と製造期間全体にわたってテストすることを可能に
するようなシステムが要求されている。
【0011】
【課題を解決するための手段】本発明は、ターゲット・
プロセッサと、そのターゲット・プロセッサによって実
行されるターゲット・プログラムを格納しているメモリ
と、その一部だけが物理的に存在し、ターゲット・プロ
グラムに結合されているようなターゲット・ハードウェ
アとを実装している組み込み型エレクトロニック・シス
テムをテストするためのシステムと方法で実現されてい
る。テスト・システムは、ターゲット・プロセッサに結
合されたターゲット・モニタと、ターゲット・ハードウ
ェアのうち組み込み型システムにまだ物理的に存在しな
い部分をシミュレートするように構成されたハードウェ
ア・シミュレータと前記ターゲット・モニタとを結合し
ているコミュニケーション・インタフェースとを含んで
いる。ターゲット・モニタは、ターゲット・プロセッサ
がターゲット・ハードウェアのシミュレート部分にアク
セスする時点またはターゲット・ハードウェアのシミュ
レート部分がターゲット・プロセッサにアクセスする時
点を検出する。シミュレートされたターゲット・ハード
ウェアへのアクセスを検出すると、ターゲット・モニタ
はターゲット・プロセッサがターゲット・プログラムを
実行することを一時中止させる。その後、ターゲット・
モニタはターゲット・プロセッサから出力され、シミュ
レートされたハードウェアに送られる出力信号を、対応
する出力データに変換する。この出力データはコミュニ
ケーション・インタフェース経由でハードウェア・シミ
ュレータに転送され、そこでデータは、もしターゲット
・ハードウェアが組み込み型システムに物理的に存在し
ていれば、ターゲット・プロセッサからの対応する信号
がそのターゲット・ハードウェアによって処理されるの
と同じように処理される。シミュレートされたターゲッ
ト・ハードウェアがターゲット・プロセッサにアクセス
することを試みるか、あるいはターゲット・プロセッサ
によるアクセスに応答することを試みると、ハードウェ
ア・シミュレータは、信号、すなわち、もしターゲット
・ハードウェアが組み込み型システムに物理的に存在し
ていれば、そのターゲット・ハードウェアによって生成
されるであろう信号に対応する入力データを生成する。
この入力データはコミュニケーション・インタフェース
を通してターゲット・モニタに結合され、そこでデータ
はターゲット・プロセッサに印加される信号に変換され
る。この信号は、もしターゲット・ハードウェアが組み
込み型システムに物理的に存在していれば、そのターゲ
ット・ハードウェアによって生成される信号と同じもの
である。組み込み型システムに物理的に存在するターゲ
ット・ハードウェアへの、ターゲット・プロセッサによ
るアクセスは、そのターゲット・ハードウェアのすべて
が製造された後で組み込み型システムで行われるのと同
じように行われる。
【0012】好ましくは、ターゲット・モニタはシミュ
ートされた物理ハードウェアへのアクセスを、次の2つ
のモードのどちらかで検出する。第1のモードでは、タ
ーゲット・モニタは、シミュレートされたターゲット・
ハードウェアのアドレス空間にあるアドレスがターゲッ
ト・プロセッサから出されるとそのことを検出する。第
2のモードでは、ターゲット・モニタは、ターゲット・
プロセッサによるアクセスに応じて通常行われるように
ターゲット・ハードウェアがあらかじめ定めた時間内
に、受信確認信号を返すことができないと、そのことを
検出する。シミュレートされたターゲット・ハードウェ
アのアドレス空間内のアドレスへのアクセスは、好まし
くは、マッピング・メモリとアドレス・コンパレータを
使用して検出される。マッピング・メモリはシミュレー
トされたターゲット・ハードウェアのアドレス空間内の
アドレスを記録しており、アドレス・コンパレータはタ
ーゲット・プロセッサのアドレス・バスに現れた各アド
レスを、マッピング・メモリに記録されたアドレスと比
較する。アドレスが一致していれば、ターゲット・モニ
タはターゲット・プログラムの実行を一時中止し、上述
したようにハードウェア・シミュレータによりアクセス
処理を実行させる。受信確認信号が返されなかったこと
は、制御信号モニタとタイマによって検出することが好
ましい。制御信号モニタは、ターゲット・プロセッサが
物理ターゲット・ハードウェアにアクセスすると、物理
ターゲット・ハードウェアからの受信確認信号を受信す
るように構成された、ターゲット・プロセッサ上の端子
をモニタしている。制御信号モニタは受信確認信号を受
信すると、それに応答して検出信号を生成する。タイマ
はターゲット・プロセッサがターゲット・ハードウェア
にアクセスすると、それに応答してタイミング期間の計
時を開始する。タイミング期間を開始した後、あらかじ
め定めた期間内に検出信号が受信されていなければ、タ
イマはターゲット・プログラムの実行を一時中止し、上
述したようにアクセスをハードウェア・シミュレータに
よりアクセス処理を実行させる。
【0013】
【発明の実施の形態】組み込み型エレクトロニック・シ
ステムをテストするためのシステムの一実施形態を図1
に示す。組み込み型システム10はターゲット・プロセ
ッサ12と、これに結合されたメモリ14とを備え、メ
モリ14はターゲット・プロセッサ12によって実行さ
れるターゲット・プログラム16を少なくとも格納して
いる。メモリ14は、ターゲット・プロセッサ12によ
って使用される他のプログラム命令および/またはデー
タを格納しておくことも可能である。また、メモリ14
はリードオンリメモリ(read only memory - ROM)、ラン
ダムアクセスメモリ(random access memory - RAM)、ま
たはROMとRAMを組み合わせたものにすることがで
きる。
【0014】組み込み型システム10内のターゲット・
プロセッサ12には物理ターゲット・ハードウェア20
も結合されており、これはすでに実装されているターゲ
ット・ハードウェアからなっている。ターゲット・ハー
ドウェアのうち、まだ物理ターゲット・ハードウェアに
含まれていない残余部分は以下で説明するようにシミュ
レートされている。
【0015】組み込み型システム10をテストするため
のシステム30は、ターゲット・モニタ32、コミュニ
ケーション・インタフェース34、およびコミュニケー
ション・インタフェース34を通してターゲット・モニ
タ32に結合されているハードウェア・シミュレータ3
6を含んでいる。ハードウェア・シミュレータ36はタ
ーゲット・ハードウェアのうち物理ターゲット・ハード
ウェア20に含まれていない部分をシミュートする、従
来型のデバイスである。例えば、ハードウェア・シミュ
レータは適切に構成されたハードウェア・シミュレーシ
ョン・プログラムを実行するホスト・コンピュータで実
現することが可能である。
【0016】オペレーション時には、ターゲット・プロ
セッサ12はターゲット・プログラム16を実行するこ
とにより、ターゲット・プロセッサ12は物理ターゲッ
ト・ハードウェア20と、シミュレートされたターゲッ
ト・ハードウェアの両方にアクセスする。ターゲット・
プロセッサ12は物理ターゲット・ハードウェア20に
通常のようにアクセスするが、これは物理ターゲット・
ハードウェア20が実際に組み込み型システム10に存
在するからである。しかし、ターゲット・プロセッサ1
2は、シミュレートされたターゲット・ハードウェアが
まだ実装されていないので、ターゲット・ハードウェア
のシミュレートされた部分に通常のようにアクセスする
ことができない。
【0017】ターゲット・プロセッサ12が物理ターゲ
ット・ハードウェア20以外のターゲット・ハードウェ
アにアクセスすることを試みるとき、ターゲット・プロ
セッサ12はそのターゲット・ハードウェアにではなく
テスト・システム30にアクセスする。より具体的に
は、ターゲット・モニタ32は以下で説明するように、
ターゲット・プロセッサ12上の該当する端子をモニタ
し、物理ターゲット・ハードウェア20に含まれていな
いターゲット・ハードウェアにターゲット・プロセッサ
12がいつアクセスしようと試みているかを判断する。
次に、ターゲット・モニタ32はターゲット・プロセッ
サ12からの出力信号を対応する出力データに変換す
る。この出力データはコミュニケーション・インタフェ
ース34を通してハードウェア・シミュレータ36に結
合される。その後、ハードウェア・シミュレータ36
は、ターゲット・ハードウェアがもし組み込み型システ
ムに物理的に存在していれば、ターゲット・プロセッサ
12からの出力信号を処理するのと同じように出力デー
タを処理する。ある場合には、ターゲット・ハードウェ
アは信号をターゲット・プロセッサ12に返すことによ
って、ターゲット・プロセッサ12からの出力信号に応
答するように構成されている。他の場合には、ターゲッ
ト・ハードウェアはターゲット・プロセッサ12とのや
りとりを開始するようになっている。どちらの場合も、
ハードウェア・シミュレータ36は入力データを生成
し、この入力データはコミュニケーション・インタフェ
ース34を通してターゲット・モニタ32に結合され
る。その後、ターゲット・モニタ32は入力データを対
応する入力信号に変換し、この入力信号はターゲット・
プロセッサ12の該当する端子に印加される。入力信号
は、シミュレートされたターゲット・ハードウェアがも
し組み込み型システム10に物理的に存在していれば、
ターゲット・プロセッサ12に印加されるであろう入力
信号と同じものである。
【0018】ターゲット・プロセッサ12がシミュレー
トされたターゲット・ハードウェアに、上述したように
アクセスしている時間の間に、ターゲット・モニタ32
は該当する制御信号をターゲット・プロセッサ12に印
加して、ターゲット・プログラム16の実行を一時中止
させる。従って、ターゲット・プログラム16の実行
は、シミュレートされたターゲット・ハードウェアがも
し物理ターゲット・ハードウェア20の一部であれば、
ターゲット・プログラム16が実行されるのと同じ順序
で続けられる。ターゲット・プロセッサ12がターゲッ
ト・プログラム16の実行を一時中止している時間の間
に、ターゲット・プロセッサは種々の割り込みルーチン
で割り込処理サービスを行うことができる。これは、タ
ーゲット・プロセッサ12を延長待ち状態(extended w
aited state)に置いたままにし、ターゲット・プログ
ラムの実行を一時中止することによって実現される。具
体的には、バス・サイクルは終了され、例外ハンドラ、
すなわち、カストマがターゲット・プログラムにリンク
するような例外ハンドラへの即時ベクトル (immediate
vector) がある。この例外ハンドラは基本的にポーリン
グ・ループ内に置かれていて、ポーリング・ループによ
りハードウェア・シミュレータ36がシミュレートされ
たターゲット・ハードウェアへのアクセスの処理を完了
するのを待機する。このポーリング・ループの間、ター
ゲット・プロセッサ12によるサービスを必要とする他
の例外は、いずれもそのサービスを受けることができ
る。ハードウェア・シミュレータ36が応答すると、ポ
ーリング・ループから抜け出て、シミュレートされたタ
ーゲット・ハードウェアへのアクセスを引き起こしたバ
ス・サイクルが再生成され、例外ハンドラから抜け出る
ことになる。このプロセスはシミュレートされたターゲ
ット・ハードウェア36への読み取りアクセスのときだ
け行われるのが代表的である。その理由は、書き込みア
クセスはバス・サイクルを正しく完了するためには、シ
ミュレートされたターゲット・ハードウェアからデータ
を受信したかどうかに左右されないためである。従っ
て、ターゲット・プロセッサ12はある程度のマルチタ
スキングにすることが可能である。
【0019】ターゲット・プロセッサ12とメモリ14
はスタンドアロン・コンポーネントであるかのように図
1に示されているが、当然に理解されるように、これら
は物理ターゲット・ハードウェア20を実装している組
み込み型システムにプラグインされる従来型のエミュレ
ータ(図示せず)にすることも可能である。
【0020】物理ターゲット・ハードウェア20の一部
ではないターゲット・ハードウェアに対して、ターゲッ
ト・プロセッサ12がいつアクセスしようと試みている
かを判断するためにターゲット・モニタ32によって使
用される手法には、さまざまなものがある。例えば、タ
ーゲット・モニタ32はシミュレートされたターゲット
・ハードウェアのアドレス空間内にあるアドレスを記録
することができる。その後、ターゲット・モニタ32は
ターゲット・プロセッサ12のアドレス・バスをモニタ
することができる。ターゲット・プロセッサ12がシミ
ュレートされたハードウェアのアドレス空間内にあるア
ドレスを出力した場合には、ターゲット・モニタ32は
ターゲット・プロセッサ12のデータ・バスとアドレス
・バスに現れた信号をキャプチャし、1つまたは2つ以
上の制御信号をターゲット・プロセッサ12に印加し
て、シミュレートされたハードウェアへのアクセスが完
了するまでターゲット・プログラムの実行を一時中止す
る。上記とは別に、シミュレートされたハードウェアが
アクセスに対して受信確認または他の信号で応答するよ
うに構成されている場合には、ターゲット・モニタ32
は、ターゲット・プロセッサ12に結合されている受信
確認または他の信号がそこに現れる、信号ラインをモニ
タすることができる。受信確認または他の信号があらか
じめ定めた時間内にターゲット・プロセッサ12に印加
されない場合には、受信確認または他の信号を返す物理
ターゲット・ハードウェア20が組み込み型システム1
0に存在しないことが明らかであるので、ターゲット・
モニタ32はそのアクセスをシミュレートされたターゲ
ット・ハードウェアへのアクセスとして扱うことができ
る。
【0021】以下では、図1のテスト・システム30で
使用されるターゲット・モニタ32とコミュニケーショ
ン・インタフェースの実施形態について、図2を参照し
て詳しく説明する。ターゲット・モニタ32は、(a) タ
ーゲット・プロセッサ12(図1)のアドレス・バス、
制御バスおよびデータ・バスに結合されているターゲッ
ト・インタフェース回路40、(b) ターゲット・プロセ
ッサ12がシミュレートされたターゲット・ハードウェ
アにいつアクセスしようと試みているかを検出するアク
セス検出器42、(c) ターゲット・プロセッサ12から
の信号をキャプチャし、ターゲット・プロセッサ12に
印加する信号を生成するバス・キャプチャ/ドライバ回
路44、(d) ターゲット・モニタ32のオペレーション
を制御する制御プロセッサ46、(e) プロセッサ46に
よって実行されるプログラムを格納しているROM 4
8、および(f) データをストアするためにプロセッサ4
6によって使用されるRAM50を含んでいる。プロセ
ッサ46は、コミュニケーション・インタフェース34
に結合されている通信ポート54も含んでいる。コミュ
ニケーション・インタフェース34は従来のイーサネッ
ト (Ethernet) ドライバ66と、ハードウェア・シミュ
レータ36(図1)の従来型イーサネット・コネクタ
(図示せず)に接続される従来型イーサネット・コネク
タ68とを含んでいる。
【0022】ターゲット・インタフェース回路40はタ
ーゲット・アドレス・バス・バッファ70、ターゲット
制御バス・バッファ72およびターゲット・データ・バ
ス・バッファ74を含んでいる。ターゲット・アドレス
・バス・バッファ70はターゲット・プロセッサ12の
アドレス・バスからアドレス信号を受信し、その信号を
内部アドレス・バス80に結合する。同様に、ターゲッ
ト・データ・バス・バッファ74は、ターゲット・プロ
セッサ12のデータ・バスと内部データ・バス94の間
を結合し、データ信号を転送する。ターゲット制御バス
・バッファ72は、ターゲット・プロセッサ12の制御
バスと内部制御バス82の間を結合し、少なくとも一部
の制御信号を転送する。ターゲット・プロセッサ12か
ら内部制御バス82に転送される制御信号の1つとし
て、ターゲット・クロック・ライン90に結合されてい
るターゲット・クロック信号がある。
【0023】システムはターゲット・クロック信号も受
信し、その信号をターゲット・データ/制御バス・バッ
ファ制御回路88に印加するターゲット・クロック制御
回路86も含んでいる。ターゲット・データ/制御バス
・バッファ制御回路88はターゲット制御バス・バッフ
ァ72とターゲット・データ・バス・バッファ74をタ
ーゲット・クロック信号と同期して選択的にイネーブル
して、ターゲット・プロセッサ12からの制御信号およ
びデータ信号をキャプチャし、その制御信号およびデー
タ信号を適切な時間にターゲット・プロセッサ12に印
加できるようにする。
【0024】場合によっては、ターゲット・クロック制
御回路86とターゲット・データ/制御バス・バッファ
制御回路88はテスト目的のために、組み込み型システ
ム10に組み込んでおくこともできる。その場合は、タ
ーゲット・クロック制御回路86はターゲット・クロッ
ク信号をターゲット・プロセッサ12から切り離す(de
couple)ことができるように設計することが可能であ
る。ターゲット・クロック信号がターゲット・プロセッ
サ12から切り離されると、ターゲット・プロセッサ1
2はターゲット・プログラム16の実行を一時中止す
る。従って、ターゲット・クロック制御回路は、ハード
ウェア・シミュレータ36がシミュレートされたターゲ
ット・ハードウェアへのアクセスを処理しているとき、
ターゲット・プロセッサ12にターゲット・プログラム
16の実行を一時中止させる1つの手段となっている。
【0025】内部アドレス・バス80はアクセス検出器
42と、バス・キャプチャおよびドライバ回路44内の
ターゲット・アドレス・バス・ラッチ100とに結合さ
れている。以下で詳しく説明するように、ターゲット・
アドレス・バス・ラッチ100はターゲット・アドレス
・バス・バッファ70からのアドレス信号をキャプチャ
し、そのアドレス信号を制御プロセッサ46に結合す
る。また、以下で詳しく説明するように、アドレス検出
器42は内部アドレス・バス80に現れたアドレス信号
を検査し、ターゲット・プロセッサ12がシミュレート
されたターゲット・ハードウェアにアクセスすることを
試みているかどうかを判断する。
【0026】内部制御バス82とターゲット・クロック
・ライン90はアクセス検出器42に結合されている
が、内部制御バス82の方はバス・キャプチャ/ドライ
バ回路44内のターゲット制御バス・ラッチ112にも
結合されている。以下で説明するように、アクセス検出
器42はターゲット・クロック信号のあらかじめ定めた
サイクル数にわたって内部制御バス82に現れるある種
の制御信号を調べ、物理ターゲット・ハードウェア20
が組み込み型システム10にいつ存在しないかを判断
し、ターゲット・ハードウェアへのアクセス試みに応答
して受信確認信号を返す。このようにして、アクセス検
出器42はターゲット・ハードウェアへのアクセスを試
みていることがシミュレートされたターゲット・ハード
ウェアへのアクセスであると判断する。ターゲット制御
バス・ラッチ112は、シミュレートされたターゲット
・ハードウェアへのアクセスが読み取りアクセスである
か、書き込みアドレスであるかを指定しているR/W*
信号のような、ターゲット・プロセッサの端子に現れた
信号をキャプチャするために使用される。また、ターゲ
ット制御バス・バッチ112は、ターゲット・プログラ
ム16(図1)の実行を一時中止する制御信号のよう
な、ターゲット・プロセッサ12に印加される1つまた
は2つ以上の制御信号を出力するためにも使用される。
例えば、ハードウェア・シミュレータ36がシミュレー
トされたターゲット・ハードウェアへのアクセスを処理
している期間に、ターゲット制御バス・ラッチ112
は、インアクティブREADY信号をIntel(登録
商標)プロセッサに出力することも、インアクティブ・
データ・ストローブ確認DSACK信号をターゲット・
プロセッサ12で使用されているMotorola(登
録商標)プロセッサに出力することもできる。
【0027】内部データ・バス94はバス・キャプチャ
/ドライバ回路44内のターゲット・データ・バス・ラ
ッチ102に結合されている。ターゲット・データ・バ
ス・ラッチ102はデータ信号を内部データ・バス94
に出力し、内部データ・バス94からのデータ・バス信
号をストアする。
【0028】ターゲット・アドレス・バス・ラッチ10
0とターゲット・データ・バス・ラッチ102のほか
に、バス・キャプチャ/ドライバ回路44はモニタ制御
ラッチ110とアドレス・デコーダ114を含んでい
る。アドレス・デコーダ114はラッチ100〜112
の各々に対応する制御プロセッサ46からのアドレスを
デコードする。制御プロセッサは、ラッチ100〜11
2の特定ラッチからの信号を、その特定ラッチに対応す
るアドレスを出力することによってストアし、あるいは
受信する。これと同時に、制御プロセッサ46はアクセ
スされるラッチ100〜112にストアすべき信号を印
加するか、あるいはアクセスされるラッチ100〜11
2からの信号をデータ・バス122から受信する。ま
た、制御プロセッサ46は該当の制御信号を制御バス1
24経由でアドレス・デコーダに印加する。
【0029】オペレーション時には、モニタ制御ラッチ
110はラッチ100、102および112のオペレー
ションを制御するために使用される信号を制御プロセッ
サ46から受信する。以下で詳しく説明するように、タ
ーゲット・プロセッサ12がシミュレートされたターゲ
ット・ハードウェアにアクセスすることを試みていると
アクセス検出器42が判断したとき、アクセス検出器は
信号をモニタ制御ラッチ110に印加する。その後、モ
ニタ制御ラッチ110はターゲット・プロセッサ12か
らのアドレス信号、制御信号およびデータ信号を、それ
ぞれ他のラッチ100、102、および112にキャプ
チャさせる。また、モニタ制御ラッチ110は制御信号
をバッファ制御回路88に、制御信号をアクセス検出器
42に印加する。
【0030】アクセス検出器42はマッピングRAM1
30とタイムアウト回路132を含んでいる。以下で詳
しく説明するように、マッピングRAM130はシミュ
レートされたターゲット・ハードウェアへのアクセス
を、シミュートされたターゲット・ハードウェアのアド
レス空間内にある、ターゲット・プロセッサ12からの
アドレスを検出することによって検出する。タイムアウ
ト回路132はシミュレートされたターゲット・ハード
ウェアへのアクセスを、ターゲット・ハードウェアへの
アクセスに対する応答としてあらかじめ定めた時間内に
受信確認を返したターゲット・ハードウェアが組み込み
型システム10に存在しないと判断することによって検
出する。
【0031】マッピングRAM130はアドレス・マル
チプレクサ140を含んでおり、これは制御プロセッサ
46のアドレス・バス120または内部アドレス・バス
80のどちらかをマップRAM142に結合している。
そのために、アドレス・マルチプレクサ140は制御プ
ロセッサ46がアドレス・バス120を経由して、ある
いはターゲット・プロセッサ12がそのアドレス・バス
(図示せず)、ターゲット・アドレス・バス・バッファ
70、および内部アドレス・バス80を経由してマップ
RAM130に対してアクセス可能にしている。マッピ
ングRAM130はデータ・マルチプレクサ144も含
んでおり、これはマップRAM142と、制御プロセッ
サ46のデータ・バス122またはORゲート150の
一方の入力に印加されるデータ・ラインとの間でデータ
を転送させる。アドレス・マルチプレクサ140とデー
タ・マルチプレクサ142は制御プロセッサ46によっ
て制御され、そのために制御プロセッサ46はアドレス
・マルチプクサ140とデータ・マルチプレクサ142
に印加される該当の制御信号をモニタ制御ラッチ110
にストアしている。
【0032】オペレーション時には、マップRAM14
2は、初期状態では、アドレス・マルチプレクサ140
が制御プロセッサ46のアドレス・バス120を、デー
タ・マルチプレクサ144が制御プロセッサ46のデー
タ・バス122をマップRAM 142に結合するよう
にプログラムされる。その後、制御プロセッサ46はタ
ーゲット・プロセッサ12のアドレス空間内の各アドレ
スにビットをストアする。各アドレスにストアされたビ
ットは、そのアドレスが物理ターゲット・ハードウェア
20のアドレス空間内にあればロジック「0」に、その
アドレスがシミュレートされたターゲット・ハードウェ
アのアドレス空間内にあれば各アドレスのストアされた
ビットはロジック「1」になっている。マップRAM1
42がプログラムされた後、アドレス・マルチプレクサ
140は内部アドレス・バス80をマップRAM142
に、マップRAM142からのデータ・ビットをORゲ
ート150に結合する。ターゲット・プロセッサ12が
ターゲット・プログラム16を実行すると、ターゲット
・プロセッサ12から出力されたアドレスはターゲット
・アドレス・バス70、内部アドレス・バス80、およ
びアドレス・マルチプレクサ140を通してマップRA
M142に結合される。ターゲット・プロセッサ46か
らの各アドレスはマップRAM142にアクセスし、こ
れによりマップRAM 142はそのアドレスにストア
されたデータ・ビットを出力する。このデータ・ビット
はアドレスが物理ターゲット・ハードウェアのアドレス
空間にあることを示すロジック「0」になっているか、
あるいはアドレスがシミュレートされたターゲット・ハ
ードウェアのアドレス空間にあることを示すロジック
「1」になっている。ターゲット・プロセッサ12から
出力されたアドレスがシミュレートされたターゲット・
ハードウェアのアドレス空間にあれば、ORゲート15
0はロジック「1」を出力する。
【0033】タイムアウト・カウンタ132はターゲッ
ト・クロック・カウンタ160とカウンタ制御回路16
2を含んでいる。ターゲット・クロック・カウンタ16
0はカウンタ制御回路162からプリロードされた初期
カウントから最終カウントまでインクリメントしてい
く。また、カウンタ制御回路162はターゲット・クロ
ック・カウンタ160を選択的にイネーブルにする。タ
ーゲット・クロック・カウンタ160は最終カウントま
で到達すると、ロジック「1」を出力し、これによりO
Rゲート150はロジック「1」を出力する。カウンタ
制御回路162はモニタ制御ラッチ110が該当の制御
信号を出力したときそれに応答して初期カウントをスト
アする。その後、カウンタ制御回路162は制御プロセ
ッサ46のデータ・バス122からの初期カウントをス
トアする。次に、カウンタ制御回路162は初期カウン
トをターゲット・クロック・カウンタ160にプリロー
ドし、ターゲット・クロック・カウンタ160はターゲ
ット・バス制御バッファ72からのターゲット・クロッ
ク信号に応答してインクリメントしていく。しかし、カ
ウンタ制御回路162は、ターゲット・プロセッサ12
がターゲット・ハードウェア(物理ハードウェア20ま
たはシミュレートされたハードウェアのどちらか)にア
クセスすることを試みたことを示す専用の制御信号をカ
ウンタ制御回路162に印加した後だけターゲット・ク
ロック・カウンタ160をインクリメントさせる。ター
ゲット・プロセッサ12が物理ターゲット・ハードウェ
ア20にアクセスしていれば、物理ターゲット・ハード
ウェア20は受信確認信号を返し、これはターゲット制
御バス・バッファ72からカウンタ制御回路162に印
加される。この受信確認信号を受けると、カウンタ制御
回路162はターゲット・クロック・カウンタ160を
ディスエーブルし、ターゲット・クロック・カウンタ1
60が最終カウントに到達しないようにする。従って、
ターゲット・クロック・カウンタ160はロジック
「1」を出力しないことになる。しかし、ターゲット・
ハードウェア12がアクセスしているアドレスに物理タ
ーゲット・ハードウェアが存在しなければ、どの物理タ
ーゲット・ハードウェアからも受信確認信号が返されな
い。その結果、ターゲット・クロック・カウンタ160
は最終カウントまでインクリメントするので、ターゲッ
ト・クロック・カウンタはロジック「1」を出力する。
これを受けて、ORゲート150はロジック「1」を出
力する。従って、ORゲート150は、ターゲット・プ
ロセッサ12がシミュレートされたターゲット・ハード
ウェアにアクセスすることを試みているとマッピングR
AM130またはタイムアウト・カウンタ132が検出
すると、ロジック「1」を出力することになる。
【0034】ORゲート150の出力はデコード/コン
トローラ通知回路170に印加され、この回路からは該
当の制御信号がモニタ制御ラッチ110に印加される。
これを受けて、モニタ制御ラッチ110はターゲット・
プロセッサ12からのアドレス信号、データ信号、およ
び制御信号をバス・ラッチ100、102、および11
2にキャプチャさせる。アドレス信号、データ信号、お
よび制御信号はラッチ100、102、および112か
ら制御プロセッサ46に結合され、そこでこれらの信号
は対応する出力データに変換される。この出力データ
は、コミュニケーション・インタフェース34を通して
ハードウェア・シミュレータ36に結合され、そこでこ
のデータは、もし物理ターゲット・ハードウェアが実際
に組み込み型システム10に存在していれば、物理ター
ゲット・ハードウェアが制御プロセッサからのアドレス
信号、データ信号、および制御信号を処理するのと同じ
ように処理される。
【0035】シミュレートされたターゲット・ハードウ
ェアがアクセスに応答して受信確認信号を返した場合、
あるいはシミュレートされたターゲット・ハードウェア
とターゲット・プロセッサ12とのやりとりがシミュレ
ートされたターゲット・ハードウェアによって開始され
た場合には、ハードウェア・シミュレータ36はコミュ
ニケーション・インタフェース34を通して入力データ
を制御プロセッサ46に送信する。その後、ハードウェ
ア・シミュレータ36はその入力データを対応するデー
タ信号と制御信号に変換し、これらの信号をそれぞれデ
ータと制御バス・ラッチ102、112にストアする。
最後に、ラッチ102と112はこれらの信号をそれぞ
れターゲット・データと制御バス・バッファ74、72
を通してターゲット・プロセッサ12に印加する。従っ
て、ターゲット・プロセッサ12は、シミュレートされ
たターゲット・ハードウェアが物理的に組み込み型シス
テム10に存在していれば受信するものと同じ信号を受
信することになる。
【0036】ターゲット・プロセッサ12とシミュレー
トされたターゲット・ハードウェアとのやりとりがター
ゲット・プロセッサ12によって開始された場合には、
そのやりとりは上述したように、アクセス検出器42に
よって検出される。しかし、ターゲット・プロセッサ1
2とシミュレートされたターゲット・ハードウェアとの
やりとりがシミュレートされたターゲット・ハードウェ
アによって検出された場合は、アクセス検出器42はタ
ーゲット・プロセッサ12によって開始されたアクセス
だけを検出できるので、アクセス検出器42はそのやり
とりを検出することができない。組み込み型システム設
計で通常行われているように、ターゲット・ハードウェ
アとターゲット・プロセッサとのやりとりは、ターゲッ
ト・ハードウェアが割り込み信号をターゲット・プロセ
ッサに印加することによって開始される。これを受け
て、ターゲット・プロセッサはターゲット・プログラム
の一部である割り込みルーチンを実行する。
【0037】シミュレートされたターゲット・ハードウ
ェアとターゲット・プロセッサとのやりとりがシミュレ
ートされたターゲット・ハードウェアによって開始され
た場合には、ハードウェア・シミュータ36は割り込み
を指示する入力信号を制御プロセッサ46に送信する。
これを受けて、制御プロセッサ46はその入力信号を割
り込み信号に変換し、その割り込み信号をターゲット制
御バス・ラッチ112にストアする。ターゲット制御バ
ス・ラッチ112は割り込み信号をターゲット制御バス
・バッファ72を通してターゲット・プロセッサ12の
割り込み端子に印加する。これを受けて、ターゲット・
プロセッサ12はターゲット・プログラム16の一部と
してフラッシュROM48にストアされた割り込みルー
チンを実行する。ターゲット・プロセッサ12は、次の
方法、すなわち、シミュレートされたターゲット・ハー
ドウェアの代わりに物理ターゲット・ハードウェア20
が割り込み信号を生成させるのと同じ方法で割り込みル
ーチンを実行する。従って、ターゲット・プロセッサ1
2は、ターゲット・ハードウェアが物理ターゲット・ハ
ードウェア20であるか、シミュレートされたターゲッ
ト・ハードウェアであるかに関係なく、ターゲット・ハ
ードウェアによって開始されたやりとりに対し同じよう
に応答する。
【0038】図3は、フラッシュROM48に格納され
ていて制御プロセッサ46によって実行されるソフトウ
ェアのフローチャートである。このプログラムにはステ
ップ180で入り、そこで制御プロセッサ46はハード
ウェア・シミュレータ36とのコミュニケーションをセ
ットアップする。プログラムが制御プロセッサ46によ
って実行されると、プログラムはステップ184に進
み、そこで制御プロセッサ46はモニタ制御ラッチ11
0を通して結合されたヒット・デコード/コントローラ
通知回路170の出力を検査する。上述したように、タ
ーゲット・プロセッサ12がシミュレートされたターゲ
ット・ハードウェアのアドレス空間内のアドレスを出力
したか、あるいは物理ターゲット・ハードウェア20が
あらかじめ定めた時間内に受信確認信号を返すことに失
敗していれば、ヒット・デコード/コントローラ通知回
路170はシミュレータされたターゲット・ハードウェ
アへのアクセスであることを示す信号を出力する。その
ような場合には、プログラムは184からステップ18
8にブランチし、そこでターゲット・プロセッサ12の
バスに現れた信号が上述したようにキャプチャされる。
キャプチャされた信号をターゲット・プロセッサ12か
ら受信すると、制御プロセッサ46はステップ190
で、その信号を対応する出力データに変換する。その
後、制御プロセッサ46はステップ192で、そのデー
タをハードウェア・シミュレータ36(図1)に送信す
る。
【0039】上述したように、その後、ハードウェア・
シミュレータ36は、ターゲット・プロセッサ12から
出力された実際の信号がハードウェア・シミュレータ3
6でシミュレートされている物理ターゲット・ハードウ
ェアによって処理されるのと同じようにデータを処理す
る。データがハードウェア・シミュレータ36によって
処理されている時間の間、プログラムはステップ196
でループに入ったままになっている。ハードウェア・シ
ミュレータ36は出力データの処理を完了すると、ステ
ップ200で入力データを制御プロセッサ46に送信す
る。これを受けて、制御プロセッサ46はステップ20
2で入力データを、受信確認信号などの対応する信号に
フォーマットし、その信号はステップ204でターゲッ
ト・プロセッサ12に送信される。その後、プログラム
はステップ184に戻り、ターゲット・プロセッサ12
によるシミュレートされたターゲット・ハードウェアへ
の別のアクセスを待つことになる。
【0040】これまでの説明は、ターゲット・プロセッ
サ12とシミュレートされたターゲット・ハードウェア
とのやりとりがターゲット・プロセッサ12によって開
始されたときの、制御プロセッサ46のオペレーション
を説明したものである。しかし、上述したように、組み
込み型システムでは、ターゲット・プロセッサ12とタ
ーゲット・ハードウェアとのやりとりはターゲット・ハ
ードウェアによって開始されることも可能である。従っ
て、ターゲット・プロセッサ12がシミュレートされた
ターゲット・ハードウェアにアクセスすることを試みて
いることを制御プロセッサ46が検出しなければ、制御
プロセッサ46はステップ210にブランチする。ステ
ップ210で、制御プロセッサ46はターゲット・ハー
ドウェア・シミュレータ36からの、割り込み信号に対
応する入力データを検出する。この割り込み信号は、シ
ミュレートされるターゲット・ハードウェアがもし物理
的に組み込み型システムに存在しなければ、ターゲット
・プロセッサ12に印加されるものと同じ信号である。
割り込みに対応する、ターゲット・ハードウェア・シミ
ュレータ36からの入力データが210で検出された場
合には、その入力データはステップ212で制御プロセ
ッサ46に印加される。この入力データはターゲット・
ハードウェアが物理的に組み込み型システム10に存在
していれば、割り込み信号に加えて、そのターゲット・
ハードウェアからターゲット・プロセッサ12に印加さ
れる信号に対応している場合がある。どちらの場合も、
制御プロセッサ46はステップ214で、そのデータを
対応する信号にフォーマットする。最後に、この信号は
ステップ218で、バス・キャプチャ/ドライバ回路4
4を通してターゲット・プロセッサ12に送信される。
【0041】以上の説明から理解されるように、テスト
・システム30はターゲット・ハードウェアの一部だけ
が製造され、物理的に組み込み型システムに存在する場
合であっても、組み込み型システムを分析し、テストす
ることができる。その結果、ターゲット・ソフトウェア
とターゲット・ハードウェアとのやりとりはターゲット
・ハードウェアのすべてが物理的に実現される前にテス
トすることができ、ターゲット・ハードウェアはそれが
開発され、物理的に組み込み型システムに置かれている
ものとしてテストすることができる。また、以上の説明
から理解されるように、本発明の特定実施形態を説明し
てきたが、本発明の精神と範囲を逸脱しない限り種々態
様に変更することが可能である。従って、本発明は請求
の範囲に記載されている事項によってのみ限定されるも
のである。
【0042】
【発明の効果】以上説明したように本発明によれば、シ
ステムはターゲット・ハードウェアの一部だけが製造さ
れ、物理的に組み込み型システムに存在する場合であっ
ても、組み込み型システムを分析し、テストすることが
できる。その結果、ターゲット・ソフトウェアとターゲ
ット・ハードウェアとのやりとりはターゲット・ハード
ウェアのすべてが物理的に実現される前にテストするこ
とができ、ターゲット・ハードウェアはそれが開発さ
れ、物理的に組み込み型システムに置かれているものと
してテストすることができる。
【図面の簡単な説明】
【図1】ターゲット・プロセッサと、物理および/また
はシミュレートされたハードウェアを実装する組み込み
型システムをテストするためのシステムおよび方法の一
実施形態を示すブロック図である。
【図2】図1のテスト・システムの一実施形態を示す詳
細ブロック図である。
【図3】本発明の一実施形態による方法を実行するため
に、図2のテスト・システム内の制御プロセッサによっ
て実行されるソフトウェアのフローチャートである。
【符号の説明】
10 組み込み型システム 12 ターゲット・プロセッサ 14 メモリ 16 ターゲット・プログラム 20 物理ターゲット・ハードウェア 30 テスト・システム 32 ターゲット・モニタ 34 コミュニケーション・インタフェース 36 ハードウェア・シミュレータ 40 ターゲット・インタフェース回路 42 アクセス検出器 44 バス・キャプチャ/ドライバ回路 46 制御プロセッサ 48 ROM 50 RAM 66 イーサネット・ドライバ 68 イーサネット・コネクタ 70 ターゲット・アドレス・バス制御バッファ 72 ターゲット制御バス・バッファ 74 ターゲット・データ・バス・バッファ 80 内部アドレス・バス 82 内部制御バス 86 ターゲット・クロック制御回路 88 ターゲット・データ/制御バス・バッファ制御
回路 90 ターゲット・クロック・ライン 94 内部データ・バス 100 ターゲット・アドレス・バス・ラッチ 102 ターゲット・データ・バス・ラッチ 110 モニタ制御ラッチ 112 ターゲット制御バス 114 アドレス・デコーダ 120 アドレス・バス 122 データ・バス 130 マッピングRAM 132 タイムアウト回路 140 アドレス・マルチプレクサ 142 マップRAM 144 データ・マルチプレクサ 148 データ・ライン 150 ORゲート 160 ターゲット・クロック・カウント
───────────────────────────────────────────────────── フロントページの続き (71)出願人 596133474 5020 148th Avenue N.E. Redmond,Washington 98052 United States of America (72)発明者 アーノルド エス. バーガー アメリカ合衆国 98053 ワシントン州 レドモンド サウス イースト 5ティー エイチ アヴェニュ 21706

Claims (28)

    【特許請求の範囲】
  1. 【請求項1】 ターゲット・プログラムを実行するター
    ゲット・プロセッサであって、その一部が物理的であ
    り、その一部をシミュレートすることが可能であるター
    ゲット・ハードウェアに結合されたターゲット・プロセ
    ッサを実装する組み込み型エレクトロニック・システム
    をテストするためのシステムであって、該システムは、 ターゲット・ハードウェアのシミュレートされた部分を
    シミュレートするように構成されたハードウェア・シミ
    ュレータと、 ターゲット・プロセッサに結合されたターゲット・モニ
    タであって、該ターゲット・モニタはターゲット・プロ
    セッサがターゲット・ハードウェアのシミュレートされ
    た部分との連絡をいつ試みようとしたかを判断し、その
    判断に応じてターゲット・プログラムの実行を一時中止
    するように動作し、該ターゲット・モニタは、さらに、
    ターゲット・プロセッサから出力され、シミュレートさ
    れた部分に送られる出力信号を対応する出力データに変
    換し、ハードウェア・シミュレータからの入力データを
    ターゲット・プロセッサに印加される、対応する入力信
    号に変換するように動作するターゲット・モニタと、 ターゲット・モニタをハードウェア・シミュレータに結
    合するコミュニケーション・インタフェースであって、
    該コミュニケーション・インタフェースはターゲット・
    モニタからの出力データをハードウェア・シミュレータ
    に転送するように動作すると共に、ハードウェア・シミ
    ュレータからの入力データをターゲット・モニタに転送
    するように動作するコミュニケーション・インタフェー
    スとを具えたことを特徴とするシステム。
  2. 【請求項2】 請求項1に記載のシステムにおいて、タ
    ーゲット・プロセッサを収容しているマイクロプロセッ
    サ・エミュレータと、ターゲット・プログラムを収めて
    いるメモリ・デバイスとをさらに具えたことを特徴とす
    るシステム。
  3. 【請求項3】 請求項1に記載のシステムにおいて、タ
    ーゲット・モニタは、 シミュレートされたハードウェアのアドレス空間内のア
    ドレスを記録するマッピング・メモリと、 マッピング・メモリと、ターゲット・プロセッサのアド
    レス・バスとに結合されたアドレス・コンパレータであ
    って、該アドレス・コンパレータはアドレス・バス上に
    現れたアドレスを、マッピング・メモリに記録されたア
    ドレスと比較し、アドレス・バス上のアドレスとマッピ
    ング・メモリに記録されたアドレスとが一致している
    と、ターゲット・プログラムの実行を一時中止するアド
    レス・コンパレータとを含むことを特徴とするシステ
    ム。
  4. 【請求項4】 請求項1に記載のシステムにおいて、タ
    ーゲット・モニタは、 ターゲット・プロセッサが物理的ハードウェアにアクセ
    スしたとき物理的ハードウェアから制御信号を受信する
    ように構成された、ターゲット・プロセッサ上の端子を
    モニタリングする制御信号モニタであって、該制御信号
    モニタは制御信号の受信に応答して検出信号を生成する
    ようにした制御信号モニタと、 ターゲット・プロセッサと制御信号モニタに結合された
    タイマであって、該タイマは、ターゲット・プロセッサ
    がターゲット・ハードウェアにアクセスしたことに応答
    してタイミング期間の計時を開始し、該タイミング期間
    が開始された後で、該タイミング期間の開始後のあらか
    じめ定めた期間内に検出信号が受信されていなければ、
    ターゲット・プログラムの実行を一時中止するタイマと
    を含むことを特徴とするシステム。
  5. 【請求項5】 請求項6に記載のシステムにおいて、制
    御信号は、ターゲット・プロセッサが物理的ハードウェ
    アにアクセスしたことに応答して、物理的ハードウェア
    によって生成されるように構成された受信確認信号を含
    むことを特徴とするシステム。
  6. 【請求項6】 請求項1に記載のシステムにおいて、タ
    ーゲット・モニタは、 制御プロセッサから入力信号を受信し、該入力信号をタ
    ーゲット・プロセッサに印加するように動作するターゲ
    ット・プロセッサ・ドライバ回路と、 ターゲット・プロセッサからの出力信号を制御プロセッ
    サに印加するように動作するターゲット・プロセッサ・
    バス・キャプチャ回路とを含むことを特徴とするシステ
    ム。
  7. 【請求項7】 請求項1に記載のシステムにおいて、コ
    ミュニケーション・インタフェースは、ターゲット・モ
    ニタをハードウェア・シミュレータに結合しているイー
    サネットのリンクを含むことを特徴とするシステム。
  8. 【請求項8】 請求項1に記載のシステムにおいて、ハ
    ードウェア・シミュレータはターゲット・ハードウェア
    のシミュレート部分をシミュレートするハードウェア・
    シミュレーション・プログラムでプログラムされたホス
    ト・コンピュータを含むことを特徴とするシステム。
  9. 【請求項9】 請求項8に記載のシステムにおいて、タ
    ーゲット・プロセッサを収容しているマクロプロセッサ
    ・エミュレータと、ターゲット・プログラムを収めてい
    るメモリ・デバイスとをさらに含み、マイクロプロセッ
    サ・エミュレータは該エミュレータのユーザ・インタフ
    ェースとして動作するホスト・コンピュータに結合され
    ていることを特徴とするシステム。
  10. 【請求項10】 ターゲット・プログラムを実行するよ
    うに構成されたターゲット・プロセッサであって、該タ
    ーゲット・プロセッサはその一部が物理的であって、そ
    の一部をシミュレートすることが可能であるターゲット
    ・ハードウェアに結合されるターゲット・プロセッサを
    実装する組み込み型エレクトロニック・システムをテス
    トするためのシステムであって、該システムは、 シミュレートされたハードウェアのアクセス空間内のア
    ドレスを記録するマッピング・メモリと、 該マッピング・メモリと、ターゲット・プロセッサのア
    ドレス・バスとに結合されたアドレス・コンパレータで
    あって、該アドレス・コンパレータはアドレス・バス上
    に現れたアドレスを、マッピング・メモリに記録された
    アドレスと比較し、アドレス・バス上のアドレスとマッ
    ピング・メモリに記録されたアドレスとが一致している
    と、ターゲット・プログラムの実行を一時中止するよう
    にしたアドレス・コンパレータと、 アドレス・バス上のアドレスとマッピング・メモリに記
    録されたアドレスとが一致していることをアドレス・コ
    ンパレータが検出すると、それに応答してターゲット・
    プログラムからの出力信号をストアするように動作する
    ターゲット・プロセッサ・バス・キャプチャ回路と、 該バス・キャプチャ回路にストアされた出力信号を対応
    する出力データに変換するように動作する信号コンバー
    タと、 該信号コンバータをハードウェア・シミュレータに結合
    するコミュニケーション・インタフェースであって、該
    コミュニケーション・インタフェースは、信号コンバー
    タからの出力データをハードウェア・シミュレータに転
    送し、ハードウェア・シミュレータからの入力データを
    ターゲット・プロセッサ・バス・ジャマ回路に結合する
    コミュニケーション・インタフェースとを具えたことを
    特徴とするシステム。
  11. 【請求項11】 請求項10に記載のシステムにおい
    て、 ハードウェア・シミュレータに結合された第2信号コン
    バータであって、該第2信号コンバータはハードウェア
    ・シミュレータからの入力データを対応する入力信号に
    変換する第2信号コンバータと、 該第2信号コンバータに結合されたターゲット・プロセ
    ッサ・バス・ドライバ回路であって、該ターゲット・プ
    ロセッサ・バス・ドライバは入力信号をターゲット・プ
    ロセッサに印加するように動作するターゲット・プロセ
    ッサ・バス・ドライバ回路とをさらに含むことを特徴と
    するシステム。
  12. 【請求項12】 請求項10に記載のシステムにおい
    て、ターゲット・プロセッサを収容しているマイクロプ
    ロセッサ・エミュレータと、ターゲット・プログラムを
    収めているメモリ・デバイスとをさらに具えたことを特
    徴とするシステム。
  13. 【請求項13】 請求項10に記載のシステムにおい
    て、コミュニケーション・インタフェースは、信号コン
    バータをハードウェア・シミュレータに結合しているイ
    ーサネットのリンクを含むことを特徴とするシステム。
  14. 【請求項14】 請求項10に記載のシステムにおい
    て、前記ハードウェア・シミュレータはターゲット・ハ
    ードウェアのシミュレート部分をシミュレートするハー
    ドウェア・シミュレーション・プログラムでプログラム
    されたホスト・コンピュータを含むことを特徴とするシ
    ステム。
  15. 【請求項15】 請求項14に記載のシステムにおい
    て、ターゲット・プロセッサと、該ターゲット・プログ
    ラムを収めているメモリ・デバイスとを収容しているマ
    イクロプロセッサ・エミュレータをさらに含み、該マイ
    クロプロセッサ・エミュレータは該エミュレータのユー
    ザ・インタフェースとして動作するホスト・コンピュー
    タに結合されていることを特徴とするシステム。
  16. 【請求項16】 ターゲット・プログラムを実行するよ
    うに構成されたターゲット・プロセッサであって、該タ
    ーゲット・プロセッサはその一部が物理的であって、そ
    の一部をシミュレートすることが可能であるターゲット
    ・ハードウェアに結合されるターゲット・プロセッサを
    実装する組み込み型エレクトロニック・システムをテス
    トするためのシステムであって、該システムは、 ターゲット・プロセッサが物理的ハードウェアにアクセ
    スしたとき物理的ハードウェアから制御信号を受信する
    ように構成された、ターゲット・プロセッサ上の端子を
    モニタリングする制御信号モニタであって、該制御信号
    モニタは制御信号の受信に応答して検出信号を生成する
    制御信号モニタと、 ターゲット・プロセッサと制御信号モニタに結合された
    タイマであって、該タイマは、ターゲット・プロセッサ
    がハードウェア・アクセスしたことに応答してタイミン
    グ期間の計時を開始し、該タイミング期間が開始された
    後で、該タイミング期間の開始後のあらかじめ定めた期
    間内に検出信号が受信されていなければ、ターゲット・
    プログラムの実行を一時中止するタイマと、 タイミング期間が開始された後で、該タイミング期間の
    開始後のあらかじめ定めた期間内に検出信号が受信され
    ていなければ、ターゲット・プロセッサからの出力信号
    をストアするように動作するターゲット・プロセッサ・
    バス・キャプチャ回路と、 該バス・キャプチャ回路にストアされた出力信号を、対
    応する出力データに変換するように動作する信号コンバ
    ータと、 該信号コンバータをハードウェア・シミュレータに結合
    しているコミュニケーション・インタフェースであっ
    て、該コミュニケーション・インタフェースは信号コン
    バータからの出力データをハードウェア・シミュレータ
    に転送するコミュニケーション・インタフェースとを具
    えたことを特徴とするシステム。
  17. 【請求項17】 請求項16に記載のシステムにおい
    て、 ハードウェア・シミュレータに結合された第2信号コン
    バータであって、該第2信号コンバータはハードウェア
    ・シミュレータからの入力データを対応する入力信号に
    変換する第2信号コンバータと、 該第2信号コンバータに結合されたターゲット・プロセ
    ッサ・バス・ドライバ回路であって、該ターゲット・プ
    ロセッサ・バス・ドライバは入力信号をターゲット・プ
    ロセッサに印加するように動作するターゲット・プロセ
    ッサ・バス・ドライバ回路とをさらに含むことを特徴と
    するシステム。
  18. 【請求項18】 請求項16に記載のシステムにおい
    て、ターゲット・プロセッサを収容しているマイクロプ
    ロセッサ・エミュレータと、ターゲット・プログラムを
    収めているメモリ・デバイスとをさらに具えたことを特
    徴とするシステム。
  19. 【請求項19】 請求項16に記載のシステムにおい
    て、前記コミュニケーション・インタフェースは、信号
    コンバータをハードウェア・シミュレータに結合してい
    るイーサネットのリンクを含むことを特徴とするシステ
    ム。
  20. 【請求項20】 請求項16に記載のシステムにおい
    て、ハードウェア・シミュレータはターゲット・ハード
    ウェアのシミュレート部分をシミュレートするハードウ
    ェア・シミュレーション・プログラムでプログラムされ
    たホスト・コンピュータを含むことを特徴とするシステ
    ム。
  21. 【請求項21】 請求項20に記載のシステムにおい
    て、ターゲット・プロセッサを収容しているマクロプロ
    セッサ・エミュレータと、ターゲット・プログラムを収
    めているメモリ・デバイスとをさらに含み、マイクロプ
    ロセッサ・エミュレータは該エミュレータのユーザ・イ
    ンタフェースとして動作するホスト・コンピュータに結
    合されていることを特徴とするシステム。
  22. 【請求項22】 ターゲット・プログラムを実行するタ
    ーゲット・プロセッサであって、その一部が物理的であ
    って、その一部をシミュレートすることが可能であるタ
    ーゲット・ハードウェアに結合されたターゲット・プロ
    セッサを実装する組み込み型エレクトロニック・システ
    ムをテストするための方法であって、該方法は、 ターゲット・プロセッサの複数の外部からアクセス可能
    な端子に現れた信号を、ターゲット・プロセッサがター
    ゲット・プログラムを実行するときモニタリングし、 ターゲット・プロセッサがターゲット・ハードウェアの
    シミュレートされた部分にいつアクセスすることを試み
    ているかを、モニタリングされた信号に基づいて判断
    し、 ターゲット・プロセッサがターゲット・ハードウェアの
    シミュレートされた部分にアクセスすることを試みてい
    ると判断したことに応答して、ターゲット・プログラム
    の実行を一時中止し、 ターゲット・プロセッサがターゲット・ハードウェアの
    シミュレートされた部分にアクセスすることを試みてい
    ると判断したことに応答して、複数の外部からアクセス
    可能な端子に現れた出力信号をハードウェア・シミュレ
    ータで処理することを特徴とする方法。
  23. 【請求項23】 請求項22に記載の方法において、タ
    ーゲット・プロセッサがターゲット・ハードウェアの物
    理的部分にいつアクセスすることを試みているかをモニ
    タリングされた信号に基づいて判断し、ターゲット・プ
    ロセッサがターゲット・ハードウェアの物理的部分にア
    クセスすることを試みていると判断したことに応答し
    て、ターゲット・プロセッサがターゲット・ハードウェ
    アの物理的部分にアクセスすることを可能にすることを
    特徴とする方法。
  24. 【請求項24】 請求項22に記載の方法において、さ
    らに、 出力信号を処理したことに応答してハードウェア・シミ
    ュレータから入力データを受信し、 入力データを対応する入力信号に変換し、 該入力信号を外部からアクセス可能な端子に印加するこ
    とを特徴とする方法。
  25. 【請求項25】 請求項22に記載の方法において、タ
    ーゲット・プロセッサがターゲット・プロセッサのシミ
    ュレートされた部分にいつアクセスすることを試みてい
    るかを判断するステップは、 シミュレートされたハードウェアのアドレス空間内にあ
    るアドレスを記録し、 ターゲット・プロセッサのアドレス・バス上のアドレス
    を記録されたアドレスと比較し、 アドレス・バス上のアドレスと記録されたアドレスとが
    一致することを検出するステップを含むことを特徴とす
    る方法。
  26. 【請求項26】 請求項22に記載の方法において、タ
    ーゲット・プロセッサがターゲット・プロセッサのシミ
    ュレートされた部分にいつアクセスすることを試みてい
    るかを判断するステップは、 ターゲット・プロセッサが物理的ハードウェアにアクセ
    スしたとき物理的ハードウェアから制御信号を受信する
    ように構成された、ターゲット・プロセッサ上の端子を
    モニタリングし、 ターゲット・プロセッサがターゲット・ハードウェアに
    アクセスしたことに応答してタイミング期間の計時を開
    始し、 タイミング期間の開始後のあらかじめ定めた期間内に制
    御信号が物理的ターゲット・ハードウェアから受信され
    たかどうかを検出するステップを含むことを特徴とする
    方法。
  27. 【請求項27】 請求項22に記載の方法において、さ
    らに、 ターゲット・プロセッサがターゲット・プログラムの実
    行を一時中止している時間の間にターゲット・プロセッ
    サに印加された割り込み信号を検出し、 割り込み信号に応答して割り込みルーチンを実行するこ
    とを特徴とする方法。
  28. 【請求項28】 請求項22に記載の方法において、さ
    らに、 割り込み信号に対応する、ハードウェア・シミュレータ
    からのデータを検出し、 割り込み信号に対応する、ハードウェア・シミュレータ
    からのデータを検出したことに応答して、割り込み信号
    をターゲット・プロセッサに印加し、 割り込み信号に応答して、ターゲット・プロセッサが割
    り込みルーチンを実行可能にすることを特徴とする方
    法。
JP03913699A 1998-02-17 1999-02-17 物理的および/またはシミュレートされたハードウエアを含み、エンベットされたマイクロプロセッサ・システムをテストするシステムおよび方法 Expired - Fee Related JP3715456B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/024,324 US6298320B1 (en) 1998-02-17 1998-02-17 System and method for testing an embedded microprocessor system containing physical and/or simulated hardware
US09/024,324 1998-02-17

Publications (2)

Publication Number Publication Date
JPH11296404A true JPH11296404A (ja) 1999-10-29
JP3715456B2 JP3715456B2 (ja) 2005-11-09

Family

ID=21820005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03913699A Expired - Fee Related JP3715456B2 (ja) 1998-02-17 1999-02-17 物理的および/またはシミュレートされたハードウエアを含み、エンベットされたマイクロプロセッサ・システムをテストするシステムおよび方法

Country Status (3)

Country Link
US (2) US6298320B1 (ja)
EP (1) EP0936550A2 (ja)
JP (1) JP3715456B2 (ja)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298320B1 (en) * 1998-02-17 2001-10-02 Applied Microsystems Corporation System and method for testing an embedded microprocessor system containing physical and/or simulated hardware
US20060117274A1 (en) * 1998-08-31 2006-06-01 Tseng Ping-Sheng Behavior processor system and method
US9195784B2 (en) * 1998-08-31 2015-11-24 Cadence Design Systems, Inc. Common shared memory in a verification system
US6564178B1 (en) * 1999-04-13 2003-05-13 Hewlett-Packard Company Method and apparatus for evaluating processors for architectural compliance
US6810373B1 (en) * 1999-08-13 2004-10-26 Synopsis, Inc. Method and apparatus for modeling using a hardware-software co-verification environment
US6973417B1 (en) * 1999-11-05 2005-12-06 Metrowerks Corporation Method and system for simulating execution of a target program in a simulated target system
US6775793B2 (en) * 1999-12-21 2004-08-10 Texas Instruments Incorporated Data exchange system and method for processors
US7100152B1 (en) 2000-01-31 2006-08-29 Freescale Semiconductor, Inc. Software analysis system having an apparatus for selectively collecting analysis data from a target system executing software instrumented with tag statements and method for use thereof
US6658600B1 (en) * 2000-04-24 2003-12-02 Microsoft Corporation Target control abstraction for debugging embedded systems
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US7076420B1 (en) * 2000-10-26 2006-07-11 Cypress Semiconductor Corp. Emulator chip/board architecture and interface
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US7526422B1 (en) 2001-11-13 2009-04-28 Cypress Semiconductor Corporation System and a method for checking lock-step consistency between an in circuit emulation and a microcontroller
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
FR2841668B1 (fr) * 2002-06-26 2006-08-11 Emulation And Verification Eng Procede et systeme d'emulation d'un circuit sous test associe a un environnement de test
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
US7017097B1 (en) 2002-09-24 2006-03-21 Cypress Semiconductor Corp. Simultaneously driving a hardware device and a software model during a test
US7130785B2 (en) * 2002-11-25 2006-10-31 Hewlett-Packard Development Company, L.P. System and method for detecting accesses to non-existing hardware entities using architectural simulation
US7137109B2 (en) * 2002-12-17 2006-11-14 Hewlett-Packard Development Company, L.P. System and method for managing access to a controlled space in a simulator environment
US7181652B2 (en) * 2003-01-07 2007-02-20 Hewlett-Packard Development Company, L.P. System and method for detecting and isolating certain code in a simulated environment
DE10329147A1 (de) * 2003-06-27 2005-01-20 Siemens Ag Verknüpfung und Darstellung von Signalen einer Vorrichtung zur Hardware-Simulation und Elementen eines Listings eines Programms
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
KR100548199B1 (ko) * 2004-07-15 2006-02-02 삼성전자주식회사 아날로그/디지털 혼합 신호 반도체 디바이스 테스트 장치
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US20060101495A1 (en) * 2004-11-05 2006-05-11 William Yoshida Device evaluation using media access control emulator
US8849642B2 (en) * 2004-12-14 2014-09-30 The Mathworks, Inc. Signal definitions or descriptions in graphical modeling environments
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
EP1864219A1 (en) 2006-02-28 2007-12-12 Mentor Graphics Corporation Monitoring physical parameters in an emulation environment
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
KR20090026230A (ko) * 2007-09-09 2009-03-12 김건 임베디드 시스템의 범용 고속 실시간 모니터링 장치
CN101458652B (zh) * 2007-12-14 2012-01-25 上海海尔集成电路有限公司 微控制器嵌入式在线仿真调试系统
US7983893B2 (en) 2008-01-08 2011-07-19 Mentor Graphics Corporation Fault support in an emulation environment
US8214195B2 (en) * 2008-03-21 2012-07-03 Mentor Graphics Corporation Testing in a hardware emulation environment
US20090248390A1 (en) * 2008-03-31 2009-10-01 Eric Durand Trace debugging in a hardware emulation environment
JP2009259089A (ja) * 2008-04-18 2009-11-05 Nec Corp プログラム実行経路追跡装置、プログラム実行経路追跡方法、及びプログラム
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US20110083121A1 (en) * 2009-10-02 2011-04-07 Gm Global Technology Operations, Inc. Method and System for Automatic Test-Case Generation for Distributed Embedded Systems
AU2016353452A1 (en) * 2015-11-13 2018-06-07 Sandel Avionics, Inc. Avionics system, architecture, and method
US10068041B2 (en) 2016-02-01 2018-09-04 King Fahd University Of Petroleum And Minerals Multi-core compact executable trace processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790881A (en) * 1995-02-07 1998-08-04 Sigma Designs, Inc. Computer system including coprocessor devices simulating memory interfaces
US5884323A (en) * 1995-10-13 1999-03-16 3Com Corporation Extendible method and apparatus for synchronizing files on two different computer systems
US6298320B1 (en) * 1998-02-17 2001-10-02 Applied Microsystems Corporation System and method for testing an embedded microprocessor system containing physical and/or simulated hardware
US6799316B1 (en) * 2000-03-23 2004-09-28 International Business Machines Corporation Virtualizing hardware with system management interrupts
US6832181B1 (en) * 2000-11-03 2004-12-14 Hewlett-Packard Development Company, L.P. Method to distinguish between physical hardware and simulated hardware

Also Published As

Publication number Publication date
US20010041974A1 (en) 2001-11-15
US7089170B2 (en) 2006-08-08
JP3715456B2 (ja) 2005-11-09
EP0936550A2 (en) 1999-08-18
US6298320B1 (en) 2001-10-02

Similar Documents

Publication Publication Date Title
JP3715456B2 (ja) 物理的および/またはシミュレートされたハードウエアを含み、エンベットされたマイクロプロセッサ・システムをテストするシステムおよび方法
US6110218A (en) Generation of multiple simultaneous random test cycles for hardware verification of multiple functions of a design under test
US6523136B1 (en) Semiconductor integrated circuit device with processor
US5047926A (en) Development and debug tool for microcomputers
US5566303A (en) Microcomputer with multiple CPU'S on a single chip with provision for testing and emulation of sub CPU's
JPH02287635A (ja) マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置
US20060212768A1 (en) Verification circuitry for master-slave system
US6263305B1 (en) Software development supporting system and ROM emulation apparatus
US6550015B1 (en) Scalable virtual timer architecture for efficiently implementing multiple hardware timers with minimal silicon overhead
JPH10254738A (ja) エミュレータ装置及びエミュレーション方法
JP2944321B2 (ja) 論理評価システム
JP2575025B2 (ja) インサ−キット・エミュレ−タ
JPH1083318A (ja) 電子回路解析装置
JPH10269148A (ja) 回路構成要素診断装置
JP2825078B2 (ja) マイクロコンピュータ評価システムおよびこのシステムを用いた評価方法
JPH10289120A (ja) 情報処理装置
JP2632891B2 (ja) システム開発装置
JP2004046716A (ja) デバッグ装置
JP2882461B2 (ja) マイクロコンピュータおよびこれを用いたインサーキットエミュレータ
CN114487763A (zh) 用于集成电路的自动检测电路及方法
JP2599795B2 (ja) マイクロプロセッサ搭載回路の試験方法
JPH0411892B2 (ja)
JPH06348544A (ja) Scsiシミュレータ
JPH07219808A (ja) エミュレータのトレース方法およびエミュレータ
JPH05158803A (ja) ディジタル処理システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20041209

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041224

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050729

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050825

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080902

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100902

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110902

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees