JP2002541582A - エミュレータシステム内のユーザメモリを更新する方法およびシステム - Google Patents

エミュレータシステム内のユーザメモリを更新する方法およびシステム

Info

Publication number
JP2002541582A
JP2002541582A JP2000611165A JP2000611165A JP2002541582A JP 2002541582 A JP2002541582 A JP 2002541582A JP 2000611165 A JP2000611165 A JP 2000611165A JP 2000611165 A JP2000611165 A JP 2000611165A JP 2002541582 A JP2002541582 A JP 2002541582A
Authority
JP
Japan
Prior art keywords
memory
access
emulator
program memory
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2000611165A
Other languages
English (en)
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.)
Microchip Technology Inc
Original Assignee
Microchip Technology 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 Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of JP2002541582A publication Critical patent/JP2002541582A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7832Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 エミュレータシステム内のユーザメモリにアクセスを提供するデバイス、システム、および方法。エミュレータシステムは、エミュレータシステムメモリと、ユーザシステムメモリと、エミュレータデバイスとを含む。エミュレータデバイスは、読み出しおよび書き込み命令がユーザメモリに向けられる一方で、プログラム実行命令がエミュレーションメモリにおいて生じるモードで動作する。命令がエミュレータメモリからフェッチされる一方で、エミュレータチップに含まれる論理が、読み出しメモリアクセスおよび書き込みメモリアクセスを、ユーザメモリに方向づける。

Description

【発明の詳細な説明】
【0001】 (発明の背景) (発明の分野) 本発明は、エミュレータシステムおよびエミュレータデバイスに関し、特に、
オフチップメモリおよびオンチップメモリの両方を容易に更新することが可能な
エミュレータシステムおよびエミュレータデバイスに関する。
【0002】 (背景の説明) 多くのマイクロコントローラデバイスは、オンチップメモリおよびオフチップ
ユーザメモリを含むメモリシステムを有する。エミュレータシステムにおいて、
両方のタイプのメモリのコンテンツを更新することを可能にする必要がある。エ
ミュレータシステムでは、オンチップメモリの更新は容易である一方、オフチッ
プメモリの更新はより複雑であることが多い。例えば、ユーザメモリへのアクセ
スを得る従来の方法の1つとして、複製エミュレータ制御ブロックを通じて複製
直接アクセスを提供する方法がある。エミュレータシステムを用いるホストシス
テムは、このエミュレータ制御ブロックを用いて、ユーザメモリを直接制御する
。別の方法では、現存するエミュレータ制御ブロックがさらなる接続性およびさ
らなるバスを備える場合もある。複製エミュレータ制御ブロックを用いる場合、
またはさらなる接続性および別のバスを付加する必要がある場合のどちらにして
も、コストおよびシステム複雑性の両方が増加する。
【0003】 別の従来のシステムにおいて、PIC17C01エミュレータデバイスは、本
出願の譲受人により製作され、オンチップメモリ(エミュレータプログラム)お
よびオフチップ(ユーザ)メモリの両方へのアクセスが可能である。しかし、こ
のエミュレータデバイスでは、オフチップメモリにアクセスする際、I/Oビッ
トを操作することによりメモリアクセスサイクルを生成する必要がある。より詳
細には、ユーザメモリからの読み出しが必要な場合、ホストシステムは、エミュ
レータプログラムメモリからプログラムセグメントをダウンロードし、PIC1
7C01内でそのセグメントの実行を開始する。プログラムセグメントは、デポ
ートC、DおよびEにデータラッチを書き込み、ポートC、DおよびEにデータ
方向レジスタ(data direction register、DDR)が
出力として設定されるように書き込みを行う。ホストシステムはMPモードから
MCモードへと変化し、これにより、ポートC、DおよびEは、システムバスモ
ートからI/Oポートモードへと変化する。DDRは、事前設定され、出力とし
て駆動されてきた。ホストシステムは、プログラムセグメントをPIC17C0
1内のプログラムセグメントのエミュレータプログラムメモリ実行部(exec
ution)にダウンロードする工程を開始し、PIC17C01内のプログラ
ムセグメントの実行を開始する。
【0004】 次いで、プログラムセグメントは、ポートC、DおよびEへの書き込みを行っ
てシステムバスをエミュレートし、所望のメモリ位置を読み出す。ポートCおよ
びDにRAMアドレスが書き込まれ、ポートEは、ALEストローブが高くなる
ように設定される。DDRポートCおよびDに書き込みが行われ、ポートCおよ
びDは入力として設定され、DDRポートEはOEストローブが低くなるように
設定される。データは、ポートCおよびD上で読み出され、読み出されたデータ
は、PIC17C01内のRAMに格納される。次いで、ホストシステムは、M
PモードからMCモードへと変化し、プログラムセグメントをエミュレータプロ
グラムメモリにダウンロードし、PIC17C01内でプログラムセグメントの
実行を開始する。プログラムセグメントは、RAM内のデータをホストシステム
へと転送する。
【0005】 書き込みプロシージャも同様に行われ、プログラムセグメントは、エミュレー
タプログラムメモリにダウンロードされ、プログラムセグメントが実行されると
、RAMアドレスがポートCおよびDに書き込まれ、ポートEはALEストロー
ブが高くなるように設定される。DDRポートCおよびDには、ユーザプログラ
ムメモリに書き込まれるデータが書き込まれ、DDRポートEはWRストローブ
が低くなるように設定される。
【0006】 (発明の要旨) 本発明の目的は、オフチップユーザメモリへの簡単かつ効率的なアクセスを提
供するエミュレータシステム、デバイス、および方法を提供することである。
【0007】 本発明の別の目的は、エミュレーションメモリ内でコードを実行し、読み出し
アクセスおよび書き込みアクセスをオフチップユーザメモリに方向付ける(di
rected)エミュレータシステムおよびデバイスを有することである。
【0008】 本発明のさらなる目的は、エミュレータシステムに接続されたエミュレータデ
バイスと、ユーザシステム内のプログラムメモリへの簡単かつ効率的なアクセス
を提供するユーザシステムとを提供することである。
【0009】 本発明の上記および他の目的は、プログラムメモリにアクセスするためのメモ
リインターフェースを有するエミュレータデバイスにより達成され得る。このプ
ログラムメモリは、第1のメモリおよびデバイス外部にある第2のメモリと、そ
のインターフェースに接続された選択回路とを有する。この選択回路は、デバイ
スが第1のメモリから命令をフェッチするように設定されている場合、第2のメ
モリのみにプログラムメモリへの書き込みアクセスおよび読み出しアクセスを方
向付ける。
【0010】 デバイスは、テーブル読み出しアクセスおよびテーブル書き込みアクセスのう
ち少なくとも1つが実行されるかどうかを検出する、選択回路に接続された回路
をさらに含み得る。選択回路は、第2のメモリのみにテーブル読み出しアクセス
およびテーブル書き込みアクセスを方向付け得る。デバイスはまた、モード選択
回路も含み得、このモード選択回路は、第1および第2のメモリに接続され、か
つモード選択回路による信号出力を受信するように接続されたスイッチングデバ
イスを含む。
【0011】 また、復号化されるプログラムメモリ読出しアクセス命令およびプログラムメ
モリ書込みアクセス命令の少なくとも1つを示す信号を出力する、命令デコーダ
が、デバイスに含まれ得る。回路は、信号を受信するように設定され、プログラ
ムメモリ読出しアクセス命令およびプログラムメモリ書込みアクセス命令のうち
少なくとも1つを実行するように設定されたデコーダに接続され得る。
【0012】 デバイスが、モード選択回路を有する場合、回路は、また、モード選択回路の
出力を受信するように接続されたロジック回路、および、ロジック回路に接続さ
れた出力を有する命令デコーダを含み得、この場合、インターフェース回路がロ
ジック回路の出力に接続される。
【0013】 モード選択回路は、デバイスの動作のモードを示す信号を出力する手段を含み
得、命令デコーダは、プログラムメモリ読出しまたは書込みアクセスの少なくと
も1つが復号化されることを示す信号を出力する手段を含み得る。ロジック回路
は、2つの手段によって出力される信号を受信するように接続され得、選択回路
に、第1および第2のメモリのどちらへのアクセスがイネーブルされたのかを示
す信号を出力する。
【0014】 メモリインターフェースは、プログラムメモリバス、およびバスに接続された
プログラムメモリバスコントローラを備え得る。選択回路は、プログラムメモリ
バスに接続されたマルチプレクサ、第1のメモリアクセスバスおよび第2のメモ
リアクセスバス、ならびに第1および第2のメモリアクセスバスのいずれかを選
択するマルチプレクサに接続された回路部を備え得る。この回路部は、デバイス
が第1のメモリからの命令をフェッチするように設定される場合、第2のメモリ
のみへのアクセスを示すマルチプレクサに出力される信号を生成する手段を備え
得る。この手段は、モード選択回路、実行されるプログラムメモリアクセスを示
す信号を生成する回路、および、モード選択回路の出力を受信するように接続さ
れ、回路によって出力される信号を受信するように接続される入力を有する、第
1のロジック回路を含み得る。
【0015】 第1のメモリは、エミュレータプログラムメモリであり得、第2のメモリは、
ユーザプログラムであり得る。
【0016】 エミュレータシステムおよびユーザシステムが、また、デバイスに接続され得
る。エミュレータシステムは、第1のメモリを備え得、ユーザシステムは、第2
のメモリを備え得る。第1のメモリは、エミュレータプログラムメモリを備え得
、第2のメモリは、ユーザプログラムメモリを備え得る。
【0017】 上述した目的および他の目的は、デバイスに接続されたエミュレーションメモ
リから生じる命令を受け取る手段、ならびに、デバイスがエミュレーションメモ
リから命令をフェッチするように設定される場合にデバイスに接続されたユーザ
メモリにメモリ読出しおよび書込み命令のみが向けられる、受け取る手段に接続
された手段を有する、エミュレータデバイスによっても達成され得る。デバイス
は、また、受け取る手段に接続された、メモリ読出しおよび書込み命令を検出す
る手段、ならびに、向ける手段および検出手段に接続された、デバイスの動作の
モードを選択する手段を備え得る。
【0018】 向ける手段は、デバイスの動作のモードを検出する手段、メモリ読出しおよび
書込み命令を検出する手段、ならびに、両方の検出手段の出力を用いて、エミュ
レーションメモリとユーザメモリとの間で、アクセスを選択する手段を備え得る
。デバイスは、選択する手段の制御の下でエミュレーションメモリへのアクセス
とユーザメモリへのアクセスとを切り替える手段を含み得る。
【0019】 上記の目的および他の目的は、第1のメモリのみから命令をフェッチするステ
ップと、第1のメモリから分離された、エミュレータデバイスの外部にある第2
のメモリのみにメモリアクセスを方向付けるステップとを有する、エミュレータ
デバイスを動作させる方法によっても達成され得る。命令は、エミュレーション
プログラムメモリのみからフェッチされ得、メモリアクセスは、エミュレーショ
ンプログラムメモリから分離されたユーザプログラムメモリのみに方向付けられ
得る。方法は、また、テーブル読出しおよびテーブル書込みアクセスのうち少な
くとも一方をプログラムメモリへ方向付けるステップを含み得る。
【0020】 方法は、また、デバイスの動作のモードを検出するステップと、メモリアクセ
スが行われるかどうかを検出するステップと、検出ステップに基づいて第1およ
び第2のメモリのいずれがアクセスされるかを選択するステップとを含み得る。
メモリアクセスが行われるかどうかを検出するステップは、テーブル読出しおよ
びテーブル書込みアクセスのうち少なくとも1つが行われるかどうかを検出する
ステップを包含し得、メモリアクセスを方向付けるステップは、第2のメモリへ
のテーブル読出しおよびテーブル書込みアクセスのうち少なくとも1つを方向付
けるステップを包含し得る。
【0021】 方法は、また、命令を復号化するステップと、復号化のステップを用いてメモ
リアクセスが行われるかどうかを検出するステップと、第1および第2のメモリ
のうちのいずれが、検出のステップを用いてアクセスされるかを決定するステッ
プとを含み得る。デバイスの動作のモードは、また、検出され得、第1および第
2のメモリのいずれがアクセスされるかを決定するステップは、検出のステップ
を用いて行われ得る。
【0022】 本発明およびそれに伴う利点の多くは、以下の詳細な説明を、添付の図面と共
に考慮することにより、よりよく理解され、完全な理解が容易に得られる。
【0023】 (好適な実施形態の説明) 本発明によるシステムの実施形態を示す、図面、より詳細には、図1を参照す
る。システムには、エミュレータシステム10、エミュレータチップ20、およ
びユーザシステム30が含まれている。エミュレータシステム10には、エミュ
レーションコントロール回路部11、アドレスラッチ12、およびエミュレータ
プログラムメモリ13が含まれている。ホストシステム40が、エミュレータシ
ステム10と、ホストシステム40とエミュレーションコントロール回路部11
との間を接続するバス41を通じて通信する。エミュレータチップ20からのア
ドレスは、アドレスラッチ12に入力され、データは、バス14を介してメモリ
11とチップ20との間で転送される。エミュレーションコントロール回路部1
1は、また、バス14に接続される。ラッチ12からのアドレスは、バス15を
通じてエミュレータプログラムメモリ13に入力される。
【0024】 アドレスラッチ12は、EA、EBA0、およびEALEピンに接続され、エ
ミュレーションコントロール11は、チップ20のいくつかのピンに接続される
。プログラムメモリ13は、また、チップ20のエミュレータ出力イネーブル、
エミュレータ書込みハイ、およびエミュレータ書込みローピンに接続される。バ
ス21は、システム10、チップ20、およびシステム30の間に接続される。
【0025】 ユーザシステム30は、ユーザプログラムメモリ33、およびアドレスラッチ
32を含む。チップ20からのアドレスは、バス31によってラッチ32からメ
モリ33に与えられる。チップ20のピンUADは、メモリ33のデータ入力に
接続され、ピンUA、ピンUBA0、およびピンUALEは、アドレスラッチ3
2に接続される。ユーザメモリ出力イネーブル、ユーザ書込みハイ、およびユー
ザ書込みローピンも、プログラムメモリ33に接続される。
【0026】 エミュレーションプログラムメモリ13およびユーザメモリ33が、典型的に
は異なるサイズであることが留意されなければならない。通常、オフチップメモ
リ33は、より大きい。
【0027】 チップ20からの多くのピンが、スレーブデバイス50に接続される。スレー
ブデバイス50は、エミュレータ機能の一部を提供する。エミュレータチップ2
0は、ほとんどのデバイスの中心部をエミュレートするように設計される。スレ
ーブデバイスは、デバイスの周辺機能をエミュレートする。チップ20およびス
レーブ50は、所望されるデバイスをエミュレートするように共に作動する。チ
ップ20およびスレーブ50は、単に異なるスレーブデバイスを用いることによ
って、異なる周辺機能を有する、異なるタイプのデバイスのエミュレーションを
可能にするために、分離して設計される。スレーブデバイス50への接続51〜
53は、チップ20およびスレーブデバイス50の「ターゲット」システムとの
接続を示す。即ち、これは、エミュレータがユーザシステムにおけるチップを置
き換えるところである。
【0028】 本発明において、チップ20は、所望される動作のモードにされる。マイクロ
プロセッサライトスルーモード(MP/W)と呼ばれ、以下でより詳細に記載す
る、1つのモードにおいて、チップ20内のプログラム実行は、エミュレータプ
ログラムメモリ13から生じ、テーブル読出しおよびテーブル書込み命令は、ユ
ーザプログラムメモリ33において生じる。ホストシステム40は、エミュレー
ションコントロール回路部11を用いて、エミュレータプログラムメモリ13に
プログラムセグメントをダウンロードする。ホストシステム40は、チップ20
内でプログラムセグメントの実行を開始する。メモリ33を読む場合、プログラ
ムセグメントは、メモリ33を読むようにテーブル読出し命令を行う。チップ2
0内で実行するプログラムセグメントは、データを、回路部11およびバス41
を介して、チップ20からホストシステム40へと転送する。
【0029】 同様の動作が、プログラムメモリ33に書き込む場合に生じる。チップ20は
MP/Wモードにされて、プログラム実行を、エミュレータプログラムメモリ1
3から生じるように方向付けるが、テーブル読出しおよびテーブル書込み命令は
、ユーザプログラムメモリ33において生じる。ホストシステム40は、エミュ
レーションコントロール回路部11を用いて、プログラムセグメントをエミュレ
ータプログラムメモリ13にダウンロードする。ホストシステム40は、チップ
20内でプログラムセグメントの実行を開始する。プログラムセグメントは、テ
ーブル書込み命令を行い、データをメモリ33に書き込む。チップ20内に格納
されたデータは、メモリ33に転送される。
【0030】 チップ20をより詳細に図2に示す。プログラムメモリインタフェース60は
、ピン61を介してエミュレータプログラムメモリ13およびユーザプログラム
メモリ33とのインタフェースをとる。例えば、入力EAおよびEADはエミュ
レータプログラムメモリ13とインタフェースをとり、他方入力UAおよびUA
Dはユーザプログラムメモリ33とのインタフェースをとる。デバイスに入力さ
れる命令は、プログラムバス62を介して命令レジスタ63にロードされる。命
令レジスタ63は、命令デコードおよびコントロール67およびアドレスマルチ
プレクサ76と相互接続される。図2はまた、エミュレータシステム10のエミ
ュレータコントロール11から多くの入力を受けとるエミュレータコントロール
回路66を示す。なお、以下により詳細に3ビットモード入力を説明する。
【0031】 インタフェース60に、テーブル読み取りおよびテーブル書き込み実行論理回
路83が接続される。回路83は、バスによってインタフェース60に接続され
る。回路83はまた、命令デコード67に接続され(図示せず)、そしてプログ
ラムメモリ読み取りおよび書き込み命令(テーブル読み取りおよび書き込み命令
と呼ぶ)を実行する。回路83はまた、読み取りおよびテーブル書き込み命令を
実行する際に使用されるレジスタTBLPTRおよびTABLATを含む。この
回路の動作を、図3ならびに図5および6を参照してより詳細に以下に説明する
【0032】 チップ20はまた、チップ20全体に使用される種々のタイミング信号を生成
するためのタイミング生成68、ならびにパワーアップタイマ、発振器スタート
アップタイマ、パワーオンリセットおよびウオッチドッグタイマなどの要素を含
む回路69を含む。作業レジスタ(W Reg)70を有するALU71は、タ
イマ77、周辺装置78およびデータモニタ79などの種々の回路にバス82を
介して接続される。チップは数個のレジスタを含み、そのうちのいくつかは簡単
のために図示しない。図示されるのは、バンク選択レジスタ(BSR)73、ス
テータスレジスタ74およびファイル選択レジスタ(FSR)75である。デー
タメモリインタフェース80は、ピン81を介するデータメモリ(エミュレーシ
ョンデータRAM)へのデータ転送を扱うために提供される。データメモリは通
常、スレーブ50中に存在する。命令レジスタ63から受けとり、かつアドレス
マルチプレクサ76を介して与えられるアドレスは、RAMアドレスバス81を
介してデータメモリインタフェース67へ入力される。
【0033】 なお、図2はチップ20の完全な図ではなく、多くの他の回路および相互接続
は図示されない。図2は、本発明を説明するために含まれ、そしてチップ20の
構成をすべて示すようには意図されない。
【0034】 マイクロプロセッサ中のメモリをプログラムするための読み取りおよび書き込
みは通常、テーブル読み取りおよびテーブル書き込みと呼ばれる命令を介して行
われる。これらの命令は、データメモリ空間とプログラムメモリ空間との情報の
転送を可能にする。本発明において、エミュレータチップ20における論理は、
テーブル読み取りおよびテーブル書き込みコマンドをリダイレクトして、ユーザ
メモリへのアクセスを可能にする。このように、ユーザメモリ33は、容易にア
クセスされる。このことは、以下の説明によって明らかとなる。
【0035】 図3に、チップ20に含まれる回路のいくつかのさらにより詳細な図を示す。
モードデコード論理回路90は、入力として3ビットモード信号をエミュレーシ
ョンコントロール回路66から入力される。モードデコード論理は、3ビット信
号をデコードし、そして論理「1」信号を、所望モードの動作に対応する適切な
出力線に出力する。ここでは、マイクロコントローラモード、マイクロプロセッ
サモード、およびマイクロプロセッサライトスルーモードを図示する。それらの
モードの各々に対するメモリマッピングを図4A〜4Cに示す。なお、3つのモ
ードは、単に本発明の例示として使用し、さらなる動作モードが可能である。
【0036】 図4A〜4Cは、異なる動作モードにおけるエミュレーションメモリマップを
示す。図4Aは、プロテクトマイクロコントローラ/マイクロコントローラモー
ドを示し、ここでアクセスはエミュレーションメモリに提供されるだけである。
マイクロプロセッサモード(図4B)において、アクセスはユーザメモリに提供
されるだけである。他方、図4Cは、マイクロプロセッサライトスルーモードと
呼ばれるモードを示し、ここですべてのプログラム実行命令はエミュレーション
メモリから発せられ、他方読み取りおよび書き込み動作命令は、ユーザメモリか
ら発せられるか、またはユーザメモリをターゲットにする。
【0037】 図4A〜4Cにおいて示されるマッピングは、本発明を理解するために例示さ
れ、ユーザおよびエミュレータメモリが同じサイズである、または同じサイズで
ある必要があることを意味しない。通常、オフチップユーザメモリは、エミュレ
ータプログラムメモリよりもずっと大きい。
【0038】 図3の回路はまた、エミュレータシステムバス14およびユーザシステムバス
21に接続されたマルチプレクサ100を含む。マルチプレクサ100は、論理
回路95の出力によって制御される。論理回路95は、そのマルチプレクサに向
けて信号線101上に出力してESBアクセスあるいはUSBアクセスを可能に
する。回路95は、ANDゲート91および93、インバータ94およびORゲ
ート92を含む。プログラムメモリ読み取りおよび書き込みをコントロールする
プログラムメモリバスコントローラ99は、プログラムメモリバスを介してマル
チプレクサ100に接続される。プログラムメモリから受けとる命令は、命令デ
コード回路67に入力される。
【0039】 テーブル読出し/テーブル書込み命令実行論理83は、TBLRDおよびTB
LWTで示す信号線を介してデコード回路67に接続されている。回路83は、
テーブル読出し命令およびテーブル書込み命令を実行する際に用いられる2つの
レジスタTBLPTR97およびTABLAT98を含む。レジスタTBLPT
R97およびTABLAT98の使用は以下に詳細に述べる。回路83は、プロ
グラムメモリ読出し/書込みバスによってプログラムメモリバスコントローラ9
9に接続される。TBLRD信号線およびTBLWT信号線がORゲート96に
供給され、ORゲート96の出力がANDゲート91の入力に供給される。信号
線102は、すべての他のデコードされた命令の出力を表し、上記すべての他の
デコードされた命令はエミュレーションデバイスの適切な回路に供給されて実行
される。一例は、演算動作を実行するALUである。
【0040】 図3の回路の動作を述べる。図3の回路において起こり得る3種類のメモリサ
イクルがある。これらは、命令フェッチ、TBLRD命令からのテーブル読出し
、およびTBLWT命令からのテーブル書込みである。命令は、命令デコード6
2に送られる。命令は、テーブル読出し命令、テーブル書込み命令、および他の
命令にデコードされる。これらの命令は、図3に、出力102上のグループとし
て模式的に示されている。TBLRDまたはTBLWTのいずれかが検出される
と、命令実行論理83は信号で知らされる。論理83は、コントローラ99にプ
ログラムメモリアクセスを送信する。マルチプレクサは、モードピン入力上の信
号に依存して、マルチプレクサコントロール信号が「0」である場合、プログラ
ムメモリアクセスをESBに方向づけ、マルチプレクサコントロール信号が「1
」である場合、プログラムメモリアクセスをUSBに方向づける。
【0041】 モード選択は、アクセスすべきメモリを決定する。マイクロコントローラモー
ドにおいては、メモリアクセスをESBに方向づけることが常に望ましい。従っ
て、MCモード信号は反転され、その後ANDゲート86に送信される。これに
より、マルチプレクサコントロール信号は常に論理「0」である。マイクロプロ
セッサモードにおいては、メモリアクセスをUSBに方向づけることが常に望ま
しい。そのため、マイクロプロセッサモード信号はORゲート88に送信され、
これにより、マルチプレクサコントロール信号は常に論理「1」である。
【0042】 ANDゲート91は、マイクロプロセッサ書込みスルー信号とORゲート96
から生成された信号とを入力として受け取る。読出し命令または書込み命令のい
ずれかが命令デコード67によってデコードされている場合、論理「1」ORゲ
ート96信号が生成される。なぜなら、論理「1」信号は、テーブル読出し線ま
たはテーブル書込み線のいずれかに出力されるからである。ORゲート96の出
力は、ANDゲート91に供給される。ANDゲート91は、モードデコード論
理90のマイクロプロセッサ書込みスルー出力をも入力として受け取る。AND
ゲート91に入力される信号が両方ともhighである場合、論理「1」信号が
ANDゲート91から出力され、それによって、論理「1」信号がORゲート9
2から出力される。ANDゲートはその後論理「1」信号を出力する。なぜなら
、マイクロプロセッサ書込みスルーモードにおいて、マイクロコントローラ線お
よびマイクロプロセッサ線上の信号は論理「0」と定義されるからである。マイ
クロプロセッサ書込みスルーモードにおいて、読出し命令および書込み命令は、
USBに向けられ、他のいずれかの命令に関連するすべての他のメモリアクセス
はESBに向けられる。従って、チップは、ESBシステム10からの命令をフ
ェッチすることにより動作し、いずれかのテーブル読出し命令またはテーブル書
込み命令がUSBシステム30内で実行される。本発明によるエミュレータデバ
イスは、このモードでユーザプログラムメモリに対して読出しおよび書込みを行
う一方で、単にエミュレータプログラムメモリからの命令を実行することを可能
にする。
【0043】 テーブル読出し命令およびテーブル書込み命令を図5および図6に詳細に示す
。図5に示されるテーブル読出しコマンドに、チップ20内の2つのレジスタが
記述されている。TABLATレジスタは、テーブルラッチ・アンド・ホールド
8ビットである。このレジスタは、21ビットテーブルポインタレジスタTBL
PTRにロードされたアドレスによって指示されるメモリロケーションの内容を
保持する。TBLRD命令には4つのオプションがある。3つのオプションの場
合、ユーザメモリ33内の、TABLPTRによって指示されるメモリロケーシ
ョンのデータは、TABLATにロードされる。オペランドによって特定される
ように、TBLPTR内の値は、変化しないままか、またはその値がTABLA
Tにロードされた後にインクリメントまたはディクリメントされる。第4のオプ
ションの場合、TBLPTRの値はインクリメントされ、メモリ33内の、TB
LPTR内のインクリメントされた値によって指示されるロケーションが、TA
BLATにロードされる。
【0044】 テーブル書込み命令は同様に実行される。図6に示すように、TBLWT命令
にも4つのオプションがある。3つのオプションの場合、TABLAT内のデー
タが、ユーザメモリ33内の、TABLPTRによって指示されるメモリロケー
ションにロードされる。オペランドによって特定されるように、その後TBLP
TR内の値は、変化しないままか、またはインクリメントまたはディクリメント
される。第4のオプションの場合、TBLPTRの値はインクリメントされ、T
ABLAT内のデータが、ユーザメモリ33内の、TBLPTR内のインクリメ
ントされた値によって指示されるメモリロケーションにロードされる。
【0045】 明らかに、上記の教示に照らして、本発明の多くの改変および変更が可能であ
る。従って、本発明は、添付の請求の範囲内において、本明細書に特に記載した
もの以外の態様で実施され得ることが理解されるべきである。
【図面の簡単な説明】
【図1】 図1は、本発明による、エミュレータシステムの簡略化されたブロック図であ
る。
【図2】 図2は、本発明による、エミュレータチップのブロック図である。
【図3】 図3は、本発明による、エミュレータチップに含まれる回路部の図である。
【図4A】 図4Aは、異なる動作モードにおけるエミュレーションメモリマップの図であ
る。
【図4B】 図4Bは、異なる動作モードにおけるエミュレーションメモリマップの図であ
る。
【図4C】 図4Cは、異なる動作モードにおけるエミュレーションメモリマップの図であ
る。
【図5】 図5は、本発明による、テーブル読出しコマンドの図である。
【図6】 図6は、本発明による、テーブル書込みコマンドの図である。
───────────────────────────────────────────────────── 【要約の続き】

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】 エミュレータデバイスであって、 プログラムメモリにアクセスするためのメモリインターフェースであって、該
    プログラムメモリが第1のメモリおよび該デバイスの外部にある第2のメモリを
    含む、メモリインターフェースと、 該デバイスが該第1のメモリから命令をフェッチするように設定された場合、
    プログラムメモリ書き込みアクセスおよびプログラムメモリ読み出しアクセスを
    、該第2のメモリのみに方向づける、該インターフェースに接続された選択回路
    と、 を含むエミュレータデバイス。
  2. 【請求項2】 テーブル読み出しアクセスおよびテーブル書き込みアクセス
    の少なくとも一方が実行されるかどうかを検出する、前記選択回路に接続された
    回路を含み、 該選択回路が、該テーブル読み出しアクセスおよびテーブル書き込みアクセス
    の少なくとも一方を、前記第2のメモリのみに方向づける、 請求項1に記載のデバイス。
  3. 【請求項3】 モード選択回路を含み、 前記選択回路が、前記第1および第2のメモリに接続され、且つ、該モード選
    択回路による信号出力を受け取るように接続されたスイッチングデバイスを含む
    、 請求項1に記載のデバイス。
  4. 【請求項4】 プログラムメモリ読み出しアクセス命令およびプログラムメ
    モリ書き込みアクセス命令の少なくとも一方が復号化されることを示す信号を出
    力する命令デコーダと、 該信号を受け取るように設定され、且つ、該プログラムメモリ読み出しアクセ
    ス命令および該プログラムメモリ書き込みアクセス命令の少なくとも一方を実行
    するように設定された、該デコーダに接続された回路と、 を含む、請求項1に記載のデバイス。
  5. 【請求項5】 モード選択回路と、 該モード選択回路の出力を受け取るように接続された論理回路と、 該論理回路に接続された出力を有する命令デコーダと、 該論理回路の出力に接続された前記インターフェース回路と、 を含む、請求項1に記載のデバイス。
  6. 【請求項6】 前記モード選択回路は、前記デバイスの動作のモードを示す
    信号を出力する第1の手段を含み、 前記命令デコーダは、プログラムメモリ読み出しアクセスおよびプログラムメ
    モリ書き込みアクセスの少なくとも一方が復号化されることを示す信号を出力す
    る第2の手段を含み、 前記論理回路は、該第1および第2の手段によって出力された該信号を受け取
    るように接続され、前記第1のメモリアクセスおよび前記第2のメモリアクセス
    のいずれがイネーブルされるかを示す信号を、前記選択回路に出力する、 請求項5に記載のデバイス。
  7. 【請求項7】 前記メモリインターフェースが、 プログラムメモリバスと、 該バスに接続されたプログラムメモリバスコントローラとを含み、 前記選択回路が、 該プログラムメモリバス、第1のメモリアクセスバス、および第2のメモリ
    アクセスバスに接続されたマルチプレクサと、 該第1のメモリアクセスバスと該第2のメモリアクセスバスとの間で選択を
    行なう、該マルチプレクサに接続された回路とを含む、 請求項1に記載のデバイス。
  8. 【請求項8】 前記回路は、前記デバイスが前記第1のメモリから命令をフ
    ェッチするように設定された場合に、前記第2のメモリのみへのアクセスを示す
    、前記マルチプレクサへの信号出力を生成する手段を含む、請求項7に記載のデ
    バイス。
  9. 【請求項9】 前記手段が、 モード選択回路と、 プログラムメモリアクセスが実行されることを示す信号を生成する回路と、 該モード選択回路の出力に接続され、そして、該回路によって出力された該信
    号を受け取るように接続された入力を有する第1の論理回路と、 を含む、請求項8に記載のデバイス。
  10. 【請求項10】 前記第1のメモリがエミュレータプログラムメモリであり
    、 前記第2のメモリがユーザプログラムメモリである、 請求項1に記載のデバイス。
  11. 【請求項11】 前記デバイスに接続されたエミュレータシステムと、 該デバイスに接続されたユーザシステムと、 を含む請求項1に記載のデバイス。
  12. 【請求項12】 前記エミュレータシステムが、前記第1のメモリを含み、 前記ユーザシステムが、前記第2のメモリを含む、 請求項11に記載のデバイス。
  13. 【請求項13】 前記第1のメモリは、前記デバイスによってフェッチされ
    る命令を含むエミュレータプログラムメモリを含み、 前記第2のメモリは、該デバイスが該第1のメモリから命令をフェッチするよ
    うに設定された場合に、前記プログラムメモリ書き込みアクセスおよび前記プロ
    グラムメモリ読み出しアクセスのいずれかのみが方向づけされる、ユーザプログ
    ラムメモリを含む、 請求項12に記載のデバイス。
  14. 【請求項14】 エミュレータデバイスであって、 該デバイスに接続されたエミュレーションメモリから生じる命令を受け取る手
    段と、 該受け取る手段に接続された、該デバイスが該エミュレーションメモリから命
    令をフェッチするように設定された場合、メモリ読み出し命令およびメモリ書き
    込み命令のみを、該デバイスに接続されたユーザメモリに向ける手段と、 を含むエミュレータデバイス。
  15. 【請求項15】 前記受け取る手段に接続された、前記メモリ読み出し命令
    およびメモリ書き込み命令を検出する手段と、 前記向ける手段および該検出する手段に接続された前記デバイスの動作モード
    を選択する手段と、 を含む請求項14に記載のデバイス。
  16. 【請求項16】 前記向ける手段は、 前記デバイスの動作のモードを検出する手段と、 前記メモリ読み出し命令および前記メモリ書き込み命令を検出する手段と、 該検出する手段の両方の出力を用いて、前記エミュレーションメモリと前記ユ
    ーザメモリとの間で、アクセスを選択する手段と、 を含む請求項14に記載のデバイス。
  17. 【請求項17】 前記選択する手段の制御下で、前記エミュレーションメモ
    リへのアクセスと、前記ユーザメモリへのアクセスとを切り換える手段を含む、
    請求項16に記載のデバイス。
  18. 【請求項18】 エミュレータデバイスを動作する方法であって、 第1のメモリからのみ命令をフェッチするステップと、 該第1のメモリから分離された、該エミュレータデバイスの外部にある第2の
    メモリにのみメモリアクセスを方向づけるステップと、 を含む方法。
  19. 【請求項19】 エミュレーションプログラムメモリのみから命令をフェッ
    チするステップと、 前記メモリアクセスを、該エミュレーションプログラムメモリから分離された
    、前記エミュレータデバイスの外部にあるユーザプログラムメモリのみに方向づ
    けるステップと、 を含む、請求項18に記載の方法。
  20. 【請求項20】 テーブル読み出しアクセスおよびテーブル書き込みアクセ
    スの少なくとも一方を、前記プログラムメモリに方向づけるステップを含む、請
    求項19に記載の方法。
  21. 【請求項21】 前記デバイスの動作のモードを検出するステップと、 メモリアクセスが実行されるかどうかを検出するステップと、 前記検出ステップに基づいて、前記第1のメモリと前記第2のメモリとの間で
    アクセスを選択するステップと、 を含む請求項18に記載の方法。
  22. 【請求項22】 前記メモリアクセスが実行されるかどうかを検出するステ
    ップが、テーブル読み出しアクセスおよびテーブル書き込みアクセスの少なくと
    も一方が実行されるかどうかを検出するステップを含み、 前記メモリアクセスを方向づけるステップが、テーブル読み出しアクセスおよ
    びテーブル書き込みアクセスの少なくとも一方を、前記第2のメモリに方向づけ
    るステップを含む、 請求項21に記載の方法。
  23. 【請求項23】 エミュレーションプログラムメモリからのみ命令をフェッ
    チするステップと、 前記メモリアクセスを、該エミュレーションプログラムメモリから分離された
    、前記エミュレータデバイスの外部にあるユーザプログラムメモリにのみ方向づ
    けるステップと、 を含む、請求項22に記載の方法。
  24. 【請求項24】 前記命令を復号化するステップと、 該復号化ステップを用いて、メモリアクセスが実行されるかどうかを検出する
    ステップと、 該検出ステップを用いて、前記第1および第2のメモリのいずれのメモリがア
    クセスされるかを決定するステップと、 を含む、請求項18に記載の方法。
  25. 【請求項25】 前記デバイスの動作のモードを検出するステップと、 前記検出ステップを用いて、前記第1および第2のメモリのいずれのメモリ
    がアクセスされるかを決定するステップと、 を含む、請求項24に記載の方法。
  26. 【請求項26】 前記メモリアクセスを、該エミュレーションプログラムメ
    モリから分離された、前記エミュレータデバイスの外部にあるユーザプログラム
    メモリにのみ方向づけるステップを含む、請求項25に記載の方法。
JP2000611165A 1999-04-14 2000-04-13 エミュレータシステム内のユーザメモリを更新する方法およびシステム Withdrawn JP2002541582A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/291,190 US20020004877A1 (en) 1999-04-14 1999-04-14 Method and system for updating user memory in emulator systems
US09/291,190 1999-04-14
PCT/US2000/009941 WO2000062162A2 (en) 1999-04-14 2000-04-13 Method and system for updating user memory in emulator systems

Publications (1)

Publication Number Publication Date
JP2002541582A true JP2002541582A (ja) 2002-12-03

Family

ID=23119270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000611165A Withdrawn JP2002541582A (ja) 1999-04-14 2000-04-13 エミュレータシステム内のユーザメモリを更新する方法およびシステム

Country Status (7)

Country Link
US (1) US20020004877A1 (ja)
EP (1) EP1086417A2 (ja)
JP (1) JP2002541582A (ja)
KR (1) KR20010052868A (ja)
CN (1) CN1318172A (ja)
TW (1) TW472209B (ja)
WO (1) WO2000062162A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691216B2 (en) * 2000-11-08 2004-02-10 Texas Instruments Incorporated Shared program memory for use in multicore DSP devices
JP4567966B2 (ja) * 2003-12-22 2010-10-27 株式会社東芝 エミュレーションシステムおよびエミュレーション方法
CN100369008C (zh) * 2004-08-25 2008-02-13 义隆电子股份有限公司 整合型的线路实体模拟器
CN113590150A (zh) * 2021-06-30 2021-11-02 北京智芯微电子科技有限公司 存储体控制方法、程序升级方法及设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4441154A (en) * 1981-04-13 1984-04-03 Texas Instruments Incorporated Self-emulator microcomputer
DE4016407C1 (ja) * 1990-05-22 1991-10-24 Messerschmitt-Boelkow-Blohm Gmbh, 8012 Ottobrunn, De
US5644756A (en) * 1995-04-07 1997-07-01 Motorola, Inc. Integrated circuit data processor with selectable routing of data accesses
US5862148A (en) * 1997-02-11 1999-01-19 Advanced Micro Devices, Inc. Microcontroller with improved debug capability for internal memory

Also Published As

Publication number Publication date
WO2000062162A2 (en) 2000-10-19
CN1318172A (zh) 2001-10-17
US20020004877A1 (en) 2002-01-10
TW472209B (en) 2002-01-11
EP1086417A2 (en) 2001-03-28
KR20010052868A (ko) 2001-06-25
WO2000062162A3 (en) 2001-01-11

Similar Documents

Publication Publication Date Title
EP0911735B1 (en) Microprocessor test system
US5796981A (en) Method and apparatus for providing register compatibility between non-identical integrated circuits
EP0569969B1 (en) Microcomputer having instruction memory storing instructions for reading out internal conditions
US6401197B1 (en) Microprocessor and multiprocessor system
JPH06250871A (ja) Cpuコア、該cpuコアを有するasic、及び該asicを備えたエミュレーションシステム
EP0664897B1 (en) High speed programmable logic controller
JPH08202563A (ja) コンピュータシステム
JPH0798692A (ja) マイクロコンピュータ
US7100088B2 (en) Computer system equipped with a BIOS debugging card
JP2006313561A (ja) データ処理装置
JP2001051874A (ja) マイクロコンピュータ
JP2002541582A (ja) エミュレータシステム内のユーザメモリを更新する方法およびシステム
KR100543152B1 (ko) 마이크로프로세서 및 마이크로프로세서의 처리 방법
US4814977A (en) Apparatus and method for direct memory to peripheral and peripheral to memory data transfers
JP3839835B2 (ja) データ処理装置及びマイクロコンピュータ
JP2002535749A (ja) 複数の命令ソースからの命令を実行するプロセッサおよび方法
KR100297562B1 (ko) 통신용 제어 시스템의 하드웨어 자원 인식 제어장치 및 방법
JP3323341B2 (ja) エミュレーション用プロセッサおよびそれを搭載したエミュレータ
JP3097602B2 (ja) データ処理装置
JP2731618B2 (ja) エミュレータ
JPH06103106A (ja) プログラムデバッグ装置
KR100658485B1 (ko) 마이크로프로세서 개발시스템
JPH09198272A (ja) エミュレーション用プロセッサおよびエミュレータ
JPH05242008A (ja) データ処理装置
JPH0764856A (ja) メモリアクセス制御回路

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070703