JP3693722B2 - データ処理システムおよびその方法 - Google Patents

データ処理システムおよびその方法 Download PDF

Info

Publication number
JP3693722B2
JP3693722B2 JP29930495A JP29930495A JP3693722B2 JP 3693722 B2 JP3693722 B2 JP 3693722B2 JP 29930495 A JP29930495 A JP 29930495A JP 29930495 A JP29930495 A JP 29930495A JP 3693722 B2 JP3693722 B2 JP 3693722B2
Authority
JP
Japan
Prior art keywords
signal
mode
clock signal
data processing
external
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 - Lifetime
Application number
JP29930495A
Other languages
English (en)
Other versions
JPH08212099A (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.)
NXP USA Inc
Original Assignee
NXP USA Inc
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 NXP USA Inc filed Critical NXP USA Inc
Publication of JPH08212099A publication Critical patent/JPH08212099A/ja
Application granted granted Critical
Publication of JP3693722B2 publication Critical patent/JP3693722B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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

Landscapes

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

Description

【0001】
【産業上の利用分野】
本発明は、一般的に集積回路データ・プロセッサに関する。更に特定すれば、本発明は、プロセッサがリセットされると外部では検出されない、内部発生信号に対応する出力信号を供給することができる、集積回路データ・プロセッサに関するものである。
【0002】
【従来の技術】
集積回路データ・プロセッサは増々複雑化し、以前は集積回路の外部で実施していた機能を徐々に、内部素子として内蔵するようになっている。集積回路用パッケージを製造するために利用可能な技術が進歩し、設置可能な外部端子即ちピンの数を増加することができるようになったが、ピンの数は、集積回路のパッケージと同様、半導体素子の価格に影響を与えることも、相変わらず真実である。更に、プリント回路基板のアセンブリに利用可能な技術は、ピン数の多いパッケージでは、比較的高価なものとなる。パッケージの物理的サイズも、重要な問題となり得る。これらの要因のために、比較的少数のピンを有する集積回路パッケージに、非常に複雑なデータ・プロセッサを収容する結果となっている。
【0003】
必要なピン数を少なくする公知の方法の1つに、多数の機能を単一のピンに割り当てる方法がある。ある時点である特定のピンに割り当てられる特定の機能は、ソフトウエア、ハードウエアまたはそれらの組み合わせによって決定される。しばしばマイクロコントローラと呼ばれているある種の集積回路データ・プロセッサは、多くの場合、異なる動作モードにおいて異なる機能を特定のピンに持たせることによって、多数モードで動作することができる。一般的な例として、いわゆる「シングル・チップ・モード」またはいわゆる「拡張モード」のいずれかで動作可能なマイクロコントローラがある。拡張モードでは、集積回路パッケージのピンの内あるものは、マイクロコントローラを外部バスに接続するために必要な、アドレス、データおよび制御接続を設けるために用いられる。このモードでは、マイクロコントローラはメモリや、バスによってのみアクセス可能な周辺素子にアクセスすることができる。シングル・チップ・モードでは、これらのピンは、タイミング機能、並列I/O、直列通信等のような、他の入出力(I/O)のために用いられる。マイクロプロセッサは、シングル・チップ・モードの間、内部メモリ記憶部と周辺素子とを使用する。
【0004】
集積回路データ・プロセッサのピンに多数の機能を割り当てることも、開発ツールの設計者にとって、問題を生じる元となる。開発ツールは、集積回路データ・プロセッサのアプリケーション設計者によって用いられ、かれら自身の製品を作るためのハードウエアおよびソフトウエア・システムである。開発システムは、典型的に、いくつかの役割を担わなければならない。まず、開発システムは、集積回路データ・プロセッサの内部状態に関してできるだけ多くの情報を提供し、エラー源や動作状態の特徴(characaterization)の識別を補佐しなければならない。開発システムは、開発中のソフトウエアのコードが最終的にはマイクロプロセッサ内部の不揮発性メモリに常駐するとしても、それらが集積回路外部のメモリに常駐できるようにしなければならない。また、開発システムは、最終的に生産規模で用いられる集積回路の機能性(functationality)を、できるだけ正確に複製できなければならない。例えば、シングル・チップ・モードでマイクロコントローラを用いる製品の開発を可能にするよう意図された開発システムは、常に同じマイクロコントローラまたは非常に類似したものを、拡張モードで用いなければならず、更に、シングル・チップ・モードでは使用できるが拡張モードでは使用できない全てのピン機能を交換(replace)またはエミュレート(emulate)するのに必要な全てのロジックを含んでなければならない。
【0005】
多くの開発システムの具体的な課題を1つあげると、開発システムによって必要とされる代替機能のために多重化データを通信する集積回路ピン上にクロック信号が供給されていないときに、マイクロコントローラからエミュレーションシステムへ、内部クロックを反映するクロック信号を供給することである。かかる状況では、クロック信号を合成し、多重化データの一部である残りの信号が妨害されずにピンに出力される外部回路を、エミュレーション・システム内で開発すればよい。クロック信号の外部合成は、この問題に対する適切な解決案であるが、エミュレーション・システムによって発生される合成信号を、マイクロコントローラによって用いられる実際の信号と同期させる機構が必要となる。同期段階は、通常外部素子には使用可能とされていない信号については特に問題がある。合成信号を同期させるという問題に加えて、開発システムの設計者は、マイクロコントローラ内の信号特性が変更し得るという可能性にも直面する。かかる変更が認識できず、開発システムによって必要とされる別の機能のために集積回路のピンを用いなければならないために、マイクロコントローラが外部に信号を供給できない場合、エミュレーション・システムによる信頼性の高い外部再生は不可能であろう。
【0006】
【発明が解決しようとする課題】
したがって、これまで外部では見ることができなかった内部発生信号にアクセスすることができる集積回路データ・プロセッサが必要とされている。この必要性は、かかる内部発生信号を常に正確にシミュレートしなければならない開発システムによって、集積回路データ・プロセッサがエミュレートされるときに、特に例証されている。
【0007】
【課題を解決するための手段】
先に述べた必要性は、本発明によって実現される。即ち、第1形態では、データ処理システムが提供される。このデータ処理システムは、リセット信号を通信するバス・インターフェース回路と、システム・クロック信号を通信するシステム・クロック回路とを含む。シミュレーション・クロック発生器がシステム・クロック回路に接続され、システム・クロック信号を受ける。シミュレーション・クロック発生器は、システム・クロック信号に応答して、内部条件クロック信号(internal conditioned clock signal)を発生する。モード制御回路がデータ処理システムの動作モードを決定する。モード制御回路は、データ処理システムが第1動作モードで動作しているとき第1論理状態のモード信号を発生し、データ処理システム第2動作モードで動作しているとき第2論理状態のモード信号を発生する。バス制御回路は、データ処理システムが第1動作モードのとき第1情報値を発生し、データ処理システムが第2動作モードのとき内部条件クロック信号を発生する。バス制御回路は、バス・インターフェース回路に接続されてリセット信号を受け、モード制御回路に接続されてモード制御信号を受け、更にシミュレーション・クロック発生器に接続されて内部条件クロック信号を受ける。
【0008】
これらおよびその他の特徴ならびに利点は、添付図面に関連付けられた以下の詳細な説明から、より明確に理解されよう。図面は本発明の唯一の形状を表わすことを意図するものではないことを指摘するのは重要なことである。
【0009】
【実施例】
マイクロコントローラは、典型的に、シリコン・マイクロチップ上のコンピュータ・システムとして記述することができる。マイクロコントローラは、中央処理ユニット(CPU)、メモリ、ならびに通信モデュール、タイミング・モデュール、アナログ/デジタル変換器、およびその他の必要なモデュールといった種々の周辺素子を含む。マイクロコントローラは、拡張即ちエミュレーション・モードで動作することができ、このモードではオンチップ・コンピュータ・システムが外部素子に見ることができる。例えば、通常動作モードでは、メモリのような外部リソースがマイクロコントローラ外部に常駐し、外部バス端子を通じてアクセス可能となる。同様に、シングル・チップ動作モードでは、アクセスされるリソースの全てがマイクロコントローラ内に常駐している。シングル・チップ動作モードでは、外部メモリは不要である。したがって、通常モードにおいてアドレス、データ、および制御情報を通信する外部バス端子は、入出力ポートのような別の機能のために用いることができる。加えて、エミュレーション動作モードでは、マイクロコントローラの内部動作(internal activity)が、エミュレーションの目的のために外部に提示される。
【0010】
また、マイクロコントローラはシングル・チップ動作モードで動作することもよくあり、このモードでは、オンチップ・コンピュータ・システムに関連する、全てではなくとも殆どの内部信号は外部素子には見えない。シングル・チップ動作モードでは、マイクロコントローラは、単一集積回路チップ上の全コンピュータ・システムに必要なリソースを全て含んでおり、外部素子からの情報を必要としない。シングル・チップ動作モードにあるときは、拡張動作モードに関連するピンは、入出力通信ポートとして、および種々の他の機能のために機能する。エミュレーション・モードでは、開発システムが実際にマイクロコントローラを拡張モードで動作させて、マイクロコントローラの内部動作の外部可視性(external visibility)を保存する。アプリケーションにとって、マイクロコントローラとエミュレートされるシステムとの組み合わせは、マイクロコントローラがシングル・チップ・モードで動作しているかのように見える。多重化された集積回路のピンがエミュレーション・データを開発システムに供給するので、開発システムは、マイクロコントローラの種々の機能の動作をエミュレートする様々な回路を通じて、これら多重化ピンのシングル・チップ・モードの機能を交換しなければならない。アプリケーションには、開発システムはシングル・チップ・モードで動作しているマイクロコントローラのように見える。しかしながら、開発システムは、マイクロコントローラの内部コンピュータシステムの完全な可視性を与えることができる。
【0011】
先に述べたように、多重化データを通信する集積回路ピン上にクロック信号が供給されているとき、内部クロックを反映するクロック信号をマイクロコントローラから開発システム即ちエミュレーション・システムに供給することは困難である。クロック信号を合成し、多重化データの一部である残りの信号が妨害されずにピンに出力されるためには、外部回路を開発システム内に設けなければならない。したがって、開発システムによって発生される合成信号を、マイクロコントローラによって用いられる実際の信号と、同期させる機構を設けなければならない。同期段階には、通常外部素子には使用可能とされていない信号については、特に問題がある。合成信号の同期を取る問題に加えて、開発システムの設計者は、マイクロコントローラ内の信号特性が変更し得るという可能性にも直面する。かかる変更が認識できず、開発システムによって必要とされる別の機能のために集積回路のピンを用いなければならないために、マイクロコントローラが外部に信号を供給できない場合、エミュレーション・システムによる信頼性の高い外部再生は不可能であろう。
【0012】
上述の問題は、各々開発システムにおいて用いられている種々のデータ・プロセッサで遭遇したものである。タイミングを図11に示した従来のデータ・プロセッサでは、ECLOCK(クロック)信号、Read/反転Write(R/反転W)機能、およびロード命令レジスタ(LIR)機能は、全て単一の外部集積回路ピンを通じて通信されるように多重化されている。従来のマイクロコントローラは独特の解決法を提供している。この解決法では、同期パルスがECLOCK信号の立ち下がりエッジで発生され、マイクロコントローラが所定動作モードで動作しているときのリセット動作の間に、外部エミュレーション・システムに供給される。同期パルスは、ECLOCK信号の立ち下がりエッジのみを指示し、実際のECLOCK信号自体を指示するものではない。リセット動作が実行されないと、ECLOCK信号は外部システムに供給されない。この場合、ECLOCK信号を供給するピンは、R/反転WおよびLIR機能を提供する。このように、従来技術のマイクロコントローラは、エミュレーション・システムによって供給される合成信号を同期させる解決案を提供するものである。しかしながら、同期される信号の特性がマイクロコントローラの中央プロセッサによって変更された場合、リセットがアサート(assert)されているとピンはECLOCK信号以外の信号を供給するので、この変更はエミュレーション・システムには正確に反映されない。
【0013】
本発明のこの実施例では、データ・プロセッサの集積回路端子の1本が、多重化データを外部素子と通信しなければならない。リセット信号がアサートされているリセット動作の間、所望の内部クロック信号がこの集積回路端子に送出され、外部開発システムが内部クロック信号を用いて、エミュレーション動作を同期化することができる。供給されるのは、所望の内部クロック信号であって、単に内部クロック信号のエッジではない。図11に示される従来技術の素子が供給するのは内部クロック信号の立ち下がりエッジだけであるので、周波数情報の提供のみに限定される。対照的に、本願に開示される発明は、クロック信号のエッジだけではなく内部信号が供給されるので、デューティ・サイクル、位相情報、および周波数情報を提供することができる。上述の集積回路端子は、リセット動作の実行中必要とされないものとすべきであり、リセット信号がニゲート(negation)されたときに、この集積回路端子は多重化信号の通信というそれ自体の通常機能に戻ることを指摘しておく。加えて、リセット信号をニゲートするとき、外部開発システムは、エミュレーション動作中に用いるために、内部クロック信号を合成する。
【0014】
更に、本発明のこの実施例は、書き込み動作の外部可視性を複数のレジスタに提供し、これらのレジスタが、データ・プロセッサがエミュレーション・モードにあるとき、複数の集積回路端子の内別の1本を通じて、関連のある信号パラメータを制御する。エミュレーション・モードの間、データ・プロセッサはショー・サイクル機構(show-cycle mechanism)によって、内部バス・サイクルの外部可視性を与える。ショー・サイクル機構は内部アドレスおよびデータを外部バス端子に供給し、外部バス制御信号の固有の挙動が得られる。適用可能な内部信号挙動を行う動作は、ショー・サイクル機構を通じて外部に指示される。この外部可視性によって、エミュレーション・システムは、対応する信号パラメータに対応する同様の変化をその中で生じることができる。したがって、開発システムは、信号パラメータが動作中に変更されても、エミュレーション動作を正確に同期させることができる。
接続構成(connectivity)の説明
図1は開発システム5を示す。開発システム5は、データ処理システム10、エミュレーション・システム52およびアプリケーション100を含む。データ処理システム10は、バス28、複数の集積回路端子24、複数の集積回路端子26、複数の集積回路端子30、複数の集積回路端子32、および複数の集積回路端子34を介して、エミュレーション・システム52に結合されている。エミュレーション・システム52は、システム・クロック信号、外部条件クロック信号、リセット信号、およびアプリケーション・バス(application bus)を通じて、アプリケーション100に結合されている。アプリケーション・バスは、バス24,26,30,32,34を通じて転送される信号のような信号を、アプリケーションに供給する。ここでは図示しないが、データ処理システム10は、条件クロック信号に同期される複数の信号を供給することもできる。
【0015】
データ処理システム10は、中央処理ユニット(CPU)12、タイマ回路14、システム統合回路16、直列通信回路18、アナログ/デジタル(A/D)変換器20、およびスタティック・ランダム・アクセス・メモリ(SRAM)22を含む。システム・クロック信号は、システム統合回路(system integration circuit)22、ならびにここには図示されていないデータ処理システム10の他の部分およびエミュレーション・システム回路に接続されている。
【0016】
図2は、本発明を利用したデータ処理システム10のシステム統合回路16の一部を示す。システム統合回路16は、バス・インターフェース・ユニット40、外部バス制御部42、システム・クロック回路44、シミュレーション・クロック発生器46、および複数のバス端子48を含む。システム統合回路16のバス・インターフェース・ユニット40は、バス36を通じて、データ処理システム10の残りの部分に結合されている。バス・インターフェース・ユニット40は、内部アドレス・バス、内部データ・バス、内部制御バス、および内部リセット・バスを通じて、シミュレーション・クロック発生器46と外部バス制御部42の双方に結合されている。システム・クロック回路44は、システム・クロック信号を、シミュレーション・クロック発生器46および複数の端子48に供給する。シミュレーション・クロック発生器46は、内部条件クロック信号を外部バス制御部42に供給する。外部バス制御部42は、外部アドレス・バス、外部データ・バス、外部制御バス、および外部リセット信号を通じて、複数のバス端子48に、双方向的に結合されている。複数のバス端子48は、バス28を通じてエミュレーション・システム52に結合されている。
【0017】
図3に外部バス制御部42を更に詳しく示す。外部バス制御部42は、バス制御回路58とマルチプレクサ制御回路56とを含む。内部アドレス・バス、内部データ・バス、内部制御バス、および内部リセット・バスは、マルチプレクサ制御回路56とバス制御回路58の双方に接続されている。内部条件クロック信号はバス制御回路58に供給される。マルチプレクサ制御回路56はエミュレーション・モード信号によって、バス制御回路58に結合される。
【0018】
図4にバス制御回路58をより詳細に示す。バス制御回路58は、マルチプレクサ60とバス・マルチプレクサ62とを含む。内部データ・バス、内部制御バス、内部リセット信号、および内部アドレス・バスの通信は、バス・マルチプレクサ62を介して行われる。バス・マルチプレクサ62は、外部アドレス・バス、外部データ・バス、外部リセット信号、および外部制御信号の通信を行う。内部アドレスバス、内部条件クロック信号、内部リセット信号、およびエミュレーション・モード信号が、マルチプレクサ60に供給される。マルチプレクサ60は、多重化エミュレータ信号(multiplexed emulator signal)を外部アドレス信号線に出力する。多重化エミュレータ信号は、単一で、またはここに示したバスの内他の線を通じても供給可能であることは理解されよう。図4は、本発明の可能な実施形態の一例としてのみ提示されたものである。
【0019】
図5にエミュレーション・システム52を詳細に示す。エミュレーション・システム52は、クロック条件設定回路74、同期回路66、ANDゲート68、ANDゲート70、およびエミュレータ機能回路72を含む。バス28は、システム・クロック信号、外部データ・バス、外部アドレス・バス、外部制御バス、および外部リセット信号をエミュレーション・システム52に供給する。外部リセット・バスは、エミュレータ機能回路72の第1入力、ANDゲート70の第1入力、ANDゲート68の反転第1入力、および同期回路66の第1入力に結合されている。外部アドレス・バスは、エミュレータ機能回路72の第2入力に結合されている。サイクル・タイプ指示信号が、外部制御バスによってエミュレーション機能回路72の第3入力に供給される。書き込み指示信号は、エミュレーション機能回路72によって、クロック条件設定回路74の第1入力に供給される。システム・クロック信号は、同期回路66の第2入力およびクロック条件設定回路74の第2入力に、ならびにエミュレーション・システム52の出力として供給される。外部データ・バスは、エミュレータ機能回路72の第3入力と、クロック条件設定回路74の第3入力とに結合されている。外部制御バスは、エミュレータ機能回路72の第4入力に結合されている。多重化エミュレータ信号は、外部アドレス・バスによって、ANDゲート70の第2入力とANDゲート68の第2入力とに供給される。ANDゲート70の出力は、エミュレータ機能回路72の第5入力に結合されている。ANDゲート68の出力即ちイネーブル信号は、同期回路66の第3入力に結合されている。同期回路66の出力即ち同期信号は、クロック条件設定回路74の第4入力に結合されている。クロック条件設定回路74の出力は、外部条件クロック信号を発生する。
【0020】
図6にクロック条件設定回路74を更に詳細に示す。クロック条件設定回路74は、シャドウ制御レジスタ(shadow control register)90と、クロック合成回路92とを含む。書き込み指示信号線および外部データ・バスは、それぞれシャドウ制御レジスタ90の第1および第2入力に結合されている。シャドウ制御レジスタ90は、クロック合成回路92の第1入力に接続され、分周比信号(Divide Rate signal)を供給する。システム・クロックおよび同期信号は、それぞれ、クロック合成回路92の第2および第3入力に供給される。クロック同期回路92は条件クロック信号を供給する。
【0021】
図12は、通常動作モードにおけるシステム205を示す。システム205は、データ処理システム210とアプリケーション300とを含む。データ処理システム210は、バス228、複数の集積回路端子224、複数の集積回路端子226、複数の集積回路端子230、複数の集積回路端子232、および複数の集積回路端子234を通じて、アプリケーション300に結合されている。ここでは図示しないが、データ処理システム210は、条件クロック信号に同期された複数の信号を供給することもできる。
【0022】
データ処理システム210は、中央処理ユニット(CPU)212、タイマ回路214、システム統合回路216、直列通信回路218、アナログ/デジタル(A/D)変換器220、およびスタティック・ランダム・アクセス・メモリ(SRAM)222を含む。システム・クロック信号が、システム統合回路222、ならびにここには示されていないデータ処理システム210の他の部分、およびエミュレーション・システム回路に接続される。
【0023】
本発明の実施形態に関する以下の説明の間、「アサート(assert)」および「ニゲート(negate)」という用語、ならびにそれらの種々の文法的形状を用いて、「アクティブ高」および「アクティブ低」論理信号を一緒に扱う際の混乱を回避することとする。「アサート」は、論理信号またはレジスタ・ビットをそのアクティブ状態、即ち、論理的真の状態にすることを表わす際に使用する。「ニゲート」は、論理信号またはレジスタ・ビットをそのインアクティブ状態、即ち、論理的虚の状態にすることを表わす際に使用する。また、値の前に「$」があるものは、その値が16進数であることを示すことにも注意されたい。加えて、マイクロコントローラおよびデータ処理システムは、本明細書全体にわたって相互交換可能に用いられるものとする。
動作の説明
先に述べたように、本発明のこの実施例は、外部素子と多重化信号を通信しなければならないデータ・プロセッサの集積回路端子を含む。リセット信号がアサートされているリセット動作の間、所望の内部クロック信号を当該集積回路端子に送出することにより、外部開発システムがその内部クロック信号を用いてエミュレーション動作を同期させる。一般的に、この集積回路端子は、リセット動作の実行中には必要とされない端子である。更に、リセット信号をニゲートすると、この集積回路端子は、多重化信号の通信というそれ自体の通常機能に戻る。加えて、リセット信号をニゲートする際、外部開発システムは、エミュレーション動作の間使用する内部クロック信号を同期させる。
【0024】
また、本発明のこの実施例は、外部エミュレーション・システムに外部可視性を与え、データ・プロセッサがエミュレーション動作モードにあるとき、複数の集積回路端子の別の1本を通じて関連する信号パラメータを制御する内部レジスタに、書き込み動作を指示する。書き込み動作の外部可視性を備えることによって、エミュレーション・システムは、その中で発生された対応する信号パラメータに、同様の変更を与えることができる。こうして、開発システムは、データ・プロセッサによって供給された信号パラメータが動作中に変更されても、エミュレーション動作を正確に同期させることができる。内部で変更が起きたとき、エミュレートされる信号が同時に変更され、外部装置に正確な同期信号を供給する。
本発明のシステム環境例
本システムについて更に詳細に説明する前に、システム環境の一例について説明し、本発明に対する必要性が生じた開発システムについての背景情報を与えることにする。理解すべきは、以下に述べるのは、本願において開示される本発明を実施する開発システム即ち動作環境の一例に過ぎないということである。
【0025】
本例の開発システムでは、多重化データ、アドレス、および制御情報を送信する集積回路の信号通信端子を含むデータ・プロセッサに、本発明を実施すると仮定する。具体的には、この集積回路端子は、多重化データ、およびクロック情報を転送する。本例の残りの部分の理解を容易にするために、アドレス[23]と表記されたアドレス情報は、アドレス・バスのビット23に対応し、クロック信号は、エミュレート対象のデータ・プロセッサの内部クロック関数を示す外部条件クロック信号であると仮定する。アドレス情報を通信する集積回路端子は、リセット動作の間必要とされないので、この目的に使用可能であることを指摘しておく。しかし、リセット動作の間必要とされない集積回路端子であれば、どれを用いてもよいことは理解されよう。更に、本例における外部条件クロック信号は、エミュレート対象のデータ・プロセッサの内部クロック機能(internal clock function)を示す。
【0026】
本例および多くの応用では、データ・プロセッサのユーザは、上述の集積回路端子がクロック(外部条件クロック)として機能することを望む。しかしながら、開発環境では、外部開発システムは、アドレスのビット23(アドレス[23])をこの集積回路端子上に供給することをデータ・プロセッサに要求する。アドレス[23]は、エミュレーション・モードの間、データ・プロセッサの内部アドレス・バスの外部可視性を支援するために供給される。
【0027】
集積回路端子がアドレス[23]を開発システムに供給しなければならないという必要性のために、更に開発システムは通常データ・プロセッサの完全で明瞭な(transparent)エミュレーションを行わなければならないという必要性のために、開発システムは、他の場合であったなら外部条件クロック信号によって提供される、別の機能を再現しなければならない。内部条件クロック信号の外部再生は複雑であり、内部条件クロック信号の、データ・プロセッサによって発生され開発システムによってエミュレートされるチップ・セレクト機能との関連によって、より難しくなる。
【0028】
本質的に、データ・プロセッサのチップ・セレクト機能は、データ・プロセッサ内部で発生される外部条件クロック信号に、チップ・セレクト機能を同期させなければならないモードで動作する。殆どのデータ処理の用途には、外部条件クロック信号とバス制御信号との適切に同期された組み合わせが常に必要なので、開発システムの外部で同期された外部条件クロック信号は、データ・プロセッサの内部条件クロック信号と同期していなければならない。次いで、内部条件クロック信号とその外部で同期された相手との間の同期を達成しなければならない。内部条件クロック信号の同期に対する問題は、ユーザ・プログラムの内部条件クロック信号の周波数またはその他のパラメータを変更する機能(ability)によって、更に複雑化する(compound)。本発明の一実施例では、周波数変更はクロック制御レジスタ内の制御ビットによって行われる。
【0029】
上述の問題および課題に対する解決法が本発明によって提供される。本発明の本実施例は以下について説明する。
1)リセット動作における内部条件クロック信号の可視性;および
2)リセット動作以外の動作における内部条件クロック信号の内部操作の可視性。
【0030】
本発明の本実施例のこの例では、外部条件クロックとアドレス[23]信号とが多重化される集積回路端子に、リセット信号がアサートされデータ・プロセッサがエミュレーション動作モードで動作するように構成されたときに、外部条件クロック信号を供給する機能が割り当てられる。この状態は主に開発システムによって用いられ、開発システムが外部条件クロック信号に同期し、正確なエミュレーション動作が可能となる。開発システムのデータ・プロセッサへの同期が必要なのは、外部条件クロック信号の同期された複製を合成し、外部条件クロック信号に同期されたバス・サイクルを保持するためであり、この同期はデータ・プロセッサのチップ・セレクト信号のどれと関連付けてもよい。
【0031】
内部条件クロック信号の周波数およびその他のパラメータに影響を与え得る、マイクロコントローラの内部クロック制御レジスタへの書き込みの可視性および指示は、外部から与えられる。これは、ショー・サイクル(show-cycle)と呼ばれる機構によって達成される。ショー・サイクルは、内部バス・サイクルの可視性を与えるために用いられる、特別な外部バス・サイクルである。これは、外部で同期された外部条件クロックの複製信号の制御によって、信頼性高く変化を内部条件クロック信号に再生するために、開発ツールによって必要とされるものである。
本発明を用いたエミュレーション・システム
本発明を組み込んだデータ・プロセッサの開発システムは、データ・プロセッサのリセット信号をアサートしたときに、データ・プロセッサをエミュレーション動作モードに切り替える。データ・プロセッサは、アドレスおよびデータ・バスを駆動し、制御信号を集積回路端子の入出力ポートに供給し、エミュレーション・システムへの通信を行う。開発システム5は図1に示されている。既に説明したように、開発システム5は、データ処理システム10、エミュレーション・システム52、およびアプリケーション100を含む。図1のエミュレーション・システム52は、バス28を通じて、データ処理システム10からアドレスおよびデータ・バスならびにバス制御信号を受け取る。本発明の一実施例におけるエミュレーション動作モードでは、上位アドレス値の一部が、バス28に含まれる複数の集積回路端子によって、エミュレーション・システム52に供給される。加えて、これら複数の集積回路端子は、先に述べたアドレスおよびクロック情報のような情報を転送する。この情報は外部から見ることができ、エミュレーション・システム52が使用することができる。したがって、エミュレーション・システム52は、エミュレーション・システム52によってエミュレートされる、データ処理システム10の内部制御信号の可視性を与えることができる。次に、データ処理システム10の種々の構成に対して、アドレス[23]および外部条件クロック信号を通信するための、集積回路端子のエミュレーションについて説明する。
【0032】
通常動作モードでは、外部条件クロック機能は、上述の複数の集積回路端子の1本に割り当てられる。エミュレーション動作モードでは、アドレス[23]が、エミュレーション・システム52と通信するデータ処理システム10の複数の集積回路端子の1本に割り当てられる。一方、エミュレーション・システム52のエミュレーション機能回路72によって発生されるエミュレート信号は、アプリケーション100に供給される。エミュレーション・システム52内に含まれる外部条件クロック合成機構(図6のクロック合成回路92)が、合成信号をアプリケーション100に供給する。この外部条件クロック合成機構は、リセット信号がアクティブで、データ処理システム10がリセット動作を実行している間、内部条件クロック信号に同期される。外部条件クロック合成機構は、本発明のこの実施例では、システム・クロック信号を分周する。ユーザは内部信号の分周比を自由に変えることができるので、エミュレーション・システム52はショー・サイクルの特徴を利用して、内部クロック制御レジスタ(図6の制御レジスタ90)への書き込み動作を観察し、内部条件クロック信号の分周比を追跡する。ショー・サイクルは、データ・プロセッサの外部動作(external activity)を妨害することなく、データ・プロセッサの内部動作を外部に見えるようにする機構である。かかる構造はデータ処理技術では公知であるので、ここではこれ以上詳しく論じない。分周比を追跡し、外部で同期される外部条件クロック信号に適切なときに変更を加えることによって、内部条件クロック信号と外部で同期される外部条件クロック信号の複製との間の正確な同期が、エミュレーション・システム52によって与えられる。
【0033】
殆どのユーザにとって、特に、市場へのタイミング(time-to-market)が重大なパラメータであるような状況では、データ処理システムの完全な非貫入性エミュレーション(non-intrusive emulation)は必須と考えられる。多様性、機能性、およびコストのようなその他の市場に関係する制約は、データ処理システムの設計にかなり影響を及ぼす。本発明がなければ、データ処理システムは、特別な集積回路端子に、エミュレーションの完全な支援を要求することになる。さもなければ、データ処理システムは全く支援を得ることができないであろう。加えて、データ処理システムが本発明を組み込まない場合、外部条件クロック信号のための支援が除去されるので、データ処理システムの機能性が低下する。これは、データ処理システムの主要な市場(key market)に悪影響を与え得る行為となる。明らかに、ここに記載する本発明の実施例は、完全なエミュレーションの支援に必要とされる、必須のエミュレーション「フック(hook)」を提供するものである。更に、本発明は、エミュレーション動作の間でのみ必要な、独立した外部条件クロック用集積回路端子の必要性を軽減するので、本発明のこの実施例は、端子数を減らしつつ機能性を高める環境も支援するものである。
本発明の本実施例の詳細な説明
データ処理システムをエミュレートするための汎用的応用について、以下に詳細に論ずることにする。データ処理システムは、クロック信号と、通常このクロック信号と同期される少なくとも1つのエミュレートすべきデータ処理信号とを発生する回路を含む。言い換えれば、これらクロック信号とエミュレートすべきデータ処理信号とは、時間的に相互に関連付けられた状態を有し、この関係はエミュレートされるデータ処理システムが必要とするものである。本発明の本実施例を用いるための基準を確定する、通常動作アプリケーションについて以下に説明する。
標準動作モード
図1はエミュレーション・モードで動作可能なデータ処理システム10を示す。具体的には、エミュレーション・システム52とアプリケーション100によって、データ処理システム10がエミュレーション機能を実行可能となる。これに対応して、図12は通常動作モードで動作するデータ処理システム10を提示する。通常動作モードにあるときは、データ処理システム10は直接アプリケーション100に接続され、エミュレーション・システム52のような、中間エミュレーション・システムを必要としない。通常動作モードでは、アプリケーション100は外部条件クロック信号とシステム・クロック信号を、データ処理システム10から受ける。外部条件クロック信号の機能は、システム・クロック信号から得られる。外部条件クロック信号はタイミング信号を供給し、これによって、アプリケーション100は、データ処理システム10と情報を通信するために、それ自体の内部回路を同期させることができる。データ処理システム10の内部回路は、タイミング信号を発生する回路への入力として、内部条件クロック信号を用いる。一方、アプリケーション100は、1つ以上の位相コヒーレント信号(phase coherent signal)に加えて、外部条件クロック信号を用いてその内部回路を同期させる。
【0034】
動作中、内部条件クロック信号、内部リセット信号、および1つ以上のその他のデータ処理信号が、図4に示すマルチプレクサ60に供給される。通常動作モードの間、エミュレーション・モード信号はニゲートされるので、マルチプレクサ60は外部条件クロック信号を通じて、内部条件クロック信号をアプリケーション100に供給することができる。次に、外部条件クロック信号が、外部アドレス・バスを通じて、バス28に転送される。バス28は、その後アプリケーション100に結合される。リセット動作の間およびその後に、内部条件クロック信号が外部条件クロック信号に転送される。外部条件クロック信号によって転送されるとき、内部条件クロック信号がアプリケーション100によって用いられる。ここで指摘すべきは、このようにして内部条件クロック信号を供給することによって、内部条件クロック信号へのいかなる変化も、図2の複数のバス端子48を通じて、直接外部に通信されることである。この構造は、元のクロック信号の分周比が変更される時に、特に有用である。
【0035】
図7は、図1に示した通常動作モードで動作する開発システム5の各入出力信号間のタイミング関係を示す。図7に示すタイミング例では、システム・クロック信号を二分周し、内部条件クロック信号を発生する。アプリケーション100およびその内部回路は、通常動作モードの間かかる信号を正確に処理するために、特定のバス制御信号に関して内部条件クロック信号の同期を要求する。データ処理システム10の動作モードを示す信号、即ちエミュレーション・モード信号は、通常動作モードの間ニゲート状態となっていることを注記しておく。また、内部条件クロック信号がマルチプレクサ60によって選択されたとき、リセット信号は多重化エミュレータ信号の挙動には影響を与えないことも注記しておく。更にまた、内部条件クロックの特性が変化したとき、外部条件クロックは直接変更され、アプリケーション100に供給される(ここでは、これについて示さない)。
エミュレーション動作モード
図1は開発システム5を示す。開発システム5は、エミュレーション動作モードで動作しているデータ処理システム10と、エミュレーション・システム52とを含む。データ処理システム10はアプリケーション100に結合され、データ・プロセッサ信号を供給する。それらの内いくつかはエミュレーション・システム52によってエミュレートされる。エミュレーション動作モードにあるとき、データ処理システム10はエミュレーション・システム52の動作を支援する。この支援の一例として、バス28を通じて通信されるアドレスおよびデータ信号とクロック信号とを多重化する、集積回路端子をあげる。本発明のこの実施例では、クロック信号は外部条件クロック信号であり、アドレス信号はアドレス[23]信号であると仮定する。ここに記載する本発明の実施例では、上述の集積回路端子は、リセット動作の間内部条件クロック信号を供給し、リセット以外の動作の間、エミュレーション・システムの支援のためにアドレス[23]信号を供給する。
【0036】
データ処理システム10がエミュレーション動作モードで動作しているとき、エミュレーション・システム52は、バス28を通じて通信されているデータ処理信号を傍受し監視する。また、エミュレーション・システム52は、典型的に通常動作モードでデータ処理システム10によって発生される、データ処理信号をエミュレートする。更に、エミュレーション動作モードにあるとき、データ処理システム10は、それ自体の内部動作の可視性を与える。また、データ処理システム10は、使用しない機能(displaced function)のいくつかを交換し、エミュレーション動作モードを支援する。このように交換される機能の一例は、内部条件クロック信号である。また、データ処理システム10は、エミュレーション動作モードの間アプリケーション100が必要とする、バス制御信号も発生する。バス制御信号は、データ処理システム10からエミュレーション・システム52を通じて、アプリケーション100に渡される。しかしながら、リセット動作が行われた後でリセット信号がアクティブでないときは、内部条件クロック信号は得ることができないので、エミュレーション・システム52は内部条件クロック信号の正確な交換を行わなければならない。エミュレーション・システム52は、合成外部条件クロック信号を、合成外部条件クロック信号によって、アプリケーション100に供給し、バス制御回路58によって使用される内部条件クロック信号と合成外部条件クロック信号とを同期させる。
【0037】
条件クロック信号の合成は、クロック条件設定回路74を介してエミュレーション・システム52によって行われるが、内部条件付きクロック信号とエミュレーション・システム52によって供給される条件クロック信号との間の正確な同期は、同期回路66によって取られる。同期回路66は、リセット信号がアクティブのとき、合成条件クロック信号を内部条件クロック信号に同期させる。クロック条件設定回路74は、データ処理システム10の内部リソース(ここでは図示せず)に類似した構造であることを指摘しておく。
【0038】
リセット信号がアサートされると、アドレス[23]/条件クロック信号を通信する多重化集積回路端子は、条件クロック信号のみを供給する。条件クロックは、図5に示すエミュレーション・システム52の同期回路66に供給される。ANDゲート68は、反転リセット信号と多重化エミュレーション支援機能/内部条件クロック信号とのアンドをとり、イネーブル信号を同期回路66に供給する。同期回路66に供給されるイネーブル信号がアクティブのとき、同期回路は同期信号をクロック条件設定回路74に供給する。続いて、クロック条件設定回路74は条件クロック信号を発生する。同期信号、システム・クロック信号、および分周比信号を用いて、条件クロック信号をデータ処理システム10の内部条件クロックに同期させる。分周比信号は、クロック条件設定回路64のシャドウ制御レジスタ90を用いて、アドレスおよびデータ信号によってそれぞれ通信されるアドレスおよびデータ値によって決定される。続いて、クロック合成回路92は、分周比信号を用いて、データ処理システム10の内部条件クロックと同様に、システム・クロック信号が分周されることを保証する。
【0039】
逆に、リセット信号がインアクティブのとき、リセット信号がアクティブのときに条件クロック信号を供給する多重化集積回路端子は、アドレス[23]信号を通信する。エミュレーション支援機能信号は、ANDゲート58とエミュレーション・システム52のエミュレータ機能回路72との双方に供給される。エミュレータ機能回路72はアドレス[23]信号を用いて、内部および外部アドレスの完全な可視性を、エミュレーション・システムのユーザに与える。
【0040】
図8に示す波形は、データ処理システム10からエミュレーション・システム52に通信される、多重化アドレス[23]/条件クロック信号を示す。この信号は、リセット信号がアサートされたときデータ処理システム10の内部条件クロック信号として機能する。しかしながら、リセット信号がニゲートされると、データ処理システム10からエミュレーション・システム52に通信されている多重化アドレス[23]/条件クロック信号は、全く異なり、アドレス[23]信号として振る舞い、条件クロック信号は通信されない。しかしながら、内部条件クロック信号が外部には得られなくても、外部条件クロックは内部条件クロック信号と同期されることに注意されたい。
エミュレーション・モードで動作中のクロック・レート変更
データ処理システム10は、通常動作およびエミュレーション動作の間はいつでも、シミュレーション・クロック発生器46内のレジスタ(図示せず)を用いて、内部条件クロック信号とシステム・クロックとの間の関係を変更することができる。したがって、エミュレーション・システム52はかかる変化を確実に追跡して、同期される条件クロック信号の正確性を連続して与えなければならない。エミュレーション・システム52は、条件クロック制御レジスタ(シャドウ制御レジスタ90)の複製を、クロック条件設定回路74の素子として設ける。データ処理システム10内の内部レジスタ(ここでは図示しない)に書き込みが行われる毎に、シャドウ制御レジスタ90にも書き込みが行われる。また、シャドウ制御レジスタ90は、リセット動作の間にシミュレーション・クロック発生器46の内部レジスタと同じ値にセットされるので、双方のレジスタは同一値に初期化される。クロック制御レジスタ90とデータ処理システム10の内部レジスタとによって制御される機能が正確に実行されるか否かは、データ処理システム10の内部レジスタへの書き込み動作の外部可視性によって左右される。
【0041】
エミュレーション・システム52によって供給される条件クロック信号が、データ処理システム10の内部条件クロック信号を正確に反映することを保証するために用いられる回路および方法は、エミュレーション動作の間、ショー・サイクル機構を使用する。データ処理システム10がエミュレーション動作モードで動作しているとき、および内部バス動作が実行されているとき、ショー・サイクル機構はアクティブである。図9はかかる動作を示す。典型的にCPU12によって発生される内部アドレスは、内部でデコードされる。ショー・サイクル機構を用いてアドレスが外部に供給されるとき、アドレスは外部でデコードされる。アドレスが内部でデコードされるとき、データはシミュレーション・クロック発生器46のレジスタ(図示せず)に書き込まれる。このレジスタが変更されると、内部条件クロック信号も同様にそのレートを変化させる。エミュレーション・システム52によってアドレスが外部でデコードされると、外部でデコードされたアドレスとサイクル・タイプ指示信号との組み合わせによって、書き込み指示信号が発生される。結果として、図6に示した分周比信号を変更するために、シャドウ制御レジスタ90にデータが書き込まれる。したがって、外部条件クロック信号がレートを変更すると、内部条件クロック信号が内部で変更されるのと同時に、このレート変化がアプリケーション100に通信される。
【0042】
デコードされたアドレスはサイクル・タイプ指示信号と組み合わせられ、いつ有効な動作が内部リソースをアクセスするかが決定される。読み出し動作か書き込み動作かについて、サイクル・タイプ指示信号が内部データ・バスから外部に供給される。この場合、内部リソースは内部クロック制御レジスタ(ここでは図示しない)である。かかるアドレス・デコーディングをサイクル・タイプ指示信号と調和させて用いることによって、このレジスタに対する内部書き込み動作を、エミュレーション・システムのシャドウ制御レジスタ90に反映させる。図9は、内部バス・サイクルが原因で生じた、内部条件クロック信号の変化を示す。サイクル・タイプ指示信号のアサートによって指示されるショー・サイクルが、外部にバス・サイクル情報を提供する。対応するアドレスのデコーディングおよびショー・サイクルの識別を行うことによって、シャドウ制御レジスタ90にデータを書き込ませ、対応する変化を合成条件クロック信号にも発生させる。この構造がないと、外部合成回路は、内部条件クロック信号および内部条件クロック信号の外部複製への変化を追跡することができず、条件クロック信号は、位相が関係付けられているあらゆる信号との適切な同期を失うことになる。
詳細な説明の概要
図10のフロー・チャートは、本発明によって用いられる方法論の概要を図示したものである。リセット動作から開始し、そのリセット動作の間にデータ処理システム10の動作モードが構成される。続いて、内部条件クロック信号が、外部同期のために多重化集積回路端子から送出される(ステップ204)。次に、リセット信号を検査し、それがニゲートされているか否かを判定する(ステップ206)。リセット信号がニゲートされていない場合、プログラム・フローはステップ204に戻り、内部条件クロック信号が多重化集積回路端子から送出される。リセット信号がニゲートされると、データ処理システム10は、それがエミュレーション動作モードで動作しているか否かを判定する(ステップ202)。データ処理システム10がエミュレーション動作モードで動作していない場合、ステップ210を実行し、ユーザ機能を多重化集積回路端子に割り当てる。次いで、リセット信号が再びアサートされ、プログラム・フローがステップ200に戻るまで、プログラム・フローを停止する(END)。データ処理システム10がエミュレーション動作モードで動作している場合、エミュレーション支援機能信号が集積回路端子によって供給され、エミュレータ機能/アドレス[23]信号を発生する(ステップ212)。内部条件クロック信号のパラメータを制御するレジスタを変更する書き込み動作は全て、外部に指示されるので、エミュレーション・システム52は可視性を有ることができ、正確に同期を取り内部条件クロック信号をエミュレートすることができる(ステップ214、ステップ216)。データ処理システム10は、リセット信号がアクティブになるまで、ステップ214,216を繰り返す。リセット信号がアクティブになると、プログラム・フローはステップ200から再開する。本発明のこの実施形態では、ステップ210のユーザ機能は、ステップ204の内部条件クロックと同一であることを指摘しておく。
本発明の他の実施例
本発明は、通常外部からは見ることができない内部マイクロプロセッサ信号の外部合成や制御追跡を伴う、多くの問題を解決するために用いることができる。これは、マイクロプロセッサのアプリケーションが開発中の環境に応用されるだけでなく、オンチップ・マイクロプロセッサのリソースの開発にも用いることができる。実際、本概念の応用は、特定の開発環境には止まらず、汎用的な環境にまで拡張することができる。即ち、内部リソースの外部複製のほうが、マイクロプロセッサによるリソースの外部可視性の提供よりも現実性があり、端子数が限定されている場合に応用することができる。
【0043】
更に、ここに記載した本発明の実施形態は、例として提示したに過ぎない。ここに記載した機能を実行するための、他の実施態様も多数存在し得る。例えば、エミュレート対象の信号は、クロックまたは他のいずれかのタイプの内部信号でもよい。また、図5に示したゲートは、他の論理回路を用いて実施することもできる。エミュレート対象の信号の機能は、いずれの信号とも多重化することができ、アドレス信号に限定される訳ではない。
【0044】
以上本発明の原理について説明したが、この説明は例として行ったに過ぎず、本発明の範囲を限定するものとしてではないことは、当業者には明白であろう。したがって、本発明の真の精神および範囲に該当する本発明の変更は全て、特許請求の範囲の記載によって包含されることを意図するものである。
【図面の簡単な説明】
【図1】本発明による開発システムを示すブロック図。
【図2】図1の開発システムのデータ処理システムにおける、システム統合回路の一部を示すブロック図。
【図3】図2のシステム統合回路の外部バス・インターフェース回路の一部を示すブロック図。
【図4】図3の外部バス・インターフェース回路のバス制御回路の一部を示すブロック図。
【図5】図1の開発システムのエミュレーション・システムの一部を示すブロック図。
【図6】図2のシステム統合回路のシミュレーション・クロック発生器の一部を示すブロック図。
【図7】通常動作モードの間に開発システムによって発生される、複数の信号を示すタイミング図。
【図8】エミュレーション動作モードの間に開発システムによって発生される、複数の信号を示すタイミング図。
【図9】ショー・サイクルを用いてエミュレーション動作モードの間にデータ処理システムによって発生される、複数の信号を示すタイミング図。
【図10】本発明による外部装置に内部信号を供給する方法を示すフロー・チャート。
【図11】従来技術のデータ・プロセッサにおいて、エミュレーション動作モードの間にエミュレーション・アプリケーションに供給される複数の信号を示すタイミング図。
【図12】開発システムの全体を示すブロック図。
【符号の説明】
5 開発システム
10 処理システム
12 CPU
28 バス
46 シミュレーション・クロック発生器
48 バス端子
58 バス制御回路
60 マルチプレクサ
64 クロック条件設定回路
66 同期回路
68 ANDゲート
72 エミュレーション機能回路
74 クロック条件設定回路
90 シャドウ制御レジスタ
90 内部クロック制御レジスタ
92 クロック合成回路
100 アプリケーション

Claims (4)

  1. データ処理システム(10)において、
    アドレス値、データ値、制御値およびリセット信号をモード制御手段(56)及びバス制御手段(58)へ通信するバス・インターフェース手段(40)と、
    システム・クロック信号を発生するシステム・クロック回路(44)と、
    前記システム・クロック回路に結合され、前記システム・クロック信号を受け取るシミュレーション・クロック発生器(46)であって、前記システム・クロック信号に応答して内部条件クロック信号を生成する前記シミュレーション・クロック発生器(46)と、
    前記リセット信号に応答して前記データ処理システムの動作モードを決定する前記モード制御手段(56)であって、前記バス・インターフェース手段に結合され前記リセット信号を受け取り、前記データ処理システムが第1動作モードで動作しているとき第1論理状態のモード信号を発生し、前記データ処理システムが第2動作モードで動作しているとき第2論理状態のモード信号を発生する前記モード制御手段(56)と、
    前記データ処理システムが前記第1動作モードにあるとき前記内部条件クロック信号と異なる情報値であって任意の種類の情報を含む任意の種類の値である前記情報値を外部回路へ供給し、前記データ処理システムが第2動作モードにあるとき前記内部条件クロック信号を前記外部回路へ供給する前記バス制御手段(58)であって、前記バス・インターフェース手段に結合され前記リセット信号を受け取り、前記モード制御手段に結合され前記モード信号を受け取り、前記シミュレーション・クロック発生器に結合され前記内部条件クロック信号を受け取り、前記リセット信号及び前記第1論理状態のモード信号に応答して前記情報値を前記外部回路へ供給し、前記リセット信号及び前記第2論理状態のモード信号に応答して前記内部条件クロック信号を前記外部回路へ供給する前記バス制御手段(58)と
    を備えるデータ処理システム(10)。
  2. データ・プロセッサ(10)とエミュレーション・システム(52)とを備える開発システム(5)において、
    前記データ・プロセッサ(10)は、
    アドレス値、データ値、制御値およびリセット信号をモード制御手段(56)及びバス制御手段(58)へ通信するバス・インターフェース手段(40)と、
    システム・クロック信号を発生するシステム・クロック回路(44)と、
    前記システム・クロック回路に結合され前記システム・クロック信号を受け取るシミュレーション・クロック発生器(46)であって、前記システム・クロック信号に応答して内部条件クロック信号を生成する前記シミュレーション・クロック発生器(46)と、
    前記リセット信号に応答して前記データ・プロセッサの動作モードを決定する前記モード制御手段(56)であって、前記バス・インターフェース手段に結合され前記リセット信号を受け取り、前記データ・プロセッサが第1動作モードで動作しているとき第1論理状態のモード信号を発生し、前記データ・プロセッサが第2動作モードで動作しているとき第2論理状態のモード信号を発生する前記モード制御手段(56)と、
    前記データ・プロセッサが前記第1動作モードにあるとき前記内部条件クロック信号と異なる情報値であって任意の種類の情報を含む任意の種類の値である前記情報値を複数の集積回路端子部(48)へ供給し、前記データ処理システムが第2動作モードにあるとき前記内部条件クロック信号を前記複数の集積回路端子部(48)へ供給する前記バス制御手段(58)であって、前記バス・インターフェース手段に結合され前記リセット信号を受け取り、前記モード制御手段に結合され前記モード信号を受け取り、前記シミュレーション・クロック発生器に結合され前記内部条件クロック信号を受け取り、前記リセット信号及び前記第1論理状態のモード信号に応答して前記情報値を前記複数の集積回路端子部(48)へ供給し、前記リセット信号及び前記第2論理状態のモード信号に応答して前記内部条件クロック信号を前記複数の集積回路端子部(48)へ供給する前記バス制御手段(58)と、
    前記バス制御手段に結合され、外部アドレス値、外部データ値、外部制御値、前記リセット信号および前記システム・クロック信号を受け取る前記複数の集積回路端子部(48)であって、前記データ・プロセッサが前記第1動作モードにあるとき前記情報値を前記エミュレーション・システム(52)へ通信し、前記データ・プロセッサが前記第2動作モードにありかつ前記リセット信号がアサートされているとき前記内部条件クロック信号を前記エミュレーション・システム(52)へ通信する前記複数の集積回路端子部(48)と、
    前記システム・クロック信号と前記内部条件クロック信号との間の関係を示す分周比値を記憶する制御レジスタと、を備え、
    前記エミュレーション・システム(52)は、
    前記複数の集積回路端子部に結合され、前記外部データ値及び前記外部アドレス値を受け取り、当該外部データ値及び前記外部アドレス値に基づいて前記制御レジスタに記憶されている分周比値が変更されたことを示す書き込み指示信号を生成し当該指示信号をシャドウ制御レジスタ(90)へ供給するエミュレーション機能回路(72)と、
    前記制御レジスタのコピーを記憶するシャドウ制御レジスタ(90)であって、前記複数の集積回路端子部の第1部分に結合され前記外部データ値及び前記外部アドレス値を受け取り、前記書き込み指示信号に応答して、当該外部データ値及び外部アドレス値により決定され且つ前記制御レジスタのコピーと関連したシャドウ分周比を記憶する前記シャドウ制御レジスタ(90)と、
    前記複数の集積回路端子部の第2部分に結合され前記リセット信号及び前記システム・クロック信号を受け取る同期回路(66)であって、前記リセット信号及び前記システム・クロック信号に基づいて同期信号を生成する前記同期回路(66)と、
    前記シャドウ制御レジスタに結合され前記シャドウ分周比を受け取り、前記複数の集積回路端子部の第2部分に結合され前記システム・クロック信号を受け取り、前記同期回路に結合され前記同期信号を受け取るクロック合成回路(92)であって、前記シャドウ分周比、前記システム・クロック信号及び前記同期信号に基づいて、エミュレーション機能を実行し得る程度に前記内部条件クロック信号と実質的に同様の外部条件クロック信号を発生する前記クロック合成回路(92)と、を備える、開発システム(5)。
  3. データ処理システム(10)により内部信号を外部回路へ供給する方法であって、
    システム・クロック回路(44)を用いて、前記データ処理システム内のシステム・クロック信号を発生するステップと、
    前記システム・クロック回路に結合され前記システム・クロック信号を受け取るシミュレーション発生器(46)を用いて、前記システム・クロック信号に応答して前記内部信号を発生するステップと、
    前記データ処理システムを選択的に初期化するリセット信号を受け取るステップと、
    前記リセット信号が2つの論理状態のうちの一方の論理状態にあるとき、前記シミュレーション発生器を用いて前記内部信号を発生するステップを繰り返すステップと、
    前記リセット信号が前記2つの論理状態のうちの他方の論理状態にあるとき、前記データ処理システムが所定の動作モードにあるか否かを決定するステップと、
    前記データ処理システムが前記所定の動作モードで動作しているとき、集積回路端子部(48)を通じて前記内部信号を前記外部回路へ供給するステップと、
    前記データ処理システムが前記所定動作モードで動作していないとき、前記集積回路端子部を通じて任意の多重化された信号を前記外部回路へ供給するステップと
    を備える方法。
  4. データ処理システム(10)において、
    リセット信号をモード制御手段(56)及びバス制御手段(58)へ通信するバス・インターフェース手段(40)と、
    システム・クロック信号を発生するシステム・クロック回路(44)と、
    前記システム・クロック回路に結合され前記システム・クロック信号を受け取るシミュレーション・クロック発生器(46)であって、前記システム・クロック信号に応答して内部条件クロック信号を生成する前記シミュレーション・クロック発生器(46)と、
    前記リセット信号に応答して前記データ処理システムの動作モードを決定する前記モード制御手段(56)であって、前記データ処理システムが第1動作モードで動作しているとき第1論理状態のモード信号を発生し、前記データ処理システムが第2動作モードで動作しているとき第2論理状態の前記モード信号を発生する前記モード制御手段(56)と、
    前記データ処理システムが前記第1動作モードにあるとき前記内部条件クロック信号と異なる情報値であって任意の種類の情報を含む任意の種類の値である前記情報値を外部回路へ供給し、前記データ処理システムが第2動作モードにあり且つ前記リセット信号がアサートされているとき前記内部条件クロック信号を外部回路へ供給する前記バス制御手段(58)であって、前記バス・インターフェース手段に結合され前記リセット信号を受け取り、前記モード制御手段に結合され前記モード信号を受け取り、前記シミュレーション・クロック発生器に結合され前記内部条件クロック信号を受け取り、前記リセット信号及び前記第1論理状態のモード信号に応答して前記情報値を前記外部回路へ供給し、前記リセット信号及び前記第2論理状態のモード信号に応答して前記内部条件クロック信号を前記外部回路へ供給する前記バス制御手段(58)と
    を備えるデータ処理システム(10)。
JP29930495A 1994-11-03 1995-10-25 データ処理システムおよびその方法 Expired - Lifetime JP3693722B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/333,658 US5574894A (en) 1994-11-03 1994-11-03 Integrated circuit data processor which provides external sensibility of internal signals during reset
US333658 1994-11-03

Publications (2)

Publication Number Publication Date
JPH08212099A JPH08212099A (ja) 1996-08-20
JP3693722B2 true JP3693722B2 (ja) 2005-09-07

Family

ID=23303723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29930495A Expired - Lifetime JP3693722B2 (ja) 1994-11-03 1995-10-25 データ処理システムおよびその方法

Country Status (3)

Country Link
US (1) US5574894A (ja)
EP (1) EP0712077A1 (ja)
JP (1) JP3693722B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649175A (en) * 1995-08-10 1997-07-15 Cirrus Logic, Inc. Method and apparatus for acquiring bus transaction address and command information with no more than zero-hold-time and with fast device acknowledgement
US5631853A (en) * 1995-11-13 1997-05-20 Motorola Inc. Flexible configuration of timebases in a timer system
US5870410A (en) * 1996-04-29 1999-02-09 Altera Corporation Diagnostic interface system for programmable logic system development
US5778444A (en) * 1996-05-06 1998-07-07 Motorola, Inc. Method and apparatus for reset-sensitive and controlled register write accesses in a data processing system with user and test modes
US5847450A (en) 1996-05-24 1998-12-08 Microchip Technology Incorporated Microcontroller having an n-bit data bus width with less than n I/O pins
US5838692A (en) * 1996-11-14 1998-11-17 Hewlett-Packard Company System and method for extracting realtime debug signals from an integrated circuit
US5852733A (en) * 1996-12-16 1998-12-22 Chien; Yung-Ping S. Microcontroller development tool using software programs
JP2000516750A (ja) * 1997-05-30 2000-12-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 標準ポート手段を有するnon―bond―outバージョンのマイクロコントローラをエミュレートする方法、このようなエミュレートを行うマイクロコントローラ及びエミュレーションを実行するためのシステム情報の格納及び/又は再生システム
US6226756B1 (en) * 1998-11-03 2001-05-01 Integrated Device Technology, Inc. Apparatus and method for providing a common system interface for processors
US6928403B2 (en) * 2000-03-02 2005-08-09 Texas Instruments Incorporated Automatic detection of connectivity between an emulator and a target device
US20040133386A1 (en) * 2002-12-17 2004-07-08 Swoboda Gary L. Apparatus and method for trace stream identification of a pause point in code execution sequence
US20040153813A1 (en) * 2002-12-17 2004-08-05 Swoboda Gary L. Apparatus and method for synchronization of trace streams from multiple processors
KR100480084B1 (ko) * 2003-07-23 2005-04-06 엘지전자 주식회사 범용 직렬버스를 이용한 데이터 전송 시스템
US20060267820A1 (en) * 2005-05-16 2006-11-30 Swoboda Gary L Tracing sources with export routing information provided by the source
US10996723B1 (en) * 2018-12-12 2021-05-04 Cadence Design Systems, Inc. Synchronized reset for a circuit emulator

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4432049A (en) * 1978-09-05 1984-02-14 Pern Shaw Programmable mode select by reset
US4385349A (en) * 1980-11-20 1983-05-24 International Business Machines Corporation Central processor supervised controller system having a simulation of the controller in the central processor for test purposes
US4674089A (en) * 1985-04-16 1987-06-16 Intel Corporation In-circuit emulator
US5133064A (en) * 1987-04-27 1992-07-21 Hitachi, Ltd. Data processing system generating clock signal from an input clock, phase locked to the input clock and used for clocking logic devices
US4988901A (en) * 1988-04-15 1991-01-29 Sharp Kabushiki Kaisha Pulse detecting device for detecting and outputting a pulse signal related to the slower frequency input pulse
US5086237A (en) * 1988-08-06 1992-02-04 Nec Corporation Re-triggerable monostable multivibrator capable of generating a predetermined width of pulse with additional logic gate and D flip-flop with reset
JP2693523B2 (ja) * 1988-10-18 1997-12-24 株式会社リコー 多点同期方式の光走査装置
DE69121382T2 (de) * 1991-01-17 1997-02-27 Philips Electronics Nv Emulator zur Emulation eines verbindungsloses Mikrokontroller und Mikrokontroller zur Verwendung in einem solchen Emulator
US5095287A (en) * 1991-01-24 1992-03-10 Motorola, Inc. Phase locked loop having a charge pump with reset
US5126594A (en) * 1991-07-17 1992-06-30 Motorola, Inc. Voltage spike detection circuit for use in detecting clock edge transitions within a serial communication system
US5191239A (en) * 1991-12-19 1993-03-02 Sun Microsystems, Inc. Reset gate for a phase detector in a phase-locked loop
US5155451A (en) * 1992-02-18 1992-10-13 Motorola, Inc. Circuit and method for dynamically generating a clock signal
US5323066A (en) * 1992-06-01 1994-06-21 Motorola, Inc. Method and apparatus for performing power on reset initialization in a data processing system
US5313618A (en) * 1992-09-03 1994-05-17 Metalink Corp. Shared bus in-circuit emulator system and method

Also Published As

Publication number Publication date
JPH08212099A (ja) 1996-08-20
EP0712077A1 (en) 1996-05-15
US5574894A (en) 1996-11-12

Similar Documents

Publication Publication Date Title
JP3693722B2 (ja) データ処理システムおよびその方法
US5768567A (en) Optimizing hardware and software co-simulator
US5771370A (en) Method and apparatus for optimizing hardware and software co-simulation
JP3209776B2 (ja) エミュレーション装置とそれに使用するマイクロコントローラ
US5838948A (en) System and method for simulation of computer systems combining hardware and software interaction
US7260517B2 (en) Synchronization of multiple simulation domains in an EDA simulation environment
Flynn AMBA: enabling reusable on-chip designs
US5911059A (en) Method and apparatus for testing software
US8046209B2 (en) Coherent state among multiple simulation models in an EDA simulation environment
EP1797512B1 (en) Accelerated hardware emulation environment for processor-based systems
JP2002323995A (ja) トレース回路
KR100354932B1 (ko) 멀티플렉싱버스상에쇼사이클을제공하는방법및데이타프로세서
JPH08212100A (ja) シングルチップマイクロコンピュータのエミュレーションチップ
US20050144436A1 (en) Multitasking system level platform for HW/SW co-verification
US7228513B2 (en) Circuit operation verification device and method
US7451074B2 (en) Embedded microprocessor emulation method
CN112534414A (zh) 软件跟踪消息接收器外围设备
JP2628311B2 (ja) マイクロコンピュータ
US6460164B1 (en) Integration of externally developed logic in a memory mapped system
JPH05173824A (ja) エミュレータ及びマイクロコンピュータチップ
JPS6041140A (ja) 半導体集積回路内蔵romのデバツグ装置
JPH032944A (ja) メモリ容量の増量方式
JP2002073363A (ja) Lsiデバッグ装置及びシステム
Suchyta Impact of Microcontroller Design on Software Quality
JPH0375938A (ja) カスタムlsi

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040618

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040917

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041210

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041217

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20050302

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050310

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: 20050603

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050622

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080701

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090701

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100701

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110701

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110701

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120701

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120701

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130701

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S631 Written request for registration of reclamation of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313631

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term