JP3209776B2 - エミュレーション装置とそれに使用するマイクロコントローラ - Google Patents

エミュレーション装置とそれに使用するマイクロコントローラ

Info

Publication number
JP3209776B2
JP3209776B2 JP00497392A JP497392A JP3209776B2 JP 3209776 B2 JP3209776 B2 JP 3209776B2 JP 00497392 A JP00497392 A JP 00497392A JP 497392 A JP497392 A JP 497392A JP 3209776 B2 JP3209776 B2 JP 3209776B2
Authority
JP
Japan
Prior art keywords
microcontroller
signal
machine cycle
state
emulation
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.)
Expired - Fee Related
Application number
JP00497392A
Other languages
English (en)
Other versions
JPH04304531A (ja
Inventor
マリア バッカー ヤコブス
ハーゲドルン ディーテル
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
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 Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JPH04304531A publication Critical patent/JPH04304531A/ja
Application granted granted Critical
Publication of JP3209776B2 publication Critical patent/JP3209776B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3632Software debugging of specific synchronisation aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【技術分野】本発明は標準ポート手段を有するノン−ボ
ンド−アウト型のマイクロコントローラ(non-bond-out
-version of a microcontroller)、即ちエミュレーシ
ョンまたはテスト用の専用端子を有しないマイクロコン
トローラをエミュレートするエミュレーション装置に関
連し、この装置は、ユーザーデータとプログラム記憶ア
ドレスの間で上記ポート手段を多重使用するマイクロコ
ントローラ内多重化手段(in-microcontroller multipl
exing means)を具え、かつ上記ポート手段に接続さ
れ、上記プログラムメモリアドレスをラッチするレジス
タ手段をマイクロコントローラレジスタの外部に具え、
ここで上記マイクロコントローラは、各々が少なくとも
2つのクロックパルスから成る複数のステートから構成
されるマシンサイクルを有する。
【0002】
【背景技術】単一ポートによる、プログラムメモリアド
レスとユーザーデータ双方の多重型(multiplex versio
n )の転送は、多数のポートを有することの要求を低減
する。さらに、メタリンク社(Metalink Corporation)
の米国特許第4,809,167号は、特定の8ビット幅ポート
が命令コード(opcode)、プログラムカウンタバイト、
およびユーザーデータ項目を続いて転送するという一般
原理の拡張を開示している。そのようなエミュレーショ
ン装置は特にインテルの8051シングルチップマイクロコ
ンピュータあるいはマイクロコントローラを参照して記
載されている。エミュレーション用のノン−ボンド−ア
ウト型マイクロコントローラの使用は、エミュレーショ
ン及びテスト用のみのボンド−アウト型、即ちエミュレ
ーションまたはテスト用の専用端子を有する型の開発の
必要性を自ずとなくす。以前の標準構成では、8051はプ
ログラム命令コードとプログラムカウンタのローバイト
アドレスとの間でポートP0を共用し、一方、ポートP
2はプログラムカウンタのハイバイトアドレスを出力す
る。プログラムアドレスの出力の反復回数はマシンサイ
クル毎に2回である。参照されたメタリンク(Metalin
k)の「フックス(hooks)」改良は、プログラム命令コ
ードと、プログラムカウンタアドレスデータと、ポート
データとの多重化を、各半マシンサイクル内で別々に実
行し、それは元のタイミングでは可能でなかったもので
ある。
【0003】本発明の発明者は、参考資料によるエミュ
レーションが精度が不十分および/または信頼性が不十
分であったことを経験した。というのは、特に殆どすべ
ての外部タイミングは、マイクロコントローラの外部
で、アドレスラッチエネーブル信号(address latch en
able signal)および/またはプログラムストアエネー
ブル信号(program store enable signal)のいずれか
1つから再構成することになり、これらのエネーブル信
号を出力する手段を有しないある種の派生的なマイクロ
コントローラでは、外部水晶クロックから再構成してい
た。そのような再構成は常に、温度起因性の時間スキュ
ー(temperature-caused time skew)及び他の不具合を
生じうる不整合性のゲート遅延(non-conforming gate
delay)に煩わされる。別な不都合の原因は、マイクロ
コントローラの外部では、2つの非動作モード、即ちア
イドルモードとリセットモードの間の区別がつかない。
その上、参照された8051マイクロコントローラはまたパ
ワーダウンモードも有し、そこではエネルギ節約の理由
から処理能力を低下させている。
【0004】
【発明の開示】本発明の1つの目的は、内部の種々の、
静的(static)状態あるいは反復的状態(recurrent si
tuation)のマイクロコントローラ信号を、効果的に出
力にもっていき、マイクロコントローラと外部エミュレ
ーション回路との間でさらに正確な同期を可能にする手
段を提供することにある。特に、そのような改良はまた
現在あるいは将来実現されるような、より高い最大クロ
ック周波数が可能になる。それ故、本発明の目的の1つ
は、本発明が、内部発振器制御の下で上記いずれのマシ
ンサイクルの各開始時点にもまたがる(straddling)第
1値信号パルス(first-valued signal pulse)(S1
ES)をマイクロコントローラの非スリープモード(no
n-sleep mode)で出力する第1ピン手段と、内部発振器
制御の下で、スリープモード(sleep mode)中の非アク
ティブである間に、上記複数の各ステートで反復的なア
クティブ信号(recurrent active signal)(PH1
S)を出力する第2ピン手段とを具えるマイクロコント
ローラを提供することにある。もちろん、マイクロコン
トローラは電子発振器のような内部手段、あるいは水晶
発振器のような外部手段によって同期させることができ
る。双方の場合に、同期は内部的に利用可能なクロック
パルス列で具現され、ここでは簡単のために「内部発振
器」と称する。さて、マイクロコントローラのクロック
サイクルの内部ステートの直接的な外部発信は、外部エ
ミュレーション回路への密結合を可能にして、正常動作
と機能不全(malfunctioning)がより良好に区別できる
ようになる。
【0005】上記アクティブハイ(高値)信号パルスが
上記1つのステートにほぼ等しい持続時間を有し、ここ
で上記反復信号が、ほぼ上記1ステートの周期を有し、
かつ上記非アクティブであることが、パワーダウンハイ
(power down high)であることが有利である。これは
容易な外部構成をもたらす。さらに、内部クロックパル
ス縁部からこれらの外部信号を導出することは、エッジ
でトリガされるフリップフロップ(edge-triggered fli
p-flop)と若干のゲートのみによって直接的に行うこと
ができる。一般に、アイドルモードでは、内部信号は標
準的な反復パターン(standard recurrency pattern)
を有している。
【0006】本発明の関連目的を実現するために、本発
明は、パワーダウンモード、アイドルモードおよびリセ
ットモードのいずれとも区別されるアクティブモードに
おいて、多重化されたエミュレーション制御信号を出力
する、即ち上記マシンサイクルの少なくとも1つのステ
ート期間(S4E)に、次後のマシンサイクルが次のマ
シン命令の第1マシンサイクルであるかどうかを選択的
に指示する第1指示信号(C1)を出力する第3手段を
具えているマイクロコントローラを提供する。前段落ま
での事項は、単一マシンサイクル内での明確な同期(cl
ear-cut synchronization )を可能にするものである
が、本段落の手段はマシンサイクル相互間の、パイプラ
インレベル(inter-machine cycle pipelining level)
での同期を可能にするものである。これにより、現在マ
イクロコントローラがいかなる種類の動作であるか、か
ついかなる種類の動作が次に生起すると考えられるか
を、外部評価機構(external evaluation mechanism)
がより良好に知ることができる。命令の種々の実行部分
は、フェッチ、解釈、メモリのアクセス、出力結果の評
価、及び条件付き動作の実行可否の決定である。またこ
の場合には、改善された同期により、タイミング関係が
より良好になり、場合によっては達成可能なクロック周
波数がより高くなる。
【0007】そのような第3ピン手段があれば、他の種
々の指示信号が、割込み要求、近く到来する外部プログ
ラミングメモリのアクセス、「move(データ移動)
外部命令(move external instruction)」中の外部デ
ータメモリのアクセス、あるいは外部データメモリの書
込みアクセスのいずれかあるいはすべてが現在実行中で
あることを発信するものとして、このピン手段を使用で
きるようになる。すべてのこれらの信号は必要なら単一
のピン上に多重化できる。
【0008】なおさらに関連した目的の解決法によれ
ば、本発明は上記のようなエミュレーション装置を提供
するものであり、上記マイクロコントローラは、マイク
ロコントローラがアイドル、パワーダウン、またはリセ
ット状態のいずれかであるか否かを第1ステートで指示
する静止バイナリ信号(static binary signal)を出力
する第4ピン手段を具え、これは上記第4ピン手段の第
2ステートとは区別されている。こうした信号発信は、
実質的に無限に拡張できる長い時間スケールの同期機構
に、有効に帰結する。
【0009】本発明はまた上述のエミュレーション装置
に使用するノン−ボンド−アウト型のマイクロコントロ
ーラにも関連し、かつ上述の有利な特徴のうち選択した
1つあるいはそのすべてを具えている。そのような特徴
により実現された付加的利点はさらに従属クレームに記
載してある。
【0010】図面を参照し、実例により本発明を詳細に
説明する。
【0011】
【従前の実施例】図1はいわゆるマイクロコントローラ
プローブを一般化した図である。ブロック20はエミュレ
ーションプロセスの目的であるターゲットシステムを表
し、それは応用プログラムあるいはユーザープログラム
を用意した当該のマイクロコントローラの標準コピーを
含むように設計され、かつそのシステムは応用プログラ
ムと協働しておよび/または応用プログラムの制御の下
で、意図されたユーザー機能を遂行するハードウエアを
さらに具えている。エミュレーションはハードウエアと
協働して上記プログラムの正しい機能性をチェックす
る。実例として、目標システムはある種の知能的ユーザ
ー機能を設けた電話機ハンドセットとすることができ
る。本発明はターゲットシステム自体の改良を指向した
ものではないので、簡単のためこれ以上の説明を行わな
い。
【0012】次に、ブロック22、30、32は通常「エミュ
レータプローブ」と呼ばれるサブシステムであり、エミ
ュレーションプロセスの種々の協働装置(partner devi
ce)をインターフェースしている。まずブロック22はマ
イクロコントローラが使用すべきターゲットシステムの
内部接続へのアクセスを行う再構成ブロック(reconstr
uction block)である。エミュレーション中には、特定
向けに適応された8051マイクロコントローラ(あるいは
その派生品か、さもなければ適切なコントローラ)はブ
ロック40で示す位置にあり、対応するマイクロコントロ
ーラの代わりに応用プログラムを実行し、このマイクロ
コントローラは、通常使用中にはターゲットシステムの
一部分を形成すべきものであるが、エミュレーション中
にはそこに存在しない。マイクロコントローラ40の位置
決めは標準型のマイクロコントローラソケットによって
いる(図5を参照)。さて、特に、ブロック22は、サブ
ブロック24、26内に、それぞれポートP0、P2を再構
成する。この再構成はいかなる方向の信号転送に関して
も、マイクロコントローラ40の動作を妨害しないように
なっている。
【0013】同様の方法で、エミュレーションブロック
32はフィリップス社のPM4726/10、PM4726/30あるいはOM
4120のような通常の構築の独立デバイス(stand alone
device)である標準SDSブロック38にインターフェース
し、図に示すように、ポートP0、P2毎に、ブロック
38へのバッファ出力を有している(それぞれ34、36)。
簡単のために、ブロック38はこれ以上詳細に示さない。
エミュレーションブロック32は、SDSデバイス38がエミ
ュレーションメモリをアドレス指定し、かつエミュレー
ションマイクロコントローラ40をトレースするのに必要
な情報を選択する。そしてエミュレートするプログラム
の命令をマイクロコントローラ40に送り、エミュレーシ
ョン中断ルーチンを挿入する。マイクロコントローラ40
のマシンサイクルより高いレベルでは、エミュレーショ
ンは標準的な技術であり、簡単のためこれ以上詳細に説
明しない。
【0014】制御ブロック30は再構成ブロック22、エミ
ュレーションブロック32、エミュレーションマイクロコ
ントローラ40、ターゲットシステム20およびSDSブロッ
ク38にインターフェースする。この制御ブロックは制御
信号に必要な調整を行い、また種々のブロック用のエネ
ーブル信号を扱う。さらに、リセット動作の後で、この
制御ブロックはマイクロコントローラ40をマイクロプロ
セッサモードに設定する。上記において、図に示す相互
接続は配線ベースのものではなく、図式的に示したのみ
である。さらに、上記設定は引例のエミュレーションシ
ステムにほぼ同等なブロックレベルのものである。
【0015】図2は標準8051マイクロコントローラに関
連するタイミング線図である。一番上のトレースは各マ
シンサイクルの6つのステートS1....S6を示し、各
ステートは第1および第2クロックパルスを有する。ク
ロツクは外部水晶発振器あるいは内部電子発振器により
マシンサイクルレベルで同期されており、かつ種々の内
部および外部制御信号は、このクロックから導かれてい
る。しかし、この同期は内部ゲート遅延のために非常に
正確なものではない。次のトレースはマシンサイクル毎
に2回の反復を有するアドレスラッチエネーブル(AL
E:address latch enable)信号を示し、これがハイ
(高値)であれば、外部アドレスが利用可能であること
を発信する。次のトレースはプログラム記憶エネーブル
信号(PSEN:program store enable signal)を示
し、ロー(低値)であれば、外部プログラム記憶からの
読み込みを可能にし、外部プログラム記憶は、ノン−ボ
ンド−アウトのマイクロコントローラ、即ちエミュレー
ションまたはテスト用の専用端子を有しないマイクロコ
ントローラの内部プログラム記憶に追加されるべきもの
である。次のトレースはポートP0の使用法を示し、こ
のポートは、プログラムアドレスカウンタローバイト
(PCL:program address counter low byte)を出力
し、かつ同じ半マシンサイクルで、外部から与えられた
命令情報項目のサンプリングを可能にする(DSMP
L)。いずれの半サイクルでも、情報転送が双方向に発
生しうる。最後のトレースは各半マシンサイクルでプロ
グラムアドレスカウンタ高バイトの出力を可能にするポ
ートP2の使用法を示している。このようにして、16個
のビットアドレスが外部的に利用可能である。ポートP
0はPCL出力及びデータ入力の多重機能を有する。他
の機能用には、ポートP0、P2が残されていない。
【0016】図3には、他の引例として記述したいわゆ
るメタリンク(Metalink)の「フックス(hooks)」に
関連するタイミング線図を示している。これらは図2の
ものの好適な拡張を表している。最初のトレースでは、
マシンサイクル、ステート、及びクロックパルスが、図
2と変わらないことを示している。次のトレースは遅延
アドレスラッチエネーブル信号DALE(:Delayed Ad
dress Latch Enable signal)を示し、それは半ステー
トだけ遅延された後部エッジを有し、従ってそのアクテ
ィブ区間(ハイ)(activity interval(high) )は、標
準ステートS2と、ステートS2に対応するが半ステー
ト長だけ前進しているS2Eの双方をカバーしている。
同様に、プログラム記憶エネーブル信号DPSENは、
すべての前進ステートS2E、S3Eをカバーするため
に、半ステート区間だけ後部エッジを遅延させている。
信号DALEとDPSENを組合せた制御の下で、P
0、P2は信号組全体の間で多重使用され、図に示すよ
うに、P0は:ステートS1Eでは(エミュレーション
制御からの)命令コード入力を有し;ステートS2Eで
は内部P0ラッチである8ビットの特殊機能レジスタS
FR(Special Function Register)を出力し、ステー
トS3EではPCL(Program Counter Low byte)を出
力し、これは図2に対して半ステート長だけ前進してい
る。ステートS4EはステートS1E(EはEarlyを表
わす)に相当し、かつマイクロコントローラに命令コー
ドを供給できるようにする。ステートS5Eは、マイク
ロコントローラへの情報の入力を可能にし、即ち外部に
再構成/ラッチされたレジスタに存在する情報の、P0
ポートピンへの入力を可能にする。ステートS6Eはス
テートS3Eに相当する。結果的に、ステートS2E/
S5Eでのデータの双方向転送が図2に加わり、ポート
P0はアクセス可能なままとなる。
【0017】またポートP2についても、多重機能が実
現されている。第1には、ステートS3E/S6Eはポ
ートP0に同期して、PCH出力を有する。第2には、
ステートS2E/S5EはポートP0に関する機能に相
当し、即ちステートS2Eでの特殊機能レジスタSFR
の出力、およびステートS5Eでの外部に再構成された
レジスタからの入力に相当する。第3には、ステートS
1E/S4EはPCHの利用可能性を有する。このよう
なより長い利用可能特性は、このバイトを外部でラッチ
する必要性をなくす。一般に、16個のビットアドレスで
は、16kアドレス空間が可能になる。
【0018】
【本発明による好適な実施例】図4に本発明によるマシ
ンサイクルのタイミング線図を示し、図5に本発明によ
るノン−ボンド−アウトマイクロコントローラのピン配
置図である。後者については、4×11の正方形の構成
で、次の標準ピンが出ている。すなわち8ビットポート
P0(P0.0....P0.7);8ビットポートP1
(P1.0....P1.7);8ビットポートP2(P
2.0....P2.7);8ビットポートP3(P3.
0....P3.7);VDD;RST(reset);外部水
晶取付け用のXTAL1、XTAL2;VSS;PSE
Nバー(PSENの負論理);ALE;EAバーであ
る。さらにポートP3の種々のピンはすべて、各制御信
号、即ちRXD/Data、TXD/Clock、IN
T0、INT1、T0、T1、WR、RDを通信するた
めに二重使用される。これらの標準ピンについての一層
の情報は市販文書を参照されたい。同様なパッケージン
グは40ピンDILのようなものであるが、これは本発明
で使用する4個の不使用ピンn. c. を有しない。しか
し44ピンDILへの拡張は容易に実現可能である。特
に、以下のエミュレーション制御信号は参照資料による
メタリンク(Matalink)のフックスを使用するのに適切
であり、従って前述した標準8051アーキテクチャへの拡
張は、そのまま使用できる。あるいはまた、以下の全部
あるいは一部の事項は、他の種々のエミュレート可能な
マイクロコントローラアーキテクチャーと組み合わせて
使用できる。さて、特定のエミュレーション制御あるい
は信号送出要素は以下の通りである。
【0019】(1)S1ES、このピンは、マイクロコ
ントローラの内部発振器が、自己同期または外部水晶に
よる同期のいずれで動作中である限り、マシンステート
S2EからS6Eまでの間でアクティブローであり、マ
シンステートS1の開始時に標準マシンサイクルの始点
をまたぐマシンステートS1E中にはハイであり、前記
内部発振器が動作中でなければ、このピンは連続的にハ
イである。アクティブ区間は、マシンサイクルステート
S2EからS6Eまでの間であり、スリープモードを発
信する。スリープモード即ちパワーダウンと、非スリー
プモードの間の切り替えは、12発振周期またはクロッ
クパルス分だけ離間した各瞬時、特にステートS1Eの
最後で発生しうる。S1ESがハイである比較的短い時
間区間は、良好な同期を可能にする。パワーダウンモー
ド中には何も発生せず、よって同期が困難になることが
ない。
【0020】(2)PH1S、このピンはスリープモー
ドを発信する。図に示すように、発振器が動作している
限り、すべてのマシンステートのすべてのP2クロック
パルス周期にアクティブローである。発振器が動作して
いない場合には連続的にハイであり、いずれのマシンス
テートのすべてのP1クロックパルス周期にも、いずれ
にせよハイである。なおパワーダウンまたはスリープモ
ードでのみに、内部発振器が停止する。それ以外には、
発振器が標準速度で動作する。
【0021】(3)IDLPDはマイクロコントローラ
がアイドル、パワーダウン、リセットモードのいずれか
である場合にアクティブハイである静止信号(static s
ignal)である。これらの3つの各モードでは、標準処
理能力が維持されず、それはマイクロコントローラのあ
るサブシステムが内部クロックパルスによる周期的なア
クティブ化を受信することからブロックされる(例えば
これらのサブシステムが最小パワーを消費すべき期間中
に)か、あるいはリセットのような特定信号により静止
状態に保持されているかのいずれかの理由による。これ
ら3つの動作モードは、単独では標準的なものである。
信号IDLPDは、マイクロコントローラの内部で、こ
れらの種々のモードを制御する制御信号の通常のOR論
理によって生成できる。
【0022】(4)EMUMPX、これは次のような種
々の内部的な出来事(internal occurences)あるいは
事象(event)を検出するエミュレーション論理によっ
て使用される多重化エミュレーション出力である。これ
らの出来事は一般に、特定のマシンステート中のみに関
係するので、これらは図6の線図に従って多重化するこ
とができ、以下のことが当てはまる。
【0023】一般に、3つの主要な状況が存在する。そ
の第1のものにおいては、IDLPDがローであり、マ
イクロコントローラが、処理が一時的にホールドバック
(抑止)されるいずれのモードでもないことを発信す
る。さて、これらの状況において、シーケンスAがmo
ve外部命令の実行の第1マシンサイクル中に発生しう
る。ここでは、前進マシンステートS1E....S6Eは
以下の信号を有する。
【0024】ステートS1E中には、信号INTACK
は割込み要求が処理中であることを指示する。これは次
のマシンサイクルが、標準命令セット(そのロングコー
ルは0....64キロバイトのアドレス範囲のアクセスを可
能にする)からの強制LCALL(ロングコール)の第
1のマシンサイクルであることを意味している。現在、
割込み要求を処理していなければ、この信号はS1E中
にはアクティブでない。非アクティブ信号に対するアク
ティブ信号の形状は一般に、完全マシンサイクル(2ク
ロックパルス)の長さを有するパルスである。しかし不
都合でなければ、他の信号パターンも採用できる。
【0025】ステートS2E中には、信号PRGEXT
は近く到来する外部(ターゲット)プログラムメモリア
クセスが発生するか否かを指示する。内部プログラムメ
モリは16ビットアドレスを有する。外部プログラムメモ
リによって、同じアドレス範囲まで内部メモリを補充す
ることができる。
【0026】ステートS3E中には、このエミュレーシ
ョン出力は連続的にローである。
【0027】ステートS4E中には、信号C1が、現マ
シンサイクルが命令の最終サイクルであり、従って次の
サイクルが必然的に次のマシン命令の第1サイクルとな
ることを指示する。
【0028】ステートS5E中には、信号MOVEXT
は、move外部命令が255より大きいアドレスで実行
され、このアドレスは単一アドレスバイト内に収まらな
いことを指示する。この発信もまた、外部エミュレーシ
ョンに有用である。
【0029】ステートS6E中には、信号WREXTは
MOVEXT命令の発生を指示し、この命令は、外部デ
ータメモリへの書込みアクセスを発生させ、かつ255よ
り大きいデータポインタ値を有する。S5E、S6E中
の、これら2つの発信に関しては、同じレジスタ(DT
PRレジスタ)を適用することができ、両マシンサイク
ルステート中には、アクティブ信号が存在しうる。そこ
で、いわば、外部データメモリの最初の256位置が内部
にマッピングされる。
【0030】前述のシーケンスAでは、MOVEXTと
WREXTのいずれも、上に説明したように発生しう
る。MOVEXTとWREXTのいずれの場合も発生し
なければ、シーケンスAと少し相違するシーケンスBが
続く。この相違はステートS5E/S6E中のみで生じ
る。
【0031】ステートS5E中には、以前のステートS
2E中と同様の信号が発生し、これにより頻繁なプログ
ラムメモリのアクセスが可能となる。ステートS6E中
には、エミュレーション発信はローである。
【0032】(標準的な)内部伝播遅延のため、信号I
NTACK、PRGEXT及びMOVEXTは、それぞ
れのクロックパルスPH2の開始後に、ある程度時間が
たった後に初めて、マイクロコントローラ内部で利用可
能となり、クロックパルスPH2は標準マシンステート
の第2クロックパルスであり、従って、上述した事柄を
通して用いた「前進」マシンステートの第1クロックパ
ルスである。結果的に、対応する前進マシンステートの
先頭には、多重使用されるピンEMUMPX上には無効
データが存在しうる。しかし、少なくとも次に続くクロ
ックパルスPH1中では、情報が有効である。
【0033】図6において、シーケンスA、Bはアクテ
ィブモードに関係する。前述の特徴に加えて、信号Cは
第4エミュレーション制御ピンの信号出力を指示する。
このピンはアイドルモードとリセットモードを区別する
信号の出力に使用する。なお前に説明したように、これ
らのモードでなければ、パワーダウンモードの存在を既
に発信している。シーケンスCに従った発信は、アイド
ルについては連続的なハイ信号となり、リセットについ
ては連続的なロー信号とするか、あるいはその逆とする
ことができる。他の信号形状も同様に当てはまる。
【0034】さて、図1の設定で記述した4つのエミュ
レーション制御ピンは、評価デバイス38に至り、この評
価デバイスはそれぞれの状況に基づいて、視覚表示また
はハードコピーの形で、必要な指示を人間ユーザに発信
する。さらに、ロギング(動作記録)及び他の操作を適
用しうる。こうした信号処理は、エミュレーションの現
在技術では一般に既知であるから、ここでは簡単のた
め、詳細には説明しない。
【図面の簡単な説明】
【図1】いわゆるマイクロコントローラプローブの一般
的な図である。
【図2】標準的な8051マイクロコントローラに関連する
タイミング線図である。
【図3】引例に開示されている、いわゆるメタリンクの
「フックス」に関連するタイミング線図である。
【図4】本発明に関連するタイミング線図である。
【図5】本発明によるノン−ボンド−アウト型のマイク
ロコントローラのピン配置図である。
【図6】各ステートで出力する指示信号を示す図であ
る。
【符号の説明】
20 ターゲットシステム 22 再構成ブロック 24 サブブロック(ポートP0用) 26 サブブロック(ポートP2用) 30 制御ブロック 32 エミュレーションブロック 34 バッファ出力 36 バッファ出力 38 SDS ブロック 40 マイクロコントローラ
───────────────────────────────────────────────────── フロントページの続き (73)特許権者 590000248 Groenewoudseweg 1, 5621 BA Eindhoven, T he Netherlands (72)発明者 ディーテル ハーゲドルン ドイツ連邦共和国 デー−2000 ハンブ ルク 60 ボルヒェルトリング 51 (56)参考文献 特開 昭63−136231(JP,A) 特開 昭63−120320(JP,A) 特開 平2−273840(JP,A) 特開 平2−158844(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 11/22 - 11/277 G06F 9/455 G06F 15/78

Claims (16)

    (57)【特許請求の範囲】
  1. 【請求項1】 標準的なポート手段を有するノン−ボン
    ド−アウト型のマイクロコントローラをエミュレートす
    るためのエミュレーション装置であり、ユーザデータと
    プログラム記憶アドレスとの間で前記ポート手段を多重
    使用するためのマイクロコントローラ内多重化手段を具
    え、さらに、前記ポート手段に接続され、前記プログラ
    ム記憶アドレスをラッチするためのレジスタ手段を前記
    マイクロコントローラの外部に具え、前記マイクロコン
    トローラが複数のステートから成るマシンサイクルを有
    し、該ステートの各々が少なくとも2つのクロックパル
    スから成るエミュレーション装置において、 前記マイクロコントローラが、非スリープモード中に、
    内部オシレータの制御の下で、いずれの前記マシンサイ
    クルの各開始瞬時にもまたがる第1値の信号パルス(S
    1ES)を出力する第1ピン手段と、内部オシレータの
    制御の下で、前記複数の各ステート中に、スリープモー
    ド中には非アクティブである反復性のアクティブ信号を
    出力する第2ピン手段とを具えていることを特徴とする
    エミュレーション装置。
  2. 【請求項2】 前記信号パルスが、前記ステートのうち
    の1つにほぼ等しい持続時間を有し、前記反復信号が、
    前記ステートのうちの1つにほぼ等しい周期を有し、前
    記非アクティブであることが、パワーダウンがハイ(高
    値)であることを特徴とする請求項1に記載のエミュレ
    ーション装置。
  3. 【請求項3】 標準的なポート手段を有するノン−ボン
    ド−アウト型のマイクロコントローラをエミュレートす
    るためのエミュレーション装置であり、ユーザデータと
    プログラム記憶アドレスとの間で前記ポート手段を多重
    使用するためのマイクロコントローラ内多重化手段を具
    え、さらに、前記ポート手段に接続され、前記プログラ
    ム記憶アドレスをラッチするためのレジスタ手段を前記
    マイクロコントローラの外部に具え、前記マイクロコン
    トローラが、複数のステートから成るマシンサイクルを
    有し、該ステートの各々が少なくとも2つのクロックパ
    ルスから成るエミュレーション装置において、 前記マイクロコントローラが、パワーダウンモード、ア
    イドルモード、リセットモードのいずれとも区別される
    アクティブモードにおいて、多重化したエミュレーショ
    ン制御信号を出力する、即ち前記マシンサイクルの少な
    くとも1つのステート期間(S4E)中に、次後のマシ
    ンサイクルが次のマシン命令の第1マシンサイクルであ
    るか否かを選択的に指示する第1指示信号(C1)を出
    力する第3ピン手段を具えていることを特徴とするエミ
    ュレーション装置。
  4. 【請求項4】 前記第3ピン手段がさらに、いずれのマ
    シンサイクルの第1ステート期間(S1E)にも、現
    在、前記マイクロコントローラが割込み要求を処理して
    いるか否かを指示する第2指示信号を出力できるように
    したことを特徴とする請求項3に記載のエミュレーショ
    ン装置。
  5. 【請求項5】 前記第3ピン手段がさらに、いずれのマ
    シンサイクルの第2ステート期間(S2E)及び第5ス
    テート期間(S5E)のうちの少なくとも1つの間に、
    近く到来する外部プログラムメモリのアクセスを指示す
    る第3指示信号を出力できるようにしたことを特徴とす
    る請求項3または請求項4に記載のエミュレーション装
    置。
  6. 【請求項6】 前記第3ピン手段がさらに、move
    (データ移動)外部命令中に、前記マシンサイクルの後
    半の前記第1指示信号の後に、外部データメモリのアク
    セスを指示する第4指示信号(MOVEXT)を出力で
    きるようにしたことを特徴とする請求項3から請求項5
    までのいずれかに記載のエミュレーション装置。
  7. 【請求項7】 いずれのマシンサイクルの第5ステート
    期間中にも、前記第4指示信号を発生させることを特徴
    とする請求項6に記載のエミュレーション装置。
  8. 【請求項8】 前記第3ピン手段がさらに、前記後半の
    前記第4指示信号(MOVEXT)の後に、外部データ
    メモリの書込みアクセスを指示する第5指示信号を出力
    できるようにしたことを特徴とする請求項6または請求
    項7に記載のエミュレーション装置。
  9. 【請求項9】 標準的なポート手段を有するノン−ボン
    ド−アウト型のマイクロコントローラをエミュレートす
    るためのエミュレーション装置であり、ユーザデータと
    プログラム記憶アドレスとの間で前記ポート手段を多重
    使用するためのマイクロコントローラ内多重化手段を具
    え、さらに、前記ポート手段に接続され、前記プログラ
    ム記憶アドレスをラッチするためのレジスタ手段を前記
    マイクロコントローラの外部に具え、前記マイクロコン
    トローラが、複数のクロックサイクルから成るマシンサ
    イクルを有し、該クロックサイクルの各々が少なくとも
    2つのクロックパルスから成るエミュレーション装置に
    おいて、 前記マイクロコントローラが、静的なバイナリ信号を出
    力する第4ピン手段を具え、該バイナリ信号の第1ステ
    ートは、前記マイクロコントローラがアイドルモード、
    パワーダウンモード、またはリセットモードのいずれか
    であるか否かを指示するものであり、前記第4ピン手段
    上の前記バイナリ信号の第2ステートとは区別されるも
    のであることを特徴とするエミュレーション装置。
  10. 【請求項10】 ユーザプログラムをエミュレートする
    ためのノン−ボンド−アウトのマイクロコントローラで
    あり、標準的なポート手段と、ユーザデータとプログラ
    ム記憶アドレスとの間で前記ポートを多重使用するため
    の多重化手段と、1ステート当り2クロックパルスを有
    するマルチステートのマシンサイクルを生成するマシン
    サイクル制御手段とを有し、かつ前記マシンサイクル制
    御手段の制御の下に、前記マシンサイクルのいずれの開
    始瞬時にもまたがり、前記ステートのいずれにもほぼ等
    しい持続時間の信号パルスを出力する第1ピン手段を有
    することを特徴とするノン−ボンド−アウトのマイクロ
    コントローラ。
  11. 【請求項11】 前記マシンサイクル制御手段の制御の
    下に、前記各ステート中に、パワーダウンモードでは非
    アクティブであり、前記ステートの長さに等しい反復周
    期の、アクティブでハイの反復信号を出力する第2ピン
    手段を有することを特徴とする請求項10に記載のマイ
    クロコントローラ。
  12. 【請求項12】 さらに、他のいずれのモードとも区別
    されるアクティブモードにおいて、多重化したエミュレ
    ーション制御信号を出力する、即ち前記マシンサイクル
    の少なくとも1つのステート期間中に、次後のマシンサ
    イクルが次のマシン命令の第1マシンサイクルであるか
    否かを指示する第1指示信号を出力する第3ピン手段を
    有することを特徴とする請求項10または請求項11に
    記載のマイクロコントローラ。
  13. 【請求項13】 前記第3ピン手段がさらに、いずれの
    マシンサイクルの第1ステート期間中にも、現在、前記
    マイクロコントローラが割込み要求を処理しているか否
    かを指示する第2指示信号を出力し、かついずれのマシ
    ンサイクルの第2ステート期間及び第5ステート期間の
    うちの少なくとも1つの間に、近く到来する外部プログ
    ラムメモリのアクセスを指示する第3指示信号を出力で
    きるようにしたことを特徴とする請求項12に記載のマ
    イクロコントローラ。
  14. 【請求項14】 前記第3ピン手段が、move外部命
    令中の前記第5ステート中に、前記指示信号の代わり
    に、外部データメモリアクセスを指示する第4指示信号
    を出力できるようにしたことを特徴とする請求項12ま
    たは請求項13に記載のマイクロコントローラ。
  15. 【請求項15】 前記第3ピン手段が、いずれのマシン
    サイクルの第6ステート中にも、外部データメモリの書
    込みアクセスを指示する第5指示信号を出力できるよう
    にしたことを特徴とする請求項12から請求項14まで
    のいずれかに記載のマイクロコントローラ。
  16. 【請求項16】 前記いずれの指示信号をも、前記開始
    瞬時にまたがる前記アクティブハイ信号とステート毎に
    同期させることを特徴とする請求項12から請求項15
    までのいずれかに記載のマイクロコントローラ。
JP00497392A 1991-01-17 1992-01-14 エミュレーション装置とそれに使用するマイクロコントローラ Expired - Fee Related JP3209776B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP91200079A EP0495254B1 (en) 1991-01-17 1991-01-17 Emulation device for emulating a non-bond-out microcontroller amd microcontroller for use in such emulation device
NL91200079:1 1991-01-17

Publications (2)

Publication Number Publication Date
JPH04304531A JPH04304531A (ja) 1992-10-27
JP3209776B2 true JP3209776B2 (ja) 2001-09-17

Family

ID=8207497

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00497392A Expired - Fee Related JP3209776B2 (ja) 1991-01-17 1992-01-14 エミュレーション装置とそれに使用するマイクロコントローラ

Country Status (4)

Country Link
US (1) US5574852A (ja)
EP (1) EP0495254B1 (ja)
JP (1) JP3209776B2 (ja)
DE (1) DE69121382T2 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5687312A (en) * 1993-07-30 1997-11-11 Texas Instruments Incorporated Method and apparatus for processor emulation
JP2727976B2 (ja) * 1994-09-12 1998-03-18 日本電気株式会社 インサーキットエミュレータ
US5574894A (en) * 1994-11-03 1996-11-12 Motorola, Inc. Integrated circuit data processor which provides external sensibility of internal signals during reset
WO1998054630A2 (en) * 1997-05-30 1998-12-03 Koninklijke Philips Electronics N.V. Method and system for emulating a non-bond-out version of a microcontroller that has standard port means
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
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
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
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
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
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
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
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
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
KR20060110359A (ko) * 2004-02-09 2006-10-24 콘티넨탈 테베스 아게 운트 코. 오하게 자동차내의 임계 안전 컴퓨터 시스템을 위한 통합형시스템용 디바이스 및 방법
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
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
US7650275B2 (en) * 2005-01-20 2010-01-19 Hewlett-Packard Development Company, L.P. Virtualization of a parition based on addresses of an I/O adapter within an external emulation unit
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
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
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
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
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
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
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
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
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4145760A (en) * 1978-04-11 1979-03-20 Ncr Corporation Memory device having a reduced number of pins
US4441154A (en) * 1981-04-13 1984-04-03 Texas Instruments Incorporated Self-emulator microcomputer
US4677548A (en) * 1984-09-26 1987-06-30 Honeywell Information Systems Inc. LSI microprocessor chip with backward pin compatibility and forward expandable functionality
US4677586A (en) * 1985-06-04 1987-06-30 Texas Instruments Incorporated Microcomputer device having test mode substituting external RAM for internal RAM
US4939637A (en) * 1988-02-10 1990-07-03 Metalink Corporation Circuitry for producing emulation mode in single chip microcomputer
US4901259A (en) * 1988-08-15 1990-02-13 Lsi Logic Corporation Asic emulator
US5053949A (en) * 1989-04-03 1991-10-01 Motorola, Inc. No-chip debug peripheral which uses externally provided instructions to control a core processing unit

Also Published As

Publication number Publication date
US5574852A (en) 1996-11-12
JPH04304531A (ja) 1992-10-27
EP0495254B1 (en) 1996-08-14
DE69121382T2 (de) 1997-02-27
DE69121382D1 (de) 1996-09-19
EP0495254A1 (en) 1992-07-22

Similar Documents

Publication Publication Date Title
JP3209776B2 (ja) エミュレーション装置とそれに使用するマイクロコントローラ
JP4805163B2 (ja) 多数の時間領域群を有するシステムでイベント群を時間順序付けする装置及び方法
ES467392A1 (es) Un generador de senales de direccion y de ruptura para gene-rar direcciones.
US20040246810A1 (en) Apparatus and method for reducing power consumption by a data synchronizer
JP2002323995A (ja) トレース回路
JP3693722B2 (ja) データ処理システムおよびその方法
KR100354932B1 (ko) 멀티플렉싱버스상에쇼사이클을제공하는방법및데이타프로세서
EP0337993B1 (en) Parallel processing state alignment
US7945718B2 (en) Microcontroller waveform generation
EP0992895A1 (en) Hardware accelerator for data processing systems
KR20060064146A (ko) 저전력 마이크로 컨트롤러
US7729897B2 (en) Time multiplexed interface for emulator system
KR100196526B1 (ko) 에뮬레이션을 위한 실시간 제어시스템
US5999742A (en) Dual latch data transfer pacing logic using a timer to maintain a data transfer interval
JP2003099397A (ja) データ処理システム
US20110246747A1 (en) Reconfigurable circuit using valid signals and method of operating reconfigurable circuit
JPS625724Y2 (ja)
JPS61201362A (ja) ウエイトサイクル插入回路
JPS6117031B2 (ja)
JPS61141064A (ja) 電子回路
JPH10289127A (ja) 開発用エミュレータのトレース回路
JPS58205235A (ja) デ−タ源競合防止回路
JP2001202267A (ja) マイクロコンピュータのテスト回路およびテスト方法
JP2001195356A (ja) 通信制御回路
JPH0748192B2 (ja) 記憶装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees